一种应用于Mesh拓扑片上网络的故障信息传播方法

文档序号:9306631阅读:344来源:国知局
一种应用于Mesh拓扑片上网络的故障信息传播方法
【技术领域】
[0001]本发明涉及集成电路片上互联技术领域,特别是涉及一种应用于Mesh拓扑片上网络的链路故障信息传播方法。
【背景技术】
[0002]随着集成工艺的进步,片上系统(System-on_Chip,SoC)中集成的功能单元的种类和数量迅速增加。传统的共享通信结构和直接通信结构都不能很好地应对片上多核间日益增长的通信压力。片上网络(Network-on-Chip,NoC)是一种新型的多核间通信结构,相较于传统的通信结构,片上网络能够提供更高的带宽和灵活性,同时在性能和代价之间得到更好的平衡。
[0003]在研究中较为常见的一类片上网络是Mesh拓扑片上网络,Mesh拓扑片上网络中路由器按照行列规则排布,构成m行Xn列的矩形。路由器可以用其坐标(x,y)(O彡X彡m-l,0彡y彡n_l)表示,其中x为路由器的行坐标(或称X轴坐标),y为路由器的列坐标(或称Y轴坐标)。路由器的端口分别处在X轴方向或Y轴方向上。端口所在的X轴方向(或者Y轴方向)称为端口方向,Y轴方向(或X轴方向)称为正交方向。
[0004]但是,随着工艺尺寸的迅速减小,集成电路的器件稳定性逐渐降低。因此,集成电路面临的一个重要挑战是,利用不可靠的器件实现可靠的系统。为了达到这一目标,容错技术变得非常重要。
[0005]片上网络中常见的故障有链路故障和路由器故障等,链路故障是指由于某种原因导致从某个路由器到其某个邻居的通信不成功。路由器故障可以看作是路由器的每个端口都发生了链路故障。对于一个故障的路由器,将路由器行方向端口的故障统称为行方向故障,包含两个链路故障;同理,将路由器列方向端口的故障称为列方向故障,包含两个链路故障。
[0006]在片上网络中,一类非常重要的容错技术就是容错路由算法(fault-tolerantrouting algorithm)。这些算法通过利用已知的网络拓扑信息、数据包信息以及器件故障信息,使数据包绕过故障的器件,保证数据包的可达性。对于这种方法,故障信息的传播方法和路由算法同等重要。路由算法已知的故障信息的数量直接制约着路由算法在传播延迟、支持的故障数量和图案等方面的性能。简而言之,如果路由算法已知的故障信息越多,路由算法的性能以及潜在性能越高。
[0007]当然,也不是所有的故障信息都有必要告知每一个路由器。当进行路由计算的路由器与故障器件距离较远时,故障信息对此路由器的路由计算并无影响。对于这种情况,应该尽量减小故障传播区域,以减小信息传播的代价。当多个故障器件距离较近时,又会对路径产生叠加影响,这时,又需要适当地扩大传播区域,使得路由算法能够充分利用故障信息。
[0008]在现有的设计中,大部分并未采用故障传播方法,仅仅是利用本地路由器的故障检测电路获取的故障信息进行路由,其传播范围仅限于故障路由器的邻居节点;少部分设计中使用了故障传播方法,其传播范围也局限在距离故障路由器可以在2跳内到达的地方,如图1所示。

【发明内容】

[0009]本发明的目的在于克服现有技术的不足,提供一种应用于Mesh拓扑片上网络的链路故障信息传播方法,通过对故障在正交方向传播的宽度的设定,以及对故障区域的自适应检测,确定故障传播区域,将链路故障信息传播到此区域内的每一个路由器,可以满足不同优化目标的容错路由算法对于链路故障信息的要求。
[0010]本发明的目的是通过以下技术方案来实现的:一种应用于Mesh拓扑片上网络的链路故障信息传播方法,包括以下步骤:
51.设定链路故障信息的传播区域:设定链路故障信息的正交方向传播的宽度,链路故障信息的正交方向传播的宽度表示为N ;故障路由器为发生链路故障的路由器,故障端口为发生链路故障的端口,则链路故障信息的传播区域为故障路由器的故障端口所在列或行上的所有路由器和故障路由器相邻的N列或行上的所有路由器;
52.扩散新增链路故障信息:获取新增链路故障信息,将该新增链路故障信息传播到以故障链路为中心的传播区域内;
53.更新当前故障区域:故障区域为相互之间会产生相互干扰的故障链路组成的区域,各路由器根据接收到的新增链路故障信息更新当前故障区域;
54.补充扩散链路故障信息:在当前故障区域内传播各路由器还未记录的链路故障信息。
[0011]步骤S3中各路由器根据接收到的新增链路故障信息更新当前故障区域的方式为:
当路由器先前没有记录故障信息时,获取新增故障区域,将新增故障区域作为当前故障区域;
当路由器先前记录了故障信息时,获取新增故障区域,将已知故障区域和新增故障区域的并集作为当前故障区域。
[0012]步骤S4中在当前故障区域内传播各路由器还未记录的链路故障信息的方式为:将新增链路故障信息传播给已知故障区域内的路由器,将已知链路故障信息传播给新增故障区域内的路由器。
[0013]步骤S3中所述的相互干扰的故障链路为在行方向或在列方向上相邻的故障链路。
[0014]步骤S3中所述的故障区域为:
若只有一行或一列存在故障链路,则将该行或列定义为故障区域。
[0015]若多行或列存在故障链路且存在故障链路的行或列为连续的:当连续行的每一行均存在故障链路时,将连续行的起始行和结束行之间的行为故障区域,起始行和结束行定义为故障区域的边界;当连续列的每一列均存在链路故障时,将连续列的起始列和结束列之间的定义为故障区域,起始列和结束列定义为故障区域的边界。
[0016]若多行或列存在故障链路且存在故障链路的行或列为不连续的:则将所有存在故障链路的行和列的并集定义为故障区域。
[0017]所述的已知故障区域和新增故障区域的并集的获得方式为:对同处于行方向上的故障区域取并集,对同处于列方向上的故障区域取并集。
[0018]本发明的有益效果是:本发明确定了链路故障信息传播的图案模式,且可以指定传播区域的大小,通过对故障区域的自适应检测,确定故障传播区域,将链路故障信息传播到此区域内的每一个路由器,可以满足不同优化目标的容错路由算法对于链路故障信息的要求。
【附图说明】
[0019]图1为现有链路故障信息传播方法中的传播区域示意图;
图2为本发明应用于Mesh拓扑片上网络的链路故障信息传播方法的流程框图;
图3为本发明的链路故障传播区域示意图;
图4为片上网络坐标体系和故障区域的定义示意图;
图5为本发明的具体流程图;
图6为有两个链路故障且正交方向传播的宽度为I时故障I的链路故障信息传播示意图;
图7为有两个链路故障且正交方向传播的宽度为I时故障II的链路故障信息传播示意图;
图8为有两个链路故障且正交方向传播的宽度为I时补充扩散链路故障信息的示意图;
图9为有两个链路故障且正交方向传播的宽度为2时故障I的链路故障信息传播示意图;
图10为有两个链路故障且正交方向传播的宽度为2时故障II的链路故障信息传播示意图;
图11为有两个链路故障且正交方向传播的宽度为2时补充扩散链路故障信息的示意图;
图12为有三个链路故障且正交方向传播的宽度为I时故障I的链路故障信息传播示意图;
图13为有三个链路故障且正交方向传播的宽度为I时故障II的链路故障信息传播示意图;
图14为有三个链路故障且正交方向传播的宽度为I时故障III的链路故障信息传播示意图;
图15为有三个链路故障且正交方向传播的宽度为I时补充扩散链路故障信息的第一示意图;
图16为有三个链路故障且正交方向传播的宽度为I时补充扩散链路故障信息的第二示意图。
【具体实施方式】
[0020]下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
[0021]在本发明中,故障的基本单位是链路故障,即从某个路由器到其某个相邻路由器的通信不成功;路由器故障则可表示为故障路由器到其所有的相邻路由器的通信都不成功。
[0022]如图2所示,一种应用于Mesh拓扑片上网络的链路故障信息传播方法,包括以下步骤:
S1.设定链路故障信息的传播区域:设定链路故障信息的正交方向传播的宽度,链路故障信息的正交方向传播的宽度表示为N ;故障路由器为发生链路故障的路由器,故障端口为发生链路故障的端口,则链路故障信息的传播区域为故障路由器的故障端口所在列或行上的所有路由器和故障路由器相邻的N列或行上的所有路由器,如图3所示。
[0023]—个孤立的链路故障的传播区域,在端口方向的长度为网络大小,在正交方向上根据需求而定,将传播区域的边界称为传播边界。
[0024]对于每个链路故障,其链路故障信息的传播分为端口方向传播和正交方向传播。端口方向传播将链路故障信息传递给故障链路所在列或行上的所有路由器;正交方向传播则是将链路故障信息传播给在故障链路相邻的列或行上的路由器。
[0025]S2.扩散新增链路故障信息:获取新增链路故障信息,将该新增链路故障
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1