Cache Memory Data Management Using Bloom Filter History Profile
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


