DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

时间:2024-03-14 18:15:17

DRAM从上世纪70年代开始投入商用, 已经伴随我们作为主存近半个世纪, 并从上世纪90年代开始快速发展. 首先是1990年的FPM DRAM(Fast Page Mode DRAM)和1995年的EDO DRAM(Extended Data Out DRAM), 两种都为Asynchronous异步DRAM.

1993年三星发布了第一颗商用Synchronous同步DRAM芯片KM48SL2000, 从此开启了SDRAM的世代. 接下来DDR SDRAM在21世纪初投入商用, 20年间经历了四代, 基本上保持了五年一代的更替周期. 尽管有很多新兴NVM非易失性存储技术看起来很有竞争力, 但随着DDR5开发的积极进行和DDR6的远期计划, 未来10年SDRAM还将占据电脑主存的核心地位.

DDR4 SDRAM和DDR5 SDRAM的详细对比

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

等效频率: 1600-3200MT/s vs 3200-6400MT/s

DIMM电压: 1.2V vs 1.1V

Prefetch: 8N vs 16N, 自DDR3以来的第一次提升

颗粒密度: 2Gb-16Gb vs 8Gb - 64Gb
意味着DDR5后期会出128GB UDIMM和1TB LRDIMMDDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南 届时单条256GB RDIMM会成为服务器内存主流容量

Bank Groups: 4 vs 8

新增On-die ECC, 增强DRAM颗粒本身的RAS

也就是说Non-ECC UDIMM=8颗内置On-die ECC的DRAM颗粒, ECC UDIMM=8颗内置On-die ECC的DRAM颗粒 + 2颗DRAM颗粒用作ECC

表格上还有很多项目就不一一详解了

另外DDR5最多支持2DPC, 相比DDR4的3DPC是减少了, 不过随着通道数的增加从Skylake-SP开始3DPC已经被取消, 所以不会有影响

在等效频率3200也就是DDR5起始频率下, DDR5-3200相比DDR4-3200带宽+36%

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

八通道1DPC下频率带宽递增图

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

DDR5最大的改变是DIMM本身从单通道变为双通道, 如下图显示, 左右两边Data Bus各为独立的通道

含ECC的DDR4 DIMM为64bit+8bit ECC=72bit, DDR5变为左边32bit+8bit ECC, 右边32bit+8bit ECC, 总共64bit+16bit ECC=80bit

这样也使得含ECC的DDR5 DIMM终于左右对称了, 强迫症们喜闻乐见的事情

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

结合Burst Length改成了BL16, 只需要一条Burst就能处理64B Cache Line, 也就是说只需要一边的32+4, 变相成就了单DIMM双通道

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

在RDIMM/LRDIMM方面, DDR5另一个变化是DIMM上会内置PMIC电源管理芯片

频率的提升对电压稳定性有了更高的要求, PMIC是为了让DIMM得到更稳更纯的供电, 不过这也同时解放了主板上的VRM调节

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

DDR5还会新增一种类型叫做Differential DIMM, 概念类似先前DDR2时代以失败而告终的FB-DIMM, 未来是否被接纳还是个巨大的问号

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

DDR5正式进入市场时间不会早于2020年, 目前已知会上的平台是2021年的Intel Sapphire Rapids-SP


Part B: 服务器两大内存模组类型RDIMM vs LRDIMM

这里部分截取之前写过的 https://www.chiphell.com/thread-1684996-1-1.html, 里面图早挂了而且内容有些陈旧也是我写这篇文章的原因之一

RDIMM就是大家俗称的REG ECC内存, 最前面的R指的是Registered寄存, 为了保证并行传输的有效性在内存条上加了一个寄存器进行转发, 从而减少CPU内存控制器的负载.

LRDIMM全称为Load Reduced DIMM, 顾名思义是起到了减轻负载的作用, 其前身是FB-DIMM(Fully Buffered DIMM), 因为功耗以及性能问题FB-DIMM并没有取得多大成功仅持续了DDR2一代, 从DDR3开始被LRDIMM取代. RDIMM, LRDIMM以及PC电脑上的UDIMM(Unbuffered DIMM)构成了台式型内存的三大支柱, 其中UDIMM包括了大家普通电脑里的内存以及很容易搞混的ECC UDIMM(也就是一般所指的纯ECC内存).

DDR3时代的RDIMM和LRDIMM

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

在DDR3时代, LRDIMM将RDIMM中的寄存器改成了iMB(Isolation Memory Buffer), RDIMM只寄存内存控制器输出的控制(CMD), 地址(ADDR), 时钟信号(CLK), 数据仍然是直连的. LRDIMM则进一步减少了内存控制器和DRAM芯片之间的负载, 将数据也进行缓冲, 优点是减少内存控制器可见的Rank数, 缺点是延迟较RDIMM有了进一步的增加. 通常一根DIMM可以做1/2/4/8个Ranks, 标为1R/2R/4R/8R或SR/DR/QR/OR, 而CPU每通道有8个逻辑Ranks的上限. LRDIMM上增加了一个功能叫Rank Multiplication(2:1和4:1), 可将物理Ranks数修改为控制器固定可见的逻辑Ranks数, 比如4个物理Ranks通过2:1变为2个逻辑Ranks, 8个物理Ranks通过4:1变为2个逻辑Ranks, 这样对CPU来说永远为2Ranks.

DDR4时代的RDIMM, LRDIMM和3D TSV

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

来自硅谷的IDT(Integrated Device Technology)和上海的澜起科技(Montage Technology)率先研发出了新的LRDIMM芯片, 将原来的iMB改成了9个分散式DB(Data Buffer), 原来中间的位置变成了RCD(Registered Clock Driver), RDIMM也随之一并改用RCD. 分散式DB减少了缓冲器与DRAM芯片之间的Trace Length, 大大降低了LRDIMM的延迟, 而原本LRDIMM在多Ranks下的优势也随系统内存容量的增加越来越明显. 此外, DDR3 LRDIMM的Rank Multiplication升级为Chip-Select Encoding, 它能让系统自动识别正确的Rank从而寻址到背后所有的Ranks, 理论上每个通道最大寻址Rank数为24个.

下面两张图比较了DDR4-2400 RDIMM vs DDR4-2400 LRDIMM的延迟和带宽, 可以看到32GB 2R RDIMM和32GB 2R LRDIMM性能差距已缩小很多

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

DDR4还新增了3D TSV堆叠技术, 常见的DRAM颗粒多Die堆叠封装有DDP双层和QDP四层, 颗粒之间通过Wire Bonding打线接合的方式连接, 每个Die都通过PCB电路连接到内存控制器或Data Buffer. 3D TSV顾名思义则是通过Through-Silicon Via硅穿孔将各Die连接到一起, 同时分出Master Chip和Slave Chips, 无论多少层堆叠仅有一个Master Chip与内存控制器或Data Buffer相连. 3D TSV在多Die封装上带来的优势显而易见, 减少了Rank间的操作进一步降低负载提高性能, 容量扩展性更高, 相比同层数的普通堆叠封装更省电.

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

DDR5时代的RDIMM和LRDIMM

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

DDR5延续了RDIMM上RCD和LRDIMM上RCD+Data Buffer的设计, 和DDR4最大的的区别在上文第一部分已经提到

同DRAM芯片一样, DDR5 LRDIMM上的Date Buffer也会从9个增加到10个, 两边对称各5颗


Part C: DRAM DIMM配置之Balanced Memory的艺术

Memory Interleaving & Rank Interleaving 内存和Rank交错

这里以Intel Xeon SP为例, 每个CPU有两个iMC内存控制器, 每个iMC控制三通道, 每个通道支持1条DIMM(1DPC)或者2条DIMM(2DPC)

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

内存交错分散连续内存访问到每一个通道, 而不是全部分配到单一通道, 从而提高内存带宽

内存交错会产生一个Set交错集, 这个集=1的时候性能最好, 当两边配置不平衡时会出现额外的Set

这时候内存控制器会耗费大量的Overhead去维护这些Sets, 从而导致内存带宽的下降

Set里面的DIMM数量也决定了Memory Region的大小, Region越大性能越好, 所以六通道Set > 四通道Set > 二通道Set

此外, 在每个通道内部还发生着二级交错叫Rank Interleaving, Intel平台每通道Rank数小于等于4的情况下内存性能随着Rank数的增加而提升

由于电气性能有限, 每通道Rank数>4的情况下内存性能反而开始下滑, 原因是此时内存控制器在不同Rank之间切换要花掉更多时间

Balanced Memory的三条评判准则

1. 所有已插DIMM的通道, 应有相同的总内存容量和总Rank数

2. 每一路U的内存控制器, DIMM配置应完全相同

3. 同一服务器的所有路U, DIMM配置应完全相同

以下是单路1-12条DIMM的带宽对比, 测试采用了STREAM Triad

1DPC

1*DIMM 1:0:0,0:0:0 = Unbalanced = 18%
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

2*DIMM 1:0:0,1:0:0 = Balanced = 35%
2*DIMM 1:1:0,0:0:0 = Unbalanced = 34%

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

3*DIMM 1:1:1,0:0:0 = Unbalanced = 51%
3*DIMM 1:1:0,1:0:0 = Unbalanced = 20%, iMC0多出的一根形成了一个单通道交错集, 性能大幅下滑

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

4*DIMM 1:1:0,1:1:0 = Balanced = 67%
4*DIMM 1:1:1,1:0:0 = Unbalanced = 35%

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

5*DIMM 1:1:1,1:1:0 = Unbalanced = 34%
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

6*DIMM 1:1:1,1:1:1 = Balanced = 97%, 大部分情况下的推荐配置, 这里用的是2R所以"只有"97%, 4R可以达到100%
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

2DPC

7*DIMM 2:1:1,1:1:1 = Unbalanced = 30%, 在上面6条基础上即便只增加一条, 多出来的交错集也会导致性能大幅下降
7*DIMM 2:2:0,1:1:1 = Unbalanced = 34%, 出现了四通道, 双通道和单通道3个交错集

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

8*DIMM 2:2:0,2:2:0 = Balanced = 68%
8*DIMM 2:1:1,2:1:1 = Unbalanced = 34%

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

9*DIMM 2:2:2,1:1:1 = Unbalanced = 51%
9*DIMM 2:2:1,2:1:1 = Unbalanced = 34%

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

10*DIMM 2:2:1,2:2:1 = Unbalanced = 67%
10*DIMM 2:2:2,2:2:0 = Unbalanced = 17%, 这个看起来挺平衡, 但实际上是所有配置中性能最差的

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

11*DIMM 2:2:2,2:2:1 = Unbalanced =41%
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

12*DIMM 2:2:2,2:2:2 = Balanced = 100%, 在服务器整机系统上2DPC是相当常见的, 这个时候12根2R毫无疑问是最好的选择
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

汇总, 2/4/6/8/12根都可以配置Balanced Memory, 优先级12>6>8>4>2

DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

DIMM合理配置指南

1. 如果板子只能1DPC, 可选4Ranks最大化Rank Interleaving效能, 如果2DPC插满12根应选2Ranks, 总之2Ranks是万金油

2. 由总容量需求和板子搭配跳最佳单条容量, 比如单路192GB/6*DIMM=32GB, 双路768GB/12*DIMM=64GB

3. 如果因为各种原因无法达到Balanced Memory, 也应做到Near-Balanced Memory, 后者会损失3%的性能

Near-Balanced与Balanced的配置方法相同, 唯一的区别在于两个内存控制器下的DIMM容量不同, 比如3根32GB和3根16GB DIMM(但Rank数要一致)

如果近期有采购Samsung RDIMM/LRDIMM需求的可以辅助阅读这片文章 https://www.chiphell.com/thread-1994873-1-1.html


Part D: Intel DCPMM(Optane DIMM Gen1 Apache Pass)在单/双路系统中的配置指南

DCPMM的几条基本规则

1. 第一代DCPMM总线运行在2666的等效频率, 和DDR4-2933 DRAM一起使用时DRAM会降频到2666

2. 每个通道内只能插一根DCPMM, 不同容量DCPMM不能一起混用

3. 在易失的MM(Memory Mode)模式下, DRAM和DCPMM必须在iMC0和iMC1上对应搭配

为了最大化DRAM, 一般只推荐先插满6根DRAM再配置DCPMM, 如6*DRAM+2*DCPMM, 或6*DRAM+6*DCPMM

4. 在非易失的AD(App Direct)模式下, 只需要每个iMC下有1根DRAM, 1DPC就是2*DRAM+4*DCPMM, 2DPC则为2*DRAM+10*DCPMM

但实际情况下推荐的配置仍为Balanced DRAM+DCPMM, 如6*DRAM+2*DCPMM, 或6*DRAM+6*DCPMM

5. 在MM模式下, DRAM为NM(Near Memory)做缓存, DCPMM为FM(Far Memory)做系统实际可用内存

DRAM和DCPMM的容量比应在1:4和1:16之间, 低了浪费DRAM的缓冲容量, 高了则DRAM命中率不足, 最佳效能的容量比是1:4

6*128GB DCPMM最佳搭配是6*32GB DRAM, 最小搭配是6*8GB DRAM

6*256GB DCPMM最佳搭配是6*64GB DRAM, 最小搭配是6*16GB DRAM

6*512GB DCPMM最佳搭配是6*128GB DRAM, 最小搭配是6*32GB DRAM

那么6+2的板子又是什么情况呢, 你会发现DCPMM这时候和大容量DRAM是完全冲突的

2*128GB DCPMM=256GB, 再除以4=64GB, 6*16GB DRAM已有96GB, 于是只能插6*8GB DRAM, 比例为5.33

2*256GB DCPMM=512GB, 再除以4=128GB, 6*32GB DRAM已有192GB, 于是只能插6*16GB DRAM, 比例同上

2*512GB DCPMM=1024GB, 再除以4=256GB, 6*64GB DRAM已有384GB, 于是只能插6*32GB DRAM, 比例同上

当然以上说的都是MM模式, AD模式不受此限制, 对于普通用户来说AD模式应用不太可能接触到, 因此很显然到目前为止DCPMM并不适合一般人使用

下面是各种板型的具体配置, 其中包含Symmetric对称和Asymmetric不对称两种插法, 只有在1根DCPMM的情况下才会采用不对称插法


单路6*DIMM, 可以4*DRAM+2*DCPMM, 但因为只有6根建议插满DRAM, 不推荐上DCPMM
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

单路6+2*DIMM, 毫无疑问是6*DRAM+2*DCPMM, 注意到DCPMM是插在两个内存控制器距离CPU最近的两个插槽
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

双路12*DIMM(每路6*DIMM), 和单路6*DIMM一样只推荐插满DRAM
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

双路16*DIMM(每路6+2*DIMM), 推荐每路6*DRAM+2*DCPMM, 注意到DCPMM是插在四个内存控制器距离CPU最近的四个插槽
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南

双路24*DIMM(每路12*DIMM), 使用DCPMM最佳的平台, 毫无疑问每路应选择6*DRAM+6*DCPMM
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南
DDR5 SDRAM简要前瞻以及DRAM DIMM和DCPMM配置指南


References
https://pc.watch.impress.co.jp/docs/column/semicon/1076835.html
https://pc.watch.impress.co.jp/docs/column/semicon/1080032.html
Introducing Micron DDR5 SDRAM: More Than a Generational Update
Memory Modules in the Clouds
Introducing LRDIMM - A New Class of Memory Modules
Unprecedented Memory Bandwidth on Samsung DDR4 LRDIMM Enabled by IDT's Register and Data Buffer
LRDIMMs provide a superior alternative solution for both deeper memory and higher data bandwidth
Boosting the Performance of SAP S/4HANA and Analytical Banking Applications on SAP HANA
Overview of DDR4 memory in HPE ProLiant Gen9 Servers with Intel Xeon E5-2600 v3 Best Practice Guidelines
DDR4 for Dummies 3rd HPE Special Edition
Intel Xeon Scalable Family Balanced Memory Configurations
Memory Configuration for X11 UP/DP/MP Motherboards