偶数パリティ (グウスウパリティ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

偶数パリティ (グウスウパリティ) の読み方

日本語表記

偶数パリティ (グウスウパリティ)

英語表記

even parity (イーブン・パリティ)

偶数パリティ (グウスウパリティ) の意味や用語解説

偶数パリティとは、コンピュータがデータを転送したり保存したりする際に発生する可能性のあるエラーを検出するための基本的な方式の一つである。この方式の目的は、データに誤りがないかを簡易的に確認することにあり、特に一ビットの反転(シングルビットエラー)の検出に有効である。データを送る側で、決められたルールに基づいて元のデータに追加のビット(パリティビット)を付与し、受け取る側でそのルールに従ってデータが正しいか否かを検証する。 コンピュータはすべての情報を0と1の二進数、すなわちビットの並びとして扱っている。例えば、「A」という文字も、特定のビット列で表現される。これらのビット列が電気信号や磁気、光信号として伝送されたり記憶されたりする過程で、ノイズや物理的な欠陥などにより、特定のビットが本来の0から1へ、あるいは1から0へと意図せず反転してしまうことがある。このような変化がデータエラーであり、誤ったデータとして処理されるとシステム全体の誤動作やデータ破損に繋がりかねない。偶数パリティは、このような事態を防ぐための第一歩として、エラーの有無を検出する役割を担う。 偶数パリティ方式では、元のデータビット群に「1」のビットが偶数個含まれるように、パリティビットを設定する。具体的には、まず送りたいデータビット群に含まれる「1」の数を数える。もし「1」の数が偶数であれば、パリティビットを「0」にする。これにより、データビット群とパリティビットを合わせた全体のビット列に含まれる「1」の数は、偶数のままである。一方、もし「1」の数が奇数であれば、パリティビットを「1」にする。こうすることで、データビット群とパリティビットを合わせた全体のビット列に含まれる「1」の数は、奇数+1(偶数)となり、やはり偶数になる。このようにして、送られるすべてのデータブロックにおいて、「1」の数が必ず偶数になるように調整された状態で、データは受信側へ送られる。 例を挙げて説明する。データとして「1011」という4ビットの列を送りたいとする。このデータ列には「1」が3つ(奇数)含まれている。偶数パリティのルールに従い、「1」の数を偶数にするために、パリティビットは「1」となる。結果、送られるデータは「10111」となる(最後の「1」がパリティビット)。この全体5ビットの列には「1」が4つ(偶数)含まれている。別の例として、データが「1100」の場合、これには「1」が2つ(偶数)含まれるため、パリティビットは「0」となり、送られるデータは「11000」となる。この場合も、全体5ビットの列には「1」が2つ(偶数)含まれている。 受信側では、送られてきたデータブロックを受信すると、まずそのデータブロックに含まれるすべてのビット(元のデータビットとパリティビットを含む)の「1」の数を数える。そして、その「1」の数が偶数であれば、データは正しく転送されたと判断する。しかし、もし「1」の数が奇数であれば、データのどこかでエラーが発生し、ビットが反転してしまったと判断する。例えば、上記の例で「10111」というデータが送られたとする。もし途中で2番目のビットが反転し、「11111」として受信された場合、受信側は「1」の数を5つ(奇数)と数える。これにより、エラーが発生したことを検出できる。 偶数パリティは、主にデータ通信(シリアル通信やパラレル通信など)やメモリ(DRAMなど)において、データの信頼性を向上させるために広く利用されてきた。特に、低コストで実装が容易であることから、初期のコンピュータシステムや簡単なデータ転送プロトコルで重宝された。現代の高速なネットワーク通信や大容量ストレージでは、より高度なエラー訂正符号(ECC: Error Correcting Code)が使われることが多いが、偶数パリティはその基本的な考え方の一歩となる。 しかし、偶数パリティにはいくつかの限界がある。最も重要な限界は、シングルビットエラーしか検出できない点である。もしデータブロック内で同時に2つのビットが反転する「ダブルビットエラー」が発生した場合、偶数パリティはこれを検出できない。例えば、元のデータが「10111」(パリティ込み)であり、このデータで2番目のビットと4番目のビットが同時に反転して「11101」として受信された場合を考える。元のデータには「1」が4つあり、受信されたデータにも「1」が4つある。受信側は「1」の数が偶数であるため、エラーがないと判断してしまう。これは重大な問題であり、データの破損を見逃すことに繋がる。また、偶数パリティはエラーの「検出」はできるが、どのビットが反転したかを特定してエラーを「訂正」する能力はない。エラーが検出された場合、受信側は通常、データの再送を要求するか、そのデータブロックを破棄するなどの対応を取る必要がある。 偶数パリティの他にも「奇数パリティ」という方式がある。奇数パリティは、データビット群に含まれる「1」の数が奇数になるようにパリティビットを設定する方式である。基本的な仕組みや検出能力は偶数パリティと同様で、どちらの方式を使うかは通信プロトコルやシステム設計によって定められる。本質的な目的は同じであり、エラー検出のルールが「1」の数が偶数か奇数かの違いであるだけだ。どちらの方式も、データ転送の信頼性を高めるためのシンプルな手段として、今日でも一部のシステムで利用されている。

偶数パリティ (グウスウパリティ) とは | 意味や読み方など丁寧でわかりやすい用語解説