Priority-Based Cache Segmentation for Data Retention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache management systems, such as those used in enterprise applications, often replace frequently used data items when their capacity is exceeded, leading to performance issues due to the lack of consideration for data item context and usage patterns.

Innovation Solution

Implementing a priority cache system with logically divided cache regions, each associated with a unique priority level, where data items are stored using a least recently used (LRU) linked list structure, allowing for promotion and demotion based on usage, and using a hash table for efficient lookup and management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a standard LRU cache replacement policy is used, then cache capacity is efficiently utilized, but frequently used data items may be replaced by new data items

Engineering Contradiction:
Improvecache utilization efficiencyVSAvoiddata item retention accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The cache is segmented into multiple regions, each associated with a different priority level. Data items are divided and stored in different regions based on their priority, allowing the system to differentiate between critical and non-critical data retention needs while maintaining overall cache efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the cache are assigned different quality characteristics based on priority levels. High-priority regions protect frequently accessed data from replacement, while lower-priority regions allow more aggressive replacement policies, creating local quality variations within the cache structure

Inventive Principle:
Principle #3Local quality

2Reliability

If cache capacity is increased to retain more data items, then performance improves, but system resource consumption increases

Engineering Contradiction:
Improvedata access performanceVSAvoidmemory resource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system changes the parameter of cache allocation by introducing priority levels and associated weights. Instead of uniform allocation, high-priority data items receive disproportionate cache space allocation based on their importance, optimizing performance without linearly increasing total cache size

Inventive Principle:
Principle #35Parameter changes

3Reliability

If a priority-based cache system is implemented, then frequently accessed data items are retained, but cache management complexity increases

Engineering Contradiction:
Improvedata item retention accuracyVSAvoidcache management system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cache system automatically determines priority levels and manages data item placement without requiring complex external intervention. The application can optionally provide priority hints, but the system also autonomously tracks access patterns to determine priority, reducing management overhead while maintaining effectiveness

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10942866B1Priority-based cache
Publication Date: 2021.03.09 EMC IP HLDG CO LLC
  • US10942866B1 patent drawing
  • US10942866B1 patent drawing
  • US10942866B1 patent drawing

AI summary

Disclosed are systems and methods for using a priority cache to store frequently used data items by an application. The priority cache may include multiple cache regions. Each of the cache regions may be associated with a different priority level. When a data item is to be stored in the priority cache, the application may review the context of the data item to determine if the data item may be used again in the near future. Based on that determination, the application may be configured to assign a priority level to the data item. The data item may then be stored in the appropriate cache region according to its assigned priority level.