Patent US6014767A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6014767A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for a simple calculation of CRC-10

Assignee: Cisco Systems Inc
•
Filing: 1997-04-01
•
Granted: 2000-01-11
•
Expires: 2017-04-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A process and an apparatus to calculate the FCS (Frame Check Sequence) error checking code of packets payload sent over a fixed size packet networks in a network equipment sending said packets and to check said FCS in the network equipment receiving said packet; this invention applies to calculations of FCS based on CRC (Cyclic Redundancy Checking) codes generated by the polynomial generator of degree 10, G(X)=X 10 +X 9 +X 5 +X 4 +X+1. Particularly, this invention is for use in the ATM layer of ATM nodes processing OA&M and AAL3/4 ATM cells. The solution consists in using the calculation of the FCS based on the CRC code generated by the polynomial generator of degree 9, X 9 +X 4 +1 and simple operations. The calculation and the checking of the FCS is simple and thus the performance are improved authorizing the support of higher speed network lines.

Inventors

  • 👤 Rene Glaise

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 20:15
CPC Classifications
H; H03; H03M; H03M13/00; H03M13/03; H03M13/05; H03M13/09; H03M13/091

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 245 words
A method for generating a packet, the integrity of which may be checked upon receipt at a destination node to which the packet is sent through a packet network, said method comprising the steps of: calculating a FCS (Frame Check Sequence) value based on CRC (Cylical Redundancy Check) code generated by the polynomial generator of degree 10, G10(X)=X 10 +X 9 +X 5 +X 4 +X+1, of a packet payload by calculating (520) CRC code generated by the polynomial generator of degree 9, G9(d)=X 9 +X 4 +1, of the packet payload and storing the resulting 9-bit stream FCS in 9-bit storage means, calculating (510) the parity of said payload, setting (580) the most significant bit of a 10-bit storage to zero, if the payload parity is odd (590), adding (597) the 9-bit stream FCS to a bit stream representation of the generator polynomial of degree 9, G9(X)and storing the 10-bit stream resulting from the addition of the previous step in the 10-bit storage means, this stored 10-bit stream representing the payload FCS, if the payload parity is even, storing (595) the 9-bit stream FCS in the least significant bits of the 10-bit storage means, the 10-bit stream of the 10-bit storage means representing the payload FCS; retrieving the packet for which the foregoing calculations were performed and the 10-bit stream representing the payload FCS; and generating a packet suitable for transmission by adding the retrieved payload FCS to the payload of the retrieving packet.
Claim 2
Independent Claim 245 words
A method for generating a packet, the integrity of which may be checked upon receipt at a destination node to which the packet is sent through a packet network, said method comprising the steps of: calculating a FCS (Frame Check Sequence) value based on CRC (Cylical Redundancy Check) code generated by the polynomial generator of degree 10, G10(X)=X 10 +X 9 +X 5 +X 4 +X+1, of a packet payload by calculating (520) CRC code generated by the polynomial generator of degree 9, G9(d)=X 9 +X 4 +1, of the packet payload and storing the resulting 9-bit stream FCS in 9-bit storage means, calculating (510) the parity of said payload, setting (580) the most significant bit of a 10-bit storage to zero, if the payload parity is odd (590), adding (597) the 9-bit stream FCS to a bit stream representation of the generator polynomial of degree 9, G9(X)and storing the 10-bit stream resulting from the addition of the previous step in the 10-bit storage means, this stored 10-bit stream representing the payload FCS, if the payload parity is even, storing (595) the 9-bit stream FCS in the least significant bits of the 10-bit storage means, the 10-bit stream of the 10-bit storage means representing the payload FCS; retrieving the packet for which the foregoing calculations were performed and the 10-bit stream representing the payload FCS; and generating a packet suitable for transmission by adding the retrieved payload FCS to the payload of the retrieving packet.
Claim 3
Independent Claim 313 words
A method for checking the integrity of a packet in a packet network, having an extended payload field comprising an n-bits data bytes payload extended with a 10-bit stream FCS (Frame Check Sequence) calculated on the payload, said 10-bit FCS being based on CRC (Cyclic Redundancy Check) code generated by the polynomial generator of degree 10, G 10 (X)=X 10 +X 9 +X 5 +X 4 +X+1, said method comprising the steps of: calculating (520) the CRC code generated by the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1, of the extended payload and storing the resulting 9-bit stream FCS in 9-bit storage means by a) sequentially receiving a sequence of data bytes in the 9-bit storage means (220), b) pushing each byte of said data byte sequence into said 9-bit storage means until said 9-bit storage means is full, c) multiplying (210) the contents of said 9-bit storage means by the bit stream corresponding to α n , an element of Galois Field generated by the generator polynomial G9 (X), α being an irreducible polynomial, root of said Galois Field, d) updating the content of said 9-bit storage means by loading the result of said multiplying step into said 9-bit storage means, and e) repeating steps c, d, e until all data bytes have been pushed into said 9-bit storage means; testing (540) if all the bits of the resulting 9-bit stream are equal to zero, the result of packet integrity checking being negative (560) if all said bits are not equal to zero; if all the bits of the resulting 9-bit stream are equal to zero, testing the 1-bit parity of said extended payload, the result of packet integrity checking being negative (560) if said 1-bit parity is not equal to zero, the result of packet integrity checking being positive (570) if said 1-bit parity is equal to zero.
Claim 4
Independent Claim 313 words
A method for checking the integrity of a packet in a packet network, having an extended payload field comprising an n-bits data bytes payload extended with a 10-bit stream FCS (Frame Check Sequence) calculated on the payload, said 10-bit FCS being based on CRC (Cyclic Redundancy Check) code generated by the polynomial generator of degree 10, G 10 (X)=X 10 +X 9 +X 5 +X 4 +X+1, said method comprising the steps of: calculating (520) the CRC code generated by the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1, of the extended payload and storing the resulting 9-bit stream FCS in 9-bit storage means by a) sequentially receiving a sequence of data bytes in the 9-bit storage means (220), b) pushing each byte of said data byte sequence into said 9-bit storage means until said 9-bit storage means is full, c) multiplying (210) the contents of said 9-bit storage means by the bit stream corresponding to α n , an element of Galois Field generated by the generator polynomial G9 (X), α being an irreducible polynomial, root of said Galois Field, d) updating the content of said 9-bit storage means by loading the result of said multiplying step into said 9-bit storage means, and e) repeating steps c, d, e until all data bytes have been pushed into said 9-bit storage means; testing (540) if all the bits of the resulting 9-bit stream are equal to zero, the result of packet integrity checking being negative (560) if all said bits are not equal to zero; if all the bits of the resulting 9-bit stream are equal to zero, testing the 1-bit parity of said extended payload, the result of packet integrity checking being negative (560) if said 1-bit parity is not equal to zero, the result of packet integrity checking being positive (570) if said 1-bit parity is equal to zero.
Claim 5
Dependent Claim 167 words
The method of claim 1 where the packet payload bit stream is a sequence of n-bits data bytes and the step for calculating the CRC code generated by the polynomial generator of degree 9 , G9(X)=X 9 +X 4 +1, of the packet payload consists in successive n-bit byte cycle processing, said method comprising the steps of: a--sequentially receiving said sequence of data bytes in the 9-bit storage means (220); b--pushing each byte of said data byte sequence into said 9-bit storage means, until said 9-bit storage means is full; c--multiplying (210) the contents of said 9-bit storage means by the bit stream corresponding to α n , an element of Galois Field generated by the generator polynomial G9(X), α being an irreducible polynomial, root of said Galois Field, d--updating the content of said 9-bit storage means by loading the result of said multiplying step into said 9-bit storage means, e--repeating steps c, d, e until all data bytes have been pushed into said 9-bit storage means.
Claim 6
Independent Claim 197 words
An apparatus to calculate the FCS (Frame Check Sequence) based on CRC (Cyclic Redundancy Check) code generated by the polynomial generator of degree 10, G10(X)=X 10 +X 9 +X 5 +X 4 +X+1, of a packet payload in a packet network to be sent onto a network line, said apparatus comprising the following means: means (200, 210, 220) for calculating the CRC code generated by the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1, of the fixed length packet payload and storing the resulting 9 bit stream FCS in 9-bits storage means; means for calculating the parity of said payload and storing it in a 1-bit storage means (247); means for setting 10-bit storage means to zero; means (240) for adding to each of the 9-bit stream read from the 9-bit stream storage means the 1 bit storage means and to the resuting 9-bit stream, the 10-bit stream representing the to the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1; means (250) for storing the 10-bit stream resulting of the addition of the previous step in the 10-bit storage means, this stored 10-bit stream representing the payload FCS that was to be calculated.
Claim 7
Independent Claim 197 words
An apparatus to calculate the FCS (Frame Check Sequence) based on CRC (Cyclic Redundancy Check) code generated by the polynomial generator of degree 10, G10(X)=X 10 +X 9 +X 5 +X 4 +X+1, of a packet payload in a packet network to be sent onto a network line, said apparatus comprising the following means: means (200, 210, 220) for calculating the CRC code generated by the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1, of the fixed length packet payload and storing the resulting 9 bit stream FCS in 9-bits storage means; means for calculating the parity of said payload and storing it in a 1-bit storage means (247); means for setting 10-bit storage means to zero; means (240) for adding to each of the 9-bit stream read from the 9-bit stream storage means the 1 bit storage means and to the resuting 9-bit stream, the 10-bit stream representing the to the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1; means (250) for storing the 10-bit stream resulting of the addition of the previous step in the 10-bit storage means, this stored 10-bit stream representing the payload FCS that was to be calculated.
Claim 8
Independent Claim 184 words
An apparatus for checking in a network node, the integrity of a packet in a packet network, having a payload field comprising an extended field with the 10-bit stream FCS (Frame Check Sequence) calculated on the payload before extension, said 10-bits FCS being based on CRC (Cyclic Redundancy Check) code generated by the polynomial generator of degree 10, G10(X)=X 10 +X 9 +X 5 +X 4 +X+1, said appparatus comprising the following means: means (200, 210, 220) for calculating the CRC code generated by the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1, of the fixed length extended payload and means for storing the resulting 9-bit stream FCS in 9-bit storage means; means for testing the resulting 9-bit stream, if all the bits are not equal to zero, the result of packet integrity checking is negative; means for calculating, if all the bits of the resulting 9-bit stream are equal to zero, the 1-bit parity of said extended payload, the result of packet integrity checking being negative if the 1-bit parity is not zero and positive if the 1-bit parity is zero.
Claim 9
Independent Claim 184 words
An apparatus for checking in a network node, the integrity of a packet in a packet network, having a payload field comprising an extended field with the 10-bit stream FCS (Frame Check Sequence) calculated on the payload before extension, said 10-bits FCS being based on CRC (Cyclic Redundancy Check) code generated by the polynomial generator of degree 10, G10(X)=X 10 +X 9 +X 5 +X 4 +X+1, said appparatus comprising the following means: means (200, 210, 220) for calculating the CRC code generated by the polynomial generator of degree 9, G9(X)=X 9 +X 4 +1, of the fixed length extended payload and means for storing the resulting 9-bit stream FCS in 9-bit storage means; means for testing the resulting 9-bit stream, if all the bits are not equal to zero, the result of packet integrity checking is negative; means for calculating, if all the bits of the resulting 9-bit stream are equal to zero, the 1-bit parity of said extended payload, the result of packet integrity checking being negative if the 1-bit parity is not zero and positive if the 1-bit parity is zero.
Claim 10
Dependent Claim 147 words
The apparatus of claim 4 or 5 where the packet payload bit stream is a sequence of n-bits data bytes, wherein the data bytes are sequentially received and a computation operation on said data bytes is made in successive cycles in order to generate said FCS, said apparatus comprising: storage means having a number of bit positions equal to the number of the FCS bits, into which each byte of said data bytes is pushed until said storage means is full; Galois Field multiplier means activated at each cycle to multiply the contents of said storage means by an element of the Galois Field; gating means to load said storage means with the result of said Galois Field multiplication; means for pushing a new byte of said data bytes into said storage means at each cycle, whereby said storage means contains at each cycle the current FCS.

References Cited (Backward Citations)

US5335233A Cited
US5539756A Cited
US5689518A Cited
US5694407A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-01-10 2003-07-12 2004-01-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-01-10 2007-07-12 2008-01-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-01-10 2011-07-12 2012-01-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag