Method and apparatus for generating and checking cyclic redundancy code (CRC) values using a multi-byte CRC generator on a variable number of bytes
AssigneeCisco Technology, Inc.
InventorYu Kwong Ng
Life of this patent
Estimating the term…
Loading patent…
AssigneeCisco Technology, Inc.
InventorYu Kwong Ng
Estimating the term…
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.
A method for determining a cyclic redundancy check (CRC) on a block of information, the method comprising:
A method for checking a block of information for a correct cyclic redundancy check (CRC) wherein the block of information includes a plurality of sets of bytes and a non-full set of bytes, the method comprising:
A system for determining a cyclic redundancy check (CRC) on a block of information, the system comprising:
A system for determining a cyclic redundancy check (CRC) on a block of information, the system comprising:
Dependencies are inferred from the claim text.