# US 12,010,170 B2 · Methods and apparatus for peer-to-peer data channels for storage devices

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

- Number: US 12,010,170 B2
- Document ID: US12010170B2
- Status: Granted
- Kind: B2
- Application number: 17/728,969
- Filed: 2022-04-25
- Published: 2022-08-11
- Granted: 2024-06-11
- Earliest claimed: 2020-03-04
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: Samsung Electronics Co., Ltd.
- Inventors: Ramdas P. Kachare; Sompong Paul Olarig; Matthew Shaun Bryson
- Web page: https://patentgrep.com/patent/US12010170B2

## CPC

- H04L 67/1042: using topology management mechanisms
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0646: {Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0683: {Plurality of storage devices}
- G06F 13/4022: {using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence)}
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 45/02: Topology update or discovery
- H04L 47/10: Flow control; Congestion control
- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method may include transferring data between a host and a first storage device through a first storage interface, transferring data between the host and a second storage device through a second storage interface, and transferring data between the first storage device and the second storage device through a peer-to-peer channel. A storage system may include a host interface, a first storage device having a first storage interface coupled to the host interface, a second storage device having a second storage interface coupled to the host interface, and a peer-to-peer bus coupled between the first and second storage devices. A storage device may include a storage medium, a storage device controller coupled to the storage medium, a storage interface coupled to the storage device controller, and a peer-to-peer interface coupled to the storage device controller.

## Claims

### Claim 1

A method comprising:
transferring data between a host and a first storage device using a first connection;
transferring data between the host and a second storage device using a second connection; and
transferring, based on a performance parameter that is based on a bandwidth of at least one of the first connection, the second connection, or a third connection, data between the first storage device and the second storage device using the third connection;
wherein a determination to transfer the data, based on the performance parameter, is controlled, at least in part, by logic at the first storage device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first storage device is configured for the performance parameter by at least one of the host, a management controller, the first storage device, or the second storage device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the performance parameter comprises at least one of a priority, a resource, a performance level, or a Quality-of-Service (QoS) parameter.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
transferring data between the host and a third storage device using a fourth connection; and
configuring the first, second and third storage devices as at least one communication group.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first storage device performs at least one of a reliability function, an availability function, or a security function.

### Claim 6 (depends on 1)

The method of claim 1, further comprising performing, by the first storage device, a service for the second storage device based on the performance parameter.

### Claim 7 (depends on 6)

The method of claim 6, further comprising superseding the performance parameter.

### Claim 8 (depends on 1)

The method of claim 1, wherein the performance parameter is a first QoS parameter, the method further comprising:
transferring data between the host and a third storage device using a fourth interface;
configuring the first storage device and the second storage device as a first communication group;
configuring at least two of the first storage device, the second storage device, and the third storage device as a second communication group; and
transferring data within the second communication group, using the third connection, based on a second QoS parameter.

### Claim 9 (depends on 8)

The method of claim 8, wherein:
the first communication group performs a first operation based on the first QoS parameter; and
the second communication group performs a second operation based on the second QoS parameter.

### Claim 10 (depends on 1)

The method of claim 1, wherein the performance parameter is based on a policy parameter.

### Claim 11

A storage system comprising:
a host interface;
a first storage device having a first interface coupled to the host interface;
a second storage device having a second interface coupled to the host interface; and
a communication connection coupled between the first storage device and the second storage device, wherein the communication connection comprises a peer-to-peer bus;
wherein at least one of the first storage device or the second storage device is configured to determine, based on a performance parameter, to transfer data between the first storage device and the second storage device using the communication connection, the performance parameter being based on a bandwidth of at least one of the first interface, the second interface, or the communication connection.

### Claim 12 (depends on 11)

The storage system of claim 11, wherein:
the first interface is coupled to the host interface using a first connector;
the second interface is coupled to the host interface using a second connector; and
the communication connection is coupled between the first connector and the second connector.

### Claim 13 (depends on 11)

The storage system of claim 11, wherein the communication connection comprises a switch fabric.

### Claim 14 (depends on 11)

The storage system of claim 11, wherein the communication connection is located at least partially on one of a midplane, a motherboard, or a switchboard.

### Claim 15 (depends on 11)

The storage system of claim 11, wherein a flow control associated with the performance parameter comprises an acknowledgment.

### Claim 16 (depends on 15)

The storage system of claim 15, wherein the flow control comprises a message sequence.

### Claim 17

A storage device comprising:
a storage medium;
a storage device controller coupled to the storage medium;
a storage interface coupled to the storage device controller;
a communication interface coupled to the storage device controller; and
logic configured to control, based on a performance parameter that is based on a bandwidth of at least one of the storage interface or the communication interface, a data transfer using the communication interface, wherein a determination to transfer data is controlled, at least in part, by the logic of the storage device.

### Claim 18 (depends on 17)

The storage device of claim 17, wherein the storage interface comprises a two-port interface.

### Claim 19 (depends on 17)

The storage device of claim 17, further comprising a first connector coupled to the storage interface, wherein the first connector is coupled to the communication interface.

### Claim 20 (depends on 19)

The storage device of claim 19, further comprising a second connector coupled to the communication interface.
