《针对3DNOC中TSV故障分级的容错方法.pdf》由会员分享,可在线阅读,更多相关《针对3DNOC中TSV故障分级的容错方法.pdf(8页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104133732A43申请公布日20141105CN104133732A21申请号201410284216522申请日20140623G06F11/0720060171申请人合肥工业大学地址230009安徽省合肥市屯溪路193号72发明人欧阳一鸣韩倩倩梁华国黄正峰陈义军张一栋常郝74专利代理机构安徽合肥华信知识产权代理有限公司34112代理人余成俊54发明名称针对3DNOC中TSV故障分级的容错方法57摘要本发明公开了一种3DNOC中TSV故障分级的容错方法,将TSV及数据位均分为四组,若TSV故障状态值在6以内,则通过利用剩余可用TSV实现组与组间及组内数据位间的串行传输。
2、,否则使用局域化的容错路由算法,先在本地存储的TSV状态表中找出最优TSV的地址,并将其作为临时目的地址添加到数据包头部以完成层间通信。本发明方案通过判定TSV链路的故障等级选择相应的容错方法,在保证系统拥有较高可靠性的同时,减少可用资源的浪费。51INTCL权利要求书1页说明书4页附图2页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图2页10申请公布号CN104133732ACN104133732A1/1页21一种针对3DNOC中TSV故障分级的容错方法,其特征在于操作步骤如下A、对TSV链路进行故障测试,得到TSV链路中各TSV位线的故障状态;B、对TSV链路。
3、中各组TSV的故障状态进行判定,若无TSV故障则将该组故障状态标记为002,若组内故障TSV数1/2组内TSV数,则将该组故障状态标记为012,否则将其故障状态标记为102;对于002组所对应的数据一次传输完毕;对于012组所对应的数据分两次传输;102组所对应的数据通过非102组TSV进行传输,当四组TSV状态值之和大于6时,该TSV链路不可用;C、对于TSV链路存在故障且仍可用时,数据通过TSV进行串行传输;D、对于不可用的TSV链路,数据通过局域化的容错路由算法,找出最优TSV完成传输。2根据权利要求1所述的针对3DNOC中TSV故障分级的容错方法,其特征在于步骤C中所述的的串行传输为当。
4、存在102故障状态组时,需进行组与组间的串行传输;若存在012故障状态组,需进行组内的数据串行传输,在组间串行传输时,串行控制器首先让002/012组传输数据,当其中一组传输完毕后,串行控制器将102组对应的数据分配到该组上传输即可,在进行组内数据串行传输时,首先将无故障TSV所对应的数据位发送出去,第二周期再将剩余数据位分配到无故障TSV上传输即可。3根据权利要求1所述的针对3DNOC中TSV故障分级的容错方法,其特征在于步骤D所述的局域化的容错路由算法为首先,每个路由器均需存储距离该节点两跳内各节点UP/DOWNTSV可用状态的TSV状态表,其次,将TSV表在逻辑上将分为四个区域,最后,当。
5、IP核需要层间通信时,在数据包发往网络之前,根据目的节点方向来选择查找TSVUPTABLE/TSVDOWNTABLE,采用由近至远的方式选出可用的TSV地址,将该TSV地址作为临时目的地址放在数据包头部,利用XYYX路由算法找到该地址后,去掉临时数据包头,根据原目的地址继续传输即可。权利要求书CN104133732A1/4页3针对3DNOC中TSV故障分级的容错方法技术领域0001本发明涉及集成电路芯片的应用技术领域,尤其涉及一种针对3DNOC中TSV故障分级的容错方法。背景技术00023DIC技术是通过短且密集的THROUGHSILICONVIA(TSV)将多层硅片堆叠在一起,缩短了链路长度。
6、,增加了链路带宽,从而提高网络性能并降低通讯延时,在半导体产业已获得可观收益。虽然在集成系统中使用3DNETWORKONCHIP(NOC)架构相比传统2DNOC具有更多优点,但存在多种因素会导致3D架构变成非全互连。其原因可分为两个方面1、因TSV故障而导致的非全互连。在3DIC的封装过程中,由于制造TSV时可能产生空隙或气泡,绑定时TSV与衬垫不重合,以及在焊接过程TSV间短路或TSV与衬垫间开路均会导致TSV故障。同时,TSV在使用过程中也容易出现故障。00032、在某些特定应用中因各个模块大小不一(上层一个IP核的面积与下层若干个IP核总面积相当,而上层的IP核只与下层中一个IP核通过T。
7、SV相连)而导致3DNOC非全互连。0004由TSV故障而导致的非全互连,可引起系统性能下降,甚至可能引起NOC通讯系统工作的停止,或者死锁甚至可能使整个芯片报废。因此,在3DNOC中对TSV进行硬件容错变得尤为重要。同时,要保证非全互连3DNOC架构下的系统性能,对容错路由算法的研究也必不可少。一般对于TSV容错的方案可分为三类1、采用冗余TSV,为达到一定的容错能力,需要添加足够多的冗余TSV,带来较大的面积和功耗开销,且只能容数量有限的TSV故障。00052、对TSV进行加固,当TSV链路故障时,利用该链路内剩余可用TSV串行传输数据,减少了因TSV故障而带来的系统性能降低,但在不添加冗。
8、余TSV的情况下容错性能不高。00063、采用容错路由算法绕过故障节点,但是这种方法会带来延时和功耗的增加以及系统性能的下降,并且会带来部分系统无故障资源的浪费。0007发明内容0008本发明目的就是为了弥补已有技术的缺陷,提供一种针对3DNOC中TSV故障分级的容错方法。0009本发明是通过以下技术方案实现的一种针对3DNOC中TSV故障分级的容错方法,操作步骤如下A、对TSV链路进行故障测试,得到TSV链路中各TSV位线的故障状态;B、对TSV链路中各组TSV的故障状态进行判定,若无TSV故障则将该组故障状态标记为002,若组内故障TSV数1/2组内TSV数,则将该组故障状态标记为012,。
9、否则将其说明书CN104133732A2/4页4故障状态标记为102;对于002组所对应的数据一次传输完毕;对于012组所对应的数据分两次传输;102组所对应的数据通过非102组TSV进行传输,当四组TSV状态值之和大于6时,该TSV链路不可用;C、对于TSV链路存在故障且仍可用时,数据通过TSV进行串行传输;D、对于不可用的TSV链路,数据通过局域化的容错路由算法,找出最优TSV完成传输。0010步骤C中所述的的串行传输为当存在102故障状态组时,需进行组与组间的串行传输;若存在012故障状态组,需进行组内的数据串行传输,在组间串行传输时,串行控制器首先让002/012组传输数据,当其中一组。
10、传输完毕后,串行控制器将102组对应的数据分配到该组上传输即可,在进行组内数据串行传输时,首先将无故障TSV所对应的数据位发送出去,第二周期再将剩余数据位分配到无故障TSV上传输即可。0011步骤D所述的局域化的容错路由算法为首先,每个路由器均需存储距离该节点两跳内各节点UP/DOWNTSV可用状态的TSV状态表,其次,将TSV表在逻辑上将分为四个区域,最后,当IP核需要层间通信时,在数据包发往网络之前,根据目的节点方向来选择查找TSVUPTABLE/TSVDOWNTABLE,采用由近至远的方式选出可用的TSV地址,将该TSV地址作为临时目的地址放在数据包头部,利用XYYX路由算法找到该地址后。
11、,去掉临时数据包头,根据原目的地址继续传输即可。0012本发明的优点是本发明是将TSV的硬件加固方法与容错路由算法相结合,在不同TSV故障状态下,采用相应的容错措施,当TSV故障状态值在一定范围内时,数据可通过重映射分多次传输出去,如此不但可以充分利用故障TSV链路中剩余可用的TSV,还能够降低因TSV链路故障造成的网络拥塞,当TSV链路确定不可用时,通过局域化的容错路由算法完成层间通信,保证了系统的可靠性,同时由于提出的路由算法可使数据包尽可能在最短路径上传输,也减少了延时及功耗开销。附图说明0013图1为N位数据可重映射的容错TSV架构。0014图2为故障检测过程。0015图3为TSV故障。
12、诊断向量对应的分组状态标记。0016图4为15种组合方式下所需的周期数。0017图5为TSV状态表。0018图6为第四象限查找顺序。具体实施方式0019一种针对3DNOC中TSV故障分级的容错方法,操作步骤如下A、对TSV链路进行故障测试,得到TSV链路中各TSV位线的故障状态;B、对TSV链路中各组TSV的故障状态进行判定,若无TSV故障则将该组故障状态标记为002,若组内故障TSV数1/2组内TSV数,则将该组故障状态标记为012,否则将其故障状态标记为102;对于002组所对应的数据一次传输完毕;对于012组所对应的数据分两次传输;102组所对应的数据通过非102组TSV进行传输,当四组。
13、TSV状态值之和大于6时,该TSV链路不可用;说明书CN104133732A3/4页5C、对于TSV链路存在故障且仍可用时,数据通过TSV进行串行传输;D、对于不可用的TSV链路,数据通过局域化的容错路由算法,找出最优TSV完成传输。0020为最大限度的利用链路带宽,本发明将TSV与数据位均分为四组。N位数据可重映射的容错TSV架构,具体如图1所示。0021TSV故障测试为保证数据正确传输,需在路由器中添加用来判定TSV是否故障的诊断模块。该模块在系统启动或运行异常时,向TSV链路发送两个测试向量0、1。若TSV功能均良好,下游接收到的测试响应为0、1,若TSV存在故障,下游接收到的测试响应中。
14、对应故障TSV的响应均为0,具体如图2所示。0022TSV链路故障状态判定为避免资源浪费且不增加网络通信负担,本发明对故障TSV链路通过串行化方式传输数据。图1中串行控制器接收到FAULT_VECTORTSV故障诊断向量后,分析07、815、1623及2431各组中TSV故障数,并判定该组的故障状态。若无TSV故障则将该组故障状态标记为(00)2;若组内故障TSV数1/2组内TSV数,则将该组故障状态标记为(01)2;否则将其故障状态标记为(10)2。如图3所示,故障诊断向量里的0表示TSV故障,1表示TSV功能良好,每8位下的00/01/10代表该组的故障状态。对于(01)2状态组所对应的数。
15、据将分两次传输,即需要两个周期才能传输完毕。(10)2状态组所对应的数据可通过非(10)2组TSV进行传输。0023四个分组三种状态可有15种组合方式,具体如图4所示。在15种组合方式中有13种所需周期数均小于等于4。经分析可知,这13种组合方式下4组状态值之和均小于等于6,即M(00)2N(01)2T(10)26(其中M、N、T表示对应状态的个数)。当状态值之和大于6时,串行控制器通过TSV_AVAILABLE信号线告知路由器,其TSV链路不可用。0024TSV串行传输数据本发明提出的串行可分两类,一类是存在102组时,组与组间的串行传输;一类是存在012组时,组内数据的串行传输。当需要组间。
16、串行时,串行控制器会首先让002/012组传输数据,当其中一组传输完毕后,串行控制器将102组对应的数据分配到该组上传输即可。当进行组内数据串行传输时,首先将无故障TSV所对应的数据位发送出去,第二周期再将剩余数据位分配到无故障TSV上传输即可。0025局域化的容错算法本发明提出的局域化容错算法要求每个路由器需存储距离该节点两跳内各节点UP/DOWNTSV的可用状态,如图5所示。给出了节点(2,2,0)与节点(0,4,0)存储的UPTSV状态表。由于图中的3D架构只有两层,所以底层路由器只需存储一张TSVUPTABLE。表中阴影部分不存储数据,横向代表X坐标,纵向代表Y坐标,表中的1表示TSV。
17、无故障,0表示有故障。0026本发明在逻辑上将TSV表分为四个区域,若网络规模为NN的2DMESH,当前节点C的坐标为(XC,YC),则以C为中心所确定的四个区域坐标关系具体如下所示第一区域XCXXN1YCYYN1;第二区域X0XXCYCYYN1;第三区域X0XXCY0YYC;说明书CN104133732A4/4页6第四区域XCXXN1Y0YYC;当IP核需要层间通信时,在数据包发往网络之前,根据目的节点方向来选择查找TSVUPTABLE/TSVDOWNTABLE,并选出可用的最优TSV地址。查找最优TSV的方法是,若当前节点的TSV故障,则根据目的节点在本层上的映射节点与当前节点的相对距离由。
18、近至远的方式逐一查找,见图6。0027图6给出了第四区域内的查找顺序,其中1、2节点离当前节点C的网络距离为一跳,3、4、5节点离C两跳。0028若该区域中无可用TSV,再根据映射节点更偏向哪一区域,并查找该区域内距离当前节点为一跳的TSV是否可用。若仍不可用再查找另一相邻区域内距离当前节点一跳的TSV是否可用,否则查找相反区域中距离当前节点一跳的TSV是否可用。若其它三个区域中距离当前节点为一跳的TSV均不可用,再按此顺序在三个区域中查找离当前节点两跳的TSV是否可用。比如映射节点在第四区域,若该区域中无可用TSV且映射节点比较靠近第一区域,则先查看该区域中距离C为一跳的TSV是否可用,否则。
19、在第三区域中查找距离C为一跳的TSV是否可用,若仍未查到,再查找第二区域中距离C为一跳的TSV是否可用。若距离C为一跳的TSV均不可用,再按此顺序查找距离C为两跳的TSV是否可用。0029对于大规模网络来说,本发明查找到的TSV地址不一定最优,但相比最优传输路径只多出四跳,因在TSV表中查找到的TSV地址节点与当前节点间的距离最多为两跳。0030若本地TSV可用,则根据目的节点所在方向,直接将数据包向上/向下传输,到达上/下层后再根据本发明的整体方案继续传输。若本地TSV不可用,在找到最优TSV的地址后,将其作为临时目的地址添加到临时数据包头中,使用XYYX路由算法找到临时目的节点。到达目的节点后去掉临时数据包头,再根据目的节点的方向继续传输,直至到达目的节点。说明书CN104133732A1/2页7图1图2图3说明书附图CN104133732A2/2页8图4图5图6说明书附图CN104133732A。