パリティ ビット

その単純性により、パリティは、操作が困難な場合に繰り返すことができる、または単にエラーを検出することが役立つ、多くのハードウェア アプリケーションで使用されています。 たとえば、SCSI および PCI バスでは、伝送エラーを検出するためにパリティを使用し、多くのマイクロプロセッサの命令キャッシュにはパリティ保護が含まれています。 I-cache データはメイン メモリの単なるコピーなので、破損していることが判明した場合、無視して再フェッチすることができます。

シリアル データ伝送では、7 データ ビット、偶数パリティ ビット、1 または 2 停止ビットという形式が一般的です。 このフォーマットは、8 ビットバイト内のすべての 7 ビット ASCII 文字を収容します。

シリアル通信コンテキストでは、パリティは通常、インターフェース ハードウェア (例: UART) によって生成およびチェックされ、受信時には、インターフェース ハードウェアのハードウェア レジスタのステータス ビットを介して、CPU などのプロセッサ (および、たとえばオペレーティング システムも) が結果を利用できるようにします。

パリティ ビットを含む送信ビットの合計数が偶数の場合、奇数パリティには、オール ゼロとオール オンスのパターンが両方ともエラーとして検出されるという利点があります。

Redundant array of independent disksEdit

パリティ データは、冗長性を実現するためにいくつかの RADID (redundant array of independent disks) レベルで使用されます。 アレイ内のドライブに障害が発生した場合、他のドライブ上の残りのデータをパリティ データと組み合わせて (ブール式の XOR 関数を使用して) 欠損データを再構築することができます。

たとえば、3 つのドライブからなる RAID 5 アレイの 2 つのドライブに、次のデータが含まれていたとします:

Drive 1: 01101101
Drive 2: 11010100

この 2 つのドライブに対するパリティ データを計算するには、そのデータに対して XOR を実行します:

01101101
XOR 11010100
______________
10111001

結果のパリティ データ、10111001 はドライブ 3 に保存されます。

3 つのドライブのいずれかが故障した場合、残りのドライブのデータを同じ XOR 操作にかけることにより、故障したドライブのコンテンツを交換用ドライブで再構築できます。

Drive 1: 01101101
Drive 3: 10111001

次のように、10111001
XOR 01101101
_____________
11010100

その XOR 計算結果は Drive 2 のコンテンツになります。 そして、11010100 がドライブ 2 に格納され、アレイが完全に修復されます。 この同じ XOR コンセプトは、任意の数のディスクを使用する、より大きなアレイにも同様に適用されます。 12 台のドライブからなる RAID 3 アレイの場合、11 台のドライブが上記の XOR 計算に参加し、専用のパリティ ドライブ上に格納される値を生成します。

パリティ ビットのメカニズムの「ダブル」、「デュアル」、または「ダイアゴナル」パリティの拡張およびバリエーションが RAID-DP で使用されています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です