边带 ECC 与传统 ECC:DDR5 的纠错分层怎么理解

两层纠错,各管一段

DDR5 的纠错是分层的:颗粒内有 On-die ECC,处理单元级别的软错误;颗粒到内存控制器之间,仍保留传统的边带(side-band)ECC,即每 64 位数据配 8 位校验,做 SECDED。两层串起来,颗粒内部先稳一遍,总线再稳一遍。

分层不等于“就不用测”

分层设计的目标是可用性,不是可追溯性。两层纠错都在“出错之后”动作:颗粒内部消化一部分,剩下的上报给总线 ECC,再严重的交给系统。整条链路没有任何一环会把“这条内存今天纠正了多少次、余量还剩多少”主动报给采购方或运维。

换句话说,分层纠错提高了“带病不宕机”的概率,却把“病”藏得更深。对想判断合格的人来说,这反而是麻烦:错误信号被多层吸收,等系统终于看到,往往已经接近临界。

要穿透这两层,只能在模组级用可控激励去诱发和统计错误——降一点电压、升一点温度、收紧时序,看错误率怎么变。On-die ECC 的不可见性决定了这一步绕不开。

记住一点

纠错分层是给系统兜底的,不是给来料把关的。合格判定要看“在边界条件下错多少”,而不是“默认条件下错被兜没”。

延伸阅读