Storage Compression Unit Segmentation for Fast Partial Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage devices face challenges in maintaining high input/output (I/O) performance while reducing data storage cost by compressing data, particularly when updating only a part of the compressed data.
Innovation Solution
A storage device with a processor and an accelerator that compresses and decompresses data, merging decompressed data to match the basic compression unit size, and recompressing asynchronously to maintain high data reduction rates and improve I/O performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a large compression unit is employed to compress data collectively, then the data reduction effect is improved, but the I/O performance deteriorates when only a part of the compressed data needs to be updated
Solution Approach 1:
The patent divides the compression process into two types: basic compression unit for I/O operations and extended compression unit for data reduction. The storage device maintains both compression unit sizes, allowing it to use the smaller basic unit for fast I/O operations and the larger extended unit for maximum data reduction when writing new data, thus resolving the contradiction between I/O performance and data reduction effect
Solution Approach 2:
The storage device dynamically switches between different compression unit sizes based on the operation type. For I/O operations, it uses the basic compression unit for fast access, while for new data writing, it uses the extended compression unit for better reduction. This dynamic adaptation allows the system to optimize for different operational contexts, resolving the contradiction between speed and compression efficiency
2Quantity of substance
If compression is applied to reduce data storage cost, then the data storage cost is reduced, but the complexity of processing compressed data increases
Solution Approach 1:
The patent introduces a decompression buffer as an intermediary component between the compressed data storage and the processing units. This buffer temporarily stores decompressed data, allowing the processor to work with uncompressed data for updates while the compression accelerator continues processing. This intermediary mechanism simplifies the processing complexity by providing a buffer zone that decouples compression operations from data processing operations
3Quantity of substance
If the compression unit size is increased to improve data reduction, then the dictionary search space is enlarged, but the processing time for compression increases
Solution Approach 1:
The patent segments compression operations into two distinct paths: one using the basic compression unit for fast processing and another using the extended compression unit for high data reduction. The storage device can choose which path to take based on the data characteristics and operational requirements, allowing it to balance between processing time and data reduction rate without being forced to use the slower extended compression unit for all operations
Data Source
AI summary
A storage device includes a processor and an accelerator configured to compress and decompress data. The processor receives first replacement write data for a part of a first logical address region to update first data in the first logical address region that has been compressed by basic compression unit. The processor instructs the accelerator to compress the first replacement write data by a size smaller than the basic compression unit. The accelerator compresses the first replacement write data by the smaller size. The processor merges not-to-be-replaced data in the first logical address region and the first replacement data that are decompressed by the accelerator to generate uncompressed data having a size of the basic compression unit. The processor instructs the accelerator to compress the uncompressed data by the basic compression unit.


