代碼糾錯

ECC(“代碼糾錯[或糾正]”或“錯誤檢驗和糾正”)允許被讀取和傳送的數據進行錯誤檢驗,並當需要時進行不工作糾正。

ECC(“代碼糾錯[或糾正]”(error correction [or correcting] code)或“錯誤檢驗和糾正”(error checking and correcting))允許被讀取和傳送的數據進行錯誤檢驗,並當需要時進行不工作糾正。這不同於奇偶檢驗,因為錯誤不僅能被發現而且可以得到改正。當數據傳輸速度(因此出錯率)增加的情況下,ECC是逐步被設計進行數據存儲和輸送硬體的。

以下是其如何進行數據存儲工作:

當一單位數據(或“單詞”)被儲存在RAM或者外部存儲器里時,描述單詞中位次序的代碼被計算並且跟數據的單位一起儲存。對每句64位的話來說,額外的7位需要儲存這條代碼。

什麼時候數據的單位需要讀取,儲存和將要讀取的詞語的一條代碼使用原先的算法再次被計算。當詞語被儲存時,將新近合成碼與產生的代碼相比較。

如果代碼符合,則說明數據沒有錯誤並且得到傳送。

如果代碼不匹配,丟失或者錯誤的比特將被通過代碼比較確定,比特或者幾個比特將被需要提供或者改正。

不嘗試改正依然在記憶體中的數據。最終,它將被新數據覆蓋,並認為錯誤是短暫的,錯誤的比特將會“離開”。

在系統已經關閉之後倉庫里相同地方重複出現的任何錯誤,再次顯示某一永久硬體錯誤和訊息被存入日誌或發給系統管理員,表明經常出現錯誤的位置。

1.

當一單位數據(或“單詞”)被儲存在RAM或者外部存儲器里時,描述單詞中位次序的代碼被計算並且跟數據的單位一起儲存。對每句64位的話來說,額外的7位需要儲存這條代碼。

2.

什麼時候數據的單位需要讀取,儲存和將要讀取的詞語的一條代碼使用原先的算法再次被計算。當詞語被儲存時,將新近合成碼與產生的代碼相比較。

3.

如果代碼符合,則說明數據沒有錯誤並且得到傳送。

4.

如果代碼不匹配,丟失或者錯誤的比特將被通過代碼比較確定,比特或者幾個比特將被需要提供或者改正。

5.

不嘗試改正依然在記憶體中的數據。最終,它將被新數據覆蓋,並認為錯誤是短暫的,錯誤的比特將會“離開”。

6.

在系統已經關閉之後倉庫里相同地方重複出現的任何錯誤,再次顯示某一永久硬體錯誤和訊息被存入日誌或發給系統管理員,表明經常出現錯誤的位置。

在64位的單詞水平上,奇偶檢驗和ECC需要相同數目的額外比特。通常,ECC增加任何計算的可靠性或者電信系統(或者一個系統的部分)而沒有增加更多的花費。里德-索洛蒙代碼常被執行;它可發現並恢復“擦掉”的比特及錯誤的比特。

相關詞條

熱門詞條

聯絡我們