Adaptive throttling for fiber channel disks
AssigneeSun Microsystems, Inc.
InventorsJames Kahn, Robert S. Tracy
Life of this patent
Estimating the term…
Abstract
According to the invention, systems, apparatus and methods are disclosed for throttling commands to a storage device is disclosed. This method comprises sending a write request to a disk, receiving a queue full signal from the disk if the disk queue is full, and responsive to receiving the queue full signal setting a throttle value.
Claims30
A method comprising:
- sending a write request to a storage device;
- receiving a queue full signal from the storage device if a queue in the storage device is substantially close to full;
- responsive to receiving the queue full signal setting a throttle value to a value greater than zero;
- revisiting the throttle value after the expiration of a set time;
- and
- resetting the throttle value to its previous value if originally decremented due to a device busy signal from the storage device.
A method of throttling commands to a storage device comprising:
- sending a write request to the storage device;
- receiving a queue full or busy signal from the storage device if a queue in the storage device is full or busy;
- responsive to receiving the queue full or busy signal setting a throttle value;
- revisiting the queue full signal after the expiration of a set time;
- and
- resetting the throttle value to its previous value if originally decremented due to a busy signal from the storage device.
A system comprising:
- a processor;
- a storage device coupled with the processor, said storage device configured to send a queue full signal back to the processor in response to a write request by the processor whenever a queue in the storage device has been substantially filled,
- wherein said processor is further configured to:
- set a throttle value to a value greater than zero;
- revisit the throttle value after the expiration of a set time;
- and
- reset the throttle value to its previous value if originally decremented due to a device busy signal from the storage device.
A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a processor, cause the processor to perform the steps of:
- sending a write request to a storage device;
- receiving a queue full signal from the storage device if a queue in the storage device is substantially full;
- responsive to receiving the queue full signal setting a throttle value to a value greater than zero;
- revisiting the throttle value after the expiration of a set time;
- and
- resetting the throttle value to its previous value if originally decremented due to a device busy signal from the storage device.
A machine-readable medium having stored thereon data representing sequences of instructions, the sequences of instructions which, when executed by a processor, cause the processor to perform the steps of:
- sending a write request to the storage device;
- receiving a queue full or busy signal from the storage device if a queue in the storage device is full or busy;
- responsive to receiving the queue full or busy signal setting a throttle value;
- revisiting the queue full signal after the expiration of a set time;
- and
- resetting the throttle value to its previous value if originally decremented due to a busy signal from the storage device.
Dependencies are inferred from the claim text.