Skip to main content

Fujitsu

Japan

CRC(Cyclic Redundancy Check:巡回冗長検査):用語解説

CRCとは、ディスク・テープの読み出し、書き込みなど、主にシリアルインターフェースのI/Oアクセスにおいて、データに誤りを検出する符号を付加することで、データの伝送誤りを検出する機能です。

データを送信する側では、送信するデータを、特定の数を用いて割り算を行います。そして、割り算をした結果の余りを、誤りを検出する符号としてデータに付加して送信します。この送信データは、特定の数で割り切れる数になります。

データの受信側では、送られてきたデータを、送信側と同じ特定の数を用いて割り算を行います。この際、結果が割り切れれば、データ伝送途中にデータに誤りがなかったことになり、データは正しいと判断できます。

反対に、余りが0以外の場合、データの伝送誤りがあると判断できます。

CRCでは付加する情報が多いため、複数ビットの誤りが検出できます。ただし、CRCでは誤りのあるデータを訂正することはできません。そのため、誤りが見つかった場合、受信側は送られてきたデータを破棄し、送信側にデータの再送を要求します。送信側は再送の要求を受けて、再度データを送信します。