打印
[FPGA]

PCIe-SSD NVMe主机控制器,Xilinx FPGA高性能版本应用介绍

[复制链接]
9497|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
adrifter|  楼主 | 2024-4-3 23:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
NVMe Host Controller IP
1     介绍
NVMe Host Controller IP可以连接高速存储PCIe SSD,无需CPU和外部存储器,自动加速处理所有的NVMe协议命令,具备独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口,非常适合于超高容量和超高性能的应用。此外,NVMe Host Controller IP支持RAID存储,从而可实现更高存储性能和存储容量。
无需CPU,NVMe Host Controller IP自动执行对PCIe SSD的PCIe设备枚举和配置、NVMe控制器识别和初始化、NVMe队列设置和初始化,实现必须以及可选的NVMe Admin Command Set和NVM Command Set,实现对PCIe SSD的复位/断电/SMART/Error Information管理、IO(Page)读写、DMA读写和数据擦除功能,提供用户一个简单高效的接口实现高性能存储解决方案。
NVMe Host Controller IP DMA读写的顺序传输长度可以配置,最小是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、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管理功能
Ø  提供1个IO命令接口,实现对PCIe SSD的IO(Page)读写、Cache Flush和逻辑数据块擦除功能;提供1个IO-AXI4-MM接口读写IO(page)数据
Ø  提供1个DMA命令接口,实现对PCIe SSD的DMA读写功能;提供1个DMA-AXI4-Stream-In/Out或DMA-FIFO-In/Out接口实现DMA数据的输入和输出
Ø  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),ProgrammingInterface: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 Host Controller IP直接连接到PCIe SSD
Ø  易于集成的同步、可综合Verilog设计
Ø  通过完全验证的NVMe Host Controller IP
2     概述
NVMe Host Controller IP作为一个对PCIe SSD的高性能存储控制器,不但提供对PCIe SSD的配置管理功能,而且提供对PCIe SSD的IO(Page)读写以及DMA读写功能。
NVMe Host Controller IP具备PCIe SSD Management,实现对PCIe SSD的复位/断电/SMART/Error Information管理功能。
NVMe Host Controller IP具备ASQ/ACQ引擎,实现NVMe Admin Command Set:Identify、SMART、Error Information、Create/Delete IO Submission/Completion Queue、Set Features – Volatile Write Cache/Arbitration。
NVMe Host Controller IP具备IO(Page) Wr/Rd引擎和SQ1/CQ1引擎,实现对PCIe SSD的IO(Page)读写、Cache Flush和逻辑数据块擦除功能。
NVMe Host Controller IP具备DMA Wr/Rd引擎和SQn/CQn引擎,实现对PCIe SSD的DMA读写功能。
上电后,NVMe HostController IP内置的PCIe DeviceEnumerate & Configuration自动实现对PCIe SSD的PCIe设备枚举和配置;然后内置的NVMe Controller Identify & Initialization自动实现对PCIe SSD的NVMe控制器识别和初始化;最后内置的Queue Setup & Initialization自动实现对PCIe SSD的NVMe队列设置和初始化。至此,NVMe Host Controller IP完成对PCIe SSD的所有配置和初始化工作,可以开始提供对PCIe SSD的读写、擦除、复位、断电、SMART操作。
                              
图 2 NVMe Host Controller IP结构框图
3  产品规格3.1 性能
PCIe配置参数:Max Payload Size=256-byte,Max Read Request Size=512-byte
1.    PCIe Gen3 SSD(三星970EVO Plus 1TB),Seq=128KB,1个DMA通道:
a)      DMA写入速度可达3300MB/s
b)      DMA读取速度可达3500MB/s
2.    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
2.   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. Emailneteasy163z@163.com

使用特权

评论回复

相关帖子

沙发
adrifter|  楼主 | 2024-8-31 22:01 | 只看该作者
NVMe A4S Host Controller IP.pdf (249.57 KB)
NVMe A4S Host Controller User Guide.pdf (1.08 MB)
NVMe AXI4 Host Controller IP.pdf (236.03 KB)
NVMe AXI4 Host Controller User Guide.pdf (795.17 KB)
NVMe主机控制器使用手册,AMBA-AXI-Stream接口,AMBA-AXI4接口,Xilinx FPGA

NVMe A4S Host Controller User Guide

NVMe AXI4 Host Controller User Guide



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

29

帖子

1

粉丝