Method and system for processing network and storage data
First Claim
1. A method for transmitting data using a network protocol and a storage protocol via an adapter, comprising:
- receiving an input output control block (IOCB) from a host system for transferring data stored in a host system memory, the IOCB including a field indicative of offload processing to be performed by the adapter, wherein the adapter receives the IOCB;
determining if the offload processing operation is to be performed by the adapter based upon the field indicative of offload processing;
acquiring data from the host system memory, wherein the adapter acquires the data from the host system based on a memory address embedded in the IOCB;
copying a header template from the host system memory to a local memory of the adapter, wherein the header template is created by a driver executed by the host system;
using the copied header template, creating a header for the network protocol and a header for the storage protocol;
wherein a first module for the adapter creates the network protocol packet header and the first module uses an assist module to create the storage protocol packet header;
creating a packet to transfer a portion of the acquired data, wherein a packet size is based on a payload size for the storage protocol indicated by a field in the IOCB; and
transmitting data packets until a sequence offload is complete.
7 Assignments
0 Petitions
Accused Products
Abstract
Method and system for transmitting data using a network protocol and a storage protocol via an adapter is provided. The method includes receiving an input output control block (IOCB) from a host system for transferring data stored in a host system memory; acquiring data from the host system memory; copying a header template in a local memory of the adapter, wherein the header template is created by a driver executed by the host system; creating a header for the network protocol and a header for the storage protocol; wherein a first module for the adapter creates the network protocol packet header and the first modules uses an assist module to create the storage protocol packet header; and creating a packet to transfer a portion of the acquired data, wherein a packet size is based on a payload size for the storage.
46 Citations
20 Claims
-
1. A method for transmitting data using a network protocol and a storage protocol via an adapter, comprising:
-
receiving an input output control block (IOCB) from a host system for transferring data stored in a host system memory, the IOCB including a field indicative of offload processing to be performed by the adapter, wherein the adapter receives the IOCB; determining if the offload processing operation is to be performed by the adapter based upon the field indicative of offload processing; acquiring data from the host system memory, wherein the adapter acquires the data from the host system based on a memory address embedded in the IOCB; copying a header template from the host system memory to a local memory of the adapter, wherein the header template is created by a driver executed by the host system; using the copied header template, creating a header for the network protocol and a header for the storage protocol; wherein a first module for the adapter creates the network protocol packet header and the first module uses an assist module to create the storage protocol packet header; creating a packet to transfer a portion of the acquired data, wherein a packet size is based on a payload size for the storage protocol indicated by a field in the IOCB; and transmitting data packets until a sequence offload is complete. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for transmitting data using a network protocol and a storage protocol, comprising:
-
a host system, the host system creates an input output control block (IOCB) to transfer data stored in the host system memory, the IOCB including a field indicative of offload processing to be performed by an adapter coupled to the host system; a driver executed in the host system creates a header template for each sequence for transferring the data; and the adapter coupled to a network link, the adapter (a) receives the IOCB from the host system and determines if the offload processing operation is to be per-formed based upon the field indicative of offload processing;
(b) copies the data and the header template from the host system memory to a local adapter memory;
(c) uses the copied header template and creates a header for the network protocol using a network processing module and a header for the storage protocol using a storage assist module, (d) creates individual packets whose size are limited by a payload size indicated by a field in the IOCB; and
(e) transmits the packets to a destination via a network interface using the network link. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. An adapter for transmitting data using a network protocol and a storage protocol, comprising:
-
an interface for communicating with a host system that is configured to create an input output control block (IOCB) to transfer data stored in the host system memory, the IOCB including a field indicative of offload processing to be performed by the adapter and executes a driver for creating a header template for each sequence for transferring the data; a core module that copies the data and the header template from the host system memory to a local adapter memory; and
creates a header for the network protocol, using the copied header template; anda storage protocol assist module that creates a header for the storage protocol, using the copied header template and interfaces with the core module;
wherein the core module creates individual packets whose size are limited by a payload size indicated by a field in the IOCB; and
transmits the packets to a destination via a network interface using a network link. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification