Patent ID: 7426674

Claim:
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 starting a first CRC engine for calculating the CRC for the in order data block, and starting the first CRC engine and a second CRC engine for calculating the partial CRC for the out of order data block, wherein the first CRC engine and the second CRC engine are adapted to be implemented on one of a same physical hardware and a different physical hardware.