Patent ID: 8234415

Claim:
A storage device that is communicatively connected to external devices, and provides at least one logical device for each of the external devices, the storage device comprising: a memory which is divided into a plurality of command-processing resources, each command-processing resource being allocated for storing a data input or output request command for the logical device from each of the external devices; an allocation count managing unit that manages, for a command-sending/receiving pair comprising an external device which is the sender of the input or output request command and a corresponding logical device to which the data input or output request command is to be sent, the number of the command-processing resources to be allocated to that command-sending/receiving pair; an allocation control unit that, in response to receiving the data input or output request command from the external device, allocates at least one command-processing resource to a command-sending/receiving pair comprising that external device and a corresponding logical device to which the data input or output request command is to be sent, the number of the at least one command-processing resource not exceeding the number to be assigned that is managed by the allocation count managing unit, and stores the data input or output request command in the at least one command-processing resource; an execution information-managing unit that manages the number of the data input or output request commands concurrently processed per unit time corresponding to each of the command-sending/receiving pairs as execution information, and an allocation count determining unit that determines the number of the command-processing resources to be allocated to the command-sending/receiving pair based on the execution information, the allocation count determining unit setting a predetermined number to be allocated to at least two of the command-sending/receiving pairs for setting the storage, the number being equal for each of the pairs, wherein the number of the command-processing resources for a communication port connected to each of the external devices is predetermined as a finite number, and in the case there is an allocated command-sending/receiving pair to which the predetermined number to be allocated cannot be set due to a lack of the command-processing resources, the allocation count determining unit decreases the number to be allocated to another command-sending/receiving pair to which the allocated number is set such that the number to be allocated to the other pair exceeds the number of the data input or output request commands processed per unit time, and increases the number to be allocated to the allocated command-sending/receiving pair by the decreased number.