Block-Based LZ77 Decompression for Consistent Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software-based decompression of compressed data using LZ77 algorithm faces variability in decompression time due to differing data content, leading to inconsistent throughput in storage and communication systems.

Innovation Solution

A data compression and decompression apparatus that divides plaintext data into blocks, compresses each block using a sliding dictionary-type algorithm, creates a header indicating payload length, and concatenates blocks to form compression blocks, allowing for efficient extraction and decompression of payloads based on recognized headers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is compressed using software-based LZ77 algorithm, then data compression is achieved, but decompression time varies depending on data content leading to inconsistent throughput

Engineering Contradiction:
Improvedecompression throughputVSAvoiddecompression time variability
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides plaintext data into multiple fixed-size blocks before compression. Each block is independently compressed and processed during decompression. This segmentation allows the decompression system to process fixed-size units through parallel pipelines, ensuring consistent throughput regardless of the actual decompression time for each block's content.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic block division that adjusts block boundaries based on compression ratios. Blocks with higher compression ratios are divided into smaller sub-blocks, while blocks with lower compression ratios are kept larger. This dynamic adjustment optimizes the balance between compression efficiency and decompression throughput consistency.

Inventive Principle:
Principle #15Dynamics

2Ease of manufacture

If fixed-size blocks are used for compression, then processing is simplified, but decompression time varies due to different data content in each block

Engineering Contradiction:
Improveprocessing simplicityVSAvoiddecompression throughput consistency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system dynamically adjusts block division based on compression characteristics. After initial fixed-size block compression, the patent analyzes compression ratios and recursively divides blocks that exceed throughput thresholds. This maintains processing simplicity while adapting to data content to ensure consistent decompression throughput.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where decompression performance is monitored and used to adjust block division strategies. Compression ratios are calculated and fed back to the block division unit, which adjusts subsequent block sizes to maintain optimal throughput consistency across varying data content.

Inventive Principle:
Principle #23Feedback

3Productivity

If variable block sizes are used to equalize decompression times, then throughput consistency is improved, but system complexity increases due to trial compression and decompression

Engineering Contradiction:
Improvethroughput consistencyVSAvoidblock division complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of static fixed-size blocks, the system uses dynamic block sizing based on real-time compression ratio analysis. The block division unit adjusts block boundaries dynamically during the compression process, eliminating the need for trial compression and decompression while achieving throughput consistency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary compression ratio analysis on data blocks before final compression. By evaluating compression characteristics in advance, the system can determine optimal block division boundaries without requiring trial decompression, thus reducing system complexity while maintaining throughput consistency.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If data compression is applied to frequently accessed dynamic data, then capacity costs are reduced, but decompression throughput must be guaranteed

Engineering Contradiction:
Improvestorage capacityVSAvoidread performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments compressed data into fixed-size blocks with standardized formats including headers and payloads. This segmentation enables parallel decompression processing where multiple blocks can be processed simultaneously through dedicated pipelines, guaranteeing read performance even when compression is applied to frequently accessed data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts block division based on access patterns and compression ratios. For frequently accessed data, the block division is optimized to ensure decompression throughput meets performance requirements while still achieving capacity cost reduction through compression.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9479194B2Data compression apparatus and data decompression apparatus
Publication Date: 2016.10.25 HITACHI VANTARA LTD
  • US9479194B2 patent drawing
  • US9479194B2 patent drawing
  • US9479194B2 patent drawing

AI summary

The present invention guarantees throughput for decompressing compressed data. A data compression apparatus includes: a division unit that divides plaintext data inputted to the division unit into a plurality of plaintext blocks each having a prescribed plaintext block length; a compression unit that creates a payload for each plaintext block of the plurality of plaintext blocks by compressing the plaintext block using a sliding dictionary-type compression algorithm, creates a header indicating the length of the payload, and creates a compression block that includes the header and the payload; and a concatenation unit that creates compressed data by concatenating a plurality of compression blocks created from the plurality of plaintext blocks.