Storage Class Memory Cache Mirroring for Controller Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High availability storage systems face inefficiencies in write performance and system overhead due to cache mirroring between storage controllers, which consumes bandwidth and resources, leaving controllers with reduced availability for their own I/O requests.

Innovation Solution

Mirroring cache data from a storage controller to a storage class memory (SCM) device instead of another storage controller, allowing the SCM to store redundant data and enabling efficient bandwidth utilization and freeing up cache space for the storage controller's own I/O requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache data is mirrored between storage controllers, then data redundancy and reliability are improved, but bandwidth consumption and system overhead increase

Engineering Contradiction:
Improvedata redundancyVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the mirroring function from the inter-controller communication path and relocates it to local SCM devices. Each storage controller mirrors its cache data to a locally attached SCM device instead of transmitting over the inter-controller link, thereby eliminating bandwidth consumption while maintaining data redundancy and reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If cache data is mirrored between storage controllers, then data redundancy is improved, but system overhead and processing resources increase

Engineering Contradiction:
Improvedata redundancyVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the mirroring operation from the storage controller's processing workload and assigns it to local SCM devices. The SCM devices independently manage their own cache mirroring, freeing storage controllers from the overhead of managing remote mirror copies while maintaining full data redundancy capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If cache space is reserved for mirroring, then data redundancy is maintained, but cache availability for I/O requests decreases

Engineering Contradiction:
Improvedata redundancyVSAvoidcache availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the mirroring function to local SCM devices, allowing storage controllers to use their entire cache capacity for I/O request processing. The SCM devices maintain separate mirror copies, so no cache space needs to be reserved at the controller level, maximizing cache availability and I/O performance.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If synchronous mirroring is performed between storage controllers, then data redundancy is ensured, but write performance is degraded

Engineering Contradiction:
Improvedata redundancyVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent extracts the synchronous mirroring operation from the critical write path and performs it locally at attached SCM devices. This eliminates the need for inter-controller communication during write operations, ensuring data redundancy without degrading write performance, as the mirroring occurs in parallel without blocking the main I/O path.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9836404B2Write mirroring to storage class memory devices
Publication Date: 2017.12.05 NETAPP INC
  • US9836404B2 patent drawing
  • US9836404B2 patent drawing
  • US9836404B2 patent drawing

AI summary

Systems and techniques are disclosed for the mirroring of cache data from a storage controller to a storage class memory (“SCM”) device. The storage controller receives a write request, caches the write data, and mirrors the write data to the SCM device instead of to a cache of another storage controller. The SCM device stores the mirrored data in the SCM device. The storage controller acknowledges the write to the host. If the storage controller later fails, an alternate controller assumes ownership of storage volumes associated with the failed controller. Upon receipt of a new read request to the failed controller, the alternate controller checks the SCM device for a cache hit. If there is, the data is read from the SCM device; otherwise, it is read from the storage volume(s). The read data is cached at the alternate controller and then sent on to the requesting host.