Priority management of a disk array
First Claim
1. A method for managing requests in a disk array having a number of disks, the method comprising:
- associating priorities with respective disk access requests;
working the disk access requests by the disks;
determining a maximum priority for certain disk access requests received;
comparing the priority of a new disk access request to the priority for the certain disk access requests;
selecting between i) categorizing the new disk access request as a foreground disk access and ii) categorizing the new disk access request as a background disk access, responsive to the comparison; and
selecting between i) working the new disk access request on at least one of the disks and ii) placing the new disk access request in a queue, responsive to the comparison, wherein such categorization of a new disk access request categorizes the new disk access request exclusively as a foreground disk access or exclusively as a background disk access so that such a disk access request is not categorized as both a foreground disk access and a background disk access.
1 Assignment
0 Petitions
Accused Products
Abstract
In a first form, a method for managing requests in a disk array having a number of disks includes associating priorities with respective requests. A new request is processed, which includes determining a maximum priority for at least certain ones of requests received and comparing the priority of the new request to the maximum priority. Responsive to the comparison, a selection is made between i) categorizing the new request as a foreground disk operation and ii) categorizing the new request as a background disk operation. A selection is also made between i) working the new request on at least one of the disks and ii) placing the new request in a queue.
-
Citations
40 Claims
-
1. A method for managing requests in a disk array having a number of disks, the method comprising:
-
associating priorities with respective disk access requests;
working the disk access requests by the disks;
determining a maximum priority for certain disk access requests received;
comparing the priority of a new disk access request to the priority for the certain disk access requests;
selecting between i) categorizing the new disk access request as a foreground disk access and ii) categorizing the new disk access request as a background disk access, responsive to the comparison; and
selecting between i) working the new disk access request on at least one of the disks and ii) placing the new disk access request in a queue, responsive to the comparison, wherein such categorization of a new disk access request categorizes the new disk access request exclusively as a foreground disk access or exclusively as a background disk access so that such a disk access request is not categorized as both a foreground disk access and a background disk access. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product for use in managing requests in a disk array having a number of disks, the computer program product comprising computer readable storage media including program logic embedded therein that causes control circuitry to perform:
-
associating priorities with respective disk access requests;
working the disk access requests by the disks;
determining a maximum priority for certain disk access requests received;
comparing the priority of a new disk access request to the priority for the certain disk access requests;
selecting between i) categorizing the new disk access request as a foreground disk access, and ii) categorizing the new request as a background disk access, responsive to the comparison; and
selecting between i) working the new disk access request on at least one of the disks and ii) placing the new disk access request in a queue, responsive to the comparison, wherein such categorization of a new disk access request categorizes the new disk access request exclusively as a foreground disk access or exclusively as a background disk access so that such a disk access request is not categorized as both a foreground disk access and a background disk access. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
a processor;
a disk array having a number of disks and at least one queue, the at least one queue being external to the disks; and
a memory having instructions operable with the processor for managing requests in the disk array to perform;
associating priorities with respective disk access requests;
working the disk access requests by the disks;
determining a maximum priority for certain disk access requests received;
comparing the priority of a new disk access request to the priority for the certain disk access requests;
selecting between i) categorizing the new disk access request as a foreground disk access and ii) categorizing the new disk access request as a background disk access, responsive to the comparison; and
selecting between i) working the new disk access request on at least one of the disks and ii) placing the new disk access request categorizes the new disk access request exclusively as a foreground disk access or exclusively as a background disk access so that such a disk access request is not categorized as both a foreground disk access and a background disk access. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. An storage controller comprising:
-
means for associating priorities with respective disk access requests for a disk array, wherein the disk array has a number of disks;
means for sending the disk access requests for working by the disks;
means for determining a maximum priority for certain disk access requests received;
means for comparing the priority of a new disk access request to the priority for the certain requests;
means for selecting between i) categorizing the new disk access request as a foreground disk access and ii) categorizing the new disk access request as a background disk access, responsive to the comparison; and
means for selecting between i) working the new disk access request on at least one of the disks and ii) placing the new disk access request in a queue external to the disks, responsive to the comparison, wherein such categorization of a new disk access request categorizes the new disk access request exclusively as a foreground disk access or exclusively as a background disk access so that such a disk access request is not categorized as both a foreground disk access and a background disk access. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for managing requests in a disk array having a number of disks, the method comprising:
-
associating priorities with respective requests;
working the requests by the disks;
determining a maximum priority for certain requests received;
comparing the priority of a new request to the priority for the certain requests;
selecting between i) categorizing the new request as a foreground disk operation and ii) categorizing the new request as a background disk operation, responsive to the comparison; and
selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue, responsive to the comparison, wherein the requests working on the disks include foreground and background requests, the method comprising associating measures of disk work with respective requests, wherein the selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue is responsive to whether current background disk work plus disk work for the new request exceeds a predetermined limit, if the request is categorized as a background request. - View Dependent Claims (34)
-
-
35. A computer program product for use in managing requests in a disk array having a number of disks, the computer program product comprising computer readable storage media including program logic embedded therein that causes control circuitry to perform:
-
associating priorities with respective requests;
working the requests by the disks;
determining a maximum priority for certain requests received;
comparing the priority of a new request to the priority for the certain requests;
selecting between i) categorizing the new request as a foreground disk operation, and ii) categorizing the new request as a background disk operation, responsive to the comparison; and
selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue, responsive to the comparison, wherein the requests working on the disks include foreground and background requests and wherein the program logic causes control circuitry to perform;
associating measures of disk work with respective requests, wherein the selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue is responsive to whether the current background disk work plus the disk work for the new request exceeds a predetermined limit, if the request is categorized as a background request. - View Dependent Claims (36)
-
-
37. An apparatus comprising:
-
a processor;
a disk array having a number of disks and at least one queue, the at least one queue being external to the disks; and
a memory having instructions operable with the processor for managing requests in the disk array to perform;
associating priorities with respective requests;
working the requests by the disks;
determining a maximum priority for certain requests received;
comparing the priority of a new request to the priority for the certain requests;
selecting between i) categorizing the new request as a foreground disk operation and ii) categorizing the new request as a background disk operation, responsive to the comparison; and
selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue, responsive to the comparison, wherein the requests working on the disks include foreground and background requests, and the processor is operable with the instructions to associate measures of disk work with respective requests, and wherein the selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue is responsive to whether the current background disk work plus the disk work for the new request exceeds a predetermined limit, if the request is categorized as a background request. - View Dependent Claims (38)
-
-
39. A storage controller comprising:
-
means for associating priorities with respective requests for a disk array, wherein the disk array has a number of disks;
means for sending the requests for working by the disks;
means for determining a maximum priority for certain requests received;
means for comparing the priority of a new request to the priority for the certain requests;
means for selecting between i) categorizing the new request as a foreground disk operation and ii) categorizing the new request as a background disk operation, responsive to the comparison; and
means for selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue external to the disks, responsive to the comparison, wherein the requests working on the disks include foreground and background requests, and the storage controller is operable to associate measures of disk work with respective requests, and wherein the means for selecting between i) working the new request on at least one of the disks and ii) placing the new request in a queue is responsive to whether the current background disk work plus the disk work for the new request exceeds a predetermined limit, if the request is categorized as a background request. - View Dependent Claims (40)
-
Specification