ADAPTIVE RAID FOR AN SSD ENVIRONMENT
First Claim
1. A computer system comprising:
- a client computer configured to send read and write requests over a network;
a data storage subsystem coupled to the network configured to receive the read and write requests, wherein the subsystem comprises a plurality of data storage locations on a device group including a plurality of storage devices;
wherein the data storage subsystem further comprises a storage controller configured to;
determine a first RAID layout for use in storing data;
write a first RAID stripe to the device group according to the first RAID layout; and
in response to detecting a first condition;
determine a second RAID layout which is different from the first RAID layout, said second RAID layout being determined without regard to an amount of data to be written; 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.
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.
28 Citations
20 Claims
-
1. A computer system comprising:
-
a client computer configured to send read and write requests over a network; a data storage subsystem coupled to the network configured to receive the read and write requests, wherein the subsystem comprises a plurality of data storage locations on a device group including a plurality of storage devices; wherein the data storage subsystem further comprises a storage controller configured to; determine a first RAID layout for use in storing data; write a first RAID stripe to the device group according to the first RAID layout; and in response to detecting a first condition; determine a second RAID layout which is different from the first RAID layout, said second RAID layout being determined without regard to an amount of data to be written; 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. - 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 device group including a plurality of storage devices; determining a first RAID layout for use in storing data; writing a first RAID stripe to the device group according to the first RAID layout; and in response to detecting a first condition; determining a second RAID layout which is different from the first RAID layout, said second RAID layout being determined without regard to an amount of data to be written; and writing 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. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A 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 device group including a plurality of storage devices; determine a first RAID layout for use in storing data; write a first RAID stripe to the device group according to the first RAID layout; and in response to detecting a first condition; determine a second RAID layout which is different from the first RAID layout, said second RAID layout being determined without regard to an amount of data to be written; 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. - View Dependent Claims (20)
-
Specification