CN114328317B - 一种提升存储系统通信性能的方法、装置及介质 - Google Patents
一种提升存储系统通信性能的方法、装置及介质 Download PDFInfo
- Publication number
- CN114328317B CN114328317B CN202111447112.8A CN202111447112A CN114328317B CN 114328317 B CN114328317 B CN 114328317B CN 202111447112 A CN202111447112 A CN 202111447112A CN 114328317 B CN114328317 B CN 114328317B
- Authority
- CN
- China
- Prior art keywords
- link
- receiving end
- rdma
- storage system
- command
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 125
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000005540 biological transmission Effects 0.000 claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008520 organization Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 22
- 230000003993 interaction Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种提升存储系统通信性能的方法、装置及介质,涉及存储系统技术领域。该方法首先在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路,然后遵循NVMe通信传输协议组织IO申请命令;最后通过RDMA链路发送命令至接收端,以便接收端接收命令并将数据信息返回至发送端。在该方法中,一方面,采用的NVMe协议减少了CPU的开销,简化了操作,队列深度高,从而降低了延迟;另一方面,在采用RDMA链路传输数据的过程中,发送端无需通知接收端命令已经送达,因此,减少了通知数据已经到达的过程,减少了交互次数,降低延时,最终提升了存储系统的通信性能。
Description
技术领域
本申请涉及存储系统技术领域,特别是涉及一种提升存储系统通信性能的方法、装置及介质。
背景技术
在存储系统中,为了实现高可靠性,一组相互独立的存储控制器联合组成集群,作为单一系统对外提供服务。集群中的每个存储控制器都是一个节点。一个集群中的节点不仅可以与集群内其他节点进行通信,还可以与局域网其他集群中的节点进行通信。
现有的通常采用基于小型计算机系统接口协议标准(Small Computer SystemEnterface,SCSI)协议的光线通道(Fibre Channel,FC)集群互联通信。在基于SCSI协议的FC集群互联通信中,使用的是SCSI协议以及高速串行计算机扩展总线标准(PeripheralComponent Interconnect Express,PCIe)链路等。SCSI协议组织的命令和数据信息的结构体复杂,并且只能是单个队列,而且每个队列的深度也比较低,是254的队列深度,因此延迟高;采用的PCIe链路数据从发送端发送到接收端以后,发送端的CPU还需要通过控制流通知接收端数据已送达(触发接收端的中断),接收端调用中断处理过程,对消息进行校验并回响应消息,在整个过程中存在通知数据已经到达的过程,因此增加了交互次数,增加了延时。随着互联网业务发展,客户业务量增大,节点间消息传输量巨量激增,现有的基于SCSI协议的FC集群互联通信的延时大大降低了存储系统集群节点间通信性能。
由此可见,如何提高存储系统集群节点间通信性能,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种提升存储系统通信性能的方法、装置及介质,用于提高存储系统集群节点间通信性能。
为解决上述技术问题,本申请提供一种提升存储系统通信性能的方法,应用于发送端,包括:
在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路;
遵循所述NVMe通信传输协议组织IO申请命令;
通过所述RDMA链路发送所述命令至所述接收端,以便所述接收端接收所述命令并将数据信息返回至所述发送端。
优选地,所述建立与接收端之间的RDMA链路包括:
获取第一OPEN事件并记录所述第一OPEN事件对应的第一参数信息;
获取第二OPEN事件并记录所述第二OPEN事件对应的第二参数信息;
判断所述第一参数信息与所述第二参数信息是否匹配;
若匹配,则建立与所述接收端之间的所述RDMA链路。
优选地,所述RDMA链路为两条单向链路,在所述接收端接收所述命令并将数据信息返回至所述发送端之后,还包括:
断开所述RDMA链路;
所述断开所述RDMA链路包括:
自第一条所述单向链路出现断连开始时,若在预设时间内第二条所述单向链路未出现断连的情况,则下发slandered指令主动断开所述第二条单向链路。
为解决上述技术问题,本申请还提供一种提升存储系统通信性能的方法,应用于接收端,包括:
在确定是NVMe通信传输协议的情况下,建立与发送端之间的RDMA链路;
接收所述发送端发送的IO申请命令;
根据所述命令以及遵循所述NVMe通信传输协议组织数据信息;
将所述数据信息返回至所述发送端。
优选地,所述将所述数据信息返回至所述发送端包括:
采用轮询策略将所述数据信息通过不同队列返回至所述发送端。
优选地,所述将所述数据信息返回至所述发送端包括:
在所述数据信息为反馈状态信息的情况下,以预设值返回至所述发送端;
在所述数据信息为反馈数据信息的情况下,以status+data形式返回至所述发送端。
为解决上述技术问题,本申请还提供一种提升存储系统通信性能的装置,应用于发送端,包括:
第一建立模块,用于在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路;
第一组织模块,用于遵循所述NVMe通信传输协议组织IO申请命令;
发送模块,用于通过所述RDMA链路发送所述命令至所述接收端,以便所述接收端接收所述命令并将数据信息返回至所述发送端。
为解决上述技术问题,本申请还提供一种提升存储系统通信性能的装置,应用于接收端,包括:
第二建立模块,用于在确定是NVMe通信传输协议的情况下,建立与发送端之间的RDMA链路;
接收模块,用于接收所述发送端发送的IO申请命令;
第二组织模块,用于根据所述命令以及遵循所述NVMe通信传输协议组织数据信息;
返回模块,用于将所述数据信息返回至所述发送端。
为解决上述技术问题,本申请还提供一种提升存储系统通信性能的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的提升存储系统通信性能的方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的提升存储系统通信性能的方法的步骤。
本申请所提供的应用于发送端的提升存储系统通信性能的方法,该方法首先在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路,然后遵循NVMe通信传输协议组织IO申请命令;最后通过RDMA链路发送命令至接收端,以便接收端接收命令并将数据信息返回至发送端。在该方法中,一方面,采用的NVMe协议减少了CPU的开销,简化了操作,队列深度高,从而降低了延迟;另一方面,采用的RDMA链路在发送端将命令发送至接收端后,由接收端处理命令并将数据信息返回给发送端,在这个过程中,发送端无需通知接收端命令已经送达,因此,减少了通知数据已经到达的过程,减少了交互次数,降低延时,最终提升了存储系统的通信性能。
另外,本申请所提供的应用于接收端的提升存储系统通信性能的方法,该方法首先在确定是NVMe通信传输协议的情况下,建立与发送端之间的RDMA链路,接收发送端发送的IO申请命令;然后根据命令以及遵循NVMe通信传输协议组织数据信息;最后将数据信息返回至发送端。该方法具有上述提到的应用于发送端的提升存储系统通信性能的方法相同的有益效果。
此外,本申请还提供一种分别应用于发送端以及接收端的提升存储系统通信性能的装置、一种提升存储系统通信性能的装置以及计算机可读存储介质,具有上述提到的提升存储系统通信性能方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的一种应用于发送端的提升存储系统通信性能方法的流程图;
图2为RDMA互联下双OPEN事件触发逻辑链接建立流程示意图;
图3为发送端与接收端的收发流程图;
图4为基于PCIe链路的数据传输流程图;
图5为基于RDMA链路的数据传输流程图;
图6为发送端与接收端的断开逻辑链路的流程图;
图7为本实施例提供的一种应用于接收端的提升存储系统通信性能的方法的流程图;
图8为本申请的一实施例提供的应用于发送端的提升存储系统的通信性能的装置的结构图;
图9为本申请的一实施例提供的应用于接收端的提升存储系统的通信性能的装置的结构图;
图10为本申请另一实施例提供的提升存储系统的通信性能的装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种提升存储系统通信性能的方法,用于提高存储系统集群节点间通信性能。
在存储系统中,为了实现高可靠性,一组相互独立的存储控制器联合组成集群,作为单一系统对外提供服务。集群中的每个存储控制器都是一个节点。一个集群中的节点不仅可以与集群内其他节点进行通信,还可以与局域网其他集群中的节点进行通信。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。图1为本实施例提供的一种应用于发送端的提升存储系统通信性能方法的流程图,该方法包括:
S10:在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路。
非易失性内存标准(Nonvolatile Memory Express,NVMe)是一种基于性能创建的新的存储协议,可充分利用固态硬盘(Solid State Disk,SSD)和存储内存的速度,已广泛应用于存储系统的前端和后端部分。本申请将NVMe应用于存储系统的横向互联环节,即控制器集群互联,替代了原有的SCSI协议。NVMe最初是跑在PCIe接口上的标准协议,是一种Host与SSD之间通信的协议。在当前存储系统中,可以跑在RDMA接口上,除了Host与SSD之间端到端通信,还可以用于存储控制器之间通信。NVMe标准协议减少了CPU的开销,简化了操作,降低了延迟,提高了IOPS和吞吐量。
队列深度(Queue Depth,QD)是NVMe另一个优势。串行连接SCSI(Serial AttachedSCSI,SAS)和高级主机控制器接口(Advanced Host Controller Interface,AHCI)只能是单个队列,而且每个队列的深度也比较低,分别是254和32的队列深度。而NVMe最大队列数量是65k,而且每个队列的深度可以高达65k。除了减少延迟外,这对于提高服务器处理并发请求的能力至关重要。
NVMe over Fabrics(简称NVMe-OF)将NVMe应用到存储系统横向互联,作为存储控制器与控制器连接的通道,取代过去的FC、非透明桥(Non-Transparent-Bridge,NTB)。由此,控制器节点可以使用本机NVMe协议直接与互联节点通信,从而大幅降低了延迟。本申请所提供的存储系统采用远程直接内存访问(Remote Direct Memory Access,RDMA)的NVMe-oF。
RDMA使数据和内存能够在计算机和存储设备之间跨网络传输。RDMA是一种在网络中两台计算机的主存储器之间交换信息的方式,不涉及任何一台计算机的处理器、缓存或操作系统。由于RDMA避开了操作系统,因此它通常是网络传输数据的最快、开销最低的机制。将基于RDMA的NVMe-oF应用在存储系统前端(主机侧)、后端(存储设备侧)、横向互联(存储控制器),就可以形成一个完整的端到端NVMe存储解决方案。既提供了显著的高性能,同时保持了通过NVMe提供的极低延迟。
由于框间RDMA互联与框内PCIe互联共存,交流层(Communication Layer,CL)在接到公共接口平台(Common Interface Platform,CIP)上报OPEN事件后,首先区分协议类型,如果是NVME协议,则按图2的双OPEN事件创建链接流程处理。图2为RDMA互联下双OPEN事件触发逻辑链接建立流程示意图。如图2所示,发送端的CLP平台向发送端的CL层上报OPEN事件,并记录端口值以及OPEN事件的类型,发送端获取由接收端上报的OPEN事件,并在同一端口完成两种OPEN事件的匹配,在匹配成功的情况下,发出login链接建立流程;对于接收端,接收端的CLP平台向接收端的CL层上报OPEN事件,并记录端口值以及OPEN事件的类型,接收端获取由发送端上报的OPEN事件,并在同一端口完成两种OPEN事件的匹配,在匹配成功的情况下,发出login链接建立流程。由图2可以看出一个端口的双向链接,是由两个单向链路组成,驱动层通过CIP平台向CL模块上报两次OPEN事件。一次由发送端上报,一次由接收端上报,两者不分先后,携带参数port_id相同,login_id不同。发送端与接收端可以根据参数的匹配情况,建立发送端与接收端之间的逻辑链路。
S11:遵循NVMe通信传输协议组织IO申请命令。
从SCSI协议格式修改为NVMe集群通信的命令规范,字段调整,压缩命令字节规模,符合原有集群节点通信采用SCSI协议格式进行消息体组织,当前修改采用了NVMe协议格式进行消息体组织。
IO申请命令限定64字节,除协议绑定的字段外,从预留的24字节自定义需求信息,包括路径、序列号、信道、端口号、队列号等。图3为发送端与接收端的收发流程图。如图3所示,发送端发出nvme_cmnd命令,开启IO申请流程,以nvme_cmnd结构体组织协议包,初始化接收数据buffer地址及长度。在发出IO申请时,获取所有连接状态的queue_pair,轮询赋值nvme_cmnd,在底层驱动交由不同的队列传输命令。接收端以逻辑链接建立流程时注册的nvme_opcode函数接收IO申请指令,分配信道tchannel,从CIP平台获取具体信息,根据解析参数信息通知视窗层(Window Layer,WL)模块进行应答确认。
如果wl_omq队列存在待发送消息,则以刚刚建立tchannel发送消息,按NVME协议格式组织消息体。因NVME协议相对SCSI协议反馈内容少了会话sense字段,发送端把接收的数据以nvme_cmnd自定义字段拆包解析data,解析为报头,读取参数值,通知WL应答确认、分包解析、转发上传等操作。
此外,在接收端增加RDMA端口偏好值设定,偏好值大于FC,小于NTB。当RDMA链路和NTB链路共存时优选NTB传输数据,当RDMA链路和FC链路共存时优选RDMA链路传输数据。所以,端口轮询环节当选择RDMA端口时,以IO申请时设定的queue_id保持不变,每条消息由不同队列发送,实现队列均衡,CPU资源充分利用,传输速率高。
S12:通过RDMA链路发送命令至接收端,以便接收端接收命令并将数据信息返回至发送端。
基于PCIe链路和RDMA链路进行数据传递包含三个阶段:启动控制命令,传递传输到对端,以及对端接收数据进行验证并回响应消息。图4为基于PCIe链路的数据传输流程图。图5为基于RDMA链路的数据传输流程图。在图4、图5中的代表数据流,代表控制流,/>代表响应流。在图4、图5中,数据流是均是由发送端将数据传输至接收端;由图4可以看出,在PCIe通信模型下,数据发送端发送到接收端以后,发送端的CPU还需要通过控制流通知接收端数据已送达(触发接收端的中断),接收端调用中断处理过程,对消息进行校验并回响应消息。而对于图5中的RDMA链路并无这个过程,当数据发送成功后,发送端无需通知接收端数据已经送达,接收端会轮询并处理达到的数据,并回响应。由此可见,RDMA链路相比PCIe减少了通知数据已经到达的过程,减少了交互次数,时延更低,带宽更高。
本实施例所提供的应用于发送端的提升存储系统通信性能的方法,该方法首先在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路,然后遵循NVMe通信传输协议组织IO申请命令;最后通过RDMA链路发送命令至接收端,以便接收端接收命令并将数据信息返回至发送端。在该方法中,一方面,采用的NVMe协议减少了CPU的开销,简化了操作,队列深度高,从而降低了延迟;另一方面,采用的RDMA链路在发送端将命令发送至接收端后,由接收端处理命令并将数据信息返回给发送端,在这个过程中,发送端无需通知接收端命令已经送达,因此,减少了通知数据已经到达的过程,减少了交互次数,降低延时,最终提升了存储系统的通信性能。
为了防止屏蔽单条单向链路断联造成的震荡影响,作为优选地实施方式,通过两次OPEN事件触发完整集群通信链接建立。因此,在上述实施例的基础上,建立与接收端之间的RDMA链路包括:
获取第一OPEN事件并记录第一OPEN事件对应的第一参数信息;
获取第二OPEN事件并记录第二OPEN事件对应的第二参数信息;
判断第一参数信息与第二参数信息是否匹配;
若匹配,则建立与接收端之间的RDMA链路。
在上文中驱动层通过CIP平台向CL模块上报两次OPEN事件,一次由发送端上报,一次由接收端上报。在发送端与接收端上报时,携带参数port_id相同,login_id不同。如图2中所示的,CL模块接收一条OPEN事件,进行参数信息记录。如收到另一条OPEN事件,与记录信息匹配,如port_id相同,OPEN事件源不同(即发送端和接收端都已上报),则完成匹配,发起逻辑链接建立流程。在完成逻辑链接建立的同时,可以清理完成匹配的记录OPEN事件信息来减少存储时所占的内存空间。
本实施例所提供的在判断出第一参数信息与第二参数信息匹配的情况下,建立与接收端之间的RDMA链路。通过两次OPEN事件触发完整集群通信链接建立,可以有效防止在屏蔽单条单向链路断联时造成的震荡影响。
为了降低发送端与接收端的负荷,增加发送端与接收端的使用时间,作为优选地实施方式,当采用的RDMA链路为两条单向链路时,在接收端接收命令并将数据信息返回至发送端之后,还包括:
断开RDMA链路;
断开RDMA链路包括:
自第一条单向链路出现断连开始时,若在预设时间内第二条单向链路未出现断连的情况,则下发slandered指令主动断开第二条单向链路。
图6为发送端与接收端的断开逻辑链路的流程图。断开逻辑链接与逻辑链接建立流程相似。对于发送端,发送端的CLP平台向发送端的CL层上报CLOSE事件,如果在时间窗口内接收端上报另一CLOSE事件上报,则取消计数器,逻辑链接断开,释放资源,如果时间窗口没有收到第二个CLOSE事件或重新链接,则下发slandered指令主动断开另一条单向链路,如果发送端成功上报OPEN事件,同样地也取消计时;对于接收端,接收端的CLP平台向接收端的CL层上报logout事件,如果在时间窗口内发送端上报另一CLOSE事件,则取消计时器,逻辑连接断开,释放资源,如果接收端重新成功上报OPEN事件,同样地也取消计时。也就是说,出驱动层会通过CIP平台分别上报CLOSE事件。即,当一条单向链路出现断连时,发送端或接收端会上报CLOSE事件,但另一条单向链路仍然处于连通状态。另外,可设定等待时间窗口。如果在时间窗口内收到另一条单向链路的CLOSE事件,则表示逻辑链接彻底断联,触发断联处理流程,释放资源等。如果在时间窗口内没有收到第二个CLOSE事件,下发slandered指令主动断开另一条单向链路,彻底断开该端口的链接。收到第二个CLOSE事件后,触发断联处理流程,释放资源等。
本实施例所提供的在接收端接收命令并将数据信息返回至发送端之后,并且通过两次CLOSE事件触发逻辑链接彻底断开,通过设置等待时间窗口,能够准确地判断逻辑链接是否需要彻底断开,逻辑链接的彻底断开可以减少发送端与接收端的负荷以及增加发送端与接收端的使用时间。
本实施例提供一种应用于接收端的提升存储系统通信性能的方法。图7为本实施例提供的一种应用于接收端的提升存储系统通信性能的方法的流程图,该方法包括:
S13:在确定是NVMe通信传输协议的情况下,建立与发送端之间的RDMA链路。
S14:接收发送端发送的IO申请命令。
S15:根据命令以及遵循NVMe通信传输协议组织数据信息。
S16:将数据信息返回至发送端。
由于在上文中在对应用于发送端的提升存储系统通信性能的方法进行描述的同时,也对接收端进行了相应地描述,因此本实施例中的应用于接收端的提升存储系统通信性能的方法不再赘述。
本实施例所提供的应用于接收端的提升存储系统通信性能的方法,该方法首先在确定是NVMe通信传输协议的情况下,建立与发送端之间的RDMA链路,接收发送端发送的IO申请命令;然后根据命令以及遵循NVMe通信传输协议组织数据信息;最后将数据信息返回至发送端。该方法具有上述提到的应用于发送端的提升存储系统通信性能的方法相同的有益效果。
为了使得CPU资源充分利用,并且提高传输速率,作为优选地实施方式,将数据信息返回至发送端包括:
采用轮询策略将数据信息通过不同队列返回至发送端。
在应用于发送端的提升存储系统通信性能的方法的过程中,发送端根据CIP平台上报的多队列链接信息,采用轮询策略,把IO申请命令发往不同队列传输。相应地,在应用于接收端的提升存储系统通信性能的方法的过程中,同样地,也可以采用轮询策略将数据信息通过不同队列返回至发送端。
本实施例所提供的采用轮询策略将数据信息通过不同队列返回至发送端,使得CPU资源充分利用,并且提高传输速率,最终提升了存储系统的通信性能。
在上述实施例的基础上,为了减少数据信息的传输,可以根据数据信息的类型以不同的格式进行反馈。在实施中,将数据信息返回至发送端包括:
在数据信息为反馈状态信息的情况下,以预设值返回至发送端;
在数据信息为反馈数据信息的情况下,以status+data形式返回至发送端。
以NVMe协议作为命令规范,相对SCSI,对传输的数据和命令进行重定义。删减SCSI协议数据包的会话结构部分,缩减命令及回复字节大小,在驱动层由硬件进行校验,提高有效数据传输占比。对应的,在软件层面减少处理环节,简化处理复杂度。在反馈状态值status时,以16字节反馈,无异常则不需赋值,即可认定为成功送达。如果携带数据信息,则以status+data形式传输,在命令buffer字段赋值地址、偏移、长度等,交由RDMA技术通过底层驱动直接送达,甚至快于命令传输速度。数据信息接收端则在预先分配的内存中,已经收到数据data,则根据地址等信息进行拆包解析,分解出一个个具体消息转发至上层应用模块。
本实施例所提供的根据数据信息的类型以不同的格式进行反馈,由于在反馈状态时不需要赋值,因此可以减少数据的传输,提高存储系统的通信性能。
在上述实施例中,对于提升存储系统的通信性能的方法进行了详细描述,本申请还提供提升存储系统的通信性能的装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。其中基于功能模块角度的装置包含应用于发送端的提升存储系统的通信性能的装置以及应用于接收端的提升存储系统的通信性能的装置。
图8为本申请的一实施例提供的应用于发送端的提升存储系统的通信性能的装置的结构图。本实施例基于功能模块的角度,包括:
第一建立模块10,用于在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路;
第一组织模块11,用于遵循所述NVMe通信传输协议组织IO申请命令;
发送模块12,用于通过所述RDMA链路发送所述命令至所述接收端,以便所述接收端接收所述命令并将数据信息返回至所述发送端。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的应用于发送端的提升存储系统的通信性能的装置,首先在确定是NVMe通信传输协议的情况下,通过建立模块建立与接收端之间的RDMA链路;然后遵循NVMe通信传输协议通过组织模块组织IO申请命令;最后通过发送模块经过RDMA链路发送命令至接收端。该装置中,一方面,采用的NVMe协议减少了CPU的开销,简化了操作,队列深度高,从而降低了延迟;另一方面,采用的RDMA链路在发送端将命令发送至接收端后,由接收端处理命令并将数据信息返回给发送端,在这个过程中,发送端无需通知接收端命令已经送达,因此,减少了通知数据已经到达的过程,减少了交互次数,降低延时,最终提升了存储系统的通信性能。
图9为本申请的一实施例提供的应用于接收端的提升存储系统的通信性能的装置的结构图。本实施例基于功能模块的角度,包括:
第二建立模块13,用于在确定是NVMe通信传输协议的情况下,建立与发送端之间的RDMA链路;
接收模块14,用于接收所述发送端发送的IO申请命令;
第二组织模块15,用于根据所述命令以及遵循所述NVMe通信传输协议组织数据信息;
返回模块16,用于将所述数据信息返回至所述发送端。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的应用于接收端的提升存储系统的通信性能的装置,具有与上述应用于发送端的提升存储系统的通信性能的装置相同的有益效果。
图10为本申请另一实施例提供的提升存储系统的通信性能的装置的结构图。本实施例基于硬件角度,如图10所示,提升存储系统的通信性能的装置包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的提升存储系统的通信性能的方法的步骤。
本实施例提供的提升存储系统的通信性能的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的提升存储系统的通信性能的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于上述所提到的提升存储系统的通信性能的方法所涉及到的数据等。
在一些实施例中,提升存储系统的通信性能的装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图10中示出的结构并不构成对提升存储系统的通信性能的装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的提升存储系统的通信性能的装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:提升存储系统的通信性能的方法,效果同上。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是发送端对应的方法、也可以是接收端对应的方法,还可以是发送端和接收端对应的方法)中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的计算机可读存储介质包括上述提到的提升存储系统的通信性能的方法,效果同上。
以上对本申请所提供的提升存储系统通信性能的方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种提升存储系统通信性能的方法,其特征在于,应用于发送端,包括:
在确定是NVMe通信传输协议的情况下,建立与接收端之间的RDMA链路;
遵循所述NVMe通信传输协议组织IO申请命令;
通过所述RDMA链路发送所述命令至所述接收端,以便所述接收端接收所述命令并将数据信息返回至所述发送端;
所述建立与接收端之间的RDMA链路包括:
获取第一OPEN事件并记录所述第一OPEN事件对应的第一参数信息;
获取第二OPEN事件并记录所述第二OPEN事件对应的第二参数信息;
判断所述第一参数信息与所述第二参数信息是否匹配;
若匹配,则建立与所述接收端之间的所述RDMA链路;
所述RDMA链路为两条单向链路,在所述接收端接收所述命令并将数据信息返回至所述发送端之后,还包括:
断开所述RDMA链路;
所述断开所述RDMA链路包括:
自第一条所述单向链路出现断连开始时,若在预设时间内第二条所述单向链路未出现断连的情况,则下发slandered指令主动断开所述第二条单向链路。
2.一种提升存储系统通信性能的方法,其特征在于,应用于接收端,包括:
在确定是NVMe通信传输协议的情况下,发送端获取第一OPEN事件并记录第一OPEN事件对应的第一参数信息;获取第二OPEN事件并记录第二OPEN事件对应的第二参数信息;判断第一参数信息与第二参数信息是否匹配;若匹配,则建立与接收端之间的RDMA链路;
所述接收端接收所述发送端发送的IO申请命令;
所述接收端根据所述命令以及遵循所述NVMe通信传输协议组织数据信息;
所述接收端将所述数据信息返回至所述发送端,以便于当采用的 RDMA链路为两条单向链路时,在将数据信息返回至发送端之后,所述发送端断开RDMA链路;断开RDMA链路包括:自第一条单向链路出现断连开始时,若在预设时间内第二条单向链路未出现断连的情况,则下发slandered指令主动断开第二条单向链路。
3.根据权利要求2所述的提升存储系统通信性能的方法,其特征在于,所述将所述数据信息返回至所述发送端包括:
采用轮询策略将所述数据信息通过不同队列返回至所述发送端。
4.根据权利要求3所述的提升存储系统通信性能的方法,其特征在于,所述将所述数据信息返回至所述发送端包括:
在所述数据信息为反馈状态信息的情况下,以预设值返回至所述发送端;
在所述数据信息为反馈数据信息的情况下,以status+data形式返回至所述发送端。
5.一种提升存储系统通信性能的装置,其特征在于,应用于发送端,包括:
第一建立模块,用于在确定是NVMe通信传输协议的情况下,获取第一OPEN事件并记录第一OPEN事件对应的第一参数信息;获取第二OPEN事件并记录第二OPEN事件对应的第二参数信息;判断第一参数信息与第二参数信息是否匹配;若匹配,则建立与接收端之间的RDMA链路;
第一组织模块,用于遵循所述NVMe通信传输协议组织IO申请命令;
发送模块,用于通过所述RDMA链路发送所述命令至所述接收端,以便所述接收端接收所述命令并将数据信息返回至所述发送端;
当采用的 RDMA链路为两条单向链路时,装置还包括断开单元;断开单元,用于自第一条单向链路出现断连开始时,若在预设时间内第二条单向链路未出现断连的情况,则下发slandered指令主动断开第二条单向链路。
6.一种提升存储系统通信性能的装置,其特征在于,应用于接收端,包括:
第二建立模块,用于在确定是NVMe通信传输协议的情况下,发送端获取第一OPEN事件并记录第一OPEN事件对应的第一参数信息;获取第二OPEN事件并记录第二OPEN事件对应的第二参数信息;判断第一参数信息与第二参数信息是否匹配;若匹配,则建立与接收端之间的RDMA链路;
所述接收端的接收模块,用于接收所述发送端发送的IO申请命令;
所述接收端的第二组织模块,用于根据所述命令以及遵循所述NVMe通信传输协议组织数据信息;
所述接收端的返回模块,用于将所述数据信息返回至所述发送端,以便于当采用的RDMA链路为两条单向链路时,所述发送端自第一条单向链路出现断连开始时,若在预设时间内第二条单向链路未出现断连的情况,则下发slandered指令主动断开第二条单向链路。
7.一种提升存储系统通信性能的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的提升存储系统通信性能的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的提升存储系统通信性能的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111447112.8A CN114328317B (zh) | 2021-11-30 | 2021-11-30 | 一种提升存储系统通信性能的方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111447112.8A CN114328317B (zh) | 2021-11-30 | 2021-11-30 | 一种提升存储系统通信性能的方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114328317A CN114328317A (zh) | 2022-04-12 |
CN114328317B true CN114328317B (zh) | 2023-07-14 |
Family
ID=81049493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111447112.8A Active CN114328317B (zh) | 2021-11-30 | 2021-11-30 | 一种提升存储系统通信性能的方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328317B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829353A (zh) * | 2018-06-15 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种基于NVMe的网络化存储系统及方法 |
CN110888827A (zh) * | 2018-09-10 | 2020-03-17 | 华为技术有限公司 | 数据传输方法、装置、设备及存储介质 |
CN111031505A (zh) * | 2019-12-13 | 2020-04-17 | 上海联数物联网有限公司 | 一种基于LoRa网关的边缘信息捎带传输方法及其装置 |
CN111459417A (zh) * | 2020-04-26 | 2020-07-28 | 中国人民解放军国防科技大学 | 一种面向NVMeoF存储网络的无锁传输方法及系统 |
CN113064846A (zh) * | 2021-04-14 | 2021-07-02 | 中南大学 | 基于Rsockets协议的零拷贝数据传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11301404B2 (en) * | 2019-02-04 | 2022-04-12 | American Megatrends International, Llc | Enabling high availability in server SAN enabled storage box |
-
2021
- 2021-11-30 CN CN202111447112.8A patent/CN114328317B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829353A (zh) * | 2018-06-15 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种基于NVMe的网络化存储系统及方法 |
CN110888827A (zh) * | 2018-09-10 | 2020-03-17 | 华为技术有限公司 | 数据传输方法、装置、设备及存储介质 |
CN111031505A (zh) * | 2019-12-13 | 2020-04-17 | 上海联数物联网有限公司 | 一种基于LoRa网关的边缘信息捎带传输方法及其装置 |
CN111459417A (zh) * | 2020-04-26 | 2020-07-28 | 中国人民解放军国防科技大学 | 一种面向NVMeoF存储网络的无锁传输方法及系统 |
CN113064846A (zh) * | 2021-04-14 | 2021-07-02 | 中南大学 | 基于Rsockets协议的零拷贝数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114328317A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986171B2 (en) | Method for unified communication of server, baseboard management controller, and server | |
US7127534B2 (en) | Read/write command buffer pool resource management using read-path prediction of future resources | |
US4727538A (en) | Information transfer method and arrangement | |
US5931915A (en) | Method for processing early arrival messages within a multinode asynchronous data communications system | |
US6016513A (en) | Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer | |
US7200641B1 (en) | Method and system for encoding SCSI requests for transmission using TCP/IP | |
EP2216955B1 (en) | Network interface device | |
US8850090B2 (en) | USB redirection for read transactions | |
CN105141603B (zh) | 通信数据传输方法及系统 | |
US8856407B2 (en) | USB redirection for write streams | |
WO2012030542A1 (en) | Mechanism for autotuning mass data transfer from a sender to a receiver over parallel connections | |
CN112039722B (zh) | 一种mqtt协议仿真方法及仿真设备 | |
CN110311966B (zh) | 融合PC系统和android系统的双系统通信方法和系统 | |
CN113347017B (zh) | 一种网络通信的方法、装置、网络节点设备及混合网络 | |
CN116868553A (zh) | 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度 | |
CN107453845A (zh) | 应答确认方法及设备 | |
US5878226A (en) | System for processing early arrival messages within a multinode asynchronous data communications system | |
CN112311694B (zh) | 一种优先级调整方法及装置 | |
CN114328317B (zh) | 一种提升存储系统通信性能的方法、装置及介质 | |
WO2007074343A2 (en) | Processing received data | |
US20050273541A1 (en) | Circuit and method for adaptively recognizing a data packet in a universal serial bus network device | |
CN113747206B (zh) | 数据回传控制方法和系统、显示屏控制器及显示控制卡 | |
CN117041147B (zh) | 智能网卡设备、主机设备和方法及系统 | |
US20060034269A1 (en) | Action list for a split media access and control layer communications system | |
CN118714183A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |