# US 7,613,980 B2 · System for computing a CRC value by processing a data message a word at a time

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,980 B2
- Document ID: US7613980B2
- Status: Granted
- Kind: B2
- Application number: 10/456,210
- Filed: 2003-06-06
- Published: 2004-12-09
- Granted: 2009-11-03
- Earliest claimed: 2003-06-06
- Assignees: Avago Technologies General IP (Singapore) Pte. Ltd.
- Inventors: Vicent V. Cavanna; Patricia A. Thaler
- Web page: https://patentgrep.com/patent/US7613980B2

## CPC

- H03M 13/091: {Parallel or block-wise CRC computation}
- H03M 13/6569: {Implementation on processors, e.g. DSPs, or software implementations}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

A system for computing a CRC value includes at least one memory for storing a data message, a current CRC value, and a plurality of lookup tables. The data message includes a plurality of words, with each word including a plurality of bytes. Each of the lookup tables stores a plurality of multi-byte CRC values. The system includes a processor for processing the message a word at a time. The processor is configured to update the current CRC value during processing each word based on an XOR of the word and the current CRC value, and based on a multi-byte CRC value retrieved from each one of the lookup tables.

## Claims

### Claim 1

A system for computing a CRC value, comprising:
at least one memory for storing a data message, a current CRC value, and a plurality of lookup tables, the data message including a plurality of words, each word including more bytes than the current CRC value, each of the lookup tables storing a plurality of multi-byte CRC values; and
a processor for processing the message a word at a time, the processor configured to update the current CRC value during processing of each word based on an XOR of a first subset of the word and the current CRC value, and based on a multi-byte CRC value retrieved from each one of the lookup tables.

### Claim 2 (depends on 1)

The system of claim 1, wherein each word of the data message includes four 8-bit bytes, and the current CRC value includes two 8-bit bytes.

### Claim 3 (depends on 1)

The system of claim 1, wherein the processor is configured to retrieve a first subset of the multi-byte CRC values from a first subset of the lookup tables based on a result of the XOR, and wherein the processor is configured to retrieve a second subset of the multi-byte CRC values from a second subset of the lookup tables based on a second subset of the word.

### Claim 4 (depends on 3)

The system of claim 3, wherein the processor is configured to perform an XOR of the multi-byte CRC values retrieved from the lookup tables, thereby generating an updated current CRC value.
