Patent ID: 7363400

Claim:
A switch for transferring data through a connection between a disk controller and a disk array, the switch comprising: a plurality of ports including an input port and an output port; a buffer memory provided for each of the plurality of ports of the switch for temporarily storing data to be transferred between the disk controller and the disk array; a crossbar switch for setting a path for data transfer through a connection with any of the plurality of ports; a shared memory for storing data to be transferred through a connection with the crossbar switch, including a controller in the shared memory for monitoring a capacity availability of the buffer memory provided for the output port to which a frame is to be transferred, wherein when a monitoring result shows that the capacity availability of the buffer memory of the output port is exceeding a predetermined value, the controller sets the crossbar switch path in accordance with destination information in the frame so that the frame is transferred from the input port to the buffer memory of the output port via the crossbar switch and not via the shared memory, and wherein the controller determines whether an input port inputting the frame is a predetermined port, when the controller determines that the input port inputting the frame is not the predetermined port, the controller sets the crossbar switch path in accordance with the destination information in the frame so that the frame is transferred from the input port to the buffer memory of the output port via the crossbar switch and not via the shared memory, and when the controller determines that the input port inputting the frame is the predetermined port, and when a monitoring result shows that the capacity availability of the buffer memory of the output port is the predetermined value or lower, the controller writes the frame from the input port to the shared memory via the crossbar switch, and sets the crossbar switch path in accordance with the destination information in the frame to permit the frame to be transferred from the shared memory to the output port via the crossbar switch.