TCP receiver acceleration
First Claim
1. A transport protocol receiver for receiving a packet from a network, the packet having a header, payload, and connection context, the receiver comprising:
- an analysis engine, coupled to receive the packet from the network and adapted to parse and validate the header, locate the connection context, and generate a classification of the header;
a context processing engine, coupled to the analysis engine, to evaluate and update the connection context, responsive to the classification, the context processing engine comprising a hardware preliminary context processing processor which performs an initial evaluation of the connection context; and
a data dispatch engine, coupled to the analysis engine and the context processing engine, to convey the payload to a destination, responsive to the connection context, such that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously.
15 Assignments
0 Petitions
Accused Products
Abstract
A transport protocol receiver for receiving a packet from a network, the packet having a header, payload, and connection context. The receiver includes an analysis engine, coupled to receive the packet from the network and adapted to parse and validate the header, locate the connection context, and generate a classification of the header. The receiver further includes a context processing engine, coupled to the analysis engine, and adapted to evaluate and update the connection context, responsive to the classification; and a data dispatch engine, coupled to the analysis engine and the context processing engine, and adapted to convey the payload to a destination, responsive to the connection context, such that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously.
-
Citations
36 Claims
-
1. A transport protocol receiver for receiving a packet from a network, the packet having a header, payload, and connection context, the receiver comprising:
-
an analysis engine, coupled to receive the packet from the network and adapted to parse and validate the header, locate the connection context, and generate a classification of the header; a context processing engine, coupled to the analysis engine, to evaluate and update the connection context, responsive to the classification, the context processing engine comprising a hardware preliminary context processing processor which performs an initial evaluation of the connection context; and a data dispatch engine, coupled to the analysis engine and the context processing engine, to convey the payload to a destination, responsive to the connection context, such that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A transport protocol receiver accelerator for disposing of a packet received on a network, comprising:
-
a first processor, to perform a first stage of processing on the packet during a first period of time, so as to generate a classification responsive to data in a packet header, the first processor comprising first logic to execute a first stage of processing on the packet; a second processor, to perform a second stage of processing on the packet during a second period of time independent of the first period of time, responsive to the classification, the second processor comprising second logic to execute a second stage of processing on the packet, the first stage and the second stage selected from an accelerated stage and a non-accelerated stage; and a forwarding data bus coupled between the first and second processors, so as to convey the classification from the first processor to the second processor. - View Dependent Claims (16, 17)
-
-
18. A transport protocol processor for receiving a packet from a network, the packet having a header in accordance with a transport protocol, the processor comprising:
-
a plurality of accelerated stages coupled in a pipeline to perform successive, respective classifications of the header; a plurality of non-accelerated stages, to receive and process the header responsive to the classifications, such that the accelerated and non-accelerated stages together perform substantially all steps required to process the header in accordance with the transport protocol; and routing logic, coupled to each of the accelerated stages, including a context processing engine comprising a hardware preliminary context processing processor which performs an initial evaluation of the connection context, implemented to convey the header, following each of the stages, to a next stage selected from the accelerated stages and non-accelerated stages.
-
-
19. A method for receiving a packet from a network, the packet having a header, payload, and connection context in accordance with a transport protocol, comprising:
-
receiving the packet in an analysis engine which is coupled to the network; parsing, validating, and generating a classification of the header in the analysis engine; locating the connection context in the analysis engine; evaluating and updating the connection context in a context processing engine, responsive to the classification, the context processing engine comprises a hardware preliminary context processing processor which performs an initial evaluation of the connection context; and conveying the payload to a destination, responsive to the connection context, from a data dispatch engine coupled to the analysis engine and the context processing engine, so that the analysis engine, the context processing engine, and the data dispatch engine operate substantially asynchronously. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for disposing of a packet received from a network, comprising:
-
performing in a first processor a first stage of processing on the packet during a first period of time, so as to generate a classification responsive to data in a packet header, the first processor comprises first logic to execute a first stage of processing on the packet; performing in a second processor a second stage of processing on the packet during a second period of time independent of the first period of time, responsive to the classification, the second processor comprises second logic to execute a second stage of processing on the packet, the first stage and the second stage selected from an accelerated stage and a non-accelerated stage; and conveying the classification from the first processor to the second processor via a forwarding data bus coupled to the first and second processors. - View Dependent Claims (34, 35)
-
-
36. A method for a transport processor receiving a packet from a network, the packet having a header in accordance with a transport protocol, the transport processor comprising:
-
providing a plurality of accelerated stages, including a context processing engine comprises a hardware preliminary context processing processor which performs an initial evaluation of the connection context, coupled in a pipeline to perform successive, respective classifications of the header; providing a plurality of non-accelerated stages, to receive and process the header responsive to the classifications, such that the accelerated and non-accelerated stages together perform substantially all steps required to process the header in accordance with the transport protocol; and conveying the header, following each of the stages, to a next stage selected from the accelerated stages and non-accelerated stages, by routing logic coupled to each of the accelerated stages.
-
Specification