Patent ID: 7979603
Filing Date: 2011-07-12
Classification: G06F

Abstract:
1. A storage system which includes a plurality of physical storage units, for receiving an I/O command from a host computer and making the I/O from/to at least one of said plurality of physical storage units in response to the received I/O command, comprising: a queue corresponding to each priority of the command; a port for accepting the command from the host computer; a command accumulation part for specifying the priority of the received command and accumulating said received command in the queue corresponding to the specified priority; an activation order control part for deciding the activation order of the command; and a command activation part for activating the command of activation object in accordance with the decided activation order; wherein said activation order control part is configured to: (1-1) decide, for each queue, the number of activation object commands that are the commands to be activated among a plurality of commands accumulated in the queue, based on the priority corresponding to the queue; and (1-2) decide the activation order of activation object commands, based on the number of activation object commands decided for each queue, so that the average value of logical response time for the activation object command may be shorter at the higher priority, wherein an allocation ratio that is a value based on the number of commands activated per unit time is preset for each queue, in which said activation order control part is configured to perform the following (1-2-1) to (1-2-5) at said (1-2), (1-2-1) calculating the ratio of the sum of logical response time by computing (allocation ratio/total of allocation ratio)×number of activation object commands for each queue, (1-2-2) calculating the total T of the sum of logical response time by calculating the sum from 1 to the total number N of activation object commands, (1-2-3) calculating the sum of logical response time by computing (ratio of the sum of logical response time/total of ratio of the sum of logical response time)×T for each queue, and if the calculated value is not an integer, making the sum of logical response time an integer immediately before or after the value, (1-2-4) specifying n (number of activation object commands for the queue) integers that can become the elements of said sum of logical response time for each queue, and (1-2-5) making the activation sequence number of the activation object command the sequence number represented by the specified integer for each activation object command, and if the sequence number is the same as the activation sequence number as already decided for the other activation object command, the sequence number the most recent undecided sequence number closest to the sequence number.