Storage subsystem and method of executing commands by controller
First Claim
1. A storage subsystem comprising:
- a plurality of hard disk drives; and
a controller configured to execute a plurality of commands received from a host computer coupled to the controller for the plurality of hard disk drives and to determine whether each received command is a priority command based on priority command information that defines attributes of command, andwherein, for each received command, upon determining that the received command is not a priority command, the controller adds the received command to a non-priority command queue,wherein, for each received command, upon determining that the received command is a priority command, unless a quantity of priority commands to be executed during a predetermined time period is greater than a predetermined value, the controller executes the received command in preference to each received command to be executed during the predetermined time period in the non-priority command queue, andwherein the controller successively executes each received command to be executed during the predetermined time period that is determined to be a priority command in preference to each received command to be executed during the predetermined time period in the non-priority command queue within said predetermined time period until said predetermined value of priority commands have been executed.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage subsystem capable of processing time-critical control commands while suppressing deterioration of the system performance to a minimum. When various commands are received in a multiplex manner via the same port from plural host devices, the channel adapter of the storage subsystem extracts commands of a first kind from the received commands. Then, the adapter executes the extracted commands of the first kind with high priority within a given unit time until a given number of guaranteed activations is reached. At the same time, commands of a second kind are enqueued in a queue of commands. After the commands of the first kind are executed as many as the number of guaranteed activations, the commands of the second kind are executed in the unit time.
26 Citations
12 Claims
-
1. A storage subsystem comprising:
-
a plurality of hard disk drives; and a controller configured to execute a plurality of commands received from a host computer coupled to the controller for the plurality of hard disk drives and to determine whether each received command is a priority command based on priority command information that defines attributes of command, and wherein, for each received command, upon determining that the received command is not a priority command, the controller adds the received command to a non-priority command queue, wherein, for each received command, upon determining that the received command is a priority command, unless a quantity of priority commands to be executed during a predetermined time period is greater than a predetermined value, the controller executes the received command in preference to each received command to be executed during the predetermined time period in the non-priority command queue, and wherein the controller successively executes each received command to be executed during the predetermined time period that is determined to be a priority command in preference to each received command to be executed during the predetermined time period in the non-priority command queue within said predetermined time period until said predetermined value of priority commands have been executed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of executing commands for a plurality of hard disk drives from a host computer by a controller coupled to the host computer, said method comprising:
-
receiving a plurality of commands from said host computer via a port; determining whether each received command is a priority command based on priority command information that defines attributes of commands; adding each received command that is determined to not be a priority command to a non-priority command queue; and for each received command that is determined to be a priority command, unless a quantity of priority commands to be executed during a predetermined time period is greater than a predetermined value, executing the received command in preference to each received command to be executed during the predetermined time period in the non-priority command queue, and wherein the received commands to be executed during the predetermined time period that are determined to be priority commands are successively executed in preference to each received command to be executed during the predetermined time period in the non-priority command queue within said predetermined time period until said predetermined value of priority commands have been executed. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification