Reducing reconstruct input/output operations in storage systems
First Claim
1. A method for reducing a number of I/O operations performed by a storage system during a process of reconstructing data from a failed device to a spare device, the method comprising:
- partially pre-writing data stored in an array of mass storage devices to a spare device prior to detecting a failed device in the array of mass storage devices; and
reconstructing data from the failed device using the partially pre-written data without reading data from all the devices in the array.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system, method, and computer program product for partially pre-writing data stored in an array of mass storage devices to a spare disk dedicated to the array prior to detecting a failure in the array. The system then reconstructs data from the failed disk using data partially pre-written to the spare disk. Since some of the data has already been pre-written to the spare disk, embodiments of the present invention reduce the number of I/O operations performed by a storage system during a process of reconstructing data from the failed disk to the spare disk.
127 Citations
32 Claims
-
1. A method for reducing a number of I/O operations performed by a storage system during a process of reconstructing data from a failed device to a spare device, the method comprising:
-
partially pre-writing data stored in an array of mass storage devices to a spare device prior to detecting a failed device in the array of mass storage devices; and reconstructing data from the failed device using the partially pre-written data without reading data from all the devices in the array. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A storage system for reducing the number of I/O operations performed during a process of reconstructing data from a failed device to a spare device, the system comprising:
-
a scrub module executed by a processor, the scrub module configured to partially pre-write data stored in an array of mass storage devices to a spare device prior to detecting a failed device in the array of mass storage devices; and a reconstruct module executed by the processor, the reconstruct module configured to reconstruct data from the failed device using the partially pre-written data without reading data from all the devices in the array. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method for recovering data from a device that has a media error in an array of mass storage devices having a failed device, wherein the data from the failed device is pre-written to a spare device prior to a device failure in the array, the method comprising:
-
reading data pre-written to the spare device; reading data from other devices in the array other than the failed device and other than the device with the media error; and recovering the data stored on the device that has a media error by performing a logical operation on the read data.
-
-
30. A method for recovering data from a device that has a media error in an array of mass storage devices having a failed device and a spare device storing a result of an application of a logical operation on data stored in the array, the method comprising:
-
determining whether the result of the application of the logical operation includes both data stored on a failed device and data stored on a device that has a media error; responsive to a negative determination, determining whether the result of the application of the logical operation includes data stored on a device that has a media error;
responsive to a positive determination, reading data from those devices in the array that are included in the result of the logical operation pre-written to the spare device in the stripe except for the device with the media error;reading the result of the logical operation from the spare device; and recovering the data stored on the device that has a media error by performing a logical operation on the data being read and responsive to a negative determination reading data from those devices in the array that are not included in the result of the logical operation pre-written to the spare device in the stripe except for the device with a media error; reading the result of the logical operation from the spare device; and recovering the data stored on the device that has a media error by performing a logical operation on the data being read.
-
-
31. A computer-program product comprising:
-
a computer-readable medium having computer program code embodied thereon for reducing a number of I/O operations performed by a storage system during a process of reconstructing data from a failed device to a spare device, the computer program code adapted to; partially pre-write data stored in an array of mass storage devices to a spare device prior to detecting a failed device in the array of mass storage devices; and reconstruct data from the failed device using the partially pre-written data without reading data from all the devices in the array. - View Dependent Claims (32)
-
Specification