II-26-7. 誤り検出と誤り回復の実現方法

高信頼化を実現するための手段として典型的に利用される誤り検出と誤り回復の実現方法を説明する。パリティチェックや誤り検出符号の利用などの検出技術と、バックワードエラーリカバリ、チェックポイント、ジャーナルといった誤り回復のための技術について解説する。

【学習の要点】

* システムの高信頼性を高めるため誤り検出と、誤り回復の手法は典型的に用いられる。

* 誤り検出のためにパリティチェックや誤り検出符号が利用される。

* 誤り回復のためにバックワードエラーリカバリ、チェックポイント、ジャーナルなどの手法が利用される。

図II-26-7. 誤り回復:ロールバックとロールフォワード

【解説】

1) 高信頼化のための方式

* 誤り検出

- データに符号誤り(エラー)があった際に検出することを誤り検出という

* パリティチェックによる誤り検出の効果

- パリティビットはある2進数のデータ(ビット列)の各ビットのXORの結果を表す一桁の二進数である。

- パリティビットも含めて、データの転送中に奇数個のビットが変化した場合、エラーとして検出される。これをパリティチェックと呼ぶ。

- パリティチェックでは誤りの検出はできるが訂正はできない。

2) 誤り検出のための符号化

* 組織符号

- 情報ビット列と検査ビット列が明確に分離できる符号を組織符号という。

* バーガー符号

- 情報ビット列の後に、このビット列中の0の数を2進数で表した検査ビットを付加した組織符号のことを開発者の名にちなんでバーガー符号と呼ぶ。

* M-out-of-N 符号

- 1の数がM個の長さNビットの2値からなるベクトルの集合をM-out-of-N符号と呼ぶ。

3) 誤り検出のための仕組み

* 割り込み機能を使って指定時間が経過したことをプログラムに通知するタイマであるウォッチドッグタイマや、監視機能を持つオーディタを利用することで、誤りの検出を自動化する。

4) 誤り回復

* バックワードエラーリカバリ方式

- 変更が行われてエラーが生じた際に、変更前の状態に復帰させる方式。ファイル、システム、データベースなどで使われる。ロールバック方式。

* チェックポイント方式

- システムにエラーが生じた際に、正しく動作していた時点の状態(チェックポイント)に復帰させる方式。

* ジャーナリング方式

- システム動作時に、ジャーナルと呼ばれる記録データを定期的に作成し、エラーが生じた際の復旧に利用する方式。ファイルシステム全体を保護する目的で用いられる。

* リカバリキャッシュ方式

- ディスクなどの障害が発生した際に、バックアップデータによるバックアップ時点までの復旧と、バックアップ時点以降のジャーナルファイルによる復旧とを行う機構。ロールフォワード方式。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。