Method and system for checkerboard RAID
First Claim
Patent Images
1. A method for storing data comprising:
- receiving a request to write data;
in response to the request;
selecting a first set of free physical locations across a plurality of storage devices to form a first new redundant array of independent disks (RAID) stripe, wherein each free physical location is distributed across an independent fault domain (IFD);
determining a first aggregate failure rate of the first new RAID stripe;
making a first determination that the first aggregate failure rate exceeds a failure rate threshold for the plurality of storage devices;
selecting, based on the first determination, a second set of free physical locations across the plurality of storage devices to form a second new RAID stripe, comprising;
replacing a first free physical location of the first set of free physical locations with a second free physical location across the plurality of storage devices, wherein the first and second free physical locations reside on the same storage device;
determining a second aggregate failure rate of the second new RAID stripe;
making a second determination that the second aggregate failure rate is less than the failure rate threshold for the plurality of storage devices;
based on the second determination;
calculating a parity value using at least a portion of the data; and
writing the data and the parity value to the second set of free physical locations forming the second new RAID stripe.
9 Assignments
0 Petitions
Accused Products
Abstract
A system and method for storing data including receiving a request to write data and in response to the request selecting a set of free physical locations in persistent storage. The system and method further include determining an aggregate failure rate of the set of free physical locations, making a first determination that the aggregate failure rate is less than a failure rate threshold for the persistent storage and based on the first determination calculating a parity value using at least a portion of the data, and writing the data and the parity value to the set of free physical locations.
-
Citations
20 Claims
-
1. A method for storing data comprising:
-
receiving a request to write data; in response to the request; selecting a first set of free physical locations across a plurality of storage devices to form a first new redundant array of independent disks (RAID) stripe, wherein each free physical location is distributed across an independent fault domain (IFD); determining a first aggregate failure rate of the first new RAID stripe; making a first determination that the first aggregate failure rate exceeds a failure rate threshold for the plurality of storage devices; selecting, based on the first determination, a second set of free physical locations across the plurality of storage devices to form a second new RAID stripe, comprising; replacing a first free physical location of the first set of free physical locations with a second free physical location across the plurality of storage devices, wherein the first and second free physical locations reside on the same storage device; determining a second aggregate failure rate of the second new RAID stripe; making a second determination that the second aggregate failure rate is less than the failure rate threshold for the plurality of storage devices; based on the second determination; calculating a parity value using at least a portion of the data; and writing the data and the parity value to the second set of free physical locations forming the second new RAID stripe. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 18)
-
-
9. A system, comprising:
-
a storage array comprising a plurality of storage devices (SDs); and a controller operatively connected to the storage array and configured to; receive a request to write data; in response to the request; select a first set of free physical locations in the plurality of SDs to form a first new redundant array of independent disks (RAID) stripe, wherein each free physical location is distributed across an independent fault domain (IFD); determine a first aggregate failure rate of the first new RAID stripe; make a first determination that the first aggregate failure rate exceeds a failure rate threshold for the storage array; select, based on the first determination, a second set of free physical locations in the plurality of SDs to form a second new RAID stripe, comprising; replacing a first free physical location of the first set of free physical locations with a second free physical location in the plurality of SDs, wherein the first and second free physical locations reside in the same SD; determine a second aggregate failure rate of the second new RAID stripe; make a second determination that the second aggregate failure rate is less than the failure rate threshold for the storage array; based on the second determination; calculate a parity value using at least a portion of the data; and write the data and the parity value to the second set of free physical locations forming the second new RAID stripe. - View Dependent Claims (10, 11, 12, 13, 14, 15, 19)
-
-
16. A non-transitory computer readable medium comprising instructions, which when executed by at least one processor perform a method, the method comprising:
-
receiving a request to write data; in response to the request; selecting a first set of free physical locations across a plurality of storage devices to form a first new redundant array of independent disks (RAID) stripe, wherein each free physical location is distributed across an independent fault domain (IFD); determining a first aggregate failure rate of the first new RAID stripe; making a first determination that the first aggregate failure rate exceeds a failure rate threshold for the plurality of storage devices; selecting, based on the first determination, a second set of free physical locations across the plurality of storage devices to form a second new RAID stripe, comprising; replacing a first free physical location of the first set of free physical locations with a second free physical location across the plurality of storage devices, wherein the first and second physical locations reside in the same storage device; determining a second aggregate failure rate of the second new RAID stripe; making a second determination that the second aggregate failure rate is less than the failure rate threshold for the plurality of storage devices; based on the second determination; calculating a parity value using at least a portion of the data; and writing the data and the parity value to the second set of free physical locations forming the second new RAID stripe. - View Dependent Claims (17, 20)
-
Specification