Adaptive raid for an SSD environment
First Claim
1. A computer system comprising:
- a data storage subsystem configured to receive read and write requests, wherein the subsystem comprises a plurality of data storage locations on 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 first storage device, a first amount of space for storing intra-device protection data for protecting first RAID data of the first RAID stripe stored on the first storage device; and
write a second RAID stripe to the plurality of storage devices including, in addition to allocating the first amount of space, concurrently allocating, in the first storage device, a second amount of space for storing intra-device protection data for protecting second RAID data of the second RAID stripe stored on the first storage device;
wherein the first amount is different than the second amount.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for adaptive 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 determine a first RAID layout for use in storing data, and write a first RAID stripe to the device group according to the first RAID layout. In response to detecting a first condition, the controller is configured to determine a second RAID layout which is different from the first RAID layout, and write a second RAID stripe to the device group according to the second layout, whereby the device group concurrently stores data according to both the first RAID layout and the second RAID layout.
96 Citations
20 Claims
-
1. A computer system comprising:
-
a data storage subsystem configured to receive read and write requests, wherein the subsystem comprises a plurality of data storage locations on 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 first storage device, a first amount of space for storing intra-device protection data for protecting first RAID data of the first RAID stripe stored on the first storage device; and write a second RAID stripe to the plurality of storage devices including, in addition to allocating the first amount of space, concurrently allocating, in the first storage device, a second amount of space for storing intra-device protection data for protecting second RAID data of the second RAID stripe stored on the first storage device; wherein the first amount is different than the second amount. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for use in a computer system, the method comprising:
-
receiving read and write requests at a data storage subsystem, wherein the subsystem comprises a plurality of data storage locations on a plurality of storage devices in a redundant array of independent disks (RAID) configuration; writing a first RAID stripe to the plurality of storage devices including allocating, in a first storage device, a first amount of space for storing intra-device protection data for protecting first RAID data of the first RAID stripe stored on the first storage device; and writing a second RAID stripe to the plurality of storage devices including, in addition to allocating the first amount of space, concurrently allocating, in the first storage device, a second amount of space for storing intra-device protection data for protecting second RAID data of the second RAID stripe stored on the first storage device; wherein the first amount is different than the second amount. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable to:
-
receive read and write requests at a data storage subsystem, wherein the subsystem comprises a plurality of data storage locations on a plurality of storage devices in a redundant array of independent disks (RAID) configuration; write a first RAID stripe to the plurality of storage devices including allocating, in a first storage device, a first amount of space for storing intra-device protection data for protecting first RAID data of the first RAID stripe stored on the first storage device; and write a second RAID stripe to the plurality of storage devices including, in addition to allocating the first amount of space, concurrently allocating in the first storage device, a second amount of space for storing intra-device protection data for protecting second RAID data of the second RAID stripe stored on the first storage device; wherein the first amount is different than the second amount. - View Dependent Claims (20)
-
Specification