在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 346|回复: 1

[原创] Xilinx FPGA NVMe主机控制器IP,高性能版本

[复制链接]
发表于 2024-2-1 12:47:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
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的复位/断电管理、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、Create/Delete IO Submission/Completion Queue、Set Feature
Ø  支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management
Ø  提供1个Admin命令接口,实现对PCIe SSD的复位/断电管理功能
Ø  提供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性能和消耗的逻辑资源
Ø  支持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 Manegement,实现对PCIe SSD的复位/断电管理功能。
NVMe Host Controller IP具备ASQ/ACQ引擎,实现NVMe Admin Command Set:Identify、SMART、Create/Delete IO Submission/Completion Queue、Set Feature。
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的读写、擦除、复位操作。
nvme-host-controller-ip-diagram.png
                              
图 2 NVMe Host Controller IP结构框图
3  产品规格3.1 性能
PCIe配置参数:Max Payload Size=256-byte,Max Read Request Size=512-byte
1.    PCIe Gen3 SSD,Seq=128KB,1个DMA通道:
a)      DMA写入速度可达3300MB/s
b)      DMA读取速度可达3500MB/s
2.    PCIe Gen2 SSD,Seq=128KB,1个DMA通道:
a)      DMA写入速度可达1700MB/s
b)      DMA读取速度可达1800MB/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=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.3 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
2.   ZU7EV
表3.4 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.5 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.6 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
4   交付清单
可交付资料:
1. 详细的用户手册
2. 设计文件:源代码或网表
3. 时序约束
4. 测试或Demo工程
5. 技术支持:邮件,电话,现场,培训服务
NVMe Host Controller IP.pdf (246.47 KB, 下载次数: 11 )



发表于 2024-2-1 13:58:54 | 显示全部楼层
用户端怎么使用没讲出来,应用场景是什么?  M.2 固态硬盘的访问在 MPSOC linux系统中具体怎么使用 ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 14:19 , Processed in 0.023017 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表