
功能安全中的有些概念比較繞,比如故障(fault),錯誤(error),失效(failure),本文就這三個概念進行下探討。
一、故障
功能安全中定義的故障是指可引起要素或相關項失效的異常情況。
故障可以分為永久故障和非永久故障,其分類如下圖所示。

永久性故障是指發生并持續,直到被移除或修復的故障。也就是說永久性故障發生了必須采取相應的措施才能夠使其恢復其正常運行。其中系統性故障一般表現為永久性故障。
非永久性故障可以分為間歇性故障和瞬態故障。間歇性故障是指故障一再的發生,然后消失。當一個組件處于損壞的邊緣時,或者例如由于開關的電涌(電壓的瞬態激烈變化),間歇性故障可能會發生。某些系統性故障(例如時序混亂)也可能導致間歇性故障。
瞬態故障是指發生一次且隨后消失的故障。瞬態故障可由電磁干擾引起,其可導致位翻轉。比如由于單粒子翻轉效應(SEU)和單粒子瞬態脈沖(SET)發生的軟錯誤,均為瞬態故障。(單粒子翻轉是宇宙中單個高能粒子射入半導體器件靈敏區,使器件邏輯狀態翻轉的現象。)
二、錯誤
ISO 26262中定義的錯誤是指計算的、觀測的、測量的值或條件與真實的、規定的、理論上正確的值或條件之間的差異。錯誤可由未預見的工作條件引起或由所考慮的系統、子系統或組件的內部故障引起。故障可表現為所考慮要素內的錯誤,該錯誤可最終導致失效。
比如由于宇宙中單個高能粒子射入半導體器件靈敏區,使存儲器邏輯狀態翻轉的單粒子翻轉效應SEU,使得軟件中某個bit位從0到1或者從1變成0是屬于一個軟錯誤(硬件沒有損害)。
從上可以看出故障,錯誤和失效的大概關系是故障可引起錯誤,錯誤再導致失效。下文會再做詳細說明。
三、失效
失效,按照ISO26262的定義是要素按要求執行功能的能力的終止。
(英文:terminationof the ability of an element to perform a function as required)
注:不正確的規范是失效的來源之一。
在這里失效針對的是功能的喪失或者終止。比如對于電機控制器來說,其主要的功能之一是根據整車控制器VCU的扭矩請求,對電機進行轉矩和轉速的控制,因此無論輸出的扭矩非預期的偏大或者偏小都是一種失效。
1 系統性失效和隨機硬件失效
在功能安全中依據失效的原因可以分為兩種:系統性失效和隨機硬件失效。ISO 26262的主要目的就是盡可能的消除這兩類失效。
(1)系統性失效(systematic failure)
以確定的方式與某個原因相關的失效,只有對設計或生產流程、操作規程、文檔或其它相關因素進行變更后才可能排除這種失效。
系統性失效存在三個特征:
A- 僅僅進行正確維護而不加修改的情況下,無法消除故障。
B-通過模擬失效原因可以使其重復出現。
C-是人為錯誤引起,失效原因比如:安全要求規范的錯誤;硬件的設計,制造,安裝,操作的錯誤;軟件的設計和實現的錯誤等。
軟件故障和部分的硬件故障是屬于系統性故障。比如coding的時候沒有考慮使用數據類型的錯誤,某變量(比如精度為1,offset為0)本應該使用U16的,結果用成了U8,使得計算的最大數值只能到255。這里的軟件bug是屬于系統性失效。
(2)隨機硬件失效(random hardware failure)
按照ISO 26262的定義,隨機硬件失效是在硬件要素的生命周期中,非預期發生并服從概率分布的失效。并且可在合理的精度范圍內進行預測。
非預期發生的含義是盡管硬件的設計是正確的,比如電子元器件的選型,電阻值,電容值,電路設計等都是正確的,且器件是符合質量標準的。但是卻無法預知在哪里發生,以怎樣的形式發生的失效。
服從概率分布的含義是失效可以在合理的精度范圍內進行預測。比如通過可靠性或者分析得到失效率。
隨機硬件失效的起因是由于物理過程,比如疲勞、物理退化或環境應力等。比如上面提到的位翻轉,比如電阻的開路,短路,阻值漂移等等。
2 相關失效和非相關失效
此外功能安全中還定義了相關失效和非相關失效。
相關失效是指失效同時或相繼發生的概率不能表示為每個失效無條件發生概率的簡單乘積。比如當失效A和失效B同時發生的概率不等于兩個失效概率的乘機,用數學關系式表示為Pab =Pa*Pb,失效A和B可被定義為相關失效。反之非相關失效可以表示為每個失效無條件發生概率的簡單乘積。
相關失效可以分為共因失效和級聯失效。
共因失效是指在相關項中,有一個單一特定事件或根源引起的兩個或多個要素的失效。如下圖所示。

通過多樣化的程序和硬件設計可以避免共因失效。
級聯失效是指同一個相關項中,一個要素的失效引起另一個或者多個要素的失效。
比如軟件的分區可以避免級聯失效。實際應用過程中將level1和level2中的變量存儲在不同的RAM區或NVRAM區就是一種分區的方式。

四、硬件的故障類型
硬件故障按照故障類型可以分為如下幾種,如下圖所示:

(1) 安全故障:
安全故障是指某個故障的發生不會顯著的增加違反安全目標的概率(ISO 26262)。安全故障可以分為兩類:a) 與安全目標違背無關的故障。b) n > 2的全部n點故障(除非安全概念顯示它們與安全目標的違背有關聯)。
示例1:對于被EDC和循環冗余校驗(CRC)保護的閃存:被EDC糾正的單位故障不通過信號指示出來。該故障對安全目標的違背得到了EDC的預防,但未通過信號指示出來。如果EDC邏輯失效,該故障被CRC探測到,系統被關閉。只有當閃存中存在單位故障、EDC邏輯失效、且CRC校驗和監控失效時,才能發生對安全目標的違背(n=3)。
(2) 單點故障:
單點故障是指沒有被安全機制覆蓋,并且直接導致違背安全目標的故(ISO26262)。
比如電動車REESS(可充電電源儲能系統)的絕緣電阻單點失效。絕緣電阻是指B級電壓(一般指大于60V的高壓)帶電部件端子與電底盤之間的電阻。當電動汽車絕緣材料的老化破損,雨天洗車電池系統進水,車輛碰撞等等,都會導致絕緣電阻降低使人觸電。正常Ri>100Ω/V。緣電阻的降低可直接導致人觸電的風險,因此這個是屬于單點失效的。
(3) 殘余故障:
殘余故障是指發生在硬件要素中,沒有被安全機制覆蓋掉的那部分故障(ISO26262)殘余故障的發生會直接導致安全目標的違反。比如:如果一個失效模式聲明為低覆蓋率為60%,那么其余的40%就是殘余故障。
ISO 26262第十部分中提到了一個例子:如果僅用棋盤RAM測試的安全機制來檢查隨機存儲器(RAM)模塊,那么不能探測出某些種類的橋接故障。因這些故障導致的對安全目標的違背不能被安全機制所預防。這些故障即為殘余故障。
(4) 多點故障:
多點故障是指與其他獨立故障組合而導致一個多點失效的單獨故障(ISO26262)。
注:一個多點故障僅在識別出多點失效后才能被辨認出來,比如通過故障樹FTA的分析(ISO 26262)。其中雙點故障就是兩個獨立的故障同時發生才會導致失效的故障。
(5) 潛伏故障:
潛伏故障是指安全機制沒有探測到,且在多點故障探測時間區間間隔內不能被駕駛員察覺到的多點故障(ISO26262)
可以理解為:在一定的時間內無法檢測且無法被駕駛員察覺的多點故障稱為潛伏故障,比如:
A-監控芯片的失效
B-安全機制本身的失效,但是本身的功能沒有出現問題。
潛伏故障是一個多點故障,與其它獨立的多點故障結合在一起會直接導致安全目標的違反。
(6)可探測的故障(detected fault)
可探測的故障是指在規定的時間內,通過防止故障變成潛伏故障的安全機制所探測到的故障。
示例:可被功能安全概念中定義的專門安全機制(例如,探測到錯誤并通過儀表盤上的報警裝置通知駕駛員)探測到的故障。
(7)可感知的故障(perceivedfault)
在規定的時間間隔內由駕駛員推斷出的故障。示例:故障可直接通過明顯的系統表現或性能的限制而感知。
可感知是指被駕駛員感知,不管是否有安全機制探測到,但是其發生后會明顯的影響功能的發揮。
五、故障,錯誤和失效之間的關系
故障,錯誤和失效之間的關系如下圖所示。圖中從三個不同類型的原因(系統性軟件問題、隨機硬件問題和系統性硬件問題)描述了故障到錯誤并從錯誤到失效的發展過程。
系統性故障起因于設計和規范的問題;軟件故障和部分硬件故障是系統性的。
隨機硬件故障起因于物理過程,比如疲勞、物理退化或環境應力。
在組件層面,每個不同類型的故障會導致不同的失效。然而,組件層面的失效是相關項層面的故障。

注意,在此示例中,整車層面不同原因導致的故障可引起相同的失效。如果額外的環境因素使失效疊加了事故場景,相關項層面的部分失效將會是危害Hazard。?