今天要去选一台服务器的配置,在选择内存条时,发现有一些1R4,1R8,2R*4的选择,相同频率和容量下,价格不一样。过往只关注容量和频率,没有注意这块,而且价格不一样,肯定有区别,于是就查了查。
内存条根据DRAMS的数量分为Single-Rank,Dual-Rank,Quad-Rank,分别简写为1R,2R和4R。Rank是由DIMM上一组DRAMS组成的数据使用区域。Bank可以认为是Rank里的DRAM(实际不是,但这里可以这么理解)。下图清晰的展示了Rank,Bank与DIMM的关系。
一个Rank的data-bus width是64 bits(ECC是72bits,需要8个bits ECC area), 如果每个bank的data-bus width是4bits,那么就需要16个bank,如果每个bank的data-bus width是8bits,那么就需要8个bank。需要注意的是,Rank中的Bank不必限于同一个side,有可能两面都有bank,但依然是一个Rank
所以,x4和x8指的就是每个Bank的data-bus width
所以,x4和x8指的就是每个Bank的data-bus width
Dual-Rank与Quad-Rank的DIMM可以理解为分别将两个或者四个内存条合成了一个内存条。服务器最终能够使用几张内存条,使用什么类型的内存条,取决于MB上slot的数量以及系统层面对于Rank总数(总带宽)的限制。
那么实际中,如何选择呢?
大多数Vendor提供的产品,1R与2R是兼容的,可以同时存在于同一台Server中。
实际选择中,需要根据MB上DIMM的数量进行考虑。如果只插入2-4根,那么无论是1R还是2R都是可以的,甚至于2R还会提升大约5%的性能。一旦DIMM数量比较多,那么最好只选择1R的,因为Rank之间不能同时share相同的data path,同时更多Rank,也就意味着更多Bank,这也会降低DIMM的latency。
参考文档:
what-is-a-memory-rank
DIMMs: single-vs-double-vs-quad-rank
difference-between-2rx4-vs-2rx8-ram
Number of DRAM ranks vs performance