数据传输方法及电子设备与流程

摘要: 本申请涉及直接存储访问传输,尤其涉及一种数据传输方法及电子设备。背景技术:1、在基于描述符队列的直接存储访问(directmemoryaccess,简称为dma...
数据传输方法及电子设备与流程

本申请涉及直接存储访问传输,尤其涉及一种数据传输方法及电子设备。

背景技术:

1、在基于描述符队列的直接存储访问(direct memory access,简称为dma)传输技术实现数据搬运中,针对单个描述符的数据承载能力问题,相关技术中,可以通过在驱动软件层将单个描述符的内存空间固定为64kb或更大的规格,让单个描述符可承载更多待传输数据,减少单次传输所需的描述符数量,以此提升数据传输的整体效率;也可以将多个独立的小尺寸描述符通过指针关联构建成链式逻辑结构,使多段数据可通过一个链式整体完成传输,从而减少描述符在内存与设备间的搬运操作次数,同时降低传输过程中触发的中断频率;还可以在数据上行传输前,提前从系统队列中读取并缓存一定数量的上行队列描述符到异构设备本地,使设备在需要传输时可直接使用预取的描述符,避免实时获取描述符带来的上行直接存储访问等待时延。

2、然而,相关技术中,大尺寸描述符方案不仅增加了软件设计的复杂度,而且还降低了描述符的资源利用率;链式描述符方案描述符结构复杂,且无法避免队列频繁回绕的问题;而上行队列描述符预取方案会带来异构设备描述符缓存的巨大开销,亟需改进。

技术实现思路

1、本申请提供了一种数据传输方法及电子设备,以至少解决相关技术中,大尺寸描述符方案不仅让软件设计变得更复杂,而且还浪费了描述符资源;链式描述符方案结构复杂,队列还容易出现频繁回绕;上行队列描述符预取方案增加了异构设备的描述符缓存开销等问题。

2、本申请提供了一种数据传输方法,包括以下步骤:响应于直接存储访问传输指令,从预设建立的描述符队列中读取至少一个描述符,并将所述至少一个描述符存储至设备侧的本地描述符缓存区;利用所述本地描述符缓存区中至少部分描述符识别对应的存活时间编码位的存活时间编码值和指针标志位的指针标志值;基于所述存活时间编码值和所述指针标志值,确定对应描述符的当前状态和当前类型,并在响应于所述当前状态满足预设条件的情况下,根据所述当前类型匹配所述对应描述符的目标传输方式,按照所述目标传输方式将对应的待传输数据报文传输至目标存储缓存区,直至所述设备侧满足预设停止传输条件。

3、本申请还提供了一种数据传输装置,包括:读取模块,用于响应于直接存储访问传输指令,从预设建立的描述符队列中读取至少一个描述符,并将所述至少一个描述符存储至设备侧的本地描述符缓存区;第一识别模块,用于利用所述本地描述符缓存区中至少部分描述符识别对应的存活时间编码位的存活时间编码值和指针标志位的指针标志值;传输模块,用于基于所述存活时间编码值和所述指针标志值,确定对应描述符的当前状态和当前类型,并在响应于所述当前状态满足预设条件的情况下,根据所述当前类型匹配所述对应描述符的目标传输方式,按照所述目标传输方式将对应的待传输数据报文传输至目标存储缓存区,直至所述设备侧满足预设停止传输条件。

4、本申请还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现上述任一种数据传输方法的步骤。

5、本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一种数据传输方法的步骤。

6、本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一种数据传输方法的步骤。

7、通过本申请,可以在响应于直接存储访问传输指令时,从预设建立的描述符队列中读取描述符,并将描述符存储至设备侧的本地描述符缓存区,从而根据识别到的描述符的存活时间编码位的存活时间编码值和指针标志位的指针标志值,确定对应描述符的当前状态和当前类型,进而在当前状态满足预设条件时,根据当前类型匹配对应的目标传输方式,以将对应的待传输数据报文传输至目标存储缓存区,直至满足预设停止传输条件,因此,可以解决大尺寸描述符方案不仅让软件设计变得更复杂,而且还浪费了描述符资源;链式描述符方案结构复杂,队列还容易出现频繁回绕;上行队列描述符预取方案增加了异构设备的描述符缓存开销等技术问题,达到在不改变单个描述符页面大小的前提下,实现高负载下保持较高的队列数据承载能力,减少描述符队列回绕次数和中断数量,降低处理时延的技术效果。

1.一种数据传输方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,在从预设建立的描述符队列中读取至少一个描述符之前,还包括:

3.根据权利要求1所述的方法,其特征在于,在从预设建立的描述符队列中读取至少一个描述符之前,还包括:

4.根据权利要求1所述的方法,其特征在于,所述基于所述存活时间编码值和所述指针标志值,确定对应描述符的当前状态和当前类型,包括:

5.根据权利要求4所述的方法,其特征在于,所述基于所述第二运算结果、所述第三运算结果、所述实际存活时间编码高位值和所述实际存活时间编码低位值,识别所述当前状态,包括:

6.根据权利要求5所述的方法,其特征在于,在响应于所述当前状态满足预设条件之前,还包括:

7.根据权利要求1所述的方法,其特征在于,在从预设建立的描述符队列中读取至少一个描述符之前,还包括:

8.根据权利要求7所述的方法,其特征在于,所述根据所述当前类型匹配所述对应描述符的目标传输方式,包括:

9.根据权利要求1所述的方法,其特征在于,在将所述至少一个描述符存储至设备侧的本地描述符缓存区之前,还包括:

10.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-9任一项所述的数据传输方法。