Programmable FPGA-based Memory Controller

08/21/2021
by   Sasindu Wijeratne, et al.
0

Even with generational improvements in DRAM technology, memory access latency still remains the major bottleneck for application accelerators, primarily due to limitations in memory interface IPs which cannot fully account for variations in target applications, the algorithms used, and accelerator architectures. Since developing memory controllers for different applications is time-consuming, this paper introduces a modular and programmable memory controller that can be configured for different target applications on available hardware resources. The proposed memory controller efficiently supports cache-line accesses along with bulk memory transfers. The user can configure the controller depending on the available logic resources on the FPGA, memory access pattern, and external memory specifications. The modular design supports various memory access optimization techniques including, request scheduling, internal caching, and direct memory access. These techniques contribute to reducing the overall latency while maintaining high sustained bandwidth. We implement the system on a state-of-the-art FPGA and evaluate its performance using two widely studied domains: graph analytics and deep learning workloads. We show improved overall memory access time up to 58 on CNN and GCN workloads compared with commercial memory controller IPs.

READ FULL TEXT

page 1

page 3

research
01/27/2023

Design of an FPGA-based USB 3.0 device controller

The traditional USB 3.0 communication based on FPGA uses an external chi...
research
10/28/2021

NetDAM: Network Direct Attached Memory with Programmable In-Memory Computing ISA

Data-intensive applications like distributed AI-training may require mul...
research
09/18/2021

Reconfigurable Low-latency Memory System for Sparse Matricized Tensor Times Khatri-Rao Product on FPGA

Tensor decomposition has become an essential tool in many applications i...
research
12/10/2017

A Flexible High-Bandwidth Low-Latency Multi-Port Memory Controller

Multi-port memory controllers (MPMCs) have become increasingly important...
research
11/30/2016

Memory Controller Design Under Cloud Workloads

This work studies the behavior of state-of-the-art memory controller des...
research
07/17/2022

Towards Programmable Memory Controller for Tensor Decomposition

Tensor decomposition has become an essential tool in many data science a...
research
10/15/2019

The Memory Controller Wall: Benchmarking the Intel FPGA SDK for OpenCL Memory Interface

Supported by their high power efficiency and recent advancements in High...

Please sign up or login with your details

Forgot password? Click here to reset