64B/66B vs 8B/10B encoding describes difference between 64B/66B and 8B/10B

This page on 64B/66B vs 8B/10B encoding describes difference between 64B/66B and 8B/10B signal encoding types.

Both of these are signal encoding techniques used in ethernet based systems. In ethernet there are various groups based on medium of transmission such as copper or fiber optic. The groups for 10 Gbps systems are 10GBASE-R(used on optical fiber), 10GBASE-X(used on both copper and fiber optic), 10GBASE-T(used on twisted pair) and 10GBASE-W(used on SONET based optical fiber). For example, 64B/66B is used on 10GBASE-R as well as 10GBASE-W and 8B/10B is used on 10GBASE-X system. Let us understand these signal encoding techniques below.

64B/66B Signal encoding scheme

The 64B/66B Signal encoding technique is used in 10 Gigabit ethernet systems such as 10GBASE-R and 10GBASE-W as mentioned. Here 64B stands for 64 bits block of data and 66B stands for 66 bits block of data.

For example in 10GBASE-R XGMII sublayer provides 64 bits of data to PCS sublayer. This PCS sublayer houses 64B/66B Signal encoding, which adds 2 bits of data and outputs 66 bits of data. It adds '01' for data and '10' for control blocks. Different 64b/66b Block Formats are mentioned below including data block and control block.

64b/66b Block Formats

It is noted that '00' and '11' bit patterns are not used. This will help receiver to sync with used '10' (high to low transition) or '01'(low to high transition) in the receiver. This is due to block lock state machine look for '01' or '10' patterns every 66 bits apart in the receive data blocks.

Block lock state machine look for 16 instances of '00' and '11' within 64 sync headers to declare that it is out of lock.

This encoding helps de-lineates frames and control information. It scrambles data with self synchronous scrambler of following polynomial. This scrambler operates only on data part and not on '01' and '10' bit patterns used as header.

scrambler polynomial used is G(x) = 1 + x39 + x58

8B/10B Signal encoding scheme

The 8B/10B Signal encoding is used in 10 Gigabit ethernet system such as 10GBASE-X system. Here encoding block/module first divides 8Bits into 5 and 3 bits. Out of these 5 bits are encoded as 6 bits and 3 bits are encoded as 4 bits. This makes total of 10 bits as output of the signal encoding module. Note that here 8B stands for 8 input bits and 10B stands for 10 output bits.

Mapping from 5 bits to 6 bits and mapping from 3 bits to 4 bits are done as per look up table mentioned in the ethernet standard.

Following is the comparison or difference between 64B/66B and 8B/10B signal encoding types.

Specifications 64B/66B 8B/10B
Run Length Relies on scrambler 5
DC Balance Not guaranteed demanding for receiver Excellent
Bit synchronization clock recovery Relies on scrambler, but at least one transition per 66 bits Excellent
Word synchronization Sync header "Comma" K characters
Control characters Control codes K-characters

What is Difference between

SONET versus SDH
difference between FDM and OFDM
Difference between SC-FDMA and OFDM
Difference between TDD and FDD
Difference between 802.11 standards viz.11-a,11-b,11-g and 11-n

RF and Wireless Terminologies