Methods and systems for rebuilding data subsequent to the failure of a storage unit
First Claim
1. A method for a computing system having a plurality of storage units, the method comprising:
- storing, by a controller of the computing system, a first and a second data stripe in the plurality of storage units; and
subsequent to a failure of one of the storage units that stored a first block of the second data stripe, (i) reconstructing, by the controller, the first block of the second data stripe so as to form a reconstructed version of the first block of the second data stripe, and (ii) replacing, by the controller, a first block of the first data stripe stored in a non-failed storage unit of the storage units with the reconstructed version of the first block of the second data stripe.
2 Assignments
0 Petitions
Accused Products
Abstract
Described herein are techniques for storing data in a redundant manner on a plurality of storage units of a storage system. While all of the storage units are operating without failure, only error-correction blocks are stored on a first one of the storage units, while a combination of data blocks and error-correction blocks are stored on a second one of the storage units. Upon failure of the second storage unit, one or more data blocks and one or more error-correction blocks formerly stored on the second storage unit are reconstructed, and the one or more reconstructed data blocks and the one or more reconstructed error-correction blocks are stored on the first storage unit.
22 Citations
20 Claims
-
1. A method for a computing system having a plurality of storage units, the method comprising:
-
storing, by a controller of the computing system, a first and a second data stripe in the plurality of storage units; and subsequent to a failure of one of the storage units that stored a first block of the second data stripe, (i) reconstructing, by the controller, the first block of the second data stripe so as to form a reconstructed version of the first block of the second data stripe, and (ii) replacing, by the controller, a first block of the first data stripe stored in a non-failed storage unit of the storage units with the reconstructed version of the first block of the second data stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing system, comprising:
-
a plurality of storage units; a main memory; a processor communicatively coupled to the plurality of storage units and the main memory; and a set of instructions on the main memory that, when executed by the processor, cause the processor to; store a first and a second data stripe in the plurality of storage units; and subsequent to a failure of one of the storage units that stored a first block of the second stripe, (i) reconstruct the first block of the second data stripe so as to form a reconstructed version of the first block of the second data stripe, and (ii) replace a first block of the first data stripe stored in a non-failed storage unit of the storage units with the reconstructed version of the first block of the second data stripe. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A non-transitory machine-readable storage medium for a computing system having a plurality of storage units, a main memory, and a processor communicatively coupled to the plurality of storage units and the main memory, the non-transitory machine-readable storage medium comprising software instructions that, when executed by the processor, cause the processor to:
-
store a first and a second data stripe in the plurality of storage units; and subsequent to a failure of one of the storage units that stored a first block of the second data stripe, (i) reconstruct the first block of the second data stripe so as to form a reconstructed version of the first block of the second data stripe, and (ii) replace a first block of the first data stripe stored in a non-failed storage unit of the storage units with the reconstructed version of the first block of the second data stripe. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification