On-die ECC(片上纠错码)
3 秒看懂
一句话: On-die ECC 是在 DRAM 芯片内部自动纠正单比特翻转的机制——数据在”离开芯片”前就被修好了,主机控制器看到的是”干净”的数据。它不是系统级 ECC 的替代品,而是互补关系,两者叠加才能把不可纠正错误率压到极低。
3 分钟产业解释
为什么这个概念在 2024-2025 年突然变重要?
三个产业驱动力叠加:
-
DRAM 制程微缩加速位翻转: DRAM 进入 1α、1β、1γ 工艺节点后,电容存储电荷量持续下降,相邻单元耦合干扰(row hammer、pattern-sensitive fault)频率上升。裸片内部在数据读出到 I/O pad 之前就需要纠错。
-
HBM 堆叠放大良率风险: HBM2E 为 8-Hi、HBM3/HBM3E 达到 8-Hi/12-Hi 堆叠,单颗逻辑 die 上要集成多层 DRAM die 的测试与修复。每一层 DRAM die 内部都有独立的 on-die ECC 电路,以保证”出堆叠前”数据完整性。
-
AI 训练的静默数据损坏(SDC)恐惧: 大模型训练中一个 bit flip 可能导致梯度爆炸、损失曲线突跳。Google 在 2021 年公开论文指出其数据中心中 SDC 的一个主要来源就是 DRAM 软错误。On-die ECC + 系统级 ECC + 端到端数据校验形成多层防线。
投资关联: On-die ECC 本身不独立构成商品,但它是 DDR5 和 HBM3/HBM3E 的标配功能,其面积开销与延迟特征直接影响 DRAM die size(进而影响 bit cost)和访问延迟(影响带宽效率),是评估 HBM 竞争力的隐性参数。
15 分钟专家深入
1. On-die ECC 到底纠正什么、不纠正什么?
| 层级 | 纠错范围 | 能力 | 典型延迟代价 |
|---|---|---|---|
| On-die ECC(本次主角) | 单颗 DRAM die 内部阵列到 I/O 通路 | 单比特纠正(SEC),多比特检测(DED) | [业界估算] 1-3 ns |
| 系统级 ECC(DIMM/RDIMM 上额外 DRAM 做校验) | 从 DRAM 到内存控制器的完整通路 | 单比特纠正 / 多比特检测(SEC-DED) | [定性] 与 on-die ECC 在不同域 |
| 端到端 CRC/校验(部分 GPU/CPU 内存控制器支持) | 控制器到计算单元 | 检测传输错误 | [定性] 控制器侧延迟 |
关键认知: On-die ECC 修复的是 DRAM 芯片内部读出放大器到 I/O buffer 之间路径上的单比特错误;它无法修复传输到主机侧后因信号完整性导致的错误——那需要系统级 ECC。两者互补,缺一不可。
2. 标准化背景
- DDR5: JEDEC 在 DDR5 规范(JESD79-5)中强制要求 on-die ECC。这是 DDR5 相对 DDR4 的架构性变化之一。DRAM 厂商在芯片内部存储区域增加了 ECC 校验位,主机通过标准协议读到的是已纠正数据。
- HBM 系列: HBM2E(JESD235D)和HBM3(JESD238)规范中均包含 on-die ECC 支持。考虑到 HBM 堆叠层数多、die 面积极小、测试难度大,on-die ECC 对保证每层 die 的出厂良率尤为关键。
- LPDDR5/LPDDR5X: 也引入了 on-die ECC 或类似的内部数据完整性机制,以应对移动 DRAM 同样面临的微缩挑战。
3. 面积开销与有效容量
On-die ECC 的校验位需要额外的存储单元。其面积开销因具体实现而异:
- 厂商通常在标称容量(如 16Gb、24Gb per die)中已经包含了 ECC 校验位的面积,或者在标称容量之上多做了一些 cell array。具体做法为厂商内部实现细节,公开披露有限。
- [定性估算] 行业普遍认为 on-die ECC 带来的有效存储开销约为几个百分点的额外 cell area,不同厂商方案不同,JEDEC 未统一规定具体编码率。
4. 延迟影响
On-die ECC 的编码/解码逻辑位于 DRAM die 内部的 sense amplifier 到 I/O buffer 之间。这个过程引入的额外延迟通常在个位数纳秒量级。
对于 HBM 的典型 tCAS(列访问延迟)为十几个时钟周期(如 HBM2E 在 3.2Gb/s 速率下约几个 ns),on-die ECC 贡献的绝对延迟在整体时序中占比相对较小,但在极端高频/低延迟场景下需要纳入时序预算。
技术原理
内部架构示意
┌──────────────────────────────────────────────────────┐
│ DRAM Die 内部 │
│ │
│ ┌─────────┐ Sense ┌──────────┐ I/O │
│ │ Cell │───Amplifier───│ On-die │──Buffer──►│
│ │ Array │ (SA) │ ECC 引擎 │ (DQ) │
│ │ │ │ │ │
│ │ [data bits] │ SEC-DED │ │
│ │ + [ECC │ │ Decoder │ │
│ │ check │ │ │ │
│ │ bits] │ │ 纠正1-bit│ │
│ └─────────┘ │ 检测2-bit│ │
│ └──────────┘ │
│ │
│ 写入时: 数据 → ECC编码器 → 存入Array(数据+ECC位) │
│ 读出时: Array(数据+ECC位) → ECC解码器 → 纠正 → 输出 │
└──────────────────────────────────────────────────────┘
▲ │
│ ▼
Memory Controller ◄──────────── 干净数据(已纠正)
(主机侧,看到的是 corrected data)
编码方案
- 典型采用 SEC-DED(Single Error Correct, Double Error Detect)编码,基于汉明码或其扩展变种。
- 编码的基本思想:对于 k 个数据位,增加 r 个校验位,使得 k + r 构成的码字满足最小汉明距离 ≥ 4(即可纠正 1 位错误、检测 2 位错误)。
- 具体参数(k/r 的比率、编码多项式)为各厂商内部实现,JEDEC 规范要求功能(SEC-DED),但不统一规定具体电路实现。
为什么不用更强的纠错码(如系统级 Chipkill)?
- On-die ECC 的目标是覆盖 DRAM 内部最常见的单比特软错误,而非系统级的多 chip 失效。
- 更强的编码(如 BCH、Reed-Solomon)需要更多校验位(面积↑)和更复杂的编解码电路(延迟↑、功耗↑),在 DRAM die 内部的宝贵面积上不经济。
- 系统级 ECC(如服务器 RDIMM 的 SEC-DED、Chipkill/ECC on data bus)负责更高层级的保护。
写入路径与读出路径
写入(Write):
Host 数据 → Memory Controller → DQ pins → DRAM Die
│
ECC Encoder
│
Data + Check Bits
│
写入 Cell Array
读出(Read):
Cell Array → Sense Amplifier → ECC Decoder → DQ pins → Controller
│
syndrome 计算
├── syndrome = 0 → 无错,直接输出
├── syndrome ≠ 0, 单 bit → 纠正,输出 corrected data
└── 双 bit → 标记 UE (Uncorrectable Error)
重要: 当 on-die ECC 检测到不可纠正错误(UE)时,不同 DRAM 架构的处理方式有所不同——部分实现会通过 sideband 信号或数据 masking 通知主机控制器,部分实现可能直接输出有错数据(依赖系统级 ECC 兜底)。具体行为取决于厂商实现和接口协议。
技术演进史
| 时间线 | 事件 | 意义 |
|---|---|---|
| DDR3/DDR4 时代 | On-die ECC 未被标准化强制要求;部分厂商在高端产品中以可选功能或内部测试用途实现 | DRAM 缩放压力尚可承受,软错误率在可接受范围 |
| ~2018-2019 | HBM2E 规范制定阶段,堆叠良率和数据完整性成为核心关切 | HBM 堆叠特性天然要求每层 die 有内部纠错能力 |
| 2020 | JEDEC DDR5 规范(JESD79-5)正式发布,首次在消费/企业级 DDR 标准中强制要求 on-die ECC | 里程碑事件——On-die ECC 从”可选”变”必选” |
| 2021 | DDR5 产品开始量产;Google 公开论文讨论数据中心静默数据损坏(SDC),DRAM 软错误是主要来源之一 | 行业关注度急剧提升 |
| 2022-2023 | HBM3 量产(用于 NVIDIA H100 等),on-die ECC 为标配 | AI 算力需求推动 HBM 放量,on-die ECC 成为供应链隐性关键参数 |
| 2024-2025 | HBM3E(12-Hi 堆叠,更高带宽)进入量产,LPDDR5X 亦强化内部数据完整性机制 | 微缩继续、堆叠层数增加,on-die ECC 的覆盖范围和复杂度进一步提升 |
技术路线对比
| 维度 | On-die ECC | 系统级 ECC(DIMM 侧) | 控制器端 E2E 保护 |
|---|---|---|---|
| 纠错位置 | DRAM die 内部 | DRAM 模组级别(额外 chip 做校验) | 内存控制器内部 |
| 典型编码 | SEC-DED(汉明码扩展) | SEC-DED / Chipkill(×4/x8 SDDC) | CRC-32 / CRC-8 等 |
| 覆盖范围 | 单 die 内部 array→I/O | 跨 chip 的 bus 传输 | 控制器→计算单元 |
| 纠错能力 | 1-bit correct / 2-bit detect per codeword | 1-bit correct (SEC-DED); Chipkill 可纠正整 chip 失效 | 检测为主 |
| 延迟开销 | [定性] 低(die 内部,个位数 ns) | [定性] 中(需额外 chip 访问 + 控制器计算) | [定性] 低 |
| 面积/成本开销 | DRAM die 内部增加几个百分点 cell area | 需额外 DRAM chip(如 ECC DIMM 多 1/8 或 1/9 chip) | 控制器逻辑面积增加 |
| 透明度 | 对主机完全透明 | 主机可见(需 ECC capable 控制器) | 主机软件可能可见 |
| 是否可独立使用 | 不够——不能替代系统级 ECC | 不够——不能覆盖 die 内部错误 | 不够——互补层 |
| 行业趋势 | DDR5/HBM3 起强制标配 | 服务器标配,消费级不强制 | 高端 GPU/CPU 逐步标配 |
核心结论: 三层保护是互补关系,形成纵深防御。On-die ECC 是最内层、最基础的防线。
上下游
上游(On-die ECC 所依赖的)
| 环节 | 说明 |
|---|---|
| DRAM 制程 | 制程越微缩,对 on-die ECC 的依赖越强;先进制程(1β、1γ 工艺节点)几乎是”无 ECC 不可” |
| ECC 编解码 IP | DRAM 厂商内部自研或从 IP 供应商获取;需极低面积、极低延迟 |
| 测试与验证设备 | On-die ECC 使得传统的外部测试模式变得复杂——需要特殊模式绕过 ECC 来测试底层 cell array |
| 晶圆良率 | On-die ECC 可以”隐藏”部分单比特缺陷,变相提升 die 级良率 |
下游(On-die ECC 所影响的)
| 环节 | 说明 |
|---|---|
| DDR5 DIMM 制造 | On-die ECC 使单颗 die 的良率门槛降低,但增加了 die 面积 |
| HBM 封装(如 SK Hynix / Samsung / Micron) | 每层 DRAM die 都带 on-die ECC,对堆叠良率和测试策略有直接影响 |
| GPU/加速器(NVIDIA、AMD 等) | HBM on-die ECC 的延迟贡献纳入 GPU 内存子系统时序设计 |
| 服务器 CPU(Intel、AMD) | DDR5 on-die ECC + 系统级 ECC 双重保护,影响内存 RAS(Reliability, Availability, Serviceability)指标 |
| 数据中心运维 | On-die ECC 透明纠错减少了可见的可纠正错误(CE)计数,但也意味着部分错误”被藏起来”了——运维需关注 UE(不可纠正错误)事件 |
关键指标
| 指标 | 说明 | 数值/范围 |
|---|---|---|
| 纠错能力 | 每个 codeword 可纠正的比特数 | 1-bit SEC(单比特纠正) |
| 检测能力 | 每个 codeword 可检测的比特数 | 2-bit DED(双比特检测) |
| 编码率 | 数据位 / (数据位 + 校验位) | [厂商未充分披露] 估计 > 90%(低开销编码) |
| 额外延迟 | ECC 编解码引入的访问延迟增量 | [业界估算] 1-3 ns 量级 |
| 面积开销 | 校验位 + 编解码逻辑占 die 面积的比例 | [定性估算] 低个位数百分比 |
| 透明度 | 主机是否需要感知 | 完全透明(host-agnostic) |
| 适用标准 | 强制要求 on-die ECC 的 JEDEC 标准 | DDR5 (JESD79-5), HBM2E (JESD235D), HBM3 (JESD238) 等 |
供需与市场数据
供需格局(定性)
On-die ECC 本身不是独立市场——它是 DDR5 和 HBM 产品的内嵌功能。其影响通过以下方式传导到市场:
| 影响维度 | 传导路径 |
|---|---|
| Die 面积 | On-die ECC 增加 cell area → 同等晶圆产能下有效 bit 产出略降 → 影响 bit 成本 |
| 良率 | On-die ECC 可”容忍”部分单比特缺陷 → 变相提升等效良率 → 部分抵消面积开销 |
| 测试成本 | 需要特殊测试模式绕过 ECC 以测试底层 cell → 测试时间和成本增加 |
| 产品定价 | 不单独定价,但影响 DRAM 厂商的成本结构和利润率 |
市场数据背景
- DDR5 渗透率: [行业报告综合] 2024 年 DDR5 在 PC 和服务器领域的渗透率快速提升,预计 2025 年将成为主流。所有 DDR5 产品均内置 on-die ECC。
- HBM 市场: [行业报告综合] 2024 年 HBM 市场规模快速增长,主要受益于 AI 训练/推理需求。SK Hynix、Samsung、Micron 三大厂商的 HBM3/HBM3E 产品均包含 on-die ECC。
- On-die ECC 对 bit cost 的影响: [定性估算] 面积开销和良率提升效应部分抵消,净影响约为 bit cost 的低个位数百分比,不同厂商和制程节点有差异。
代表公司与资本映射
| 公司 | 角色 | 与 On-die ECC 的关联 |
|---|---|---|
| SK Hynix | DRAM & HBM 龙头 | HBM3/HBM3E 的 on-die ECC 实现;良率和成本竞争力的关键隐性参数 |
| Samsung | DRAM & HBM 龙头 | 同上;先进制程节点(1b、1c 工艺节点)下 on-die ECC 的设计优劣影响良率 |
| Micron | DRAM & HBM 追赶者 | DDR5 和 HBM3E 的 on-die ECC 实现;追赶 HBM 份额的关键技术之一 |
| NVIDIA | GPU/AI 加速器 | HBM on-die ECC 延迟纳入 GPU 内存子系统时序预算;数据完整性是 AI 训练的卖点 |
| AMD | CPU & GPU | DDR5 on-die ECC + 系统级 ECC 双重支持;EPYC 服务器 CPU 的 RAS 特性 |
| Intel | CPU | DDR5 on-die ECC 支持;至强服务器平台的内存可靠性架构 |
| 长鑫存储(CXMT) | 中国大陆 DRAM | DDR5 路线图中同样需要实现 on-die ECC,是追赶先进制程的技术门槛之一 |
资本映射思路: On-die ECC 不是独立投资主题,但它是评估 DRAM 厂商先进产品竞争力的隐性指标——谁的 on-die ECC 面积开销更小、延迟更低、良率补偿效果更好,谁在 DDR5/HBM 上的成本优势就越大。
投资逻辑
核心观点
-
On-die ECC 是 DDR5/HBM 的”隐形税”和”隐形保险”:
- 它增加了 die 面积(成本端负面),但也提升了良率(成本端正面)。
- 净效应取决于厂商的制程能力和 ECC 架构设计——领先厂商的净效益更大。
-
HBM 竞争中的隐性差异化:
- 市场关注 HBM 的带宽(I/O 速率 × 位宽)和堆叠层数,但 on-die ECC 的设计质量同样影响:
- 每层 die 的良率(影响堆叠整体良率)
- 访问延迟(影响有效带宽利用率)
- 可靠性指标(影响高端客户选型)
- 市场关注 HBM 的带宽(I/O 速率 × 位宽)和堆叠层数,但 on-die ECC 的设计质量同样影响:
-
DDR5 全面普及 = on-die ECC 全面标配:
- 随着 DDR5 取代 DDR4 成为出货主力,on-die ECC 从”高端特有”变为基础配置。
- 这对 DRAM 厂商的成本管理能力提出了更精细化的要求。
-
数据完整性成为 AI 时代的卖点:
- 大模型训练动辄数千 GPU、训练周期数周,数据损坏的代价极高。
- On-die ECC + 系统级 ECC + 端到端校验的”三层防护”将成为 AI 基础设施选型的重要参考。
风险提示
- On-die ECC 的具体实现差异难以从外部观测,投资者难以直接量化其影响。
- JEDEC 标准层面仅规定功能要求,不规定实现细节,厂商间差异可能被营销话术掩盖。
常见误读纠偏
❌ 误读 1:“On-die ECC 可以替代系统级 ECC”
纠偏: 绝对不可以。On-die ECC 只覆盖 DRAM die 内部的单比特错误。数据从 die 到控制器的传输路径(PCB 走线、信号完整性)、控制器内部处理等环节的错误,必须由系统级 ECC 覆盖。两者是互补关系,不是替代关系。在服务器和 AI 训练场景中,系统级 ECC 仍然是必需品。
❌ 误读 2:“DDR5 的 on-die ECC 意味着 DDR5 不需要主板上的 ECC 了”
纠偏: DDR5 的 on-die ECC 是 transparent(对主机透明)的,它只纠正 die 内部错误。如果你需要完整的 ECC 保护(纠正传输链路上的错误),仍然需要使用 ECC 版本的 DDR5 DIMM(如 DDR5 RDIMM/ECC UDIMM)。非 ECC 的 DDR5 UDIMM 只有 on-die ECC 这一层防护,保护力度远不如 ECC DIMM。
❌ 误读 3:“On-die ECC 会显著降低 DRAM 的可用容量”
纠偏: On-die ECC 的校验位开销(存储 ECC check bits)通常已经被厂商计入标称容量。例如标称 16Gb 的 DDR5 die,其内部 cell array 可能比 16Gb 略大以容纳 ECC 位,但对外呈现的就是 16Gb 可用数据容量。对用户而言不减少可见容量。
❌ 误读 4:“HBM 堆叠中只有顶层有 on-die ECC”
纠偏: HBM 堆叠中的每一层 DRAM die 都有独立的 on-die ECC 逻辑。这是堆叠架构的基本设计原则——每层 die 在出厂前都需要自身的数据完整性保障。
学习路径
入门(了解概念)
│
├─► 阅读 JEDEC DDR5 概述文档(JESD79-5 概要,非完整规范)
│ └─ 重点关注"on-die ECC"章节的功能描述
│
├─► 阅读 DRAM 厂商的技术白皮书
│ └─ SK Hynix / Samsung / Micron 的 DDR5/HBM 产品介绍中通常有 on-die ECC 的简要说明
│
进阶(理解机制)
│
├─► 学习汉明码(Hamming Code)基本原理
│ └─ 理解 SEC-DED 的编码/解码过程
│ └─ 推荐教材:经典信息论/编码理论教材中的线性分码章节
│
├─► 阅读 Google 的 SDC 论文("Cores that don't count", 2021)
│ └─ 理解静默数据损坏的来源及 DRAM 软错误的占比
│
深入(架构级理解)
│
├─► 研读 DDR5 和 HBM3 的 JEDEC 规范(完整版需购买/会员)
│ └─ 关注 on-die ECC 与 DRAM 内部流水线的交互
│
├─► 阅读 DRAM 厂商关于测试策略的论文/专利
│ └─ on-die ECC 如何影响 DRAM 测试(绕过 ECC 测试底层 cell 的方法)
│
└─► 关注 ISSCC / VLSI Symposium 等顶会中 DRAM 方向的论文
└─ 近年有多篇关于 DRAM 可靠性与 ECC 的学术工作
一句话总结
On-die ECC 是 DRAM 芯片内部的”免疫系统”——在数据离开 die 之前默默纠正单比特错误;它是 DDR5/HBM 的标配功能,与系统级 ECC 互补而非替代,其面积和延迟特征是评估 DRAM 厂商先进产品竞争力的隐性关键参数。
延伸阅读与来源
| 来源 | 说明 |
|---|---|
| JEDEC JESD79-5 | DDR5 SDRAM 标准,含 on-die ECC 强制要求(需 JEDEC 会员获取) |
| JEDEC JESD235D | HBM2E 标准,含 on-die ECC 描述 |
| JEDEC JESD238 | HBM3 标准,含 on-die ECC 描述 |
| Google, “Cores that don’t count” (2021) | 讨论数据中心静默数据损坏,DRAM 是主要来源之一(HotOS 2021) |
| 各 DRAM 厂商产品 datasheet | DDR5 / HBM3 datasheet 中通常有 on-die ECC 功能的简要描述 |
| AnandTech / WikiChip | 技术媒体对 DDR5 on-die ECC 的科普性解释(搜索 “DDR5 on-die ECC”) |
| 本页说明 | 硬规格(具体编码率、精确延迟数值等)因厂商未充分公开披露,本页以定性描述和业界估算为主,已标注。检索来源因 403 错误未能获取最新数据,建议读者参阅上述一手来源。 |
免责声明: 本页基于公开技术资料和行业共识撰写,具体实现细节因厂商而异且未完全公开。涉及投资逻辑的部分仅为研究参考,不构成投资建议。技术规格标注 [业界估算] 或 [未充分披露] 处,因联网检索未能获取一手数据,请以厂商官方文档为准。