LDPC 在SSD中的应用

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

NAND 会出错

在本书第一章中,我们知道,纠错能力是一个SSD质量的重要指标。最开始的NAND 每个存储单元只放一个bit,叫SLC,后来又有了MLC,现在的主流的是TLC。存储密度不断增加的同时,器件尺寸变小,存储单元电气耦合性变得很复杂。比如氧化层变得很薄,比如读取单个bit需要的读电压控制能力更精密等,总的来说,NAND flash更容易出错了,或者说NAND 上的噪声增加了。

RBER (Raw Bit Error Rate)是衡量NAND质量的重要参数。给定RBER,可以比较各种纠错算法的有效性。

image

图1-1 曲线从右到左依次是BCH,LDPC 硬判决算法,LDPC 软判决法,纵轴表示纠错失败的概率,横轴表示RBER

可以看到,LDPC 软判决算法由于有更多的信道信息,相对于BCH 和硬判决LDPC 算法更有优势。所以目前主流的SSD 控制器都采用LDPC 作为纠错算法。

NAND 纠错模型

NAND的基本特性,请参阅第三章。我们存储进NAND的信息通过电子储存起来,读的时候通过探测器件储存的电子多少来恢复数据。

信息0和1在NAND 上的电子分布图(示意图)如下图所示为,以slc 为例。这个分布可以通过大量数据探测出来的。竖直的线,表示此时读取NAND的阈值电压。可见,对于1的概率分布在阈值电压右侧的将会被NAND硬判决成0,从而导致bit翻转。

image

图1-2 Slc 两种状态的概率分布示意图,横坐标对应阈值电压。

通过调节不同的阈值电压来对NAND 进行多次读取,可以获得额外的信息(得到阈值电压在哪个区间),如下图所示。利用概率论的知识,可以建立统计模型。

image

图1-3 多次调整读取电压

假设写入的信息为X,X取值{0,1},其阈值电压为Y, 调节读取电压后将阈值电压分成了4个区间A, B, C,D

已知条件概率密度函数p(Y|X) = f(Y,X) 如上图所示左右分别为p(Y|X=1) 和 p(Y|X=0) 的曲线。根据之前BP算法章节的介绍,我们感兴趣的是:

P(X|A), P(X|B), P(X|C), 和 P(X|D)。知道这几个概率后,BP 这样的LDPC 的软判决算法就可以工作了。根据前面对条件概率和贝叶斯公式的复习,求解个问题应该不难,交给读者研究。

LDPC纠错流程

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

image

图1-4 LDPC 纠错流程

为了提高性能,一种普遍的优化是

(欲知更多内容,扫描下图二维码,阅读原著和以上大图。)

_wechat_thumb2_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb_thumb

分类目录 SSD, 技术文章 和标签 .
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。