FPGA Memory Data Processing Using Burst Block Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

FPGA accelerators face challenges in processing large data sets due to finite memory capacities, leading to computationally expensive memory access operations, which hinder efficient application of algorithms like SVD for big data processing.

Innovation Solution

The method involves reading a portion of the data set into a burst block, transforming and processing it in an element block format, applying sub-functions, and writing back the results, iteratively managing memory access to avoid excessive operations by defining a critical boundary for data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire data set is processed at once, then processing completeness is improved, but memory capacity limitations cause stalling and computational expense increases

Engineering Contradiction:
Improveprocessing completenessVSAvoidmemory access operations time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the large data set into smaller blocks that can be loaded into the FPGA's burst block memory simultaneously. This segmentation allows the system to process portions of the data in parallel while avoiding memory capacity limitations, thereby maintaining processing completeness without excessive memory access operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-loading necessary data blocks into the FPGA's burst block memory before processing begins. This preliminary data preparation enables the processing element to operate continuously without stalling for memory access, reducing overall computation time while ensuring complete data set processing.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is processed in smaller blocks, then memory access operations are reduced, but processing time increases due to iterative operations

Engineering Contradiction:
Improvememory access efficiencyVSAvoidprocessing duration
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The patent ensures continuity of useful action by organizing data blocks and processing operations so that the processing element can work continuously without idle time. Data blocks are arranged and pre-loaded in such a way that processing can proceed without stalling, maintaining high productivity while minimizing iterative overhead through efficient block management.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent applies dynamics by adaptively managing data block sizes and processing sequences based on the FPGA's memory capacity and the specific algorithm requirements. This dynamic approach optimizes the balance between memory access efficiency and processing duration, allowing the system to adjust to different data set sizes and processing demands.

Inventive Principle:
Principle #15Dynamics

3Productivity

If iterative processing is used to manage memory limits, then data handling efficiency is improved, but the number of processing iterations increases

Engineering Contradiction:
Improvedata handling efficiencyVSAvoidprocessing iteration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses segmentation to divide the data set into manageable blocks that fit within the FPGA's memory constraints. This segmentation improves data handling efficiency by allowing parallel processing of multiple blocks while reducing the overall complexity of each individual processing iteration through manageable block sizes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a universal processing framework that can handle different data block sizes and types using the same processing element and methodology. This multi-functional approach improves data handling efficiency across various scenarios while reducing processing iteration complexity by avoiding the need for specialized handling of different data configurations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11604757B2Processing data in memory using an FPGA
Publication Date: 2023.03.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11604757B2 patent drawing
  • US11604757B2 patent drawing
  • US11604757B2 patent drawing

AI summary

Processing data in memory using a field programmable gate array by reading a first portion of a data set to a burst block having a first data format, transforming a sub-portion of the first portion, to an element block having a second data format, processing the sub-portion yielding a first results set, transforming the first results set to the first data format of the burst block, and writing the first results set to the burst block.