Patent ID: 7478179

Claim:
A method for executing input/output (I/O) operations based on priority, comprising: receiving a first I/O request for a unit of data; receiving a second I/O request for the same unit of data; determining a priority of the first I/O request and a priority of the second I/O request; and executing the first I/O request based on priority, wherein the first I/O request is executed based on the higher of the priority of the first I/O request and the priority of the second I/O request, wherein the first I/O inquest is placed in an I/O queue based on the priority of the first I/O request, wherein the I/O queue comprises a plurality of buckets, wherein the plurality of buckets comprises a “now” bucket and a “later” bucket, and wherein the I/O request moves from the “later” bucket to the “now” bucket after a pre-defined amount of time has elapsed.