メモリのエラー検出及び訂正にECCを利用している。
データバス幅2^nビットに対して冗長ビットがn+2ビット必要なとき,128ビットのデータバス幅に必要な冗長ビットは何ビットか。
正答3
解説
正解は3です。
ECC(Error Correcting Code:誤り訂正符号)は、メモリのビット誤りを検出・訂正するための冗長ビットです。
問題文の「2^nビットに対してn+2ビット」という関係に当てはめて計算します。
【計算】
128ビットを2のべき乗で表すと、128=2^7です。
したがって、n=7です。
冗長ビットはn+2=7+2=9ビットです。
【選択肢別解説】
1:× 7ビットはnの値そのものであり、+2を加え忘れています。
2:× 8ビットは、nを1小さく見積もるか、+1として計算した値です。
問題文の条件ではn+2ビットが必要です。
3:○ n=7をn+2に代入した9ビットが、必要な冗長ビット数です。
4:× 10ビットはnを8と誤った場合の値です。
2^8は256なので、128ビットの場合には当てはまりません。
【ポイント】
例えば64ビット=2^6なら6+2=8ビットとなり、これは実際のECCメモリでよく使われる構成です。
ハミング符号を拡張したECCでは、1ビット誤りの訂正と2ビット誤りの検出ができます。