IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0970124
(2001-10-02)
|
발명자
/ 주소 |
- Craft,Peter K.
- Philbrick,Clive M.
- Boucher,Laurence B.
|
출원인 / 주소 |
|
대리인 / 주소 |
Silicon Edge Law Group LLP
|
인용정보 |
피인용 횟수 :
111 인용 특허 :
107 |
초록
▼
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
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.
대표청구항
▼
What is claimed is: 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 compute
What is claimed is: 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 receiving from outside the apparatus a response to a solicited read command, the solicited read command being of the session layer protocol, 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. 2. The apparatus of claim 1, wherein the host computer comprises a file system, wherein the network interface device performs some session layer processing associated with the placing of the data portion into the destination memory, and wherein once the data portion is present in the destination memory the host performs additional session layer processing by responding to the file system. 3. The apparatus of claim 1, wherein the session layer protocol is ISCSI. 4. The apparatus of claim 1, wherein the session layer protocol is SMB. 5. The apparatus of claim 1, wherein the protocol stack of the host computer can process a second response to a second solicited read command of the session layer protocol, the protocol stack processing the second response such that the protocol stack performs both network layer processing and transport layer processing on the response. 6. The apparatus of claim 1, wherein the response comprises a first packet and a second packet, the first packet including first data, and second packet including second data, wherein said data portion that is placed into the destination includes both the first data and the second data, and wherein the first data and the second data are placed into the destination together in a substantially contiguous manner. 7. The apparatus of claim 1, wherein the response comprises a first packet and a second packet, the first packet including first data, and second packet including second data, wherein said data portion that is placed into the destination includes the first data and the second data, the first data being placed into the destination before the second packet is received onto the network interface device. 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. 9. The method of claim 8, wherein the read request is in the form of a SCSI command, wherein the SCSI command is attached to a header in accordance with an ISCSI protocol. 10. The method of claim 8, wherein the read request is an ISCSI read request. 11. The method of claim 8, wherein the destination memory is a part of the host computer. 12. The method of claim 8, wherein the destination memory is part of a second host computer, the second host computer being coupled to a second network interface device, the data and the subsequent data being sent from the network interface device to the second network interface device via a network connection. 13. The method of claim 8, wherein the network storage device comprises a controller and a disk drive. 14. The method of claim 8, wherein the packet and the subsequent packet are associated with a connection context, the method further comprising: flushing the connection context from the network interface device to the host computer after the performing fast-path processing but prior to the performing slow-path processing. 15. The method of claim 8, wherein prior to the receiving on the network interface device a subsequent packet, a first packet is received on the network interface device, the first packet being passed from the network interface device to the host computer, the host computer then passing to the network interface device an address of the destination memory. 16. The method of claim 8, wherein the bus is a PCI bus, and wherein the read request is a ISCSI read request. 17. The method of claim 10, further comprising: sending a command status message from the network interface device to the host computer, the command status message being sent after said fast-path processing on the packet and prior to said receiving of the subsequent packet on the network interface device. 18. The method of claim 17, wherein the command status message includes an indication that the read request command was sent from the network interface device. 19. The method of claim 17, wherein the command status message includes an indication that an error condition has occurred. 20. The method of claim 17, wherein the command status message identifies a portion of the destination memory. 21. The method of claim 17, wherein the command status message includes a identifier, the identifier being indicative of the read request. 22. An apparatus 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 a response to an 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. 23. The apparatus of claim 22, wherein the network interface device includes a DMA controller, the DMA controller writing the data portion of the first portion into the destination memory of the host computer. 24. The apparatus of claim 22, wherein the ISCSI read request command is passed from the host computer to the network interface device, the ISCSI read request command being accompanied by an indication of where the destination memory is located on the host computer. 25. The apparatus of claim 24, wherein the indication includes a scatter-gather list. 26. The apparatus of claim 24, wherein an indication of where the destination memory is located on the host computer is passed from the host computer to the network interface device, the indication being passed to the network interface device before the first portion of the response is received onto the network interface device. 27. The apparatus of claim 22, wherein the response to the ISCSI read request command is received onto the computer via a single cable, the computer also receiving other network communications over the single cable, the other network communications not being ISCSI communications. 28. The apparatus of claim 22, wherein the host computer does exception handling as a consequence of the computer having received the second portion of the response. 29. The apparatus of claim 22, wherein the host computer does error handling as a consequence of the computer having received the second portion of the response. 30. The apparatus of claim 22, wherein an enclosure contains both the host computer and the network interface device. 31. An apparatus comprising: a host computer having a protocol stack and a destination memory; and means, coupled to the host computer, for receiving from outside the apparatus a response to an ISCSI read request command and 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. 32. The apparatus of claim 31, wherein the network layer and transport layer processing done on the subsequent portion by the means includes error condition handling. 33. The apparatus of claim 31, wherein the network layer and transport layer processing done on the subsequent portion by the means includes exception condition handling. 34. The apparatus of claim 31, wherein the means sends a command status message to the host computer before said slow-path processing starts, the command status message including an identifier, the identifier being indicative of the ISCSI read request command. 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 a host computer that is coupled to the host bus adapter 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.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.