
DDR5 CKD 到底是啥?一篇文章讲透它在高频内存系统中的关键作用(附与RCD对比)
不知道大家注意到没有,最近传说中的高频版内存条:CUDIMM,已经陆续开始上市了。我之前介绍过这种内存条:
台式机内存条的新技术CUDIMM是什么?今天主要介绍一下它的核心器件:CKD的详细内容、它和RCD的区别,它插在老主板上有没有问题,以及没有它为什么还可以上8000、9000甚至10000。
为什么需要CKD
我们先回顾一下传统的 UDIMM(非缓冲单条内存,也就是我们普通消费者电脑里的288pin的普通内存条)里,CPU 直接把 时钟 + CA + CS + Data 送到DIMM内的DRAM 颗粒上。这在低频内存上,是没有问题的,但随着内存频率越来越高,时钟信号这个所有时序的“参考地平线”,开始变得不再牢固,会带来时钟抖动、skew 导致训练失败、系统不稳定的问题。
所以,当频率达到 6400 MT/s 及以上 时,Clock 质量成为系统时序 closure 的第一桩难事。JEDEC 要求 UDIMM 在此频率区间也要加时钟驱动器(CKD)来提升信号完整性。CKD可以在DIMM端局部重新驱动时钟,控制 Clock 输出相位、抖动,来提升 Rank 之间和 Channel 之间的时钟一致性。可以简单理解为:CKD 是 UDIMM 级别的 Clock 重驱动器,专注于“提升 DDR5 时钟信号的质量”。我们可以类比为PCIe信号的ReDriver或者ReTimer这些信号中继器。
JEDEC标准DDR5 CKD 01 JESD82-531B.01[1](2025-05 发布),定义用于CUDIMM、CSODIMM、CAMM应用的 DDR5 时钟驱动芯片(CKD),专责重新驱动 DCK_t / DCK_c (来自CPU的CK_t / CK_c)差分时钟:

这是它的逻辑框图:

可以看出,它的主要作用,是将来自Host(内存控制器或测试设备)的输入差分时钟 DCK_t/DCK_c(从CPU的CK_t / CK_c来),通过内部 PLL(或直接旁路)对时钟整形、降抖动、减少偏斜,整形成洁净的输出QCK_t/QCK_c。与RCD不同,它不参与 CA/CS 的缓冲或转发。
它支持三张种工作模式
- PLL Bypass:最低延迟,直接转发。这是默认方式,也就是旁路掉PLL,向前兼容性好。
- Single PLL:单 PLL 锁相降抖动,稳定时间 ≤ 1.0 µs(t_STAB)。
- Dual PLL:双 PLL 分别处理 DCK_A / DCK_B,隔离性更佳
和其他DDR5内存条上的小料一样,它也支持 I²C(≤ 1 MHz)与 I3C Basic(≤ 12.5 MHz),地址由 ZQ 电阻决定 LID(240 Ω → LID=1011;480 Ω → LID=0100),可在运行中改 HID(仅 I²C 模式)。
看到DCK_t/DCK_c和QCK_t/QCK_c,搞服务器内存的同学肯定看起来非常眼熟,是的,名字和RCD前端和后端的Clock引脚一样的。RCD缓冲了CA + Clock + Chip select,CKD则不去寄存 CA / Chip Select,仅提升 时钟驱动能力与完整性,不会影响协议本身,只是让更高频率成为可能。
结论
有些同学好奇了,现在有些没有CKD的超频条,也可以到8000MT/s,甚至是9000和10000,为什么?JEDEC 定义的标准频率只是官方兼容性、互操作性基准,厂商在 XMP/EXPO 下可以定义更多频率等级。很多内存厂商通过 bin(分选颗粒)、更大时钟驱动器、板级优化等方式把 UDIMM 型内存提升到这么高,这些都是 XMP/EXPO 超频方案,而不是 JEDEC base spec。因此你看到的 8400/9000 并不是 JEDEC 标准,而是厂商扩展规格,它们的兼容性都是有瑕疵的。
而必须要CKD,才能确保时钟完整性足够高、训练可收敛、系统稳定运行,不需要借助超频,而是基本就能达到更高的频率。所以,如果你的 DDR5 UDIMM 目标频率是 6400MT/s 及以上,就推荐或者要求加 CKD,特别是在标准兼容性、内存训练稳定性要求高时,更是这样。
目前 CUDIMM 的原生支持主要在 Intel 新一代平台更完善,而 AMD 平台的支持在不同 BIOS / 芯片组上仍在逐步适配中(如 EXPO 1.2 的引入增加支持力度)。不支持 CUDIMM 的老旧主板也可以装上 CUDIMM 条子,但会被 当成普通 UDIMM 运行(PLL Bypass模式)。实际表现可能不稳定或者降级频率。
欢迎大家关注本专栏和用微信扫描下方二维码加入微信公众号"UEFIBlog",在那里有最新的文章。关注公众号,留言“资料”,有一些公开芯片资料供下载。
