読み方 : じょうちょうビット
冗長ビット【redundant bit】
概要

データ通信やストレージでは、電気的なノイズや機器の故障、媒体の劣化などによってビットが意図せず反転し、データが変化することがある。こうした誤りに対処するため、送信側・記録側はあらかじめ元データから一定の計算規則に従って冗長ビットを生成し、データ本体に付加して送り出す。受信側・読み出し側はこの冗長ビットをもとに同様の計算を行い、結果が一致しなければ誤りが生じたと判断する。
誤りの検出のみを行う符号を「誤り検出符号」(EDC:Error-Detecting Code)、検出に加えて誤りの一部を自動的に修正できる符号を「誤り訂正符号」(ECC:Error-Correcting Code)という。いずれも、付加する冗長ビットの量が多いほど高い検出・訂正能力を実現できる一方、伝送量や記憶容量はその分だけ増加する。
最も単純な例が「パリティビット」(parity bit)である。例えば、8ビットのデータに1ビットの冗長ビットを加え、全体に含まれる「1」の個数が常に奇数または偶数になるよう調整する。受信時にこの規則が崩れていれば誤りの発生を検知できる。ただし、どのビットが誤っているかは特定できず、偶数箇所が同時に反転した場合には検出できないこともある。
より高度な方式として、「ハミング符号」「リードソロモン符号」「BCH符号」などがあり、複数ビットの誤りを同時に検出したり、誤りが発生した位置を特定して自動的に修復したりすることが可能である。これらはネットワーク通信のプロトコルや、光ディスク、ハードディスク、SSDといった記録装置、サーバ向けのECCメモリなど、用途に応じて使い分けられている。
(2026.6.17更新)