SPD:内存条上那颗最容易被忽略的小芯片

拆开一根内存条,颗粒之外有个不起眼的小芯片,八个脚,靠近金手指。那是 SPD,Serial Presence Detect。整根条的身份信息都在里面。

开机时主机先读它

主机上电后,BIOS 通过 I2C(DDR5 改成 I3C)去读 SPD,拿到容量、rank 数、颗粒组织、支持的频率和一整套时序参数,然后据此配置内存控制器。读不到或者内容不合法,机器直接不开机或者报内存错误。

SPD 里还有厂商标识、序列号、生产周期、模组料号。做质量追溯、判断是否同批次,靠的就是这些字段。

DDR5 把它升级成了 SPD Hub

DDR5 的这颗芯片不只存数据,还兼做总线桥。主机侧走 I3C,条上走本地 I2C,SPD Hub 在中间转发,同时挂着温度传感器和对 PMIC 的访问通道。

这带来一个实际后果:SPD Hub 坏了,条子不是"参数读不到"这么简单,可能整根条完全不被识别,或者温度上报异常导致系统持续降频。做故障定位时不要只怀疑颗粒。

它可以被改写,这就是问题所在

SPD 的内容是可编程的。正规厂家出货时写入并做写保护,但保护是可以绕过的。二手市场上常见几种手法:

  • 把低频颗粒的 SPD 改成高频参数,标称 6000 实际颗粒只到 4800,跑一会儿就报错;
  • 改写厂商标识和料号,把白牌条包装成品牌条;
  • 抹掉生产周期,让人看不出实际年份;
  • 把降级品的容量或 rank 信息改掉,掩盖坏颗粒被屏蔽的事实。

这类条子在常温下跑基础测试往往能通过,因为改的是描述而不是硬件。要识别只能靠交叉验证:把 SPD 声称的参数和颗粒丝印、实测边界能力、生产周期一致性对照起来看。矛盾会暴露出来。

做检测时值得固化的几个动作

  • 完整 dump SPD 原始字节并存档,不只记录解析后的容量频率;
  • 检查写保护状态,未加保护的条子标注出来;
  • 比对 SPD 标称频率与实测可稳定运行频率,差距过大直接降级;
  • 同一批次条子的序列号和生产周期做分布检查,杂乱说明是拼凑货。

一根条子值不值它的价格,SPD 里的信息和实测结果对不对得上,比任何外观描述都实在。