服务器内存UDIMM, RDIMM, LRDIMM, NVDIMM, DCPMM区别

服务器内存UDIMM, RDIMM, LRDIMM, NVDIMM, DCPMM区别,第1张

近来需要在新采购的DELL R740XD服务器上增加内存。在官方技术规格描述中,R740XD一共支持4种不同类型的内存:分别是RDIMM,RDIMM, NVDIMM, DCPMM(英特尔®傲腾™ DC 持久内存)。故在采购内存之前,中岳需要就不同种类的内存进行调研。除了上述四种内存外,在服务器领域还有一种常用的内存:UDIMM。在这里,我们对这四种内存进行学习。

UDIMM:全称Unbuffered DIMM,即无缓冲双列直插内存模块,指地址和控制信号不经缓冲器,无需做任何时序调整,直接到达DIMM上的DRAM芯片。UDIMM由于在CPU和内存之间没有任何缓存,因此同频率下延迟较小。

数据从CPU传到每个内存颗粒时,UDIMM需保证CPU到每个内存颗粒之间的传输距离相等,这样并行传输才有效,而这需要较高的制造工艺,因此UDIMM在容量和频率上都较低。

RDIMM:全称Registered DIMM,带寄存器的双列直插内存模块。RDIMM在内存条上加了一个寄存器进行传输,其位于CPU和内存颗粒之间,既减少了并行传输的距离,又保证并行传输的有效性。由于寄存器效率很高,因此相比UDIMM,RDIMM的容量和频率更容易提高。

LRDIMM:全称Load Reduced DIMM,低负载双列直插内存模块。相比RDIMM,LRDIMM并未使用复杂寄存器,只是简单缓冲,缓冲降低了下层主板上的电力负载,但对内存性能几乎无影响。

此外,LRDIMM内存将RDIMM内存上的Register芯片改为iMB(isolation Memory Buffer)内存隔离缓冲芯片,直接好处就是降低了内存总线负载,进一步提升内存支持容量。

NVDIMM:全程非易失性双列直插式内存模块(英语:non-volatile dual in-line memory module,缩写NVDIMM)是一种用于计算机的随机存取存储器。非易失性存储器是即使断电也能保留其内容的内存,这包括意外断电、系统崩溃或正常关机。双列直插式表示该内存使用DIMM封装。NVDIMM在某些情况下可以改善应用程序的性能、数据安全性和系统崩溃恢复时间。这增强了固态硬盘(SSD)的耐用性和可靠性。

指在一个模块上同时放入传统 DRAM 和 flash 闪存。 计算机可以直接访问传统 DRAM。 支持按字节寻址, 也支持块寻址。通过使用一个小的后备电源,为在掉电时, 数据从DRAM 拷贝到闪存中提供足够的电能。当电力恢复时, 再重新加载到DRAM 中。

目前, 根据 JEDEC 标准化组织的定义, 有三种NVDIMM 的实现。分别是:

NVDIMM-N指在一个模块上同时放入传统 DRAM 和 flash 闪存。 计算机可以直接访问传统 DRAM。 支持按字节寻址, 也支持块寻址。通过使用一个小的后备电源,为在掉电时, 数据从DRAM 拷贝到闪存中提供足够的电能。当电力恢复时, 再重新加载到DRAM 中。

NVDIMM-N 的主要工作方式其实和传统 DRAM是一样的。因此它的延迟也在10的1次方纳秒级。 而且它的容量, 受限于体积, 相比传统的 DRAM 也不会有什么提升。

同时它的工作方式决定了它的 flash 部分是不可寻址的。而且同时使用两种介质的作法使成本急剧增加。 但是, NVDIMM-N 为业界提供了持久性内存的新概念。目前市面上已经有很多基于NVIMM-N的产品。

NVDIMM-F指使用了 DRAM 的DDR3或者 DDR4 总线的flash闪存。我们知道由 NAND flash 作为介质的 SSD, 一般使用SATA, SAS 或者PCIe 总线。使用 DDR 总线可以提高最大带宽, 一定程度上减少协议带来的延迟和开销。 不过只支持块寻址。

NVDIMM-F 的主要工作方式本质上和SSD是一样的。因此它的延迟在 10的1次方微秒级。它的容量也可以轻松达到 TB 以上。

NVDIMM-P这是一个目前还没有发布的标准 (Under Development)。预计将与DDR5 标准一同发布。按照计划,DDR5将比DDR4提供双倍的带宽,并提高信道效率。这些改进,以及服务器和客户端平台的用户友好界面,将在各种应用程序中支持高性能和改进的电源管理。

NVDIMM-P 实际上是真正 DRAM 和 flash 的混合。它既支持块寻址, 也支持类似传统 DRAM 的按字节寻址。 它既可以在容量上达到类似 NAND flash 的TB以上, 又能把延迟保持在10的2次方纳秒级。

通过将数据介质直接连接至内存总线, CPU 可以直接访问数据, 无需任何驱动程序或 PCIe 开销。而且由于内存访问是通过64 字节的 cache line, CPU 只需要访问它需要的数据, 而不是像普通块设备那样每次要按块访问。

Intel 公司在2018年5月发布了基于3D XPoint™ 技术的Intel® Optane™ DC Persistent Memory。可以认为是NVDIMM-P 的一种实现。

硬件支持

应用程序可以直接访问NVDIMM-P, 就像对于传统 DRAM那样。这也消除了在传统块设备和内存之间页交换的需要。但是, 向持久性内存里写数据是和向普通DRAM里写数据共享计算机资源的。包括处理器缓冲区, L1/L2缓存等。

需要注意的是, 要使数据持久, 一定要保证数据写入了持久性内存设备, 或者写入了带有掉电保护的buffer。软件如果要充分利用持久性内存的特性, 指令集架构上至少需要以下支持:

写的原子性

表示对于持久性内存里任意大小的写都要保证是原子性的, 以防系统崩溃或者突然掉电。IA-32 和 IA-64 处理器保证了对缓存数据最大64位的数据访问 (对齐或者非对齐) 的写原子性。 因此, 软件可以安全地在持久性内存上更新数据。这样也带来了性能上的提升, 因为消除了copy-on-write 或者 write-ahead-logging 这种保证写原子性的开销。

高效的缓存刷新(flushing)

出于性能的考虑, 持久性内存的数据也要先放入处理器的缓存(cache)才能被访问。经过优化的缓存刷新指令减少了由于刷新 (CLFLUSH) 造成的性能影响。

提交至持久性内存(Committing to Persistence)

在现代计算机架构下, 缓存刷新的完成表明修改的数据已经被回写至内存子系统的写缓冲区。 但是此时数据并不具有持久性。为了确保数据写入持久性内存, 软件需要刷新易失性的写缓冲区或者在内存子系统的其他缓存。 新的用于持久性写的提交指令 PCOMMIT 可以把内存子系统写队列中的数据提交至持久性内存。

非暂时store操作的优化(Non-temporal Store Optimization)

当软件需要拷贝大量数据从普通内存到持久性内存中时(或在持久性内存之间拷贝), 可以使用弱顺序, 非暂时的store操作 (比如使用MOVNTI 指令)。 因为Non-temporal store指令可以隐式地使要回写的那条cache line 失效, 软件就不需要明确地flush cache line了(see Section 10.4.6.2. of Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 1)。

DCPMM英特尔®傲腾™ 技术是指以3D XPoint™内存介质与英特尔先进系统内存控制器、接口硬件及软件IP的独特组合。这项创新技术提供多种外形规格,以帮助不同系列的产品提升系统性能。它能快速访问用户计算机中的常用文档、图片、视频和应用程序,并在关闭电源后记住它们,使用户能够以更少的等待时间创建内容、畅玩游戏和完成创作。

英特尔®傲腾™ 技术既不基于NAND也非动态随机存取存储器(DRAM):这项创新技术兼具二者之所长,在内存/存储层中建立新的数据层,可以有效填补数据中心的内存和性能缺口。

区别与应用

UDIMM由于并未使用寄存器,无需缓冲,同等频率下延迟较小。此外,UDIMM的另一优点在于价格低廉。其缺点在于容量和频率较低,容量最大支持4GB,频率最大支持2133 MT/s。此外,由于UDIMM只能在Unbuffered 模式工作,不支持服务器内存满配(最大容量),无法最大程度发挥服务器性能。在应用场景上,UDIMM不仅可用于服务器领域,同样广泛运用于桌面市场。

而RDIMM支持Buffered模式和高性能的Registered模式,较UDIMM更为稳定,同时支持服务器内存容量最高容量。此外,RDIMM支持更高的容量和频率,容量支持32GB,频率支持 3200 MT/s 。缺点在于由于寄存器的使用,其延迟较高,同时加大了能耗,此外,价格也比UDIMM昂贵。因此,RDIMM主要用于服务器市场。

LRDIMM可以说是RDIMM的替代品,其一方面降低了内存总线的负载和功耗,另一方面又提供了内存的最大支持容量,虽然其最高频率和RDIMM一样,均为3200 MT/s,但在容量上提高到64GB。并且,相比RDIMM,Dual-Rank LRDIMM内存功耗只有其50%。LRDIMM也同样运于服务器领域,但其价格,较RDIMM也更贵些。

关于计算机组成原理及应用方向主要包括三类:

1.个人计算机。用于个人使用的计算机,通常包含图形显示器、键盘和鼠标等;

2.服务器。过去被称为大型机的现代形式,用于为多用户运行大型程序的计算机,通常由多个用户并行使用,并且一般通过网络访问。其中高端服务器称为超级计算机,拥有最高性能和最高成本;

3.嵌入式计算机。嵌入到其他设备中的计算机,一般运行预定义的一个或者一组应用程序。面向单一应用需求的嵌入式应用通常对成本或功耗有严格限制。

而在2000年后的“后PC时代”,个人移动设备代替了传统PC,云计算代替了传统服务器:

个人移动设备(PMD)。连接到网络上的小型无线设备,由电池供电,通过下载App的方式安装软件,如智能手机和平板电脑;

云计算。依赖于称为仓储规模计算机(WSC)的巨型数据中心,是在网络上提供服务的大服务器集群,一些运营商根据应用需求出租不同数量的服务器。

知识点2:计算机设计的重要思想

1.面向摩尔定律的设计:摩尔定律指出单芯片上的集成度(集成电路芯片中晶体管数量)每18-24个月翻一番。设计者必须预测其设计完成时的工艺水平。

2.使用抽象简化设计:使用抽象来表示不同的设计层次,在高层次中看不到低层次的细节,只能看到一个简化的模型。

3.加速大概率事件:加速大概率事件远比优化小概率事件更能提高性能。

4.通过并行提高性能。

5.通过流水线提高性能。

6.通过预测提高性能:如果从误预测恢复执行代价不高且预测的准确率相对较高,则可通过猜测的方式提前开始某些操作。

7.存储器层次:通过存储器层次来满足速度快容量大价格低这些互相矛盾的需求。如同一个堆叠的三角形,越靠近顶端速度越快价格越高,底层宽度越大容量越大。

8.通过冗余提高可靠性。

知识点3:计算机语言层次

高级编程语言:由一些单词和代数符号组成,可以由编译器转换为汇编语言。不涉及硬件,具有通用性,但目标代码冗长,不能对某些硬件进行操作。

汇编语言:又称低级语言,是一种符号语言,以助记符形式表示的机器指令。

机器语言:以二进制元形式表示的机器指令,是一种指令集的体系。CPU可直接解读,执行速度快效率高。

知识点4:冯·诺依曼体系结构

基本思想包括:计算机硬件系统由五大部分组成;采用二进制编码表示数据;将程序和数据统一表示;计算机具有顺序指令的处理能力等。

五大部分是指:运算器(ALU)、控制器、存储器、输入设备和输出设备。其中运算器和控制器合称为中央处理单元(也叫处理器,CPU)。各个组成部分通过总线连接起来,总线由数据总线DB、地址总线AB、控制总线CB组成。

知识点5:数的机器表示与补码

计算机中的数采用二进制,数码0和1由二值器件的两个稳态表示,称为bit(记为b),8个相邻的二进制位构成一个字节Byte(记为B)。

数的机器表示称为机器数,数的数学表示称为真值。

有符号数最高位用来表示符号(0为正1为负),其余位表示绝对值,这种表示方法称为原码,原码常用来描述真值。

而有符号数的机器表示是补码,0和正数的补码就是本身,负数的补码是其绝对值求反加1。补码的减法运算可以变为加法运算,于是CPU就可用加法器直接实现减法

任意一个带符号的二进制数都可表示为科学记数法N=(-1)^S*2^E*M,其中S是符号,E是指数(阶码),M是尾数。浮点数由阶码和尾数及符号位组成。

知识点6:进制转换

十进制转换为二进制或十六进制:用十进制数不断除以2或16,记下每次相除时的余数,直到商0为止,将得到的余数倒序排列即可。即“除2/16取余,逆序排列”。

1位十六进制数码正好与4位二进制数码一一对应。

知识点7:经典CPU性能公式

CPU时间=指令数 * 每条指令的平均时钟周期数(CPI) * 时钟周期时间

或 CPU时间=指令数 * 每条指令的平均时钟周期数(CPI) / 时钟频率

执行时间是唯一有效且不可推翻的计算机性能度量方法。

知识点8:易失性/非易失性存储器

存储器可分为易失性存储器与非易失性存储器,前者仅在加电时保存数据,后者掉电仍可保持。易失性存储器的主要代表是RAM(随机存取存储器);非易失性存储器包括ROM(只读存储器)、Flash memory(闪存)、磁盘等。常将易失性存储器称为主存储器,非易失性存储器称为二级存储器。

RAM可进一步分为SRAM(静态随机访问存储器)和DRAM(动态随机访问存储器)。SRAM不需要刷新电路即能保存它内部存储的数据,而DRAM每隔一段时间要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能功耗较小,但SRAM的缺点是集成度较低。通常内存由多片DRAM芯片组成,缓存采用SRAM技术。

个人移动设备中一般采用闪存,服务器中则采用磁盘。闪存的单位价格和速度均低于DRAM高于磁盘,但闪存具有写10万-100万次后老化或损坏的弱点。

知识点9:硬件概念

液晶显示(LCD):用液体聚合物薄层的带电或不带电来传输或阻止光线传输。

电容感应:许多平板电脑采用该技术实现触摸屏。在绝缘玻璃上覆盖一层透明的导体,人是导体触摸会改变屏幕的电场,进而导致电容变化。

集成电路:也叫芯片,一种将几十个至几百万个晶体管连接起来的设备。

晶体管:一种由电信号控制的简单开关,超大规模集成电路是由数十万到数百万晶体管组成的电路。

知识点10:指令、指令集、寄存器、字

CPU可以完成的一个基本操作称为指令。指令的形式是二进制代码,通常包含操作码和操作数两部分。操作码指明所要完成的操作类型,操作数则指明操作的数据对象,可以是数据本身也可以是数据所在的存储单元地址。

一台计算机的全部指令称为该计算机的指令集,常见的指令集有X86、ARM、MIPS。指令系统的发展从CISC(复杂指令系统计算机)发展到RISC(精简指令系统计算机),前者多达几百条,不易维护研制周期长,且采用了大量使用频率低的复杂指令造成硬件资源浪费。X86是CISC的代表,ARM与MIPS是RISC的代表,ARM指令集广泛使用在嵌入式系统设计,X86指令集则是目前世界上最流行的台式机体系结构。

寄存器是CPU内部的临时存储单元,能减少CPU访问内存的次数和降低指令控制的复杂度。寄存器由硬件直接构建且数量有限,是计算机硬件涉及的基本元素。

字是计算机内部进行数据处理和数据传递的基本单位,其所包含的二进制位数称为字长,字长是计算机处理精度和运算能力的反映。例如MIPS体系结构中存储器大小为32位,因此字长为32位。

知识点11:大小端编址

存储器通常按字节编址,以32位字长为例,一个字的地址必和它所包括的4字节中某个地址相匹配。大端编址表示使用最左边或“大端”字节的地址作为字地址,小端编址则表示使用最右或“小端”作为字地址。如MIPS采用大端编址。

1NVMe协议的定义及特点在过去的2016年,几乎全球所有的存储大厂都推出了基于NVMe协议的固态硬盘产品,一时间NVMe协议几乎成为了行业最为热门的词汇。那么,NVMe协议到底是什么?它和传统的AHCI协议又有哪些异同?下面,我们一起来看。NVMe协议的定义及特点NVMe,全称为Non-Volatile Memory Express,我们拆开翻译,Non-Volatile Memory中文译名为非易失性存储器。熟悉存储的都知道,存储器根据断电后是否能够存储数据为标准分为易失性和非易失性,我们常用的优盘、闪存卡等存储产品就是非易失性存储器,当然固态硬盘产品也是非易失性存储器了。而此处的Express,就是类似于PCIe中那个e,指的是通道或是规范。文章图片1NVMe是基于非易失性存储器的传输规范一般常识性的理解,NVMe是一种基于非易失性存储器的传输规范,NVMe规范由包含90多家公司在内的工作小组所定制,Intel是主要领头人,小组成员包括美光、戴尔、三星、Marvell、NetAPP、EMC、IDT等公司。此规范目的在于充分利用PCI-E通道的低延时以及并行性,还有当代处理器、平台与应用的并行性,在可控制的存储成本下,极大的提升固态硬盘的读写性能,降低由于AHCI接口带来的高延时,彻底解放SATA时代固态硬盘的极致性能。就存储整个流程来说,NVMe不仅仅是逻辑上的协议接口,还是一种指令标准,一种指定协议,它的出现彻底颠覆了存储行业长期以来以ATA为核心底层的存储逻辑,掀起了一场实至名归的存储革命。2NVMe协议和SATA的异同及小结NVMe协议和SATA的异同SATA是一种物理接口类型,执行的AHCI协议标准,是目前最为廉价和常见的固态硬盘接口,缺点便是有着6Gbps的极限读写限制,无法满足专业领域对于无延时、极致读写的要求。文章图片2NVMe协议和SATA的异同PCIe实际上是通道协议,在物理表现上就是主板上那些PCIe接口。这些通道协议,属于总线协议,能够直接连接CPU,因而几乎没有延时,成为NVMe标准的绝佳伴侣。而在AHCI标准时代,受制于协议,几乎无法发挥PCIe的实际性能,同时根据传输速度不同,PCIe还可分为X2/X4/X8。M.2接口,在固态硬盘领域,更多的是用于和传统的SATA固态硬盘进行区分的名词。根据主控执行的协议不同,M.2接口又分为NVMe协议以及AHCI协议的固态硬盘。根据协议不同,M.2固态硬盘在性能上也会有着相当的差异。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/509913.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-18
下一篇2023-06-18

发表评论

登录后才能评论

评论列表(0条)

    保存