# US 2014/0156934 A1 · Storage apparatus and module-to-module data transfer method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0156934 A1
- Document ID: US20140156934A1
- Status: Published application
- Kind: A1
- Application number: 14/031,494
- Filed: 2013-09-19
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: Fujitsu Limited
- Applicants: Fujitsu Limited
- Inventors: Sadayuki Ohyama
- Web page: https://patentgrep.com/patent/US20140156934A1

## CPC

- G06F 11/201: {between storage system components}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0635: {by changing the path, e.g. traffic rerouting, path reconfiguration}
- G06F 3/0658: {Controller construction arrangements}
- G06F 3/0683: {Plurality of storage devices}
- G06F 11/3027: {where the computing system component is a bus}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A storage apparatus includes controller modules configured to have a cache memory and to control a storage device, respectively, and communication channels that connect the controller modules in a mesh topology, where one controller module providing an instruction to perform data transfer in which the controller module is specified as a transfer source and another controller module is specified as a transfer destination. The instruction is provided to a controller module directly connected to the other controller modules using a corresponding one of the communication channels, and configured to perform data transfer from the cache memory of the one controller module to the cache memory of the other controller module, in accordance with the instruction.

## Claims

### Claim 1

A storage apparatus, comprising:
first, second, and third controller modules configured to have a cache memory and to control a storage device, respectively; and
communication channels that connect the first, second, and third controller modules in a mesh topology, and
wherein the first controller module provides an instruction, for the third controller module, to perform data transfer specifying the first controller module as a transfer source and the second controller module as a transfer destination, the third controller module being directly connected with each of the first and second controller modules using a corresponding one of the communication channels, and
the third controller module performs data transfer from the cache memory of the first controller module to the cache memory of the second controller module in accordance with the instruction.

### Claim 2 (depends on 1)

The storage apparatus according to claim 1, comprising:
a transferer provided to the third controller module to monitor a communication state of, among the communication channels, a communication channel that connects the first controller module and the third controller module and a communication state of a communication channel that connects the third controller module and the second controller module, and perform the data transfer based on a result of monitoring of the communication states.

### Claim 3 (depends on 2)

The storage apparatus according to claim 2, comprising:
an instructor provided to the first controller module, where the instructor stores transfer control information in the cache memory of the first controller module, and the transferer acquires the transfer control information and performs the data transfer.

### Claim 4 (depends on 3)

The storage apparatus according to claim 3, wherein the transferer stores a result of the data transfer at an address specified in the transfer control information.

### Claim 5 (depends on 4)

The storage apparatus according to claim 4, wherein the address at which the result of the data transfer is stored is an address located in the cache memory of the first controller module.

### Claim 6 (depends on 1)

The storage apparatus according to claim 1,
wherein each of the first, second, and third controller modules includes:
a monitor configured to monitor a communication state of each of the communication channels in such a manner as to monitor a communication interface for each of the communication channels, and
a storage configured to store the communication state of each of the communication channels, and
wherein the instructor determines, based on the communication state of each of the communication channels stored in a storage of the first controller module, an instruction that is to be provided for the third controller module.

### Claim 7 (depends on 1)

The storage apparatus according to claim 1, wherein the transferer performs data transfer using direct memory access.

### Claim 8

A module-to-module data transfer method for a storage apparatus, the method comprising:
establishing communication channels between first, second, and third controller modules of the storage apparatus, each of the first, second, and third controller modules being configured to have a cache memory and to control a storage device, and the communication channels connecting the first, second, and third controller modules in a mesh topology;
providing an instruction, using the first controller module, for the third controller module to perform data transfer in which the first controller module is specified as a transfer source and the second controller module is specified as a transfer destination, the third controller module being directly connected with each of the first and second controller modules using a corresponding one of the communication channels; and
performing, using the third controller module, data transfer from the cache memory of the first controller module to the cache memory of the second controller module in accordance with the instruction.

### Claim 9 (depends on 8)

The module-to-module data transfer method according to claim 8, comprising:
monitoring a data flow rate of a transmission channel between the first controller module and the third controller module and a data flow rate of a transmission channel between the third controller module and the second controller module.

### Claim 10 (depends on 9)

The module-to-module data transfer method according to claim 9, comprising:
controlling the data transfer by switching a transfer direction to a transmission channel directly connecting the first controller module with the second controller module based on a result of the monitoring.

### Claim 11

A data transfer method, comprising:
establishing communication channels between a plurality of controller modules in a mesh topology, the controller modules being connected with a respective storage device; and
selecting one of a direct path and an indirect path for transferring data between a source and a destination among the plurality of controller modules, based on a communication state monitored between the source and the destination.
