Claims Analysis
Total Claims: 8
Claim 1
Independent Claim
312 words
A data recovery channel in a fault tolerant disk drive array (16), the disk drive array including a plurality of disk drives (28-0 to 28-n) and an input interface (24) for receiving data records from a data processing system (10), the input interface (24) organising 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 group of data and parity sectors being stored by striping across the available disk drives, the data recovery channel being characterised by comprising: a disk drive controller (30-0 to 30-n) associated with each disk drive (28-0 to 28-n) including means for recovering sectors from the disk drive, means for determining error syndromes for each sector as recovered, and means for detecting a disk drive fault; a data buffer (32-0 to 32-n) for retaining the data and parity recovered with each sector; an error status buffer (38-0 to 38-n) for retaining indication of non-zero error syndromes generated upon recovery of a sector or occurrence of a disk fault associated with attempted recovery of a sector; an error syndrome buffer (36) for retaining any non-zero error syndromes generated during recovery of data and parity sectors; syndrome processing means (42) connected to the error syndrome buffer for determining the correctability of the data of a sector, and for correcting the data in the data buffers, if possible; parity correction means (40) for receiving associated groups of data and parity information from the data buffers and correcting the data from up to one sector; and an array controller (34) for operating upon the error status buffer and indications of correctability of data from the syndrome processing means to direct the correction method for each sector of a group.
Claim 2
Dependent Claim
102 words
A data recovery channel as claimed in claim 1, characterised in that the array controller (34) further comprises: means for monitoring the error status buffer (38-0 to 38-n); means for transferring the data and parity for a group of sectors to the parity correction means (40) when the number of errors indicated for a group of sectors is or is reduced to one or less; and means for re-setting the status indications for a sector in the error status buffer (38-0 to 38-n) where analysis of the error syndromes for the sector shows that the data from the sector can be corrected.
Claim 3
Dependent Claim
30 words
A data recovery channel as claimed in claim 2 characterised in that each status buffer (38-0 to 38-n) has a memory location for each sector recovered of a data record.
Claim 4
Dependent Claim
49 words
A data recovery channel as claimed in claim 3 characterised in that the array controller 34 further comprises: means for initiating a disk read re-try when more than one disk fault is indicated for a group, and means for indicating a read failure when a disk read re-try fails.
Claim 5
Dependent Claim
54 words
A data recovery channel as claimed in claim 3 or 4 characterised in that the array controller further comprises: means for initiating a disk read re-try 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 re-try fails.
Claim 6
Dependent Claim
31 words
A data recovery channel as claimed in any preceding claim in combination with a disk drive array characterised in that the disk drive array comprises synchronised, fault independent disk drive units.
Claim 7
Independent Claim
277 words
A method of correcting errors appearing in data recovered from a plurality of disk drives (28-0 to 28-n) in an array, wherein the data is organised 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 being characterised by 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 storing error status indications for each sector recovered, the 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 the error status for each sector for a row and continuing to the next row of sectors if no errors are present, (2) if error is indicated for one sector, correcting the sector using parity correction and returning to step (1) for the next row of sectors, (3) if error is indicated for more than one sector of the row, 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, and then returning to step (2), (4) where the number of errors in a row cannot be reduced to one, initiating a re-try read of a data storage unit from which a sector having not correctable error was recovered and returning to step (1), if successful, and (5) indicating a read failure and aborting the data recovery attempt if step (4) is not successful.
Claim 8
Dependent Claim
32 words
A method as claimed in claim 7 characterised by including an additional step after step (d) (4) of initiating a recovery of the disk drive and returning to step (1) if successful.