CN108804343B - 嵌入式存储接口数据传输方法、装置、计算机设备及介质 - Google Patents
嵌入式存储接口数据传输方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN108804343B CN108804343B CN201810480029.2A CN201810480029A CN108804343B CN 108804343 B CN108804343 B CN 108804343B CN 201810480029 A CN201810480029 A CN 201810480029A CN 108804343 B CN108804343 B CN 108804343B
- Authority
- CN
- China
- Prior art keywords
- unit
- dma
- data
- data transmission
- cache
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 69
- 238000011084 recovery Methods 0.000 claims abstract description 47
- 238000004064 recycling Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims abstract description 11
- 238000012546 transfer Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 abstract description 12
- 238000007726 management method Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 15
- 230000005055 memory storage Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及嵌入式存储接口数据传输方法、装置、计算机设备及介质,该方法包括设置缓存区管理模块;获取需要传输的数据,进行数据传输;将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息;根据相关信息,回收已传输的数据;重置缓存区管理模块的管理信息。本发明通过设置在缓存单元形成列队中设置算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置,利用这四个位置与DMA数据传输完成线配合的方式,进行数据传输、已完成传输数据量的计算,且驱动算法模块与缓存区管理单元的处理流程同步并行处理,实现提高存储系统的带宽。
Description
技术领域
本发明涉及存储器,更具体地说是指嵌入式存储接口数据传输方法、装置、计算机设备及介质。
背景技术
闪存存储系统中接口和主机进行的数据传输,有两个信息是必须提供的,一个是数据块的起始逻辑地址,另一个是数据块的大小,但是在eMMC和TF卡中,多块数据传输有个特殊的场景,它没有提供数据块的大小,主机要求eMMC或TF卡的接口IP一直进行数据传输,直到接收到主机发出的停止数据传输的命令。
不带计算模块的多块数据读写是困扰嵌入式存储接口数据传输的一大技术点,由于不知道主机期望的真实数据大小,固件算法无法判断命令何时结束、传输多少数据结束,只有额外准备子命令节点和数据,直到接收到主机下发的停止数据传输命令,如图1所示,整个通路上包含三种状态的子命令节点:已写入NAND Flash的节点、对应数据已完成传输但是未写入NAND Flash的节点和数据未完成传输的节点,数据缓存区也存在三种状态的缓存单元:已完成数据传输的单元、等待数据传输的单元和空闲单元。当未接收到停止数据传输命令前,这三种节点和缓存单元循环分配、使用和完成,推动主机读写命令的完成;当收到停止数据传输命令时,已完成的子命令节点需要完成回收,未完成但需要完成的子命令节点需继续完成,额外的子命令节点则需要丢弃;同样地,对于数据缓存区,已完成部分需要等待相应模块取走数据,而额外等待数据传输部分则也需要丢弃,如何快速完成丢弃部分的子命令节点和缓存单元,直接影响命令处理效率,进而影响存储系统的带宽。现有技术是将丢弃的命令节点依次回收,而对于数据缓存区则是采用在处理完数据后,直接重置缓存区带有很强的同步,在小文件的测试模型下,存储系统的性能会非常受影响,会极大影响数据传输模块的兼容性和效率,进而影响整个系统的带宽。
因此,有必要设计一种新的数据传输方法,实现提高存储系统的带宽。
发明内容
本发明的目的在于克服现有技术的缺陷,提供嵌入式存储接口数据传输方法、装置、计算机设备及介质。
为实现上述目的,本发明采用以下技术方案:嵌入式存储接口数据传输方法,所述方法包括:
设置缓存区管理模块;
获取需要传输的数据,进行数据传输;
将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息;
根据相关信息,回收已传输的数据;
重置缓存区管理模块的管理信息。
其进一步技术方案为:设置缓存区管理模块的步骤中,所述缓存区管理模块包括算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置、DMA回收缓存单元的位置以及DMA数据传输完成线中至少一个。
其进一步技术方案为:获取需要传输的数据,进行数据传输的步骤,包括以下具体步骤:
获取数据传输请求;
对DMA进行配置;
利用接口传输数据。
其进一步技术方案为:将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息的步骤,相关信息包括已完成传输的数据量。
其进一步技术方案为:根据相关信息,回收已传输的数据的步骤,包括以下具体步骤:
将算法模块回收缓存单元的位置移至DMA数据传输完成线处;
根据数据量回收已传输的数据。
其进一步技术方案为:重置缓存区管理模块的管理信息的步骤,包括以下具体步骤:
判断数据回收是否完成;
若是,则将算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置复位;
若否,则返回所述根据数据量回收已传输的数据的步骤。
本发明还提供了嵌入式存储接口数据传输装置,包括设置单元、传输单元、计算单元、回收单元以及重置单元;
所述设置单元,用于设置缓存区管理模块;
所述传输单元,用于获取需要传输的数据,进行数据传输;
所述计算单元,用于将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息;
所述回收单元,用于根据相关信息,回收已传输的数据;
所述重置单元,用于重置缓存区模块的管理信息。
其进一步技术方案为:所述重置单元包括判断模块以及复位模块;
所述判断模块,用于判断数据回收是否完成;
所述复位模块,用于若是,则将算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置复位。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的嵌入式存储接口数据传输方法。
本发明还提供了一种介质,所述介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述的嵌入式存储接口数据传输方法。
本发明与现有技术相比的有益效果是:本发明的嵌入式存储接口数据传输方法,通过设置在缓存单元形成列队中设置算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置,利用这四个位置与DMA数据传输完成线配合的方式,进行数据传输、已完成传输数据量的计算,且驱动算法模块与缓存区管理单元的处理流程同步并行处理,实现提高存储系统的带宽。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有技术的缓存块的管理过程的示意图;
图2为本发明一具体实施例提供的嵌入式存储接口数据传输方法的流程图;
图3为本发明一具体实施例提供的缓存管理模块的内部管理示意图;
图4为本发明一具体实施例提供的停止数据传输时的缓存管理示意图;
图5为本发明一具体实施例提供的停止数据传输后的缓存管理示意图;
图6为图2中嵌入式存储接口数据传输方法的子步骤示意流程图;
图7为图2中嵌入式存储接口数据传输方法的子步骤示意流程图;
图8为图2中嵌入式存储接口数据传输方法的子步骤示意流程图;
图9为本发明一具体实施例提供的嵌入式存储接口数据传输装置的示意性框图;
图10为图9中的传输单元的结构框图;
图11为图9中的回收单元的结构框图;
图12为图9中的重置单元的结构框图;
图13本发明一具体实施例提供的一种计算机设备的示意性框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如图2~13所示的具体实施例,本实施例提供的嵌入式存储接口数据传输方法、装置、计算机设备及介质,可以运用在固态存储数据的过程中,实现提高存储系统的带宽。
具体地,本实施例提供的嵌入式存储接口数据传输方法,对一个由缓存单元组成的队列采用先进先出的机制进行数据传输,即先提交的缓存单元先处理先完成,后提交的缓存单元则后处理后完成。缓存单元一般由Tag(标签,通常是指缓存单元对应的命令号)、Flag(标示,通常是一些缓存单元的控制信息,如是否是命令第一笔数据等)以及数据存放的内存起始地址和结束地址等。
如图2所示,本实施例提供了嵌入式存储接口数据传输方法,该方法包括步骤S1~S4。通过每个缓存单元进行S1~S4步骤处理,将算法模块与缓存区管理模块(管理一个由缓存单元组成的队列)的操作并行处理,节省了系统的时间,且提高了系统的带宽。
S1、设置缓存区管理模块。
在本实施例中,还需要设置一个缓存区管理模块对缓存单元进行管理,如图3所示,缓存区管理模块管理的是一个由缓存单元组成的队列,该缓存区管理模块内包含有五个管理信息,分别为:算法模块提交缓存单元的位置、算法模块回收(释放)缓存单元的位置、DMA配置缓存单元的位置、DMA回收缓存单元的位置以及DMA数据传输完成线,其中,DMA配置缓存单元的位置用于触发缓存单元与主机的数据传输,DMA数据传输完成线可表示确切缓存单元列队中有多少数据已完成传输。
算法模块提交缓存单元的位置、算法模块回收(释放)缓存单元的位置为算法模块管理指针,分别标志着算法模块提交和回收请求的位置,这两个信息推动着算法模块命令处理和数据管理的轮转。
DMA配置缓存单元的位置、DMA回收缓存单元的位置为BM模块配置和管理数据传输的指针,分别标志着缓存区管理模块配置和回收的位置。这两个信息推动着缓存区管理模块DMA管理的轮转。
DMA数据传输完成线为接收到DMA数据传输完成或停止数据传输时,体现在缓存单元的一条逻辑线,它最终可转换成已传输的数据量。普通命令不会在缓存单元的中间停止数据传输,因为只有当整个缓存单元完成数据传输时,中断才会起来,但是当接收到停止数据传输命令时,缓存单元可能只完成部分数据传输,这个时候就会出现DMA数据传输完成线在当前缓存单元中间的某个部位。
S2、获取需要传输的数据,进行数据传输。
将数据传输至缓存单元后在回收至闪存存储系统内,此过程是由缓存区管理模块对数据传输过程进行管控。
S2、将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息。
在本实施例中,DMA数据传输完成线所在的位置就是数据传输完成的位置,从起始位置到DMA数据传输完成线所在位置,该总量则为已完成传输数据的大小,进行计算获取的相关信息包括已完成传输的数据量,以准确得知嵌入式存储接口数据的大小。
如图3所示,首先,去掉了算法模块回收缓存单元的位置。对于缓存区管理模块来说,算法模块回收缓存单元不是必须存在的信息,虽然它可以辅助调试,可以转移至算法层。其次,缩减了停止数据传输的代价。当接收到停止数据传输命令后,缓存区管理模块只需将已传输的和未传输的(将丢弃的)数据量告知算法模块,不必拘泥于具体的缓存单元信息,避免了遍历和计算存放在缓存单元的数据量。
S3、根据相关信息,回收已传输的数据。
算法模块回收缓存单元的位置移至DMA数据传输完成线处,DMA配置缓存单元的位置和DMA回收缓存单元的位置直接移至算法模块提交缓存单元的位置,减少DMA配置缓存单元的位置和DMA回收缓存单元的位置在此阶段的角色,仅仅保留其核心角色,即DMA配置和回收,当停止数据传输后,额外的缓存单元不再需要配置(配置会触发数据传输),也就不再需要回收了,直接将DMA配置缓存单元的位置和DMA回收缓存单元的位置这两个指针移到算法模块提交缓存单元的位置是合乎逻辑且最高效的。
新的命令提交缓存单元的位置在算法模块提交缓存单元的位置,而不是重置后的位置,这意味着当完成“接收到停止数据传输命令后,缓存区管理模块只需将已传输的和未传输的(将丢弃的)数据量告知算法模块”、“DMA配置缓存单元的位置和DMA回收缓存单元的位置直接移至算法模块提交缓存单元的位置”,对于缓存区管理模块当前的DMA配置和回收的命令已经处理完毕,可以接收下一个命令的请求了,于是算法模块和缓存区管理模块可以并行起来:算法模块在回收多余无效的请求时(此时算法模块回收缓存单元的位置移至DMA数据传输完成线处),缓存区管理模块可以进行新命令的数据传输(此时DMA配置缓存单元的位置和DMA回收缓存单元的位置直接移至算法模块提交缓存单元的位置),通过这样的异步方式,大大提高了整个系统的带宽。此处也是复位前的操作具体方式。
S4、重置缓存区管理模块的管理信息。
在本实施例中,该步骤是一个同步操作步骤,也就是将算法模块在回收多余无效的请求时,缓存区管理模块可以进行新命令的数据传输,重置管理信息是为了便于进行新命令的数据传输。
具体地,如图6所示,上述的S1步骤,获取需要传输的数据,进行数据传输的步骤,包括以下具体步骤:
S11、获取数据传输请求;
S12、对DMA进行配置;
S13、利用接口传输数据。
上述的S11步骤至S13步骤,也就是采用接口进行数据传输,缓存单元接收传输的数据。
具体地,如图7所示,上述的S3步骤,根据相关信息,回收已传输的数据的步骤,包括以下具体步骤:
S31、将算法模块回收缓存单元的位置移至DMA数据传输完成线处;
S32、根据数据量回收已传输的数据。
对于上述的S1步骤而言,在得知已完成传输的数据量,由DMA回收缓存单元的位置移至DMA数据传输完成线处进行缓存单元回收的位置,并将算法模块回收缓存单元的位置移至DMA数据传输完成线处,进行回收请求。
具体地,如图8所示,上述的S4步骤,重置缓存区管理模块的管理信息的步骤,包括以下具体步骤:
S41、判断数据回收是否完成;
S42、若是,则将算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置复位;
若否,则返回所述S32的步骤。
对于上述的S42步骤,在本实施例中,具体是算法模块处理完流程(如提交缓存单元以及回收请求的流程),算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置移至各自最初的位置,以便于下次继续进行接口数据的传输和缓存。
上述的嵌入式存储接口数据传输方法,通过设置在缓存单元形成列队中设置算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置,利用这四个位置与DMA数据传输完成线配合的方式,进行数据传输、已完成传输数据量的计算,且驱动算法模块与缓存区管理单元的处理流程同步并行处理,实现提高存储系统的带宽。
请参阅图9,图9是本申请实施例提供的一种嵌入式存储接口数据传输装置的示意性框图。如图9所示,该嵌入式存储接口数据传输装置包括:设置单元1、传输单元2、计算单元3、回收单元4以及重置单元5。
设置单元1,用于设置缓存区管理模块。
传输单元2,用于获取需要传输的数据,进行数据传输。
计算单元3,用于将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息。
回收单元4,用于根据相关信息,回收已传输的数据。
重置单元5,用于重置缓存区模块的管理信息。
具体地,上述的传输单元2包括请求获取模块21、配置模块22以及接口传输模块23。
请求获取模块21,用于获取数据传输请求。
配置模块22,用于对DMA进行配置。
接口传输模块23,用于利用接口传输数据。
具体地,上述的回收单元4包括移位模块41以及回收数据模块42。
移位模块41,用于将算法模块回收缓存单元的位置移至DMA数据传输完成线处。
回收数据模块42,用于根据数据量回收已传输的数据。
另外,上述的重置单元5包括判断模块51以及复位模块52。
判断模块51,用于判断数据回收是否完成。
复位模块52,用于若是,则将算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置复位。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的嵌入式存储接口数据传输装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述嵌入式存储接口数据传输装置可以实现为一种计算机程序的形式,计算机程序可以在如图13所示的计算机设备上运行。
上述的嵌入式存储接口数据传输装置,通过设置在缓存单元形成列队中设置算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置,利用这四个位置与DMA数据传输完成线配合的方式,进行数据传输、已完成传输数据量的计算,且驱动算法模块与缓存区管理单元的处理流程同步并行处理,实现提高存储系统的带宽。
请参阅图13,图13是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700设备可以是终端或服务器。
参照图13,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种嵌入式存储接口数据传输方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意嵌入式存储接口数据传输方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
设置缓存区管理模块;
获取需要传输的数据,进行数据传输;
将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息;
根据相关信息,回收已传输的数据;
重置缓存区管理模块的管理信息。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图13示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
上述的计算机设备,通过设置在缓存单元形成列队中设置算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置,利用这四个位置与DMA数据传输完成线配合的方式,进行数据传输、已完成传输数据量的计算,且驱动算法模块与缓存区管理单元的处理流程同步并行处理,实现提高存储系统的带宽。
另外,本申请实施例还提供了一种介质,所述介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述任意一种嵌入式存储接口数据传输方法。
上述的介质,通过设置在缓存单元形成列队中设置算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置,利用这四个位置与DMA数据传输完成线配合的方式,进行数据传输、已完成传输数据量的计算,且驱动算法模块与缓存区管理单元的处理流程同步并行处理,实现提高存储系统的带宽。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。
Claims (9)
1.嵌入式存储接口数据传输方法,其特征在于,所述方法包括:
设置缓存区管理模块;
获取需要传输的数据,进行数据传输;
将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息;
根据相关信息,回收已传输的数据;
重置缓存区管理模块的管理信息;
设置缓存区管理模块的步骤中,所述缓存区管理模块包括算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置、DMA回收缓存单元的位置以及DMA数据传输完成线中至少一个。
2.根据权利要求1所述的嵌入式存储接口数据传输方法,其特征在于,获取需要传输的数据,进行数据传输的步骤,包括以下具体步骤:
获取数据传输请求;
对DMA进行配置;
利用接口传输数据。
3.根据权利要求2所述的嵌入式存储接口数据传输方法,其特征在于,将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息的步骤,相关信息包括已完成传输的数据量。
4.根据权利要求1所述的嵌入式存储接口数据传输方法,其特征在于,根据相关信息,回收已传输的数据的步骤,包括以下具体步骤:
将算法模块回收缓存单元的位置移至DMA数据传输完成线处;
根据数据量回收已传输的数据。
5.根据权利要求4所述的嵌入式存储接口数据传输方法,其特征在于,重置缓存区管理模块的管理信息的步骤,包括以下具体步骤:
判断数据回收是否完成;
若是,则将算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置复位;
若否,则返回所述根据数据量回收已传输的数据的步骤。
6.嵌入式存储接口数据传输装置,其特征在于,包括设置单元、传输单元、计算单元、回收单元以及重置单元;
所述设置单元,用于设置缓存区管理模块;所述缓存区管理模块包括算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置、DMA回收缓存单元的位置以及DMA数据传输完成线中至少一个;
所述传输单元,用于获取需要传输的数据,进行数据传输;
所述计算单元,用于将DMA回收缓存单元的位置移至DMA数据传输完成线处,进行计算,获取相关信息;
所述回收单元,用于根据相关信息,回收已传输的数据;
所述重置单元,用于重置缓存区模块的管理信息。
7.根据权利要求6所述的嵌入式存储接口数据传输装置,其特征在于,所述重置单元包括判断模块以及复位模块;
所述判断模块,用于判断数据回收是否完成;
所述复位模块,用于若是,则将算法模块提交缓存单元的位置、算法模块回收缓存单元的位置、DMA配置缓存单元的位置以及DMA回收缓存单元的位置复位。
8.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的嵌入式存储接口数据传输方法。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至5任意一项所述的嵌入式存储接口数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810480029.2A CN108804343B (zh) | 2018-05-18 | 2018-05-18 | 嵌入式存储接口数据传输方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810480029.2A CN108804343B (zh) | 2018-05-18 | 2018-05-18 | 嵌入式存储接口数据传输方法、装置、计算机设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804343A CN108804343A (zh) | 2018-11-13 |
CN108804343B true CN108804343B (zh) | 2022-06-07 |
Family
ID=64092756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810480029.2A Expired - Fee Related CN108804343B (zh) | 2018-05-18 | 2018-05-18 | 嵌入式存储接口数据传输方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804343B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064847A (zh) * | 2021-03-25 | 2021-07-02 | 浙江清华柔性电子技术研究院 | 数据传输方法、系统、处理器及dma控制器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5230052A (en) * | 1990-10-01 | 1993-07-20 | International Business Machines Corp. | Apparatus and method for loading bios into a computer system from a remote storage location |
CN1700196A (zh) * | 2005-06-06 | 2005-11-23 | 北京中星微电子有限公司 | 通过直接存储器访问控制器传输数据的系统及方法 |
CN101079015A (zh) * | 2007-06-28 | 2007-11-28 | 杭州华三通信技术有限公司 | 数据传送方法及系统 |
CN104503948A (zh) * | 2015-01-19 | 2015-04-08 | 中国人民解放军国防科学技术大学 | 支持多核网络处理架构的紧耦合自适应协处理系统 |
CN105117358A (zh) * | 2015-08-18 | 2015-12-02 | 广东威创视讯科技股份有限公司 | 一种dma数据传输方法及装置 |
CN105808159A (zh) * | 2015-01-16 | 2016-07-27 | 桑迪士克科技股份有限公司 | 贮存操作中断 |
CN107943726A (zh) * | 2017-11-16 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种基于PCIe接口的数据传输系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6504846B1 (en) * | 1999-05-21 | 2003-01-07 | Advanced Micro Devices, Inc. | Method and apparatus for reclaiming buffers using a single buffer bit |
US9767042B2 (en) * | 2015-02-25 | 2017-09-19 | Intel Corporation | Enhancing cache performance by utilizing scrubbed state indicators associated with cache entries |
-
2018
- 2018-05-18 CN CN201810480029.2A patent/CN108804343B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5230052A (en) * | 1990-10-01 | 1993-07-20 | International Business Machines Corp. | Apparatus and method for loading bios into a computer system from a remote storage location |
CN1700196A (zh) * | 2005-06-06 | 2005-11-23 | 北京中星微电子有限公司 | 通过直接存储器访问控制器传输数据的系统及方法 |
CN101079015A (zh) * | 2007-06-28 | 2007-11-28 | 杭州华三通信技术有限公司 | 数据传送方法及系统 |
CN105808159A (zh) * | 2015-01-16 | 2016-07-27 | 桑迪士克科技股份有限公司 | 贮存操作中断 |
CN104503948A (zh) * | 2015-01-19 | 2015-04-08 | 中国人民解放军国防科学技术大学 | 支持多核网络处理架构的紧耦合自适应协处理系统 |
CN105117358A (zh) * | 2015-08-18 | 2015-12-02 | 广东威创视讯科技股份有限公司 | 一种dma数据传输方法及装置 |
CN107943726A (zh) * | 2017-11-16 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种基于PCIe接口的数据传输系统及方法 |
Non-Patent Citations (1)
Title |
---|
基于OpenSSD的闪存转换算法优化;陆政,范长军,江云飞;《计算机系统应用》;20180515;102-111 * |
Also Published As
Publication number | Publication date |
---|---|
CN108804343A (zh) | 2018-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9986028B2 (en) | Techniques to replicate data between storage servers | |
US10817386B2 (en) | Virtual machine recovery method and virtual machine management device | |
US7545381B2 (en) | Interruptible GPU and method for context saving and restoring | |
CN112214166B (zh) | 用于传输数据处理请求的方法和装置 | |
US7583268B2 (en) | Graphics pipeline precise interrupt method and apparatus | |
US11593107B2 (en) | Handling an input/output store instruction | |
US11762659B2 (en) | Handling an input/output store instruction | |
US20070103475A1 (en) | Interruptible GPU and method for processing multiple contexts and runlists | |
US20140089444A1 (en) | Methods, apparatus and systems for facilitating rdma operations with reduced doorbell rings | |
US10949307B2 (en) | Executing computer instruction including asynchronous operation | |
US10152275B1 (en) | Reverse order submission for pointer rings | |
US11074203B2 (en) | Handling an input/output store instruction | |
EP3542519B1 (en) | Faster data transfer with remote direct memory access communications | |
US10545697B1 (en) | Reverse order request queueing by para-virtual device drivers | |
CN108804343B (zh) | 嵌入式存储接口数据传输方法、装置、计算机设备及介质 | |
CN109284176B (zh) | 中断响应方法、装置及计算机可读存储介质 | |
US10372608B2 (en) | Split head invalidation for consumer batching in pointer rings | |
CN109189701B (zh) | 一种针对嵌入式存储接口数据传输的方法及其系统 | |
EP4372538A1 (en) | Prepopulating commands at a storage device for accelerated host-issued live migration of storage data | |
WO2024109068A1 (zh) | 程序监控方法、装置、电子设备和存储介质 | |
US20220147362A1 (en) | Reverse order queue updates by virtual devices |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220607 |