ITサービスマネージャ 2011年 午前2 問20
問題文
ECCメモリで、2ビットの誤りを検出し、1ビットの誤りを訂正するために用いるものはどれか。
選択肢
ア:偶数パリティ
イ:垂直パリティ
ウ:チェックサム
エ:ハミング符号(正解)
🔒 解説は解答すると表示されます
ハミング符号による誤り訂正【午前2解説】
正解の理由
正解はエのハミング符号です。
ハミング符号は、データに複数の検査ビットを加えることで、誤りが発生した位置を特定し、通常は1ビットの誤りを訂正できます。ECCメモリでは、さらに全体のパリティを加えた拡張ハミング符号を用いることで、1ビットの誤りを訂正し、2ビットの誤りを検出できます。この方式は、SEC-DED(Single Error Correction, Double Error Detection)とも呼ばれます。
解法ステップ
- 問題文から「1ビットの誤りを訂正」を読み取ります。
- 誤りの位置を特定して訂正する符号方式として、ハミング符号を候補にします。
- ECCメモリでは、拡張ハミング符号によって「1ビット訂正・2ビット検出」を実現すると判断します。
- よって、該当する選択肢はエです。
選択肢別の誤答解説
-
ア:偶数パリティ
データの1の個数が偶数になるようにパリティビットを加える方式です。誤りの有無を検出できますが、通常は誤りの位置を特定できないため、訂正には使えません。また、2ビットの誤りは検出できない場合があります。 -
イ:垂直パリティ
データを複数の単位に分け、縦方向にパリティを付けて誤りを検出する方式です。この問題で求められる「1ビット訂正・2ビット検出」を行うECCの方式とは異なります。 -
ウ:チェックサム
データから計算した値を付加し、受信側などで再計算した値と比較して誤りを検出する方式です。一般に、誤りの位置を特定して訂正するものではありません。 -
エ:ハミング符号
検査ビットを使って誤りの位置を特定し、1ビットの誤りを訂正できます。ECCメモリでは拡張ハミング符号を使い、2ビットの誤りも検出します。
よくある誤解
-
ハミング符号だけで常に2ビット誤りを検出できる
通常のハミング符号が基本的に行うのは1ビット誤りの訂正です。2ビット誤りの検出には、全体パリティを加えた拡張ハミング符号が使われます。 -
パリティ検査で誤りが分かれば訂正もできる
パリティ検査だけでは、誤りがあることは分かっても、どのビットが誤っているか分からない場合があります。訂正には、誤りの位置を特定する仕組みが必要です。 -
誤り検出と誤り訂正は同じ意味である
検出は誤りの発生を見つけること、訂正は誤ったデータを正しい状態に直すことです。問題では両方の能力が問われています。
補足コラム
拡張ハミング符号では、通常のハミング符号の検査ビットに加えて、データ全体のパリティを確認するビットを用います。これにより、1ビット誤りの場合は誤りの位置を特定して訂正し、2ビット誤りの場合は誤りを検出できます。ただし、2ビット誤りを正しく訂正する方式ではありません。
FAQ
Q. ECCメモリとは何ですか?
A. 誤り訂正符号を使って、メモリ上のデータに生じた誤りを検出・訂正する機能を備えたメモリです。
A. 誤り訂正符号を使って、メモリ上のデータに生じた誤りを検出・訂正する機能を備えたメモリです。
Q. 2ビット誤りも訂正できますか?
A. この問題で扱うSEC-DED方式では、2ビット誤りは検出できますが、訂正はできません。
A. この問題で扱うSEC-DED方式では、2ビット誤りは検出できますが、訂正はできません。
Q. 「ハミング符号」と「拡張ハミング符号」は同じですか?
A. 拡張ハミング符号は、ハミング符号に全体パリティを追加したものです。ECCメモリで1ビット訂正・2ビット検出を行う場合は、拡張ハミング符号が使われます。
A. 拡張ハミング符号は、ハミング符号に全体パリティを追加したものです。ECCメモリで1ビット訂正・2ビット検出を行う場合は、拡張ハミング符号が使われます。
関連キーワード: ハミング符号、拡張ハミング符号、ECCメモリ、誤り検出、誤り訂正、SEC-DED

\ せっかくなら /
ITサービスマネージャを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

