S10 —— 怎么读懂内存的 Datasheet

金句:会读规格书的工程师,才能做出正确的产品决策。


Datasheet 的基本结构

内存 Datasheet 通常包含以下几个主要部分:

Bash
典型内存 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)
   - 尺寸、引脚间距

关键参数解读

容量表示法

Bash
容量表示法:组织方式 × 位宽

例: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)

Bash
DDR4 速度等级(JEDEC 标准):

DDR4-21332133 MT/s,CL=15,tRCD=15,tRP=15
DDR4-24002400 MT/s,CL=17,tRCD=17,tRP=17
DDR4-26662666 MT/s,CL=19,tRCD=19,tRP=19
DDR4-32003200 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)

Bash
DDR4 主要时序参数:

tCL(CL,CAS Latency):
  从 READ 命令到数据输出有效的时钟数
  CL=1515 个时钟周期后才能拿到数据

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 的引脚定义

Bash
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 选内存条

Bash
实际选内存条的例子(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不着急」,回复”资料”获取内存学习路线图。

最后修改: 2024年4月30日

作者

评论

发表评论

您的邮箱地址不会被公开。