存储⑦—深入浅出SSD-ECC原理

存储⑦---深入浅出SSD-ECC原理

ECC (Error Correcting Code/错误校正码):是 SSD / 闪存颗粒用来检测、修复数据比特翻转的校验算法。

LDPC

LDPC全称是Low Density Parity-Check Code,即低密度奇偶校验码。

(校验矩阵中 1(有效连接)占比极低、0 占绝大多数,故称 "低密度")

LDPC 是面向 TLC/QLC 高密度闪存的高性能纠错码,依靠稀疏矩阵迭代 + 软判决译码,解决传统 BCH 无法应对的高误码场景,是现代SSD 保障数据可靠性的核心底层技术。

LDPC解码

LDPC的解码⽅法有硬判决解码(hard decision decode)和软判决解码(soft decision decode)两种。

本节将介绍⼀种经典的硬判决算法------Bit-f lipping算法 ,以及⼀种软判决算法------和积信息传播算法

Bit-f lipping算法

核心定义:仅接收 0/1 硬比特,不使用闪存模拟电压软信息,依靠校验方程失败次数判断错误比特,迭代翻转可疑比特完成纠错。

核心原理

①输入:闪存读取后直接判定的二进制硬码字(只有 0、1 两种结果);

②校验统计:统计每个比特参与的校验方程中校验失败的数量;

③翻转规则:失败校验最多的比特判定为错误,直接翻转 0↔1;

④迭代收敛:重复校验 + 翻转,直到全部校验方程通过,或达到最大迭代次数。

执行步骤

①对接收数据做硬判决,得到初始 0/1 码字;

②遍历所有校验方程,标记不满足奇偶约束的失败校验;

③统计每个比特关联的失败校验数,选出计数最高的比特;

④翻转该比特,生成新码字;

⑤重复 2~4,直至全部校验通过或迭代超限。

缺点与闪存适用场景

✅ 优势:逻辑极简、硬件电路面积小、功耗低、译码延迟短;

❌ 劣势:仅硬判决,无法利用电压模糊区间信息,高误码场景(老化 TLC/QLC、数据留存衰减)纠错能力差;

适用:低误码、对功耗 / 时延要求极高的轻量化主控。

和积信息传播算法(Sum-Product / BP 置信传播,软判决)

全称与别名

 和积算法 Sum-Product Algorithm(SPA)

 置信传播 Belief Propagation(BP),二者完全等价,是 LDPC 标准高性能译码算法

核心原理(Tanner 二分图消息传递)

基于 LDPC 稀疏二分图(变量节点 VN = 数据比特,校验节点 CN = 奇偶约束),传递概率置信软信息,通过「求和、乘积」运算迭代更新比特为 0/1 的概率,逼近真实码字:

①输入:闪存读取的模拟电压(软信息),表征每个比特 "大概率 0 / 大概率 1" 的置信度;

②消息双向传递:

 变量节点 VN → 校验节点 CN:传递该比特为 0/1 的概率分布;

 校验节点 CN → 变量节点 VN:基于奇偶约束修正置信概率;

③和积运算:校验节点用乘积融合多比特概率,变量节点用求和更新置信;

④迭代收敛:多轮传递后置信稳定,根据最终概率输出 0/1 译码结果。

闪存场景核心优势(对比 Bit-flipping)

①支持软电压信息:识别阈值漂移造成的模糊比特(读干扰、电荷流失、单元耦合);

②纠错上限极高:TLC/QLC 高 RBER 老化块、长期断电冷数据仅 BP 可修复;

③逼近香农极限:同等校验冗余下纠错能力远强于硬判决 Bit-flipping。

短板

运算量大,硬件译码器逻辑复杂、功耗更高、单次迭代延迟更大;衍生简化方案「最小和 Min-Sum BP」降低计算量,是 SSD 商用主流。

两种算法核心对比
LDPC纠错流程

这套流程遵循先低开销硬判、后高性能软判的策略,优先用简单快速的硬判决处理轻度误码,硬判无法修复时再调用纠错能力更强、能利用模拟电压软信息的软判决机制,兼顾日常读取效率与高误码场景(如老化 NAND、受干扰数据)的可靠性。