不同的內(nèi)存條
升級時候還有一點不能忽略,除了選擇同樣頻率的內(nèi)存,既DDR3-1333Mhz,DDR2-667Mhz等。還應注意,服務器內(nèi)存通常來說是成組購買升級的。既每個內(nèi)存通道內(nèi),盡量要使用相同品牌、相同顆粒、相同頻率、相同電壓、相同校驗技術(chipkill,ecc)、相同型號(udimm rdimm)的內(nèi)存條。
這點尤其重要,否則服務器可能會報錯。
服務器內(nèi)存與普通內(nèi)存有什么區(qū)別?
內(nèi)存校驗技術
一般來說也就是后面兩種區(qū)別較大,通常來說服務器內(nèi)存都帶有校驗技術,而普通PC機內(nèi)存是不具備的。相對傳統(tǒng)的ECC校驗技術,chipkill又是何方神圣呢?
“探路者”探測器登陸火星
在十幾年前,相傳在遙遠的火星上出現(xiàn)了名為“探路者”的怪物……
IBM引入大型機的技術為美國航天局(NASA)的"探路者"探測器赴火星探險而研制了Chipkill。它是IBM公司為了彌補目前服務器內(nèi)存中ECC技術的不足而開發(fā)的,是一種新的ECC內(nèi)存保護技術。
ECC內(nèi)存技術雖然可以同時檢測和糾正單一比特錯誤,但如果同時檢測出兩個以上比特的數(shù)據(jù)錯誤,則無能為力。但基于Intel處理器架構的服務器的 CPU性能以幾何級的倍數(shù)提高,而硬盤驅(qū)動器的性能同期只提高了5倍,因此為了保證正常運行,服務器需要大量的內(nèi)存來臨時保存從CPU上讀取的數(shù)據(jù)。這樣大的數(shù)據(jù)訪問量就導致單一內(nèi)存芯片在每次訪問時通常要提供4(32位)或8(64位)字節(jié)以上的數(shù)據(jù)。一次性讀取這么多數(shù)據(jù),出現(xiàn)多位數(shù)據(jù)錯誤的可能性會大大提高,而ECC又不能糾正雙比特以上的錯誤,這樣就很可能造成全部比特數(shù)據(jù)的丟失,系統(tǒng)就會很快崩潰。IBM的Chipkill技術是利用內(nèi)存的子結構方法來解決這一難題的。
隨著技術的發(fā)展,這些年已經(jīng)出現(xiàn)了關于內(nèi)存更多的保障技術。
熱備內(nèi)存—Sparing
熱備內(nèi)存技術
進行內(nèi)存熱備時,做熱備份的內(nèi)存在正常情況下是不使用的,也就是說系統(tǒng)是看不到這部分內(nèi)存容量的。每個內(nèi)存通道中有一個DIMM不被使用,預留為熱備內(nèi)存。芯片組中設置有內(nèi)存校驗錯誤次數(shù)的閾值, 即每單位時間發(fā)生錯誤的次數(shù)。當工作內(nèi)存的故障次數(shù)達到這個“容錯閾值”,系統(tǒng)開始進行雙重寫動作,一個寫入主內(nèi)存,一個寫入熱備內(nèi)存,當系統(tǒng)檢測到兩個內(nèi)存數(shù)據(jù)一致后,熱備內(nèi)存就代替主內(nèi)存工作,故障內(nèi)存被禁用,這樣就完成了熱備內(nèi)存接替故障內(nèi)存工作的任務,有效避免了系統(tǒng)由于內(nèi)存故障而導致數(shù)據(jù)丟失或系統(tǒng)宕機。這個做熱備的內(nèi)存容量應大于等于所在通道的最大內(nèi)存條的容量,以滿足內(nèi)存數(shù)據(jù)遷移的最大容量需求。
內(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)芯片組中設置有 “容錯閾值”。如果任意內(nèi)存達到了“容錯閾值”,其所在通道就被標示出來,另一個通道單獨工作。但仍然保持雙通道的內(nèi)存帶寬。
內(nèi)存鏡像技術
內(nèi)存鏡像有效避免了由于內(nèi)存故障而導致數(shù)據(jù)丟失。從上圖中可看出,鏡像內(nèi)存和主內(nèi)存互成對角線分布,如果其中一個通道出現(xiàn)故障不能繼續(xù)工作,另一個通道仍然具有故障通道的內(nèi)存數(shù)據(jù),有效防止了由于內(nèi)存通道故障導致的數(shù)據(jù)丟失,極大提升了服務器可靠性。鏡像內(nèi)存的容量要大于等于主內(nèi)存容量,當系統(tǒng)工作時,鏡像內(nèi)存不會被系統(tǒng)識別。因此在投資方面,做內(nèi)存鏡像數(shù)據(jù)保護的投資是沒有內(nèi)存保護功能的一倍。
隨著芯片組的發(fā)展,和內(nèi)存通道技術的改變,熱備內(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ù)量下降。
關于UDIMM和RDIMM
UDIMM(Unbuffered Dual In-Line Memory Modules)無緩沖雙信道內(nèi)存模塊??刂破鬏敵鰜淼牡刂泛涂刂频男盘栔苯拥竭_DIMM的DRAM芯片上。
UDIMM的最大配置
不能支持服務器滿配內(nèi)存,也就是說不能達到最高容量。使用UDIMM內(nèi)存時最大使用每通道只能用2個插槽,但支持3通道,所以只能每邊插6條,一共12條內(nèi)存,不能滿配。性能相對會有下降,但是對于預算控制,是個不錯的選擇。
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。
當Registered內(nèi)存工作在普通的主板上時,為Buffered工作模式,這時所有的信號也基本上是同時到達DIMM再同時傳送到 SDRAM,Register芯片這時在功能上只相當于一個簡單的Buffer,其輸入到輸出之間是直通的,只簡單的起到改善地址信號和控制信號的作用,時序上與Unbuffered內(nèi)存是一樣的。比起UDIMM來由于有了寄存器,所以RDIMM處理速度各方面性能都有不少提升,有2種工作模式,適合不同的主板,并且RDIMM支持最高配置,不會受到內(nèi)存插的數(shù)量限制。