Hash-Based Compression Processor for High-Throughput LZ Search

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware implementations of data compression algorithms like GZIP, based on DEFLATE and Huffman coding, face complexity in achieving high bandwidth due to the need for a search history buffer and compare length functions, which can be inefficient in terms of processing and resources.

Innovation Solution

The development of an improved hashing method that generates a hash chain to quickly index data sets using a hash table and hash chain, allowing for efficient compression by suppressing hash generation during high throughput requirements and using multiple memory banks with FIFOs to manage collisions, thereby maintaining high compression rates with minimal overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a search history buffer and compare length function are used to implement compression, then compression capability is improved, but device complexity and processing overhead increase

Engineering Contradiction:
Improvecompression rateVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the essential compression functionality from the complex DEFLATE algorithm by implementing only the LZ77 component with a simplified hash-based search mechanism. This removes unnecessary complexity while retaining core compression capability, achieving over 90% compression rates with reduced hardware overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the search parameter from comparing full strings to comparing hash values, which transforms the complexity from O(n*m) to O(1) for the initial search phase. This parameter change in the search strategy dramatically reduces processing complexity while maintaining compression effectiveness.

Inventive Principle:
Principle #35Parameter changes

2Speed

If a hash function is used to map variable length strings to fixed values for comparison, then search speed is improved, but hash collisions increase

Engineering Contradiction:
Improvesearch speedVSAvoidhash collision rate
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent introduces a two-stage verification process where the hash value acts as an intermediary filter. First, hash values are compared for quick filtering, and only matching hash values proceed to full string comparison. This intermediary step dramatically reduces false positives from hash collisions while maintaining high search speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the search process into two independent stages: hash value comparison and full string comparison. This segmentation allows the system to use the fast but imperfect hash function for initial filtering, then apply the more reliable but slower full comparison only when necessary, optimizing both speed and reliability.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple memory banks with FIFOs are used to manage hash collisions, then compression throughput is improved, but device complexity increases

Engineering Contradiction:
Improvecompression throughputVSAvoidmemory structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the single hash table into multiple independent memory banks, each with its own FIFO queue for handling collisions. This segmentation allows parallel processing of hash entries across different banks, increasing throughput while keeping each individual bank relatively simple in structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary hashing to determine the target bank before data arrives, allowing each memory bank to be pre-configured and ready for immediate processing. This preliminary action eliminates dynamic allocation overhead during compression operations, improving throughput while maintaining manageable complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10817474B2Adaptive rate compression hash processor
Publication Date: 2020.10.27 TIDAL SYST
  • US10817474B2 patent drawing
  • US10817474B2 patent drawing
  • US10817474B2 patent drawing

AI summary

An input file is processed according to hash algorithm that references sets of literals to preceding sets of literals to facilitate copy-offset command generation. Preceding instances are identified by generating a hash of the literal set and looking up a corresponding entry in a hash table. The hash table may be accessed by placing look-up requests in a FIFO buffer. When the FIFO buffer is full, generation of the hash chain is suspended until it is no longer full. When repeated literals are found, generation of the hash chain is likewise suspended. The hash chain is used to generate a command file, such as according to the LZ algorithm. Runs of consecutive literals are replaced by a run-length command. The command file may then be encoded using Huffman encoding.