Method of computing partial CRCS
First Claim
Patent Images
1. A method of generating cyclic redundancy checks (CRCs) for a message with N data blocks, comprising:
- calculating a partial CRC for an out of order data block and storing the result;
generating, using a division operation, a CRC remainder multiplier associated with the out of order data block and storing the result;
repeating the calculating and generating steps until all N data blocks for the message are received;
combining the results of the calculating step and the generating step;
calculating a CRC for an in order data block using any previously computed in order CRC; and
computing a final CRC by combining the results of the combining step and the calculating a CRC step.
0 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and method of generating cyclic redundancy checks (CRCs) for a message with N data blocks. The method includes calculating a partial CRC for an out of order data block and storing the result, generating, using a division operation, a CRC remainder multiplier associated with the out of order data block and storing the result, repeating the calculating and generating steps until all N data blocks for the message are received; and combining the results of the calculating step and the generating step.
23 Citations
20 Claims
-
1. A method of generating cyclic redundancy checks (CRCs) for a message with N data blocks, comprising:
-
calculating a partial CRC for an out of order data block and storing the result; generating, using a division operation, a CRC remainder multiplier associated with the out of order data block and storing the result; repeating the calculating and generating steps until all N data blocks for the message are received; combining the results of the calculating step and the generating step; calculating a CRC for an in order data block using any previously computed in order CRC; and computing a final CRC by combining the results of the combining step and the calculating a CRC step. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for generating cyclic redundancy checks (CRCs) for a message with N data blocks, comprising:
-
a component to calculate a partial CRC for an out of order data block and to store the result; a component to generate, using a division operation, a CRC remainder multiplier associated with the out of order data block and to store the result; a component to combine the results of the calculated partial CRC and the generated remainder multiplier; a component to calculate a CRC for an in order data block using any previously computed in order CRC; and a component to compute a final CRC by combining the results of combining the calculated partial CRC and the generated remainder multiplier and the calculated CRC for the in order data block. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product comprising a computer usable storage medium having readable program code embodied in the storage medium, the computer program product includes:
-
a first component to calculate a partial CRC for an out of order data block and storing the result; a second component to generate, using a division operation, a CRC remainder multiplier associated with the out of order data block and storing the result; a third component to combine the results of the first component and the second component; a fourth component to calculate a CRC for an in order data block using any previously computed in order CRC; and a fifth component to compute a final CRC by combining the results of the third component and the fourth component.
-
-
19. An apparatus for generating cyclic redundancy checks (CRCs) for a message with N data blocks, comprising:
-
a component to calculate a partial CRC for an out of order data block and to store the result; a component to generate, using a division operation, a CRC remainder multiplier associated with the out of order data block and to store the result; a component to combine the results of the calculated partial CRC and the generated remainder multiplier; a component to calculate a CRC for an in order data block using any previously computed in order CRC; and one of; a component to initialize a first CRC engine with a partial CRC remainder and a second CRC engine with the CRC remainder multiplier, the partial CRC remainder and the CRC remainder multiplier being a result of a prior partial CRC computation; and a component to produce a final CRC by combining the output from the component to combine results of the calculated partial CRC and the generator multiplier with the output from the component to calculate the CRC for an in order data block using any previously computed in order CRC.
-
-
20. An apparatus for generating cyclic redundancy checks (CRCs) for a message with N data blocks, comprising:
-
a component to calculate a partial CRC for an out of order data block and to store the result; a component to generate, using a division operation, a CRC remainder multiplier associated with the out of order data block and to store the result; a component to combine the results of the calculated partial CRC and the generated remainder multiplier; a component to calculate a CRC for an in order data block using any previously computed in order CRC; and one of; wherein the component to calculate a partial CRC provides for calculating the partial CRC according to crc_b[k]=CRC (Bk), where crc_b[k] being the partial CRC for data block k and Bk being the data block bit pattern of data block k, wherein the component to generate a remainder multiplier provides for generating the remainder multiplier according to crc—
2[k]=CRC(2sk), where crc—
2[k] is the remainder multiplier for data block k, and Sk is the bit length of data block k, andwherein the N data blocks contain at least one data block of the N data blocks that is one of a different length and a same length.
-
Specification