NAND介质工程

SSD 的 DRAM 预算:映射表、元数据与写缓冲的三方分配

作者:军航科工半导体SSD DRAM预算 / L2P映射表 / 写入缓冲

每 TB 配 1GB DRAM 的经验法则来自 4KB 粒度映射的算术。真正的工程问题是三类性质完全不同的数据在抢同一块内存,而写缓冲的上限由 PLP 电容的能量预算决定,不是由性能需求决定。

1:1000 这条经验法则的来历

4KB 粒度的 L2P 映射,每个条目约 4 字节,1TB 用户容量就要约 1GB 表空间——“每 TB 配 1GB DRAM”就是这么来的。15.36TB 的 J750 因此需要 16GB 量级的 DRAM 才能让整张表常驻。容量继续往上,这条线性关系就变成成本与功耗上的硬墙:单盘 122.88TB 若仍按 4KB 粒度全驻留,DRAM 用量会失控。所以超大容量与 QLC 产品线必须换更粗的映射粒度或改用部分驻留策略,代价是随机写的对齐要求变严、小块覆盖写的开销上升。

三类数据在抢同一块内存

DRAM 上真正共存的是三类性质迥异的数据:

  • L2P 映射表:体积最大,尽量常驻。丢了可以从 NAND 上的日志重建,代价是恢复时间。
  • 元数据缓存:Block 状态、有效页计数、读计数、磨损统计。GC 选块、磨损均衡、读干扰防护全部直接依赖它,命中率下降不会立刻表现为延迟,而是表现为后台策略变笨。
  • 主机写缓冲:三者中最小的一块,但一旦向主机确认过就绝对不能丢。

分配上通常给映射表留固定预算,元数据按容量档位缩放,写缓冲反而受限最严——它的大小由 PLP 能量预算决定,而不是由性能需求决定。

掉电时刷得回去多少,才决定缓冲能开多大

写缓冲上限是一道能量题:断电瞬间,板载电容存储的能量必须足够把缓冲中所有已确认数据与关键元数据完整写入 NAND。刷写时间取决于可并发的通道数与编程模式(通常切到 SLC 模式加速),可用能量取决于电容容值与工作电压窗口。放大缓冲能改善突发写入表现,但电容随之变大、占板面积上升,在 U.2 15mm 与 E1.S 这类空间受限的形态上直接与散热布局冲突。这是形态选择反向约束固件参数的典型例子。

DRAM 本身也会出错

映射表是全盘数据的索引,一个静默翻转的比特可能把读请求导向完全错误的物理地址,而数据路径上的 CRC 对此毫无察觉——读出来的数据本身是完好的,只是不属于这个 LBA。因此企业级配置的 DRAM 必须带 ECC,关键结构还要附加独立校验字段并在使用前自校验。这一层与 T10 DIF/DIX 的端到端保护是互补关系:前者护索引,后者护数据本体,缺任何一边都留有静默错误的通道。

关键词
SSD DRAM预算L2P映射表写入缓冲PLP能量预算DRAM ECC军航科工