目次
問題文
ECCメモリで,2ビットの誤りを検出し,1ビットの誤りを訂正するために用いるものはどれか。
ア 偶数パリティ
イ 垂直パリティ
ウ チェックサム
エ ハミング符号
解説
解答
エ

まずは問題のポイントを押さえましょう。
ECCメモリ(Error-Correcting Code Memory)は、データに誤りが発生しても検出・訂正できる特殊なメモリです。
問題文は「2ビット誤り検出、1ビット誤り訂正」という条件を満たす方式を問うています。
これに該当する代表的な誤り訂正符号が ハミング符号(Hamming Code) です。



続いて各選択肢について見ていきましょう。
ア(誤り)
データのビット列に、全体の1の数が偶数になるように1ビットのパリティビットを追加する方式です。
1ビット誤りは検出できますが、訂正はできません。
さらに、2ビット誤りは検出できない場合もあります。
イ(誤り)
データを行列状に並べ、行ごと(または列ごと)にパリティを計算する方式です。
誤り検出には使えますが、訂正能力は限定的です。2ビット誤り対応には不十分です。
ウ(誤り)
複数ビットの数値を合計して、誤り検出用の値を付加する方式です。
ネットワーク通信やファイル転送などでよく使われますが、訂正はできず、主に検出専用です。
エ(正解)
複数のパリティビットを配置して、どのビットが誤っているかを特定できる符号方式です。
1ビットの誤りなら訂正可能、2ビットの誤りなら検出可能(SEC-DED: Single Error Correction, Double Error Detection)です。
ECCメモリはこのハミング符号の応用を使っています。
まとめ
- ECCメモリは、ハミング符号を使って1ビット訂正+2ビット検出を実現している
- パリティやチェックサムは訂正能力がなく、誤り検出専用