Self-tuning Cache with Dynamic Hit Score Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cache management systems face challenges in dynamically determining which data to cache and when to evict data, as they fail to adapt effectively to the dynamic nature of hit ratio patterns over time, leading to inefficiencies in data access and storage.

Innovation Solution

The solution involves defining caching categories, dynamically evaluating and associating data units with these categories based on access request parameters, and adjusting the caching decision based on hit scores, where data units with higher hit scores are cached and those with lower scores are evicted, ensuring optimal cache utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data units are cached in the cache memory to shorten data access times, then data access speed is improved, but cache memory resources are consumed and may lead to cache misses when cache capacity is limited

Engineering Contradiction:
Improvedata access speedVSAvoidcache memory resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the cache management into multiple independent caching categories (e.g., frequently accessed, occasionally accessed, rarely accessed data units). Each category is managed separately with its own eviction policy, allowing the system to optimize cache utilization for different data types without compromising overall cache capacity. This segmentation enables the system to maintain high-speed access for critical data while efficiently managing limited cache resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically changes the caching parameters (such as hit score thresholds, eviction priorities, and category assignments) based on observed access patterns and performance metrics. By adjusting these parameters in response to changing workloads, the system optimizes the balance between data access speed and cache resource utilization, ensuring that the most valuable data units are retained in the cache while less critical data is evicted to make room for new entries.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If the cache memory stores a group of oldest cached data units, then data access latency is reduced for frequently accessed data, but the cache cannot adapt effectively to dynamic hit ratio patterns over time

Engineering Contradiction:
Improvedata access latencyVSAvoidadaptability to dynamic hit ratio patterns
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic cache management where caching categories, hit scores, and eviction decisions are continuously updated based on real-time access patterns and performance metrics. The system transitions from static cache allocation to dynamic adaptation, allowing it to respond to changing workload characteristics and hit ratio patterns. This dynamics enables the cache to maintain low access latency for currently relevant data while automatically adapting to new access patterns as they emerge.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms that monitor cache performance metrics (such as hit ratios, access frequencies, and latency measurements) and use this information to adjust caching decisions. The system continuously evaluates the performance of different caching categories and modifies its behavior accordingly, creating a closed-loop control system that adapts to dynamic conditions. This feedback-driven approach ensures that the cache remains optimized for current access patterns while maintaining low data access latency.

Inventive Principle:
Principle #23Feedback

3Productivity

If the cache memory evicts data units with lower hit scores, then cache efficiency is improved, but the system complexity increases due to dynamic evaluation and category management

Engineering Contradiction:
Improvecache efficiencyVSAvoidsystem complexity for dynamic evaluation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the complex cache management task into manageable caching categories, each with simplified eviction rules. Instead of implementing a single complex eviction algorithm for all data, the system divides data into categories (such as hot, warm, and cold data) and applies appropriate eviction strategies to each segment. This segmentation reduces the overall system complexity by breaking down the decision-making process into smaller, more manageable components while maintaining high cache efficiency through category-specific optimization.

Inventive Principle:
Principle #1Segmentation

4Reliability

If the cache memory prioritizes data units with higher access probabilities, then hit ratios are improved, but the difficulty of determining caching categories and hit scores increases

Engineering Contradiction:
Improvehit ratioVSAvoiddifficulty of determining caching categories
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies preliminary actions by pre-defining caching categories and establishing initial hit score calculation methods before actual cache operations begin. The system pre-establishes the framework for category assignment and performance evaluation, including baseline metrics and classification criteria. This preliminary setup simplifies subsequent operations by providing a structured approach to category determination and hit score evaluation, reducing the difficulty of these tasks during dynamic cache management while maintaining high hit ratios through proactive optimization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11281587B2Self-tuning cache
Publication Date: 2022.03.22 INFINIDAT LTD
  • US11281587B2 patent drawing
  • US11281587B2 patent drawing
  • US11281587B2 patent drawing

AI summary

A method for managing a cache memory of a storage system, the method may include receiving, by a controller of the storage system, an access request related to a data unit; wherein the receiving occurs while (a) the cache memory stores a group of oldest cached data units, and (b) the data unit is stored in a memory module of the storage system the differs from the cache memory; determining, by the controller, a caching category of the data unit; and preventing from caching the data unit in the cache memory when a hit score of the caching category of the data unit is lower than a hit score of the group of oldest cached data units; and caching the data unit in the cache memory when the hit score of the caching category of the data unit is higher than the hit score of the group of oldest cached data units; wherein the hit score of the caching category of the data unit is indicative of a probability of a cache hit per data unit of the caching category.