PPR:内存条出厂之后还能修

过去颗粒封装完成后发现坏行就只能报废。DDR4 之后规范里加了 PPR,Post Package Repair,让封装后的修复成为可能。

两种修复方式

hPPR 是硬修复。通过特定命令序列烧断片上的熔丝,把失效行永久重映射到备用行。修完之后掉电也保持,效果等同出厂修复。代价是熔丝烧了不能回退,而且备用资源数量有限。

sPPR 是软修复。用寄存器做临时映射,掉电就失效。它的用途是应急:服务器运行中检测到坏行,先软修复顶住,等到维护窗口再做硬修复或者换条。

可用次数很有限

这一点经常被误解。PPR 的备用行数量是设计时预留的,每个 bank group 通常只有一行或几行的额度。晶圆级测试已经用掉了大部分冗余资源,留给 PPR 的只是很小一部分。

所以 PPR 不是"内存坏了都能修",它的定位是修复少量、孤立的行失效。如果一颗颗粒有多处失效或者整个 bank 有问题,PPR 帮不上。

实际能用在哪

  • 模组厂产线上的挽救。装好的条子测出单行失效,修复后重测通过,避免整条报废,对成本影响很直接;
  • 数据中心的现场维护。ECC 报出某地址反复纠错,定位到具体行做修复,比停机换条便宜;
  • 返修流程。老条子出现零星坏行,修复后降级使用。

风险和该守的规矩

PPR 用不好会变成掩盖问题的工具。几条实际经验:

  • 修复前先判断失效是不是孤立的。如果坏点分布成行列相关的图案,说明是译码或外围电路问题,修了也白修;
  • 修完必须完整复测,包括高温。有些失效在修复后换个温度又出现在别处,说明颗粒整体余量已经不足;
  • 记录修复次数和位置。一根条修过几行、修在哪,应该是可追溯的信息。二手流通时这个信息应该披露;
  • 反复修复的条子不适合再进入关键业务场景。能修不等于健康。

二手市场上的灰色用法

拿故障条做 PPR 修复后当良品出售,是存在的做法。修完确实能通过基础测试,但备用资源已经耗尽,余量所剩不多,上机之后再出问题就没有退路了。

判定这类条子的办法是查询 PPR 资源使用状态(部分颗粒支持读取),再结合温度加压下的裕量扫描。修过且余量小的条子,在高温边界扫描里会表现得明显偏弱。

把这两项写进检测报告,是把二手条从"赌运气"变成"可定价"的关键一步。