Virtual Storage Data Compression Decision Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer systems face inefficiencies in data storage due to the resource-intensive process of compressing and decompressing data, which increases CPU cycles, bandwidth consumption, and I/O latency, especially in scenarios with skewed I/O workloads where some physical address ranges experience disproportionately high or low I/O operations.
Innovation Solution
A system that dynamically determines whether to compress data based on I/O activity values, compressibility values, and storage capacity utilization, using decision logic to balance resource consumption and latency, with mechanisms to update compressibility values and prioritize compression for less active or more compressible data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed before storage, then storage space is saved, but CPU cycles and bandwidth are consumed, and I/O latency increases
Solution Approach 1:
The patent applies different compression strategies to different data blocks based on their individual characteristics. Specifically, it evaluates each block's compressibility and I/O activity separately, applying compression only to blocks that meet specific criteria (low I/O activity and high compressibility), while leaving other blocks uncompressed. This localized approach optimizes storage space for suitable data without unnecessarily consuming CPU resources for all data.
Solution Approach 2:
The system dynamically adjusts compression decisions based on real-time I/O activity monitoring. It continuously tracks I/O operations for each data block and adapts compression status accordingly - data that becomes frequently accessed is uncompressed, while data that remains inactive stays compressed. This dynamic adaptation allows the system to respond to changing workload patterns and optimize the balance between storage efficiency and access performance.
2Quantity of substance
If data is compressed before storage, then storage space is saved, but I/O latency increases
Solution Approach 1:
The patent applies compression selectively to specific data blocks rather than uniformly to all data. By evaluating each block's I/O activity independently and applying compression only to inactive blocks, the system minimizes the impact on I/O latency for actively accessed data while still achieving storage space savings for less critical data.
Solution Approach 2:
The system dynamically monitors I/O activity for each data block and adjusts compression status in real-time. When a compressed block experiences I/O activity above a threshold, it is automatically uncompressed to reduce latency. This dynamic response ensures that frequently accessed data maintains low latency while less active data remains compressed for space efficiency.
3Quantity of substance
If compression is applied to all data, then storage efficiency is maximized, but resource consumption increases for all data access
Solution Approach 1:
The patent implements fine-grained compression control at the data block level rather than applying compression uniformly across all data. Each block is independently evaluated based on its compressibility and I/O activity characteristics, and compression is applied only to blocks that benefit from it. This selective approach maximizes storage efficiency for suitable data while avoiding unnecessary resource consumption for data that would not benefit from compression or would suffer performance penalties.
Solution Approach 2:
The system applies compression partially rather than universally - only to data blocks that meet specific criteria (low I/O activity and high compressibility). This partial application of compression achieves significant storage efficiency improvements without incurring the full resource consumption costs of compressing all data, representing an optimized subset of the total data set.
Data Source
AI summary
Determining whether to compress data of a virtual storage unit based at least in part on: an I/O activity value of a virtual storage unit; a compressibility value of the virtual storage unit; and/or a capacity utilization of the storage system or a component thereof. For example, decision logic may be configured based on one or more of such parameters such that virtual storage units with relatively high I/O activities are rarely or never compressed, e.g., to avoid the disproportionately high increases in CPU and bandwidth resource consumption and I/O latency this could create. Decision logic may be configured such that, in general, the likelihood that a virtual storage unit will be compressed increases as: the I/O activity of the virtual storage unit decreases; the system capacity utilization increases; and/or as the compressibility value of the virtual storage unit increases.


