Storage Controller Cache Synchronization via Owner Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In redundant storage controller systems, ensuring data reliability and integrity is challenging, especially during boot processes and failures, as existing methods rely on partner storage controllers for write data validation and timestamp maintenance, which can lead to data corruption and loss.

Innovation Solution

A storage controller system that writes protects logical volumes by maintaining metadata on previous owners and allowing read/write access, ensuring data reliability without partner storage controller information, and independently validating write data integrity during boot processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If write back cache is used to improve write performance, then write throughput is improved, but data reliability deteriorates because posted writes may be lost during controller failures

Engineering Contradiction:
Improvewrite throughputVSAvoiddata reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by maintaining a timestamp of the last valid write operation in non-volatile memory before controller failures can occur. This pre-stored timestamp allows the controller to validate posted writes against a known good state, ensuring data reliability while maintaining write back cache performance benefits.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a timestamp stored in non-volatile memory - that mediates between the write back cache and the storage devices. This timestamp serves as a reference point to determine whether cached data should be written to storage, resolving the conflict between performance and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If timestamp-based validation is used to ensure data integrity, then data reliability is improved, but system complexity increases due to dependency on partner storage controllers

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling each storage controller to independently maintain and validate its own write timestamps using local non-volatile memory. This eliminates dependency on partner controllers for timestamp validation, reducing system complexity while maintaining data integrity through autonomous controller operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent extracts the timestamp validation functionality from the partner controller dependency and embeds it within each individual controller. By taking out the external validation requirement and implementing local timestamp maintenance, the system reduces complexity while preserving data integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If write through cache is used to maintain data consistency, then data reliability is improved, but write performance deteriorates due to slower storage device access

Engineering Contradiction:
Improvedata consistencyVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-storing valid write timestamps in non-volatile memory before failures occur. This allows the controller to quickly determine which cached data is valid and needs to be written to storage, enabling write back caching to maintain consistency without requiring synchronous write through operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of cache operation mode dynamically. Instead of fixed write through or write back mode, the system uses timestamp comparison to determine the appropriate write behavior, allowing the cache to operate in write back mode for performance while ensuring consistency through timestamp-based validation.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If redundant storage controllers are used to prevent data loss, then reliability is improved, but data corruption risk increases during boot processes and failover scenarios

Engineering Contradiction:
Improvedata availabilityVSAvoiddata corruption risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by maintaining a timestamp of the last valid write state in non-volatile memory before failover or boot scenarios occur. This pre-stored timestamp serves as a reference to identify valid data, preventing corruption during controller transitions and boot processes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by continuously comparing current write timestamps against the stored valid timestamp. This feedback mechanism allows the controller to detect and prevent data corruption during failover and boot scenarios by only writing data that is validated against the known good state.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9575905B2Storage controller cache synchronization method and apparatus
Publication Date: 2017.02.21 SEAGATE TECH LLC
  • US9575905B2 patent drawing
  • US9575905B2 patent drawing
  • US9575905B2 patent drawing

AI summary

A storage controller is provided. The storage controller includes a memory storing an indication of a current owner, a previous owner, and a preferred owner for each of one or more logical volumes. The storage controller is configured to write protect the logical volumes where the current owner and the preferred owner is the storage controller and the previous owner of the logical volumes was a different storage controller. For the logical volumes where the storage controller is the preferred but not the current owner, the storage controller is set as the current and preferred owner of the logical volumes that the different storage controller was the current but not the preferred owner for, storage controller is set as the previous owner of the logical volumes that the storage controller is the current and preferred owner of, and allowing read and write access to the one or more logical volumes.