首页 > 其他分享 >Xilinx FPGA NVMe A4S Host Controller, 高性能NVMe A4S主机控制器IP

Xilinx FPGA NVMe A4S Host Controller, 高性能NVMe A4S主机控制器IP

时间:2024-05-31 12:43:48浏览次数:26  
标签:DMA FPGA NVMe Host PCIe Controller A4S 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

2      概述

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

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

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

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

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

 

 

图 2 NVMe A4S 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=128KB,1个DMA通道:

a)       DMA写入速度3380MB/s

b)       DMA读取速度3550MB/s

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

a)       DMA写入速度3050MB/s

b)       DMA读取速度3350MB/s

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

a)       DMA写入速度3280MB/s

b)       DMA读取速度2700MB/s

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

a)       DMA写入速度2700MB/s

b)       DMA读取速度2000MB/s

3.2            资源

  1. KU040

表3.1 PCIe Gen3 SSD,Seq=128K,Queue Depth=4,1-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

17251

25429

87

1

NVMe Host Controller

12780

17477

70

0

PCIe Bridge

5473

7952

17

1

 

表3.2 PCIe Gen3 SSD,Seq=128K,Queue Depth=4,2-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

24626

33305

155

1

NVMe Host Controller

19144

25339

138

0

PCIe Bridge

5487

7966

17

1

 

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

 

LUTs

FFs

BRAMs

PCIe

总资源

16600

22812

31

1

NVMe Host Controller

11144

14864

14

0

PCIe Bridge

5461

7948

17

1

 

表3.4 PCIe Gen3 SSD,Seq=4K,Queue Depth=8,2-DMA

 

LUTs

FFs

BRAMs

PCIe

总资源

21068

28135

43

1

NVMe Host Controller

15596

20163

26

0

PCIe Bridge

5475

7962

17

1

 

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

 

LUTs

FFs

BRAMs

PCIe

总资源

38686

38812

67

1

NVMe Host Controller

33188

30833

50

0

PCIe Bridge

5503

7979

17

1

 

  1. ZU7EV

表3.6 PCIe Gen3 SSD,Seq=128K,Queue Depth=4,1-DMA

 

LUTs

FFs

BRAMs

URAM

PCIe

总资源

23925

34570

40

8

1

NVMe Host Controller

12621

17486

6

8

0

PCIe Bridge

11311

17085

34

0

1

 

表3.7 PCIe Gen3 SSD,Seq=128K,Queue Depth=4,2-DMA

 

LUTs

FFs

BRAMs

URAM

PCIe

总资源

29958

42446

44

16

1

NVMe Host Controller

18640

25352

10

16

0

PCIe Bridge

11320

17094

34

0

1

 

表3.8 PCIe Gen3 SSD,Seq=4K,Queue Depth=16,1-DMA

 

LUTs

FFs

BRAMs

URAM

PCIe

总资源

23128

33037

40

2

1

NVMe Host Controller

11811

15956

6

2

0

PCIe Bridge

11319

17081

34

0

1

 

表3.9 PCIe Gen3 SSD,Seq=4K,Queue Depth=16,2-DMA

 

LUTs

FFs

BRAMs

URAM

PCIe

总资源

28201

39453

44

4

1

NVMe Host Controller

16893

22365

10

4

0

PCIe Bridge

11308

17088

34

0

1

 

表3.10 PCIe Gen3 SSD,Seq=4K,Queue Depth=16,4-DMA

 

LUTs

FFs

BRAMs

URAM

PCIe

总资源

46962

52253

52

8

1

NVMe Host Controller

35645

35160

18

4

0

PCIe Bridge

11319

17093

34

0

1

4   交付清单

可交付资料:

1. 详细的用户手册

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

3. 时序约束

4. 测试或Demo工程

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

6. Email:[email protected]

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

相关文章

  • 全国产RK3568J + FPGA的PCIe、FSPI通信实测数据分享!
    测试数据汇总案例时钟频率理论速率测试结果FSPI通信案例150MHz71.53MB/s读速率:67.452MB/s写速率:52.638MB/sPCIe通信案例100MHz803.09MB/s读速率:595.24MB/s写速率:791.14MB/s备注:(1)当TLPheadersize=16Byte时,PCIe理论传输速率为:7......
  • VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动
    VMwareESXi7.0U3qmacOSUnlocker&OEMBIOS集成网卡驱动和NVMe驱动(集成驱动版)ESXi7U3标准版集成Intel网卡、RealtekUSB网卡和NVMe驱动请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3-sysin/,查看最新版。原创作品,转载请保留出处。作者主页:sy......
  • 了解Stratix® V 5SGXA5 FPGA系列5SGXEA5H2F35I3G、5SGXEA5H2F35C3G、5SGXEA5H1F35C2G
    摘要StratixVFPGA具有1.6Tbps串行交换能力,采用各种创新技术和前沿28-nm工艺,突破带宽瓶颈,降低了宽带应用的成本和功耗。概述StratixVFPGA系列采用TSMC28nm高性能(HP)工艺进行制造,提供110万逻辑单元(LE)、53-Mbits嵌入式存储器、3,680个18x18乘法器,以及工作在业界最高速率......
  • 基于FPGA的计算器设计---第一版
    欢迎各位朋友关注“郝旭帅电子设计团队”,本篇为各位朋友介绍基于FPGA的计算器设计---第一版。功能说明: 1.计算器的显示屏幕为数码管。2.4x4矩阵键盘作为计算器的输入设备。3.计算任意两位正整数的加减乘除。4.当减法结果出现负数时(一个小的数字减去一个大的数字),数码管......
  • OFDM 802.11a的FPGA实现:发射部分的最终实现
    目录1.摘要2.最终实现的ModelSim仿真3.Matlab仿真和MoselSim仿真进行对比4.完整工程1.摘要本系统在Xilinx的zynq7000系列FPGA芯片上实现了一个基于IEEE802.11a协议的OFDM基带处理发射机的功能。本系统包含了整个发射机的所有功能,包括序列训练符号、Siganl符号和Data......
  • 基于FPGA的函数信号发生器设计
    本科时期的一个课设,现在将他分享出来,写了很详细的文章,可以直接拿去使用:设计采用波形查找表和相位累加器的方法实现DDS,查找表的数据位宽为8位,采样点数为4096。波形产生范围是100Hz-20MHz,最小频率间隔为1Hz,用8个数码管显示频率,可产生正弦波、方波、三角波,波形用两个led显示,select......
  • 突破带宽瓶颈,5SGSMD4E1H29C2G、5SGSMD4E1H29I2G、5SGSMD4E3H29I3G Stratix® V GS FPG
    StratixVGSFPGA——600-Mbps至12.5-Gbps收发器,适用于高性能数字信号处理(DSP)应用。中文参数:5SGSMD4E1H29C2GLAB/CLB数:135840逻辑元件/单元数:360000总RAM位数:19456000I/O数:360电压-供电:0.87V~0.93V安装类型:表面贴装型工作温度:0°C~85°C(TJ)封装/外壳:780-BBGA,FCBGA......
  • FPGA复位:(35)复位移除方法?
    1.1复位移除方法?1.1.1本节目录1)本节目录;2)本节引言;3)FPGA简介;4)复位移除方法?5)结束语。1.1.2本节引言“不积跬步,无以至千里;不积小流,无以成江海。就是说:不积累一步半步的行程,就没有办法达到千里之远;不积累细小的流水,就没有办法汇成江河大海。1.1.3FPGA简介FPGA(FieldP......
  • FPGA复位:(33)同步复位优势?
    1.1同步复位优势?1.1.1本节目录1)本节目录;2)本节引言;3)FPGA简介;4)同步复位优势?5)结束语。1.1.2本节引言“不积跬步,无以至千里;不积小流,无以成江海。就是说:不积累一步半步的行程,就没有办法达到千里之远;不积累细小的流水,就没有办法汇成江河大海。1.1.3FPGA简介FPGA(FieldP......
  • Linux NVMEM子系统:概述以及RK3588 OTP实例
     NVMEM子系统为Non-Volatile类型存储提供统一内核处理框架。1NVMEM概述NVMEM子系统为eeprom,otp,efuse类型设备提供统一的访问接口。一般都基于regmap实现读写。NVMEM子系统初始化:nvmem_initbus_register--注册NVMEM总线nvmem_bus_type。2NVMEMAPI和数据结构2.1N......