片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法技术

技术编号:13595925 阅读:137 留言:0更新日期:2016-08-26 13:17
本发明专利技术提出了一种片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法,是应用于由五个输入端口、路由计算模块、交叉开关分配模块和五个输出端口所组成的路由器中;其中交叉开关细粒度容错模块包括:BIST检测单元、容错单元、额外控制单元、交叉开关。细粒度考虑交叉开关中数据分配器,内部链路以及数据选择器的不同故障情况;使用容错单元对数据分配器和内部链路的故障进行容错,且能够使得容错路径具有多样性;同时,增加一个额外的数据选择器对故障数据选择器进行容错。本发明专利技术以较小的硬件开销为代价,在交叉开关故障率大的情况下能进行正常的数据传输,提高了网络的吞吐率。

【技术实现步骤摘要】

本专利技术属于集成电路芯片设计的容错
,特别是一种片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法
技术介绍
随着集成电路技术的发展,单个芯片上会出现由数十甚至数百个处理器联合工作的超复杂电路系统。然而,基于共享总线机制的传统片上系统(System-on-Chip,SoC)的体系结构无法解决复杂多样的系统通讯需求,如互连线延迟、系统全局同步和设计效率。为解决SoC的瓶颈问题,一些研究机构借鉴计算机网络和并行计算技术,提出了互连结构——片上网络(Network-on-Chip,NoC)。NoC因其高效和可扩展的优点被广泛应用,成为一种有效的通讯架构。但是随着特征尺寸的缩减和复杂度的增加,使得芯片出现低良品率、可靠性差等问题,因此容错成为NoC设计的一个重要挑战。路由器作为NoC通信的重要组成部分,是实现数据存储转发的关键。其中,交叉开关是路由器中的重要部件,主要负责数据的转发工作,通过仲裁逻辑实现输入与输出端口的匹配,使得存储在当前节点的输入缓冲中的数据顺利转发至下一跳节点。当交叉开关出现故障,将会导致当前节点输入缓冲中的数据无法转发至下游节点,造成数据滞留,引起端口阻塞,降低网络性能。因此,对交叉开关的容错显得尤为重要。研究者们针对路由器中交叉开关的架构设计,提出了较多的方案。例如,Wang W F等人提出一种带buffer的交叉开关架构,主要是在交叉开关的每个输出端添加两个buffer。当buffer为空且下游的虚通道可用时,数据直接传输到下游。否则,数据将缓存在交叉开关的buffer中,当buffer变满时,数据要存在输入端口的虚通道中。该架构能够有效的增加网络的实际接收量,获得较好的性能。但是会带来较大的面积开销,且当交叉开关出现故障时,不能实现容错。RocaA等人提出了一种分布式交叉开关结构,将N×N的交叉开关解耦为N个N×1的独立子网络,并通过一个简单的仲裁器和多路选择器控制子网络。在数据传输过程中,该方案能够有效减少延迟,提高网络吞吐率。但是网络的芯片布局复杂,且无法解决交叉开关故障问题。以上两种设计方案虽然能在一定程度上降低延时,提高吞吐率,但是不能实现对交叉开关的容错。后来,DeOrioA等人提出了ViCis的路由器架构,路由器中添加了一条旁路总线。当交叉开关出现故障时,数据可以从旁路总线传输,从而实现对交叉开关的容错。由于总线具有分时复用的特性,当出现多方向数据同时竞争总线传输时,容错效率不高。此外还有Zhang Y等人设计了一种新型的主从交叉开关路由器架构,在输入端口和交叉开关间添加了一个2×2
的小交叉开关。当主交叉开关出现故障时,动态配置2×2的小交叉开关,数据将会通过从交叉开关传输至下一跳。当交叉开关出现在故障时,只有一条容错路径。因为交叉开关主要是由数据分配器DEMUX,内部链路以及数据选择器MUX组成,这三部分故障引起的结果不同。但是DeOrioA和Zhang Y等人没有详细考虑每种故障情况,均是粗粒度的容错方案,且当交叉开关故障时,只有一条可选路径,容错路径单一,易浪费交叉开关资源。
技术实现思路
本专利技术是为了避免上述现有研究存在的不足之处,提供了一种片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法,以期能详细考虑交叉开关中数据分配器DEMUX,内部链路以及数据选择器MUX这三部分的故障情况,从而能针对每个部分的故障进行容错,并且容错路径具有多样性,此外在交叉开关故障率大的情况下能实现正常的数据传输,提高网络吞吐率,保证网络的整体性能。本专利技术解决技术问题所采用的技术方案是:本专利技术一种片上网络中基于路径多样性的交叉开关细粒度容错模块,是应用于由五个输入端口、路由计算模块、交叉开关分配模块和五个输出端口所组成的路由器中;其特点是,所述交叉开关细粒度容错模块包括:BIST检测单元、容错单元、额外控制单元、交叉开关;所述交叉开关是由数据分配器DEMUX、数据选择器MUX和内部链路组成;所述额外控制单元包括:额外数据选择器EMUX;所述容错单元的输出端即为所述交叉开关的输入端;所述路由计算模块根据输入端口所接收的数据包,计算所述数据包在所述交叉开关中的目的输出端口;所述BIST检测单元用于检测所述数据分配器DEMUX、内部链路和数据选择器MUX的故障情况,若检测到发生故障,则将发生故障的相应部件置为“1”,从而形成故障信息表,交叉开关分配模块读取故障信息表中的故障信息进行路径配置;所述交叉开关分配模块根据所述目的输出端口为所述数据包在所述交叉开关内分配传输路径并发送给所述容错单元;所述容错单元根据所述交叉开关分配模块发送的传输路径,获得数据包的输入端口,从而在所述容错单元内部为所述数据包分配相应的容错传输路径,使得所述数据包能通过所述容错传输路径达到所述交叉开关的输入端;本专利技术所述的片上网络中基于路径多样性的交叉开关细粒度容错模块的特点也在于,所述交叉开关分配模块是按如下方式分配传输路径:所述交叉开关分配模块根据数据分配器DEMUX和内部链路所产生的故障信息,为所述
数据包在所述交叉开关内分配无故障的数据分配器DEMUX和内部链路;所述交叉开关分配模块根据数据选择器MUX产生的故障信息,选择所述数据包是否通过所述额外数据选择器EMUX进行传输,仅当传输路径上的数据选择器MUX产生故障,则利用所述额外数据选择器EMUX传输至目的输出端口。本专利技术一种片上网络中基于路径多样性的交叉开关细粒度容错方法的特点是应用于由输入端口、路由计算模块、交叉开关分配模块、交叉开关细粒度容错模块和输出端口所组成的路由器中;所述交叉开关细粒度容错模块包括:BIST检测单元、容错单元、额外控制单元、交叉开关;所述交叉开关是由数据分配器DEMUX、数据选择器MUX和内部链路组成;所述交叉开关细粒度容错方法是按如下步骤进行:步骤1、所述路由计算模块根据所述输入端口所接收的数据包,计算所述数据包在所述交叉开关细粒度容错模块中的目的输出端口;步骤2、所述BIST检测单元检测所述数据分配器DEMUX、内部链路和数据选择器MUX的故障情况,若检测到发生故障,则将发生故障的相应部件置为“1”,从而形成故障信息表,交叉开关分配模块读取故障信息表中的故障信息进行路径配置;步骤3、所述交叉开关分配模块根据所述目的输出端口为所述数据包在所述交叉开关内分配传输路径并发送给所述容错单元;步骤4、所述容错单元根据所述交叉开关分配模块发送的传输路径,获得数据包的输入端口,从而在所述容错单元内部为所述数据包分配相应的容错传输路径,使得所述数据包能通过所述容错传输路径达到所述交叉开关的输入端;步骤5、所述交叉开关分配模块根据所述容错传输路径和传输路径控制所述数据包经过所述交叉开关细粒度容错模块到达所述输出端口,从而完成数据包在所述路由器中的传输。本专利技术所述的片上网络中基于路径多样性的交叉开关细粒度容错方法的特点也在于,所述步骤3是按如下过程进行:步骤3.1、所述交叉开关分配模块根据数据分配器DEMUX和内部链路所产生的故障信息,为所述数据包在所述交叉开关内分配无故障的数据分配器DEMUX和内部链路;步骤3.2、所述交叉开关分配模块根据数据选择器MUX产生的故障信息,选择所述数据包是否通过所本文档来自技高网
...

【技术保护点】
一种片上网络中基于路径多样性的交叉开关细粒度容错模块,是应用于由五个输入端口、路由计算模块、交叉开关分配模块和五个输出端口所组成的路由器中;其特征是,所述交叉开关细粒度容错模块包括:BIST检测单元、容错单元、额外控制单元、交叉开关;所述交叉开关是由数据分配器DEMUX、数据选择器MUX和内部链路组成;所述额外控制单元包括:额外数据选择器EMUX;所述容错单元的输出端即为所述交叉开关的输入端;所述路由计算模块根据输入端口所接收的数据包,计算所述数据包在所述交叉开关中的目的输出端口;所述BIST检测单元用于检测所述数据分配器DEMUX、内部链路和数据选择器MUX的故障情况,若检测到发生故障,则将发生故障的相应部件置为“1”,从而形成故障信息表,交叉开关分配模块读取故障信息表中的故障信息进行路径配置;所述交叉开关分配模块根据所述目的输出端口为所述数据包在所述交叉开关内分配传输路径并发送给所述容错单元;所述容错单元根据所述交叉开关分配模块发送的传输路径,获得数据包的输入端口,从而在所述容错单元内部为所述数据包分配相应的容错传输路径,使得所述数据包能通过所述容错传输路径达到所述交叉开关的输入端...

【技术特征摘要】
1.一种片上网络中基于路径多样性的交叉开关细粒度容错模块,是应用于由五个输入端口、路由计算模块、交叉开关分配模块和五个输出端口所组成的路由器中;其特征是,所述交叉开关细粒度容错模块包括:BIST检测单元、容错单元、额外控制单元、交叉开关;所述交叉开关是由数据分配器DEMUX、数据选择器MUX和内部链路组成;所述额外控制单元包括:额外数据选择器EMUX;所述容错单元的输出端即为所述交叉开关的输入端;所述路由计算模块根据输入端口所接收的数据包,计算所述数据包在所述交叉开关中的目的输出端口;所述BIST检测单元用于检测所述数据分配器DEMUX、内部链路和数据选择器MUX的故障情况,若检测到发生故障,则将发生故障的相应部件置为“1”,从而形成故障信息表,交叉开关分配模块读取故障信息表中的故障信息进行路径配置;所述交叉开关分配模块根据所述目的输出端口为所述数据包在所述交叉开关内分配传输路径并发送给所述容错单元;所述容错单元根据所述交叉开关分配模块发送的传输路径,获得数据包的输入端口,从而在所述容错单元内部为所述数据包分配相应的容错传输路径,使得所述数据包能通过所述容错传输路径达到所述交叉开关的输入端。2.根据权利要求1所述的片上网络中基于路径多样性的交叉开关细粒度容错模块,其特征是,所述交叉开关分配模块是按如下方式分配传输路径:所述交叉开关分配模块根据数据分配器DEMUX和内部链路所产生的故障信息,为所述数据包在所述交叉开关内分配无故障的数据分配器DEMUX和内部链路;所述交叉开关分配模块根据数据选择器MUX产生的故障信息,选择所述数据包是否通过所述额外数据选择器EMUX进行传输,仅当传输路径上的数据选择器MUX产生故障,则利用所述额外数据选择器EMUX传输至目的输出端口。3.一种片上网络中基于路径多样性的交叉开关细粒度容错方法,其特征是应用于由输入端口、路由计算模块、交叉开关分配模...

【专利技术属性】
技术研发人员:欧阳一鸣笪健蒋哲远黄正峰梁华国易茂祥汪秀敏许晓琳
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1