国产fpga nvme ip高速存储方案设计

发布于:2025-02-10 ⋅ 阅读:(38) ⋅ 点赞:(0)

zynq tcp万兆网和ftp协议分析-CSDN博客

国产fpga nvme ip高速存储方案设计_fpga 高速存储-CSDN博客

国微pcie switch 8748高速存储方案设计_国产pcie switch-CSDN博客

FPGA SATA高速存储设计-CSDN博客

FPGA NVME高速存储设计_690t fpga-CSDN博客

zynq多host高速存储方案设计_zu11eg-CSDN博客

zynq nvme高速存储之ext4文件系统_zynq pcie-CSDN博客

ftp/nfs卸载自定义文件系统数据_windwos nfs存储删除-CSDN博客

PCIe+Switch高速存储方案设计_pcie switch-CSDN博客

zynq/nvme/ext4/fpga高速存储设计_zynq实现大容量存储-CSDN博客

linux内核零拷贝技术_linux内核数据拷贝-CSDN博客

linux系统raid0测试实验_raid0实验-CSDN博客

全网最全PCIe枚举算法分析(以ZYNQ平台实例讲解)_pcie 枚举-CSDN博客

国产高速存储方案主要是使用nvme ip实现高速存储方案,nvme ip采用纯verilog语言实现,用户拿到nvme  ip使用起来也很简单。

先看看效果如

zu7eg板子,这个芯片支持pcie3.0 x4.

zynq 7045板子只支持pcie 2.0 x4

速度测试,测试nvme ip的代码采用c语言,在zu板卡上再ps端跑测试代码,测试性能如下所示。

zu7eg测试速度如下:

zynq7045测试速度如下:

ssd是990 pro

ssd 970 evo

nvme ip bd工程如下所示,注意到这个bd工程搭建了arm核,这个核仅仅是用于测试nvme ip的测试代码,用户正式使用时可以换成自己的verilog代码。

zu7eg 使用ps测试的bd工程

zu7eg资源使用情况

zynq7035使用mb软核作为测试的bd工程如下:

zynq7035资源使用情况

nvme协议分析

nvme协议初始化

nvme io命令分析

nvme ip接口

nvme 提供了admin管理命令读写接口,用户通过填充admin  sq buff实现发送命令,通过polling cq寄存器确认该命令是否完成。

nvme提供了io命令,io命令提供了lba,command id,len,opcode,prp地址等寄存器,用户填充这些命令后,通过trigger寄存器实现命令发送,nvme ip实现了qd128队列深度,用户通过polling寄存器找到空闲 的queue node实现sq的填充。通过polling cq完成寄存器确认 某个command id命令是否完成。

nvme ip支持如下命令


网站公告

今日签到

点亮在社区的每一天
去签到