Cache Window Segmentation for Data Thrashing Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage systems face issues with data becoming stale and thrashing due to limited cache capacity, where hot data exceeds the cache device's capacity, leading to continuous caching and discarding of the same data.
Innovation Solution
Implementing a method that monitors data references using a least recently used queue block, prioritizing data based on access frequency, promoting to higher priority when accessed, demoting to lower priority when not accessed, and using counters to manage physical cache windows, thereby optimizing cache usage and preventing thrashing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If data is cached in a cache device with limited capacity, then access speed to hot data is improved, but data becomes stale and thrashing occurs when hot data exceeds cache capacity
Solution Approach 1:
The patent segments the cache device into multiple cache windows (first cache window, second cache window, etc.) and further divides them into hot cache windows and cold cache windows based on access patterns. This segmentation allows the system to manage different data sets differently, preventing thrashing by isolating frequently accessed hot data from less accessed cold data in the limited cache capacity.
Solution Approach 2:
The patent dynamically adjusts the state of cache windows between hot and cold based on monitored reference patterns. Cache windows are not statically assigned but transition between states as data access patterns change, allowing the cache to adapt to varying workloads and prevent data from becoming stale through continuous caching and discarding cycles.
2Productivity
If the cache device caches all hot data, then data access efficiency is improved, but the cache device enters thrashing state due to limited capacity
Solution Approach 1:
The patent implements a reference counting mechanism that monitors data access patterns and provides feedback to the cache management system. When references to data in a cache window fall below a threshold, the system receives feedback to transition that window from hot to cold state. This feedback loop automatically manages cache allocation without complex external control, reducing thrashing while maintaining efficiency.
Solution Approach 2:
The cache system automatically manages its own hot and cold window classifications based on monitored reference patterns without requiring external intervention. The reference counting mechanism and automatic state transitions enable the cache to self-regulate its content, reducing management complexity while maintaining optimal performance.
3Quantity of substance
If the cache device removes older data to make space, then cache capacity is preserved, but recaching of the same data creates continuous thrashing cycles
Solution Approach 1:
By segmenting the cache into hot and cold windows, the system prevents the removal of hot data that will need to be recached. Cold windows can be cleared to make space without affecting frequently accessed hot data, thereby breaking the thrashing cycle while preserving effective cache capacity for useful data.
Solution Approach 2:
The reference monitoring system provides feedback that prevents premature removal of data from hot cache windows. When references remain above the threshold, the system receives feedback to maintain the window in hot state, ensuring data is not removed and subsequently recached, thus eliminating thrashing while optimizing cache capacity utilization.
Data Source
AI summary
A cache device for the caching of data and specifically for the identification of stale data or a thrashing event within the cache device is described. Further a cache device for the prioritization of cached data in the cache device during a thrashing event as well as stale cached data in the cache device are described. Methods associated with the use of the caching device for the caching of data and for the identification of data in a thrashing event or the identification of stale cached data are also described.


