Claims
- 1. A method comprising:
combining an iSCSI command with a tag to form an encapsulated iSCSI command, wherein the tag is associated with a memory region for holding data associated with the encapsulated iSCSI command; performing an iSCSI transaction specified by the encapsulated iSCSI command by directly accessing the memory region.
- 2. The method of claim 1, wherein directly accessing the memory region includes writing the data associated with the encapsulated iSCSI command to the memory region.
- 3. The method of claim 1, wherein directly accessing the memory region includes reading the data associated with the encapsulated iSCSI command to the memory region.
- 4. The method of claim 1, wherein the iSCSI transaction includes transferring the data associated with the encapsulated iSCSI command to a target adapter.
- 5. The method of claim 1, wherein the iSCSI transaction includes transferring data associated with the encapsulated iSCSI command from a target adapter.
- 6. The method of claim 1, wherein the tag includes an index into a memory translation table.
- 7. The method of claim 1, further comprising:
placing the encapsulated iSCSI command on a send queue of a hardware network offload engine for processing.
- 8. The method of claim 1, further comprising:
determining if the iSCSI transaction has completed; and in response to a determination that the iSCSI transaction has completed, placing a completion queue element on a completion queue.
- 9. A method operative in a target adapter, comprising:
receiving an encapsulated iSCSI command from a host adapter, wherein the encapsulated iSCSI command includes a iSCSI command, an initiator tag, and a list of data segments; in response to receiving the encapsulated iSCSI command, generating a target tag associated with at least one memory region in the target adapter corresponding to the list of data segments; and in response to receiving the encapsulated iSCSI command, transmitting work requests to the host adapter in fulfillment of the iSCSI command, wherein the work requests include the target tag.
- 10. The method of claim 9, wherein transmitting the work requests to the host adapter includes placing the work requests on a send queue for processing.
- 11. The method of claim 9, wherein receiving the encapsulated iSCSI command from the host adapter includes reading the encapsulated iSCSI command from a receive queue.
- 12. A computer program product in at least one computer-readable medium comprising functional descriptive material that, when executed by a computer, enables the computer to perform acts including:
combining an iSCSI command with a tag to form an encapsulated iSCSI command, wherein the tag is associated with a memory region for holding data associated with the encapsulated iSCSI command; performing an iSCSI transaction specified by the encapsulated iSCSI command by directly accessing the memory region.
- 13. The computer program product of claim 12, wherein directly accessing the memory region includes writing the data associated with the encapsulated iSCSI command to the memory region.
- 14. The computer program product of claim 12, wherein directly accessing the memory region includes reading the data associated with the encapsulated iSCSI command to the memory region.
- 15. The computer program product of claim 12, wherein the iSCSI transaction includes transferring the data associated with the encapsulated iSCSI command to a target adapter.
- 16. The computer program product of claim 12, wherein the iSCSI transaction includes transferring data associated with the encapsulated iSCSI command from a target adapter.
- 17. The computer program product of claim 12, wherein the tag includes an index into a memory translation table.
- 18. The computer program product of claim 12, comprising additional functional descriptive material that, when executed by the computer, enables the computer to perform additional acts including:
placing the encapsulated iSCSI command on a send queue of a hardware network offload engine for processing.
- 19. The computer program product of claim 12, comprising additional functional descriptive material that, when executed by the computer, enables the computer to perform additional acts including:
determining if the iSCSI transaction has completed; and in response to a determination that the iSCSI transaction has completed, placing a completion queue element on a completion queue.
- 20. A computer program product in at least one computer-readable medium comprising functional descriptive material that, when executed by a target adapter, enables the target adapter to perform acts including:
receiving an encapsulated iSCSI command from a host adapter, wherein the encapsulated iSCSI command includes a iSCSI command, an initiator tag, and a list of data segments; in response to receiving the encapsulated iSCSI command, generating a target tag associated with at least one memory region in the target adapter corresponding to the list of data segments; and in response to receiving the encapsulated iSCSI command, transmitting work requests to the host adapter in fulfillment of the iSCSI command, wherein the work requests include the target tag.
- 21. The computer program product of claim 20, wherein transmitting the work requests to the host adapter includes placing the work requests on a send queue for processing.
- 22. The computer program product of claim 20, wherein receiving the encapsulated iSCSI command from the host adapter includes reading the encapsulated iSCSI command from a receive queue.
- 23. A data processing system comprising:
a host computer including at least one processor and memory; and a network offload engine associated with the host computer, adapted to send and receive information over a network to an iSCSI input/output adapter, and including a send queue, wherein the at least one processor combines an iSCSI command with a tag to form an encapsulated iSCSI command, the tag being associated with a memory region in the memory for holding data associated with the encapsulated iSCSI command, wherein the host computer places the encapsulated iSCSI command on the send queue, and wherein the network offload engine performs an iSCSI transaction specified by the encapsulated iSCSI command by directly accessing the memory region.
- 24. The data processing system of claim 23, wherein performing the iSCSI transaction includes transmitting the encapsulated iSCSI command over the network to the adapter.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to an application entitled MEMORY MANAGEMENT OFFLOAD FOR RDMA ENABLED NETWORK ADAPTERS, Ser. No. ______, attorney docket no. AUS920020129US1, filed even date hereof, assigned to the same assignee, and incorporated herein by reference.