赞
踩
Nand Flash是一种非易失性随机访问存储介质,基于浮栅(Floating Gate)晶体管设计,通过浮栅来锁存电荷,电荷被存储在浮栅中,他们在无电源供应的情况下仍然可以保持。数据在Flash内存单元中是以电荷的形式存储的,存储电荷的多少取决于浮栅的外部门所被施加的电压,其控制了是向存储单元中充入电荷还是释放电荷。而数据的表示,以所存储的电荷的电压是否超过一个特定的阈值Vth来表示。
对于NAND Flash的写入,就是控制Control Gate去充电(对CG加压),使得悬浮门存储的电荷够多,超过阈值Vth,就表示0。
对于NAND Flash的擦除,就是对悬浮门放点,低于阈值Vth,就表示1。
Nand Flash是从原始的硅材料加工出来的,硅材料被加工成晶圆(Wafer),一片晶圆可以做出几百颗Nand Flash芯片。芯片未封装前的晶粒称为Die,它是从Wafer上用激光切割而成的小片,每个Die就是一个独立的功能芯片,它由无数个晶体管电路组成,但最终可被作为一个单元封装起来成为闪存颗粒芯片,下面是Nand Flash芯片的详细加工过程。
Nand Flash的容量结构从大到小可以分为Device、Target、LUN、Plane、Block、Page、Cell。一个Device有若干个Die(或者LUN),每个Die有若干个Plane,每个Plane有若干个Block,每个Block有若干个Page,每个Page对应着一个WordLine。
Die/LUN是接收和执行FLASH命令的基本单元。不同的LUN可以同时接收和执行不同的命令。但在一个LUN当中,一次只能执行一个命令,不能对其中的某个Page写的同时又对其他Page进行读访问。下面详细介绍下这些结构单元和之间的联系。
Data Retention(数据保存力)是用于衡量写入NAND Flash的数据能够不失真保时间的可靠性指标,一般定义为在一定的温度条件下,数据在使用ECC纠错之后不失真保存在NAND Flash中的时间;影响Data Retention最大的两个因素是擦写次数和存储温度,通常情况下企业级SSD盘的Data Retention都是遵循JEDEC的JESD218标准,即40°C室温下,100%的PE Cycle之后,在下电的情况下Data Retention时间要求达到3个月。
Nand Flash写入前必须擦除,Block擦除1次之后再写入1次称为1次PE Cycle,Endurance(耐用性)用于衡量NAND Flash的擦写寿命的可靠性指标;Endurance指的是在一定的测试条件下NAND Flash能够反复擦写数据的能力,即对应NAND Flash的PE(Program/Erase)Cycle。
Bit Error Rate(BER)指由于NAND Flash颗粒概率发生Bit位翻转导致的错误,其中,RBER(Raw Bit Error Rate)指没有经过ECC纠错时出现一个Bit位发生错误的几率,RBER也是衡量NAND品质的一项指标。RBER是NAND自身品质的一个特性,随着PE次数的增加会变差,出现趋势呈指数分布,其主要原因是擦写造成了浮栅氧化层的磨损。
UBER(Uncorrectable Bit Error Rate)指发生不可纠正ECC错误的几率,即一个纠错单元Codeword内发生bit位翻转的位数超出ECC算法可纠能力范围的几率。
DWPD(Diskful Write Per Day)指每日写入量。SSD的成本随着DWPD增加而变高,未来SSD的趋势预测密集型当前已占50%,未来的占比会逐渐变大。
Nand Flash的寿命不等于SSD的寿命;SSD盘可以通过多种技术手段从整体上提升SSD的寿命,通过不同的技术手段,SSD盘的寿命可以比NAND Flash宣城寿命提高20%~2000%不等。
Nand Flash的寿命主要通过P/E cycle来表征。SSD由多个Flash颗粒组成,通过盘片算法,可以发挥有效颗粒寿命。影响SSD盘使用寿命关键因素主要包括下面因素:
Flash通常分为raw nand和spi nand
1、需要先擦除才能写入。Nand Flash可以读写一个Page,但是必须要以Block大小进行擦除。擦除操作就是让块中所有的bit变成1,从一个干净的“已擦除”状态的Block重新开始,当里面的页变成0后,只有擦除整个块才能让这个页变成1.为了尽量减少擦除的次数,成熟的管理技术必不可少。
2、读、写干扰。Nand Flash的电荷非常不稳定,在读/写中很容易对相邻的单元造成干扰,干扰后会让附近单元的电荷脱离实际的逻辑数值,造成bit出错,因为阈值接近的关系,MLC相对SLC来说更容易受到干扰。读取干扰指的是在读取某个page时,邻近的bit会受到升高电压的干扰,造成bit出错。写入干扰指的是,某个page在写入时,邻近bit的电压也被升高了,造成bit出错。相对写入干扰来说,读取干扰明显小的多。在读/写干扰中,可能造成某些bit被改变,结果造成数据出错。所以需要在返回数据给主机前,用ECC/EDC算法来纠正这些bit的错误。随着闪存工艺的提升,同样大小的晶片上被封装入更多的单元,造成告饶越来越厉害,所以需要更强大的ECC/EDC来纠正bit。
3、数据保存期限。数据保存期指的是当完全断电后,数据能在NAND Flash中保存多久。NAND单元必须保存一个稳定的电压水平,来保证数据是有效的。典型的SLC一般为20年。电荷从悬浮门里漏出,这叫做电子迁移,当随着时间的流逝,电核泄漏到一定程度,改变了NAND单元里悬浮门的电压对应的逻辑值,这样就造成了bit出错。数据保存期会随着擦写次数的增加而明显降低,MLC的数据保存期明显会比SLC少,而且更容易被干扰。
4、坏块。Nand Flash中有两种坏块类型:出厂坏块,由于为了保证量产和控制成本,出厂的Nand Flash某些就会有坏块,厂商保证SLC出厂坏块低于2%,MLC出厂坏块低于5%。积累坏块,在多次的写入/擦除循环中,某些Nand单元的电荷电压被永久性的改变了,那就意味着包含这个Nand单元不再可用。所以固态硬盘需要有坏块管理才能使用,主控制器用坏块表来映射出厂坏块和积累坏块到坏块区内,出厂时,颗粒的第一个块Block 0厂商会保证是可用的。(至少ECC后可用)
5、擦写次数限制。造成nand flash有擦写次数限制的主要有2个因素,电荷被困在氧化层,不能进入悬浮门;或是氧化层结构被破坏。
如图,一旦氧化层损坏到达一定程度,造成电荷越来越难在P-substrate和悬浮门之间交流。电荷被困在氧化层造成悬浮门中的电压到达不了阈值,所以说这个NAND单元就要被放入坏块区了。当前主流SLC的P/E为10万次,50nm MLC为1万次,3xnm的MLC为5000次。到了这个数值并不意味着不能使用了,这只是代表平均寿命,也就是说到了这个数值后,坏块会开始大量增加。随着工艺的提升,ECC的要求越来越高,50nm的SLC颗粒,三星对顶1bit ECC的就够了,而50nm MLC需要4bit ECC,到了3xnm要求达到24bit ECC。
影响Nand Flash稳定性和耐久度的一个主要因素就是ECC能力,目前最常用的三种算法是:
闪存的内部存储结构是金属-氧化物-半导体-场效应管(MOSFET):源极、漏极和栅极,其工作原理与场效应管类似,都是电压利用控制源极和漏极之间的通断。闪存是双栅极结构,在栅极和硅衬底之间还有一个浮置栅极,浮置栅极是有氮化物夹在二氧化硅材料之间构成。
对闪存单元的编程:控制栅极去充电,对栅极加压,使得浮置栅极存储的电荷越多,超过阈值,就表示0;对闪存单元的擦除,即对浮置栅极进行放电,低于阈值,就表示1。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。