Method and system for error correction over serial link
View Patent ↗A system and method in accordance with the invention produces an ECC code that is transmitted in the y-bit domain along with data 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 verity the integrity of the transmitted ECC code itself.
1. A method of preparing to transmit a data cell having a cell body, where the transmission is to include transmitting the data cell though a link prone to transmission errors, said method comprising:
(a) forming a first representation of an ECC code for at least a portion of the cell body, wherein said at least a portion of the cell body is pre-configured for transmission though the link and wherein the first representation includes a first number of bits; and
(b) 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; and
(c) converting the second representation into a third representation configured for transmission though the link.
2. The method of claim 1 , wherein the link is an asynchronous serial link and wherein the third representation of the ECC code is configured to be part of a transmitted serial stream that allows for clock recovery from the transmitted serial stream.
3. The method of claim 1 , wherein the third representation of the ECC code is configured to be part of a transmitted serial stream that is DC balanced.
4. The method of claim 1 , wherein the link is an asynchronous serial link, wherein the third representation of the ECC code is adapted to be part of a transmitted serial stream that allows for clock recovery from the transmitted serial stream and wherein the third representation of the ECC code is further adapted to be part of a transmitted serial stream that is DC balanced.
5. A method of generating a combination of body data and an error checking-or-correcting code for checking and/or correcting a transmitted version of the body data, where the generated combination of body data and error checking-or-correcting code can be transmitted through a link prone to transmission errors, the generating method comprising:
(a) first converting the body data into transmittable body data that is configured for transmission through the link;
(b) creating first error checking-or-correcting code capable of checking and/or correcting the transmittable body data;
(c) splitting the first error checking-or-correcting code into at least first and second base code portions;
(d) mapping at least one of the at least first and second base code portions into a respective lengthened code, each respective lengthened code having a greater number of bits than its respective base code portion; and
(e) second converting the at least one lengthened code of a respective base code portion and remaining other derivatives of the other base code portions into transmittable checking-correcting data that is configured for transmission through the link.
6. The generating method of claim 5 wherein;
(e. 1) said second converting includes causing the transmittable checking-correcting data to be self validating.
7. The generating method of claim 5 wherein;
(a,e. 1) said first and second converting each generate data that is substantially DC balanced.
8. The generating method of claim 5 wherein;
(a,e. 1) said first and second converting each generate data whose bit sequences provide for clock recovery from the generated bit sequences.
9. The generating method of claim 5 wherein;
(a,e. 1) said first and second converting each generate data that excludes special bit sequences reserved for special functions of the link.
10. A system for generating a combination of body data and an error checking-or-correcting code for checking and/or correcting a transmitted version of the body data, where the generated combination of body data and error checking-or-correcting code can be transmitted though a link prone to transmission errors, the generating system comprising:
(a) first converting means for first converting body data into transmittable body data that is configured for transmission though the link;
(b) first code creating means for creating first error checking-or-correcting code capable of checking and/or correcting the transmittable body data;
(c) splitting means for splitting the first error checking-or-correcting code into at least first and second base code portions;
(d) mapping means for mapping at least one of the at least first and second base code portions into a respective lengthened code, each respective lengthened code having a greater number of bits than its respective base code portion; and
(e) second converting means for causing the at least one lengthened code of a respective base code portion to be converted into transmittable checking-correcting data that is configured for transmission though the link.
11. A system for receiving a combination of body data and error checking-or-correcting data, where the received error checking-or-correcting data is configured for checking and/or correcting the received version of the body data, where the received combination of body data and error checking-or-correcting code might have been transmitted though a link prone to transmission errors, the receiving system comprising:
(a) de-converting means for de-converting the received error checking-or-correcting data from a form adapted for transmission though the link to a form having a plurality of lengthened code portions where each lengthened code portion maps to a corresponding and shorter base code portion;
(b) mapping means for mapping at least one of the lengthened code portions to a corresponding and shorter base code portion, where there are at least two different, lengthened code portions that map to a same corresponding, base code portion;
(c) alternate base code generating means for generating from the received version of the body data, alternate base code portions; and
(d) comparing means for comparing at least one of the alternate base code portions with a corresponding at least one of the base code portions produced by said mapping means.
12. The receiving system of claim 11 and further comprising:
(e) error checking and correcting means, coupled to receive the lengthened code portions of the de-converting means and to further receive the received version of the body data, for generating checked and/or corrected body data from the received version of the body data.
13. The receiving system of claim 12 and further comprising:
(f) de-convert causing means for causing the checked and/or corrected body data to be de-converted from a form adapted for transmission though the link to a shortened form having a fewer number of bits.
14. The receiving system of claim 11 and further comprising:
(e) integrity validating means for validating the integrity of the received error checking-or-correcting data.