Dynamic Cache Pool Management for Read and Write Hit Rates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache systems face inefficiencies due to static division of storage capacity between read and write data, leading to increased cache misses and suboptimal use of storage capacity, as they fail to dynamically balance data pools based on user working sets and request patterns.
Innovation Solution
A method and system that dynamically adjust the sizes of read and write data pools in a cache by monitoring storage requests, evicting data based on pool size differences, and destaging data to optimize read and write hit rates, utilizing modules like storage request, read pool, eviction, and destage modules to maintain metadata for evicted data and adjust pool sizes dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a static division of cache capacity between read data and write data is used, then the cache structure is simple and easy to manage, but the cache efficiency decreases when the static division does not reflect the user's working data set
Solution Approach 1:
The patent implements dynamic pool size adjustment where the read pool and dirty write pool sizes are continuously adapted based on monitored storage requests. The system calculates target pool sizes dynamically and adjusts actual pool sizes by selecting data for eviction based on the difference between target and actual sizes, transforming the static cache structure into a dynamic one that adapts to changing workload patterns.
Solution Approach 2:
The system changes the parameter of pool sizes from fixed to variable. By monitoring storage requests and calculating target read pool size and target dirty write pool size based on actual usage patterns, the system continuously adjusts the size parameters of cache pools to optimize performance for different workload conditions.
2Quantity of substance
If data is evicted from cache to free up storage capacity, then room is created for additional cached data, but the wrong data eviction increases cache misses and decreases cache efficiency
Solution Approach 1:
The patent applies different eviction strategies to different data pools (read pool vs. dirty write pool). The system selectively evicts data from specific pools based on their individual characteristics and current state, rather than using a uniform eviction approach. This local differentiation allows optimal eviction decisions for each pool type while maintaining overall cache efficiency.
Solution Approach 2:
The system implements feedback through continuous monitoring of storage requests and adjustment of pool sizes based on observed patterns. By monitoring which data is accessed and how frequently, the system learns from past behavior and adjusts eviction decisions accordingly, ensuring that frequently accessed data is retained while less important data is evicted.
3Adaptability or versatility
If the cache device stores both read data and write data, then the cache is more versatile, but the available storage capacity is shared and may be inefficiently used if not dynamically balanced
Solution Approach 1:
The patent creates a dynamic balance between read pool and dirty write pool capacities. The system continuously monitors storage requests and adjusts the size allocation between the two pools based on actual usage patterns, ensuring that the versatile cache structure efficiently utilizes available storage capacity for both read and write operations simultaneously.
Data Source
AI summary
Apparatuses, systems, and methods are disclosed for managing cache pools. A storage request module monitors storage requests received by a cache. The storage requests include read requests and write requests. A read pool module adjusts a size of a read pool of the cache to increase a read hit rate of the storage requests. A dirty write pool module adjusts a size of a dirty write pool of the cache to increase a dirty write hit rate of the storage requests.


