Dual Server Storage Controller Data Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In dual server-based storage controllers, data validation across different bus interfaces used for writing data to cache and non-volatile storage can lead to errors, increasing the likelihood of data mismatch and potential data loss during failover scenarios, as the same data is written using different bus interfaces for each server.

Innovation Solution

A method is implemented where data written to the cache of one server is periodically compared to the non-volatile storage of another server by copying cache and NVS data into buffers, comparing record data and headers excluding adapter identifiers, and ensuring data integrity by validating matches between the two servers, thereby preventing erroneous data propagation and enabling recovery actions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is written to cache and NVS using different bus interfaces for redundancy, then data availability during failover is improved, but data consistency between the two servers deteriorates due to potential write errors

Engineering Contradiction:
Improvedata availability during failoverVSAvoiddata consistency between servers
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent performs preliminary validation by comparing data in cache with corresponding data in NVS before failover occurs. This advance checking ensures data consistency is verified while both servers are operational, preventing propagation of potential write errors during failover scenarios

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the first server periodically compares its cache data with the second server's NVS data. This continuous validation loop detects and corrects data inconsistencies, ensuring that when failover occurs, the taking-over server has verified consistent data to work with

Inventive Principle:
Principle #23Feedback

2Reliability

If periodic data validation is implemented between cache and NVS, then data integrity is improved, but system complexity increases due to additional comparison operations

Engineering Contradiction:
Improvedata integrityVSAvoidvalidation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent simplifies the validation process by copying data from cache and NVS into buffers for comparison, rather than directly comparing the original storage locations. This copying approach isolates the validation logic from the storage operations, reducing complexity while maintaining data integrity verification

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces buffers as intermediary structures that hold copies of cache and NVS data during validation. These buffers serve as mediators between the validation logic and the actual storage systems, simplifying the comparison operation and decoupling the validation mechanism from the storage implementation details

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11379329B2Validation of data written via two different bus interfaces to a dual server based storage controller
Publication Date: 2022.07.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11379329B2 patent drawing
  • US11379329B2 patent drawing
  • US11379329B2 patent drawing

AI summary

A first server of a storage controller is configured to communicate with a host via a first bus interface, and a second server of the storage controller is configured to communicate with the host via a second bus interface. Data is written from the host via the first bus interface to a cache of the first server and via the second bus interface to a non-volatile storage of the second server. The data stored in the cache of the first server is periodically compared to the data stored in the non-volatile storage of the second server.