Management of two-queue request structure for quality of service in disk storage systems
First Claim
1. A method of managing the queuing of storage requests to a disk drive, the storage requests being divided into high-priority requests and low-priority requests, the high-priority requests generally requiring low response time and the low-priority requests generally requiring high throughput, the high-priority requests being divided into a plurality of priorities, the method comprising:
- placing each low-priority request on a low-priority request queue, the low-priority request queue being the subject of throughput optimization by which requests on the low-priority request queue are executed by the disk drive in a throughput-optimizing order generally different from the order in which the requests are placed on the low-priority request queue; and
for each high-priority request;
(i) determining whether there are more than a predetermined number n outstanding requests for execution by the disk drive having priority greater than the priority of the high priority request;
(ii) if there are not more than n such outstanding requests, then placing the high-priority request on a high-priority request queue, the high-priority request queue being the subject of priority selection such that requests on the high-priority request queue are executed by the disk drive ahead of requests on the low-priority request queue; and
(iii) if there are more than n such outstanding requests, then placing the high-priority request on the low priority request queue such that the high-priority request is included in the throughput optimization along with the low-priority requests on the low-priority request queue.
9 Assignments
0 Petitions
Accused Products
Abstract
Storage requests are divided into high-priority requests generally requiring low response time and low-priority requests generally requiring high throughput. The high-priority requests are further divided into several priorities reflecting different classes of service. The low-priority requests are placed on a low-priority request queue where they are executed in a throughput-optimizing order generally different from their arrival order. For each high-priority request, if there are not more than a predetermined number n (e.g., 1) outstanding requests for execution by the disk drive of greater priority, then the request is placed on a high-priority request queue where it is generally executed ahead of requests on the low-priority request queue. If there are more than n such greater-priority requests outstanding, then the high-priority request is placed on the low priority request queue and included in the throughput optimization along with the low-priority requests. The number of priority levels for the high priority requests may be two or more, and in one illustrated embodiment is equal to three.
60 Citations
6 Claims
-
1. A method of managing the queuing of storage requests to a disk drive, the storage requests being divided into high-priority requests and low-priority requests, the high-priority requests generally requiring low response time and the low-priority requests generally requiring high throughput, the high-priority requests being divided into a plurality of priorities, the method comprising:
-
placing each low-priority request on a low-priority request queue, the low-priority request queue being the subject of throughput optimization by which requests on the low-priority request queue are executed by the disk drive in a throughput-optimizing order generally different from the order in which the requests are placed on the low-priority request queue; and for each high-priority request; (i) determining whether there are more than a predetermined number n outstanding requests for execution by the disk drive having priority greater than the priority of the high priority request; (ii) if there are not more than n such outstanding requests, then placing the high-priority request on a high-priority request queue, the high-priority request queue being the subject of priority selection such that requests on the high-priority request queue are executed by the disk drive ahead of requests on the low-priority request queue; and (iii) if there are more than n such outstanding requests, then placing the high-priority request on the low priority request queue such that the high-priority request is included in the throughput optimization along with the low-priority requests on the low-priority request queue. - View Dependent Claims (2, 3)
-
-
4. A disk drive adapter for use with a disk drive in a storage system, the disk drive adapter including a processor, memory, and interface logic coupled to the disk drive, the memory being operative to store queue management code, the queue management code being operative when executed by the processor cause the processor to perform the steps of:
-
placing each low-priority request on a low-priority request queue, the low-priority request queue being the subject of throughput optimization by which requests on the low-priority request queue are executed by the disk drive in a throughput-optimizing order generally different from the order in which the requests are placed on the low-priority request queue; and for each high-priority request; (i) determining whether there are more than a predetermined number n outstanding requests for execution by the disk drive having priority greater than the priority of the high priority request; (ii) if there are not more than n such outstanding requests, then placing the high-priority request on a high-priority request queue, the high-priority request queue being the subject of priority selection such that requests on the high-priority request queue are executed by the disk drive ahead of requests on the low-priority request queue; and (iii) if there are more than n such outstanding requests, then placing the high-priority request on the low priority request queue such that the high-priority request is included in the throughput optimization along with the low-priority requests on the low-priority request queue. - View Dependent Claims (5, 6)
-
Specification