Using redundant spares to reduce storage device array rebuild time
First Claim
1. A computer program product comprising a computer readable storage medium embodying a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform a method for replacing a failed storage device, the method comprising the following operations:
- reconstructing data that was stored on the failed storage device;
commencing writing the reconstructed data on each spare storage device in a plurality of spare storage devices, wherein the reconstructed data is written on the plurality of spare storage devices without verifying that the reconstructed data is successfully written;
finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices;
beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data is finished;
receiving a write complete message from at least one of the spare storage devices, indicating that the reconstructed data was successfully written; and
replacing the failed storage device with one of the at least one spare storage devices from which a write complete message was received.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for replacing a failed storage device in a storage device array includes detecting that the storage device has failed, and reconstructing data that was stored on the failed storage device. The method also includes commencing writing the reconstructed data on each of a plurality of spare storage devices, without verifying that the reconstructed data is successfully written, and finishing writing the reconstructed data on at least one of the spare storage devices. The method further includes beginning validating that the reconstructed data was successfully written, on each of the spare storage devices that the writing was finished on. A write complete message indicating that the reconstructed data was successfully written is received from at least one of the spare storage devices, and, a spare storage device from which a write complete message was received is accepted into the storage device array to replace the failed storage device.
-
Citations
28 Claims
-
1. A computer program product comprising a computer readable storage medium embodying a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform a method for replacing a failed storage device, the method comprising the following operations:
-
reconstructing data that was stored on the failed storage device; commencing writing the reconstructed data on each spare storage device in a plurality of spare storage devices, wherein the reconstructed data is written on the plurality of spare storage devices without verifying that the reconstructed data is successfully written; finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices; beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data is finished; receiving a write complete message from at least one of the spare storage devices, indicating that the reconstructed data was successfully written; and replacing the failed storage device with one of the at least one spare storage devices from which a write complete message was received. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer program product comprising a computer readable storage medium having a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform a method for replacing a failed storage device in a storage device array, the method comprising the following operations:
-
detecting that the failed storage device in the storage device array has failed; reconstructing data that was stored on the failed storage device; commencing writing the reconstructed data on each spare storage device in a plurality of spare storage devices, wherein the reconstructed data is written on the plurality of spare storage devices without verifying that the reconstructed data is successfully written; finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices; beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data is finished; receiving a write complete message from at least one of the spare storage devices, indicating that the reconstructed data was successfully written; and accepting one of the at least one spare storage devices from which a write complete message was received, into the storage device array to replace the failed storage device. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product comprising a computer readable storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for replacing a failed storage device in a storage device array, the method comprising the following operations:
-
detecting the failure of the failed storage device in the storage device array; reconstructing data that was stored on the failed storage device; commencing writing the reconstructed data on each of a plurality of spare storage devices, wherein the reconstructed data is written on the plurality of spare storage devices without verifying that the reconstructed data is successfully written; finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices; beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data was finished; receiving an error message from each of the spare storage devices on which writing of the reconstructed data was finished; identifying defective data on a first one of the spare storage devices from which an error message was received; reading replacement data from a second one of the spare storage devices from which an error message was received; writing the replacement data on the first one of the spare storage devices, to replace the defective data; and accepting the first one of the spare storage devices into the storage device array to replace the failed storage device.
-
-
17. A storage apparatus, comprising:
-
an array of storage devices; a plurality of spare storage devices; and a processor coupled to the array of storage devices and the plurality of spare storage devices, wherein the processor is programmed to perform operations for replacing a failed storage device in the array of data storage devices, the operations comprising; detecting the failure of the failed storage device in the storage device array; reconstructing data that was stored on the failed storage device; commencing writing the reconstructed data on each of the spare storage devices in the plurality of spare storage devices, wherein the reconstructed data is written on the plurality of spare storage devices without verifying that the reconstructed data is successfully written; finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices; beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data was finished; receiving a write complete message from at least one of the spare storage devices, indicating that the reconstructed data was successfully written; and accepting a first spare storage device from which a write complete message was received, into the storage device array to replace the failed storage device. - View Dependent Claims (18, 19, 20)
-
-
21. A storage system, comprising:
-
a first memory; a first device adapter; a storage device array coupled to the first device adapter; a plurality of spare storage devices coupled to the first device adapter; and a first plurality of processors coupled to the first memory and the first device adapter, wherein the first plurality of processors are programmed to perform operations for replacing a failed storage device in a storage device array, the operations comprising; detecting the failure of the failed storage device in the storage device array; reconstructing data that was stored on the failed storage device; writing the reconstructed data simultaneously on each of the plurality of spare storage devices without verifying that that the reconstructed data is successfully written on the plurality of spare storage devices; finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices; beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data is finished; receiving a write complete message from at least one of the spare storage devices, indicating that the reconstructed data was successfully written; and accepting a first spare storage device from which a write complete message was received, into the storage device array to replace the failed storage device. - View Dependent Claims (22, 23)
-
-
24. A system for reducing the rebuild time of a storage device array, comprising:
-
means for detecting a failed storage device in the storage device array; means for reconstructing data that was stored on the failed storage device; means for commencing writing the reconstructed data on each of a plurality of spare storage devices, wherein the reconstructed data is written on the plurality of spare storage devices without verifying that the reconstructed data is successfully written; means for finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices; means for beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data is finished; means for receiving a write complete message from at least one of the spare storage devices, indicating that the reconstructed data was successfully written; and means for accepting one of the at least one spare storage devices from which a write complete message was received, into the storage device array to replace the failed storage device.
-
-
25. A method for replacing a failed storage device in a storage device array, comprising:
-
detecting the failure of the failed storage device in the storage device array; reconstructing data that was stored on the failed storage device; commencing writing the reconstructed data on each of a plurality of spare storage devices, wherein the reconstructed data is written on the plurality of spare storage devices without verifying that the reconstructed data is successfully written; finishing writing the reconstructed data on at least one of the spare storage devices in the plurality of spare storage devices; beginning validating that the reconstructed data was successfully written, on each of the spare storage devices on which writing of the reconstructed data is finished; receiving a write complete message from at least one of the spare storage devices, indicating that the reconstructed data was successfully written; and accepting one of the at least one spare storage devices from which a write complete message was received, into the storage device array to replace the failed storage device. - View Dependent Claims (26, 27, 28)
-
Specification