最終更新 2026-10-19

ECCとは(誤り訂正符号)

Error Correction Code (ECC)

ECC(誤り訂正符号)とは、データに検査用のビットを足して記録し、読み出し時に反転したビットを見つけて正しい値に戻す仕組みです。サーバー用DRAMは64ビットに8ビットを足す方式、DDR5はチップ内部にもECCを持ちます。誤りが起こりやすい多値NANDでは、LDPCなどの強い符号でSSDの寿命を支えています。

目次7項目
  1. 定義・解説
  2. 図解
  3. よくある質問
  4. 設備の製造メーカー
  5. 関連用語
  6. 比較・違いを学ぶ
  7. 出典・参考資料

定義・解説

ECC(Error Correction Code:誤り訂正符号)とは、データに検査用の余分なビットを付け足して記録し、読み出したときに一部のビットが反転していても、どこが間違っているかを見つけて正しい値に戻す仕組みです。メモリでは、宇宙線などで起こるソフトエラー、セルの劣化、ロウハンマーによるビット反転から、データを守るために使われます。

サーバー用のDRAMモジュールでは、64ビットのデータに8ビットの検査ビットを足し、1ビットの誤りを訂正し2ビットの誤りを検出する方式(SECDED)が古くから使われてきました。DDR5では、これとは別にDRAMチップの内部にもECC(オンダイECC)が組み込まれ、チップ内で起きた1ビットの誤りを自動で直します。ただしオンダイECCはチップ内部の信頼性を補うためのもので、サーバー向けのモジュール単位のECCの代わりにはなりません。

NANDフラッシュでは、多値化(TLC・QLC)で1つのセルが区別する電圧の段階が細かくなり、誤りがはるかに起こりやすくなります。そのため、コントローラはBCH符号や、より強力なLDPC(低密度パリティ検査)符号を使って、1ページあたり数十ビット以上の誤りを訂正します。訂正できる誤りの数は、書き換え回数の限界やデータを保てる期間を左右し、SSDの寿命設計の中心になっています。

図解

SECDED、DDR5オンダイECC、BCH符号、LDPC符号の4種類のECCの比較
訂正できるビット数は符号の設計とページサイズで変わる。

よくある質問(FAQ)

DDR5のオンダイECCがあればECCメモリは不要ですか?
不要にはなりません。オンダイECCはDRAMチップの内部で起きた誤りを直すためのもので、チップとCPUの間の伝送で起きる誤りや、チップ全体の故障は扱いません。サーバーのように高い信頼性が必要な用途では、モジュール単位のECC(ECC付きRDIMMなど)が引き続き使われます。
NANDフラッシュではなぜ強力なECCが必要なのですか?
NANDは1つのセルに複数のビットを電圧の段階として記録し、書き換えや時間の経過でその電圧がずれていくためです。TLCやQLCでは段階の間隔が狭く、ずれが誤りになりやすいため、LDPCのように多くの誤りを訂正できる符号を使って寿命と信頼性を確保します。

設備の製造メーカー

関連する装置カテゴリ

同じトピックの用語

メモリ半導体・信頼性・劣化メカニズム のトピックで関連する用語です。

同じトピックの企業

アドバンテスト日本エスペック日本Aehr Test Systems米国トリオテック・インターナショナルシンガポールNordson米国

比較・違いを学ぶ

出典・参考資料

  1. キオクシア「技術用語集」(2026/10/19 確認)
  2. JEDEC「ECC」(2026/10/19 確認)