一种基于PCIe的网络共享存储系统及其存储方法

文档序号:9290130阅读:1112来源:国知局
一种基于PCIe的网络共享存储系统及其存储方法
【技术领域】
[0001]本发明涉及航空电子技术,尤其用于嵌入式环境下,通过PCIe总线构建的交换网络的网络共享存储系统方法。
【背景技术】
[0002]随着航空电子设备的综合化程度越来越高,航空电子设备内部的复杂度也越来越高,一个设备内部由多个模块组成PCIe交换网络,各个模块之间可以通过自定义的通讯协议实现模块之间的数据交互。但是当其中一个模块含有存储介质并作为服务端,其它模块作为客户端,现有的客户端应用软件无法直接访问服务端存储介质中的文件。随着用户需求不断的变化,以及存储介质中目录和文件数量的增加,如果没有采用网络文件系统,在客户端应用软件与服务端应用软件之间的通讯协议上添加文件访问接口,那么各模块的应用软件与通讯协议的耦合性越来越大,应用软件也越来越复杂。

【发明内容】

[0003]为解决以上问题,本发明的发明目的在于提供一种基于PCIe的网络共享存储系统及存储方法,通过实现基于PCIe的网络文件系统,取代自定义的文件访问接口,为应用软件提供标准的文件存取控制接口(文件创建、删除、拷贝、读和写操作),避免对通讯协议的依赖,并且提供可用于多个客户端对服务端进行文件存取访问操作。
[0004]本发明的发明目的通过以下技术方案实现:
[0005]一种基于PCIe的网络共享存储系统,包括NFS Client模块、NFS Server模块、RPC/XDR模块、RPC over PCIe模块和PCIe多通道数据传输模块,其特征在于:
[0006]所述NFS Client模块用于在客户端提供远程过程调用接口,所述远程过程调用接口封装挂接至操作系统的I/o层,用于承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求;所述NFS Client模块还用于对服务端送回的操作结果,通过函数返回的方式返回给上层文件存取应用;
[0007]所述NFS Server模块用于响应客户端的远程过程调用请求,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,并将操作结果返回客户端;
[0008]所述RPC/XDR模块用于对服务器端与客户端之间传输的远程过程调用请求和数据进行数据块封装与解析;
[0009]所述RPC over PCIe模块用于实现客户端与服务端之间基于PCIe的NFS协议的数据块发送控制;
[0010]PCIe多通道数据传输模块根据RPC over PCIe模块的控制实现客户端与服务端之间传输服务。
[0011]优选地,所述RPC over PCIe 模块包含 Command Transfer 模块和 Data Transfer模块,所述PCIe多通道数据传输模块包含Message Service模块和DMA Service模块;
[0012]所述Message Service模块面向上层的Command Transfer模块提供数据发送过程中数据发送命令的发送和接收,底层由硬件模块上PCIe控制器中的消息中断和地址空间映射机制完成实现;
[0013]所述DMA Service模块根据从Command Transfer模块中解析得到的数据发送请求信息,面向上层的Data Transfer模块提供数据传输功能。
[0014]优选地,所述Message Service模块根据不同模块上不同应用发出的数据发送命令完成相应操作。
[0015]优选地,所述DMA Service模块通过硬件模块上DMA控制器提供的接收DMA功能完成。
[0016]本发明一种基于PCIe的网络共享存储系统的存储方法,包含以下步骤:
[0017]步骤I)、在客户端,NFS Client模块根据接至操作系统的I/O层的远程过程调用接口承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求;
[0018]步骤2)、由RPC/XDR模块对远程过程调用请求进行数据块封装;
[0019]步骤3)、RPC over PCIe模块控制PCIe多通道数据传输模块将远程过程调用请求发送给服务器端的RPC over PCIe模块;
[0020]步骤4)、在服务器端,RPC/XDR模块对来自于RPC over PCIe模块的远程过程调用请求进行解析,读取其中的调用请求类型和调用参数;
[0021]步骤5)、由NFS Server根据调用请求类型和调用参数,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,存取操作结束后,NFS Server将操作结果通过下层的RPC/XDR模块封装成数据块;
[0022]步骤6) RPC over PCIe模块控制PCIe多通道数据传输模块将操作结果回送至发送远程过程调用请求的客户端的RPC/XDR模块;
[0023]步骤7)、RPC/XDR模块对返回的操作结果进行解析后返回给NFS Client模块;
[0024]步骤8)、NFS Client模块对服务器端送回的操作结果,通过函数返回的方式返回給上层文件存取应用。
[0025]本发明使处理机中本没有存储介质的处理模块通过网络共享存储的方式,赋予了网络存储的功能,使客户端应用软件通过标准的文件操作接口,访问存取服务端中的文件。采用本发明,避免了模块之间通过自定义的通讯协议进行数据交换,降低了各模块应用软件之间的耦合性,提高了应用软件开发效率。
【附图说明】
[0026]图1是本发明硬件组成框图;
[0027]图2是本发明软件架构框图;
[0028]图3是本发明应用框图。
【具体实施方式】
[0029]为了更好地理解本发明,下面通过附图和实施例对本发明作进一步详细说明。
[0030]图1是本发明硬件组成框图,主要包括客户端处理模块、服务端处理模块、固态存储盘SSD以及母板,各个处理模块组成PCIe交换网络。硬件搭建完成后,还需配置各模块软件运行环境。对各个处理模块进行vxworks下板级支持包配置,完成PCIe的地址空间配置,完成处理模块3对SSD本地文件系统FAT32的配置。
[0031]图2是本发明的软件架构。软件主要实现基于PCIe的网络文件系统,其中包括三个软件模块:NFS over PCIe模块、RPC over PCIe模块和PCIe总线多通道数据传输模块。
[0032]NFS over PCIe模块实现基于PCIe 的NFS协议,包括NFS Client模块、NFS Server模块和 RPC/XDR (Remote Procedure Call Protocol 远程过程调用协议 \External DataRepresentat1n外部数据表示法)模块。
[0033]RPC over PCIe模块实现了基于PCIe的数据块发送控制,包括RPC over PCIe模块、Command Transfer命令传输模块和Data Transfer数据传输模块。
[0034]PCIe多通道数据传输模块实现在PCIe总线上提供多种通知服务和数据传输服务,其中通知服务包括消息中断,数据传输服务包括DMA数据传输。
[0035]NFS over PCIe模块实现了基于PCIe的NFS协议。在客户端,NFS Client提供远程过程调用接口封装挂接至操作系统的1/0层,用于承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求,由RPC/XDR模块进行数据封装,并通
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1