256B IBM | Alldatasheet
Document overview
- Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
- PDF pages: 21
Technical content
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable IEEE 802.3bj March 12-16, 2012, Hawaii Roy Cideciyan - IBM
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 2 IBM Supporters Zhongfeng Wang – Broadcom Stephen Bates – PMC-Sierra Mark Gustlin – Xilinx Myles Kimmitt – Emulex Jeff Slavick – Avago Technologies Sudeep Bhoja – Broadcom Matt Brown – Applied Micro Oren Sela – Mellanox
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 3 IBM Introduction /square4512b-based transcoding (TC) − 512b/513b TC scheme for 40 Gb/s ethernet: trowbridge_01_0707.pdf − 512b/513b TC scheme for 100 Gb/s ethernet backplane and copper cable: cideciyan_01a_0911.pdf − 512b/514b TC scheme for 100 Gb/s ethernet: a) Teshima et al. “Bit-Error-Tolerant (512*N)B/(513*N+1)B Code for 40Gb/s and 100Gb/s Ethernet Transport”, INFOCOM 2008 , b) cideciyan_01a_1111.pdf , c) wang_01a_1111.pdf , d) gustlin_01_0112.pdf and e) brown_01_0112.pdf /square4The granularity of 256b-based TC simplifies processing of alignment markers: gustlin_01_0312.pdf /square4256b/257b TC with reshuffling: FEC Proposal for NRZ-Based 100G-KR Systems, Broadcom, Feb. 8, 2012. /square4A proposal is shown for 256b/257b transcoding w/o reshuffling that can be used for both NRZ and PAM4 signaling
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 4 IBM 64b/66b Coding in 100GBASE-R /square664b/66b coding used in 100GBASE-R (IEEE 802.3ba-2010, Clause 82) − 1 type of data block (DB) with 2-bit header 01 − 11 types of control blocks (CB) with 2-bit header 10 where the first byte of the payload is rate-4/8 encoded (Hamming distance=4) 8-bit block type field indicating the type of control block format DB CB BTF
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 5 IBM 256b/257b Transcoding with Reshuffling Presentation by Zhongfeng Wang, FEC Proposal for NRZ-Based 100G-KR Systems, Broadcom, Feb. 8, 2012.
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 6 IBM 256b/257b Transcoding Proposal w/o Reshuffling
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 7 IBM Data Blocks and Control Blocks /square6256b/257b transcoding converts four incoming 66-bit blocks into one 257-bit block /square6Four incoming 66-bit blocks that have to be transcoded may be data blocks (DB) with 2-bit header 01 or control blocks (CB) with 2-bit header 10 /square6Data block #i with 64-bit block payload DBi(64) where bits are sent from left to right /square6Control block #j with 8-bit block type field BTFj(8) and 56-bit control information CBj(56) where bits are sent from left to right DBi(64) 01 CBj(56) 10 BTFj(8)
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 8 IBM Block Type Field /square6According to clause 82.2.3.1 the LSB of the block type field (BTF) represented as a hexadecimal value is the first transmitted bit. For example, the block type field 0x1E is sent from left to right as 01111000. /square6BTFj(8)=BTFj<7:0> where BTFj<0> is the first transmitted bit. We represent BTFj(8) as the concatenation of the first nibble Fj(4)=BTFj<3:0> and the second nibble Sj(4)=BTFj<7:4>. For example, for BTFj(8)=0x1E, we obtain Fj(4)=0xE sent from left to right as 0111 and Sj(4)=0x1 sent from left to right as 1000. CBj(56) 10 0x1E BTFj(8) CBj(56) 10 0xE 0x1 Fj(4) Sj(4) CBj(56) 10 0111 1000 Fj(4) Sj(4) or or
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 9 IBM 256b/257b Transcoding for DB-Only Payload /square6Step 1: Delete 01 header bits from all DBs /square6Step 2: Insert header bit 1 indicating 256-bit payload of transcoded block contains only block payloads of DBs /square6DBk(64), k=1, 2, 3 and 4, indicates 64-bit block payload associated with DB #k /square6Transcoded blocks are sent from left to right (leftmost bit first, rightmost bit last). Header bit of transcoded block 1 is sent first. No reshuffling of the order of data blocks after transcoding DB1(64) 01 DB2(64) 01 DB3(64) 01 DB4(64) 01 DB1(64) 1 DB2(64) DB3(64) DB4(64) Transcoding (TC) at Tx Inverse Transcoding (ITC) at Rx Only Case : DB #1, DB #2, DB #3 and DB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 10 IBM 256b/257b Transcoding w/ at least 1 CB /square6Step 1: Delete 01 header bits of all DBs and 10 header bits of all CBs. /square6Step 2: Insert header bit 0 (sent first) indicating 256-bit payload of transcoded block contains at least 1 CB /square6Step 3: Delete the second 4-bit nibble in the first byte of the first control block in a transcoded block. The first 4-bit nibble in the first byte of the first control block indicating the type of the first control block is kept. There are a total of 11 CB-type indicators without accounting for alignment markers (AM). /square6Step 4: Insert 4-bit pattern x1 x2 x3 x4 following header bit 0 where xi=0 indicates that i-th block is control block CBi whereas xi=1 indicates that i-th block is data block DBi. /square664-bit data in all second, third and fourth control blocks in a transcoded block are kept unchanged and therefore first byte of second, third and fourth control blocks indicating block type field is protected by distance-4 Hamming code. No reshuffling of the order of data/control blocks after transcoding
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 11 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) /square6Transcoded blocks are sent from left to right (leftmost bit first, rightmost bit last). Header bit of transcoded block 0 is sent first. /square6Notation − 1st block may be a data block DB1(64) or control block F1(4), S1(4) and CB1(56) − 2nd block may be a data block DB2(64) or control block F2(4), S2(4) and CB2(56) − 3rd block may be a data block DB3(64) or control block F3(4), S3(4) and CB3(56) − 4th block may be a data block DB4(64) or control block F4(4), S4(4) and CB4(56) TC at Tx ITC at Rx CB1(56) 10 Case 1: CB #1, CB #2, CB #3 and CB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 12 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) TC at Tx ITC at Rx CB1(56) 10 TC at Tx ITC at Rx CB1(56) 10 Case 3: CB #1, CB #2, DB #3 and CB #4 Case 2: CB #1, CB #2, CB #3 and DB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 13 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) TC at Tx ITC at Rx CB1(56) 10 F1(4) S1(4) CB2(56) 10 F2(4) S2(4) DB3(64) 01 DB4(64) 01 Case 4: CB #1, CB #2, DB #3 and DB #4 TC at Tx ITC at Rx CB1(56) 10 Case 5: CB #1, DB #2, CB #3 and CB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 14 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) TC at Tx ITC at Rx CB1(56) 10 F1(4) S1(4) DB2(64) 01 CB3(56) 10 F3(4) S3(4) DB4(64) 01 Case 6: CB #1, DB #2, CB #3 and DB #4 TC at Tx ITC at Rx CB1(56) 10 F1(4) S1(4) DB2(64) 01 DB3(64) 01 CB4(56) 10 F4(4) S4(4) Case 7: CB #1, DB #2, DB #3 and CB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 15 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) TC at Tx ITC at Rx CB1(56) 10 F1(4) S1(4) DB2(64) 01 DB3(64) 01 DB4(64) 01 CB1(56) F1(4) 0111 DB2(64) DB3(64) DB4(64) Case 8: CB #1, DB #2, DB #3 and DB #4 TC at Tx ITC at Rx DB1(64) 01 Case 9: DB #1, CB #2, CB #3 and CB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 16 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) TC at Tx ITC at Rx DB1(64) 01 CB2(56) 10 F2(4) S2(4) CB3(56) 10 F3(4) S3(4) DB4(64) 01 Case 10: DB #1, CB #2, CB #3 and DB #4 TC at Tx ITC at Rx DB1(64) 01 CB2(56) 10 F2(4) S2(4) DB3(64) 01 CB4(56) 10 F4(4) S4(4) Case 11: DB #1, CB #2, DB #3 and CB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 17 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) TC at Tx ITC at Rx DB1(64) 01 CB2(56) 10 F2(4) S2(4) DB3(64) 01 DB4(64) 01 DB1(64) 1011 CB2(56) F2(4) DB3(64) DB4(64) Case 12: DB #1, CB #2, DB #3 and DB #4 TC at Tx ITC at Rx DB1(64) 01 DB2(64) 01 CB3(56) 10 F3(4) S3(4) CB4(56) 10 F4(4) S4(4) Case 13: DB #1, DB #2, CB #3 and CB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 18 IBM 256b/257b Transcoding w/ at least 1 CB (cont.) TC at Tx ITC at Rx DB1(64) 01 DB2(64) 01 DB3(64) 01 CB4(56) 10 F4(4) S4(4) DB1(64) 111 0 DB2(64) DB3(64) CB4(56) F4(4) Case 15: DB #1, DB #2, DB #3 and CB #4 TC at Tx ITC at Rx DB1(64) 01 DB2(64) 01 CB3(56) 10 F3(4) S3(4) DB4(64) 01 DB1(64) 11 01 DB2(64) CB3(56) F3(4) DB4(64) Case 14: DB #1, DB #2, CB #3 and DB #4
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 19 IBM Detection of Invalid Transcoded Blocks /square6Invalid transcoded blocks (ITB) can be detected during inverse transcoding /square6ITB condition 1: Header bit 0 followed by x1=1, x2=1, x3=1, x4=1 /square6ITB condition 2: First 4-bit nibble (16 possible patterns) in first control block is one out of 16-11=5 invalid CB type indicators /square6ITB condition 3: 8-bit BTF (256 possible patterns) of second, third and fourth CBs in transcoded block is one out of 256-11=245 illegal block type fields. In this case, the distance-4 Hamming code is used as an error detection code that is capable of detecting 245 out of 255 possible error patterns. An alternative would be to correct all single-bit errors in 8-bit BTF (256 possible patterns) of second, third and fourth CBs in transcoded block and to detect 256-11*9=157 out of 255 possible error patterns. In this case, the distance-4 Hamming code is used as a single-bit error correction code and as an error detection code that is capable of detecting 157 error patterns. /square6ITB condition 4: Invalid bits in 56-bit control payload CBi(56) of control block CB #i. Some bits in 56-bit control payload are set to “0” as specified in clause 82.2.3.3 (see thin rectangles and 0x000_0000 in Figure 82-5). If these bits are received as “1” in a transcoded block, an invalid transcoded block can be indicated.
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 20 IBM Benefits of 256b/257b TC vs. 512b/514b TC /square6The granularity of 256b/257b TC simplifies processing of alignment markers because the total number of 20 alignment markers is divisible by 4 (# of control/data blocks in 256b-based TC) but not by 8 (# of control/data blocks in 512b-based TC): gustlin_01_0312.pdf /square6RS(528,514), t=7, m=10 code provides the same error-rate performance and the same coding gain of 4.87 dB in case of 256b/257b or 512b/514b TC scheme /square65% to 7.5% reduction in overall latency associated with transcoding and FEC /square615% reduction in total gate complexity /square615% reduction in total power dissipation FEC Code RS(n, k, t, m) Transcoding (TC) Effective Gain for BER = 10 -15 Overall Latency * Total Area (40nm gates) * Total Power * RS(528, 514, 7, 10) 256b/257b 4.87 dB 94.3 ns 244k 90 mW RS(528, 514, 7, 10) 512b/514b 4.87 dB 99.4 ns 285k 105 mW gustlin_01_0112.pdf and gustlin_01_0312.pdf * Zhongfeng Wang computed overall latency, total gate complexity and power dissipation for a nominal design
256b/257b Transcoding for 100 Gb/s Backplane and Copper Cable 21 IBM Thank You