專利名稱:用于監(jiān)控數(shù)據(jù)存儲器的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于監(jiān)控數(shù)據(jù)存儲器的方法,其中借助于誤差識別方法識別在數(shù)據(jù)存儲器中所存儲的有誤差的數(shù)據(jù)字和/或?qū)ζ溥M(jìn)行校正。本發(fā)明還涉及用于執(zhí)行該方法的校驗程序、包含校驗程序的存儲介質(zhì)和輔助存儲 器。
背景技術(shù):
現(xiàn)代微控制器需要處于幾百千字節(jié)(例如對于靜態(tài)數(shù)據(jù)存儲器(RAM, “隨機存取存儲器”))或幾兆字節(jié)(例如用于持久在所謂的FLASH存儲器中存儲程序)范圍中的數(shù)據(jù)存儲器。根據(jù)大的存儲容量或其技術(shù)實現(xiàn),數(shù)據(jù)誤差是比較經(jīng)常的或至少是可能的。原則上存在兩種誤差現(xiàn)象第一是持久式誤差,其中重復(fù)的寫和讀循環(huán)也不帶來改善。第二在RAM存儲器中例如由于a輻射可能出現(xiàn)單獨的和在寫讀循環(huán)之后再次消失的數(shù)據(jù)誤差。為了改善數(shù)據(jù)安全性,因此經(jīng)常使用誤差安全的方法(ECC,“誤差校正碼”)。例如,一位誤差(一比特誤差)可以總是被校正,二位誤差可以總是被識別,并且多位誤差可以大多數(shù)(但是不是總是)被識別。但是ECC方法將具有多重誤差的一些數(shù)據(jù)字必要時評估為具有位誤差的與最初內(nèi)容不同的數(shù)據(jù)字并且相應(yīng)錯誤地對所述數(shù)據(jù)字進(jìn)行校正。將示例性ECC方法應(yīng)用于隨機地產(chǎn)生的數(shù)據(jù)字已經(jīng)表明,該ECC方法例如將數(shù)據(jù)字序列的的百分之28評估為具有單誤差的有效數(shù)據(jù)字,并且將數(shù)據(jù)字的剩余的百分之72(關(guān)于ECC方法的相應(yīng)形成規(guī)定)評估為無效的。但是在安全性關(guān)鍵的應(yīng)用情況下,通過國際規(guī)范的要求非常高。例如,規(guī)范ISO 26262,ASIL-D要求,這種隨機產(chǎn)生的數(shù)據(jù)字的超過百分之99必須被識別為無效的。根據(jù)現(xiàn)有技術(shù)的擴(kuò)展的措施因此例如規(guī)定,提高添加給數(shù)據(jù)字的校驗位(所謂的冗余位)的數(shù)量,以便即使在多位誤差情況下也改善對數(shù)據(jù)誤差的校正或識別。這花費數(shù)據(jù)存儲器的存儲元件的附加耗費并且相應(yīng)地使所述存儲元件昂貴。此外,可以兩階段地實施ECC方法,其方式是相繼地將所謂的內(nèi)部編碼(ECC)和外部編碼(EDC,CRC)應(yīng)用于數(shù)據(jù)字。可是這種方法也是耗費的和昂貴的。
發(fā)明內(nèi)容
本發(fā)明建議通過以下方式改善前述方法,即將數(shù)據(jù)存儲器的一個或多個地址寫到輔助存儲器中并且提供給校驗程序,在所述地址下分別存儲通過誤差識別方法被評估為有誤差的數(shù)據(jù)字。下面也可以將校正誤差的方法(所謂的誤差校正方法)理解為誤差識別方法。根據(jù)本發(fā)明的方法具有優(yōu)點可以特別良好地防止數(shù)據(jù)存儲器的數(shù)據(jù)字免受誤差和/或缺陷,而不必放大數(shù)據(jù)存儲器或者不必使用多階段誤差識別方法。本發(fā)明以以下想法為出發(fā)點,即當(dāng)今的數(shù)據(jù)存儲器可以存儲非常大數(shù)量的數(shù)據(jù)字,其中對于暫時誤差或持久缺陷的易受影響性在物理上同時有條件地升高。尤其是本發(fā)明考慮暫時誤差或持久缺陷在數(shù)據(jù)存儲器中經(jīng)常涉及僅單個或幾個存儲行或者其中所存儲的數(shù)據(jù)字。因此,只要用于改善數(shù)據(jù)安全性的預(yù)防措施要求與數(shù)據(jù)存儲器的大小成比例的耗費,則表明這些預(yù)防措施是不合適的。根據(jù)本發(fā)明,從而將數(shù)據(jù)存儲器的在其下存儲通過誤差識別方法、也即例如ECC方法被評估為有誤差的數(shù)據(jù)字的這樣的地址寫到輔助存儲器中并且從而分開地來處理。從而可以將耗費總體上保持得比較小。在輔助存儲器中所存儲的信息有利地被提供給校驗程序并且例如有規(guī)則地由校驗程序檢查。由此推導(dǎo)出用于提高數(shù)據(jù)存儲器的數(shù)據(jù)安全性的措施,如進(jìn)一步下面根據(jù)可能的實施例所描述的。為了澄清概念,注意以下方面數(shù)據(jù)存儲器經(jīng)由“地址”被操控,所述地址分別指向數(shù)據(jù)存儲器的所謂存儲行。數(shù)據(jù)存儲器的每個存儲行包括多個(物理)所謂存儲單元,其中分別存儲一位信息、也即單個數(shù)據(jù)位。在數(shù)據(jù)行中所存儲的數(shù)據(jù)位的整體被稱為數(shù)據(jù)字。在存儲行或者存儲單元中可能出現(xiàn)“誤差”,所述誤差或者是“暫時誤差”或者是“持久缺陷”。 輔助存儲器在數(shù)量N個“地址寄存器”中存儲地址,其中對于每個地址存儲器存儲另外的信息,所述另外的信息例如包括“占用位”。將“數(shù)據(jù)”理解為可以在數(shù)據(jù)存儲器中所存儲的任意信息。根據(jù)一種有利的實施方式規(guī)定,誤差識別方法基本上借助于分配給數(shù)據(jù)存儲器的電子電路執(zhí)行。這樣的誤差識別方法例如被實施為所謂的“誤差校正編碼(ECC)”。這可以有利地借助于電子電路來實施,通過所述電子電路給要寫到數(shù)據(jù)存儲器中的數(shù)據(jù)補充所謂的冗余位,所述冗余位在稍后讀時一起被檢測和分析,由此確定的誤差或誤差樣式可以被識別和/或校正。由此可以必要時節(jié)省計算時間和降低成本。該方法的擴(kuò)展方案規(guī)定,僅這樣的地址被寫到輔助存儲器中,所述地址的數(shù)據(jù)字通過誤差識別方法被評估為有一位誤差。一位誤差以特殊的方式不僅表征暫時誤差(也即暫時僅涉及單個寫和讀過程單獨這樣的誤差)的出現(xiàn),而且表征數(shù)據(jù)存儲器的存儲單元的持久缺陷。此外,對于一位誤差可能的是,使用后置的系統(tǒng)措施,以便確保系統(tǒng)層面上的安全性和可靠性。如果對于每個在輔助存儲器中所存儲的地址表明,該地址是否有效的,則使輔助存儲器的管理簡化。例如可以通過對于每個地址一起存儲的“占用位”以簡單的方式將從而包含“有效”地址的被占用地址寄存器與未被占用的、也即空的地址寄存器進(jìn)行區(qū)別。從而可以特別有效地利用輔助存儲器。在初始化時因此有利的是,這些占用位被設(shè)置為無效的。此外規(guī)定,在識別有誤差的數(shù)據(jù)字時通過誤差識別方法首先對輔助存儲器的有效地址接著進(jìn)行檢查有誤差的數(shù)據(jù)字的地址是否已經(jīng)被存儲。如果情況如此,則輔助存儲器的內(nèi)容不被改變。而如果有誤差的數(shù)據(jù)字的地址未存儲在該輔助存儲器中,則進(jìn)行到空的地址寄存器的存儲,其中所屬的占用位被設(shè)置。尤其是,由該方法規(guī)定,通過校驗程序接著檢查其地址被存儲在輔助存儲器中的數(shù)據(jù)字?jǐn)?shù)據(jù)字是具有一位誤差還是多位誤差,和/或數(shù)據(jù)字的存儲行是否具有缺陷,其對應(yīng)于一位誤差或多位誤差,和/或數(shù)據(jù)字的數(shù)據(jù)行的誤差是暫時地還是持久地出現(xiàn),和/或存儲行內(nèi)的哪些存儲單元分別被涉及。因此,數(shù)據(jù)字或存儲行和其中所包含的存儲單元特別可以徹底地被檢查、分析和必要時被校正。對此的細(xì)節(jié)在下面的段落中根據(jù)本發(fā)明的實施例更詳細(xì)地被描述。尤其是可以規(guī)定,在所識別的暫時誤差情況下,刪除輔助存儲器的地址寄存器中的所屬地址或者使所屬的占用位復(fù)位。此外可能的是,完全放棄對占用位的適用,而是完全用二進(jìn)制零填充未被占用的地址寄存器。如果校驗程序在易失性存儲器情況下執(zhí)行與要期望的誤差機制協(xié)調(diào)的寫讀測試,并且在非易失性存儲器情況下借助于CRC編碼的校驗和執(zhí)行誤差測試,則可以根據(jù)數(shù)據(jù)存儲器的結(jié)構(gòu)類型有區(qū)別地應(yīng)用該方法。例如,可以有利地借助于與分別要預(yù)期的誤差模式匹配的寫讀測試在易失性存儲器情況下在一位誤差和多位誤差之間進(jìn)行區(qū)分。在非易失性存儲器情況下這可以借助于CRC校驗和方法(循環(huán)冗余校驗)、也即通過在較大的數(shù)據(jù)塊上的循環(huán)冗余校驗來進(jìn)行。本發(fā)明的優(yōu)選擴(kuò)展方案規(guī)定,在第一可正確地校正的誤差、第二錯誤地校正的或錯誤地識別的多位誤差和/或第三暫時誤差或持久缺陷之間進(jìn)行區(qū)分。尤其是這根據(jù)本發(fā) 明優(yōu)選地通過計算機輔助進(jìn)程、也即基于軟件來進(jìn)行。在任何情況下均將“可正確校正的誤差”以通常的ECC大小為出發(fā)點理解為一位誤差。但是根據(jù)所使用的技術(shù)手段也可以將其理解為多位誤差。對于這些區(qū)分因此不需要電子電路的附加耗費,其中該方法可以靈活地工作并且可以單獨地被匹配。補充地規(guī)定,對于允許數(shù)量的一位誤差和/或多位誤差和/或一位缺陷和/或多位缺陷預(yù)先給定邊界值,并且在超過至少一個邊界值時,進(jìn)行存儲器管理裝置的反應(yīng)。由此可以使該方法簡單地匹配于相應(yīng)的要求,例如關(guān)于一方面數(shù)據(jù)安全性和另一方面數(shù)據(jù)存儲器的可用性。例如已經(jīng)在一位缺陷和/或各個多位誤差或多位缺陷(其中多位誤差或多位缺陷必要時不被校正)情況下就可以進(jìn)行存儲器管理裝置的反應(yīng),這在下面更詳細(xì)地予以描述。如果存儲器管理裝置的反應(yīng)包括以下措施中的至少一個,則該方法是特別有用的
-去活有缺陷的存儲行和/或指派備用存儲行;
-去活有缺陷的存儲行區(qū)域和/或指派備用存儲行區(qū)域;
-產(chǎn)生消息、警報和/或誤差位;
-將數(shù)據(jù)存儲器和/或處于數(shù)據(jù)存儲器上級的系統(tǒng)轉(zhuǎn)變成被評估為安全的狀態(tài)。因此,可以去活單個或多個被識別為有缺陷的存儲行并且指派備用存儲行或者甚至備用存儲行區(qū)域。為此預(yù)先知道適當(dāng)?shù)姆椒?。此外也可以產(chǎn)生消息或警報,這例如在安全性敏感的系統(tǒng)中、如例如在機動車中具有意義。需要地也可以將數(shù)據(jù)存儲器或者上級系統(tǒng)或子系統(tǒng)轉(zhuǎn)變成適當(dāng)?shù)暮捅辉u估為安全的狀態(tài)。與校驗程序的功能無關(guān)地,替換地或補充地可以借助于輔助存儲器的溢出信號使數(shù)據(jù)存儲器和/或上級系統(tǒng)轉(zhuǎn)變成被評估為安全的狀態(tài)。根據(jù)本發(fā)明,此外規(guī)定,輔助存儲器的內(nèi)容在關(guān)斷數(shù)據(jù)存儲器或處于數(shù)據(jù)存儲器上級的系統(tǒng)之前可以在非易失性存儲器中被保護(hù)并且在接通之后可以再次從中被重構(gòu)。從而,過去的運行的誤差歷史保持并且可以在隨后接通之后有利地再次被使用,例如用于快速識別并且消除或者回避特別經(jīng)常地定位的誤差或缺陷。對該方法的補充在于,對暫時誤差和/或持久缺陷進(jìn)行計數(shù)和/或在統(tǒng)計上進(jìn)行評估。從而,校驗程序可以執(zhí)行擴(kuò)展的和對于數(shù)據(jù)存儲器的可用性評價進(jìn)行補充的運算,用于誤差識別的傳統(tǒng)電路不能用于所述運算。對此補充地規(guī)定,將計數(shù)和/或統(tǒng)計評估的結(jié)果傳送給數(shù)據(jù)存儲器或上級系統(tǒng)的制造商。該傳送可以借助于遠(yuǎn)程起作用的診斷系 統(tǒng)(如其在技術(shù)上至少處于準(zhǔn)備中)進(jìn)行并且例如將關(guān)于可能的開始的問題的早期信息傳送給機動車的制造商和/或數(shù)據(jù)存儲器的制造商。如果在接通之后和/或在數(shù)據(jù)存儲器的運行期間執(zhí)行功能測試并且如果由此將數(shù)據(jù)存儲器的地址存儲在輔助存儲器中,所述地址指向在功能測試期間按照方法被評估為有誤差的存儲行,則該方法較高效地工作。功能測試在易失性存儲器情況下優(yōu)選地被構(gòu)造為寫讀測試并且在易失性存儲器情況下被構(gòu)造為只讀測試。從而可以通過該方法有利地補充可能存在的進(jìn)程,其中根據(jù)本發(fā)明產(chǎn)生附加的信息,所述附加的信息可以被用于評價數(shù)據(jù)存儲器中的數(shù)據(jù)安全性。此外,結(jié)合寫讀測試規(guī)定,在其地址被存儲在輔助存儲器中的那些存儲行上構(gòu)成第一校驗和,存儲第一校驗和,在數(shù)據(jù)存儲器的進(jìn)一步運行中有規(guī)則地在其地址被存儲在輔助存儲器中的那些存儲行上構(gòu)成至少一個另外的校驗和,并且將至少一個另外的校驗和與第一校驗和比較。根據(jù)優(yōu)選的實施方式,用于構(gòu)成第一校驗和所使用的地址附加地被保護(hù)。這些附加地被保護(hù)的地址可以接著被用于構(gòu)成至少一個另外的校驗和。從而實現(xiàn),另外的校驗和可以與輔助存儲器的當(dāng)前內(nèi)容無關(guān)地被構(gòu)成。由此有利地可能的是,作為不可變的或可變的已知的各個存儲行或存儲行區(qū)域經(jīng)受有規(guī)則的測試在數(shù)據(jù)存儲器的運行開始和一定的運行時間之后并且借助于執(zhí)行本發(fā)明方法和必要時寫讀測試,在輔助存儲器中存在被評估為有一位誤差或一位缺陷的存儲行的地址。這樣的一位誤差或一位缺陷被假設(shè)為通過誤差識別裝置可校正的。根據(jù)誤差識別裝置的相應(yīng)實施方式必要時可以以相同的方式對待可能可校正的多位誤差或多位缺陷。于是通過在輔助存儲器中所存儲的地址的數(shù)據(jù)字(其借助于誤差識別裝置正確地被校正)例如按照CRC方法構(gòu)成校驗和并且進(jìn)行存儲。在此受保護(hù)的存儲也可以是有意義的,例如借助于雙重存儲。補充地可以設(shè)想,也附加地存儲輔助寄存器的地址。接著這樣進(jìn)行循環(huán)的或有規(guī)則地運行的校驗,使得通過在輔助存儲器中所存在的地址(或者通過先前附加地存儲的地址)構(gòu)成校驗和并且與在運行開始之后構(gòu)成的和存儲的校驗和比較。如果比較未得出一致,則可以進(jìn)行測量誤差嚴(yán)重性的反應(yīng)。該方式的優(yōu)點在于,校驗持續(xù)比較短的時間并且從而即使在數(shù)據(jù)存儲器或上級系統(tǒng)的正常運行期間也可以進(jìn)行。只要在校驗期間在此期間識別到了其他有誤差的存儲行或存儲行區(qū)域,則可以有意義的是,相應(yīng)地適配所述的循環(huán)的或有規(guī)則地進(jìn)行的校驗。在此可以有用的是,將寫讀測試劃分到存儲行區(qū)域上并且使不同的存儲行區(qū)域彼此無關(guān)地經(jīng)受寫讀測試。從而可能的是,即使在數(shù)據(jù)存儲器的主動運行期間也實施寫讀測試和對地址和數(shù)據(jù)字的基于此所建立的根據(jù)本發(fā)明的處理。必要時為此對于所給定的存儲區(qū)域必要的是,首先創(chuàng)建內(nèi)容的備份副本,然后在該區(qū)域上執(zhí)行寫讀測試并且然后將備份副本再次復(fù)制回到所述區(qū)域中。補充地規(guī)定,誤差識別方法或?qū)嵤┱`差識別方法的電子電路在接通數(shù)據(jù)存儲器之后和/或在運行期間在其按規(guī)定的功能上被校驗。通過這種方式可以確保,是本發(fā)明方法的基礎(chǔ)的誤差識別方法本身無誤地工作。本發(fā)明還涉及校驗程序,所述校驗程序能夠在計算機上運行,并且所述校驗程序被編程為使得所述校驗程序可以實施本發(fā)明方法?!坝嬎銠C”在此情況下被理解為包括至少一個程序存儲器和對其進(jìn)行訪問的邏輯電路的所有類型的設(shè)備。也即例如計算機、PC、例如機動車的控制和/或調(diào)節(jié)裝置、具有布爾邏輯電路的狀態(tài)機、微處理器系統(tǒng)、微控制器、智能USB存儲設(shè)備“通用串行總線”等等。本發(fā)明此外涉及用于執(zhí)行該方法的輔助存儲器。該輔助存儲器可以被實施為獨立的單元或者可以集成在任意的現(xiàn)有存儲系統(tǒng)或電子電路中。下面在相繼的簡短表示中描述本發(fā)明的很多其他擴(kuò)展方案。所述擴(kuò)展方案可以單獨地或者也可以以任意組合的方式對于本發(fā)明是重要的。
·
對于非常安全性關(guān)鍵的應(yīng)用可以是措施容忍暫時誤差,但是已經(jīng)由于各個持久一位缺陷而觸發(fā)反應(yīng)或者將數(shù)據(jù)存儲器或上級系統(tǒng)轉(zhuǎn)變成被評估為安全的狀態(tài)。對于相反以可用性為前景的應(yīng)用,可以提議完全放棄對校驗程序的使用并且將誤差處理基本上限制于誤差校正。數(shù)據(jù)存儲器中的暫時誤差可以在其識別之后立即通過校驗程序校正,或者替換地可以等待時間,在所述時間期間涉及的存儲單元保持在觀察下。校驗程序可以確定暫時誤差出現(xiàn)的速率并且執(zhí)行附加的校驗和/或措施,如果該速率超過邊界值的話。在關(guān)斷數(shù)據(jù)存儲器之前,校驗程序可以試圖重新描述FLASH存儲器的被評估為有誤差的存儲單元。校驗程序可以將數(shù)據(jù)存儲器分成多個存儲行區(qū)域并且對于安全性關(guān)鍵的數(shù)據(jù)內(nèi)容使用無持久缺陷的這樣的存儲行區(qū)域。校驗程序可以將所識別的一位誤差和/或一位缺陷分配給其相應(yīng)的存儲行區(qū)域,并且使被評估為安全性關(guān)鍵的有這樣的誤差的存儲行區(qū)域經(jīng)受特殊校驗。本發(fā)明的隨后的可能的擴(kuò)展方案基本上涉及結(jié)合寫讀測試對數(shù)據(jù)存儲器的按方法的校驗
校驗數(shù)據(jù)存儲器的寫讀測試可以借助于特定的寫讀測試程序進(jìn)行或者替換地和至少部分地通過電子電路進(jìn)行。如果寫讀測試借助于程序輔助進(jìn)程被執(zhí)行,則已經(jīng)可以通過執(zhí)行測試觸發(fā)地對具有有誤差的存儲行的地址的輔助存儲器進(jìn)行寫。在非易失性存儲器、例如FLASH存儲器或ROM存儲器“只讀存儲器”的只讀測試時,校驗和可以在整個數(shù)據(jù)存儲器上或者在各個存儲行區(qū)域上被構(gòu)成。附加地,誤差識別裝置可以被激活,其中可以校驗誤差中的哪些可以通過誤差識別裝置校正。此外可以通過本發(fā)明方法將與誤差有關(guān)的存儲行的地址寫到輔助存儲器中并且提供給校驗程序。替換地也可以在去活的誤差識別裝置情況下對非易失性數(shù)據(jù)存儲器進(jìn)行讀并且將結(jié)果用于比較。補充地可以設(shè)想如此執(zhí)行寫讀測試或只讀測試,使得一次在有誤差識別的作用情況下和一次在無誤差識別的作用情況下訪問存儲行的每個存儲單元,并且然后分別比較兩個結(jié)果。為了識別冗余位中的可能誤差,補充地可以重新計算數(shù)據(jù)字和所屬的冗余位,并且然后將新計算的冗余位與在存儲行中先前存儲的冗余位進(jìn)行比較。
寫讀測試的目的可以是用所有被評估為有誤差的存儲行的地址填充輔助存儲器。隨后可以在所識別的和/或所校正的、在存儲行中出現(xiàn)的誤差情況下(其地址迄今不存在于輔助存儲器中)推斷出新式誤差并且進(jìn)行適當(dāng)?shù)拇胧?。這必要時可以通過上級系統(tǒng)的所謂中斷“Interrupt”來引入,其中例如當(dāng)在數(shù)據(jù)存儲器的正常運行中置位輔助存儲器的占用位時,產(chǎn)生中斷。本發(fā)明的隨后的可能擴(kuò)展方案基本上涉及結(jié)合在其高效能性上對誤差識別裝置的校驗對數(shù)據(jù)存儲器的按方法的校驗
只要在其高效能性上對誤差識別裝置進(jìn)行校驗,例如在接通數(shù)據(jù)存儲器或上級系統(tǒng)之后,則在數(shù)據(jù)存儲器或上級系統(tǒng)的一般自測試期間可以有利地一起校驗對誤差識別裝置進(jìn)行校驗的邏輯電路、也即電子電路。由此還可以使誤差識別裝置的校驗更安全。只要在技術(shù)上能夠?qū)崿F(xiàn)相應(yīng)的實施方式,則誤差識別裝置和/或?qū)φ`差識別裝置進(jìn)行校驗的邏輯電路不僅在運行開始時、而且在數(shù)據(jù)存儲器的正常運行期間以可比的方式被校驗。替換于校驗邏輯電路也可以借助于特定的程序部件來進(jìn)行誤差識別裝置的校驗??蛇x地,也可以只 有當(dāng)輔助存儲器不為空時才在正常運行中進(jìn)行校驗。補充地,可以校驗誤差識別裝置,其方式是,從數(shù)據(jù)存儲器中讀出一個或多個故意地有誤差地被寫的或者已知是有誤差的數(shù)據(jù)字并且據(jù)此校驗和/或評估誤差識別裝置的校正特性。在非在運行中可寫的存儲器情況下可以在預(yù)先確定的地址處寫入故意地有誤差的數(shù)據(jù)字,更確切地說,不僅一位誤差而且多位誤差。因此誤差識別裝置的高效能性可以通過訪問這些地址被校驗。在此可以有意義的是,從數(shù)據(jù)存儲器的只讀測試中取出這些地址,以便避免輔助寄存器的溢出。在校驗結(jié)束之后可以再次刪除輔助寄存器中的預(yù)先確定的地址并且對所屬的占用位進(jìn)行復(fù)位。在RAM存儲器或數(shù)據(jù)存儲器的其他在運行中可寫的實施情況下,也可以借助于程序部分在運行期間產(chǎn)生故意地有誤差的數(shù)據(jù)字,其方式是,在暫時去活的誤差識別裝置情況下,數(shù)據(jù)字和所屬的冗余位分開地被產(chǎn)生和被寫。因此,誤差識別裝置的校驗被執(zhí)行。在此可以有意義的是,將該校驗限制于迄今未被評估為有誤差的這樣的存儲行。同樣可以有意義的是,在校驗結(jié)束之后再次刪除預(yù)先確定的地址以及所屬的占用位或?qū)ζ溥M(jìn)行復(fù)位。此外可能的是,只有當(dāng)數(shù)據(jù)存儲器具有已經(jīng)識別的誤差或持久缺陷時才執(zhí)行誤差識別裝置的校驗,并且在此僅使用被評估為有誤差的存儲行。補充地可能的是,有規(guī)則地執(zhí)行誤差識別裝置的校驗,其中每次都使用另外的存儲行區(qū)域,使得在重復(fù)校驗時,可以基本上由校驗檢測整個數(shù)據(jù)存儲器。本發(fā)明的后續(xù)的可能擴(kuò)展方案基本上涉及結(jié)合寫讀測試或只讀測試對數(shù)據(jù)存儲器的按方法的校驗
補充地可能的是,如此執(zhí)行寫讀測試,使得選擇最初的存儲行區(qū)域(例如與確定的存儲行物理或邏輯相鄰),其在第一步驟中借助于復(fù)制到另外的空閑存儲行區(qū)域中來保護(hù)。然后在第二步驟中,借助于寫讀測試校驗最初的存儲行區(qū)域。對于數(shù)據(jù)存儲器的不可寫的實施(例如FLASH存儲器或ROM存儲器),可以在存儲行區(qū)域上構(gòu)成校驗和。接著可以將所保護(hù)的數(shù)據(jù)必要時再次寫回到最初的存儲行區(qū)域中。與用于監(jiān)控數(shù)據(jù)存儲器的本發(fā)明方法一起執(zhí)行這樣的寫讀測試或只讀測試能夠?qū)崿F(xiàn)在確定的時間間隔內(nèi)可以校驗整個數(shù)據(jù)存儲器并且從而在該時間間隔內(nèi)在輔助存儲器中也存在所有有誤差的存儲行的地址。本發(fā)明的后續(xù)的可能擴(kuò)展方案基本上涉及結(jié)合所謂的存儲器選除對數(shù)據(jù)存儲器的按方法的校驗
為此規(guī)定,不再或僅僅在例外情況下使用數(shù)據(jù)存儲器的通過該方法在輔助存儲器中所存儲的地址。為此建議三種可能性
(A)使用所謂的“存儲器管理單元”,MMU,其在功能上對應(yīng)于進(jìn)一步在上面所述的存儲管理裝置或者屬于該存儲管理裝置。在此,在運行開始時進(jìn)行的寫讀測試或只讀測試啟動中被評估為有誤差的并且被存儲在輔助存儲器中的那些地址被通知給存儲器管理裝置或MMU。由此可以通過簡單的方式禁止這些物理地址用于進(jìn)一步使用。
(B)按電路分離所涉及的區(qū)域
已知的是,借助于分離點、(集成)保險裝置或開關(guān)有針對性地選除數(shù)據(jù)存儲器的各個存儲行和/或存儲行區(qū)域。本發(fā)明方法可以與這樣的選除有意義地組合,與先前在段落(A)中所述的類似。在輔助存儲器中所存儲的地址因此可以被使用用于選除。這可以例如在運行期間、在特定化的運行時間期間或者手動地在車間中進(jìn)行。(C)程序技術(shù)措施、所謂的“學(xué)習(xí)軟件”
在指派存儲行或存儲行區(qū)域、即“存儲器分配”時,不再使用在輔助存儲器中所存儲的這樣的地址。本發(fā)明的后續(xù)的可能擴(kuò)展方案基本上涉及結(jié)合誤差存儲器對數(shù)據(jù)存儲器的按方法的校驗
在關(guān)斷數(shù)據(jù)存儲器或上級系統(tǒng)(其例如可以布置在機動車中)之前,可以在誤差存儲器中進(jìn)行關(guān)于輔助存儲器的內(nèi)容的錄入。因此可以記錄,哪些地址或存儲行被識別為有誤差的。因此尤其是可以保護(hù)對于車間診斷重要的信息。
本發(fā)明的任務(wù)也通過根據(jù)并列權(quán)利要求的校驗程序和存儲介質(zhì)來解決。有利的改進(jìn)方案在從屬權(quán)利要求中說明。本發(fā)明的其他特征在對示例性實施方式的后續(xù)描述中和在附圖中來說明,其中特征可以不僅單獨地而且以不同組合的方式對于本發(fā)明是重要的,而對此不再次明確指出。在附圖中
圖I示出具有用于誤差識別的電路和輔助存儲器的數(shù)據(jù)存儲器的框圖;和 圖2示出具有根據(jù)實施例的本發(fā)明方法的方法步驟的流程圖。
具體實施例方式圖I示出具有誤差識別裝置12和連接在誤差識別裝置12上的輔助存儲器14的數(shù)據(jù)存儲器10。在圖I的附圖中,垂直虛線16將根據(jù)現(xiàn)有技術(shù)預(yù)先已知的部分(左邊)與根據(jù)本發(fā)明的附加電子電路(右邊)區(qū)分開。同樣在附圖的右邊部分中示出校驗程序18,其尤其是可以對輔助存儲器14進(jìn)行讀和寫訪問并且處理其信息。這通過雙箭頭20象征性地示出。按照需要,校驗程序18也可以訪問在數(shù)據(jù)存儲器10和誤差識別裝置12的環(huán)境中存在的其余信息。非易失性存儲器19經(jīng)由雙向數(shù)據(jù)連接21連接到輔助存儲器14上。
總之,圖I的示意圖不僅示出基于電路的元件(“硬件”)而且示出計算機輔助進(jìn)程(“軟件”)。誤差識別裝置12 (ECC,“誤差校正編碼”)當(dāng)前被實施為電子電路。此外,在圖I中所示的元件可以被劃分成多個電子器件或者總地共同地被安置的僅僅一個元件上(“單芯片解決方案”)。數(shù)據(jù)存儲器10雙向地與誤差識別裝置12連接。內(nèi)部數(shù)據(jù)路徑22引導(dǎo)在數(shù)據(jù)存儲器10中要存儲的或所存儲的數(shù)據(jù)字24,所述數(shù)據(jù)字在誤差識別裝置12中被補充有所屬的冗余位26。數(shù)據(jù)字24分別包括任意、但是固定數(shù)量的多個位。外部數(shù)據(jù)路徑28將不具有冗余位26的數(shù)據(jù)字24輸送給存儲器管理裝置29。同樣,地址30被輸送給數(shù)據(jù)存儲器10用于由存儲器管理裝置29管理其中所存儲的數(shù)據(jù)。在此,每個地址30均指向數(shù)據(jù)存儲器10的所屬的存儲行33,也即存儲行33包括每個至少對應(yīng)于數(shù)據(jù)字24的長度加上相應(yīng)所屬的冗余位26的數(shù)量的位的存儲單元35。
存儲器管理裝置29也可以與校驗程序18交換信息并且可以被實施為電子電路和/或被實施為計算機輔助進(jìn)程。但是這當(dāng)前不予以更詳細(xì)的闡述。雙向箭頭31建立到未示出的上級系統(tǒng)的連接。上級系統(tǒng)例如是機動車的控制和/或調(diào)節(jié)裝置、計算機(PO、微控制器、大容量數(shù)據(jù)存儲器等。但是這在圖I中未示出。如果多位誤差被識別和/或校正,則誤差識別裝置12的第一輸出端32輸出信息。如果單位誤差被識別和/或被校正,則第二輸出端34輸出信息并且將所述信息尤其是以地址30為形式輸送給輔助存儲器14。如果總數(shù)量N個地址寄存器36用有效地址30填充并且從而所有所屬的占用位38也被置位,則產(chǎn)生溢出信號37。標(biāo)記39表明,新的地址30當(dāng)前被寫到了輔助存儲器14中。標(biāo)記39例如可以被使用用于觸發(fā)稱為中斷的暫時程序中斷。輔助存儲器14保護(hù)數(shù)量N個地址寄存器36,所述地址寄存器與分別所屬的占用位38 —起被存儲。在該附圖中最上面的地址寄存器36和最下面的占用位38代替地用其附圖標(biāo)記表示。在此數(shù)量N說明在輔助存儲器14中可存儲的最高錄入數(shù)量。如果誤差識別裝置12識別和校正一位誤差,則將所涉及的數(shù)據(jù)字24的地址30與所有在輔助存儲器14中所存儲的有效地址30進(jìn)行比較。如果所屬的占用位38被置位,也即例如具有二進(jìn)制值“I”,則輔助存儲器14中的地址30是“有效的”。只要該地址30已經(jīng)被存儲在輔助存儲器14中,則不進(jìn)行其他反應(yīng)。而如果地址30還沒有被存儲在輔助存儲器14中,則該地址在輔助存儲器14中被存儲在空的地址寄存器36中??盏?也即非“有效的”)地址寄存器36可以根據(jù)所屬的占用位38未被置位、也即例如具有二進(jìn)制值“0”來識另IJ。當(dāng)在地址寄存器36中存儲了地址30之后,其所屬的占用位38被置位。在可預(yù)先給定的時間區(qū)間內(nèi)或在要確定的時刻,有規(guī)則地執(zhí)行校驗程序18。該過程當(dāng)前通過存儲器管理裝置29觸發(fā)。對于每個在輔助存儲器14中所存儲的有效地址30,校驗程序18檢查通過相應(yīng)的地址30表示的數(shù)據(jù)字24是否實際上僅具有一個單個有誤差的位。但是如果在一個數(shù)據(jù)字24中一個多位誤差或多位缺陷和/或在多個數(shù)據(jù)字24中多個一個位誤差或一位缺陷通過校驗程序18被發(fā)現(xiàn),則可以進(jìn)行分別可預(yù)先給定的反應(yīng)。這些反應(yīng)可以包括
-去活有缺陷的存儲行33和/或指派備用存儲行33 ;
-去活有缺陷的存儲行區(qū)域和/或指派備用存儲行區(qū)域;
-產(chǎn)生消息、警報和/或誤差位;-將數(shù)據(jù)存儲器10和/或處于數(shù)據(jù)存儲器10上級的系統(tǒng)轉(zhuǎn)變成被評估為安全的狀態(tài)。替換地或補充地,與校驗程序18的功能無關(guān)地可以借助于輔助存儲器14的溢出信號37將數(shù)據(jù)存儲器10和/或上級系統(tǒng)轉(zhuǎn)變成被評估為安全的狀態(tài),因為可以設(shè)想,數(shù)據(jù)存儲器10總地不再足夠可靠地工作并且從而不能用。在一位誤差和多位誤差之間的區(qū)分可以在易失性存儲器(RAM)情況下借助于匹配于分別要預(yù)期的誤差模式的寫讀測試進(jìn)行,所述寫讀測試?yán)缭谶\行開始時或在數(shù)據(jù)存儲器10的正常運行期間被執(zhí)行。在非易失性存儲器(FLASH)情況下這可以借助于CRC校驗和方法(“Cyclic Redundancy Check”,循環(huán)冗余校驗)進(jìn)行。只要數(shù)據(jù)存儲器10被實施為易失性存儲器,則校驗程序18附加地檢查誤差或誤差模式是否持續(xù)地存在于數(shù)據(jù)存儲器10的相應(yīng)的存儲行33中(“缺陷”),或者誤差或誤差模式是否僅暫時出現(xiàn)。在后者情況下,所屬的地址寄存器36被清空,其方式是,其占用位38被復(fù)位。此外,校驗程序18可以校驗,是否存在正確地校正的一位誤差或一位缺陷或者錯 誤地識別的或錯誤地校正的多位誤差或多位缺陷。此外,校驗程序18可以必要時校正數(shù)據(jù)字24的所識別的誤差并且同樣執(zhí)行誤差計數(shù)或提供誤差統(tǒng)計。此外可能的是,使(多個)反應(yīng)的觸發(fā)與可預(yù)先給定的條件和可預(yù)先給定的邊界值有關(guān)。例如,可以預(yù)先給定最小數(shù)量的可能的一位缺陷,自所述最小數(shù)量起觸發(fā)與誤差的含義對應(yīng)的反應(yīng)。非易失性存儲器19經(jīng)由雙向數(shù)據(jù)連接21連接到輔助存儲器14上并且具有以下任務(wù)在關(guān)斷數(shù)據(jù)存儲器10或上級系統(tǒng)之前保護(hù)輔助存儲器14的內(nèi)容并且在接通之后再次在輔助存儲器14中重構(gòu)。圖2以流程圖示出本發(fā)明方法的可能實施方式的例如借助于計算機程序可執(zhí)行的方法步驟。對于通過計算機或通過控制設(shè)備執(zhí)行替換地或補充地,邏輯電路可以參與。進(jìn)程在開始塊50中開始。在詢問塊52中校驗,一位誤差當(dāng)前是否由誤差識別裝置12識別和/或校正。如果不符合,則分支到詢問塊54。如果一位誤差當(dāng)前由誤差識別裝置12識別和/或校正,則在塊56中檢測數(shù)據(jù)存儲器10的屬于一位誤差的地址30。在詢問塊58中校驗,該地址30是否已經(jīng)存在于輔助存儲器14中。如果符合,則在圖2所基于的實施例情況下不進(jìn)行進(jìn)一步反應(yīng)并且分支回詢問塊52。但是如果地址30還未在輔助存儲器14中存在,則分支到塊60。在那里,將該地址30寫到輔助存儲器14的空地址寄存器36中并且置位所屬的占用位38。在需要時在此可以對其余的在輔助存儲器14中存在的地址30進(jìn)行移位和/或分類。然后在詢問塊54中繼續(xù)該方法。在詢問塊54中校驗,是否存在條件來開始校驗程序18。如果不符合,則分支回塊52。如果符合,則在塊62中開始校驗程序18。接著分支回詢問塊52并且繼續(xù)該進(jìn)程??梢岳斫?,在圖2中所示的進(jìn)程僅僅是示例性的。其他實施方式尤其是包括在從屬權(quán)利要求中所述的擴(kuò)展方案。另外可以規(guī)定,該進(jìn)程由上級系統(tǒng)開始、停止或中止。但是這在途2中未更詳細(xì)地示出。
權(quán)利要求
1.用于監(jiān)控數(shù)據(jù)存儲器(10)的方法,其中借助于誤差識別方法識別在數(shù)據(jù)存儲器(10)的存儲行(33)中所存儲的有誤差的數(shù)據(jù)字(24)和/或?qū)ζ溥M(jìn)行校正,其特征在于,將數(shù)據(jù)存儲器(10)的地址(30)寫到輔助存儲器(14)中并且提供給校驗程序(18),其中在所述地址下存儲有通過誤差識別方法被評估為有誤差的數(shù)據(jù)字(24)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述誤差識別方法基本上借助于分配給數(shù)據(jù)存儲器(10)的電子電路執(zhí)行。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,僅這樣的地址(30)被寫到輔助存儲器(14)中,所述地址的數(shù)據(jù)字(24)通過誤差識別方法被評估為可校正的。
4.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,對于每個在輔助存儲器(14)中所存儲的地址(30 )表明,該地址(30 )是否是有效的。
5.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,在識別出有誤差的數(shù)據(jù)字(24)時通過誤差識別方法首先在如下方面對有效地址(30)進(jìn)行檢查所述有誤差的數(shù)據(jù)字(24)的地址(30 )是否已經(jīng)被存儲。
6.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,通過校驗程序(18)在如下方面檢查其地址(30)被存儲在輔助存儲器(14)中的數(shù)據(jù)字(24):該數(shù)據(jù)字(24)是具有一位誤差還是多位誤差,和/或該數(shù)據(jù)字(24)的存儲行(33)是否具有缺陷,所述缺陷對應(yīng)于一位誤差或多位誤差,和/或該數(shù)據(jù)字(24)的數(shù)據(jù)行(33)的誤差是暫時地還是持久地出現(xiàn),和/或所述存儲行(33)內(nèi)的哪些存儲單元(35)分別被涉及。
7.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,所述校驗程序(18)在易失性存儲器“RAM”情況下執(zhí)行與要期望的誤差機制協(xié)調(diào)的寫讀測試。
8.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,所述校驗程序(18)在非易失性存儲器情況下借助于CRC編碼的校驗和執(zhí)行誤差測試。
9.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,在第一可正確地校正的誤差、第二錯誤地校正的或錯誤地識別的多位誤差和/或第三暫時誤差或持久缺陷之間進(jìn)行區(qū)分。
10.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,對于允許數(shù)量的一位誤差和/或多位誤差和/或一位缺陷和/或多位缺陷預(yù)先給定邊界值,并且在超過至少一個邊界值時,進(jìn)行存儲器管理裝置的反應(yīng)。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,存儲器管理裝置的反應(yīng)包括以下措施中的至少一個 -去活有缺陷的存儲行(33)和/或指派備用存儲行; -去活有缺陷的存儲行區(qū)域和/或指派備用存儲行區(qū)域; -產(chǎn)生消息、警報和/或誤差位; -將數(shù)據(jù)存儲器(10)和/或處于數(shù)據(jù)存儲器(10)上級的系統(tǒng)轉(zhuǎn)變成被評估為安全的狀態(tài)。
12.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,所述輔助存儲器(14)的內(nèi)容在關(guān)斷數(shù)據(jù)存儲器(10)或處于數(shù)據(jù)存儲器(10)上級的系統(tǒng)之前在非易失性存儲器(19)中被保護(hù)并且在接通之后從中再次被重構(gòu)。
13.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,由校驗程序(18)對數(shù)據(jù)字(24)的所識別的誤差進(jìn)行校正。
14.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,對暫時誤差和/或持久缺陷進(jìn)行計數(shù)和/或在統(tǒng)計上進(jìn)行評估。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,將計數(shù)和/或統(tǒng)計評估的結(jié)果傳送給數(shù)據(jù)存儲器(10)或上級系統(tǒng)的制造商。
16.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,在接通之后和/或在數(shù)據(jù)存儲器(10)的運行期間執(zhí)行數(shù)據(jù)存儲器的功能測試,并且將數(shù)據(jù)存儲器(10)的地址(30)寫到輔助存儲器(14)中,其中所述地址指引向在功能測試期間被評估為有誤差的存儲行(33)。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,在其地址(30)被存儲在輔助存儲器(14)中的存儲行(33)上構(gòu)成第一校驗和,并且存儲第一校驗和,其中優(yōu)選地對用于形成第一校驗和所使用的地址(30)附加地進(jìn)行保護(hù),并且在數(shù)據(jù)存儲器(10)的進(jìn)一步運行中有規(guī)則地在其地址(30)被存儲在輔助存儲器(14)中或其地址(30)被附加地保護(hù)的存儲行(33)上構(gòu)成至少一個另外的校驗和,并且將所述至少一個另外的校驗和與第一校驗和比較。
18.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,將功能測試劃分到存儲行區(qū)域上并且使不同的存儲行區(qū)域彼此無關(guān)地經(jīng)受功能測試。
19.根據(jù)前述權(quán)利要求至少之一的方法,其特征在于,所述誤差識別方法或?qū)嵤┱`差識別方法的電子電路在接通數(shù)據(jù)存儲器(10)和/或在運行期間在其按規(guī)定的功能上被校驗。
20.校驗程序(18),其能在計算機上運行,其特征在于,所述校驗程序被編程用于執(zhí)行根據(jù)權(quán)利要求I至19之一所述的方法。
21.用于計算機的存儲介質(zhì),其特征在于,在所述存儲介質(zhì)上存儲用于應(yīng)用在根據(jù)權(quán)利要求I至19之一所述的方法中的校驗程序(18)。
22.計算機中的輔助存儲器(14),其特征在于,所述輔助存儲器(14)包括接口,用于存儲數(shù)據(jù)存儲器(10)的地址(30)和/或數(shù)據(jù)字(24)和/或關(guān)于其分類的信息并且提供給校驗程序(18),并且輔助存儲器在執(zhí)行根據(jù)前述權(quán)利要求I至19至少之一所述的方法時被使用。
全文摘要
本發(fā)明描述一種用于監(jiān)控數(shù)據(jù)存儲器(10)的方法,其中借助于誤差識別方法識別在數(shù)據(jù)存儲器(10)的存儲行(33)中所存儲的有誤差的數(shù)據(jù)字(24)和/或?qū)ζ溥M(jìn)行校正,其中將數(shù)據(jù)存儲器(10)的地址(30)寫到輔助存儲器(14)中并且提供給校驗程序(18),其中在所述地址下存儲通過誤差識別方法評估為有誤差的數(shù)據(jù)字(24)。
文檔編號G06F11/10GK102971714SQ201180034430
公開日2013年3月13日 申請日期2011年6月27日 優(yōu)先權(quán)日2010年7月13日
發(fā)明者B.米勒, C.格鮑爾, D.托斯 申請人:羅伯特·博世有限公司