zynq+nvme高速存储方案设计

HeroKern HeroKern     2022-12-10     456

关键词:

1.概述
很久没有写文章了,有空余时间还是分享一点技术干货。今天写一下zynq+nvme高速存储设计思想,zynq处理器是将ARM和FPGA集成在一起的处理器,区别于以前ARM+FPGA的板间架构,采用AXI内部总线实现ARM和FPGA内部的通讯,支持低速AXI-GP接口(类型Local Bus),高速AXI-HP接口,ARM端简称PS,FPGA端简称PL。如果数据过PS端,那么数据会经过HP接口,软件上的数据解析和拷贝,这样存储速率大约为130MB/s,速率比较慢,所以就引入了本文方案,控制走PS,数据PL实现分流操作。
2.方案设计
存储方案使用处理器为xilinx公司的xz7045芯片,SSD选用m.2接口的固态硬盘,SSD盘支持pcie接口和nvme协议,SSD盘挂载到PL,数据输入挂载到PL,PL的PCIe IP支持接口2.0,PS运行Linux操作系统。本次存储方案采用linux文件系统进行管理,使用文件系统接口,通过读写文件就能实现数据的下盘和导出操作。FPGA将数据缓存在DDR中,PS直接控制数据从FPGA直接写入到SSD,从而实现高速存储,存储方案如图 1所示。

此处方案细节已经删除。

3.FPGA设计
FPGA设计包括,DDR乒乓设计,PCIE接口转BRAM,高速GTX接口等。vivado设计框图如下所示。

4.软件设计
软件设计分为四个部分,PCIE驱动,NVME驱动,自定义驱动和应用程序。PCIe驱动负责解析PCIe接口,NVME驱动解析NVME协议,自定义驱动用于管理NVME驱动和与应用程序交互,应用程序负责文件信息管理,与上位机交互等操作。
软件设计有几个细节需要注意,文件信息可以放到SSD中,对速度不影响,异常掉电软件需要好好处理,数据不是完整的8M块也需要处理。异常掉电和数据不是完整8M块可以放到一起处理,异常掉电尽量让FPGA去检测。HP接口数据是直接到DDR,需要注意Cache一致性问题,因为存在HP接口Cache一致性,当从网络卸载数据时还存在网络MAC的DMA Cache一致性问题,这里涉及东西比较多,后期文章讲解。下图是自定义驱动的框架。

5.PCIE中断分析
PCIE中断分为硬中断和软中断,在zynq中中断处理比较特殊,因为PCIe的RC和协议解析是在不同处理上,中间只能通过GPIO和HP接口进行交互。
PCIe硬件中断如下所示

zynq中PCIe的软中断比较特殊,并不能完全按照MSI中断方式取处理。

PCIe真正软中断处理方式如下所示。

6.总结
按照本文方式处理,xc7z035处理器存储速率能够达到1.2GB/s。本方案设计比较简单,可移植性好,并且成本低,运行稳定,开发高效。速度测试结果如下图。

5个速度分别为:

  1. cpu data into ssd
  2. ssd data into cpu user
  3. ssd data into cpu kernel
  4. fpga data into ssd
  5. ssd data into fpga
    可以清晰看到copy_to_user是非常耗时,所以对于CPU端数据卸载需要结合零拷贝技术

zynq+nvme存储方案设计

...了本文方案,控制走PS,数据PL实现分流操作。2.方案设计存储方案使用处理器为xilinx公司的xz7045芯片,SSD选用m.2接口的固态硬盘,SSD盘支持pcie接口和nvme协议,SSD盘挂载到PL,数据输入挂载到PL,PL的PCIeI... 查看详情

zynq多host高速存储方案设计

        前面文章讲解了《zynq高速存储方案》,那种方案是针对单个pciehost设计的方案,当项目需求记录速度很高,并且没有国产化要求时,可以考虑使用ZynqUltraScale+系列的ZU11EG芯片,该芯片成本低࿰... 查看详情

zynq多host高速存储方案设计

        前面文章讲解了《zynq高速存储方案》,那种方案是针对单个pciehost设计的方案,当项目需求记录速度很高,并且没有国产化要求时,可以考虑使用ZynqUltraScale+系列的ZU11EG芯片,该芯片成本低࿰... 查看详情

pcie+switch高速存储方案设计

        上篇文章分享了《zynq高速存储方案》,zynq存储方案实现了1.2GB/s的存储速率,这篇文章分享pcie+switch常规方案,这种方案在存储领域很常见,目前作者实现switch方案存储速度有5GB/s和6.5GB/s,以及... 查看详情

pcie+switch高速存储方案设计

        上篇文章分享了《zynq高速存储方案》,zynq存储方案实现了1.2GB/s的存储速率,这篇文章分享pcie+switch常规方案,这种方案在存储领域很常见,目前作者实现switch方案存储速度有5GB/s和6.5GB/s,以及... 查看详情

nvme是啥的缩写

...易失性内存主机控制器接口规范” 什么是NVMe?NVMe是高速非易失性内存的首字母缩写,它是一种软件接口,可为使用非易失性内存的PCIExpress固态驱动器提供更高效且可扩展的简化协议和命令集。NVMe经过专门设计,可充分利... 查看详情

nvme闪存存储系统设计挑战

...的不断提升,价格不断下降,应用的不断增多,推动闪存存储系统替代传统磁盘系统。和传统磁盘系统相比,由于存储介质发生了变化,存储系统设计思考的问题会发生重大变化。这种变化直接体现在存储系统软件架构的改变,... 查看详情

zynq设计指南

...硬件系统部分的一个集成开发环境,例如可创建处理器,存储器,外设,扩展接口和总线。VivadoIDE和设计套件中的其他工具有交互,并且包含集成和打包IP的工具,这种设计为工程的可重用性提供了可能。SDK是基于广受欢迎的Ecli... 查看详情

报告:nvme存储系统机遇与挑战

很荣幸能够参加存储联盟主办,同有科技承办的“闪存预见新高峰”技术沙龙活动。在这个会议上和大家一起分享了NVMe存储系统遇到的机遇与挑战,从介质本身的特点、IO处理堆栈遇到的问题出发,给出了一些NVMe存储的设计思... 查看详情

1500读写的nvme有必要装吗?

...通的SATA固态硬盘已经足够了,无需花费额外的成本购买高速NVMe固态硬盘。参考技术A1500MB/s的读写速度是非常快的,相比传统的SATASSD读写速度有了很大提升,对于一些对存储设备要求较高的应用,如视频制作、大型游戏等使用SSD... 查看详情

自动驾驶nvidiajetson+fpga设计方案

...Q通过Pcie通信。  硬件原理图基于ZYNQ+Jetson多目标识别方案设计FPGA+Xavier高速信号处理系统6UZYNQ+NvidiaJetsonXavierNX板电子对抗平台,XilinxZYNQ接入CameraLink高帧率相机,采集图像ÿ 查看详情

nvme和ngff是否不一样

...考技术A不一样,ngff是m.2之前的名字,nvme是现在基于m.2的高速协议,用于pcie3.0x4通道的socket3(M型)接口。实现32Gbps传输带宽。 参考技术BNVME是协议,M.2(NGFF)是接口,PCI-E是通道,这几个概念不能相提并论。 查看详情

nvme和ngff的区别是啥?

...同NGFF有两种接口:Socket2和Socket3。前者支持SSD、WWAN等非存储设备,接口采用SATA和PCI-e2,Socket3专为高性能存储而设计,支持PCI-EX4接口,该接口更小,带宽高达4GB/s,Ngff(也称为m.2)包含世达线路。nvme是M.2接口。参考技术ANGFF有... 查看详情

zynq7000的cache

...后面补充"1、cache概述cache顾名思义是缓存,为了解决高速CPU与低速主存之间速度不匹配问题。cache根据速度和容量的不同,还可分为L1、L2、L3,速度渐慢,而容量渐增。不同CPU的L1cache相差往往不大,因此其性能与L2cache容量大... 查看详情

zynq原理图中添加rtl设计模块

前言已有的RTL模块怎么添加到原理图中?流程(1)添加文件到设计中。(2)右键文件添加到blockdesign中。 (3)连线即可。 以上。 查看详情

什么是nvme协议?

1NVMe协议的定义及特点在过去的2016年,几乎全球所有的存储大厂都推出了基于NVMe协议的固态硬盘产品,一时间NVMe协议几乎成为了行业最为热门的词汇。那么,NVMe协议到底是什么?它和传统的AHCI协议又有哪些异同?下面,我们... 查看详情

zynq从入门到秃头09ddsip数字波形合成(基于alinx7020&&an108)(代码片段)

文章目录高速AD/DA简介数模转换(DA)电路模数转换(AD)电路ADDA模块硬件电路ADDA模块引脚定义ZYNQ7020接口电路ADDA程序设计例化ROM生成COE例化ROM例化ILA代码顶层模块DA数据发送模块的代码AD数据接收模块的代码IO约... 查看详情

zynq板卡学习资料:基于zynqxc7z100fmc接口通用计算平台367

...器的嵌入式处理PS 端32bit 1GB 容量 DDR3 存储PS端RS232接口PS端USB接口PS端1路 10-100-1000 Mbps Ethernet (RGMII?) 网络接口PS端QSPI flash 存储PS端 SD卡,Emmc存储PL端32bit 1GB 容量DDR3 存储... 查看详情