DRAM Fault Classification through Large-Scale Field Monitoring for Robust Memory RAS Management

发表时间: 2025-10

作者/机构:
Hoiju Chung (SK hynix America), Euisang Oh (SK hynix America), Seungmin Baek (SK hynix America), Hyeongshin Yoon (SK hynix America), Jaesung Yoo (SK hynix America), Sanghwan Lee (SK hynix America), Yongjun Lee (Microsoft), Arhatha Bramhanand (Microsoft), Brett Dodds (Microsoft), Yang Zhou (University of Illinois Urbana-Champaign), Nam Sung Kim (University of Illinois Urbana-Champaign)

速读

一句话结论 本文提出了一套基于 DRAM 底层物理架构和错误时间模式的精细化故障分类与管理系统,并在超大规模数据中心验证了其对 DDR4 及首款集成片上 ECC 的 DDR5 内存的有效性。

要解决什么问题 随着 DRAM 工艺节点的缩减,内存可靠性面临严峻挑战,但传统的内存故障分类方法通常不考虑 DIMM 和 DRAM 芯片的底层物理体系结构,导致分类粒度粗、不够精确。这种不精确在 DDR5 时代演变成了致命卡点:DDR5 首次集成了片上 ECC(IDECC),IDECC 会在内部静默纠正并掩盖约 80% 的单比特错误,导致上报给主机的错误日志发生严重失真。如果系统无法透过这些失真的日志准确推断出底层的物理故障位置和类型,就无法准确评估该故障演变为已检测到的未纠正错误(DUE)的风险。无法预判 DUE 风险,系统就无法在运行时及时采取最有效的内存 RAS(可靠性、可用性、可服务性)缓解措施,最终导致服务器面临极高的崩溃宕机风险。

怎么做的 核心思路是摒弃纯逻辑层的错误统计,将主机观测到的物理地址转换为 DRAM 内部地址,结合错误在芯片物理空间上的分布边界和在时间上的持续模式,进行二维联合分类,并将其映射到具体的 RAS 缓解动作。首先是空间分类,作者发现超过 99% 的故障与 DRAM 的架构边界严格对齐,因此将故障分为局限于单个 bank 内和跨 bank 两大类。对于 bank 内故障,定义了关键的“有界故障”概念,即故障局限于共享位线传感放大器和子字线驱动器的 2x2 MAT(内存阵列)区域内。根据错误位数量、跨越的 MAT 数量及行列特征,进一步细分为单地址、列、单行、多行和阵列 MAT 故障五大类。其次是时间分类,为了绕开主机需求读取不规律导致的误判,方法强依赖周期性的巡检(Patrol Scrubbing)日志来计算错误存在持续时间(DEP)。时间分类的判定逻辑可表示为:$$DEP = \sum \Delta t_{error\_presence}$$若错误仅发生一次则为瞬态故障;若清理后消失为偶发性故障;若 $0 < DEP \le 0.5 \times T_{obs}$($T_{obs}$ 为观察期,本文设为 7 天)则为间歇性故障;若 $DEP > 0.5 \times T_{obs}$ 则为永久性故障。针对 DDR5 的 IDECC 掩盖问题,作者开发了仿真模型,用 DDR4 的海量日志模拟 IDECC 的纠错行为,证明 IDECC 虽然过滤了大量单比特错误,但具有高 DUE 风险的无界故障仍能被准确分类。最终,这些逻辑被封装进 DRAM 故障分析器(DFA)中,DFA 包含地址转换器、故障分类器和 RAS 行为顾问,一旦检测到跨越子字线驱动器边界的错误模式,便立即触发分类,并推荐组合式的 RAS 行为(如当前电源周期执行软性封装后修复,下一次重启执行硬性修复或页下线)。

效果如何 实验基于 Microsoft Azure 数据中心的生产环境搭建,收集了约 830 万个 DDR4 RDIMM 和 80 万个 DDR5 RDIMM 的现场运行日志,总运行时间高达 5450 亿设备小时。在有效性验证上,对比基线包括仅依赖需求读取日志的分类路线,以及高分辨率(10 微秒)与低分辨率(1 秒)日志采集路线;针对 DDR5,则将基于 DDR4 仿真的伪 DDR5 数据与真实的 DDR5 现场数据进行了对比。量化结果显示,结合巡检日志在 7 天观察期内可实现 95% 的分类准确率,而仅依赖需求读取的基线准确率会暴跌 70%,大量瞬态故障被漏判。在 DDR4 内存中,系统检测到 DUE 风险后,若在 30 分钟内采取 RAS 行动,可避免高达 75% 的不可纠正错误。对于 DDR5,仿真生成的伪 DDR5 与真实 DDR5 现场数据的分类结果余弦相似度高达 0.98,证明 IDECC 掩盖了 81.8% 的次要错误,但并未阻碍对高风险无界故障的检测。此外,将日志采样分辨率从 10 微秒降至 1 秒的轮询基线测试表明,对无界故障的 RAS 行为建议准确率影响为 0%,证明了低频轮询采样的工程可行性。该方法的局限在于,由于 DDR5 极强的纠错覆盖率,其实际 DUE 发生率极低,导致难以在现有 DDR5 样本中直接测量该系统对最终系统崩溃的绝对预防率。

A1 主要贡献

本文针对 DRAM 技术缩减带来的可靠性挑战,提出了一套精细化的 DRAM 故障分类方法和相应的内存故障管理策略。研究的核心目标是建立一个不依赖于 DRAM 类型和技术节点的现场可靠性管理系统,并特别关注了首次集成片上 ECC (IDECC) 的 DDR5 DRAM 的错误行为。

核心问题与研究目标:

  1. 提出精细化的故障分类方法: 传统方法通常不考虑 DIMM 和 DRAM 的体系结构,导致分类不够精确。本文的目标是提出一种基于 DRAM 层次结构和故障原因的精细化分类方法,适用于 DDR4 和 DDR5 RDIMM。
  2. 表征 DDR5 的错误行为: DDR5 是首款集成 IDECC 的服务器内存,其错误行为与前代产品不同。本文旨在引入一种方法来表征 DDR5 的错误行为。
  3. 建立故障类型与 RAS 行为的映射: 根据严格的 DRAM 故障分类,定义一套规则,将每种故障类型映射到最有效的内存 RAS (可靠性、可用性、可服务性) 行为。
  4. 实现安全的现场管理系统: 提出并实现一个系统,能够安全地共享 DRAM 领域知识,并应用于现场 DRAM 可靠性管理。

创新点与关键洞见:

这些发现为 DRAM 故障的诊断和缓解提供了宝贵的见解,并为未来内存系统的 RAS 功能开发提供了信息。

A3 背景知识

2.1 术语

2.2 DRAM 模块架构

本节描述了 DDR4 和 DDR5 DRAM 的模块架构,为理解我们的 DRAM 故障分类方法提供必要的背景。

图1:DDR4 和 DDR5 RDIMM 架构
图1:DDR4 和 DDR5 RDIMM 架构

3 深入理解 DRAM 设备架构以识别精确的故障位置

要根据内存控制器观察到的显现错误来识别哪个 DRAM 电路组件存在故障,必须了解工业界的 DRAM 设备架构,这使我们能够确定 DRAM DQ 与导致在 DRAM DQ 处观察到的错误的故障 DRAM 电路组件之间的连接。本节首先描述两种代表性的工业界 DDR4 DRAM 设备架构。其次,描述一种工业界 DDR5 DRAM 设备架构。尽管工业界已开始部署 DDR5 DIMM,但 DDR4 DRAM 设备的架构与 DDR5 DRAM 设备的架构相似,并且数百万计的 DDR4 DIMM 已经部署并将至少在未来几年内继续使用。

3.1 DDR4 x4 DRAM

图2:DDR4 x4 DRAM 设备架构
图2:DDR4 x4 DRAM 设备架构
图3:DDR4 x4 DRAM DQ 和 SWD 之间的映射以及故障边界
图3:DDR4 x4 DRAM DQ 和 SWD 之间的映射以及故障边界

3.2 DDR5 x4 DRAM

图4:DDR5 x4 DRAM 架构
图4:DDR5 x4 DRAM 架构
图5:JEDEC 标准中 DDR5 x4 DRAM DQ 和 SWD 之间的映射以及故障边界
图5:JEDEC 标准中 DDR5 x4 DRAM DQ 和 SWD 之间的映射以及故障边界

A2 方法细节

本节介绍了一种用于对 DRAM 故障进行分类的方法。我们将 DRAM 故障定义为“一个包含在特定时间段(观察期)内发生的所有错误,与 DRAM 层次结构对齐,并具有自身时间行为模式的分类”。我们的分类方法基于两个基本轴:错误的空间分布和错误的时间行为。错误的空间分布通过将物理地址(PA)转换为相应的 DRAM 地址(DA)来分析。然后根据 DIMM 中的层次结构进行分类,以识别故障位置。错误的时间行为根据错误在显现后持续的时间及其发生频率进行分类。这种分类有助于我们推断故障原因并预测未来的错误趋势。

我们在 §4.1、§4.2 和 §4.3 中详细解释了我们提出的分类方法。随后,在 §4.4 中讨论了选择观察期的理由。

4.1 DDR4 DRAM 中的空间故障分类

图6:有界故障的定义
图6:有界故障的定义
图7:有界故障可视化
图7:有界故障可视化
  1. SA 故障: 当错误出现在一个 RA 和一个 CA 上时分类。有两个子类:SB (#error bit locations=1) 和 SAm (#error bit locations>1)。
  2. COL 故障: 当错误出现在多个 RA 和一个 CA 上时分类。有 4 个子类:BL (#error bit locations = 1, #$N_{MAT}$ = 1, #$N_{MAT}$= 1), BLSA (#error bit locations = 1, #$N_{MAT}$ = 2, adj $N_{MAT}$, #$N_{MAT}$= 1), CSL (#error bit locations > 1, #$N_{MAT}$ > 2, #$N_{MAT}$= 1), 和 Cpost (用于 DDR5 DRAM)。
  3. ROW 故障: 当错误出现在一个 RA 和多个 CA 上时分类。有 3 个子类:SWL (#$N_{MAT}$= 1), SWD (#$N_{MAT}$= 2, adj $N_{MAT}$; 如图 7a 所示), 和 Rpost (其他)。
  4. MROW 故障: 当错误出现在具有特定模式的多个 RA 和多个 CA 上时分类。有 5 个子类:MWLb (#$N_{MAT}$ ≤ 2, #$N_{MAT}$ = 1, adj $N_{MAT}$, #faulty rows ≤ 4, #interval= 2; 如图 7b 所示), MWLub (#$N_{MAT}$> 2, #$N_{MAT}$ = 1, #faulty rows ≤ 8, #interval= 1), EAWLb (#$N_{MAT}$ ≤ 2, #$N_{MAT}$ = 1, adj $N_{MAT}$, #faulty rows = 2, #interval= 8; 如图 7c 所示), EEWLb (#$N_{MAT}$ ≤ 2, #$N_{MAT}$ ≤ 2, adj $N_{MAT}$, adj $N_{MAT}$, #faulty rows ≥ 2, #interval= 8; 如图 7d 所示), 和 EEWLub (#$N_{MAT}$> 2, #$N_{MAT}$ ≤ 2, adj $N_{MAT}$, #faulty rows ≥ 2, #interval = 8)。
  5. MAT 故障: 当错误出现在多个 RA 和多个 CA 上时分类。有 6 个子类:MR1C (#$N_{MAT}$ ≤ n; 取决于替换架构, #$N_{MAT}$ = 1, #faulty rows ≤ 2), MR1R (#$N_{MAT}$ ≤= 2, #faulty rows ≤ 2), MR2b (#$N_{MAT}$ ≤ 2, adj $N_{MAT}$), MRMC1b (#$N_{MAT}$= 1, #$N_{MAT}$ ≥ 1), MR2post (#$N_{MAT}$ ≥ 1, #$N_{MAT}$ ≤ 2), 和 MRMpost (其他)。

  6. Inter-bank 故障 当错误在单个 DIMM 内的多个 bank 之间显现时,它们被归类为 inter-bank 故障。尽管这些故障的发生频率远低于 intra-bank 故障,但也能观察到与 DIMM 层次结构相关的错误边界。这类故障通常难以通过测试重现,但确实存在。根据经验观察,inter-bank 故障分为两大类:单芯片故障(Single-die faults)和多芯片故障(Multiple-die faults)。单芯片故障有两个子类:数据线故障(Data-line faults)和多 bank 故障(Multiple-bank faults)。数据线故障是由 bank 之间共享的数据线结构引起的故障,而多 bank 故障是可以影响多个 bank 的故障。此外,多芯片故障有 3 个子类:DIMM-IO 故障、Rank 故障和 DIMM 故障。DIMM-IO 故障涉及 DIMM 内 rank 之间共享的 DQ 通道。Rank 故障发生在 DIMM 的同一 rank 内。最后,DIMM 故障是影响 DIMM 内多个 rank 的故障。

4.2 DDR5 DRAM 中的空间故障分类

4.3 时间故障分类

图8:时间故障分析过程
图8:时间故障分析过程

4.4 对观察期的考量

图9:不同观察期的分布
图9:不同观察期的分布

A4 实验环境

表1: 观察到的设备详情
表1:观察到的设备详情

A4 实验结果

5.2 DDR4 x4 RDIMM

表2: 设备 A 和 B 的 Intra-bank 故障 (T: 瞬态, S: 偶发性, I: 间歇性, P: 永久性)
表2: 设备 A 和 B 的 Intra-bank 故障

图10: (无)有界故障随时间分类变化
图10: (无)有界故障随时间分类变化
图11: 检测到 DUE 风险后随时间的可预防 DUE 率
图11: 检测到 DUE 风险后随时间的可预防 DUE 率

5.3 DDR5 10x4 RDIMM

图12: 基于 DDR4 数据生成伪 DDR5 数据
图12: 基于 DDR4 数据生成伪 DDR5 数据
图13a: DDR4 到伪 DDR5 的空间 DRAM 故障转换
图13a: DDR4 到伪 DDR5 的空间 DRAM 故障转换
图13b: 图 13a 蓝框内 DDR4 到伪 DDR5 转换期间的故障转换图
图13b: 图 13a 蓝框内 DDR4 到伪 DDR5 转换期间的故障转换图

表3: 设备 C 和伪 DDR5(由设备 B 仿真)的 Intra-bank 故障分类结果
表3: 设备 C 和伪 DDR5(由设备 B 仿真)的 Intra-bank 故障分类结果

表4: 设备 C 和 D 的 Intra-bank 故障分类
表4: 设备 C 和 D 的 Intra-bank 故障分类

A7 补充细节

6 DRAM 故障分析器 (DFA): 一种共享领域知识的方法

6.1 DFA 和 DFA 控制代理

图14:DFA 示意图
图14:DFA 示意图

6.2 内存 RAS 行为

表5: 每种 DRAM 故障的内存 RAS 行为
表5:每种 DRAM 故障的内存 RAS 行为

6.3 日志采样频率的影响

表6: 基于日志质量的 RAS 行为比较
表6:基于日志质量的 RAS 行为比较

A5 结论

本文建立了一套基于 DIMM 层次结构和故障错误行为的精细化 DRAM 故障分类方法。通过广泛的现场数据分析,我们验证了该分类方法对 DDR4 x4 和 DDR5 10x4 RDIMM 均适用。

我们方法的有界故障识别能力揭示了大多数现场 DRAM 故障局限于 2×2 相邻的 MAT 内,并且存在典型的故障 RA 模式。我们还提出了一种理解现场 DDR5 10x4 RDIMM 故障的方法,这是首款在服务器系统中使用 IDECC 的 DRAM,并基于此分类提出了选择合适 RAS 行为的框架。通过对比具有相同技术节点的 DDR4 x4 和 DDR5 10x4 RDIMM 的现场 DUE 率,我们得出结论,DDR5 DRAM 上的 IDECC 充当了有效过滤掉次要错误的良好过滤器。

随着最近的服务器系统尝试采用 LPDDRx 内存以应对功耗挑战,确保其可靠性尤为关键,因为 LPDDRx 和用于 AI GPU 系统的 HBMx 缺乏 rank 操作【索引32, NVIDIA GH200 Grace Hopper Superchip, 2023; 33, NVIDIA GB300 NVL72, 2024; 34, NVIDIA Grace, 2025】。我们的研究为实现 RAS 功能提供了见解,旨在对这些 DRAM 的有界故障实现高效的纠正能力【索引2, LPDDR4, 2014; 3, LPDDR5, 2019; 5, HBM3, 2022; 17, HBM3 RAS, 2021; 26, An 8.5-Gb/s/Pin 12-Gb LPDDR5 SDRAM, 2021; 37, A 3.2 Gbps/pin 8 Gbit 1.0 V LPDDR4 SDRAM, 2015; 38, A 192-Gb 12-High 896-GB/s HBM3 DRAM, 2022; 39, A 16 GB 1024 GB/s HBM3 DRAM, 2023; 40, A 16 GB 1024 GB/s HBM3 DRAM, 2022】。