ECC(Error Correction Code,錯誤更正碼)是在資料中加入多餘的檢查用位元一併記錄,讀出時即使部分位元反轉,也能找出錯在哪裡並恢復正確值的機制。在記憶體中,用來保護資料免受宇宙射線等引起的軟錯誤、記憶胞劣化與 Row Hammer 造成的位元反轉。
伺服器用 DRAM 模組長期採用在64位元資料加上8位元檢查位元,可更正1位元錯誤、偵測2位元錯誤的方式(SECDED)。DDR5 另外在 DRAM 晶片內部也內建 ECC(On-die ECC),自動修正晶片內發生的1位元錯誤。不過 On-die ECC 是用來補強晶片內部可靠度,無法取代伺服器用的模組級 ECC。
在 NAND 快閃記憶體中,多值化(TLC・QLC)使1個記憶胞要區分的電壓階段變細,更容易出錯。因此控制器使用 BCH 碼,或更強的 LDPC(低密度奇偶檢查)碼,每頁更正數十位元以上的錯誤。可更正的錯誤數左右寫入次數上限與資料保存期間,是 SSD 壽命設計的核心。