正答4
解説
正解は4です。
誤りを扱う符号には、誤りを見つけるだけのものと、誤りの位置まで特定して訂正できるものがあります。
メモリで使われるECC(Error Correcting Code)では、1ビット誤りの訂正と2ビット誤りの検出が基本的な機能です。
【選択肢別解説】
1:× 奇数パリティは、1の個数が奇数になるように検査ビットを付ける方式です。
1ビットの誤りは検出できますが訂正はできず、2ビットの誤りは検出もできません。
2:× 水平パリティは、データの行ごとにパリティビットを付ける方式です。
単独では誤りの検出しかできず、垂直パリティと組み合わせて初めて1ビットの訂正が可能になります。
3:× チェックサムは、データを一定単位ごとに足し合わせた値を付けて誤りを検出する方式です。
誤りがあることは分かりますが、どのビットが誤りかを特定して訂正することはできません。
4:○ ハミング符号は、複数の検査ビットを組み合わせて誤りビットの位置を特定できる符号です。
1ビットの誤りを訂正でき、2ビットの誤りを検出できるので、問題の条件に合います。
【ポイント】
パリティやチェックサムは「検出のみ」、ハミング符号は「1ビット訂正・2ビット検出」と整理して覚えます。
厳密には、1ビット訂正と2ビット検出を同時に行うのは、パリティビットを1つ追加した拡張ハミング符号です。