ECC

ECC

實現錯誤檢查和糾正的技術
ECC是“Error Correcting Code”的簡寫,ECC是一種能夠實現“錯誤檢查和糾正”的技術,ECC内存就是應用了這種技術的内存,一般多應用在服務器及圖形工作站上,可提高計算機運行的穩定性和增加可靠性。[1]
  • 中文名:錯誤檢查和糾正
  • 外文名:Error Correcting Code
  • 簡稱:ECC
  • 屬性:技術
  • 作用:實現“錯誤檢查和糾正”
  • 應用:ECC内存

主要功能

ECC是在奇偶校驗的基礎上發展而來。我們知道,在數字電路中,最小的數據單位就是叫“比特(bit)”,也叫數據“位”,“比特”也是内存中的最小單位,它是通過“1”和“0”來表示數據高、低電平信号。在數字電路中8個連續的比特是一個字節(byte),在内存中不帶“奇偶校驗”的内存中的每個字節隻有8位,若它的某一位存儲出了錯誤,就會使其中存儲的相應數據發生改變而導緻應用程序發生錯誤。而帶有“奇偶校驗”的内存在每一字節(8位)外又額外增加了一位用來進行錯誤檢測。比如一個字節中存儲了某一數值(1、0、1、0、1、0、1、1),把這每一位相加起來(1+0+1+0+1+0+1+1=5),5是奇數,如果采用奇校驗(即一個字節(8位)加上檢錯的那1位共9位對應數字的和為奇數),那麼檢錯的那一位就應該是0(5+0=5才是奇數),如果采用偶校驗(即一個字節(8位)加上檢錯的那1位共9位對應數字的和為偶數)那麼檢錯的那一位就應該是1(5+1=6才是偶數)當CPU返回讀取存儲的數據時,它會再次相加前8位中存儲的數據,計算結果是否與校驗位相一緻。當CPU發現二者不同時就會嘗試糾正這些錯誤。但Parity的不足是:當内存查到某個數據位有錯誤時,不能準确定位存在錯誤的數據位,也就不一定能修正錯誤。

Parity内存是通過在原來數據位的基礎上增加一個校驗位來檢查數據位上8位數據的正确性,但随着數據位的增加校驗位也成倍增加,八位數據位需要一位校驗位,十六位數據位需要兩位校驗位。ECC也是在原來的數據位上外加校驗位來實現的。它與Parity不同的是如果數據位是8位,則需要增加5位來進行ECC錯誤檢查和糾正,數據位每增加一倍,ECC隻增加一位檢驗位,也就是說當數據位為16位時ECC位為6位,32位時ECC位為7位,數據位為64位時ECC位為8位,依此類推,數據位每增加一倍,ECC位隻增加一位。ECC有更多位數的校驗位,容錯能力更強。

相關詞條

相關搜索

其它詞條