快讯
HOME
快讯
正文内容
ecc nand bch算法 浅谈3D-NAND,QLC和SCM介质技术和新产品
发布时间 : 2025-03-18
作者 : 小编
访问数量 : 23
扫码分享至微信

浅谈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于一身,也将会在容量和性能中找到一个很好的折中点。

固态硬盘的救赎——LDPC纠错算法

在我们购买固态硬盘时,可能会在详情页面看到支持LDPC纠错的功能,对于很多人来说,它并不能引起足够的关注,而对于固态硬盘本身来说,LDPC算法甚至可以提升闪存的擦写寿命。所以,就让我们来了解什么是LDPC。

为什么需要LDPC?

闪存中,储存数据的基本单元被称为Cell,每个Cell通过注入、释放电子来记录不同的数据。电子在Cell中进出,会对Cell产生损耗,随着损耗程度的增加,Cell中的电子出现逃逸的概率会不断增加,进而导致Cell所储存的数据出现跳变。举个例子,某个Cell最开始储存的二进制数据是10,一段时间后再读取该Cell,二进制数据可能就变成了11。

鉴于此,闪存需要配合主控中的ECC算法来进行数据检错和纠错。写入数据时,ECC引擎基于原始数据计算出冗余数据,并将原始数据和冗余数据同时储存。读取数据时,原始数据和冗余数据一并被读出,并通过ECC引擎检查错误并纠正错误,最终得到正确的原始数据。

在SSD领域,当前普遍使用的ECC算法是BCH算法,它可以满足绝大多数SSD的纠错需求,闪存所宣称的最大擦写次数,就是基于BCH算法给出的。

但随着TLC闪存颗粒和3D NAND的普遍应用,同样的数据块,其寿命末期的出错率将会大大增加,BCH编码的纠错能力显得非常吃力,这也使得LDPC纠错算法在SSD领域有了用武之地。

什么是LDPC算法

LDPC,是Low Density Parity Check Code的简称,翻译中文就是「低密度奇偶校验码」。1963年,LDPC第一次出现在R.G.Gallager博士发表的论文之中,最早应用于通讯行业,后来才逐渐引进到固态硬盘领域。

LDPC是一种稀疏校验矩阵线性分组码,因为校验矩阵中的1要远小于0的数目,这样做的好处就是,译码复杂度低,结构非常灵活。

LDPC分为编码和解码,下面我们逐一了解。

LDPC编码

在LDPC编码中,会用到一个叫做H矩阵的校验矩阵(Parity Check Matrix),比如,我们来看一个简单的H矩阵:

为了可以更加直观的理解H矩阵,可以借助Tanner图,来表示H矩阵:

左侧V1~V7是变量节点,右侧C1~C3是校验节点。变量节点和校验节点之间的连接线称为沿(edge),也代表这H矩阵中的1。每个节点上连接线(edge)的数目称为节点维度(Degree)。

LDPC编码分为正则编码和非正则编码。正则编码中,横向和纵向中1的个数是固定的。非正则编码中,横向和纵向中1的个数不固定。举一个例子,正则LDPC编码矩阵:

在这个正则H矩阵中,横向维度Dr=4,纵向维度Dc=3,Codeword长度=20。

与校验H矩阵对偶的矩阵,称为G矩阵,也是生成矩阵。构建优异的H校验矩阵,是不同SSD主控商实现LDPC的核心内容,每家都有各自的专利。

LDPC解码

在SSD内部的LDPC解码过程中,主要包括了两方面内容:硬解码(Hard Decode)和软解码(Soft Decode)。LDPC解码的方法就是收到码字之后,与校验矩阵H相乘,如果是0矩阵,则说明收到的是正确码字。反之,则不正确码字,再根据相乘结果进行进一步纠错解码。

硬解码(Hard Decode):

信息传递(Messag passing)是LDPC硬解码常用的方法。校验节点和可变节点之间传递信息,进行迭代,直至所有的奇偶校验归0,则解码成功。

举个解码的例子:

迭代1:第一次信息传递迭代之后,Hard decode解码,此时n0,n4,n6仍为1。

迭代2:第二次信息传递迭代之后,Hard decode解码,此时n0仍为1。

迭代3:第二次信息传递迭代之后,Hard decode解码,奇偶校验归0。

软解码(Soft Decode):

软解码的原理是调整不同read level,根据读取结果后,判断bit是1或者0的概率,然后根据1或者0概率实现软解码, 如下图:

LDPC纠错流程

LDPC在SSD中的纠错流程如下图所示。值得注意的是,NAND硬判决、数据传输到控制器,以及硬判决解码这几个过程的速度都很快。软判决要读很多次,传输数据很多次,所以会对SSD的性能产生不好的影响。

LDPC软判决的分辨率变成动态可调,这样只有在最坏的情况下,才需要最高的分辨率去读。这样在大部分情况下,软判决和软判决传输数据的时间开销将大幅度减小。

相关问答

colorfulsl500是什么硬盘?

七彩虹SL500BOOST的主控为慧荣SMI2246EN,慧荣SM2246EN主控的内部有一颗32bit的RISCCPU,支持16bit位宽的DDR2/3内存,支持BCHECC错误校验,支持全...

usb3.0要什么品牌?

爱国者U330更重要的是它的性能。爱国者U33配备USB3.0高速接口,可节省文件传输时间,还能向下兼容USB2.0接口。同时,它采用了BCH90BitECC纠错引擎,强化了存...

士必得内存是杂牌吗?

专业...不是杂牌。士必得品牌隶属于深圳市海优达电子有限公司,成立于2004年,海优达是一家从事研发,生产SSD固态硬盘,DOM电子盘,USB3.0移动硬盘盒,等电子产...

nikons2600开机键在哪怎么开机?

nikons2600开机键在哪怎么开机?

照明工程安装资质分几级?深圳一级照明工程公司来科普

[回答]照明工程的安装资质分几级?城市及道路照明工程承包企业资质分为一级、二级、三级。一级照明工程公司思迪恩深圳智能集团有限公司小编为你详细介绍资...

 wt18i  雅西高速公路 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部