Hybrid DEFLATE Compression Split Between CPU and Hardware

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing lossless data compression algorithms, such as DEFLATE, face low throughput when implemented on CPUs, and offloading the entire algorithm to hardware accelerators leads to interface bandwidth limitations and high implementation costs due to the need for raw data transfer and significant silicon resource consumption.

Innovation Solution

A hybrid approach where CPU performs byte-oriented operations like matching-bytes search and content analysis, while hardware accelerators handle bit-oriented operations like search result re-coding and Huffman encoding, optimizing data transfer and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the entire DEFLATE algorithm is off-loaded to a hardware accelerator, then compression throughput is improved, but interface bandwidth becomes the limiting factor and implementation cost increases

Engineering Contradiction:
Improvecompression throughputVSAvoidinterface bandwidth limitation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The DEFLATE algorithm is divided into two segments: byte-oriented operations (matching-bytes search, byte-oriented search result coding, content analysis) are performed on the CPU, while bit-oriented operations (search result re-coding, table construction, encoding) are off-loaded to the hardware accelerator. This segmentation allows the system to leverage the high interface bandwidth available for smaller data transfers while still benefiting from hardware acceleration for the most computationally intensive operations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the entire DEFLATE algorithm is off-loaded to a hardware accelerator, then compression throughput is improved, but silicon resource consumption increases leading to higher implementation cost

Engineering Contradiction:
Improvecompression throughputVSAvoidsilicon resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The byte-oriented operations are extracted from the hardware accelerator and performed on the CPU instead. This reduces the complexity and silicon resource requirements of the accelerator while maintaining the throughput benefits of hardware acceleration for the remaining bit-oriented operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If DEFLATE is implemented on CPU, then implementation cost is reduced, but compression throughput becomes significantly inadequate

Engineering Contradiction:
Improveimplementation costVSAvoidcompression throughput
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The algorithm is segmented between CPU and hardware accelerator based on operation type. The CPU handles byte-oriented operations while the accelerator handles bit-oriented operations, combining the cost-effectiveness of software implementation with the high throughput of hardware acceleration.

Inventive Principle:
Principle #1Segmentation

4Manufacturing precision

If raw data is transferred to hardware accelerator for compression, then compression ratio is maintained, but interface bandwidth limits achievable throughput

Engineering Contradiction:
Improvecompression ratioVSAvoidachievable throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The data processing is segmented into two stages: CPU performs initial compression on raw data to generate intermediate compressed data, then transfers only this reduced data to the accelerator for final compression. This reduces the transfer volume and maximizes the utilization of interface bandwidth.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9923577B1Hybrid software-hardware implementation of lossless data compression and decompression
Publication Date: 2018.03.20 SCALEFLUX INC
  • US9923577B1 patent drawing
  • US9923577B1 patent drawing
  • US9923577B1 patent drawing

AI summary

A system, method and product for providing data compression and decompression. A method is disclosed that includes: utilizing a CPU to perform a matching-bytes search, byte-oriented search result coding, and content analysis on a set of raw data to generate a set of initially compressed data; forwarding the set of initially compressed data from the CPU to a hardware accelerator; utilizing the hardware accelerator to perform search result re-coding, table construction, and encoding to generate a set of further compressed data; and forwarding the set of further compressed data back to the CPU.