MPIO Driver Multi-Path IO Thread Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems often fail to adequately utilize multiple storage targets for input-output operations, leading to reduced fault tolerance and inefficient data transfer, resulting in sub-optimal performance during tasks like block archiving or restoring.

Innovation Solution

A multi-path layer with MPIO drivers is configured to utilize multiple storage targets for executing threads in block archiving or restoring processes, ensuring that if one target fails, the operation can be seamlessly switched to another available target, thereby preventing task failures and delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If single storage target is used for IO operations, then device complexity is reduced, but reliability deteriorates due to lack of fault tolerance

Engineering Contradiction:
Improvefault toleranceVSAvoidmulti-path configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments IO operations into multiple independent paths targeting different storage targets. Each path can operate independently, allowing the system to continue functioning even if one path fails. This segmentation is achieved through the multi-path layer that creates separate IO threads for each storage target, enabling parallel operation and fault isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the active storage target parameter based on the operational status of individual paths. When a storage target becomes unavailable, the system automatically switches to an alternative target by modifying the IO operation parameters. This dynamic parameter adjustment maintains continuous operation without manual intervention.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If single storage target is used for IO operations, then data transfer path is simplified, but productivity deteriorates due to load concentration and potential delays

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidmulti-target management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the data transfer workload into multiple segments by creating separate IO threads for each storage target. This segmentation distributes the load across multiple paths rather than concentrating it on a single target, improving overall throughput and reducing delays. The multi-path layer manages these segmented operations independently, optimizing each path's performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system employs partial action by utilizing only the necessary number of storage targets based on current workload demands and target availability. The multi-path layer dynamically selects and activates appropriate numbers of targets, avoiding over-provisioning while ensuring sufficient capacity. This allows the system to scale its operational complexity based on actual needs rather than maintaining maximum capacity always.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If single storage target is used for block archiving/restoring, then operation simplicity is maintained, but reliability deteriorates causing task failures

Engineering Contradiction:
Improvetask completion assuranceVSAvoidIO operation configuration
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The multi-path layer implements self-service functionality by automatically detecting storage target failures and switching to alternative targets without requiring manual intervention. The system monitors the operational status of storage targets and autonomously adjusts IO operations to maintain task completion. This self-service mechanism preserves ease of operation while significantly improving reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent applies beforehand cushioning by pre-configuring multiple storage targets and IO paths as backup options. Before any failure occurs, the system establishes redundant paths that can immediately take over if a primary target fails. This preparatory cushioning ensures continuous operation and prevents task failures, maintaining both reliability and operational simplicity.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11397589B2Snapshot transmission from storage array to cloud using multi-path input-output
Publication Date: 2022.07.26 EMC IP HLDG CO LLC
  • US11397589B2 patent drawing
  • US11397589B2 patent drawing
  • US11397589B2 patent drawing

AI summary

A processing device is configured to communicate over a network with a storage system comprising a plurality of storage devices. The device comprises a multi-path input-output (MPIO) driver configured to control delivery of input-output (IO) operations from the device to the storage system over selected ones of a plurality of paths through the network. The paths are associated with respective initiator-target pairs, and each of a plurality of targets of the initiator-target pairs comprises a corresponding port of the storage system. The MPIO driver is further configured to create a plurality of IO operation threads, to use a given IO operation thread to retrieve a given IO operation from an IO queue, to attempt to perform the given IO operation on a given target of the plurality of targets, and to return the given IO operation to the IO queue upon a failure to perform the given IO operation.