修正錯誤 ( ECC ) 記憶體 與 無修正錯誤 ( Non-ECC ) 記憶體的差異

1.什麼是ECC?

ECC = Error-correcting code, 即修正錯誤代碼, 是一種能夠實現“檢測和糾正的記憶體資料損壞(錯誤)”的技術。

在汽車、工業、醫療、通訊領域,一個簡單的失效,可能會導致嚴重的後果。而帶有ECC的記憶體,可以提高運行的穩定性和可靠性。同時因為需要額外的時間去校驗資料,同等情況下,ECC記憶體的速度要比Non-ECC記憶體低2%左右。


2. ECC 記憶體和 Non-ECC 記憶體有什麼差異?

1.硬體不一致:

以DDR RAM為例,Non-ECC 記憶體有8個記憶體晶片,而ECC 記憶體會額外增加一個。因此,價格會略貴,但是穩定性和可靠性更強。

image

資料來源: ECC vs. Non-ECC MEMORY


2. 配置不一致:
ECC DRAM 演算法在DRAM裡面。相比於傳統 Non-ECC 記憶體將演算法放在處理器中, 減輕了處理器的工作量。同時,這也導致了 ECC 記憶體和 Non-ECC 記憶體之間往往不能互相替代。

image

參考資料: DDR3 DRAM with ECC


3. 結論

很多應用程序中,減少錯誤率是一個重要的課題。在DRAM中集成ECC,出錯率顯著減少。相比於傳統 Non-ECC 記憶體將演算法放在處理器中, 減輕了處理器的工作量。

如何判斷某記憶體零件編號帶或不帶ECC?建議先查看規格書,一般規格書會有明確顯示。

以下是一些帶有ECC功能的記憶體零件編號:
ISSI: IS46TR16640ED-15HBLA1
ISSI: IS46TR16640ED-15HBLA2
Viking: VR7PU127298HBDME