Software-Defined Storage Controller Failover via Namespace Reassignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dual storage controller configurations face bottlenecks in handling input-output operations, especially when one controller fails, due to fixed capacity and increased load, leading to inefficiencies and disruptions in high availability storage solutions.

Innovation Solution

Implementing software-defined storage controllers with namespaces and an orchestration controller to dynamically manage and redistribute input-output operations across multiple software-defined controllers, allowing for failover and load balancing to maintain high availability and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dual physical storage controllers are used with one active and one standby, then high availability is improved, but the single remaining controller becomes a bottleneck when failover occurs

Engineering Contradiction:
Improvehigh availabilityVSAvoidinput-output operations throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the storage controller functionality into multiple software-defined controllers that can be dynamically assigned to handle different namespaces. This allows the workload to be distributed across multiple software instances rather than concentrated on a single physical controller, preventing the bottleneck effect during failover scenarios.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic controller assignment where software-defined storage controllers can be flexibly allocated and reassigned based on operational needs. When a controller fails, namespaces are dynamically reassigned to remaining controllers rather than requiring pre-configured static failover paths, enabling adaptive load distribution.

Inventive Principle:
Principle #15Dynamics

2Reliability

If physical storage controllers are designed with sufficient capacity to handle doubled load during failover, then reliability is improved, but device complexity and resource efficiency deteriorate

Engineering Contradiction:
Improvecontroller capacity during failoverVSAvoidcontroller capacity requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates software-defined storage controllers that can universally handle multiple namespaces and workloads. A single physical controller can instantiate multiple software-defined controller instances, each capable of managing different namespaces, thereby eliminating the need for dedicated redundant hardware capacity while maintaining failover capability.

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

Solution Approach 2:

The patent uses software copies of controller functionality rather than physical hardware copies. Multiple software-defined controller instances can be created on the same physical hardware, providing redundant controller capabilities without requiring duplicate physical controller capacity, thus reducing overall system complexity.

Inventive Principle:
Principle #26Copying

3Productivity

If dual controllers both actively handle input-output operations, then productivity is improved, but the complexity of managing failover and load distribution increases

Engineering Contradiction:
Improveinput-output operations throughputVSAvoidcontroller management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where software-defined controllers automatically monitor their own health status and initiate failover procedures when failures are detected. The system autonomously manages load distribution and namespace reassignment without requiring complex external orchestration, reducing management complexity while maintaining high availability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where controllers continuously monitor operational status and automatically adjust workload distribution based on real-time conditions. When a controller fails, the system receives feedback about the failure and automatically redistributes namespaces to healthy controllers, enabling dynamic adaptation without complex manual intervention.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11755438B2Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
Publication Date: 2023.09.12 LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
  • US11755438B2 patent drawing
  • US11755438B2 patent drawing
  • US11755438B2 patent drawing

AI summary

An orchestration controller in a storage solution may establish namespaces, assign each namespace to a host, and establish software-defined storage controllers to handle input-output operations between the hosts and the namespaces. Each namespace is assigned to a given host and the input-output operations to and from the namespace are handled by a specific primary software-defined storage controller. In response to failure of the software defined controller, a secondary software-defined storage controller will take over handling of the input-output operations to and from the namespace. Also, in response to the failure of the software-defined storage controller, the host will direct subsequent input-output operations destined for the namespace to the secondary software-defined storage controller.