Patent ID: 7797468

Claim:
An array controller comprising: ports associated with one or more first communications media that link the array controller to one or more host computers; ports associated with one or more second communications media that link the array controller to one or more data-storage targets; and array-controller logic that receives commands with associated priority levels from host computers through the first communications media, wherein each command includes within the command a priority field storing an associated priority level and wherein the associated priority level corresponds to a priority level within a host computer associated with the command, queues received commands according to the priorities associated with the commands to an internal work queue, from which they are subsequently processed for delivery to the data-storage targets, throttles command reception from host computers in order to control an overall command-reception rate, throttles command reception from individual host computers in order to provide fair access to all host computers accessing the array controller, and throttles command reception from one or more of all host computers according to the associated priority levels in order to provide fair access to each priority level in each host computer of all host computers accessing the array controller.