CN113986533A - 一种数据传输方法、dma控制器及计算机可读存储介质 - Google Patents

一种数据传输方法、dma控制器及计算机可读存储介质 Download PDF

Info

Publication number
CN113986533A
CN113986533A CN202111204555.4A CN202111204555A CN113986533A CN 113986533 A CN113986533 A CN 113986533A CN 202111204555 A CN202111204555 A CN 202111204555A CN 113986533 A CN113986533 A CN 113986533A
Authority
CN
China
Prior art keywords
descriptor
memory
processed
data
address
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
CN202111204555.4A
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center 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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202111204555.4A priority Critical patent/CN113986533A/zh
Publication of CN113986533A publication Critical patent/CN113986533A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明提供一种数据传输方法、DMA控制器及介质,方法应用于DMA控制器,包括:利用预存的描述符地址从AXI读通道向内存获取首个描述符,并将首个描述符设置为待处理描述符;根据待处理描述符向存储设备请求对应数据,并更新描述符地址,利用更新后的描述符地址从AXI读通道向内存请求下一描述符;根据待处理描述符将存储设备发送的数据从AXI写通道写入内存,同时从AXI读通道接收内存发送的下一描述符;利用下一描述符更新待处理描述符,并执行根据待处理描述符向存储设备请求对应数据的步骤,直至确定内存中的所有描述符均完成处理;可利用读写通道分离的AXI总线同时对内存进行数据写入及描述符获取,进而提升DMA传输性能。

Description

一种数据传输方法、DMA控制器及计算机可读存储介质
技术领域
本发明涉及数据传输领域,特别涉及一种数据传输方法、DMA控制器及计算机可读存储介质。
背景技术
直接内存存取(Direct Memory Access)是一种快速传输数据的机制,数据存取时不需要处理器干预,数据可直接在源设备和目的设备之间传输。相关技术中,DMA控制器在执行P2M(Peripheral to Memory,外部存储设备至内存)、M2M(Memory to Memory,内存到内存)数据传输流程时,会根据从内存中取出的描述符所指示地址从存储设备读取数据并写回内存相应地址,并在完成上一轮数据传输后,再从内存中取出下一条描述符进行数据传输。然而,在面对小文件传输时,上述数据传输流程中描述符的读取时间与数据传输时间的比值将大大增加,容易影响数据传输性能。
发明内容
本发明的目的是提供一种数据传输方法、DMA控制器及计算机可读存储介质,其中DMA控制器可利用读写通道分离的AXI总线同时对内存进行数据写入及描述符获取,进而提升DMA传输性能。
为解决上述技术问题,本发明提供一种数据传输方法,应用于DMA控制器,所述方法包括:
利用预存的描述符地址从AXI读通道向所述内存获取首个描述符,并将所述首个描述符设置为待处理描述符;
根据所述待处理描述符向存储设备请求对应数据,并更新所述描述符地址,利用更新后的描述符地址从所述AXI读通道向所述内存请求下一描述符;
根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,同时从所述AXI读通道接收所述内存发送的下一描述符;
利用所述下一描述符更新所述待处理描述符,并执行所述根据所述待处理描述符向存储设备请求对应数据的步骤,直至确定所述内存中的所有描述符均完成处理。
可选地,所述更新所述描述符地址,包括:
对所述描述符地址加预设数值。
可选地,所述利用预存的描述符地址从AXI读通道向所述内存获取首个描述符,包括:
从所述DMA控制器对应的寄存器中读取所述描述符地址,并利用所述描述符地址从所述AXI读通道向所述内存获取所述首个描述符。
可选地,所述根据所述待处理描述符向存储设备请求对应数据,包括:
从所述待处理描述符中提取源地址及数据长度,并根据所述源地址及所述数据长度向所述存储设备请求所述数据。
可选地,所述根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,包括:
根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存;
当接收到所述内存通过所述AXI写通道发送的完成标识时,执行所述利用所述下一描述符更新所述待处理描述符的步骤。
可选地,所述根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,包括:
从所述待处理描述符中提取目标地址,并从所述AXI写通道将所述数据写入目标地址在所述内存中的对应位置。
可选地,所述确定所述内存中的所有描述符均完成处理,包括:
判断所述待处理描述符中是否包含结束标识;
若包含,则判定所述内存中的所有描述符均完成处理。
本发明还提供一种DMA控制器,包括:
初始化模块,用于利用预存的描述符地址及向所述内存获取首个描述符,并将所述首个描述符设置为待处理描述符;
请求模块,用于根据所述待处理描述符向存储设备请求对应数据,并更新所述描述符地址,利用更新后的描述符地址从AXI读通道向所述内存请求下一描述符;
读写模块,用于根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,同时从所述AXI读通道接收所述内存发送的下一描述符;
循环模块,用于利用所述下一描述符更新所述待处理描述符,并执行所述根据所述待处理描述符向存储设备请求对应数据的步骤,直至确定所述内存中的所有描述符均完成处理。
可选地,所述请求模块,包括:
地址更新子模块,用于对所述描述符地址加预设数值。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的数据传输方法。
本发明提供一种数据传输方法,应用于DMA控制器,所述方法包括:利用预存的描述符地址从AXI读通道向所述内存获取首个描述符,并将所述首个描述符设置为待处理描述符;根据所述待处理描述符向存储设备请求对应数据,并更新所述描述符地址,利用更新后的描述符地址从所述AXI读通道向所述内存请求下一描述符;根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,同时从所述AXI读通道接收所述内存发送的下一描述符;利用所述下一描述符更新所述待处理描述符,并执行所述根据所述待处理描述符向存储设备请求对应数据的步骤,直至确定所述内存中的所有描述符均完成处理。
可见,本发明利用AXI的读通道和写通道完成DMA控制器与内存之间的数据传输,在进行数据请求时,DMA控制器可利用从内存获取的上一描述符向存储设备请求对应的数据,并同时通过AXI读通道向内存获取下一描述符;在进行数据传输时,DMA控制器可通过AXI写通道将上一描述符对应的数据写入内存,并同时通过AXI读通道接收内存发送的下一描述符。换句话说,本发明利用了AXI总线读写通道分离特性,可同时对内存完成数据的写入及描述符的获取,减少描述符读取操作对数据传输效率的影响,进而可有效提升DMA控制器对小文件的传输性能。本发明还提供一种DMA控制器和一种计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种数据传输方法的流程图;
图2为本发明实施例所提供的现有DMA数据传输流程与本发明DMA数据传输流程的对比图;
图3为本发明实施例所提供的一种DMA控制器的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,DMA控制器在执行P2M(Peripheral to Memory,外部存储设备至内存)、M2M(Memory to Memory,内存到内存)数据传输流程时,会根据从内存中取出的描述符所指示地址从存储设备读取数据并写回内存相应地址,并在完成上一轮数据传输后,再从内存中取出下一条描述符进行数据传输。然而,在面对小文件传输时,上述数据传输流程中描述符的读取时间与数据传输时间的比值将大大增加,容易影响数据传输性能。有鉴于此,本发明提供一种数据传输方法,其中DMA控制器可利用读写通道分离的AXI总线同时对内存进行数据写入及描述符获取,进而提升DMA传输性能。请参考图1,图1为本发明实施例所提供的一种数据传输方法的流程图,该方法应用于DMA控制器,包括:
S101、利用预存的描述符地址从AXI读通道向内存获取首个描述符,并将首个描述符设置为待处理描述符。
本发明实施例采用AXI接口提升DMA控制器向内存写入数据的性能,尤其可提升DMA控制器对小块数据的传输效率。AXI(Advanced eXtensible Interface,增强可扩展接口)是一种总线协议,基于该协议工作的接口为AXI接口。该接口具有全双工的特性,即该接口具有分离的读写通道,且这两个通道可同时进行工作。本发明实施例并不限定AXI接口具体的读通道和写通道结构,也不限定AXI接口的工作方式,可参考AXI接口的相关技术。由于DMA控制器在执行P2M(Peripheral to Memory,外部存储设备至内存)和M2M(Memory toMemory,内存到内存)数据传输流程,通常利用AXI接口的读通道向内存获取描述符,并通过AXI接口的写通道向内存写入相关数据,因此本发明实施例可利用AXI的读写通道分离特性,实现同时向内存写入上一描述符对应的数据以及向内存请求下一描述符,可有效减少描述符获取对DMA数据传输过程的等待时间,进而提升DMA控制器的数据传输性能。需要说明的是,描述符(Descriptor)包含DMA控制器进行数据搬运所需的参数,例如数据在源存储器的源地址,数据长度及数据在目标存储器中的目标地址。当然,描述符还可包含其他内容,可参考DMA描述符的相关技术。
进一步,可以理解的是,为便于快速处理数据传输任务,DMA控制器通常设置有相关的寄存器,进而处理器可将首个描述符在内存中的地址写入寄存器,以使DMA控制器从相关寄存器中读取地址并进行处理。
在一种可能的情况中,利用预存的描述符地址从AXI读通道向内存获取首个描述符,可以包括:
步骤11:从DMA控制器对应的寄存器中读取描述符地址,并利用描述符地址从AXI读通道向内存获取首个描述符。
需要说明的是,本发明实施例并不限定处理器如何配置DMA控制器的寄存器,也不限定具体的寄存器,可参考DMA的相关技术。当然,该寄存器中还可包含其他配置信息,例如DMA使能信息、DMA是否产生中断的信息,可依照DMA控制器可识别的配置信息进行配置,本发明实施例对此不做限定。
进一步,本发明实施例也不限定DMA控制器如何通过AXI读通道与内存进行交互得到描述符,例如由DMA控制器根据描述符地址发送描述符获取请求,并由内存接口请求并将对应的描述符发送至DMA控制器,可参考DMA和AXI的相关技术。
S102、根据待处理描述符向存储设备请求对应数据,并更新描述符地址,利用更新后的描述符地址从AXI读通道向内存请求下一描述符。
在得到待处理描述符后,DMA控制器便可向目标存储设备获取对应的数据。具体的,可从描述符中提取数据所在的源地址及数据长度,并依照源地址及数据长度向存储设备获取对应数据。
在一种可能的情况中,根据待处理描述符向存储设备请求对应数据,可以包括:
步骤21:从待处理描述符中提取源地址及数据长度,并根据源地址及数据长度向存储设备请求数据。
当然,DMA控制器在向存储设备请求数据时,还可从待处理描述符中提取其他信息进行请求,可参考DMA的相关技术。
进一步,本发明实施例并不限定具体的存储设备,例如可以为外部存储设备,也可以为另一内存。当存储设备为外部存储设备时,DMA控制器执行的是P2M数据传输流程;而当存储设备为另一内存时,DMA控制器执行的是M2M数据传输流程。换而言之,本发明可同时增强P2M及M2M数据传输模式的数据传输性能。需要说明的是,本发明实施例并不限定DMA与存储设备请求数据的具体过程,例如由DMA控制器根据待处理描述符生成相应的数据获取请求,并发送至存储设备,而存储设备则根据接收到请求将对应的数据发送至DMA控制器,可参考DMA的相关技术。
进一步,为了提升数据获取效率,描述符通常以连续存储形式存放于内存中。由于每一描述符的大小是固定的,换句话说,可通过更新上一描述符地址的方式,直接确定下一描述符对应的地址。具体的,由于描述符大小固定,因此可在上一描述符地址上加预设数值,得到下一描述符的地址。本发明实施例并不限定具体的预设数值,该数据与描述符的大小有关,例如描述符占1个字节,则预设数值为1;若描述符占4个字节,则预设数值为4,可根据实际应用需求进行设定。
在一种可能的情况中,更新描述符地址,可以包括:
步骤31:对描述符地址加预设数值。
进一步,需要说明的是,向存储设备请求对应数据的步骤,是与从AXI度通道向内存请求下一描述符的步骤并行执行的。换而言之,当DMA控制器开始向存储设备获取对应数据时,便可同时开始向内存请求下一描述符。
S103、根据待处理描述符将存储设备发送的数据从AXI写通道写入内存,同时从AXI读通道接收内存发送的下一描述符。
由于AXI接口的读通道和写通道可同时工作,因此DMA控制器通过写通道将数据写入内存,同时从读通道接收内存发送的下一描述符。需要说明的是,描述符的请求和接收,是与数据的请求和写入并行进行的,即DMA控制器可通过读通道向内存请求描述符,并接收内存通过读通道发送的描述符,同时向存储设备请求数据,并通过写通道向内存写入数据。本轮对描述符的请求和接收以及对数据的请求和写入,可在上轮数据写入完成后开始。
进一步,为确保每轮数据妥善写入内存,可在接收到内存通过写通道发送的完成标识时判定本轮数据写入完成。本发明实施例并不限定完成标识的具体形式,也不限定内存如何发送完成标识,例如可通过AXI写通道的写响应通道进行发送,可参考DMA的相关技术。
在一种可能的情况中,根据待处理描述符将存储设备发送的数据从AXI写通道写入内存,可以包括:
步骤41:根据待处理描述符将存储设备发送的数据从AXI写通道写入内存;
步骤42:当接收到内存通过AXI写通道发送的完成标识时,执行利用下一描述符更新待处理描述符的步骤。
进一步,可根据待处理描述符中的目标地址,将数据写入目标地址在内存中的对应位置。
在一种可能的情况中,根据待处理描述符将存储设备发送的数据从AXI写通道写入内存,可以包括:
步骤51:从待处理描述符中提取目标地址,并从AXI写通道将数据写入目标地址在内存中的对应位置。
S104、利用下一描述符更新待处理描述符,并执行根据待处理描述符向存储设备请求对应数据的步骤,直至确定内存中的所有描述符均完成处理。
可以理解的是,可在更新待处理描述符后,判断该描述符是否为内存中最后一个未处理的描述符,以此来判断内存中的所有描述符是否均完成处理。具体的,内存可在最后一个描述符中包含结束标识,当DMA控制器可提取到该结束标识时,便可判定所有描述符均完成处理,并在完成当前待处理描述符的数据传输处理后,退出处理流程。本发明实施例并不限定结束标识的具体形式,只要能够标识该描述符为最后一个即可。
在一种可能的情况中,确定内存中的所有描述符均完成处理,可以包括:
步骤61:判断待处理描述符中是否包含结束标识;若包含,则进入步骤62;若不包含,则进入步骤63;
步骤62:判定内存中的所有描述符均完成处理;
步骤63:判定内存中存在未完成处理的描述符。
基于上述实施例,本发明利用AXI的读通道和写通道完成DMA控制器与内存之间的数据传输,在进行数据请求时,DMA控制器可利用从内存获取的上一描述符向存储设备请求对应的数据,并同时通过AXI读通道向内存获取下一描述符;在进行数据传输时,DMA控制器可通过AXI写通道将上一描述符对应的数据写入内存,并同时通过AXI读通道接收内存发送的下一描述符。换句话说,本发明利用了AXI总线读写通道分离特性,可同时对内存完成数据的写入及描述符的获取,减少描述符读取操作对数据传输效率的影响,进而可有效提升DMA控制器对小文件的传输性能。
下面基于具体的对比图介绍本发明所提供的数据传输方法。请参考图2,图2为本发明实施例所提供的现有DMA数据传输流程与本发明DMA数据传输流程的对比图,其中左半部分为现有DMA数据传输流程,右侧为本发明实施例所提供的DMA数据传输流程(两种流程均在P2M模式下)。本发明的数据传输流程可以包括:
1、DMA从寄存器取出第一条描述符在内存中存放的地址;
2、DMA通过AXI读通道发送描述符读请求到内存;
3、内存通过AXI读通道返回描述符;
4、DMA解析描述符,并根据解析出的源地址及数据长度等信息发送读数据请求到外设,同时DMA将描述符地址加1,通过AXI读通道发送下一条描述符读请求到内存;
5、外设返回读取的数据,同时内存也通过AXI读通道返回下一条描述符;
6、DMA将收到的数据通过AXI接口写入根据描述符解析出的目的地址;
7、内存通过AXI写响应通道返回数据接收完成标识(写响应,Write Response),DMA解析下一条描述符内容,重复步骤4~7直至所有描述符处理完成。
可见,在现有流程中,在DMA从外设读取数据的时候,其与内存侧(Memory)的AXI读写接口是空闲的,且数据返回后也只会使用AXI写通道,例如,只有在描述符1和对应的数据1完成传输流程后,才可开始进行描述符2和对应的数据2的传输流程。而本发明的传输流程在DMA从外设(Peripheral)读取数据的时候,使用AXI读通道从内存侧预读回下一条描述符待用,例如在向外设请求数据1时,同时向内存侧获取描述符2。这样,即使数据从外设返回时DMA还没有完成下一条描述符读回操作,并不影响DMA使用写通道把返回的数据写入内存,可有效缩短上轮数据写入完成时刻至本轮数据写入完成时刻之间的延迟间隙(LatencyGap)。
下面对本发明实施例提供的一种DMA控制器和计算机可读存储介质进行介绍,下文描述的DMA控制器和计算机可读存储介质与上文描述的数据传输方法可相互对应参照。
请参考图3,图3为本发明实施例所提供的一种DMA控制器的结构框图,该DMA控制器可以包括:
初始化模块301,用于利用预存的描述符地址从AXI读通道向内存获取首个描述符,并将首个描述符设置为待处理描述符;
请求模块302,用于根据待处理描述符向存储设备请求对应数据,并更新描述符地址,利用更新后的描述符地址从AXI读通道向内存请求下一描述符;
读写模块303,用于根据待处理描述符将存储设备发送的数据从AXI写通道写入内存,同时从AXI读通道接收内存发送的下一描述符;
循环模块304,用于利用下一描述符更新待处理描述符,并执行根据待处理描述符向存储设备请求对应数据的步骤,直至确定内存中的所有描述符均完成处理。
可选地,请求模块302,可以包括:
地址更新子模块,用于对描述符地址加预设数值。
可选地,初始化模块301,可以包括:
初始化子模块,用于从DMA控制器对应的寄存器中读取描述符地址,并利用描述符地址从AXI读通道向内存获取首个描述符。
可选地,请求模块302,可以包括:
数据请求子模块,用于从待处理描述符中提取源地址及数据长度,并根据源地址及数据长度向存储设备请求数据;
可选地,读写模块303,可以包括:
写入子模块,用于根据待处理描述符将存储设备发送的数据从AXI写通道写入内存;
响应接收子模块,用于当接收到内存通过AXI写通道发送的完成标识时,执行利用下一描述符更新待处理描述符的步骤。
可选地,写入子模块,可以包括:
写入单元,用于从待处理描述符中提取目标地址,并从AXI写通道将数据写入目标地址在内存中的对应位置。
可选地,循环模块304,可以包括:
判断子模块,用于判断待处理描述符中是否包含结束标识;
判定模块,用于若包含,则判定内存中的所有描述符均完成处理。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的数据传输方法的步骤。
由于计算机可读存储介质部分的实施例与数据传输方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见数据传输方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种数据传输方法、DMA控制器及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种数据传输方法,其特征在于,应用于DMA控制器,所述方法包括:
利用预存的描述符地址从AXI读通道向所述内存获取首个描述符,并将所述首个描述符设置为待处理描述符;
根据所述待处理描述符向存储设备请求对应数据,并更新所述描述符地址,利用更新后的描述符地址从所述AXI读通道向所述内存请求下一描述符;
根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,同时从所述AXI读通道接收所述内存发送的下一描述符;
利用所述下一描述符更新所述待处理描述符,并执行所述根据所述待处理描述符向存储设备请求对应数据的步骤,直至确定所述内存中的所有描述符均完成处理。
2.根据权利要求1所述的数据传输方法,其特征在于,所述更新所述描述符地址,包括:
对所述描述符地址加预设数值。
3.根据权利要求1所述的数据传输方法,其特征在于,所述利用预存的描述符地址从AXI读通道向所述内存获取首个描述符,包括:
从所述DMA控制器对应的寄存器中读取所述描述符地址,并利用所述描述符地址从所述AXI读通道向所述内存获取所述首个描述符。
4.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述待处理描述符向存储设备请求对应数据,包括:
从所述待处理描述符中提取源地址及数据长度,并根据所述源地址及所述数据长度向所述存储设备请求所述数据。
5.根据权利要求1所述的数据传输方法,其特征在于,所述根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,包括:
根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存;
当接收到所述内存通过所述AXI写通道发送的完成标识时,执行所述利用所述下一描述符更新所述待处理描述符的步骤。
6.根据权利要求5所述的数据传输方法,其特征在于,所述根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,包括:
从所述待处理描述符中提取目标地址,并从所述AXI写通道将所述数据写入目标地址在所述内存中的对应位置。
7.根据权利要求1所述的数据传输方法,其特征在于,所述确定所述内存中的所有描述符均完成处理,包括:
判断所述待处理描述符中是否包含结束标识;
若包含,则判定所述内存中的所有描述符均完成处理。
8.一种DMA控制器,其特征在于,包括:
初始化模块,用于利用预存的描述符地址从AXI读通道向所述内存获取首个描述符,并将所述首个描述符设置为待处理描述符;
请求模块,用于根据所述待处理描述符向存储设备请求对应数据,并更新所述描述符地址,利用更新后的描述符地址从所述AXI读通道向所述内存请求下一描述符;
读写模块,用于根据所述待处理描述符将所述存储设备发送的数据从AXI写通道写入所述内存,同时从所述AXI读通道接收所述内存发送的下一描述符;
循环模块,用于利用所述下一描述符更新所述待处理描述符,并执行所述根据所述待处理描述符向存储设备请求对应数据的步骤,直至确定所述内存中的所有描述符均完成处理。
9.根据权利要求8所述的DMA控制器,其特征在于,所述请求模块,包括:
地址更新子模块,用于对所述描述符地址加预设数值。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的数据传输方法。
CN202111204555.4A 2021-10-15 2021-10-15 一种数据传输方法、dma控制器及计算机可读存储介质 Pending CN113986533A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111204555.4A CN113986533A (zh) 2021-10-15 2021-10-15 一种数据传输方法、dma控制器及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111204555.4A CN113986533A (zh) 2021-10-15 2021-10-15 一种数据传输方法、dma控制器及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN113986533A true CN113986533A (zh) 2022-01-28

Family

ID=79738853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111204555.4A Pending CN113986533A (zh) 2021-10-15 2021-10-15 一种数据传输方法、dma控制器及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113986533A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443529A (zh) * 2022-04-02 2022-05-06 苏州浪潮智能科技有限公司 内存直接访问架构、系统、方法、电子设备和介质
CN114490468A (zh) * 2022-02-15 2022-05-13 广州彩熠灯光股份有限公司 数据写入方法、介质及电子设备
CN115086441A (zh) * 2022-06-09 2022-09-20 北京百度网讯科技有限公司 信息传输方法、装置、电子设备及存储介质
CN115344522A (zh) * 2022-10-14 2022-11-15 井芯微电子技术(天津)有限公司 消息转换通道、消息转换装置、电子设备和交换设备
CN115543877A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 一种pcie数据传输方法及相关装置
CN115563038A (zh) * 2022-10-24 2023-01-03 苏州雄立科技有限公司 基于dma控制器的数据处理系统、方法和数据处理设备
CN116166605A (zh) * 2023-04-26 2023-05-26 太初(无锡)电子科技有限公司 数据混合传输方法、装置、dma控制器、介质及系统
CN116893987A (zh) * 2023-09-11 2023-10-17 归芯科技(深圳)有限公司 硬件加速方法、硬件加速器及硬件加速系统
CN116974977A (zh) * 2023-07-26 2023-10-31 中科驭数(北京)科技有限公司 数据传输方法、装置、设备及存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490468B (zh) * 2022-02-15 2023-08-18 广州彩熠灯光股份有限公司 数据写入方法、介质及电子设备
CN114490468A (zh) * 2022-02-15 2022-05-13 广州彩熠灯光股份有限公司 数据写入方法、介质及电子设备
CN114443529A (zh) * 2022-04-02 2022-05-06 苏州浪潮智能科技有限公司 内存直接访问架构、系统、方法、电子设备和介质
CN115086441A (zh) * 2022-06-09 2022-09-20 北京百度网讯科技有限公司 信息传输方法、装置、电子设备及存储介质
CN115086441B (zh) * 2022-06-09 2024-03-19 北京百度网讯科技有限公司 信息传输方法、装置、电子设备及存储介质
CN115344522A (zh) * 2022-10-14 2022-11-15 井芯微电子技术(天津)有限公司 消息转换通道、消息转换装置、电子设备和交换设备
CN115344522B (zh) * 2022-10-14 2023-01-03 井芯微电子技术(天津)有限公司 消息转换通道、消息转换装置、电子设备和交换设备
CN115563038A (zh) * 2022-10-24 2023-01-03 苏州雄立科技有限公司 基于dma控制器的数据处理系统、方法和数据处理设备
CN115563038B (zh) * 2022-10-24 2023-11-07 苏州雄立科技有限公司 基于dma控制器的数据处理系统、方法和数据处理设备
CN115543877A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 一种pcie数据传输方法及相关装置
CN116166605A (zh) * 2023-04-26 2023-05-26 太初(无锡)电子科技有限公司 数据混合传输方法、装置、dma控制器、介质及系统
CN116974977A (zh) * 2023-07-26 2023-10-31 中科驭数(北京)科技有限公司 数据传输方法、装置、设备及存储介质
CN116893987A (zh) * 2023-09-11 2023-10-17 归芯科技(深圳)有限公司 硬件加速方法、硬件加速器及硬件加速系统
CN116893987B (zh) * 2023-09-11 2024-01-12 归芯科技(深圳)有限公司 硬件加速方法、硬件加速器及硬件加速系统

Similar Documents

Publication Publication Date Title
CN113986533A (zh) 一种数据传输方法、dma控制器及计算机可读存储介质
US20050262276A1 (en) Design method for implementing high memory algorithm on low internal memory processor using a direct memory access (DMA) engine
US11853767B2 (en) Inter-core data processing method, system on chip and electronic device
US8639840B2 (en) Processing unit, chip, computing device and method for accelerating data transmission
JP2006338538A (ja) ストリームプロセッサ
JP2010039645A (ja) 制御装置、情報処理装置、及びメモリモジュール認識方法
US9330033B2 (en) System, method, and computer program product for inserting a gap in information sent from a drive to a host device
CN112506827A (zh) 一种基于adma控制器的数据传输方法、装置及设备
CN107197000B (zh) 静态动态混合缓存方法、装置及系统
WO2017147794A1 (zh) 差异数据备份的方法和设备
CN111782027B (zh) Ddr存储器运行频率调整方法及装置
CN112799723A (zh) 一种数据读取方法、装置及电子设备
CN116225999B (zh) 一种dma数据传输方法及系统
US20140006645A1 (en) Emulated keyboard controller and embedded controller interface via an interconnect interface
US8803900B2 (en) Synchronization with semaphores in a multi-engine GPU
US10664418B2 (en) Peripheral device controlling device, operation method thereof, and operation method of peripheral device controlling device driver
EP3110088B1 (en) Packet data processing method, device and system
US10042774B2 (en) Method and apparatus for masking and transmitting data
US20190364134A1 (en) Data processing method and apparatus for client
US7054971B2 (en) Interface between a host and a slave device having a latency greater than the latency of the host
KR102287300B1 (ko) 데이터 처리 아키텍쳐 및 데이터 처리 방법
CN110764710A (zh) 低延迟高iops的数据访问方法与存储系统
CN112115096A (zh) 一种基于嵌入式微处理器的数据传输控制方法
CN108762666B (zh) 一种存储系统的访问方法、系统、介质及设备
JP7312022B2 (ja) 通信装置、及び、通信方法

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