Patent ID: 7254813

Claim:
A computer-implemented method for managing allocation of resources to I/O tasks in a RAID system, the method comprising: generating configuration information about said RAID system; defining a plurality of I/O tasks; defining a plurality of resource pools; determining for each resource pool a respective set of resources associated with that resource pool, the set of resources based at least in part on said configuration information and said plurality of I/O tasks, each set of resources comprising one or more resource types; associating a first I/O task from said plurality of I/O tasks with a respective first resource pool from said plurality of resource pools; allocating to said first I/O task a requested resource from said associated respective first resource pool if said requested resource is available from said respective set of resources associated with said associated respective first resource pool; associating a second I/O task from said plurality of I/O tasks with a respective first resource pool from said plurality of resource pools; scheduling said second I/O task for execution based at least in part on resources in said respective first resource pool from said plurality of resource pools not currently allocated to other I/O tasks, thereby controlling execution of said second I/O task using said respective resource pool; and scheduling a predetermined number of additional I/O tasks for execution based at least in part on a quantity of a respective set of resources in one resource pool of said plurality of resource pools.