1. gzyueqian
      13352868059

      嵌入式開發:設計安全關鍵嵌入式系統 — 在運行時檢測SRAM故障的挑戰

      更新時間: 2023-01-12 10:19:23來源: 粵嵌教育瀏覽量:8968

      在設計安全關鍵系統時,國際安全標準對于我們選擇合適的流程和適當的技術來檢測和避免最終產品中的危險故障至關重要,這些標準確保我們不會像之前的嵌入式開發工程師一樣陷入同樣的困境。

       

      然而,這些標準的危險在于,它們假設你對底層硬件(如微控制器)有詳細的了解,這可能會導致經驗不足的安全工程師實施不安全的設計。例如,IEC(國際電工委員會)60730標準建議使用棋盤式存儲器測試來檢測B類軟件的可變存儲器中的DC故障,這比看起來更具挑戰性。

       

      本文描述了SRAM的邏輯布局和物理布局之間未記錄的差異如何導致我們無意中錯誤地實現了諸如棋盤算法之類的內存測試。標準微控制器的數據表中通常沒有必要的信息,但幸運的是,內存測試算法不受SRAM邏輯和物理布局之間差異的影響。

       

      在運行時測試SRAM的缺陷

      SRAM存儲器顯然是由IC供應商在生產中進行測試的,有缺陷的產品不會運送給消費者。盡管如此,在IC的使用壽命期間,隨機硬件缺陷可能會出現,這也是在嵌入式開發安全關鍵應用中需要在運行時測試微控制器中硬件的原因之一。

       

      棋盤式記憶測驗

      IEC 60730H.2.19.6.1)等安全標準建議,對于必須符合B級安全等級的應用,可以使用棋盤算法來識別SRAM中的某些缺陷(DC故障)。通常選擇棋盤測試,因為它覆蓋了SRAM中最可能的故障,而且速度相對較快,便于將對應用程序本身的性能影響降至最低。除了DC故障(一個比特永久地處于高位或低位)外,棋盤算法還可以檢測相鄰比特相互影響的缺陷。

       

      SRAM在邏輯上由多個按字組織的位組成。這些字通常為8位、16位或32位寬,但也可以更長。物理上,這些位被組織成陣列,其中每個位通常有八個相鄰的位(見圖1)。位中的物理缺陷可能會影響單個位,使其處于高位或低位(DC故障),或者缺陷可能是兩位分離,在這種情況下,相鄰的侵略單元(圖1中用紫色標記)可能會影響受害單元(圖2中用黃色標記)。攻擊者受害者場景通常被稱為耦合故障。從統計上看,DC故障更可能發生,但它仍然與檢測最可能的耦合故障相關。

      1-相鄰位之間的潛在耦合故障

       

      如果故障正在影響單個位,因此該位一直處于高位或低位,則可以通過寫入值1,通過讀回驗證1,然后寫入值0并讀回驗證0來揭示故障,如圖1所示。另一方面,嵌入式開發如果缺陷是兩個相鄰位之間的耦合故障,例如第2行中的位列910,則某些模式(例如全1或全0)將不會顯示耦合故障,因為在測試期間單元具有相同的值。

       

      相鄰單元(側面、上方和下方)的這種耦合故障具有相反的二進制值。圖1(右下)說明了第10位中的一位污染了第9位,由于第9位未保持預期值零,因此顯示了耦合故障。

       

      SRAM的物理布局與邏輯布局

       

      為了使棋盤算法工作,需要知道哪些位是相鄰位。這是一個問題,因為數據表通常只描述SRAM的邏輯布局,而不描述SRAM是如何物理組織的。

       

      為了理解SRAM的物理布局,必須區分一次可以訪問一個位的面向位存儲器(BOM)和一次讀寫n位字的面向字存儲器(WOM)。雖然大多數真實世界的內存都是以WOM的形式實現的,但科學文獻中的經典內存測試算法通常采用BOM實現。

       

      對于WOM存儲器,構成字的位的物理組織有三大類:相鄰、交錯和子陣列。雖然邏輯布局將每個單詞放在同一列中的前一個單詞下面(類似于地址空間),但相鄰的內存將每個單詞放置在同一行中,如圖2所示。交錯結構將字的每個位分離到SRAM陣列的不同列和行中。最后,子陣列組織將一個字的每個位放置在SRAM的不同物理分離塊中。現實情況是,在嵌入式開發中,你不知道正確執行棋盤測試所需的物理布局。

      2-面向單詞的存儲器的物理布局示例

       

      棋盤測試的特點和缺點

       

      用于實現棋盤式算法的簡單方法是交替地將值0xAA(假設為8位數據字)寫入第一個地址,并將0x55寫入下一個地址。然后驗證該模式以檢測相鄰小區之間的任何DC或耦合故障。然后使用逆模式重復該過程。如前所述,有一個陷阱:內存邏輯布局中的棋盤圖案可能不是底層物理布局中的一個棋盤圖案,如圖3所示。

      3-邏輯與物理SRAM的數據模式。

       

      補償邏輯布局和物理布局之間的差異似乎很明顯,但設備數據表中很少提供必要的信息。那么,你是做什么的?接受較低的覆蓋范圍,畢竟,診斷仍將覆蓋DC故障和相鄰位之間的一些耦合故障?向IC供應商請求布局,并為每個設備定制棋盤測試?或者選擇其他算法?

       

      既然你已經意識到棋盤測試的潛在缺點,你就可以做出明智的決定了。

       

      SRAM運行時測試的替代算法

      IEC 60730中針對C級安全級別提出的內存測試技術具有更高的故障檢測覆蓋率,但這些算法屬于可被視為生產測試算法的算法:它們運行時間更長,也檢測到更罕見的故障類型,但通常會破壞存儲在SRAM中的數據,因為它們在整個SRAM上運行,而不是在子塊中運行。

       

      一般來說,對于我們的嵌入式開發設計,我們不能很好地容忍這種情況。因此,我們建議你考慮改編自生產測試March算法的混合March算法:這些算法在WOM優化實現中可用,并提供高測試覆蓋率。此外,這些混合March算法可以實現為在SRAM的較小重疊部分上運行,以避免一次擦除SRAM中的所有數據,這意味著可以避免嵌入式系統的重新啟動。March算法的缺點是,它們比傳統的棋盤算法計算量更大,但這是安全關鍵系統中可能需要的開銷。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 午夜在线不卡精品国产 | 亚洲欧美综合国产精品二区 | 中文乱码精品视频在线 | 青青青视频在线视频免费 | 又色又爽又高潮的视频日本 | 日本精品在线不卡中文字幕 |