System for optimizing data storage in a RAID system
First Claim
1. A data storage manager operational in a data storage subsystem that uses a plurality of data storage elements that are non-homogeneous in data storage capacity for the storage of data thereon for at least one host processor, comprising:
- means, responsive to the presence of a first data storage element in said plurality of data storage elements that has the greatest data storage capacity of said plurality of data storage elements, for configuring a preference group comprising N data storage elements, inclusive of said first data storage element; and
means for writing data received from a host processor in stripes across less than N of said data storage elements of said preference group.
3 Assignments
0 Petitions
Accused Products
Abstract
The intelligent data storage manager functions to optimize the data storage utilization in a RAID data storage subsystem that is equipped with a heterogeneous mix of data storage elements. This is accomplished by using preference groups and biasing the writing of stripes of data in the redundancy groups of the RAID system to the disk drive or a set of disk drives in the preference group that have the greatest available data storage capacity. This ensures that the data storage capacity of the the disk drive with the largest available capacity is utilized to the maximum capacity. A preference group comprises a group of disk drives that is larger than the stripe size that is used to store data in a RAID format. The data storage manager does not write data across all of the disk drives in the preference group at a time, but rotates the collection of disk drives that are used to write a stripe of data. Therefore, if there is a failure of one of the disks in the RAID preference group, only a portion of the stripes stored therein need to be reconstructed, thereby speeding the reconstruction process. By including the the disk drive(s) with the largest available capacity in every stripe that is written to the preference group, the data storage capacity of the disk drive with the largest available capacity is preferentially used in the storage of data, thereby using this excess capacity first, with the utilization of the data storage capacity of this disk drive being related to the ratio of the preference group size to the RAID stripe size.
-
Citations
10 Claims
-
1. A data storage manager operational in a data storage subsystem that uses a plurality of data storage elements that are non-homogeneous in data storage capacity for the storage of data thereon for at least one host processor, comprising:
-
means, responsive to the presence of a first data storage element in said plurality of data storage elements that has the greatest data storage capacity of said plurality of data storage elements, for configuring a preference group comprising N data storage elements, inclusive of said first data storage element; and
means for writing data received from a host processor in stripes across less than N of said data storage elements of said preference group. - View Dependent Claims (2, 3, 4, 5)
means for preferentially including said first data storage element in said stripes used to write data received from a host processor across less than N of said data storage elements of said preference group.
-
-
3. The data storage manager of claim 2 wherein said means for writing further comprises:
-
means, responsive to data storage capacity of said first data storage element being exhausted, for selecting a second data storage element that has the greatest data storage capacity of the remaining ones of said data storage elements in said preference group; and
means, responsive to data storage capacity of said first data storage element being exhausted, for preferentially including said second data storage element in said stripes used to write data received from a host processor across less than N of said data storage elements of said preference group.
-
-
4. The data storage manager of claim 2 wherein said means for writing further comprises:
means, responsive to data storage capacity of said N data storage elements being less than a size of said stripes, for selecting a second size of said stripes, said second size being less than said first size.
-
5. The data storage manager of claim 1 wherein said means for writing comprises:
-
means for selecting a first size of said stripes, said first size being less than N; and
means, responsive to data storage capacity of a plurality of said N data storage elements being exhausted, for selecting a second size of said stripes, said second size being less than said first size.
-
-
6. A method of operating a data storage manager that is operational in a data storage subsystem that uses a plurality of data storage elements that are non-homogeneous in data storage capacity to implement at least one preference group, comprising N data storage elements, for the storage of data thereon for at least one host processor, comprising the steps of:
-
configuring, in response to the presence of a first data storage element in said plurality of data storage elements that has the greatest data storage capacity of said plurality of data storage elements, a preference group comprising N data storage elements, inclusive of said first data storage element; and
writing data received from a host processor in stripes across less than N of said data storage elements of said preference group. - View Dependent Claims (7, 8, 9, 10)
preferentially including said first data storage element in said stripes used to write data received from a host processor across less than N of said data storage elements of said preference group.
-
-
8. The method of operating a data storage manager of claim 7 wherein said step of writing further comprises:
-
selecting, in response to data storage capacity of said first data storage element being exhausted, a second data storage element that has the greatest data storage capacity of the remaining ones of said data storage elements in said preference group; and
preferentially including, in response to data storage capacity of said first data storage element being exhausted, said second data storage element in said stripes used to write data received from a host processor across less than N of said data storage elements of said preference group.
-
-
9. The method of operating a data storage manager of claim 7 wherein said step of writing further comprises:
selecting, in response to data storage capacity of said N data storage elements being less than a size of said stripes, a second size of said stripes, said second size being less than said first size.
-
10. The method of operating a data storage manager of claim 6 wherein said step of writing comprises:
-
selecting a first size of said stripes, said first size being less than N; and
selecting, in response to data storage capacity of a plurality of said N data storage elements being exhausted, a second size of said stripes, said second size being less than said first size.
-
Specification