Cache Memory Eviction via Retrieval Metadata
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache memories lose effectiveness when overloaded, particularly during events like boot storms that cause sudden increases in cache utilization, leading to eviction of more popular data to make space for temporary data that may not be needed after the event.
Innovation Solution
A method that involves storing retrieval metadata for frequently used data before evicting it during cache memory consuming events, allowing for efficient retrieval back into the cache once the event ends, thereby maintaining performance and reducing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If cache memory is used to store frequently accessed data to reduce latency, then data access speed is improved, but cache memory becomes overloaded during events like boot storms causing popular data to be evicted
Solution Approach 1:
The system performs preliminary actions by storing retrieval metadata for popular data before cache memory consuming events occur. When a boot storm or similar event is detected, the system has already prepared the metadata needed to quickly restore popular data to cache memory after the event, preventing complete cache eviction and maintaining fast access paths for critical data.
Solution Approach 2:
The system introduces retrieval metadata as an intermediary mechanism between permanent storage and cache memory. This metadata acts as a bridge that enables rapid data restoration to cache memory without requiring full data transfer from permanent storage, thus maintaining cache effectiveness during high-load events while managing limited cache capacity.
2Productivity
If cache memory stores temporary data during consuming events, then cache utilization increases, but popular data is evicted and must be retrieved from permanent storage increasing latency
Solution Approach 1:
The system performs preliminary actions by pre-storing retrieval metadata for popular data before consuming events occur. This metadata contains essential information needed to quickly restore data to cache memory, so when popular data needs to be evicted and restored, the system can do so rapidly using the pre-prepared metadata, minimizing latency.
Solution Approach 2:
The system changes the state of data by maintaining it in two different forms: full data in permanent storage and compressed retrieval metadata in cache memory. This parameter change allows the system to achieve high cache utilization with metadata while enabling rapid restoration of popular data, effectively managing both cache utilization and retrieval latency.
3Quantity of substance
If cache memory is cleared of popular data to make space for temporary data, then cache memory can accommodate more data during events, but performance degrades when popular data needs to be accessed
Solution Approach 1:
The system uses retrieval metadata as an intermediary that preserves the ability to access popular data even when the actual data is evicted from cache memory. This metadata acts as a placeholder that enables reliable and rapid restoration of popular data, maintaining data access reliability while allowing cache memory capacity to be used for temporary data during consuming events.
Solution Approach 2:
The system creates a copy of essential retrieval information (metadata) that is stored in cache memory while the actual popular data may be evicted to permanent storage. This copying approach allows the system to maintain cache capacity for temporary data while preserving the ability to quickly restore popular data, thus maintaining reliability without sacrificing capacity.
Data Source
AI summary
A method for managing a cache memory of a storage system, the method may include storing a first retrieval metadata of a first data that is cached in the cache memory, in response to an expected or an actual occurrence of a cache memory consuming event; wherein the cache memory consuming event involves storing second data in the cache memory for a second caching period; replacing, in the cache memory, the first data by the second data; wherein the second caching period is a fraction of a first caching period associated with the first data; and evicting the second data from the cache memory and retrieving the first data to the cache memory in response to an actual or estimated end of the cache memory consuming event; wherein the retrieving of the first data involves retrieving the first data from a storage unit that differs from the cache memory while using the first retrieval metadata.


