CN105007329B - 一种基于PCIe的网络共享存储系统及其存储方法 - Google Patents
一种基于PCIe的网络共享存储系统及其存储方法 Download PDFInfo
- Publication number
- CN105007329B CN105007329B CN201510460267.3A CN201510460267A CN105007329B CN 105007329 B CN105007329 B CN 105007329B CN 201510460267 A CN201510460267 A CN 201510460267A CN 105007329 B CN105007329 B CN 105007329B
- Authority
- CN
- China
- Prior art keywords
- modules
- pcie
- rpc
- client
- nfs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于PCIe的网络共享存储系统,包括NFS Client模块、NFS Server模块,所述NFS Client模块用于承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求;所述NFS Client模块还用于对服务端送回的操作结果,通过函数返回的方式返回给上层文件存取应用;所述NFS Server模块用于响应客户端的远程过程调用请求,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,并将操作结果返回客户端。本发明使没有存储介质的客户端通过网络共享存储的方式,赋予了网络存储的功能,访问存取服务端中的文件。
Description
技术领域
本发明涉及航空电子技术,尤其用于嵌入式环境下,通过PCIe总线构建的交换网络的网络共享存储系统方法。
背景技术
随着航空电子设备的综合化程度越来越高,航空电子设备内部的复杂度也越来越高,一个设备内部由多个模块组成PCIe交换网络,各个模块之间可以通过自定义的通讯协议实现模块之间的数据交互。但是当其中一个模块含有存储介质并作为服务端,其它模块作为客户端,现有的客户端应用软件无法直接访问服务端存储介质中的文件。随着用户需求不断的变化,以及存储介质中目录和文件数量的增加,如果没有采用网络文件系统,在客户端应用软件与服务端应用软件之间的通讯协议上添加文件访问接口,那么各模块的应用软件与通讯协议的耦合性越来越大,应用软件也越来越复杂。
发明内容
为解决以上问题,本发明的发明目的在于提供一种基于PCIe的网络共享存储系统及存储方法,通过实现基于PCIe的网络文件系统,取代自定义的文件访问接口,为应用软件提供标准的文件存取控制接口(文件创建、删除、拷贝、读和写操作),避免对通讯协议的依赖,并且提供可用于多个客户端对服务端进行文件存取访问操作。
本发明的发明目的通过以下技术方案实现:
一种基于PCIe的网络共享存储系统,包括NFS Client模块、NFS Server模块、RPC/XDR模块、RPC over PCIe模块和PCIe多通道数据传输模块,其特征在于:
所述NFS Client模块用于在客户端提供远程过程调用接口,所述远程过程调用接口封装挂接至操作系统的I/O层,用于承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求;所述NFS Client模块还用于对服务端送回的操作结果,通过函数返回的方式返回给上层文件存取应用;
所述NFS Server模块用于响应客户端的远程过程调用请求,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,并将操作结果返回客户端;
所述RPC/XDR模块用于对服务器端与客户端之间传输的远程过程调用请求和数据进行数据块封装与解析;
所述RPC over PCIe模块用于实现客户端与服务端之间基于PCIe的NFS协议的数据块发送控制;
PCIe多通道数据传输模块根据RPC over PCIe模块的控制实现客户端与服务端之间传输服务。
优选地,所述RPC over PCIe模块包含Command Transfer模块和Data Transfer模块,所述PCIe多通道数据传输模块包含Message Service模块和DMA Service模块;
所述Message Service模块面向上层的Command Transfer模块提供数据发送过程中数据发送命令的发送和接收,底层由硬件模块上PCIe控制器中的消息中断和地址空间映射机制完成实现;
所述DMA Service模块根据从Command Transfer模块中解析得到的数据发送请求信息,面向上层的Data Transfer模块提供数据传输功能。
优选地,所述Message Service模块根据不同模块上不同应用发出的数据发送命令完成相应操作。
优选地,所述DMA Service模块通过硬件模块上DMA控制器提供的接收DMA功能完成。
本发明一种基于PCIe的网络共享存储系统的存储方法,包含以下步骤:
步骤1)、在客户端,NFS Client模块根据接至操作系统的I/O层的远程过程调用接口承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求;
步骤2)、由RPC/XDR模块对远程过程调用请求进行数据块封装;
步骤3)、RPC over PCIe模块控制PCIe多通道数据传输模块将远程过程调用请求发送给服务器端的RPC over PCIe模块;
步骤4)、在服务器端,RPC/XDR模块对来自于RPC over PCIe模块的远程过程调用请求进行解析,读取其中的调用请求类型和调用参数;
步骤5)、由NFS Server根据调用请求类型和调用参数,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,存取操作结束后,NFS Server将操作结果通过下层的RPC/XDR模块封装成数据块;
步骤6)RPC over PCIe模块控制PCIe多通道数据传输模块将操作结果回送至发送远程过程调用请求的客户端的RPC/XDR模块;
步骤7)、RPC/XDR模块对返回的操作结果进行解析后返回给NFS Client模块;
步骤8)、NFS Client模块对服务器端送回的操作结果,通过函数返回的方式返回給上层文件存取应用。
本发明使处理机中本没有存储介质的处理模块通过网络共享存储的方式,赋予了网络存储的功能,使客户端应用软件通过标准的文件操作接口,访问存取服务端中的文件。采用本发明,避免了模块之间通过自定义的通讯协议进行数据交换,降低了各模块应用软件之间的耦合性,提高了应用软件开发效率。
附图说明
图1是本发明硬件组成框图;
图2是本发明软件架构框图;
图3是本发明应用框图。
具体实施方式
为了更好地理解本发明,下面通过附图和实施例对本发明作进一步详细说明。
图1是本发明硬件组成框图,主要包括客户端处理模块、服务端处理模块、固态存储盘SSD以及母板,各个处理模块组成PCIe交换网络。硬件搭建完成后,还需配置各模块软件运行环境。对各个处理模块进行vxworks下板级支持包配置,完成PCIe的地址空间配置,完成处理模块3对SSD本地文件系统FAT32的配置。
图2是本发明的软件架构。软件主要实现基于PCIe的网络文件系统,其中包括三个软件模块:NFS over PCIe模块、RPC over PCIe模块和PCIe总线多通道数据传输模块。
NFS over PCIe模块实现基于PCIe的NFS协议,包括NFS Client模块、NFS Server模块和RPC/XDR(Remote Procedure Call Protocol远程过程调用协议\External DataRepresentation外部数据表示法)模块。
RPC over PCIe模块实现了基于PCIe的数据块发送控制,包括RPC over PCIe模块、Command Transfer命令传输模块和Data Transfer数据传输模块。
PCIe多通道数据传输模块实现在PCIe总线上提供多种通知服务和数据传输服务,其中通知服务包括消息中断,数据传输服务包括DMA数据传输。
NFS over PCIe模块实现了基于PCIe的NFS协议。在客户端,NFS Client提供远程过程调用接口封装挂接至操作系统的I/O层,用于承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求,由RPC/XDR模块进行数据封装,并通过RPC over PCIe模块完成RPC请求发送操作。对于NFS Server端送回的操作结果,通过函数返回的方式返回給上层文件存取应用。在服务端,RPC/XDR模块对来自于RPCover PCIe模块的数据进行解析,然后由NFS Server根据解析后数据中的调用请求类型和调用参数,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,存取操作结束后,NFS Server将操作结果通过下层的RPC/XDR模块封装成数据块,并回送至发送远程过程调用请求的NFS Client。
RPC over PCIe模块实现了基于PCIe的数据块发送控制。RPC over PCIe负责接收来自于上层NFS over PCIe中RPC/XDR模块的发送请求,然后通过Command Transfer和DataTransfer将数据发送给对端;对端的RPC over PCIe负责接收来自于Command Transfer和Data Transfer模块的数据,并将其交给上层NFS over PCIe中RPC/XDR模块进行处理。
PCIe多通道数据传输模块实现多种通知服务和数据传输服务。PCIe多通道数据传输模块包括Message Service和DMA Service,分别对应服务与上层RPC over PCIe中的Command Transfer和Data Transfer模块。其中Message Service面向上层的CommandTransfer提供数据发送过程中数据发送命令的发送和接收,可区分不同模块上不同应用发出的数据发送命令,底层由硬件模块上PCIe控制器中的消息中断和地址空间映射机制完成实现;DMA Service面向上层的Data Transfer提供数据发送过程中接收端的数据传输功能,接收端基于RPC over PCIe从Command Transfer中解析得到的数据发送请求信息,调用Data Transfer进行数据接收,具体的接收操作由DMA Service通过硬件模块上DMA控制器提供的接收DMA功能完成。
图3为本发明的应用框图。运行在客户端的应用软件通过操作系统内核提供的I/O接口访问本地文件系统或者NFS网络文件系统挂载的远端文件系统,挂接在内核I/O接口上的NFS客户端将应用软件的操作请求按照RPC机制通过PCIe总线发送至NFS服务器,然后等待接收来自于服务端上NFS服务器的操作响应,并将结果返回给应用软件。
运行在服务端操作系统内核中的NFS服务器通过PCIe总线接收来自于NFS客户端的操作请求,并基于本地文件系统完成操作请求,然后将操作结果按照RPC机制通过PCIe总线发送给NFS客户端。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (4)
1.一种基于PCIe的网络共享存储系统,包括NFS Client模块、NFS Server模块、RPC/XDR模块、RPC over PCIe模块和PCIe多通道数据传输模块,其特征在于:
所述NFS Client模块用于在客户端提供远程过程调用接口,所述远程过程调用接口封装挂接至操作系统的I/O层,用于承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求;所述NFS Client模块还用于对服务端送回的操作结果,通过函数返回的方式返回给上层文件存取应用;
所述NFS Server模块用于响应客户端的远程过程调用请求,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,并将操作结果返回客户端;
所述RPC/XDR模块用于对服务器端与客户端之间传输的远程过程调用请求和数据进行数据块封装与解析;
所述RPC over PCIe模块用于实现客户端与服务端之间基于PCIe的NFS协议的数据块发送控制;
PCIe多通道数据传输模块根据RPC over PCIe模块的控制实现客户端与服务端之间传输服务;
其中,所述RPC over PCIe模块包含Command Transfer模块和Data Transfer模块,所述PCIe多通道数据传输模块包含Message Service模块和DMA Service模块;
所述Message Service模块面向上层的Command Transfer模块提供数据发送过程中数据发送命令的发送和接收,底层由硬件模块上PCIe控制器中的消息中断和地址空间映射机制完成实现;
所述DMA Service模块根据从Command Transfer模块中解析得到的数据发送请求信息,面向上层的Data Transfer模块提供数据传输功能。
2.根据权利要求1所述的网络共享存储系统,其特征在于所述Message Service模块根据不同模块上不同应用发出的数据发送命令完成相应操作。
3.根据权利要求1所述的网络共享存储系统,其特征在于所述DMA Service模块通过硬件模块上DMA控制器提供的接收DMA功能完成。
4.根据权利要求1至3任一所述的网络共享存储系统的存储方法,包含以下步骤:
步骤1)、在客户端,NFS Client模块根据接至操作系统的I/O层的远程过程调用接口承接上层文件存取应用的具体存取操作,基于具体的文件存取操作类型将操作转换成远程过程调用请求;
步骤2)、由RPC/XDR模块对远程过程调用请求进行数据块封装;
步骤3)、RPC over PCIe模块控制PCIe多通道数据传输模块将远程过程调用请求发送给服务器端的RPC over PCIe模块;
步骤4)、在服务器端,RPC/XDR模块对来自于RPC over PCIe模块的远程过程调用请求进行解析,读取其中的调用请求类型和调用参数;
步骤5)、由NFS Server根据调用请求类型和调用参数,通过I/O Layer访问本地的文件系统来完成实际的文件存取操作,存取操作结束后,NFS Server将操作结果通过下层的RPC/XDR模块封装成数据块;
步骤6)RPC over PCIe模块控制PCIe多通道数据传输模块将操作结果回送至发送远程过程调用请求的客户端的RPC/XDR模块;
步骤7)、RPC/XDR模块对返回的操作结果进行解析后返回给NFS Client模块;
步骤8)、NFS Client模块对服务器端送回的操作结果,通过函数返回的方式返回給上层文件存取应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460267.3A CN105007329B (zh) | 2015-07-31 | 2015-07-31 | 一种基于PCIe的网络共享存储系统及其存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510460267.3A CN105007329B (zh) | 2015-07-31 | 2015-07-31 | 一种基于PCIe的网络共享存储系统及其存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105007329A CN105007329A (zh) | 2015-10-28 |
CN105007329B true CN105007329B (zh) | 2018-06-29 |
Family
ID=54379847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510460267.3A Active CN105007329B (zh) | 2015-07-31 | 2015-07-31 | 一种基于PCIe的网络共享存储系统及其存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105007329B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107656884A (zh) * | 2016-07-25 | 2018-02-02 | 中兴通讯股份有限公司 | 一种数据处理方法和系统,外围组件快速互连设备及主机 |
CN108234542A (zh) * | 2016-12-14 | 2018-06-29 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载文件网络化实现方法 |
CN106911437A (zh) * | 2017-05-09 | 2017-06-30 | 郑州云海信息技术有限公司 | 一种nfs协议一致性测试系统和方法 |
CN107621987B (zh) * | 2017-09-21 | 2020-10-27 | 中国航空无线电电子研究所 | 一种基于消息的无人机通用地面站软件架构系统 |
CN114064140B (zh) * | 2021-10-15 | 2024-03-15 | 南京南瑞继保电气有限公司 | 一种故障录波数据存储和访问方法及装置、存储介质 |
CN115225687A (zh) * | 2022-07-18 | 2022-10-21 | 上海睿赛德电子科技有限公司 | 一种嵌入式设备rpc组件通讯系统、方法 |
CN115470172A (zh) * | 2022-08-26 | 2022-12-13 | 百富计算机技术(深圳)有限公司 | Pos机中双cpu的通信方法、装置、系统及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441661A (zh) * | 2008-12-16 | 2009-05-27 | 华为技术有限公司 | 一种在多个嵌入式系统之间共享文件资源的系统及方法 |
US7809848B1 (en) * | 2005-03-15 | 2010-10-05 | Oracle America, Inc. | System and method for aggregating NFS requests |
CN104407918A (zh) * | 2014-11-29 | 2015-03-11 | 中国航空工业集团公司第六三一研究所 | 一种航空电子系统任务数据的保存和恢复方法 |
-
2015
- 2015-07-31 CN CN201510460267.3A patent/CN105007329B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7809848B1 (en) * | 2005-03-15 | 2010-10-05 | Oracle America, Inc. | System and method for aggregating NFS requests |
CN101441661A (zh) * | 2008-12-16 | 2009-05-27 | 华为技术有限公司 | 一种在多个嵌入式系统之间共享文件资源的系统及方法 |
CN104407918A (zh) * | 2014-11-29 | 2015-03-11 | 中国航空工业集团公司第六三一研究所 | 一种航空电子系统任务数据的保存和恢复方法 |
Non-Patent Citations (1)
Title |
---|
《嵌入式网络存储服务器的优化研究》;李大山;《万方在线出版》;20140522;正文第22-24页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105007329A (zh) | 2015-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105007329B (zh) | 一种基于PCIe的网络共享存储系统及其存储方法 | |
AU2009281668B2 (en) | Method and apparatus for connecting USB devices to a remote computer | |
US7200641B1 (en) | Method and system for encoding SCSI requests for transmission using TCP/IP | |
US8140696B2 (en) | Layering serial attached small computer system interface (SAS) over ethernet | |
CN109445905B (zh) | 虚拟机数据通信方法和系统以及虚拟机配置方法和装置 | |
US9292209B2 (en) | Multiple I/O request processing in a storage system | |
KR101784900B1 (ko) | 컴퓨터, 제어 장치 그리고 데이터 처리 방법 | |
CN109582614A (zh) | 针对远程存储器访问的nvm express控制器 | |
TW200814672A (en) | Method and system for a user space TCP offload engine (TOE) | |
WO2001018988A1 (en) | Bridge between parallel buses over a packet-switched network | |
JP2003511777A (ja) | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 | |
CN106020731B (zh) | 存储设备、存储设备阵列和网络适配器 | |
US20050223119A1 (en) | Operating a remote USB host controller | |
CN107707628A (zh) | 用于传输数据处理请求的方法和装置 | |
CN102185833A (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN107728936A (zh) | 用于传输数据处理请求的方法和装置 | |
WO2021063160A1 (zh) | 访问固态硬盘的方法及存储设备 | |
CN105141603A (zh) | 通信数据传输方法及系统 | |
CN106407151A (zh) | 信息处理方法和装置 | |
CN102843435A (zh) | 一种在集群系统中存储介质的访问、响应方法和系统 | |
CN1976310B (zh) | 在网络中通过总线接口进行通信的方法 | |
US9288267B2 (en) | Handling of data transfer in a LAN-free environment | |
CN101655773A (zh) | 磁盘阵列小型计算机系统接口目标器装置及数据传输方法 | |
CN102447637B (zh) | 报文处理方法、系统和网络设备 | |
CN101917780A (zh) | 无线通信终端网络设备功能的实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |