Apparatus and method to allocate resources in a data storage library
First Claim
1. A method to allocate resources in a data storage library comprising a plurality of data storage devices configured as a RAID array, said data storage library comprising a RAID controller in communication with a host computer and interconnected to said plurality of data storage device, wherein said RAID controller is capable of performing a nominal number of instructions per second, comprising the steps of:
- establishing a normal operation resource allocation;
establishing a RAID failure resource allocation;
establishing a multiple storage device failure resource allocation;
receiving host I/O requests;
enqueuing said host I/O requests;
selecting an enqueued host I/0 request;
determining if said RAID array is operating with a RAID failure;
operative if said RAID array is not operating with a RAID failure, processing said selected host I/O request using said normal operation resource allocation;
operative if said RAID array is operating with a RAID failure, determining if said RAID array is operating with multiple storage device failures;
operative if said RAID array is operating with a RAID failure but not with multiple storage device failures, processing said elected host I/O request using said RAID operation resource allocation;
establishing a minimum RAID rebuild rate threshold;
establishing a maximum RAID rebuild threshold;
determining an actual RAID rebuild rate;
determining if said actual RAID rebuild rate is greater than said minimum RAID rebuild rate threshold;
operative if said actual RAID rebuild rate is not greater than said minimum RAID rebuild rate threshold, adjusting said RAID failure resource allocation to decrease the system resources allocated for processing of host I/0 requests.
1 Assignment
0 Petitions
Accused Products
Abstract
A method to allocate resources in a data storage library comprising a plurality of data storage devices configured as a RAID array, by establishing a normal operation resource allocation, a RAID failure resource allocation, and a multiple storage device failure resource allocation. The method receives host I/O requests, and enqueues those host I/O requests. If the system is operating without any storage device failures, then the method processes host I/O requests using the normal operation resource allocation. If the system is operating with a storage device failure, then the method processes host I/O requests using the RAID failure resource allocation. If the system is operating with multiple storage device failures, then the method processes host I/O requests using the multiple storage device failure resource allocation.
31 Citations
12 Claims
-
1. A method to allocate resources in a data storage library comprising a plurality of data storage devices configured as a RAID array, said data storage library comprising a RAID controller in communication with a host computer and interconnected to said plurality of data storage device, wherein said RAID controller is capable of performing a nominal number of instructions per second, comprising the steps of:
-
establishing a normal operation resource allocation; establishing a RAID failure resource allocation;
establishing a multiple storage device failure resource allocation;
receiving host I/O requests;enqueuing said host I/O requests; selecting an enqueued host I/0 request; determining if said RAID array is operating with a RAID failure; operative if said RAID array is not operating with a RAID failure, processing said selected host I/O request using said normal operation resource allocation; operative if said RAID array is operating with a RAID failure, determining if said RAID array is operating with multiple storage device failures; operative if said RAID array is operating with a RAID failure but not with multiple storage device failures, processing said elected host I/O request using said RAID operation resource allocation; establishing a minimum RAID rebuild rate threshold; establishing a maximum RAID rebuild threshold; determining an actual RAID rebuild rate; determining if said actual RAID rebuild rate is greater than said minimum RAID rebuild rate threshold; operative if said actual RAID rebuild rate is not greater than said minimum RAID rebuild rate threshold, adjusting said RAID failure resource allocation to decrease the system resources allocated for processing of host I/0 requests. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A RAID controller comprising a processor capable of a nominal number of instructions per second and a computer readable medium comprising a normal operation resource allocation, a RAID failure resource allocation, a multiple storage device failure resource allocation, and computer readable program code disposed therein to allocate a percentage of said nominal number of instructions per second to processing host I/O requests, wherein said RAID controller is in communication with a host computer and interconnected with a plurality of data storage media configured as a RAID array, the computer readable program code comprising a series of computer readable program steps to effect:
-
receiving host I/O requests; enqueuing said host I/O requests; selecting an enqueued host I/O request; determining if said RAID array is operating with a RAID failure; operative if said RAID array is not operating with a RAID failure, processing said selected host I/0 request using said normal operation resource allocation; operative if said RAID array is operating with a RAID failure, determining if said RAID array is operating with multiple storage device failures; operative if said RAID array is operating with a RAID failure but not with multiple storage device failures, processing said elected host I/0 request using said RAID failure operation resource allocation; establishing a minimum RAID rebuild rate threshold; establishing a maximum RAID rebuild threshold; determining an actual RAID rebuild rate; determining if said actual RAID rebuild rate is greater than said minimum RAID rebuild rate threshold; operative if said actual RAID rebuild rate is not greater than said minimum RAID rebuild rate threshold, adjusting said RAID failure resource allocation to decrease the system resources allocated for processing of host I/O requests. - View Dependent Claims (8, 9)
-
-
10. A computer program product encoded in a computer readable medium, said computer program product being useable by a RAID controller comprising a processor capable of a nominal number of instructions per second and a computer readable medium comprising a normal operation resource allocation, a RAID failure resource allocation, a multiple storage device failure resource allocation, wherein said RAID controller is in communication with a host computer and interconnected with a plurality of data storage media configured as a RAID array, comprising:
-
computer readable program code which causes said programmable computer processor to receive host I/O requests; computer readable program code which causes said programmable computer processor to enqueue said host I/O requests; computer readable program code which causes said programmable computer processor to select an enqueued host I/O request; computer readable program code which causes said programmable computer processor to determine if said RAID array is operating with a RAID failure; computer readable program code which, if said RAID array is not operating with a RAID failure, causes said programmable computer processor to process said selected host I/O request using said normal operation resource allocation; computer readable program code which, if said RAID array is operating with a RAID failure, causes said programmable computer processor to determine if said RAID array is operating with multiple storage device failures; computer readable program code which, if said RAID array is operating with a RAID failure but not with multiple storage device failures, causes said programmable computer processor to process said elected host I/O request using said RAID failure operation resource allocation; establishing a minimum RAID rebuild rate threshold; establishing a maximum RAID rebuild threshold; determining an actual RAID rebuild rate; determining if said actual RAID rebuild rate is greater than said minimum RAID rebuild rate threshold; computer readable program code which, if said actual RAID rebuild rate is not greater than said minimum RAID rebuild rate threshold, causes said programmable computer processor to adjust said RAID failure resource allocation to decrease the system resources allocated for processing of host I/0 requests. - View Dependent Claims (11, 12)
-
Specification