バーストエラー(バーストエラー)とは | 意味や読み方など丁寧でわかりやすい用語解説
バーストエラー(バーストエラー)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。
読み方
日本語表記
バーストエラー (バーストエラー)
英語表記
burst error (バーストエラー)
用語解説
「バーストエラー」とは、データ通信やデータ記録の分野において、エラーが時間的または空間的に集中して発生する現象を指す。単一のビットエラーがランダムに発生する「ランダムエラー」とは異なり、バーストエラーは連続したビット列やデータブロックにわたって、まとめてエラーが発生するのが特徴である。システムエンジニアとして信頼性の高いシステムを設計・運用する上で、このバーストエラーの概念とそれに伴う対策を理解することは極めて重要となる。
バーストエラーの発生は、多くの場合、一時的な物理的障害や環境変化に起因する。例えば、無線通信における瞬間的な電波干渉、有線通信におけるケーブルの接触不良や外部からの強力なノイズ、ストレージデバイスにおける記録媒体の物理的な傷や不良セクタ、メモリの一時的な機能不全などが挙げられる。これらの原因は一過性のものであっても、それがデータ伝送路や記録媒体の特定の部分に連続的に影響を与えることで、複数のビットやバイトが連続して損傷する結果となる。この「連続性」がバーストエラーの本質であり、通常のランダムエラーとは異なるアプローチでの検出と訂正が必要となる理由である。
詳細に掘り下げると、バーストエラーの発生メカニズムは多岐にわたる。データ通信の分野では、無線LANのような媒体共有型のネットワークにおいて、他の電波源からの強力な干渉が短時間発生した場合、その間に送受信される複数のデータパケットが同時に破損する可能性がある。また、イーサネットケーブルのコネクタが一時的に緩んだり、電磁ノイズを発生させる機器が近くで動作したりすると、その影響で送受信される信号が連続的に歪み、複数のビットエラーが集中して発生することがある。光ファイバー通信においても、ファイバーのわずかな曲がりや接続部分の劣化、あるいは一時的な外部振動によって信号の減衰が起こり、その間を通過するデータストリームが連続してエラーを起こすことがある。
ストレージデバイスにおいてもバーストエラーは頻繁に発生する。ハードディスクドライブ(HDD)では、記録面に微細な傷がついたり、磁気ヘッドが一時的に不調になったりすると、その領域に記録されているデータやその領域を通過するデータが連続して読み書きエラーを起こすことがある。これを不良セクタと呼び、不良セクタが連続して発生すると、それはバーストエラーの一種と見なせる。ソリッドステートドライブ(SSD)においても、NANDフラッシュメモリセルの物理的な劣化やコントローラの一時的な不具合により、特定のブロックやページに連続して書き込み・読み出しエラーが発生することがある。CDやDVD、Blu-ray Discなどの光ディスクでは、表面の傷や汚れが原因で、その部分を読み取る際に連続したエラーが発生するのは典型的なバーストエラーの例である。
バーストエラーがシステムに与える影響は大きい。単一のビットエラーであれば、比較的単純なエラー検出・訂正符号(例えばパリティチェックやCRC(巡回冗長検査))である程度対処できる場合が多い。しかし、バーストエラーの場合、エラーが集中しているため、これらの単純な符号では検出すら困難であったり、訂正能力が不足したりすることがほとんどである。例えば、パリティチェックは通常、奇数個のビット反転しか検出できないため、連続した偶数個のビット反転には無力である。CRCも誤り検出能力は高いものの、バースト長が符号の能力を超える場合や、誤りのパターンによっては検出できないケースがある。
このため、バーストエラーに対する対策としては、より強力なエラー検出・訂正技術が不可欠となる。代表的なものとしては、リード・ソロモン符号が挙げられる。リード・ソロモン符号は、連続する複数のシンボル(バイト単位など)のエラーを効率的に訂正できる特性を持ち、CD、DVD、Blu-ray Disc、二次元バーコード、無線通信、ストレージデバイスなど、多くの分野で広く採用されている。この符号は、エラーが発生した位置だけでなく、その内容もある程度復元できるため、バーストエラーに対する高い耐性を提供する。
また、バーストエラーの影響を軽減するための重要な技術として「インターリーブ」がある。インターリーブとは、データをそのままの並びで記録・送信するのではなく、意図的に順序を入れ替えて分散させてから記録・送信し、受信・読み出し時に元の順序に戻す技術である。例えば、データA、B、C、D、E、Fをそのまま送るのではなく、A, D, B, E, C, F のように並び替えて送る。もし途中で連続する3つのエラー(D, B, Eに発生)が生じたとしても、元の順序に戻すとエラーがA, B, C, D, E, Fの並びでD, B, Eと分散するため、連続するエラーではなく個別のエラーとして認識されやすくなる。これにより、単一エラーに強い比較的単純なエラー訂正符号でも、バーストエラーの影響を効果的に軽減できるようになる。
データ通信においては、エラーを検出した場合にデータの再送を要求する「再送制御」も重要な対策の一つである。TCP/IPプロトコルスタックにおけるTCP(Transmission Control Protocol)が提供する再送機能がその代表例である。バーストエラーによって一部のデータパケットが破損しても、受信側がそれを検出し、送信側に再送を要求することで、最終的に正確なデータが伝達される。ただし、再送が発生すると通信のスループット(単位時間あたりのデータ転送量)が低下するため、できる限り物理層やデータリンク層でエラーを訂正することが望ましいとされる。
ストレージシステムでは、RAID(Redundant Array of Independent Disks)のような冗長化技術も、バーストエラー(例えばドライブ故障や不良セクタの集中)からデータを保護するために利用される。RAIDは複数のディスクにデータを分散記録し、パリティデータなどを用いて冗長性を持たせることで、一部のディスクが故障してもデータを復旧できるようにする。これも広義のバーストエラー対策の一つと言える。
このように、バーストエラーはシステムの信頼性や性能に大きな影響を与える厄介な存在である。そのため、システム設計においては、発生しうるバーストエラーの特性を考慮し、リード・ソロモン符号のような強力なエラー訂正符号の導入、インターリーブ処理の適用、堅牢な再送制御プロトコルの採用、そして物理的なノイズ対策や高品質なコンポーネントの選択といった多角的なアプローチで対策を講じることが不可欠である。システムエンジニアは、これらの技術や概念を理解し、適切な対策を実装することで、障害に強く安定したシステムを構築できるのである。