【IT168 產品知識中心】Chipkill內存是IBM為NASA(美國太空總署)計劃於2003年向火星發射的 「火星漫遊者」探測器而設計的,其宗旨只有一個:高可靠性。那麼,Chipkill內存是怎樣實現高可靠性的呢?
內存糾錯技術的發展過程
90年代初,內存體系採用奇偶性校驗(Parity Verifying)技術。奇偶校驗內存在每一字節(8位)外又額外增加了一位作為錯誤檢測之用,BIOS中的監控程序會將存入內存中的數據位相加,並將結果存於校驗位中。比如一個字節中存儲了某一數值10011110,每一位加起來的結果為奇數(1+0+0+1+1+1+1+0=5),校驗位存入1。當CPU讀取儲存的數據時,監控程序再次相加存儲的8位數據,並將計算結果與校驗位相比較。如果發現二者不同,系統就會產生出錯信息。奇偶校驗技術僅能粗略地檢查內存錯誤,並不具備糾錯能力。
另一種內存糾錯技術叫做ECC(Error Correct Code,糾錯碼),它也是在原來的數據位上外加位來實現的,增加的位用來重建錯誤數據。在ECC糾錯體系中,如果數據為n個字節,則外加的ECC位為log2n + 5。例如對於64位數據,需要外加log28 + 5 = 8個ECC位。
當出現一個存儲位錯誤時,ECC體系可以自動進行糾錯。當出現2個數據位錯誤時,可以檢測出來,但不能糾錯,這種行為通常稱作「單錯糾正/雙錯檢測(Single Error Correction/Double Error Detection ,簡稱SEC/DED)。一次存取中有2個以上的數據位出錯時,由於SEC/DED體系檢測不出來了,致使數據的完整性受損。採用這種結構的存儲器,當檢測出多位錯誤時,系統就會報告出現了致命故障(Fatal fault),之後系統崩潰。
隨著RAM晶片的集成度的提高和內存容量的增大,內存發生錯誤的概率也隨之增加。幾年前被認為很可靠的SEC/DED內存體系,今天已經力不從心了,尋求具有多位糾錯能力的內存體系結構一直是眾多廠商追求的目標。
1996年,Compaq公司的Advanced ECC技術實現了糾正單一內存晶片上的多位錯誤,也可以糾正內存條上單晶片的失效。1998年,惠普在LH3伺服器產品中提出的自修復概念,主要內容也是內存的多位糾錯能力。
Chipkill內存是IBM為NASA(美國太空總署)計劃於2003年向火星發射的 「火星漫遊者」探測器而設計的,如圖1。2001年,IBM將這種chipkill技術移植到「藍色基因」伺服器產品中,成為其面向電子商務的電子蜥蜴計劃中的一個重要行動。接著DELL等廠商也紛紛在伺服器中採用了這種內存體系。
圖1 Chipkill內存
Chipkill是一種具有自愈(Self-healing)能力的內存體系結構,在工作過程中進行自我測試(self-test)和自我診斷(self-diagnosis),如果某個RAM晶片或內存條損壞,可以向管理員報告出錯信息,但機器仍可繼續運行,管理人員可在適當的時候更換故障的零件。
Chipkill內存的結構
RAM器件失效最為嚴重的情形是其全部數據位全部發生錯誤,糾正這種錯誤的基本思路應該著眼於晶片和系統的硬體結構,而不可能通過軟體升級的方式來達到目的。
存儲器中的每個字節外加一個ECC位構成ECC字。如果存儲器系統的數據寬度為32個字節(或256位),實際的存儲器數據的寬度是256+32=288位。同時,每一個數據位都被置於分離的ECC字中。
圖2描述了這種方法工作的原理。存儲系統由4個DIMM模塊構成,32個字節(256位)的數據被分成4個ECC字,每個ECC字含有8個字節(64位)的數據位和8個ECC位。這樣,一個ECC字的實際長度為64+8=72位,存儲數據總長度為72×4=288位。
圖2 Chipkill內存糾錯原理
存儲器控制器(Memory Controller)把每個ECC字被分成4個長度為18位的段,分別存儲於4個DIMM中。同時,每個DIMM中也存儲了4個來自不同的ECC字的段。然後,每個段的18個位再被存儲在不同的RAM晶片中。
經過上述處理,每個DRAM晶片中只保存了ECC字的一位。如果RAM晶片失效,導致某個晶片中的全部18個位都出錯,也只是造成ECC字的一位錯誤。因為每個ECC字具有SEC/DED能力,可以自動糾錯,所以可以恢復所有的數據。當然,對於RAM中的某一位、某一行、某一列發生失效,系統也可以實現自動糾正錯誤。
Chipkill內存的應用前景
通過對ECC體系進行改造而設計的自動糾錯的內存體系結構,實現了人們盼望已久的徹底避免系統癱瘓和數據丟失的目的。短短幾年內,集成了chipkill技術的電腦產品已經在交通調度、證券交易等高可靠性系統中得到了廣泛應用了。
人們發現,使用chipkill內存的電腦產品,在提高了可靠性的同時,也降低了系統維護成本,減少了電子商務中的風險和法律責任,種種好處足以抵消價格偏高的不利因素。我們相信,chipkill技術不久就會出現在包括臺式機、筆記本和嵌入式系統等所有電腦產品中。