Cache Replacement Using Access-Ordering Lookahead for Deduplicated Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In deduplicated storage systems, traditional cache replacement algorithms like LRU are ineffective due to data fragmentation, leading to suboptimal prefetching and caching strategies during sequential read operations, especially in backup storage systems where files are dispersed across multiple locations.
Innovation Solution
Implementing an access-ordering lookahead approach that predicts future access patterns by analyzing metadata, such as fingerprints, to prefetch and cache data objects based on their likelihood of being accessed again, and using a bloom filter lookahead method to optimize cache space reclamation by identifying data objects that will not be accessed for a long time for eviction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If traditional LRU cache replacement algorithm is used, then cache management is simple, but data access performance deteriorates due to data fragmentation in deduplicated storage systems
Solution Approach 1:
The patent applies preliminary action by analyzing metadata (fingerprints) in advance to predict future access patterns before actual data access occurs. The system prefetches and caches data objects based on their likelihood of being accessed again, rather than waiting for actual access requests. This predictive caching strategy resolves the contradiction by improving data access performance through proactive cache management while maintaining operational simplicity through automated prediction algorithms.
2Productivity
If cache space is increased to improve data access performance, then more data can be cached, but memory resource consumption increases
Solution Approach 1:
The patent applies partial action by selectively caching only those data objects that are predicted to be accessed again based on metadata analysis, rather than caching all accessed data. The system uses bloom filters to efficiently identify and cache only the necessary portion of data objects, optimizing the balance between cache space utilization and data access performance while avoiding unnecessary memory consumption.
Solution Approach 2:
The patent changes the parameter of cache replacement from time-based (LRU) to prediction-based using bloom filter probability thresholds. By adjusting the bloom filter parameters and prediction confidence levels, the system dynamically determines which data objects to cache, optimizing memory resource consumption while maintaining high data access performance through intelligent selective caching.
3Speed
If data is prefetched in advance to improve access speed, then future accesses are faster, but cache space is consumed before actual need
Solution Approach 1:
The patent applies preliminary action through predictive prefetching using bloom filters to identify data objects likely to be accessed again. Rather than prefetching all or no data, the system selectively prefetches only those objects with high prediction probability, resolving the contradiction by improving access speed for predicted data while minimizing unnecessary cache space consumption through probability-based selection.
Solution Approach 2:
The patent uses bloom filters as a compact probabilistic data structure that copies only essential identification information (fingerprints) rather than full data objects. This allows the system to track and predict access patterns for multiple data objects using minimal cache space, enabling efficient prefetching decisions without consuming excessive memory resources.
Data Source
AI summary
In response to a request for accessing a file stored in a storage system, data objects associated with the file are retrieved from a storage device of the storage system. The data objects of the file are cached in a cache memory. An access sequence of the cached data objects within the file is determined based on metadata of the file, where the access sequence represents a sequential order in time of accessing the cached data objects within the file. In response to a request for cache space reclamation, one or more cached data objects are identified whose next access is a farthest in time from a data object currently being accessed amongst the cached data objects based on the access sequence of the data objects. The identified data objects are evicted from the cache memory whose next access is a farthest amongst the cached data objects.


