Patent ID: 8775868

Claim:
A computer system comprising: a client computer configured to send read and write requests over a network; and 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 and second RAID layout for use in storing data, wherein the second RAID layout is different from the first RAID layout; write a first RAID stripe to a first subgroup of devices of the plurality of storage devices according to the first RAID layout; and write a second RAID stripe to a second subgroup of devices of the plurality of storage devices according to the second layout; write a third RAID stripe to a third subgroup of devices of the plurality of storage devices according to the second layout, wherein the third subgroup of devices includes one or more devices not included in the second subgroup; whereby the device group concurrently stores data according to both the first RAID layout and the second RAID layout; wherein in response to detecting a change in reliability of a given device of the first subgroup of devices, the storage controller is configured to: maintain a first amount of space in a given device for storing intra-device redundancy data for a given RAID stripe; and concurrently maintain a second amount of space in a device other than the given device for storing intra-device redundancy data for the given RAID stripe, wherein the second amount is different than the first amount.