CN115643321A - 数据处理方法、装置、设备及计算机可读存储介质 - Google Patents

数据处理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115643321A
CN115643321A CN202211196772.8A CN202211196772A CN115643321A CN 115643321 A CN115643321 A CN 115643321A CN 202211196772 A CN202211196772 A CN 202211196772A CN 115643321 A CN115643321 A CN 115643321A
Authority
CN
China
Prior art keywords
command
memory access
protocol
processing
nvme
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.)
Pending
Application number
CN202211196772.8A
Other languages
English (en)
Inventor
张宇军
孟繁毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yusur Technology Co ltd
Original Assignee
Yusur Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yusur Technology Co ltd filed Critical Yusur Technology Co ltd
Priority to CN202211196772.8A priority Critical patent/CN115643321A/zh
Publication of CN115643321A publication Critical patent/CN115643321A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本公开涉及一种数据处理方法、装置、设备及计算机可读存储介质,该方法包括:通过第一协议处理系统获取第一协议命令;基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。本公开实现了NVMe over RDMA硬件卸载,在硬件设备中实现NVMe命令处理请求,主机端无需处理NVMe‑oF以及相应的RDMA协议,释放主机端CPU用于上层业务的处理,提高CPU的利用率,同时基于NVMe over RDMA硬件实现,直接处理NVMe相关的数据指令,降低数据处理延时,增加数据的吞吐量,有效提高了数据处理的性能与效率。

Description

数据处理方法、装置、设备及计算机可读存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术
非易失性内存主机控制器接口规范(Non-Volatile Memory express,NVMe)是一种用于存储设备的接口规范,用于规范计算机与存储设备的数据传输。NVMe over Fabric(NVMe oF)是于2019年正式提出的NVMe存储网络访问协议。
NVMe oF有三种重要的网络传输层,分别为传输控制协议(Transmission ControlProtocol,TCP)、远程直接地址访问(Remote Direct Memory Access,RDAM)和光纤,其中RDMA是大部分网络协议栈卸载到RDMA网卡中,通过软件实现NVMe oF。
但是,通过软件实现NVMe oF时,运行RDMA用户态驱动或者内核态驱动,需要消耗中央处理器(Central Processing Unit,CPU)的资源,专门处理RDMA、NVMe-oF等协议栈,而这些CPU资源本可以用来服务于用户业务。因此,基于软件实现的NVMe over RDMA会遇到性能瓶颈,延时、数据吞吐量,IOPS(Input/Output Per Second)指标都不够理想,无法满足用户需求。
发明内容
为了解决上述技术问题,本公开提供了一种数据处理方法、装置、设备及计算机可读存储介质,以满足用户需求。
第一方面,本公开实施例提供一种数据处理方法,所述方法应用于硬件设备中,所述硬件设备包括第一协议处理系统、共享信息缓冲区、内存访问系统,所述方法包括:
通过第一协议处理系统获取第一协议命令;
基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;
通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。
在一些实施例中,所述内存访问操作命令包括发送队列命令和接收队列命令;
所述基于所述第一协议命令,确定对应的内存访问命令并写入共享信息缓冲区中,包括:
基于所述第一协议命令,确定对应的发送队列命令和接收队列命令;
将所述发送队列命令和接收队列命令写入共享信息缓冲区中。
在一些实施例中,所述方法还包括:
获取所述内存访问操作命令对应的处理结果信息;
基于所述处理结果信息,执行相应操作。
在一些实施例中,所述内存访问操作命令对应的处理结果信息包括发送队列命令发送失败信息;
相应的,所述基于所述处理结果信息,执行相应操作,包括:
将所述发送队列命令发送失败信息写入主机内存,所述主机与所述硬件设备通信连接。
在一些实施例中,所述内存访问操作命令对应的处理结果信息包括接收队列命令完成信息;
相应的,所述基于所述处理结果信息,执行相应操作,包括:
根据所述接收队列命令完成信息,将所述共享信息缓冲区中对应的接收队列命令写入主机内存,所述主机与所述硬件设备通信连接。
在一些实施例中,所述将所述共享信息缓冲区中对应的接收队列命令写入主机内存,包括:
根据所述接收队列命令,生成第一协议接收队列命令;
将所述第一协议接收队列命令写入主机内存。
第二方面,本公开实施例提供一种数据处理装置,包括:
第一获取模块,用于通过第一协议处理系统获取第一协议命令;
确定模块,用于基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;
处理模块,用于通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。
在一些实施例中,所述装置还包括:
第二获取模块,用于获取所述内存访问操作命令对应的处理结果信息;
执行模块,用于基于所述处理结果信息,执行相应操作。
第三方面,本公开实施例提供一种电子设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的数据处理方法。
本公开实施例提供的数据处理方法、装置、设备及计算机可读存储介质,实现了NVMe over RDMA硬件卸载,在硬件设备中实现NVMe命令处理请求,主机端无需处理NVMe-oF以及相应的RDMA协议,释放主机端CPU用于上层业务的处理,提高CPU的利用率,同时基于NVMe over RDMA硬件实现,直接处理NVMe相关的数据指令,降低数据处理延时,增加数据的吞吐量,有效提高了数据处理的性能与效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的数据处理方法流程图;
图2为本公开实施例提供的一种应用场景的示意图;
图3为本公开实施例提供的第一子系统结构示意图;
图4为本公开实施例提供的共享信息缓冲区结构示意图;
图5为本公开另一实施例提供的数据处理方法流程图;
图6为本公开实施例提供的第二子系统结构示意图;
图7为本公开实施例提供的数据处理装置的结构示意图;
图8为本公开实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
NVMe是最早于2015年正式提出的存储接口访问协议,专为固态硬盘(Solid StateDisk,SSD)设计,相比于传统的串口硬盘(Serial Advanced Technology Attachment,SATA)等,NVMe具有队列多(64K)、深度大(64K)、无需加锁等特点,充分利用非易失存储介质(Non-Volatile Memory,NVM)的特点,具有更低的延时,更高的带宽。NVMe oF是于2019年正式提出的NVMe存储网络访问协议,相比于传统的小型计算机系统接口(Internet SmallComputer System Interface,iSCSI)协议实现网络存储访问,NVMe oF协议减少了从NVMe到iSCSI协议的转换,基于原生的NVMe操作即可实现网络存储访问,进一步降低访问时延,提高带宽。
为了支持数据中心的网络存储,通过NVMe oF实现NVMe在高速串行计算机扩展标准(peripheral component interconnect express,PCIe)总线上的扩展。NVMe-oF目前有三种重要的网络传输层,分别为TCP、RDMA和光纤,其中RDMA将大部分网络协议栈卸载到RDMA网卡中,是通过软件实现NVMe-oF性能最高的网络传输层协议。但运行RDMA用户态驱动,或者内核态驱动,将消耗CPU专门处理RDMA、NVMe-oF等协议栈,而这些CPU本可以用来服务于用户业务,因此基于软件实现的NVMe over RDMA,会较早的遇到性能瓶颈,如延时、吞吐量、IOPS都不尽如人意,如果想要达到更高的性能,则需要付出更多的CPU资源。
针对该问题,本公开实施例提供了一种数据处理方法,下面结合具体的实施例对该方法进行介绍。
图1为本公开实施例提供的数据处理方法流程图。该方法可以应用于图2所示的应用场景,该应用场景中包括主机(MAC)和硬件设备(FPGA/ASIC)。可以理解的是,本公开实施例提供的数据处理方法还可以应用在其他场景中。
下面结合图2所示的应用场景,对图1所示的数据处理方法进行介绍,该方法可以应用于如上所述的硬件设备中,所述硬件设备包括第一协议处理系统、共享信息缓冲区、内存访问系统,该方法包括的具体步骤如下:
S101、通过第一协议处理系统获取第一协议命令。
硬件设备与主机端通信连接,硬件设备中的第一协议处理系统中包括PCIe总线。第一协议处理系统通过PCIe总线获取主机端下发的第一协议命令。可选的,第一协议命令可以是NVMe命令,如图2所示的硬件设备中,NVMe_RDMA_Ctrl子系统与NVMe_CQ_Ctrl子系统共同组成第一协议处理系统,通过PCIe总线获取主机端下发的NVMe命令。在一些实施例中,第一协议处理系统还可以将远端的NVMe存储系统模拟成本地的NVMe SSD,使得主机端可以通过硬件设备以访问本地存储固态硬盘的方式访问远端NVMe存储系统。
S102、基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中。
共享信息缓冲区用于第一协议处理系统与内存访问系统之间的通信以及信息共享。在接收到第一协议命令后,第一协议处理系统确定第一协议命令对应的内存访问操作命令,并将该内存访问操作命令写入共享信息缓冲区中,并向内存访问系统发送相应的通知信息。
在一些实施例中,在接收到第一协议命令后,第一协议处理系统将第一协议处理命令对应的内存访问操作命令对应的第二协议命令,将第二协议命令对应的内存访问操作命令写入共享信息缓冲区中,并向内存访问系统发送相应的通知信息。
在一些实施例中,如图2所示,NVMe_RDMA_Ctrl子系统通过PCIe总线获取主机端下发的NVMe命令,对NVMe命令进行解析,将NVMe命令中的地址信息注册在内存访问系统中,将NVMe命令转换成RDMA命令,确定该RDMA命令对应的内存访问操作命令,并将内存访问操作命令写入共享信息缓冲区RDMA_Mem中相应位置,通知RDMA对该内存访问操作命令进行处理。
S103、通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。
第一协议处理系统将第一协议命令对应的内存访问命令写入共享信息缓冲区中之后,通过共享信息缓冲区中的通信模块通知内存访问系统对共享信息缓冲区中的内存访问命令进行处理,内存访问系统读取共享信息缓冲区中的内存访问命令,并按照内存访问命令执行相应的操作。如图2所示,NVMe_RDMA_Ctrl子系统将内存访问操作命令写入共享信息缓冲区RDMA_Mem中相应位置之后,通过QP_Ctrl模块通知RDMA部分开始处理。
本公开实施例通过第一协议处理系统获取第一协议命令;基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理,实现了NVMe overRDMA硬件卸载,在硬件设备中实现NVMe命令处理请求,主机端无需处理NVMe-oF以及相应的RDMA协议,释放主机端CPU用于上层业务的处理,提高CPU的利用率,同时基于NVMe overRDMA硬件实现,直接处理NVMe相关的数据指令,降低数据处理延时,增加数据的吞吐量,有效提高了数据处理的性能与效率。
另外,由于本公开实施例通过第一协议处理系统将远端的NVMe存储系统模拟成本地NVMe SSD,使得主机端可以将远程存储当做本地存储使用,进一步降低主机CPU的占用率。
在上述实施例的基础上,所述内存访问操作命令包括发送队列命令和接收队列命令;所述基于所述第一协议命令,确定对应的内存访问命令并写入共享信息缓冲区中,包括:基于所述第一协议命令,确定对应的发送队列命令和接收队列命令;将所述发送队列命令和接收队列命令写入共享信息缓冲区中。
图3为本公开实施例提供的第一子系统结构示意图。图4为本公开实施例提供的共享信息缓冲区结构示意图。
共享信息缓冲区包括发送队列和接收队列,发送队列用于存放指示数据发送任务的发送队列命令,接收队列用于存放指示数据接收任务的接收队列命令。每一条第一协议命令都对应发送队列中的一条发送队列命令,同时对应接收队列中的一条接收队列命令。例如,第一协议命令指示将数据A存储于地址B,相应的发送队列命令即指示发送端将数据A发送至地址B,接收队列命令即指示接收端将接收到的数据A存放于地址B。
如图3以及图4所示的硬件结构,第一子系统NVMe_RDMA_Ctrl获取主机端下发的NVMe命令即第一协议命令,通过NVMe_NVMe-oF_Trans模块将NVMe命令转换成RDMA命令,后通过地址注册模块RDMA_addr_key_Ctrl将其中的地址信息注册在RDMA中,并确定相应的发送队列命令(SQE)与接收队列命令(RQE),通过SQ_RQ_Ctrl模块按照RDMA格式组装SQE与RQE,将SQE写入共享信息缓冲区RDMA_Mem中的发送队列RDMA_SQ中,将RQE写入共享信息缓冲区中的接收队列RDMA_RQ中,通过QP_Ctrl模块通知RDMA部分开始处理。可选的,预先配置发送队列和接收队列的深度,队列的深度用于确定该队列能够存放的指令的数量,队列的深度越大,其所能存放的指令数量越多。SQ_Content与RQ_Content模块用于对发送队列以及接收队列中的命令进行寻址。
图5为本公开另一实施例提供的数据处理方法流程图,如图5所示,该方法包括如下几个步骤:
S501、通过第一协议处理系统获取第一协议命令。
硬件设备与主机端通信连接,硬件设备中的第一协议处理系统中包括PCIe总线。第一协议处理系统通过PCIe总线获取主机端下发的第一协议命令。可选的,第一协议命令可以是NVMe命令,如图2所示的硬件设备中,NVMe_RDMA_Ctrl子系统与NVMe_CQ_Ctrl子系统共同组成第一协议处理系统,通过PCIe总线获取主机端下发的NVMe命令。在一些实施例中,第一协议处理系统还可以将远端的NVMe存储系统模拟成本地的NVMe SSD,使得主机端可以通过硬件设备以访问本地存储固态硬盘的方式访问远端NVMe存储系统。
S502、基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中。
共享信息缓冲区用于第一协议处理系统与内存访问系统之间的通信以及信息共享。在接收到第一协议命令后,第一协议处理系统确定第一协议命令对应的内存访问操作命令,并将该内存访问操作命令写入共享信息缓冲区中,并向内存访问系统发送相应的通知信息。
在一些实施例中,在接收到第一协议命令后,第一协议处理系统将第一协议处理命令对应的内存访问操作命令对应的第二协议命令,将第二协议命令对应的内存访问操作命令写入共享信息缓冲区中,并向内存访问系统发送相应的通知信息。
S503、通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。
第一协议处理系统将第一协议命令对应的内存访问命令写入共享信息缓冲区中之后,通过共享信息缓冲区中的通信模块通知内存访问系统对共享信息缓冲区中的内存访问命令进行处理,内存访问系统读取共享信息缓冲区中的内存访问命令,并按照内存访问命令执行相应的操作。如图2所示,NVMe_RDMA_Ctrl子系统将内存访问操作命令写入共享信息缓冲区RDMA_Mem中相应位置之后,通过QP_Ctrl模块通知RDMA部分开始处理。
S504、获取所述内存访问操作命令对应的处理结果信息。
内存访问操作命令对应的处理结果信息用于标识发送队列与接收队列中的各条命令的完成状态,例如标识发送队列命令是否发送成功,接收队列命令是否接收成功,若发送或接收失败,处理结果信息还用于标识失败原因或是相关信息。
S505、基于所述处理结果信息,执行相应操作。
第一协议处理系统通过通信模块获取共享信息缓冲区中的处理结果信息。当处理结果信息标识发送队列命令发送失败,或是接收队列命令接收失败时,将处理结果信息写入主机内存;当处理结果信息标识发送队列命令发送成功,或是接收队列命令接收成功时,则不作任何处理。具体的,可以通过直接存储器访问(Direct Memory Access,DMA)将处理结果信息写入主机内存,或是其他的访问方式将处理结果信息写入主机内存,本公开实施例对此不做限定。
可选的,所述内存访问操作命令对应的处理结果信息包括接收队列命令完成信息;相应的,所述基于所述处理结果信息,执行相应操作,包括:根据所述接收队列命令完成信息,将所述共享信息缓冲区中对应的接收队列命令写入主机内存,所述主机与所述硬件设备通信连接。
当处理结果信息标识接收队列命令接收成功时,第一协议处理系统将内存访问系统中接收到的接收队列命令取出,根据处理结果信息组装成第一协议命令的处理结果信息,写入主机内存。可选的,可以通过直接存储器访问将处理结果信息写入主机内存。
图6为本公开实施例提供的第二子系统结构示意图。结合图4,RDMA_CQ为完成队列,用于存储处理结果信息(CQE)。第二子系统(NVMe_CQ_Ctrl)通过QP_Ctrl模块获取RDMA_CQ中的信息,当获取到SQ的CQE时,如果CQE标识SQE发送失败,则将相应的CQE通过DMA写入主机内存;如果CQE标识SQE发送成功,则不作任何处理。当获取到RQ的CQE时,通过RQ_Content_ctrl模块将RDMA接收到的对应RQE从共享信息区中取出,通过NVMe-oF_NVMe_Trans模块修改相关协议字段将CQE组装成为NVMe格式的NVMe CQE,通过DMA_engine模块将NVMe CQE以DMA形式写入内存。
本公开实施例通过第一协议处理系统获取第一协议命令;基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理;获取所述内存访问操作命令对应的处理结果信息;基于所述处理结果信息,执行相应操作,实现了NVMe overRDMA硬件卸载,在硬件设备中实现NVMe命令处理请求,主机端无需处理NVMe-oF以及相应的RDMA协议,释放主机端CPU用于上层业务的处理,提高CPU的利用率,基于NVMe over RDMA硬件实现,直接处理NVMe相关的数据指令,降低数据处理延时,增加数据的吞吐量,有效提高了数据处理的性能与效率。同时,基于处理结果信息,根据命令执行的成功或失败将相应的信息写入主机端内存中,使得用户能够直接了解命令的执行情况,进一步提高了数据处理的性能与效率,满足用户需求。
图7为本公开实施例提供的数据处理装置的结构示意图。该数据处理装置可以是如上实施例所述的硬件设备,或者该数据处理装置可以该硬件设备中的部件或组件。本公开实施例提供的数据处理装置可以执行数据处理方法实施例提供的处理流程,如图7所示,数据处理装置70包括:第一获取模块71、确定模块72、处理模块73;第一获取模块71用于通过第一协议处理系统获取第一协议命令;确定模块72用于基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;处理模块73用于通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。
可选的,所述内存访问操作命令包括发送队列命令和接收队列命令。确定模块72包括第一确定单元721、通信单元722;第一确定单元721用于基于所述第一协议命令,确定对应的发送队列命令和接收队列命令;通信单元722用于将所述发送队列命令和接收队列命令写入共享信息缓冲区中。
可选的,数据处理装置70还包括第二获取模块74、执行模块75;第二获取模块74用于获取所述内存访问操作命令对应的处理结果信息;执行模块75用于基于所述处理结果信息,执行相应操作。
可选的,所述内存访问操作命令对应的处理结果信息包括发送队列命令发送失败信息,相应的,执行模块75包括第一执行单元751,用于将所述发送队列命令发送失败信息写入主机内存,所述主机与所述硬件设备通信连接。
可选的,所述内存访问操作命令对应的处理结果信息包括接收队列命令完成信息,相应的,执行模块75包括第二执行单元752,用于根据所述接收队列命令完成信息,将所述共享信息缓冲区中对应的接收队列命令写入主机内存,所述主机与所述硬件设备通信连接。
可选的,第二执行单元752用于根据所述接收队列命令,生成第一协议接收队列命令;将所述第一协议接收队列命令写入主机内存。
图7所示实施例的装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本公开实施例提供的电子设备的结构示意图。该电子设备可以是如上实施例所述的硬件设备。本公开实施例提供的电子设备可以执行数据处理方法实施例提供的处理流程,如图8所示,电子80包括:存储器81、处理器82、计算机程序和通讯接口83;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行如上所述的数据处理方法。
另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的数据处理方法。
此外,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上所述的数据处理方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法应用于硬件设备中,所述硬件设备包括第一协议处理系统、共享信息缓冲区、内存访问系统,所述方法包括:
通过第一协议处理系统获取第一协议命令;
基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;
通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。
2.根据权利要求1所述的方法,其特征在于,所述内存访问操作命令包括发送队列命令和接收队列命令;
所述基于所述第一协议命令,确定对应的内存访问命令并写入共享信息缓冲区中,包括:
基于所述第一协议命令,确定对应的发送队列命令和接收队列命令;
将所述发送队列命令和接收队列命令写入共享信息缓冲区中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述内存访问操作命令对应的处理结果信息;
基于所述处理结果信息,执行相应操作。
4.根据权利要求3所述的方法,其特征在于,所述内存访问操作命令对应的处理结果信息包括发送队列命令发送失败信息;
相应的,所述基于所述处理结果信息,执行相应操作,包括:
将所述发送队列命令发送失败信息写入主机内存,所述主机与所述硬件设备通信连接。
5.根据权利要求3所述的方法,其特征在于,所述内存访问操作命令对应的处理结果信息包括接收队列命令完成信息;
相应的,所述基于所述处理结果信息,执行相应操作,包括:
根据所述接收队列命令完成信息,将所述共享信息缓冲区中对应的接收队列命令写入主机内存,所述主机与所述硬件设备通信连接。
6.根据权利要求5所述的方法,所述将所述共享信息缓冲区中对应的接收队列命令写入主机内存,包括:
根据所述接收队列命令,生成第一协议接收队列命令;
将所述第一协议接收队列命令写入主机内存。
7.一种数据处理装置,其特征在于,包括:
第一获取模块,用于通过第一协议处理系统获取第一协议命令;
确定模块,用于基于所述第一协议命令,确定对应的内存访问操作命令并将所述内存访问操作命令写入共享信息缓冲区中;
处理模块,用于通过内存访问系统对所述共享信息缓冲区中的内存访问命令进行处理。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述内存访问操作命令对应的处理结果信息;
执行模块,用于基于所述处理结果信息,执行相应操作。
9.一种电子设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
CN202211196772.8A 2022-09-29 2022-09-29 数据处理方法、装置、设备及计算机可读存储介质 Pending CN115643321A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211196772.8A CN115643321A (zh) 2022-09-29 2022-09-29 数据处理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211196772.8A CN115643321A (zh) 2022-09-29 2022-09-29 数据处理方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN115643321A true CN115643321A (zh) 2023-01-24

Family

ID=84941476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211196772.8A Pending CN115643321A (zh) 2022-09-29 2022-09-29 数据处理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115643321A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234998A (zh) * 2023-09-12 2023-12-15 中科驭数(北京)科技有限公司 一种多主机数据访问方法及系统
CN117908772A (zh) * 2023-11-30 2024-04-19 中科驭数(北京)科技有限公司 多mb的数据处理方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030069526A (ko) * 2002-02-21 2003-08-27 (주)씨앤에스 테크놀로지 비디오 코덱 프로세서와 프로토콜 프로세서간의인터페이싱 아키텍쳐
CN105335103A (zh) * 2015-10-22 2016-02-17 湖南国科微电子股份有限公司 一种pcie ssd阵列的数据写方法及系统
US20190370214A1 (en) * 2018-06-01 2019-12-05 Dell Products L.P. Server message block remote direct memory access persistent memory dialect
CN111488304A (zh) * 2019-01-28 2020-08-04 瑞昱半导体股份有限公司 接口转接电路
US10817446B1 (en) * 2015-04-30 2020-10-27 Mobiveil, Inc. Optimized multiport NVMe controller for multipath input/output applications
CN113287286A (zh) * 2019-01-30 2021-08-20 华为技术有限公司 通过rdma进行分布式存储节点中的输入/输出处理
CN114048151A (zh) * 2021-11-16 2022-02-15 湖南国科微电子股份有限公司 主机内存访问方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030069526A (ko) * 2002-02-21 2003-08-27 (주)씨앤에스 테크놀로지 비디오 코덱 프로세서와 프로토콜 프로세서간의인터페이싱 아키텍쳐
US10817446B1 (en) * 2015-04-30 2020-10-27 Mobiveil, Inc. Optimized multiport NVMe controller for multipath input/output applications
CN105335103A (zh) * 2015-10-22 2016-02-17 湖南国科微电子股份有限公司 一种pcie ssd阵列的数据写方法及系统
US20190370214A1 (en) * 2018-06-01 2019-12-05 Dell Products L.P. Server message block remote direct memory access persistent memory dialect
CN111488304A (zh) * 2019-01-28 2020-08-04 瑞昱半导体股份有限公司 接口转接电路
CN113287286A (zh) * 2019-01-30 2021-08-20 华为技术有限公司 通过rdma进行分布式存储节点中的输入/输出处理
CN114048151A (zh) * 2021-11-16 2022-02-15 湖南国科微电子股份有限公司 主机内存访问方法、装置及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234998A (zh) * 2023-09-12 2023-12-15 中科驭数(北京)科技有限公司 一种多主机数据访问方法及系统
CN117234998B (zh) * 2023-09-12 2024-06-07 中科驭数(北京)科技有限公司 一种多主机数据访问方法及系统
CN117908772A (zh) * 2023-11-30 2024-04-19 中科驭数(北京)科技有限公司 多mb的数据处理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109471833B (zh) 用于最大化PCIe对等连接的带宽的系统和方法
US11016911B2 (en) Non-volatile memory express over fabric messages between a host and a target using a burst mode
US10275851B1 (en) Checkpointing for GPU-as-a-service in cloud computing environment
US10778767B2 (en) Persistent memory replication in RDMA-capable networks
CN115643321A (zh) 数据处理方法、装置、设备及计算机可读存储介质
KR102055535B1 (ko) 탄성 패브릭 어댑터 - 무접속의 신뢰할 수 있는 데이터그램
US20180278540A1 (en) Connectionless transport service
US9916275B2 (en) Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system
CN109582614B (zh) 针对远程存储器访问的nvm express控制器
CN107210967B (zh) 用于优化网络传输的系统和方法
US11606429B2 (en) Direct response to IO request in storage system having an intermediary target apparatus
US20030187914A1 (en) Symmetrical multiprocessing in multiprocessor systems
US20080133654A1 (en) Network block device using network asynchronous i/o
US10901624B1 (en) Dummy host command generation for supporting higher maximum data transfer sizes (MDTS)
US10721302B2 (en) Network storage protocol and adaptive batching apparatuses, methods, and systems
US20040252709A1 (en) System having a plurality of threads being allocatable to a send or receive queue
US8856407B2 (en) USB redirection for write streams
EP3928212A1 (en) Rdma transport with hardware integration and out of order placement
US20230152978A1 (en) Data Access Method and Related Device
CN115643318A (zh) 命令执行方法、装置、设备及计算机可读存储介质
US7761529B2 (en) Method, system, and program for managing memory requests by devices
US8700726B2 (en) Storage replication systems and methods
CN118051184A (zh) 一种任务管理方法、装置、设备及存储介质
US20060242258A1 (en) File sharing system, file sharing program, management server and client terminal
CN110471627B (zh) 一种共享存储的方法、系统及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20230124