Segmented CRC design in high speed networks
First Claim
Patent Images
1. A network device comprising:
- a port configured to receive a set of one or more data lines, each data line in the set of data lines having a fixed width and comprising a portion of a message, wherein at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than the fixed width of the residue line; and
a processing component configured to;
shift the portion of the message in the residue line from a first boundary of the residue line to a second boundary of the residue line;
generate a separate data line CRC value for each data line; and
generate a message CRC value for the message based on the data line CRC values.
7 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide techniques for efficient generation of CRC values in a network environment. Specific embodiments of the present invention enable CRC processing circuits that can generate CRC values at high data throughput rates (e.g., 100 Gbps or greater), while being capable of being implemented on currently available FPGAs. Accordingly, embodiments of the present invention may be used in network devices such as routers, switches, hubs, host network interfaces and the like to support high speed data transmission standards such as 100G Ethernet and beyond.
-
Citations
29 Claims
-
1. A network device comprising:
-
a port configured to receive a set of one or more data lines, each data line in the set of data lines having a fixed width and comprising a portion of a message, wherein at least one data line in the set of data lines is a residue line containing a portion of the message that is smaller than the fixed width of the residue line; and a processing component configured to; shift the portion of the message in the residue line from a first boundary of the residue line to a second boundary of the residue line; generate a separate data line CRC value for each data line; and generate a message CRC value for the message based on the data line CRC values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A network device comprising:
-
a port configured to receive a data stream comprising one or more messages, each message being split into a set of data lines; and a processing component configured to calculate a CRC value for each message by; shifting a portion of the message in a residue line from a first boundary of the residue line to a second boundary of the residue line; calculating a separate CRC value for each data line in the set of data lines; and generate a CRC value for the message based on the data line CRC values. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A network device comprising:
-
a port configured to receive a data stream comprising a set of one or more data lines, each data line in the set of data lines comprising a portion of a message; and a processing component configured to; calculate a separate CRC value for each data line in the set of data lines, the calculating being independent of the position of said each data line relative to the other data lines in the set of data lines; and generate a CRC value for the message based on the data line CRC values. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
Specification