Method and system for error correction over serial link
AssigneeZettacom, Inc.
InventorsMatthew D. Ornes, Christopher I. W. Norrie, Gene K. Chui
Life of this patent
Estimating the term…
Abstract
A system and method in accordance with the invention produces an ECC code that is transmitted in the y-bit domain along with data that is converted from a native x-bit domain to the y-bit domain. Such a system and method provides a representation of an ECC code that is part of a transmitted serial stream that allows clock recovery and that can use parity checking or other method to verify the integrity of the transmitted ECC code itself.
Claims70
A method of communicating a data cell having a cell body, comprising:
- forming a first representation of an ECC code for at least a portion of the cell body, wherein the first representation includes a first number of bits;
- converting the first representation of the ECC code to a second representation, wherein the second representation includes a second number of bits designed to allow validation of the integrity of the second representation of the ECC code, wherein the second representation of the ECC code is designed to be part of a transmitted serial stream.
A method of communicating a data cell having a cell body that includes 8-bit characters which are converted to 10-bit characters for transmission, comprising:
- forming a base ECC code for at least a portion of the cell body;
- converting the base ECC code into a plurality of 10-bit characters, wherein the 10-bit characters that represent the base ECC code are designed to be part of a transmitted serial stream.
A method of communicating a data cell having a cell body that includes 8-bit characters, comprising:
- converting the 8-bit characters for the cell body to 10-bit characters representative of the cell body;
- forming a base ECC code for at least a portion of the cell body;
- converting the base ECC code into a plurality of 8-bit characters representative of the base ECC code;
- converting the plurality of 8-bit characters representative of the base ECC code into a plurality of 10-bit characters representative of the base ECC code.
A method of communicating a data cell having a cell body that includes 8-bit characters, comprising:
- converting the 8-bit characters for the cell body to 10-bit characters;
- forming a 12-bit base ECC code for at least a portion of the cell body;
- splitting the 12-bit base ECC code into two 6-bit characters;
- converting the two 6-bit characters into two 8-bit characters;
- converting the two 8-bit characters into two 10-bit characters with a selected parity, where the two 10-bit characters are selected so that when transmitted as part of a data stream, the data stream will be DC balanced and allow recovery of a clock;
- appending the two 10-bit characters that represent the ECC code to the 10-bit characters that represent the cell body to form a data cell comprised of 10-bit characters.
A method of communicating a data cell having a cell body that includes x-bit characters which are converted to y-bit characters for transmission, comprising:
- forming a first representation of an ECC code for at least a portion of the cell body as represented in y-bit characters, wherein the first representation includes a first number of bits;
- converting the first representation of the ECC code to a second representation, wherein the second representation includes a second number of bits greater than the first number of bits, wherein the second representation includes y-bit characters and is designed to be part of a transmitted serial stream.
A method of communicating a data cell having a cell body that includes x-bit characters which are converted to y-bit characters for transmission, comprising:
- forming a first representation of an ECC code for at least a portion of the cell body as represented in y-bit characters, wherein the first representation includes a first number of bits;
- converting the first representation of the ECC code to a second representation, wherein the second representation includes a second number of bits greater than the first number of bits, wherein the second representation includes y-bit characters, and wherein the second representation is designed to allow validation of the integrity of the second representation of the ECC code and is designed to be part of a transmitted serial stream.
A method of communicating a data cell having a cell body that includes x-bit characters which are converted to y-bit characters for transmission, comprising:
- forming a first representation of an ECC code for at least a portion of the cell body as represented in y-bit characters, wherein the first representation includes a first number of bits;
- converting the first representation of the ECC code to a second representation, wherein the second representation includes a second number of bits greater than the first number of bits, wherein the second representation includes y-bit characters, and wherein the second representation is designed to allow validation of the integrity of the second representation of the ECC code and is designed to be part of a transmitted serial stream that allows clock recovery.
A method of communicating a data cell having a cell body that includes x-bit characters which are converted to y-bit characters for transmission, comprising:
- forming a first representation of an ECC code for at least a portion of the cell body as represented in y-bit characters, wherein the first representation includes a first number of bits;
- converting the first representation of the ECC code to a second representation, wherein the second representation includes a second number of bits greater than the first number of bits, wherein the second representation includes y-bit characters, and wherein the second representation is designed to allow validation of the integrity of the second representation of the ECC code is designed to be part of a transmitted serial stream that is DC balanced, and allows clock recovery.
A pre-transmission method that enables checking for and correcting of an error in a serially and asynchronously transmitted data body where, before the serial, asynchronous transmission of the data body, the pre-transmission method comprises:
- (a) generating a first ECC signal having a respective first bit width, where the generated first ECC signal provides for identification and correction of at least one erroneously changed bit, if any, in a post-transmission version of the data body;
- and
- (b) converting the first ECC signal into a wider, second ECC signal having a respective second bit width that is greater than the first bit width, where the wider, second ECC signal provides at least one of a self-checking function and a clock-recoverability function,
- (b.1) the self-checking function allowing a serially transmitted version of the second ECC signal to be checked for the presence of error in the serially transmitted version of the second ECC signal, and
- (b.2) the clock-recoverability function allowing a corresponding clock signal to be recovered from the serially transmitted version of the second ECC signal.
A system for communicating a data cell, comprising:
- an ECC base code generator that generates an ECC code represented by a first number of bits;
- a converter that generates a converted ECC code represented by a second number of bits designed to allow validation of the integrity of the converted ECC code, wherein the converted ECC code is designed to be part of a transmitted serial stream.
A system for communicating data cells, where the data cells each include a cell body including 8-bit characters that are converted to 10-bit characters for transmission, comprising:
- an ECC base code generator that produces a base ECC code as an output signal;
- an 8-bit converter, designed to receive as a first input signal a first portion of the base ECC code and produce as a first output signal a first 8-bit character, and designed to receive as a second input signal a second portion of the base ECC code and produce as a second output signal a second 8-bit character;
- a 10-bit converter, designed to receive as a first input signal the first 8-bit character and produce as a first output signal a first 10-bit character designed to allow validation of the integrity of the first 10-bit character, and designed to receive as a second input signal the second 8-bit character and produce as a second output signal a second 10-bit character designed to allow validation of the integrity of the second 10-bit character, wherein the first and second 10-bit characters are designed to form part of a transmitted serial stream.
A system for communicating a data cell, comprising:
- a 12-bit ECC code generator;
- a 6b8b converter in communication with the ECC code generator, wherein the 6b8b converter produces an 8-bit character;
- an 8b10b converter in communication with the 6b8b converter, wherein the 8b10b converter produces a 10-bit character that has a selected parity and which is designed to form part of a data stream that is DC balanced and allows recovery of a clock.
Dependencies are inferred from the claim text.