Cache Rebuilds Using Tracking Data for Logical Block Addresses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face latency and throughput issues due to the failure of cache devices, leading to the invalidation and removal of cache data, which results in a slow rebuilding process of 'hot' data accessed frequently by the host.

Innovation Solution

The system utilizes tracking data from a failed cache device to identify and rebuild cache entries on a new device, allowing for quick and efficient restoration of cache data by correlating logical block addresses with cache entries and populating new cache entries with data from persistent storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache data is invalidated and removed when a cache device fails, then data consistency and system reliability are maintained, but the time required to rebuild cache data increases significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidcache rebuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by maintaining tracking data that maps cache entries to logical block addresses before cache device failure. When failure occurs, this pre-collected mapping information enables immediate identification of hot data blocks that need to be rebuilt, eliminating the need to scan entire storage volumes during recovery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system copies the tracking data mapping relationships from the failed cache device to the new cache device. This copying of metadata (tracking data) rather than all actual data enables rapid reconstruction of cache entries by directly copying the mapping information and then only copying the actual hot data blocks that were identified through this tracking data.

Inventive Principle:
Principle #26Copying

2Productivity

If traditional cache rebuilding methods are used without tracking data, then system complexity is reduced, but the productivity of cache recovery decreases

Engineering Contradiction:
Improvecache recovery speedVSAvoidtracking data management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The tracking data structure serves multiple functions: it maps cache entries to logical block addresses, identifies hot data blocks, and provides recovery guidance. This multi-functional tracking mechanism consolidates what would otherwise require separate systems for cache management, data identification, and recovery operations into a single unified structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The tracking data enables the cache system to self-identify and self-rebuild its own hot data blocks without external intervention. The system automatically analyzes tracking data to determine which blocks need rebuilding and coordinates the recovery process, eliminating the need for manual cache reconstruction procedures.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9280478B2Cache rebuilds based on tracking data for cache entries
Publication Date: 2016.03.08 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9280478B2 patent drawing
  • US9280478B2 patent drawing
  • US9280478B2 patent drawing

AI summary

Methods and structure are provided for rebuilding cache data from a failed cache device based on tracking data for the failed cache device. The system includes a memory and a cache manager. The memory stores tracking data that correlates entries at a cache with logical block addresses of a logical volume. The cache manager is able to determine that a device implementing the cache has failed and to analyze the tracking data to identify logical block addresses correlated with cache entries from the failed cache device. The cache manager is further able to generate new cache entries at a new cache device, and to populate the new cache entries with data from the identified logical block addresses.