Method for initializing or reconstructing data consistency within an array of storage elements
DCFirst Claim
1. In a storage system containing a plurality of storage elements, a method of generating data consistency throughout the storage elements while simultaneously providing access to the storage elements as data consistency generation is being accomplished comprising the steps of:
- (a) selecting a storage element from said plurality of storage elements;
(b) selecting address (i) within said selected storage element;
(c) locking address (i) of the storage elements within a redundancy group of address (i), where all addresses except address (i) within the storage elements of the redundancy group can be accessed while the redundancy group is being made consistent;
(d) reading data from addresses, other than address (i) within the selected storage element, within said redundancy group of address (i) stored in said plurality of storage elements;
(e) computing a consistency value using the data from said redundancy group;
(f) writing said consistency value to said address (i) in said selected storage element;
(g) unlocking said addresses (i) of the storage elements within the redundancy group of address (i);
(h) incrementing said address (i); and
(i) repeating steps b, c, d, e, f, g and h until all addresses (i) in the selected storage element have been written with a consistency value.
11 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
A method of initializing or reconstructing data redundancy within a array of storage elements. Specifically, the method is performed by the array management software, either as part of the array controller or a host computer performing array controller functions, such that, for a new array, the data therein is made consistent (e.g., XOR consistent using parity data) and, for an array with a recently replaced storage element, data is reconstructed within the new storage element. In either case, after executing the inventive routine, the array is fault tolerant and the data is consistent in accordance with the technique used to generate fault tolerance.
145 Citations
13 Claims
-
1. In a storage system containing a plurality of storage elements, a method of generating data consistency throughout the storage elements while simultaneously providing access to the storage elements as data consistency generation is being accomplished comprising the steps of:
-
(a) selecting a storage element from said plurality of storage elements; (b) selecting address (i) within said selected storage element; (c) locking address (i) of the storage elements within a redundancy group of address (i), where all addresses except address (i) within the storage elements of the redundancy group can be accessed while the redundancy group is being made consistent; (d) reading data from addresses, other than address (i) within the selected storage element, within said redundancy group of address (i) stored in said plurality of storage elements; (e) computing a consistency value using the data from said redundancy group; (f) writing said consistency value to said address (i) in said selected storage element; (g) unlocking said addresses (i) of the storage elements within the redundancy group of address (i); (h) incrementing said address (i); and (i) repeating steps b, c, d, e, f, g and h until all addresses (i) in the selected storage element have been written with a consistency value. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a RAID level 5 storage system containing a plurality of hard disk drives forming an array, the array is partitioned into data stripes and data strips, a method of generating data consistency through the array comprising the steps of:
-
(a) selecting a hard disk drive from said plurality of hard disk drives; (b) selecting address (i) within said selected hard disk drive; (c) locking address (i) of hard disk drives within a redundancy group of address (i), where all addresses except address (i) within the hard disk drives of the redundancy group can be accessed while the redundancy group is being made consistent; (d) reading data stored in said plurality of storage elements from addresses, other than address (i) within the selected disk drive, within a data stripe containing address (i); (e) computing a parity value using the data from said data stripe; (f) writing said parity value to said address (i) in said selected hard disk drive; (g) unlocking said addresses (i) of the hard disk drives within the redundancy group of address (i); (h) incrementing said address (i); and (i) repeating steps b, c, d, e, f, g and h until all addresses (i) in the selected hard disk drive have been written with a parity value. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification