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

作者/机构:
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)

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:观察到的设备详情
* 设备小时数 = DIMM 数量 x 运行小时数

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】。