Notes about DDR5 On-Die ECC技术
文章目录
本文将mark下DDR5 On-Die ECC技术的相关notes。
Prerequisite
What
On-Die ECC 是放在 DRAM 芯片内部的一层错误保护机制,用来自动修复 DRAM cell 产生的小错误。
Without On-Die ECC
1 | CPU |
错误发生:
1 | Memory Cell 出错 |
With On-Die ECC
1 | CPU |
错误首先在 DRAM 内部处理:
1 | DRAM Cell 出错 |
因此系统看到的错误变少了。
Why
DRAM 工艺越来越复杂,cell 更容易出错
随着 DRAM 制程缩小:
- cell 更小
- 保存电荷更少
- 抗干扰能力下降
打个比方
- 以前
1 | 大水桶 |
- 现在
1 | 小水杯 |
因此DRAM 内部错误增加。
DRAM 芯片内部最清楚哪里出错
DRAM 芯片内部知道:
- 哪个 cell 出问题
- 哪些 bit 相关
因此在 DRAM 内部修复效率最高。
类似:
1 | 汽车发动机坏 |
减少系统级 ECC 压力
如果没有 On-Die ECC,所有错误:
1 | DRAM |
系统需要承担大量:
- 小 bit error
- 随机错误
有 On-Die ECC:
1 | DRAM内部: |
形成分层保护:
1 | 系统可靠性 |
On-Die ECC vs 系统 ECC
| On-Die ECC | 系统 ECC | |
|---|---|---|
| 位置 | DRAM 芯片内部 | Memory Controller |
| 保护对象 | DRAM cell 内部错误 | 整个内存系统错误 |
| 主要作用 | 修复小错误 | 处理严重错误 |
| 是否对系统可见 | 通常不可见 | 可见 |
| 粒度 | 芯片内部 | DIMM/Rank级 |
Summary
随着制程工艺不断缩小,每个 DRAM 单元(cell)中存储的电荷量减少,工艺波动(process variation)增加,同时晶体管也更容易受到老化(wear-out)的影响。为了缓解这些错误,现代 DRAM 集成了片上 ECC(On-Die ECC),在 DRAM 芯片内部对错误进行修复,并与外部系统 ECC(System ECC)协同工作。
每个 DRAM die(芯片颗粒)内部都包含隐藏的冗余存储单元(redundancy cells)以及一个紧凑的编码器/解码器(encoder/decoder)。该机制会在每个 bank group 内,对每次写入的数据进行编码,并在每次读取时进行解码(如图 1 中蓝色部分所示)。

通过在本地(DRAM 芯片内部)纠正错误,On-Die ECC可以有效地将原本存在轻微缺陷(marginal defects)的 DRAM die 转变为对外表现为无故障(externally fault-free)的组件,从而提高芯片制造良率,并保证组件级别的可靠性超过产品质保期限(warranty thresholds)。
参考资料:
- XED: Exposing On-Die Error Detection Information for Strong Memory Reliability(ISCA’16)
- DUO: Exposing On-chip Redundancy to Rank-Level ECC for High Reliability(HPCA’18)
- Cerberus: Cross-Layer ECC Co-Design for Robust and Efficient Memory Protection(ISCA’26)
- chatgpt