在服务器系统中,内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
早期内存通过存储器总线和北桥(MCH)相连,北桥通过前段总线与CPU通信。
从Intel Nehalem起,北桥被集成到CPU内部后,内存直接通过存储器总线和CPU相连。 AMD采用 Socket FM1及 Intel 采用 LGA 1156 插槽之后的处理器都集成了北桥,独立的北桥已经消失,主板上仅余下南桥。
内存由内存芯片、电路板、金手指等部分组成
DDR1= 大片+圆口;
DDR2= 小片+圆口;
DDR3= 小片+方口;
DDR4= 小片+方口;
DDR4 金手指为中间稍突出、边缘收矮(这么设计主要为了比较好插入,并减少印刷电路板在安装DDR4记忆体模组时,所承受的压力)
DDR4内存条外观变化意味着,DDR4内存不再兼容DDR3,老平台电脑无法升级DDR4内存,除非将CPU和主板都更换为新平台。
关于DDR技术
DDR严格来说应该叫DDR SDRAM,习惯称为DDR,部分初学者也常看到DDR SDRAM,就认为是SDRAM(误解)。
DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用SDRAM生产体系。
SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;
而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下 降期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与SDRAM相同的总线频率下达到更高的数据传输率。
DDR4内存保护技术
ECC
Full Mirror
Address Range Mirror
SDDC/SDDC+1
Rank Sparing Mode
Static Virtual Lockstep
Failed DIMM Isolation
Memory Thermal Throttling
Memory Address Parity Protection
Memory Demand/Patrol Scrubbing
Device Tagging
Data Scrambling
ADDDC/ADDDC+1
8.DDR5内存参数介绍—Rambus
5年前,Rambus已经公布了DDR5内存和HBM3存储规划,显示:
HBM3基于7nm工艺,带宽高达4GT/s,按照单芯片1024bit位宽,速度512GB/s到1TB/s,也就是比HBM2直接翻了两番。
关于DDR5内存,目标I/O带宽6.4Gbps,总带宽51.2GB/s,频率4800~6400MHz,预取位数16bit,均比DDR4翻番。
JEDEC还没有正式发布DDR5规范,但是DRAM制造商和SoC设计人员正在全力准备DDR5的发布。
在SoC方面,AMD的EPYC Genoa和英特尔的Xeon Sapphire Rapids在2021~ 2022年发布时将支持DDR5 DRAM。
Samsung计划量产DDR5 存储颗粒,单颗高达即8GB;DDR5 预计明年初,将普遍用在终端用户使市场。
在时钟频率方面,DDR5最高可至DDR5-8400。双通道DDR5-8400 的频宽高达134.4GB/s,等于双通道DDR4-3200 (51.2GB/s) 的2.625 倍,或等于双通道DDR4-4000 (64GB/s) 的2.1 倍。
DDR5 带来了更高的数据速率、更低的能耗和更高的密度。DDR5 发布后的最大数据速率为 4800MT/s(百万次/秒),而 DDR4 为 3200MT/s。系统级仿真中的并行比较显示,DDR5 的有效带宽约为 DDR4 的 1.87 倍。
在电力消耗部分,DDR5的工作电压为1.1V,低于DDR4的1.2V,能降低单位频宽的功耗达20%以上。
容量越来越大(4GB -> 8GB -> 16GB ->32GB -> 64GB->..512GB)
电压越来越低(1.5v -> 1.35v -> 1.2v…),具体对应 DDR1(2.5V) -> DDR2(1.8V) -> DDR3(1.5v) ->DDR3L(1.35v) -> DDR4(1.2v)->DDR5(1.1V)
频率越来越高(1333 -> 1600 -> 1866 -> 2133 -> 2400->..3200)
在普通的内存上,常常使用一种技术,即Parity,它增加一个检查位给每个资料的字元(或字节),并且能够侦测到一个字符中所有奇(偶)同位的错误,但Parity有一个缺点,当计算机查到某个Byte有错误时,并不能确定错误在哪一个位,也就无法修正错误。
ECC:基于上述情况,产生了一种新的内存纠错技术,那就是ECC,它是一种广泛应用于各种领域的计算机指令中,是一种指令纠错技术。ECC的英文全称是“ Error Checking and Correcting”,对应的中文名称就叫做“错误检查和纠正”,从这个名称我们就可以看出它的主要功能就是“发现并纠正错误”,它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误。
Chipkill技术是IBM公司为了解决目前服务器内存中ECC技术的不足而开发的,是一种新的ECC内存保护标准。
ECC内存只能同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据有错误,则一般无能为力。目前ECC技术之所以在服务器内存中广泛采用:
一则是因为在这以前其它新的内存技术还不成熟。
再则在目前的服务器中系统速度还是很高,在这种频率上一般来说同时出现多比特错误的现象很少发生,正因为这样才使得ECC技术得到了充分地认可和应用,使得ECC内存技术成为几乎所有服务器上的内存标准。
*主流CPU平台选用4GB、8GB、16GB、32GB内存请引导客户使用RDIMM内存;
按体积分
内存分为DIMM、Mini-DIMM、SODIMM(Small Outline DIMM)、MicroDIMM、VLP(Very Low Profile)、ULP(Ultra Low Profile)
和上面的普通内存相比,还有一种非易失性内存NVDIMM。NVDIMM 是由 JEDEC 固态技术协会所定义,相关內容如下:
符合 DDR4 标准.
能够相容于标准的 DIMM 插槽.
Module 上面同时会有DRAM以及NAND Storage,系统运行时, NVDIMM 就像 DRAM 一样进行运算.当系统供电中断时(有可能是突然断电或正常关机), NVDIMM会由超级电容供电, 把DRAM的数据写回NAND Storage中. 当电力恢复, 再把资料搬回 DRAM.
由于当前NVDIMM在硬件上没有太大的优势,且需要软件层面增加较多的适配,所以华为服务器目前暂不支持NVDIMM。预计会在V6 CPU(Cascade CPU)引入另外一种非易失内存:AEP内存。
服务器常用内存生产厂家:
内存颗粒(DRAM)三大原厂:Samsung、SK Hynix和Micron。
模组厂家:Ramaxel 和Kingston购买三大原厂颗粒制作内存条(DIMM)
关于RANK说明:
CPU与内存的接口位宽是64bit,单个内存颗粒的位宽仅有4bit、8bit。
因此,必须把多个颗粒并联起来,组成一个位宽为64bit的数据集合,才可以和CPU互连。
64bit集合称为一个RANK。
*适用于Samsung、SK Hynix、Micron和Ramaxel内存条。
*内存颗粒越多性能越优(理论上x4 比 x8性能优)。
*内存Rank 数越多性能越优。
支持内存数量的最大值,取决于CPU类型、内存类型、rank数量以及工作电压。
同一台服务器必须使用相同型号的DDR4内存,且全部内存的运行速度均相同,速度值为以下各项的最低值:
● 特定CPU支持的内存速度。
● 特定内存配置最大工作速度。
● 不同类型(RDIMM、LRDIMM)和不同规格(容量、位宽、rank、高度等)的DDR4内存不支持混合使用。
1、 Purley平台支持的内存类型有RDIMM和LRDIMM;
2、 Purley平台支持的DIMM频率有:2133/2400/2666/2933(CasCade);
3、推荐采用平衡插法配置内存,所有内存通道配置一样的内存(包括速率、容量、Rank等),不支持不同类型DIMM的混插;
4、多颗CPU配置时,首先保持各个CPU的内存配置一样;
5、当只有一个DIMM时,必须插在给定通道的slot0槽位(离CPU最远的位置);
6、当单rank、双rank、四rank DIMM插成2DPC,总是先从最远的槽位开始插rank高的DIMM
注:2 DPC:2 DIMM per Channel (每个通道插2根DIMM条)
附:内存带宽计算:
满配最大内存带宽 = 内存标称频率*内存总线位数*通道数*CPU个数
实际使用的内存带宽 = 内存标称频率*内存总线位数*实际使用的通道数
举例:
如2路CPU,支持64根内存,通道数为6的服务器,配2666的内存条时内存的带宽为:
2666 * 64 * 6 * 2 =2047488 Mbit/s=250GB/s