详细介绍固态硬盘基础知识
SSD进入主流市场的器件基础 NAND FLASH
从SSD发展简史不难看出,FLASH闪存的诞生大大推动了SSD进入主流消费市场的进程。而目前NAND FLASH由于密度大,单位容量成本低,写入、擦写速度的优势,已经把NOR从赶出了消费电子市场,同样也统治了现在SSD市场。
镁光预计固态硬盘将和智能手机成为NAND最大两个应用市场。低价、大容量的HAND FLAHS加速了SSD产品的普及,不过也正是因为NAND FLASH本身结构设计,数据操作方式受高密度,低成本的指导思想,也导致固态硬盘在实现寿命、性能、稳定性方面需要采用一些特别的方法,要了解这些,首先从最基本的HAND FLASH存储单元说起。
FET场效应管是理科男们多少都有所了解,MOS则是指一种制作工艺,MOS是金属(Metal)与氧化物绝缘体(Oxide), 半导体(Semiconductor)三个单词的缩写。FLASH闪存芯片最小的结构单位就是MOSFET类器件,不过结构上有小小改动,在在栅极与硅衬底之间增加了一个浮置栅极,即图示中的FLOATEING GATE。浮置栅极看一看做是二氧化硅绝缘层中间夹一层能够储存电荷的氮化物,绝缘层保证了电荷不会泄露,实现闪存断电后仍旧能保存数据的关键。
如何表示0和1
对于最简单的SLC FLASH来说,一个存储单元存储一位数据,即只有2个状态。浮置栅极存在电荷时,无论控制栅极是施加偏置电压,此时均为导通状态,表示数据“0”;而浮置栅极没有电荷的情况下,不施加控制栅极偏置电压,呈现截止状态,表示“1”。
给浮置栅极充放电
前面说到浮置栅极和Si衬底之间有一层大于5纳米的二氧化硅绝缘层,当在控制栅极和衬底之间加一个电压时,使得二氧化硅绝缘层形成0 Mv/cm的电场,电子将发生直接隧穿效应,穿过氧化层中势垒注入到浮栅。在NAND FLASH中,编程过程和擦除过程都是需要利用这个”隧道效应”。
在进行单元编程(Program)时,相当于HDD中的数据写入,给控制栅极加上正电压,电子从衬底中注入浮置栅极。擦除(Erasing)操作相当于硬盘中擦除数据,施加相反电压,电子从浮置栅极回到衬底。电子从衬底注入浮置栅极,再返回衬底的过程构成一个P/E循环,也就是说,对于HD硬盘上的覆盖写入,FLASH必须经过先擦除,再编程的过程,无法直接覆写。
和HD硬盘改变磁畴的方向是永久有效地不同,对二氧化硅绝缘层“隧穿”效应是有损的,电子可能会滞留在二氧化硅绝缘层,这就让这层的负电荷不断增加,使得控制栅极的电压受到影响,无法在要求的控制栅极电压下导通,最终失效。这也就是闪存的P/E次数寿命限制存在的原因。
NAND FLASH的逻辑结构、连接和寻址
NAND Flash研制的初衷就是低成本,高密度,所以在I/O和连线设计上是尽量简化,不具备位寻址能力,这和NOR 闪存的有着根本区别。这样简化的结果就是必须对一定数量的存取单元进行集体操作,其中擦除的基本单位是block,读写则是page;为了对全部的存储单元有效管理,必须对存储单元进行统一编址。
那么对于小于基本读写单位page的文件如何读取或者写入呢?要理解这一过程,我们先得了解下NAND Flash的逻辑阵列结构,是由Die->Plane->Block->Page这样层层嵌套单元集合组成。其中page是Flash中实际能够操作的最小单位,开始一般是2K,4K,现在25nm闪存普遍使用8K page,对应操作系统文件系统分区的簇。Block则包含64-128个page,容量256-512KB。再往上层通过Plane和Die的嵌套组合达到一片闪存芯片的容量。
我们以一块2Gb NAND Flash 芯片为例,整块芯片包含2048 个(128KB) block,每个block包含64个page。作为最小读写单位,每个page总大小为2112 bytes , 其中2048-byte为数据区, 64-byte备用区,用来存储ECC、磨损平衡和其它日常维护数据用于主控分析,两个分区cell单元物理结构是一样的,只是对应读取指令不同。Block中的page共用寄存器,通过8bit或者16bit的串行接口和片上输入输出缓存相连。在理想状态即出厂状态下,所有Block均是擦除状态,读写都是page的整倍数据,通过串行输入总线依次输入命令、地址、数据分别到各自缓存,按照page指针依次操作,读取或者写入。但是如果所需要读写输入小于page大小呢?比如8Kpage在NTFS下遇到一个簇文件的读写要求。首先执行读取整个page数据到寄存器,在执行RAMDOM DATA READ 或者RAMDOM DATA INPUT,根据page中的相对byte列地址从在寄存器上数据上进行读写操作,读取直接输出,写入就要根据把整个改动了page写入空page中,并且标记原来的page无效。
刚才说的是理想状态,那么实际状态呢?使用一段时间的dirty block-即出现了无效数据”污染”的block远大于擦除待写入状态的数量,这时如果有文件的修改、写入,都要保证有足够的已擦除状态的page等待写入,如果没有只能对整个block“血腥擦除”,将原有block上的文件和新加入组合或者修改后写入到有足够干净page的block空间去。
规则一,不能覆写,只能先擦除后写入,擦除次数是有寿命的;
规则二,读写最小单位是page,擦除最小单位为block;
规则三,读写的扰动会造成误码,需要错误检测和纠正机制;
我们简单总结了一下NAND FLASH的操作过程,不难发现,为了实现硬件的高集成度和价格竞争力,NAND FLASH的读写操作限制重重,灵活性很小,有很多必须要遵守的“规则”,那么如何严格按照规则运行的基础上,最大化的发挥闪存的性能和寿命呢,这就需要后面说到的固态硬盘的大脑-SSD控制器来实现了。
推动SSD价格普及化的动力 MLC和制程升级
和所有半导体产品一样,NAND FLASH通过升级制程,提高单元密度降低成本提高产量的。在闪存生产过程中,这意味着你可以增加每个核心的密度。与此同时,相同的容量下核心会更小,这意味着每一块晶圆能够生产更高总容量的芯片。但是进程更新换代需要时间,制程升级成本也越来越高,所以闪存生产商厂商们也有变通法子,就是在每个CELL存储单元中塞进更多的数据。
热门词库
相关文章
更多+手游排行榜
- 最新排行
- 最热排行
- 评分最高
-
角色扮演 大小:33.47 MB
-
角色扮演 大小:72.02 MB
-
格斗射击 大小:1.31 GB
-
塔防策略 大小:13.47 MB
-
格斗射击 大小:107.27 MB
-
竞技对战 大小:6.92 MB
-
冒险解密 大小:365.58 MB
-
休闲益智 大小:64.2 MB