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 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 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 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
26 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 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 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 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. A network device comprising:
-
a port configured to receive a data stream comprising one or more messages; and a processing component configured to calculate a CRC value for each message in the one or messages, the calculating comprising 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. - View Dependent Claims (16, 17, 18, 19)
-
-
20. 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 CRC value for each data line in the set of data lines, the calculating being independent of the position of the 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 (21, 22, 23, 24, 25, 26)
-
Specification