ISO 26262-9:2018的第6章節(jié)對(duì)系統(tǒng)設(shè)計(jì)(ISO 26262-4)、硬件設(shè)計(jì)(ISO 26262-5)和軟件架構(gòu)設(shè)計(jì)(ISO 26262-6)提出了“要素共存(Coexistence of Elements)"的要求。本文針對(duì)該概念進(jìn)行詳細(xì)講述,探討“要素共存"的內(nèi)在涵義,以及設(shè)計(jì)開發(fā)中針對(duì)其需要注意的地方。
級(jí)聯(lián)失效在討論“要素共存(Coexistence of Elements)"之前,先理解“級(jí)聯(lián)失效(Cascading Failure)"這個(gè)概念,ISO 26262-1:2018的3.17給出了“級(jí)聯(lián)失效(Cascading Failure)"的定義如下:
圖1:ISO 26262中對(duì)級(jí)聯(lián)失效的定義
(該截圖來源于ISO 26262-1:2018)
級(jí)聯(lián)失效(Cascading Failure):在相關(guān)項(xiàng)里的一個(gè)要素的內(nèi)部或外部的一個(gè)原因,導(dǎo)致了一個(gè)失效,然后該失效又引起了另一個(gè)要素(在相同、或不同相關(guān)項(xiàng)里)產(chǎn)生了一個(gè)失效。簡(jiǎn)單理解地說:要素A產(chǎn)生了一個(gè)故障,該故障導(dǎo)致要素B產(chǎn)生了一個(gè)故障,這種情況就是級(jí)聯(lián)失效。
在產(chǎn)品開發(fā)過程中(以MCU為例子),其內(nèi)部包括了多個(gè)不同功能和用途的IP(例如CUP、ADC、ROM、RAM、DMA、CAN、CLOCK等),盡管MCU內(nèi)部要素分配的最高ASIL等級(jí)是D,但基于假設(shè)開發(fā)時(shí)某些非安全相關(guān)的QM功能也都按照ASIL D開發(fā)只會(huì)導(dǎo)致開發(fā)難度急劇上升、成本上漲。理想的結(jié)果是,上層安全需求是什么ASIL等級(jí),分配到的IP/模塊就按各自分配的安全需求最高ASIL等級(jí)開發(fā),如下圖所示。
圖2:安全需求分配給不同的要素
但是在開發(fā)過程中,由于某一個(gè)安全功能可能是由不同的IP組合來實(shí)現(xiàn)的,而且一個(gè)IP可能也需要承擔(dān)多個(gè)安全功能一部分,這就導(dǎo)致了IP跟IP之間存在了一些耦合的因素,例如IP之間共享內(nèi)存、IP之間的通信,而且這種現(xiàn)象在開發(fā)過程中是幾乎無(wú)法避免的。例如圖2中IP_001和IP_002存在“交互",在這里暫時(shí)先不關(guān)心“交互"的方式,先思考一個(gè)問題:這種“交互"會(huì)帶來什么問題?
結(jié)合第二節(jié)提及的“級(jí)聯(lián)失效(Cascading Failure)",這里假設(shè)IP_002的存在某一個(gè)失效模式(開路、短路或卡滯),該失效可能會(huì)導(dǎo)致IP_001獲取到一個(gè)錯(cuò)誤的輸入,從而違背了某一個(gè)安全需求,因此IP_001和IP_002之間存在級(jí)聯(lián)失效。
為了避免出現(xiàn)上述問題,ISO 26262提出了“要素共存(Coexistence of Elements)"的概念,目的就是為了防止較低ASIL等級(jí)要素或QM要素的失效,導(dǎo)致較高ASIL等級(jí)要素失效,若滿足這條原則,我們就叫滿足要素共存準(zhǔn)則(Criteria for Coexistence of Elements)。
有了第三節(jié)的知識(shí)背景,理解“免于干擾(Freedom From Interference)"的概念就比較簡(jiǎn)單了,先看ISO 26262對(duì)其的定義:
圖3:ISO 26262中對(duì)免于干擾的定義
(該截圖來源于ISO 26262-1:2018)
免于干擾(Freedom From Interference):兩個(gè)及以上的要素之間不存在導(dǎo)致違背安全需求的級(jí)聯(lián)失效。例如,若經(jīng)過分析,圖2中的IP_002不會(huì)導(dǎo)致IP_001產(chǎn)生違背安全需求的失效,則IP_001免于IP_002干擾。
因此,免于干擾(Freedom From Interference)和級(jí)聯(lián)失效(Cascading Failure),其實(shí)就是一回事。非要分出個(gè)所以然的話,我們可以這樣來理解兩者之間的關(guān)系:免于干擾(Freedom From Interference)表征的是不同要素之間的一種關(guān)系屬性,而級(jí)聯(lián)失效(Cascading Failure)表征的是一個(gè)要素受到另一個(gè)要素的影響結(jié)果。有時(shí)候,針對(duì)免于干擾的分析我們也叫FFI(Freedom From Interference的縮寫)分析,目的就是為了找出架構(gòu)設(shè)計(jì)中的要素之間是否級(jí)聯(lián)失效(Cascading Failure)。
在進(jìn)行FFI分析時(shí),分析團(tuán)隊(duì)?wèi)?yīng)確定以下內(nèi)容已經(jīng)完成:
1) 考慮需要分析的安全需求;
2) 考慮需要分析的架構(gòu);
3) 已分配安全需求的架構(gòu)要素及其子要素。
下面基于第3節(jié)的例子繼續(xù)討論,將不同ASIL等級(jí)的架構(gòu)要素(IP或模塊)按相應(yīng)等級(jí)分類,然后找到FFI的分析路徑,如圖4所示,圖中共顯示有三個(gè)分析路徑,即針對(duì)該要素中的子要素(IP_001~IP_003)進(jìn)行FFI分析時(shí),應(yīng)考慮以下:
1) 分析路徑1:IP_002(ASIL B)對(duì)IP_001(ASIL D)的干擾;
2) 分析路徑2:IP_003(QM)對(duì)IP_002(ASIL B)的干擾;
3) 分析路徑3:IP_003(QM)對(duì)IP_001(ASIL D)的干擾。
圖4:識(shí)別FFI分析路徑
針對(duì)上述的分析路徑1,我們?cè)诘?節(jié)中已經(jīng)假設(shè)IP_002會(huì)引起IP_001級(jí)聯(lián)失效。對(duì)此,在產(chǎn)品架構(gòu)設(shè)計(jì)時(shí),需要考慮從以下方面進(jìn)行優(yōu)化:
1) 源頭杜絕。例如,切斷IP_001和IP_002之間的傳播路徑;
2) 持續(xù)檢查。若上述傳播路徑是不可避免的,則需要對(duì)IP_002或傳播路徑進(jìn)行周期性檢查,以確保IP_001正常執(zhí)行安全功能;
3) 事后補(bǔ)救。最差的情況,如果“級(jí)聯(lián)失效(Cascading Failure)"無(wú)法避免,即上面兩種情況都不能實(shí)現(xiàn),則應(yīng)制定針對(duì)IP_001失效以后的處理機(jī)制,例如檢測(cè)到IP_001失效后進(jìn)入安全狀態(tài)。
針對(duì)其他的分析路徑,若分析得出存在級(jí)聯(lián)失效(Cascading Failure)的可能,則同樣可按照上述方式進(jìn)行設(shè)計(jì)優(yōu)化。針對(duì)上述分析路徑1~分析路徑3中的“干擾",將在下期內(nèi)容《ISO 26262中的相關(guān)失效分析》進(jìn)一步講述,如果得出這些干擾源。
廣電計(jì)量在汽車、鐵路系統(tǒng)產(chǎn)品檢測(cè)方面擁有豐富的技術(shù)經(jīng)驗(yàn)和成功案例,能為主機(jī)廠、零部件供應(yīng)商、芯片設(shè)計(jì)企業(yè)提供整機(jī)、零部件、半導(dǎo)體、原材料等全面的檢測(cè)、認(rèn)證服務(wù),保障產(chǎn)品的可靠性、可用性、可維護(hù)性和安全性。
廣電計(jì)量擁有技術(shù)先進(jìn)的功能安全團(tuán)隊(duì),專注于功能安全(包括工業(yè)、軌道、汽車、集成電路等領(lǐng)域)、信息安全和預(yù)期功能安全領(lǐng)域的專家,具有豐富的集成電路、零部件和整機(jī)功能安全實(shí)施經(jīng)驗(yàn),可根據(jù)相應(yīng)行業(yè)的安全標(biāo)準(zhǔn)為不同行業(yè)的客戶提供培訓(xùn)、檢測(cè)、審核和認(rèn)證一站式服務(wù)。
圖5:功能安全項(xiàng)目實(shí)施流程