NAND介质工程

LDPC 两级纠错:硬判决的延迟预算与软判决的触发代价

作者:军航科工半导体LDPC / 软判决 / 硬判决

原始误码率随 P/E 循环、保持时间和读干扰移动,纠错必须按寿命末期条件定标。硬判决要做到延迟不可感知,软判决用多次重读换来一个数量级的纠错能力,代价是尾延迟——两级之间的触发率控制才是设计重点。

误码率是一条会移动的曲线

NAND 的原始误码率不是常数。它随擦写循环累积上升,随数据保持时间延长上升,随同一块被读取的次数上升,还会因为读取时的结温偏离编程时的结温而上升。这几个因素可以叠加。因此纠错能力不能按新盘状态定标,必须按寿命末期的最恶劣组合来定,否则盘在第四、第五年会出现看似突然的可靠性劣化。

第一级:硬判决必须做到不可感知

硬判决路径上,主控拿到每个单元 1 bit 的判决结果,交给 LDPC 解码器按最小和算法迭代。这一级是纯硬件实现且迭代次数有上限,原因很直接:J750/J770 规划的 QD1 4KB 随机读平均延迟为 65 µs,整个读路径包含 NAND 阵列读出、通道传输、纠错和主机侧返回,留给纠错的预算只有几微秒量级。任何需要固件介入的处理都会破坏这个预算。

第二级:用读次数换纠错能力

硬判决失败后,主控对同一页施加多组偏移读电压重复读取,把非零即一的判决变成对数似然比的多级量化。信息量增加使纠错能力大约提高一个数量级,但每一次额外读取都是完整的 NAND 阵列访问,单次纠错时间从微秒级跳到百微秒甚至毫秒级。软判决因此是尾延迟的主要来源之一,它的价值在于兜底,触发率必须压到极低。

与读电压跟踪、Read Retry 的分工

三种手段是递进关系而不是并列。自适应读电压跟踪按块的擦写次数和保持时间预测最优参考电压,从源头压低误码率;Read Retry 在换电压重读这一层解决问题,不动解码器;软判决是最后一道。把跟踪做准,前两级就能吸收绝大多数场景,软判决只在少数老化块上被唤醒。反过来,如果电压跟踪偷懒,软判决触发率上升,P99.9 延迟会立刻恶化。

UBER 目标如何反推设计余量

UBER ≤1 扇区/10^18 bits 读 这个目标决定了码率、冗余字节数和迭代上限的取值。冗余占用物理 NAND 空间,冗余越大用户可见容量越低,这是容量与可靠性之间的直接交换。J750(1 DWPD)与 J770(3 DWPD)共用同一介质与同一解码器,差异来自预留空间和写入策略,而纠错余量按 J770 的寿命末期条件统一定标,让两条产品线共享一套已验证的纠错配置。

关键词
LDPC软判决硬判决对数似然比UBER读电压跟踪尾延迟军航科工