Dynamically Adaptive Caching for Variable Data Compressibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Storage system caching faces challenges in presenting a fixed and stable cache size to upper layers due to the variable compressibility of data, which limits the utilization of space gained through compression.
Innovation Solution
A dynamically adaptive caching system and method that compresses data received from a host, determines the available space, and increases the logical capacity presented to the host by utilizing the difference between the original and compressed data sizes, allowing for a variable cache size that adapts based on compressibility.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data compression is applied to reduce storage space, then storage efficiency is improved, but the cache size presented to the host becomes variable and unstable
Solution Approach 1:
The cache system dynamically adjusts the presented cache size based on actual compression results. The control module monitors compressed data size and modifies the cache presentation accordingly, allowing the system to adapt between fixed and variable cache sizes depending on data compressibility. This resolves the contradiction by making the cache size flexible rather than rigid.
Solution Approach 2:
The system changes the parameter of presented cache size based on compression efficiency. When compression achieves significant space savings, the system increases the presented cache size to reflect the actual usable space. This parameter adjustment allows the cache to present accurate availability information to the host while maximizing storage utilization.
2Stability of the object's composition
If a fixed cache size is presented to the host, then system stability is maintained, but space gained through compression cannot be utilized
Solution Approach 1:
The cache system dynamically adjusts the presented cache size based on actual compression results. The control module monitors compressed data size and modifies the cache presentation accordingly, allowing the system to adapt between fixed and variable cache sizes depending on data compressibility. This resolves the contradiction by making the cache size flexible rather than rigid.
Solution Approach 2:
The control module continuously monitors the actual size of compressed data and uses this feedback to adjust the presented cache size. This feedback mechanism ensures that the host receives accurate information about available cache space, preventing both overestimation and underestimation of storage capacity.
3Loss of time
If compression is applied to data, then transmission time is reduced, but the variability in compressibility makes space allocation difficult
Solution Approach 1:
The control module continuously monitors the actual size of compressed data and uses this feedback to adjust the presented cache size. This feedback mechanism ensures that the host receives accurate information about available cache space, preventing both overestimation and underestimation of storage capacity.
Solution Approach 2:
The compression system automatically manages its own space requirements by monitoring compressed data size and self-adjusting the cache presentation. This self-service approach eliminates the need for complex external space management mechanisms, reducing overall system complexity while maintaining accurate space allocation.
Data Source
AI summary
The present disclosure is directed to a system for dynamically adaptive caching. The system includes a storage device having a physical capacity for storing data received from a host. The system may also include a control module for receiving data from the host and compressing the data to a compressed data size. Alternatively, the data may also be compressed by the storage device. The control module may be configured for determining an amount of available space on the storage device and also determining a reclaimed space, the reclaimed space being according to a difference between the size of the data received from the host and the compressed data size. The system may also include an interface module for presenting a logical capacity to the host. The logical capacity has a variable size and may include at least a portion of the reclaimed space.


