Storage Node Path Failover Mechanism for I/O Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, existing technologies face challenges in efficiently managing I/O commands across multiple storage devices, leading to errors and suboptimal performance due to uneven load distribution across interfaces and paths in the switching fabric.

Innovation Solution

A method and apparatus where a storage node designates a primary device file for accessing a storage device, attempts to complete I/O commands using this file, detects errors, and switches to an alternate device file to retry the command, allowing for autonomous path switching within the switching fabric to balance load and improve performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single primary device file is designated for accessing a storage device, then the system maintains simple management and clear access paths, but the system experiences errors and suboptimal performance when the primary path fails due to uneven load distribution and lack of automatic failover

Engineering Contradiction:
Improvesystem reliabilityVSAvoiddevice file management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system pre-designates multiple device files (primary and alternate) for accessing storage devices before failures occur. When an error is detected in the primary device file, the system automatically switches to the pre-configured alternate device file, enabling rapid failover without requiring complex real-time path selection logic or increasing operational complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The storage node autonomously detects errors in the primary device file and performs self-healing by switching to the alternate device file without requiring external intervention. This self-service mechanism improves reliability while maintaining simple management, as the system automatically recovers from path failures without complex manual reconfiguration

Inventive Principle:
Principle #25Self-service

2Loss of time

If the system uses a fixed primary device file for I/O commands, then the system maintains simple and predictable access patterns, but the recovery time from path failures is extended due to lack of automatic path switching capability

Engineering Contradiction:
Improverecovery timeVSAvoidpath management ease
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The system pre-configures alternate device files as backup access paths before failures occur. When the primary device file fails, the system immediately switches to the pre-prepared alternate path, dramatically reducing recovery time. This preliminary preparation of multiple access paths enables fast failover while maintaining simple operation, as the switching logic is automated and requires no complex manual path management during failures

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically switches between static device files based on runtime conditions. The device file designation is not fixed but can change automatically when errors are detected, allowing the system to adapt to failures while maintaining simple operation. The dynamic switching capability reduces recovery time without complicating path management, as the changes are automated based on error detection

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple device files are maintained for load balancing, then the system improves performance and distributes load across paths, but the system complexity increases due to multiple file management requirements

Engineering Contradiction:
ImproveI/O command completion efficiencyVSAvoiddevice file management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the device file management into distinct roles: primary device files for normal operation and alternate device files for failover. This segmentation allows multiple device files to be maintained for load balancing and redundancy without increasing overall complexity, as each segment has a clear, simple purpose. The primary file handles regular I/O commands efficiently, while alternate files serve as predefined backups, together improving productivity without complex management

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple device files serve multiple functions: the primary device file handles normal I/O operations, while the same alternate device files serve as both load-balancing options and failover backups. This multi-functionality improves productivity by enabling efficient load distribution across paths while avoiding increased complexity, as the same set of device files fulfills both performance and reliability requirements

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11403036B2Recover time improvement mechanism after device path failure in a storage system
Publication Date: 2022.08.02 EMC IP HLDG CO LLC
  • US11403036B2 patent drawing
  • US11403036B2 patent drawing
  • US11403036B2 patent drawing

AI summary

A method comprising: receiving, by a first storage node, an instruction to designate a first device file as the first storage node's primary device file for accessing a storage device designating, by the first storage node, the first device file as the first storage node's primary device file for accessing the storage device, the first device file being designated as the first storage node's primary device file for accessing the storage device in response to the first instruction; receiving, at the first storage node, an I/O command that is associated with the storage device; making a first attempt to complete the I/O command by using the first device file, detecting, by the first storage node, an error that is generated in response to the first attempt; designating, by the first storage node, a second device file as the first storage node's primary device file for accessing the storage device.