CN108512735B - 一种数据传输方法和装置 - Google Patents
一种数据传输方法和装置 Download PDFInfo
- Publication number
- CN108512735B CN108512735B CN201710105192.6A CN201710105192A CN108512735B CN 108512735 B CN108512735 B CN 108512735B CN 201710105192 A CN201710105192 A CN 201710105192A CN 108512735 B CN108512735 B CN 108512735B
- Authority
- CN
- China
- Prior art keywords
- node
- data packet
- resources
- ring network
- counter
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/72—Admission control; Resource allocation using reservation actions during connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/821—Prioritising resource allocation or reservation requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种数据传输方法,用于环状网络M,包括N个节点,节点A为N个节点中的任意一节点,节点A与多个模块的端口相连,数据包在环状网络M中传输,包括:节点A检测到数据包后,获取输出数据包的目的节点的ID;节点A根据ID,确定节点A是否为目的节点;若节点A为目的节点且节点A没有空闲资源,则节点A在数据包向其下游节点传输后,启动计数器;当节点A的计数器计数至预设阈值T时,节点A从空闲资源中划分部分资源作为预留资源;当节点A重新检测到数据包时,节点A通过预留资源输出数据包。本发明实施例还提供了一种数据传输装置。采用本发明实施例有利于解决数据包环状网络输出时存在的活锁问题,提高了数据的传输速率。
Description
技术领域
本发明涉及数据传输领域,尤其涉及一种数据传输方法和装置。
背景技术
随着晶体管特征尺寸不断收缩,越来越多的模块被集成到单个芯片上。设计通常采用片上网络(Network on Chips,NoC)来连接这些数量不断增加的模块,并负责在模块间快速传递消息。
非缓冲的环状网络是一种典型的片上网络。在非缓冲的环状网络中,相邻的节点间没有缓冲数据包的buffer,每一拍数据包都会向下一节点移动,并且不会丢包。如果数据包准备从目的节点输出时,但是目的节点由于没有空闲资源输出数据包,那么数据包会继续向下一节点传输,当数据包在环状网络上传输一圈回到目的节点后,再次尝试从目的节点输出。如果某个数据包每次尝试从目的节点输出时,目的节点都没有空闲资源输出该数据包,则会出现数据包无法从目的节点输出而一直在环状网络上传输的问题,这种问题也可称为数据包活锁。
发明内容
本发明实施例提供一种数据传输方法,可以保证数据包在有限的时间阈值内从环状网络输出,提高了数据的传输速率。
第一方面,本发明实施例提供一种数据传输方法,用于环状网络M中,所述环状网络M包括N个节点,节点A为所述N个节点中的任意一节点,所述节点A与多个模块的端口相连,数据包在所述环状网络M中传输,包括:
所述节点A检测到数据包后,获取输出所述数据包的目的节点的身份标识ID;
所述节点A根据所述ID,确定所述节点A是否为输出所述数据包的目的节点;
若所述节点A为输出所述数据包的目的节点且所述节点A没有空闲资源,则所述节点A在所述数据包向其下游节点传输后,启动计数器;
当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源,所述空闲资源为所述节点A的数据包输出通道;
当所述节点A重新检测到所述数据包时,所述节点A通过所述预留资源输出所述数据包。与现有技术相比,在所述数据包重新传输至所述节点A之前,所述节点A从所述目标节点的空闲资源中划分部分资源作为预留资源,供所述数据包输出,提高了节点资源的利用率和数据包的传输速率。
在一种可行的实施例中,所述节点A为多个环状网络的公共节点,所述多个环状网络包括所述环状网络M;
当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,所述方法还包括:
所述节点A根据轮询方式确定将所述预留资源的使用权限分配给所述环状网络M,有利于解决存在多个环状网络时,数据包无法从环状网络输出的问题,提高资源的利用率,避免为多个环状网络预留更多的资源。
在一种可行的实施例中,在当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,所述方法还包括:
若所述节点A在所述计数器启动之后的预设时长内未检测到所述数据包,则确定所述数据包从所述节点A的等价节点输出;
所述节点A将其计数器复位,并释放针对所述数据包的预留资源;
其中,所述预设时长为所述数据包在所述环状网络中传输一圈所需的时长。与现有技术相比,当所述节点A追踪的数据包从所述节点A的等价节点输出后,所述节点A释放针对所述数据包的预留资源,可进一步提高节点资源的利用率。
在一种可行的实施例中,所述节点A的等价节点与所述节点A具有相同的ID,且所述节点A的等价节点与所述节点A连接有相同功能的模块。通过设置等价节点,可提高节点资源的利用率。
第二方面,本发明实施例提供了一种芯片,包括环状网络M和多个功能模块,所述环状网络用于在所述多个功能模块间传递数据包,所述环状网络包括多个节点,所述多个节点中的每一个均与至少一个功能模块通信连接,所述多个节点用于为与其通信连接的功能模块自所述环状网络下载数据包,所述节点A为所述多个节点中的任意一节点,所述节点A包括:
检测获取模块,用于检测到数据包后,获取所述数据包的目的节点的身份标识ID;
第一确定模块,用于根据所述ID,确定所述节点A是否为输出所述数据包的目的节点;
启动模块,用于若所述节点A为输出所述数据包的目的节点且所述节点A没有空闲资源,在所述数据包向其下游节点传输后,启动计数器;
预留模块,用于在所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源,所述空闲资源为所述节点A的数据包输出通道;
输出模块,用于当所述检测获取模块重新检测到所述数据包时,所述节点A通过所述预留资源输出所述数据包。
在一种可行的实施例中,所述节点A为多个环状网络的公共节点,所述多个环状网络包括所述环状网络M,所述节点A还包括:
分配模块,用于当所述节点A的计数器计数至预设阈值T时,在所述节点A从空闲资源中划分部分资源作为预留资源之后,根据轮询方式确定将所述预留资源的使用权限分配给所述环状网络M。
在一种可行的实施例中,所述节点A还包括:
第二确定模块,用于在当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,若所述节点A在所述计数器启动之后的预设时长内未检测到所述数据包,则确定所述数据包从所述节点A的等价节点输出;
复位模块,用于将所述节点A的计数器复位,并释放针对所述数据包的预留资源;
其中,所述预设时长为所述数据包在所述环状网络中传输一圈所需的时长。
在一种可行的实施例中,所述节点A的等价节点与所述节点A具有相同的ID,且所述节点A的等价节点与所述节点A连接有相同功能的模块。
与现有技术相比,本发明实施例提供的方案解决了数据包在环状网络中无法输出的问题,提高了环状网络中节点的资源利用率和数据的传输速率。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据传输方法应用场景示意图;
图2为本发明实施例提供的一种数据传输方法流程示意图;
图3为本发明实施例提供的另一种数据传输方法的应用场景示意图;
图4为本发明实施例提供的另一种数据传输方法流程示意图;
图5为本发明实施例提供的另一种数据传输方法流程示意图;
图6为本发明实施例提供的一种数据传输装置结构示意图。
具体实施方式
下面结合附图对本发明的实施例进行详细描述。
请参见图1,图1为本发明实施例提供的一种数据传输方法应用场景示意图。如图所示,该应用场景包括:N个节点和多个模块。N个节点分别编号为0、1、2、3……N-2、N-1,并组成环状网络。节点A为上述N个节点的任意一节点,节点A与至少一个模块相连。该模块通过节点A与上述环状网络通信。其中,该模块可为处理器簇(CPU Cluster),末级缓存(lastlevel cache,LLC),动态内存控制器(dynamic memory controller,DMC),加速器(Accelerator)或其他硬件模块。节点与节点之间通过总线的方式连接通信。
节点A可以有多个等价节点。节点A与其等价节点具有相同的ID,且节点A与其等价节点相连的模块的功能是相同的。
当上述环状网络跨多个芯片时,在其中任意至少两个芯片中分别设置ID相同且连接功能相同的模块的节点,这些节点互为等价节点。举例说明,环状网络跨芯片a和芯片b,在芯片a和芯片b中分别设置节点A和节点B,节点A和节点B具有相同的ID,且节点A与节点B相连的模块的功能是相同的,节点A和节点B互为等价节点。
数据包由与节点A相连的模块产生的,数据包通过节点传输到该环状网络中。在该环状网络中,数据包从一个节点向与该节点相邻的下游节点传输的所需时长为一个时钟周期。环状网络中的节点按照后续介绍的方法将该数据包通过该环状网络中的某一节点输出,并传输给与该节点相连的模块。
参见图2,图2为本发明实施例提供的一种数据传输方法流程示意图。如图2所示,所示方法用于环状网络,所述环状网络M包括N个节点,节点A为所述N个节点中的任意一节点,所述节点A与多个模块的端口相连,数据包在所述环状网络M中传输,当数据包传输至节点A时,所述方法包括:
S201、所述节点A检测到数据包后,获取输出所述数据包的目的节点的身份标识(Identity,ID)。
其中,上述数据包携带输出其的目的节点的ID。该ID为二进制数。举例说明,ID可为“0101”、“011101”或者“10100010”等等。
进一步,上述节点A每隔一个时钟周期在检测是否有数据包传输至节点A的同时,也会获取传输至节点A的数据包的携带的上述目的节点的ID。
S202、所述节点A根据所述ID,确定所述节点A是否为输出所述数据包的目的节点。
具体地,上述节点A根据上述ID,确定节点A是否为输出上述数据包的目标节点具体方式为:上述节点A将其ID与上述数据包目标节点的ID进行逐位匹配。
可选地,上述节点A将其ID与上述目标节点的ID进行逐位匹配,若上述节点A的ID与目标节点的ID中对应的任意一位不一致,则上述数据包向节点A的下游节点传输。
S203、若所述节点A为输出所述数据包的目的节点且所述节点A没有空闲资源,则所述节点A在所述数据包向其下游节点传输后,启动计数器。
具体地,上述空闲资源为节点A输出数据包的通道。
其中,在上述数据包从节点A向其下游节点传输之前,上述节点A判断其计数器是否启动(即判断节点A是否正在追踪其他数据包);若上述节点A的计数器已启动,则确定节点A正在追踪其他数据包,上述数据包向节点A的下游节点传输。若上述节点A未追踪其他数据包,则上述节点A给上述数据包打上出口标签(Egress-Tag,ETAG),并开始追踪上述数据包,即通过上述节点A的计数器的计数值确定上述数据包在上述环状网络M中的位置。
需要说明的是,其他数据包为除了传输至节点A的数据包之外的数据包。
举例说明节点A计数器的工作过程:当数据包从节点A向其下游节点传输时,节点A的计数器从0开始计数。每隔一个时钟周期,节点A的计数器自加1。通过计数器的计数值,节点A可确定被其追踪的数据包在环状网络M中的位置,即完成对数据包的追踪。
假设环状网络M中有10个节点,分别为节点0、节点1……节点9。若输出数据包的目标节点为节点0,当该数据包传输至节点0且节点0没有空闲资源时,节点0给该数据包打上ETAG,该数据包向节点0的下游节点传输,节点0启动计数器并从0开始计数。接着每隔一个时钟周期,数据包就从一个节点传输至与该节点相邻的下游节点,节点0的计数器自加1。按照该计数方法,节点0就可以通过计数器的计数值确定该数据包在环状网络M中的位置。比如当节点0的计数器的计数值为1,则该数据包传输至节点2;当节点0的计数器计数值为6,则该数据包传输至节点7;当节点0的计数器的计数值为9时,则数据包的重新传输至节点0。
S204、当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源,所述空闲资源为所述节点A的数据包输出通道。
可选地,可选地,上述预设阈值T根据环状网络中节点的数量来设置的。
举例说明,假设上述环状网络中有10个节点,分别为节点0、节点1……节点9,则上述预设阈值可为1、2、5、7、8或者其他值。优选地,上述预设阈值为8。节点0为该数据包的目标节点,当节点0的计数器的计数值为8时,上述数据包传输至节点9,上述节点0从空闲资源中划分出部分资源作为预留资源,供该数据包从环状网络中输出。
可选地,所述节点A为多个环状网络的公共节点,所述多个环状网络包括所述环状网络M;
当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,所述方法还包括:
所述节点A根据轮询方式确定将所述预留资源的使用权限分配给所述环状网络M。
举例说明,如图3所示,图中由多个节点组成的三个环状网络a、b、c,每个节点连接多个模块。其中,节点1为三个环状网络a、b、c的公共节点,如果节点1的预留资源的使用权限第一次分配给环状网络a,则该预留资源的使用权限第二次分配给环状网络b,第三次分配给环状网络c,第四次又重新分配给环状网络a,依次类推。
可选地,在当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,所述方法还包括:
若所述节点A在所述计数器启动之后的预设时长内未检测到所述数据包,则确定所述数据包从所述节点A的等价节点输出;
所述节点A将其计数器复位,并释放针对所述数据包的预留资源;
其中,所述预设时长为所述数据包在所述环状网络中传输一圈所需的时长。
举例说明,假设环状网络M中有10个节点,节点A是其中一个。当数据包传输至节点A时,由于节点A没有空闲资源且其计数器未计数,则节点A给该数据包打上ETAG,从该数据包从节点A向其下游节点传输时,在10个时钟周期内,节点A未检测到该数据包,则确定该数据包从节点A的等价节点输出。节点A将其计数器复位,并释放针对该数据包的预留资源。
具体地,所述节点A的等价节点与所述节点A具有相同的ID,且所述节点A的等价节点与所述节点A连接有相同功能的模块。
S205、当所述节点A重新检测到所述数据包时,所述节点A通过所述预留资源输出所述数据包。
具体地,上述节点A通过其预留资源输出上述数据包具体是将该数据包通过预留资源传输给与上述节点A相连的模块。通过其预留资源输出上述数据包之前,节点A删除该数据包上的ETAG;通过其预留资源输出上述数据包之后,节点A释放针对该数据包的预留资源。
可以看出,在本发明实施例的方案中,所述节点A检测到数据包后,获取输出所述数据包的目的节点的身份标识ID;所述节点A根据所述ID,确定所述节点A是否为输出所述数据包的目的节点;若所述节点A为输出所述数据包的目的节点且所述节点A没有空闲资源,则所述节点A在所述数据包向其下游节点传输后,启动计数器;当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源,所述空闲资源为所述节点A的数据包输出通道;当所述节点A重新检测到所述数据包时,所述节点A通过所述预留资源输出所述数据包。与现有技术相比,本发明实施例提供的方案解决了数据包在环状网络中无法输出的问题,提高了环状网络中节点的资源利用率和数据的传输速率。
参见图4,图4为本发明实施例还提供了一种数据传输方法流程示意图。如图4所示,环状网络M包括N个节点,节点A为所述N个节点中的任意一节点,所述节点A与多个模块的端口相连,数据包在所述环状网络M中传输,当数据包传输至节点A时,所述方法包括:
S401、所述节点A检测到数据包后,获取所述数据包传输的目的节点的ID。
其中,上述数据包携带该数据包传输的目的节点的ID。ID为二进制数。举例说明,ID可为“0101”、“011101”或者“10100010”等等。
进一步,上述节点A每隔一个时钟周期在检测是否有数据包传输至节点A的同时,也会获取传输至节点A的数据包的携带的上述目的节点的ID。
S402、所述节点A根据所述ID,判断所述节点A是否为传输所述数据包的目的节点。
其中,若上述节点A为传输所述数据包的目的节点,则上述节点执行步骤S403;反之,则上述数据包向节点A的下游节点传输。
具体地,上述节点A根据上述ID,判断上述节点A是否为输出上述数据包的目的节点具体方式为:上述节点A将其ID与上述数据包目的节点的ID进行逐位匹配。若其ID与输出该数据包的目的节点的ID中对应的任意一位不一致,上述数据包向节点A的下游节点传输。
S403、所述节点A判断是否正在追踪其他数据包。
具体地,上述节点A追踪数据包可以理解为上述节点A确定上述数据包在环状网络M中的位置,并且判断上述节点A是否追踪其他数据包是通过判断其计数器是否在计数;若节点A的计数器正在计数,则可确定节点A正在追踪其他数据包;反之,则可确定节点A未追踪其他数据包。
其中,若上述节点A正在追踪其他数据包,则上述节点A执行步骤S404;反之,则上述节点A执行步骤S406。
具体地,上述其他数据包为除了上述节点A接收到的数据包之外的数据包。
S404、所述节点A判断是否有空闲资源。
其中,若上述节点A有空闲资源,则上述节点A执行步骤S410;反之,上述节点A执行步骤S405。
在此需要说明的是,上述空闲资源包括预留资源和额外资源,其中,该空闲资源为上述节点A的数据包输出通道,该预留资源为节点A的数据包输出通道的一部分,额外资源为空闲资源中除了预留资源之外的部分。
S405、所述节点A给所述数据包添加出口标签(Egress-Tag,ETAG),并启动计数器。
其中,上述节点A启动计数器即为追踪上述数据包时。上述节点A的计数器从上述数据包从上述节点A传输至与上述节点A相邻的下游节点时开始计数为0;由于在环状网络M中,因此每隔一个时钟周期,上述数据包已从一个节点传输至该节点相邻的下游节点,上述节点A的计数器自加1。上述节点A根据上述计数器的计数值来确定被其追踪的数据包的当前位置。
具体地,举例说明,假设环状网络M中有10个节点,分别编号0、1……9。假设数据包的目标节点为节点n,n为小于或等于9的整数,当数据包被节点n追踪时,并且节点n的计数器开始从0计数,所述数据包在环状网络中,从一个节点传输至该节点的下游节点时,节点n的计数器自加1。若节点n的计数器当前计数至m,m为小于或等于9的整数,可知上述数据包传输至节点n+m-10。
进一步地,上述数据包从上述节点A在环状网络M中传输一圈之后回到节点A后,当上述节点A的空闲资源仍被占用,上述数据包继续向节点A的下游节点传输,节点A的计数器重新从0开始计数。
其中,从节点A启动计数器时起,上述节点A在预设时长内未检测到上述数据包,则确定上述数据包已从上述节点A的等价节点输出,同时将计数器复位,并释放针对上述数据包的预留资源。预设时长为数据包在环状网络M中传输一圈所需的时长。
需要说明的是,节点A与其等价节点具有相同的ID,且连接有功能相同的模块。该模块可为处理器、存储器或者其他硬件模块。
举例说明,假设环状网络M中有10个节点,数据包在该环状网络M中传输一圈所需的时间为10个时钟周期。从节点A启动计数器时起,即数据包从节点A向其下游节点传输时起,在10个时钟周期内,未检测到上述数据包,则上述节点A确定上述数据包已从其等价节点输出。
S406、所述节点A判断所述数据包是否有ETAG。
其中,若上述节点A确定上述数据包有ETAG,则上述节点A执行步骤S408;反之,则上述节点A执行步骤S407。
需要说明的是,上述节点A判断上述数据包是否有ETAG可以理解为判断上述数据包是否为上述节点A正在追踪的数据包。
S407、所述节点A判断是否有额外资源。
其中,若上述节点A确定有额外资源,则上述节点执行步骤S410;反之,则上述数据包向节点A的下游节点传输。
S408、所述节点A判断是否有预留资源。
其中,若上述节点A有预留资源,则上述节点A执行步骤S409;反之,则上述数据包向节点A的下游节点传输。
需要说明的是,当上述节点A的计数器计数至预设阈值T时,上述节点A的预留资源控制器从上述节点A的空闲资源中划分一部分作为上述节点A的预留资源。上述预设阈值T为大于0且小于或等于N-1的整数。
可选地,上述预设阈值T可以等于1、3、5、6或其他值。上述预设阈值的优选值根据上述环状网络M中节点的个数而设置。
S409、所述节点A是否将所述节点的预留资源的使用权限分配给所述环状网络M。
其中,若上述节点A将所述节点的预留资源的使用权限分配给所述环状网络M,则上述节点A执行步骤S410;反之,则上述数据包向节点A的下游节点传输。。
进一步,上述节点A的预留资源控制器来分配预留资源的使用权限。上述节点A的预留资源控制器判断上述节点的预留资源是否能够被上述数据包所处的环状网络M使用,是根据轮询方式来分配所述节点的预留资源的使用权限。
节点A根据轮询方式来分配所述节点的预留资源的使用权限的具体过程参照上述步骤S204的相关描述。
S410、所述数据包从所述节点A输出。
具体地,上述数据包从上述节点A输出,并发送至与上述节点A相连接的模块。若上述节点A检测到上述数据包携带ETAG,则在将该数据包输出之前,上述节点A将上述数据包的ETAG删除,并且在将该数据包输出之后,上述节点A将释放针对该数据包的预留资源。
请参见图5,图5为本发明实施例提供的另一种数据传输方法的流程示意图。如图5所示,本发明实施例提供的一种数据传输方法,环状网络M包括N个节点,节点A为所述N个节点中的任意一节点,所述节点A与多个模块的端口相连,数据包在所述环状网络M中传输,当数据包传输至节点A的等价节点时,包括以下步骤:
S501、所述节点A的等价节点检测到数据包后,获取输出所述数据包传输目的节点的ID。
在此需要说明的是,上述节点A的等价节点与节点A具有相同的ID,并且节点A与其等价节点连接有相同功能的模块。
S502、所述等价节点根据所述ID,判断所述等价节点是否为传输所述数据包的目的节点。
其中,若上述等价节点确定为传输上述数据包的目的节点,则上述等价节点执行步骤S503;反之,上述数据包向节点A的下游节点传输。
S503、所述等价节点判断所述等价节点是否追踪其他数据包。
其中,若确定上述等价节点正在追踪其他数据包,则上述等价节点执行步骤S504;反之,上述等价节点执行步骤S506。
S504、所述等价节点判断所述等价节点是否有空闲资源。
其中,若上述等价节点有空闲资源,则执行步骤S510;反之,则上述等价节点执行步骤S505。
S505、所述等价节点给所述数据包添加ETAG,并启动计数器。
进一步,从等价节点启动计数器时起,上述等价节点在预设时长内未检测到上述数据包,则确定上述数据包已从上述节点A输出,同时将等价节点的计数器复位,并释放针对上述数据包的预留资源。上述预设时长为数据包在环状网络M中传输一圈所需的时长。
S506、所述等价节点判断所述数据包是否有ETAG。
其中,若上述等价节点确定上述数据包有ETAG,则上述等价节点执行步骤S508;反之,则上述等价节点执行步骤S507。
S507、所述等价节点判断是否有额外资源。
其中,若上述等价节点有额外资源,则执行步骤S510;反之,上述数据包向节点A的下游节点传输。
S508、所述等价节点判断是否有预留资源。
其中,若确定上述等价节点有预留资源,则上述等价节点执行步骤S509;反之,上述数据包向节点A的下游节点传输。
S509、所述等价节点是否将所述预留资源的使用权限分配给所述环状网络。
其中,若上述等价节点将上述预留资源的使用权限分配给上述环状网络,则执行步骤S510;反之,上述数据包向节点A的下游节点传输。
S510、所述数据包从所述等价节点输出。
需要说明的是,图5所示的方法的各个步骤的具体实现过程可参见上述方法所述的具体实现过程,在此不再叙述
参见图6,图6为本发明实施例提供的一种数据传输装置结构示意图。本发明实施例提供的一种数据传输装置为芯片中的一个功能模块,所述芯片包括环状网络M和多个功能模块,所述环状网络M用于在所述多个功能模块间传递数据包,所述环状网络M包括多个节点,所述多个节点中的每一个均与至少一个功能模块通信连接,所述多个节点用于为与其通信连接的功能模块自所述环状网络下载数据包。所述数据传输装置为所述多个节点中的任意一节点。以节点A为例,所述节点A 600包括:
检测获取模块601,用于检测到数据包后,获取所述数据包的目的节点的身份标识ID。
第一确定模块602,用于根据所述ID,确定所述节点A 600是否为输出所述数据包的目的节点。
启动模块603,用于若所述节点A 600为输出所述数据包的目的节点且所述节点A600没有空闲资源,在所述数据包向其下游节点传输后,启动计数器。
预留模块604,用于在所述节点A 600的计数器计数至预设阈值T时,所述节点A600从空闲资源中划分部分资源作为预留资源,所述空闲资源为所述节点A的数据包输出通道。
其中,所述节点A 600为多个环状网络的公共节点,所述多个环状网络包括所述环状网络M,所述节点A 600还包括:
分配模块605,用于当所述节点A 600的计数器计数至预设阈值T时,在所述节点A600从空闲资源中划分部分资源作为预留资源之后,根据轮询方式确定将所述预留资源的使用权限分配给所述环状网络M。
输出模块606,用于当所述检测获取模块重新检测到所述数据包时,所述节点A600通过所述预留资源输出所述数据包。
其中,所述节点A 600还包括:
第二确定模块607,用于在在当所述节点A 600的计数器计数至预设阈值T时,所述节点A 600从空闲资源中划分部分资源作为预留资源之后,若所述节点A 600在所述计数器启动之后的预设时长内未检测到所述数据包,则确定所述数据包从所述节点A 600的等价节点输出;
复位模块608,用于将所述节点A 600的计数器复位,并释放针对所述数据包的预留资源。
其中,所述预设时长为所述数据包在所述环状网络中传输一圈所需的时长。
可选地,所述节点A 600的等价节点与所述节点A 600具有相同的ID,且所述节点A的等600价节点与所述节点A 600连接有相同功能的模块。
需要说明的是,上述各模块(检测获取模块601,第一确定模块602,启动模块603,预留模块604,分配模块605,输出模块606,第二确定模块607,复位模块608)用于执行上述方法的相关步骤。
在本实施例中,数据传输装置600是以模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种数据传输方法,用于环状网络M中,所述环状网络M包括N个节点,节点A为所述N个节点中的任意一节点,所述节点A与多个模块的端口相连,数据包在所述环状网络M中传输,其特征在于,包括:
所述节点A检测到数据包后,获取输出所述数据包的目的节点的身份标识ID;
所述节点A根据所述ID,确定所述节点A是否为输出所述数据包的目的节点;
若所述节点A为输出所述数据包的目的节点且所述节点A没有空闲资源,则所述节点A在所述数据包向其下游节点传输后,启动计数器;
当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源,所述空闲资源为所述节点A的数据包输出通道;
当所述节点A重新检测到所述数据包时,所述节点A通过所述预留资源输出所述数据包。
2.根据权利要求1所述的方法,其特征在于,所述节点A为多个环状网络的公共节点,所述多个环状网络包括所述环状网络M;
当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,所述方法还包括:
所述节点A根据轮询方式确定将所述预留资源的使用权限分配给所述环状网络M。
3.根据权利要求1所述的方法,其特征在于,在当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,所述方法还包括:
若所述节点A在所述计数器启动之后的预设时长内未检测到所述数据包,则确定所述数据包从所述节点A的等价节点输出;
所述节点A将其计数器复位,并释放针对所述数据包的预留资源;
其中,所述预设时长为所述数据包在所述环状网络中传输一圈所需的时长。
4.根据权利要求3所述的方法,其特征在于,所述节点A的等价节点与所述节点A具有相同的ID,且所述节点A的等价节点与所述节点A连接有相同功能的模块。
5.一种芯片,包括环状网络M和多个功能模块,所述环状网络M用于在所述多个功能模块间传递数据包,所述环状网络M包括多个节点,所述多个节点中的每一个均与至少一个功能模块通信连接,所述多个节点用于为与其通信连接的功能模块自所述环状网络下载数据包,所述节点A为所述多个节点中的任意一节点,其特征在于,所述节点A包括:
检测获取模块,用于检测到数据包后,获取所述数据包的目的节点的身份标识ID;
第一确定模块,用于根据所述ID,确定所述节点A是否为输出所述数据包的目的节点;
启动模块,用于若所述节点A为输出所述数据包的目的节点且所述节点A没有空闲资源,在所述数据包向其下游节点传输后,启动计数器;
预留模块,用于在所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源,所述空闲资源为所述节点A的数据包输出通道;
输出模块,用于当所述检测获取模块重新检测到所述数据包时,所述节点A通过所述预留资源输出所述数据包。
6.根据权利要求5所述的芯片,其特征在于,所述节点A为多个环状网络的公共节点,所述多个环状网络包括所述环状网络M,所述节点A还包括:
分配模块,用于当所述节点A的计数器计数至预设阈值T时,在所述节点A从空闲资源中划分部分资源作为预留资源之后,根据轮询方式确定将所述预留资源的使用权限分配给所述环状网络M。
7.根据权利要求5所述的芯片,其特征在于,所述节点A还包括:
第二确定模块,用于在当所述节点A的计数器计数至预设阈值T时,所述节点A从空闲资源中划分部分资源作为预留资源之后,若所述节点A在所述计数器启动之后的预设时长内未检测到所述数据包,则确定所述数据包从所述节点A的等价节点输出;
复位模块,用于将所述节点A的计数器复位,并释放针对所述数据包的预留资源;
其中,所述预设时长为所述数据包在所述环状网络中传输一圈所需的时长。
8.根据权利要求7所述的芯片,其特征在于,所述节点A的等价节点与所述节点A具有相同的ID,且所述节点A的等价节点与所述节点A连接有相同功能的模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710105192.6A CN108512735B (zh) | 2017-02-25 | 2017-02-25 | 一种数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710105192.6A CN108512735B (zh) | 2017-02-25 | 2017-02-25 | 一种数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108512735A CN108512735A (zh) | 2018-09-07 |
CN108512735B true CN108512735B (zh) | 2021-04-20 |
Family
ID=63373975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710105192.6A Active CN108512735B (zh) | 2017-02-25 | 2017-02-25 | 一种数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108512735B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039846B (zh) * | 2018-09-27 | 2021-05-04 | 贵州华芯通半导体技术有限公司 | 环形互联总线的避免死锁的方法、系统和跨环装置 |
CN109743243B (zh) * | 2019-01-28 | 2021-08-27 | 广州广哈通信股份有限公司 | 一种基于非对等网络的环网数据传输方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539533A (zh) * | 2014-12-22 | 2015-04-22 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
CN104583991A (zh) * | 2012-09-29 | 2015-04-29 | 英特尔公司 | 用于二维无缓冲器互连的防饥饿及回弹减少机制 |
US9042397B2 (en) * | 2011-02-02 | 2015-05-26 | Futurewei Technologies, Inc. | Method and apparatus for achieving fairness in interconnect using age-based arbitration and timestamping |
CN105706403A (zh) * | 2013-09-12 | 2016-06-22 | 英派尔科技开发有限公司 | 片上网络中的电路交换预先预留 |
CN106302209A (zh) * | 2015-06-12 | 2017-01-04 | 华为技术有限公司 | 一种片上网络NoC及数据传输的方法 |
CN108400880A (zh) * | 2017-02-07 | 2018-08-14 | 华为技术有限公司 | 片上网络、数据传输方法和第一交换节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7760669B2 (en) * | 2006-06-27 | 2010-07-20 | International Business Machines Corporation | Method and apparatus for preventing starvation in a slotted ring data communications network |
CN105991338B (zh) * | 2015-03-05 | 2019-11-12 | 华为技术有限公司 | 网络运维管理方法及装置 |
-
2017
- 2017-02-25 CN CN201710105192.6A patent/CN108512735B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9042397B2 (en) * | 2011-02-02 | 2015-05-26 | Futurewei Technologies, Inc. | Method and apparatus for achieving fairness in interconnect using age-based arbitration and timestamping |
CN104583991A (zh) * | 2012-09-29 | 2015-04-29 | 英特尔公司 | 用于二维无缓冲器互连的防饥饿及回弹减少机制 |
CN105706403A (zh) * | 2013-09-12 | 2016-06-22 | 英派尔科技开发有限公司 | 片上网络中的电路交换预先预留 |
CN104539533A (zh) * | 2014-12-22 | 2015-04-22 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
CN106302209A (zh) * | 2015-06-12 | 2017-01-04 | 华为技术有限公司 | 一种片上网络NoC及数据传输的方法 |
CN108400880A (zh) * | 2017-02-07 | 2018-08-14 | 华为技术有限公司 | 片上网络、数据传输方法和第一交换节点 |
Also Published As
Publication number | Publication date |
---|---|
CN108512735A (zh) | 2018-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170094054A1 (en) | Methods of sharing a wifi hotspot and associated electronic devices | |
CN109041250B (zh) | 一种ssb的传输方法、客户端及基站 | |
RU2610250C2 (ru) | Узел передачи и способ отчетности о статусе буфера | |
WO2011102700A2 (en) | Methods and device of managing resources in a wireless communication network | |
US10321482B2 (en) | Method and device for processing carrier resource of unlicensed carrier and transmission node | |
KR20200017589A (ko) | 무선 통신 시스템에서 모바일 노드의 태스크를 오프로딩하기 위한 클라우드 서버 및 그의 동작 방법 | |
RU2017105121A (ru) | Присвоение множества временных идентификаторов радиосети устройству пользователя | |
JP7214750B2 (ja) | 物理下り制御チャネルのモニタリング方法、ユーザ機器及びネットワーク側機器 | |
CN108512735B (zh) | 一种数据传输方法和装置 | |
BR112015032592B1 (pt) | Método de processamento de serviço programado, controlador de camada de rede, controlador de camada de aplicativo e sistema de processamento de serviço programado | |
JP6861715B2 (ja) | 制御シグナリング送信の方法及びデバイス | |
CN106471852A (zh) | 一种数据传输方法、装置及系统 | |
CN107113323B (zh) | 一种数据存储方法、装置和系统 | |
TW201717039A (zh) | 用於通用序列匯流排2.0頻寬保留之方法及系統 | |
CN106797643B (zh) | 在无线通信系统中用信号发送时间和频率资源分配的方法 | |
WO2018171373A1 (zh) | 一种物理随机接入信道前导码序列确定方法及装置 | |
CN114040476A (zh) | 一种传输下行控制信息的方法、设备及系统 | |
JP2022542365A (ja) | 滞留時間制限に従った無線送信の開始または延期 | |
KR101969002B1 (ko) | 데이터 전송 방법 및 단말 | |
WO2022121610A1 (zh) | 一种发送方法及装置 | |
CN109729573B (zh) | 一种传输下行控制信息的方法、设备及系统 | |
CN110536465A (zh) | 反馈信道的映射方法、装置、设备及存储介质 | |
US9894670B1 (en) | Implementing adaptive resource allocation for network devices | |
CN110731109A (zh) | 一种资源指示方法、设备和计算机存储介质 | |
CN108650049B (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 |