DIMM:單列、雙列與四列
DIMM 的“等級”對伺服器記憶體有什麼影響?例如,在查看伺服器配置時,我看到為同一伺服器提供以下內容:
2GB (1x2GB) Single Rank PC3-10600 CL9 ECC DDR3-1333 VLP RDIMM 2GB (1x2GB) Dual Rank PC3-10600 CL9 ECC DDR3-1333 VLP RDIMM
鑑於單列與雙列或雙列與四列的選項始終是一個:
- 快點?
- 更便宜?
- 更高的頻寬?
以下是IBM在這個主題上必須說的(第 7 頁),至少關於他們的 HS22:
確保在每個通道中填充具有適當列數的 DIMM 以實現最佳性能非常重要。只要有可能,建議在系統中使用雙列 DIMM。雙列 DIMM 提供更好的交錯,因此比單列 DIMM 具有更好的性能。
例如,對於 SPECjbb2005,一個裝有 6 個 2GB 雙列 DIMM 的系統比一個裝有 6 個 2GB 單列 DIMM 的系統的性能高出 7%。雙列 DIMM 也優於四列 DIMM,因為四列 DIMM 會導致記憶體速度下降。
另一個重要的指導方針是為每個頻道填充等效排名。例如,應避免在一個通道中混合使用一個單列 DIMM 和一個雙列 DIMM。
最終,記憶體等級數量的影響是特定於每個伺服器/晶片組的。例如,在 IBM 的 x3850X5 伺服器上,等級越高越好(參見 §3.8.4):
借助 x3850 X5 中的 Xeon 7500/6500 處理器,擁有更多列可提供更好的性能。原因在於定址方案,它可以跨行擴展頁面,從而使頁面有效地更大,從而更多的頁面命中周期。
維基百科對排名(連結)有相當好的解釋。我想說 RamCity(金士頓記憶體供應商)對排名有更簡潔的解釋(連結):
簡單地說,記憶體列是使用記憶體模組上的部分或全部記憶體晶片創建的數據塊或數據區域。
秩必須是 64 位數據寬;在支持糾錯碼 (ECC) 的記憶體模組上,64 位寬的數據區需要一個 8 位寬的 ECC 區,總寬度為 72 位。根據記憶體模組的設計方式,它們可以包含一個、兩個或四個 64 位寬數據區域(或 72 位寬區域,其中 72 位 = 64 個數據位和 8 個 ECC 位)。
文章繼續提到價格變化:
為什麼單列和雙列記憶體模組價格不同?
通常,單列記憶體模組使用 x4(“4 倍”)DRAM 晶片建構,並且比雙列記憶體模組(使用 x8 DRAM 晶片建構)更昂貴;兩種模組類型的晶片數量相同,但 x4 DRAM 比 x8 DRAM 貴。使用 PC2700 或 PC2-3200 記憶體時,雙列記憶體模組可能會限制伺服器的未來可升級性和容量。在為基於 Intel Lindenhurst 的伺服器購買記憶體模組時,需要考慮記憶體成本和容量之間的這種權衡。
在性能方面,我會參考維基百科:
rank 不能同時訪問,因為它們共享相同的數據路徑。
因此,總而言之,排名似乎更多地與密度和定價有關,而不是實際性能。誠然,我正在研究來自供應商和維基百科的概括性陳述,我認為大多數人並沒有花太多精力研究排名。重要的是(對於大多數伺服器管理員而言)RAM 具有匹配的等級。我不認為這是一個實際的規範或要求,但它有助於保持一些一致性並保持記憶體在許多類似的伺服器中可互換。
請記住,大多數伺服器都是可升級的,並且 RAM 密度在很大程度上是一個因素。最好(儘管更昂貴)為伺服器獲得更密集的 RAM,以便為未來的升級騰出空間。