Virtually Provisioned Storage Data Compression Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data storage systems face issues with data loss due to frequent compression and decompression, particularly during system failures when compressed data is partially overwritten, leading to unrecoverable data.
Innovation Solution
Implementing a system that manages data by maintaining both compressed and uncompressed regions within a virtually provisioned storage entity, allowing operations on data chunks without immediate decompression, and writing new data in uncompressed form to avoid decompression overhead, thus ensuring data integrity and stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If compression techniques are employed to reduce data size in storage arrays, then storage space efficiency is improved, but data reliability deteriorates due to potential data loss during compression/decompression failures
Solution Approach 1:
The storage array is divided into multiple independent compression domains (chunks), where each chunk can be compressed or decompressed independently. This segmentation ensures that a failure in one chunk does not affect other chunks, thereby maintaining data reliability while still providing compression benefits across the entire storage array.
Solution Approach 2:
The system performs preliminary compression of data before storing it in the storage array. By compressing data in advance and storing the compressed version, the system ensures that data is already in an optimized state for storage while maintaining the ability to decompress individual chunks on demand without affecting overall system reliability.
2Ease of operation
If frequent compression and decompression operations are performed, then data accessibility is improved, but system stability deteriorates due to increased risk of partial overwrites and data loss
Solution Approach 1:
By dividing the storage array into independent compression domains, the system allows frequent access operations on individual chunks without affecting the stability of the entire system. Each chunk can be independently compressed or decompressed based on access patterns, maintaining system stability while improving data accessibility.
Solution Approach 2:
Different regions (chunks) of the storage array can have different compression states based on their access patterns and requirements. This local quality approach allows the system to optimize each region independently, improving overall data accessibility while maintaining system stability through localized operations.
3Quantity of substance
If compressed data is stored directly in the storage array, then storage efficiency is improved, but data recoverability deteriorates when system failures occur during compression or decomposition
Solution Approach 1:
The storage array is segmented into multiple independent compression domains, allowing the system to isolate failures to specific chunks. This segmentation improves data recoverability by limiting the impact of failures to individual chunks while maintaining storage efficiency across the entire array through compressed data storage.
Solution Approach 2:
Data is compressed in advance and stored in a stable format, with the ability to decompress individual chunks on demand. This preliminary compression action ensures that data is efficiently stored while maintaining recoverability, as the compressed data can be selectively decompressed and recovered even if partial failures occur during subsequent operations.
Data Source
AI summary
Systems, methods, and computer readable media for accessing and compressing data at a virtually provisioned storage entity are disclosed. According to one aspect, a method includes receiving, at a data storage entity, an input/output (I/O) command to perform an operation on data associated with a logical block address (LBA) in a virtually provisioned device in the data storage entity, wherein the data storage entity has established an expanded private LBA space for the virtually provisioned device in the data storage entity to include both a compressed LBA space portion for storing compressed data and an associated uncompressed LBA space portion for storing uncompressed data. The method further includes determining if a data chunk containing the data in the uncompressed LBA space is available using the LBA in the I/O command to access the data chunk. If the data chunk in the uncompressed LBA space is available, the method includes performing the operation on the data chunk. If the data chunk in the uncompressed LBA space is not available, the method includes accessing the data chunk in the compressed LBA space using both the LBA and a predefined offset value and performing the operation on the data chunk.


