首页 > 其他分享 >NVMe主机控制器,AMBA-AXI4-Stream接口,Xilinx FPGA,介绍手册

NVMe主机控制器,AMBA-AXI4-Stream接口,Xilinx FPGA,介绍手册

时间:2024-08-09 14:54:49浏览次数:13  
标签:DMA FPGA Stream NVMe Host PCIe Controller SSD

NVMe A4S Host Controller IP

1      介绍

NVMe A4S Host Controller IP可以连接高速存储PCIe SSD,无需CPU和外部存储器,自动加速处理所有的NVMe协议命令,具备独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口,适合于高性能、顺序访问的应用,比如视频记录、信号记录。

无需CPU,NVMe A4S Host Controller IP自动执行对PCIe SSD的PCIe设备枚举和配置、NVMe控制器识别和初始化、NVMe队列设置和初始化,实现必须以及可选的NVMe Admin Command Set和NVM Command Set,实现对PCIe SSD的复位/断电/SMART/Error Information/Device Self-test管理、IO(Page)读写、DMA读写和数据擦除功能,提供用户一个简单高效的接口实现高性能存储解决方案。

NVMe A4S Host Controller IP DMA读写的顺序传输长度是在生成RTL时配置的,最小是4K-Byte,最大是512K-Byte。顺序传输长度配置为4K-Byte,NVMe Host Controller IP所消耗的BRAM最少,但是可以达到CrystalDiskMark测试软件RND4K Q32T16测试模式下的读写性能。顺序传输长度配置为128K-Byte,NVMe Host Controller IP所消耗的BRAM比较多,可以达到CrystalDiskMark测试软件SEQ128K Q32T1测试模式下的读写性能。

针对多路数据通道访问PCIe SSD,使用NVMe的多队列特性,NVMe Host Controller IP支持灵活配置DMA读写的通道个数,按照NVMe队列优先级仲裁(循环仲裁或加权循环仲裁)机制,实现多个DMA通道对同一块PCIe SSD的高效访问,从而达到多路数据通道访问的并行需求和QoS要求。

1.1      特性

  • 支持Ultrascale+,Ultrascale,7 Series FPGA
  • 支持PCIe Gen4,PCIe Gen3,PCIe Gen2 SSD
  • 无需CPU和外部存储器
  • 自动实现对PCIe SSD的PCIe设备枚举、NVMe控制器识别和NVMe队列设置
  • 支持对PCIe SSD的NVM Subsystem Reset、Controller Reset和Shutdown
  • 支持NVMe Admin Command Set:Identify、SMART、Error Information、Device Self-test、Create/Delete IO Submission/Completion Queue、Set Features – Volatile Write Cache/Arbitration
  • 支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management
  • 提供1个Admin命令接口,实现对PCIe SSD的复位/断电/SMART/Error Information/Device Self-test管理功能
  • 提供1个IO命令接口,实现对PCIe SSD的IO(Page)读写、Cache Flush和逻辑数据块擦除功能;提供1个IO-AXI4-MM接口读写IO(page)数据
  • 提供1个DMA命令接口,实现对PCIe SSD的DMA读写功能

n  提供1个DMA-AXI4-Stream-In/Out或DMA-FIFO-In/Out接口实现DMA数据的输入和输出

  • 支持SGDMA
  • DMA读写的顺序传输长度可以配置,4K-Byte~512K-Byte;不同的顺序传输长度对应不同的DMA读写性能,同时也消耗不一样的BRAM资源
  • 针对多通道DMA需求,可以配置4个DMA命令接口,4个DMA-AXI4-Stream-In/Out或DMA-FIFO-In/Out接口
  • NVMe队列的个数(配置DMA通道的个数)和深度可配置,平衡对PCIe SSD的DMA性能和消耗的逻辑资源
  • 支持循环仲裁(Round Robin Arbitration)和加权循环仲裁(Weighted Round Robin Arbitration)
  • 支持NVMe Admin和IO命令的超时和错误处理恢复机制,提供详尽以及扩展的访问错误状态输出
  • 支持的NVMe设备:

n  Base Class Code:01h(mass storage),Sub Class Code:08h(Non-volatile),Programming Interface:02h(NVMHCI)

n  MPSMIN(Memory Page Size Minimum):0(4K-byte)

n  MDTS(Maximum Data Transfer Size):大于等于顺序传输长度或0(无限制)

n  LBA Unit:512-byte,1024-byte,2048-byte或4096-byte

  • 一个NVMe A4S Host Controller IP直接连接到PCIe SSD
  • 易于集成的同步、可综合Verilog设计
  • 通过完全验证的NVMe A4S Host Controller IP

链接:

https://files.cnblogs.com/files/zhang-fpgachipip/NVMe_A4S_Host_Controller_IP.zip?t=1723186093&download=true

标签:DMA,FPGA,Stream,NVMe,Host,PCIe,Controller,SSD
From: https://www.cnblogs.com/zhang-fpgachipip/p/18350765

相关文章

  • NVMe主机控制器,AMBA-AXI4接口,Xilinx FPGA,介绍手册
    NVMeAXI4HostControllerIP1     介绍NVMeAXI4HostControllerIP可以连接高速存储PCIeSSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序访问的应用,也适用于随机访问的应用,同时结合外部存储器(比如DDR),使得Host端的数......
  • stream的用法
    /***筛选出Integer集合中大于7的元素,并打印出来*/privatestaticvoidtest2(){List<Integer>list=Arrays.asList(6,7,3,8,1,2,9);Stream<Integer>stream1=list.stream();stream1.filter(x->x>7).forEach(System.out::println);}......
  • Java Stream
    JavaStream是Java8引入的一种强大工具,旨在简化数据处理操作。它允许开发者以声明性方式对集合或其他数据源执行一系列复杂的操作,如过滤、映射、规约等,从而提高代码的简洁性和可读性。以下是关于JavaStreamAPI的更详细的概述和示例,帮助你更好地理解其工作原理和应用场景。......
  • fpga图像处理实战-RGB转YCBCR(YUV)算法
    YCBCR        YCbCr是一种用于数字图像和视频的颜色空间。它将颜色分解为亮度(Y)和两个色度分量(Cb和Cr)。这种分解使得视频压缩和传输更加高效,因为人眼对亮度变化更敏感,而对色度变化较不敏感。        亮度(Y):亮度表示图像的灰度级别或光强度。它是RGB颜色空间中......
  • fpga图像处理实战-RGB与HSV互转
    HSV颜色模型        HSV(Hue,Saturation,Value)颜色模型是一种常用的色彩表示方式,特别适用于图像处理、计算机图形学和色彩选取工具中。它通过将颜色的表示从传统的RGB(红、绿、蓝)模型转换为更符合人类视觉感知的方式来描述颜色。以下是HSV模型的三个主要分   ......
  • fpga图像处理实战-YCBCR转RGB
    计算公式    R=Y+1.402*(V-128)=Y+1.402*CR-1.402*128  G=Y-0.344*(U-128)-0.714*(V-128)=Y-0.344*CB-0.714*CR+1.058*128   B=Y+1.772*(U-128)=Y+1.772*CB-1.772*128FPGA实现`timescale1ns/1ps////Company://......
  • 函数式编程-Stream流
    一、函数式编程-Stream流1、概述1.1为什么学?能够看懂公司里的代码大数量下处理集合效率高代码可读性高消灭嵌套地狱普通写法与函数式编程写法对比:普通写法//查询未成年作家的评分在70以上的书籍由于洋流影响所以作家和书籍可能出现重复,需要进行去重List<B......
  • CH2~CH5 DataStream API基础
    一个Flink程序,就是对DataStream进行各种转换。基本上由以下几部分构成接下来分别从执行环境、数据源、转换操作、输出四大部分,介绍DataStreamAPI。导入ScalaDataStreamApiimportorg.apache.flink.streaming.api.scala._CH-5DataStreamAPI基础一、执行环境1.1创建执......
  • 【教程4>第3章>第5节】8ASK解调系统的FPGA开发与matlab验证
    本课程学习成果预览 欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.8ASK解调理论简介3.8ASK解调过程的MATLA......
  • 图像处理之Video In to AXI4-Stream教程
    免责声明:本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济损失。读者在使用本文信息时,应自行......