今天要去選一臺服務器的配置,在選擇內存條時,發現有一些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