System and method for optimizing write operations in storage systems
First Claim
1. A parity protection system, comprising:
- a zeroing module configured to initiate a zeroing process on a plurality of storage devices in the parity protection system by issuing a zeroing command, wherein the parity protection system comprises a processor and a memory;
a storage module coupled to the zeroing module configured to execute the zeroing command to cause free physical data blocks identified by the command to assume a zero value; and
in response to the free physical data blocks assuming zero values, a controller module to update a parity for one or more stripes in the parity protection system that contain data blocks zeroed by the zeroing command;
wherein the storage module in response to an access request from a client, comprising a write operation and associated data, is configured to access the free physical data blocks and to write the data thereto and compute a new parity for one or more stripes associated with the write operation without reading the zeroed physical data blocks to which the data are written.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a method, system, and computer program product for optimizing I/O operations performed by a storage server operating on behalf of multiple clients to access data on a plurality of storage devices (disks). Embodiments of the present invention eliminate the need for selected read operations to write new data to physical data blocks by zeroing the physical data blocks to which new data will be written. Additionally, the need for reading old parity to compute new parity is eliminated. Instead, new parity is computed from the data to be written without the need of old parity or the storage server sends a command to a disk that stores parity. A module implemented at the disk that stores parity executes the command without reading, by the storage server, old parity. Eliminating the need for reading old data and for reading old parity eliminates some rotation latency and improves overall system'"'"'s performance.
106 Citations
15 Claims
-
1. A parity protection system, comprising:
-
a zeroing module configured to initiate a zeroing process on a plurality of storage devices in the parity protection system by issuing a zeroing command, wherein the parity protection system comprises a processor and a memory; a storage module coupled to the zeroing module configured to execute the zeroing command to cause free physical data blocks identified by the command to assume a zero value; and in response to the free physical data blocks assuming zero values, a controller module to update a parity for one or more stripes in the parity protection system that contain data blocks zeroed by the zeroing command; wherein the storage module in response to an access request from a client, comprising a write operation and associated data, is configured to access the free physical data blocks and to write the data thereto and compute a new parity for one or more stripes associated with the write operation without reading the zeroed physical data blocks to which the data are written. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for optimizing I/O operations performed by a parity protection storage system in response to access requests by a plurality of clients, comprising:
-
issuing, by a zeroing module, a zeroing command to cause free physical data blocks to assume a zero value at a plurality of storage devices of the parity protection storage system comprising a processor and a memory; executing, by a storage module, the zeroing command by causing the free physical data blocks identified by the command to assume a zero value; in response to the free physical data blocks assuming zero values, updating a parity for one or more stripes of the parity protection storage system that contain zeroed data blocks; receiving an access request from a client, the request comprising a write operation and associated data; and writing the data to physical data blocks at the storage devices and computing a new parity for one or more stripes associated with the write request without reading the zeroed physical data blocks to which the data are written. - View Dependent Claims (11, 12)
-
-
13. A computer readable medium containing executable program instructions executed by a processor, comprising:
-
program instructions that issue a zeroing command to cause free physical data blocks to assume a zero value at a plurality of storage devices of a parity protection storage system comprising a processor and a memory; program instructions that execute the zeroing command by causing the free physical data blocks identified by the command to assume a zero value; program instructions that update a parity for one or more stripes, of the parity protection storage system, in response to the free physical data blacks assuming zero values; program instructions that receive an access request from a client, the request comprising a write operation and associated data; and program instructions that write the associated data to physical data blocks at the storage devices and compute a new parity for one or more stripes associated with the write operation without reading the zeroed physical data blocks to which the data are written. - View Dependent Claims (14, 15)
-
Specification