Range Code Decompression Circuit Using Candidate Bit Histories

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing range code decoding process in storage systems is slow due to the inability to perform parallel multiplication of bit histories, leading to increased read response times and decreased decompression performance.

Innovation Solution

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

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If range code decoding is performed using sequential multiplication based on bit history, then decoding accuracy is maintained, but decoding speed deteriorates

Engineering Contradiction:
Improvedecoding speedVSAvoidcomplexity of parallel processing circuit
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The decoding process is segmented into multiple independent processing units, each handling a specific bit position. The parallel decoding circuit divides the N-bit string into multiple segments that can be processed simultaneously, with each segment having its own multiplication unit that operates independently based on pre-calculated candidate bit values.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Candidate bit values for each bit position are pre-calculated based on possible bit histories before the actual decoding occurs. This preliminary preparation of candidate values allows the parallel decoding circuit to perform multiplications simultaneously without waiting for sequential bit history determination, thereby improving decoding speed while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If parallel multiplication is implemented for multiple bits, then decoding performance is improved, but the complexity of handling uncertain bit history increases

Engineering Contradiction:
Improvedecompression throughputVSAvoidcomplexity of bit history management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The bit history management is segmented by creating separate candidate value sets for each bit position. Instead of managing one global bit history, the system maintains multiple local candidate histories specific to each position, allowing parallel processing while reducing the complexity of global bit history tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple copies of the multiplication logic are created, one for each bit position in the N-bit string. Each copy operates with its own set of candidate bit values corresponding to its specific position, enabling parallel execution without complex interdependencies. The correct copy's result is selected after decoding completes.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11119702B1Apparatus for processing received data
Publication Date: 2021.09.14 HITACHI VANTARA LTD
  • US11119702B1 patent drawing
  • US11119702B1 patent drawing
  • US11119702B1 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.