System and method for symmetric triple parity
First Claim
1. A method for enabling recovery from three or fewer concurrent failures of storage devices in a storage array, the method comprising the steps of:
- providing the array with a predetermined number of storage devices, including a plurality of first devices configured to store data, and symmetric parity, wherein the pre-determined number of storage devices is p and wherein p is a prime number;
dividing each device into blocks;
organizing the blocks into stripes that contain a same number of blocks in each device, wherein each stripe comprises p-1 rows of blocks;
defining the diagonal parity along diagonal parity sets that span the first devices, wherein the diagonal parity sets wrap around within a group of p-1 rows so that all blocks belonging to diagonal parity sets of a stripe are stored in the stripe;
defining the anti-diagonal parity along anti-diagonal parity sets that span the first devices, wherein the anti-diagonal parity set wraps around within a group of p-1 rows so that all blocks belonging to the anti-diagonal parity sets of a stripe are stored in the stripe;
assigning a predetermined value to the diagonal parity and anti-diagonal parity; and
computing parity for the plurality of devices configured to store three parity values using values written to the plurality of devices configured to store data and the predetermined value assigned to the diagonal parity and anti-diagonal parity sets.
2 Assignments
0 Petitions
Accused Products
Abstract
A symmetric triple parity (TP) technique in an array comprising a number p of storage devices, such as disks, with p being a prime number is provided. The p disks are organized as one row parity disk, two symmetric parity disks and p-3 data disks. Phantom diagonal and anti-diagonal parity disks assumed to be present are further assumed to contain a predetermined value, thereby enabling parity encoding/decoding utilizing the phantom (anti-) diagonal disks. Row parity and symmetric parity values are included within the computation of the diagonal and anti-diagonal parities; accordingly, the two symmetric parity and the row parity values may be computed using the same technique as used for a triple parity erasure, i.e., in a symmetric fashion.
-
Citations
23 Claims
-
1. A method for enabling recovery from three or fewer concurrent failures of storage devices in a storage array, the method comprising the steps of:
-
providing the array with a predetermined number of storage devices, including a plurality of first devices configured to store data, and symmetric parity, wherein the pre-determined number of storage devices is p and wherein p is a prime number;
dividing each device into blocks;
organizing the blocks into stripes that contain a same number of blocks in each device, wherein each stripe comprises p-1 rows of blocks;
defining the diagonal parity along diagonal parity sets that span the first devices, wherein the diagonal parity sets wrap around within a group of p-1 rows so that all blocks belonging to diagonal parity sets of a stripe are stored in the stripe;
defining the anti-diagonal parity along anti-diagonal parity sets that span the first devices, wherein the anti-diagonal parity set wraps around within a group of p-1 rows so that all blocks belonging to the anti-diagonal parity sets of a stripe are stored in the stripe;
assigning a predetermined value to the diagonal parity and anti-diagonal parity; and
computing parity for the plurality of devices configured to store three parity values using values written to the plurality of devices configured to store data and the predetermined value assigned to the diagonal parity and anti-diagonal parity sets. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system configured to enable recovery from three or fewer concurrent failures of storage devices, the system comprising:
-
an array having a predetermined number of storage devices, including a plurality of first devices configured to store data, and symmetric parity, wherein the predetermined number of storage devices is p and wherein p is a prime number;
a storage operating system including a device storage layer configured to implement a symmetric triple parity (TP) technique that (i) computes the diagonal parity along diagonal parity sets that span the first devices, (ii) computes the anti-diagonal parity along anti-diagonal parity sets that span the first devices, wherein the diagonal and anti-diagonal parity are assigned a predetermined value, (iii) computes a total of p 4-tuple sums along an intermediate storage device of the failed storage devices; and
(iv) generates the computed 4-tuple sums using a number of crosses; and
a processing element configured to execute the storage operating system to thereby invoke storage access operations to and from the array in accordance with the TP parity technique. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable medium containing executable program instructions for enabling recovery from three or fewer concurrent failures of storage devices in a storage array, the executable program instructions comprising program instructions for:
-
providing the array with a predetermined number of storage devices, including a plurality of first devices configured to store data, and symmetric parity, wherein the pre-determined number of storage devices is p and wherein p is a prime number;
dividing each device into blocks;
organizing the blocks into stripes that contain a same number of blocks in each device, wherein each stripe comprises p-1 rows of blocks;
defining the diagonal parity along diagonal parity sets that span the first devices, wherein the diagonal parity sets wrap around within a group of p-1 rows so that all blocks belonging to diagonal parity sets of a stripe are stored in the stripe;
defining the anti-diagonal parity along anti-diagonal parity sets that span the first devices, wherein the anti-diagonal parity set wraps around within a group of p-1 rows so that all blocks belonging to the anti-diagonal parity sets of a stripe are stored in the stripe;
assigning a predetermined value to the diagonal parity and anti-diagonal parity; and
computing parity for the plurality of devices configured to store row parity and symmetric parity using values written to the plurality of devices configured to store data and the predetermined value assigned to the diagonal parity and anti-diagonal parity.
-
-
17. A method for enabling recovery from three concurrent failures of storage devices in a storage array, the method comprising the steps of:
-
computing an algebraic operation on missing blocks on each of a set of failed storage devices along a row, a diagonal and an anti-diagonal, wherein a diagonal parity value and an anti-diagonal parity value are set to a predetermined value; and
computing a set of 4-tuple sums on a middle failed storage device. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification