×

Method and means for coding and rebuilding that data contents of unavailable DASDs or rebuilding the contents of DASDs in error in the presence of reduced number of unavailable DASDs in a DASD array

  • US 5,351,246 A
  • Filed: 01/03/1994
  • Issued: 09/27/1994
  • Est. Priority Date: 06/21/1991
  • Status: Expired due to Fees
First Claim
Patent Images

1. An external storage subsystem having a plurality of DASDs and a control unit for attaching a subset of said plurality of DASDs to a processor in the form of an array of M DASDs, said array of M DASDs including P DASDs for storing parity blocks and M-P DASDs for storing data blocks, logically related ones of said data and parity blocks forming addressable parity groups, no two blocks from the same parity group being stored on the same DASD in said array, said processor sending sequences of read and write commands to said control unit for selectively accessing at least one data block and one parity block from the same parity group, M being at least equal to two and P being at least equal to one, a subset of S DASDs of said plurality of DASDs being available as spares for inclusion in said DASD array, S being at least equal to P,a method for encoding and rebuilding the data contents of up to R failed data and parity DASDs, R being less than or equal to P, comprising the steps of:

  • (a) parity coding and writing a (M-1)×

    M array of data and parity blocks onto the M DASDs, each block being uniform in extent and at least one bit in length, said data and parity blocks being coded and written onto the M DASDs by said control unit by(1) traversing M parity lines projected onto said (M-1)×

    M data and parity block array for each one of a set of slopes consisting of slope magnitudes 0, 1, 2, . . . , P-1, and extending cyclically over said (M-1)×

    M data and parity block array; and

    (2) inserting Boolean values into the (M-1)×

    M data and parity block array in counterpart DASD array locations during each traverse such that data and parity blocks in said data and parity block array encountered over each traverse sum to zero modulo 2 (even parity), M being a prime number, said data and parity block array being fully encoded in M*(P-18) parity line traverses; and

    (b) responsive to any unavailability of R DASDs distributed among the M-P data and P parity DASDs,(1) rebuilding the data and parity block array by said controller by coding the data and parity blocks from M-R available DASD'"'"'s according to step (a) in which those data and parity blocks as stored on the R unavailable DASDs are assumed to exhibit a uniform default value, and,(2) rewriting the rebuilt data and parity block array onto a DASD array formed from M-R available DASDs and R of the S spare DASDs.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×