Error detection in redundant array of storage units
First Claim
1. A storage controller for error detection in an array of a plurality of storage units, comprising:
- a receiving unit to receive from a plurality of the storage units in the array a value derived from data in a desired segment of the storage unit;
a comparing unit to compare the received values from different storage units; and
an error determining unit, responsive to the comparing unit, to determine an error in data from one of the storage units.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage controller (160) and method (200) for error detection in disk arrays (150) with multiple redundancy by: receiving from each of the disks in the array a linear XOR value derived from data in a desired segment of the unit; comparing the received values from the different disks; and determining, responsive to the comparison, an error in data from one of the disks. Scrubbing is completed by reconstructing, responsive to the error determination, the erroneous data and re-writing it to the erroneous segment. This allows detection of data errors where prior art could not, and detects these errors without a significant increase in controller-disk link data traffic.
29 Citations
25 Claims
-
1. A storage controller for error detection in an array of a plurality of storage units, comprising:
-
a receiving unit to receive from a plurality of the storage units in the array a value derived from data in a desired segment of the storage unit;
a comparing unit to compare the received values from different storage units; and
an error determining unit, responsive to the comparing unit, to determine an error in data from one of the storage units. - View Dependent Claims (2, 3, 4, 5, 11)
-
-
6. A method of error detection in an array of a plurality of storage units, comprising:
-
receiving from a plurality of the units in the array a value derived from data in a desired segment of the unit;
comparing the received values from the different units; and
determining, responsive to the step of comparing, an error in data from one of the units. - View Dependent Claims (7, 8, 9, 10)
-
-
12. A storage controller for error detection in an array of a plurality of storage units, comprising:
-
means for receiving from a plurality of the units in the array a value derived from data in a desired segment of the unit;
means for comparing the received values from the different units; and
means, responsive to the means for comparing, for determining an error in data from one of the units. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A signal bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform operations to detect data errors in a redundant storage system comprised of an array of storage units, the operations comprising:
-
receiving from a plurality of the storage units in the array a value derived from data in a desired segment of the storage unit;
comparing the received values from different storage units; and
determining, responsive to comparing, an error in data from one of the storage units. - View Dependent Claims (18, 19, 20)
-
-
21. A disk controller coupled to at least one controlled disk, comprising circuitry coupled to an external data processor via a bus, said circuitry responsive to a receipt over the bus of a predetermined type of read command to read a specified segment of data from the at least one controlled disk, to determine a value of an Exclusive OR operation performed on data read from the specified segment, and to return to said external data processor over said bus the determined value.
- 22. A storage array controller coupled to at least one disk controller that is coupled to a plurality of controlled disks, said storage array controller comprising circuitry, coupled to said at least one disk controller via a bus, to issue a predetermined type of read command over the bus to the at least one disk controller to read a specified segment of data from the plurality of controlled disks, said at least one disk controller comprising circuitry responsive to a receipt of the read command to determine a value of an associate logical combination operation performed on data read from the specified segment on each of the plurality of controlled disks and to return a plurality of said determined values to said storage array controller over said bus, said storage array controller circuitry further being responsive to a receipt of said plurality of returned determined values to determine if the plurality of returned determined values are consistent and, if they are determined to be inconsistent, to initiate a data reconstruction operation for a segment determined to be a cause of the inconsistency.
Specification