Hardware Range Coding with Speculative Probability Buffering
Find Innovative SolutionsGenerate 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 method where speculative probability values are retrieved in response to a single read instruction, reducing memory access frequency and enhancing processing efficiency by storing these values locally for context-based coding, and compressing state information to minimize latency during switching between data streams.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If context-based range coders retrieve probability values through repeated memory access operations, then coding accuracy is maintained, but processing throughput decreases and memory bandwidth usage increases
Solution Approach 1:
The patent applies preliminary action by pre-fetching and storing speculative probability values into a local buffer before they are actually needed for coding operations. This allows the coder to retrieve values from the buffer rather than performing repeated memory accesses, thereby improving throughput and reducing latency.
Solution Approach 2:
The patent introduces an intermediary component - a local buffer - that sits between the main memory and the range coder. This buffer stores speculative probability values and serves as a mediator, allowing the coder to access frequently used probability values locally without repeatedly accessing main memory, thus reducing memory bandwidth usage and improving processing speed.
2Reliability
If state information is fully stored and retrieved during switching between data streams, then coding accuracy is maintained, but switching latency increases
Solution Approach 1:
The patent extracts only the essential state information (probability values) that needs to be preserved during switching between data streams, rather than storing and retrieving all state information. By selectively extracting and storing only the critical probability values in a buffer, the system maintains coding accuracy while significantly reducing switching latency.
Solution Approach 2:
The patent applies preliminary action by pre-loading probability values into the buffer before switching between data streams occurs. This ensures that when switching happens, the necessary probability values are already available in the buffer, eliminating delays associated with retrieving state information during the switch.
Data Source
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.


