Patent ID: 7308532

Claim:
A storage subsystem comprising: a plurality of storage arrays each including a plurality of storage devices; a plurality of array controllers each coupled to one or more of the plurality of storage arrays and configured to create a storage volume including storage devices belonging to one or more of the plurality of storage arrays, wherein one or more arrays of the plurality of storage arrays corresponds to a failure group; and a redundancy controller coupled to the plurality of array controllers and configured to implement N+K redundancy, wherein the redundancy controller further includes configuration functionality configured to automatically determine a number of redundant system data blocks to be stored on different storage devices for a given stripe of data dependent upon particular values of N and K provided as system configuration parameters and dependent upon physical system configuration information; wherein the configuration functionality is further configured to: determine a total number of failure groups (G′); determine a maximum number of storage devices (M) in any one of the storage arrays in response to determining that N+K>G′; and allocate M−K additional storage devices to another portion of storage devices in response to determining M>K and in response to determining there are M−K failure groups that include fewer than M storage devices allocated to the storage volume.