CN111352869B - 一种数据传输方法及装置、存储介质 - Google Patents
一种数据传输方法及装置、存储介质 Download PDFInfo
- Publication number
- CN111352869B CN111352869B CN201811584995.5A CN201811584995A CN111352869B CN 111352869 B CN111352869 B CN 111352869B CN 201811584995 A CN201811584995 A CN 201811584995A CN 111352869 B CN111352869 B CN 111352869B
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- module
- source
- target
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 76
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 74
- 238000006243 chemical reaction Methods 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 19
- 238000013500 data storage Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 17
- 238000004891 communication Methods 0.000 claims description 11
- 230000009977 dual effect Effects 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明实施例公开了一种数据传输方法及装置、存储介质,该方法包括:获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式;所述搬运参数包括目标地址、源地址和数据搬运长度;在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令;响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据;将所述待传输数据搬运到所述目标地址对应的目标设备中。
Description
技术领域
本发明涉及通讯技术,尤其涉及一种数据传输方法及装置、存储介质。
背景技术
目前在通讯技术中,片上系统(SOC,System on Chip)芯片主要使用位于芯片外部的双数据速率(DDR,Double-Data-Rate)存储器来存储芯片数据和芯片程序,当SOC芯片内的处理器或功能单元作为主设备,发起对DDR存储器的数据传输请求时,由SOC芯片内的处理器控制SOC芯片内的DDR控制器,使其通过连接DDR存储器的物理层接口对DDR存储器进行访问,完成主设备与DDR存储器之间的数据传输,其中,DDR存储器的接口访问速率不断被提高的同时,DDR控制器对DDR存储器的访问延时也不断增大,进而导致DDR控制器实现的数据传输速率降低。
发明内容
本发明的主要目的在于提出一种数据传输方法及装置、存储介质,能够在不增加控制器的设计复杂度的情况下,提高控制器对存储器的数据读写效率。
本发明的技术方案是这样实现的:
本发明实施例提供了一种数据传输方法,所述方法包括:
获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式;所述搬运参数包括目标地址、源地址和数据搬运长度;
在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令;
响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据;
将所述待传输数据搬运到所述目标地址对应的目标设备中。
上述方案中,所述获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式,包括:
获取所述搬运参数;
根据所述搬运参数,对直接内存存取模块进行配置,实现所述直接内存存取模块启动所述数据搬运模式的功能。
上述方案中,所述在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令,包括:
在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过总线连接的设备时,向所述源设备发送所述读指令。
上述方案中,所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,所述方法还包括:
对所述待传输数据进行缓存,得到缓存后的待传输数据;
对所述缓存后的待传输数据进行仲裁,得到仲裁后的待传输数据;
根据所述目标设备对应的预设物理层接口协议,对所述仲裁后的待传输数据进行协议转换,得到转换后的待传输数据。
上述方案中,所述将所述待传输数据搬运到所述目标地址对应的目标设备中,包括:
通过连接所述目标设备的物理层接口,向所述目标设备发送所述转换后的待传输数据。
上述方案中,所述预设物理层接口协议包括双数据速率的物理层接口协议。
上述方案中,所述在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令,包括:
在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过物理层接口连接的设备时,对所述读指令进行缓存,得到缓存后的读指令;
对所述缓存后的读指令进行仲裁,得到仲裁后的读指令;
根据所述物理层接口对应的预设物理层接口协议,对所述仲裁后的读指令进行协议转换,得到转换后的读指令;
向所述源设备发送所述转换后的读指令。
上述方案中,所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,所述方法还包括:
根据所述目标设备对应的预设总线协议,对所述待传输数据进行协议转换,得到转换后的待传输数据;
对所述转换后的源数据依次进行仲裁,得到仲裁后的待传输数据;
对所述仲裁后的待传输数据进行缓存,得到缓存后的待传输数据。
上述方案中,所述将所述待传输数据搬运到所述目标地址对应的目标设备中,包括:
通过连接所述目标设备的总线,向所述目标设备发送所述缓存后的待传输数据。
本发明实施例提供了一种数据传输装置,所述装置包括:配置管理模块和数据搬运模块;其中,
所述配置管理模块,用于获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式;所述搬运参数包括目标地址、源地址和数据搬运长度;
所述数据搬运模块,用于在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令;及响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据;以及将所述待传输数据搬运到所述目标地址对应的目标设备中。
上述方案中,所述数据搬运模块包括直接内存存取模块;
所述配置管理模块,具体用于获取所述搬运参数;以及根据所述搬运参数,对所述直接内存存取模块进行配置,实现所述直接内存存取模块启动所述数据搬运模式的功能。
上述方案中,所述数据搬运模块,具体用于在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过总线连接的设备时,向所述源设备发送所述读指令。
上述方案中,所述装置还包括:
数据存储模块,用于在所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,对所述待传输数据进行缓存,得到缓存后的待传输数据;
队列处理模块,用于对所述缓存后的待传输数据进行仲裁,得到仲裁后的待传输数据;
协议数据转换模块,用于根据所述目标设备对应的预设物理层接口协议,对所述仲裁后的待传输数据进行协议转换,得到转换后的待传输数据。
上述方案中,所述数据搬运模块,具体用于通过连接所述目标设备的物理层接口,向所述目标设备发送所述转换后的待传输数据。
上述方案中,所述预设物理层接口协议包括双数据速率的物理层接口协议。
上述方案中,所述装置还包括:
指令存储模块,用于所述数据搬运模块在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过物理层接口连接的设备时,对所述读指令进行缓存,得到缓存后的读指令;
队列处理模块,用于对所述缓存后的读指令进行仲裁,得到仲裁后的读指令;
协议数据转换模块,用于根据所述物理层接口对应的预设物理层接口协议,对所述仲裁后的读指令进行协议转换,得到转换后的读指令;向所述源设备发送所述转换后的读指令。
上述方案中,所述协议数据转换模块,还用于在所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,根据所述目标设备对应的预设总线协议,对所述待传输数据进行协议转换,得到转换后的待传输数据;
所述队列处理模块,还用于对所述转换后的源数据依次进行仲裁,得到仲裁后的待传输数据;
所述装置还包括:数据存储模块,用于对所述仲裁后的待传输数据进行缓存,得到缓存后的待传输数据。
上述方案中,所述数据搬运模块,具体用于通过连接所述目标设备的总线,向所述目标设备发送所述缓存后的待传输数据。
本发明实施例还提供了一种数据传输装置,所述装置包括:处理器、存储器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的一个或者多个程序,当所述一个或者多个程序被执行时,通过所述处理器执行上述任一项数据传输方法的步骤。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,导致所述处理器执行上述任一项数据传输方法的步骤。
本发明实施例提供一种数据传输方法及装置、存储介质,获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式;所述搬运参数包括目标地址、源地址和数据搬运长度;在所述数据搬运模式下向所述源地址发出读指令,以获得来自所述源地址的数据;根据所述数据搬运长度,将所述数据搬运到所述目标地址。采用上述技术实现方案,启动数据搬运模式,按照数据搬运模式对应的数据搬运长度,将来自源地址的数据搬运到目标地址,由于数据搬运长度能够决定数据搬运效率,那么启动数据搬运模式,就能够按照较大的数据搬运速率对数据进行搬运,进而提高了源地址和目标地址之间的数据传输速率。
附图说明
图1为本发明实施例提供的一种数据传输系统的连接示意图;
图2为本发明实施例提供的一种数据传输方法的流程图;
图3为本发明实施例提供的一种DDR控制器的连接示意图;
图4为本发明实施例提供的一种数据传输装置的结构示意图一;
图5为本发明实施例提供的一种数据传输装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
下面参见图1,其为实现本发明各个实施例的一种数据传输系统的连接示意图,该系统1包括:内存模块10、SOC芯片11和存储器12;其中,内存模块10为位于SOC芯片11外围的数据存储模块;SOC芯片11包括功能模块110、处理器111和数据传输单元112,功能模块110为执行特定功能的模块,处理器111包括CPU和数字信号处理(DSP,Digital SignalProcessing)芯片,数据传输单元112为控制存储器12的单元,例如,数据传输单元112可以为DDR控制器,与DDR控制器对应的存储器12为DDR存储器,DDR存储器可以为同步动态随机存储器(SDRAM,Synchronous Dynamic Random Access Memory)、DDR2、DDR3、DDR4或DDR5。
需要说明的是,功能模块110或处理器111作为主设备,对应地,数据传输单元112作为从设备,实现对存储器12进行数据读出或数据写入。
需要说明的是,本发明实施例可以基于图1所示的通信系统所实现,数据传输装置为数据传输单元112。
本领域技术人员可以理解,图1中示出的通信系统的结构并不构成对数据传输系统的限定,数据传输系统可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
实施例一
本发明实施例一提供一种数据传输方法,如图2所示,该方法包括:
S201:获取数据搬运模式对应的搬运参数,并启动数据搬运模式;搬运参数包括目标地址、源地址和数据搬运长度。
数据传输装置连接的处理器确定数据传输请求发生时,处理器可以开启数据搬运模式来实现数据传输,具体地,处理器向数据传输装置发送数据传输指令,数据传输装置接收到处理器发出的数据传输指令,从数据传输指令中获取搬运参数,根据搬运参数对数据传输装置中的数据搬运模块进行配置,实现数据搬运模块启动数据搬运模式的功能。
示例性地,处理器确定数据传输请求发生时,或者接收到功能模块的数据传输请求后确定数据传输请求发生时,处理器根据数据传输请求,确定源地址和目标地址;例如,将数据传输请求中的数据读取对象的地址确定为源地址,将数据传输请求中的数据写入对象的地址确定为目标地址。
在一些实施例中,获取数据搬运模式对应的搬运参数,并启动数据搬运模式,包括:获取搬运参数;根据搬运参数,对直接内存存取模块进行配置,实现直接内存存取模块启动数据搬运模式的功能。
示例性地,数据传输装置可以为DDR控制器,DDR控制器包括配置管理模块,配置管理模块通过配置接口接收数据传输指令,从数据传输指令中获取搬运参数,配置管理模块根据搬运参数,对数据搬运模块进行配置,数据搬运模块包括直接内存存取(DirectMemory Access,DMA)模块。
示例性地,搬运参数可以包括源地址、目标地址、搬运数据长度和DMA使能参数,配置管理模块根据DMA使能参数,对DMA模块进行使能,并根据源地址、目标地址和搬运数据长度,对DMA模块进行配置。
在一些实施例中,数据传输装置从数据传输指令中还获取模块参数,根据模块参数对数据传输装置中的其他模块进行配置,以使得其他模块配合数据搬运模块进行数据传输。
示例性地,以DDR控制器为例,其他模块包括数据存储模块、指令存储模块、队列处理模块和协议数据转换模块,模块参数用于表征其他模块中每个模块对应的参数,模块参数包括:数据存储模块对应的读写数据通道参数、指令存储模块对应的读写指令通道参数、队列处理模块对应的仲裁策略和协议数据转换模块对应的协议转换参数;其中,协议转换参数可以包括总线协议和DDR控制器的物理层接口协议;配置管理模块根据模块参数,对其他模块进行配置。
在一些实施例中,数据传输装置连接的处理器确定数据传输请求发生时,处理器可以关闭数据搬运模式,以DDR控制器为例,配置管理模块从数据传输指令中获取搬运参数和模块参数,搬运参数为DMA非使能参数,配置管理模块根据DMA非使能参数,对DMA模块进行非使能控制,以使得DMA模块关闭数据搬运功能、启动数据直通功能;处理器根据数据传输请求,确定源地址和目标地址,并控制待传输数据从源地址向目标地址的传输。
在一些实施例中,以DDR控制器为例,参见图3所示的一种DDR控制器的连接示意图,该DDR控制器2包括:配置管理模块21、DMA模块22、数据存储模块23、指令存储模块24、队列处理模块25和协议数据转换模块26;其中,DMA模块22通过总线与内存模块连接,总线可以为高级可拓展接口(AXI,Advanced eXtensible Interface),总线包括读数据总线、写数据总线、读指令总线和写指令总线;协议数据装换模块26通过物理层接口与DDR存储器连接,物理层接口为双数据速率的物理层接口(DFI,DDR PHY Interface),物理层接口包括读数据物理层接口、写数据物理层接口、读指令物理层接口和写指令物理层接口;配置管理模块21通过配置接口与处理器连接,配置接口为高级外围总线(APB,Advanced PeripheralBus),配置接口包括数据配置接口和指令数据接口;DDR控制器2的模块连接关系为:DMA模块22的一端通过总线连接内存模块,DMA模块22的另一端连接数据存储模块23的一端和指令存储模块24的一端,数据存储模块23的另一端和指令存储模块24的另一端连接队列处理模块25的一端,队列处理模块25的另一端连接协议数据转换模块26的一端,协议数据转换模块26的另一端通过物理层接口连接DDR存储器。
示例性地,总线协议包括AXI协议,物理层接口协议包括DFI协议。
需要说明的是,图3所示的DMA模块在DDR控制器的位置,相较于将DMA模块设置在队列处理模块或协议转换模块中,图3所示的DDR控制器的设计复杂度降低;同时,相较于将DMA模块设置在DDR控制器外部,图3所示的DDR控制器的内部设置DMA模块,减少了DMA控制器实现数据传输时跨越的总线,减小了数据传输延时。
S202:在数据搬运模式下,根据源地址,向源地址对应的源设备发出读指令。
在数据搬运模式下,数据传输装置中的数据搬运模块启动数据搬运模式时,由数据搬运模块向源地址对应的源设备发送读指令,以使得源设备基于读指令返回待传输数据。
在一些实施例中,在数据搬运模式下,根据源地址,向源地址对应的源设备发出读指令,包括:在数据搬运模式下,根据源地址,判断出源设备为通过总线连接的设备时,向源设备发送读指令。
示例性地,以DDR控制器2为例,基于上述DDR控制器2的模块连接关系,DDR控制器2中的DMA模块22通过总线连接内存模块,DDR控制器2通过物理层接口连接DDR存储器,DMA模块22根据源地址判断出源设备为通过总线连接的设备,即源设备不是DDR存储器,而是内存模块时,DMA模块22通过总线,直接向内存模块发送读指令。
在一些实施例中,在数据搬运模式下,根据源地址,向源地址对应的源设备发出读指令,包括:在数据搬运模式下,根据源地址,判断出源设备为通过物理层接口连接的设备时,对读指令进行缓存,得到缓存后的读指令;对缓存后的读指令进行仲裁,得到仲裁后的读指令;根据物理层接口对应的预设物理层接口协议,对仲裁后的读指令进行协议转换,得到转换后的读指令;向源设备发送转换后的读指令;预设物理层接口协议包括DFI协议。
示例性地,以DDR控制器2为例,基于上述DDR控制器2的模块连接关系,DDR控制器2中的DMA模块22的一端通过总线连接内存模块,DMA模块22的另一端间接地通过物理层接口连接DDR存储器,DMA模块22根据源地址判断出源设备为通过物理接口连接的设备,即源设备不是内存模块,而是DDR存储器时,DMA模块22向指令存储模块24发送读指令,指令存储模块24对读指令进行缓存,得到缓存后的指令,并将缓存后的指令发送至队列处理模块25;队列处理模块25对缓存后的读指令进行仲裁,得到仲裁后的读指令,并将仲裁后的读指令发送至协议数据转换模块26;协议数据转换模块26根据物理层接口对应的预设物理层接口协议,对仲裁后的读指令进行协议转换,得到转换后的读指令;通过物理层接口向源设备发送转换后的读指令。
S203:响应读指令,从源设备中读取数据搬运长度的待传输数据。
数据传输装置中的数据搬运模块向源地址对应的源设备发送读指令后,源设备基于读指令,按照源设备对应的数据传输长度返回待传输数据,数据传输装置接收待传输数据,直至读取到数据搬运长度的待传输数据。
S204:将待传输数据搬运到目标地址对应的目标设备中。
数据传输装置向目标地址对应的目标设备发送写指令和待传输数据,实现将待传输数据搬运到目标设备。
需要说明的是,根据源地址,判断出源设备为通过总线连接的设备时,在步骤S203之后,且步骤S204之前,方法还包括:对待传输数据进行缓存,得到缓存后的待传输数据;对缓存后的待传输数据进行仲裁,得到仲裁后的待传输数据;根据目标设备对应的预设物理层接口协议,对仲裁后的待传输数据进行协议转换,得到转换后的待传输数据。
示例性地,以DDR控制器2为例,基于上述DDR控制器2的模块连接关系,DMA模块22判断出源设备为通过总线连接的设备,即源设备不是DDR存储器,而是内存模块,DMA模块22从内存模块获取待传输数据之后,DMA模块22向指令存储模块24发送写指令,指令存储模块24对读指令进行缓存,得到缓存后的指令,并将缓存后的指令发送至队列处理模块25;DMA模块22还向数据存储模块23发送待传输数据,数据存储模块23对待传输数据进行缓存,得到缓存后的待传输数据,并将缓存后的待传输数据发送至队列处理模块25;队列处理模块25对缓存后的指令和缓存后的待传输数据进行仲裁,得到仲裁后的读指令和仲裁后的待传输数据,并将仲裁后的读指令和仲裁后的待传输数据发送至协议数据转换模块26;协议数据转换模块26根据物理层接口对应的预设物理层接口协议,对仲裁后的读指令和仲裁后的待传输数据进行协议转换,得到转换后的读指令和转换后的待传输数据。
在一些实施例中,步骤S204中的将待传输数据搬运到目标地址对应的目标设备中,包括:通过连接目标设备的物理层接口,向目标设备发送转换后的待传输数据。
示例性地,数据传输装置中的协议数据转换模块26,通过物理层接口向目标设备发送转换后的读指令和转换后的待传输数据。
需要说明的是,根据源地址,判断出源设备为通过物理层接口连接的设备时,在步骤S203之后,且步骤S204之前,方法还包括:根据目标设备对应的预设总线协议,对待传输数据进行协议转换,得到转换后的待传输数据;对转换后的源数据依次进行仲裁,得到仲裁后的待传输数据;对仲裁后的待传输数据进行缓存,得到缓存后的待传输数据。
示例性地,以DDR控制器2为例,基于上述DDR控制器2的模块连接关系,DMA模块22判断出源设备为通过物理接口连接的设备,即源设备不是内存模块,而是DDR存储器,协议数据转换模块26从DDR存储器获取待传输数据之后,协议数据转换模块26根据预设物理层接口协议,对待传输数据进行协议转换,得到转换后的待传输数据,将转换后的待传输数据发送至队列处理模块25;队列处理模块25对转换后的待传输数据进行仲裁,得到仲裁后的待传输数据,并将仲裁后的待传输数据发送至数据存储模块23;数据存储模块23对仲裁后的待传输数据进行缓存,得到缓存后的待传输数据,并将缓存后的待传输数据发送至DMA模块22。
在一些实施例中,步骤S204中的将待传输数据搬运到目标地址对应的目标设备中,包括:通过连接目标设备的总线,向目标设备发送缓存后的待传输数据。
示例性地,DMA模块22,通过总线向目标设备发送缓存后的待传输数据。
可以理解的是,数据传输装置启动数据搬运模式,按照数据搬运模式对应的数据搬运长度,将来自源地址的数据搬运到目标地址,由于数据搬运长度能够决定数据搬运效率,那么启动数据搬运模式,就能够按照较大的数据搬运速率对数据进行搬运,进而提高了源地址和目标地址之间的数据传输速率。
实施例二
基于实施例一的同一发明构思,进行进一步的说明。
本发明实施例二提供一种数据传输装置4,如图4所示,该装置4包括:配置管理模块41和数据搬运模块42;其中,
所述配置管理模块41,用于获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式;所述搬运参数包括目标地址、源地址和数据搬运长度;
所述数据搬运模块,用于在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令;及响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据;以及将所述待传输数据搬运到所述目标地址对应的目标设备中。
在一些实施例中,所述数据搬运模块包括直接内存存取模块;
所述配置管理模块41,具体用于获取所述搬运参数;以及根据所述搬运参数,对所述直接内存存取模块进行配置,实现所述直接内存存取模块启动所述数据搬运模式的功能。
在一些实施例中,所述数据搬运模块42,具体用于在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过总线连接的设备时,向所述源设备发送所述读指令。
在一些实施例中,所述装置还包括:
数据存储模块43,用于在所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,对所述待传输数据进行缓存,得到缓存后的待传输数据;
队列处理模块45,用于对所述缓存后的待传输数据进行仲裁,得到仲裁后的待传输数据;
协议数据转换模块46,用于根据所述目标设备对应的预设物理层接口协议,对所述仲裁后的待传输数据进行协议转换,得到转换后的待传输数据。
在一些实施例中,所述数据搬运模块,具体用于通过连接所述目标设备的物理层接口,向所述目标设备发送所述转换后的待传输数据。
在一些实施例中,所述预设物理层接口协议包括双数据速率的物理层接口协议。
在一些实施例中,所述装置还包括:
指令存储模块44,用于所述数据搬运模块在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过物理层接口连接的设备时,对所述读指令进行缓存,得到缓存后的读指令;
队列处理模块45,用于对所述缓存后的读指令进行仲裁,得到仲裁后的读指令;
协议数据转换模块46,用于根据所述物理层接口对应的预设物理层接口协议,对所述仲裁后的读指令进行协议转换,得到转换后的读指令;向所述源设备发送所述转换后的读指令。
在一些实施例中,所述协议数据转换模块46,还用于在所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,根据所述目标设备对应的预设总线协议,对所述待传输数据进行协议转换,得到转换后的待传输数据;
所述队列处理模块45,还用于对所述转换后的源数据依次进行仲裁,得到仲裁后的待传输数据;
所述装置还包括:数据存储模块43,用于对所述仲裁后的待传输数据进行缓存,得到缓存后的待传输数据。
在一些实施例中,所述数据搬运模块42,具体用于通过连接所述目标设备的总线,向所述目标设备发送所述缓存后的待传输数据。
需要说明的是,在实际应用中,上述配置管理模块41、数据搬运模块42、数据存储模块43、指令存储模块44、队列处理模块45和协议数据转换模块46,可由位于数据传输装置4上的处理器47实现,具体为CPU(Central Processing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital Spinal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
本发明实施例还提供了一种数据传输装置4,如图5所示,该装置4包括:处理器47、存储器48和通信总线49,存储器48通过通信总线49与处理器47进行通信,存储器48存储处理器47可执行的一个或者多个程序,当一个或者多个程序被执行时,通过处理器47执行如前述实施例所述的任意一种数据传输方法。
在实际应用中,存储器48可以是易失性第一存储器(volatile memory),例如随机存取第一存储器(Random-Access Memory,RAM);或者非易失性第一存储器(non-volatilememory),例如只读第一存储器(Read-Only Memory,ROM),快闪第一存储器(flashmemory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的第一存储器的组合,并向处理器47提供程序和数据。
本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有程序,当所述程序被处理器47执行时,导致所述处理器47执行前述实施例所述的任意一种数据传输方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (20)
1.一种数据传输方法,其特征在于,应用于数据传输装置,所述数据传输装置包括直接内存存取DMA模块,所述方法包括:
获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式;所述搬运参数包括目标地址、源地址、数据搬运长度和DMA非使能参数,所述DMA非使能参数用于对所述DMA模块进行非使能控制,以使所述DMA模块关闭所述数据搬运模式,启动数据直通功能,并基于所述数据直通功能传输数据;
在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令;
响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据;
将所述待传输数据搬运到所述目标地址对应的目标设备中。
2.根据权利要求1所述的方法,其特征在于,所述获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式,包括:
获取所述搬运参数;
根据所述搬运参数,对直接内存存取模块进行配置,实现所述直接内存存取模块启动所述数据搬运模式的功能。
3.根据权利要求1所述的方法,其特征在于,所述在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令,包括:
在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过总线连接的设备时,向所述源设备发送所述读指令。
4.根据权利要求3所述的方法,其特征在于,所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,所述方法还包括:
对所述待传输数据进行缓存,得到缓存后的待传输数据;
对所述缓存后的待传输数据进行仲裁,得到仲裁后的待传输数据;
根据所述目标设备对应的预设物理层接口协议,对所述仲裁后的待传输数据进行协议转换,得到转换后的待传输数据。
5.根据权利要求4所述的方法,其特征在于,所述将所述待传输数据搬运到所述目标地址对应的目标设备中,包括:
通过连接所述目标设备的物理层接口,向所述目标设备发送所述转换后的待传输数据。
6.根据权利要求4所述的方法,其特征在于,所述预设物理层接口协议包括双数据速率的物理层接口协议。
7.根据权利要求1所述的方法,其特征在于,所述在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令,包括:
在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过物理层接口连接的设备时,对所述读指令进行缓存,得到缓存后的读指令;
对所述缓存后的读指令进行仲裁,得到仲裁后的读指令;
根据所述物理层接口对应的预设物理层接口协议,对所述仲裁后的读指令进行协议转换,得到转换后的读指令;
向所述源设备发送所述转换后的读指令。
8.根据权利要求7所述的方法,其特征在于,所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,所述方法还包括:
根据所述目标设备对应的预设总线协议,对所述待传输数据进行协议转换,得到转换后的待传输数据;
对所述转换后的源数据依次进行仲裁,得到仲裁后的待传输数据;
对所述仲裁后的待传输数据进行缓存,得到缓存后的待传输数据。
9.根据权利要求8所述的方法,其特征在于,所述将所述待传输数据搬运到所述目标地址对应的目标设备中,包括:
通过连接所述目标设备的总线,向所述目标设备发送所述缓存后的待传输数据。
10.一种数据传输装置,其特征在于,所述装置包括:配置管理模块、数据搬运模块和直接内存存取DMA模块;
所述配置管理模块,用于获取数据搬运模式对应的搬运参数,并启动所述数据搬运模式;所述搬运参数包括目标地址、源地址和数据搬运长度和DMA非使能参数,所述DMA非使能参数用于对所述DMA模块进行非使能控制,以使所述DMA模块关闭所述数据搬运模式,启动数据直通功能,并基于所述数据直通功能传输数据;
所述数据搬运模块,用于在所述数据搬运模式下,根据源地址,向所述源地址对应的源设备发出读指令;及响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据;以及将所述待传输数据搬运到所述目标地址对应的目标设备中。
11.根据权利要求10所述的装置,其特征在于,所述数据搬运模块包括直接内存存取模块;
所述配置管理模块,具体用于获取所述搬运参数;以及根据所述搬运参数,对所述直接内存存取模块进行配置,实现所述直接内存存取模块启动所述数据搬运模式的功能。
12.根据权利要求10所述的装置,其特征在于,
所述数据搬运模块,具体用于在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过总线连接的设备时,向所述源设备发送所述读指令。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
数据存储模块,用于在所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,对所述待传输数据进行缓存,得到缓存后的待传输数据;
队列处理模块,用于对所述缓存后的待传输数据进行仲裁,得到仲裁后的待传输数据;
协议数据转换模块,用于根据所述目标设备对应的预设物理层接口协议,对所述仲裁后的待传输数据进行协议转换,得到转换后的待传输数据。
14.根据权利要求13所述的装置,其特征在于,
所述数据搬运模块,具体用于通过连接所述目标设备的物理层接口,向所述目标设备发送所述转换后的待传输数据。
15.根据权利要求13所述的装置,其特征在于,所述预设物理层接口协议包括双数据速率的物理层接口协议。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:
指令存储模块,用于所述数据搬运模块在所述数据搬运模式下,根据所述源地址,判断出所述源设备为通过物理层接口连接的设备时,对所述读指令进行缓存,得到缓存后的读指令;
队列处理模块,用于对所述缓存后的读指令进行仲裁,得到仲裁后的读指令;
协议数据转换模块,用于根据所述物理层接口对应的预设物理层接口协议,对所述仲裁后的读指令进行协议转换,得到转换后的读指令;向所述源设备发送所述转换后的读指令。
17.根据权利要求16所述的装置,其特征在于,
所述协议数据转换模块,还用于在所述响应所述读指令,从所述源设备中读取所述数据搬运长度的待传输数据之后,且所述将所述待传输数据搬运到所述目标地址对应的目标设备中之前,根据所述目标设备对应的预设总线协议,对所述待传输数据进行协议转换,得到转换后的待传输数据;
所述队列处理模块,还用于对所述转换后的源数据依次进行仲裁,得到仲裁后的待传输数据;
所述装置还包括:数据存储模块,用于对所述仲裁后的待传输数据进行缓存,得到缓存后的待传输数据。
18.根据权利要求17所述的装置,其特征在于,
所述数据搬运模块,具体用于通过连接所述目标设备的总线,向所述目标设备发送所述缓存后的待传输数据。
19.一种数据传输装置,其特征在于,所述装置包括:处理器、存储器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的一个或者多个程序,当所述一个或者多个程序被执行时,通过所述处理器执行权利要求1至9任一项所述方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,导致所述处理器执行权利要求1至9任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584995.5A CN111352869B (zh) | 2018-12-24 | 2018-12-24 | 一种数据传输方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811584995.5A CN111352869B (zh) | 2018-12-24 | 2018-12-24 | 一种数据传输方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352869A CN111352869A (zh) | 2020-06-30 |
CN111352869B true CN111352869B (zh) | 2024-05-07 |
Family
ID=71196770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811584995.5A Active CN111352869B (zh) | 2018-12-24 | 2018-12-24 | 一种数据传输方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352869B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947857B (zh) * | 2021-02-25 | 2023-02-28 | 山东英信计算机技术有限公司 | 一种数据搬移方法、装置、设备及计算机可读存储介质 |
CN113360424B (zh) * | 2021-06-16 | 2024-01-30 | 上海创景信息科技有限公司 | 基于多通路独立axi总线的rldram3控制器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591824A (zh) * | 2011-12-27 | 2012-07-18 | 深圳国微技术有限公司 | Soc芯片系统中控制保密数据搬运的dma控制器 |
CN104461970A (zh) * | 2013-09-18 | 2015-03-25 | 中兴通讯股份有限公司 | Dma控制器、移动终端以及数据搬运方法 |
-
2018
- 2018-12-24 CN CN201811584995.5A patent/CN111352869B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591824A (zh) * | 2011-12-27 | 2012-07-18 | 深圳国微技术有限公司 | Soc芯片系统中控制保密数据搬运的dma控制器 |
CN104461970A (zh) * | 2013-09-18 | 2015-03-25 | 中兴通讯股份有限公司 | Dma控制器、移动终端以及数据搬运方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111352869A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016127552A1 (zh) | 一种直接内存存取dma控制器及数据传输的方法 | |
CN101324869B (zh) | 一种基于axi总线的多路复用器 | |
US9196321B2 (en) | On-die termination apparatuses and methods | |
US9378132B2 (en) | System and method for scanning flash memories | |
KR20110058028A (ko) | 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법 | |
US9535607B2 (en) | Semiconductor system performing status read for semiconductor device and operating method thereof | |
CN111352869B (zh) | 一种数据传输方法及装置、存储介质 | |
US9734102B2 (en) | Data transfer | |
CN109902042B (zh) | 一种实现dsp与zynq之间高速数据传输的方法及系统 | |
US10146475B2 (en) | Memory device performing control of discarding packet | |
KR20190088734A (ko) | 메모리 인터페이스와, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
US20180120918A1 (en) | Storage device and method of controlling link state thereof | |
CN106775477B (zh) | Ssd主控数据传输管理装置及方法 | |
US7484030B2 (en) | Storage controller and methods for using the same | |
KR20180023311A (ko) | 데이터 저장 장치 | |
WO2019141050A1 (zh) | 一种刷新处理方法、装置、系统及内存控制器 | |
US8891523B2 (en) | Multi-processor apparatus using dedicated buffers for multicast communications | |
US20130282971A1 (en) | Computing system and data transmission method | |
CN114078497A (zh) | 包括可重新配置的通道的存储器接口的系统、装置和方法 | |
US20120159024A1 (en) | Semiconductor apparatus | |
KR20050035836A (ko) | 다중 낸드 플래시 메모리 인터페이스 장치 | |
US10489319B2 (en) | Automatic transmission of dummy bits in bus master | |
US20160098375A1 (en) | Initiating multiple data transactions on a system bus | |
US10489318B1 (en) | Scatter-gather approach for parallel data transfer in a mass storage system | |
US8301816B2 (en) | Memory access controller, system, and method |
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 |