Xilinx NVMe AXI4主机控制器,AXI4接口高性能版本介绍

NVMe AXI4 Host Controller IP

1      介绍

NVMe AXI4 Host Controller IP可以连接高速存储PCIe SSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序访问的应用,也适用于随机访问的应用,同时结合外部存储器(比如DDR),使得Host端的数据访问管理更加灵活。

无需CPU,NVMe 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 AXI4 Host Controller IP读写的顺序传输长度是RTL运行时动态可配置的,最小是4K-Byte,最大是512K-Byte。每次读写访问,用户可以指定本次传输的顺序传输长度(4K~512K Byte),不同的顺序传输长度对应不同的DMA读写性能。

针对多路数据通道访问PCIe SSD,使用NVMe的多队列特性,NVMe AXI4 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接口实现DMA数据的输入和输出

  • DMA读写的顺序传输长度可以动态配置,4K-Byte~512K-Byte;不同的顺序传输长度对应不同的DMA读写性能
  • 针对多通道DMA需求,可以配置4个DMA命令接口,1个DMA-AXI4接口
  • 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 AXI4 Host Controller IP直接连接到PCIe SSD
  • 易于集成的同步、可综合Verilog设计
  • 通过完全验证的NVMe AXI4 Host Controller IP

2      概述

NVMe AXI4 Host Controller IP作为一个对PCIe SSD的高性能存储控制器,不但提供对PCIe SSD的配置管理功能,而且提供对PCIe SSD的IO(Page)读写以及DMA读写功能。

NVMe AXI4 Host Controller IP具备PCIe SSD Management,实现对PCIe SSD的复位/断电/SMART/Error Information/Device Self-test管理功能。

NVMe AXI4 Host Controller IP具备ASQ/ACQ引擎,实现NVMe Admin Command Set:Identify、SMART、Error Information、Device Self-test、Create/Delete IO Submission/Completion Queue、Set Features – Volatile Write Cache/Arbitration。

NVMe AXI4 Host Controller IP具备IO(Page) Wr/Rd引擎和SQ1/CQ1引擎,实现对PCIe SSD的IO(Page)读写、Cache Flush和逻辑数据块擦除功能。

NVMe AXI4 Host Controller IP具备DMA Wr/Rd引擎和SQn/CQn引擎,实现对PCIe SSD的DMA读写功能。

上电后,NVMe AXI4 Host Controller IP内置的PCIe Device Enumerate & Configuration自动实现对PCIe SSD的PCIe设备枚举和配置;然后内置的NVMe Controller Identify & Initialization自动实现对PCIe SSD的NVMe控制器识别和初始化;最后内置的Queue Setup & Initialization自动实现对PCIe SSD的NVMe队列设置和初始化。至此,NVMe AXI4 Host Controller IP完成对PCIe SSD的所有配置和初始化工作,可以开始提供对PCIe SSD的读写、擦除、复位、断电、SMART、Device Self-test操作。

 

 

图 2 NVMe AXI4 Host Controller IP结构框图

3   产品规格

3.1 性能

PCIe配置参数:Max Payload Size=256-byte,Max Read Request Size=512-byte

  1. PCIe Gen3 SSD(三星990 Pro 4TB),Seq=512KB,1个DMA通道:

a)       DMA写入速度3380MB/s

b)       DMA读取速度3550MB/s

  1. PCIe Gen3 SSD(三星970EVO Plus 1TB),Seq=512KB,1个DMA通道:

a)       DMA写入速度3320MB/s

b)       DMA读取速度3480MB/s

  1. PCIe Gen3 SSD(Intel D5-P5530 3.84TB),Seq=512KB,1个DMA通道:

a)       DMA写入速度3350MB/s

b)       DMA读取速度3440MB/s

  1. PCIe Gen3 SSD(三星980 Pro 1TB),Seq=512KB,1个DMA通道:

a)       DMA写入速度2950MB/s

b)       DMA读取速度3430MB/s

3.2            资源

  1. KU040

表3.1 PCIe Gen3 SSD,Seq=512K,Queue Depth=8,1-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

16016

21927

21

1

NVMe Host Controller

10518

13878

4

0

PCIe Bridge

5499

8049

17

1

 

表3.2 PCIe Gen3 SSD,Seq=512K,Queue Depth=8,2-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

20546

26994

25

1

NVMe Host Controller

15043

18949

8

0

PCIe Bridge

5499

8049

17

1

 

表3.3 PCIe Gen3 SSD,Seq=512K,Queue Depth=8,4-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

29686

36972

33

1

NVMe Host Controller

24188

28933

16

0

PCIe Bridge

5499

8049

17

1

 

  1. ZU7EV

表3.4 PCIe Gen3 SSD,Seq=512K,Queue Depth=8,1-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

21920

31099

38

1

NVMe Host Controller

10558

13962

4

0

PCIe Bridge

11363

17137

34

1

 

表3.5 PCIe Gen3 SSD,Seq=512K,Queue Depth=8,2-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

26448

36126

42

1

NVMe Host Controller

15083

19029

8

0

PCIe Bridge

11363

17137

34

1

 

表3.6 PCIe Gen3 SSD,Seq=512K,Queue Depth=8,4-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

35462

46253

50

1

NVMe Host Controller

24045

29160

16

0

PCIe Bridge

11363

17137

34

1

4   交付清单

可交付资料:

1. 详细的用户手册

2. 设计文件:源代码或网表

3. 时序约束

4. 测试或Demo工程

5. 技术支持:邮件,电话,现场,培训服务

6. Email:neteasy163z@163.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/745504.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

请问如何将带有斜纹水印pdf的转成Excel呢?

大家好,我是Python进阶者。 一、前言 前几天在Python最强王者交流群【wen】问了一个Python自动化办公的问题,问题如下:请问如何将带有斜纹水印pdf的转成Excel呢?目前我把pdf转成图片,根据水印的颜色进行清除,但是在脱网环境下无法将图片转成Excel。 二、实现过程 后来【隔…

并发问题的三大根源是什么?

本文探讨了在多线程环境下,CPU缓存、线程切换以及编译优化如何影响数据的可见性、原子性和有序性,并提出了相应的解决方案。在单核CPU时代,所有线程共享同一缓存,确保了数据的一致性。然而,多核CPU下,各核心拥有独立缓存,可能导致线程间数据更新不可见。1.前言 从进程与…

判断语句

判断语句 猜猜心里数字:n=6 if int(input("第一次输入数字"))==n:print("猜对了") elif int(input("第二次输入数字"))==n:print("第二次猜对了") elif int(input("第三次输入数字"))==n:print("第三次对了") el…

nacos RCE

1.漏洞原理 漏洞的核心在于 Nacos 的某些接口没有严格的权限控制,攻击者可以通过通过特定的 JSON 数据结构,远程执行恶意代码。以利用该漏洞读取敏感文件、执行系统命令。 条件:需要登录后才能利用漏洞 2.影响版本 nacos 2.3.2 nacos 2.4.0 3.环境搭建 https://github.com/a…

DataFountain-个贷违约预测实战

赛题来源:Datafountain 个贷违约预测 竞赛 - DataFountain 参考优秀选手方法单模走天下:公布一个单模型精度达0.9014(B榜第8)的算法 数据科学社区-DataFountain并加入自己理解整理如下:赛题理解 题目给出了train_internet.csv、train_public.csv、test_public.csv、submit_e…

数据仓库建模工具之一——Hive学习第三天

1、Hive的基本操作 1.1 Hive库操作 1.1.1 创建数据库1)创建一个数据库,数据库在HDFS上的默认存储路径是/hive/warehouse/*.db。create database testdb;2)避免要创建的数据库已经存在错误,增加if not exists判断。(标准写法)-- 中括号表示可以省略的内容 create database…

Datawhale AI 夏令营——电力需求挑战赛——Task2学习笔记

一、实先准备import numpy as np import pandas as pd import lightgbm as lgb from sklearn.metrics import mean_squared_log_error, mean_absolute_error, mean_squared_error import tqdm import sys import os import gc import argparse import warnings warnings.filter…

美团VS饿了么,到底谁更胜一筹?

美团大战饿了么,到底谁会更胜一筹最近啊,收到一个粉丝的投稿,我发现他在美团和饿了么都去面试过。 这俩企业大家应该都经常用吧,咱点外卖的时候,我有时候就琢磨,到底他俩谁更厉害点。 今天咱们就瞅瞅,在面试这块儿谁更难一些。 (目前都只有一面的情况,要是想要后续的,…

系统状态方程的离散化

A=[0 1 0; 0 0 1; -6 -11 -6]; B=[1 0; 2 -1; 0 2]; C=[1 -1 0; 2 1 -1]; D=[0 0; 0 0]; sysG=ss(A,B,C,D); %获取系统的模拟传递函数 step(sysG) %模拟系统的阶跃响应,如图1 T=0.1; sysGd=c2d(sysG,T); %获取系统的数字传递…

插片式远程 IO模块:双通道PNP和NPN高速计数模块案例说明

插片式远程 IO模块:​XD5002为双通道PNP高速计数模块,XD5003为双通道NPN高速计数模块,用于对工业现场的设备(如手轮、编码器等)进行计数。注意:区别在于XD5002为高电平,XD5003为低电平。插片式远程 IO模块:XD5002为双通道PNP高速计数模块,XD5003为双通道NPN高速计数模…

linux 中根据文件的大小进行文件的查找

001、find ./ -type f -name "*fasta" -size +100M -size -200M ## 查找文件类型未文件; 名称未最后几个字符fasta, 文件的大小大于100M, 小于200M 。