上一篇內(nèi)容,我們討論了系統(tǒng)層面的不同的自檢技術(shù)來(lái)檢測(cè)我們的潛伏失效。本篇將討論故障度量和安全機(jī)制ASIL等級(jí)。
01
概念介紹
1- 單點(diǎn)故障(SPF):一個(gè)要素中的硬件故障,直接導(dǎo)致安全目標(biāo)的違反,并且該元件中的任何故障都不被任何安全機(jī)制所覆蓋。
舉個(gè)栗子:電阻器開(kāi)路可能導(dǎo)致違反安全目標(biāo)。電阻器本身沒(méi)有安全機(jī)制或者根本不受控。
2- 殘余故障(RF):隨機(jī)硬件故障的一部分,其本身導(dǎo)致在硬件元件中發(fā)生的違反安全目標(biāo)的情況,其中該部分隨機(jī)硬件失效不受安全機(jī)制控制。
舉個(gè)栗子:對(duì)于通過(guò)奇偶校驗(yàn)檢查的寄存器,導(dǎo)致奇偶校驗(yàn)檢測(cè)未檢測(cè)到的偶數(shù)個(gè)錯(cuò)誤位的故障,可能導(dǎo)致違反安全目標(biāo)。也就是說(shuō),安全機(jī)制不能覆蓋所有的故障而是部分覆蓋,這就是殘余。
3- 雙點(diǎn)故障:只有與第二個(gè)獨(dú)立故障相結(jié)合才有可能違反安全目標(biāo)的故障。舉個(gè)栗子: ECC 用例:
潛伏(雙點(diǎn))故障:用于通過(guò)ECC檢查的內(nèi)存。ECC用于從內(nèi)核到系統(tǒng)存儲(chǔ)的E2E保護(hù)以及外圍RAM的單獨(dú)保護(hù)。那么單個(gè)的bit是如何隨機(jī)損壞的呢?
散亂的阿爾法粒子可能會(huì)導(dǎo)致RAM中的某一個(gè)bit改變其存儲(chǔ)值。如果ECC機(jī)制使用不當(dāng),這些稀少的錯(cuò)誤可能會(huì)隨著時(shí)間的推移而累積,并導(dǎo)致數(shù)據(jù)損壞,甚至是系統(tǒng)故障。這些事件的本質(zhì)是隨機(jī)的,在某個(gè)地址上發(fā)生錯(cuò)誤并不表示下一次錯(cuò)誤可能在何時(shí)或者何處發(fā)生:
一個(gè)已經(jīng)糾正但未發(fā)出信號(hào)的單bit故障,如果ECC糾正失敗,則可能違反安全目標(biāo);
使ECC失效且初始化啟動(dòng)無(wú)法檢測(cè)到的故障。
那這里的潛伏故障是如何證明的呢?假設(shè)!
第一個(gè)獨(dú)立故障:由于阿爾法粒子導(dǎo)致RAM的兩個(gè)bit隨機(jī)翻轉(zhuǎn)(兩個(gè)bit自動(dòng)檢測(cè)而沒(méi)有被糾正);
第二個(gè)獨(dú)立故障:在查表中的錯(cuò)誤,它表示一個(gè)錯(cuò)誤或一個(gè)中斷邏輯中的錯(cuò)誤,通知驅(qū)動(dòng)程序,如上圖所示。
如果有兩個(gè)bit翻轉(zhuǎn),只要ECC會(huì)向FCCU等另一個(gè)模塊標(biāo)記一個(gè)標(biāo)志位來(lái)處理故障,就沒(méi)什么問(wèn)題。由于通知程序也被損壞,因此在這里發(fā)生了潛伏的故障,從而導(dǎo)致安全目標(biāo)的違反。
02
安全機(jī)制規(guī)范
也就是說(shuō),在規(guī)定的時(shí)間間隔內(nèi)沒(méi)有檢測(cè)到雙點(diǎn)失效,則將其歸類為潛伏故障。當(dāng)我們決定編寫對(duì)所需模塊進(jìn)行自檢的安全機(jī)制時(shí)(根據(jù)系統(tǒng)架構(gòu)),這些安全機(jī)制至少應(yīng)符合:
ASIL-B for TSRs assigned ASILD
ASIL-A for TSRs assigned ASILB or ASILC
QM for TSRs assigned ASILA
為什么這么說(shuō)呢?
因?yàn)槲覀兊哪康木褪菧p少雙點(diǎn)故障。也就是說(shuō),兩個(gè)ASIL-B點(diǎn)不能違反安全目標(biāo)。這意味著我們保護(hù)我們的系統(tǒng)直到ASIL-D (B+B=D)的TSR。
該TSR可以是一種安全機(jī)制,而不是由FSR展開(kāi)得出的,如下圖示:
我們有一個(gè)單片機(jī),它配備了內(nèi)存模塊的奇偶校驗(yàn)。該奇偶校驗(yàn)機(jī)制的等級(jí)為ASIL-B。該能力在以下安全機(jī)制中得到證明:
REQ_01:MCU XYZ shall implement a parity for the SRAM and Flash memoery - ASIL B
要求:制定一個(gè)安全要求,以測(cè)試奇偶校驗(yàn)檢測(cè)和信號(hào)、記錄內(nèi)存故障的能力。
答案:自檢,如下→
REQ_02:MCU XYZ shall implement a self-test routine that tests the capability of the parity to detect and signal SRAM and Flash memory - ASIL A
現(xiàn)在,單片機(jī)中有硬件內(nèi)置自測(cè)模塊?,F(xiàn)代的單片機(jī)都配備了硬線的安全機(jī)制,節(jié)省我們使用軟件實(shí)現(xiàn)它們的時(shí)間。如下圖,實(shí)際上,他們的性能優(yōu)于軟件測(cè)試庫(kù)(SW-Test-Libraries)。當(dāng)我們采購(gòu)汽車級(jí)的安全芯片的時(shí)候,供應(yīng)商會(huì)提供給我們安全手冊(cè)。根據(jù)所需要的ASIL等級(jí)來(lái)使用MCU的安全要求(AoU)。等到完成架構(gòu)系統(tǒng)和相應(yīng)的TSR的安全分析后,我們可以把AoU的需求整理好發(fā)給軟硬件團(tuán)隊(duì)來(lái)實(shí)現(xiàn)這些需求(通常此部分體現(xiàn)在SSI中)。
除了ECC外,還有一個(gè)FCCU,它可以收集故障并通知其他例程、模塊來(lái)注冊(cè)故障或采取復(fù)位(單片機(jī)級(jí)別的安全狀態(tài),而不是整個(gè)系統(tǒng)的安全狀態(tài))。
系統(tǒng)失效有幾種類型?→通常是7種:
Fail-dangerous: 故障發(fā)生時(shí)可能導(dǎo)致危險(xiǎn);
Fail-inconsistent: 如果發(fā)生失效,提供的結(jié)果將明顯不一致;
Fail-stop: 如果失效的話,完全停止;
Fail-safe: 如果失效,返回或保持安全狀態(tài);
Fail-operational: 發(fā)生故障時(shí),繼續(xù)保持正常工作;
Fail-silent: 發(fā)生故障時(shí),不會(huì)打擾任何人;
Fail-indicate: 向其周圍顯示它失效了;
請(qǐng)注意:前兩種失效的情況是不理想的,在實(shí)施安全機(jī)制和TSR后,他們將被轉(zhuǎn)換為后5種故障安全類型的任意組合。也就是說(shuō),我們可以將安全狀態(tài)指定為可操作狀態(tài)并指示或停止或靜音。
以上,就是本期的全部?jī)?nèi)容,我們下期再見(jiàn)啦!
參考資料:外文文獻(xiàn)資料免責(zé)聲明:本文章中內(nèi)容是由小編翻譯自外文文獻(xiàn)資料,免費(fèi)傳播知識(shí)。
-
安全機(jī)制
+關(guān)注
關(guān)注
0文章
20瀏覽量
10265 -
asil
+關(guān)注
關(guān)注
0文章
47瀏覽量
9271
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論