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

作成日: 更新日:

奇数パリティ (キスウパリティ) の読み方

日本語表記

奇数パリティ (キスウパリティ)

英語表記

odd parity (オッドパリティ)

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

奇数パリティは、データ通信やデータ記録の際に発生する可能性のある誤りを検出するための技術の一つである。パリティチェックと呼ばれる誤り検出方式の一種であり、その中でも最も基本的な仕組みを持つ。コンピュータが扱うデータは「0」と「1」のビット列で構成されているが、通信経路上でのノイズや記録媒体の劣化など、様々な要因によってビットが意図せず反転してしまうことがある。例えば、「0」が「1」に、あるいは「1」が「0」に変わってしまう現象である。このようなデータの破損を検知し、通信や記録の信頼性を確保するために奇数パリティが用いられる。その基本的な考え方は、送信または記録する元のデータに「パリティビット」と呼ばれる検査用のビットを1つ付加し、データ全体に含まれる「1」の個数が必ず奇数になるように調整するというものである。この単純な規則によって、受信側や読み出し側はデータに誤りが生じたかどうかを判断することが可能となる。 奇数パリティの具体的な仕組みは、送信側と受信側での一連の処理によって成り立っている。まず、送信側は送信したいデータビット列を用意する。次に、そのデータビット列の中に含まれる「1」の個数を数える。このとき、数えた「1」の個数が偶数であった場合、パリティビットとして「1」を付加する。これにより、元のデータビットの「1」の個数(偶数)とパリティビットの「1」(1個)を合わせると、全体の「1」の個数は奇数になる。一方、数えた「1」の個数が元々奇数であった場合は、パリティビットとして「0」を付加する。この場合、全体の「1」の個数は元の奇数のまま維持される。このように、送信側は元のデータに含まれる「1」の個数に応じてパリティビットの値を「0」か「1」に決定し、データビットの末尾などに付加して送信する。例えば、7ビットのデータ「1011010」を送信する場合、このデータには「1」が4つ(偶数個)含まれている。そのため、送信側はパリティビットとして「1」を付加し、8ビットのデータ「10110101」として送信する。この送信データに含まれる「1」の総数は5つとなり、奇数になる。 データを受信した側は、送信側と同じ規則に基づいてデータの検証を行う。受信側は、パリティビットを含んだデータ全体を受け取り、その中に含まれる「1」の総数を数える。奇数パリティのルールでは、正常なデータであれば「1」の個数は必ず奇数になるはずである。したがって、受信したデータの「1」の個数を数えて奇数であれば、データは通信経路上で破損することなく、正しく受信されたと判断する。もし、「1」の個数を数えた結果が偶数であった場合、それはデータ内のどこかのビットが反転する誤りが発生したことを意味する。この場合、受信側はデータが破損していると判断し、送信側にデータの再送を要求するなどのエラー処理を行う。 この奇数パリティは、実装が非常に簡単で、処理に必要な計算負荷が極めて低いという大きな利点を持つ。そのため、古くからシリアル通信などで利用されてきた。しかし、その単純さゆえの限界も存在する。最も重要な限界点は、検出できる誤りが「1ビットの誤り」に限られるという点である。もし通信中に2つのビットが同時に反転するような誤りが発生した場合、奇数パリティではそれを検出することができない。例えば、前述の「10110101」(1の個数は5つで奇数)という正常なデータが送信されたとする。通信中に2ビットが反転し、「10000101」(1の個数は3つで奇数)というデータになってしまった場合、受信側が「1」の個数を数えても奇数であるため、誤りが発生したにもかかわらず正常なデータとして受け入れてしまう。このように、偶数個(2個、4個、6個…)のビット誤りが発生した場合は、「1」の個数の偶奇性が変わらないため、パリティチェックをすり抜けてしまう。また、奇数パリティは誤りの発生を検出することはできるが、データ内のどのビットが誤っているのかを特定し、それを修正する「誤り訂正」の機能は持たない。 奇数パリティと対になる技術として、偶数パリティ(Even Parity)も存在する。これは、パリティビットを付加した後のデータ全体で、「1」の個数が偶数になるように調整する方式である。どちらの方式を採用するかは、使用される通信プロトコルやシステムの仕様によって定められる。基本的な誤り検出能力に差はないが、歴史的には、すべてのビットが「0」になる状態(例: 通信ケーブルの切断など)をエラーとして確実に検出できる点で奇数パリティが好まれる場合があった。 現代の高速で大容量のデータ通信においては、奇数パリティの誤り検出能力だけでは不十分な場面が多い。そのため、イーサネットやストレージシステムなど、より高い信頼性が求められる分野では、CRC(巡回冗長検査)やECC(誤り訂正符号)といった、複数ビットの誤りを検出したり、誤りを訂正したりできる、より高度で強力な技術が採用されている。しかし、奇数パリティは誤り検出技術の基本的な概念を学ぶ上で非常に重要な技術であり、その単純な原理は、より複雑な技術を理解するための基礎となる。

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