Networking device and method for making cyclic redundancy check (CRC) immune to scrambler error duplication
First Claim
1. A networking device comprising logic employed within a physical layer of the device to modify an original cyclic redundancy check (CRC) value associated with a message and enable detection of a duplication of bit errors at a targeted destination of the message, the logic comprises a scrambler that comprises (1) a CRC engine to calculate a value based on a bit sequence including a state of the scrambler prior to scrambling a body of the message and a plurality of zero bits equal in number to a bit size of the message, and (2) an adder to perform modulo 2 addition on the value and the original CRC value of the message to produce a modified CRC value.
10 Assignments
0 Petitions
Accused Products
Abstract
A networking device and method for transparently modifying a cyclic redundancy check (CRC) of a message so that higher layers (e.g., data link layer and above) can detect error duplication caused by scrambling and descrambling. No increase in the size of the messaging is needed so that the invention may be used for current and future technologies. In one embodiment, the networking device comprises logic employed within a physical layer of the device. This logic, referred to as a scrambler, modifies an original cyclic redundancy check (CRC) value associated with a message. This enables detection of a duplication of bit errors at a targeted destination of the message.
-
Citations
19 Claims
- 1. A networking device comprising logic employed within a physical layer of the device to modify an original cyclic redundancy check (CRC) value associated with a message and enable detection of a duplication of bit errors at a targeted destination of the message, the logic comprises a scrambler that comprises (1) a CRC engine to calculate a value based on a bit sequence including a state of the scrambler prior to scrambling a body of the message and a plurality of zero bits equal in number to a bit size of the message, and (2) an adder to perform modulo 2 addition on the value and the original CRC value of the message to produce a modified CRC value.
-
6. A networking device comprising logic employed within a physical layer of the device to modify an original cyclic redundancy check (CRC) value associated with a message and enable detection of a duplication of bit errors at a targeted destination of the message, the logic is a xN+1 scrambler, where N being a positive whole number, including
a CRC engine to calculate a resulting CRC value based on a bit sequence including a state of the xN+1 scrambler after a last bit of a body of the message has been scrambled; -
a table to produce an inverse value to the resulting CRC value;
an adder to perform modulo 2 addition on the inverse value and a bit pattern from a selected portion of the message having a least significant bit N bits away from a least significant bit of the message. - View Dependent Claims (7)
-
-
8. A networking device comprising:
-
a data link layer; and
a physical layer including a descrambler to perform operations on a message transparent to the data link layer to enable the data link layer to detect a duplication of bit errors caused by scrambling of information within a body of the message prior to receipt of the message, the descrambler includes a CRC engine to calculate a value based on a bit sequence including a state of the descrambler prior to descrambling of the body of the message and a plurality of zero bits equal in number to a bit size of the message, and an adder to perform modulo 2 addition on the value and a modified CRC value contained in the message to produce an original CRC value of the message. - View Dependent Claims (9, 10)
-
-
11. A networking device comprising:
-
a data link layer; and
a physical layer including a descrambler to perform operations on a message transparent to the data link layer to enable the data link layer to detect a duplication of bit errors caused by scrambling of information within a body of the message prior to receipt of the message, the descrambler is a xN+1 descrambler, where N being a positive whole number, that comprises a CRC engine to calculate a resulting CRC value based on a bit sequence including a state of the xN+1 scrambler after a last bit of a body of the message has been descrambled;
a table to produce an inverse value to the resulting CRC value;
a first adder to perform modulo 2 addition on the inverse value and a bit pattern from a selected portion of the message having a least significant bit N bits way from a least significant bit of the message; and
a second adder to perform modulo 2 addition on the inverse value and a modified CRC value contained in the message. - View Dependent Claims (12, 13)
-
-
14. A network comprising:
-
a first networking device including a scrambler employed within a physical layer of the first networking device that only modifies an original cyclic redundancy check (CRC) value of a message prior to scrambling of a body of the message before transmission; and
a second networking device in communication with the first networking device, the second networking device including a descrambler employed within a physical layer of the second networking device to perform descrambling operations on the body of the message and subsequently modifying the CRC value based on a bit sequence including a state of the descrambler just prior to descrambling of the body of the message and a plurality of zero bits equal in number to a bit size of the message.
-
-
15. A method comprising:
-
loading a bit sequence to act as coefficients of a polynomial into a cyclic redundancy check (CRC) engine, the bit sequence including a state of a scrambler at a moment that a first bit of a transmitted message is to be scrambled and a number of zero bits equal in size to a number of bits contained in the transmitted message;
calculate a first resulting CRC value; and
performing arithmetic computations on the first resulting CRC value and an original CRC value to produce a modified CRC value. - View Dependent Claims (16, 17)
loading a bit sequence to act as coefficients of a polynomial into a cyclic redundancy check (CRC) engine, the bit sequence including a state of a descrambler at a moment that a first bit of the transmitted message is to be descrambled and a number of zero bits equal in size to a number of bits contained in the transmitted message;
calculate a second resulting CRC value; and
performing modulo 2 addition on the second resulting CRC value and the modified CRC value.
-
- 18. A program loaded in memory of a networking device for execution therein, the program comprising a scrambler being code to modify an original cyclic redundancy check (CRC) value of a message through modulo 2 addition prior to scrambling of a body of the message before transmission.
Specification