誤り訂正符号(ECC)とは?あやまりていせいふごう(イーシーシー)
誤り訂正符号(ECC)とは、ECC(Error Correcting Code:誤り訂正符号)は、データに検査ビットを付けて誤りの有無だけでなく誤った位置まで特定し、受け手側だけで元の値へ戻せるようにした符号。訂正できる範囲は付けた冗長ビットの量で決まり、メモリで使うハミング符号(SEC-DED)は1ビットの訂正と2ビットの検出が上限になる。
最終更新:2026-10-07
この語が出る過去問を解く →背景
誤りを検出しただけで直せない方式は、送り直しを頼めることが前提になる。ところが記憶装置からの読み出しや片方向の放送、往復に時間のかかる宇宙通信では再送を頼めず、その場で復元できなければ処理が止まる。冗長ビットを増やす費用と再送の費用を比べ、前者を選ぶ場面のための符号である。
具体例
サーバ用のECCメモリはハミング符号を拡張したSEC-DEDを使い、宇宙線によるビット反転を自動で直して停止を防ぐ。QRコードはリード・ソロモン符号を使い、最大約30%が汚れて読めなくても元のデータを復元できる。
試験での引っ掛け
パリティビットとCRCは検出までで訂正はできず、CRCは誤りの位置も特定しない。またSEC-DEDは2ビットの誤りを「検出」できるだけで訂正はできないため、「2ビット訂正・1ビット検出」と向きを逆にした選択肢が誤答になる(2018年春 午前I 問5)。
関連用語
出た過去問
出典:平成30年度 秋期 高度試験 午前Ⅰ 問5(IPA)解説で登場
メモリの誤り制御方式で、2ビットの誤り検出機能と、1ビットの誤り訂正機能をもたせるのに用いられるものはどれか。
正解:ハミング符号
要点:ハミング符号は1ビット訂正・2ビット検出(SEC-DED)
ハミング符号は、データビットに複数の検査ビット(冗長ビット)を付加し、誤りの位置を特定できるようにした誤り訂正符号である。一般にSEC-DED(拡張ハミング符号)として用いられ、1ビットの誤りは訂正でき、2ビットの誤りは訂正はできないが検出できる。このためメモリのECC(誤り訂正符号)として広く使われている。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。