H01 —— 内存条是怎么插到主板上的:DIMM 的结构和 Socket 设计

金句:看得见的接口,背后藏着无数的电气约定。


DIMM 的全称和基本概念

DIMM = Dual Inline Memory Module,即双列直插式内存模块

Bash
DIMM vs SIMM:

SIMM(Single Inline Memory Module):
  - 单面引脚(只能接触一侧的触点)
  - 72-pin30-pin(早期)
  - 只能提供 32-bit16-bit 数据宽度
  - 已被淘汰

DIMM(Dual Inline Memory Module):
  - 两面引脚(两侧各有引脚,互不干扰)
  - 64-pin 数据引脚(无 ECC)或 72-pin(含 ECC)
  - 提供 64-bit(无 ECC)或 72-bit(ECC)数据宽度
  - 现在的桌面和服务器内存标准

关键区别:
  DIMM 的引脚在两侧,互不干涉,所以可以做到 64-bit 宽,
  而 SIMM 两面引脚是同一信号,只能做 32-bit

DIMM 的结构

Bash
一个 DDR4 DIMM 的解剖结构:

  ┌─────────────────────────────────────────────┐
  │                  金手指(金手指面)              │
  │  ┌─────┐                               ┌─────┐│
  │  │ SPD │  ← Serial Presence Detect     │缺口 ││
  │  │芯片 │    (EEPROM,存储内存配置)       │(防  ││
  │  └─────┘                               │插反)││
  │  ┌─────────────────────────────────────────┐ │
  │  │         DRAM 颗粒(8 颗 × 8-bit = 64bit)  │ │
  │  │   [0] [1] [2] [3] [4] [5] [6] [7]         │ │
  │  └─────────────────────────────────────────┘ │
  │                                             │
  │  ┌───┐                                     │
  │  │REG│ ← Register(RDIMM 上才有)             │
  │  └───┘                                     │
  └─────────────────────────────────────────────┘

DDR4 vs DDR5 DIMM 的外观区别

Bash
DDR4 DIMM:
  - 288 Pin(金手指有 288 个缺口)
  - 只有一个缺口(Notch),位置偏右
  - 电压:1.2V

DDR5 DIMM:
  - 288 Pin(物理上数量相同,但定义不同)
  - 有两个缺口(Notch),位置不同(防误插)
  - 电压:1.1V
  - 金手指中间有分段的"隔断"(40bit × 2 通道的物理体现)

防误插设计:
  DDR5 的缺口位置和 DDR4 不同,即使插错了也插不进去
  这避免了用户把 DDR5 内存插到 DDR4 主板上(反之亦然)

DIMM 的类型:UDIMM / RDIMM / LRDIMM / SODIMM

内存条按”是否带寄存器”分为几种:

Bash
UDIMM(Unbuffered DIMM,普通内存条):

  结构:DRAM 颗粒直接连接内存控制器
  优点:成本低,延迟最低(无额外跳步)
  缺点:负载能力有限(每通道最多 2~4 条)
  适用:桌面、笔记本、消费级服务器

RDIMM(Registered DIMM,带寄存器):

  结构:DRAM 颗粒先连接寄存器芯片(Register),
        寄存器再连接内存控制器
  优点:驱动能力更强(每通道最多 8 条),支持更大容量
  缺点:多一级寄存器,延迟增加 ~1ns,成本更高
  适用:企业级服务器、2P(双路)以上系统

LRDIMM(Load-Reduced DIMM,低负载 DIMM):

  结构:在 Register 基础上,加了数据缓冲芯片(DB)
  优点:减少负载,支持每通道更多 DIMM(8~16 条)
  缺点:延迟更高(增加 ~2ns),成本最高
  适用:超大规模数据中心、超算

SODIMM(Small Outline DIMM,笔记本内存条):

  结构:小型化 DIMM,64 pins,尺寸约 69.6×30mm
  优点:体积小,适合笔记本和小型设备
  缺点:容量通常比标准 DIMM 小(最大 32GB)
  适用:笔记本、NAS、嵌入式设备

DIMM Socket(插槽)的引脚定义

Bash
DDR4 DIMM Socket(288-pin)的引脚分类:

电源/地:
  VDD(核心电压)= 1.2V
  VDDQ(I/O 电压)= 1.2V
  VPP(激活电压)= 2.5V(用于 ACT 命令的引脚充电)
  VSS、VSSQ = 地

时钟:
  CK[1:0] / CK#[1:0] = 差分时钟(DDR4 最多 2 组时钟)

命令/地址:
  CKE[1:0] = 时钟使能
  CS#[1:0] = 片选(双通道 DIMM 需要 2 个 CS)
  ODT[1:0] = On-Die Termination(阻抗匹配控制)
  ACT# = 激活命令(低电平激活行)
  RAS# / CAS# / WE# = 行选通/列选通/写使能
  A[16:0] = 地址总线(行/列地址复用)
  BA[1:0] = Bank 地址
  BG[1:0] = Bank Group(DDR5 有)

数据:
  DQ[63:0] = 64-bit 数据
  DQS[9:0] / DQS#[9:0] = 9 对数据选通(8 数据 + 1 ECC)
  DM / DBI = 数据掩码/总线反转

其他:
  ALERT# = ECC 错误告警引脚(RDIMM)
  TEMP = 温度传感器(可选)
  SA[2:0] = SPD I2C 地址选择

插槽的键位(Key)和防误插

Bash
DDR4 和 DDR5 的插槽不能互换:

DDR4 Socket Key:
  缺口位置在 Pin 72 附近(稍微偏上)
  DDR4 内存条只能插 DDR4 插槽

DDR5 Socket Key:
  缺口位置和 DDR4 不同(Pin 64 附近)
  DDR5 内存条只能插 DDR5 插槽

机械设计保证:
  - DDR4 的缺口位置 ≠ DDR5 的缺口位置
  - 如果你试图把 DDR5 内存插到 DDR4 插槽,物理上插不进去
  - 这是一个强制性的防误插设计

多插槽配置:通道和插槽数

Bash
典型主板的内存插槽配置(桌面平台):

方案 A:2 插槽(ITX 小板)
  ┌─────────────────┐
  │  DIMM A    DIMM B │
  │  [  ]      [  ]  │
  └─────────────────┘
  - 通道 0 = DIMM A
  - 通道 1 = DIMM B
  - 每通道最多 1 条(性能最佳)

方案 B:4 插槽(ATX 主板)
  ┌─────────────────────┐
  │  A1   A2   B1   B2   │
  │  [ ]  [ ]  [ ]  [ ]  │
  └─────────────────────┘
  - 通道 0 = A1 + A2(如果都插了,就是双通道)
  - 通道 1 = B1 + B2
  - 最佳配置:A1 + B1(每通道 1 条,保留扩展性)

双通道的好处:
  - 带宽翻倍(64bit × 2 = 128bit)
  - 延迟略微增加(因为需要调度两个通道)
  - 实际性能提升约 5~15%(取决于应用)

总结

  • DIMM:Dual Inline Memory Module,双侧引脚,64-bit 数据宽度(无 ECC)或 72-bit(含 ECC)
  • DDR4 vs DDR5:缺口位置不同(金手指防误插),电压不同(1.2V vs 1.1V)
  • UDIMM / RDIMM / LRDIMM:无寄存器(桌面)→ 带寄存器(服务器)→ 带数据缓冲(超大规模)
  • SODIMM:笔记本小型化内存,64-pin,69.6×30mm
  • 插槽引脚:288-pin,分为电源/时钟/命令地址/数据四大类
  • 防误插:DDR4 和 DDR5 的缺口位置不同,物理上不兼容
  • 多插槽:双通道建议插不同通道的插槽(如 A1 + B1)

下篇预告(H02):为什么内存条要成对插?双通道是怎么工作的?四通道又是怎么回事?通道数和带宽的关系。


关注公众号「AI不着急」,回复”资料”获取内存学习路线图。

最后修改: 2024年9月1日

作者

评论

发表评论

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