本文來自微信公眾號:開發內功修煉 (ID:kfngxl),作者:張彥飛 allen
大家好,我是飛哥!
之前有位讀者問我為什么服務器內存上有這么多的顆粒,今天我專門就這個話題成文一篇作為回復。
各位從事服務器端開發的同學天天都在開發代碼,代碼都需要內存。確實了解一下服務器內存硬件是挺有有必要的。
所以我特地找來了一個服務器內存條來。下圖是一個 32 GB 服務器內存條的正面和反面圖。
可見服務器內存上有很多的黑色顆粒,相比下面的臺式機內存顆粒要多很多。
今天我們就專門寫一篇文章來給大家解釋為什么服務器內存中顆粒更多的原因。
原因 1:服務器內存需要 ECC 功能在開篇所示的內存正面有著一串字符串標識 32 GB 2R/*4 PC4-2666V-RB2-12-DB1。
在這段標識中,第一段的 32 GB,是內存的容量大小。第二段后面的 2R*4 我們在《理解內存的 Rank、位寬以及內存顆粒內部結構》一篇文章中也介紹過了,2R:表示該內存有 2 個 Rank,*4:表示每個內存顆粒的位寬是 4 bit。
不過按照這個位寬參數,每個 Rank 只需要 16 個內存顆粒就夠了,2 個 Rank 需要 32 個 Chip 內存顆粒就夠了。
而我們上圖中的內存正面有 19 個 內存顆粒,背面有 18 個內存顆粒。19 + 18 = 37 個黑色顆粒。
這是因為服務器區別于普通的臺式機電腦,需要 ECC 糾錯功能,以及 RDIMM / LRDIMM 在內存顆粒中加入寄存器模塊,使得內存的頻率更高(頻率高的內存性能就會更好),容量更大。
DRAM 內存是一種易失性的存儲,它是不能 100% 保證存儲的數據不發生變化的。一根 8 GB 的內存條平均大約每小時會出現 1 - 5 個比特翻轉錯誤。
我們個人在辦公的時候,由于內存主要都用來處理圖片、視頻等數據。即使內存出現了比特翻轉,可能影響的只是一個像素值,沒有太大的影響,也很難感覺出來。
在服務器應用中,處理的一般都是非常重要的計算,可能是一些推薦計算,也可能是一筆訂單交易,對出錯的容忍度是很低的。另外一臺服務器經常是連續要運行幾個月甚至是幾年。因此總的來說,服務器對穩定性的要求極高,不允許比特翻轉錯誤發生。
ECC 是一種內存專用的技術。它的英文全稱是 “Error Checking and Correcting”,對應的中文名稱就叫做“錯誤檢查和糾正”。從它的名稱中我們可以看出,ECC 不但能發現內存中的錯誤,而且還可以進行糾正。
在實現上,ECC 內存會板上額外再添加內存顆粒來專門負責檢查錯誤并糾正錯誤。
帶 ECC 功能的內存,需要為 CPU 同時提供 72 位的讀寫,其中 64 位是數據,另外 8 位用于 ECC 校驗。
我們開篇提到的內存的顆粒。
位寬是 4,為了提供 8 位的 ECC 校驗數據,每個 Rank 需要額外 2 個內存顆粒來存儲 ECC 數據。所以每個 Rank 總共需要 16 + 2 = 18 個內存顆粒。
Rank 數量是 2,所以總共需要 18 * 2 = 36 個內存顆粒來存儲用戶數據以及校驗位
原因 2:RDIMM 地址信號緩存上一小節我們對開篇內存計算其包含 ECC 功能后總共需要 36 個內存顆粒,而在圖片中我們實際看到有 37 個黑色顆粒。
這個多出來的一個顆粒是做地址等控制信號緩存的。
服務器一般采用的是 RDIMM(帶寄存器雙列直插模塊)或者 LRDIMM(低負載雙列直插內存模塊)。無論是 RDIMM 還是 LRDIMM,都比普通的內存要多一個帶寄存器的時鐘驅動器(RCD)模塊。
RCD 從主機存儲器控制器獲取命令地址總線、控制信號和時鐘信號,然后將這些信號流扇出到 DIMM 上的 DRAM。所有的信號通過 RCD 進入 RDIMM 后都會重新計時和清理。
從開篇的圖中,我們確實也找到了這個模塊。
有了這個模塊的支持,能顯著降低信號干擾,進而大幅提升穩定性。這樣單條內存的容量可以做到更大一些。
原因 3:LRDIMM 數據信號緩存另外還有就是對于大內存的服務器,可能 RDIMM 提供的單條內存容量還不夠,還需要更大。
LRDIMM 相比 RDIMM 在引入寄存緩存器 RCD 的基礎上,又進一步引入了數據緩沖器 DB(Data Buffer)。
引入 DB 數據緩沖器作用是緩沖來自內存控制器或內存顆粒的數據信號。實現了對地址、控制信號、數據的全緩沖。這種內存價格更貴,但可以支持更大容量。
如下是一個 LRDIMM 的實物圖。
簡單總結一下,服務器內存硬件上顆粒數量更多的原因有 3 個
需要 ECC 功能,需要比普通內存多 1/8 的顆粒數來支持 ECC
需要 RCD 模塊降低地址等控制信號干擾影響,將單條容量做到更大
需要 DB 模塊降低數據信號干擾影響,進一步將單條容量提高
想深入了解 RDIMM 和 LRDIMM 原理的話,我推薦大家一個 youtube 上的視頻,我覺得講解的非常清楚。視頻地址:https://www.youtube.com/ watch?app=desktop&v=opR0pARpieg
本文鏈接:http://www.tebozhan.com/showinfo-119-93874-0.html為什么服務器內存硬件上的黑色顆粒這么多
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 如何拍雨,清晰、好看、有創意