Storage Controller Cache Failover via Pre-fetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face performance degradation when a cache memory fails, as the loss of fast access to frequently accessed data leads to increased latency in I/O operations, despite the data being recoverable from permanent storage.

Innovation Solution

A method where a storage controller retrieves and pre-fetches a subset of cached data units from permanent storage to a secondary cache memory, prioritizing top priority data to maintain system performance upon cache memory failure, using retrieval information to manage and update data locations across different cache memories.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a single cache memory is used to store frequently accessed data, then fast access performance is improved, but system reliability deteriorates when the cache memory fails

Engineering Contradiction:
Improvedata access speedVSAvoidsystem performance reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent divides the cache storage function across multiple cache memories (first cache memory and second cache memory) rather than relying on a single cache. When the first cache memory fails, the second cache memory can take over to provide backup access to cached data, thus maintaining system reliability while preserving fast access performance through the redundant cache structure

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system pre-establishes a backup cache memory (second cache memory) that can serve as a cushion or safety net against cache memory failures. By having this backup ready in advance, the system can tolerate cache failures without significant performance degradation, as the backup cache is already prepared to assume the caching function when needed

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Speed

If cached data is stored only in volatile cache memory, then access speed is improved, but data loss occurs when cache memory fails

Engineering Contradiction:
Improvedata access speedVSAvoidcached data loss
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent creates a redundant copy of the cached data by storing identical copies in both the first cache memory and the second cache memory. This copying approach ensures that if one cache memory fails, the data can be retrieved from the other cache memory without loss, while maintaining fast access performance through the volatile cache structure

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes the state parameter of cached data from purely volatile (single cache) to a hybrid state where data exists in volatile cache form for speed but with redundant storage capability. By modifying how data is stored (creating copies in multiple caches rather than storing originals in permanent storage), the system achieves both fast access and protection against data loss

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10503645B1Data protection
Publication Date: 2019.12.10 INFINIDAT LTD
  • US10503645B1 patent drawing
  • US10503645B1 patent drawing
  • US10503645B1 patent drawing

AI summary

A method for providing fast access, the method may include obtaining, by a first storage controller of a storage system, retrieval information for retrieving, from a permanent storage space, a subset of cached data units, the subset of the cached data units forms a part of a set of cached data units that are cached in a first cache memory and were destaged to the permanent storage space; and retrieving, using the retrieval information, at least some of the cached data units of the subset from the permanent storage space to a second cache memory, wherein the retrieving occurs in response to an occurrence of a failure to access the first cache memory; wherein the second cache memory differs from the first cache memory.