8B10B encoding maps 8-bit words to 10-bit words. The conversion prevents long sequences of zeros or ones from forming, which complicates clock recovery and data regeneration.
Since an 8-bit sequence conversion results in 256 bit combinations, whereas a 10-bit sequence results in 1024 bit combinations, only the bit combinations that have many level changes are used to map the 8-bit words. In fact, only those bit combinations are taken into account that contain a maximum of five consecutive zeros and five consecutive ones. This allows the clock signal required for synchronization to be derived from the encoded signal that has a sufficient number of level changes. Since only 256 bit combinations are required for the 8-bit sequences when mapping 8-bit sequences into 10-bit sequences, a further 768 bit combinations remain. These are used for special characters and in the Fibre Channel for link management.
The 8B10B coding is used, for example, in Fibre Channel, Gigabit Ethernet, 10 Gigabit Ethernet, 100 Gigabit Ethernet, in Enterprise System Connection (ESCON), in the StarFabric as well as in the ATM transmission interfaces, namely in direct cell transmission.