衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何對長期運行的嵌入式設備采取軟錯誤保護呢?

麥克泰技術 ? 來源:麥克泰技術 ? 2024-03-25 13:57 ? 次閱讀

所謂軟錯誤,指的是由物理效應引起的數據偏差,受影響的內存單元并沒有被破壞,系統重啟后此錯誤會被修復,我們將這種軟錯誤的發生稱為單粒子翻轉(SEU)。

應用中的軟錯誤?

軟錯誤在應用中以特定的頻率存在,這種軟件錯誤率(SER)取決于很多環境和技術參數。

一個長期運行的工業設備,假設系統中集成了一個2MB SRAM,已連續運行20年,以每位小時1e-12個錯誤的SER,我們可以計算:

1e-12errors/bit*h*2Mbyte*8bit/byte*175.200h = 2.9 errors

我們意識到,對于長期運行的安全關鍵系統來說,這不僅僅是一個物理理論,我們很有可能會因為一個軟錯誤而失去安全功能!

這是不可接受的。我們必須避免或至少能檢測長期運行的工業設備中的軟錯誤。

越來越多的軟錯誤

為理解、檢測或糾正硬件中的這些軟錯誤,許多研究正在進行。根據Tezzaron的論文,組件對錯誤率的敏感性將隨著以下情況上升:

· 復雜性的增加將提升錯誤率

· 高密度(高容量)芯片更容易出錯

· 低壓設備更容易出錯

· 更高的速度(較低的延遲)導致更高的錯誤率

· 較低的電池容量(存儲電荷較少)將導致較高的錯誤率

這些情況匹配嵌入式市場的當前發展趨勢,我們應該讓系統為越來越多的軟錯誤做好準備。

硬件措施

在航空航天和衛星系統使用的一些輻射加固硬件組件具有高度的SEU免疫力,但如果在工業應用中使用這些組件,系統成本將超過可接受的限度。

可以使用為解決IT服務器內存錯誤設計的chipkill技術,該技術基于冗余機制。

硬件供應商也意識到了這一挑戰。在過去的幾年里,已經發布了幾款帶有軟錯誤緩解技術的微控制器

ECC內存保護

ECC內存設備使用糾錯碼來存儲數據,這些編碼被歸類為SEC-DED。該方法基于漢明編碼,可以發現2位錯誤,糾正1位錯誤。

當使用ECC保護內存時,軟件在啟動期間只需要少量操作。系統上電后,我們必須將內存初始化為已知狀態。否則,會收到ECC錯誤的通知,而ECC錯誤實際上是內存單元的隨機內容。之后,硬件在常規操作中透明地修復軟錯誤。大多數ECC內存提供修復通知,我們用它來監控內存。

有了這種優秀的硬件支持,我們已經為軟錯誤做好了充分的準備。

軟件措施

基于系統或硬件工程原因,我們需為沒有硬件機制的系統準備軟件,例如:使用的控制器不支持ECC內存,或者我們需要沒有ECC的外部內存。

我們建議在項目中針對軟錯誤敏感執行數據存儲分析,這種分析有助于決定對數據存儲使用哪種措施來避免、恢復或檢測軟錯誤,分析內容包含:

· 使用的內存數量(使用的內存越多,軟錯誤概率越高)

· 數據壽命(壽命越長,出現軟錯誤的概率越高)

· 軟錯誤導致的最壞情況系統行為(影響越嚴重,我們需要的錯誤檢出率越高)

在這種分析中,未使用的內存單元中的軟錯誤是可以接受的。通過這種方法,我們保持了盡可能高的性能和可用性,同時保護系統免受軟錯誤的影響。存儲數據可以分類為:

· 常量數據(如操作碼、配置表)

· 枚舉數據(如系統狀態和模式)

· 動態數據(如過程值)

· 臨時數據(如局部變量,不斷刷新內存)

歸類為臨時數據的變量是非關鍵的,可以在沒有進一步保護措施的情況下保持不變。因此,從獨立數據源周期性更新數據是一個很好的策略。

9aded032-e800-11ee-a297-92fbcf53809c.png

常量數據保護

為了保護內存中的常量數據(如應用操作碼或配置表),我們計算數據的哈希值,并使用存儲的預期值檢查結果。

保護的強度取決于哈希值中使用的比特位數。最常用的是CRC32算法。哈希碰撞是兩個不同的常量數據內存映像可能產生相同的哈希值的效應。杰夫·普雷辛提供了一份關于碰撞概率的概述。隨著常量數據內存中字節數的增加,CRC32碰撞的概率也會增加。對于實際項目,這導致了諸如“CRC32最多可以保護4096字節”這樣的限制(字節的數量取決于安全完整性級別)。

因此,更好的選擇是支持32位到1024位可變長度的FVN-Hash值,這是一種快速高效的計算哈希值的方法,下面的偽代碼顯示了算法:

9ae975be-e800-11ee-a297-92fbcf53809c.png

offset_basis和FNV_prime為固定值,取決于hash值的位寬度。

枚舉數據保護

我們在存儲枚舉數據時避免使用“1、2、3,…”這樣的值,因為一次位翻轉可以將有效數據更改為其它的有效值,我們沒有辦法檢測到這個位翻轉。

我們可以選擇特定的值,確保一次位翻轉的結果是無效值。如果需要至少兩次位翻轉才能將一個有效值更改為另一個有效值,我們將選擇稱為:“漢明距離(HD)為2的值。”

HD =不同位的數量

實際項目中,我們選擇漢明距離為4的值。參見以下十六進制字節值:

9afca148-e800-11ee-a297-92fbcf53809c.png

理論上,我們可以通過搜索具有最小漢明距離的值來糾正單個位翻轉。這個值很可能是正確的值。

以0x3c為例,假設位1翻轉-我們得到0x3e。首先,這是一個無效值。其次,我們可以檢查該值到所有有效數據的漢明距離(在下面的括號中):

9b0d21d0-e800-11ee-a297-92fbcf53809c.png

如果只有1位翻轉得到0x3e,最低HD的值是0x3c為正確的值。事實上,我們不知道有多少比特被翻轉了。這是被分類很可能正確的原因。

我們對安全關鍵軟件中最有可能正確(most likely)的值不滿意。出于這個原因,我們通常會提出一個安全異常,即關閉或重啟設備。

動態數據保護

對于動態數據,任何值都是有效值。我們必須添加冗余來檢測值的變化(如位翻轉)。一個簡單的方法是將變量鏡像存儲在不同的內存區域中。實現偽代碼如下:

9b17fd76-e800-11ee-a297-92fbcf53809c.png

我們現在可以在任何時候用引入的冗余檢查動態變化的變量:

9b22b31a-e800-11ee-a297-92fbcf53809c.png

注意:當使用中斷、多線程環境、DMA傳輸、數據緩存或多處理器設備時,這段偽代碼會變得復雜(并需要運行時間)。

總結

我們討論了對長期運行的嵌入式設備采取軟錯誤保護措施的必要性。

廣泛使用的硬件和軟件措施概述包括:

· 內存設備的ECC保護

· 常量數據內存的哈希值

· 枚舉值的漢明距離

· 動態數據內存的冗余

所有措施可以分類到哈希值、漢明碼和冗余三個大類,這是自檢測算法和系統可信性監測中使用的三個主要測量方法。




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7651

    瀏覽量

    152114
  • 多處理器
    +關注

    關注

    0

    文章

    22

    瀏覽量

    8980
  • 嵌入式設備
    +關注

    關注

    0

    文章

    110

    瀏覽量

    17034
  • 十六進制
    +關注

    關注

    2

    文章

    32

    瀏覽量

    37842
  • CRC32
    +關注

    關注

    0

    文章

    8

    瀏覽量

    8291

原文標題:如何對長期運行的嵌入式設備采取軟錯誤保護

文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式編程錯誤處理機制設計

    本文主要總結嵌入式系統C語言編程中,主要的錯誤處理方式。文中涉及的代碼運行環境如下。
    發表于 04-28 09:59 ?794次閱讀
    <b class='flag-5'>嵌入式</b>編程<b class='flag-5'>錯誤</b>處理機制設計

    嵌入式系統中的外設是什么?

    的外圍設備的功能,真正達到以代硬的目的。外設的出現給產品的開發帶來了極大的靈活性,不但使系統體積變得更小,而且使系統的升級換代變得更為方便,從而真正實現SOC。本文介紹外設的設計
    發表于 09-17 06:59

    如何構造運行良好的嵌入式設備的驅動程序?

    嵌入式系統需要支持的外部設備種類繁多,如何構造運行良好的嵌入式設備的驅動程序,對嵌入式操作系統的
    發表于 09-25 07:44

    為什么將編譯好的程序在嵌入式設備運行的時候報錯

    目錄問題敘述解決方法chmod用法詳解語法問題敘述在虛擬機上使用對應交叉編譯工具鏈編譯過的程序按道理來說應該可以在嵌入式Ubuntu設備運行了,但是我在將編譯好的程序在嵌入式
    發表于 12-21 06:44

    嵌入式PLC技術具有哪些優點

    嵌入式PLC技術是什么?嵌入式PLC技術具有哪些優點
    發表于 12-24 07:48

    什么是嵌入式嵌入式設備有哪些

    什么是嵌入式嵌入式設備有哪些
    發表于 12-24 07:47

    什么是嵌入式Linux?

    Linux到底是什么嵌入式linux 是將日益流行的Linux操作系統進行裁剪修改,使之能在嵌入式計算機系統上運行的一種操作系統。簡單來說,是除了電腦之外可以
    發表于 10-11 13:47

    如何在嵌入式設備運行高性能Java

    如何在嵌入式設備運行高性能Java
    發表于 03-28 09:43 ?16次下載

    嵌入式PLC系統的研究和實現

    介紹嵌入式PLC 硬件設計平臺和軟件設計平臺,利用梯形圖、硬件接口映射及模塊化設計技術開發面向工業控制嵌入式PLC系統。PLC 系統由
    發表于 04-25 10:22 ?37次下載

    基于ARM嵌入式系統PLC的研究

    嵌入式PLC是嵌入式系統與PLC相結合的產物,PLc作為一個嵌入式應用程序
    發表于 09-01 11:53 ?18次下載
    基于ARM<b class='flag-5'>嵌入式</b>系統<b class='flag-5'>軟</b>PLC的研究

    嵌入式PLC核的通用保護平臺設計

    提出了基于嵌入式PLC核的通用配網保護平臺設計方案。針對傳統保護軟件編程靈活性差,現場可配置能力弱的問題,在分析嵌入式PLC
    發表于 01-17 16:03 ?0次下載
    <b class='flag-5'>嵌入式</b>PLC<b class='flag-5'>軟</b>核的通用<b class='flag-5'>保護</b>平臺設計

    如何實現嵌入式PLC系統的研究與應用

    嵌入式PLC硬件設計平臺和軟件設計平臺,利用梯形圖,硬件接口映射及模塊化設計技術開發面向工業控制嵌入式PLC系統。PLC系統由開發系統
    發表于 06-16 17:40 ?18次下載
    如何實現<b class='flag-5'>嵌入式</b><b class='flag-5'>軟</b>PLC系統的研究與應用

    基于CoDeSys的嵌入式PLC系統設計與實現

    基于CoDeSys的嵌入式PLC系統設計與實現(嵌入式開發發展前景)-該文檔為基于CoDeSys的嵌入式PLC系統設計與實現總結文檔,是
    發表于 07-30 16:58 ?44次下載
    基于CoDeSys的<b class='flag-5'>嵌入式</b><b class='flag-5'>軟</b>PLC系統設計與實現

    嵌入式PLC系統的研究和實現

    嵌入式PLC系統的研究和實現(嵌入式開發武漢)-該文檔為嵌入式PLC系統的研究和實現總結文檔,是一份很不錯的參考資料,具有較高參考價值,
    發表于 08-04 10:59 ?4次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟</b>PLC系統的研究和實現

    嵌入式linux設備中應用運行日志的實現

    嵌入式linux設備中應用運行日志的實現? ? ? 最近在做一個項目時,需要記錄設備運行中情況,以方便對故障進行跟蹤定位,完善.所以決定采用
    發表于 11-01 17:22 ?8次下載
    <b class='flag-5'>嵌入式</b>linux<b class='flag-5'>設備</b>中應用<b class='flag-5'>運行</b>日志的實現
    3d大赢家| 百家乐一黑到底| 大发888娱乐场注册| 百家乐官网分析仪博彩正网| 百家乐官网高命中投注| 678百家乐博彩娱乐场开户注册| 百家乐官网投注平台信誉排行| 大发888老虎机手机版| 百家乐官网透视牌靴哪里有| 大发888在线娱乐游戏| 华盛顿百家乐官网的玩法技巧和规则| 网上娱乐城| 百家乐稳赢投注| 百家乐官网顺序| 虹乐棋牌是真的吗| 百家乐路子分析| 永利高百家乐官网现金网| 金钱豹百家乐的玩法技巧和规则| 金龍百家乐官网的玩法技巧和规则| 明升国际网| 百家乐的连庄连闲| 大亨百家乐官网游戏| 威尼斯人娱乐平台最新地址| 24山双山五行的用法| 太阳城百家乐官网赌博害人| 静乐县| 大发888优惠| 玩百家乐678娱乐城| A8百家乐官网赌场娱乐网规则| 大玩家娱乐| 郑州市太阳城宾馆| 百家乐生活馆拖鞋| 网上百家乐追杀| 百家乐官网策略大全| 澄城县| 大发888赌场 游戏平台| 新加坡百家乐的玩法技巧和规则| 百家乐庄的概率| 蓝盾百家乐官网的玩法技巧和规则 | 百家乐官网翻天快播粤语| 大发888国际娱乐|