#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障

发布于 2022-12-21 11:35
浏览
0收藏

简介

您是否正在尝试确定您的设计是否安全,不会受随机硬件故障的影响,并且想要弄清一些安全指标,如单点故障指标(SPFM)、潜在故障指标(LFM)和硬件失效概率指标(PMHF)?如果是,您无疑需要同时权衡瞬态故障和永久故障。现实情况是,它们都需要被分析,在此基础上,我们发现两者之间存在相当多的差异。本文的目的是重点介绍数字电路永久故障和瞬态故障之间的根本区别,以及这种区别在ISO 26262:2018功能安全标准背景下的重要意义。

它们是什么,来自哪里?

集成电路中故障的来源多种多样:电磁干扰(EMI)、辐射、电迁移、冲击、振动等等。在某些情况下,了解具体的故障源非常重要,以方便采取针对性的措施。这时,合理的做法通常是将它们抽象为位翻转(瞬态)和固定故障(永久)。重要的是,这种抽象是ISO 26262标准所允许的。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图1:永久故障与瞬态故障的比较

 它们多久发生一次(基本失效率)?

对集成电路而言,基本失效率(λ)是ISO 26262:2018指标计算的基础,也是将集成电路中不同技术和故障类型标准化的方法。例如,IO逻辑、混合信号逻辑、数字逻辑、高密度存储器和高速存储器分别具有不同的固有失效率。当计算每种技术的基本失效率时,它们以失效时间(FIT)单位表示,其中1FIT=1次失效/10亿设备运行时数。

芯片的基本失效率是该芯片中每种技术和故障类型(n种组合)的基本失效率的总和:

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

ISO 26262-11:2018提供了多个方程式,可用于推导每种技术类型的永久故障基本失效率。这些方程式通常比较保守,但如果没有更精确的测量方法(例如,加速生命周期测试),也可以作为一种备用方法。ISO 26262中没有提供瞬态故障的方程式。这些方程式将留由项目团队自行推导。通过实验室实验、供应商数据和行业论文等途径,可以找到瞬态故障基本失效率的可能来源。JESD89A便是一个例子,它是用于对IC软错误失效率进行分类的通用框架。

ISO 26262指标

除了基本失效率,ISO 26262还定义了一组术语和指标,表示安全架构在检测随机失效方面的有效性。不过,有关ISO 26262术语和指标的计算和详细信息超出了本文的讨论范围。总而言之,项目团队必须提供三个总体指标来证明合规性:SPFM、LFM和PMHF。SPFM和PMHF指标必须针对永久和瞬态故障模型进行评估,而LFM仅针对永久故障进行评估。其中每个指标都依赖于在设计中实现的安全机制,以及它们在检测每种故障类型时的有效性。

针对永久故障和瞬态故障的安全机制评估

汽车集成电路往往包含多种安全机制的混合。安全机制的选择取决于汽车安全完整性级别(ASIL)目标、IC正在执行的功能,以及功耗和硅面积限制等。每种安全机制检测永久和瞬态故障的能力都是独有的。


以下小节阐述了若干安全机制示例,以及它们在捕获永久和瞬态失效方面的有效性。所列示例不尽详细,但充分代表了通常为保护硬件结构而部署的各种风格的安全机制。

FIFO中的寄存器奇偶校验

如果在数据进入FIFO之前生成了奇偶校验,则数据通路FIFO上的寄存器奇偶校验对永久故障和瞬态故障同等有效。依据此方案,在总线起点生成的奇偶校验位将与功能数据一起传输,并在被另一个安全关键功能使用之前进行校验,以确认是否存在损坏。在此过程中,单比特故障无论是由永久故障还是瞬态故障所致,都是可检测的。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图2:保护数据通路的奇偶校验实现示例

配置寄存器中的寄存器奇偶校验

配置寄存器上的寄存器奇偶校验对于寄存器位本身的永久故障和瞬态故障同等有效。不过,通常使用的是其他安全机制来保护配置寄存器的数据写入(例如,针对寄存器写入的软件回读)。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图3:保护配置寄存器的奇偶校验实现示例


定期软件测试库和软件诊断

软件测试库(STL)在检测永久故障和瞬态故障的能力上差异很大。要评估两种故障类型,必须全面理解诊断的确切性质和目标硬件。图4重点介绍了STL的一些常见特征,其中最显眼的是可变STL执行窗口。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图4:软件测试库的实现示例


一般而言,STL和软件诊断仅为瞬态故障提供很少或者不提供覆盖率,因为瞬态故障的影响可能已经传播,并且到执行STL时已被覆盖。


示例:视频处理器中的瞬态故障会损坏单个帧,然后被后续帧覆盖。视频处理器的STL可能在视频处理器中运行某个已知的视频帧,以检测错误的结果。由于STL和功能的执行不能同时发生,所以STL无法检测到瞬态故障,因为到STL执行时故障将已经消失。


其他情况下,基于在FTTI内运行的STL,STL可以针对两种故障类型提供等效的保护。


示例:评估配置寄存器的寄存器阵列并检查已知循环冗余校验(CRC)的STL,可以检测因永久或瞬态故障而遭损坏的寄存器值。配置寄存器阵列在车辆运行期间可能是静态的,因此更容易受到瞬态故障的影响。


最后,在某些情况下,STL可提供混合保护。


示例:负责读回寄存器总线的持续连续性和运行情况的STL可以发现总线结构中的永久故障,但不能确定数据是否已损坏。这些寄存器的两种故障都不会被覆盖到,但是部分硬件的永久故障会被覆盖到。

定期硬件自检

同STL一样,根据测试和目标硬件的具体情况,定期硬件自检的有效性各不相同。硬件自检可能包括LBIST或向安全关键功能提供已知输入(例如,测试向量),以根据已知值或预期值校验输出。图5提供了定期硬件自检的一般方框图。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图5:定期硬件自检的实现示例


在此情景下,硬件自检可能擦除整个模块,因而需要对功能进行重新编程;否则,它可能留下或恢复某个配置。如果通过硬件恢复配置,则也可能恢复瞬态故障造成的损坏。如果通过软件重新编程来恢复配置,瞬态故障将被覆盖。最后,底层硬件的安全机制覆盖率可能不同,因为永久故障包含功能和配置逻辑,而瞬态故障的覆盖率仅限于配置寄存器。重要的是,永久故障和瞬态故障的SPFM结果是不同的。

瞬态故障分析的更多注意事项

对于瞬态故障,必须确定固有失效率是否足够高,值得加以保护,这一点很重要。正常情况下,如果关注的是数字逻辑,那么对存储器、触发器、锁存器和一般逻辑门的瞬态失效率分析将会显示,存储器总是与瞬态失效率直接相关,而一般逻辑门(例如AND、OR等)几乎从未达到与结果相关的水平。这并不是说逻辑门不受瞬态故障源的影响,而是说它们在统计上达不到相关水平。

不过,数字存储元件(触发器和锁存器)的失效率有可能上升到相关水平。当考虑数字存储元件时,还有其他几个考虑因素:更新频率、活动时间与非活动时间、安全机制的选择、FMEDA中的瞬态故障,以及瞬态故障与LFM。

更新频率

持续或定期更新的元件必须以不同于静态或半静态存储元件的方式进行评估。


示例:持续或定期更新的元件包括数据通路存储和FIFO。在此情景下,最终应用是相关的,因为单一故障不能视为安全关键故障。单个数据帧中的故障位会在下一个时钟被覆盖,很可能不会影响总体功能的安全性。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图6:基于触发器的FIFO中的故障


示例:静态或半静态元件包括配置寄存器和状态寄存器。静态寄存器或周边逻辑中的故障必须以不同于频繁更新的元件的方式进行分析。静态寄存器中的故障可能持续存在,直至通过软件或硬件电源重启将其清除。因此,该故障可能直接影响功能运行并违反安全目标。


#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图7:配置寄存器中的故障


注:鉴于瞬态故障源(位翻转)是类似于阿尔法粒子的事件,瞬态故障影响静态寄存器相关设计的概率高于持续或定期更新的元件。大多数情况下,静态寄存器中的位翻转会传播到下游逻辑。定期更新的寄存器则不会传播。

活动时间与非活动时间

关于数字存储元件的第二个考虑因素是时间因素。例如,寄存器是否将被立即使用,还是会在若干时钟周期内处于非活动状态。


示例:总线上的地址寄存器在每次传输时可能都会更新一次,因此在非传输时间发生的瞬态故障不会对其产生影响。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

图8:定期使能的寄存器中的故障


出于这些原因,静态和半静态寄存器应始终受到保护。对于持续移动有效数据并因而没有固有的非活动时间的寄存器(如FIFO),也应考虑进行保护。

安全机制的选择

在考虑永久故障和瞬态故障时,重要的一点是认识到安全机制不会平等地保护每一类故障。这一点很重要,因为ISO 26262不要求即时发现故障,而是要求在故障检测时间间隔(FDTI)内发现故障。FDTI是指从故障发生到必须检测到故障之间的时间量。FDTI是一个更大时间窗口的一部分,该时间窗口从故障发生时延伸到故障得到缓解并达到安全状态时。ISO 26262对这一时间窗口的官方术语是,容错时间间隔(FTTI)要求。

#百人创作先锋团#相似但不相同—浅谈瞬态故障与永久故障-汽车开发者社区

简而言之,安全机制分为两种:始终开启和定期开启。

始终开启:持续激活(如锁步)或使用时激活(如ECC)的安全机制。这些机制是在硬件上实现的。

定期开启:定期激活以执行检查的安全机制。这些机制中的大多数是在软件中实现的或由软件提供辅助。


在始终开启的安全机制类别中,既存在有可能近乎瞬时捕获故障的实现(例如,数据通路上的奇偶校验/CRC),也存在当故障达到边界时捕获故障的实现(例如,锁步)。


在定期开启的安全机制类别中,也有一些从发生到检测时间间隔较短的实现(寄存器读回),其他实现则具有较长的时间间隔(软件生成的测试向量)。


简单地说,存在一系列安全机制实现,每种实现在捕获永久故障和瞬态故障方面都有特定的有效性水平,并且每种实现都具有独特的从发生到检测的时间窗口。在评估捕获瞬态失效的有效性以及与FDTI和FTTI要求的相关性时,务必考虑这些属性。

在FMEDA中处理瞬态故障

失效模式影响和诊断分析(FMEDA)是进行安全分析的必要工作成果,其中包括了上述计算指标。鉴于上文讨论的所有要点,建议将特定技术和故障类型的分析彼此分开。在FMEDA中,可通过采用单独的工作表或列集合来实现。将这些分析分开的好处包括:

1.可以按照每种技术或故障类型更改基本失效率。例如,基于后期由制造后辐射测试更新的行业论文更新IC制造前瞬态失效率。

2.针对故障类别明确指定不同安全机制的诊断覆盖率,以支持OEM或一级客户对相关理由和依据进行审查。

3.一些集成电路OEM和一级客户可能希望按照每种技术或故障类型查看SPFM或LFM。OEM或一级客户可能需要证明,永久故障和瞬态故障的SPFM均符合汽车安全完整性级别(ASIL)目标。这样可以防止某一种技术或故障类型在指标中占支配地位。例如:如果受ECC保护的存储器在IC中占支配地位,可能导致其他技术类别和故障类型得不到充分的保护。

4.由于永久故障包含所有门类型(从AND、OR到触发器)并且瞬态故障集中在SRAM和触发器上,所以通过分离瞬态故障和永久故障分析,可实现双重数据校验(例如,将SRAM比特数与架构进行比较,将FMEDA中的比特数与存储元件的综合报告进行比较,等等)。


初始安全性分析的复杂性可能更高,但随后的FMEDA分析将会更加灵活和详细。

瞬态故障与LFM

如前所述,ISO 26262:2018不要求对瞬态故障进行潜在故障分析,因此,LFM指标不适用于瞬态故障。LFM用于衡量防止两个故障造成安全违规的效果。这被认为是由于安全机制产生掩蔽事件(即,无法找到安全关键功能中的故障)而导致的故障。ISO 26262-11:2018第5.1.7.2.2条注释2中给出的理由是“根本原因迅速消失(根据瞬态故障的定义)”。

从统计学的角度来看,能够在点火发动时检查主要安全机制的故障通常已经相当充分了(在汽车熄火时将始终开启的逻辑保持激活状态是这种做法的一种例外情况,需要特别考虑)。一次发生两个故障(一个在安全机制中,后一个在安全关键功能中)被认为是小概率事件,每个驾驶周期检查一次就足够了。利用LBIST和MBIST作为系统内置的安全机制,可以作为对主要安全机制进行永久故障检查的合适选择。


如果在汽车运行过程中确实发生了影响安全机制的瞬态故障,则还需要安全关键功能中出现第二个故障才会创建安全目标违规。此外,瞬态故障需要对安全机制的运行能力产生持久的影响。因此,审慎的做法是保护安全机制内的配置和控制不受瞬态故障的影响,即使这种保护可能不会体现在LFM计算中。


示例:看门狗定时器(WDT)具有多个供其保护CPU使用的配置寄存器,包括启用/禁用功能、刷新设置、预计刷新的时间长度等。从技术上讲,WDT是一种安全机制,使用LBIST在上电自检时测试WDT以检测永久故障,这种做法符合预期,也是合情合理的。但是,审慎的做法是同时保护控制寄存器和定时器。例如,WDT或许默认设为禁用,以防止WDT超时影响启动过程。完成启动过程后,启用WDT,之后便不再访问控制寄存器,该寄存器因而成为静态寄存器,容易受瞬态故障的影响。瞬态故障可能影响会WDT的运行能力,从而影响保护功能。

结语

ISO 26262:2018要求同时对永久故障和瞬态故障进行分析。从表面上看,两者有许多相似之处,但深入挖掘后,我们必须了解一些重要的区别。安全分析方法应仔细考虑集成电路中的不同技术和故障类型。重要的是,确保不要忽视每一种故障类型的影响,并清楚地了解和记录安全机制对这两种故障类型的有效性。这样就能获得一个强有力的安全案例和有效的指标,供IC集成商完善自己的安全案例和流程。


文章转载自公众号:智车Robot

1
收藏
回复
举报
回复
相关推荐