Fixed-Length Compression Mapping for Lower Storage Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression techniques in distributed storage systems suffer from inefficiencies due to high read and write amplifications, leading to increased latency, resource consumption, and reduced storage media lifespan, as they generate irregular-sized compression results that require additional data-intensive operations and result in suboptimal usage of storage resources.

Innovation Solution

A system and method that compresses data by applying a sliding window to input segments, aligning the compressed data with physical block addresses to generate fixed-length segments, and uses a mapping table to efficiently read and write data, reducing read/write amplification and optimizing storage resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If existing data compression techniques are applied, then storage capacity is saved and data transfer is reduced, but read/write amplification increases leading to higher latency and resource consumption

Engineering Contradiction:
Improvestorage capacityVSAvoidread/write amplification
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments input data into fixed-size input blocks that are processed independently through the compression engine. Each input block is compressed to produce a fixed-size output block, creating a segmented processing pipeline that avoids the need to buffer and reprocess data, thereby reducing write amplification while maintaining storage efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of output block size from variable to fixed. By ensuring that compression always produces output blocks of a predetermined size matching the storage medium's block size, the system eliminates the need for additional read/write operations to handle variable-sized outputs, thus reducing read/write amplification while preserving storage capacity benefits.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If compression techniques process variable-sized output blocks, then compression efficiency is achieved, but additional data-intensive operations are required

Engineering Contradiction:
Improvecompression efficiencyVSAvoiddata processing operations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-defining fixed input and output block sizes before compression processing begins. This preliminary structuring allows the compression engine to operate in a streamlined manner where each input block directly maps to an output block of known size, eliminating the need for complex post-compression operations to handle variable-sized outputs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamics by using a sliding window that moves through the input data stream in fixed-size increments. The sliding window dynamically processes input blocks sequentially, with each window position representing a complete input block that transforms into a complete output block, creating a dynamic yet predictable processing rhythm that reduces operational complexity.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If irregular-sized compression results are generated, then storage capacity is optimized, but alignment with physical block addresses becomes suboptimal

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidblock address alignment
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent changes the parameter of output block size from variable to fixed, where the fixed size matches the storage medium's physical block size. This parameter change ensures that compressed output blocks align perfectly with physical block addresses, eliminating misalignment issues while maintaining efficient storage capacity utilization through consistent compression ratios.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If high read/write amplification occurs, then compression processing is performed, but latency and resource consumption increase

Engineering Contradiction:
Improvecompression processingVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the compression process into independent fixed-size block operations that can be processed in parallel or pipelined efficiently. Each input block is compressed independently to a fixed-size output block, allowing the system to minimize buffering requirements and reduce the time data spends in the compression pipeline, thereby reducing latency while maintaining processing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuity of useful action by maintaining a continuous flow of fixed-size input blocks through the compression engine to produce continuous fixed-size output blocks. This continuous processing eliminates idle time and buffering delays, keeping the compression pipeline full and productive, which reduces overall latency while sustaining high compression processing rates.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11507499B2System and method for facilitating mitigation of read/write amplification in data compression
Publication Date: 2022.11.22 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11507499B2 patent drawing
  • US11507499B2 patent drawing
  • US11507499B2 patent drawing

AI summary

The system can receive data to be written to a non-volatile memory in the distributed storage system. The received data can include a plurality of input segments. The system can assign consecutive logical block addresses (LBAs) to the plurality of input segments. The system can then compress the plurality of input segments to generate a plurality of fixed-length compressed segments, with each fixed-length compressed segment aligned with a physical block address (PBA) in a set of PBAs. The system compresses the plurality of input segments to enable an efficient use of storage capacity in the non-volatile memory. Next, the system can write the plurality of fixed-length compressed segments to a corresponding set of PBAs in the non-volatile memory. The system can then create, in a data structure, a set of entries which map the LBAs of the input segments to the set of PBAs. This data structure can be used later by the system when processing a read request including a LBA.