0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在運(yùn)行時(shí)檢測(cè)SRAM故障的挑戰(zhàn)

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Henrik Nyholm,Jacob ? 2022-10-25 09:36 ? 次閱讀

作者:Henrik Nyholm,Jacob Lunn Lassen

在設(shè)計(jì)安全關(guān)鍵系統(tǒng)時(shí),國(guó)際安全標(biāo)準(zhǔn)對(duì)我們選擇適當(dāng)?shù)牧鞒毯瓦m當(dāng)?shù)募夹g(shù)來(lái)檢測(cè)和避免最終產(chǎn)品中的危險(xiǎn)故障至關(guān)重要。這些標(biāo)準(zhǔn)確保我們不會(huì)像我們之前的安全工程師一樣陷入同樣的困境。

然而,這些標(biāo)準(zhǔn)的危險(xiǎn)在于,它們假設(shè)你對(duì)底層硬件(比如微控制器)有詳細(xì)的了解,這可能會(huì)導(dǎo)致經(jīng)驗(yàn)不足的安全工程師實(shí)施不安全的設(shè)計(jì)。例如,IEC(國(guó)際電工委員會(huì))60730標(biāo)準(zhǔn)建議使用棋盤式存儲(chǔ)器測(cè)試來(lái)檢測(cè)B類軟件可變存儲(chǔ)器中的直流故障,這比看起來(lái)更具挑戰(zhàn)性。

本文介紹了SRAM的邏輯和物理布局之間未記錄的差異如何導(dǎo)致我們無(wú)意中錯(cuò)誤地實(shí)現(xiàn)內(nèi)存測(cè)試,例如棋盤算法。標(biāo)準(zhǔn)微控制器的數(shù)據(jù)表中通常沒(méi)有必要的信息,但幸運(yùn)的是,有些內(nèi)存測(cè)試算法不受SRAM邏輯和物理布局差異的影響。

在運(yùn)行時(shí)測(cè)試 SRAM 是否存在缺陷

SRAM存儲(chǔ)器顯然由IC供應(yīng)商在生產(chǎn)中進(jìn)行測(cè)試,并且有缺陷的產(chǎn)品不會(huì)運(yùn)送給消費(fèi)者。盡管如此,隨機(jī)的硬件缺陷在IC的使用壽命期間可能會(huì)并且將會(huì)出現(xiàn),這是在安全關(guān)鍵應(yīng)用中需要在運(yùn)行時(shí)在微控制器中測(cè)試硬件的原因之一。

棋盤記憶測(cè)試

IEC 60730 (H.2.19.6.1) 等安全標(biāo)準(zhǔn)表明,對(duì)于必須符合 B 類安全級(jí)別的應(yīng)用,可以使用棋盤算法來(lái)識(shí)別 SRAM 中的某些缺陷(直流故障)。通常選擇棋盤測(cè)試,因?yàn)樗w了SRAM中最可能的故障,并且相對(duì)較快,這便于最大限度地減少對(duì)應(yīng)用本身的性能影響。除了直流故障(位永久卡在高處或低位)之外,棋盤算法還可以檢測(cè)相鄰位相互影響的缺陷。

SRAM在邏輯上由以單詞組織的許多位組成。這些字通常為 8 位、16 位或 32 位寬,但也可能更長(zhǎng)。在物理上,這些位被組織在數(shù)組中,其中每個(gè)位通常有八個(gè)相鄰位(參見(jiàn)圖1)。位中的物理缺陷會(huì)影響單個(gè)位,使其卡在高處或低位(直流故障),或者缺陷可能處于兩個(gè)位的分離中,在這種情況下,相鄰的侵略者單元(在圖1中標(biāo)記為紫色)可能會(huì)影響受害單元(在圖1中標(biāo)記為黃色)。攻擊者-受害者的情況通常被稱為耦合故障。從統(tǒng)計(jì)學(xué)上看,直流故障更容易發(fā)生,但檢測(cè)最可能的耦合故障仍然相關(guān)。

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

如果故障影響單個(gè)位,使該位卡在高位或低位,則可以通過(guò)寫入值 1,通過(guò)回讀來(lái)驗(yàn)證值 1,然后寫入值 0 并通過(guò)回讀來(lái)驗(yàn)證零,如圖 1 所示。另一方面,如果缺陷是兩個(gè)相鄰位之間的耦合故障,例如第2行中的位列9和10,則某些模式(例如所有1或全部0)不會(huì)顯示耦合故障,因?yàn)閱卧裨跍y(cè)試期間具有相同的值。

諸如相鄰單元(側(cè)面,上方和下方)之類的耦合故障具有相反的二進(jìn)制值。圖 1(右下角)說(shuō)明了位 10 中的位污染了位 9,并且由于位 9 不保持預(yù)期值 0,因此揭示了耦合故障。

SRAM 的物理與邏輯布局

要使棋盤算法正常工作,需要知道哪些位是相鄰位。事實(shí)證明,這是一個(gè)問(wèn)題,因?yàn)閿?shù)據(jù)手冊(cè)通常只描述SRAM的邏輯布局,而不是SRAM的物理組織方式。

要了解SRAM的物理布局,必須區(qū)分面向位的存儲(chǔ)器(BOM)和面向字的存儲(chǔ)器(WOM),前者當(dāng)時(shí)可以訪問(wèn)一個(gè)位,后者在當(dāng)時(shí)讀取和寫入n位字。雖然大多數(shù)現(xiàn)實(shí)世界的內(nèi)存都是以口碑形式實(shí)現(xiàn)的,但科學(xué)文獻(xiàn)中的經(jīng)典內(nèi)存測(cè)試算法通常采用BOM實(shí)現(xiàn)。

對(duì)于口碑存儲(chǔ)器,構(gòu)成單詞的位的物理組織有三個(gè)主要類別:相鄰、交錯(cuò)和子數(shù)組。邏輯布局將每個(gè)單詞放在同一列中前一個(gè)單詞的下面(類似地址空格),但相鄰的記憶將每個(gè)單詞放在同一行中,如圖 2 所示。交錯(cuò)架構(gòu)將單詞的每個(gè)位分隔到SRAM陣列的不同列和行中。最后,子陣列組織將單詞的每個(gè)位放在SRAM的不同物理上獨(dú)立的塊中?,F(xiàn)實(shí)情況是,您不知道正確實(shí)施棋盤測(cè)試所需的物理布局。

圖 2 - 面向單詞的記憶的物理布局示例。

棋盤測(cè)試的性能和缺點(diǎn)

實(shí)現(xiàn)棋盤算法的簡(jiǎn)單方法是交替地將值0xAA(假設(shè)是8位數(shù)據(jù)字)寫入第一個(gè)地址,并在下一個(gè)地址中0x55,直到所有被測(cè)地址都用1和0的棋盤模式填充。然后驗(yàn)證該模式以檢測(cè)相鄰單元之間的任何直流或耦合故障。然后使用反向模式重復(fù)該過(guò)程。如前所述,有一個(gè)問(wèn)題:內(nèi)存邏輯布局中的棋盤模式可能不是底層物理布局中的棋盤模式,如圖 3 所示。

圖3 - 邏輯與物理SRAM的數(shù)據(jù)模式。

補(bǔ)償邏輯和物理布局之間的差異似乎是顯而易見(jiàn)的,但在器件的數(shù)據(jù)表中很少提供必要的信息。那么,你該怎么辦?接受較低的覆蓋范圍,畢竟診斷仍然會(huì)覆蓋直流故障和相鄰位之間的一些耦合故障嗎?向IC供應(yīng)商請(qǐng)求布局,并為每個(gè)器件定制棋盤測(cè)試的實(shí)現(xiàn)?或者選擇其他算法?

既然您已經(jīng)意識(shí)到棋盤測(cè)試的潛在缺點(diǎn),您可以做出明智的決定。

用于 SRAM 運(yùn)行時(shí)測(cè)試的替代算法

IEC 60730中針對(duì)C類安全級(jí)別提出的存儲(chǔ)器測(cè)試技術(shù)具有更高的故障檢測(cè)覆蓋率,但這些算法屬于可以被認(rèn)為是生產(chǎn)測(cè)試算法的算法:它們需要更長(zhǎng)的時(shí)間來(lái)運(yùn)行,也可以檢測(cè)更罕見(jiàn)的故障類型,但通常會(huì)破壞存儲(chǔ)在SRAM中的數(shù)據(jù),因?yàn)樗鼈冊(cè)谡麄€(gè)SRAM上運(yùn)行,而不是在子塊中運(yùn)行。

一般來(lái)說(shuō),對(duì)于我們的嵌入式設(shè)計(jì),我們不能很好地容忍這一點(diǎn)。因此,我們建議您考慮從生產(chǎn)測(cè)試 March 算法改編的混合 March 算法:這些算法可用于 WOM 優(yōu)化實(shí)現(xiàn),并提供高測(cè)試覆蓋率。此外,可以實(shí)現(xiàn)這些混合 March 算法,使其在 SRAM 的較小重疊部分上運(yùn)行,以避免一次擦除 SRAM 中的所有數(shù)據(jù),這意味著可以避免嵌入式系統(tǒng)的重新啟動(dòng)。March算法的缺點(diǎn)是它們比傳統(tǒng)的棋盤算法計(jì)算量更大,但這是安全關(guān)鍵系統(tǒng)可能需要的費(fèi)用。

如果您考慮將傳統(tǒng)的棋盤測(cè)試與March測(cè)試交換,則可以從一些微控制器供應(yīng)商處找到此類實(shí)現(xiàn)。Microchip是提供March C-算法的性能優(yōu)化實(shí)現(xiàn)的公司之一,作為其軟件診斷庫(kù)的一部分。Microchip實(shí)現(xiàn)支持整個(gè)SRAM的測(cè)試,通常在啟動(dòng)時(shí)完成,以獲得最大的測(cè)試覆蓋率,以及更小的內(nèi)存塊的測(cè)試,旨在減少對(duì)應(yīng)用的實(shí)時(shí)影響。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150107
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163092
  • sram
    +關(guān)注

    關(guān)注

    6

    文章

    757

    瀏覽量

    114450
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C2000?MCU的運(yùn)行時(shí)堆棧大小監(jiān)測(cè)

    電子發(fā)燒友網(wǎng)站提供《C2000?MCU的運(yùn)行時(shí)堆棧大小監(jiān)測(cè).pdf》資料免費(fèi)下載
    發(fā)表于 09-11 09:30 ?0次下載
    C2000?MCU的<b class='flag-5'>運(yùn)行時(shí)</b>堆棧大小監(jiān)測(cè)

    直線電機(jī)在運(yùn)行時(shí)噪音大不大

    眾所周知,直線電機(jī)采用了簡(jiǎn)化的結(jié)構(gòu)設(shè)計(jì),沒(méi)用中間的傳動(dòng)機(jī)構(gòu),能夠減少振動(dòng)和共振,使得運(yùn)行時(shí)的噪音得到了較好地控制。 直線電機(jī)的主要原材料是磁鐵和銅線,由此也能看出,它的工作原理是基于磁懸浮技術(shù),而磁懸浮技術(shù)
    的頭像 發(fā)表于 08-12 11:37 ?236次閱讀
    直線電機(jī)<b class='flag-5'>在運(yùn)行時(shí)</b>噪音大不大

    三菱plc累計(jì)運(yùn)行時(shí)間怎么編程

    具有重要意義。本文將詳細(xì)介紹如何使用三菱PLC編程實(shí)現(xiàn)累計(jì)運(yùn)行時(shí)間的統(tǒng)計(jì)功能。 一、概述 累計(jì)運(yùn)行時(shí)間是指設(shè)備或系統(tǒng)在一定時(shí)間內(nèi)的總運(yùn)行時(shí)間。在工業(yè)生產(chǎn)中,對(duì)設(shè)備的累計(jì)運(yùn)行時(shí)間進(jìn)行統(tǒng)計(jì)
    的頭像 發(fā)表于 06-20 11:31 ?1356次閱讀

    請(qǐng)問(wèn)esp-idf 5.0如何在運(yùn)行時(shí)調(diào)節(jié)MCPWM的定時(shí)器頻率?

    idf5.0中只提供了創(chuàng)建MCPWM時(shí)通過(guò)結(jié)構(gòu)體mcpwm_timer_config_t初始化定時(shí)器頻率的方法,沒(méi)有提供類似v4.0版本的mcpwm_set_frequence()函數(shù)。 如何在運(yùn)行時(shí)調(diào)節(jié)MCPWM的定時(shí)器頻率?
    發(fā)表于 06-12 07:14

    如何在運(yùn)行時(shí)從HSM對(duì)SWAP UCB進(jìn)行編程?

    我使用的是 AURIX TC397 開(kāi)發(fā)板,可以在運(yùn)行時(shí)從 Tricore 域?qū)?SWAP UCB 進(jìn)行編程,但無(wú)法從 HSM 域進(jìn)行編程。 我需要這種功能,以便在固件更新后交換存儲(chǔ)庫(kù)。 是否有我
    發(fā)表于 05-31 06:37

    如何在運(yùn)行時(shí)更改輸入和輸出之間的GPIO配置?

    正在探索如何在運(yùn)行時(shí)更改輸入和輸出之間的 GPIO 配置。 我無(wú)法計(jì)算TESTBOARD_150PC_OUT緩沖區(qū)的效果:CY_GPIO_DM_PULLUP_IN_OFF
    發(fā)表于 03-05 06:20

    如何在運(yùn)行時(shí)計(jì)算設(shè)計(jì)中使用的時(shí)鐘頻率?

    我想知道如何在運(yùn)行時(shí)計(jì)算設(shè)計(jì)中使用的時(shí)鐘頻率(設(shè)計(jì)使用時(shí)鐘組件),尤其是組件內(nèi)部的時(shí)鐘,例如 UART。 例如,使用 clock_getSourceRegister () 返回
    發(fā)表于 01-24 06:09

    如何在運(yùn)行時(shí)擦除/編程UCB?

    我有一個(gè)項(xiàng)目需要在現(xiàn)場(chǎng)更新 SOTA。 這需要在運(yùn)行時(shí)更新必要的 UCB 值。 我已經(jīng)看過(guò)擦除/編程 PFLASH 和 DFLASH 的示例代碼,但我還沒(méi)有找到任何特定于 UCB 內(nèi)存的代碼。 我
    發(fā)表于 01-22 07:18

    變頻電機(jī)低速運(yùn)行時(shí),轉(zhuǎn)速變化大嗎?詳解轉(zhuǎn)速變化的影響因素

    變頻電機(jī)低速運(yùn)行時(shí),轉(zhuǎn)速變化大嗎?詳解轉(zhuǎn)速變化的影響因素? 變頻電機(jī)低速運(yùn)行時(shí),轉(zhuǎn)速變化較小的原因有多個(gè)。下面將從電機(jī)結(jié)構(gòu)、電機(jī)參數(shù)、負(fù)載特性等方面詳細(xì)解釋這些影響因素。 1. 電機(jī)結(jié)構(gòu) 變頻電機(jī)
    的頭像 發(fā)表于 12-21 10:50 ?820次閱讀

    jvm運(yùn)行時(shí)內(nèi)存區(qū)域劃分

    JVM是Java Virtual Machine(Java虛擬機(jī))的縮寫,它是Java編程語(yǔ)言的運(yùn)行環(huán)境。JVM的主要功能是將Java源代碼轉(zhuǎn)換為機(jī)器代碼,并且在運(yùn)行時(shí)管理Java程序的內(nèi)存。JVM
    的頭像 發(fā)表于 12-05 14:08 ?414次閱讀

    西門子SCL編程50臺(tái)電機(jī)運(yùn)行時(shí)間累計(jì)方法

    當(dāng)RUN信號(hào)為TRUE時(shí),開(kāi)始計(jì)時(shí),為FALSE時(shí)停止計(jì)時(shí),單次運(yùn)行時(shí)間清零,長(zhǎng)按RESET為5秒時(shí),單次和總運(yùn)行時(shí)間都清零。
    發(fā)表于 11-27 09:59 ?1586次閱讀
    西門子SCL編程50臺(tái)電機(jī)<b class='flag-5'>運(yùn)行時(shí)</b>間累計(jì)方法

    如何在 CFD 設(shè)計(jì)中利用網(wǎng)格維護(hù)幾何形狀并減少運(yùn)行時(shí)間?

    如何在 CFD 設(shè)計(jì)中利用網(wǎng)格維護(hù)幾何形狀并減少運(yùn)行時(shí)間?
    的頭像 發(fā)表于 11-24 17:07 ?402次閱讀
    如何在 CFD 設(shè)計(jì)中利用網(wǎng)格維護(hù)幾何形狀并減少<b class='flag-5'>運(yùn)行時(shí)</b>間?

    即使將負(fù)載電纜與設(shè)備斷開(kāi)連接,進(jìn)行空載運(yùn)行時(shí),也會(huì)發(fā)生故障嗎?

    即使將負(fù)載電纜與設(shè)備斷開(kāi)連接,進(jìn)行空載運(yùn)行時(shí),也會(huì)發(fā)生故障嗎? 即使將負(fù)載電纜與設(shè)備斷開(kāi)連接,進(jìn)行空載運(yùn)行時(shí),也不可避免地會(huì)發(fā)生一些故障。本文將從多個(gè)方面詳盡、詳實(shí)、細(xì)致地探討這一問(wèn)題
    的頭像 發(fā)表于 11-17 14:35 ?463次閱讀

    如何保證它們?nèi)萜?b class='flag-5'>運(yùn)行時(shí)的安全?

    緊密耦合的容器運(yùn)行時(shí)繼承了主機(jī)操作系統(tǒng)的安全態(tài)勢(shì)和攻擊面。運(yùn)行時(shí)或主機(jī)內(nèi)核中的任何漏洞及其利用都會(huì)成為攻擊者的潛在切入點(diǎn)。
    的頭像 發(fā)表于 11-03 15:24 ?533次閱讀

    AUTOSAR CP運(yùn)行時(shí)環(huán)境與應(yīng)用軟件

    運(yùn)行時(shí)環(huán)境(RTE) AUTOSAR CP運(yùn)行時(shí)環(huán)境(RTE)是AUTOSAR架構(gòu)中的核心組件,它實(shí)現(xiàn)了AUTOSAR虛擬功能總線(VFB)的接口,并提供了通信基礎(chǔ)設(shè)施和訪問(wèn)基礎(chǔ)軟件組件(如操作系統(tǒng)
    的頭像 發(fā)表于 10-27 15:44 ?1172次閱讀
    AUTOSAR CP<b class='flag-5'>運(yùn)行時(shí)</b>環(huán)境與應(yīng)用軟件