H06 — How Memory Module Gold Fingers Are Connected: PCB Traces, Impedance Control, and DQ Signal Integrity
Key Insight: Invisible trace lengths determine visible system stability.
Memory PCB Structure
A memory module (DDR DIMM) is an independent PCB filled with signal traces and power planes.
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 延迟差)
- 不同组之间不需要匹配(因为分别对应不同的时钟域)Impedance Control: Why Memory Modules Need Specific Trace Widths
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 Data Signals and DQS Strobe Signals
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 的相位关系需要校准Serpentine Traces and Length Matching
为了保证长度匹配,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 Power and 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 数量不同)Design Challenges of Motherboard Memory Traces
主板(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 小时稳定运行,对信号完整性的要求更高。Summary
- Memory PCB: 6-8 layers; signal plane / power plane / ground plane separated
- Impedance Control: Single-ended 90 ohms, differential 100 ohms; determined by trace width and dielectric thickness
- DQ/DQS: Data lines and strobe signals; different directions for read/write; write leveling calibration (DQS vs CK)
- Serpentine Traces: Length matching within same signal group (Byte Lane) to within <0.2mm
- VTT Power: 0.6V = VDDQ/2; serves as signal reference voltage; requires large copper pour area
- ODT: On-Die Termination, 50-ohm; internal termination resistor; controllable on/off
Next (H07): How is DDR power consumption calculated? IDD current parameters, refresh power, active power, and why higher-frequency modules generate more heat.
Comments