IP Library › Granted Patent US 7,941,578
Granted Patent B2
US 7,941,578 · App. 12/243,874 · Granted May 10, 2011

Managing command request time-outs in QOS priority queues

Assignee: Hewlett-Packard Development Company, L.P.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,941,578
App. No.
12/243,874
Filed
Oct 1, 2008
Granted
May 10, 2011
Kind
B2
Art Unit
2184
USPC
710/45
Abstract

In one embodiment a storage controller comprises a processor, a computer readable storage medium coupled to the processor, and logic instructions in the memory module which, when executed by the processor, configure the processor to receive, in a quality of service module, a first command request from a host initiator port, associate a time-out threshold with the first command request, determine, in the quality of service module, whether an available priority queue can release the first command request for execution by a scheduling module within the time-out threshold; and in response to a determination that an available priority queue can release the first command request for execution within the time-out threshold, assign the first command request to the available priority queue.

Claims (55)

1. A method to manage command request time-outs in quality of service priority queues, comprising:

receiving, in a quality of service module, a first command request from a host initiator port;

associating a time-out threshold (CT) with the first command request, wherein the time-out threshold is associated with at least one of a specific host, requester, or user session;

determining, in the quality of service module, whether an available priority queue with a priority queue length (PQL) can release the first command request at a release rate (R) for execution by a scheduling module within the time-out threshold such that

PQL

R

<

CT

;

 and

in response to a determination that the available priority queue can release the first command request for execution within the time-out threshold, assigning the first command request to the available priority queue, otherwise returning a busy signal to the host initiator port.

2. The method of claim 1 , wherein receiving, in a quality of service module, a first command request from a host initiator port comprises receiving a time-out threshold with the first command request.

3. The method of claim 1 , wherein:

the time-out threshold is stored in a computer readable storage medium coupled to the quality of service module;

the first command request includes information associated with the timeout threshold; and

wherein associating a time-out threshold with the first command request comprises retrieving the time-out threshold from the computer readable storage medium coupled to the quality of service module.

4. The method of claim 1 , wherein determining, in the quality of service module, whether an available priority queue can execute the first command request within the time-out threshold comprises:

determining whether one or more priority queues are available; and

in response to a determination that one or more priority queues are available, implementing an evaluation process to evaluate available priority queues.

5. The method of claim 4 , further comprising:

in response to a determination that no priority queues are available, returning a busy signal to the host initiator port.

6. The method of claim 1 , further comprising issuing the command from the available priority queue to a storage device data flow process.

7. A storage controller, comprising:

a processor;

computer readable storage medium coupled to the processor;

logic instructions in the computer readable storage medium which, when executed by the processor, configure the processor to:

receive, in a quality of service module, a first command request from a host initiator port;

associate a time-out threshold (CT) with the first command request;

determine, in the quality of service module, whether an available priority queue with a priority queue length (PQL) can release the first command request at a release rate (R) for execution by a scheduling module within the time-out threshold such that;

PQL

R

<

CT

;

 and

in response to a determination that the available priority queue can release the first command request for execution within the time-out threshold, assign the first command request to the available priority queue, otherwise return a busy signal to the host initiator port.

8. The storage controller of claim 7 , further comprising logic instructions stored in the computer readable storage medium which, when executed, configure the processor to receiving a time-out threshold with the first command request.

9. The storage controller of claim 7 , wherein:

the time-out threshold is stored in a computer readable storage medium coupled to the quality of service module;

the first command request includes information associated with the timeout threshold; and further comprising logic instructions stored in the computer readable storage medium which, when executed by the processor, configure the processor to retrieve the time-out threshold from the computer readable storage medium coupled to the quality of service module.

10. The storage controller of claim 9 , further comprising logic instructions stored in the computer readable storage medium which, when executed by the processor, configure the processor to determine whether one or more priority queues are available; and

to implement an evaluation process to evaluate available priority queues in response to a determination that one or more priority queues are available.

11. The storage controller of claim 8 , further comprising logic instructions stored in the computer readable storage medium which, when executed by the processor, configure the processor to return a busy signal to the host initiator port in response to a determination that no priority queues are available.

12. The storage controller of claim 7 , further comprising logic instructions stored in the computer readable storage medium which, when executed by the processor, configure the processor to issue the command from the available priority queue to a storage device data flow process.

13. A computer program product comprising logic instructions stored on a non-transitory computer-readable storage medium which, when executed by a computer processor in a storage controller, configure the processor to:

receive, in a quality of service module, a first command request from a host initiator port;

associate a time-out threshold (CT) with the first command request, wherein the time-out threshold is associated with at least one of a specific host, requester, or user session;

determine, in the quality of service module, whether an available priority queue with a priority queue length (PQL) can release the first command request at a release rate (R) for execution by a scheduling module within the time-out threshold such that;

PQL

R

<

CT

;

 and

in response to a determination that the available priority queue can release the first command request for execution within the time-out threshold, assign the first command request to the available priority queue, otherwise return a busy signal to the host initiator port.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2009
From: KIMOTO, CHRISTIAN A.; VOIGT, DOUGLAS L.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 023120/0960 →
Continuity (2)
Provisional Application 61060527 · Jun 11, 2008
Related Publication 20100082856A1 · Apr 1, 2010