冗長ビット (ジョウチョウビット) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

冗長ビット (ジョウチョウビット) の読み方

日本語表記

冗長ビット (ジョウチョウビット)

英語表記

redundancy bit (リダンダンシービット)

冗長ビット (ジョウチョウビット) の意味や用語解説

冗長ビットとは、デジタルデータの通信や記録において、データの誤りを検出または訂正するために、本来のデータに付加される余分なビットのことである。コンピュータが扱うデータは「0」と「1」のビット列で構成されているが、データを通信回線で送受信したり、ハードディスクやSSDなどの記憶媒体に記録したりする過程で、電気的なノイズや物理的な障害などの影響を受けてビットが反転してしまうことがある。例えば、「0」が「1」に、「1」が「0」に変わってしまう現象で、これをビットエラーと呼ぶ。冗長ビットは、このようなビットエラーが発生していないかを確認し、場合によっては元の正しい状態に復元するための重要な役割を担う。「冗長」という言葉は一般的に「無駄」や「余分」といった否定的な意味合いで使われるが、情報技術の分野においては、システムの信頼性やデータの完全性を保証するための不可欠な要素として機能する。この冗長ビットを利用した誤り制御技術は、エラー検出とエラー訂正の二つに大別される。 冗長ビットを利用した誤り検出の最も基本的な方式にパリティチェックがある。これは、送信するデータブロックに対して1ビットの冗長ビット(パリティビット)を付加する単純な方法である。パリティチェックには偶数パリティと奇数パリティの二種類が存在する。偶数パリティでは、データブロックとパリティビットを合わせた領域に含まれる「1」の個数が偶数になるようにパリティビットの値を決定する。例えば、データが「1011001」の場合、「1」の個数は4つで既に偶数なので、パリティビットは「0」となる。もしデータが「1011011」であれば、「1」の個数は5つで奇数なので、パリティビットを「1」とすることで全体の「1」の個数を6つ(偶数)にする。受信側は、受け取ったデータとパリティビットを合わせて「1」の個数を数え、それが偶数でなければ通信経路上で誤りが発生したと判断できる。ただし、パリティチェックには限界があり、反転したビットが2つや4つといった偶数個の場合は「1」の総数の偶奇が変わらないため、誤りを検出することができない。また、誤りを検出できても、どのビットが誤っているのかを特定できないため、データの訂正は不可能である。 誤りの検出だけでなく訂正まで行う技術として、ハミング符号が知られている。ハミング符号は、複数の冗長ビットをデータビットの特定の場所に挿入することで、1ビットの誤りを検出し、その位置を特定して訂正することを可能にする。データビットの特定の組み合わせに対してそれぞれパリティを計算する冗長ビットを複数用意し、それらをデータと共に送信する。受信側では、受け取ったデータから同様に各冗長ビットのパリティを再計算する。もし計算結果が送信された冗長ビットと一致しない場合、その不一致のパターンから、どのビットが誤っているのかを一意に特定することができる。特定されたビットを反転させることで、データを正しい状態に復元する。この強力な誤り訂正能力から、ハミング符号の考え方を基礎とした技術は、サーバーなどで使われるECCメモリ(Error Correcting Code Memory)に応用されており、システムの安定稼働に大きく貢献している。 パリティチェックよりも強力な誤り検出方式として、巡回冗長検査(CRC: Cyclic Redundancy Check)が広く利用されている。CRCは、送信データを特定の数式(生成多項式)で割り算し、その「余り」を冗長ビット(CRC符号)としてデータの末尾に付加する方式である。受信側は、受け取ったデータ全体(本来のデータとCRC符号)を、送信側と同一の生成多項式で割り算する。このとき、データに誤りがなければ割り切れる(余りが0になる)ように設計されているため、余りが出た場合はデータに誤りがあったと判断できる。CRCは、連続したビットがまとめて誤りとなるバーストエラーの検出能力に優れており、信頼性が非常に高い。そのため、イーサネットなどの有線LAN、無線通信、ハードディスクやSSDといったストレージデバイスのデータ整合性チェックなど、現代のデジタル通信や記録技術の様々な場面で標準的に採用されている。これらの冗長ビットを用いた技術は、私たちが日常的に意識することなく利用しているデジタル社会の信頼性を根底で支える、極めて重要な存在である。

冗長ビット (ジョウチョウビット) とは | 意味や読み方など丁寧でわかりやすい用語解説