Storage Controller Failover via State Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information handling systems, such as storage arrays, face challenges in seamless failover between controllers, particularly when the active controller fails, leading to potential data loss and service disruption due to the lack of efficient state information synchronization and resource reconfiguration.

Innovation Solution

The system employs a standby controller that continuously synchronizes state information with the active controller, utilizing a hypervisor to manage resource allocation and switch control, enabling seamless failover by redirecting I/O requests and restoring service with minimal disruption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a standby controller continuously synchronizes state information with the active controller, then failover reliability is improved, but system complexity and resource consumption increase

Engineering Contradiction:
Improvefailover reliabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The standby controller continuously synchronizes state information with the active controller in advance, maintaining an up-to-date copy of critical data including I/O request status, write cache contents, and controller state. This preliminary action ensures that when failover is needed, the standby controller can immediately take over without data loss or service disruption, resolving the contradiction by preparing the system beforehand rather than reacting to failures

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a redundant copy of the active controller's state information in the standby controller's memory. This copying mechanism includes duplicating critical data structures, cache contents, and operational state, allowing the standby controller to function as a precise replica when needed. The copying principle resolves the contradiction by providing a simple yet effective method to ensure failover reliability without requiring complex real-time computation or additional hardware beyond the redundant controller

Inventive Principle:
Principle #26Copying

2Reliability

If the standby controller takes over I/O operations during failover, then service availability is improved, but data integrity risks increase due to potential state desynchronization

Engineering Contradiction:
Improveservice availabilityVSAvoiddata integrity
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system implements continuous feedback mechanisms where the standby controller monitors the active controller's state changes in real-time. Any modifications to critical data structures, cache contents, or I/O request status are immediately detected and synchronized to the standby controller. This feedback loop ensures data integrity during failover by guaranteeing that the standby controller possesses an accurate, up-to-date copy of all critical information before taking over operations

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Before the standby controller assumes I/O operations, the system performs preliminary validation to ensure complete state synchronization. This includes verifying that all pending I/O requests are accounted for, cache data is synchronized, and controller state is consistent. Only after confirming complete synchronization does the failover proceed, eliminating data integrity risks while maintaining service availability

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple standby controllers are added to support scaling, then system capacity is improved, but synchronization overhead and complexity increase

Engineering Contradiction:
Improvesystem capacityVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the synchronization responsibility by having each standby controller synchronize only with the active controller, rather than maintaining complex peer-to-peer synchronization between multiple controllers. This segmentation creates a clear hierarchical data flow where the active controller is the single source of truth, and multiple standby controllers independently replicate its state. This approach enables system scaling while keeping synchronization overhead manageable through a simple star topology

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8832489B2System and method for providing failover between controllers in a storage array
Publication Date: 2014.09.09 DELL PROD LP
  • US8832489B2 patent drawing
  • US8832489B2 patent drawing
  • US8832489B2 patent drawing

AI summary

An information handling system includes first and second memories, and first, second, and third servers. The first server includes a first active application for servicing first input/output requests associated with a first disk, and for storing first state information in the first memory. The second server includes a second active application for servicing second input/output requests associated with a second disk, and for storing second state information in the second memory. The third server includes first and second standby applications, and is configured to monitor the first and second active applications, to detect a failure of the first active application, to suspend the second standby application and to activate the first standby application in response to the failure of first active application.