Notes about Post Package Repair(PPR)
文章目录
本文将mark下Post Package Repair(PPR)的相关notes。
What
PPR(Post Package Repair)是一种 DRAM内部的修复(repair)机制,通过备用 Row(spare row)替换故障 Row,使DRAM继续可靠工作。
简单理解:
PPR = DRAM发现某个row永久失效后,把该row映射到备用row。
例如:
1 | DRAM Bank |
执行PPR:
1 | Row2 ----------+ |
之后:
1 | 访问 Row2 |
对上层:
- CPU不知道
- OS不知道
- 应用不知道
访问地址保持不变。
PPR属于Memory Sparing的一种
这里需要特别强调:
PPR不是独立于Memory Sparing之外的技术,而是Memory Sparing的一种具体实现。
层次关系:
1 | Memory Sparing |
所以:
- PPR:row级memory sparing
- Rank sparing:rank级memory sparing
Why
DRAM故障通常是局部永久故障
DRAM长期运行后可能出现:
- bad cell
- bad row
- weak row
错误趋势:
1 | 正常 |
如果不处理:
1 | Bad Row |
PPR提供:
1 | 发现坏Row |
ECC无法解决所有DRAM故障
ECC主要解决bit error
例如:
1 | single bit flip |
但是整个Row失效属于更大粒度故障:
1 | Row failure |
因此需要:
- ECC:纠错
- PPR:修复/替换坏资源
How
PPR依赖三个部分:
1 | CPU |
Step 1:发现故障Row
来源可能包括:
- ECC error统计
- Memory Patrol Scrub
- DRAM内部检测
- RAS软件策略
例如:
1 | Bank 3 |
判断:
1 | Row 100可能永久故障 |
Step 2:发送PPR命令
Memory Controller发送repair command:
1 | Repair(Row100) |
DRAM内部:
1 | Row100 |
建立映射关系。
Step 3:后续访问自动重定向
之后:
1 | CPU访问: |
实际:
1 | Bank3 / Spare Row |
软件无感知。
分类
Intel Xeon 6 RAS文档中提到:
supports both runtime soft Post Package Repair (sPPR) and power-up hard Post Package Repair (hPPR)
也就是说:
- sPPR:运行时修复
- hPPR:启动阶段永久修复
Hard PPR (hPPR), for a permanent row repair, and Soft PPR (sPPR), for a temporary row repair.
hPPR
特点:永久修复
流程:
1 | PPR |
适合:
- 永久坏row
- 长期修复
sPPR
特点:临时修复
流程:
1 | 运行期间发现坏row |
适合:
- runtime recovery
- 临时避免故障
PPR和Memory Sparing区别
二者关系:
PPR是Memory Sparing的一种。
区别主要在粒度:
| PPR | Rank/DIMM Sparing | |
|---|---|---|
| 粒度 | Row | Rank/DIMM |
| 位置 | DRAM内部 | Memory Controller/平台 |
| 备用资源 | Spare Row | Spare Rank/DIMM |
| 控制者 | DRAM内部repair logic | Memory Controller/RAS firmware |
PPR vs ADDDC vs Chipkill
它们解决不同问题:
1 | DRAM Reliability |
简单理解:
| 技术 | 解决的问题 |
|---|---|
| ECC | bit错误 |
| Chipkill | chip/device故障 |
| ADDDC | 预测device故障并增强保护 |
| PPR | 替换坏row |
总结
Post Package Repair(PPR)是DDR5时代重要的DRAM RAS技术,本质是一种row-level Memory Sparing:当DRAM某个row出现永久故障时,利用备用row建立地址重映射,使坏row被透明替换,从而避免故障升级为系统错误。DDR5进一步支持sPPR(运行时临时修复)和hPPR(永久修复)。
参考资料:
- Unification of RAS feature control - Enhancing EDAC
- Intel® Xeon® 6 Processors with Performance-cores (P-cores): Reliability, Availability, and Serviceability
- Micron® DDR5 SDRAM: New Features
- Post Package Repair (PPR) Types and SEL Events on Purley and Whitley Platforms
- Post Package Repair (PPR)