シンボルエラー (Symbol Error) とは

シンボルエラーとは、100Base-TX の 4B/5B 符号化、1000Base-T/1000Base-X の 8B/10B 符号化、10G Base-R の 64B/66B 符号化における、未定義(無効)シンボルを受信したときに発生するエラーです。なのでチェックサムエラーと同様、物理層での問題が予想されます。

4B/5B 符号化とは

4B/5B 符号化とは送信側は 4 bit の情報を 5 bit の情報に変換して送り、受信側は 5 bit の情報を 4bit に戻す符号化方式です。5 bit の情報を 1 セットとしたものをシンボル (Symbol) と言います。なので 25% の無駄な情報が入りますが、メリットは、0 もしくは 1 が 5 bit 以上連続しない、ということです。

0 もしくは 1 が連続すると、受信時に精度が悪くなります。なぜなら、送信側と受信側ではクロック (Flip-Flop回路) が同期されておらず、しかもほぼ同じ速度とはいえ、物理的な問題でわずかながら速度が異なるので、0 と 1 が頻繁に入れ替わるのであればそのタイミングでリカバリできますが、連続するとそのリカバリが効かず、0 と 1 の境目が分かりづらくなるからです。これをクロック・リカバリ問題と言います。

4B/5B だけでなく、8B/10B や 64B/66B 符号化のモチベーションはこのクロック・リカバリ問題 (Clock Recovery Problem) を解消するためです。

なお、10Base-T のマンチェスター符号化も同様にクロック・リカバリ問題の解決をしていますが、100% の無駄な情報(伝えたい情報の2倍の情報量)が入りますので、それと比較すればかなり効率化しています。

参考までに、4B/5B の 4 bit ⇔ 5 bit 変換マップ (Symbol Table と言います)を以下に示します。

4bit(伝えたい情報)シンボル5bit(変換後の情報)
0000011110
0001101001
0010210100
0011310101
0100401010
0101501011
0110601110
0111701111
1000810010
1001910011
1010A10110
1011B10111
1100C11010
1101D11011
1110E11100
1111F11101
IDLEI11111
SSD(1)J11000
SSD(2)K10001
ESD(1)T01101
ESD(2)R00111
ERRH00100
未定義(無効)V上記以外

なお、SSD は Start of Stream Delimiter の略で、SSD(1) と SSD(2) が連続することで、フレームの開始を知らせます。

同様に、ESD は End of Stream Delimiter の略で、ESD(1) と ESD(2) が連続することで、フレームの終了を知らせます。

IDLE は ESD(2) から次の SSD(1) までずっと出力されます。

フォローする