FPGA Board Memory Management Unit for Controller Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network communication systems face performance bottlenecks due to resource-intensive scanning and filtering tasks, which consume significant processing and memory resources, affecting overall system performance even when offloaded to FPGA boards, as they still rely on the system memory controller.
Innovation Solution
A method and apparatus that offloads processing and memory access tasks from the CPU and memory controller by providing a FPGA board with its own separate memory and memory management unit, using dynamic memory allocation and deallocation through linked lists to manage board memory efficiently, allowing the FPGA to handle memory tasks independently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If scanning and filtering tasks are performed on the CPU, then security protection is provided, but system performance suffers due to resource consumption
Solution Approach 1:
The patent extracts scanning and filtering tasks from the CPU by implementing them in hardware on an FPGA board. The content filter board includes an FPGA device that performs pattern matching and content filtering operations independently from the CPU, removing the burden of these resource-intensive tasks from the main processor while maintaining security protection.
Solution Approach 2:
The patent introduces a content filter board as an intermediary component between the network interface and the CPU. This board includes a buffer memory and FPGA device that handle filtering operations, acting as a mediator that processes data before it reaches the CPU, thereby protecting the system while preserving CPU performance.
2Productivity
If FPGA board is used to offload scanning tasks, then CPU workload is reduced, but memory controller becomes a bottleneck
Solution Approach 1:
The patent segments the memory system into two independent parts: system memory accessed by the CPU through the system memory controller, and board memory on the FPGA content filter board accessed through its own memory controller. This segmentation allows parallel access to both memory systems without contention, eliminating the bottleneck where the single memory controller had to service both CPU and FPGA memory requests.
3Quantity of substance
If system memory is shared between CPU and FPGA, then memory resources are utilized, but memory controller performance degrades
Solution Approach 1:
The patent implements physical segmentation of memory resources, with the content filter board having its own board memory (e.g., 256MB DDR2 SDRAM) separate from system memory. This allows both CPU and FPGA to have adequate memory resources simultaneously without sharing, eliminating memory controller performance degradation while maintaining high memory resource utilization.
Data Source
AI summary
The invention relates to methods and apparatus for offloading the workload from a computer system's CPU, memory and/or memory controller. Methods and apparatus for managing board memory on a FPGA board on behalf of applications executing in one or more FPGAs are disclosed.


