Level Two Cache Management Using Dynamic Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache management techniques, such as first-in-first-out methodologies, lead to data access inefficiencies as they evict data regardless of its access frequency, potentially removing beneficial data from the level 2 cache, which can result in reduced cache performance.

Innovation Solution

Implementing a Most Recently Used (MRU) caching scheme at the data chunk level, where the cache list is reordered based on temporal access, ensuring that frequently accessed data is retained and evicted last, thereby optimizing cache performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If first-in-first-out cache management is used, then cache eviction is simple to implement, but frequently accessed data may be evicted leading to reduced cache performance

Engineering Contradiction:
Improveease of implementationVSAvoidcache performance
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The cache list is dynamically reordered based on access patterns. When a cache hit is detected, the corresponding entry is moved to a new position in the cache list, transforming the static FIFO structure into a dynamic one that adapts to actual data access behavior, thereby improving cache performance while maintaining implementation simplicity

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If data is evicted from cache when cache is full, then cache capacity is maintained, but beneficial data may be lost reducing cache effectiveness

Engineering Contradiction:
Improvecache capacityVSAvoidcache effectiveness
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system uses access pattern feedback to guide eviction decisions. By monitoring cache hits and reordering the cache list based on these observations, the system learns which data is beneficial and prioritizes its retention, making eviction decisions that preserve cache effectiveness while maintaining capacity constraints

Inventive Principle:
Principle #23Feedback

3Productivity

If cache list is reordered on every cache hit, then frequently accessed data is retained, but additional processing overhead is introduced

Engineering Contradiction:
Improvedata access efficiencyVSAvoidprocessing overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache list reordering is applied selectively rather than universally. The system reorders entries based on detected cache hits, applying the reordering action only when beneficial (on cache hits) rather than on every access, thus improving data access efficiency while limiting the processing overhead to specific conditions

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9779027B2Apparatus, system and method for managing a level-two cache of a storage appliance
Publication Date: 2017.10.03 ORACLE INT CORP
  • US9779027B2 patent drawing
  • US9779027B2 patent drawing
  • US9779027B2 patent drawing

AI summary

Aspects of the present disclosure disclose systems and methods for managing a level-two persistent cache. In various aspects, a solid-state drive is employed as a level-two cache to expand the capacity of existing caches. In particular, any data that is scheduled to be evicted or otherwise removed from a level-one cache is stored in the level-two cache with corresponding metadata in a manner that is quickly retrievable. The data contained within the level-two cache is managing using a cache list that manages and/or maintains data chunk entries added to the level-two cache based on a temporal access of the data chunk.