LDPC编解码初探

目前SSD中ECC纠错代码主要两种BCH和LDPC。不过,随着SSD对ECC纠错技术要求越来越高,BCH纠错码开始有些吃力,所以,LDPC纠错码是发展趋势,也是最新最主流的纠错码。

为何需要LDPC?

我们先回顾一下NAND闪存的基础知识。在这里以MLC NAND为例。在MLC NAND中,有四个Vt level. 如下图,

LDPC编解码初探_第1张图片

随着P/E cycles的增加,MLC NAND的vt电压分布就会变大变宽,如下图,

LDPC编解码初探_第2张图片

当P/E cycle到了一定的数值之后,MLC NAND不同vt level之间就会有交叉,这样的话,就会引起数据读取错误,这时,就需要请出LDPC纠错码了。

LDPC编解码初探_第3张图片

LDPC编码

LDPC,是Low Density Parity Check Code的简称,翻译为中文就是“低密度奇偶校验码”。在1963年,LDPC第一次出现在R.G.Gallager博士发表的论文之中。LDPC码是一种稀疏校验矩阵线性分组码。为何称为“稀疏”呢?因为校验矩阵中的1要远小于0的数目,这样做的好处就是,译码复杂度低,结构非常灵活。

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

LDPC编解码初探_第4张图片

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

LDPC编解码初探_第5张图片

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

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

LDPC编解码初探_第6张图片

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

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

LDPC解码

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

硬解码(Hard Decode):

LDPC编解码初探_第7张图片

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

举个解码的例子:

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

LDPC编解码初探_第8张图片

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

LDPC编解码初探_第9张图片

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

LDPC编解码初探_第10张图片

软解码(Soft Decode):

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

LDPC编解码初探_第11张图片

结语

本文我们简单的阐述了为何需要LDPC,LDPC编解码的基本原理。小编在此抛砖引玉,欢迎各位看官拍砖讨论。

精彩推荐:

  • 浅析PCI配置空间

  • 步入新时代 | PCIe 4.0带来了哪些惊喜?

  • PCIe SSD飞入寻常百姓家靠什么?

  • SCM+MLC/TLC NAND混合SSD性能探究

  • 浅析企业级SSD Multi-Stream Write技术

  • 企业级SSD发展趋势

  • 2D NAND和3D NAND横向对比

  • 第二代3D TLC NAND原厂级深度评测

  • 为QLC保驾护航 | 慧荣科技亮出最新LDPC技术

  • SSD固态硬盘接口种类多,你了解多少?

  • 写放大机制与影响因素详解

  • 详解SSD之垃圾回收GC

  • SSD为什么需要Trim?

  • OP详解: 谁“偷”走了SSD的容量?

  • SSD性能优化之4K对齐

  • 文件系统全记录回顾

  • 快来看,SATA秘籍惊现江湖!!!

  • PCIe最全科普贴流出!不说了,赶快Mark!

  • 独家发布 | Linux NVMe Driver学习笔记大合集

  • 存储随笔《NVMe专题》大合集及PDF版正式发布!

更多精彩内容,敬请关注头条号【存储随笔】获取更多活动内容。

同时,也可以关注公众号: 存储随笔,Memory-logger. 


你可能感兴趣的:(LDPC)