Network interface device that fast-path processes solicited session layer read commands
First Claim
1. A computer that receives a response to a solicited read command, the solicited read comand being of a session layer protocol, the computer 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 the session layer protocol; and
a network interface device coupled to the host computer, the network interface device performing fast-path processing on the response such that a data portion of the response is placed into 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 condidtion occurs a subsequent portion of the response is handled using the the slow-path. The interface device uses a command status message to communicate status to the host.
457 Citations
36 Claims
-
1. A computer that receives a response to a solicited read command, the solicited read comand being of a session layer protocol, the computer 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 the session layer protocol; and
a network interface device coupled to the host computer, the network interface device performing fast-path processing on the response such that a data portion of the response is placed into 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 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;
receiving on the network interface device a subsequent packet from the network storage device in response to the read request, the subsequent packet including subsequent data; and
performing slow-path processing on the subsequent packet such that the protocol stack of the host computer does network layer processing and transport layer processing on the subsequent packet. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer adapted for receiving a response to an ISCSI read request command, the computer comprising:
-
a host computer having a protocol stack and a destination memory; and
a network interface device coupled to the host computer, the network interface device receiving a first portion of the response to the ISCSI read request command, the first portion being processed such that a data portion of the first portion is placed into the destination memory on the host computer with the protocol stack of the host computer doing substantially no network layer or transport layer processing, the network interface device receiving a second portion of the response to the ISCSI read request command, the protocol stack of the host computer doing network layer and transport layer processing on the second portion. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer adapted for receiving a response to an ISCSI read request command, the computer comprising:
-
a host computer having a protocol stack and a destination memory; and
means, coupled to the host computer, for fast-path processing a portion of the response to the ISCSI read request command, the portion including data, the portion being fast-path processed such that the data is placed into the destination memory on the host computer without the protocol stack of the host computer doing significant network layer or significant transport layer processing, the means also being for receiving a subsequent portion of the response to the ISCSI read request command and for slow-path processing the subsequent portion such that the protocol stack of the host computer does network layer and transport layer processing on the subsequent portion. - View Dependent Claims (32, 33, 34)
-
-
35. A host bus adapter that is adapted for sending an ISCSI solicited read request and for receiving a response in return, the host bus adapter also being adapted for coupling to a host computer that has a protocol stack, the protocol stack having an ISCSI layer, the host bus adapter being adapted for processing the response such that a data portion of the response is placed into a memory on the host computer without the host computer doing any network layer or transport layer processing on the response.
-
36. A method, comprising:
-
sending from a host bus adapter an ISCSI solicited read request;
receiving onto the host bus adapter a response to the ISCSI solicited read request; and
the host bus adapter processing the response such that a data portion of the response is placed into a destination memory on the host computer without a protocol stack of the host computer doing any network layer processing on the response and without the host computer doing any transport layer processing on the response, the protocol stack of the host computer having an ISCSI layer.
-
Specification