Multithreaded SCL Polar Decoder for Concurrent LLR and Sorting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hardware implementations of successive cancellation list (SCL) polar decoding for cellular data communication face challenges in achieving high throughput and efficient utilization due to the sequential nature of LLR updating and sorting processes, leading to idle periods in circuitry and suboptimal performance in high-speed networks.

Innovation Solution

A multithreaded polar decoder circuit is designed to concurrently execute LLR updates and sorting operations across multiple threads, allowing the LLR update engine and sort engine to operate iteratively and sequentially cycle through different codewords, with synchronization logic coordinating thread operations to enhance throughput and reduce idle time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential LLR updating and sorting processes are used in SCL polar decoding, then the decoding algorithm can be implemented with simple hardware structure, but the throughput is limited and hardware utilization is low due to idle periods

Engineering Contradiction:
ImprovethroughputVSAvoidhardware structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The decoding process is segmented into multiple independent threads, each handling different codewords or candidate paths. The LLR update engine and sort engine are divided into multiple functional units that can process different segments concurrently, transforming the sequential process into parallel operations that increase throughput without requiring a complete redesign of the hardware architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The LLR update engine performs preliminary computations of log-likelihood ratios and path metrics before the sorting operation. By preparing the path metrics in advance and maintaining ready queues for candidate paths, the system ensures that when sorting is needed, the data is already prepared, eliminating idle waiting time and improving hardware utilization

Inventive Principle:
Principle #10Preliminary action

Solution Approach 3:

The multithreaded architecture ensures continuous useful action by piping results from one thread to the next. While one thread is sorting candidate paths, another thread is already updating LLRs for the next stage, and a third thread is preparing subsequent operations. This continuous pipeline eliminates idle periods and maximizes hardware utilization

Inventive Principle:
Principle #20Continuity of useful action

2Productivity

If multithreaded concurrent execution of LLR update and sort engines is implemented, then throughput and hardware utilization are improved, but the circuit complexity and synchronization requirements increase

Engineering Contradiction:
ImprovethroughputVSAvoidcircuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Ready queues and result queues serve as intermediaries between the LLR update engine and sort engine. These queues buffer data and coordinates the flow of information between concurrent threads, managing the complexity of synchronization by providing a standardized interface that abstracts the underlying coordination logic

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses periodic clock cycles and structured synchronization points to coordinate multithreaded operations. By organizing concurrent execution into regular periodic cycles with defined phases for LLR updating, sorting, and result collection, the system manages circuit complexity through predictable, rhythmic operation patterns rather than arbitrary concurrent access

Inventive Principle:
Principle #19Periodic action

3Reliability

If iterative traversal of binary tree for multiple codewords is performed, then decoding accuracy is maintained, but processing time increases due to sequential operations

Engineering Contradiction:
Improvedecoding accuracyVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system transitions from sequential processing of codewords to parallel processing by adding a thread dimension. Multiple threads traverse different branches of the binary tree simultaneously, each maintaining decoding accuracy through proper LLR updates while reducing overall processing time through concurrent execution across the thread dimension

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

Multiple decoding operations for different codewords are merged into a single multithreaded processing framework. The LLR update engine and sort engine handle multiple codewords in parallel within the same hardware structure, combining what would traditionally require separate sequential processing into unified concurrent operations that maintain accuracy while reducing time

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11664828B1Systems and methods for multithreaded successive cancellation list polar decoding
Publication Date: 2023.05.30 APPLE INC
  • US11664828B1 patent drawing
  • US11664828B1 patent drawing
  • US11664828B1 patent drawing

AI summary

A polar decoder circuit can execute successive cancellation list polar decoding on multiple threads concurrently. An LLR update engine of the polar decoder circuit and a sort engine of the polar decoder circuit can operate concurrently, with the LLR update engine computing updated path metrics for one codeword while the sort engine sorts candidates for one or more other codewords according to path metrics already computed by the LLR update engine. Threads corresponding to different codewords can cycle sequentially between the LLR update engine and the sort engine.