S10 —— 怎么读懂内存的 Datasheet
金句:会读规格书的工程师,才能做出正确的产品决策。
Datasheet 的基本结构
内存 Datasheet 通常包含以下几个主要部分:
典型内存 Datasheet 结构:
1. 概述(Overview)
- 容量、型号、电压、封装
2. 架构(Architecture)
- 组织方式(如 1G × 8、2G × 4 等)
- Bank 数量、行/列数
3. 直流特性(DC Characteristics)
- 电压范围、功耗、I/O 标准
4. 交流特性(AC Characteristics)
- 时序参数(tCL、tRCD、tRP、tRAS 等)
5. 引脚定义(Pin Description)
- 每个引脚的功能
6. 命令真值表(Command Truth Table)
- ACT、READ、WRITE、PRE、REF 等命令的编码
7. 封装规格(Package Dimension)
- 尺寸、引脚间距关键参数解读
容量表示法
容量表示法:组织方式 × 位宽
例:MT40A512M16HX-062E:B
分解:
MT40A = Micron 40A 系列(40nm 工艺)
512M = 512 Megabit(不是 Byte!)
16 = ×16 位宽
HX = DDR4-2666(HX = DDR4-2666 型号代码)
062E = 62E 封装(FBGA,78-ball)
:B = _revision
总容量 = 512 Mb = 64 MB(8 bits/byte)
如果是 16 颗这种颗粒组成的 8GB DIMM:
16 颗 × 64 MB = 1024 MB = 1 GB ... 不对?
512 Mb = 0.5 Gbit = 0.0625 GByte
16 颗 × 0.5 Gbit = 8 Gbit = 1 GB
16 颗 × 16-bit = 256-bit 总宽度
256 / 8 = 32 bytes 并行... 这是双面 16GB 的配置理解容量:看到 “512M16″,先确认是 512Mbit(不是 512MByte)。除以 8 得到 MB。
速度等级(Speed Grade)
DDR4 速度等级(JEDEC 标准):
DDR4-2133:2133 MT/s,CL=15,tRCD=15,tRP=15
DDR4-2400:2400 MT/s,CL=17,tRCD=17,tRP=17
DDR4-2666:2666 MT/s,CL=19,tRCD=19,tRP=19
DDR4-3200:3200 MT/s,CL=22,tRCD=22,tRP=22
MT/s 的含义:
DDR4-3200 = 3200 Mega Transfers per second = 3.2 GT/s
实际时钟频率:
3200 / 2 = 1600 MHz(DDR 是双边沿)
CL(CAS Latency):
从发出 Column 地址到数据出现在输出端的时间
DDR4-3200 CL22 ≈ 13.75ns(22 / 3200 × 1000)
这个数字越小,延迟越低。时序参数详解
DDR Datasheet 里最重要的部分是时序参数(Timing Parameters):
DDR4 主要时序参数:
tCL(CL,CAS Latency):
从 READ 命令到数据输出有效的时钟数
CL=15 → 15 个时钟周期后才能拿到数据
tRCD(RAS to CAS Delay):
ACT(激活行)到 READ/WRITE(列访问)之间的时间
tRCD=13.5ns(DDR4-2400)
太长会导致访问延迟增加
tRP(Row Precharge Delay):
PRE(预充电)到 ACT(再激活)之间的时间
tRP=13.5ns(DDR4-2400)
tRAS(Row Active Time):
ACT 之后,行必须保持打开的最小时间
tRAS = 35ns(DDR4)
如果 tRAS 太短,数据可能还没读完就开始预充电
tRC(Row Cycle):
两次连续 ACT 到同一行的最小间隔
tRC = tRAS + tRP
tRFC(Refresh Cycle Time):
每次刷新操作的耗时
1Gb 颗粒:tRFC = 110ns
8Gb 颗粒:tRFC = 250ns
颗粒密度越大,刷新时间越长怎么看 Datasheet 的引脚定义
DDR4 x8 颗粒引脚定义(78-FBGA 封装):
电源/地:
VDD = 1.2V(核心电压)
VDDQ = 1.2V(I/O 电压)
VSS = 地
VSSQ = I/O 地
时钟:
CK/CK# = 差分时钟输入
命令/地址:
CKE = 时钟使能
CS# = 片选
RAS# = 行地址选通
CAS# = 列地址选通
WE# = 写使能
ACT# = 激活命令(与 RAS# 共用引脚,低电平时为 ACT)
地址:
BA[2:0] = Bank 地址(3 bits = 8 banks)
A[16:0] = 行/列地址复用
BG[1:0] = Bank Group(DDR5 有,DDR4 通常在 A 里面编码)
数据:
DQ[7:0] = 8-bit 数据
DQS/DQS# = 数据选通(读时来自颗粒,写时来自控制器)
DM/DBI = 数据掩码/总线反转(可选)
校准:
ZQ = 阻抗校准(接 240Ω 电阻到地)
TEN = 测试模式使能从 Datasheet 选内存条
实际选内存条的例子(DDR4-2666,16GB,CL19):
目标:组装一台 Intel i7-10700 的电脑,需要 32GB(2×16GB)
步骤 1:确定兼容性
- 主板支持 DDR4,不支持 DDR5
- 最大频率:i7-10700 官方支持 DDR4-2933
- 所以选 DDR4-2666 或 DDR4-2933
步骤 2:看时序
DDR4-2666 CL19 的时序:
CL=19, tRCD=19, tRP=19, tRAS=38
计算实际延迟(ns):
延迟 = CL / MT/s × 2000
= 19 / 2666 × 2000 = 14.25ns(比 DDR4-3200 CL22 的 13.75ns 差一点点)
步骤 3:看电压
DDR4 标准电压:1.2V
低电压版(1.35V):通常叫 DDR4L,性能相同但更省电
步骤 4:看 ECC 支持
服务器主板需要 ECC → 选择 72-pin ECC UDIMM
桌面主板不需要 ECC → 选择 64-pin UDIMM总结
- Datasheet 结构:概述 → 架构 → 直流特性 → 交流特性(时序) → 引脚定义 → 命令真值表 → 封装
- 容量表示:例如 “512M16” 表示 512Mbit × 16-bit(除以 8 得到 Byte)
- 速度等级:DDR4-2133/2400/2666/3200,MT/s 是传输速率,实际时钟是 MT/s / 2
- 关键时序:CL(列延迟)、tRCD(行到列延迟)、tRP(预充电延迟)、tRAS(行激活时间)、tRFC(刷新时间)
- 引脚定义:电源/时钟/命令地址/数据/校准五类引脚,78-ball FBGA 封装
- 选型步骤:兼容性检查 → 时序对比 → 电压确认 → ECC 需求
S 层总结:从 DRAM Cell 的物理结构(S01),到刷新原理(S02),到 Cache 的必要性(S03~S04),到内存寻址(S05~S08),到 ECC(S09),到 Datasheet 读法(S10)——半导体层覆盖了内存的物理本质。
下篇预告(H01):内存条是怎么焊在主板上的?DIMM 的结构是什么?Socket 的设计、插槽的种类(UDIMM/SODIMM/RDIMM/LRDIMM),以及它们对性能的影响。
关注公众号「AI不着急」,回复”资料”获取内存学习路线图。
评论