IP Library Granted Patent US 8,379,771
Granted Patent B1
US 8,379,771 · App. 12/876,988 · Granted Feb 19, 2013

System and method for formatting symbols in a data stream

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,379,771
App. No.
12/876,988
Granted
Feb 19, 2013
Kind
B1
Abstract

A data receiver identifies an alignment symbol in a parallel data stream including encoded symbols, generates a bit order indicator indicating a bit order of the alignment symbol identified in the parallel data stream, and generates a symbol stream including the encoded symbols. Further, the data receiver decodes symbols in the symbol stream and generates a bit polarity indicator indicating a bit polarity of the parallel data stream based on the decoded symbols. Additionally, the data receiver generates a formatted symbol stream having a predetermined bit order and a predetermined bit polarity, based on the symbol stream, the bit order indicator, and the bit polarity indicator. In some embodiments, the data receives a serial data stream and generates the parallel data stream by deserializing data in the serial data stream.

Claims (65)

1. A system for formatting symbols in a data stream, the system comprising:

a symbol alignment module configured to receive a parallel data stream, identify an alignment symbol in the parallel data stream, identify symbols in the parallel data stream based on the alignment symbol identified in the parallel data stream, and generate a symbol stream by aligning the symbols identified in the parallel data stream;

a decode module configured to decode symbols in the symbol stream; and

a format module configured to generate a bit order indicator indicating a bit order of the parallel data stream based on the alignment symbol identified in the parallel data stream, and generate a bit polarity indicator indicating a bit polarity of the parallel data stream based on the decoded symbols, the decode module further configured to generate a formatted symbol stream having a predetermined bit order and a predetermined bit polarity, based on the symbol stream, the bit order indicator, and the bit polarity indicator.

2. The system of claim 1 , wherein the symbol alignment module is further configured to identify the alignment symbol in the parallel data stream by monitoring the parallel data stream for a forward alignment symbol in a first predetermined time period, determining the parallel data stream does not include the forward alignment symbol in the first predetermined time period, reversing a bit order of symbols in the parallel data stream after determining the parallel data stream does not include the forward alignment symbol in the first predetermined time period, monitoring the parallel data stream for a reverse alignment symbol in a second predetermined time period following the first predetermined time period, and determining the parallel data stream includes the reverse alignment symbol in the second predetermined time period.

3. The system of claim 1 , wherein the decode module is further configured to decode symbols in the symbol stream by generating a first invalid symbol count indicating a number of the decoded symbols that are invalid in a first predetermined time period, determining the first invalid symbol count has reached a threshold, inverting the bit polarity of the symbol stream, generating a second invalid symbol count indicating a number of the decoded symbols that are invalid in a second predetermined time period following the first predetermined time period, and determining the second invalid symbol count has not reached the threshold.

4. The system of claim 1 , wherein the symbol alignment module is further configured to identify the alignment symbol in the parallel data stream by identifying either a forward alignment symbol or a reverse alignment symbol in the parallel data stream.

5. The system of claim 4 , wherein the symbol alignment module is further configured to generate a forward symbol stream by aligning symbols in the parallel data stream based on the forward alignment symbol, and generate a reverse symbol stream by aligning symbols in the parallel data stream based on the reverse alignment symbol.

6. The system of claim 5 , wherein the format module is further configured to generate a plurality of symbol streams based on the forward symbol stream and the reverse symbol stream, the plurality of symbol streams including a first symbol stream having a forward bit order and a non-inverted bit polarity, a second symbol stream having a forward bit order and an inverted bit polarity, a third symbol stream having a reverse bit order and a non-inverted bit polarity, and a fourth symbol stream having a reverse bit order and an inverted bit polarity.

7. The system of claim 6 , wherein the decode module is further configured to generate a plurality of decoded symbol streams corresponding to the plurality of symbol streams by decoding symbols in the plurality of symbol streams, the system further comprising a selector configured to select a decoded symbol stream of the plurality of decoded symbol streams as the formatted symbol stream based on the bit order indicator and the bit polarity indicator.

8. The system of claim 1 , further comprising a deserializer configured to receive a serial data stream and to generate the parallel data stream by deserializing the serial data stream.

9. The system of claim 1 , wherein the format module comprises a bit processing pipeline including a plurality of pipeline stages, wherein a pipeline stage of the plurality of pipeline stages includes a bit order module configured to reverse a bit order of symbols in the symbol stream based on the bit order indicator, and another pipeline stage of the plurality of pipeline stages includes a bit polarity module configured to invert the bit polarity of the symbol stream based on the bit polarity indicator.

10. A method of formatting symbols in a data stream, the method comprising:

receiving a parallel data stream;

identifying an alignment symbol in the parallel data stream;

generating a bit order indicator indicating a bit order of the parallel data stream based on the alignment symbol identified in the parallel data stream;

identifying symbols in the parallel data stream based on the alignment symbol identified in the parallel data stream;

generating a symbol stream by aligning the symbols identified in the parallel data stream;

decoding symbols in the symbol stream;

generating a bit polarity indicator indicating a bit polarity of the parallel data stream based on the decoded symbols; and

generating a formatted symbol stream having a predetermined bit order and a predetermined bit polarity, based on the symbol stream, the bit order indicator, and the bit polarity indicator.

11. The method of claim 10 , wherein identifying the alignment symbol in the parallel data stream comprises:

monitoring the parallel data stream for a forward alignment symbol in a first predetermined time period;

determining the parallel data stream does not include the forward alignment symbol in the first predetermined time period;

monitoring the parallel data stream for a reverse alignment symbol in a second predetermined time period following the first predetermined time period;

determining the parallel data stream includes the reverse alignment symbol in the second predetermined time period; and

reversing a bit order of symbols in the symbol stream after determining the parallel data stream does not include the forward alignment symbol in the first predetermined time period.

12. The method of claim 10 , wherein decoding symbols in the symbol stream comprises:

generating a first invalid symbol count indicating a number of the decoded symbols that are invalid in a first predetermined time period;

determining the first invalid symbol count has reached a threshold;

inverting the bit polarity of the symbol stream in response to determining the first invalid symbol count has reached the threshold;

generating a second invalid symbol count indicating a number of the decoded symbols that are invalid in a second predetermined time period following the first predetermined time period; and

determining the second invalid symbol count has not reached the threshold.

13. The method of claim 10 , wherein identifying the alignment symbol in the parallel data stream comprises identifying either a forward alignment symbol or a reverse alignment symbol in the parallel data stream.

14. The method of claim 13 , wherein generating the symbol stream by aligning symbols in the parallel data stream comprises:

generating a forward symbol stream by aligning symbols in the parallel data stream based on a forward alignment symbol; and

generating a reverse symbol stream by aligning symbols in the parallel data stream based on a reverse alignment symbol.

15. The method of claim 14 , wherein generating the symbol stream comprises generating a plurality of symbol streams based on the forward symbol stream and the reverse symbol stream, the plurality of symbol streams including a first symbol stream having a forward bit order and a non-inverted bit polarity, a second symbol stream having a forward bit order and an inverted bit polarity, a third symbol stream having a reverse bit order and a non-inverted bit polarity, and a fourth symbol stream having a reverse bit order and an inverted bit polarity.

16. The method of claim 15 , wherein generating the formatted symbol stream comprises:

generating a plurality of decoded symbol streams corresponding to the plurality of symbol streams by decoding symbols in the plurality of symbol streams; and

selecting a decoded symbol stream of the plurality of decoded symbol streams as the formatted symbol stream based on the bit order indicator and the bit polarity indicator.

17. The method of claim 10 , further comprising:

receiving a serial data stream; and

generating the parallel data stream by deserializing the serial data stream.

18. A method of formatting symbols in a data stream, the method comprising:

receiving a parallel data stream;

identifying an alignment symbol in the parallel data stream by identifying either a forward alignment symbol having a forward bit order in the parallel data stream or a reverse alignment symbol having a reverse bit order in the parallel data stream;

generating a bit order indicator indicating whether the parallel data stream has a forward bit order or a reverse bit order based on the alignment symbol identified in the parallel data stream;

identifying symbols in the parallel data stream based on the alignment symbol identified in the parallel data stream;

generating a symbol stream by aligning the symbols identified in the parallel data stream;

decoding symbols in the symbol stream;

generating a bit polarity indicator indicating whether the parallel data stream has a non-inverted bit polarity or an inverted bit polarity based on the decoded symbols; and

generating a formatted symbol stream having a predetermined bit order and a predetermined bit polarity, based on the symbol stream, the bit order indicator, and the bit polarity indicator.

19. The method of claim 18 , wherein identifying the alignment symbol in the parallel data stream comprises:

monitoring the parallel data stream for a forward alignment symbol in a first predetermined time period;

determining the parallel data stream does not include the forward alignment symbol in the first predetermined time period;

monitoring the parallel data stream for a reverse alignment symbol in a second predetermined time period following the first predetermined time period;

determining the parallel data stream includes the reverse alignment symbol in the second predetermined time period; and

reversing a bit order of symbols in the symbol stream after determining the parallel data stream does not include the forward alignment symbol in the first predetermined time period.

20. The method of claim 19 , wherein decoding symbols in the symbol stream comprises:

generating a first invalid symbol count indicating a number of the decoded symbols that are invalid in a first predetermined time period;

determining the first invalid symbol count has reached a threshold;

inverting the bit polarity of the symbol stream in response to determining the first invalid symbol count has reached the threshold;

generating a second invalid symbol count indicating a number of the decoded symbols that are invalid in a second predetermined time period following the first predetermined time period; and

determining the second invalid symbol count has not reached the threshold.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: JPMORGAN CHASE BANK, N.A.
To: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; CHIPX, INCORPORATED; ENDWAVE CORPORATION; MAGNUM SEMICONDUCTOR, INC.
Reel/Frame 048746/0001 →
SECURITY AGREEMENT Recorded Apr 5, 2017
From: INTEGRATED DEVICE TECHNOLOGY, INC.; GIGPEAK, INC.; MAGNUM SEMICONDUCTOR, INC.; ENDWAVE CORPORATION; CHIPX, INCORPORATED
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042166/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2010
From: REED, ALEX C., IV, MR.; KULKARNI, SHRIRAM, MR.
To: INTEGRATED DEVICE TECHNOLOGY, INC.
Reel/Frame 024950/0065 →