IP Library Granted Patent US 8,990,653
Granted Patent B2
US 8,990,653 · App. 11/396,056 · Granted Mar 24, 2015

Apparatus and method for transmitting and recovering encoded data streams across multiple physical medium attachments

Inventor: Michele Chiabrera (Ottawa, CA)
Assignee: STMicroelectronics, Inc.
H04L1/0078H04L1/0043H04L1/0045
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,990,653
App. No.
11/396,056
Granted
Mar 24, 2015
Kind
B2
Abstract

A method includes generating an encoded data block, dividing the encoded data block into a plurality of sub-blocks, and transmitting the plurality of sub-blocks over a plurality of physical medium attachments. The encoded data block may be generated using 64B/66B encoding, and the data being encoded could first be decoded using 8B/10B decoding. Another method includes receiving a plurality of sub-blocks over a plurality of physical medium attachments, generating an encoded data block using the plurality of sub-blocks, and recovering data encoded in the encoded data block. The data may be recovered from the encoded data block using 64B/66B decoding, and the recovered data may be subsequently encoded using 8B/10B encoding. Each physical medium attachment may be capable of serializing data for transmission over a physical transmission medium (such as printed circuit board tracks or lanes) and deserializing data received over the physical transmission medium.

Claims (49)

1. A method comprising:

generating encoded data blocks having respective synchronization headers;

transmitting the encoded data blocks to a demulitplexer via a physical coding sublayer;

based on a quantity of physical medium attachments, dividing, by the demultiplexer, the encoded data blocks into a plurality of respective sub-blocks each sized for separate transmission over one of a plurality of different physical medium attachments; and

processing the sub-blocks with a plurality of gearboxes in an alternating fashion so that the synchronization headers from any two consecutive encoded data blocks are processed by different gearboxes, each gearbox comprising a plurality of outputs coupled to a respective one of the physical medium attachments.

2. The method of claim 1 , wherein generating the encoded data blocks comprises:

encoding data using 64B/66B encoding to generate encoded data and synchronization data;

scrambling the encoded data; and

combining the scrambled encoded data and the synchronization data to generate a respective encoded data block.

3. The method of claim 2 , further comprising:

receiving data encoded using 8B/10B encoding; and

decoding the received data, wherein the decoded data is encoded using 64B/66B encoding to generate the encoded data and the synchronization data.

4. The method of claim 1 further comprising:

receiving the plurality of sub-blocks over the plurality of-physical medium attachments, wherein each of the plurality of sub-blocks is sized for separate transmission over one of the physical medium attachments and is received on a different one of the physical medium attachments

combining, using a multiplexer, the plurality of sub-blocks and generating respective encoded data block using the plurality of sub-blocks;

transmitting the encoded data block from the multiplexer via a physical coding sub layer; and

recovering data encoded in the encoded data block.

5. The method of claim 4 , wherein recovering the data encoded in the encoded data block comprises:

separating scrambled encoded data and synchronization headers in respective encoded data blocks;

descrambling the encoded data; and

decoding the descrambled encoded data using 64B/66B decoding to recover the data.

6. The method of claim 4 , wherein receiving the plurality of sub-blocks comprises:

receiving the plurality of sub-blocks from a plurality of block synchronization modules, each capable of receiving a plurality of inputs comprising one of the sub-blocks from one of the physical medium attachments.

7. The method of claim 6 , further comprising:

storing the plurality of sub-blocks in a plurality of queues, each queue associated with one of the block synchronization modules; and

controlling the queues using a state machine such that the queues output aligned sub-blocks.

8. An apparatus comprising:

a transmitter comprising

a physical coding sublayer configured to provide data blocks having respective synchronization headers associated therewith,

a demultiplexer coupled to said physical coding sublayer and configured to divide the encoded data blocks into respective pluralities of separate sub-blocks,

a plurality of gearboxes configured to process the sub-blocks in an alternating fashion so that the synchronization headers from any two consecutive encoded data blocks are processed by different gearboxes, each gearbox comprising a plurality of outputs, and

a plurality of different physical medium attachments each coupled to the outputs of a respective gearbox.

9. The apparatus of claim 8 further comprising a receiver comprising:

a multiplexer configured to receive the plurality of sub-blocks over the plurality of physical medium attachments and combine the plurality of sub-blocks to generate respective encoded data blocks; and

a decoder to decode the encoded data blocks.

10. The apparatus of claim 9 wherein the decoder comprises a 64B/66B decoder.

11. The apparatus of claim 9 wherein the receiver further comprises:

a plurality of block synchronization modules coupled to respective multiplexers configured to re-construct the sub-blocks; and

a deskewing module configured to receive the sub-blocks from the block synchronization modules and output the encoded data blocks.

12. The apparatus of claim 8 wherein each physical medium attachment is configured to serialize data for transmission over a physical transmission medium.

13. A non-transitory computer-readable medium having computer-executable instructions for causing a transmitter to perform steps comprising:

generating encoded data blocks having a synchronization header;

transmitting the encoded data blocks to a demulitplexer via a physical coding sublayer;

based on a quantity of physical medium attachments, dividing the encoded data blocks into a plurality of respective sub-blocks each sized for separate transmission over one of a plurality of different physical medium attachments; and

processing the sub-blocks with a plurality of gearboxes in an alternating fashion so that the synchronization headers from any two consecutive encoded data blocks are processed by different gearboxes, each gearbox comprising a plurality of outputs coupled to a respective one of the physical medium attachments.

14. The non-transitory computer-readable medium of claim 13 wherein generating the encoded data blocks comprises:

encoding data using 64B/66B encoding to generate encoded data and synchronization data;

scrambling the encoded data; and

combining the scrambled encoded data and the synchronization data to generate the encoded data blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2006
From: CHIABRERA, MICHELLE
To: STMICROELECTRONICS, INC.
Reel/Frame 017763/0213 →
Continuity (1)
Related Publication 20070234172A1 · Oct 4, 2007