Critical resource management
AssigneeHewlett-Packard Development Company, L.P.
InventorsGeorge Shin, Thomas Cooke
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method of managing critical resource usage in a storage network comprises receiving, in a storage controller, an input/output operation from a host, wherein the input/output operation identifies a storage unit, placing the input/output operation in a waiting queue, determining a maximum queue depth for at least one critical resource in the storage network required to execute the input/output command against the storage unit, and blocking one or more subsequent input/output commands from the host for the storage unit when the wait queue for the critical resource exceeds the maximum queue depth.
Claims25
A method of managing critical resource usage in a storage network comprising:
- receiving, in a storage controller, an input/output operation from a host, wherein the input/output operation identifies a storage unit;
- placing the input/output operation in a waiting queue;
- determining a maximum queue depth for at least one critical resource in the storage network required to execute the input/output operation against the storage unit, wherein determining the maximum queue depth for the at least one critical resource is based on a computation derived from an amount of availability of the at least one critical resource and a number of initiators waiting for the at least one critical resource;
- and
- blocking one or more subsequent input/output operations from the host for the storage unit when the waiting queue for the critical resource exceeds the maximum queue depth.
A storage controller, comprising:
- a processor;
- a memory module comprising logic instructions stored in a computer-readable medium which, when executed by the processor, configure the controller to:
- receive, in the storage controller, an input/output operation from a host, wherein the input/output operation identifies a storage unit;
- place the input/output operation in a waiting queue;
- determine a maximum queue depth for at least one critical resource in a storage network required to execute the input/output operation against the storage unit, wherein the maximum queue depth for the at least one critical resource is determined based on a computation derived from an amount of availability of the at least one critical resource and a number of initiators waiting for the at least one critical resource;
- and
- block one or more subsequent input/output operations from the host for the storage unit when the waiting queue for the critical resource exceeds the maximum queue depth.
A computer program product comprising logic instructions stored in a computer-readable medium which, when executed by a processor in a storage controller, configure the controller to:
- receive, in the storage controller, an input/output operation from a host, wherein the input/output operation identifies a storage unit;
- place the input/output operation in a waiting queue;
- determine a maximum queue depth for at least one critical resource in a storage network required to execute the input/output operation against the storage unit, wherein determining the maximum queue depth for the at least one critical resource is based on a computation derived from an amount of availability of the at least one critical resource and a number of initiators waiting for the at least one critical resource;
- and
- block one or more subsequent input/output operations from the host for the storage unit when the waiting queue for the critical resource exceeds the maximum queue depth.
Dependencies are inferred from the claim text.