Skip to content

Random-access NVMe block-device demo on ZCU106 using rmNVMe-IP for PetaLinux, featuring performance tests and NVMe management examples.

Notifications You must be signed in to change notification settings

design-gateway/random-nvme-blkdev-petalinux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

rmNVMe-IP with Custom DMA on PetaLinux Demo

Overview

This document demonstrates how to achieve 3000++ MB/s NVMe performance with full Linux filesystem access using rmNVMe-IP on a PetaLinux-based FPGA demo from Design Gateway - DG rmNVMe-IP PetaLinux demo.

Block Diagram

Introduction

The rmNVMe-IP with Custom DMA on PetaLinux demo showcases a high-performance random-access NVMe host system built on a custom DMA datapath, delivering over 3000 MB/s while operating as a fully Linux-compatible block device. Users can evaluate I/O performance, verify data integrity, and execute NVMe management commands directly from the terminal.

Comparison: DG rmNVMe-IP vs DG NVMe-IP on PetaLinux

IP Name rmNVMe-IP (this demo) NVMe-IP
Device Type Block Character
Design Target Kernel-compatible, Filesystem-supported Performance-critical, Resource-optimized
Performance Focus Random access Sequential access
Operation Support Read/Write simultaneously Single Operation

Note: See the DG NVMe-IP on PetaLinux Repository

Key Features:

  • High-Performance Random Access:
    Achieve 3000++ MB/s real-world throughput with both raw and filesystem access.

  • Linux Block Device Support:
    The DG rmNVMe driver provides a true /dev/dgnvmeblk* block interface—format, mount, and use like a standard Linux drive.

  • Zynq UltraScale+ Optimization:
    Fully hardware-accelerated NVMe datapath with low CPU load for embedded systems.

  • Seamless Integration with PetaLinux:
    Includes driver, block device, and example applications ready to run on boot.

  • Real-World Workflow Demonstration:
    Covers performance tests, data integrity, NVMe commands, and user application execution.

About This Demo

This demo showcases Design Gateway’s rmNVMe-IP running on PetaLinux, delivering high-speed NVMe storage with full Linux filesystem capability. After booting from the SD card, users can run performance tests, validate data, and execute NVMe commands directly from the terminal using the included tools.

Resources

Test Environment

The demo runs on a PetaLinux-based FPGA system equipped with an NVMe SSD. Here are the required components:

  1. FPGA development board: ZCU106
  2. PCIe adapter board: AB17-M2FMC
  3. SD Card
  4. Serial Console

Running the Demo

  1. Boot the FPGA board from SD card and log in with
    Login:		root
    Password:	root
  2. Verify the driver and device with lsmod and ls /dev/dgnvmeblk*.
  3. Once the system is ready, simply follow the Demo Instruction document to run all tests and evaluations.

Demo Download

  1. Demo Configuration files: Request via the demo inquiry form.
  2. For more information, please visit Design Gateway’s Storage IP Cores for AMD: Visit Here.

Watch the Demo on YouTube

Watch on YouTube


Feel free to explore and contribute to this repository for improvements and enhancements to the rmNVMe-IP PetaLinux demo.

About

Random-access NVMe block-device demo on ZCU106 using rmNVMe-IP for PetaLinux, featuring performance tests and NVMe management examples.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published