浅谈3D-NAND、QLC和SCM介质技术和新产品
Hardy 架构师技术联盟
NAND Flash技术的发展完全沿着技术演进、商业价值和需求匹配的车辙在不断行驶。诸如SRAM,DRAM,EEPROM等 产品和技术。在每个存储器单元存储一位的二进制数据的NAND Flash 技术被称为单级单元(SLC)。但是由于SLC在容量和价格等原因,促使MLC、eMLC及TLC这三种闪存颗粒 迅速发展起来,关于Flash颗粒介绍请参考文章“闪存技术最全面解析”。
NAND Flash在应用普及和全面替换HDD遇到最直接的一个问题还是价格,从SLC、MLC到TLC一直才寻求价格的平衡点,尽管TLC能够解决SSD容量瓶颈,却还是不能完全解决SSD价格的难题。大容量SSD仍旧昂贵,小容量SSD+大容量便宜HDD的混合存储解决方案也层出不穷,但在体验上终究没有单纯大容量SSD来得好。目前来看,TLC还是相对来说在性能和价格方面平衡不错的方案,再说随着容量的增加、技术的改善,TLC闪存的擦写次数逐渐等到优化,也并没有想象中那么容易失效 。
结合实际应用发现,SSD在处理数据写入时,每次都写到新的物理地址,从而使得所有的闪存物理空间被均匀使用。假设一块600GB的SSD,其闪存介质写次数为1万次,那么该SSD可以写入的数据总量达到6PB(600GB*10000);在实际企业级环境中的硬盘,整个生命周期的写入数据总量远小于200TB,这意味着这块600GB的SSD使用10年以上。
技术永远无法脱离实际应用,TLC颗粒在3D-NAND Flash的产品应用非常广泛,先后出现了32,64,72,96层的基于TLC的3D NAND Flash产品 ,起初这些TLC产品只要应用在消费级产品,但目前很多存储厂商已经把TLC颗粒引入企业级存储产品。下面我们看看主流3D-NAND Flash厂商(三星、东芝、WD和SK Hynix 四大厂商)的新产品和动态。
东芝(Toshiba)携手SanDisk 研发出全球首款采用堆栈 96 层制程技术的TLC 3D NAND Flash 产品,且已完成产品试作。该款堆栈 96 层的 3D NAND试制品单颗芯片容量为 256Gb(32GB),预计于 2017 年下半年送样、2018 年开始进行量产,主要用来抢攻数据中心用 SSD和PC桌面SSD等市场。
三星在 3D NAND Flash一直处于领先地位,在去年就发布64 层 3D NAND 。但前不久SK Hynix 推出第四代 72 层的 3D NAND 进入量产,主要用于行动设备,并已交货给客户。韩国对3D NAND Flash技术和市场的控制力是不容忽视的。
Intel发布了新一代SATA SSD 545s产品 ,采用64层堆叠闪存的SSD取代去年的SSD 540s,当时Intel自己的3D堆叠闪存技术还不成熟,所以采用了SK海力士的16nm TLC和慧荣主控SM2258。SSD 545s采用的是Intel第二代3D TLC闪存颗粒(Intel的第一代3D闪存是32层堆叠),64层堆叠设计,具有浮动栅极存储单元,单颗容量256Gb(32GB)。SSD 545s的主控采用了升级版慧荣主控SM2259,加入了对端到端数据保护和ECC的支持(主控SRAM和外部DRAM均有),同时搭配Intel定制固件 。支持每天0.3次全盘写入,终生写入量288TB。
为了延长SSD磨损寿命,多数厂商提供容量超配 。例如一块100GB容量的SSD,其内部的闪存颗粒的物理容量是大于100GB,企业级SSD一般可以达到128G或者更多,超出的那部分就被称为冗余。或者采用较好的部件,如更好的颗粒、更好的控制芯片 ,提供强力的LDPC纠错算法等 ,但是SSD寿命并非单纯取决于闪存的类型,而是多个因素综合作用的结果。
闪存介质中,保存数据的基本单元被称为Cell。每个Cell通过注入、释放电子来记录不同的数据。电子在Cell中进出,会对Cell产生磨损;随着磨损程度的增加 ,Cell中的电子出现逃逸的概率会不断增加,进而导致Cell所保存的数据出现跳变。例如某个Cell最开始保存的二进制数据是10,一段时间后再读取该Cell,二进制数据可能就变成了11。因为闪存中保存的数据有一定的概率出现跳变,因此需要配合ECC算法(Error Correcting Code)来使用,SSD内部需要有ECC引擎进行数据检错和纠错 。
写入SSD颗粒数据时,ECC引擎基于原始数据计算出冗余数据,并将原始数据和冗余数据同时保存 。从SSD读取数据时,原始数据和冗余数据一并被读出,并通过ECC引擎检查错误并纠正错误,最终得到正确的原始数据。
闪存所保存的数据出现跳变的数量,随着擦写次数的增加而增加 。当擦写次数达到一定的阈值后,闪存中保存的数据出现跳变的数量会增大到ECC引擎无法纠正的程度,进而导致数据无法被读出。这个阈值就是闪存的最大擦写次数 。
在SSD领域,当前标准的ECC算法是BCH算法(以三位作者的名字首字母命名),可以满足绝大多数SSD的纠错需求。大多数产品中,闪存介质所宣称的最大擦写次数,就是基于BCH算法来给出 的,但是BCH算法的纠错数据位比较有限,所以目前纠错能力更强的算法也被应用,如LDPC(Low Density Parity Check Code) 是一个纠错能力很强的算法,可以纠正更多的数据跳变。
SLC、MLC及TLC这三种闪存芯片,大家都很清楚,但接下来QLC闪存芯片要开启它的逆袭之路,而东芝和西数已经率先做出表率 ,目前主要针对智能型手机(如iPhone等)、平板计算机和记忆卡市场。
东芝今后也计划推出采用堆栈 96 层制程技术的 512Gb(64GB)3D NAND 产品以及采用全球首见的QLC(Quad-Level Cell)技术的 3D NAND 产品 。该款QLC试作品为采用堆栈 64 层制程技术,实现业界最大容量的 768Gb(96GB)产品,已经提供给 SSD 厂、控制器厂进行研发使用。
西数全球首发了96层堆栈的3D NAND闪存,其使用的是新一代BiCS 4技术(预计下半年出样,2018年开始量产),除了TLC类型外,其还会支持QLC ,这个意义是重大的。西数已经用实际行动表明会支持QLC,而接下来三星、Intel、SK Hynix等厂商也势必会跟进(目前还没有正式公布QLC的进展),为何厂商会跟进可靠性、寿命比TLC还差的QLC 。
目前来看,QLC闪存单位存储密度是TLC的2倍,单颗芯片可达到256GB甚至512GB。但是QLC闪存的电压更难控制,写入速度更低,可靠、稳定性及寿命比TLC更差。个人觉得主要的原因是成本和闪存对寿命SSD的不断优化,随着SSD控制对QLC技术优化,也有理由相信QLC跟TLC走同样的路,也有可能被用在企业产品 。
从长远来看,能不能将SSD的价格拉下来,我个人对QLC是寄予厚望的,但具体时间目前却无法预知,从TLC到QLC的技术过度 需要时间,需要双倍的精度才能确保足够高的稳定性、寿命和性能。如果参考TLC的历程,价格优势更难在短期内体现出来,QLC大批量上市并且明显带动降价节奏的时间也是我所期待的。
对于存储介质的未来除了NAND Flash外,还要有很多技术值得期待。 SCM( Storage -Class-Memory)产品已经出现在大众视野 ,如美光、英特尔自2016年开始量产的3D-Xpoint ,威腾、东芝合作开发的3D-ReRAM 。SCM的读写速度是3D-NAND的千倍,但在产品测试结果显示只有几十倍,这也说明SCM在读写性能上还有较大的提升空间值得期待。然而3D-NAND+类DRAM混合型的4D-NAND集前端高速度DRAM和后端低价大容量的3D-NAND于一身,也将会在容量和性能中找到一个很好的折中点。
闪存芯片NOR Flash、NAND Flash傻傻分不清楚 ICMAX帮你搞定
通过前天的文章介绍,我们知道eMMC 是 Flash Memory 的一类,eMMC的内部组成是NAND flash+主控IC,那什么是Flash Memory、NOR Flash、NAND Flash,宏旺半导体就和大家好好捋一捋它们几者之间的关系。
Flash Memory 是一种非易失性的存储器。在嵌入式系统中通常用于存放系统、应用和数据等。在 PC 系统中,则主要用在固态硬盘以及主板 BIOS 中。另外,绝大部分的 U 盘、SDCard 等移动存储设备也都是使用 Flash Memory 作为存储介质。
1. Flash Memory 的主要特性
与传统的硬盘存储器相比,Flash Memory 具有质量轻、能耗低、体积小、抗震能力强等的优点,但也有不少局限性,主要如下:
需要先擦除再写入
Flash Memory 写入数据时有一定的限制,它只能将当前为 1 的比特改写为 0,而无法将已经为 0 的比特改写为 1,只有在擦除的操作中,才能把整块的比特改写为 1。
块擦除次数有限
Flash Memory 的每个数据块都有擦除次数的限制(十万到百万次不等),擦写超过一定次数后,该数据块将无法可靠存储数据,成为坏块。
为了最大化的延长 Flash Memory 的寿命,在软件上需要做擦写均衡(Wear Leveling),通过分散写入、动态映射等手段均衡使用各个数据块。同时,软件还需要进行坏块管理(Bad Block Management,BBM),标识坏块,不让坏块参与数据存储。(注:除了擦写导致的坏块外,Flash Memory 在生产过程也会产生坏块,即固有坏块。)
读写干扰
由于硬件实现上的物理特性,Flash Memory 在进行读写操作时,有可能会导致邻近的其他比特发生位翻转,导致数据异常,这种异常可以通过重新擦除来恢复,Flash Memory 应用中通常会使用 ECC 等算法进行错误检测和数据修正。
电荷泄漏
存储在 Flash Memory 存储单元的电荷,如果长期没有使用,会发生电荷泄漏,导致数据错误,不过这个时间比较长,一般十年左右,此种异常是非永久性的,重新擦除可以恢复。
2. NOR Flash 和 NAND Flash
根据硬件上存储原理的不同,Flash Memory 主要可以分为 NOR Flash 和 NAND Flash 两类。 主要的差异如下所示:
· NAND Flash 读取速度与 NOR Flash 相近,根据接口的不同有所差异;
· NAND Flash 的写入速度比 NOR Flash 快很多;
· NAND Flash 的擦除速度比 NOR Flash 快很多;
· NAND Flash 最大擦次数比 NOR Flash 多;
· NOR Flash 支持片上执行,可以在上面直接运行代码;
· NOR Flash 软件驱动比 NAND Flash 简单;
· NOR Flash 可以随机按字节读取数据,NAND Flash 需要按块进行读取。
· 大容量下 NAND Flash 比 NOR Flash 成本要低很多,体积也更小;
(注:NOR Flash 和 NAND Flash 的擦除都是按块块进行的,执行一个擦除或者写入操作时,NOR Flash 大约需要 5s,而 NAND Flash 通常不超过 4ms。)
2.1 NOR Flash
NOR Flash 根据与 CPU 端接口的不同,可以分为 Parallel NOR Flash 和 Serial NOR Flash 两类。
Parallel NOR Flash 可以接入到 Host 的 SRAM/DRAM Controller 上,所存储的内容可以直接映射到 CPU 地址空间,不需要拷贝到 RAM 中即可被 CPU 访问,因而支持片上执行。Serial NOR Flash 的成本比 Parallel NOR Flash 低,主要通过 SPI 接口与 Host 连接。
图片: Parallel NOR Flash 与 Serial NOR Flash
鉴于 NOR Flash 擦写速度慢,成本高等特性,NOR Flash 主要应用于小容量、内容更新少的场景,例如 PC 主板 BIOS、路由器系统存储等。
2.2 NAND Flash
NAND Flash 需要通过专门的 NFI(NAND Flash Interface)与 Host 端进行通信,如下图所示:
图片:NAND Flash Interface
NAND Flash 根据每个存储单元内存储比特个数的不同,可以分为 SLC(Single-Level Cell)、MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 三类。其中,在一个存储单元中,SLC 可以存储 1 个比特,MLC 可以存储 2 个比特,TLC 则可以存储 3 个比特。
NAND Flash 的一个存储单元内部,是通过不同的电压等级,来表示其所存储的信息的。在 SLC 中,存储单元的电压被分为两个等级,分别表示 0 和 1 两个状态,即 1 个比特。在 MLC 中,存储单元的电压则被分为 4 个等级,分别表示 00 01 10 11 四个状态,即 2 个比特位。同理,在 TLC 中,存储单元的电压被分为 8 个等级,存储 3 个比特信息。
图片: SLC、MLC 与 TLC
NAND Flash 的单个存储单元存储的比特位越多,读写性能会越差,寿命也越短,但是成本会更低。下图 中,给出了特定工艺和技术水平下的成本和寿命数据。
相比于 NOR Flash,NAND Flash 写入性能好,大容量下成本低。目前,绝大部分手机和平板等移动设备中所使用的 eMMC 内部的 Flash Memory 都属于 NAND Flash,PC 中的固态硬盘中也是使用 NAND Flash。
3. Raw Flash 和 Managed Flash
由于 Flash Memory 存在按块擦写、擦写次数的限制、读写干扰、电荷泄露等的局限,为了最大程度的发挥 Flash Memory 的价值,通常需要有一个特殊的软件层次,实现坏块管理、擦写均衡、ECC、垃圾回收等的功能,这一个软件层次称为 FTL(Flash Translation Layer)。
在具体实现中,根据 FTL 所在的位置的不同,可以把 Flash Memory 分为 Raw Flash 和 Managed Flash 两类。
图片: Raw Flash 和 Managed Flash
Raw Flash
在此类应用中,在 Host 端通常有专门的 FTL 或者 Flash 文件系统来实现坏块管理、擦写均衡等的功能。Host 端的软件复杂度较高,但是整体方案的成本较低,常用于价格敏感的嵌入式产品中。通常我们所说的 NOR Flash 和 NAND Flash 都属于这类型。
Managed Flash
Managed Flash 在其内部集成了 Flash Controller,用于完成擦写均衡、坏块管理、ECC校验等功能。相比于直接将 Flash 接入到 Host 端,Managed Flash 屏蔽了 Flash 的物理特性,对 Host 提供标准化的接口,可以减少 Host 端软件的复杂度,让 Host 端专注于上层业务,省去对 Flash 进行特殊的处理。eMMC、SD Card、UFS、U 盘等产品是属于 Managed Flash 这一类。
看完这篇文章,相信对Flash memory都会有一个全面的了解,无论是其原理,还是NOR Flash 和 NAND Flash、Raw Flash 和 Managed Flash 之间的异同,欢迎关注宏旺半导体,会持续带来存储领域更专业的文章。
相关问答
norflash和 nandflash 的区别?NANDflash和NORflash的区别一、NANDflash和NORflash的性能比较flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的....
ecc 校验原理?ECC校验是一种内存纠错原理,它是比较先进的内存错误检查和更正的手段。ECC内存即纠错内存,简单的说,其具有发现错误,纠正错误的功能,一般多应用在高档台式电...
2019年的NVME固态硬盘性能到了什么水平?在CES2019展会上,金士顿正式发布了他们的A2000和KC2000系列NVMe固态硬盘,与上一代产品相比,每款固态硬盘都具有更高的性能。新的SSD现在都使用64层3DTLCNA...
DELL本本无法启动,启动后连续发出8声滴滴的声音,隔3-4秒又...[回答]设错误选项。三、1长1短声——RAM或主板出错。四、1长2短声——显示器或显卡错误。五、1长3短声——键盘控制器出错。六、1长9短声...三、1...
哪位老司机 有谁能回答一下吗:进口 ECC 价格, ECC 服务体验好不...[回答]也就是说iNand本身自己完成存储系统的ECC功能,SoC使用iNand时自己不用写代码来进行ECC相关操作,大大简化了SoC的编程难...(NandFlash分2种:SLC和ML...
视频里显示文件已损坏是什么情况?楼上的说的是一个非常不错的方法,但是根据你的描述和我多年的恢复经验,我大致估计是你的存储卡出现了不可读扇区,虽然SD卡是通过FLASH芯片来存储数据,他基本...
我想知道去国外学服装设计的费用大概是多少? - WMxHStSJ 的回...如果你这边是要出国的话,服装设计我首推韩国,不仅费用便宜,而且文凭含金量也是比较高的,特别是设计专业,韩国也是属于亚洲的老大哥!您好,您可以参考...
cisco2811设备一启动就进入了remmon 1> 求原因及解决方法!!-...remmon模式下使用dirflash:命令下查看,能看到IOS文件。使用confreg0x2102然后reset,仍然无效,还是进入remmon模式然后重新用TFTP传了同一个IO...
我想了解:dell存储和dell服务器有什么区别?DELL存储排名好...[回答]docx2020-05-21VNXE3100走的是ISCSI协议。需要客户服务器端有ISCSI协议,一般SERVER2003的服务器需要我们自己安装。docx2021-02-01EMC...
电脑在运行过程中发出嘟嘟嘟的连续报警声是怎么回事?AMI的BIOS设定为:一短:内存刷新故障。两短:内存ECC校验错误。三短:系统基本内存检查失败。四短:系统时钟出错。五短:CPU出...七短:系统实模式...