Method and system for leveraging spares in a data storage system including a plurality of disk drives
First Claim
1. A method for data redundancy in a data storage system, comprising:
- a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, and b) for every failure of one of said plurality of arrays due to a failed disk drive, dynamically creating a new array having data redundancy in said plurality of arrays and that is optimized for performance, said new array containing information from said failed disk drive;
wherein b) comprises;
b1) upon failure of a first array in said plurality of arrays due to said first failed disk drive, dynamically choosing a second array in said plurality of arrays that has the smallest number of disk drives as between the remaining arrays, said second array having redundancy;
b2) combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to dynamically form said new array in a RAID configuration having data redundancy in said plurality of arrays; and
configuring said new array in a RAID-4 configuration.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for leveraging spare disks in a data storage system. Specifically the present invention describes a method for data recovery and redundancy in a data storage system having a plurality of disk drives. The data storage system is grouped into a plurality of arrays having data redundancy. The plurality of arrays is arranged in an optimum combination of arrays of mirrored pairs of disk drives, arrays of three disk drives in a redundant array of independent disks (RAID) configuration, and arrays of more than three disk drives in a RAID configuration to maximize performance while providing data redundancy. For every failure of one of said plurality of arrays due to a failed disk drive, a new array having data redundancy in a RAID configuration is dynamically created in said plurality of arrays. The new array is optimized for best performance and contains information from the failed disk drive.
-
Citations
38 Claims
-
1. A method for data redundancy in a data storage system, comprising:
-
a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, and b) for every failure of one of said plurality of arrays due to a failed disk drive, dynamically creating a new array having data redundancy in said plurality of arrays and that is optimized for performance, said new array containing information from said failed disk drive;
wherein b) comprises;
b1) upon failure of a first array in said plurality of arrays due to said first failed disk drive, dynamically choosing a second array in said plurality of arrays that has the smallest number of disk drives as between the remaining arrays, said second array having redundancy;
b2) combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to dynamically form said new array in a RAID configuration having data redundancy in said plurality of arrays; and
configuring said new array in a RAID-4 configuration.
-
-
2. A method for data redundancy in a data storage system, comprising:
-
a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, and b) for every failure of one of said plurality of arrays due to a failed disk drive, dynamically creating a new array having data redundancy in said plurality of arrays and that is optimized for performance, said new array containing information from said failed disk drive;
wherein b) comprises;
b1) upon failure of a first array in said plurality of arrays due to said first failed disk drive, dynamically choosing a second array in said plurality of arrays that has the smallest number of disk drives as between the remaining arrays, said second array having redundancy;
b2) combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to dynamically form said new array in a RAID configuration having data redundancy in said plurality of arrays; and
configuring said new array in a RAID 5 configuration.
-
-
3. A method for data redundancy in a data storage system, comprising:
-
a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, including a first and second array;
b) upon failure of said first array due to a first failed disk drive, dynamically combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to form a first new array having data redundancy in said plurality of arrays;
wherein b) comprisesb1) if a first mirrored pair is available, choosing said first mirrored pair to be said second array;
b2) if no arrays of mirrored pairs of disk drives are present in said plurality of arrays, choosing an array having redundancy that has the next smallest number of disk drives to be said second array; and
b3) combining disk drives from said first array with disk drives from said second array to form said first new array in a RAID configuration having data redundancy in said plurality of arrays.
-
-
4. A method for data redundancy in a data storage system, comprising:
-
a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, including a first and second array;
b) upon failure of said first array due to a first failed disk drive, dynamically combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to form a first new array having data redundancy in said plurality of arrays;
c) upon failure of said first new array due to a second failed disk drive, if a first minored pair is available, choosing said mirrored pair to be a third array in said plurality of arrays;
d) if no arrays of mirrored pairs of disk drives are present, choosing an array having redundancy that has the smallest number of disk drives to be said third array; and
e) upon failure of said first new array, combining disk drives from said first new array, not including said second failed disk drive, with disk drives from said third array, to form a second new array in a RAID configuration having data redundancy in said plurality of arrays. - View Dependent Claims (5)
-
-
6. A method for data redundancy in a data storage system, comprising:
-
a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, including a first and second array;
b) upon failure of said first array due to a first failed disk drive, dynamically combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to form a first new array having data redundancy in said plurality of arrays;
c) upon failure of a third array due to a second failed disk drive, if a first mirrored pair is available, choosing said first mirrored pair to be a fourth array in said plurality of arrays;
d) if no arrays or mirrored pairs of disk drives are present, choosing an array having redundancy that has the smallest number of disk drives to be said fourth array; and
e) dynamically combining disk drives from said third array, not including said second failed disk drive, with disk drives from said fourth array to form a second new array in a RAID configuration having data redundancy in said plurality of arrays.
-
-
7. A data storage system comprising:
-
a plurality of disk drives comprising spare disks; and
an array controller comprising a processor, and a memory wherein said memory contains instructions that when executed implement a method comprising;
a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, and b) for every failure of one of said plurality of arrays due to a failed disk drive, dynamically creating a new array having data redundancy in said plurality of arrays and that is optimized for performance, said new array containing information from said failed disk drive;
wherein b) comprises;
b1 upon failure of a first array in said plurality of arrays due to said first failed disk drive, dynamically choosing a second array in said plurality of arrays that has the smallest number of disk drives as between the remaining arrays, said second array having redundancy;
b2) combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to dynamically form said new array in a RAID configuration having data redundancy in said plurality of arrays; and
configuring said new array in a RAID-4 configuration.
-
-
8. A data storage system, comprising:
-
a plurality of disk drives comprising spare disks; and
an array controller comprising a processor, and a memory wherein said memory contains instructions that when executed implement a method comprising;
a) grouping a plurality of disk drives into a plurality of arrays having data redundancy to optimize performance, and b) for every failure of one of said plurality of arrays due to a failed disk drive, dynamically creating a new array having data redundancy in said plurality of arrays and that is optimized for performance, said new array containing information from said failed disk drive;
wherein b) comprises;
b1) upon failure of a first array in said plurality of arrays due to said first failed disk drive, dynamically choosing a second array in said plurality of arrays that has the smallest number of disk drives as between the remaining arrays, said second array having redundancy;
b2) combining disk drives from said first array, excluding said first failed disk drive, with disk drives from said second array to dynamically form said new array in a RAID configuration having data redundancy in said plurality of arrays; and
configuring said new array in a RAID-5 configuration.
-
-
9. A method, comprising:
-
grouping a plurality of disk drives into a plurality of arrays, each comprising a plurality of disk drives, and each array providing data redundancy within the respective array;
detecting a failure of a disk drive in one array of the plurality of arrays; and
in response to said detecting a failure, combining said one array with another array of the plurality of arrays into a new array comprising all non-failed disk drives of the two combined arrays. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system, comprising:
-
a plurality of disk drives; and
an array controller, wherein the array controller comprises;
a processor; and
a memory coupled to the processor, wherein the memory comprises program instructions configured to implement;
grouping the plurality of disk drives into a plurality of arrays, each comprising a plurality of disk drives, and each array providing data redundancy within the respective array;
detecting a failure of a disk drive in one array of the plurality of arrays; and
in response to said detecting a failure, combining said one array with another array of the plurality of arrays into a new array comprising all non-failed disk drives of the two combined arrays. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A computer accessible medium comprising program instructions configured to implement:
-
grouping a plurality of disk drives into a plurality of arrays, each comprising a plurality of disk drives, and each array providing data redundancy within the respective array;
detecting a failure of a disk drive in one array of the plurality of arrays; and
in response to said detecting a failure, combining said one array with another array of the plurality of arrays into a new array comprising all non-failed disk drives of the two combined arrays. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification