Patent ID: 7979635

Claim:
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.