High Performance Embedded Host NVMe IP Core

Overview

The IPM-NVMe_Host core is a verilog IP to be integrated in a FPGA or ASIC design. It fully manages the NVMe and PCIe protocol on the host side without requiring any CPU and any specific knowledge. It can be used with any NVMe SSD available on the market, or with a custom design based on the IPM-NVMe_Device IP .

The IPM-NVMe_Host is well suited for embedded applications requiring a high throughput storage such as recorder and video applications. 1+ million IOPS performance requires the use of an expensive CPU, which is not feasible in an embedded system due to cost, space and power limitation.

Using the pre-validated IPM-NVMe_Host IP core greatly reduces time-to-market for storage OEM; this allows the OEM to benefit from a powerful data transfer manager. The IPM-NVMe_Host IP core is full featured and easy to use with multiple application interface such as AXI or RAM-like.

 

Description

The architecture of the Host NVM Express IP is based on 4 main blocks:

  • Automatic init engine: PCIe and NVMe device initialization, hardware discovering
  • User Interface: memory configuration and input for the transfer request by the API
  • NVMe command manager: translation of the data request from API into a NVMe command. Submission and completion pointers management
  • Data Transfer Engine: management of the data transfer between the NVMe SSD and the FIFO/memory

It delivers very low latency since it is a full hardware host NVMe implementation. That takes only few dozens of clock cycles (compared to multiple thousands of clock cycles for a software NVMe driver on a CPU). In addition, there is no needs of PCIe interrupt management because it is directly processed by the Host NVMe manager, therefore avoiding context switches.

Key Features

  • Automatic PCIe/NVMe initialization
  • RAM or AXI4 or Avalon interface
  • Scalable architecture
  • options:
    • Opal 2.0 management
    • multiple queues management

Benefits

  • NVM Express Compliant
  • Automatic PCIe/NVMe init
  • Up to PCIe Gen 3x8
  • IO read/write and shutdown commands
  • FIFO or AXI4 or Avalon interface
  • 128 or 256 bits data path

Block Diagram

High Performance Embedded Host NVMe IP Core Block Diagram

Video

This is the NVM Express demo from IP-Maker demonstrated at Flash Memory Summit 2012, Santa Clara, CA. The NVMe IP is integrated in a FPGA-based board including all the mandatory features of the NVM Express specification 1.0d. NVMe protocol is observed wit

This is the NVM Express demo from IP-Maker demonstrated at Flash Memory Summit 2022, Santa Clara, CA. The NVMe IP is integrated in a FPGA-based board including all the mandatory features of the NVM Express specification 2.0. NVMe protocol is observed with a protocol analyzer from Teledyne Lecroy.

Applications

  • PCIe SSD

Deliverables

  • Verilog RTL source code
  • Low level firmware
  • Synthesis scripts
  • Technical documentation
  • Technical support

Technical Specifications

×
Semiconductor IP