Storage Proxy Cache Eviction Using Profitability Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current caching systems, employing LRU and LFU schemes, often invalidate data inefficiently, leading to slower memory access times due to unforeseen interactions between multiple cache layers and inefficient data replacement policies.
Innovation Solution
A storage proxy system that uses a cache resource with an array of cache lines, employing a combination of LRU, LFU, and access time profitability schemes to determine which data to evict, thereby optimizing cache management and reducing access times by prioritizing data based on access times and clustering data blocks for efficient retrieval.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If LRU or LFU schemes are used for cache replacement, then cache management is simplified, but memory access times increase due to inefficient data retention
Solution Approach 1:
The patent changes the parameter used for cache replacement from simple recency (LRU) or frequency (LFU) to a profitability metric that combines access frequency with access time savings. This parameter transformation allows the system to prioritize evicting data that provides minimal performance benefit, thereby reducing memory access times while maintaining manageable cache operation through a unified scoring system.
2Quantity of substance
If multiple cache layers are used, then cache capacity is increased, but unforeseen interactions cause inefficiencies and increased access times
Solution Approach 1:
The patent implements a feedback mechanism where the profitability metric is dynamically calculated based on actual access patterns and access times observed in the multi-layer cache system. This feedback loop allows each cache layer to adapt its eviction decisions based on real performance data, preventing the unforeseen interactions that typically arise in multi-layer caches by coordinating eviction decisions across layers based on actual measured profitability.
Data Source
AI summary
A storage proxy loads cache lines with data from a storage device. Storage access requests are received from an initiator and directed to the storage device. The storage proxy provides the data from the cache lines in response to cache hits on the cache lines, and provides the data from the storage device in response to cache misses on the cache lines. Hit access times are identified for the cache lines in response to the cache hits and miss access times are identified for the storage device in response to cache misses. Data in the cache lines is updated with data from the storage device based on the hit access times and the miss access times associated with the cache lines.


