Patent ID: 7047479

Claim:
A method of performing a cyclic redundancy check (CRC), calculation on a data stream composed of one or more segments of data, the method comprising: supplying the data stream, one data segment per cycle, to a multiple-byte cyclic redundancy check (CRC) circuits, comprising a plurality of CRC modules, wherein each of the CRC modules is configured to perform the CRC calculation on a different number of bytes of data during a single cycle; determining which one of the plurality of CRC modules should be used for processing a segment of data currently supplied to the multiple-byte CRC circuit; after said step of determining, processing the segment of data using only the CRC module determined appropriate for the current segment of data, wherein said step of processing comprises performing the CRC calculation on the current segment of data to produce CRC calculation results for the current cycle; and if more segments of data remain in the date stream, repeating the steps of determining and processing until there are no more segments of data to process.