車載半導体と機能安全
車載マイコンのメモリで、1ビットの誤りを訂正し2ビットの誤りを検出できるECC(SEC-DED)を使っている。読み出したデータに2ビットの誤りが起きていたとき、一般にどうなるか。
- A2ビットまでの誤りは検査ビットを使って自動で訂正されるので、エラーは何も通知されずにそのまま処理が続く
- B誤りは検出も訂正もできないので、誤ったデータがそのまま使われて処理が続く
- C訂正はできないが検出はできるので、エラーとして通知し、システムを安全な状態に移すなどの処置をとる
答えと解説を見る
正解:C. 訂正はできないが検出はできるので、エラーとして通知し、システムを安全な状態に移すなどの処置をとる
SEC-DED(Single Error Correction, Double Error Detection)は、例えば64ビットのデータに8ビットの検査ビットを付けて、1ビットの誤りは訂正し、2ビットの誤りは訂正できないものの確実に検出します。2ビットの誤りが見つかると、マイコンはエラーを通知し、ソフトウェアはデータを使わずにリセットや安全な状態への移行を行います。1ビットの誤りも訂正したうえで記録しておくと、誤りが積み重なる前に異常の兆しをつかめます。