H07 —— DDR 的功耗是怎么计算的:IDD 参数和功耗模型

金句:每一次刷新、每一次激活、每一次读写,都在消耗电力。


DDR 功耗的组成

DDR 内存的功耗由三部分组成:静态功耗(Leakage) + 动态功耗(Switching) + I/O 功耗

Bash
DDR 系统功耗分解:

1. 核心功耗(Core Power):
   - DRAM Cell 的电容充放电
   - 与频率和电压的平方成正比(P ∝ V² × f)

2. I/O 功耗(I/O Power):
   - DQ/DQS 引脚的信号驱动
   - 与频率和负载电容成正比(P ∝ C × V² × f)

3. 刷新功耗(Refresh Power):
   - 周期性刷新操作
   - 与温度成正比

总功耗 = 核心功耗 + I/O 功耗 + 刷新功耗

DDR4 功耗范围(单条 8GB):
  - 空闲时(Idle):0.5~1W
  - 典型负载:2~4W
  - 满载(100% 读写):4~6W

DDR5 功耗(单条 16GB):
  - 空闲时:0.8~1.5W(电压降低,但频率更高)
  - 典型负载:3~5W
  - 满载:5~8W

IDD 参数:芯片的电流规格

DDR Datasheet 用 IDD 参数来描述芯片的电流消耗,每个 IDD 都有一个测试条件。

Bash
DDR4 IDD 参数(JEDEC 标准):

IDD0(IDD01):全-bank 激活电流(All Bank Activate)
  测试条件:所有 Bank 都激活,然后连续读
  → 最大电流消耗状态
  → 典型值:~80~120 mA(8Gb 颗粒)

IDD1(IDD01):激活+列读电流(Active Read)
  测试条件:行激活后,连续读同一行
  → 比 IDD0 略低(不需要再激活)

IDD2N(Precharge Standby):
  测试条件:所有 Bank 预充电(关闭),无操作
  → 静态功耗,不活跃但上电
  → 典型值:~20~40 mA

IDD2P(Precharge Power-Down):
  测试条件:进入 Power-Down 模式
  → 最省电状态,< 5 mA

IDD3N(Active Standby):
  测试条件:有行处于打开状态,但不操作
  → 保持行打开的功耗
  → 典型值:~30~50 mA

IDD4R / IDD4W(Read/Write):
  测试条件:激活行后,连续读或写
  → 比 IDD1 更高(数据搬运中)
  → IDD4R ≈ 100~150 mA(8Gb 颗粒,DDR4-2400)

IDD5(Refresh):
  测试条件:执行 REF 命令时
  → 刷新期间功耗飙升
  → 典型值:~150~200 mA(但时间很短)

IDD6(Self-Refresh):
  测试条件:颗粒自己刷新(系统休眠时)
  → 极低功耗,< 5 mA(DDR4)
  → DDR5 进一步降低到 < 1 mA(LPDDR 模式)

功耗计算公式

Bash
实际功耗计算:

总功耗(P)= VDD × (IDD_avg)
IDD_avg = 工作占比 × 各状态 IDD 之和

举例:8GB DDR4-32008 颗 × 8Gb 颗粒)

假设系统运行在典型负载:
  - 5% 时间:IDD0(激活读)
  - 10% 时间:IDD1(激活读)
  - 40% 时间:IDD3N(Active Standby,行打开)
  - 45% 时间:IDD2N(Precharge Standby)

单颗粒功耗估算(VDD = 1.2V):
  IDD0 = 100 mA → P0 = 120 mW
  IDD1 = 80 mA → P1 = 96 mW
  IDD3N = 40 mA → P3 = 48 mW
  IDD2N = 25 mA → P2 = 30 mW

平均功耗:
  P_avg = 0.05×120 + 0.10×96 + 0.40×48 + 0.45×30
        = 6 + 9.6 + 19.2 + 13.5
        = 48.3 mW/颗粒

8 颗 × 48.3 mW = 386 mW(仅核心功耗)

加上 I/O 功耗(0.5~1W):
  总功耗 ≈ 1.2~1.5W(典型负载)

这就是为什么高密度内存(16GB×4 条 = 64GB)的功耗可达 10~15W,
需要专门的散热片(Heat Spreader)。

温度对功耗的影响

Bash
温度和漏电流的关系:

半导体漏电流随温度指数增长:
  I_leakage(T) = I0 × 2^((T-T0)/10)

  T0 = 25°C(参考温度)
  温度每升高 10°C,漏电流翻倍

功耗随温度的变化(DDR4-2400):

  25°C(室温):IDD2N = 25 mA
  45°C(长时间运行):IDD2N = 35 mA(+40%)
  85°C(高温环境):IDD2N = 60 mA(+140%)

这就是为什么服务器内存在高温环境下功耗显著增加。
DDR5 通过降低电压(1.2V → 1.1V)减少了功耗和发热。

温度管理建议:
  - 服务器机箱要有良好的散热(风扇道)
  - 不要在密闭小机箱里插满 4 条高频率内存
  - 高频率内存(DDR5-6400)需要更好的散热

内存散热:Heat Spreader 和散热设计

Bash
高功率内存的散热方案:

1. Heat Spreader(散热片):
   - 铝或铜制散热片,粘在内存颗粒上
   - 典型热阻:20~40 °C/W
   - 每颗颗粒约散发 0.5~1W,散热片可以有效降温

2. 主板内存槽散热:
   - 高端主板(ROG、MSI)有内存槽散热片
   - 覆盖内存插槽,防止热积累

3. 风扇直吹:
   - 服务器机箱通常有专门给内存的风扇
   - 水冷/风冷系统会考虑内存散热

DDR5 高频率内存(DDR5-6400+)的功耗:
  - 每颗颗粒约 1~1.5W
  - 8 颗 × 1.5W = 12W(总内存条功耗)
  - 需要更好的散热(散热片 + 风扇)

笔记本内存(LPDDR)的功耗:
  - LPDDR5X 电压 0.9V,功耗极低
  - 手机和平板不需要散热片

总结

  • DDR 功耗组成:核心功耗(Cell)+ I/O 功耗(DQ)+ 刷新功耗(REF)
  • IDD 参数:IDD0(激活)/IDD1(读)/IDD2N(待机)/IDD3N(行打开待机)/IDD5(刷新)/IDD6(自刷新)
  • 功耗计算:P = VDD × IDD_avg,各状态按时间占比加权平均
  • DDR4 8GB 典型功耗:空闲 ~0.5W,典型负载 ~2W,满载 ~4W
  • 温度影响:温度每升高 10°C,漏电流翻倍,功耗显著增加
  • 散热:高频率内存(DDR5-6400+)需要散热片,服务器需要风扇

下篇预告(H08):DDR5 的新功能——On-Die ECC(片内 ECC)和 Sideband ECC 是什么?它们和 RDIMM 的 Register ECC 有什么区别?


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

最后修改: 2024年5月7日

作者

评论

发表评论

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