服務(wù)器升級硬件篇——內(nèi)存
當(dāng)我們在購買服務(wù)器時,通常只考慮了當(dāng)時的預(yù)算以及配置,卻忽略了日后升級配件的費用和一些問題。我們一般情況下不用太在意內(nèi)存顆粒,幾乎所有的服務(wù)器廠商都會建議用戶采用自身服務(wù)器品牌的內(nèi)存進行更換升級(51CTO推薦文章:服務(wù)器升級硬件篇——CPU)。
大家都知道服務(wù)器內(nèi)存與普通PC機的內(nèi)存有所區(qū)別,一般都帶有ECC校驗功能。通常情況下我們會選擇與服務(wù)器品牌相同的內(nèi)存品牌。但是實際上內(nèi)存都是由現(xiàn)代,美光,爾必達,三星等廠商為服務(wù)器廠商生產(chǎn)的。
不同品牌的內(nèi)存條
不同的內(nèi)存條
升級時候還有一點不能忽略,除了選擇同樣頻率的內(nèi)存,既DDR3-1333Mhz,DDR2-667Mhz等。還應(yīng)注意,服務(wù)器內(nèi)存通常來說是成組購買升級的。既每個內(nèi)存通道內(nèi),盡量要使用相同品牌、相同顆粒、相同頻率、相同電壓、相同校驗技術(shù)(chipkill,ecc)、相同型號(udimm rdimm)的內(nèi)存條。
這點尤其重要,否則服務(wù)器可能會報錯。
服務(wù)器內(nèi)存與普通內(nèi)存有什么區(qū)別?
#p#
內(nèi)存校驗技術(shù)
一般來說也就是后面兩種區(qū)別較大,通常來說服務(wù)器內(nèi)存都帶有校驗技術(shù),而普通PC機內(nèi)存是不具備的。相對傳統(tǒng)的ECC校驗技術(shù),chipkill又是何方神圣呢?
“探路者”探測器登陸火星
在十幾年前,相傳在遙遠(yuǎn)的火星上出現(xiàn)了名為“探路者”的怪物……
IBM引入大型機的技術(shù)為美國航天局(NASA)的"探路者"探測器赴火星探險而研制了Chipkill。它是IBM公司為了彌補目前服務(wù)器內(nèi)存中ECC技術(shù)的不足而開發(fā)的,是一種新的ECC內(nèi)存保護技術(shù)。
ECC內(nèi)存技術(shù)雖然可以同時檢測和糾正單一比特錯誤,但如果同時檢測出兩個以上比特的數(shù)據(jù)錯誤,則無能為力。但基于Intel處理器架構(gòu)的服務(wù)器的CPU性能以幾何級的倍數(shù)提高,而硬盤驅(qū)動器的性能同期只提高了5倍,因此為了保證正常運行,服務(wù)器需要大量的內(nèi)存來臨時保存從CPU上讀取的數(shù)據(jù)。這樣大的數(shù)據(jù)訪問量就導(dǎo)致單一內(nèi)存芯片在每次訪問時通常要提供4(32位)或8(64位)字節(jié)以上的數(shù)據(jù)。一次性讀取這么多數(shù)據(jù),出現(xiàn)多位數(shù)據(jù)錯誤的可能性會大大提高,而ECC又不能糾正雙比特以上的錯誤,這樣就很可能造成全部比特數(shù)據(jù)的丟失,系統(tǒng)就會很快崩潰。IBM的Chipkill技術(shù)是利用內(nèi)存的子結(jié)構(gòu)方法來解決這一難題的。
隨著技術(shù)的發(fā)展,這些年已經(jīng)出現(xiàn)了關(guān)于內(nèi)存更多的保障技術(shù)。#p#
熱備內(nèi)存—Sparing
熱備內(nèi)存技術(shù)
進行內(nèi)存熱備時,做熱備份的內(nèi)存在正常情況下是不使用的,也就是說系統(tǒng)是看不到這部分內(nèi)存容量的。每個內(nèi)存通道中有一個DIMM不被使用,預(yù)留為熱備內(nèi)存。芯片組中設(shè)置有內(nèi)存校驗錯誤次數(shù)的閾值, 即每單位時間發(fā)生錯誤的次數(shù)。當(dāng)工作內(nèi)存的故障次數(shù)達到這個“容錯閾值”,系統(tǒng)開始進行雙重寫動作,一個寫入主內(nèi)存,一個寫入熱備內(nèi)存,當(dāng)系統(tǒng)檢測到兩個內(nèi)存數(shù)據(jù)一致后,熱備內(nèi)存就代替主內(nèi)存工作,故障內(nèi)存被禁用,這樣就完成了熱備內(nèi)存接替故障內(nèi)存工作的任務(wù),有效避免了系統(tǒng)由于內(nèi)存故障而導(dǎo)致數(shù)據(jù)丟失或系統(tǒng)宕機。這個做熱備的內(nèi)存容量應(yīng)大于等于所在通道的最大內(nèi)存條的容量,以滿足內(nèi)存數(shù)據(jù)遷移的最大容量需求。#p#
內(nèi)存鏡像—Mirroring
內(nèi)存鏡像是將內(nèi)存數(shù)據(jù)做兩個拷貝,分別放在主內(nèi)存和鏡像內(nèi)存中。系統(tǒng)工作時會向兩個內(nèi)存中同時寫入數(shù)據(jù),因此使得內(nèi)存數(shù)據(jù)有兩套完整的備份。由于采用通道間交叉鏡像的方式,所以每個通道都有一套完整的內(nèi)存數(shù)據(jù)拷貝。
在系統(tǒng)芯片組中設(shè)置有 “容錯閾值”。如果任意內(nèi)存達到了“容錯閾值”,其所在通道就被標(biāo)示出來,另一個通道單獨工作。但仍然保持雙通道的內(nèi)存帶寬。
內(nèi)存鏡像技術(shù)
內(nèi)存鏡像有效避免了由于內(nèi)存故障而導(dǎo)致數(shù)據(jù)丟失。從上圖中可看出,鏡像內(nèi)存和主內(nèi)存互成對角線分布,如果其中一個通道出現(xiàn)故障不能繼續(xù)工作,另一個通道仍然具有故障通道的內(nèi)存數(shù)據(jù),有效防止了由于內(nèi)存通道故障導(dǎo)致的數(shù)據(jù)丟失,極大提升了服務(wù)器可靠性。鏡像內(nèi)存的容量要大于等于主內(nèi)存容量,當(dāng)系統(tǒng)工作時,鏡像內(nèi)存不會被系統(tǒng)識別。因此在投資方面,做內(nèi)存鏡像數(shù)據(jù)保護的投資是沒有內(nèi)存保護功能的一倍。
隨著芯片組的發(fā)展,和內(nèi)存通道技術(shù)的改變,熱備內(nèi)存和內(nèi)存鏡像實現(xiàn)的方式也在做著改變。像上文介紹的方式已經(jīng)不適用于Nehalem這代產(chǎn)品的三通道內(nèi)存和四通道內(nèi)存產(chǎn)品了。而以上的兩種方式為了實現(xiàn)更高的可靠性都會給整個系統(tǒng)帶來在內(nèi)存方面較大的花費,以及由此帶來的整個內(nèi)存系統(tǒng)可用數(shù)量下降。
#p#
關(guān)于UDIMM和RDIMM
UDIMM(Unbuffered Dual In-Line Memory Modules)無緩沖雙信道內(nèi)存模塊。控制器輸出來的地址和控制的信號直接到達DIMM的DRAM芯片上。
UDIMM的最大配置
不能支持服務(wù)器滿配內(nèi)存,也就是說不能達到最高容量。使用UDIMM內(nèi)存時最大使用每通道只能用2個插槽,但支持3通道,所以只能每邊插6條,一共12條內(nèi)存,不能滿配。性能相對會有下降,但是對于預(yù)算控制,是個不錯的選擇。
RDIMM(Registered Dual In-line Memory Module)帶寄存器的雙信道內(nèi)存模塊。控制器輸出的地址和控制信號經(jīng)過Reg寄存后輸出到DRAM芯片,控制器輸出的時鐘信號經(jīng)過PLL后到達各DRAM芯片。
RDIMM的最大配置
Registered內(nèi)存本身有兩種工作模式,即Registered模式和Buffered模式。在支持Registered工作模式的主板上工作時,Registered內(nèi)存工作于Registered模式,這時主板上的地址信號和控制信號會比數(shù)據(jù)信號先一個時鐘周期到達DIMM,送入Register芯片后會在其中停留一個時鐘周期,然后在下一個時鐘信號的上升沿從Register輸出,與此時從主板上到達DIMM的數(shù)據(jù)信號一起同時傳送到SDRAM。
當(dāng)Registered內(nèi)存工作在普通的主板上時,為Buffered工作模式,這時所有的信號也基本上是同時到達DIMM再同時傳送到SDRAM,Register芯片這時在功能上只相當(dāng)于一個簡單的Buffer,其輸入到輸出之間是直通的,只簡單的起到改善地址信號和控制信號的作用,時序上與Unbuffered內(nèi)存是一樣的。比起UDIMM來由于有了寄存器,所以RDIMM處理速度各方面性能都有不少提升,有2種工作模式,適合不同的主板,并且RDIMM支持最高配置,不會受到內(nèi)存插的數(shù)量限制。
【編輯推薦】