第三章 SSD存储介质:闪存 3.1

3.1 闪存物理结构

        闪存芯片从小到大依此是由:cell(单元)、page(页)、block(块)、plane(平面)、die(核心)、NAND flash(闪存芯片)组成的

        一个闪存页的大小主要有4KB、8KB、16KB几种。

3.1.1 闪存器件原理

  1. 闪存的特性        

(1)闪存是非易失性存储器,即掉电之后数据不会丢失;

(2)闪存块(Block)需先擦除才能写入,不能覆盖写(Update in Place);

(3)闪存块(Block)具有一定的寿命。每擦除一次闪存块,都会对闪存块造成磨损,擦除到达一定次数后,闪存块要么变成坏块,要么这块闪存块上的数据变得不可靠;

(4)闪存块读的次数是有限的。读的次数多了,会造成读干扰问题;

(5)闪存天生有坏块。同时,随着SSD的使用,会产生新的坏块。

2. 闪存基本存储单元Cell

         闪存的物理结构 - 爱码网

        Cell:闪存基本存储单元,是闪存的 最小工作单位 ,执行数据存储的任务;它是一种类NMOS的 双层浮栅(Floating Gate)MOS管 

        闪存由源极(Source)、漏极(Drain)、浮动栅极(Floating Gate)、控制栅极(Control Gate)组成,是双栅极结构。

         

 

 

        闪存是非易失性存储器的原因:MOS管在源极(Source)和漏极(Drain)之间电流单向传导的半导体上形成了存储电子的浮栅,浮栅上下被绝缘层包围,存储在里面的电子不会因掉电而消失。因此,闪存是非易失性存储器。

        

        写操作是在 控制栅极 加正电压(Vpp),使电子(带负电)通过 绝缘层进入浮栅层 ;值得注意的是,该操作执行完之后,该闪存单元存储的是0!!即,此时,读取状态为0。

        擦除操作是在 源极 加正电压(Vpp),利用浮栅极和漏极之间的隧道效应,把电子 从浮栅层吸引  到源极,排空浮动栅极的电子。此时,读取状态为1

        问:为什么浮栅极没有电子的时候是1,有电子是0呢????

        答:闪存的工作原理_闪存原理_liukuan73的博客-CSDN博客

 3.1.2 SLC、MLC和TLC

        DIE,也称LUN,是接收和执行闪存命令的基本单元。

        闪存根据 每个单元内可存储的数据量 分成 SLC(1bit/Cell)MLC(2bit/Cell)TLC(3bit/Cell) QLC(4bit/Cell),成本依次降低,容量依次增大(同样面积的DIE上),耐用度也依次降低。

        SLC:一个存储单元存储1bit数据的闪存。

        同样面积的一个存储单元,SLC、MLC、TLC分别可以存储1bit、2bit、3bit的数据,所以在同样面积的DIE上,闪存容量依次变大

        同时,一个存储单元电子划分越多,读、写、擦所要耗费的时间就越长。故而,性能上SLC>MLC>TLC

3.1.3 闪存芯片架构

        下图是一个闪存块Block的组织架构。一个Wordline(字线)对应着一个或若干个Page。一个Page有多大,那么Wordline上面就有多少个存储单元,就有多少个Bitline(位线)。一个Block当中所有的存储单元(Cell)共用一个衬底。

        Wordline(WL)是字线,其控制读取和写入,故而Page是最小的读写单位。

        Bitline(BL)是位线。

        Wordline是将一定数量(2的n次方)的存储单元的控制栅极连接起来。当Wordline上为H时,存储单元打开,此时Bitline上就可以读或者写数据到存储单元了。

        如下图,NAND 一个plane内部MOS阵列,MOS管的漏极BL=bit line,控制栅极 WL=word line,源极都连在一起,WL连接了若干个page,通过WL加不同电压和不同时间长度进行各种操作,在BL端进行读的操作。Bit Line对应的一串MOS叫做string,Block的高度一般是一个string,但是很宽,很多个WL。

一文详解闪存flash读写的原理 - 存储技术 - 电子发烧友网 (elecfans.com) 

         上图中,Control Gate相当于MOS管的G极(控制栅极),Floating Gate是浮栅层。

 

         DIE/LUN是接收和执行闪存命令的基本单元。但在一个LUN中,一次只能独立执行一个命令,不能对其中一个page进行写操作的同时,又对另一个page进行读操作。

       闪存块Block是最小的擦除单位原因:一个闪存块Block中的的所有存储单元是共用一个衬底(Substrate)的。如果对某个衬底加电压,那么所有浮栅层的电子都会被吸出来。

        一个DIE可以分为若干个Plane,每个Plane有独立的Cache Register(高速缓冲寄存器)和Page Register(页寄存器),其大小等于一个Page的大小。

        固态硬盘在写某个Page的时候,先把数据从主控传输到该Page所对应Plane的Cache Register中,再把整个Cache Register中的数据写到闪存阵列;读则相反,即闪存介质-->Cache Register-->主控。    注意:无论是从闪存介质读取数据到Cache Register,或是从Cache Register写数据到闪存介质,都是以Page为单位!!!

 3.1.4 读、写、擦原理

一文详解闪存flash读写的原理 - 存储技术 - 电子发烧友网

        如果浮动栅极Floating Gate中没有电子(即没有执行过写操作或执行过擦除操作),那么通过阈值电压可以控制电流的通断:

(1)当控制栅极上的电压 > 阈值电压VT时,此时没有电流,相当于开关断开,对应状态为0;

(2)当控制栅极上的电压 < 阈值电压VT时,此时有电流,相当于开关合上,对应状态为1。

浮动栅极中有电子:

        被写过的闪存:给控制栅极加一个正低压,则带正电的低压会与浮动栅极中的电子相抵消,导致 源极 和 漏极 之间处于关闭状态,闪存单元的状态为 0。

        被擦过或没写过的闪存:给控制栅极加一个正低压,源极 和 漏极 在控制栅极的低电压的作用下,处于导通状态,闪存单元的状态为 1。

1. 读

        当要读某个Page时:

      (1)将该Page的Wordline(即同一个Page中所有Cell上的控制栅极CG端的导线)电势置为0(即不加电压);

      (2)其他所有Page的Wordline电势升到一个值,这个电压又不至于把浮栅极Floating Gate中的电子吸出来。

        之所以抬高电势,是为了让其他Page所有的Cell的源极和漏极处于导通状态;没加电压(要读取的Page上)的那些Cell,其源极和漏极的通断,完全取决于其浮栅极中是否存在电子:

              1)若存在电子(即该Page已执行过写操作),处于断开状态,读到0;

              2)若不存在电子(即该Page没有执行过写操作),处于导通状态,读到1。

        总结:对要读的Page加低电压使电流断开,看Floating Gate中是否有电子,有电子为0, 否则为1。

2. 写

        执行写操作是对浮栅极充电子,也称为program。

        写之前需先执行擦除操作,擦除之后,数据变成了1。所以,需要对写入0的浮栅极进行充电。

         当写入某个Cell时:

        (1)将选中Page的Wordline加高压,对应Bitline不加高压;

        (2)对Page里其他Cell的Bitline加正常电压,保持电流导通;

        (3)将其他Page的Wordline加正常电压,保持导通。

         不需要写入数据的Cell的Wordline和Bitline电压抵消,电子不动;需要写入数据(选中)的Cell,由于电势差,将电子从Bitline吸到浮栅极中进行充电。

      上面仅是示例,读写的基本单位都是Page。实际上无法对某个Cell进行写入,因为无法对同一个Page里的不同Cell既充电又放电。

   

3. 擦除

        擦除动作,就是将一大片连续的Cell全部放电。实际操作是在衬底加电压足够长时间,把电子从浮栅极中吸出来。

        擦除是以Block为基本单位,因为一个Block共用一个衬底,所以一次只能擦除一个或多个Block。擦除之后,整个Block的数据都为1。

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
数据库存储介质有flash闪存SSD、SAS、SATA、HBase和ES。 闪存是一种具有非易失性、电子可擦写可编程存储介质,它具有较快的读写速度和低延迟。闪存常用于高性能数据库的存储,可以提升数据库的响应速度和数据访问效率。 SSD(Solid State Drive)也是一种采用闪存作为存储介质的装置,相比传统的机械硬盘,它具有更高的读写速度、更低的能耗和更小的体积。SSD常用于需要高速数据存取的数据库系统,可以提供更快的数据传输速度和更高的系统性能。 SAS(Serial Attached SCSI)是一种高性能的传输协议,它可以连接多个存储设备并提供高速数据传输。SAS通常用于中型和大型企业级数据库系统,可以提供高吞吐量和高并发性能。 SATA(Serial ATA)是一种常见的存储接口,通常用于个人计算机和小型数据库系统。相比低端的机械硬盘,SATA提供更好的性能和数据传输速度,但相较于SAS和闪存,它的吞吐量和延迟较高。 HBase是一个开源的分布式数据库,它基于Hadoop平台,并使用HDFS(Hadoop Distributed File System)作为存储介质。HBase适合存储大规模、稀疏和非结构化的数据,可以实现高度可扩展性和高吞吐量的数据访问。 ES(Elasticsearch)是一个基于Lucene的分布式搜索引擎,它可以用于实时存储、检索和分析大规模数据。ES可以快速地索引和搜索大量数据,并提供高可靠性和高性能的数据存储和查询功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值