Hardware Range Coding With Single-Read Probability Retrieval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Context-based range coders in data processing units face inefficiencies due to repeated memory access operations for retrieving probability values, leading to slowed throughput and increased memory bandwidth usage, especially when switching between applications and managing state information.

Innovation Solution

Implementing a data processing unit with specialized hardware-based accelerators that retrieve speculative probability values in a single read instruction, reducing memory access and compressing state information to minimize latency during application switching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If context-based range coder retrieves probability values through repeated memory access operations on a bit-by-bit basis, then it can access the required probability values for coding, but the throughput is slowed down and memory bandwidth efficiency is reduced

Engineering Contradiction:
Improveprobability value retrieval accuracyVSAvoidcoding throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies preliminary action by retrieving multiple probability values in advance through a single memory read operation before the actual coding process. Instead of accessing memory repeatedly during bit-by-bit coding, the system pre-loads a batch of probability values into a buffer, allowing subsequent coding operations to proceed without additional memory access delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the probability value retrieval process into two distinct phases: a bulk retrieval phase where multiple probability values are fetched in a single memory operation, and a sequential processing phase where these pre-fetched values are consumed during coding. This segmentation separates the high-latency memory access from the time-critical coding operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If context-based range coder performs frequent memory access operations for each bit coding, then it ensures up-to-date probability values, but memory bandwidth consumption increases

Engineering Contradiction:
Improveprobability value freshnessVSAvoidmemory bandwidth efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent merges multiple sequential memory access operations into a single combined memory read operation. By batching the retrieval of multiple probability values into one memory transaction, the system reduces the total number of memory access events and consolidates bandwidth consumption into fewer, more efficient operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a local copy of multiple probability values in a buffer or register file, allowing the coding process to reference these copied values without repeatedly accessing the original memory location. This copying mechanism decouples the time-critical coding operations from the slower memory subsystem.

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If state information is stored and retrieved when switching between applications, then coding continuity is maintained, but latency is introduced during application switching

Engineering Contradiction:
Improvecoding state consistencyVSAvoidapplication switching latency
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-storing state information in a readily accessible buffer before application switching occurs. When an application needs to resume coding, the pre-stored state is already available in memory, eliminating the need for time-consuming state retrieval operations during the actual switching moment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the state information storage and retrieval operations from the critical application switching path. By separating state management from the switching mechanism itself, the system can maintain coding state without introducing latency into the switching process, as state operations occur independently before or after switching.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10511324B1Data processing unit having hardware-based range encoding and decoding
Publication Date: 2019.12.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10511324B1 patent drawing
  • US10511324B1 patent drawing
  • US10511324B1 patent drawing

AI summary

A highly programmable data processing unit includes multiple processing units for processing streams of information, such as network packets or storage packets. The data processing unit includes one or more specialized hardware accelerators configured to perform acceleration for various data-processing functions. The data processing unit is configured to retrieve speculative probability values for range coding a plurality of bits with a single read instruction to an on-chip memory that stores a table of probability values. The data processing unit is configured to store state information used for context-coding packets of a data stream so that the state information is available after switching between data streams.