Cache Eviction Module Access Metrics Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cache devices are inefficient due to admission of less-frequently accessed data, which consumes limited capacity and excludes more frequently accessed data, leading to performance degradation and missed potential benefits in input/output operations.

Innovation Solution

A cooperative cache management system that includes a storage module, a cache module, and a cache eviction module to track access metrics and evict data based on these metrics, ensuring that frequently accessed data is retained and less frequently accessed data is removed, using access metadata to determine eviction thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If less-frequently accessed data is admitted to cache, then cache capacity is utilized, but frequently accessed data is excluded and performance degrades

Engineering Contradiction:
Improvecache capacity utilizationVSAvoidinput/output performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system continuously monitors access metrics for data in the backing store and uses this feedback to dynamically adjust cache admission decisions. The cache eviction module receives access metrics from the cache module and uses them to determine which data to evict or retain, creating a closed-loop control system that adapts to changing access patterns and prevents cache poisoning

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache management system serves itself by automatically monitoring its own performance metrics and making eviction decisions without external intervention. The cache module tracks access characteristics of logical identifiers, and the eviction module autonomously determines which data to remove based on these metrics, enabling the system to self-optimize its cache contents

Inventive Principle:
Principle #25Self-service

2Productivity

If data is evicted from non-volatile storage device, then cache performance is optimized, but storage recovery operations become more complex

Engineering Contradiction:
Improvecache performanceVSAvoidstorage recovery complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by maintaining access metrics for all data in the backing store before storage recovery operations are needed. This pre-collected access information is stored and readily available, so when recovery operations occur, the system can quickly determine which data to retain without complex real-time analysis during the recovery process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of access metrics that mediate between the cache management decisions and the storage recovery operations. These metrics serve as a communication bridge, allowing the eviction module to make informed decisions about which data to retain during recovery without directly complex interactions between cache management and storage subsystems

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10102117B2Systems and methods for cache and storage device coordination
Publication Date: 2018.10.16 SANDISK TECHNOLOGIES LLC
  • US10102117B2 patent drawing
  • US10102117B2 patent drawing
  • US10102117B2 patent drawing

AI summary

A cache module leverages storage metadata to cache data of a backing store on a non-volatile storage device. The cache module maintains access metadata pertaining to access characteristics of logical identifiers in the logical address space, including access characteristics of un-cached logical identifiers (e.g., logical identifiers associated with data that is not stored on the non-volatile storage device). The access metadata may be separate and/or distinct from the storage metadata. The cache module determines whether to admit data into the cache and/or evict data from the cache using the access metadata. A storage module may provide eviction candidates to the cache module. The cache module may select candidates for eviction. The storage module may leverage the eviction candidates to improve the performance of storage recovery and/or grooming operations.