法律状态公告日
法律状态信息
法律状态
2019-07-02
专利权的转移 IPC(主分类):G06F11/22 登记生效日:20190613 变更前: 变更后: 申请日:20131229
专利申请权、专利权的转移
2016-08-31
授权
授权
2014-06-04
实质审查的生效 IPC(主分类):G06F11/22 申请日:20131229
实质审查的生效
2014-04-30
公开
公开
技术领域
本发明属于硬件故障诊断领域。
背景技术
与瞬时故障和永久故障相比,处理器间歇故障相关诊断方法的研究发展较为缓慢。主要原因在于,半导体制造工艺兴起时特征尺寸较大,处理器设备(例如晶体管)寿命受特征尺寸影响尚不显著,因此间歇故障相关研究尚处于高层级或理论论证阶段。1975年,文献[89]论证了系统架构对间歇故障可诊断性的影响。1992年,文献[90]提出一种多处理器架构下间歇故障诊断方法等。然而,随着对摩尔定律的恪守,制造工艺激进,特征尺寸步入纳米时代,栅氧厚度迫近原子极限。2002年英特尔90纳米工艺栅氧厚度为1.2纳米厚,仅相当于五个原子摞在一起的厚度。在这样的背景下,半导体设备老化问题日趋严重,间歇故障频发,已威胁到处理器生命期,间歇故障诊断机制需求日益迫切。
M.L.Li等基于重执行的思想,在高层级提出处理器永久故障诊断机制SWAT(SoftWare Anomely Treatment)。该机制前提假设应用场景为多核,且至少有一个核是可靠的。当处理器内某核出现故障时,SWAT对其上的线程重执行,故障消失,则说明核发生瞬时故障;否则,将线程上下文迁移至无故障核重新执行,如果执行结果正确,则该核被诊断为永久故障;除上述两种情况之外,则认为是软件故障。我们认为SWAT诊断策略可以从以下几方面得到提升。首先,SWAT诊断粒度为核级(Core level)。虽然多核内有多个硬件核可供使用,但相对于更细粒度的部件(例如功能单元)来说,核仍然是更加宝贵的计算资源。部件级诊断(Unit level)至少带来两方面的优势:
(1)对多核架构而言,如果能给出部件级诊断结果,就可以暂时关闭故障部件,以保持线程内其他资源的可用性。例如,对于UltraSPARC T2来说,每个核内有8个硬线程和4条流水线。其中有2条整型流水、1条浮点流水、1条访存流水。如果诊断1条整型流水中的ALU发生故障,可以只关闭该条流水,这就保证了故障核内的8条线程继续正确执行整型、浮点和访存操作。
(2)为提升多核处理器流片成功率,在设计时常常对核内关键部件实施冗余策略。流片过程中一旦某部件出现加工失效(Manufacturing defect),可将该部件关闭或使用E-Fuse等技术以保证整块芯片的可用性。这就恰好给部件级诊断提供了“天然”的资源池,当出现部件级故障时对冗余部件加以利用以达到不降低硬件性能的理想效果。
发明内容
本发明是为了解决现有在线硬件故障诊断系统的诊断准确率低的问题,本发明提供了一种基于神经网络的硬件故障诊断系统。
基于神经网络的硬件故障诊断系统,它包括症状收集单元、神经网络诊断单元、仲裁单元和故障恢复单元;
所述的症状收集单元内设有计数器,该症状收集单元用于收集故障传播过程中外显的高层级症状,通过计数器在症状线程重新执行的过程中,持续对症状触发次数进行累加,并计算到达率,之后,将到达率送至神经网络诊断单元进行诊断,所述的到达率为症状信息;
神经网络诊断单元用于对症状收集单元送来的症状信息进行分类,并输出诊断结果至仲裁单元,
仲裁单元用于对诊断结果进行汇总,汇总的诊断结果中包括非法结果和合法结果,且仲裁单元用于对非法结果进行筛查,若筛查出非法结果,则通知症状收集单元对出现症状的线程进行重新执行,直至出现合法结果,并将该合法结果发送至故障恢复单元,若未筛查出非法结果,则直接将汇总的诊断结果发送至故障恢复单元,
故障恢复单元用于在接收到诊断结果后,根据所述诊断结果对故障部件的处理,实现故障恢复。
诊断结果包括故障模型和故障部件两部分,只有两部分均正确,才是正确诊断,否则即为诊断错误。实验通过离线训练得到若干组局部最优解;之后,利用局部最优解进行全局诊断,经排序得出全局最优解;最终,得出诊断准确率。假设,每一时刻系统中只有一个部件发生故障,且故障模型确定。实验过程中,共对3个故障部件、3类故障模型完成了10个Mibench测试基准的故障注入,每个故障模型、故障部件和测试基准,进行300次故障注入实验;每测试基准一共进行43200次故障注入,其中,间歇故障36000次(300次*3功能模块*4爆发长度*10测试基准),瞬时故障3600次,永久故障3600次;实验结果和数据具体参见图2至7所示,
实验表明:瞬时故障、间歇故障和永久故障的诊断准确率分别达到了84.4%、95.7%和96.6%,这证明了基于高层级症状的神经网络诊断方法的有效性;
如图2至7给出了本发明所述的基于神经网络的硬件故障诊断系统对故障模型和故障部位的诊断结果,且图2至图7均采用mibench中的典型测试基准,包括:basicmath,dijkstra,FFT,qsort和stringsearch,除瞬时故障以外,除瞬时故障以外,永久故障和间歇故障的诊断准确率超过了95%,且诊断准确率快速收敛,大多数诊断实例在10次以内 收敛。这说明:对于刚刚进入老化期的间歇故障部件、和刚刚表现出永久故障特性的部件进行故障诊断十分有效。Dijkstra和FFT对于算逻部件诊断准确率为0,经对数据进行分析,原因是将瞬时故障误诊为爆发长度为2的间歇故障。这主要由于两者的爆发长度十分接近(瞬时故障爆发长度为1)而导致产生症状行为的区分度不高而导致。
通常情况下,人们希望得到捕获症状后,系统第一诊断的准确率。表5-4给出了诊断准确率。
表5-4诊断准确率
对于三种故障模型,间歇故障和永久故障的诊断率高于瞬时故障。前两者对于部件的准确率到达99%以上,对于模型的诊断准确率也在97.86%以上。瞬时故障的首周期准确率相比较低,尤其是故障模型,只有84.24%,主要原因在于对算逻部件的故障模型诊断率只有56.97%。该部件瞬时故障与间歇故障爆发长度为2的症状行为类似,导致两者特征样本交杂在样本空间中,难于区分。需要注意到,瞬时故障的爆发长度为1,从第二个诊断周期开始,故障不再激活(对于单比特翻转故障而言),症状将完全消失,而对于间歇和永久故障,症状将会反复或者持续产生。因此,瞬时故障症状经多周期诊断的结果会明显高于首周期诊断准确率。总之,本发明所述的基于神经网络的硬件故障诊断系统首周期诊断准确率为99.11%(故障部件)和95.75%(故障模型),证明了该系统诊断的有效性。
诊断延迟在1K条指令以内,延迟允许轻量级硬件检查点对故障进行恢复。
本发明提供的基于神经网络的硬件故障诊断系统不仅可以实现三种故障模型——瞬时故障、永久故障和间歇故障的精确诊断,而且可以实现处理器内典型的组合逻辑部件,包括:地址生成单元、解码单元和算逻单元进行的部件级诊断。
本发明系统采用捕获症状的方式进行诊断,也就是说,只有系统中有故障症状产生,本发明所述的基于神经网络的硬件故障诊断系统才会启动。而在诊断周期启动后,该系统进行(一个或多周期直至症状消失的)集中诊断。因此,可以说是一种被动检测、主动诊断的方式。在这一点上,与周期性测试类检测技术有所区别。周期性测试通过指定间隔时间运行测试代码进行故障检测,也就是说,在没有故障发生的情况下,测试代码仍要周期性运行,是一种主动检测、主动诊断的方式。
从以下三个方面来看,被动检测、主动诊断的方式具有优势:
1.间歇故障具有非周期性和不可重现性。故障传播引发症状,被检测方法捕获的方式更具针对性。
2.间歇故障由器件老化引起,通常在系统服役一定时间后引发。在故障未激活的漫长等待期,周期性测试会增加系统负担。因此,应采用被动的检测方式。
3.间歇故障和永久故障属于不可逆的物理损伤,是不可容忍的,一旦出现应尽快诊断、替换故障器件。因此,需要采用主动诊断的方式。
综上,在保证不降低故障覆盖率的前提下,被动检测的方式可以有效降低系统代价。
附图说明
图1为本发明所述的基于神经网络的硬件故障诊断系统的原理示意图;
图2为具体实施方式一中,在瞬时故障时,诊断结果为故障部件的准确率;
图3为具体实施方式一中,在瞬时故障时,诊断结果为故障模型的准确率;
图4为具体实施方式一中,在间隙故障时,诊断结果为故障部件的准确率;
图5为具体实施方式一中,在间隙故障时,诊断结果为故障模型的准确率;
图6为具体实施方式一中,在永久故障时,诊断结果为故障部件的准确率;
图7为具体实施方式一中,在永久故障时,诊断结果为故障模型的准确率。
具体实施方式
具体实施方式一:参见图1说明本实施方式,本实施方式所述的基于神经网络的硬件故障诊断系统,它包括症状收集单元1、神经网络诊断单元2、仲裁单元3和故障恢复单元4;
所述的症状收集单元1内设有计数器,该症状收集单元1用于收集故障传播过程中外显的高层级症状,通过计数器在症状线程重新执行的过程中,持续对症状触发次数进行累加,并计算到达率,之后,将到达率送至神经网络诊断单元2进行诊断,所述的到达率为症状信息;
神经网络诊断单元2用于对症状收集单元1送来的症状信息进行分类,并输出诊断结果至仲裁单元3,
仲裁单元3用于对诊断结果进行汇总,汇总的诊断结果中包括非法结果和合法结果,且仲裁单元3用于对非法结果进行筛查,若筛查出非法结果,则通知症状收集单元1对出现症状的线程进行重新执行,直至出现合法结果,并将该合法结果发送至故障恢复单元4,若未筛查出非法结果,则直接将汇总的诊断结果发送至故障恢复单元4,
故障恢复单元4用于在接收到诊断结果后,根据所述诊断结果对故障部件的处理,实 现故障恢复。
本实施方式中,诊断结果包括故障模型和故障部件两部分。只有两部分均正确,才是正确诊断,否则即为诊断错误。实验通过离线训练得到若干组局部最优解;之后,利用局部最优解进行全局诊断,经排序得出全局最优解;最终,得出诊断准确率。假设,每一时刻系统中只有一个部件发生故障,且故障模型确定。实验过程中,共对3个故障部件、3类故障模型完成了10个Mibench测试基准的故障注入,每个故障模型、故障部件和测试基准,进行300次故障注入实验;每测试基准一共进行43200次故障注入,其中,间歇故障36000次(300次*3功能模块*4爆发长度*10测试基准),瞬时故障3600次,永久故障3600次;实验结果和数据具体参见图2-7所示,
实验表明:瞬时故障、间歇故障和永久故障的诊断准确率分别达到了84.4%、95.7%和96.6%,这证明了基于高层级症状的神经网络诊断方法的有效性;
如图2至7给出了本发明所述的基于神经网络的硬件故障诊断系统对故障模型和故障部位的诊断结果,且图2至图7均采用mibench中的典型测试基准,包括:basicmath,dijkstra,FFT,qsort和stringsearch,除瞬时故障以外,永久故障和间歇故障的诊断准确率超过了95%,且诊断准确率快速收敛,大多数诊断实例在10次以内收敛。这说明:对于刚刚进入老化期的间歇故障部件、和刚刚表现出永久故障特性的部件进行故障诊断十分有效。Dijkstra和FFT对于算逻部件诊断准确率为0,经对数据进行分析,原因是将瞬时故障误诊为爆发长度为2的间歇故障。这主要由于两者的爆发长度十分接近(瞬时故障爆发长度为1)而导致产生症状行为的区分度不高而导致。
通常情况下,人们希望得到捕获症状后,系统第一诊断的准确率。表5-4给出了诊断准确率。
表5-4诊断准确率
对于三种故障模型,间歇故障和永久故障的诊断率高于瞬时故障。前两者对于部件的准确率到达99%以上,对于模型的诊断准确率也在97.86%以上。瞬时故障的首周期准确率相比较低,尤其是故障模型,只有84.24%,主要原因在于对算逻部件的故障模型诊断率只有56.97%。该部件瞬时故障与间歇故障爆发长度为2的症状行为类似,导致两者特征样本交 杂在样本空间中,难于区分。需要注意到,瞬时故障的爆发长度为1,从第二个诊断周期开始,故障不再激活(对于单比特翻转故障而言),症状将完全消失,而对于间歇和永久故障,症状将会反复或者持续产生。因此,瞬时故障症状经多周期诊断的结果会明显高于首周期诊断准确率。总之,本发明所述的基于神经网络的硬件故障诊断系统首周期诊断准确率为99.11%(故障部件)和95.75%(故障模型),证明了该系统诊断的有效性。
具体实施方式二:参见图1说明本实施方式,本实施方式与具体实施方式一所述的基于神经网络的硬件故障诊断系统的区别在于,所述的神经网络诊断单元2由三层神经元组成,分别为输入层神经元、隐层神经元和输出层神经元,症状信息作为输入信息传送至输入层神经元,经过隐层神经元的计算对症状进行分类,分类结果由输出层神经元处理后,获得诊断结果,并将该诊断结果送出至仲裁单元3。
具体实施方式三:参见图1说明本实施方式,本实施方式与具体实施方式二所述的基于神经网络的硬件故障诊断系统的区别在于,所述的输出层神经元包括多个神经元,每个神经元产生一个布尔值True或False,True表示诊断结果为本神经元对应的故障类型或部件;False表示非本神经元对应的故障类型或部件。
具体实施方式四:参见图1说明本实施方式,本实施方式与具体实施方式一所述的基于神经网络的硬件故障诊断系统的区别在于,所述的输出层神经元包括6个神经元,其中3个为硬件故障模型,另外3个为故障部件,3个硬件故障模型分别为瞬时故障、间歇故障和永久故障,3个故障部件分别为解码单元、地址生成单元和算逻单元。
本实施方式中,故障恢复单元4对故障部件的处理过程为,对于瞬时故障,则只需将症状线程重新执行,对于间歇故障,则可以采用核迁移机制,在故障出现后将症状线程迁移至可靠核,在症状消失后再迁移回故障核执行,对于永久故障,通过禁用故障部件,如有冗余部件,或者通过部件替换,予以处理。
具体实施方式五:参见图1说明本实施方式,本实施方式与具体实施方式二所述的基于神经网络的硬件故障诊断系统的区别在于,所述的输入层神经元包括8个神经元。
本实施方式中,输入层神经元设有8个神经元对应7个症状(包括6类关键陷入和高发活动)的到达量,以及关键陷入是否嵌套标记。
机译: 基于深度学习神经网络的显示面板诊断系统及方法
机译: 基于神经网络的疾病诊断系统和方法
机译: 基于神经网络的疾病诊断系统和方法