# US 12,216,526 B2 · Multi-path layer configured for proactive path state changes

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

- Number: US 12,216,526 B2
- Document ID: US12216526B2
- Status: Granted
- Kind: B2
- Application number: 18/122,206
- Filed: 2023-03-16
- Published: 2024-09-19
- Granted: 2025-02-04
- Earliest claimed: 2023-03-16
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Peniel Charles; Manikandan Sethuraman; Amudha Krishnasamy; Venkata Adireddy Padala; Vighneshwar Hegde
- Web page: https://patentgrep.com/patent/US12216526B2

## CPC

- G06F 11/0745: {in an input/output transactions management context (input/output processing in general G06F13/00)}
- 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/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/1625: {in communications, e.g. transmission, interfaces}
- G06F 11/3041: {where the computing system component is an input/output interface (interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units G06F13/00)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus comprises a processing device configured to identify, for a given path interconnecting a given host device and a storage system, a set of two or more checkpoints characterizing health of the given path. The processing device is also configured to generate health predictions for each checkpoint in the identified set of two or more checkpoints, and to determine whether any of the generated health predictions indicates an expected date of failure within a designated period of time. The processing device is further configured, responsive to determining that at least one of the generated health predictions indicates an expected date of failure within the designated period of time, to proactively update the connection state of the given path in a given multi-path input-output driver of the given host device.

## Claims

### Claim 1

An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured:
to identify, for a given path interconnecting a given host device and a storage system, a set of two or more checkpoints characterizing health of the given path;
to generate health predictions for each checkpoint in the identified set of two or more checkpoints;
to determine whether any of the generated health predictions indicates an expected date of failure within a designated period of time; and
responsive to determining that at least one of the generated health predictions indicates an expected date of failure within the designated period of time, to proactively update a connection state of the given path in a given multi-path input-output driver of the given host device;
wherein at least one checkpoint in the identified set of two or more checkpoints is associated with a given port used in the given path interconnecting the given host device and the storage system; and
wherein the generated health prediction for the at least one checkpoint characterizes one or more predicted connection states associated with the given port.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein the set of two or more checkpoints comprises an initiator host bus adapter port of the given host device, a target port of the storage system, and one or more switch ports interconnecting the initiator host bus adapter port of the given host device and the target port of the storage system.

### Claim 3 (depends on 2)

The apparatus of claim 2 wherein the one or more switch ports interconnecting the initiator host bus adapter port of the given host device and the target port of the storage system comprises:
a first switch port of a first switch that the initiator host bus adapter port of the given host device is connected to;
a second switch port of a second switch that the target port of the storage system is connected to; and
one or more inter-switch layer ports interconnecting the first switch and the second switch.

### Claim 4 (depends on 1)

The apparatus of claim 1 wherein the at least one processing device comprises a management appliance configured to manage multi-path input-output drivers of a plurality of host devices, including the given host device, in a data center.

### Claim 5 (depends on 4)

The apparatus of claim 4 wherein generating the health predictions for each of the checkpoints in the identified set of two or more checkpoints comprises:
initiating a representational state transfer (REST) application programming interface (API) call to a server external to the data center, the REST API call specifying a first World Wide Name (WWN) identifier of an initiator host bus adapter port of the given host device and a second WWN identifier of a target port of the storage system for the given path; and
receiving, from the server in response to the REST API call, health failure reports for each of the checkpoints in the identified set of two or more checkpoints.

### Claim 6 (depends on 5)

The apparatus of claim 5 wherein the server external to the data center comprises a cloud-based storage analytics service.

### Claim 7 (depends on 1)

The apparatus of claim 1 wherein proactively updating the connection state of the given path in the given multi-path input-output driver of the given host device comprises setting the connection state of the given path to a standby state.

### Claim 8 (depends on 1)

The apparatus of claim 1 wherein proactively updating the connection state of the given path in the given multi-path input-output driver of the given host device comprises performing failover of the given path to at least one other path between the given host device and the storage system.

### Claim 9 (depends on 1)

The apparatus of claim 1 wherein proactively updating the connection state of the given path in the given multi-path input-output driver of the given host device comprises setting the connection state of the given path to one which avoids input-output retries on the given path.

### Claim 10 (depends on 1)

The apparatus of claim 1 wherein proactively updating the connection state of the given path in the given multi-path input-output driver of the given host device comprises setting the connection state of the given path to one which avoids input-output timeouts on the given path.

### Claim 11

An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured:
to identify, for a given path interconnecting a given host device and a storage system, a set of two or more checkpoints characterizing health of the given path;
to generate health predictions for each checkpoint in the identified set of two or more checkpoints;
to determine whether any of the generated health predictions indicates an expected date of failure within a designated period of time; and
responsive to determining that at least one of the generated health predictions indicates an expected date of failure within the designated period of time, to proactively update a connection state of the given path in a given multi-path input-output driver of the given host device;
wherein the generated health prediction for a given one of the checkpoints in the identified set of two or more checkpoints comprises a failure prediction state of a given port used in the given path interconnecting the given host device and the storage system.

### Claim 12 (depends on 11)

The apparatus of claim 11 wherein the failure prediction state is based at least in part on determining whether a forecast transmit power of the given port drops below a minimum transmit power required for the given port within the designated period of time.

### Claim 13 (depends on 11)

The apparatus of claim 11 wherein the failure prediction state is based at least in part on determining whether a forecast transmit power of the given port transitions from a working zone to a failure zone within the designated period of time.

### Claim 14 (depends on 11)

The apparatus of claim 11 wherein the given port comprises a Small Form Factor Pluggable (SFP) port.

### Claim 15

A method comprising:
identifying, for a given path interconnecting a given host device and a storage system, a set of two or more checkpoints characterizing health of the given path;
generating health predictions for each checkpoint in the identified set of two or more checkpoints;
determining whether any of the generated health predictions indicates an expected date of failure within a designated period of time; and
responsive to determining that at least one of the generated health predictions indicates an expected date of failure within the designated period of time, proactively updating a connection state of the given path in a given multi-path input-output driver of the given host device;
wherein at least one checkpoint in the identified set of two or more checkpoints is associated with a given port used in the given path interconnecting the given host device and the storage system;
wherein the generated health prediction for the at least one checkpoint characterizes one or more predicted connection states associated with the given port; and
wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

### Claim 16 (depends on 15)

The method of claim 15 wherein the generated health prediction for the at least one checkpoint comprises a failure prediction state of the given port.

### Claim 17 (depends on 15)

The method of claim 15 wherein proactively updating the connection state of the given path in the given multi-path input-output driver of the given host device comprises setting the connection state of the given path to a standby state.

### Claim 18

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 at least one processing device causes the at least one processing device:
to identify, for a given path interconnecting a given one of a plurality of host devices and a storage system, a set of two or more checkpoints characterizing health of the given path;
to generate health predictions for each checkpoint in the identified set of two or more checkpoints;
to determine whether any of the generated health predictions indicates an expected date of failure within a designated period of time; and
responsive to determining that at least one of the generated health predictions indicates an expected date of failure within the designated period of time, to proactively update a connection state of the given path in a given multi-path input-output driver of the given host device;
wherein at least one checkpoint in the identified set of two or more checkpoints is associated with a given port used in the given path interconnecting the given host device and the storage system; and
wherein the generated health prediction for the at least one checkpoint characterizes one or more predicted connection states associated with the given port.

### Claim 19 (depends on 18)

The computer program product of claim 18 wherein the generated health prediction for the at least one checkpoint comprises a failure prediction state of the given port.

### Claim 20 (depends on 18)

The computer program product of claim 18 wherein proactively updating the connection state of the given path in the given multi-path input-output driver of the given host device comprises setting the connection state of the given path to a standby state.
