Storage Controller Failover via Independent Network Layer Preparation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional failover operations in storage servers with dual redundant controllers are lengthy due to dependencies between hardware and software layers, leading to potential I/O operation failures if timeout periods are not adequately managed, especially in achieving high availability like 'five 9s' (99.999%) uptime.

Innovation Solution

The method involves preparing the network layer for I/O operations independently of the disk subsystem and device manager layers, allowing for parallel or preemptive preparation, and synchronizing data between controllers to create pseudo devices that can handle I/O operations without waiting for lower layers to complete, thereby reducing failover time and ensuring continuous data availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional sequential failover operations are performed with dependencies between layers, then data consistency is maintained, but failover time becomes excessively long causing I/O operation failures

Engineering Contradiction:
Improvedata consistencyVSAvoidfailover time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-synchroning data between the primary and secondary controllers before failover occurs. The secondary controller maintains up-to-date copies of data and metadata in advance, so when failover is needed, the network layer can immediately begin processing I/O operations without waiting for lower layers to complete their preparation. This eliminates the sequential dependency wait time while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the failover process into independent parallel operations. The network layer preparation is separated from the disk subsystem and device manager layer preparations, allowing them to proceed simultaneously rather than sequentially. This segmentation removes the dependency chain that causes time loss while ensuring each layer is properly prepared through coordinated synchronization.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If the network layer waits for disk subsystem and device manager layers to complete preparation, then proper layer dependency is maintained, but I/O operation availability is reduced

Engineering Contradiction:
Improvelayer dependency structureVSAvoidI/O operation availability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The network layer performs preliminary actions by beginning its preparation and data synchronization processes before the disk subsystem and device manager layers complete their failover readiness. The secondary controller proactively establishes network connections and prepares file system structures in advance, allowing I/O operations to resume quickly without the network layer being blocked by lower layer preparation times.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary synchronization mechanism that coordinates between layers without requiring strict sequential dependency. A synchronization protocol allows the network layer to proceed with preparation while lower layers continue their own initialization, using intermediate data structures and coordination signals to ensure eventual consistency without blocking productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If timeout values are increased to accommodate sequential layer preparation, then I/O operation failures are avoided, but overall system response time deteriorates

Engineering Contradiction:
ImproveI/O operation success rateVSAvoidsystem response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses preliminary action to complete critical failover preparations before timeout periods expire. The secondary controller begins data synchronization and layer preparation immediately upon detecting primary controller failure, performing essential operations in advance so that the system can recover within normal timeout windows without needing to extend response times.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies skipping by bypassing the traditional sequential wait times between layers during failover. Critical operations are rushed through in parallel where possible, and non-critical sequential steps are skipped or overlapped with other operations, allowing the system to complete failover within standard timeout periods while maintaining reliability.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS10185639B1Systems and methods for performing failover in storage system with dual storage controllers
Publication Date: 2019.01.22 AMZETTA TECH LLC
  • US10185639B1 patent drawing
  • US10185639B1 patent drawing
  • US10185639B1 patent drawing

AI summary

An example computer-implemented method for performing failover operations in a data storage system is described herein. The data storage system can include a first storage controller and a second storage controller for processing input/output (“I/O”) operations for the data storage system. The method can include, in response to a failure of the first storage controller, performing failover operations with the second storage controller, and processing the I/O operations with the second storage controller. The failover operations can include preparing a disk subsystem layer for I/O operations, preparing a device manager layer for the I/O operations, and preparing a network layer for the I/O operations. The disk subsystem, device manager, and network layers can be prepared for the I/O operations without dependencies. In particular, preparation of the network layer is not dependent on preparation of the disk subsystem layer or the device manager layer.