In multi-lane ethernet, are the lanes synchronized? i.e., if the symbol of byte 1 of a packet is sent in lane 1, the symbol of byte 2 of a packet is sent in lane 2, then symbol of byte 1 will be received before byte 2?


There's no simple answer.

How data is distributed across multiple lanes depends on the exact physical layer variant. With 1000BASE-T, possibly the most popular multi-lane variant, the four five-level symbols transmitted simultaneously form a four-dimensional tuple (4D-PAM5). Each symbol at 125 MBaud effectively transports two MAC bits, resulting in an effective data rate of 250 Mbit/s per pair or 1000 Mbit/s in total.

Effectively, each MAC byte is split into four two-bit groups, encoded and sent simultaneously across the four pairs. See IEEE 802.3 Clause 40 for details.

While that might look like a parallel transmission from a high point of view, it still is serial. The main difference is the common clock for parallel transmission lines (with the inherent clock skew problems) and the separate (embedded) clocks for each serial lane.

Other PHY variants may split data on the bit, nibble or even byte level. There's no general method.

  • I understand. So, in case of 1000BASE-T, is it theoretically possible to get all data of one lane before the other lanes? I.e., can the other side receive MAC bits 1,2, then MAC bits 8,9? or it must wait for all bits 1-8 to be received before bits 8-9? (i.e., clock synchronization is needed) Oct 26 '20 at 17:49
  • 1
    1000BASE-T transfers one byte per transfer step, as laid out in the answer. That might look somewhat parallel from a higher POV but it's really serial since each lane's got its own (embedded) clock.
    – Zac67
    Oct 26 '20 at 18:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.