US6748567B1ExpiredUtility
Method and system for error correction over serial link
Est. expiryMay 1, 2021(expired)· nominal 20-yr term from priority
H03M 13/098H03M 13/09
60
PatentIndex Score
9
Cited by
5
References
70
Claims
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.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. 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.
2. The method of claim 1 , wherein the second representation of the ECC code is designed to be part of a transmitted serial stream that allows recovery of a clock.
3. The method of claim 1 , wherein the second representation of the ECC code is designed to be part of a transmitted serial stream that is DC balanced.
4. The method of claim 1 , wherein the second number of bits is larger than the first number of bits.
5. The method of claim 1 , wherein the second representation of the ECC code is comprised of at least one 10-bit character.
6. The method of claim 1 , wherein the second representation of the ECC code is designed to be part of a transmitted optical serial stream.
7. The method of claim 1 , wherein the step of converting includes:
dividing the first representation of the ECC code into smaller portions;
converting each of the smaller portions into an 8-bit character;
converting each 8-bit character into a 10-bit character.
8. The method of claim 1 , wherein the step of converting includes:
dividing the first representation of the ECC code into smaller portions;
converting each of the smaller portions into a 10-bit character.
9. The method of claim 1 , wherein the step of converting includes:
selecting the second representation of the ECC code to have a positive disparity, a negative disparity, or a neutral disparity depending on a monitored running disparity of the transmitted serial stream.
10. The method of claim 1 , wherein the ECC code for the data cell is only for a first portion of the cell body and wherein the data cell is designed to allow recoverability from an error in a second portion of the cell body.
11. The method of claim 1 , wherein the ECC code for the data cell is for the entire data cell.
12. The method of claim 1 , wherein the second representation includes a second number of bits and has a selected parity, wherein the selected parity allows validation of the integrity of the second representation of the ECC code.
13. The method of claim 1 , wherein the second representation includes a plurality of character pairs, where each character pair includes two correlated characters, and wherein the character pairs allow validation of the integrity of the second representation of the ECC code.
14. The method of claim 1 , wherein the second representation includes a plurality of bit pairs, where each bit pair includes two correlated bits, and wherein the bit pairs allow validation of the integrity of the second representation of the ECC code.
15. The method of claim 1 , wherein the second representation includes a CRC checksum, wherein the CRC checksum allows validation of the integrity of the second representation of the ECC code.
16. 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.
17. The method of claim 16 , wherein the 10-bit characters that represent the base ECC code are designed to be part of a transmitted serial stream that allows recovery of a clock.
18. The method of claim 16 , wherein the 10-bit characters that represent the base ECC code are designed to be part of a transmitted serial stream that is DC balanced.
19. The method of claim 16 , wherein the 10-bit characters that represent the ECC code are further designed to allow validation of the integrity of the 10-bit characters that represent the base ECC code.
20. The method of claim 16 , further including:
transmitting the 10-bit characters that represent the base ECC code;
receiving, by a receiving entity, the 10-bit characters that represent the base ECC code;
verifying the integrity of the 10-bit characters that represent the base ECC code by the receiving entity.
21. The method of claim 16 , wherein the step of converting includes:
dividing the base ECC code into smaller pieces; and
converting each smaller piece into a 10-bit character.
22. The method of claim 16 , wherein:
the step of converting includes dividing the base ECC code into smaller pieces, wherein the smaller pieces are comprised of less than 8 bits; and
the step of converting further includes:
converting the smaller pieces into 8-bit characters; and
converting the 8-bit characters to 10-bit characters with a selected parity, including selecting a 10-bit character with a positive disparity, a negative disparity, or a neutral disparity depending on a monitored running disparity of the transmitted data stream.
23. The method of claim 22 , wherein:
the smaller pieces are comprised of 6 bits; and
the selected parity is even parity.
24. The method of claim 16 , wherein:
the step of converting includes converting each smaller piece into a 10-bit character with a selected parity and selecting a 10-bit character with a positive disparity, a negative disparity, or a neutral disparity depending on a monitored running disparity of the transmitted data stream.
25. The method of claim 24 , wherein:
the smaller pieces are comprised of 7 bits;
the selected parity is even parity.
26. The method of claim 16 , wherein the ECC code for the data cell is only for a first portion of the data cell and wherein the data cell is designed to allow recoverability from an error in a second portion of the data cell.
27. The method of claim 16 , wherein the ECC code for the data cell covers the entire data cell.
28. 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.
29. The method of claim 28 , wherein the step of converting the plurality of 8-bit characters representative of the base ECC code to a plurality of 10-bit characters representative of the base ECC code includes selecting a 10-bit character with a positive disparity, a negative disparity, or a neutral disparity so that a data stream including the plurality of 10-bit characters representative of the base ECC code is DC balanced and allows recovery of a clock.
30. The method of claim 28 , wherein the plurality of 10-bit characters representative of the base ECC code are designed to allow validation of the integrity of the plurality of 10-bit characters.
31. The method of claim 28 , wherein each character in the plurality of 10-bit characters for the ECC code has a selected parity.
32. The method of claim 28 , further including
transmitting the plurality of 10-bit characters for the ECC code;
receiving, by a receiving entity, the plurality of 10-bit characters representative of the base ECC code;
checking parity, by the receiving entity, of the plurality of 10-bit characters representative of the base ECC code to validate the integrity of the 10-bit characters representative of the base ECC code.
33. The method of claim 32 , further including:
generating a syndrome using the plurality of 10-bit characters representative of the base ECC code;
based on the syndrome, repairing an error in the 10-bit characters for the data-cell data if an error exists.
34. The method of claim 28 , wherein the base ECC code is only for a first portion of the data cell and wherein the data cell is designed to allow recoverability from an error in a second portion of the data cell.
35. The method of claim 28 , wherein the ECC code for the data cell is for the entire data cell.
36. 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.
37. The method of claim 36 , further comprising:
transmitting the data cell comprised of 10-bit characters.
38. The method of claim 37 , further comprising:
receiving the data cell comprised of 10-bit characters;
checking the parity of the two transmitted 10-bit characters that represent the ECC code to determine if there is an error in the two transmitted 10-bit characters that represent the ECC code;
generating an expected base ECC code using the 10-bit characters representative of the cell body as received;
converting the two transmitted 10-bit characters that represent the ECC code to two 8-bit characters and then two 6-bit characters to recover the transmitted base ECC code;
comparing the expected base ECC code and the transmitted base ECC code to generate a syndrome;
based on the syndrome, repairing any errors in the 10-bit characters that represent the cell body.
39. The method of claim 36 , wherein the 12-bit base ECC code is only for a first portion of the data cell and wherein the data cell is designed to allow recoverability from an error in a second portion of the data cell.
40. 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.
41. The method of claim 40 , wherein second representation of the ECC code is further designed to allow validation of the integrity of the second representation of the ECC code.
42. The method of claim 40 , wherein the second representation of the ECC code is designed to be part of a transmitted serial stream that allows clock recovery.
43. The method of claim 40 , wherein the second representation of the ECC code is designed to be part of a transmitted serial stream that is DC balanced.
44. The method of claim 40 , wherein y=10.
45. The method of claim 40 , wherein x=8 and y =10.
46. 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.
47. The method of claim 46 , wherein x=8 and y=10.
48. 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.
49. The method of claim 48 , wherein x=8 and y=10.
50. 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.
51. The method of claim 50 , wherein x =8 and y =10.
52. 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.
53. The pre-transmission method of claim 52 further comprising:
(c) serializing the second ECC signal for asynchronous serial transmission along with the data body.
54. The pre-transmission method of claim 52 and further wherein:
(b.3) the wider, second ECC signal provides a self DC-balancing function which causes the serially transmitted version of the second ECC signal to have the form of a substantially DC balanced stream of bits.
55. The pre-transmission method of claim 52 wherein:
(b.3) the wider, second ECC signal provides a special-character exclusion function which causes the serially transmitted version of the second ECC signal to not include special-purpose character strings signifying a synchronization character or an idle character within the framework of a serial, asynchronous transmission mechanism used to transmit the data body and the second ECC signal.
56. A pre-transmission method according to claim 52 and further wherein the pre-transmission method is carried out within a monolithically integrated circuit.
57. The pre-transmission method of claim 56 and further wherein:
part of said integrated circuit is used for providing to both the transmitted version of the data body and the second ECC signal at least one of:
the clock-recoverability function;
the self DC-balancing function; and
the special-character exclusion function.
58. 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.
59. The system of claim 58 , wherein the ECC code converter includes:
an 8b10b converter.
60. The system of claim 59 , wherein the converter further includes:
a 6b8b converter.
61. The system of claim 58 , wherein the converted ECC code is designed to be part of a transmitted serial stream that allows recovery of a clock.
62. The system of claim 58 , wherein the converted ECC code is designed to be part of a transmitted serial stream that is DC balanced.
63. 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.
64. The system of claim 63 , further comprising:
an integrity checker, designed to receive the first and second 10-bit characters and to verify if the integrity of the first and second 10-bit characters.
65. The system of claim 63 , wherein each 10-bit character is of a respective selected parity.
66. The system of claim 63 , further comprising:
an expected base code generator that produces an expected base ECC code as an output signal;
a transmitted base code recovery mechanism that converts the first and second 10-bit characters into received first and second 8-bit characters that correspond to the first and second 8-bit characters from 8-bit converter, and converts the first and second 8-bit characters into received first and second portions of the ECC base code that correspond to the first and second portions of the ECC base code input into the 8-bit converter; and
a syndrome generator designed to receive as a first input signal the expected base ECC code and designed to receive as a second input signal the received first and second portions of the base ECC code, and designed to produce a syndrome as an output signal.
67. The system of claim 63 , wherein the first and second 10-bit characters are designed to form part of a transmitted serial stream that allows recovery of a clock.
68. The system of claim 63 , wherein the first and second 10-bit characters are designed to be part of a transmitted serial stream that is DC balanced.
69. 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.
70. The system of claim 69 , further comprising:
a parity checker for receiving the transmitted 10-bit character; and
a 12-bit expected ECC code generator;
a 10b8b converter for receiving the transmitted 10-bit character, wherein the 10b8b converter produces a received 8-bit character that corresponds to the 8-bit character produced by the 6b8b converter;
a 8b6b converter in communication with the 10b8b converter, wherein the 8b6b converter produces at least a portion of a received ECC code; and
XOR logic in communication with the 12-bit expected ECC code generator and with the 8b6b convertor.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.