zynq 级联多个ssd方案设计(ECAM BUG修改)

        本文讲解采用zynq7045芯片如何实现200T容量高速存储方案设计,对于大容量高速存储卡,首先会想到采用pcie  switch级联方式,因为单张ssd的容量是有限制的(目前常见的m.2接口容量为4TB,U.2接口容量为16TB),pcie switch目前主流型号是pex8748,刚好这个型号有对应的国产8748,国微8748现在用得很成熟了,虽然该芯片有一些bug,但作者都已经打上了patch完美解决了该问题。

本次设计方案框图如下所示,8748一共有48个lane,最大port数量为12,zynq下面通过pcie 2.0 x8连接1级switch,1级switch在通过5路gen3 x8连接5个二级pcie switch,二级switch下面通过pcie 3.0 x4连接10张gen3 x4 ssd,这样一共可以支持5 *10 = 50张ssd。 

对于zynq芯片中pcie硬核选择有两种。

方案一采用axi-bridge硬核,该硬核最大支持pcie 2.0 x4,mps=256,这种方式速度会受到硬件的限制,但实现更加简单。

 

方案二采用pcie Series硬核,该硬核最大支持pcie 2.0 x8,mps=256或者512(根据芯片等级有区别),如果是gen1 mps=1024,一般的ssd mps=128,256,512.该ip速度会很快,但是实现难度会更大。

 

这两个ip都是可以作为host bridge使用,具体选用哪一个结合技术实力和方案需求综合评估。

这种方案会面临的两个问题

1. ECAM 窗口很小,导致不能访问所有设备的配置空间,作者已经解决该问题。(zynq默认采用的是mem方案访问配置空间,也可以采用config tlp方式访问配置空间)

2. 多张ssd同时访问会出现竞争和超时问题,这个需要对nvme协议做出修订

 

fpga设计框图

在zynq级联方案中,作者已经实现标准ext4文件系统,用户可以独立读写每一张ssd,也可以将多张ssd组成raid0方式读写,在使用gen2 x4这个ip上,标准ext4文件系统速度可以做到1.2GB/s(这里的速度很保守,作者是按照国产ssd的最低速度和稳态速度写的),用户可以将ssd对应的存储卡拔插后插入到windows电脑上,windows可以识别到标准的ssd,并且会自动挂在成标准的windows盘符。

 

级联ssd上电枚举打印如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HeroKern

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值