Parallel Turbo Decoder Block Assignment for Balanced Memory Use
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional turbo decoding systems face inefficiencies in assigning code blocks to constituent decoding units, leading to suboptimal memory utilization and decoding time, especially when dealing with code blocks of varying lengths, as they either require excessive memory or result in uneven decoding completion times.
Innovation Solution
The method involves representing the turbo decoding system as a resource diagram, dividing code blocks into subblocks of equal length, and mapping these subblocks as rectangles to be assigned to decoding units in a way that all units start and end decoding simultaneously, using a rectangle placement algorithm to optimize distribution and interleaving.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If code blocks of varying lengths are assigned to parallel decoding units using conventional methods, then decoding can be performed in parallel, but memory utilization becomes suboptimal and decoding completion times become uneven
Solution Approach 1:
The patent segments code blocks of varying lengths into fixed-size subblocks. Each subblock is then assigned to a decoding unit, ensuring uniform processing time. This segmentation resolves the contradiction by maintaining parallel processing capability while eliminating the time variation caused by different code block lengths.
Solution Approach 2:
The patent dynamically assigns subblocks to decoding units based on current workload and availability. This dynamic assignment allows the system to balance the load across decoding units, ensuring that all units complete their tasks simultaneously despite varying input sizes, thus resolving the time variation issue while maintaining high productivity.
2Productivity
If code blocks of varying lengths are assigned to parallel decoding units, then decoding throughput is maintained, but memory allocation becomes inefficient with excessive memory required
Solution Approach 1:
By segmenting code blocks into fixed-size subblocks, the patent enables efficient memory allocation. Each decoding unit only needs to allocate memory for its assigned subblocks rather than accommodating the maximum possible code block length, thus reducing total memory requirements while maintaining parallel decoding throughput.
Solution Approach 2:
The patent applies local quality by allocating memory specifically to each decoding unit based on its actual workload (assigned subblocks) rather than uniformly allocating memory to all units. This localized memory allocation optimizes memory utilization by ensuring each unit has exactly the memory it needs for its current tasks.
3Quantity of substance
If code blocks are divided into subblocks and assigned to decoding units, then memory utilization improves, but the complexity of assignment and interleaving increases
Solution Approach 1:
The patent simplifies the assignment complexity by segmenting code blocks into fixed-size subblocks with standardized formats. This standardization enables the use of efficient rectangle placement algorithms that can quickly determine optimal assignments without complex calculations, thus improving memory utilization while keeping the assignment process manageable.
Solution Approach 2:
The patent performs preliminary actions by pre-processing code blocks into standardized subblocks before assignment. This pre-segmentation simplifies the subsequent assignment process, as the rectangle placement algorithm only needs to allocate pre-formed units rather than dealing with variable-length blocks, reducing the overall complexity of the system.
Data Source
AI summary
A system for, and method of, assigning code blocks to constituent decoding units in a turbo decoding system having parallel decoding units. In one embodiment, the method includes: (1) representing the turbo decoding system as a resource diagram rectangle, (2) representing the code blocks as code block rectangles, (3) mapping the code block rectangles into the resource diagram rectangle and (4) assigning the code blocks to the constituent decoding units based on the mapping.


