芯参谋(43):DDR4_电路设计指南

DDR4 SDRAM 电路设计指南

DDR4-1600 / 1866 / 2133 / 2400 / 2666 / 2933 / 3200(PC4-12800 ~ PC4-25600)· 2 Gb ~ 16 Gb 颗粒(x4 / x8 / x16)· UDIMM / SODIMM / RDIMM / LRDIMM · POD12 · Fly-by · Write Leveling · 2D Training | 编制日期 2026-09-24 | 版本号 Rev 1.5

0 · 文档说明

适用范围

  • 本文针对 DDR4 SDRAM (JEDEC JESD79-4)的硬件电路设计,覆盖速率等级 DDR4-1600 ~ DDR4-3200 ,颗粒容量 2 Gb ~ 16 Gb ,位宽 x4 / x8 / x16。
  • 覆盖三种落地形态:板载颗粒(down device,直接焊接 FBGA) 、内存条插槽(288 pin UDIMM/RDIMM/LRDIMM、260 pin SODIMM) 、以及 3DS 堆叠封装(2H/4H/8H)。
  • 内容包含:DDR3/DDR4/DDR5 差异、封装球位、电气参数、接口与模式寄存器、三轨电源与时序、典型原理图、Bank Group 与训练机制、PCB Layout、SI 与 ODT、ESD 与可靠性、焊接生产、故障排查与检查清单。
  • 不含 :控制器 IP 寄存器全表、内存控制器微架构、具体厂商模式寄存器保留位。所有位段、时序数值一律以目标颗粒 datasheet 与主控 DDR 控制器设计指南为准。

本系列其他文档

文档 器件类型 关注重点
SPI NOR 电路设计指南 串行 NOR Flash Quad/QPI 提速、dummy cycles、XIP、DPD 低功耗
SPI NAND 电路设计指南 串行 NAND Flash 页/块管理、片内 ECC、坏块表、主机 FTL
并行NAND (PPI NAND) 电路设计指南 8/16 位并行 NAND 宽总线时序、ECC 引擎、40+ 引脚 Layout
eMMC 电路设计指南 eMMC 5.0/5.1 HS200/HS400、1.8 V VCCQ、DS 选通与等长
SD NAND 电路设计指南 贴片式 SD NAND SPI/SDIO 双模式、无休眠指令、VCC 负载开关断电
NAND MCP 电路设计指南 多芯片合封存储 多 die 与多 CE、双电源轨、HDI 扇出
并行NOR (PPI NOR) 电路设计指南 并行 NOR Flash 异步读时序、XIP、等待周期、总线扩展
PSRAM 电路设计指南 伪静态 RAM OPI/HyperBus、刷新与延迟周期、XIP 与帧缓存
DDR2 电路设计指南 DDR2 SDRAM SSTL_18、T 分支拓扑、VTT 端接、ODT
DDR3 电路设计指南 DDR3 / DDR3L Fly-by 拓扑、write leveling、动态 ODT
DDR4 电路设计指南 本文 DDR4 SDRAM POD12、bank group、DBI、2D 训练
DDR5 电路设计指南 DDR5 SDRAM 双子通道、On-DIMM PMIC、DFE、同帧 ECC
EEPROM 电路设计指南 EEPROM I²C/SPI 接口、上拉电阻与总线电容、页写与写保护

快速决策:DDR3 / DDR4 / DDR5 / LPDDR4 该怎么选

成本敏感、速率 ≤ 1866 MT/s、主控只有 DDR3 控制器 → DDR3/DDR3L(1.5 V / 1.35 V,8 bank,SSTL_15,需要外部 VTT)。主流通用、速率 2133~3200 MT/s、容量 4~64 GB → DDR4 (1.2 V + VPP 2.5 V,16 bank / 4 bank group,POD12,数据组无外部 VTT,支持 DBI/CRC/CA 校验与内部 VREFDQ 训练)。追求带宽 ≥ 4800 MT/s、单条大容量、可接受更高 BOM 与仿真成本 → DDR5(1.1 V、16n 预取、双 32 bit 子通道、模组上 PMIC、片内 ECC,但控制器与 PDN/热设计难度显著上升)。电池供电、待机功耗第一、无需插槽 → LPDDR4/LPDDR4X(VDD2 1.1 V / VDDQ 0.6 V,双 16 bit 通道,BGA 直焊,不可插拔)。

反例提醒:DDR4 的 VPP 2.5 V 是容易被遗漏的第四轨电源;把 DDR3 的 VTT 端接照搬到 DDR4 数据组会直接拉坏 POD12 眼图(数据组端接到 VDDQ,不是 VDDQ/2)。

本文数值使用约定

表中除明确标注"JEDEC 规定"外,均为典型工程取值示例 。DDR4 不同厂商、不同密度、不同速率等级的参数差异较大:上板前必须用目标型号的 datasheet 与主控控制器设计指南逐项核对,尤其是 tRFC(随密度变化)、tREFI(随温度变化)、ODT 阻值、驱动强度与 VREFDQ 训练范围。

1 · 器件基础

1.1 DDR3 / DDR4 / DDR5 关键规格对比

项目 DDR3 / DDR3L DDR4 DDR5
VDD / VDDQ 1.5 V ±0.075(DDR3L 1.35 V ±0.067) 1.2 V ±0.06(1.14~1.26 V) 1.1 V ±0.055(1.045~1.155 V)
字线升压轨 无外接(片内电荷泵) VPP = 2.5 V(+0.25 / −0.125) VPP = 1.8 V(部分器件,以 datasheet 为准)
I/O 电平标准 SSTL_15(推挽,端接到 VTT = VDDQ/2) POD12(伪开漏,接收端端接到 VDDQ) POD12 兼容电平(更低摆幅)
数据组外部 VTT 端接 需要(VTT = 0.75 V,端接电阻排) 取消,改由片内 ODT 取消,片内 ODT
预取(Prefetch) 8n 8n 16n
突发长度 BL8 / BC4 BL8 / BC4(含 OTF 动态切换) BL16 / BC8(BL32 OTF 可选)
数据速率 800 ~ 2133 MT/s 1600 ~ 3200 MT/s 3200 ~ 8800 MT/s
Bank 结构 8 bank(BA0~BA2) 16 bank = 4 bank group × 4 bank 32 bank = 8 bank group × 4 bank
Bank Group 无 有(BG0~BG1,x16 部分器件为 BG0 单bit 2 组) 有(BG0~BG2)
DBI 数据总线反转 不支持 支持(读 DBI / 写 DBI 独立使能) 支持
写 CRC 不支持 支持 支持(含链路 EDC)
命令/地址奇偶校验 不支持 支持(PAR 输入 / ALERT# 开漏输出) 支持
VREF 获取方式 外部 VREFCA / VREFDQ 电阻分压 VREFCA 外部、VREFDQ 片内训练(含 2D) 片内 + DFE 均衡
命令编码 RAS# / CAS# / WE# 独立引脚 ACT# + RAS#(A16)/CAS#(A15)/WE#(A14) 复用 同 DDR4
3DS 堆叠 2H / 4H(有限) 2H / 4H / 8H(C0/C1/C2 逻辑 rank) 支持更高堆叠
片内 ECC 无 无(DIMM ECC 需 72 bit 总线 + 控制器 ECC) 有(On-die ECC)
颗粒封装 FBGA-78(x4/x8)/ FBGA-96(x16),0.8 mm pitch 同 DDR3:FBGA-78(x4/x8)/ FBGA-96(x16),0.8 mm pitch FBGA(0.8 mm pitch,球数随厂商,约 82~104 球)
模组形态 240 pin DIMM / 204 pin SODIMM 288 pin UDIMM/RDIMM/LRDIMM、260 pin SODIMM 288 pin(引脚不兼容 DDR4)
模组端稳压 全部在主板上 全部在主板上(VPP 亦由主板提供) PMIC 移到模组上(12 V 输入)
颗粒容量 1 Gb ~ 8 Gb 2 Gb ~ 16 Gb 8 Gb ~ 32 Gb(并继续上探)

DDR4 相对 DDR3 的六项本质差别(设计时必须逐一落实)

① 电压 1.5 V→1.2 V 且新增 VPP 2.5 V ;② 电平 SSTL_15→POD12 ,端接从 VTT 改为 VDDQ;③ 数据组取消外部 VTT 端接电阻 ,改用片内 ODT(Rtt_Nom / Rtt_WR / Rtt_Park);④ 新增 Bank Group ,tCCD 拆成 tCCD_S / tCCD_L;⑤ 新增 DBI、写 CRC、CA 奇偶校验(PAR/ALERT#)、Gear-down 模式 ;⑥ VREFDQ 改为片内生成并训练(2D training:延迟 × 参考电压二维扫描)。

1.2 封装与球位定义

DDR4 颗粒沿用 0.8 mm 球距的 FBGA 封装:x4 / x8 为 78 球 ,x16 为 96 球 。封装外形常见 9 mm × 10.5 mm(78 球)与 9 mm × 14 mm(96 球),具体以 datasheet 的 package outline 为准,Layout 前必须下载对应型号的封装库与推荐焊盘(NSMD Ø0.35~0.40 mm)。

FBGA-96(x16)球位功能分区FBGA-78(x8)球位功能分区123456789ABCDEFGHJKLVPPZQREFA1(1 脚)地址/命令控制数据组123456789ABCDEFGHJVPPZQREF地址命令数据图例数据组 DQ / DQS / DQS# / DM_n / DBI_n地址命令组 A0~A17 / BA0~1 / BG0~1 / ACT#控制组 CKE / CS# / ODT / RESET# / PAR / ALERT# / TEN / C0~C2电源地 VDD / VDDQ / VSS / VSSQVPP 2.5 V 字线升压模拟/参考 ZQ、VREFCANC / 空位球注 1:上图为功能分区示意,非逐球 pin-map;实际球位顺序、NC 位置、VDD/VSS 数量请查目标型号 datasheet 的 Ball Assignments 表。注 2:球距 0.8 mm,球径典型 Ø0.40~0.45 mm(SAC305),推荐 NSMD 焊盘 Ø0.35~0.40 mm、阻焊开窗 Ø0.50 mm。注 3:A1 球位于封装左上角(凹点/斜角侧),贴片方向与丝印 1 脚标识必须一致;x16 器件比 x8 多出的球主要为 DQ8~DQ15、UDQS/UDQS#、DMU_n/DBIU_n。注 4:电源/地球(灰)占比约 40%~50%,是 PDN 低阻抗回路的主要通道,扇出时优先保证其过孔数量与就近去耦。

图 1-1 DDR4 FBGA-96(x16)与 FBGA-78(x8)球位功能分区示意图(数据组 / 地址命令组 / 控制组 / 电源区 / VPP / ZQ·VREFCA,含 A1 标记)

球位分区的工程含义
分区 主要信号 x8 球数(约) x16 球数(约) Layout 关注点
数据组 DQ0~DQ7(x16 为 DQ0~15)、DQS/DQS#(x16 为 LDQS/LDQS#、UDQS/UDQS#)、DM_n/DBI_n 20 38 点对点(板载)/ 共享总线(模组),组内等长 ±5 mil,阻抗 40 Ω 单端
地址命令组 A0~A17、BA0~BA1、BG0~BG1、ACT#、RAS#/A16、CAS#/A15、WE#/A14 26 26 Fly-by 菊花链,末端端接,分支残桩尽量短
控制组 CK/CK#、CKE、CS#(3DS 为 CS_n + C0/C1/C2)、ODT、RESET#、PAR、ALERT#、TEN 13 14 CK 为差分 80 Ω;RESET#/TEN 可加 10 kΩ 上下拉
电源地 VDD、VDDQ、VSS、VSSQ 16 18 每个电源球配一个过孔 + 就近 0.1 µF
模拟/参考 ZQ、VREFCA、VPP 3 3 ZQ 接 240 Ω ±1% 到 VSSQ,走线短而粗;VREFCA 单独铺铜并包地
NC / 保留 NC、DNU、RFU 3 3 悬空,不连任何网络,焊盘按 datasheet 处理

球位三大易错点

① VPP 误接 1.2 V 或悬空 :颗粒无法完成字线升压,表现为刷新后数据丢失或直接训练失败。

② ZQ 电阻用 5% 或 1% 但选错阻值(如 240 kΩ / 24 Ω) :ODT 与驱动强度全部失准,眼图严重闭合。必须 240 Ω ±1%(0402/0603) ,且紧靠 ZQ 球到 VSSQ,走线 ≤ 5 mm。

③ 把 NC 球当 GND 焊接:部分 NC 为内部测试点或 DNU,接地会造成内部短路或参数漂移。

1.3 关键电气参数

参数 符号 最小 典型 最大 单位 说明
器件电源 VDD 1.14 1.20 1.26 V ±5%(JEDEC 规定 ±0.06 V)
I/O 电源 VDDQ 1.14 1.20 1.26 V 需与 VDD 同源或严格跟踪,偏差 ≤ 30 mV
字线升压电源 VPP 2.375 2.50 2.75 V +0.25 / −0.125 V,电流小(典型 1~5 mA,刷新瞬时可达 10 mA)
命令地址参考电压 VREFCA 0.49 VDDQ 0.50 VDDQ 0.51 VDDQ V 需跟踪 VDDQ/2,容差 ±1%(约 ±12 mV),噪声 ≤ ±1%
数据参考电压(片内) VREFDQ 60% VDDQ 70~75% VDDQ 92.5% VDDQ V Range 1:60.0%~92.5% VDDQ;Range 2:45.0%~77.5% VDDQ,由 MR6 训练
ZQ 外部校准电阻 RZQ 237.6 240 242.4 Ω ±1%,接 ZQ 球到 VSSQ
输入高电平(DC) VIH(DC) VREF+0.065 --- VDDQ+0.3 V POD12,以 datasheet 的 AC/DC 表为准
输入低电平(DC) VIL(DC) −0.3 --- VREF−0.065 V 同上
输出驱动阻抗 Ron --- 34 / 40 / 48 --- Ω MR12:1 配置(RZQ/7、RZQ/6、RZQ/5)
片内端接 Rtt 34 40~120 240 Ω RZQ/1~RZQ/7,见 §7.1
刷新间隔(≤ 85 °C) tREFI --- 7.8 --- µs 85~95 °C 时减半为 3.9 µs
刷新周期(2 Gb / 4 Gb / 8 Gb / 16 Gb) tRFC --- 160 / 260 / 350 / 550 --- ns 随密度变化,务必按型号核对
工作壳温(商业 / 工业) TCASE 0 / −40 --- 95 / 95 °C 超过 85 °C 需启用 2× 刷新或降额
存储温度 TSTG −55 --- 100 °C 非工作状态
典型工作电流(单颗 8 Gb x8,DDR4-2400,示例值)
电流项 符号 条件 典型值 单位 电源设计用途
激活-预充电电流 IDD0 tRC = tRC(min),全 bank 轮转 45 ~ 65 mA VDD 稳态能力
预充电待机 IDD2N CKE 高,无操作 22 ~ 35 mA 待机功耗
激活待机 IDD3N 行打开,CKE 高 35 ~ 55 mA 待机功耗
突发读 IDD4R 连续读 BL8 90 ~ 140 mA VDDQ 峰值能力
突发写 IDD4W 连续写 BL8 100 ~ 165 mA VDDQ 峰值能力
刷新电流(突发) IDD5B 突发刷新 150 ~ 260 mA 刷新瞬间压降
自刷新(25 °C) IDD6N 自刷新,常温 6 ~ 12 mA 休眠功耗
自刷新(85 °C) IDD6N 自刷新,高温 20 ~ 45 mA 高温休眠功耗
VPP 电流 IPP 平均 / 峰值 1 ~ 3 / 10 mA VPP LDO 选型裕量 ≥ 50 mA

上表为量级参考,用于电源芯片选型与 PDN 目标阻抗估算;精确值必须取自目标型号 datasheet 的 IDD Specification 表,并按最坏温度、最坏速率等级取上限。

2 · 接口与协议

DDR4 的命令编码相对 DDR3 发生了结构性变化:RAS# / CAS# / WE# 与地址位 A16 / A15 / A14 复用 ,由 ACT# 引脚区分;同时新增 BG0~BG1(bank group)、PAR(命令地址奇偶校验输入)、ALERT#(开漏错误上报)、TEN(连通性测试使能)。硬件设计的第一件事是把这些信号全部连对,尤其是常常被漏掉的 PAR、ALERT#、TEN、VPP、ZQ。

2.1 信号定义全表

信号 方向 类型 x4 / x8 x16 说明与设计要点
CK / CK# 输入 差分时钟 POD 1 对 1 对 DDR4-3200 为 1600 MHz 差分;差分阻抗 80 Ω,对内等长 ±2 mil;Fly-by 时是时序基准
CKE 输入 单端 POD 1 1 时钟使能;上电后必须保持低电平 ≥ 200 µs,自刷新/掉电入口
CS#(CS_n) 输入 单端 POD 1 1 片选;3DS 器件配合 C0/C1/C2 选择物理 rank 内的逻辑 die
ACT# 输入 单端 POD 1 1 DDR4 新增;低电平时 RAS#/CAS#/WE# 有效,高电平时该三引脚复用为 A16/A15/A14
RAS# / A16 输入 复用 1 1 见命令真值表
CAS# / A15 输入 复用 1 1 见命令真值表
WE# / A14 输入 复用 1 1 见命令真值表
BG0 ~ BG1 输入 单端 POD 2 2 Bank Group 选择;决定 tCCD_S / tCCD_L,影响实际带宽
BA0 ~ BA1 输入 单端 POD 2 2 Bank 组内 bank 选择(4 个)
A0 ~ A17 输入 单端 POD 18 15~17 行/列复用;实际使用位数随密度与位宽变化,未用位为 NC;A10 用于 Auto-Precharge,A12 用于 BC4 on-the-fly
ODT 输入 单端 POD 1 1 片内端接使能;配合 MR1 Rtt_Nom / MR2 Rtt_WR / MR5 Rtt_Park
RESET# 输入 单端 POD(施密特) 1 1 低有效复位;上电时保持低 ≥ 200 µs;建议 4.7~10 kΩ 下拉 + 100 nF(可选)
PAR 输入 单端 POD 1 1 命令/地址奇偶校验位;不用时必须接固定电平(推荐 10 kΩ 下拉),不能浮空
ALERT# 输出 开漏 1 1 CRC / CA 奇偶 / 温度事件上报;必须外接 4.7~10 kΩ 上拉到 VDDQ(或 1.8 V,按 datasheet),多片时可线与
TEN 输入 单端 POD 1 1 连通性测试模式(Connectivity Test Mode);正常工作时必须 10 kΩ 下拉到 VSS
DQ I/O POD12 4 / 8 16 数据总线;40 Ω 单端,组内等长 ±5 mil
DQS / DQS# I/O 差分 POD12 1 对 2 对(LDQS/UDQS) 数据选通;差分 80 Ω;x16 分上下字节各一对
DM_n / DBI_n I/O POD12 1 2(LDM/UDM) 写数据掩码(DM 使能时)或数据总线反转(DBI 使能时),二者互斥,由 MR510/11/12 选择
TDQS_t / TDQS_c 输出 差分 x8 有 无 仅 x8 器件,用于 x4/x8 混合模组时提供端接;板载单片可关闭(MR15=0)并悬空
ZQ 参考 模拟 1 1 接 240 Ω ±1% 到 VSSQ,走线 ≤ 5 mm,不可与任何信号并行
VREFCA 参考 模拟输入 1 1 VDDQ/2(0.60 V),±1%;需 0.1 µF + 10 nF 去耦,单独走线并包地
VDD / VDDQ 电源 --- 1.2 V ±0.06 VDD 与 VDDQ 可同源,但需分别去耦
VPP 电源 --- 2.5 V(+0.25 / −0.125) 字线升压;电流小,可用 3.3 V LDO 或电荷泵;不可省
VSS / VSSQ 地 --- --- 信号回流;每个地球至少一个过孔

四个最常被漏接 / 错接的引脚

PAR :不使用时若浮空,会在 Fly-by 上引入不确定电平,且部分控制器在上电训练期间会驱动 PAR,浮空会导致 CA 校验误报。→ 10 kΩ 下拉。

ALERT# :开漏输出,无上拉则永远读不到错误,且上电自检可能卡住。→ 4.7~10 kΩ 上拉到 VDDQ,走线远离 DQS/DQ,长度 ≤ 100 mm。

TEN :浮空时噪声可能把器件带入连通性测试模式,表现为"所有 DQ 被内部上下拉、读写全错"。→ 10 kΩ 下拉。

VPP:漏接时部分颗粒仍能通过基本读写,但刷新保持能力极差,高温老化后大面积比特翻转。→ 必须与 VDD 同时甚至更早建立。

2.2 8n 预取与 Bank Group

8n 预取(Prefetch = 8n)
  • DDR4 内部阵列一次读出 8 × 总线位宽 的数据到 I/O 缓冲,再用 DDR 方式在 4 个时钟周期内送出(BL8 突发 = 8 个数据拍 = 4 tCK)。
  • 核心(阵列)频率 = 数据速率 / 8:DDR4-3200 → 核心 400 MHz,I/O 时钟 1600 MHz。
  • 这是 DDR4 能到 3200 MT/s 而核心仍停留在几百 MHz 的根本原因,也是 最小突发长度为 8(BL8) 的原因。
  • BC4(突发截断 4)只是把 8n 中的一半丢弃或按 A12 动态选择,不提升峰值效率,仅在窄访问时减少总线占用。
Bank Group(4 组 × 4 bank = 16 bank)
  • 16 个 bank 被划分为 4 个 bank group ,每组 4 个 bank。BG0~BG1 选组,BA0~BA1 选组内 bank。
  • 同组内的连续列访问受 tCCD_S (较长,典型 4 nCK)限制;跨组的连续列访问只受 tCCD_L(较短)限制。
  • 因此跨 bank group 交错访问才能真正跑满带宽;访问模式全落在同一组时,有效带宽会明显下降。
  • 控制器侧的 bank 交织策略(如 addr bit 映射)必须让连续地址落到不同 bank group。
速率等级 I/O 时钟 核心频率(8n 预取) tCK BL8 突发时长 tCCD_S tCCD_L
DDR4-1600 800 MHz 200 MHz 1.250 ns 5.000 ns 4 nCK 4 nCK
DDR4-1866 933 MHz 233 MHz 1.071 ns 4.286 ns 4 nCK 4 nCK
DDR4-2133 1066 MHz 267 MHz 0.938 ns 3.750 ns 4 nCK 4 nCK
DDR4-2400 1200 MHz 300 MHz 0.833 ns 3.333 ns 4 nCK 4 nCK
DDR4-2666 1333 MHz 333 MHz 0.750 ns 3.000 ns 4 nCK 4 nCK
DDR4-2933 1466 MHz 367 MHz 0.682 ns 2.727 ns 4 nCK 5 nCK
DDR4-3200 1600 MHz 400 MHz 0.625 ns 2.500 ns 4 nCK 6 nCK

表中 tCCD_S / tCCD_L 为典型工程取值;不同厂商、不同密度会有差异,请以目标 datasheet 的 speed bin 表为准。

2.3 命令真值表

DDR4 命令由 CS#、ACT#、RAS#/A16、CAS#/A15、WE#/A14 共同编码。关键规则:ACT# = 0 时,三个引脚为 RAS#/CAS#/WE#;ACT# = 1 时,它们被解释为地址位 A16/A15/A14。

命令 CS# ACT# RAS#/A16 CAS#/A15 WE#/A14 附加条件
MRS(模式寄存器写) L H L L L BG/BA 选择 MR0~MR6;地址位承载配置值
REFRESH(刷新) L H L L H 需满足 tRFC / tREFI
自刷新进入 SRE L H L H L 同时 CKE 拉低
自刷新退出 SRX L H H H H CKE 拉高后等待 tXSR
ACTIVATE(激活行) L L L H H BG/BA 选 bank,A 为行地址
READ L L H L H A10=1 时读后自动预充电
WRITE L L H L L A10=1 时写后自动预充电
PRECHARGE(预充电) L L L H L A10=1 为全部 bank 预充电
ZQ 校准(ZQCL / ZQCS) L H H H L ZQCL 用于上电(等 tZQinit);ZQCS 用于周期性维护(等 tZQCS),两者命令编码相同,由所处阶段区分
NOP / DESELECT L / H H H H H 空操作
掉电进入 / 退出 L H H H H CKE 低进入,CKE 高退出(tXP / tCKE)
命令编码的硬件含义(对 Layout 的直接影响)
  • ACT# 与 RAS#/CAS#/WE#、A14/A15/A16 属于同一命令组 ,必须与地址/命令信号同组等长、同层、同 Fly-by 顺序,否则 ACT# 与地址位的相对偏移会直接造成命令译码错误。
  • 由于 A14/A15/A16 与命令复用,地址组等长公差必须按命令时序(而非宽松的地址建立时间)来约束,通常整组 ≤ ±25 mil 到 CK。
  • CS# 上升/下降沿同样是命令译码的一部分,CS# 必须与 CK 保持严格的建立保持关系,且在多 rank 时每 rank 独立等长。

2.4 模式寄存器 MR0 ~ MR6

模式寄存器通过 MRS 命令写入,BG/BA 选择寄存器编号,地址位承载配置值。以下为硬件工程师必须理解并与固件/控制器对齐的字段 ;位段编号以 JEDEC 通用定义给出,保留位与厂商自定义位以目标 datasheet 为准。

MR0 --- 突发长度、CAS 延迟、DLL 复位
位段 字段 可选值 工程建议
MR01:0 突发长度 BL 00 = BL8 固定;01 = BC4 或 BL8 动态(OTF);10 = BC4 固定 通用计算选 01(OTF),由 A12 动态切换;纯流式访问选 00
MR03 突发类型 0 = 顺序(sequential);1 = 交错(interleaved) 与控制器配置保持一致,一般 0
MR06:4, 2 CAS 延迟 CL 9 ~ 24(按速率等级与是否 Gear-down 取) 见附录 B 速率表;如 DDR4-3200 常取 CL22(Gear-down 时按 CL/2 编码)
MR08 DLL 复位 1 = 复位 DLL(自清零) 初始化必须执行一次,之后等 tDLLK = 512 nCK(部分场景 768/1024 nCK)
MR011:9 写恢复 WR 10 ~ 26(对应 tWR 的 nCK 数) 按 tWR(典型 15 ns)换算:DDR4-3200 取 24 nCK
MR012 读预同步 / PPD? 厂商相关 按 datasheet 设为默认值
MR013 DLL 掉电模式控制 0 = 慢速退出(tXPDLL);1 = 快速退出(tXP) 低功耗场景设 1 可缩短退出时间
MR014 测试模式 0 = 正常 必须为 0
MR1 --- DLL 使能、驱动强度、Rtt_Nom、附加延迟、Write Leveling
位段 字段 可选值 工程建议
MR10 DLL 使能 0 = 禁用(低频测试和缓);1 = 使能 正常工作必须为 1
MR12:1 输出驱动阻抗 DIC 00 = RZQ/7(34 Ω);01 = RZQ/5(48 Ω);10 = RZQ/6(40 Ω);11 = 保留 板载点对点、走线短 → 34 Ω ;多负载/长走线(模组、2 rank)→ 40 或 48 Ω;需仿真确认
MR14:3 附加延迟 AL 00 = 禁用;01 = CL−1;10 = CL−2 由控制器调度策略决定,一般 00
MR15 TDQS 使能(仅 x8) 0 = 禁用;1 = 使能 板载单片 x8 → 0(悬空 TDQS 引脚),混合模组 → 1
MR17 Write Leveling 使能 0 = 禁用;1 = 使能 训练阶段置 1,训练完成后必须清 0
MR18 输出使能(Qoff) 0 = 输出使能;1 = 输出关闭 正常 0
MR110:8 Rtt_Nom 000 = 断开;001 = RZQ/1(240 Ω);010 = RZQ/2(120 Ω);011 = RZQ/3(80 Ω);100 = RZQ/4(60 Ω);101 = RZQ/5(48 Ω);110 = RZQ/6(40 Ω);111 = RZQ/7(34 Ω) 见 §7.1 选型表;板载单 rank 常用 60 Ω 或 48 Ω ,2 rank 常用 40 Ω
MR112 预充电掉电 / 低功耗 厂商相关 按 datasheet 默认
MR113 CRC/DM 相关或保留 --- 以 datasheet 为准
MR2 --- CAS 写延迟 CWL、Rtt_WR(动态 ODT)、自刷新温度范围
位段 字段 可选值 工程建议
MR22:0 部分阵列自刷新 PASR 000 = 全部刷新;其余按 bank 屏蔽 正常 000;LPDDR 式省电才用
MR25:3 CAS 写延迟 CWL 9 ~ 20 按速率等级:DDR4-1600 → CWL 9/11;DDR4-2400 → CWL 12/14;DDR4-3200 → CWL 16/18
MR26 自动自刷新 ASR 0 = 手动(SRT);1 = 自动 无温控固件时设 1,由颗粒根据内部温度传感器自动加倍刷新
MR27 自刷新温度范围 SRT 0 = 常温范围;1 = 扩展范围(85~95 °C 时 2× 刷新) ASR=0 时由固件按温度设置;高温设备选 1
MR29:8 Rtt_WR(写动态 ODT) 00 = 动态 ODT 关闭;01 = RZQ/2(120 Ω);10 = RZQ/1(240 Ω);11 = 保留 多 rank 共享 DQ 总线时必须使能:被写 rank 用 Rtt_WR,非目标 rank 用 Rtt_Nom(或 Rtt_Park)
MR210:12 LPASR / 写 CRC 使能 厂商相关;部分器件 MR212 为写 CRC 使能 需要写 CRC 时置 1,并与控制器 CRC 使能同步;位段以 datasheet 为准
MR3 --- MPR、Gear-down 模式、刷新粒度
位段 字段 可选值 工程建议
MR31:0 MPR 页选择 00 = Page 0(预定义图案);01 = Page 1;10 = Page 2;11 = Page 3 读/写 leveling 训练必须使用 MPR:MPR 读出固定图案(如 0x00/0xFF/交替),排除阵列数据干扰
MR32 MPR 操作 0 = 正常读;1 = MPR 读 训练时置 1,训练结束清 0
MR33 Gear-down 模式 0 = 1/2 速率命令(正常);1 = Gear-down(1/4 速率命令) DDR4-2666 及以上且 Fly-by 负载重时建议使能:命令/地址以 1/2 速率发送、每个命令占 2 nCK,显著降低 CA 时序压力,代价是命令带宽略降
MR35:4 MPR 读格式 串行 / 并行 / 交错 按控制器训练流程选择,一般串行
MR38:6 刷新粒度(Fine Granularity Refresh) 1× / 2× / 4×(部分器件) 抗 Row Hammer 时可配置为 2× 或 4× 刷新;以 datasheet 为准
MR312:11 MPR 读格式高位 与 MR35:4 组合 按控制器要求
MR4 --- 前导、最大掉电、3DS 的 CS-to-CA 延迟
位段 字段 可选值 工程建议
MR40 最大掉电模式 MPD 0 = 正常;1 = 最大掉电(DLL/PLL 关闭) 极低功耗待机时使用,唤醒时间显著变长
MR44 内部 VREF 监视 0 = 关闭;1 = 通过 MPR 输出内部 VREF 电平 调试 VREFDQ 训练时使用
MR48:6 CS 到命令/地址延迟(3DS) 0 ~ 6 nCK 3DS 堆叠(2H/4H/8H)必须配置,用于补偿 C0/C1/C2 相对 CS# 的飞行时间差
MR49 写前导 0 = 1 tCK;1 = 2 tCK 高速(≥ 2666)常取 2 tCK 以改善写眼图
MR410 读前导 0 = 1 tCK;1 = 2 tCK ≥ 2666 建议 2 tCK,与控制器 DQS 门控训练配合
MR411 读前导训练模式 0 = 关闭;1 = 使能 DQS 门控训练阶段必须使能,训练完成清 0
MR412 自刷新中止 / 其他 厂商相关 以 datasheet 为准
MR5 --- Rtt_Park、CA 奇偶校验、DM / DBI
位段 字段 可选值 工程建议
MR52:0 CA 奇偶校验延迟 PL 000 = 禁用;其余 = 4/5/6/8 nCK(与速率相关) 需要 CA 校验时按速率设置;控制器侧需同步使能 PAR 生成
MR53 CA 奇偶错误状态 只读,读后清除 调试时轮询判断是否发生 CA 传输错误
MR54 CA 奇偶持续错误 只读 置位说明存在系统性 SI 问题,需查 VREFCA / 时序 / 端接
MR58:6 Rtt_Park(空闲端接) 同 Rtt_Nom:断开 / 240 / 120 / 80 / 60 / 48 / 40 / 34 Ω 多 rank 系统中非选中 rank 用 Rtt_Park 端接,抑制总线浮空反射
MR510 数据掩码 DM 使能 0 = 禁用;1 = 使能 与 DBI 互斥:需要字节写掩码时用 DM
MR511 读 DBI 使能 0 = 禁用;1 = 使能 降低读功耗与 SSN,需控制器支持
MR512 写 DBI 使能 0 = 禁用;1 = 使能 降低写功耗与 SSN,需控制器支持
MR6 --- VREFDQ 片内训练值
位段 字段 可选值 工程建议
MR65:0 VREFDQ 训练值 0 ~ 63(步进约 0.5% VDDQ,实际步进按 datasheet) 由训练固件扫描;典型最终值落在 70%~75% VDDQ(POD12 端接到 VDDQ,摆幅中心高于 VDDQ/2)
MR66 VREFDQ 训练值最高位 与 MR65:0 组合成 7 bit ---
MR67 VREFDQ 范围选择 0 = Range 1(60.0% ~ 92.5% VDDQ);1 = Range 2(45.0% ~ 77.5% VDDQ) 先用 Range 1 扫描;若最优点落在边界,切到 Range 2 复扫
MR68 VREFDQ 训练使能 0 = 训练完成(冻结);1 = 训练中 训练结束必须置 0,否则数值不生效
MRS 配置序列示例(寄存器级伪代码)
复制代码
// ---------- DDR4-2400, 8Gb x8, 板载 2 rank, 64 bit 总线 ----------
// 说明:以下为工程示例,地址/位段编码以目标 datasheet 为准

// 1) 复位释放后先发 DLL 复位
MRS( MR = 0,  value = 0x0A10 | (CL_Encode(16) << 4) | (1 << 8) );  // MR0: BL8 OTF + DLL reset
wait( tDLLK = 512 nCK );                       // DLL 锁定等待

// 2) MR1: DLL 使能 + 驱动强度 40 Ω + Rtt_Nom = 60 Ω(RZQ/4) + WL 关闭
MRS( MR = 1,  value = (1 << 0)                // DLL enable
                | (0b10 << 1)                 // DIC = RZQ/6 = 40 Ω
                | (0b100 << 8)                // Rtt_Nom = RZQ/4 = 60 Ω
                | (0 << 7) );                 // Write leveling = off

// 3) MR2: CWL = 14, ASR = 1, Rtt_WR = 120 Ω(RZQ/2), 写 CRC 使能
MRS( MR = 2,  value = (CWL_Encode(14) << 3)
                | (1 << 6)                    // ASR = auto self-refresh
                | (0b01 << 8)                 // Rtt_WR = RZQ/2 = 120 Ω
                | (1 << 12) );                // write CRC enable (位段以 datasheet 为准)

// 4) MR3: MPR page0 + gear-down 关闭 + 1x 刷新
MRS( MR = 3,  value = (0b00 << 0) | (0 << 2) | (0 << 3) );

// 5) MR4: 读/写前导 1 tCK, CS-to-CA latency = 0 (非 3DS)
MRS( MR = 4,  value = 0x0000 );

// 6) MR5: Rtt_Park = 240 Ω(RZQ/1), DM 使能, DBI 关闭, CA parity 关闭
MRS( MR = 5,  value = (0b001 << 6)            // Rtt_Park = RZQ/1 = 240 Ω
                | (1 << 10) );                // DM enable

// 7) MR6: VREFDQ 先给默认中点, 训练阶段再扫描
MRS( MR = 6,  value = (0 << 7) | (0x20 << 0) );  // Range1, code 0x20, training on
wait( tMRD = 8 nCK );  wait( tMOD = max(24 nCK, 15 ns) ) 之间插 NOP;

MRS 时序硬约束(违反会导致初始化随机失败)

相邻两条 MRS 命令间隔 ≥ tMRD = 8 nCK ;MRS 之后到任何非 MRS 命令需等待 tMOD = max(24 nCK, 15 ns) ;DLL 复位之后必须等 tDLLK ;VREFDQ 训练值写入后需等 tVREF_long / tVREF_short(随步进跨度变化)才能采样。写固件时把这四个等待做成显式宏,不要靠经验延时。

2.5 突发长度、CRC 与命令地址奇偶校验

突发长度 BL8 / BC4
  • BL8:8 拍数据,占 4 tCK,是 DDR4 的原生突发(8n 预取)。
  • BC4 :突发截断到 4 拍,占 2 tCK;可由 MR01:0 固定,或在 OTF 模式下由 A12 在读写命令时动态选择。
  • CRC 与 BC4 冲突 :写 CRC 使能时,CRC 需要额外的突发拍,因此 写 CRC 只能与 BL8 配合使用(CRC 占第 9、10 拍,写突发变为 10 拍 / 5 tCK)。控制器与 DRAM 必须一致配置。
  • 硬件影响:使能写 CRC 后,写数据的 DQ 有效窗口延长 2 拍,tWR、tWTR 等写相关时序需按 datasheet 追加。
CRC 与 CA 奇偶校验的作用边界
  • 写 CRC :由控制器在写数据后附加 CRC 码,DRAM 校验;出错时拉低 ALERT#,并记录错误状态。只检错不纠错,需由软件重试。
  • CA 奇偶校验 :控制器在每个命令/地址周期给出 PAR 奇偶位,DRAM 校验奇偶;出错同样通过 ALERT# 上报。
  • 两者的价值在于把间歇性 SI 失效从"静默数据损坏"变成"可检测、可上报的错误",是服务器/工业产品的必选项。
  • 硬件代价:PAR 需要与地址/命令同组等长(它是命令编码的一部分);ALERT# 需上拉并连到控制器中断或 GPIO。
机制 保护对象 关键引脚 使能位 开销 错误上报
写 CRC 写数据 DQ ALERT# MR2(位段以 datasheet 为准) 写突发 +2 拍(BL8 → 10 拍) ALERT# 拉低 + 错误状态位
CA 奇偶校验 ACT#/RAS#/CAS#/WE#/A/BA/BG PAR(输入)、ALERT#(输出) MR52:0 奇偶延迟 PL 每命令 1 bit 奇偶;延迟 PL 个时钟 ALERT# 拉低 + MR53/4 状态位
DBI(数据总线反转) 不检错,用于降低功耗与 SSN DM_n/DBI_n 复用 MR511 读 / MR512 写 与 DM 互斥 ---
ECC(外部) 全数据路径 额外 8 bit DQ(72 bit 总线) 控制器侧 容量 +12.5%,延迟略增 控制器中断

2.6 带宽计算

复制代码
理论峰值带宽 (GB/s) = 数据速率(MT/s) × 总线位宽(bit) / 8 / 1000

64 bit 单通道:
  DDR4-1600 : 1600 × 64 / 8 = 12800 MB/s = 12.8 GB/s   (PC4-12800)
  DDR4-2133 : 2133 × 64 / 8 = 17064 MB/s = 17.0 GB/s   (PC4-17000)
  DDR4-2400 : 2400 × 64 / 8 = 19200 MB/s = 19.2 GB/s   (PC4-19200)
  DDR4-2666 : 2666 × 64 / 8 = 21328 MB/s = 21.3 GB/s   (PC4-21300)
  DDR4-2933 : 2933 × 64 / 8 = 23464 MB/s = 23.4 GB/s   (PC4-23400)
  DDR4-3200 : 3200 × 64 / 8 = 25600 MB/s = 25.6 GB/s   (PC4-25600)

32 bit(单片 x16 ×2 或单片 x16 32bit): 峰值减半 → DDR4-3200 = 12.8 GB/s
双通道 64 bit ×2                      : DDR4-3200 = 51.2 GB/s

有效带宽估算:
  有效带宽 ≈ 峰值 × 效率系数 × (1 − 刷新开销 − 读写切换开销)

刷新开销 = tRFC / tREFI
  8 Gb  @ 85 °C 以下: 350 ns / 7800 ns = 4.5%
  8 Gb  @ 85~95 °C   : 350 ns / 3900 ns = 9.0%
  16 Gb @ 85 °C 以下: 550 ns / 7800 ns = 7.1%

效率系数经验值:
  纯顺序流式访问(跨 bank group 交错): 0.85 ~ 0.92
  常规应用(随机 + 顺序混合)        : 0.60 ~ 0.75
  随机小颗粒访问(行命中率低)        : 0.35 ~ 0.55
  读写频繁切换(每 64 B 切换一次)    : 再打 0.85 ~ 0.95

示例: DDR4-3200 64 bit, 8 Gb 颗粒, 常温, 常规应用
  有效 ≈ 25.6 × 0.70 × (1 − 0.045) ≈ 17.1 GB/s

带宽设计的工程结论:与其把速率从 2666 提到 3200(+20% 峰值),不如优化访问模式让其跨 bank group 交错、减少读写切换、降低刷新占用,往往能拿到更大收益;同时 3200 对 PDN、Layout 与训练的要求陡增,成本与风险不成正比。

3 · 电源设计

DDR4 的电源是四轨 :VDD(1.2 V,核心逻辑)、VDDQ(1.2 V,I/O)、VPP(2.5 V,字线升压)、VREFCA(0.6 V,命令地址参考)。与 DDR3 相比多了一条 VPP ,且数据组的 VREFDQ 改为片内生成 、数据组取消外部 VTT 端接------这两点是最容易沿用 DDR3 经验而出错的地方。

3.1 三轨电源与 POD12 电平

电源轨 标称 允许范围 精度要求 典型电流(4 片 8 Gb x8) 推荐实现 失效后果
VDD 1.2 V 1.14 ~ 1.26 V(±5%) ±5% 0.2 ~ 0.8 A 与主 VDDQ 同源的 DCDC 或独立 DCDC(≥ 6 A) 欠压→DLL 失锁、训练失败;过压→器件永久损伤
VDDQ 1.2 V 1.14 ~ 1.26 V(±5%) 与 VDD 偏差 ≤ 30 mV 0.15 ~ 0.6 A 与 VDD 同源(磁珠/0 Ω 隔离 + 各自去耦)或独立路 眼图中心漂移、VREFCA/VREFDQ 跟踪失效
VPP 2.5 V 2.375 ~ 2.75 V(+0.25 / −0.125) +10% / −5% 5 ~ 40 mA 由 3.3 V 经 LDO 降压,或 1.2 V/1.8 V 经电荷泵升压;输出能力 ≥ 50 mA 字线升压不足→行无法完全打开→刷新保持能力丧失、高温丢数据
VREFCA 0.60 V(VDDQ/2) 0.49 ~ 0.51 VDDQ 跟踪 VDDQ/2,偏差 ≤ ±1%(±12 mV) < 1 mA 专用 DDR VREF 缓冲、或 1 kΩ/1 kΩ ±0.1% 分压 + 运放跟随 偏小→命令采样窗口整体上移,误触发 ACTIVATE;偏大→命令漏检
VREFDQ 片内生成 Range 1:60% ~ 92.5% VDDQ Range 2:45% ~ 77.5% VDDQ 由训练确定 --- 无需外部电路,由 MR6 训练 ---
VTT(可选) 0.60 V VDDQ/2 ±1% 仅地址/命令 Fly-by 末端端接使用 0.1 ~ 0.5 A VTT LDO(吸/灌型),配 ≥ 20 µF + 0.1 µF 误接到 DQ 上会严重破坏 POD12 眼图

POD12 与 SSTL 的端接差异(硬件设计的核心分水岭)

DDR3 的 SSTL_15 是推挽 输出,端接电阻接到 VTT = VDDQ/2 ,因此数据组需要一片 VTT 电源与大量端接电阻排。

DDR4 的 POD12(Pseudo Open Drain) :驱动器只主动下拉 (低电平由驱动管的 Ron 建立),高电平由接收端的片内 ODT 上拉到 VDDQ 提供。因此:

① 端接点是 VDDQ 而不是 VTT ,数据组不再需要任何外部端接电阻与 VTT 电源 ;

② 信号摆幅不再关于 VDDQ/2 对称:低电平约 VDDQ × Ron/(Ron+Rtt)(Ron=40 Ω、Rtt=60 Ω 时约 0.48 V),高电平约 VDDQ,所以 VREFDQ 的合理值在 70%~75% VDDQ 而非 50% ;

③ 静态功耗上,POD 在传输高电平时几乎不耗电(无 DC 通路),这也是 DDR4 更省电的原因之一;

④ 地址/命令组是 Fly-by 多负载拓扑 ,DDR4 颗粒通常不在片内端接 C/A,因此 Fly-by 末端仍需端接 :可由控制器侧 ODT 提供,或外接 39~56 Ω 到 VTT(0.6 V),具体取决于主控设计与仿真结果。

VREFCA 生成电路设计要求
  • VREFCA 必须实时跟踪 VDDQ 的一半 。用固定 LDO 输出 0.6 V 而不跟踪,会在 VDDQ 波动时引入共模误差;推荐做法:由 VDDQ 经 两颗 1 kΩ ±0.1%(≤ 25 ppm/°C)电阻分压 ,再经低失调运放/专用缓冲驱动。
  • 缓冲输出必须稳定驱动容性负载:加 10 nF + 0.1 µF + 1 µF(并联)到地,并保证运放在该容性负载下不振荡(输出端串 1~2 Ω 隔离电阻)。
  • VREFCA 走线:独立走线、两侧包地、线宽 ≥ 10 mil,长度尽量短(≤ 80 mm),不与 DQ/DQS/CK 相邻或平行。
  • 每颗颗粒的 VREFCA 球旁放置 0.1 µF + 10 nF(0402)到地。
  • 允许的 VREFCA 噪声(含 DC 误差 + 纹波 + 噪声)一般按 ≤ ±1% VDDQ(约 12 mV) 设计,纹波分量控制在 ≤ 5 mV rms。

3.2 上电与初始化时序

t0电源稳定RESET# 释放CKE↑训练开始就绪上电复位保持 ≥200 µs初始化(等待 → MRS → ZQCL → DLL 锁定)训练(WL/门控/读/2D)VPP 2.5 V2.5 V(+0.25 / −0.125)上升VDD 1.2 V1.2 V ±0.06VDDQ 1.2 V与 VDD 偏差 ≤ 30 mV① VPP 必须不晚于 VDD 建立,且不得晚于 VDDQ;缓升/迟滞是初始化随机失败的常见原因RESET#低电平 ≥ 200 µs(电源稳定后计)≥ 500 µsCKEtXPR = max(5 nCK, tRFC + 10 ns)CK / CK#时钟必须早于第一条 MRS 稳定(≥ 5 nCK 稳定期)命令M3M6M5M4M2ZQCLM1M0*MRS 序列(示例:MR3→MR6→MR5→MR4→MR2→MR1→MR0,MR0 带 DLL 复位)tDLLK = 512 nCK

图 3-1 DDR4 上电、复位、初始化与训练时序波形(VPP→VDD→VDDQ 建立、RESET# 200 µs、CKE、tXPR、ZQCL、MRS、DLL 锁定、训练阶段)

上电/初始化硬性顺序(逐条落实)
复制代码
// ---------- DDR4 上电初始化序列(硬件时序约束) ----------
T0 : VPP 开始上升          // VPP 不得晚于 VDD
T1 : VDD 开始上升          // VDD 与 VDDQ 可同时
T2 : VDDQ 开始上升         // |VDD − VDDQ| ≤ 30 mV(稳态与瞬态均需满足)
     └─ 上电全过程 RESET# 必须保持 ≤ 0.2 × VDDQ,CKE 保持 ≤ 0.2 × VDDQ

T3 : 电源全部稳定(VDD/VDDQ 进入 1.14~1.26 V,VPP 进入 2.375~2.75 V)
     └─ RESET# 继续保持低电平  ≥ 200 µs          ← JEDEC 硬性要求
     └─ CKE 继续保持低电平

T4 : RESET# 释放(拉高)
     └─ CKE 仍保持低电平
     └─ 等待 ≥ 500 µs(部分器件按 datasheet 为 tINIT3/tINIT5,需核对)

T5 : CKE 拉高,等待 tXPR = max(5 nCK, tRFC + 10 ns)
     └─ 时钟 CK/CK# 必须在 CKE 拉高前已稳定(≥ 稳定 5 nCK 且抖动达标)

T6 : 发送 MRS 序列(相邻 MRS 间隔 ≥ tMRD = 8 nCK)
     MR3 → MR6 → MR5 → MR4 → MR2 → MR1 → MR0(DLL reset = 1)
     └─ 最后一条 MRS 之后等待 tMOD = max(24 nCK, 15 ns) 才能发非 MRS 命令

T7 : ZQCL(上电长校准),等待 tZQinit = 512 nCK
T8 : 等待 tDLLK = 512 nCK(DLL 锁定;低速/特殊模式可能 768 或 1024 nCK)

T9 : 训练(Training)
     a) Write Leveling      ------ 每字节通道独立,补偿 Fly-by 的 CK→DQS 偏移
     b) DQS 门控训练        ------ 确定读 DQS 前导窗口(配合 MR4[11] 读前导训练模式)
     c) Read Leveling       ------ MPR 图案,扫描 DQS 延迟确定读数据眼中点
     d) Write Leveling 复检 ------ 部分控制器在写 DQ 延迟确定后复扫
     e) VREFDQ 训练(1D)   ------ 扫描 MR6,找到最大 VREF 裕量
     f) 2D Training         ------ 延迟 × VREFDQ 二维扫描,取联合窗口中心
     g) (可选)CA 训练 / VREFCA 训练、读/写 DBI 训练

T10: 训练完成 → 清除训练模式位(MR1[7]=0、MR3[2]=0、MR4[11]=0、MR6[8]=0)
     → 进入正常工作,开始周期性刷新(tREFI)与 ZQCS(tZQCS = 64 nCK)
掉电与自刷新
场景 操作顺序 关键时序 注意事项
进入自刷新 所有 bank 预充电 → 发 SRE(CKE 拉低)→ 保持 VDD/VDDQ/VPP/VREFCA tCKE ≥ max(3 nCK, 5 ns);退出后等 tXSR = tRFC + 10 ns 自刷新期间 VREFCA 必须保持有效;温度 > 85 °C 时自动 2× 刷新(若 ASR=1)
进入掉电(Power-Down) 预充电掉电:所有 bank 预充电 → CKE 低;激活掉电:行保持打开 → CKE 低 退出等待 tXP = max(4 nCK, 6 ns)(DLL 保持)或 tXPDLL(DLL 掉电) 掉电期间刷新停止,停留时间不得超过 9 × tREFI(典型 64 ms 内),否则数据丢失
受控掉电(断电关机) CKE 低 → 撤 VDDQ → 撤 VDD → 撤 VPP VDD 与 VDDQ 压差始终 ≤ 0.3 V(部分器件要求,以 datasheet 为准) 严禁在 VDD 仍有效时撤 VPP;严禁 VPP 高于 VDD 超过规格
突然断电 --- --- 掉电检测电路应在 ≤ 1 ms 内把 CKE 拉低进入自刷新或切断负载,防止刷新中途断电造成行数据破坏

3.3 去耦电容配置与 PDN 目标阻抗

PDN 目标阻抗计算
复制代码
Z_target = (VDD × 允许纹波百分比) / ΔI_max

示例:4 片 8 Gb x8,DDR4-2400,连续写
  ΔI_max(动态电流跳变)≈ 0.6 A(VDD)+ 0.5 A(VDDQ)
  允许纹波 = ±3%(留 2% 给 DC 容差与器件差异,规格为 ±5%)
  Z_target(VDD)  = (1.2 V × 0.03) / 0.6 A = 60  mΩ
  Z_target(VDDQ) = (1.2 V × 0.03) / 0.5 A = 72  mΩ
  → 工程上取更严格者,统一按 ≤ 30~50 mΩ 设计整个 PDN(DC ~ 100 MHz)

频段划分与责任元件:
  DC ~ 100 kHz   : DCDC 环路响应 + 大容量 Bulk 电容
  100 kHz ~ 2 MHz: Bulk(100~220 µF)+ 中频陶瓷(10 µF)
  2 MHz ~ 30 MHz : 高频陶瓷(0.1 µF 0402,靠近 BGA)
  30 MHz ~ 200 MHz: 电源/地平面对电容(平面间距 ≤ 4 mil)+ 封装内电容
  > 200 MHz      : 由颗粒封装内去耦与片内电容承担,PCB 侧已难以改善
去耦电容配置表(以 4 片 x8 板载设计为例)
位置 容值 封装 数量 耐压 作用 布局要求
DCDC 输出 100 ~ 220 µF 聚合物钽/低 ESR 铝电解 1 ~ 2 2.5 V / 6.3 V Bulk,维持 DC~100 kHz 距 DCDC 输出端 ≤ 15 mm
DDR 区域入口 10 µF 0805 X5R 4 ~ 8 6.3 V 中频储能 沿 DDR 阵列两侧均匀分布
每颗颗粒 VDD/VDDQ 球区 0.1 µF 0402 X5R 4 ~ 6 / 片 6.3 V 高频去耦(至 ~25 MHz) 背面紧贴 BGA 投影区,过孔到焊盘总长 ≤ 1.5 mm
每颗颗粒 VDD/VDDQ 球区 1 µF 0402/0603 X5R 1 ~ 2 / 片 6.3 V 中高频补位 与 0.1 µF 交替排布
VPP(每片) 1 µF + 0.1 µF 0402/0603 X5R 各 1 / 片 6.3 V / 10 V VPP 纹波 ≤ 50 mV 靠近 VPP 球,注意 2.5 V 走线载流足够(≥ 10 mil)
VREFCA(每片) 0.1 µF + 10 nF 0402 X7R 各 1 / 片 6.3 V 参考电压滤波 紧靠 VREFCA 球,回流到干净地
VTT(若使用) 20 µF + 0.1 µF × 4 0805 + 0402 --- 6.3 V 吸/灌瞬态 紧靠 VTT LDO 与末端端接电阻
ZQ 240 Ω ±1% 0402 1 / 片 --- ODT 与驱动强度基准 紧靠 ZQ 球,两引脚走线总长 ≤ 5 mm

去耦电容的三个反直觉要点

① 容值越大不一定越好 :0.1 µF 0402 的自谐振频率(SRF)约 15~25 MHz,1 µF 0402 约 5~8 MHz。超过 SRF 后电容呈感性,只对更低频有用。因此必须多容值并联 且优先用小封装(0402 > 0603 > 0805,ESL 更低)。

② 过孔电感常常毁掉去耦效果 :一对过孔(电源+地)的回路电感约 0.5~1 nH,与 0402 电容自身的 ESL 相当。做法:电容电源/地焊盘各打 2 个过孔 、电源地过孔紧邻且方向相反 (回路面积最小)。

③ 直流偏压效应 :X5R 0402 10 µF/6.3 V 在 1.2 V 偏置下容量可能衰减到标称的 30%~50%。选型时要看 DC bias 曲线,或选更高耐压(10 V)与更大封装。

3.4 功耗估算与热设计

复制代码
// ---------- 功耗估算示例:4 片 8 Gb x8,DDR4-2400,70% 写 + 30% 读 ----------
P_VDD   = VDD  × ΣIDD     = 1.2 V × (0.15 A × 4) = 0.72 W
P_VDDQ  = VDDQ × ΣIDDQ    = 1.2 V × (0.10 A × 4) = 0.48 W
P_VPP   = VPP  × ΣIPP     = 2.5 V × (0.003 A × 4)= 0.03 W
P_ODT   ≈ (VDDQ² / Rtt) × 线数 × 写占空比
        = (1.44 / 60 Ω) × 72 × 0.35 ≈ 0.60 W        // 端接功耗,常被忽略!
P_Refresh ≈ IDD5B × VDD × (tRFC / tREFI)
        = 0.2 A × 1.2 V × (350 ns / 7800 ns) × 4 片 ≈ 0.04 W
------------------------------------------------
P_total ≈ 1.87 W(4 片,约 0.47 W/片)

温升估算:
  θJA(FBGA-96,4 层板 + 底部散热过孔)≈ 30 ~ 40 °C/W
  ΔT = P_per_device × θJA = 0.47 W × 35 °C/W ≈ 16.5 °C
  环境温度 55 °C → TCASE ≈ 71.5 °C   → 接近 85 °C 的 2× 刷新阈值,需优化

降额策略:
  · TCASE > 85 °C:tREFI 由 7.8 µs 缩到 3.9 µs → 刷新功耗翻倍、带宽降 5%~9%
  · TCASE > 55 °C:建议每升高 10 °C 降一档速率(如 3200 → 2933 → 2666)
  · 改善手段:颗粒底部铺完整铜皮 + Ø0.3 mm 散热过孔阵列(间距 1.0~1.2 mm)
            导热垫(1.0~1.5 W/m·K)连到金属外壳或散热器
            避免颗粒正上方堆叠发热器件(PMIC、功率电感、CPU)
热设计项 目标值 实现手段 验证方法
TCASE(商业级) ≤ 85 °C(推荐)/ ≤ 95 °C(极限) 散热过孔 + 铺铜 + 风道 热电偶贴颗粒表面,跑满带宽压力测试 30 min
TCASE(工业级) −40 ~ 95 °C 选工业级颗粒(-40~95 °C 型号) 高低温箱 + 内存压力测试
颗粒间温差 ≤ 5 °C 均匀分布、对称布局、避免串联风道 红外热像仪
温度补偿自刷新 ASR = 1(自动)或固件按 SRT 位切换 MR26/MR27 配置 + 控制器温度采样 85 °C 环境下长时间数据保持测试

4 · 典型应用电路

DDR4 的硬件形态分两类:板载颗粒(down device) 与 内存条模组(DIMM)。板载颗粒走线短、SI 好但不可更换;模组可更换、容量灵活但对主板 Layout 与 PDN 要求更高。以下四张原理图覆盖四种典型接法。

4.1 单片 x16(16 bit 总线)板载接法

SoC / FPGADDR4 控制器 + PHY· 1 × 16 bit 通道· DDR4-2400(示例)· 支持 write leveling· 支持 2D VREFDQ 训练· 内建 ODT 控制逻辑· 地址/命令为 Fly-by· DQ/DQS 点对点· PAR 生成、ALERT# 输入· 温度补偿刷新(可选)· 预留 I²C 读取模组 SPD(板载时不用)DDR4 SDRAM x168 Gb · FBGA-96 · 0.8 mm pitch· 16 bank = 4 BG × 4 bank· POD12,片内 ODT· VDD/VDDQ 1.2 V· VPP 2.5 V· VREFCA 外部 0.6 V· VREFDQ 片内训练· DQ0~DQ15· LDQS/LDQS#、UDQS/UDQS#· LDM/LDBI#、UDM/UDBI#· 行地址 A0~A15 / 列 A0~A9CK / CK#(差分 80 Ω,对内 ±2 mil)CKECS# / ODTACT# / RAS#(A16) / CAS#(A15) / WE#(A14)A17:0 / BA0~BA1 / BG0~BG1(Fly-by,40 Ω)PAR(命令地址奇偶)10 kΩ 下拉(不用 PAR 时)ALERT#(开漏输出,CRC/CA 错误上报)4.7~10 kΩ 上拉到 VDDQRESET#(4.7~10 kΩ 下拉) / TEN(10 kΩ 下拉,正常模式)DQ15:0(16 根,40 Ω 单端,组内等长 ±5 mil)LDQS/LDQS#、UDQS/UDQS#(差分 80 Ω,双向)LDM/LDBI#、UDM/UDBI#(DM 与 DBI 互斥,由 MR5 选择)VDD / VDDQ 1.2 V ±5%DCDC ≥ 6 A;220 µF ×110 µF ×4;0.1 µF ×16(0402)|VDD − VDDQ| ≤ 30 mVVPP 2.5 V3.3 V → LDO(≥ 50 mA)或 1.2 V → 电荷泵1 µF + 0.1 µF 每片VREFCA 0.60 VVDDQ/2,跟踪 ±1%1 kΩ/1 kΩ ±0.1% + 缓冲0.1 µF + 10 nF,包地走线ZQ240 Ω ±1%(0402)ZQ 球 → VSSQ,走线 ≤ 5 mm不可与高速信号并行① 数据组不接任何外部 VTT 端接电阻:DDR4 用 POD12,端接由颗粒片内 ODT 上拉到 VDDQ 提供(Rtt_Nom / Rtt_WR / Rtt_Park)。② 地址/命令组为多负载 Fly-by:板载单片时负载轻,可不加末端端接;若控制器支持 C/A ODT 则优先用片内方式。③ 单 x16 片仅提供 16 bit 数据总线;需要 32/64 bit 时按 §4.2 方式扩展为多片共享 C/A、DQ 各自独立。

图 4-1 单片 x16 DDR4 颗粒与 SoC 的典型应用电路(CK/CK#、ADDR/BA/BG、ACT#/RAS#/CAS#/WE#、CKE/CS#/ODT/RESET#/PAR/ALERT#/TEN、DQ/DQS/DM/DBI、VREFCA、ZQ 240 Ω 1%、VPP 2.5 V、去耦电容)

逐网络说明表(单片 x16)
网络 数量 拓扑 阻抗 / 等长 关键器件 常见错误
CK / CK# 1 对 点对点差分 80 Ω 差分;对内 ±2 mil 无串阻、无端接 加 DDR3 习惯的 100 Ω 差分端接电阻
CKE 1 点对点 40 Ω;与 CK 长度差 ≤ ±50 mil --- 上电时序未满足 200 µs / 500 µs
CS# / ODT 2 点对点 40 Ω;与 CK 长度差 ≤ ±50 mil --- 漏接 ODT,导致读操作时无端接
ACT# / RAS# / CAS# / WE# 4 与地址同组 Fly-by 40 Ω;整组与 CK 等长 ≤ ±25 mil --- 把 ACT# 当普通地址处理,等长放到 ±100 mil
A17:0 / BA / BG 22 Fly-by 40 Ω;组内 ±25 mil --- 未使用的地址位未接地/悬空造成误命令
PAR 1 与地址同组 40 Ω,同地址组等长 10 kΩ 下拉(不启用时) 浮空导致 CA 校验误报
ALERT# 1 开漏,可多片线与 长度 ≤ 100 mm,远离 DQS 4.7~10 kΩ 上拉到 VDDQ 忘记上拉,错误永远读不到
RESET# 1 点对点 普通走线即可 4.7~10 kΩ 下拉 直接接电源,失去复位能力
TEN 1 点对点 普通走线 10 kΩ 下拉 浮空,噪声触发连通性测试模式
DQ15:0 16 点对点 40 Ω;与同字节 DQS 等长 ±5 mil 无外部端接 误加 39 Ω 端接到 VTT
LDQS/UDQS 差分 2 对 点对点差分 80 Ω 差分;对内 ±2 mil 无外部端接 差分对走成 100 Ω
LDM/UDM(或 DBI) 2 点对点 40 Ω;与 DQ 组等长 --- DBI 与 DM 同时使能(互斥)
ZQ 1 --- ≤ 5 mm 240 Ω ±1% 用 5% 电阻或阻值选错
VREFCA 1 --- ≤ 80 mm,包地 0.1 µF + 10 nF;分压 0.1% 用普通 LDO 固定 0.6 V 不跟踪 VDDQ
VDD / VDDQ 多球 电源平面 PDN ≤ 30~50 mΩ 220 µF + 10 µF + 0.1 µF 去耦放在板边而非 BGA 背面
VPP 1~2 球 ≥ 10 mil 走线或铜皮 纹波 ≤ 50 mV 1 µF + 0.1 µF 漏接或误接 1.2 V

4.2 九片 x8 拼 72 bit(64 bit 数据 + 8 bit ECC)

DDR4 的 x8 颗粒每片提供 8 bit 数据。4 片 x8 只能拼出 32 bit ;要得到 64 bit 数据总线 需要 8 片 x8,若再带 ECC 则需额外 1 片,共 9 片 x8 = 72 bit。另一种更省面积的做法是用 4 片 x16 拼 64 bit(再加 1 片 x8 做 ECC,共 5 片)。

SoC / CPUDDR4 控制器 · 72 bit· CK/CK# ×1 对(1 rank)· C/A + CTRL:Fly-by· DQ71:0:9 字节通道· DQS 差分 ×9· DM/DBI ×9· ODT 控制(片内)· Write leveling 训练· DQS 门控 + 读 leveling· VREFDQ 2D 训练· ECC 校验(8 bit)· CRC / CA parity 可选CK/CK# + ADDR/BA/BG + ACT#/RAS#/CAS#/WE# + CKE/CS#/ODT + PAR (Fly-by 主干,40 Ω)39~56 ΩVTT 0.6 VDDR4 x8 #1DQ7:0DQS0 / DM0DDR4 x8 #2DQ15:8DQS1 / DM1DDR4 x8 #3DQ23:16DQS2 / DM2DDR4 x8 #4DQ31:24DQS3 / DM3x8 #5 ~ #8(略)DQ63:32DQS4~7x8 #9 ECCECC7:0DQS8 / DM8残桩 ≤ 80 mil(≥DDR4-2666)字节 0字节 1字节 2字节 3字节 4~7ECC 字节① 地址/命令/时钟为 Fly-by 菊花链:串联经过每一片,分支残桩必须尽量短(≥2666 时 ≤ 80 mil),末端用 39~56 Ω 端接到 VTT 0.6 V(或控制器侧 ODT)。② 数据/选通/掩码为点对点:每片 8 bit 数据独立直连控制器,不共享、不端接、无外部 VTT;9 条字节通道之间等长公差 ±25 mil。

图 4-2 九片 x8 拼 72 bit(64 bit 数据 + 8 bit ECC)的 Fly-by 拓扑与点到点数据通道

多片并联的关键设计规则
项目 规则 原因 违反后果
C/A + CK 拓扑 Fly-by:从控制器出发依次穿过每一片,禁止 T 型分支 Fly-by 让每片的 CK 到达时间不同,由 write leveling 逐字节补偿 T 分支造成多重反射,C/A 眼图完全闭合
分支残桩长度 DDR4-1600/1866 ≤ 150 mil;2133/2400 ≤ 100 mil;≥ 2666 ≤ 80 mil 残桩是开路支节,产生反射与谐振 高速下 C/A 采样错误、训练无法收敛
末端端接 39~56 Ω 到 VTT(0.6 V),或控制器侧 C/A ODT 吸收 Fly-by 末端反射 末端颗粒(离控制器最远)命令错误率最高
CS# 走线 单 rank 时可共用;多 rank 时每 rank 独立且单独等长 CS# 参与命令译码 多 rank 时 CS# 与地址偏斜导致误选片
片数上限 板载颗粒建议 ≤ 9 片(72 bit);更多走 REG/LRDIMM Fly-by 负载电容累积,C/A 上升沿退化 负载过重导致速率上不去
ECC 片处理 ECC 片与数据片完全同等对待:同一 Fly-by 链、同样的等长与阻抗规则 ECC 字节与数据字节必须时序一致 ECC 字节延迟不同 → 校验错,系统降速或宕机
ODT 分工(单 rank) 写:Rtt_WR 使能;读:Rtt_Nom 关闭(点对点无反射源) 点对点拓扑本来无多负载反射 读时开 ODT 白白增加功耗、压低幅度
ODT 分工(多 rank 共享 DQ) 被选中 rank 用 Rtt_WR / Rtt_Nom,非选中 rank 用 Rtt_Park(如 240 Ω) 抑制浮空 rank 的桩线反射 非选中 rank 开路桩造成总线振铃

4.3 UDIMM / SODIMM 插槽接法

DDR4 模组接口:288 pin UDIMM / RDIMM / LRDIMM (台式机/服务器)、260 pin SODIMM (笔记本/嵌入式)。与 DDR3 的 240 pin 物理不兼容(防呆口位置不同)。

SoC / CPUDDR4 控制器 + PHY· 最多 2 slot / 2 rank· 72 bit(64 + ECC)· CK0/CK0#、CK1/CK1#· C/A + CTRL:Fly-by· DQ/DQS/DM:点到点· I²C 主(读 SPD)· 提供 VREFCA 0.6 V· 提供 VPP 2.5 V· 提供 VTT 0.6 V· VDD/VDDQ 1.2 V· ODT / 训练引擎· 支持 2D VREFDQ· ALERT# / EVENT# 输入插槽288 pin(SODIMM260 pin)DDR4 UDIMM 模组Rank 0(9 × x8 = 72 bit)含 ECC 时 9 片;无 ECC 时 8 片Rank 1(可选,双面贴装)2 rank 时 C/A 负载翻倍,速率需降档SPD EEPROM(I²C 0x50~0x57)SA0~SA2 地址选择;VDDSPD 上电温度传感器 TS(0x18~0x1F,可选)用于固件温度补偿刷新模组上 C/A 端接电阻到 VTTUDIMM 自带,主机需提供 VTT 0.6 V(RDIMM/LRDIMM 见 §4.4)C/A + BA/BG + ACT#/RAS#/CAS#/WE# + PAR(Fly-by,40 Ω)CK0/CK0#、CK1/CK1#(差分 80 Ω)CKE / CS# / ODT / RESET# / ALERT# / EVENT#DQ63:0 + CB7:0(72 根,40 Ω)DQS/DQS# ×9 + DM_n/DBI_n ×9(差分 80 Ω)SCL / SDA(SPD I²C,2.2 kΩ 上拉到 VDDSPD)+ SA0~SA2 接地/上拉VDD/VDDQ 1.2 V、VPP 2.5 V、VTT 0.6 V、VREFCA 0.6 V、VDDSPD① 主机必须提供 VPP 2.5 V 与 VTT 0.6 V 给 UDIMM:UDIMM 上的 C/A 端接电阻需要 VTT;VPP 供模组上所有颗粒的字线升压。② SPD 的 I²C 上拉必须接到 VDDSPD(不是 VDDQ),上拉 2.2 kΩ;SA0~SA2 按插槽编码接地或上拉。③ DDR4 插槽与 DDR3 插槽 物理防呆口位置不同,但外形相近,贴片前务必核对料号,插错会顶弯针脚甚至短路烧毁。

图 4-3 DDR4 UDIMM / SODIMM 插槽接法(C/A 与 CK 的 Fly-by、72 bit 数据通道、SPD I²C、VDD/VDDQ/VPP/VTT/VREFCA 供电)

UDIMM / SODIMM 关键信号与电源表
类别 信号 UDIMM 288 pin SODIMM 260 pin 设计要点
数据 DQ63:0 + CB7:0(ECC) 72 根(非 ECC 模组为 64) 40 Ω 单端;同一字节通道内 DQ 与 DQS 等长 ±5 mil
选通 DQS/DQS# ×9(ECC 为 ×9,非 ECC 为 ×8) 9 对 80 Ω 差分;差分对内 ±2 mil
掩码 DM_n / DBI_n 9 与对应 DQ 组同长
时钟 CK0/CK0#、CK1/CK1# 2 对(2 rank 模组用满) 80 Ω 差分;走线尽量等长以简化 write leveling
地址命令 A17:0、BA0~1、BG0~1、ACT#、RAS#/A16、CAS#/A15、WE#/A14、PAR 约 26~28 Fly-by;总长与 CK 匹配,公差按控制器设计指南(常见 ±50~100 mil)
控制 CKE、CS#(×2 rank)、ODT、RESET#、ALERT#、EVENT#、TEN 约 8 RESET# 建议 4.7 kΩ 下拉;ALERT# 上拉到 VDDQ
SPD SCL、SDA、SA0~SA2、VDDSPD、EVENT# 5 ~ 6 2.2 kΩ 上拉到 VDDSPD;走线尽量短并远离 DQS
电源 VDD / VDDQ 1.2 V 多 pin(数十) 每 pin 至少 1 个过孔;主板侧 PDN ≤ 20~30 mΩ(模组满载电流可达 8~15 A)
电源 VPP 2.5 V 数 pin 主板提供;单条模组峰值约 50~200 mA
电源 VTT 0.6 V(C/A 端接用) 数 pin 需吸/灌型 LDO;配 ≥ 20 µF + 多颗 0.1 µF
参考 VREFCA 0.6 V 1 ~ 2 pin 跟踪 VDDQ/2,±1%

4.4 RDIMM / LRDIMM 与 RCD 缓冲

当内存容量/槽位数增加时,C/A 与 CK 的 Fly-by 负载会超出驱动能力,此时需要在模组上增加寄存器时钟驱动器 RCD(Registering Clock Driver) :C/A 先到 RCD,由 RCD 重新驱动后再 Fly-by 到各 DRAM;RDIMM 只缓冲命令地址,LRDIMM 还额外在 DQ 通道上加入数据缓冲 DB(Data Buffer),进一步隔离数据总线负载。

SoC / CPU· 内存控制器· C/A + CK 输出· DQ/DQS 72 bit· 只需驱动 RCD 一个负载(RDIMM)· 支持 DB(LRDIMM)· 通过 I²C/SMBus 配置RCD/DB 的控制寄存器· RCD 有 1~2 tCK 的额外延迟,训练时计入RCD寄存器时钟驱动缓冲 C/A、CK、CTRL,重驱动输出(LRDIMM 还有 DB缓冲 DQ)C/A + CK + CTRL(点到点,负载仅 RCD)DRAMx8DRAMx8DRAMx8......RCD 输出后 Fly-by 串接全部 DRAM(×9 或 ×18 片 / rank)DQ/DQS 通道(UDIMM/RDIMM:直连;LRDIMM:经 DB 缓冲)DB 数据缓冲(仅 LRDIMM)隔离 DQ 负载,支持大容量① RCD 引入 1~2 tCK 的额外命令/地址延迟,控制器的 write leveling 与读 leveling 训练必须把它计入,否则训练偏移一个时钟周期。② RDIMM/LRDIMM 的 RCD/DB 需要通过 SMBus/I²C 控制寄存器配置(驱动强度、ODT、延迟),上电流程比 UDIMM 多一步"RCD/DB 配置"。③ 选型:≤ 2 slot / ≤ 2 rank → UDIMM;服务器级 4~8 slot 或大容量 → RDIMM;单条超大容量(如 128 GB+)→ LRDIMM。

图 4-4 RDIMM / LRDIMM 的 RCD(寄存器时钟驱动)与 DB(数据缓冲)拓扑

模组类型 C/A + CK 路径 DQ 路径 主机负载 容量/速率折中 典型应用
UDIMM Fly-by 直连所有 DRAM 直连 重(C/A 负载 = 片数 × rank) 速率最高,容量最小 台式机、工业主板、嵌入式
SODIMM 同 UDIMM,260 pin 小型化 直连 重 同 UDIMM,体积受限 笔记本、边缘计算盒、COM Express
RDIMM 经 RCD 缓冲后再 Fly-by 直连 轻(仅 RCD 一个负载) 可多插槽,速率略降(+1~2 tCK 延迟) 单路/双路服务器
LRDIMM 经 RCD 缓冲 经 DB 缓冲 最轻 容量最大,延迟与成本最高 四路服务器、大容量数据库

后续章节请下载「芯参谋」查看

......(篇幅原因, 还有10章· 详见芯参谋→方案设计)

当前分享仅开放前 5 章正文。详细资料请在芯参谋客户端中打开完整文档。

打开路径:🔧解决方案&应用市场分析 -> 原理方案设计 -> DRAM系列产品方案 -> DDR4_电路设计指南

📥 下载芯参谋客户端(免费查看)

相关报告 · 1

相关报告 · 2

相关推荐
电子元器件选型哥2 小时前
MOS管驱动电阻怎么选?阻值大小到底影响什么?
单片机·嵌入式硬件·硬件工程师·半导体·电子元器件
lhbweilai2 小时前
深挖FreeRTOS内核实现(三)
c语言·stm32·单片机
白搞电子2 小时前
ESP32-S31 上做可在线安装的 WASM 应用平台:0.4.9 Beta 发布
单片机·嵌入式硬件·物联网
水果里面有苹果2 小时前
48-AS5600旋转磁编码器
嵌入式硬件
iCxhust3 小时前
8088的nmi中断能关闭吗?
嵌入式硬件·8088单板机
搁浅小泽3 小时前
金属膜 / 金属氧化膜 / 线绕电阻 选型设计规范
设计规范
搁浅小泽4 小时前
TVS管选型与设计规范
设计规范
搁浅小泽7 小时前
碳膜电阻选型设计规范
设计规范
黑妹天下第一乖7 小时前
第 08 讲:阿加犀 AidGenSE 端侧大模型服务化与 OpenAI 兼容接口
人工智能·嵌入式硬件·深度学习·机器人·iot