Reconstruct reads in a raid array with dynamic geometries
First Claim
1. A computer system comprising:
- a data storage subsystem comprising a plurality of storage devices in a redundant array of independent disks (RAID) configuration; and
a storage controller configured to;
write a first RAID stripe to the plurality of storage devices including allocating in a particular storage device of the plurality of storage devices, a first amount of intra-device protection data for protecting first RAID data of the first RAID stripe stored on the particular storage device;
select a subset of storage devices of the plurality of storage devices for writing a second RAID stripe, wherein the amount of storage devices in the subset is less than the amount of storage devices in the plurality of storage devices, wherein the subset includes the particular storage device; and
write the second RAID stripe to the subset including allocating in the particular storage device, a second amount of intra-device protection data for protecting second RAID data of the second RAID stripe stored on the particular storage device;
wherein the second amount of intra-device protection data is larger than the first amount of intra-device protection data.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, the controller configure an additional device not included in either the first subset or the second subset to store redundant data for both the first RAID layout and the second RAID layout. The controller is further configured to initiate a reconstruct read corresponding to a given read request directed to a particular storage device of the plurality of storage devices, in response to determining the particular storage device is exhibiting a non-error related relatively slow read response.
43 Citations
12 Claims
-
1. A computer system comprising:
-
a data storage subsystem comprising a plurality of storage devices in a redundant array of independent disks (RAID) configuration; and a storage controller configured to; write a first RAID stripe to the plurality of storage devices including allocating in a particular storage device of the plurality of storage devices, a first amount of intra-device protection data for protecting first RAID data of the first RAID stripe stored on the particular storage device; select a subset of storage devices of the plurality of storage devices for writing a second RAID stripe, wherein the amount of storage devices in the subset is less than the amount of storage devices in the plurality of storage devices, wherein the subset includes the particular storage device; and write the second RAID stripe to the subset including allocating in the particular storage device, a second amount of intra-device protection data for protecting second RAID data of the second RAID stripe stored on the particular storage device;
wherein the second amount of intra-device protection data is larger than the first amount of intra-device protection data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for configuring a plurality of storage devices in a redundant array of independent disks (RAID) configuration, the method comprising:
-
writing a first RAID stripe to the plurality of storage devices including allocating in a particular storage device of the plurality of storage devices, a first amount of intra-device protection data for protecting first RAID data of the first RAID stripe stored on the particular storage device; and writing a second RAID stripe to the plurality of storage devices including; predicting an increasing error rate for the particular storage device; and in response to predicting the increasing error rate for the particular storage device, allocating in the particular storage device, a second amount of intra-device protection data for protecting second RAID data of the second RAID stripe stored on the particular storage device;
wherein the second amount of intra-device protection data is larger than the first amount of intra-device protection data wherein the second amount of intra-device protection data is different than a third amount of intra-device protection data used for protecting third RAID data of the second RAID stripe stored on at least one other storage device in the plurality of storage devices. - View Dependent Claims (7, 8, 9)
-
-
10. A non-transitory computer readable storage medium storing program instructions for configuring a plurality of storage devices in a redundant array of independent disks (RAID) configuration, wherein the program instructions are executable to:
-
write a first RAID stripe to the plurality of storage devices including allocating in a particular storage device of the plurality of storage devices, a first amount of intra-device protection data for protecting first RAID data of the first RAID stripe stored on the particular storage device; and write a second RAID stripe to the plurality of storage devices including; predict an increasing error rate for the particular storage device; and in response to predicting the increasing error rate for the particular storage device, allocate in the particular storage device, a second amount of intra-device protection data for protecting second RAID data of the second RAID stripe stored on the particular storage device;
wherein the second amount of intra-device protection data is larger than the first amount of intra-device protection data wherein the second amount of intra-device protection data is different than a third amount of intra-device protection data used for protecting third RAID data of the second RAID stripe stored on at least one other storage device in the plurality of storage devices. - View Dependent Claims (11, 12)
-
Specification