Cache Memory Data Management Using Bloom Filter History Profile

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional cache memory systems face challenges in retaining data with temporal and spatial locality, leading to reduced performance due to evictions caused by scanning and thrashing phenomena, resulting in low hit ratios and inability to track cache hit history in exclusive cache memories.

Innovation Solution

A system comprising a cache memory and a memory controller that employs a Bloom filter to maintain a history profile, tag recurrent data, and manage data retention based on temporal locality, thereby resisting evictions and improving hit rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional cache replacement algorithms are employed in exclusive cache memory, then cache memory capacity is maximized, but cache hit ratio deteriorates due to inability to track temporal and spatial locality

Engineering Contradiction:
Improvecache memory capacityVSAvoidcache hit ratio
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

A Bloom filter is introduced as an intermediary data structure between the cache memory and replacement algorithms. The Bloom filter maintains a history profile of evicted data items, allowing the system to identify temporally and spatially local data without requiring the cache to store all historical information. This intermediary enables tracking of cache hit history in exclusive cache memory while preserving cache capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback by continuously monitoring cache access patterns through the Bloom filter and using this information to influence replacement decisions. When data with temporal locality is detected via the Bloom filter, the system provides feedback to retain such data in the cache, thereby improving hit ratios while maintaining capacity efficiency.

Inventive Principle:
Principle #23Feedback

2Reliability

If data is retained in cache memory based on temporal locality tracking, then cache hit ratio is improved, but device complexity increases due to history profile maintenance

Engineering Contradiction:
Improvecache hit ratioVSAvoidhistory profile maintenance
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The Bloom filter uses a compact, probabilistic data structure that requires minimal memory resources compared to traditional history tracking mechanisms. Rather than maintaining detailed history profiles for each cache line, the system uses a space-efficient Bloom filter that provides sufficient information for locality detection at a fraction of the memory cost, thus reducing device complexity.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If Bloom filter is used to maintain history profile, then cache hit ratio is improved by identifying recurrent data, but use of energy increases due to additional filtering operations

Engineering Contradiction:
Improvecache hit ratioVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The Bloom filter performs partial checking of data locality rather than complete history analysis. By using probabilistic data structures, the system performs sufficient filtering to identify most recurrent data items without the exhaustive energy cost of complete history tracking, achieving an optimal balance between hit ratio improvement and energy consumption.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10372615B1Data management for cache memory
Publication Date: 2019.08.06 AMPERE COMPUTING LLC
  • US10372615B1 patent drawing
  • US10372615B1 patent drawing
  • US10372615B1 patent drawing

AI summary

Various aspects provide for managing data associated with a cache memory. For example, a system can include a cache memory and a memory controller. The cache memory stores data. The memory controller maintains a history profile for the data stored in the cache memory. In an implementation, the memory controller includes a filter component, a tagging component and a data management component. The filter component determines whether the data is previously stored in the cache memory based on a filter associated with a probabilistic data structure. The tagging component tags the data as recurrent data in response to a determination by the filter component that the data is previously stored in the cache memory. The data management component retains the data in the cache memory in response to the tagging of the data as the recurrent data.