Cache Miss Detection Using Counting Bloom Filter
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cache systems in storage devices experience a high rate of cache misses due to random workloads and small cache sizes, leading to inefficient data search operations.
Innovation Solution
A cache system optimized for cache miss detection is implemented using a hash table and a modified Bloom filter, where a hash value representing a logical block address is used to index into a counting Bloom filter to quickly determine if a target data item is in the cache, and if not, to efficiently search the hash table for a hit or miss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a traditional hash table search is used to check for cache hits, then cache hit detection is efficient, but cache miss detection is slow because the entire hash table must be searched
Solution Approach 1:
A Bloom filter is introduced as an intermediary data structure between the query interface and the hash table. The Bloom filter provides a fast preliminary filter that can definitively identify cache misses without searching the entire hash table, while maintaining a compact representation of cached data items.
Solution Approach 2:
The invention creates a simplified copy or representation of the cache contents using the Bloom filter. This copy contains filtered information about cached items that enables fast miss detection, while the full hash table remains for hit verification when needed.
2Reliability
If the cache size is increased to reduce miss rate, then more data can be cached, but the search time for misses increases due to larger search space
Solution Approach 1:
The cache search operation is segmented into two distinct phases: a fast filtering phase using the Bloom filter to eliminate obvious misses, and a slower verification phase using the hash table only for items that pass the filter. This segmentation allows the cache to grow in size without proportionally increasing miss search time.
3Loss of time
If a Bloom filter is used for fast cache miss detection, then cache miss detection becomes significantly faster, but false positives may occur indicating items are in cache when they are not
Solution Approach 1:
The Bloom filter serves as an intermediary that provides fast preliminary filtering with acceptable false positive rates. When the Bloom filter indicates a possible hit (false positive), the actual hash table is consulted as a mediator to verify true presence, thus maintaining measurement precision while achieving fast miss detection.
Data Source
AI summary
According to an embodiment of the invention, cache management comprises maintaining a cache comprising a hash table including rows of data items in the cache, wherein each row in the hash table is associated with a hash value representing a logical block address (LBA) of each data item in that row. Searching for a target data item in the cache includes calculating a hash value representing a LBA of the target data item, and using the hash value to index into a counting Bloom filter that indicates that the target data item is either not in the cache, indicating a cache miss, or that the target data item may be in the cache. If a cache miss is not indicated, using the hash value to select a row in the hash table, and indicating a cache miss if the target data item is not found in the selected row.


