Parallel Hash Compression Using Hash Chains for Stable Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data compression systems, particularly those using content addressable memory (CAM) and hash-based architectures, face scalability issues with larger history sizes and variable throughput, leading to inefficiencies in processing and resource utilization, especially in FPGA implementations.

Innovation Solution

A parallel hash-based data compression method that generates hash values for incoming data streams, looks up potential match locations in a linked list of hash chains, and checks these locations in history buffer RAM for valid matches, allowing for simultaneous evaluation of multiple matches and efficient resource allocation through varying RAM sizes and lazy matching techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If CAM-based architecture is used to search for optimal matches among historical data, then every possible match can be tracked to find the longest match, but it doesn't scale well with larger history sizes and causes routing problems

Engineering Contradiction:
Improvematch search accuracyVSAvoidrouting complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the history buffer into multiple segments and uses separate hash chains for each segment. This segmentation allows the system to handle large history sizes by distributing the search across multiple smaller, manageable segments, avoiding the routing complexity of a single large CAM structure while maintaining comprehensive match search capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces hash chains as an intermediary data structure between the input data and the history buffer. Instead of directly searching the entire history buffer, the hash chains provide a structured intermediate layer that organizes potential match locations, simplifying the search process and reducing routing complexity while preserving match accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If hash-based compression architecture evaluates several potential matches to determine the best match, then compression quality is improved, but the throughput becomes variable based on the number of potential matches searched

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

Solution Approach 1:

The patent performs preliminary organization of match locations using hash chains before the actual match evaluation. By pre-organizing potential match locations in hash chains, the system reduces the number of matches that need to be evaluated in real-time, ensuring high compression quality while maintaining consistent throughput by limiting the evaluation to a manageable subset of pre-organized candidates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent evaluates a limited number of potential matches from the hash chain rather than exhaustively searching all possible matches. This partial evaluation approach maintains acceptable compression quality by checking sufficient candidates without the need to evaluate every possible match, thereby ensuring stable throughput while achieving good compression results.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of substance

If LZ compression searches for repeated strings in a stream of data, then compression ratio is improved, but the search is time consuming and resource-intensive in terms of hardware needed

Engineering Contradiction:
Improvedata redundancyVSAvoidsearch time
Core Design Contradiction:
Loss of substanceVSLoss of time

Solution Approach 1:

The patent replaces the traditional mechanical string searching approach with a hash-based computational system. Instead of sequentially comparing strings in the history buffer, the system uses hash functions to directly compute and locate potential match positions, dramatically reducing search time and hardware resources while maintaining the ability to identify and eliminate data redundancy for compression.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9112525B1System and method for parallel hash-based data compression
Publication Date: 2015.08.18 COMTECH SATELLITE NETWORK TECH INC
  • US9112525B1 patent drawing
  • US9112525B1 patent drawing
  • US9112525B1 patent drawing

AI summary

A method of parallel hash-based data compression comprising generating a hash value based on one or more original input data bytes of an incoming data stream using a processor, looking up, by the processor, a hash head comprising a first potential match location identified by the hash value and looking up, by the processor, at least one additional potential match location in a hash chain that comprises a linked list of potential match locations starting with a location indexed by the hash head. The method further comprises checking, by the processor, the at least one potential match location of the hash chain for one or more valid matches in a history buffer random access memory (RAM) and outputting, by the processor, a length and distance pair if a valid match is detected or the original input data byte if a match is undetected.