Storage Controller Failover via Independent Network Layer Preparation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If timeout values are increased to accommodate sequential layer preparation, then I/O operation failures are avoided, but overall system response time deteriorates
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.
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.
Data Source
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.


