Patent ID: 7657671

Claim:
A method for storing data, comprising: receiving a plurality of Input/Output I/O requests to store data in a storage pool, wherein the plurality of I/O requests comprises at least one resilvering I/O request and at least one normal I/O request; determining whether each I/O request of the plurality of I/O requests is a resilvering I/O request; determining whether a first deadline associated with each I/O request of the plurality of I/O requests is expired; for each I/O request of the plurality of I/O requests: if the first deadline is expired: placing the I/O request in an immediate I/O queue; if the I/O request is the resilvering I/O request: associating the I/O request with a second deadline, wherein the second deadline is associated with a low priority; determining a first quantized deadline for the I/O request using the second deadline; and ordering the I/O request in an I/O queue based on the first quantized deadline; if the I/O request is not the resilvering I/O request: associating the I/O request with a third deadline; determining a second quantized deadline for the I/O request using the third deadline; and ordering the I/O request in the I/O queue based on the second quantized deadline; issuing each of the I/O requests in the immediate I/O queue to the storage pool; and issuing each of the I/O requests in the I/O queue to the storage pool.