內存容錯技術ECC&Chipkill&保護&鏡像

內存

服務器內存與PC內存的區別:

性能更高

兼容性更好

可靠性更高

 

什麼是Register?

 

擁有Registers功能的內存模組,可以通過重新驅動控制信號來改善內存的運作,提高電平信號的準確性,從而有助於保持系統長時間穩定運作。不過,由於Registers的信號重驅動需花費一個時鐘週期,延遲時間有所增加,但是傳輸的速率相對可以提高,對走線的要求也降低了。

與邏輯設計中的流水線是一個原理。

這樣控制信號的信號質量更好。

 

服務器內存上面要比普通內存多幾顆芯片:主要是PLL (Phase Locked Loop)和Register IC,它們的具體用處如下 PLL(Phase Locked Loop) 瑣相環集成電路芯片,內存條底部較小IC,比Register IC小,一般只有一個,起到調整時鐘信號,保證內存條之間的信號同步的作用。Register IC內存條底部較小的集成電路芯片(2-3片),起提高驅動能力的作用。服務器產品需要支持大容量的內存,單靠主板無法驅動如此大容量的內存,而使用帶Register的內存條,通過Register IC提高驅動能力,使服務器可支持高達32GB的內存。


圖爲DDR2 400 ECC REG 

1 SPD芯片

2 PLL芯片 

3 Register IC芯片 

4 內存顆粒

 

什麼是ECC內存?

目前是一談到服務器內存,大家都一致強調要買ECC內存,認爲ECC內存速度快,其實是一種錯誤地認識,ECC內存成功之處並不是因爲它速度快(速度方面根本不關它事只與內存類型有關),而是因爲它有特殊的糾錯能力,使服務器保持穩定。ECC本身並不是一種內存型號,也不是一種內存專用技術,它是一種廣泛應用於各種領域的計算機指令中,是一種指令糾錯技術。它的英文全稱是“Error Checking and Correcting”,對應的中文名稱就叫做“錯誤檢查和糾正”,從這個名稱我們就可以看出它的主要功能就是“發現並糾正錯誤”,它比奇偶校正技術更先進的方面主要在於它不僅能發現錯誤,而且能糾正這些錯誤,這些錯誤糾正之後計算機才能正確執行下面的任務,確保服務器的正常運行。之所以說它並不是一種內存型號,那是因爲並不是一種影響內存結構和存儲速度的技術,它可以應用到不同的內存類型之中,就象我們在前面講到的“奇偶校正”內存,它也不是一種內存,最開始應用這種技術的是EDO內存,現在的SD也有應用,而ECC內存主要是從SD內存開始得到廣泛應用,而新的DDR、RDRAM也有相應的應用,目前主流的ECC內存其實是一種SD內存。

 

ECC通過數據位多一些位數,對數據進行校驗,所以內存顆粒一般會多一顆。

ECC可發現2bit錯誤,並糾正1bit錯誤,可靠性更高。

一般情況下服務器內存都具有ECC功能,只有較低端的服務器採用普通臺內存時不具有此功能;

服務器內存的其他典型技術:

 

Chipkill技術

Chipkill技術是IBM公司爲了解決服務器內存中ECC技術的不足而開發的,是一種新的ECC內存保護標準。我們知道ECC內存只能同時檢測和糾正單一比特錯誤,但如果同時檢測出兩個以上比特的數據有錯誤,則無能爲力。ECC技術之所以在服務器內存中廣泛採用,一則是因爲在這以前其它新的內存技術還不成熟,再則在服務器中系統速度還是很高,在這種頻率上一般來說同時出現多比特錯誤的現象很少發生,因爲這樣才使得ECC技術得到了充分地認可和應用,使得ECC內存技術成爲幾乎所有服務器上的內存標準。

但隨着基於Intel處理器架構的服務器的CPU性能在以幾何級的倍數提高,而硬盤驅動器的性能只提高少數的倍數,爲了獲得足夠的性能,服務器需要大量的內存來臨時保存CPU上需要讀取的數據,這樣大的數據訪問量就導致單一內存芯片上每次訪問時通常要提供4(32位)或8(64位)比特的數據,一次讀取這麼多數據,出現多位數據錯誤的可能性會大大地提高,而ECC又不能糾正雙比特以上的錯誤,這樣很可能造成全部比特數據的丟失,系統就很快崩潰了。IBM的Chipkill技術是利用內存的子系統來解決這一難題。內存子系統的設計原理是這樣的,單一芯片,無論數據寬度是多少,只對於一個給定的ECC識別碼,它的影響最多爲一比特。舉例來說,如果使用4比特寬的DRAM,4比特中的每一位的奇偶性將分別組成不同的ECC識別碼,這個ECC識別碼是用單獨一個數據位來保存的,也就是說保存在不同的內存空間地址。因此,即使整個內存芯片出了故障,每個ECC識別碼也將最多出現一比特壞數據,而這種情況完全可以通過ECC邏輯修復,從而保證內存子系統的容錯性,保證服務器在出現故障時,有強大的自我恢復能力。採用這種技術的內存可以同時檢查並修復4個錯誤數據位,服務器的可靠性和穩定得到了更充分的保障。

 

Memory ProteXion(內存保護) 

  Memory ProteXion技術最初應用在IBM公司的z系列和i系列大型主機服務器中,相對Chipkill內存技術在保護能力上更加強。

 

   類似硬盤的熱備份功能,能夠自動利用備用的比特位自動找回數據,從而保證服務器的平穩運行。該技術可以糾正發生在每對DIMM內存中多達4個連續比特位的錯誤。即便永久性的硬件錯誤,也可利用熱備份的比特位使得DIMM內存芯片繼續工作,直到被替換爲止。

  同時,Memory ProteXion技術比ECC技術糾錯更加有效,標準的ECC內存雖然可以檢測出2位的數據錯誤,但它只能糾正一位錯誤。採用內存保護技術,就可以立即隔離這個失效的內存,重寫數據在空餘的數據位。而且無需添加另外的硬件、無需增加額外的費用,獨立操作系統工作,也不會給系統增加任何額外負擔。這種技術可以使減少停機時間,使服務器持續保持高效的計算平臺。

 

    Memory Mirroring(內存鏡像)

  IBM的另一種更高級內存技術就是內存鏡像技術,在內存保護能力上更強,彌補了Chipkill修復技術和內存保護技校術都不能完全修復時,可以在系統中運行直到有故障內存被更換。

  一般說,內存鏡像技術和磁盤鏡像技術相仿,都是將數據同時寫入到兩個獨立的內存卡中,內存只從活動內存卡中進行數據讀取,當一個內存中有足以引起系統報警的軟故障,系統會自動提醒管理員這個內存條將要出故障;同時服務器就會自動地切換到使用鏡像內存卡,直到這個有故障的內存被更換。

    另外,鏡像內存允許進行熱交換(Hot swap)和在線添加(Hot-add)內存。因爲鏡像內存採用的的兩套內存中實際只有一套在使用,另一套用於備份,所以對於軟件系統來說也就只有整個內存的一半容量是可用的。

 

轉自https://mp.weixin.qq.com/s/3be5auy9tWCPZRS3EBuyyA

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章