Skip to main content
3 of 3
added 373 characters in body
Justme
  • 172k
  • 6
  • 135
  • 351

The payload data rate of 64b/66b is identical to 128b/132b, but since it uses 128 bit blocks and 4 preamble bits for the block header, it can be used for locking and detecting the block type from the preamble bits more robustly with error correction.

So in short, the 128b/132b encoding can use the 4-bit block header as a robust packet type determination mechanism between two different types of 128-bit blocks (e.g. data and control blocks), as the 4 bits provide enough error detection and correction information for the block header to correct one-bit errors and detect two-bit errors, providing a Hamming distance of 4.

The other line codes (64b/66b and 128b/130b) only allocate two bits for the block preamble, making it possible to only have a header for data or control block with error detection but without error correction. So it can only detect single bit errors and flag the blocks as invalid, as there is not enough information to correctly determine the block type if one of the preamble bits are corrupt. If both preamble bits are corrupt, then it swaps the type of block without error.

So as per the Wikipedia quote in the comments already, compared to 128b/130b, 128b/132b just duplicates the block header bits. And by expanding from 2 bits to 4 bits, it provides better error detection and error correction. 128b/132b still has exactly same overhead as 64b/66b which still uses only 2 block header bits, and just slightly worse througput than 128b/130b.

Justme
  • 172k
  • 6
  • 135
  • 351