LZ77 Decompression Hardware Accelerator With Fixed-Length Tokens
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software methods for LZ77 decompression are limited by conditional data-dependent branches and load latencies, which affect the critical path of decoding and hinder performance in decompression processes.
Innovation Solution
The implementation of a hardware accelerator that efficiently partitions computations between fixed-function hardware and software, using a fast and slow path approach to eliminate data-dependent branches and reduce the number of instructions in the critical loop, with a focus on generating fixed-length tokens for streamlined decompression.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If software methods are used for LZ77 decompression, then flexibility and adaptability are maintained, but decompression speed and processing efficiency deteriorate due to conditional data-dependent branches and load latencies
Solution Approach 1:
The decompression process is segmented into two distinct paths: a fast path for common cases with fixed-length tokens, and a slow path for exceptional cases requiring variable-length processing. This segmentation allows the system to achieve high speed for the majority of operations while maintaining the ability to handle complex cases, effectively resolving the contradiction between speed and computational complexity.
Solution Approach 2:
The patent changes the parameter of token length from variable (in traditional software methods) to fixed in the fast path, which eliminates conditional branches and load latencies. This parameter change dramatically improves decompression speed for common cases while the slow path retains variable-length support for exceptional cases, balancing speed and complexity.
2Productivity
If fixed-length tokens are generated in hardware, then processing speed improves and dependencies are reduced, but hardware complexity increases
Solution Approach 1:
The system dynamically selects between fast path and slow path processing based on the input data characteristics. The hardware accelerator operates in the fast path for high-throughput scenarios with fixed-length tokens, while automatically transitioning to the slow path when variable-length tokens are detected, thus achieving high productivity without permanently increasing hardware complexity.
Solution Approach 2:
The patent introduces an intermediary token format that serves as a bridge between hardware processing and software decompression. The fixed-length intermediate tokens generated by hardware can be efficiently processed by software, acting as an intermediary representation that maximizes the benefits of both hardware speed and software flexibility while minimizing overall system complexity.
Data Source
AI summary
Detailed herein are embodiments of systems, methods, and apparatuses for decompression using hardware and software. In hardware, an input buffer stores incoming input records from a compressed stream. A plurality of decoders decode at least one input record from the input buffer out output an intermediate record from the decoded data and a subset of the plurality of decoders to output a stream of literals. Finally, a reformat circuit formats an intermediate record into one of two types of tokens.


