NAND介质工程

数据保持力衰减与后台刷新的触发判据

作者:军航科工半导体NAND数据保持力 / 读扰动 / 阈值电压漂移

从阈值电压分布的漂移机理出发,说明磨损如何压缩保持力窗口、后台刷新为何应由读通道软信息而非定时器驱动,以及刷新写入必须计入寿命预算的原因。

电荷流失的两条路径

3D 企业级 TLC 把 3 bit 编码进八个阈值电压态,相邻态之间的间隔只有百毫伏量级。电荷流失主要走两条路:隧穿氧化层的缺陷辅助泄漏,以及读取时字线高压带来的读扰动。前者随时间与温度单调累积,后者随读次数累积。两者叠加的结果是阈值分布整体偏移并变宽;当分布重叠区超出 ECC 的纠错能力,就直接表现为 UBER 恶化。企业级产品要守住 UBER ≤1 扇区/10^18 bits 读这一目标,靠的不是某一次强纠错,而是把分布始终压在可纠范围内。

写坏一次,保持力就短一截

擦写循环在氧化层里留下的陷阱不会完全恢复,寿命末期的块,其保持力窗口比新块短得多。这解释了为什么耐久与保持力必须放在一起谈:J750 规划的 1 DWPD 与 J770 规划的 3 DWPD 对应完全不同的循环消耗速度,而 5 年质保期内的 UBER 目标是二者共同约束的结果。这些数值都是产品定义/EVT 阶段的目标值,介质分档策略需要随表征数据一起迭代。落到实现上,固件按块的累计循环数分档,对高循环块采用更保守的刷新阈值与更强的纠错配置。

刷新应该由软信息触发,而不是定时器

后台刷新不是定时任务。固件持续采样每个块的原始错误率与最优读电压偏移量:当偏移量越过阈值,先尝试读重试与电压校准把分布拉回;只有校准之后错误率仍在上升,才把该块排入重写队列。上电还要处理一类特殊情况——长期断电存放的盘无法感知期间经过了多少时间与温度,只能在首次访问时用更密集的采样重建判断,再决定是否触发大范围校准。

刷新的代价必须计入寿命预算

每一次刷新都是一次真实写入,占用的是主机看不见的耐久预算。冷数据占比高的场景尤其敏感:Q7 的 J760Q 与 J760QD 面向对象存储、备份与归档,数据写入之后长期不动;Q9 的 J960Q 与 J960QD 面向 AI 检查点与超大容量阵列,历史检查点同样会在盘上长期驻留。这两类负载下,写放大的主要来源有可能是刷新而不是垃圾回收。可行的取舍是把刷新粒度做细,只重写确实劣化的页所在的块,把刷新窗口调度到主机 IO 的空闲期,并通过 Telemetry 把刷新引起的写入量单独暴露出来,让容量与寿命规划能看见这部分开销。

关键词
NAND数据保持力读扰动阈值电压漂移后台刷新UBER写放大Q7与Q9定位军航科工