Notes about DDR5 Bounded Fault ECC技术
文章目录
本文将mark下DDR5 Bounded Fault ECC技术的相关notes。
Prerequisite
Overview
Bounded Fault ECC 的核心是DDR5 通过约束 DRAM 内部故障(fault)到外部数据输出(DQ pins)的映射关系,使某些故障的影响范围是确定且有限的(bounded),因此 ECC 不需要按照“整颗 DRAM 芯片完全损坏”的最坏情况设计,从而降低 ECC 开销。

Why
先看传统 Chipkill。
一个 DRAM device 内部:
1 | DRAM device |
内部可能发生很多故障:
- 一整列坏
- 一些 row 坏
- bank 坏
- 外围电路坏
关键问题:
系统看到的是 DQ pin 上的数据错误,但不知道内部 fault 会扩散到多少 DQ。
例如一个 row fault:
- 情况1
1 | 内部 fault |
- 情况2
1 | 内部 fault |
- 情况3
1 | 内部 fault |
如果没有额外保证,系统只能按照最坏情况:
1 | 整个 DRAM device 可能失效 |
来设计 ECC。
这就是 Chipkill 的思想。
核心思想
DDR5 换了一种思路,不是:
“我假设 DRAM 任意地方都可能坏。”
而是:
“我在 DRAM 内部设计阶段限制故障传播范围,让系统知道某些 fault 最大会影响多少数据。”
这就是Fault Bounding(故障边界限制)。
举个简单例子,假设某个 DRAM 内部 row fault。
传统 DRAM
1 | Row fault |
系统不知道范围,所以ECC保护4个DQ。
DDR5 bounded fault

规定这个 row fault最多影响:
1 | DQ0 |
不会影响:
1 | DQ2 |
那么系统知道最大故障范围 = DQ0~DQ1,于是 ECC只需要覆盖这个bounded region,而不是整个 DRAM device。
要点
1 | Bounded Fault = |
例如:
- 某些 row fault
- 某些 column fault
- 某些内部阵列故障
DDR5 标准规定这些 fault 到 DQ 的映射满足某些约束。
A Systematic Study of DDR4 DRAM Faults in the Field原文描述:
DDR5 bounded fault 的目标,是保证 DRAM 内部组件(例如 row)如何映射到 DRAM data pins,使系统设计者能够设计覆盖特定 fault mode 的 ECC。
所以重点是fault propagation boundary。
降低 ECC 成本
Chipkill保护整个 DRAM device
例如:
1 | DQ0 |
全部可能坏。
因此需要强ECC。
BF ECC保护有限范围
例如:
1 | DQ0 |
可能错误。
那么ECC只需要纠正这个范围即可。
所以:
1 | 保护范围减少 |
Example
传统 Chipkill:
1 | 10×4 |
即:
1 | 8 data + 2 ECC |
如果使用 BF ECC:
因为故障范围已经被限制,可以:
- 释放部分 ECC 位;
- 或减少 ECC 芯片。
例如:
1 | 9×4 |
A Systematic Study of DDR4 DRAM Faults in the Field指出:bounded fault ECC 可以释放校验位,甚至减少一个 DRAM device。
On-Die ECC与BF ECC 的关系
DDR5:
1 | DRAM chip内部 |
On-Die ECC解决DRAM芯片内部的小错误,例如:单 bit cell error。它发生在DRAM内部。
Bounded Fault ECC解决:经过DRAM输出之后,系统看到的较大fault。它发生在:Memory Controller侧。
两者关系:
1 | On-Die ECC |
BF ECC 的代价
可靠性下降
如果 fault 超过 bounded 范围:例如设计认为最多影响 DQ0,DQ1,但是实际:DQ0,DQ1,DQ2,DQ3都坏,那么BF ECC无法保证恢复。
这就是unbounded fault,A Systematic Study of DDR4 DRAM Faults in the Field通过 DDR4 field data 建模发现,一些 fault,例如:
- two-column;
- cluster-row;
可能属于 unbounded fault。
因此BF ECC 相比 Chipkill 会增加 UE(不可纠正错误)。
流程
1 | DRAM内部故障 |
总结
| Chipkill | Bounded Fault ECC | |
|---|---|---|
| 假设 | 一整颗 DRAM 可以坏 | 故障影响范围有限 |
| 保护范围 | 最大 | 较小 |
| ECC 开销 | 高 | 低 |
| 成本 | 高 | 低 |
| 可靠性 | 更强 | 略弱 |
| 依赖 | 不需要 DRAM 保证 | 需要 DDR5 保证 fault bounding |
| 可靠性 | 更高 | 略低 |
DDR5 不再让系统假设“一颗 DRAM 芯片可能完全坏掉”,而是在 DRAM 内部设计阶段限制某些 fault 的传播范围,使系统提前知道错误最多影响哪些 DQ pins。这样 ECC 就可以针对有限 fault boundary 设计,而不是采用保护整个 DRAM device 的 Chipkill,从而减少 ECC 校验开销,提高容量效率。
简单记:
1 | Chipkill: |
这也是为什么它叫 Bounded Fault(有边界的故障)。
参考资料:
- A Systematic Study of DDR4 DRAM Faults in the Field(HPCA’25)
- Improving Memory Reliability by Bounding DRAM Faults(MEMSYS’20)