×

Method and apparatus for providing distributed sparing with uniform workload distribution in failures

  • US 5,485,571 A
  • Filed: 12/23/1993
  • Issued: 01/16/1996
  • Est. Priority Date: 12/23/1993
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a computer system having a plurality of storage units in which data and parity information is stored and retrieved under control of a controller so as to comprise a redundant storage unit array with distributed sparing such that the controller executes a rebuild process in response to a failure of a storage unit and thereby reconstructs the data and parity information with no loss of information, wherein the controller stores the data and parity information into regions comprising equal-sized address areas, a predetermined number of regions equal to a number n comprises a parity group having n-1 data regions and one parity region, from which parity information to be stored in the parity region is produced for the rebuild process, a method or operating the controller comprising the steps of:

  • (A) determining if the number of storage units under control of the controller is equal to a number (n+f), wherein f is a maximum predetermined number of storage unit failures that will be permitted to occur with no loss of information, and providing an error indication if it is not;

    (B) determining if the number of regions per storage unit is equal to a multiple of a number [n×

    (n+1)×

    (n+2)×

    . . . ×

    (n+f)] and providing an error indication if it is not;

    (C) storing the parity and data information across the storage units in a read-write-modify process such that the parity and data information is stored in parity regions and data regions, respectively, in accordance with a storage pattern defined by the steps of(1) assigning the data regions and parity regions to storage locations of the first n storage units according to a distributed parity pattern until all regions of the first n storage units are assigned, and(2) repeatedly making an assignment of spare regions across the storage units in blocks of n×

    (n+1)×

    (n+2)×

    . . . ×

    (n+f-j) regions, where j=f, f-1, f-2, . . . , 3, 2, 1 such that the blocks of spare regions are assigned with rotation to the n+i storage unit with each repeated assignment, where i=1, 2, 3, . . . , f, until all regions of the n+f storage units are assigned; and

    (D) storing and retrieving data and parity information from the storage units with the read-write-modify process in accordance with the storage pattern, whereby the data, parity, and spare regions are distributed such that the read-write-modify process workload will be equally distributed among the storage units during the storing and retrieving of information before, during, and after the rebuild process.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×