Dynamically Adjustable Arbitration Scheme
First Claim
1. A method for managing device access fairness in a storage area network, comprising:
- maintaining a plurality of requestor queues, each requester queue for storing descriptors representing access requests through a link associated with that requestor queue;
maintaining one or more priority rings, each priority ring containing a plurality of requestor slots for storing request entries from the requestor queues and managing device access fairness;
measuring a queue fill count of a particular requestor queue and comparing it to a watermark level; and
duplicating a request entry for the particular requestor queue on a priority ring if the queue depth exceeds the watermark level.
5 Assignments
0 Petitions
Accused Products
Abstract
A network arbitration scheme is disclosed that manages device access fairness by selectively and dynamically increasing a requestor queue'"'"'s likelihood of being serviced. A requestor queue increases its service priority by duplicating a request entry onto a set of priority rings maintained by arbitration hardware in a host bus adapter. Duplication occurs when (1) a requestor'"'"'s queue fill count (the number of descriptors stored in the queue) exceeds a watermark level or (2) a requestor'"'"'s queue timer times out. In the case of time-out, the requester in the lower priority ring will duplicate itself in the higher priority ring. Because the arbitration hardware services requesters using a round robin selection scheme, the likelihood of a requestor queue being serviced increases as the number of its duplicate request entries on a priority ring increases. Upon being serviced, the requester is able to perform the requested action.
-
Citations
21 Claims
-
1. A method for managing device access fairness in a storage area network, comprising:
-
maintaining a plurality of requestor queues, each requester queue for storing descriptors representing access requests through a link associated with that requestor queue; maintaining one or more priority rings, each priority ring containing a plurality of requestor slots for storing request entries from the requestor queues and managing device access fairness; measuring a queue fill count of a particular requestor queue and comparing it to a watermark level; and duplicating a request entry for the particular requestor queue on a priority ring if the queue depth exceeds the watermark level. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium storing program code for managing device access fairness in a storage area network, the program code for causing performance of a method comprising:
-
maintaining a plurality of requestor queues, each requester queue for storing descriptors representing access requests through a link associated with that requester queue; maintaining one or more priority rings, each priority ring containing a plurality of requestor slots for storing request entries from the requester queues and managing device access fairness; measuring a queue fill count of a particular requestor queue and comparing it to a watermark level; and duplicating a request entry for the particular requestor queue on a priority ring if the queue depth exceeds the watermark level. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system for managing device access fairness in a storage area network, comprising:
-
a plurality of requester queues, each requester queue configured for storing descriptors representing access requests through a link associated with that requestor queue; an arbiter containing one or more priority rings, each priority ring containing a plurality of requester slots and configured for storing request entries from the requester queues and managing device access fairness; and logic within each of the plurality of requestor queues, the logic configured for measuring a queue depth of the requestor queue, comparing the queue depth to a watermark level, and duplicating a request entry for the particular requestor queue on a priority ring if the queue depth exceeds the watermark level. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification