# PAM5 and 8B10B and FEC

```

Reference: Note by Jaime Kardontchik, same subject, dated 03/02/2000
02:15:57 AM

Jamie,

I wish to correct a common misconception about Fibre Channel 8B/10B code.

You wrote: "Now, if you also want to add the 8b/10b coding, your 'raw' data
becomes now something more than 512 symbols: 256 for Current RD(-) and
another 256 symbols for Current  RD(+) plus another 12 symbols
corresponding to valid special code groups, like K28.5 and K28.7. In total,

The actual number of symbols for 8B/10B code is 440 plus 2 for every
control character used, e.g. 242 for Fibre Channel.

The code is partitioned into a 6B and a 4B part. The 6B part consists of 18
disparity independent vectors and 14 (13 for data, 1 for control) disparity
dependent vectors. Similarly, the 4B part consists of 4 disparity
independent and 5 disparity dependent vectors. Therefore, for data, we have
18x4 = 72 disparity independent 10B vectors and 256-72 =  184 disparity
dependent vectors. So, the total number of 10B data vectors is 72+(2x184) =
440. Since all control characters are disparity dependent, you have to add
2 vectors for each control character used.

Albert Widmer
IBM T.J. Watson Research Center
Yorktown Heights, NY 10598-0218
email: widmer@xxxxxxxxxx

```