System and method for optimizing write operations in storage systems
First Claim
1. A method for operating a storage system comprising a processor and a memory, the method comprising:
- issuing a zeroing command to cause free storage locations at a plurality of storage devices, associated with the storage system, to assume the zero value;
executing the zeroing command by causing the free storage locations identified by the command to assume the zero value;
receiving a write operation directed to one or more selected storage locations; and
in response to receiving the write operation directed to the one or more selected storage locations, computing new parity for the storage system that contains zeroed storage locations without reading parity associated with the one or more selected storage locations prior to writing data associated with the write operation directed to the one or more selected storage locations.
0 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.
95 Citations
16 Claims
-
1. A method for operating a storage system comprising a processor and a memory, the method comprising:
-
issuing a zeroing command to cause free storage locations at a plurality of storage devices, associated with the storage system, to assume the zero value; executing the zeroing command by causing the free storage locations identified by the command to assume the zero value; receiving a write operation directed to one or more selected storage locations; and in response to receiving the write operation directed to the one or more selected storage locations, computing new parity for the storage system that contains zeroed storage locations without reading parity associated with the one or more selected storage locations prior to writing data associated with the write operation directed to the one or more selected storage locations. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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 to cause free storage locations at the plurality of storage devices to assume a zero value, wherein the parity protection system comprises a processor and a memory; and a storage module coupled to the zeroing module and configured to execute the zeroing command to cause the free storage locations identified by the command to assume the zero value, wherein the storage module, in response to receiving a write operation directed to one or more selected storage locations, is further configured to compute new parity for the parity protection system that contains the zeroed storage locations without reading parity associated with the one or more selected storage locations prior to writing data associated with the write operation directed to the one or more selected storage locations. - View Dependent Claims (8, 9, 10, 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 storage locations at a plurality of storage devices, of a storage system comprising a processor and a memory, to assume the zero value; program instructions that execute the zeroing command by causing the free storage locations identified by the command to assume the zero value; program instructions that receive a write operation directed to one or more selected storage locations; and program instructions that compute new parity for the storage system that contains zeroed storage locations without reading parity associated with the one or more selected storage locations prior to writing data associated with the write operation directed to the one or more selected storage locations. - View Dependent Claims (14, 15, 16)
-
Specification