[发明专利]基于SRIO接口的共享存储盘及其存取方法有效
申请号: | 202110270970.3 | 申请日: | 2021-03-12 |
公开(公告)号: | CN113176850B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 黎振兴;王萌;孙恩元 | 申请(专利权)人: | 湖南艾科诺维科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 赵朕毅 |
地址: | 410000 湖南省长沙市开福区伍家岭*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 srio 接口 共享 存储 及其 存取 方法 | ||
1.一种基于SRIO接口的共享存储盘,其特征在于,包括FPGA模块、电源管理电路、硬盘阵列、缓存模块和状态自检电路,所述硬盘阵列包括至少4块硬盘,所述电源管理电路和状态自检电路连接,所述FPGA模块通过SRIO接口和被安装的多计算节点嵌入式系统中的节点计算机连接,所述FPGA模块通过SATA接口和硬盘阵列连接,所述FPGA模块通过缓存接口和缓存模块连接,所述FPGA模块包括PL端和PS端,所述PS端和PL端通过AXI总线互相连接,其中:
所述PL端用于实现FPGA模块的SRIO接口、缓存接口、RAID控制器、SATA HOST控制器,还用于通过AXI总线与PS端进行交互;
所述PS端用于运行文件管理系统、文件访问传输协议解析程序、文件系统访问接口控制程序、共享存储控制管理程序,实现共享存储盘的逻辑功能,还用于通过AXI总线与PL端实现指令、状态以及配置交互;
所述电源管理电路用于将12V电源转换为共享存储盘各模块的供电电平;
所述状态自检电路用于监测共享存储盘的工作状态;
所述PS端包括:
共享存储控制管理模块,用于调度文件访问传输协议解析模块、文件系统访问接口控制模块、共享存储文件管理系统和存储硬件驱动程序的运行;
文件访问传输协议解析模块,用于通过AXI总线从PL端获取节点计算机发送的指令帧、信息帧,并将指令帧、信息帧解析成相应的节点计算机系统端的文件操作指令,还用于从共享存储文件管理系统获取文件访问结果或状态信息,将文件访问结果或状态信息封装成相应的数据帧并通过AXI总线由PL端经FPGA模块的SRIO接口反馈到节点计算机;
文件系统访问接口控制模块,用于将节点计算机系统端的文件操作指令转换为共享存储文件管理系统的本地文件系统操作指令;
共享存储文件管理系统,用于通过AXI总线从PL端获取硬盘阵列中硬盘的基本状态信息以及RAID状态信息,通过AXI总线将RAID配置信息发送给PL端;还用于通过文件系统访问接口控制模块接收文件系统操作指令,通过共享存储控制管理模块的调度启动存储硬件驱动程序并执行对应的文件操作;
存储硬件驱动程序,用于根据共享存储文件管理系统所接收的文件系统操作指令生成相应的SATA命令并通过AXI总线发送给PL端;
所述PL端包括:
SRIO模块,用于收取来自节点计算机的数据,还用于将共享存储盘的数据转发给节点计算机;
SRIO协议接口模块,用于对SRIO模块收到的数据解帧,将解帧之后的指令帧和信息帧通过AXI总线上传到PS端的文件访问传输协议解析模块,将解帧之后的数据帧发送给缓存模块,还用于收取来自硬盘阵列的数据帧和来自PS端的指令帧、信息帧并封装成SRIO帧格式数据后由SRIO模块发送到节点计算机;
DMA模块,用于把SRIO协议接口模块与缓存模块之间以及缓存模块与硬盘阵列之间的数据以数据块方式传输;
MIG控制器,用于控制缓存模块进行数据读写;
RAID控制器,用于通过AXI总线获取共享存储文件管理系统的RAID配置信息,并根据RAID配置信息将硬盘阵列中的硬盘构成冗余存储阵列;
SATA HOST控制器,用于通过AXI总线获取SATA命令,并根据SATA命令与硬盘阵列中对应的硬盘进行数据读写操作;
所述RAID控制器包括:
数据接收接口,用于接收来自缓存模块的待写入数据;
数据发送接口,用于将来自RAID数据转换控制模块的数据发送给缓存模块;
RAID配置模块,用于通过AXI总线获取并解析共享存储文件管理系统的RAID配置信息;
RAID数据转换控制模块,用于根据RAID配置模块的解析结果配置硬盘阵列的RAID模式为RAID 0模式或RAID 1模式;
RAID 0读写控制模块,用于控制所有SATA HOST控制器对硬盘阵列以RAID 0方式进行数据读写;
RAID 1读写控制模块,用于控制所有SATA HOST控制器对硬盘阵列以RAID 1方式进行数据读写;
所述SATA HOST控制器包括:
应用层,用于解析存储硬件驱动程序中的SATA命令得到操作命令并执行,操作命令为写操作时将操作指令和RAID控制器的待写入数据转发给传输层,操作命令为读操作时接收并缓存传输层发送的数据以及状态信息;
传输层,用于执行写操作时从应用层获取待写入数据和操作命令,对待写入数据与操作命令分别组帧后将数据帧和指令帧发送给链路层,将组帧操作的状态信息返回应用层;还用于执行读操作时接收链路层反馈的信息帧和数据帧并分别上传到应用层;
链路层,用于执行写操作时收取传输层发送的数据帧、指令帧,对其进行CRC校验后添加帧头和帧尾,再进行加扰处理后发送到物理层并进行流量控制;还用于执行读操作时接收物理层返回的原始数据帧和状态帧,并对其进行解扰操作和CRC校验,然后对校验正常的帧进行解帧操作,对解帧之后的数据分类后上传到传输层;
物理层,用于执行写操作时接收链路层发送的伪随机码流,对其进行并串转换且插入时钟信息后发送到硬盘阵列中对应的硬盘;还用于执行读操作时接收硬盘阵列的伪随机码流,对其进行串行数据并行化,并提取运行时钟信息,将处理后的伪随机码流发送给链路层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南艾科诺维科技有限公司,未经湖南艾科诺维科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110270970.3/1.html,转载请声明来源钻瓜专利网。