Patent ID: 8407370
Filing Date: 2013-03-26
Classification: G06F

Abstract:
1. A storage control apparatus which receives from a host computer an I/O command given a priority and designating a logical volume, and inputs and outputs data to and from the logical volume designated in the I/O command when the I/O command is run, the storage control apparatus comprising: a plurality of ports for receiving I/O commands from one or more host computers; a plurality of command storage areas which respectively correspond to a plurality of priorities and are common to the plurality of ports; and a plurality of processors which are common to the plurality of command storage areas, wherein, regardless of any of the ports receives an I/O command, the I/O command is stored in a command storage area corresponding to the priority given to the I/O command among the plurality of command storage areas which are common to the plurality of ports, and wherein the plurality of processors run the I/O commands in the plurality of command storage areas so that an I/O command with a higher priority is run more often within a given period of time, the storage control apparatus further comprising: a plurality of communication interface devices, and a plurality of processors units, wherein the plurality of communication interface devices include the plurality of ports, wherein each communication interface device transfers the received I/O command to any of the processor units among the plurality of processors units, wherein each processor unit includes the plurality of processors and the plurality of command storage areas, wherein the plurality of processors run the I/O commands in a round robin in each of the processor units, and the storage control apparatus still further comprising: a shared area which is a storage area which is common to the plurality of processors units, wherein each processor stores, in the shared area, operational status information which is information representing an operational status concerning a processor unit including the processor, wherein at least one logical volume among the plurality of logical volumes is allocated to each of two or more processor units among the plurality of processors units, wherein only a processor in a processor unit to which a logical volume is allocated is allowed to input and output data to and from the logical volume, wherein each communication interface device transfers the received I/O command to a processor unit to which is allocated a logical volume which is designated in the I/O command, wherein a controller: (x) decides which logical volume allocated to which processor unit should be changed based on operational status information of the plurality of processor units in the shared area; (y) allocates the decided logical volume to a second processor unit which is a processor unit which is separate from the decided processor unit, in substitute for a first processor unit which is the decided processor unit, wherein the controller is any of the processors within the plurality of processors units or a processor which is separate from the processors in the plurality of processors units, wherein the storage control apparatus is logically divided into a plurality of zones, wherein each of the plurality of zones includes one or more processor units and one or more logical volumes, wherein the first processor unit is a processor unit in which load thereon is exceeding a predetermined threshold value, wherein the second processor unit is a processor unit in a second zone which is a zone which is separate from a first zone which is a zone including the first processor unit, wherein the controller: (a) includes the second processor unit in the first zone; (b) allocates one or more logical volumes allocated to the second processor unit to one or more processor units in the second zone; (c) at the (y), allocates a logical volume decided among two or more logical volumes allocated to the first processor unit to the second processor unit which is newly added to the first zone, and wherein the logical volume decided at the (x) is a logical volume which is designated in an I/O command to be accumulated in a command storage area with a load which is higher than an expected value.