Tag-Based Decompression Format for Faster Literal and Copy Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data compression and decompression methods are inefficient, particularly in scenarios where fast decompression is necessary, leading to reduced processing speed due to slow decompression operations, which can erode the benefits of data compression.
Innovation Solution
A processor-implemented method for decoding data from a tag-based format that efficiently processes tags of varying sizes, allowing for fast decompression by determining tag sizes and processing literal and copy data based on specific bit lengths and offsets, reducing branch mispredictions and improving computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is compressed to reduce I/O operations, then storage efficiency and transmission bandwidth are improved, but decompression speed becomes a bottleneck that reduces overall processing speed
Solution Approach 1:
The decompression process is segmented into distinct stages: reading tag size information, determining whether to read 24-bit or 32-bit tags, processing literal data, and processing copy data. This segmentation allows each stage to be optimized independently, with the processor able to quickly transition between different tag size handling without full re-evaluation of the decompression logic.
Solution Approach 2:
The patent performs preliminary action by reading and determining the tag size (24-bit or 32-bit) at the beginning of each tag processing cycle. This preliminary determination of tag size allows the processor to pre-configure the subsequent reading and processing operations, avoiding dynamic decision-making during the critical data extraction phase and thereby improving decompression speed.
2Speed
If a simple decompression algorithm is used to improve speed, then processing time is reduced, but compression ratio and data efficiency deteriorate
Solution Approach 1:
The patent employs parameter changes by utilizing variable tag sizes (24-bit or 32-bit) and variable literal/copy lengths. The decompression algorithm dynamically adjusts these parameters based on the compressed data structure, allowing it to achieve both high speed through efficient parameter handling and high compression ratios through adaptive parameter selection during the compression phase.
3Adaptability or versatility
If variable tag sizes are used to improve compression efficiency, then data representation flexibility is improved, but processor complexity and branch mispredictions increase
Solution Approach 1:
The patent applies local quality by having different processing paths for 24-bit and 32-bit tags, where each path is optimized for its specific tag size. The processor reads the tag size indicator and then applies the appropriate processing logic locally, rather than using a single complex path that handles all cases. This reduces overall processor complexity while maintaining the ability to handle variable tag sizes efficiently.
Data Source
AI summary
A processor-implemented method of decoding computer-readable data from a tag-based data format having a big tag size and a small tag size is provided. Decoding includes: reading the next tag in the received input, the tag including information about a tag size, a literal length, a literal, a copy length, and a copy offset; processing the read tag to determine whether the tag size; and reading the information about the literal length, copy length, and copy offset from the tag based on the determined tag size. Decoding includes processing the literal by writing information representing the literal to output representing the decoded computer-readable data. Decoding also includes processing copy data included in the tag based on the copy length and the copy offset. A data read point for the input and a data write point for the output may be advanced appropriately during or after literal and copy processing.


