METHOD FOR AUTO-CORRECTION OF ERRORS IN A RAID MEMORY SYSTEM
First Claim
1. A method for auto-correction of errors in an array of a plurality of disk storage devices having at least a pair of said plurality of storage devices dedicated to storing parity data to provide a fault tolerance for a loss of at least two of said plurality of disk storage devices, said array being arranged in a plurality of disk storage channels, the method comprising the steps of:
- a. performing a read operation from said array, said read operation including respectively transferring data read from each said plurality of disk storage channels to a corresponding disk channel memory;
b. reading said data from said disk channel memories and performing a parity check of said data read from said disk channel memories;
c. responsive to a failure of said parity check in an unidentified disk storage channel, testing said data to identify one of said plurality of disk storage channels as being in error; and
d. responsive to identifying said one disk storage channel as being in error, using remaining other of said plurality of disk storage channels to provide valid data to a processor requesting said data.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for auto-correction of errors in an array of disk storage devices (210) having a plurality of disk storage devices (210I, 210J) dedicated to storing parity data to provide fault tolerance for a loss of at least two of the plurality of disk storage devices (210A-210J). A read operation from the storage channels (210A-210J) transfers data to a plurality of disk channel memories (220A-220J). The data in the disk channel memories (220A-220J) is checked to confirm the data is valid. Responsive to detection of invalid data, the data may be tested to identify the disk storage channel in error, including sequentially excluding data read from a different one of the plurality of disk channel memories (220A-220J) from a parity check and determining the validity of data from remaining disk channel memories. If valid data is obtained, the disk storage channel from which the data was excluded is identified as the disk storage channel in error.
-
Citations
20 Claims
-
1. A method for auto-correction of errors in an array of a plurality of disk storage devices having at least a pair of said plurality of storage devices dedicated to storing parity data to provide a fault tolerance for a loss of at least two of said plurality of disk storage devices, said array being arranged in a plurality of disk storage channels, the method comprising the steps of:
-
a. performing a read operation from said array, said read operation including respectively transferring data read from each said plurality of disk storage channels to a corresponding disk channel memory; b. reading said data from said disk channel memories and performing a parity check of said data read from said disk channel memories; c. responsive to a failure of said parity check in an unidentified disk storage channel, testing said data to identify one of said plurality of disk storage channels as being in error; and d. responsive to identifying said one disk storage channel as being in error, using remaining other of said plurality of disk storage channels to provide valid data to a processor requesting said data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for auto-correction of errors in an array of a plurality of disk storage devices having a fault tolerance for a loss of at least two of said plurality of disk storage devices, said array being arranged in a plurality of disk storage channels, the method comprising the steps of:
-
a. performing a read operation from said array, said read operation including respectively transferring data read from each said plurality of disk storage channels to a corresponding disk channel memory; b. reading said data in said disk channel memories and determining whether said data is valid, and if said data is valid transferring said valid data to a processor requesting said data; and c. if said data is invalid, determining which of said disk storage channels is in error, said step of determining which of said disk storage channels is in error includes; sequentially excluding data from a different one of said plurality of disk channel memories and determining if data from remaining disk channel memories provide valid data; and
,if valid data is obtained, designating a disk storage channel corresponding to said disk channel memory from which data was excluded as said disk storage channel in error, and transferring said valid data to the processor requesting said data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for auto-correction of errors in a disk storage array, comprising the steps of:
-
a. providing a disk storage array formed by a plurality of disk storage channels, said plurality of disk storage channels being formed with at least two parity storage disk drives and a multiplicity of data disk drives; b. providing a disk channel memory corresponding to each of said plurality of disk storage channels for temporary storage of data to be written thereto and data read therefrom; c. performing a read operation from said disk storage array, said read operation including respectively transferring data read from each said disk storage channel to said corresponding disk channel memory; d. transferring said data from said plurality of disk channel memories to a buffer memory and determining if said data is valid, and if valid transferring said data from said buffer memory to a processor requesting said data; e. if said data is invalid, then; i.) repeating step d.; and ii.) if said data is invalid after repeating step d. and the disk storage channel in error is unidentified, then determining which of said disk storage channels is in error by repeatedly transferring said data from said disk channel memories while sequentially excluding data from a different one of said plurality of disk channel memories and determining if data from remaining disk channel memories provide valid data. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification