Flash Cache Index Rebuild via Container Header Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for rebuilding an index in a flash cache are inefficient due to high churn and limited endurance of flash memory, leading to performance degradation and increased I/O costs, as frequent index updates consume writes and require time-consuming cache scans.

Innovation Solution

The method involves storing data in containers with headers that include metadata for indexing, allowing parallel thread reading of headers to rebuild the index, enabling partial index reconstruction and parallel insertion of data segments while maintaining cache availability, and using a cache status header to manage cache state and region allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the index is stored in the flash cache instead of memory, then the index can be persisted across restarts and avoid rebuilding, but the flash cache experiences high churn and write consumption that degrades performance and limits endurance

Engineering Contradiction:
Improveindex persistence across restartsVSAvoidflash cache endurance
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent segments the index into two parts: a persistent index stored in flash cache that survives restarts, and a volatile index stored in memory for fast updates during operation. This segmentation allows the system to maintain persistence without subjecting the entire flash cache to high write churn, as only the persistent index portion is updated on restart.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by pre-populating the persistent index in flash cache before system restart. This allows the index to be persisted in advance, eliminating the need to rebuild it after restart and reducing the write churn that would otherwise occur during index reconstruction.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the entire flash cache is scanned to rebuild the index in memory, then the index can be reconstructed, but the process consumes significant I/O resources and time that negatively impacts flash cache performance

Engineering Contradiction:
Improveindex reconstruction capabilityVSAvoidflash cache performance during rebuild
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts only the necessary index information from the flash cache during rebuild operations, rather than scanning the entire cache. By selectively reading only the portions of the cache containing index data, the system reconstructs the index with minimal I/O consumption, preserving flash cache performance for other operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by performing a partial scan of the flash cache during index rebuild, focusing only on the regions containing index data rather than the entire cache. This reduces the time and I/O resources required for reconstruction while still achieving complete index recovery.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of information

If frequent index updates are performed in the flash cache, then the index remains current, but the limited write endurance of flash memory is consumed rapidly

Engineering Contradiction:
Improveindex update frequencyVSAvoidflash memory write endurance
Core Design Contradiction:
Loss of informationVSDuration of action of stationary object

Solution Approach 1:

The patent implements dynamics by using different update strategies for the persistent and volatile index portions. The volatile index in memory accepts frequent updates without consuming flash writes, while the persistent index in flash is updated less frequently, only when necessary to maintain persistence. This dynamic approach preserves flash write endurance while keeping the index current through the volatile portion.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11106586B2Systems and methods for rebuilding a cache index
Publication Date: 2021.08.31 EMC IP HLDG CO LLC
  • US11106586B2 patent drawing
  • US11106586B2 patent drawing
  • US11106586B2 patent drawing

AI summary

Systems and methods for rebuilding an index for a flash cache are provided. The index is rebuilt by reading headers of containers stored in the cache and inserting information from the headers into the index. The index is enabled while being rebuild such that lookup operations can be performed using the index even when the index is incomplete. New containers can be inserted into used or unused regions of the cache while the index is being rebuilt.