LDPC纠错算法是什么?它对固态硬盘起什么作用?

闪存芯片
闪存芯片

在我们购买固态硬盘时,经常能够在电商平台的网页中看到固态硬盘的亮点功能中介绍到LDPC纠错的功能,而对于普通消费者来说这个到底是个什么玩意?甚至于很多人直接就忽略了这样一个对固态硬盘寿命有着至关重要的一项功能。今天我们就来聊聊LDPC纠错算法到底对固态硬盘的寿命有什么样的帮助,以及它是怎样一个运行极致。

目前SSD中ECC纠错代码主要两种BCH和LDPC。不过,随着SSD对ECC纠错技术要求越来越高,BCH纠错码开始有些吃力,所以,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博士发表的论文之中,最早应用于通讯行业,后来才逐渐引进到固态硬盘领域。

NAND供大于需:SSD价格腰斩还会大降价 显卡促销也在继续
NAND供大于需:SSD价格腰斩还会大降价 显卡促销也在继续

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

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

LDPC编码

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

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

LDPC解码

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

举个解码的例子:

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

软解码(Soft Decode):

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

LDPC纠错算法是什么?它对固态硬盘起什么作用?

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

原创文章,作者:大柱,如若转载,请注明出处:LDPC纠错算法是什么?它对固态硬盘起什么作用?

(0)
上一篇 2022年7月16日 下午12:39
下一篇 2022年10月16日 下午6:27

相关文章

  • 揭秘固态硬盘:Backblaze对2023上半年硬盘故障率的深入分析

    Backblaze发布云存储服务提供商2023上半年硬盘故障率报告,通过对至少100个SSD在共计10000天的运行时间中进行抽样,揭示了各个品牌在这个高要求的存储环境下的表现。 …

    2023年10月5日
    0910
  • 固态硬盘有什么优势?【科普】

    硬盘,也叫存储设备。是当今时代数码产品不可或缺的东西,手机、电脑、相机、服务器,凡是需要存储数据的,都少不了硬盘的存在。硬盘可以分为机械硬盘和固态硬盘两种,在过去很长时间,机械硬盘…

    2023年6月23日
    03120
  • 国产固态硬盘怎么选?

    很多电脑小白用户在购买硬盘时往往会忽略其中一个的重要参数,那就是硬盘的颗粒。硬盘产品的颗粒质量决定着一块硬盘产品的性能上下限,大部分极其便宜的固态通常都会采用二手颗粒、废旧颗粒,这…

    2023年5月24日
    03240
  • 最新版Windows KB5023706更新严重影响固态硬盘性能

    Windows 2的Moment 11更新于上周发布,在Windows Experience博客上落后几周后。微软工程部门启动了一个Reddit线程来监控和响应反馈,但该线程看起来…

    2023年3月21日
    03980
  • Icy Dock推出CP130适配器:摄影一族用上M.2 固态硬盘

    一般用户使用单反数码相机都是利用SD卡或CF卡存储,随着4K/8K视频拍摄、更高像素的照片及连拍等多方面的存储需求增加,出现了基于PCIe总线技术的XQD卡,后来还引入了NVMe协…

    2023年3月20日
    02940
  • 搞笑:男子滑板车藏84个固态硬盘入境被海关现场查水表

    今日,据海关总署官方信息平台“海关发布”微信公众号消息,近日,拱北海关所属青茂海关在珠澳跨境工业区专用口岸查获一名旅客利用电动滑板车藏匿硬盘进境,合计数量84个。 由于价格低廉,国…

    2023年3月18日
    02820

发表回复

登录后才能评论
业务联系 投稿
返回顶部