The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Aug. 19, 2003

Filed:

Dec. 21, 2000
Applicant:
Inventor:

Yu Kwong Ng, Los Altos, CA (US);

Assignee:

Cisco Technology, Inc., San Jose, CA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
H03M 1/315 ;
U.S. Cl.
CPC ...
H03M 1/315 ;
Abstract

Methods and apparatus are disclosed for generating and checking CRC values using a multi-byte CRC generator on a variable number of bytes. These methods and apparatus could used in an unlimited number of applications and environments, such as part of computer or communications device (e.g., router or switch). A CRC generator is used to calculate a preliminary CRC value on a block of information. This CRC generator may be a balanced XOR tree or some other implementation, which calculates the preliminary CRC value on groups of n bytes of data at a time, where n is typically some value such as 2, 4, 8, 16, 32, 64 etc. For example, when data is transferred over a 512 wide bit bus, typically the value of n would be 64 (i.e., 512 bits divided by 8 bits per byte). Because the number of bytes in the data block may not be an even multiple of the value of n, one or more bytes of value zero may be appended to the data block to make it an even multiple, with the preliminary CRC calculated on the entire appended data block. A CRC checker may compare this preliminary CRC value with that of a target CRC value corresponding to the number of appended bytes of value zero. A reverse CRC generator may take as input the preliminary CRC value and the number of appended bytes of value zero to calculate the actual CRC value of the block of information. Additional implementations allow the first portion of the data block to include one or more prefix bytes of value zero to accommodate the position of a first byte of the block of information.


Find Patent Forward Citations

Loading…