Dynamic Cache Pool Management for Read and Write Hit Rates

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecache management simplicityVSAvoidcache hit rate
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveavailable storage capacityVSAvoidcache hit rate
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvecache functionalityVSAvoidstorage capacity utilization
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9141527B2Managing cache pools
Publication Date: 2015.09.22 SANDISK TECHNOLOGIES LLC
  • US9141527B2 patent drawing
  • US9141527B2 patent drawing
  • US9141527B2 patent drawing

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.