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也更贵些。
在dell的11代服务器内存模式有三种,Memory Optimized Mode、Advanced ECC Mode、Mirror Mode。这三种有什么区别呢?Memory Optimized Mode:优化器模式
DDR3的内存控制器都在CPU上,每个CPU上有三个独立的Memory Controller Hub(MCH)。在这个模式下,MCHs是独立工作的,一个可以读,一个可以写,一个可以空闲。内存可以安装在one、two、three chanels上。这也就意味着有些不符合常规的内存接法可以正常工作。比如3G,6G,12G。
Advanced ECC Mode:
这个模式下,将两个MCH绑在一起变成一个128位的总线,另外一个MCH无法使用,如果开启这个模式并在剩余的MCH上接内存,机器就会报错。
Mirror Mode:
这个模式下,系统应用三个chanel中的两个,每个chanel写同样的数据,读的时候采取轮询的方式。如果发现有一个chanel的内存出错,系统会自动屏蔽此chanel。运用这种模式,能使用的内存容量是安装上去的一半。
假设有9个dimm,一共有三个chanel,A1A4A7 一个chanel,A2A5A8一个chanel,A3A6A9一个chanel.而Advanced ECC Mode 和Mirror Mode只能用到两个MCH,也就是只能使用两个chanel,默认是将A1A4A7这个chanel闲置
简单来说 (个人猜测)
1 优化器模式 内存随便插 性能较低
2 高级ECC模式 支持多通道 最高性能 但是只能插在特定的内存插槽
4 镜像模式最高很简单 你插入四条8G内存 只会显示16G 另一半做冗余 坏了一根也没关系!
服务器常用的内存主要有三种1.ecc
内存,“error
checking
and
correcting”的简写,中文名称是“错误检查和纠正”。
一般intel3xxx系列主板使用此内存条。
2.reg-dimm
带寄存器register芯片和unbuffered
ecc不带缓存。
带有register的内存一定带buffer(缓冲),并且能见到的register内存也都具有ecc功能,其主要应用在中高端服务器及图形工作站上。
3.fb-dimm(fully
buffered
dimm),全缓冲内存模组内存。
fb-dimm另一特点是增加了一块称为“advanced
memory
buffer,简称amb”的缓冲芯片。这款amb芯片是集数据传输控制、并—串数据互换和芯片而fb-dimm实行串行通讯呈多路并行主要靠amb芯片来实现。
如intel5xxx系列主板使用此内存条。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)