您的位置:首页 > 文旅 > 旅游 > FPGA 690T NVME高速存储设计

FPGA 690T NVME高速存储设计

2025/4/17 20:25:07 来源:https://blog.csdn.net/qq_21792169/article/details/139884942  浏览:    关键词:FPGA 690T NVME高速存储设计

        高速存储设计会有各种需求的考虑,那么对应的方案也不完全相同,这篇文章出一期纯FPGA实现的高速存储方案。用纯fpga实现高速存储板卡有易国产化,功耗低和体积小等特点,缺点就是灵活性不是很强,实现标准ext4和nfs文件系统会非常难。

        690T高速存储硬件设计框图如下,switch下面挂载6张ssd,一路x8 到fpga host,1路x8到fpga ep,pcie端采用nvme ip实现ssd盘的读写,40Gbps以太网数据,以及多通道的srio和GTX数据,整个架构中最核心的就是nvme ip,nvme ip扮演了大脑的角色,负责枚举ssd,分配地址,以及nvme协议处理等。

        该方案可移植性很强,如果需要更高的速度,仅仅需要将pcie switch下面挂接更多的ssd,如果port不够可以挂更多的pcie  switch,因为switch 与fpga之间有两路pcie3.0 x8,那么就最大的下盘速率大约有16GB/s,具体跑多少速度挂载多少ssd,需要结合成功案例经验在做决定。

        在选型Pcie 核690t有很大的优势,支持多个pcie硬核,所以不用担心没得软核啦,比如下图就是xdma作为ep的配置。

 

        关于nvme ip资源消耗情况,目前高速存储使用的资源如下(外部接口没有全部使用),其实代码中有个细节可以优化很多bram接口,因为前期设计考虑冗余了,导致资源消耗过多。

在690t中实现tcp协议并且与上位机通讯。

nvme  ip支持如下IO命令

管理命令:

identify

set feature

abort cmd

creat sq cmd

creat cq cmd

fortmat nvm cmd

IO命令

read/write cmd

flush cache cmd   ###异常掉电可以下发该命令告知SSD将缓存中的数据program到nand flash

trim cmd    #该命令在格式化使用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com