Multipath Driver Failover via Storage Processor Notification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional failover processes for input/output paths in storage arrays are time-consuming and resource-intensive, often leading to incorrect determinations of available paths and increased service times, potentially causing service outages, especially in large server clusters.

Innovation Solution

Systems and methods that identify a computing system with multiple input/output paths to a storage array, detect failures, receive communications about unavailable storage processors, and selectively reconfigure to use alternate paths not including the storage processor, thereby avoiding incorrect path determinations and reducing service times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional failover processes check remaining input/output paths one at a time, then the system can determine available paths, but the process consumes significant time and computing resources

Engineering Contradiction:
Improvepath availability determinationVSAvoidfailover time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by receiving advance notification from the storage array about unavailable storage processors before attempting failover. This allows the multipath driver to pre-identify and exclude paths containing failed processors, eliminating unnecessary sequential checking and reducing failover time while maintaining reliable path determination.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional failover processes check remaining input/output paths one at a time, then the system can determine available paths, but computing resources are consumed excessively

Engineering Contradiction:
Improvepath availability determinationVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system receives preliminary information from the storage array about which storage processors are unavailable, allowing the multipath driver to skip checking paths that would inevitably fail. This preliminary knowledge reduces the computing resources required for path verification while ensuring reliable determination of actually available paths.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts and removes from consideration any input/output paths that include unavailable storage processors. By taking out these definitely-failed paths from the failover evaluation process, the system reduces the computational burden of checking all possible paths while maintaining accurate path availability determination.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If separate failover is performed for each logical unit within a storage array, then each path can be optimized, but input/output service time increases during failover

Engineering Contradiction:
Improvepath optimizationVSAvoidinput/output service time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system merges the failover process for multiple logical units by using a single failover decision made by the multipath driver that applies to all logical units simultaneously. This unified approach allows path optimization across the board while minimizing the time impact on input/output service, as the failover decision is made once and applied broadly rather than individually for each logical unit.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8954808B1Systems and methods for performing input/output path failovers
Publication Date: 2015.02.10 ARCTERA US LLC
  • US8954808B1 patent drawing
  • US8954808B1 patent drawing
  • US8954808B1 patent drawing

AI summary

A computer-implemented method for performing input/output path failovers may include identifying a computing system with a plurality of input/output paths to a storage array. The computer-implemented method may additionally include detecting a failure of a first input/output path within the plurality of input/output paths. The computer-implemented method may also include receiving a communication from the storage array indicating that a storage processor within the first input/output path is unavailable. The computer-implemented method may further include selecting at least one alternate input/output path within the plurality of input/output paths that does not include the storage processor. The computer-implemented method may additionally include reconfiguring the computing system to access the storage array via the alternate input/output path. Various other methods, systems, and computer-readable media are also disclosed.