# US 2021/0334010 A1 · Input-output path selection using switch topology information

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

- Number: US 2021/0334010 A1
- Document ID: US20210334010A1
- Status: Published application
- Kind: A1
- Application number: 16/857,381
- Filed: 2020-04-24
- Published: 2021-10-28
- Earliest claimed: 2020-04-24
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: Peniel Charles; Joseph G. Kanjirathinkal; Owen Crowley; Manikandan Sethuraman
- Web page: https://patentgrep.com/patent/US20210334010A1

## CPC

- G06F 3/0613: {in relation to throughput}
- G06F 3/0614: {Improving the reliability of storage systems}
- G06F 3/0635: {by changing the path, e.g. traffic rerouting, path reconfiguration}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/1423: {by reconfiguration of paths}
- G06F 11/201: {between storage system components}
- G06F 13/4022: {using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence)}
- G06F 11/1438: {Restarting or rejuvenating}
- G06F 11/2017: {where memory access, memory control or I/O control functionality is redundant (redundant communication control functionality G06F11/2005; redundant storage control functionality G06F11/2089)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Switch topology-aware path selection in an information processing system is provided. For example, an apparatus comprises a host device comprising a processor coupled to a memory. The host device is configured to communicate with a storage system over a network with a plurality of switches. The host device is further configured to obtain topology information associated with the plurality of switches in the network, and select a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information.

## Claims

### Claim 1

An apparatus comprising:
a host device comprising a processor coupled to a memory;
the host device being configured to communicate with a storage system over a network with a plurality of switches;
the host device being further configured to:
obtain topology information associated with the plurality of switches in the network; and
select a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the selection of a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information is performed in response to a failure of another path.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the selection of a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information is performed for a given input-output operation associated with the host device.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the topology information comprises connectivity information associated with each of the plurality of switches.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the connectivity information associated with each of the plurality of switches comprises at least one identifier.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein a portion of the identifier is unique for a given path initiator connected to the same switch.

### Claim 7 (depends on 6)

The apparatus of claim 6, wherein the identifier enables the host device to select a path that avoids one or more of the plurality of switches.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein switches of the plurality of switches are distributed among multiple fabrics.

### Claim 9

A method performed by a host device configured to communicate with a storage system over a network with a plurality of switches, comprising:
obtaining topology information associated with the plurality of switches in the network; and
selecting a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information;
wherein the host device comprises a processor coupled to a memory.

### Claim 10 (depends on 9)

The method of claim 9, wherein selecting a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information is performed in response to a failure of another path.

### Claim 11 (depends on 9)

The method of claim 9, wherein selecting a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information is performed for a given input-output operation associated with the host device.

### Claim 12 (depends on 9)

The method of claim 9, wherein the topology information comprises connectivity information associated with each of the plurality of switches.

### Claim 13 (depends on 12)

The method of claim 12, wherein the connectivity information associated with each of the plurality of switches comprises at least one identifier.

### Claim 14 (depends on 13)

The method of claim 13, wherein a portion of the identifier is unique for a given path initiator connected to the same switch.

### Claim 15 (depends on 14)

The method of claim 14, wherein the identifier enables the host device to select a path that avoids one or more of the plurality of switches.

### Claim 16 (depends on 9)

The method of claim 9, wherein switches of the plurality of switches are distributed among multiple fabrics.

### Claim 17

A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by a host device comprising a processor coupled to a memory and configured to communicate with a storage system over a network with a plurality of switches, causes the host device to:
obtain topology information associated with the plurality of switches in the network; and
select a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein selecting a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information is performed in response to a failure of another path.

### Claim 19 (depends on 17)

The computer program product of claim 17, wherein selecting a path from the host device to the storage system through one or more of the plurality of switches based at least in part on the obtained topology information is performed for a given input-output operation associated with the host device.

### Claim 20 (depends on 17)

The computer program product of claim 17, wherein the topology information comprises connectivity information associated with each of the plurality of switches.
