Range Code Decompression Circuit for Parallel Bit Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing range code decoding process in storage systems is inefficient due to its inability to perform parallel multiplication for multiple bits, leading to slow decompression performance and increased read response times, especially when using the LZMA algorithm.

Innovation Solution

A decompression circuit that calculates candidate bit values for each bit of an N-bit string based on possible bit histories and selects the correct bit value, allowing for parallel processing to speed up the decoding of range codes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If range code decoding is performed using traditional sequential multiplication for each bit, then decoding accuracy is maintained, but decoding speed becomes very slow

Engineering Contradiction:
Improvedecoding speedVSAvoiddecompression performance
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The invention pre-calculates and stores multiplication results in a lookup table before decoding begins. By preparing the table in advance with all possible multiplication outcomes, the decoder can quickly retrieve pre-computed values during parallel decoding without performing actual multiplication operations in real-time, thus achieving high-speed parallel decoding while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates a copy of the range code decoding process that operates in parallel by using a lookup table that replicates the multiplication function. Instead of performing sequential multiplication for each bit, the system uses the pre-computed table copy to simultaneously determine multiple bit values, transforming the sequential operation into a parallel one and significantly improving decoding speed.

Inventive Principle:
Principle #26Copying

2Productivity

If parallel multiplication is attempted for multiple bits in range code decoding, then processing performance could be improved, but the uncertainty of bit history makes it difficult to determine reference values

Engineering Contradiction:
Improveprocessing performanceVSAvoidcomplexity of determining reference values
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention resolves the reference value determination problem by pre-calculating all possible multiplication outcomes and storing them in a lookup table before parallel decoding begins. This preliminary action eliminates the need to dynamically determine reference values during parallel processing, as all possible values are already computed and stored, allowing straightforward parallel access without complex real-time calculations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The lookup table serves as an intermediary between the uncertain bit history and the parallel decoding process. Instead of directly computing multiplication results with uncertain historical values during parallel decoding, the system uses the pre-computed table as a mediator that has already resolved all possible combinations, simplifying the parallel decoding operation while maintaining accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If compression ratio is increased using algorithms like LZMA with range codes, then cost per capacity is reduced, but decompression processing time increases

Engineering Contradiction:
Improvecompression ratioVSAvoiddecompression processing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The invention uses a lookup table that copies and stores all possible multiplication results from the range code decoding process. This table copy allows the decompressor to retrieve pre-computed values in parallel during decompression, significantly reducing processing time while maintaining the high compression ratios achieved by LZMA and range code algorithms.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The invention replaces the mechanical sequential multiplication operation with a table lookup mechanism. Instead of performing actual multiplication operations bit by bit during decompression, the system substitutes this computational process with parallel table lookups, dramatically reducing the time required for decompression while preserving the high compression capabilities of the LZMA algorithm.

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

Data Source

PatentUS12019921B2Apparatus for processing received data
Publication Date: 2024.06.25 HITACHI VANTARA LTD
  • US12019921B2 patent drawing
  • US12019921B2 patent drawing
  • US12019921B2 patent drawing

AI summary

To speed up decoding of a range code. A decompression circuit calculates a plurality of candidate bit values for each bit of the N-bit string based on a plurality of possible bit histories of a bit before a K-th bit in parallel for a plurality of bits, and repeatedly selects a correct bit value of the K-th bit from the plurality of candidate bit values based on a correct bit history of the bit before the K-th bit to decode the N-bit string.