誤り制御方式: データ転送の信頼性を高める方法

コンピュータサイエンス

はじめに

データ転送は、現代社会において不可欠な技術です。しかし、データ転送中に誤りが発生することがあります。このような誤りは、データの正確性や完全性を損なう可能性があります。そこで、誤り制御方式が使用されます。本記事では、誤り制御方式について詳しく解説します。

誤り制御方式とは

誤り制御方式とは、データ転送中に誤りが発生した場合に、その誤りを検出または修正するための技術です。誤り制御方式には、検査和、パリティチェック、CRC、ハミング符号などがあります。

検査和

検査和は、データの各ビットに対して、1または0を加算することで、検査和を計算します。検査和が偶数である場合は、誤りがないと判断されます。検査和が奇数である場合は、誤りがあると判断されます。

パリティチェック

パリティチェックは、データの各ビットに対して、1または0を加えて、その結果を偶数にする方法です。データとパリティビットを一緒に送信し、受信側でパリティビットを再計算して、誤りがあるかどうかを判断します。

CRC

CRCは、Cyclic Redundancy Checkの略で、データの誤りを検出するための方法です。CRCは、データのビット列を多項式として扱い、その多項式を割り算することで、誤りを検出します。CRCは、誤りを検出するだけでなく、誤りを修正することもできます。

ハミング符号

ハミング符号は、誤りを検出および修正するための方法です。ハミング符号は、データのビット列に冗長なビットを追加し、誤りを検出および修正するための情報を付加します。ハミング符号は、誤りを検出するだけでなく、誤りを修正することもできます。

誤り制御方式の応用

誤り制御方式は、データ転送だけでなく、ストレージや通信などの分野でも広く応用されています。たとえば、ハードディスクやフラッシュメモリなどのストレージデバイスでは、誤り制御方式が使用されています。また、インターネットや携帯電話などの通信システムでも、誤り制御方式が使用されています。

誤り制御方式のメリット

誤り制御方式には、以下のようなメリットがあります。

データの正確性を高める

誤り制御方式は、データ転送中に誤りが発生した場合に、その誤りを検出または修正することができます。これにより、データの正確性を高めることができます。

データの完全性を保証する

誤り制御方式は、データの完全性を保証することができます。誤りが検出された場合は、再送信することで、データの完全性を保証することができます。
誤りを修正することができる
ハミング符号やCRCなどの誤り制御方式は、誤りを修正することができます。これにより、データの正確性を高めることができます。

誤り制御方式のデメリット

誤り制御方式を使用する場合、以下のようなデメリットがあります。

データのサイズが大きくなる

誤り制御方式を使用する場合、データのサイズが大きくなることがあります。これは、冗長なビットを追加するためです。

処理時間が長くなる

誤り制御方式を使用する場合、処理時間が長くなることがあります。これは、誤りを検出または修正するために、追加の処理が必要になるためです。

まとめ

誤り制御方式は、データ転送中に誤りが発生した場合に、その誤りを検出または修正するための技術です。誤り制御方式には、検査和、パリティチェック、CRC、ハミング符号などがあります。誤り制御方式は、データの正確性や完全性を高めることができますが、データのサイズが大きくなったり、処理時間が長くなったりすることがあります。

例題(誤り制御方式)

問題 

メモリの誤り制御方式で,2ビットの誤り検出機能と,1ビットの誤り訂正機能をもたせるのに用いられるものはどれか.

選択肢

ア:奇数パリティ
イ:水平パリティ
ウ:チェックサム
エ:ハミング符号

平成30年度秋期午前I問5

問題文の解説

誤り制御

誤り制御とは,コンピュータ間通信の途中で失われた情報や壊れた情報を検知し,適切な状態に修正することを指します.コンピュータ間通信では必ずエラーが発生するため,誤り制御が必須となります.

誤り検出

誤り検出は伝送誤りの検出を行うことです.送信側は誤り検出のための情報を付加して送信し,受信側は誤り検出のための情報を使って,受信したデータをチェックします.

誤り訂正

誤り訂正は伝送誤りの訂正を行うことです.送信側は誤り訂正のための情報を付加して送信し,受信側は誤り訂正のための情報を使って誤りを検出,必要があれば正しいデータを復元します.

選択肢の解説

ア:奇数パリティ

パリティを含めたデータ全体で常に「1」の数が奇数になるようにパリティビットを決定することからこのように呼ばれる.

これによりデータ送信中に改竄された場合,受け取り手がパリティチェックを行うことでデータの改竄の有無を確認できる.

odd parity

ただし2ビット誤りがあった場合には1の数が偶数になってしまうため検出できません.
また,どのビットが誤っているかはわからないので,誤りの検出のみで訂正はできません.

イ:水平パリティ

連続する数ブロックについて,各ブロックの1ビット目,2ビット目…をグループ化し,各グループ毎にパリティを付与する

lateral parity

また,各列において奇数個なら誤りを検出することができる.

ウ:チェックサム

元データを所定区間に区切りその総和を求め,その総和の値に所定のアルゴリズムを通して得られた結果をチェックサムとします.

checksum

エ:ハミング符号

ハミング符号は,データを送信する際に,本来のデータに一定の手順で計算したチェック用のデータを付加して送信することにより,受信側で受け取ったデータに誤りがないかどうかを検証することができるものになります.誤りがあった場合,1bitの誤りであれば訂正が可能となります.

step1ではデータブロックを用意します.
次に,step2で4bitから3bitを抽出した組み合わせを作成します.
step3ではXORを算出し,元のデータブロックに結合させて完了です.

Hamming code

ここで,誤り検出訂正能力を確認してみましょう.

1bitの場合(ここではbが誤っている場合)では,bが誤りと検出でき,さらに訂正をすることができます.

Hamming code

しかし,2bitの場合では,2bitが誤っていることは検出できますが,どこが誤っているまでは分からず訂正はできません.

Hamming code

解答

参考文献

FAQs

誤り制御方式は、どのような場面で使用されますか?

データ転送、ストレージ、通信などの分野で使用されます。

誤り制御方式には、どのような種類がありますか?

検査和、パリティチェック、CRC、ハミング符号などがあります。

誤り制御方式は、誤りを修正することができますか?

はい、ハミング符号やCRCなどの誤り制御方式は、誤りを修正することができます。

誤り制御方式を使用すると、データのサイズが大きくなることがありますか?

はい、誤り制御方式を使用する場合、データのサイズが大きくなることがあります。

誤り制御方式を使用すると、処理時間が長くなることがありますか?

はい、誤り制御方式を使用する場合、処理時間が長くなることがあります。

コメント

タイトルとURLをコピーしました