令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問22

ECCメモリで,2ビットの誤りを検出し,1ビットの誤りを訂正するために用いるものはどれか。

解答・解説

正解: エ. ハミング符号

ECCメモリ (Error Checking and Correcting memory) は、データの読み書き時に誤りを検出し、訂正する機能を持つメモリです。このECCメモリにおいて、2ビットの誤りを検出し、1ビットの誤りを訂正するためによく用いられる方式が ハミング符号 です。情報ビットに複数の検査ビットを付加することで、誤りの位置を特定し訂正(SEC-DED: Single Error Correction - Double Error Detection)することができます。

各選択肢の解説

  • ア 偶数パリティ
    パリティビットを用いて、データ中の「1」の数が偶数になるように調整する方式です。1ビットの誤りを検出することはできますが、どのビットが誤っているかの特定(訂正)や、2ビットの誤り検出はできません。
  • イ 垂直パリティ
    データをブロック単位で扱い、各列に対してパリティを付加する方式です。水平パリティと組み合わせることで1ビットの誤り箇所を特定して訂正することは可能ですが、単体では誤りの検出のみに留まります。
  • ウ チェックサム
    データを複数のブロックに分割し、それらのデータの合計値(サム)などを付加することでデータ転送時の誤りを検出する方式です。ネットワーク通信などでよく用いられますが、誤りの有無の検出のみで、誤り位置の特定(訂正)はできません。
  • エ ハミング符号
    正解。検査ビットから誤りの位置を特定して1ビットの誤りを訂正できる誤り訂正符号です。ECCメモリでは、ハミング符号に全体のパリティビットを1ビット加えた拡張ハミング符号(SEC-DED)で、1ビットの誤り訂正と2ビットの誤り検出を同時に行うのが一般的です。

Spineチーム