Selective Read Cache Retention for Rebooted Storage Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiple-node storage clusters, the local READ cache of a temporarily disabled node becomes stale or invalid due to ongoing data transfers by other nodes, requiring a time-consuming rebuild of the cache upon reboot, which degrades node performance.

Innovation Solution

A system and method that tracks data transfers between active nodes and cached regions when a node is disabled, allowing the cache manager to retain a valid portion of cache data, thereby avoiding a full cache rebuild upon reboot.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the local READ cache is completely rebuilt after node reboot, then cache data validity is ensured, but cache rebuild time and processing power increase significantly

Engineering Contradiction:
Improvecache data validityVSAvoidcache rebuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary tracking of data transfers during the node downtime. The cache manager monitors and records which cache regions are modified by other nodes while the first node is disabled, so that upon reboot, only the necessary cache portions need to be invalidated rather than the entire cache being rebuilt.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of treating the entire cache uniformly, the system applies different validity assessments to different cache regions. Each cache region is independently evaluated based on whether it was modified by other nodes, allowing selective retention of valid cache data while invalidating only the affected portions.

Inventive Principle:
Principle #3Local quality

2Reliability

If the local READ cache is completely rebuilt after node reboot, then stale cache data is eliminated, but node performance during reboot degrades

Engineering Contradiction:
Improvecache data freshnessVSAvoidnode performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache manager performs preliminary tracking of data transfers to cached regions while the node is disabled. This advance preparation allows the system to quickly identify and invalidate only the necessary cache portions upon reboot, rather than performing a time-consuming complete cache rebuild, thus maintaining node performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system performs partial cache invalidation rather than complete cache rebuild. By tracking which specific cache regions were modified by other nodes, the system invalidates only those specific portions that became stale, leaving the rest of the cache intact and usable, thereby maintaining node performance during and after reboot.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If cache data is retained after node reboot, then cache rebuild time is reduced, but risk of using stale cache data increases

Engineering Contradiction:
Improvecache rebuild timeVSAvoidcache data validity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The cache manager implements a feedback mechanism by tracking data transfers from other nodes to cached regions. This tracking information provides feedback about which cache regions have become stale, enabling the system to make informed decisions about cache retention and invalidation, thus balancing cache rebuild time reduction with cache data validity assurance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system uses the tracked transfer information as feedback to selectively invalidate cache regions. The cache manager receives information about which regions were modified by other nodes and uses this feedback to invalidate only those specific regions, allowing retention of valid cache data while ensuring stale data is eliminated.

Inventive Principle:
Principle #23Feedback

4Reliability

If complete cache invalidation is performed, then cache consistency is maintained, but processing power and time are wasted

Engineering Contradiction:
Improvecache consistencyVSAvoidprocessing power
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system applies local quality by treating different cache regions differently based on their validity status. Instead of uniformly invalidating the entire cache, the system identifies and invalidates only the specific regions that were modified by other nodes, conserving processing power while maintaining cache consistency for the regions that remain valid.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs partial cache invalidation rather than complete cache invalidation. By using tracking information to identify only the necessary cache regions that became stale, the system invalidates only those specific portions, avoiding the waste of processing power that would result from invalidating the entire cache when only portions are actually stale.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9058274B2System and method of selective READ cache retention for a rebooted node of a multiple-node storage cluster
Publication Date: 2015.06.16 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9058274B2 patent drawing
  • US9058274B2 patent drawing
  • US9058274B2 patent drawing

AI summary

The disclosure is directed to a system and method for managing READ cache memory of at least one node of a multiple-node storage cluster. According to various embodiments, a cache data and a cache metadata are stored for data transfers between a respective node (hereinafter “first node”) and regions of a storage cluster. When the first node is disabled, data transfers are tracked between one or more active nodes of the plurality of nodes and cached regions of the storage cluster. When the first node is rebooted, at least a portion of valid cache data is retained based upon the tracked data transfers. Accordingly, local cache memory does not need to be entirely rebuilt each time a respective node is rebooted.