Bit Reversal Parallel Processor Memory Banks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional FFT implementations on processors require significant processing power and memory bandwidth, limiting their ability to perform large DFTs in real-time due to computationally intensive bit-reversal operations, especially in systems that rely heavily on hardware-managed cache hierarchies for intermediate result storage.

Innovation Solution

The technique exploits parallelism in processors to efficiently permute data sets based on bit reversal of indices by using a memory with multiple banks that allow parallel access, where bit-reversed indices are modified to distribute destination locations across different banks, enabling simultaneous writing of multiple data points and utilizing parallel threads for bit-reversal operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional FFT implementations use hardware-managed cache hierarchies for intermediate result storage, then memory management is automated, but processing power and memory bandwidth are significantly consumed

Engineering Contradiction:
Improvememory management automationVSAvoidprocessing power
Core Design Contradiction:
Ease of operationVSPower

Solution Approach 1:

The patent divides the memory system into multiple independently accessible banks, allowing parallel data access operations. By segmenting the memory into banks that can be accessed simultaneously, the system reduces the processing overhead associated with centralized cache management while maintaining automated memory management capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing memory access patterns across multiple banks simultaneously. Instead of sequential access through a single cache hierarchy, the system accesses multiple memory banks in parallel, effectively adding a dimensional aspect to memory management that reduces processing power requirements.

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

2Device complexity

If conventional FFT implementations perform bit-reversal operations sequentially, then implementation is simple, but computational intensity increases and processing time extends

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocessing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The bit-reversal operation is segmented across multiple parallel processing threads, each handling a portion of the data simultaneously. This division allows the computationally intensive bit-reversal to be performed in parallel, dramatically reducing processing time while maintaining implementation clarity through structured thread organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs bit-reversal operations as a preliminary step before the main FFT computation, organizing data in the required order beforehand. This preliminary organization enables the subsequent FFT stages to proceed efficiently without repeated data reordering, improving overall processing speed.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If large DFTs are performed to maintain signal quality in real-time systems, then signal quality is preserved, but the processor cannot perform other operations due to limited processing power

Engineering Contradiction:
Improvesignal qualityVSAvoidprocessor availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The large DFT computation is segmented into multiple smaller processing units that can execute in parallel across different threads and memory banks. This segmentation allows the system to maintain large transform sizes for signal quality while distributing the computational load, freeing processor resources for other operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements overlapping computation and data transfer operations, allowing the FFT processing to continue uninterrupted while data is being moved between memory banks. This continuous processing ensures large DFTs are completed within real-time constraints, maintaining signal quality and processor availability.

Inventive Principle:
Principle #20Continuity of useful action

4Manufacturing precision

If bit-reversal operations are performed on all data points, then correct output sequence is achieved, but memory bandwidth requirements increase

Engineering Contradiction:
Improveoutput sequence accuracyVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The memory system is segmented into multiple banks that can be accessed in parallel during bit-reversal operations. By distributing data access across multiple banks simultaneously, the system achieves correct output sequencing without proportionally increasing total memory bandwidth consumption, as parallel accesses occur concurrently rather than sequentially.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7640284B1Bit reversal methods for a parallel processor
Publication Date: 2009.12.29 NVIDIA CORP
  • US7640284B1 patent drawing
  • US7640284B1 patent drawing
  • US7640284B1 patent drawing

AI summary

Parallelism in a processor is exploited to permute a data set based on bit reversal of indices associated with data points in the data set. Permuted data can be stored in a memory having entries arranged in banks, where entries in different banks can be accessed in parallel. A destination location in the memory for a particular data point from the data set is determined based on the bit-reversed index associated with that data point. The bit-reversed index can be further modified so that at least some of the destination locations determined by different parallel processes are in different banks, allowing multiple points of the bit-reversed data set to be written in parallel.