Patent ID: 7512746
Filing Date: 2009-03-31
Classification: G06F,H04L

Abstract:
1. A storage system comprising: a plurality of storage nodes each including a plurality of disks configured into at least one logical unit that is a logical memory area for storing data and a controller configured to control said at least one logical unit; and a controller coupling unit configured to connect a plurality of controllers respectively included in the storage nodes, without using an access path between the controllers and a host computer connected to the storage system, wherein the controller of each storage node includes: a CPU including at least one CPU core, a network controller for receiving from the host computer via a network a host command targeting one of the plurality of logical units of the storage nodes within the storage system, a logical unit controller connected to said at least one logical unit and controlling input/output of data therein, and a memory having a plurality of first shared memory areas shared by the CPU of each storage node, each of the first shared memory areas associated with a combination of one of said at least one CPU core within the CPU with one logical unit controller within the storage system, the CPU within a first storage node among the plurality of storage nodes includes a plurality of CPU cores, the network controller within the first storage node designates one of said CPU cores therein as a designated CPU core depending on the logical unit to which a received host command is targeted, when the network controller included within the first storage node receives from the host computer a host command targeting a logical unit included in a second storage node among the plurality of storage nodes, the designated CPU core within the first storage node executes data reading/writing processing in response to the received host command in place of one of said at least one CPU core within the second storage node without copying data from the targeted logical unit in the second storage node to a corresponding one logical unit in the first storage node, whereby a logical unit command for the logical unit controller connected to the targeted logical unit included in the second storage node is stored in one of the first shared memory areas within the first storage node which is shared by said designated CPU core within the first storage node and the logical unit controllers within the first and second storage nodes, the logical unit controller within the second storage node acquires via the controller coupling unit the logical unit command stored in said one first shared memory area within the first storage node, and controls input/output of data in the targeted logical unit in accordance with the acquired logical unit command, and the memory within the first storage node includes a plurality of second shared memory areas shared by the CPU cores and the network controller of the first storage node, each of the second shared memory areas is associated with one of the CPU cores of the first storage node, the designated CPU core is responsible for executing processing in response to the received host command, and stores the received host command in one of the second shared memory areas associated with the designated CPU core, and the designated CPU core acquires the host command stored in said one second shared memory area and executes processing in response to the host command.