Storage Controller Multipath I/O Workload Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multipath implementations in storage systems face challenges in responding to failed I/O requests due to path selection being performed by the host multipath driver without awareness of current fabric conditions or storage controller conditions, leading to unknown congestions and prolonged response times.

Innovation Solution

A method where the storage controller evaluates workloads across multiple communication paths and selects the path with the lowest workload for I/O requests, sending status updates to indicate which paths are chosen to satisfy the requests, thereby improving fault tolerance and bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If path selection is performed by the host multipath driver, then the host can independently manage I/O requests, but the path selection is performed without awareness of current fabric conditions and storage controller conditions, leading to unknown congestions and prolonged response times

Engineering Contradiction:
Improvehost independence in managing I/O requestsVSAvoidawareness of fabric and controller conditions
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The storage controller sends feedback information about fabric path conditions and controller workload status to the host multipath driver. This enables the host to make informed path selection decisions based on real-time conditions from both ends of the communication path, resolving the contradiction between host independence and awareness of system conditions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The storage controller acts as an intermediary that collects information about fabric path conditions and controller status, then transmits this information to the host multipath driver. This intermediary mechanism enables the host to be aware of system conditions without compromising its independent management capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If conventional multipath implementations are used, then path selection can be performed at the host level, but significant problems occur when responding to failed I/O requests due to lack of real-time congestion awareness

Engineering Contradiction:
Improvehost-level path selection implementationVSAvoidI/O request response time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The storage controller performs preliminary evaluation of fabric path conditions and controller workload status before I/O requests are sent to the host. By preparing and communicating this information in advance, the system prevents path failures and reduces I/O request response time without increasing host-side complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Real-time feedback from the storage controller about fabric congestion and controller status enables proactive path selection and prevents I/O failures before they occur, reducing response time while maintaining relatively simple host-level implementation.

Inventive Principle:
Principle #23Feedback

3Device complexity

If path selection is performed without awareness of current fabric conditions, then the implementation remains simple, but congestions in the fabric remain unknown until after I/O requests time out or response times are prolonged

Engineering Contradiction:
Improvepath selection mechanismVSAvoidfabric congestion information
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The storage controller continuously monitors fabric path conditions and controller workload status, then provides this information as feedback to the host multipath driver. This feedback mechanism maintains relatively simple path selection logic while ensuring real-time awareness of fabric congestion and controller conditions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The storage controller serves as an intermediary information gathering point that collects fabric congestion data and controller status information, then makes this information available to the host. This approach maintains implementation simplicity while preventing information loss about system conditions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10521380B1Using storage controllers to respond to multipath input/output requests
Publication Date: 2019.12.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10521380B1 patent drawing
  • US10521380B1 patent drawing
  • US10521380B1 patent drawing

AI summary

A computer program product, according to one embodiment, includes a computer readable storage medium having program instructions embodied therewith. The computer readable storage medium is not a transitory signal per se. Moreover, the program instructions are readable and/or executable by a controller to cause the controller to perform a method which includes: receiving a same input/output request along more than one communication paths, and evaluating a workload associated with each of the communication paths. A communication path having a lowest workload associated therewith is selected. Moreover, information corresponding to the input/output request as well as a status are sent along the selected communication path. The status sent indicates that the selected communication path was chosen to satisfy the input/output request. A special status indicating that none of the remaining communication paths were chosen to satisfy the input/output request is also sent along each of the remaining communication paths.