System and method for zero copy block protocol write operations
AssigneeNetwork Appliance, Inc.
InventorJoseph C. Pittman
Life of this patent
Estimating the term…
Abstract
A system and method for zero copy block protocol write operations obviates the need to copy the contents of memory buffers (mbufs) at a storage system. A storage operating system of the storage system receives data from a network and stores the data in chains of mbufs having various lengths. An iSCSI driver processes (interprets) the received mbufs and passes the appropriate data and interpreted command to a SCSI target module of the storage operating system. The SCSI target module utilizes the mbufs and the data contained therein to perform appropriate write operations in response to write requests received from clients.
Claims22
A method for performing operations utilizing a block based protocol, the method comprising the steps of:
- receiving a write operation from a client, the write operation including data,
- writing the data being written into a set of memory buffers;
- passing pointers that reference the set of memory buffers to a block protocol module, the block protocol module adapted to interpret a command contained within the data and to forward a subset of the memory buffers to a target module;
- and
- performing, by the target module, the command utilizing data stored within the subset of the memory buffers.
A system for performing operations utilizing a block based protocol, the system comprising:
- means for receiving a write operation from a client, the write operation including data;
- means for writing the data into a set of memory buffers;
- means for passing the set of memory buffers to a block protocol module, the block protocol module adapted to interpret a command contained within the data and to forward a subset of the memory buffers to a target module;
- and
- means for performing the command utilizing data stored within the subset of the memory buffers.
A system for performing operations utilizing a block based protocol, the system comprising:
- a protocol module adapted to interpret a command contained within a set of memory buffers and further adapted to forward an appropriate subset of the memory buffers to a target module that is adapted to perform the command using data stored within a subset of the memory buffers, whereby no in-memory copy of the memory buffers is made.
A computer readable medium containing executable program instructions for performing operations utilizing a block based protocol, the executable instructions comprising one or more program instructions for:
- receiving a write operation from a client, the write operation including data;
- writing the data into a set of memory buffers;
- passing the pointers that reference the set of memory buffers to a block protocol module, the block protocol module adapted to interpret a command contained within the data and to forward a subset of the memory buffers to a target module;
- and
- performing, by the target module, the command utilizing data stored within the subset of the memory buffers.
A method for performing a zero copy write operation utilizing a block based protocol, the method comprising the steps of:
- receiving the write operation including write data at a set of memory buffers;
- separating header information from write data within the set of memory buffers;
- passing a set of pointers associated with the write data to a virtualization system;
- and
- performing the write operation utilizing the write data within the memory buffers, whereby no in-memory copy is made of the memory buffers.
Dependencies are inferred from the claim text.