[FE] Detection of two bursts
This is a resend. I never saw the original come back from the reflector. Regards, Pat
Colleagues,
At one of the frame extension meetings, I was asked about the effect on error detection (Hamming distance specifically) of lengthening the packet given the 8B/10B and 4B/5B block codes. At the time, I responded that both codes were used originally by standards with much longer maximum packet sizes, 4500 and 2136 bytes, than Ethernet (Fibre Channel and FDDI, respectively) and my understanding was that they were probably checked for those environments.
Recently, I realized that I could verify effect of frame extension on Hamming distance for the 8B/10B code pretty easily and I have now done so. These results should be considered preliminary. Here is the basic logic:
We know that the 8B/10B code disparity checking combined with the IEEE 802.3 delimiters and the end of packet error checking done by the state machines ensure that all odd numbers of code bit errors will be detected. Therefore, we will have a Hamming distance of 4 if the CRC will detect all 2 code bit errors.
The 8B/10B code is really a concatenation of a 5B/6B code and a 3B/4B code (so that the code can handle a byte at a time with less complexity). A single code bit error can cause an error burst of at most 5 bits.
I've done an analysis to determine the closest spacing of two 5 bit error bursts that can produce an error undetectable by the Ethernet CRC. The result is larger than 1.7 Mbytes.
This is a lower bound because some error pairs can't occur with two code bit errors. For example, the actual two 5 bit patterns that occur with the minimum spacing can't occur with 8B/10B. For the spacing, the first error would be 01101 and the second would be 10001 and the distance between them mod 8 is 3. If I line up the 01101 error so it fits in the 5B/6B part of a byte, the 10001 stradles a 5B/6B and a 3B/4B so one code error can't produce it.
No undetectable 2 code bit error can occur in a packet shorter than this and as I mentioned before the rules we apply with 8B/10B coding ensure that the physical layer will detect any 3 bit error regardless of packet length. Since this is longer than the frame size for which our CRC has with non-block coded data I haven't bothered to refine the result further to see which error pairs can actually occur 2 code bit errors.
Regards,
Pat