1 内存条的相关定义
1.1 channel
通道,芯片支持多少个DDRC(DDR控制器)就支持多少个通道。
1.2 DIMM
DIMM称为内存条插槽,它主要分为三种UDIMM(无缓冲双列直插内存模块)、RDIMM(寄存器双列直插内存模块)、LRDIMM(低负载双列直插内存模块)
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.3 chip
内存条上贴的存储芯片,也称其为颗粒,数据位宽可以分为x4、x8、x16的。
1.4 rank
多个颗粒并联,位宽与数据位宽一样;由于CPU与内存之间的接口位宽是64bit,也就意味着CPU在一个时钟周期内会向内存发送或从内存读取64bit的数据。但是,单个内存颗粒的位宽仅有4bit、8bit或16bit,个别也有32bit的。因此,必须要把多个颗粒并联起来。组成一个位宽为64bit的数据集合,才可以与CPU互连。
1.5 bank
这里所说的bank是逻辑bank(logic bank),SDRAM的内部是一个存储阵列。阵列就如同表格一样,将数据“填”进去。单一的L-bank将会造成严重的寻址冲突,大幅度降低内存效率,所以人们在内部分割成多个L-bank。如下图为bank的示意图。
1.6 bank group
在DDR4中才有的概念,每个Bank Group可以独立读写数据,这样一来内部的数据吞吐量大幅度提升,可以同时读取大量的数据,内存的等效频率在这种设置下也得到巨大的提升。DDR4架构上采用了8n预取的Bank Group分组,包括使用两个或者四个可选择的Bank Group分组,这将使得DDR4内存的每个Bank Group分组都有独立的激活、读取、写入和刷新操作,从而改进内存的整体效率和带宽。如此一来如果内存内部设计了两个独立的Bank Group,相当于每次操作16bit的数据,变相地将内存预取值提高到了16n,如果是四个独立的Bank Group,则变相的预取值提高到了32n。
DDR5 bank group最多配置为8组,可以选择 2组、4组和最高8组的设计。单条DIMM现在拥有最大8个Bank Groups,有助于减少内存顺序读写性能下降的问题。