来源:知乎
作者: Trustintruth
废话不多说,直接进正题。
1.检错码
检错码是能检测出数据传输中出现信息错误的一种编码。但是他要牺牲带宽,因为需要再在信息位后面附加检验信息来提供检错能力。我们最常见的检错码有奇偶校验码,循环冗余校验码(CRC)等编码方式。
2.LDPC背景知识
Gallager在 1962 年里首次提出 LDPC 码,可惜由于当时科技的发展的不足,难以将 LDPC 码实现并应用。LDPC 码被忽略将近 30 多年后,Mackay在 1999 年重新发现LDPC 的高性能特性,并推广应用。如今,LDPC 码广泛应用于通信领域,例如 5G、WIFI、WIMAX 和 DVB-S2 等领域。近几年,有学者提出并致力于研究将 LDPC 应用于NAND Flash 的纠错中。
LDPC码是一种稀疏校验矩阵线性分组码。为何称为“稀疏”呢?因为校验矩阵中的1要远小于0的数目,这样做的好处就是,译码复杂度低,结构非常灵活。
那我们为什么要在NAND FLASH中使用LDPC码呢?引用博客https://blog.csdn.net/zhuzongpeng/article/details/78899198
我们先回顾一下NAND闪存的基础知识。在这里以MLC NAND为例。在MLC NAND中,有四个Vt level. 如下图,
随着P/E cycles的增加,MLC NAND的vt电压分布就会变大变宽,如下图,
当P/E cycle到了一定的数值之后,MLC NAND不同vt level之间就会有交叉。
这样的话,就会引起数据读取错误,这时,就需要请出LDPC纠错码了。
————————————————
版权声明:本文为CSDN博主「古猫先生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:LDPC编解码初探\_存储随笔-CSDN博客
3.白话必要知识点
- 码率:发送10位数据,前七位是信息位,后三位为校验位。那么他的码率就是0.7。
- 校验矩阵:校验矩阵是用来校验计算的矩阵。它的构造很大程度上影响ECC的性能。
- 生成矩阵:由校验矩阵得到的用来生成校验位的矩阵。
- LDPC码分为规则与不规则。是否规则取决于校验矩阵。如果校验矩阵中每行每列的“1”数量相同(行重,列重相同)那么该LDPC码是规则的。
这一部分就先讲到这里,下一部分再来将具体的LDPC校验算法。如有兴趣,欢迎关注微信公共号 Trustintruth,包含大量代码偶!
相关文章
更多IC设计相关技术干货请关注IC设计专栏。