Variable-Length Decoder Alignment for Parallel Decompression

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Variable length encoded data streams present challenges in parallel decoding operations due to lack of byte alignment markers, leading to sequential processing that limits throughput and speed.

Innovation Solution

A decoder mechanism that aligns input lines to symbol boundaries by determining and compensating for bit spill-over, allowing parallel processing through alignment logic, tokenizer logic, and output generator logic, enabling high bandwidth decompression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential processing is used to decode variable length encoded data streams without alignment markers, then decoding accuracy is maintained, but throughput and speed are limited

Engineering Contradiction:
ImprovethroughputVSAvoidalignment logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The alignment logic performs preliminary actions by calculating the bit spill-over amount from the previous input line before processing the current input line. This preliminary calculation enables the current line to be properly aligned to symbol boundaries in advance, allowing parallel processing to proceed without waiting for sequential decoding of previous lines, thereby improving throughput while maintaining decoding accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The bit spill-over amount acts as an intermediary parameter that mediates between the variable length encoded symbols and the fixed-width input lines. By introducing this intermediary calculation, the system can translate the variable length nature of the encoded data into proper alignment offsets, enabling parallel processing pipelines to operate correctly without requiring sequential decoding

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If parallel processing is attempted without proper symbol alignment, then throughput increases, but decoding accuracy deteriorates due to misalignment

Engineering Contradiction:
Improveprocessing speedVSAvoidsymbol alignment precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The alignment logic uses feedback from the previous input line's bit spill-over amount to determine the correct alignment offset for the current input line. This feedback mechanism ensures that each parallel processing pipeline starts at the correct symbol boundary, maintaining decoding accuracy while enabling parallel processing. The spill-over information from one line feeds into the alignment calculation of the next line, creating a continuous feedback loop that preserves precision across parallel operations

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically changes the alignment parameter (offset) for each input line based on the calculated bit spill-over amount. By adjusting this parameter, the system adapts the fixed-width input line processing to accommodate variable length symbols, ensuring that parallel processing pipelines are properly aligned to symbol boundaries. This parameter change approach allows throughput improvement without sacrificing alignment precision

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8804852B2High bandwidth decompression of variable length encoded data streams
Publication Date: 2014.08.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8804852B2 patent drawing
  • US8804852B2 patent drawing
  • US8804852B2 patent drawing

AI summary

Mechanisms are provided for decoding a variable length encoded data stream. A decoder of a data processing system receives an input line of data. The input line of data is a portion of the variable length encoded data stream. The decoder determines an amount of bit spill over of the input line of data onto a next input line of data. The decoder aligns the input line of data to begin at a symbol boundary based on the determined amount of bit spill over. The decoder tokenizes the aligned input line of data to generate a set of tokens. Each token corresponds to an encoded symbol in the aligned next input line of data. The decoder generates an output word of data based on the set of tokens. The output word of data corresponds to a word of data in the original set of data.