基于开源SATA核的PCIE-SATA设计

article/2025/1/12 20:56:11

之前写的PCIE-SATA设计论文,摘抄到博客上,供大家参考。摘抄、转载请注明出处。

1. 参考设计

1.1 开源核设计

使用FPGA实现SATA接口主机控制器,国内外在此方面已有研究成果可以借鉴和参考。美国北卡罗莱纳州大学可编程计算机系统实验室,Ashwin A. Mendon、Bin Huang和Ron Sass基于Open Cores的开源IP核,已经在Xilinx公司Virtex 6系列FPGA上,搭建了基于内置CPU,支持SATA2接口的环境。

其中,图中内置的CPU为Xilinx嵌入式软核MicroBlaze,MGA为Multi Gigabit Transciever,MPMC为Multi-port Memory Controller,NPI为Native Port Interface,SSD为Solid State Drive。

1.2  DGWAY设计架构

DGway公司作为一个专业的IP核提供商,实现了基于FPGA的支持4个SATA并行读写的FPGA核,且为SATA核读写性能指标的测试提供了参考设计[1]。它采用Kintex-7评估板作为测试平台,作为SATA通信层的主机,每个SATA-IP使用一对GTX与目标设备进行通信,且相互独立运行,4个盘组成Raid模式。应用程序层在该参考设计控制4 SATA设备操作存储系统,传输速度是单个SATA盘的4倍。

 

设计主要由三部分组成,分别是MicroBlaze、AXI_DDR3、4个AXI_SATA控制器。AXI是MicroBlaze和4个SATA之间传输数据的交互总线,传输的数据是由MicroBlaze组包和解包的SATA FIS包,不同的FIS包类型,存储在DDR3的不同区域,AXI_SATA包含了FIS解码器,每个AXI_SATA和DDR3之间都有自己独立的互联总线。

2.  综合设计

2.1  开源核改进

原有的SATA核采用的是PLB总线,使嵌入式软核可以访问SATA核寄存器,通过NPI总线,可以使SATA核的DMA读写数据和挂载的DDR高速缓存交互。由于7系列FPGA新设计开始支持AXI总线,能够简化多种IP核的总线挂载,明显优于之前Xilinx公司之前的PLB总线。

使用Xilinx Platform Studio(XPS)平台可以非常方便的创建自己的IP,打开XPS后,在HardWare菜单,选择Create Peripheral,就可以定制自己的IP核。首先寄存器访问可以使用AXI4-Lite总线,我们需要将SATA核挂载在AXI4-Lite总线上。

 

AXI-Lite总线由于速度低,适用于简单的寄存器访问接口,可以使主机访问SATA核的寄存器,SATA核和设备交互的高速DMA读写数据,需要使用AXI4总线。可以从Xilinx官网下载参考核设计,XilinxAnswer #37425提供了各种AXI核的参考设计,我们只使用axi_master_v1_00_a参考设计,在其基础上修改设计,建立的AXI4总线和原有的NPI总线有很大不同,需要做一部分移植工作。

参考NPI状态机可知,读写均为由寄存器控制,寄存器包括读写的起始地址和读写的数据长度。首先分析AXI总线结构,分析读写发起的方法和顺序,然后将SATA核数据接口和AXI4总线连接。

2.2 系统搭建

当设计完成各主要模块后,需要使用Xilinx嵌入式版本 Design Suite 的关键组件将Xilinx Platform Studio(XPS)各个模块搭建成系统。

 

本设计包括两条AXI总线,一条为标准AXI4总线,另外一条为AXI-Lite总线,两条总线通过axi2axi_connector(AXI到AXI连接器)关联,以便两条总线的主从设备能够相互访问。

1个axi_pcie桥、4个axi_sata_ip的AXI主端接口,DDR3控制器从端和axi到axi桥接器,连接在标准AXI4总线,用于高速数据读写,其它设备可以通过pcie端口访问总线挂接的所有从设备,包括DDR3内存以及axi桥接器映射到的AXI-LIte总线从设备。

axi桥接器作为AXI-LIte总线主设备,可把AXI4总线访问请求转换为AXI-Lite总线协议访问挂载的axi-bram(AXI片上内存块),4个axi_sata_ip的寄存器接口,以及axi-pcie桥的从设备接口。

clock_generator、PCIe_Diff_Clk、utili_vector_logic、reset模块为时钟和复位模块单元,为各工作模块提供所需的时钟和复位信号。

2.3  板卡设计

 

板卡采用标准VPX 6U导冷结构设计,选用4片250G mSATA存储盘作为存储体,外部高速接口采用PCIE接口,用于和主控进行大速率数据传输。经上电测试,整个存储系统运行正常,4盘并行写速率约800MB/S,读速率约1GB/S。

3. 备注说明

开源SATA核链接:  https://github.com/CospanDesign/nysa-sata

开源SATA核文章:  https://download.csdn.net/download/web_star/10514755

我写的论文链接:   https://download.csdn.net/download/web_star/11376337


http://chatgpt.dhexx.cn/article/chVFPdQq.shtml

相关文章

[元带你学NVMe协议] PCIE 相对 SATA 的 4 大优势详解

声明 主页:元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言。 个人辛苦整理,付费内容,禁止转载。 目录 前言:1. 性能有数倍的提升及原因1.1 IO 队列个数1.2 PCI-E是全双工模式1.3 PCI-E通道数量更多1.4 PCIE 持续迭代更新2. 可大幅降低延迟3. 自动功耗状态切换和…

SATA、mSATA 、PCIe和M.2——SSD硬盘的接口详解

SATA、mSATA 、PCIe和M.2——SSD硬盘的接口详解 SATAT通道:硬盘——内存——CPU PCIE通道:硬盘——CPU 一、 硬盘传输标准协议AHCI和NVME AHCI(serial Advanced Host Controller Interface) 高级串行ATA功能接口标准 NVME标准相比AHCI有许多优点&…

[SSD科普] 固态硬盘物理接口SATA、M.2、PCIe常见疑问,如何选择?

前言 犹记得当年Windows 7系统体验指数中,那5.9分磁盘分数,在其余四项的7.9分面前,似乎已经告诉我们机械硬盘注定被时代淘汰。势如破竹的SSD固态硬盘,彻底打破了温彻斯特结构的机械硬盘多年来在电脑硬件领域的统治。SSD数倍于HDD机…

adadad

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也…

Arthas-idea

Arthas官方文档: https://arthas.aliyun.com/doc/commands.html Arthas是一款jvm调控工具,这几天尝试使用了一下,发现有些指令很好用,决定拿出来记录一下。 本地安装启动 curl -O https://arthas.aliyun.com/arthas-boot.jar jav…

Ideaidea

1.点击next. 2.选择安装路径,然后点击next. 3.勾选,然后点击next。 4.点击install. 5.然后点击finsh. 6.然后点击重启IDE,然后点击enter key. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.

yac

Yaconf – 一个高性能的配置管理扩展 本文地址: http://www.laruence.com/2015/06/12/3051.html 这个项目其实不是我新的idea, 这个是我在来微博以后, 第一个优化项目中顺手做的一个小工具, 本身叫做Weibo_Conf. 但是因为Weibo_Conf是属于Weibo扩展的, 里面还有一些其他功能是…

CFDEM-OpenFOAM-Yade安装教程

在网上搜索与OpenFOAM相关的颗粒两相流计算资料时,发现了一个CFD-DEM coupled simulations with Yade and OpenFOAM。 在此之前,我学习过OpenFOAM自带的颗粒计算求解器,但是自带的求解器有很多缺点,最大的缺点就是颗粒运动方程的求…

开源离散元软件YADE的安装与编译(基于ubuntu18.04)

目录 简介修改下载源安装Yade发行版Yade的编译与安装源文件下载依赖库的安装cmake编译与安装运行Yade 其他 简介 Yade是一款十分好用的开源离散元软件,其简单易用,拓展性强。 然而,无论是在其官网还是各类博客,都只介绍了其在较老…

购物篮分析与产品定位分析

什么是产品关联度分析 关联分析是发现交易数据库中不同商品(项)之间的联系,主要应用于电商网站 推荐、线下零售门店商品摆放等场景中。 关联规则: 支持度(support):数据集中包含某几个特定项的…

从购物篮分析到关联规则挖掘 Apriori算法

从购物篮分析到关联规则挖掘 Apriori算法 ​ 随着大量数据不断的收集和存储,许多业界人士对于从他们的数据库中挖掘知识越来越感兴趣。对于商场而言,从大量的商务事务记录中发现有价值的的关联关系,可以为货物摆放和分析顾客购物习惯等许多商…

Mapreduce之购物篮分析

Mapreduce之购物篮分析 购物篮分析是一个流行的数据挖掘技术,在市场营销中这个技术可以揭示不同商品或商品组之间的相似度 MBA原理 通过MapReduce框架,设计相关的解决方案生成交易的关联规则,从而查找最常见的商品对 应用领域 信用卡交易…

【项目实战】Python基于Apriori关联规则算法实现商品零售购物篮分析

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 购物篮分析是商业领域最前沿、最具挑战性的问题之一,也是许多企业重点研究的问题。购物篮分…

数据挖据——如何利用SQL语句实现购物篮分析?

提到购物篮分析,就不得不说到一个无数次被提及的故事——啤酒与尿不湿的故事,这个经典案例常被拿到各种会场、餐桌和文章中,以至于听到耳朵都要磨成茧。购物篮分析,就是分析一段时间内客户购物篮中商品的规律,通过数据…

Apriori算法:购物篮分析

一、作业要求 编写Apriori算法程序,平台自选。用Apriori 算法找出频繁项集,支持度和置信度根据情况自行设定。找出强关联规则以及相应的支持度和置信度完成挖掘报告数据部分: 数据已上传网盘: 链接:https://wwn.lanzo…

【数据分析】产品关联度分析和购物篮分析(1)

产品关联度分析 关联分析是发现交易数据库中不同商品(项)之间的联系,主要应用于电商网站 推荐、线下零售门店商品摆放等场景中。 关联规则: 1.支持度(support):数据集中包含某几个特定项的概率…

【Clemetine】市场购物篮分析

一、实验目的及要求 通过项目的训练学习,了解数据挖掘在零售业中应用状况,掌握数据挖掘在零售业中分析方法及过程。 二、实验仪器设备 系统环境:Windows10 软件环境:SPSS Clementine11.1 三、实验内容 (一&#x…

购物篮分析模型实例——数据分析必备模型

要想做好数据分析必定要理解和熟悉掌握各类数据分析模型,但大部分文章只是给你罗列出了有哪几种数据分析模型及对应理论,并未用实例来辅助说明。 很多时候这些模型都进了收藏夹吃灰,大家也没有深刻理解这种分析模型,等到下次要开始…

商品零售购物篮分析——关联挖掘

一、实验目的 掌握对数据进行预处理和探索性分析的方法;掌握如何利用Apriori关联规则算法进行购物篮分析。 二实验内容 构建零售商品的Apriori关联规则模型,分析商品之间的关联性;根据模型结果给出销售策略。 三、实验操作步骤和结果分析…