Methods, architectures, circuits, software and systems for CRC determination
First Claim
1. A method of checking a unit of digital data for a transmission error, comprising the steps of:
- a) partitioning said unit of digital data into (i) one or more fall data lines and (ii) a remainder, wherein each of said full data lines comprises a predetermined number of data blocks, each of said data blocks has a first fixed length of 2n bits, where n is an integer of at least 3, said predetermined number is an integer of at least 2, and said remainder has a second length less than said predetermined number times said first fixed length;
b) when said second length is at least one bit, selecting a padding vector from a set of padding vectors stored in a storage table, and adding the padding vector to said remainder, said padding vector having a length sufficient to generate a padded data line having said predetermined number of data blocks; and
c) performing error checking calculations on said full data lines and said padded data line.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, circuits, architectures, and systems for error detection in transmitted data. The method generally includes the steps of (i) partitioning the unit of digital data into one or more full data lines and a remainder, wherein each of the full data lines comprises a predetermined number of data blocks, each of the data blocks has a first fixed length, the predetermined number is an integer of at least 2, and the remainder has a length less than the predetermined number times the first fixed length; (ii) if the remainder contains at least one data bit, adding to the remainder a padding vector having a length sufficient to generate a padded data line having the predetermined number of data blocks; and (iii) performing error checking calculations on the full data lines and the padded data line. The present invention reduces the chip area and power consumption, while improving system performance.
-
Citations
89 Claims
-
1. A method of checking a unit of digital data for a transmission error, comprising the steps of:
-
a) partitioning said unit of digital data into (i) one or more fall data lines and (ii) a remainder, wherein each of said full data lines comprises a predetermined number of data blocks, each of said data blocks has a first fixed length of 2n bits, where n is an integer of at least 3, said predetermined number is an integer of at least 2, and said remainder has a second length less than said predetermined number times said first fixed length; b) when said second length is at least one bit, selecting a padding vector from a set of padding vectors stored in a storage table, and adding the padding vector to said remainder, said padding vector having a length sufficient to generate a padded data line having said predetermined number of data blocks; and c) performing error checking calculations on said full data lines and said padded data line. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of checking a packet or frame for a transmission error, comprising:
-
a) partitioning said packet or frame into (i) one or more full data lines and (ii) a remainder, wherein said packet or frame comprises (2x·
y)+z words, 2x is the number of words in one of said full data lines, x is an integer of from 1 to 4, y is the number of full data lines in said packet or frame, and z is an integer of less than 2x, and said remainder has a length less than a fixed length of said full data line;b) if said length of said remainder is at least one bit, selecting a padding vector from a set of padding vectors stored in a storage table, and adding said padding vector to said remainder, said padding vector having a length sufficient to generate a padded data line having said fixed length; and c) performing error checking calculations on said full data lines and said padded data line. - View Dependent Claims (25, 26)
-
-
27. A circuit for determining a digital data transmission error, comprising:
-
a) a data partitioning circuit configured to partition a unit of said digital data into (i) one or more full data lines comprising a plurality of data blocks, each data block having a first fixed length of 2n bits, where n is an integer of at least 3, and (ii) a remainder, if said unit of digital data is not partitionable into an integer number of said data lines; b) a storage circuit configured to store a set of padding vectors of varying lengths; c) a padding circuit configured to add one of said padding vectors to said remainder, if present, to generate a padded data line having a length equal to that of said plurality of data blocks; and d) an error detection circuit configured to (i) receive said full data lines and said padded data line, and (ii) detect a transmission error in said unit of said digital data from said full data lines and said padded data line. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. A circuit for determining a digital data transmission error, comprising:
-
a) a data partitioning circuit configured to partition a unit of said digital data into (i) one or more full data lines comprising a plurality of data blocks, each data block having a first fixed length, and (ii) a remainder, if said unit of digital data is not partitionable into an integer number of said data lines; b) a padding circuit configured to add a padding vector to said remainder, if present, to generate a padded data line having a length equal to that of said plurality of data blocks, wherein each of said full data lines and said padded data line has a second fixed length, and said second fixed length is an integer multiple of said first fixed length; and c) an error detection circuit configured to (i) receive said full data lines and said padded data line, and (ii) detect a transmission error in said unit of said digital data from said full data lines and said padded data line. - View Dependent Claims (58)
-
-
59. A receiver, comprising:
-
a) a circuit for determining a digital data transmission error, comprising i) a data partitioning circuit configured to partition a unit of said digital data into one or more full data lines comprising a plurality of data blocks, each data block having a first fixed length, and a remainder, if said unit of digital data is not partitionable into an integer number of said data lines, ii) a padding circuit configured to add a padding vector to said remainder, if present, to generate a padded data line having a length equal to that of said plurality of data blocks, wherein each of said full data lines and said padded data line has a second fixed length, and said second fixed length is an integer multiple of said first fixed length; and iii) an error detection circuit configured to (i) receive said full data lines and said padded data line, and (ii) detect a transmission error in said unit of said digital data from said full data lines and said padded data line; b) a processor in communication with said circuit, configured to process said digital data; and c) a clock recovery circuit configured to recover a clock signal from serial data received by said receiver. - View Dependent Claims (60)
-
-
61. A circuit for determining a data transmission error, comprising:
-
a) means for partitioning a unit of said data into (i) one or more full data lines, each comprising a plurality of data blocks, each data block having a first fixed length, and (ii) a remainder, if said unit of digital data is not partitionable into an integer number of said data lines; b) means for padding said remainder, if said remainder has a non-zero length, to generate a padded data line having a length equal to that of said plurality of data blocks, wherein each of said full data lines and said padded data line has a second fixed length, and said second fixed length is an integer multiple of said first fixed length; and c) means for detecting a transmission error in said unit of data from said full data lines and said padded data line.
-
-
62. A circuit for determining a data transmission error, comprising:
-
a) means for partitioning a unit of said data into (i) one or more full data lines, each comprising a plurality of data blocks, each data block having a first fixed length of 2n bits, where n is an integer of at least 3, and (ii) a remainder, if said unit of digital data is not partitionable into an integer number of said data lines; b) means for storing a set of padding vectors of varying lengths; c) means for selecting one of said padding vectors and padding said remainder, if said remainder has a non-zero length, to generate a padded data line having a length equal to that of said plurality of data blocks; and d) means for detecting a transmission error in said unit of data from said full data lines and said padded data line. - View Dependent Claims (63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89)
-
Specification