用于識別至少一個存儲器元件中的錯誤數據的方法和裝置的制造方法
【專利摘要】用于識別在至少一個存儲元件(38)中的、尤其是寄存器(2、42)中的有錯誤的數據的方法,所述存儲元件包括至少一個雙穩態的觸發器,所述方法允許可靠地發現軟錯誤。為此,在寫入數據到所述至少一個存儲元件(38)中時,從這些數據中產生至少一個寫入安全比特并且存儲在配屬的安全存儲元件(46)中,其中,以與在寫入時相同的方式從所述數據中連續地被計算出至少一個輸出安全比特并且與對應的寫入安全比特進行比較。
【專利說明】
用于識別至少一個存儲器元件中的錯誤數據的方法和裝置
技術領域
[0001]本發明涉及用于識別至少一個存儲器元件中的、尤其是寄存器中的錯誤的數據的裝置和方法,所述存儲器元件包括至少一個雙穩態的觸發器(flipflops)。本發明此外涉及用于執行這樣的方法的裝置以及具有這樣的裝置的集成的電路。
【背景技術】
[0002]寄存器的特別之處是,其數據輸出端始終(并且不是如例如在RAM中那樣僅僅在尋址之后)示出被存儲的數據并且常常不僅僅被用于存儲,而是還確定硬件的功能,例如定時器的波特率、通訊協議等。
[0003]如下的錯誤被稱作為“SoftErrors”或者“軟錯誤”,其不通過物理性損壞引起,而是通過由外部影響原因造成的雙穩態的部件的狀態改變引起。雙穩態的部件例如是Fl ipflops或者說觸發器,其能夠采用并且也能夠保持兩個不同的狀態。
[0004]軟錯誤一般通過高能量的粒子、以及例如宇宙的輻射的部分或者殼體材料中放射性摻雜物引起,其侵入到半導體中并且在那兒進行翻轉,這稱作為單事件干擾或者說“單粒子翻轉(Single Event Upset)”(SEU)。在此通常受到影響的是RAM模塊,但還有觸發器。已知的應對措施是對RAM中的數據的錯誤識別的和/或錯誤修正的編碼、例如通過錯誤修正代碼(ECC)0
[0005]對于觸發器已知的是,執行多數決定作為保護的措施。在此,觸發器被三倍地實施并且在不是所有的觸發器都具有相同的狀態的情況下,實施“3個中的兩個”或者說三分之二的多數決定。此外,已知抗輻射的觸發器,其雖然更少地受到干擾,但是為此也明顯地比標準的觸發器大。其它已知的方法利用周期性地讀取(程序控制地)并且再寫入關鍵的數據。同樣已知的是利用CRC周期性地檢查,其中每個比特例如被狀態機周期性地串行檢查并且合并到CRC總數的計算中。
[0006]觸發器一般被應用作為很多類型的寄存器的基礎結構,這些寄存器尤其在微控制器中、然而也在大多數其它的IC類型中用于存儲數據。一個應用情況例如是存儲用于模擬電路的修正數據或者存儲用于匹配特別的任務的配置數據。
[0007]在存儲變化數據的寄存器中出現以上提到的錯誤意味著,計算流和控制流中暫時的偏差,其在系統中常常能夠被忽略。明顯更嚴重的是數據在配置寄存器或者微調寄存器中的改變,因為在這樣的寄存器中,被寄存的數據通常在系統接入后僅僅被寫入一次。由SEU引起的錯誤而后可能一直保留至斷開并且會導致嚴重的錯誤功能。
【發明內容】
[0008]因此本發明的目的是,提供一種用于發現并且控制在寄存器中的軟錯誤的方法。此外要提供相應的裝置和相應的集成的電路。
[0009]根據本發明,以上提到的目的參考以下的方法實現,即在寫入數據到至少一個數據存儲元件中時,由這些數據產生至少一個寫入安全比特/寫入安全位并且存儲在配屬的安全存儲元件中并且其中以與在寫入時相同的方式連續地從數據中計算出至少一個輸出安全比特/輸出安全位并且將其與對應的寫入安全比特進行比較。
[0010]有利的設計方案是從屬權利要求的主題。
[0011]本發明從以下構思出發:尤其是在當數據不是有規律地被寫入、而更多的是尤其在運行開始時僅僅一次被寄存時,軟錯誤的發現是重要的。雖然這些數據僅僅一次被寫入,但是會包含重要的信息,例如對于進一步的運行重要的配置設定。數據中的錯誤應該在出現之后立即或者有短延時地被識別。多數決定器的執行(其中數據在一定程度上以冗余的方式寫入到多個存儲器模塊中)需要大的芯片面積以及高的電流消耗。利用周期性的檢查的方法消耗運算時間。對錯誤發現的延時要求越嚴格,運算時間就越高。
[0012]如現在已經識別出的那樣,通過早在初始寫入數據時產生或者說計算出表征數據的安全比特數目,能夠可靠地并且節省資源地發現軟錯誤。這些(輸出)安全比特能夠借助于組合的邏輯以相同的方式、即根據相同的計算規定從輸出端數據中重新產生,其中,與在寫入時的比特相比較后在缺乏對應的情況下可靠地指出軟錯誤的出現。錯誤的出現因此能夠立即被發現。這使得能夠在應用這些數據之前進行警告并且/或者直接地修正這些數據。
[0013]根據本發明,以與在寫入時相同的方式從來源于數據存儲元件的數據中計算出至少一個安全比特或者說輸出安全比特并且與對應的寫入安全比特進行比較。缺乏對應表明在此期間發生軟錯誤,其例如表示為一個或者多個比特倒置。
[0014]數據的寫入以有利方式地由處理器(CPU)或者由狀態機或者由信號引起。
[0015]優選向處理器傳遞關于相應的寫入安全比特與對應的讀取安全比特的缺乏對應的信號。
[0016]信號通知優選通過設置至少一個標志和/或中斷實現。這以有利方式地例如在具有或者沒有中斷能力的狀態寄存器中實現并且使得系統或者說處理器能夠引起并且執行錯誤處理措施。
[0017]由此,在優選的實施方式中,基于計算出的安全比特或者說輸出安全比特與產生的寫入安全比特的缺乏對應,也就是說在識別出出現錯誤時,重新向數據存儲元件中寫入數據。也就是說,由處理器或者狀態機重復數據初始被寫入到存儲元件中的過程。然而相比于已知的方法,這不是周期性地執行,而是僅僅在需求情況下,也就是在出現錯誤時才執行。以該方式,數據而后-至少首先-又以沒有錯誤的形式供支配用于另外的過程。
[0018]安全比特優選是奇偶比特和/或ECC比特。奇偶比特在此表征:在數據比特中是否存在并且存在多少“I”或者“O”狀態。在奇偶比特為偶數時,數據的奇數數目的“I”狀態對應于奇偶比特的值“I” ; “O”代表數據的偶數數目的“I”比特。該分配在奇數的奇偶比特的情況下相反地選擇。
[0019]ECC(Error Correcting Code)比特在此理解為如下比特或其產生手段,其(至少在受限制的程度上)不僅僅允許發現錯誤而且也允許借助于ECC比特修正錯誤。通常,I比特錯誤能夠立即被修正,而2比特錯誤能夠被識別,但不能被修正。多比特錯誤能夠部分地被識別。安全比特也能夠在其它存儲保護方法的基礎上被產生并且被寫入。
[0020]根據本發明,以上提到的目的參考如下的裝置被實現,其具有至少一個邏輯單元,在邏輯單元中執行以上描述的方法。該方法在所述至少一個邏輯單元中優選通過硬件和/或軟件執行。可以為寫入和讀取數據設置同一邏輯單元用于產生安全比特,或者為這兩個過程中的每個過程各設置一個邏輯單元。邏輯單元也能夠是處理器的一部分或者說與處理器結合。
[0021]以上提到的目的參考如下集成的電路實現,其具有至少一個數據存儲元件、至少一個安全存儲元件和所述類型的裝置。這樣的集成的電路優選在具有參數微調的IC中使用。(部件容忍度常常過大,不能夠實現電路的要求的精度。在這樣的情況下,部件被平衡-例如在分壓器的情況下從多個分接中選出一個。)微調應用在所有的測量電路中,例如用于傳感器信號、閥電流,以及電流供應和比較電路中。另外的使用可行方案是用于使IC與環境匹配的配置,例如匹配于車輛類型、車輪傳感器類型、機載電壓的監測閾值等。
[0022]數據存儲元件在優選的實施方案中包括至少一個觸發器。
[0023]本發明的優點尤其在于,通過在寫入數據時并行地寫入安全比特以及連續地監測數據輸出,實現了能夠識別軟錯誤出現的節省資源的可行方案。通過連續地計算出安全比特并且與初始寫入的安全比特進行比較,能夠在發現不一致時通過通知給處理器在進一步應用(有錯誤的)數據之前進行警告,由此能夠防止系統的錯誤功能。
【附圖說明】
[0024]根據附圖更詳細地解釋本發明的實施例。其中以強烈示意化的圖示示出:
[0025]圖1示出具有多數決定器電路的三個觸發器的已知的配置;
[0026]圖2示出在優選的第一實施方案中的集成的電路,具有用于識別在至少一個存儲元件、數據存儲元件和安全存儲元件中的有錯誤的數據的裝置;
[0027]圖3示出在優選的第二實施方案中的集成的電路。
【具體實施方式】
[0028]在所有的圖中,相同的部件設有同樣的附圖標記。
[0029]在圖1中示出用于一比特的寄存器2。寄存器2在此構造成多數決定器(Mehrheitsentscheider)并且包括三個觸發器6、10、14,其構造為D觸發器。相應的觸發器
6、10、14分別包括數據輸入端D、時鐘輸入端Ck(“Clock”)以及數據輸出端Q。通過數據線20,由處理器(Prozessor)(未示出)分別在三個觸發器6、10、14中設置兩個穩態的狀態(例如表示為“O”和“I”)中的一個,其中,在所有三個觸發器6、10、14中分別設置相同的狀態。數據比特因此在一定程度上以三倍冗余或者說呈三倍形式存儲。
[0030]在通過三個觸發器6、10、14實現的寄存器2中存儲的數據或者說比特向多數決定器邏輯電路24分別發送所述觸發器6、10、14的狀態或者說比特并且在輸出端A處提供數值。在此可以區別兩種情況。在所有三個觸發器6、10、14的狀態相同的情況下,那么在輸出端A處提供該狀態。如果所述觸發器6、10、14中的兩個觸發器具有與第三個觸發器6、10、14不同的狀態,那么在輸出端A處提供所述兩個觸發器6、10、14所具有的狀態。由此2/3的多數決定被執行并且具有不同數值的所述單個的觸發器6、10、14在一定程度上被否決。
[0031]在這樣的寄存器的實施方案中的缺點是:由于冗余造成部件數目多以及由此而來的空間消耗和電流消耗。
[0032]在圖2中示出根據本發明的集成的電路30,具有主處理器(CPU)或者狀態機(Zustandsautomaten)或類似裝置34以及數據存儲元件38,該數據存儲元件構造成寄存器42。寄存器42構造為32比特寄存器并且包括多個觸發器。相比于在利用圖1討論的電路方面,現在每個比特通過唯一的觸發器代表。寄存器42替代地也能夠構造有多個能夠寫入和讀取的存儲部位。
[0033]此外,集成的電路30使得能夠識別“softerrors”或者說“軟錯誤”,“軟錯誤”例如源于在相應的數據存儲元件38上出現高能的輻射。通過輻射的電離的作用,在寄存器中例如進行比特倒置,也就是說比特的狀態被倒置。相比于硬錯誤,軟錯誤不對結構元件造成損壞,而是改變其內部的狀態。視被轉換的比特所代表的部位或者數字而定,在寄存器2中代表的數值例如能夠劇烈地改變或者甚至在相應的代表的情況下改變其符號,這在系統中會導致嚴重的功能故障,其中所述數值表征重要的或者有關的參數。
[0034]集成的電路30因此為了識別軟錯誤除了具有數據存儲元件38之外還具有安全存儲元件46。如果數據由主處理器34或者狀態機通過數據線36寫入到數據存儲元件中,那么由邏輯單元50向安全存儲元件46中寫入安全比特。安全比特在此可以是一個或者多個奇偶比特或者ECC比特。
[0035]在寄存器42中寄存的數據由邏輯單元54以與邏輯單元50計算安全比特相同的方式從寄存在數據存儲元件38中的數據中計算出安全比特并且將其與在安全存儲元件46中寄存的安全比特進行比較。邏輯單元50和54也能夠被組合成一個共同的邏輯單元并且/或者與主處理器34/狀態機組合。通過其實現了用于識別軟錯誤的裝置56。
[0036]在確定在寫入數據時產生的或者說生成的安全比特和由實際的寄存數據計算出的安全比特之間缺乏對應的情況下,邏輯單元54通過數據線58向主處理器34傳輸信號。該信號可以包括標志或者中斷的設置。以該方式,在集成的電路30中能夠對有錯誤的數據作出反應。優選地,由主處理器34重新產生或者確定數據并且重新寫入到寄存器42中并且從而修復錯誤。在其它的實現方案中,數據(例如校正數據)能夠由固定值存儲器重新加載。替代于此地,主處理器34也能夠發出關于不能夠保證系統可靠運行的警告并且/或者引入緊急措施,例如系統重置、緊急切斷或者類似措施。
[0037]圖3示出在優選的第二實施方式中的集成的電路30。在此,邏輯單元50在向寄存器42中寫入數據時產生ECC比特,也就是與修正錯誤的算法對應的比特。ECC比特不僅僅允許錯誤的識別而且也允許其修正。該修正在當前的實施例中由邏輯單元54執行,其而后給數據線58提供修正了的數據。也就是說,除了錯誤的識別之外也發生數據的修正。在該情況下也能夠規定,在識別出錯誤時數據重新被寫入到寄存器中。此外,該配置在一定程度上也能夠容忍“硬”錯誤。
[0038]根據圖2或3的集成的電路30例如以有利方式地被用于保護微控制器外圍模塊(例如用于時鐘發生器的分頻器)中的配置數據、檢測值、SPI波特率、CAN時間的比特定時等。
[0039]此外,集成的電路能夠以有利方式地被用于保護模擬IC中的修正數據。在此,能夠將例如500至1000比特用于參數微調。這些數據在制造時被寫入在固定值存儲器中并且而后在接入電壓或者重置之后在觸發器中被接收。這些觸發器而后能夠以較少的比特永久地檢查偏差。利用IC中的配置數據也能夠實現類似內容。相比于修正,在應用中確定配置。對此的例子是比較電路的閾值、用于輪傳感器的協議等。
[0040]附圖標記列表:
[0041 ] 2 寄存器
[0042]6觸發器
[0043]10觸發器
[0044]14觸發器
[0045]20數據線
[0046]24多數決定器邏輯
[0047]30集成的電路
[0048]34主處理器
[0049]36數據線
[0050]38數據存儲元件[0051 ]42寄存器
[0052]46安全存儲元件
[0053]50邏輯單元
[0054]54邏輯單元
[0055]56裝置
[0056]58數據線
[0057]62數據線
[0058]D數據輸入端
[0059]Ck時鐘輸入端
[0060]Q數據輸出端
[0061]A輸出端。
【主權項】
1.一種用于識別在至少一個存儲元件(38)中的、尤其是寄存器(2、42)中的有錯誤的數據的方法,所述存儲元件包括至少一個雙穩態的觸發器,其中,在寫入數據到所述至少一個存儲元件(38)中時,從這些數據中產生至少一個寫入安全比特并且存儲在配屬的安全存儲元件(46)中并且其中,以與在寫入時相同的方式從所述數據中連續地計算出至少一個輸出安全比特并且與對應的寫入安全比特進行比較。2.根據權利要求1所述的方法,其特征在于,所述數據的寫入由處理器(CPU)或者由狀態機或者由信號引起。3.根據權利要求1或2所述的方法,其特征在于,向所述處理器(36)傳遞關于相應的寫入安全比特與對應的輸出安全比特缺乏對應的信號。4.根據權利要求3所述的方法,其特征在于,信號傳遞通過設置至少一個標志和/或中斷實現。5.根據權利要求1至4中任一項所述的方法,其特征在于,在輸出安全比特與寫入安全比特缺乏對應時,向所述數據存儲元件(38)中重新寫入數據。6.根據權利要求1至5中任一項所述的方法,其特征在于,所述安全比特是奇偶比特和/或ECC比特。7.—種用于識別和/或修正在至少一個存儲單元中的有錯誤的數據的裝置(56),所述存儲單元包括至少一個邏輯單元(50、54),在所述裝置中執行根據權利要求1至6中任一項所述的方法。8.—種集成的電路(30),該集成電路具有至少一個數據存儲元件(38)、至少一個安全存儲元件(46)和根據權利要求7所述的裝置。9.根據權利要求8所述的集成的電路(30),其特征在于,所述數據存儲元件(38)包括至少一個觸發器。
【文檔編號】G11C11/412GK105830162SQ201480068859
【公開日】2016年8月3日
【申請日】2014年12月16日
【發明人】A·特雷斯科夫
【申請人】大陸-特韋斯貿易合伙股份公司及兩合公司