基于门级症状的硬件故障检测方法

文档序号:6526516阅读:217来源:国知局
基于门级症状的硬件故障检测方法
【专利摘要】基于门级症状的硬件故障检测方法,基于门级症状的硬件故障检测方法领域。解决了目前没有对门级症状检测而获得硬件故障问题。本发明所述的基于门级症状的硬件故障检测方法,所述硬件故障检测方法是基于检测门极症状实现硬件故障检测,所述门极症状为无效包IPacket、处理器挂起或应用超时,本发明分别对无效包IPacket、处理器挂起或应用超时,三种症状进行检测,从而实现硬件故障的检测。本发明具体应用在硬件故障检测领域。
【专利说明】基于门级症状的硬件故障检测方法
【技术领域】
[0001 ] 本发明属于硬件故障检测方法领域。
【背景技术】
[0002]随半导体工艺的进步,晶体管和线网的几何尺寸不断缩小,但供电电压却无法等比缩小,这使电流密度增加、温度升高,集成电路易感性增加。工艺进步引领处理器步入多核时代,以 CMT、CMP (Chip Mult1-Processor)为代表的多核 / 众核(mult1-core/manycore)架构成为主流。核间甚至核内晶体管几何尺寸的不一致性,加速了某些器件的降级而使其更倾向于失效。这些因素导致处理器生命期难以预测,迫切需要相应的保护机制。
[0003]纳米工艺下,组合逻辑易感性迅速升高,即将赶超时序逻辑。一方面由于其不规则性难于防护;另一方面,由于三种屏蔽效果(电气屏蔽、逻辑屏蔽和锁存窗口屏蔽)而对其防护重视不足。
[0004]G.P.Saggese对一款DLX RISC处理器故障注入研究表明:组合逻辑对持续时间为
I个时钟周期的瞬时故障敏感度达到4.2%,其影响已不可忽视。物理实现中,处理器内组合逻辑所占的芯片面积常超过时序逻辑,以DLX RISC为例90%的外显故障来自于组合逻辑
[84],与此类似,本章结果表明有94.7%的故障源自于组合逻辑。ECC和奇偶校验等传统机制,对时序逻辑保护性能优异。但有研究发现对于乱序架构处理器,90%以上的测试基准发生单比特翻转后被校验和检出的概率低于50%。因为乱序架构处理器读取操作数时指令已经流出流水线。
[0005]因此保护机制的设计必须对组合逻辑予以足够重视,同时兼顾组合与时序两类器件的保护机制具有明显的竞争优势。
[0006]故障检测相关研究由来已久,利用ECC或奇偶校验等利用信息论手段对时序逻辑进行防护非常普遍,但对于组合逻辑却难于防护。研究发现乱序架构处理器90%以上组合逻辑发生的单比特翻转故障,能够被传统机制检出的概率低于50%。在特殊应力条件下通过测试筛除潜在故障,也是一种流行的方式,典型如burn-1n加速测试等。此外,诸多测试电路已内嵌于芯片中,供处理器生命期中进行故障检测与测试。
[0007]近年处理器内部件级细粒度检测技术逐渐涌现。代表性的针对处理器时序逻辑部件的检测机制有Memory Order Buffer、Register files和Cache等;针对处理器组合逻辑的检测机制有ALU、Wire等。这类技术利用某类部件的特性实现故障检测或测试,缺乏通用性。
[0008]如DIVA、RMT等机制通过时空冗余方式实现故障检测。冗余技术兼顾组合、时序两类部件,且成功覆盖不同的故障类型通用性强,但引入的时空代价过高。
[0009]随工艺进步,间歇故障频发,已成为集成电路与多核处理器可靠性的重要障碍,目前未见相关检测机制对间歇故障有效性的权威性报道。可以预计,兼顾组合与时序两类器件且成功覆盖间歇故障的低代价保护机制将具有明显优势。
[0010]故障未传播到处理器结构级就引发故障表现,该类执行结果列为门级事件。由于故障传播而引发同步指令错误(包括存数、取数或分支指令),该类执行结果列为访存级事件。故障破坏了处理器结构级状态,但未引发同步指令错误,该类结果被列为结构级事件。每个层级的故障表现,包括可检症状(symptoms)、屏蔽(mask)和错误结果SDC(Silent DataCorruption)等。其中可检测症状包括:无效包IPacket、应用超时和处理器挂起。

【发明内容】

[0011]本发明是为了解决目前没有对门级症状检测而获得硬件故障问题,本发明提供了一种基于门级症状的硬件故障检测方法。
[0012]基于门级症状的硬件故障检测方法,所述硬件故障检测方法是基于检测门极症状实现硬件故障检测。
[0013]所述的基于门级症状的硬件故障检测方法,所述门极症状为无效包IPacket、处理器挂起或应用超时。
[0014]所述的基于门级症状的硬件故障检测方法,该硬件故障检测方法是基于捕获无效包IPacket症状实现的,该方法是基于PCX接口结构实现的,该PCX接口结构的8个控制信息输入输出端分别通过独立总线与8个CPU核连接,PCX接口结构通过4条独立的总线分别与4个L2Cache连接,所述的L2Cache表示二级缓存,PCX接口结构通过I条总线同时与I/O端口和FPU处理器连接,
[0015]二级缓存用于对CPU核的请求进行校验与处理,之后进行访存并将请求的数据包通过crossbar (交叉开关矩阵或纵横式交换矩阵,请发明人给出准确的翻译内容)返回给(PU核,数据包中的无效包IPacket为Invalid[有不同的翻译结果,请发明人给出准确内容]数据包,
[0016]该方法的具体过程为,
[0017]无效包IPacket用于通知系统当前请求的数据正在进行其它操作,
[0018]对于Invalid数据包,其有效标位为0,通过crossbar对Invalid数据包的有效位修改,即实现无效包的捕获,检测出硬件发生故障。所述的基于门级症状的硬件故障检测方法,该硬件故障检测方法是基于检测应用超时症状实现的,该方法是基于last_aCt_CyCle寄存器、Th_last_act_cycle [63:0]、Global_cycle_cnt 寄存器和 core_cycle_cnt 实现的,
[0019]last_act_cycle寄存器用来指示处理器最近活跃的周期数,
[0020]Th_last_act_cycle [63:0]指示CMT中线程最近活跃的周期数,
[0021]Global_CyCle_Cnt寄存器用于记录被测模块的运行周期数,该寄存器由系统时钟控制,
[0022]core_cycle_cnt代表被测核的运行周期数,
[0023]该方法的具体过程为,
[0024]处理器执行过程时对以上寄存器进行更新,并根据上述信息进行应用超时检测,CPU内每一个线程都有一个thread_running寄存器,标定本线程是否活跃,由tcu_core_running[7:0]中对应的信号初始化并开始对线程运行状态进行监视,
[0025]当指令完成流出流水时,用core_cycle_cnt更新last_act_cycle寄存器,并同时更新 th_last_act_cycle [63:0]内容;
[0026]当core_cycle_cnt 与被监视线程 th_last_act_cycle[mytnum]执行的周期数大于指定门限时,则线程级应用超时症状被捕获;
[0027]当core_cycle_cnt与被监视的last_act_cycle大于门限时,贝U全局应用超时症状被捕获,检测出硬件发生故障。所述的基于门级症状的硬件故障检测方法,该硬件故障检测方法是基于检测处理器挂起症状实现的,该方法的具体过程为,利用启发式算法对挂起检测器进行改进,通过对分支指令的监测来识别紧循环并对循环迭代次数累加,当其超过门限挂起症状被捕获,检测出硬件发生故障。故障注入方法:
[0028]为全面地考察间歇故障特性,实验采用瞬时、永久和间歇故障三种故障类型和六种故障模型,并采用不同的故障参数。
[0029]间歇故障活跃时间Ta参数分别在[0.01T-0.1T]、[0.1T-1T]和[1T-10T]三种配置下随机生成;爆发长度Lburst则分别采用2、4和8,这用以模拟进深的老化过程。瞬时故障的持续时间则在[0.01T-0.1T]配置下随机生成,永久故障一经注入就持续到仿真结束。
[0030]为探讨间歇故障的不同特性,采用瞬时、永久和间歇故障对照进行故障注入的方式,故障模型与故障参数的对应关系见表4-1所示。
[0031]表4-1故障注入方法与故障模型
[0032]
【权利要求】
1.基于门级症状的硬件故障检测方法,其特征在于,所述硬件故障检测方法是基于检测门极症状实现硬件故障检测。
2.根据权利要求1所述的基于门级症状的硬件故障检测方法,其特征在于,所述门极症状为无效包IPacket、处理器挂起或应用超时。
3.根据权利要求2所述的基于门级症状的硬件故障检测方法,其特征在于,该硬件故障检测方法是基于捕获无效包IPacket症状实现的,该方法是基于PCX接口结构实现的,该PCX接口结构的8个控制信息输入输出端分别通过独立总线与8个CPU核连接,PCX接口结构通过4条独立的总线分别与4个L2Cache连接,所述的L2Cache表示二级缓存,PCX接口结构通过I条总线同时与I/O端口和FPU处理器连接, 二级缓存用于对CPU核的请求进行校验与处理,之后进行访存并将请求的数据包通过crossbar返回给CPU核,数据包中的无效包IPacket为Invalid数据包, 该方法的具体过程为, 无效包IPacket用于通知系统当前请求的数据正在进行其它操作, 对于Invalid数据包,其有效标位为0,通过crossbar对Invalid数据包的有效位修改,即实现无效包的捕获,检测出硬件发生故障。
4.根据权利要求2所述的基于门级症状的硬件故障检测方法,其特征在于,该硬件故障检测方法是基于检测应用超时症状实现的,该方法是基于last_act_cycle寄存器、Th_last_act_cycle [63:0] > Global_cycle_cnt 寄存器和 core_cycle_cnt 实现的, last_act_cycle寄存器用来指示处理器最近活跃的周期数, Th_last_act_cycle [63:0]指示CMT中线程最近活跃的周期数, Global_CyCle_Cnt寄存器用于记录被测模块的运行周期数,该寄存器由系统时钟控制, core_cyc I e_cnt代表被测核的运行周期数, 该方法的具体过程为, 处理器执行过程时对以上寄存器进行更新,并根据上述信息进行应用超时检测,CPU内每一个线程都有一个thread_running寄存器,标定本线程是否活跃,由tcu_core_running[7:0]中对应的信号初始化并开始对线程运行状态进行监视, 当指令完成流出流水时,用core_cycle_cnt更新last_act_cycle寄存器,并同时更新th_last_act_cycle[63:0]内容; 当core_cycle_cnt与被监视线程th_last_act_cycle[mytnum]执行的周期数大于指定门限时,则线程级应用超时症状被捕获; 当core_cycle_cnt与被监视的last_act_cycle大于门限时,贝U全局应用超时症状被捕获,检测出硬件发生故障。
5.根据权利要求2所述的基于门级症状的硬件故障检测方法,其特征在于,该硬件故障检测方法是基于检测处理器挂起症状实现的,该方法的具体过程为,利用启发式算法对挂起检测器进行改进,通过对分支指令的监测来识别紧循环并对循环迭代次数累加,当其超过门限挂起症状被捕获,检测出硬件发生故障。
【文档编号】G06F11/22GK103744760SQ201310743467
【公开日】2014年4月23日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】崔刚, 傅忠传, 王超, 朱东杰, 潘波, 王秀峰, 季春光, 张明, 王彦, 张毕英, 张策 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1