【ぱりてぃびっと】

パリティビット とは?

💡 データに付加する「誤り検出用の1ビット」、奇数か偶数かで整合性を確認
📌 このページのポイント
パリティビット — 誤り検出の仕組み 正常な送信(偶数パリティの場合) 送信データ 1 0 1 1 0 1 0 1の数: 4(偶数) 0 ← P パリティ 受信: 1の数=4 (偶数) → OK! エラーが発生した場合 受信データ 1 0 0 1 0 1 0 0 ↑ ビット反転! 1の数: 3(奇数) 受信: 1の数=3 (奇数) → エラー検出! ※ 1ビットの誤りは検出可能。2ビット同時の誤りは検出できない
パリティビットによる誤り検出のイメージ
ひよこ ひよこ

パリティビットって何?

ペンギン先生 ペンギン先生

データに付加する「誤り検出用の1ビット」だよ。例えば偶数パリティなら「送るデータの1の個数+パリティビットで偶数になるように」パリティビットを0か1に設定する。受信側が同じ計算をして合わなければエラーを検出。

ひよこ ひよこ

具体的に教えて

ペンギン先生 ペンギン先生

「1011010」というデータを送るとき、1の個数は4つ(偶数)。偶数パリティなら合計偶数のままにしたいのでパリティビットは「0」。受信後に1の個数を数えて奇数になったら「途中でビットが変わった」とわかる。

ひよこ ひよこ

RAID5との関係は?

ペンギン先生 ペンギン先生

RAID5はパリティビットと同じ考え方をディスクレベルに応用している。3台以上のディスクにデータとパリティ(XOR計算した値)を分散保存して、1台故障しても残りからデータを復元できる。

ひよこ ひよこ

パリティビットだけだと限界があるんだよね?

ペンギン先生 ペンギン先生

そうなんだ。パリティビットは「1ビットの誤りを検出」できるけど「修正はできない」し、「2ビット以上の誤りは検出すらできない」。だからより強力なエラー訂正にはハミングコードやCRCECCメモリなどが使われるよ。

ひよこ ひよこ

ECCメモリって聞いたことある!普通のメモリと何が違うの?

ペンギン先生 ペンギン先生

ECC(Error-Correcting Code)メモリは1ビットの誤りを自動修正、2ビットの誤りを検出できるメモリだよ。サーバや科学計算用ワークステーションでは必須とされている。一般のPCには搭載されていないことが多いけど、宇宙線(コズミックレイ)による突然のビット反転でブルースクリーンが発生するケースもあるから、実はデスクトップPCでも恩恵があるんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
パリティビットって出てきたら「データの誤り検出のために付加する1ビットの検査値、奇偶検査で誤りを検出する」と思えばOK!
📖 おまけ:英語の意味
「Parity Bit」 = 偶奇性ビット
💬 parityは「等価・同等」の意味。データビットとパリティビットの1の総数が常に同じ性質(偶数か奇数)を保つことから命名
← 用語集にもどる