H06 —— 内存条的金手指是怎么连接的:PCB 走线、阻抗控制和 DQ 信号完整性
金句:看不见的走线长度,决定了看得见的系统稳定性。
内存 PCB 的结构
内存条(DDR DIMM)是一块独立的 PCB,上面布满了信号走线和电源层。
DDR4 UDIMM PCB 结构(6 层或 8 层):
Layers:
Layer 1(Top):信号层,元器件和 DQ/DQS 信号走线
Layer 2:地平面(Ground Plane)
Layer 3:电源层(VDD)和信号走线
Layer 4:信号层(地址/命令走线)
Layer 5:电源层(VTT)和信号走线
Layer 6(Bottom):信号层,DQ 信号走线
关键走线:
- 数据线(DQ):64 条(×8 颗粒)
- 数据选通(DQS/DQS#):9 对(每 8 DQ 一个 DQS)
- 地址/命令线:51 条(BA/A/CKE/CS/ODT 等)
- 时钟线(CK/CK#):2 对
- 电源/地:多个层的大面积铺铜
走线长度控制(长度匹配):
- 同一组 DQ(Byte Lane)内的 8 条 DQ + 1 对 DQS,长度必须匹配
- 误差 < 0.2mm(高速下,0.2mm = ~1ps 延迟差)
- 不同组之间不需要匹配(因为分别对应不同的时钟域)阻抗控制:为什么内存条要用特定的走线宽度
PCB 走线的阻抗(Impedance):
阻抗 Z = sqrt(L/C)
L = 走线电感,C = 走线电容
取决于:线宽、介质厚度、介电常数
DDR 信号要求:
- 单端信号(DQ/地址):90 Ω ± 10%
- 差分信号(DQS/CK):100 Ω ± 10%
为什么需要特定阻抗?
- 阻抗不匹配 → 信号反射 → 信号质量下降 → 误码率上升
- 高速 DDR 信号,反射会严重影响信号完整性
内存条 PCB 走线设计:
- 走线宽度:0.1mm~0.15mm(由 PCB 厂商控制)
- 介质厚度:100~130 μm
- 介电常数:4.2~4.5(FR4 材料)
通过调整线宽和介质厚度,确保阻抗 = 90 Ω(单端)或 100 Ω(差分)DQ 信号和 DQS 选通信号
DQ(Data)和 DQS(Data Strobe)的关系:
DQS 的作用:
- DQS 是数据选通信号,类似于时钟
- 数据(DQ)和 DQS 同步传输,接收端用 DQS 采样 DQ
┌─────┐ ┌─────┐
│ DQ │ ══ │ │ 数据在 DQS 的上下沿被采样
│ │ │ │
└─────┘ └─────┘
↕ ↕
DQS ───── DQS ───── 采样时刻
读写时的 DQS 方向不同:
- 写操作(CPU → DRAM):内存控制器发送 DQS
- 读操作(DRAM → CPU):内存颗粒发送 DQS
这就是为什么 DDR 有"写前拍"(Write Leveling)——
DQS 和 CK 的相位关系需要校准蛇形走线和长度匹配
为了保证长度匹配,PCB 走线会用"蛇形"(Serpentine):
正常走线:──────────────────────────────
蛇形走线:──┐ ┌──┐ ┌──┐ ┌──┐ ──────
└──┘ └──┘ └──┘ └──┘
同一组信号内:
- 8 条 DQ 信号,走线长度误差 < 0.2mm
- 1 对 DQS,走线长度误差 < 0.2mm
- DQ 和 DQS 之间的时序关系:DQ 相对 DQS 的延迟 < 0.1UI(Unit Interval)
不同组之间:
- 不需要长度匹配(Byte Lane 0, 1, 2... 之间独立)
举例:DDR4 的 Byte Lane 0(对应 DQ[0:7]):
- DQ[0]~DQ[7] 之间长度差 < 0.2mm
- DQS0/DQS0# 之间长度差 < 0.2mm
- DQS0 相对 DQ[0]~DQ[7] 的延迟可调(在内存控制器端)VTT 电源和 ODT
DDR 系统的特殊电源:VTT
VTT(Termination Voltage)= VDDQ / 2 = 0.6V(DDR4)
为什么需要 VTT?
- DDR 信号是"半幅度"信号
- 逻辑"1" = 0.6V + 0.3V = 0.9V(相对 VTT)
- 逻辑"0" = 0.6V - 0.3V = 0.3V(相对 VTT)
- 接收端以 VTT 为参考,判决高低电平
VTT 走线:
- VTT 电源层需要大面积铺铜(降低阻抗)
- VTT 电流较大(每根 DQ 线有 ~3mA)
- 主板上通常有专门的 VTT 稳压器(VTT Regulator)
ODT(On-Die Termination):
- 内存颗粒内部的终端电阻(50 Ω)
- 通过 ODT 引脚控制开/关
- 写操作时,DRAM 开启 ODT 接收数据
- 读操作时,DRAM 关闭 ODT,控制器端需要Termination
内存控制器端的 ODT:
- 控制器也可以开启 ODT
- 通过设置寄存器,控制每个 DQ 的Termination
- 用于匹配不同负载(DIMM 数量不同)主板内存走线的设计挑战
主板(Motherboard)内存走线的挑战:
1. 多条 DIMM 插槽的走线分支:
- 内存控制器到插槽 A(走线长度 X)
- 内存控制器到插槽 B(走线长度 Y)
- 分支点处的信号反射需要控制
2. 信号完整性分析:
- 高速信号(2400~6400 MT/s)需要仿真
- 眼图(Eye Diagram)分析:找到最优采样点
- 串扰(Crosstalk):DQ 之间相互干扰
3. 层叠(Stack-up)设计:
- 主板通常 6~8 层
- 需要合理分配信号层/电源层/地层
- 信号层不能太靠近电源层(噪声干扰)
4. 温度影响:
- PCB 材料随温度膨胀/收缩
- 走线长度变化 → 阻抗变化
- 高速 DDR 在高温下可能不稳定
这就是为什么服务器主板通常有更严格的内存设计规范——
服务器需要 7×24 小时稳定运行,对信号完整性的要求更高。总结
- 内存 PCB:6~8 层,信号层/电源层/地层分离
- 阻抗控制:单端 90 Ω,差分 100 Ω,走线宽度和介质厚度共同决定
- DQ/DQS:数据线和选通信号,读写方向不同,写前拍校准(DQS vs CK)
- 蛇形走线:同组信号(Byte Lane 内)长度匹配误差 < 0.2mm
- VTT 电源:0.6V = VDDQ/2,作为信号参考电压,需要大面积铺铜
- ODT:On-Die Termination,50 Ω,内存颗粒内部Termination电阻,开/关可控
下篇预告(H07):DDR 的功耗是怎么计算的?IDD 电流参数、刷新功耗、Active 功耗、以及为什么高频率内存条发热更大。
关注公众号「AI不着急」,回复”资料”获取内存学习路线图。
评论