Cooperative File and Block Storage Caching Without Data Duplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
File systems and underlying block storage caching the same page leads to a lower overall cache hit ratio due to duplication.
Innovation Solution
Implement a cooperative caching model where data is stored in either the file system cache or the block storage cache, with a tag system to manage caching and avoid duplication, allowing data to be freed from the block storage cache after flushing to persistent storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If both the file system and block storage cache the same page, then the caching capacity is increased, but the cache hit ratio decreases due to duplication
Solution Approach 1:
The patent extracts the duplicate cached pages from the block storage cache when they exist in the file system cache. By identifying and removing redundant copies through comparison of cache contents, the system maintains only necessary cached data in block storage, thereby improving cache hit ratio while preserving adequate caching capacity in the file system.
2Reliability
If data is cached in both file system and block storage, then data availability is improved, but memory usage increases due to duplication
Solution Approach 1:
The patent removes duplicate data copies from block storage cache when the same data exists in file system cache. By extracting redundant cached pages through identification and removal processes, the system reduces memory consumption while maintaining data availability through the file system's cache.
Solution Approach 2:
The patent discards duplicate cached pages from block storage and recovers the memory space they occupied. By systematically identifying redundant data and removing it, the system frees up memory resources while preserving data accessibility through the file system cache layer.
Data Source
AI summary
A method, computer program product, and computer system for receiving, by a computing device, a write request, wherein the write request may be received by a file system of the computing device. Data associated with the write request may be stored in a cache of the file system and a cache of a block storage system corresponding to the file system. A tag associated with the data in the cache of the block storage system may be received by the block storage system. The data in the cache of the block storage system may be freed after flushing the data to persistent storage based upon, at least in part, the tag associated with the data in the cache of the block storage system. As a result, there is optimization for the read path due to no double caching in the block cache.


