Cache Eviction Based on Data Type and Storage Location

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional storage systems fail to leverage temporal locality, resulting in inefficient cache utilization due to inappropriate cache eviction policies, which leads to suboptimal performance as live data is evicted before backup data, even if the live data is likely to be re-accessed soon.

Innovation Solution

Implement a cache eviction strategy that considers both the least recently used (LRU) and temporal locality principles, where cache slots are evicted based on their relevance and timestamp, ensuring that live data is retained longer by marking relevant data for normal eviction and less relevant data for immediate eviction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional aging algorithm is used for cache eviction, then cache slots are freed based on oldest data, but live data is evicted before backup data leading to inefficient cache utilization

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoiddata retention accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by differentiating cache slot behavior based on data type. Live data cache slots are marked with a first behavior (retained longer) while backup data cache slots are marked with a second behavior (evicted sooner). This localized differentiation within the cache system resolves the contradiction by ensuring that not all cache slots are treated uniformly, but rather according to the specific needs of the data they contain.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If simple LRU policy is used, then cache management is straightforward, but temporal locality is not leveraged resulting in suboptimal performance

Engineering Contradiction:
Improvecache management simplicityVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent changes the eviction policy parameter from a simple time-based LRU approach to a type-based differentiation approach. By introducing data type classification (live data vs. backup data) and assigning different eviction behaviors to each type, the system maintains operational simplicity while significantly improving performance by leveraging temporal locality patterns specific to different data types.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If cache size is kept small for cost efficiency, then storage costs are reduced, but cache hits decrease leading to slower access times

Engineering Contradiction:
Improvecache sizeVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent changes the eviction parameter from uniform aging to type-based differentiation, which optimizes the utilization of the existing small cache size. By retaining live data longer and evicting backup data sooner, the system maximizes the value derived from each cache slot, thereby maintaining high access speeds despite limited cache capacity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9569367B1Cache eviction based on types of data stored in storage systems
Publication Date: 2017.02.14 EMC IP HLDG CO LLC
  • US9569367B1 patent drawing
  • US9569367B1 patent drawing
  • US9569367B1 patent drawing

AI summary

Exemplary methods for improving cache utilization include in response to receiving a request to store data, storing the data in one of a plurality of cache slots of a cache. In one embodiment, the methods further include after storing the data, setting a status of the cache slot as write pending to indicate that the cache slot contains data which needs to be written to a corresponding destination storage device. The methods include determining an eviction type of the cached data based on whether the destination storage device is a local storage device or a remote storage device. In one embodiment, after copying data from the cache slot to the corresponding destination storage device, marking the cache slot with the determined eviction type. In response to receiving another request to store data, evicting at least one of the cache slots based on the eviction type.