System and method for zero copy block protocol write operations
First Claim
Patent Images
1. A method, comprising:
- receiving a write request at a network protocol stack of a storage operating system executing on a storage system, the write request comprising a write command and data to write to a data storage device of the storage system;
storing the write request into a network memory buffer of the storage system, the network memory buffer referenced by one or more pointers; and
passing the one or more pointers that reference the network memory buffer to a virtualization system of the storage operating system, the virtualization system processing the write command to write the data to the data storage device.
0 Assignments
0 Petitions
Accused Products
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.
-
Citations
36 Claims
-
1. A method, comprising:
-
receiving a write request at a network protocol stack of a storage operating system executing on a storage system, the write request comprising a write command and data to write to a data storage device of the storage system; storing the write request into a network memory buffer of the storage system, the network memory buffer referenced by one or more pointers; and passing the one or more pointers that reference the network memory buffer to a virtualization system of the storage operating system, the virtualization system processing the write command to write the data to the data storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data storage apparatus, comprising:
-
a network protocol stack of a storage operating system executing on a storage system, the network protocol stack configured to receive a write request comprising a write command and data to write to a data storage device of the storage system; a network memory buffer of the storage system configured to store the write request, the network memory buffer referenced by one or more pointers; and a processor of the storage system configured to execute the write command to write the data to the data storage device in response to passing the one or more pointers that reference the network memory buffer to a virtualization system of the storage operating system. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A computer readable medium containing executable program instructions executed by a processor, comprising:
-
program instructions that receive a write request at a network protocol stack of a storage operating system executing on a storage system, the write request comprising a write command and data to write to a data storage device of the storage system; program instructions that store the write request into a network memory buffer of the storage system, the network memory buffer referenced by one or more pointers; and program instructions that pass the one or more pointers that reference the network memory buffer to a virtualization system of the storage operating system, the virtualization system processing the write command to write the data to the data storage device.
-
-
15. A system for storing data, comprising:
-
means for receiving a write request at a network protocol stack of a storage operating system executing on a storage system, the write request comprising a write command and data to write to a data storage device of the storage system; means for storing the write request into a network memory buffer of the storage system, the network memory buffer referenced by one or more pointers; and means for passing the one or more pointers that reference the network memory buffer to a virtualization system of the storage operating system, the virtualization system processing the write command to write the data to the data storage device. - View Dependent Claims (16)
-
-
17. A storage system, comprising:
-
a network adapter and a network protocol stack of a storage operating system executing on the storage system configured to cooperate to receive a write operation and to write data from the write operation into a memory buffer of the storage system, the write operation configured to utilize a block based protocol, and wherein the network memory buffer is referenced by one or more pointers; and a processor of the storage system configured to execute a storage operating system, the storage operating system configured to separate header information from the data stored within the memory buffer, the storage operating system further configured to pass the one or more pointers to a virtualization system of the storage operating system, the virtualization system configured to process the write operation utilizing a same memory location where the data was deposited by the network protocol module within the memory buffer. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A computer readable medium containing executable program instructions executed by a processor, comprising:
-
program instructions that receive a write operation comprising write data at a set of memory buffers of a storage system; program instructions that separate header information from the write data within the set of memory buffers; program instructions that pass a set of pointers referencing the set of memory buffers to a virtualization system of the storage system; and program instructions that process, by the virtualization system, the write operation by utilizing the write data within the set of memory buffers as originally deposited.
-
-
23. A method, comprising:
-
receiving a write request comprising a write command and data to write to a data storage device of a storage system; storing the write request into a network memory buffer of the storage system, the network memory buffer referenced by one or more pointers; receiving the one or more pointers referencing the network memory buffer by a virtualization system of the storage system; and processing, by the virtualization system, the write command to write the data to the data storage device using the one or more pointers that reference the data in the network memory buffer as originally deposited. - View Dependent Claims (24, 25, 26, 27, 28, 29)
-
-
30. A system, comprising:
-
a network memory buffer of a storage system configured to store a write request comprising a write command and data to write to a data storage device of the storage system, the network memory buffer referenced by one or more pointers; a virtualization system of a storage operating system executing on the storage system configured to receive the data; and a processor of the storage system configured to process the write command to write the data to the data storage device using the one or more pointers that reference the network memory buffer. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A computer readable medium containing executable program instructions executed by a processor, comprising:
-
program instructions that receive a write request comprising a write command and data to write to a data storage device of a storage system, wherein a network memory buffer of the storage system is referenced by one or more pointers; program instructions that store the write request into the network memory buffer; program instructions that receive, from a network protocol stack of the storage system, the one or more pointers referencing the network memory buffer by a virtualization system of the storage system; and program instructions that process, by the virtualization system, the write command to write the data to the data storage device using the one or more pointers that reference the data in the network memory buffer as originally deposited.
-
Specification