CN114003525A - 数据传输的方法、模块、装置、设备及存储介质 - Google Patents
数据传输的方法、模块、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114003525A CN114003525A CN202111636129.8A CN202111636129A CN114003525A CN 114003525 A CN114003525 A CN 114003525A CN 202111636129 A CN202111636129 A CN 202111636129A CN 114003525 A CN114003525 A CN 114003525A
- Authority
- CN
- China
- Prior art keywords
- target
- data packet
- storage control
- unit
- parallel
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000006243 chemical reaction Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0004—Parallel ports, e.g. centronics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据传输的方法、模块、装置、设备及存储介质,该方法包括:获取待存储的目标数据包,所述目标数据包中包括所述目标数据包的地址;根据所述目标数据包的地址,从预设的N个并行转串行单元中,确定所述目标数据包对应的目标并行转串行单元,所述N个并行转串行单元分别与N个存储控制单元一一连接;通过所述目标并行转串行单元将所述目标数据包发送给目标存储控制单元,并通过所述目标存储控制单元将所述目标数据包存储在对应的存储单元中,所述目标存储控制单元为与所述目标并行转串行单元连接的存储控制单元,所述目标并行转串行单元用于将目标数据包拆分成多个子数据包,该方法可以避免数据包拥堵,进而提升数据传输效率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输的方法、模块、装置、设备及存储介质。
背景技术
目前,在存储较大体积的数据时,通常采用存储密度较高的动态随机存取存储器(Dynamic Random Access Memory,DRAM)存储。在传输协议相同的前提下,数据包的传输位宽越大,传输数据包的效率越高。
但是存储器的传输位宽受硬件结构的限制,通常小于数据包的传输位宽。因此,传输数据包的效率受存储器的传输位宽限制,造成数据包的传输效率低。
发明内容
本申请提供一种数据传输的方法、模块、装置、设备及存储介质,可以避免数据包拥堵,进而提高数据包的传输效率。
第一方面,本申请提供一种数据传输方法,该方法包括:
获取待存储的目标数据包,所述目标数据包中包括所述目标数据包的地址;
根据所述目标数据包的地址,从预设的N个并行转串行单元中,确定所述目标数据包对应的目标并行转串行单元,所述N个并行转串行单元分别与N个存储控制单元一一连接,所述N为大于1的正整数;
通过所述目标并行转串行单元将所述目标数据包发送给目标存储控制单元,并通过所述目标存储控制单元将所述目标数据包存储在对应的存储单元中,所述目标存储控制单元为与所述目标并行转串行单元连接的存储控制单元。
其中,所述目标并行转串行单元用于将目标数据包拆分成多个子数据包。
第二方面,本申请提供一种数据传输模块,用于执行上述方法,包括:
传输单元、写数据通路接口、N个并行转串行单元以及N个存储控制单元,所述写数据通路接口的输入端与所述传输单元的输出端连接,所述写数据通路接口的输出端与所述N个并行转串行单元的输入端分别连接,所述N个并行转串行单元的输出端与所述N个存储控制单元的输入端分别一一对应连接,所述N为大于1的正整数;
所述传输单元用于获取目标数据包,并将所述目标数据包发送给所述写数据通路接口,所述目标数据包中包括所述目标数据包的地址;
所述写数据通路接口用于根据所述目标数据包的地址,从所述N个并行转串行单元中,确定所述目标数据包对应的目标并行转串行单元,并将所述目标数据包发送给所述目标并行转串行单元;
所述目标并行转串行单元用于将所述目标数据包发送给目标存储控制单元以及将目标数据包拆分成多个子数据包所述目标存储控制单元为与所述目标并行转串行单元连接的存储控制单元;
所述目标存储控制单元用于将所述目标数据包存储在对应的存储单元中。
第三方面,本申请提供一种数据传输的装置,包括:
获取单元,用于获取待存储的目标数据包,所述目标数据包中包括所述目标数据的地址;
确定单元,用于根据所述目标数据包的地址,从预设的N个并行转串行单元中,确定所述目标数据包对应的目标并行转串行单元,所述N个并行转串行单元分别与N个存储控制单元一一连接,所述N为大于1的正整数;
发送单元,用于通过所述目标并行转串行单元将所述目标数据包发送给目标存储控制单元,并通过所述目标存储控制单元将所述目标数据包存储在对应的存储单元中,所述目标存储控制单元为与所述目标并行转串行单元连接的存储控制单元。
第四方面,本申请实施例提供一种芯片,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第一方面或其实现方式中的方法。
第五方面,本申请实施例提供一种电子设备,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第一方面或其实现方式中的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行第一方面或其实现方式中的方法。
第七方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或其各实现方式中的方法。
综上,在本申请中数据传输模块通过设置多个并行转串行单元与写数据通路接口连接,并将这N个并行转串行单元与N个存储单元一一对应连接,在实际使用时,可以根据目标数据包的地址从上述N个并行转串行单元中选择对应的目标并行转串行单元进行数据传输,以避免数据包拥堵,进而提高数据包的传输效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种数据传输模块的结构示意图;
图2为本申请实施例提供的一种数据传输模块的结构示意图;
图3为本申请实施例提供的一种数据传输方法的流程示意图;
图4为本申请实施例提供的一种数据传输装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例涉及数据传输技术领域。
在介绍本申请技术方案之前,下面先对本申请相关知识进行介绍:
有向无环图(Directed Acyclic Graph,DAG)是区块链上所有区块的加密信息,随着区块链的发展,DAG数据逐渐增大至超过4GB,且DAG数据随着时间更新,更新周期大约为5.2天,因此对传输DAG数据的效率有较高的要求。
由于DAG数据的体积较大,通常使用DRAM存储DAG数据。在工作量证明芯片计算之前,需要将DAG数据传输到DRAM中。由于DRAM需要不断的刷新来进行周期性的充电以保证DRAM中的数据不丢失,导致DRAM在进行刷新操作时,无法接收数据,即DRAM并非任意时刻都可以接收数据,因此用于传输DAG数据的DAG数据包至少包含数据控制流信号,DAG数据包的地址以及待存储数据。数据控制流信号用于指示发送DAG数据包的时间节点,DAG数据包的地址用于确定DAG数据包在存储器中对应的存储单元。
图1为现有技术提供的一种数据传输模块。如图1所示,现有技术提供的一种数据传输模块10,包括,传输单元100、并行转串行单元101、写数据通路接口102,以及N个存储控制单元103。
计算DAG数据的算法决定生成DAG数据包的位宽,DRAM的物理结构决定DRAM的输入位宽。由于DRAM的输入位宽小于DAG数据包的位宽,数据传输模块10需要通过并行转串行单元101将DAG数据包中的DAG数据包拆分成多个位宽小于DRAM的输入位宽的子数据包,再依次将多个子数据包发送至写数据通路接口101,接着写数据通路接口101按照DAG数据包的地址从N个存储控制单元103中选出目标存储控制单元并将子数据包发送至目标存储控制单元,目标存储控制单元再将DAG数据包存储在对应的存储单元中,以完成DAG数据包的传输。虽然传输单元100在一个时钟周期内可发送一个DAG数据包,但是由于并行转串行单元101在一个时钟周期内只能发送一个子数据包,因此传输多个子数据包需要历经多个时钟周期,并行转串行单元101只有在将上一个DAG数据包对应的子数据包传输完成的情况下,才会接收下一个DAG数据包,这样一来,DAG数据包在传输单元100的输出端发生数据拥堵,从而造成传输数据的效率较低。
示例的,DAG数据包的位宽是512bit,DRAM的输入位宽是128bit,并行转串行单元101将DAG数据包拆分成4个子数据包,则并行转串行单元101需要历经4个周期发送一个DAG数据包,传输单元100的输出端,监测到512bit的DAG数据包的传输效率不超过百分之25。
其中,DAG数据包的位宽指的是,DAG数据包一次能传输的数据量,DRAM的输入位宽指的是DRAM一次能接收的数据量。
为了解决上述问题,本申请实施例设置N个并行转串行单元,并将这N个并行转串行单元与N个存储单元一一对应连接,在实际使用时,可以根据待存储的目标数据包的地址,从上述N个并行转串行单元中确定目标数据包对应的目标并行转串行单元,并通过该目标并行转串行单元将上述目标数据包发送给目标存储控制单元,以避免数据包拥堵,进而提高数据包的传输效率。
下面通过一些实施例对本申请实施例的技术方案进行详细说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的一种数据传输模块20的结构示意图,如图2所示,该模块包括:传输单元200、写数据通路接口201、N个并行转串行单元202以及N个存储控制单元203。
其中,写数据通路接口201的输入端与传输单元200的输出端连接,写数据通路接口201的输出端与N个并行转串行单元202的输入端分别连接,N个并行转串行单元202的输出端与N个存储控制单元203的输入端分别一一对应连接,N为大于1的正整数。
传输单元200用于获取目标数据包,并将目标数据包发送给写数据通路接口201,目标数据包中包括目标数据包的地址。
其中,目标数据包的地址指的是目标数据包对应的目标存储单元的地址,示例的,每个存储控制单元管理D个存储单元,在上述情况下,目标存储单元的地址范围在0至(D-1)×N之间,D为大于1的整数,D也称为存储控制单元地址深度。目标数据包可以由中央处理器(Center Processing Unit,CPU)、微控制单元(Micro Control Unit,MCU)或者片上系统(System on Chip,SoC)计算得到,也可以从其他存储设备处获取。
写数据通路接口201用于根据目标数据包的地址,从N个并行转串行单元202中,确定目标数据包对应的目标并行转串行单元,并将目标数据包发送给目标并行转串行单元。
在一些实施例中,写数据通路接口201具体用于根据目标数据包的地址,从N个并行转串行单元202中,确定目标数据包对应的目标并行转串行单元可以是:
写数据通路接口201首先根据目标数据包的地址和存储控制单元203的个数,确定目标数据包对应的目标存储控制单元203,接下来写数据通路接口201将与目标存储控制单元连接的并行转串行单元202,确定为目标数据包对应的目标并行转串行单元。
在另外一些实施例中,写数据通路接口201根据目标数据包的地址,从预设的N个并行转串行单元202中,确定目标数据包对应的目标并行转串行单元还可以是:
写数据通路接口201首先根据目标数据包的地址和存储单元地址深度,确定目标数据包对应的目标存储控制单元203,接下来写数据通路接口201将与目标存储控制单元连接的并行转串行单元202,确定为目标数据包对应的目标并行转串行单元。其中,取整为向上取整或者向下取整。
在一些实施例中,写数据通路接口201具体用于:
写数据通路接口201确定目标数据包的地址与存储控制单元203的个数之间的余数,并将N个存储控制单元203中标识为余数的存储控制单元203,确定为目标数据包对应的目标存储控制单元。
示例的,假设目标数据包的地址为Add,N个存储控制单元被依次标识为1、2、…、N,Add除以N的商为K余数为L,N、Add、K和L均为整数,此时可以确定N个存储控制单元中标识为L的存储控制单元为目标数据包对应的目标存储控制单元。
在另外一些实施例中,写数据通路接口201还可以用于确定目标数据包的地址对存储控制单元203的个数取整,并将N个存储控制单元203中标识为取整的存储控制单元,确定为目标数据包对应的目标存储控制单元。
示例的,假设目标数据包的地址为Add,N个存储控制单元被依次标识为1、2、…、N,Add对N取整为K,N、Add、K均为整数,此时可以确定N个存储控制单元中标识为K的存储控制单元为目标数据包对应的目标存储控制单元。
目标并行转串行单元用于将目标数据包拆分成多个子数据包以及将多个子数据包发送给目标存储控制单元,并通过目标存储控制单元将目标数据包存储在对应的存储单元中,目标存储控制单元为与目标并行转串行单元连接的存储控制单元203。
在一些实施例中,写数据通路接口201具体用于将目标数据包的地址与存储控制单元203的个数之间的商,确定为目标数据包在存储单元中的存储地址。
写数据通路接口201根据存储地址,通过目标存储控制单元将目标数据包存储在存储单元中。
示例的,目标数据包的地址为Add,Add除以N商为K余数为L,N、Add、K和L均为整数,此时可以确定N个存储控制单元中标识为L的存储控制单元中地址为K的存储单元为目标数据包在存储单元中的存储地址。
在另外一些实施例中,写数据通路接口201具体用于建立目标数据包的地址与存储控制单元203的个数之间的其他对应关系,本申请实施例对此不做限定。
在一些实施例中,目标数据包为有向无环图数据包。计算有向无环图数据包的算法决定了,生成有向无环图数据包的位宽为512bit或者1024bit,与存储单元常用的64bit或者128bit的输入位宽不相等,并且有向无环图数据包通常较大,因此当目标数据包为有向无环图数据包时,更适合应用到上述方法。基于此,当上述数据传输模块设置在工作量证明芯片中时,工作量证明芯片在传输有向无环图数据包的环节所用的时间减少,算力损失小。
在一些实施例中,目标数据包的地址是在生成目标数据包的过程中随机生成的,即目标数据包的地址可以是在计算目标数据包时实时下发的。目标数据包的地址也可以是数据传输单元200获取完整的目标数据包后再分配的。
示例的,对于已经获取的多个目标数据包,地址为0的目标数据包会命中标识为1的存储控制单元,地址为1的目标数据包会命中标识为1的存储控制单元,依次类推,地址为N-1的目标数据包会命中标识为N的存储控制单元。这样一来,多个目标数据包的地址不会连续命中同一存储控制单元,从而多个目标数据包不会连续命中同一个并行转串行单元,从而多个并行转串行单元可以同时下发子数据包,避免目标数据包的拥堵。
在一些实施例中,并行转串行单元202还用于:将目标数据包拆分成M个子数据包以及将M个子数据包依次发送给目标存储控制单元,M为正整数。
并行转串行单元202通过将目标数据包拆分成M个子数据包,使得子数据包的位宽小于或者等于存储单元的输入位宽,分M次依次发送给目标存储控制单元,从而存储控制单元的输入位宽可以是任意输入位宽,不会影响到数据传输模块的传输效率。
在此基础上,在目标数据包的传输过程中,由于设置了N个并行转串行单元202,写数据通路接口201从预设的N个并行转串行单元中,确定目标数据包对应的并行转串行单元作为目标并行转串行单元之后再进行传输,将目标数据包传输至对对应的目标并行转串行单元,并且每一并行转串行单元均有对应的存储控制单元,这样一来,在多个目标数据包不命中同一个存储控制单元的情况下,N个并行转串行单元中不同的并行转串行单元可以同时向对应的存储控制单元传输目标数据包,大大提升了传输效率。示例的,目标数据包的位宽是512bit,存储控制单元的输入位宽是128bit,则在传输单元输出端监测到数据包的传输效率为百分之100,传输速度约是现有技术中的数据传输模块的4倍,可以最大程度的保证数据传输模块的效率。
可选的,上述各模块可以为分布在同一个芯片上的电路,基于此,本申请实施例提供的数据传输模块可以理解为一个具体数据传输功能的芯片。上述各单元也可以为程序代码,基于此,本申请提供的数据传输模块可以理解为由计算机执行的程序代码。
上文对本申请实施例涉及的数据传输模块进行了介绍,在此基础上,下面对本申请提供的数据传输方法进行介绍。
图3为本申请实施例提供一种数据传输的方法流程图,如图3所示,该方法包括:
S100、获取待存储的目标数据包,该目标数据包中包括目标数据包的地址。
其中,目标数据包的地址可以是在生成目标数据包时生成的,也可以是在获取目标数据包之后分配的。
S200、根据目标数据包的地址,从预设的N个并行转串行单元中,确定目标数据包对应的目标并行转串行单元,N个并行转串行单元分别与N个存储控制单元一一连接,N为大于1的正整数。
在一些实施例中,S200中根据目标数据包的地址,从预设的N个并行转串行单元中,确定数据包对应的目标并行转串行单元,包括如下步骤S210和S220:
S210、根据目标数据包的地址和存储控制单元的个数,确定目标数据包对应的目标存储控制单元。
在一些实施例中,S210中根据目标数据包的地址和存储控制单元的个数,确定目标数据包对应的目标存储控制单元,包括:
S211、确定目标数据包的地址与存储控制单元的个数之间的余数。
S212、将N个存储控制单元中标识为余数的存储控制单元,确定为目标数据包对应的目标存储控制单元。
假设目标数据包的地址为Add,目标存储控制单元依次标识为1、2、…、N,,Add÷N=K…L,n、Add、K和L均为整数,此时确定N个存储控制单元中标识为L的存储控制单元为目标数据包对应的存储控制单元。
需要理解的是,S210的实现方法并不仅仅限于上述方法,任意一种能够建立目标数据包的地址与存储控制单元的个数之间对应关系以对于不同的目标数据包选择不同的存储控制单元的方法均可作为S210的实现方法。
示例的,假设目标数据包的地址为Add,目标存储控制单元依次标识为1、2、…、N,[Add÷N]=K,此时确定N个存储控制单元中标识为K的存储控制单元为目标数据包对应的存储控制单元,[]代表取整函数。
S220、将目标存储控制单元连接的并行转串行单元,确定为目标数据包对应的目标并行转串行单元。
目标数据包的地址为目标数据包经由存储控制单元存储在存储单元中对应的地址,由于N个并行转串行单元分别与N个存储控制单元一一连接,即存储控制单元与并行转串行单元一一对应,确定了目标数据包对应的目标存储控制单元即可确定与目标存储控制单元连接的并行转串行单元为目标并行转串行单元。
S300、通过目标并行转串行单元将目标数据包发送给目标存储控制单元,并通过目标存储控制单元将目标数据包存储在对应的存储单元中,目标存储控制单元为与目标并行转串行单元连接的存储控制单元。
其中,N为正整数,N可以由用户根据硬件设备和需求设定,故称为预设的N个并行转串行单元。由于目标存储单元与目标并行转串行单元一一连接,因此,通过选择与目标存储单元对应的存储控制单元,选择目标数据包对应的存储单元。
在一些实施例中,S300中通过目标存储控制单元将目标数据包存储在对应的存储单元中,包括:
S310、将目标数据包的地址与存储控制单元的个数之间的商,确定为目标数据包在存储单元中的存储地址。
S320、根据存储地址,通过目标存储控制单元将目标数据包存储在存储单元中。
目标数据包在存储单元中的存储地址指的是,由于每个存储控制单元控制管理D个存储单元,其中每个存储单元在存储控制单元中对应的一个地址,在目标存储控制单元中,为了确定目标数据包对应的存储单元,需要确定目标数据包在存储单元中的存储地址。示例的,假设每个存储控制单元控制管理D个存储单元,目标数据包的地址为Add,目标存储控制单元的个数为N,Add÷N=K…L,Add、K和L均为整数,且K<L,此时确定K为目标数据包在存储单元中存储地址。接着标识为L的存储控制单元将目标数据包存储在地址为K的存储单元中。
在一些实施例中,目标数据包的地址是在生成目标数据包的过程中随机生成的,即目标数据包的地址可以是在计算目标数据包时实时下发的。目标数据包的地址也可以是数据传输单元200获取完整的目标数据包后再分配的。
示例的,对于已经获取的多个目标数据包,地址为0的目标数据包会命中标识为1的存储控制单元,地址为1的目标数据包会命中标识为1的存储控制单元,依次类推,地址为N-1的目标数据包会命中标识为N的存储控制单元。这样一来,多个目标数据包的地址不会连续命中同一存储控制单元,从而多个目标数据包不会连续命中同一个并行转串行单元,从而多个并行转串行单元可以同时下发子数据包,避免目标数据包的拥堵。
在一些实施例中,目标数据包为有向无环图数据包。计算有向无环图数据包的算法决定了,生成有向无环图数据包的位宽为512bit或者1024bit,与存储单元常用的64bit或者128bit的输入位宽不相等,并且有向无环图数据包通常较大,因此当目标数据包为有向无环图数据包时,更适合应用到上述方法。基于此,当上述数据传输模块设置在工作量证明芯片中时,工作量证明芯片在传输有向无环图数据包的环节所用的时间减少,算力损失小。
在一些实施例中,S300中通过目标并行转串行单元将目标数据包发送给目标存储控制单元,包括:
S301、通过目标并行转串行单元将目标数据包拆分成M个子数据包,使得子数据包的位宽小于或者等于存储单元的输入位宽,分M次依次发送给目标存储控制单元,从而存储控制单元的输入位宽可以是任意输入位宽,不会影响到数据传输模块的传输效率。S302、通过目标并行转串行单元将M个子数据包依次发送给目标存储控制单元,M为正整数。
在此基础上,在目标数据包的传输过程中,由于是从预设的N个并行转串行单元中,确定目标数据包对应的并行转串行单元作为目标并行转串行单元之后再进行传输,将目标数据包传输至对对应的目标并行转串行单元,并且每一并行转串行单元均有对应的存储控制单元,这样一来,N个并行转串行单元中不同的并行转串行单元可以同时向对应的存储控制单元传输多个目标数据包,大大提升了传输效率。
应理解,图3仅为本申请的示例,不应理解为对本申请的限制。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
图4为本申请实施例提供一种数据传输装置的结构示意图,如图4所示,本申请实施例提供一种数据传输装置30,包括:获取单元300、确定单元301以及发送单元302。
获取单元300用于获取待存储的目标数据包,目标数据包中包括目标数据的地址。
确定单元301用于根据目标数据包的地址,从预设的N个并行转串行单元中,确定目标数据包对应的目标并行转串行单元,N个并行转串行单元分别与N个存储控制单元一一连接。
发送单元302用于通过目标并行转串行单元将目标数据包发送给目标存储控制单元,并通过目标存储控制单元将目标数据包存储在对应的存储单元中,目标存储控制单元为与目标并行转串行单元连接的存储控制单元。
在一些实施例中,确定单元301具体用于根据目标数据包的地址和存储控制单元的个数,确定目标数据包对应的目标存储控制单元;将与目标存储控制单元连接的并行转串行单元,确定为数据包对应的目标并行转串行单元。
在一些实施例中,确定单元301具体用于确定目标数据包的地址与存储控制单元的个数之间的余数;将N个存储控制单元中标识为余数的存储控制单元,确定为目标数据包对应的目标存储控制单元。
在一些实施例中,发送单元302具体用于将目标数据包的地址与存储控制单元的个数之间的商,确定为目标数据包在存储单元中的存储地址;根据存储地址,通过目标存储控制单元将目标数据包存储在存储单元中。
在一些实施例中,目标数据包的地址是在生成目标数据包的过程中随机生成的。
可选的,目标数据包为有向无环图数据包。
在一些实施例中,发送单元302具体用于通过目标并行转串行单元将目标数据包拆分成M个子数据包;通过目标并行转串行单元将M个子数据包依次发送给目标存储控制单元,M为正整数。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图4所示的装置可以执行上述方法的实施例,并且装置中的各个模块的前述和其它操作和/或功能分别为了实现计算设备对应的方法实施例,为了简洁,在此不再赘述。
图5是本申请实施例提供的电子设备的示意性框图,该电子设备可以为上述的文件封装设备、或文件解封装设备,或者该电子设备具有文件封装设备和文件解封装设备的功能。
如图5所示,该电子设备40可包括:
存储器41和存储器42,该存储器41用于存储计算机程序,并将该程序代码传输给该存储器42。换言之,该存储器42可以从存储器41中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该存储器42可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该存储器42可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器41包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器41中,并由该存储器42执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该视频制作设备中的执行过程。
如图4所示,该电子设备40还可包括:
收发器4,该收发器43可连接至该存储器42或存储器41。
其中,存储器42可以控制该收发器43与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器43可以包括发射机和接收机。收发器43还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该视频制作设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种芯片,所述芯片包括处理器,所述处理器用于执行上述实施例。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (16)
1.一种数据传输的方法,其特征在于,包括:
获取待存储的目标数据包,所述目标数据包中包括所述目标数据包的地址;
根据所述目标数据包的地址,从预设的N个并行转串行单元中,确定所述目标数据包对应的目标并行转串行单元,所述N个并行转串行单元分别与N个存储控制单元一一连接,所述N为大于1的正整数;
通过所述目标并行转串行单元将所述目标数据包发送给目标存储控制单元,并通过所述目标存储控制单元将所述目标数据包存储在对应的存储单元中,所述目标存储控制单元为与所述目标并行转串行单元连接的存储控制单元;
其中,所述目标并行转串行单元用于将目标数据包拆分成多个子数据包。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据包的地址,从预设的N个并行转串行单元中,确定所述数据包对应的目标并行转串行单元,包括:
根据所述目标数据包的地址和存储控制单元的个数,确定所述目标数据包对应的目标存储控制单元;
将与所述目标存储控制单元连接的并行转串行单元,确定为所述数据包对应的目标并行转串行单元。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标数据包的地址和存储控制单元的个数,确定所述目标数据包对应的目标存储控制单元,包括:
确定所述目标数据包的地址与所述存储控制单元的个数之间的余数;
将所述N个存储控制单元中标识为所述余数的存储控制单元,确定为所述目标数据包对应的目标存储控制单元。
4.根据权利要求2所述的方法,其特征在于,所述通过所述目标存储控制单元将所述目标数据包存储在对应的存储单元中,包括:
将所述目标数据包的地址与所述存储控制单元的个数之间的商,确定为所述目标数据包在所述存储单元中的存储地址;
根据所述存储地址,通过所述目标存储控制单元将所述目标数据包存储在所述存储单元中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述目标数据包的地址是在生成所述目标数据包的过程中随机生成的,所述目标数据包为有向无环图数据包。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述通过所述目标并行转串行单元将所述目标数据包发送给目标存储控制单元,包括:
通过所述目标并行转串行单元将所述目标数据包拆分成M个子数据包;
通过所述目标并行转串行单元将所述M个子数据包依次发送给所述目标存储控制单元,所述M为正整数。
7.一种数据传输模块,其特征在于,包括:传输单元、写数据通路接口、N个并行转串行单元以及N个存储控制单元;所述写数据通路接口的输入端与所述传输单元的输出端连接,所述写数据通路接口的输出端与所述N个并行转串行单元的输入端分别连接,所述N个并行转串行单元的输出端与所述N个存储控制单元的输入端分别一一对应连接,所述N为大于1的正整数;
所述传输单元用于获取目标数据包,并将所述目标数据包发送给所述写数据通路接口,所述目标数据包中包括所述目标数据包的地址;
所述写数据通路接口用于根据所述目标数据包的地址,从所述N个并行转串行单元中,确定所述目标数据包对应的目标并行转串行单元,并将所述目标数据包发送给所述目标并行转串行单元;
所述目标并行转串行单元用于将所述目标数据包发送给目标存储控制单元,以及将目标数据包拆分成多个子数据包,所述目标存储控制单元为与所述目标并行转串行单元连接的存储控制单元;
所述目标存储控制单元用于将所述目标数据包存储在对应的存储单元中。
8.根据权利要求7所述的数据传输模块,其特征在于,所述写数据通路接口,具体用于根据所述目标数据包的地址和存储控制单元的个数,确定所述目标数据包对应的目标存储控制单元;并将与所述目标存储控制单元连接的并行转串行单元,确定为所述目标数据包对应的目标并行转串行单元。
9.根据权利要求8所述的数据传输模块,其特征在于,所述写数据通路接口,具体用于确定所述目标数据包的地址与所述存储控制单元的个数之间的余数;并将所述N个存储控制单元中标识为所述余数的存储控制单元,确定为所述目标数据包对应的目标存储控制单元。
10.根据权利要求8所述的数据传输模块,其特征在于,所述写数据通路接口,具体用于将所述目标数据包的地址与所述存储控制单元的个数之间的商,确定为所述目标数据包在所述存储单元中的存储地址;并根据所述存储地址,通过所述目标存储控制单元将所述目标数据包存储在所述存储单元中。
11.根据权利要求7-10任一项所述的数据传输模块,其特征在于,所述目标数据包的地址是在生成所述目标数据包的过程中随机生成的,所述目标数据包为有向无环图数据包。
12.根据权利要求7所述的数据传输模块,其特征在于,所述目标并行转串行单元,具体用于将所述目标数据包拆分成M个子数据包,并将所述M个子数据包依次发送给所述目标存储控制单元,所述M为正整数。
13.一种数据传输的装置,其特征在于,包括:
获取单元,用于获取待存储的目标数据包,所述目标数据包中包括所述目标数据的地址;
确定单元,用于根据所述目标数据包的地址,从预设的N个并行转串行单元中,确定所述目标数据包对应的目标并行转串行单元,所述N个并行转串行单元分别与N个存储控制单元一一连接,所述N为大于1的正整数;
发送单元,用于通过所述目标并行转串行单元将所述目标数据包发送给目标存储控制单元,并通过所述目标存储控制单元将所述目标数据包存储在对应的存储单元中,所述目标存储控制单元为与所述目标并行转串行单元连接的存储控制单元。
14.一种芯片,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至6中任一项所述的方法。
15.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至6中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至6中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111636129.8A CN114003525B (zh) | 2021-12-30 | 2021-12-30 | 数据传输的方法、模块、装置、设备及存储介质 |
PCT/CN2022/142438 WO2023125558A1 (zh) | 2021-12-30 | 2022-12-27 | 数据传输的方法、模块、装置、设备及存储介质 |
US18/358,015 US20230367735A1 (en) | 2021-12-30 | 2023-07-24 | Data transmission method, module and apparatus, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111636129.8A CN114003525B (zh) | 2021-12-30 | 2021-12-30 | 数据传输的方法、模块、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114003525A true CN114003525A (zh) | 2022-02-01 |
CN114003525B CN114003525B (zh) | 2022-04-08 |
Family
ID=79932202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111636129.8A Active CN114003525B (zh) | 2021-12-30 | 2021-12-30 | 数据传输的方法、模块、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230367735A1 (zh) |
CN (1) | CN114003525B (zh) |
WO (1) | WO2023125558A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125558A1 (zh) * | 2021-12-30 | 2023-07-06 | 声龙(新加坡)私人有限公司 | 数据传输的方法、模块、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012879A (zh) * | 2010-12-10 | 2011-04-13 | 上海申瑞电力科技股份有限公司 | 大容量数据采集装置及其数据传输方法 |
US9230654B2 (en) * | 2005-09-30 | 2016-01-05 | Conversant Intellectual Property Management Inc. | Method and system for accessing a flash memory device |
CN107222218A (zh) * | 2017-05-26 | 2017-09-29 | 四川九洲电器集团有限责任公司 | 一种并行数据的产生电路、方法及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW591389B (en) * | 2003-03-20 | 2004-06-11 | Icp Electronics Inc | Execute-in-place system and method of serial memory |
CN110377262B (zh) * | 2019-06-28 | 2022-12-09 | 硅谷数模半导体(北京)有限公司 | 数据存储方法及装置、存储介质和处理器 |
CN114003525B (zh) * | 2021-12-30 | 2022-04-08 | 中科声龙科技发展(北京)有限公司 | 数据传输的方法、模块、装置、设备及存储介质 |
-
2021
- 2021-12-30 CN CN202111636129.8A patent/CN114003525B/zh active Active
-
2022
- 2022-12-27 WO PCT/CN2022/142438 patent/WO2023125558A1/zh unknown
-
2023
- 2023-07-24 US US18/358,015 patent/US20230367735A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9230654B2 (en) * | 2005-09-30 | 2016-01-05 | Conversant Intellectual Property Management Inc. | Method and system for accessing a flash memory device |
CN102012879A (zh) * | 2010-12-10 | 2011-04-13 | 上海申瑞电力科技股份有限公司 | 大容量数据采集装置及其数据传输方法 |
CN107222218A (zh) * | 2017-05-26 | 2017-09-29 | 四川九洲电器集团有限责任公司 | 一种并行数据的产生电路、方法及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125558A1 (zh) * | 2021-12-30 | 2023-07-06 | 声龙(新加坡)私人有限公司 | 数据传输的方法、模块、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023125558A1 (zh) | 2023-07-06 |
US20230367735A1 (en) | 2023-11-16 |
CN114003525B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114003525B (zh) | 数据传输的方法、模块、装置、设备及存储介质 | |
WO2022161330A1 (zh) | 数据存储方法及装置、存储介质、用户设备、网络侧设备 | |
EP2696289B1 (en) | Information processing device, parallel computer system, and computation processing device control method | |
CN113703715B (zh) | 一种正则表达式匹配方法、装置、fpga及介质 | |
CN112422485B (zh) | 一种传输控制协议的通信方法及装置 | |
US3936601A (en) | Method and apparatus for altering the synchronous compare character in a digital data communication system | |
CN112688870B (zh) | 一种路由方法、路由装置及节点设备 | |
CN111124997B (zh) | 数据发送方法、接收方法及装置、处理器芯片、服务器 | |
CN112395245B (zh) | 处理器的访问装置、方法及计算机设备 | |
CN111586750B (zh) | 一种数据发送、接收的方法、装置、电子设备及介质 | |
CN111061682A (zh) | 一种数据缓存方法、读取方法、电子设备及存储介质 | |
CN111950031A (zh) | 基于区块链的分布式数据管理方法、终端设备和存储介质 | |
CN113157610B (zh) | 数据保存方法及装置、存储介质、电子装置 | |
CN114510216A (zh) | 存储数据的方法、装置和设备 | |
CN112712167A (zh) | 支持多种卷积神经网络加速的存储器访问方法及系统 | |
KR20210063011A (ko) | 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법 | |
CN110061856A (zh) | 一种基于区块链的通信方法、装置及电子设备 | |
CN115129651B (zh) | 一种多gpu数据传输方法、装置、设备及存储介质 | |
CN111476663B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
US20240004842A1 (en) | Rebalance method for blockchain-based decentralized file system | |
TWI764311B (zh) | 記憶體存取方法及智慧處理裝置 | |
US20230176932A1 (en) | Processor, information processing apparatus, and information processing method | |
CN115865782A (zh) | 数据传输系统、方法、装置、计算机设备和存储介质 | |
CN117041079A (zh) | 报文随机采样方法及装置 | |
CN117280317A (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230413 Address after: 10 Jialeng Road, Singapore # 09-11 339510 Patentee after: Shenglong (Singapore) Pte. Ltd. Address before: 1605, floor 16, No. 9, North Fourth Ring West Road, Haidian District, Beijing 100083 Patentee before: SUNLUNE TECHNOLOGY DEVELOPMENT (BEIJING) Co.,Ltd. |