Network interface device that fast-path processes solicited session layer read commands
First Claim
1. An apparatus comprising:
- a host computer having a protocol stack and a destination memory, the protocol stack including a session layer portion, the session layer portion being for processing a session layer protocol; and
a network interface device coupled to the host computer, the network interface device containing an identification of a location in the destination memory and performing fast-path processing on a response received from outside the apparatus such that a data portion of the response is placed into the location in the destination memory without the protocol stack of the host computer performing any network layer processing or any transport layer processing on the response.
3 Assignments
0 Petitions
Accused Products
Abstract
A network interface device connected to a host provides hardware and processing mechanisms for accelerating data transfers between the host and a network. Some data transfers are processed using a dedicated fast-path whereby the protocol stack of the host performs no network layer or transport layer processing. Other data transfers are, however, handled in a slow-path by the host protocol stack. In one embodiment, the host protocol stack has an ISCSI layer, but a response to a solicited ISCSI read request command is nevertheless processed by the network interface device in fast-path. In another embodiment, an initial portion of a response to a solicited command is handled using the dedicated fast-path and then after an error condition occurs a subsequent portion of the response is handled using the slow-path. The interface device uses a command status message to communicate status to the host.
-
Citations
16 Claims
-
1. An apparatus comprising:
-
a host computer having a protocol stack and a destination memory, the protocol stack including a session layer portion, the session layer portion being for processing a session layer protocol; and a network interface device coupled to the host computer, the network interface device containing an identification of a location in the destination memory and performing fast-path processing on a response received from outside the apparatus such that a data portion of the response is placed into the location in the destination memory without the protocol stack of the host computer performing any network layer processing or any transport layer processing on the response. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, comprising:
-
issuing a read request to a network storage device, the read request passing through a network to the network storage device; receiving on a network interface device a packet from the network storage device in response to the read request, the packet including data, the network interface device being coupled to a host computer by a bus, the host computer having a protocol stack for carrying out network layer and transport layer processing; performing fast-path processing on the packet such that the data is placed into a destination memory corresponding to the read request without the protocol stack of the host computer doing any network layer processing on the packet and without the protocol stack of the host computer doing any transport layer processing on the packet. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus comprising:
-
a first device having a memory and a processor running a protocol processing stack, the first device establishing a transmission control protocol (TCP) connection for an application, the application sending a request to read data from outside the apparatus, for storing the data in a location in the memory; and a second device coupled to the first device, the second device receiving control of the TCP connection from the first device and receiving an identification of the location in the memory for storing the data, the second device receiving from outside the apparatus a packet in response to the request, the second device storing data from the packet in the location without the first device performing any TCP processing on the packet. - View Dependent Claims (16)
-
Specification