Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
347 words
A data recovery channel in a fault tolerant disk drive array, the disk drive array including a plurality of disk drives and an input interface for receiving data records from a data processing system, the input interface organizing each data record received into data sectors for storage on the disk drives, identifying a plurality of sectors as a related group and generating a parity sector for the group, where each data and parity sector includes an appended error correction code, the groups of data and parity sectors being stored by striping across the available disk drives, the data recovery channel comprising: a plurality of disk drive controllers each disk drive controller connected to one of the plurality of disk drives, each disk drive controller including: means for recovering sectors from each disk drive, means for determining error syndromes for each sector as recovered, and means for detecting a disk drive fault; a data buffer connected to each disk drive controller, the data buffer retaining the data and parity recovered with each sector; an error status buffer connected to the data buffer of each disk drive controller, the error status buffer retaining indication of non-zero error syndromes generated by the disk drive controller upon attempted recovery of a sector and retaining indication of occurrence of a disk fault during attempted recovery of a sector; an error syndrome buffer, coupled to the disk drive controller, retaining any non-zero error syndromes generated during recovery of data and parity sectors; syndrome processing means connected to the error syndrome buffer for examining the error syndrome to determine the correctability of the data of a sector, and for correcting the data in the data buffer, if possible; parity correction means receiving groups of data and corresponding parity information from the data buffer and correcting the data from up to one sector; and an array controller connected to each of the disk drive controllers, the array controller operating upon the error status buffer and indications of correctability of data from the syndrome processing means to direct a correction for each sector of a group.
Claim 2
Dependent Claim
347 words
A data recovery channel in a fault tolerant disk drive array, the disk drive array including a plurality of disk drives and an input interface for receiving data records from a data processing system, the input interface organizing each data record received into data sectors for storage on the disk drives, identifying a plurality of sectors as a related group and generating a parity sector for the group, where each data and parity sector includes an appended error correction code, the groups of data and parity sectors being stored by striping across the available disk drives, the data recovery channel comprising: a plurality of disk drive controllers each disk drive controller connected to one of the plurality of disk drives, each disk drive controller including: means for recovering sectors from each disk drive, means for determining error syndromes for each sector as recovered, and means for detecting a disk drive fault; a data buffer connected to each disk drive controller, the data buffer retaining the data and parity recovered with each sector; an error status buffer connected to the data buffer of each disk drive controller, the error status buffer retaining indication of non-zero error syndromes generated by the disk drive controller upon attempted recovery of a sector and retaining indication of occurrence of a disk fault during attempted recovery of a sector; an error syndrome buffer, coupled to the disk drive controller, retaining any non-zero error syndromes generated during recovery of data and parity sectors; syndrome processing means connected to the error syndrome buffer for examining the error syndrome to determine the correctability of the data of a sector, and for correcting the data in the data buffer, if possible; parity correction means receiving groups of data and corresponding parity information from the data buffer and correcting the data from up to one sector; and an array controller connected to each of the disk drive controllers, the array controller operating upon the error status buffer and indications of correctability of data from the syndrome processing means to direct a correction for each sector of a group.
Claim 3
Dependent Claim
86 words
The data recovery channel of claim 1 wherein the array controller further comprises: means for monitoring the error status buffer; means for transferring the data and parity for a group of sectors to the parity correction means when a number of errors indicated for a group of sectors is one or less; and means for resetting the status indications for a sector in the error status buffer where analysis of the error syndromes for the sector shows that the data from the sector can be corrected.
Claim 4
Dependent Claim
26 words
The data recovery channel set forth in claim 2, wherein each error status buffer has a memory location for each sector recovered of a data record.
Claim 5
Dependent Claim
44 words
The data recovery channel of claim 3 wherein the array controller further comprises: means for initiating a disk read retry when more than one disk fault is indicated for a group; and means for indicating a read failure when a disk read retry fails.
Claim 6
Dependent Claim
48 words
The data recovery channel of claim 3 wherein the array controller further comprises: means for initiating a disk read retry when the number of sectors having a fault cannot be reduced to one in number; and means for indicating a read failure when a disk read retry fails.
Claim 7
Dependent Claim
31 words
The data recovery channel as set forth in claim 5, wherein the disk array comprises simultaneously operating disk drive units, each unit being substantially unaffected by faults occurring in other units.
Claim 8
Independent Claim
288 words
A method of correcting errors appearing in data recovered from a plurality of disk drives in an array, wherein the data is organized on the disk by sectors and groups of sectors form related rows, each row having a parity data sector and each sector including an error correction code, the method comprising the steps of: (a) generating error syndromes for each sector upon recovery of data from the disk drives; (b) storing non-zero error syndromes for use in correction of data; (c) generating and then storing error status indications for each sector recovered, the error status indications including a no error condition, a non-zero error syndrome condition and a drive fault condition; (d) initiating a correction protocol including the steps of, (1) checking an error status for each sector for a row and continuing to a next row of sectors if no errors are present, (2) correcting the sector using parity correction when an error is indicated for one sector and returning to step (1) for the next row of sectors, (3) using the error syndromes to locate sectors correctable with the error syndromes and correcting the data for those sectors until one sector having error is left, when an error is indicated for more than one sector of the row, and then returning to step (2), (4) initiating a retry read of a data storage unit from which a sector having not correctable error was recovered where operation of steps (1) through (3) cannot prevent error from being indicated for more than one sector of the row, and returning to step 1, if the retry read is successful, and (5) indicating a read failure and aborting the data recovery attempt if step (4) is not successful.
Claim 9
Independent Claim
288 words
A method of correcting errors appearing in data recovered from a plurality of disk drives in an array, wherein the data is organized on the disk by sectors and groups of sectors form related rows, each row having a parity data sector and each sector including an error correction code, the method comprising the steps of: (a) generating error syndromes for each sector upon recovery of data from the disk drives; (b) storing non-zero error syndromes for use in correction of data; (c) generating and then storing error status indications for each sector recovered, the error status indications including a no error condition, a non-zero error syndrome condition and a drive fault condition; (d) initiating a correction protocol including the steps of, (1) checking an error status for each sector for a row and continuing to a next row of sectors if no errors are present, (2) correcting the sector using parity correction when an error is indicated for one sector and returning to step (1) for the next row of sectors, (3) using the error syndromes to locate sectors correctable with the error syndromes and correcting the data for those sectors until one sector having error is left, when an error is indicated for more than one sector of the row, and then returning to step (2), (4) initiating a retry read of a data storage unit from which a sector having not correctable error was recovered where operation of steps (1) through (3) cannot prevent error from being indicated for more than one sector of the row, and returning to step 1, if the retry read is successful, and (5) indicating a read failure and aborting the data recovery attempt if step (4) is not successful.
Claim 10
Dependent Claim
25 words
The method of claim 7 wherein step (d) (4) further comprises a recovery of the data storage unit and returning to step 1, if successful.