Apparatus and method for performing cyclic redundancy check (CRC) on partial protocol data units (PDUS)
First Claim
1. An apparatus for processing protocol data units (PDUs), comprising:
- a cyclic redundancy check (CRC) controller that calculates a first intermediate CRC value for a first outbound partial PDU of a first plurality of outbound partial PDUs, and further calculates one or more subsequent intermediate CRC values for each of the first plurality of outbound partial PDUs remaining, a first outbound PDU comprising the first plurality of outbound partial PDUs; and
a transmit handler that couples to the CRC controller, and that formats and routes to a network destination each of the first plurality of outbound partial PDUs as they are processed by the CRC controller;
wherein the first intermediate CRC value is based upon an initial CRC value, and the one or more subsequent intermediate CRC values are each based upon an intermediate CRC value generated for a previously processed outbound partial PDU; and
wherein a current outbound intermediate CRC value associated with the most recently processed of the first plurality of outbound partial PDUs is included within a CRC field of the first outbound PDU after the CRC controller processes a last partial outbound PDU of the first plurality of partial PDUs.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention discloses an apparatus and method for performing cyclic redundancy check (CRC) on partial protocol data units (PDUs). The disclosed apparatus is designed to off-load the CRC calculation for transmit or receive from a host computer. According to the disclosed method, when generating CRC for partial PDUs, for each such PDUs a decision is made to determine whether a CRC action is required, i.e., if CRC should be calculated, checked or placed in the outgoing byte stream. When partial CRC calculation is performed the intermediate value is saved into memory and later is used for calculating the CRC for a consecutive partial PDU. In accordance with a preferred embodiment of the invention, the need to re-calculate the CRC in a case of a re-transmit request is eliminated.
-
Citations
17 Claims
-
1. An apparatus for processing protocol data units (PDUs), comprising:
-
a cyclic redundancy check (CRC) controller that calculates a first intermediate CRC value for a first outbound partial PDU of a first plurality of outbound partial PDUs, and further calculates one or more subsequent intermediate CRC values for each of the first plurality of outbound partial PDUs remaining, a first outbound PDU comprising the first plurality of outbound partial PDUs; and a transmit handler that couples to the CRC controller, and that formats and routes to a network destination each of the first plurality of outbound partial PDUs as they are processed by the CRC controller; wherein the first intermediate CRC value is based upon an initial CRC value, and the one or more subsequent intermediate CRC values are each based upon an intermediate CRC value generated for a previously processed outbound partial PDU; and wherein a current outbound intermediate CRC value associated with the most recently processed of the first plurality of outbound partial PDUs is included within a CRC field of the first outbound PDU after the CRC controller processes a last partial outbound PDU of the first plurality of partial PDUs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for processing protocol data units (PDUs), comprising:
-
a cyclic redundancy check (CRC) controller calculating a first intermediate CRC value for a first outbound partial PDU of a plurality of outbound partial PDUs, the first intermediate CRC value being based upon an initial CRC value, and a first outbound PDU comprising the plurality of outbound partial PDUs; the CRC controller calculating one or more subsequent intermediate CRC values for each of the plurality of outbound partial PDUs remaining, the one or more subsequent intermediate CRC values each being based upon an intermediate CRC value generated for a previously processed outbound partial PDU; a transmit handler formatting and routing to a network destination each of the plurality of outbound partial PDUs for which intermediate CRC values have been calculated; and the transmit handler including a current outbound intermediate CRC value within a CRC field of the first outbound PDU after processing a last partial outbound PDU of the plurality of partial PDUs. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification