Multi-Dictionary Decompression Circuit for Higher Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing dictionary-based data compression and decompression systems struggle to achieve high throughput, particularly in decompression, as they require restoring multiple items of match information in a single clock cycle, which is challenging with algorithms like gzip that have a minimum match length of 3 bytes.
Innovation Solution
The system employs a dual dictionary architecture with larger and smaller dictionaries, allowing parallel reads using different offsets to decompress data, and includes a generation circuit to combine decompressed data from both dictionaries, enhancing throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single dictionary is used for dictionary-based decompression, then the device complexity is low, but the decompression throughput cannot meet the requirement of 4 bytes/cycle or more
Solution Approach 1:
The patent divides the single dictionary into multiple sub-dictionaries (first sub-dictionary and second sub-dictionary) with different storage capacities. This segmentation allows parallel access to multiple dictionaries simultaneously, enabling the restoration of multiple match information items in one clock cycle and achieving the required throughput of 4 bytes/cycle or more.
Solution Approach 2:
The patent transitions from a single-dictionary architecture to a multi-dictionary architecture, adding the dimension of parallelism. By organizing dictionaries in a hierarchical structure with different capacities, the system can reference multiple dictionaries simultaneously through different offsets, thereby increasing throughput without proportionally increasing complexity.
2Productivity
If multiple dictionaries are referenced simultaneously to increase throughput, then the decompression speed increases, but the circuit scale and resource consumption increase
Solution Approach 1:
The patent applies local quality by creating sub-dictionaries with different storage capacities tailored to specific needs. The first sub-dictionary has a larger capacity for storing older decompressed data, while the second sub-dictionary has a smaller capacity for recent data. This heterogeneous structure allows efficient parallel access with reduced total resource consumption compared to using only full-size dictionaries.
Solution Approach 2:
The patent implements a nested dictionary structure where smaller sub-dictionaries are conceptually nested within or alongside larger sub-dictionaries. This hierarchical nesting allows the system to efficiently manage memory resources by organizing dictionaries in layers, enabling parallel access while controlling the overall circuit scale.
3Productivity
If the minimum match length is 3 bytes (as in gzip algorithm), then the compression ratio is adequate, but the decompression throughput cannot achieve 4 bytes/cycle with a single dictionary
Solution Approach 1:
The patent performs preliminary organization of decompressed data into multiple sub-dictionaries with different capacities, preparing the data structure in advance for parallel access. This preliminary segmentation allows the decompression circuit to simultaneously retrieve multiple match information items without sequential delays, achieving 4 bytes/cycle throughput while maintaining the gzip minimum match length of 3 bytes.
Data Source
AI summary
According to one embodiment, a data decompression device decompresses a compressed data string obtained by dictionary-based compression, the compressed data string including first compressed data having a first offset. A dictionary circuit includes at least one first dictionary storing first decompressed data corresponding to the first compressed data, and at least one second dictionary storing the first decompressed data. An assignment circuit assigns the first compressed data to at least one dictionary of the at least one first dictionary or the at least one second dictionary.


