CUDIMM 和 CKD:6400 以上为什么要在条子上加时钟驱动
DDR5 消费级平台在 6400MT/s 附近遇到一道坎。颗粒本身还能跑,问题出在时钟送不进去。
时钟是最先撑不住的那根信号
内存控制器输出的差分时钟要走过主板走线、插槽、条子走线,最后到达每颗颗粒。频率越高,这条路径上的插入损耗、反射和抖动累积得越明显。到了 6400 以上,时钟边沿的抖动已经吃掉了相当一部分采样窗口。
UDIMM 没有 RCD,命令地址和时钟都是直连,所以消费级平台首先撞墙。服务器 RDIMM 因为有 RCD 做重驱动,这个问题反而不突出。
CKD 做的事就是重新生成时钟
CKD 是 Clock Driver。它放在内存条上,接收控制器送来的已经劣化的时钟,锁定后重新生成一个干净的时钟输出给颗粒。抖动被重置,走线损耗被补偿。
装了 CKD 的 UDIMM 叫 CUDIMM,SODIMM 版本叫 CSODIMM。它们在物理和电气上仍然是 UDIMM/SODIMM 规格,只是多了这一颗芯片。
兼容性要留意
CUDIMM 支持两种模式:走 CKD 的正常模式,和绕过 CKD 的 bypass 模式。老平台不认识 CKD,会用 bypass 跑,此时频率上不去,通常回落到 5600 或更低。
实际遇到的情况是用户买了 CUDIMM 插在旧主板上,发现频率还不如预期,以为条子有问题。这不是故障,是模式回落。判定之前先确认平台是否支持 CKD 以及 BIOS 版本。
测试上多了一个失效源
CKD 是有源器件,会发热,也会坏。它的失效表现有几种典型样式:
- 整条完全不认,因为颗粒收不到时钟;
- 低频正常、高频报错,CKD 锁相在高频段不稳;
- 温度升高后随机出错,CKD 的 PLL 在高温下抖动变大。
第三种最难查,因为常温复测正常。做 CUDIMM 的高温压测时,把温度台阶做细一些,从 70℃ 到 95℃ 分几段跑,能把 PLL 的温度敏感点找出来。
一句实用建议
CUDIMM 上的 CKD、PMIC、SPD Hub 三颗有源芯片,加上颗粒,等于一根条上有四类温度特性不同的器件。用单一温度点做筛选,一定会漏。分段升温、每段都跑满负荷,是目前比较可靠的做法。