2.LDPC(Low Density Parity Check)纠错码
LDPC码是一种基于稀疏矩阵的纠错码,它由一组奇偶校验方程组成,其中大部分元素为零,因此得名“低密度”。LDPC码的优点是可以有效地纠正大量的错误,尤其是对于高密度存储设备来说。LDPC解码可以分为硬解码和软解码两种方式。
(1)LDPC Hard Decode
硬解码是最基本的LDPC解码方法,它试图从接收到的数据中恢复正确的信息。这个过程通常涉及到将接收到的代码字与一个预定义的校验矩阵相乘,并检查结果是否为全零向量。如果是全零向量,则说明接收到的信息是正确的;否则,需要进行错误定位和纠正。比BCH更复杂,能处理更多的错误,但仍然没有充分利用信号质量信息。
(2)LDPC Soft Decode
软解码是一种更复杂的解码方式,它考虑到了接收信号的质量,并尝试优化解码决策。在这个过程中,不仅使用了接收到的比特值(0或1),还考虑了每个比特的概率分布。通过这种方法,软解码可以提供更高的错误检测和纠正能力,但需要更多的计算资源。最复杂但也最强力的纠错方式,利用了信号强度信息来提高解码准确性,但需要更多的计算资源。
三者的纠错能力对比:BCH与LDPC Hard Decode纠错能力差不多,LDPC Hard Decode也只是比BCH高一点。但是,LDPC Soft Decode纠错能力会提升3倍以上。
在SSD读取过程中,LDPC纠错的顺序通常是这样的:先执行硬判决解码,硬判决解码失败或者无法纠正所有错误,SSD会接着尝试使用软判决解码。软判决解码利用了每个比特的概率信息,能够更准确地定位和修复错误。
但是这个纠错过程中,硬解码主要依赖硬件实现,因为它的运算过程相对简单且重复,适合于ASIC(专用集成电路)设计。在现代SSD中,LDPC硬解码通常由闪存控制器中的专门硬件模块完成。硬解码只需要对数据进行一次简单的奇偶性检查,而软解码则需要多次迭代来更新每个比特位的概率分布并做出决策。因此,当硬解码无法正确处理错误时,通常会转向软解码,即使这意味着读取操作的整体延迟会增加。根据研究人员实验数据显示,LDPC软解码每一步执行的大致延迟数据如下:
由于LDPC Soft Decode可能会引起较大的QoS延迟波动,目前业内针对这部分的涉及也非常的敏感,也是各大SSD控制器厂商和SSD原厂的核心算法与竞争力。通常,这部分的实现可能有两方面:
-
一种选择是Soft Read由SSD主控来完成,这部分可能就依赖FW管理能力与效率。
-
另外一种选择是Soft Read由每个NAND通道的闪存主控FlashIP来完成,这部分也是主流的选择,相对高效,实测结果参考如下:
场景1: 4KB随机混合读写,读:写=1:1
场景2: 4KB随机读100%
小编每日撰文不易,如果您看完有所受益,欢迎点击文章底部左下角“关注”并点击“分享”、“在看”,非常感谢!
精彩推荐:
-
为什么QLC NAND才是ZNS SSD最大的赢家?
-
SSD在AI发展中的关键作用:从高速缓存到数据湖
-
浅析不同NAND架构的差异与影响
-
SSD基础架构与NAND IO并发问题探讨
-
字节跳动ZNS SSD应用案例解析
-
SSD数据在写入NAND之前为何要随机化?
-
深度剖析:DMA对PCIe数据传输性能的影响
-
NAND Vpass对读干扰和IO性能有什么影响?
-
HDD与QLC SSD深度对比:功耗与存储密度的终极较量
-
NVMe SSD:ZNS与FDP对决,你选谁?
-
如何通过优化Read-Retry机制降低SSD读延迟?
-
关于硬盘质量大数据分析的思考
-
存储系统性能优化中IOMMU的作用是什么?
-
全景解析SSD IO QoS性能优化
-
NVMe IO数据传输如何选择PRP or SGL?
-
浅析nvme原子写的应用场景
-
多维度深入剖析QLC SSD硬件延迟的来源
-
浅析PCIe链路LTSSM状态机
-
浅析Relaxed Ordering对PCIe系统稳定性的影响
-
实战篇|浅析MPS对PCIe系统稳定性的影响
-
浅析PCI配置空间
-
浅析PCIe系统性能
-
存储随笔《NVMe专题》大合集及PDF版正式发布!