ECC(指令糾錯) 記憶體

  • 2019 年 12 月 16 日
  • 筆記

什麼是ECC記憶體

對於大多數企業來說,消除數據損壞是一項關鍵任務——這正是 ECC(糾錯碼)記憶體的目的。 ECC 是一種指令糾錯技術,能夠檢測並糾正常見的各種記憶體數據損壞情況,即Error Checking and Correcting

是什麼導致錯誤?

記憶體錯誤是電腦內部的電磁干擾造成的。 這種干擾會導致 DRAM(動態隨機存取記憶體)的單位自發地變成相反的狀態。 電磁干擾以背景輻射的形式存在,海拔越高,干擾越大。宇宙飛船尤其容易有很高的錯誤率。

單位錯誤可能是隱性的,也就是說,它們不會對數據造成嚴重影響; 但是,記憶體單元是相互關聯的,因此單位變化可能會影響整個系統,從而導致系統出錯,尤其是在需要嚴密運行的系統中。

ECC 記憶體的工作原理

ECC 記憶體包含附加記憶體位和記憶體控制器,這些控制器用於控制模組上附加晶片中的附加位。 在將數據寫入到記憶體時,ECC 記憶體使用附加位來存儲加密程式碼,同時存儲糾錯碼Error Correcting Code)。 讀取數據時,會將存儲的糾錯碼與讀取數據時生成的糾錯碼進行比較。 如果讀取的程式碼與存儲的程式碼不匹配,會用奇偶校驗位對前者進行解密,以確定哪個位出錯,然後立即糾正該位。 癥狀表是一種可以識別並糾正位錯誤的數學方法。

在數據處理過程中,ECC 記憶體會使用特殊演算法,比如海明碼(Hamming Code)演算法,不斷掃描程式碼,以檢測並糾正單位記憶體錯誤。

優勢和劣勢

在金融等行業以及科學界,ECC 記憶體對於維持數據完整性至關重要。 大多數伺服器記憶體也是 ECC 記憶體。 ECC 記憶體進一步減少了數據崩潰情況,這對於多用戶伺服器應用程式非常重要。

與非 ECC 記憶體相比,ECC 記憶體通常更昂貴,速度可能稍慢。 其他系統組件(例如,CPU 和主板)也必須支援 ECC 記憶體。

如何看記憶體是否啟用ECC

使用AIDA64Everest軟體在記憶體,找到錯誤糾正,可以看到 ECC 是否啟用或禁用。

by 斯武丶風晴 https://my.oschina.net/langxSpirit