Self-adjusting Cache System for Data Access Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing caching systems face challenges in accurately identifying frequently accessed data to optimize cache usage, leading to wasted space and performance issues when infrequently accessed data is loaded into the cache.

Innovation Solution

A self-adjusting caching system that gathers statistics on host requests, adjusts parameters based on these statistics, and uses a heat index to prioritize data storage and retrieval, promoting frequently accessed data and demoting infrequently accessed data to optimize cache performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is loaded into the cache without accurate detection of frequently accessed data, then cache space is wasted and performance is negatively impacted, but the system lacks the capability to accurately detect frequently accessed data from host commands

Engineering Contradiction:
Improvecache performanceVSAvoiddetection of frequently accessed data
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system implements a feedback mechanism where access statistics are gathered from host commands, processed to identify frequently accessed data, and used to adjust cache loading decisions. This closed-loop approach enables the system to learn from actual access patterns and make more accurate cache management decisions, resolving the contradiction between cache performance and detection capability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The caching system performs self-adjustment by automatically gathering its own access statistics, analyzing them to identify frequently accessed data, and using this information to optimize its own operation. This self-service capability eliminates the need for external intervention while improving both detection accuracy and cache performance simultaneously.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If infrequently accessed data is loaded into the cache, then cache space is wasted, but the system cannot distinguish between frequently and infrequently accessed data

Engineering Contradiction:
Improvecache space utilizationVSAvoidaccess frequency measurement
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The system replaces simple mechanical cache loading with a sophisticated statistical analysis mechanism. By gathering and processing access statistics from host commands, the system can precisely measure access frequencies and make informed decisions about which data to load into cache, thereby improving both space utilization and measurement precision.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system dynamically changes its behavior based on measured parameters (access frequencies). By adjusting cache loading decisions based on actual access patterns, the system optimizes space utilization for frequently accessed data while excluding infrequently accessed data, thus resolving the contradiction between quantity and measurement precision.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the system gathers and processes access statistics to adjust cache parameters, then cache performance is optimized, but the device complexity increases

Engineering Contradiction:
Improvecache efficiencyVSAvoidcontroller operations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary gathering and processing of access statistics during normal operation, so that when cache loading decisions need to be made, the necessary information is already available. This advance preparation reduces the complexity of real-time decision-making while maintaining high cache efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller is designed to perform multiple functions: gathering access statistics, processing this information, and using it to adjust cache parameters. By making the controller multi-functional, the system avoids adding separate dedicated components, thus improving productivity while minimizing the increase in device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9886386B2Self-adjusting caching system
Publication Date: 2018.02.06 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9886386B2 patent drawing
  • US9886386B2 patent drawing
  • US9886386B2 patent drawing

AI summary

An apparatus having a cache and a controller is disclosed. The controller is configured to (i) gather a plurality of statistics corresponding to a plurality of requests made from one or more hosts to access a memory during an interval, (ii) store data of the requests selectively in the cache in response to a plurality of headers and (iii) adjust one or more parameters in the headers in response to the statistics. The requests and the parameters are recorded in the headers.