TW202314503A - 資料記憶體的自我診斷的電子電路及方法 - Google Patents
資料記憶體的自我診斷的電子電路及方法 Download PDFInfo
- Publication number
- TW202314503A TW202314503A TW111126474A TW111126474A TW202314503A TW 202314503 A TW202314503 A TW 202314503A TW 111126474 A TW111126474 A TW 111126474A TW 111126474 A TW111126474 A TW 111126474A TW 202314503 A TW202314503 A TW 202314503A
- Authority
- TW
- Taiwan
- Prior art keywords
- error
- user data
- ram
- ecc
- data memory
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 193
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004092 self-diagnosis Methods 0.000 title claims abstract description 12
- 238000012937 correction Methods 0.000 claims abstract description 206
- 230000006870 function Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 14
- 238000012552 review Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 2
- 208000011580 syndromic disease Diseases 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本發明描述一種資料記憶體(RAM)的自我診斷的電子電路及方法,該電子電路及方法包含/使用第一錯誤校正碼單元(ECCGEN
1),該第一錯誤校正碼單元用於自將要寫入至該資料記憶體(RAM)中的使用者資料(D
IN)產生錯誤校正碼(ECC
IN)。該電子電路經佈置以在當將該使用者資料及該相關的錯誤校正碼(ECC
IN)寫入至資料記憶體(RAM)中時的寫入週期中將寫入至該記憶體中的該使用者資料(D
IN)及該相關的錯誤校正碼(ECC
IN)饋入至該錯誤檢查單元(ECCCHK/CORR)中,以在該錯誤校正碼(ECC
IN)與該複查碼(CCC
IN)之間的決定差異的狀況下提供潛在_故障旗標,該複查碼藉由該錯誤檢查單元(ECCCHK/CORR)自該使用者資料(D
IN)計算。
Description
本發明係關於資料記憶體的自我診斷的電子電路,該電子電路包含
- 第一錯誤校正碼單元,用於自寫入至資料記憶體中的使用者資料產生錯誤校正碼,其中電子電路經佈置以將使用者資料及相關的錯誤校正碼寫入至資料記憶體中;
- 錯誤檢查單元,用於由自資料記憶體讀出的使用者資料計算複查碼,且將複查碼與連同相關的使用者資料一起自記憶體讀出的錯誤校正碼進行比較,其中錯誤檢查單元經佈置在錯誤檢查碼與複查碼之間的差異的狀況下提供錯誤旗標。
本發明進一步係關於資料記憶體的自我診斷的方法,該方法包含:
a) 寫入週期,包含以下步驟:
- 自提供來寫入至資料記憶體中的使用者資料計算錯誤校正碼;
- 將計算錯誤校正碼及相關的使用者資料儲存至資料記憶體中;
b) 及讀取週期,包含以下步驟:
- 自資料記憶體讀取使用者資料及相關的所儲存錯誤校正碼;
- 由自資料記憶體讀出的使用者資料計算複查碼;以及
- 將自資料記憶體讀出的錯誤校正碼與複查碼進行比較以提供在失配之狀況下指示資料記憶體之失靈的錯誤旗標。
當將資料電子地儲存在資料記憶體中時,故障可由於若干原因而發生。
為偵測記憶體資料惡化,錯誤校正碼經使用來偵測且校正發生在資料記憶體中的n位元資料惡化。此類錯誤可藉由應歸於若干原因轉換的位元引起。
已知寫入額外記憶體位元以記錄資料串(例如,單個位元組或複數個位元組)之同位,該資料串允許所有單位元錯誤之偵測。進一步已知使用錯誤校正碼(error-correction code,ECC),該錯誤校正碼由將要寫入至資料記憶體中的使用者資料計算且與使用者資料一起儲存至資料記憶體中。如單錯誤校正和雙錯誤校正漢明碼(Hamming-Code)的錯誤校正碼允許單位元錯誤經校正且雙位元錯誤經偵測。此可與額外同位位元之使用組合。錯誤校正碼亦為已知以校正多位元錯誤。錯誤校正碼功能可與資料記憶體裝置之邏輯一起實行於硬體中。
G. Tosenovjan: Error correction codes implemented on MPC55XX and MPC56XX devices, NXP-free scale semiconductor Application note, Document no. AN5200, rev. 1, 12/2015描述錯誤校正碼功能,該錯誤校正碼功能與資料記憶體一起利用於藉由軟錯誤的資料惡化不容易容忍的應用中。單錯誤經校正且雙錯誤經偵測且例如藉由ECC錯誤中斷指示。
1位元錯誤可藉由將資料讀出資料記憶體且在校正後將該等資料寫回「實體地」修復。
JP-H-08263391 A揭示記憶體裝置,該記憶體裝置包含儲存錯誤校正碼(error correction code,ECC)的隨機存取記憶體(random access memory,RAM)的測試方法。記憶體裝置包括用於將ECC儲存在ECC產生電路中的RAM,及錯誤校正/偵測電路。在記憶體裝置中,ECC係藉由ECC產生電路自寫入資料產生,該寫入資料係自記憶體控制裝置接收。在錯誤校正/偵測電路中,校驗子自藉由RAM之信號線指示的位址的ECC產生。若藉由校驗子偵測的錯誤之結果為1位元錯誤,則錯誤校正資料經設定於暫存器中且1位元錯誤資訊經設定在錯誤旗標中。在2位元錯誤之狀況下,2位元錯誤資訊經設定在錯誤旗標中,且錯誤旗標之內容藉由信號線報告至記憶體控制裝置。
US 2020/0167230 A1揭示用於動力傳動系控制器之RAM錯誤偵測邏輯的自我診斷的方法和設備,該動力傳動系控制器包含錯誤校正碼(error correction code,ECC)模組,該錯誤校正碼模組包括ECC比較器。
RAM錯誤偵測邏輯的自我診斷經提供來診斷錯誤是否發生在RAM錯誤偵測邏輯或錯誤校正碼ECC模組中。對錯誤校正碼模組執行測試,該錯誤校正碼模組對應於在測試模式的特定測試操作中結合微控制器單元之第二核心操作的RAM。
當每個ECC模組之測試經執行時,藉由每個核心執行的測試包括檢查錯誤偵測功能是否藉由用於對指定值執行OR輸入的第一任務適當地操作,使得錯誤發生在ECC比較器之測試位元輸入埠中;檢查錯誤偵測功能是否藉由用於可校正錯誤測試的第二任務適當地操作,在該可校正錯誤測中,實際上藉由ECC比較器之輸入埠輸入的輸入資料之一個位元經轉換且輸入;以及檢查錯誤偵測功能是否藉由用於不可校正的錯誤測試的第三任務適當地操作,在該不可校正的錯誤測試中,實際上藉由ECC比較器之輸入埠輸入的輸入資料之兩個位元經轉換。
本發明之目的將提供用於容易地且安全地監視錯誤校正碼單元之失靈的改良電子電路及方法,該錯誤校正碼單元經提供來用於自使用者資料產生錯誤校正碼(ECC)。目的藉由包含請求項1之特徵的電子電路及包含請求項5之特徵的方法達成。
較佳實施例描述於從屬請求項中。
根據請求項1之前文的電子電路進一步經佈置以在當將使用者資料及相關的錯誤校正碼寫入至資料記憶體中時的寫入週期中將寫入至該資料記憶體中的該使用者資料及該相關的錯誤校正碼饋入至該錯誤檢查單元中,以在該錯誤校正碼與該複查碼之間的決定差異的狀況下提供潛在故障旗標。
潛在故障旗標指示發生在錯誤校正碼單元中的錯誤。因此,錯誤校正碼單元之功能可在不需要額外時間的情況下且在僅較少硬體及/或軟體資源的情況下經容易地監視。
因而,根據本發明,針對讀取週期設計來檢查所儲存錯誤校正碼及由自資料記憶體讀出的使用者資料計算的複查碼的錯誤檢查單元根據本發明進一步使用於寫入週期,以檢查在寫入週期中藉由錯誤校正碼單元產生的錯誤校正碼。此允許保護根據ISO標準26262的記憶體及暫存器以防安全關鍵應用中的永久及瞬時故障。
錯誤校正碼單元及錯誤檢查單元為此ISO標準26262之意義內的安全機構。
藉由在寫入週期中藉由錯誤檢查單元之使用監視錯誤校正碼單元,兩個安全機構針對潛在故障之發生經監視。若例如安全機構自身為不良的且因而功能邏輯中的錯誤將不再經辨識,則ISO標準26262談及潛在故障。
雖然當系統藉由邏輯內建自我測試(Logic Bist,LBist)啟動時,先前技術安全機構不僅檢查永久錯誤,但在本發明中,安全機構藉由不僅在讀取週期中,而且在資料記憶體之寫入週期中比較錯誤校正碼及相關的複查碼經頻繁地監視。
資料記憶體可為任何資料記憶體,尤其隨機存取記憶體、暫存器等。資料記憶體可經提供在分離積體電路中,或為如微處理器、微控制器、FPGA、ASIC等的積體電路之部分。
電子電路可經容易地實行,因為本發明使用包含錯誤校正碼單元(ECCGEN)及錯誤檢查單元(ECCCHK/CORR)以彼此監視的現有安全機構。
較佳地,電子電路包含至少一個多工器單元,使得自錯誤校正碼單元及記憶體之寫入使用者資料產生的錯誤校正碼(ECC)在寫入週期中藉由多工器單元交換至錯誤檢查單元(ECCCHK/CORR)。
因而,電子電路較佳地包含:
- 第一多工器,包含第一及第二輸入及輸出,其中當該第一多工器藉由資料記憶體讀取/寫入旗標控制,以將在讀取週期中自該資料記憶體讀出的該使用者資料提供至該錯誤檢查單元之該輸入且將供應來在該寫入週期中寫入至該資料記憶體中的該使用者資料提供至該錯誤檢查單元之該輸入時,將要寫入至該資料記憶體中的該使用者資料經提供在該第一多工器之該第二輸入處,當自該資料記憶體讀出時自該資料記憶體提供的該使用者資料經提供在該第一多工器之該第一輸入處,且該第一多工器之該輸出連接至該錯誤檢查單元之輸入,及
- 第二多工器,具有第一及第二輸入及輸出,其中藉由該錯誤校正碼單元針對將要寫入至該資料記憶體中的該使用者資料產生的該錯誤校正碼經提供在該第二多工器之該第二輸入處,當在讀取週期中自該資料記憶體讀取該相關的使用者資料時自該資料記憶體讀出的該錯誤校正碼經提供在該第二多工器之該第一輸入處,且該第二多工器之該輸出連接至該錯誤檢查單元之輸入,其中該第二多工器藉由該資料記憶體讀取/寫入旗標控制,以在寫入週期中將直接自該錯誤校正碼單元獲得的該錯誤校正碼提供至該錯誤檢查單元,且在讀取週期中提供直接自該資料記憶體獲得的該錯誤校正碼。
第一及第二多工器可經提供為分離電子電路,該等分離電子電路可為共同積體電路中的分離電子部分或分離功能單元。第一及第二多工器亦可較佳地經設計以整體地形成在共同多工器單元中。在讀取週期中來自資料記憶體的資料(所儲存錯誤校正碼及所儲存使用者資料)與將要在寫入週期中寫入至資料記憶體中的資料(所產生錯誤校正碼及使用者資料)之間的交換藉由施加至資料記憶體的讀取及寫入命令控制,該讀取及寫入命令為例如在電子電路之信號線處可利用的。此讀取/寫入旗標為用來控制第一多工器及第二多工器的一位元信號。
第一及第二多工器之目標用以用將要在寫入週期中寫入至資料記憶體中的提供在資料記憶體之輸入處的錯誤校正碼及使用者資料,或用在讀取週期中自資料記憶體讀出的資料記憶體之輸出處的所儲存錯誤校正碼及所儲存使用者資料饋入錯誤檢查單元。
除多工器單元之外,不存在需要來達成改良的電子電路的額外硬體。此外,不存在藉由額外安全檢查引起的時間延遲,因為錯誤檢查單元之功能可與將資料寫入至資料記憶體中平行地執行。
該錯誤檢查單元之輸出可經提供至至少一個多工器之輸入,其中該至少一個多工器藉由該讀取/寫入旗標控制,以在寫入週期中將潛在旗標提供在多工器之輸出處,且由於自資料記憶體讀取的所儲存錯誤校正碼(ECC)與自使用者資料計算的複查碼(CCC)之比較而提供錯誤旗標,該使用者資料係在讀取週期中自資料記憶體讀出。
較佳地,電子電路之錯誤檢查單元進一步包含第二錯誤碼產生單元,該第二錯誤碼產生單元經提供來計算複查碼。檢查碼比較單元經佈置以將錯誤校正碼與複查碼進行比較,且在比較錯誤校正碼與複查碼之間的失配的狀況下設定在偵測可校正錯誤之狀況下的可校正錯誤旗標或在偵測不可校正的錯誤之狀況下的不可校正的錯誤旗標。可校正旗標及不可校正的旗標係在讀取週期中設定,而潛在故障旗標係在寫入週期中設定。
這些錯誤旗標可經外部信號傳輸且進一步內部地用來在寫入週期中監視錯誤碼產生單元之運作。
在又一改良的實施例中,錯誤檢查單元包含錯誤位置單元,該錯誤位置單元經佈置以定位藉由將錯誤校正碼與各別複查碼進行比較偵測的故障位元之至少一個位元位置。該錯誤檢查單元經佈置以在定位故障位元之至少一個位元位置的狀況下設定潛在故障旗標,或可校正錯誤旗標或不可校正的錯誤旗標經設定。因而,藉由可校正錯誤旗標及不可校正的錯誤旗標之使用在寫入週期中監視錯誤碼產生單元之運作的結果與故障位元之位元位置之定位結果組合以提供潛在故障旗標。
此可藉由OR閘之使用實行,其中錯誤檢查單元包含第一OR閘,若故障位元之至少一個位元位置藉由第一OR閘之輸入處的位元向量指示,則該第一OR閘提供旗標;及第二OR閘,若藉由第一OR閘提供的錯誤旗標、可校正錯誤旗標或不可校正的錯誤旗標中之至少一個在第二OR閘之輸入處經設定,則該第二OR閘將潛在故障旗標提供為第二OR閘之輸出。
該錯誤定位單元適於在寫入週期及讀取週期兩者中工作。
在較佳實施例中,電子電路進一步包含錯誤校正單元,該錯誤校正單元經設計以根據錯誤位置向量在該錯誤校正單元之輸出處提供校正後使用者資料,該錯誤位置向量指示錯誤校正單元之輸入處的使用者資料之故障位元之位置。錯誤檢查單元進一步包含比較器單元,該比較器單元經設計以將錯誤校正單元之輸入處的使用者資料與錯誤校正單元之輸出處的校正後使用者資料進行比較,以在寫入週期中的比較使用者資料與校正後使用者資料之間的失配的狀況下指示錯誤旗標。此允許資料處理期間的校正單元之運作的容易安全檢查而無任何時間延遲。
用於資料記憶體的自我診斷的方法包含:
a) 寫入週期,具有以下步驟:
- 自提供來寫入至資料記憶體中的使用者資料計算錯誤校正碼;
- 將該計算錯誤校正碼及相關的使用者資料儲存至該資料記憶體中;
b) 讀取週期,包含以下步驟:
- 自該資料記憶體讀取使用者資料及相關的所儲存錯誤校正碼;
- 由自該資料記憶體讀出的該使用者資料計算複查碼;以及
- 將自該資料記憶體讀出的該錯誤校正碼與該複查碼進行比較,以提供在失配之狀況下指示該資料記憶體之失靈的錯誤旗標。
提供寫入週期中的以下額外步驟:
- 自提供來寫入至該資料記憶體中的該使用者資料計算複查碼,及
- 將該計算錯誤校正碼與該計算複查碼進行比較,以在失配之狀況下提供指示提供來計算將要在寫入週期中儲存至該資料記憶體中的錯誤校正碼的功能之潛在故障的潛在故障旗標。
用以上所述電子電路執行的方法較佳地包含以下進一步步驟:
- 將提供在錯誤校正碼單元之輸出處的錯誤校正碼及在寫入週期中提供在錯誤校正碼單元之輸入處的相關的使用者資料前送至錯誤檢查單元,以在寫入週期中的失配的狀況下提供潛在故障旗標;以及
- 將在該讀取週期中自該資料記憶體讀出的該所儲存錯誤校正碼及該相關的所儲存使用者資料前送至該錯誤檢查單元,以提供指示讀取週期中的該資料記憶體之失靈的錯誤旗標。
潛在故障旗標指示藉由錯誤校正碼單元及錯誤檢查單元提供的安全功能之潛在故障,該錯誤校正碼單元及該錯誤檢查單元用來控制資料記憶體以指示資料記憶體之任何失靈。錯誤校正碼單元及錯誤檢查單元兩者在寫入週期中的使用允許這些安全功能自身的安全檢查。此工作,因為錯誤校正碼單元之直接輸入,亦即使用者資料,及錯誤校正碼單元之直接輸出,亦即計算錯誤校正碼,經直接饋入至錯誤檢查單元中,而無可為故障的至資料記憶體中的中間儲存。在藉由錯誤校正碼與計算複查碼之間的失配監視的潛在故障之狀況下,錯誤當計算錯誤校正碼時藉由錯誤校正碼單元或當計算複查碼時藉由錯誤檢查單元引起。錯誤校正碼單元或錯誤檢查單元中的另一潛在故障可藉由錯誤校正碼單元及錯誤檢查單元之暫存器中的位元之轉換引起。
較佳地,使用者資料中的1位元錯誤經校正且可校正錯誤旗標藉由錯誤檢查單元設定。包含使用者資料中的多於一個位元的任何錯誤可藉由錯誤旗標指示為不可校正的錯誤,而不校正使用者資料。
1位元錯誤之此校正可限於讀出記憶體之資料時的讀取週期。
在較佳實施例中,資料記憶體另外藉由在寫入週期之後執行讀取週期頻繁地監視,以便立即檢查寫入週期之正確性。
在寫入週期中,方法較佳地包含以下步驟:
- 自提供來寫入至該資料記憶體(RAM)中的使用者資料(D
IN)計算錯誤校正碼(ECC
IN);
- 將該計算錯誤校正碼(ECC
IN)及該相關的使用者資料(D
IN)儲存至該資料記憶體(RAM)中;
- 自提供來寫入至該資料記憶體(RAM)中的該使用者資料(D
IN)計算複查碼(CCC
IN);
- 將該計算錯誤校正碼(ECC
IN)與該計算複查碼(CCC
IN)進行比較,以在失配的狀況下提供指示該第一步驟中的該錯誤校正碼(ECC
IN)之該計算中或該第三步驟中的該複查碼(CCC
IN)之該計算中的失靈的至少一個錯誤旗標(CERR, UNCERR);
- 偵測當計算該複查碼(CCC
IN)時由故障引起的在處理後使用者資料(D
IN)中識別為故障的位元之位元位置;以及
- 檢查該可校正錯誤旗標(CERR)、不可校正的錯誤旗標(UNCERR)中之至少一個是否經設定或包含故障位元的至少一個位元位置是否經偵測,且在該可校正錯誤旗標(CERR)或不可校正的錯誤旗標(UNCERR)中之至少一個經設定或包含故障位元的至少一個位元位置經偵測的狀況下設定潛在故障旗標。
因而,寫入週期亦用來監視錯誤校正碼及複查碼之計算之運作。
在讀取週期中,方法較佳地包含以下步驟:
- 自該資料記憶體(RAM)讀取使用者資料(D
OUT)及該相關的所儲存錯誤校正碼(ECC
OUT);
- 由自該資料記憶體(RAM)讀出的該使用者資料(D
OUT)計算複查碼(CCC
OUT);以及
- 將自該資料記憶體(RAM)讀出的該錯誤校正碼(ECC
OUT)與該計算複查碼(CCC
OUT)進行比較,以在失配的狀況下提供指示該資料記憶體(RAM)之失靈的至少一個錯誤旗標(CERR, UNCERR);
- 偵測自該資料記憶體(RAM)讀出的該使用者資料(D
OUT)中的故障位元之該等位元位置;以及
- 檢查該可校正錯誤旗標(CERR)、不可校正的錯誤旗標(UNCERR)中之至少一個是否經設定或包含故障位元的至少一個位元位置是否經偵測,且在該可校正錯誤旗標(CERR)或不可校正的錯誤旗標(UNCERR)中之至少一個經設定或包含故障位元的至少一個位元位置經偵測的狀況下設定潛在故障信號。
因而,讀取週期亦用來監視故障位元之位元位置之偵測之運作。
較佳地,方法包含以下步驟:在該指示位元位置處校正在該讀取週期中自該資料記憶體(RAM)讀出的該使用者資料(D
OUT)中的該故障位元。
當例如藉由由於偵測或校正邏輯中的故障而切換位元非預期地校正使用者資料時,未偵測錯誤可發生在偵測或校正邏輯中。此錯誤可在接收器側上的校正後使用者資料之後續處理中經偵測。校正後使用者資料(D
OUT)可在讀取週期中與自資料記憶體(RAM)讀出的錯誤校正碼(ECC
OUT)一起提供至接收器。使用者資料可例如藉由ECC保護資料匯流排之使用前送。接收的校正後使用者資料(D
OUT)之非預期校正可藉由接收器側上的錯誤校正檢查ECCCHK偵測。錯誤校正檢查ECCCHK經對接收的校正後使用者資料(D
OUT)及接收的錯誤校正碼(ECC
OUT)執行。在無ECC保護記憶體使用在發送器側處的狀況下,發送器基於校正後使用者資料(D
OUT)產生正確的錯誤校正碼ECC
GEN。在此狀況下,資料匯流排藉由正確的使用者資料D
OUT及對應的錯誤校正碼ECC
GEN保護。
在另一實施例中,將使用者資料(D
IN, D
OUT)與在校正使用者資料(D
IN, D
OUT)中的故障位元之步驟中校正的校正後使用者資料(D
OUT, CORR)進行比較。錯誤旗標在比較使用者資料(D
IN, D
OUT)與校正後使用者資料(D
OUT, CORR)之間的失配的狀況下經指示。此允許校正單元之運作在資料處理期間的容易安全檢查,而無任何時間延遲且不將寫入週期亦使用於監視故障位元之位元位置之偵測及校正之運作。
第1圖呈現用於根據先前技術的資料記憶體RAM的自我診斷的根據先前技術的電子電路的方塊圖。使用者資料D
IN(31...0)藉由使用者提供以經寫入至資料記憶體RAM中以將資料儲存在特定位置處。使用者資料D
IN為資料封包,該資料封包包含複數個位元,亦即一個位元組或如指示各自包含8位元的複數個位元組(例如,4位元組資料封包)。資料封包可亦包含使用者資料D
IN和資料記憶體RAM之儲存位址。
儲存在資料記憶體RAM中的使用者資料D
IN可經讀出,該使用者資料在下文中稱為所儲存使用者資料D
OUT(31...0)。
為連續地檢查資料記憶體RAM之功能,第一錯誤校正碼單元ECCGEN
1經提供,該第一錯誤校正碼單元經設計以自提供來寫入至資料記憶體RAM中的使用者資料D
IN(31...0)計算錯誤校正碼ECC
IN。
該寫入使用者資料D
IN(31...0)經饋送至第一錯誤校正碼單元ECCGEN
1中,該第一錯誤校正碼單元根據將要儲存至資料記憶體RAM中的使用者資料D
IN(31...0)計算錯誤校正碼ECC
IN。函數可為例如漢明碼、蕭氏(HSIAO)碼、里德索洛蒙(Reed Solomon)碼等。此可實行於如藉由軟體演算法控制的可規劃邏輯單元的硬體中或完全實行於在電子電路之資料處理器上運轉的軟體中。
藉由第一錯誤校正碼單元ECCGEN
1計算的錯誤校正碼ECC
IN然後與相關的使用者資料D
IN(31...0)一起經儲存至資料記憶體RAM中。
此藉由信號線上的寫入旗標WR控制,該寫入旗標指示用於將資料儲存至資料記憶體RAM中的寫入週期。
資料記憶體RAM之資料的讀出藉由讀取旗標控制,該讀取旗標為例如信號線上的寫入旗標WR之逆。
在讀取週期中,使用者資料D
OUT(31...0)與相關的所儲存錯誤校正碼ECC
OUT一起經讀出且經前送至錯誤檢查單元ECCCHK。錯誤檢查單元經設計以由自資料記憶體RAM讀出的使用者資料D
OUT(31...0)計算複查碼CCC
OUT,且將複查碼CCC
OUT與在讀取週期中與相關的使用者資料D
OUT(31...0)一起自資料記憶體RAM讀出的錯誤校正碼ECC
OUT進行比較。
檢查及讀取週期決定所儲存及讀出錯誤校正碼ECC
OUT是否類似於用自資料記憶體RAM讀出的使用者資料D
OUT(31…0)之函數計算的計算複查碼CCC
OUT。
在例如藉由至少一個位元之轉換隨資料記憶體RAM發生的失靈之狀況下,在錯誤校正碼ECC
OUT與計算複查碼CCC
OUT之間存在差異。錯誤檢查單元ECCCHK提供用於已校正錯誤CERR及不可校正的錯誤UNCERR的錯誤旗標。
在一較佳實施例中,錯誤檢查單元ECCCHK包含在錯誤之狀況下校正使用者資料D
OUT(31...0)的校正單元。1位元錯誤可經容易校正,使得錯誤旗標ERR指示已校正錯誤CERR。在錯誤並非可校正的狀況下,此藉由不可校正的錯誤旗標UNCERR指示。
在錯誤檢查單元ECCCHK之輸出處,自資料記憶體RAM讀出且可能藉由校正邏輯校正的使用者資料D
OUT(31...0)經提供。
此先前技術電子電路經設計以藉由用錯誤校正碼的保護來保護資料記憶體RAM以防暫態及永久錯誤。
錯誤校正碼ECC的使用賦能偵測且校正資料記憶體RAM中的1位元錯誤且偵測多於一個位元的錯誤,亦即2位元錯誤。
例如,對應的7位元錯誤校正碼ECC可由例如32位元使用者資料D
IN(31...0)計算,該32位元使用者資料經提供來藉由硬體ECCGEN寫入至資料記憶體RAM中,其中錯誤校正碼ECC與使用者資料D
IN(31...0)一起經寫入至資料記憶體RAM中。
當自資料記憶體RAM讀出例如記憶體行時,讀出的使用者資料D
OUT(31...0)用另一硬體單元,亦即錯誤檢查單元ECCCHK相對於亦已讀出的錯誤校正碼ECC
OUT加以檢查。
在使用者資料D
OUT(31...0)中的1位元錯誤的情況下,該1位元錯誤藉由錯誤檢查單元ECCCHK辨識且藉由硬體ECCORR校正,且可校正錯誤旗標CERR經設定。
在使用者資料D
OUT(31...0)中的任何2位元錯誤的情況下,該2位元錯誤藉由錯誤檢查單元ECCCHK辨識,且不可校正的錯誤旗標UNCERR經設定。
第一錯誤校正碼單元ECCGEN
1及錯誤檢查單元ECCCHK為ISO標準26262之意義內的安全機構。錯誤校正單元ECCCORR之功能在讀取週期中為安全關鍵的,因為輸出資料的非預期校正將導致隨後系統用錯資料工作。標準僅要求錯誤必須經報告但錯誤不需要經校正,使得電子電路中的校正單元及在寫入週期中控制校正單元之運作的各別安全監測程序為任擇的。
根據ISO標準26262,若例如安全機構自身為不良的且因而功能邏輯中的錯誤將不再經辨識,則潛在故障存在。當系統藉由邏輯內建自我測試(Logic Bist,LBist)開始時,根據第1圖的先前技術安全機構不檢查安全機構或僅針對永久錯誤檢查安全機構。
第2圖呈現根據本發明的電子電路的方塊圖。電子電路包含根據第1圖的資料記憶體RAM、第一錯誤校正碼單元ECCGEN
1及錯誤檢查單元ECCCHK,以及根據先前技術電子電路的AND邏輯(&_1)。
另外,提供第一多工器MUX_1及第二多工器MUX_2,其中第一多工器MUX_1及第二多工器MUX_2之兩個輸出連接至錯誤檢查單元ECCCHK之輸入。
第一多工器MUX_1之第一輸入連接至資料記憶體RAM以將來自資料記憶體RAM的讀出使用者資料D
OUT(31...0)提供至第一多工器之輸入。
第一多工器MUX_1之第二輸入連接至寫入使用者資料D
IN(31...0),該等寫入使用者資料藉由使用者提供以經寫入至資料記憶體RAM中。
第二多工器MUX_2之第一輸入連接至資料記憶體RAM以提供所儲存錯誤校正碼ECC
OUT,該等所儲存錯誤校正碼與提供至第一多工器MUX_1之第二輸入的使用者資料D
OUT(31...0)有關。
第二多工器MUX_2之第二輸入連接至第一錯誤校正碼單元ECCGEN
1之輸出以將計算錯誤校正碼ECC
IN提供至第二多工器之輸入。
除與資料記憶體RAM有關的晶片選擇CS信號之外,第一多工器MUX_1及第二多工器MUX_2藉由信號線上的寫入及讀取旗標控制。
當寫入旗標與晶片選擇CS命令一起存在於資料記憶體RAM和第一多工器MUX_1及第二多工器MUX_2上時,第二輸入對於寫入週期經選擇以將使用者資料D
IN(31...0)及直接自第一錯誤校正碼單元ECCGEN
1獲得且計算為使用者資料D
IN(31...0)之函數且將要寫入至資料記憶體RAM中的錯誤校正碼ECC提供至錯誤檢查單元ECCCHK之輸入。在此寫入週期中,錯誤檢查單元根據提供來寫入至資料記憶體RAM中的使用者資料D
IN(31...0)計算複查碼CCC,且相對於此複查碼CCC檢查直接自第一錯誤校正碼單元ECCGEN
1獲得的錯誤校正碼ECC。錯誤檢查單元計算錯誤旗標,該錯誤旗標藉由第二AND邏輯&_2之使用處置為潛在故障旗標,該第二AND邏輯&_2藉由信號線上的寫入旗標及晶片選擇旗標(WR&CS)控制,該寫入旗標及晶片選擇旗標指示寫入數位記憶體RAM的實際寫入週期。
在失配藉由錯誤檢查單元ECCCHK偵測的狀況下,潛在故障旗標,亦即,數位「1」位元經設定,該潛在故障旗標指示藉由第一錯誤校正碼單元ECCGEN
1及錯誤檢查單元ECCCHK提供的安全機構之失靈。
在讀取週期中,第二AND邏輯由於讀取旗標(寫入旗標之逆)而失能。因而,當錯誤檢查單元ECCCHK在錯誤檢查單元之輸出處的錯誤旗標中指示不可校正的錯誤時,第一AND邏輯&_1經賦能。因而,第一AND邏輯之輸出提供可校正錯誤CORR及不可校正的錯誤UNCORR之指示。可校正記憶體錯誤的重複指示在具有不可校正的錯誤之風險的情況下指示記憶體中的潛在故障。
在此讀取週期中,自資料記憶體(RAM)讀出的所儲存錯誤校正碼ECC
OUT及所儲存使用者資料D
OUT(31...0)經前送至錯誤檢查單元ECCCHK之輸入以相對於計算為所儲存讀出使用者資料D
OUT(31...0)之函數的複查碼CCC複查所儲存錯誤校正碼ECC
OUT。
此為對應於用第1圖解釋的先前技術解決方案的功能。
第2圖中的電子電路因而使用藉由第一錯誤校正碼單元ECCGEN
1及錯誤檢查單元ECCCHK建立的現有安全機構來在寫入週期中彼此監視。自第一錯誤校正碼單元ECCGEN
1及資料記憶體RAM之寫入使用者資料D
IN(31...0)產生的錯誤校正碼ECC在寫入週期中藉由包含第一多工器及第二多工器的多工器單元交換至錯誤檢查單元ECCCHK。
若在第一錯誤校正碼單元ECCGEN
1中或在錯誤檢查單元ECCCHK中存在1位元錯誤或雙位元錯誤,則其將藉由潛在故障旗標識別且信號傳輸。
在對資料記憶體RAM的每個寫入存取的情況下,安全機構在不需要具有高診斷覆蓋度(diagnostic coverage,DC)的任何軟體的情況下經檢查。診斷覆蓋度DC為100%。
安全機構的監視簡單地藉由將現有錯誤校正碼ECC及使用者資料D
IN(31...0)前送至錯誤檢查單元ECCCHK且亦在寫入週期中運轉此錯誤檢查單元ECCCHK,與將使用者資料D
IN(31...0)寫入至資料記憶體中平行地發生在此寫入週期中。
電子電路可作為資料記憶體RAM積體電路之部分或作為如微控制器、微處理器、FPGA、ASIC或包含記憶體單元的其他邏輯電路的較大邏輯結構之部分完全實行在硬體中。在本發明之意義中的記憶體單元亦包括資料暫存器。電子電路可與包括RAM記憶體、暫存器、非揮發性記憶體等的任何種類的記憶體組合設計。
第3a)圖為包含用於第2中的電子電路的錯誤校正單元ECCCOR的錯誤檢查單元ECCCHK/CORR之示範性實施例的方塊圖。
ISO 26262的安全目標未規定藉由錯誤旗標加正負號的錯誤(CORR、UNCORR、潛在故障)必須一定經校正。然而,若無錯誤存在,則無錯誤校正可在讀取期間執行。
導致初始資料之「非預期」校正的錯誤校正邏輯ECCCOR或錯誤檢查邏輯ECCCHK中的錯誤將為ISO 26262之安全目標之違規,因為系統將繼續用不正確的資料操作。因此,早已在寫入週期期間監視校正邏輯ECCCOR之大部分為有利的,該大部分可為錯誤檢查單元ECCCHK/CORR之部分。
寫入週期期間的兩個故障狀況之簡單及快速檢查可藉由第3圖之方塊圖中示範地示出的邏輯進行。
錯誤檢查單元ECCCHK/CORR包含用以計算複查碼CCC
OUT的第二錯誤校正碼單元ECCGEN
2,該第二錯誤校正碼單元類似於第2圖中所示的經提供來計算錯誤校正碼ECC
IN的第一錯誤校正碼單元ECCGEN
1。此發生在每個週期中,用於在寫入週期中儲存於資料記憶體中的使用者資料D
IN(31...0)和在讀取週期中自記憶體RAM讀出的使用者資料D
OUT(31...0)的讀取週期和寫入週期。錯誤檢查功能ECCCHK將錯誤校正碼ECC
IN與複查碼CCC
OUT進行比較,且在偵測的可校正錯誤例如1位元錯誤的狀況下設定可校正錯誤旗標CERR或在偵測的不可校正的錯誤例如多位元錯誤之狀況下設定不可校正的錯誤旗標UNCERR。
旗標可為數位狀態(零或一),其中數位零可指示無錯誤,亦即,分別無用於CORR旗標的可校正錯誤或無用於UNCORR旗標的不可校正的錯誤,且數位一可指示錯誤,亦即分別為用於CORR旗標的可校正錯誤或用於UNCORR旗標的不可校正的錯誤。
在讀取週期中,這些CORR及UNCORR旗標在&_1邏輯之輸出處經指示。
錯誤檢查單元ECCCHK/CORR進一步包含錯誤位置單元ERRLOC,該錯誤位置單元經佈置來定位故障位元之至少一個位元位置。錯誤位置單元ERRLOC將錯誤校正碼ECC
IN與各別複查碼CCC
OUT進行比較,且提供位元向量(31...0)指示,例如故障位元位置處的位元向量中的數位一及正確位元位置處的數位零。錯誤位置單元ERRLOC可經設計為具有作為輸入資料的8位元錯誤校正碼ECC
IN及8位元複查碼CCC
OUT的32位元向量閘及作為輸出的32位元錯誤位置向量。
錯誤位置向量經前送至通向錯誤校正單元ECCCOR的輸入以校正提供至錯誤校正單元ECCCOR之第二輸入的使用者資料D
IN(31...0)之位元。錯誤校正單元ECCCOR可經設計以切換藉由錯誤位置向量指示為故障的各別位元。錯誤校正單元ECCCOR之輸出提供已校正使用者資料D
OUT(31...0)。
(例如32位元)錯誤位置向量經前送至第一OR閘OR
1之輸入,一旦錯誤位置向量之至少一個位元指示故障位元之存在,該第一OR閘在輸出處指示錯誤旗標。
為監視錯誤控制邏輯之運作,針對讀取及寫入週期兩者執行提供CORR/UNCORR旗標的錯誤檢查功能。CORR/UNCORR旗標經內部地用作第二OR閘OR
2之輸入以在錯誤在讀取或寫入週期中藉由錯誤檢查邏輯偵測的狀況下提供指示可校正或不可校正的錯誤的潛在故障旗標。此錯誤指示第一或第二錯誤碼產生單元ECCGEN
1/2之失靈。
指示錯誤旗標的第一OR閘OR
1之輸出亦經前送至第二OR閘OR
2之輸入以在錯誤藉由錯誤位置單元ECCLOC偵測的狀況下提供潛在故障旗標。
至少錯誤位置單元ERRLOC在讀取及寫入週期中運轉。即使其輸出處的所得校正後使用者資料D
OUT(31...0)未使用於此寫入週期,錯誤校正單元ECCCOR可亦在寫入週期中工作。
兩個錯誤可經區分:
a) 經提供來計算錯誤校正碼ECC
IN的第一錯誤碼產生單元ECCGEN
1中的錯誤或經提供來在寫入週期或讀取週期兩者中計算複查碼CCC
OUT的第二錯誤碼產生單元ECCGEN
2中的錯誤;
b) 第一及第二錯誤碼產生單元ECCGEN
1/2無錯誤,但錯誤位置邏輯ECCLOC為故障的,此將導致資料之不正確的校正。
對於第一錯誤類型a),在兩者狀況下,可校正錯誤CORR或不可校正的錯誤UNCORR旗標將在ECCCHK/CORR模組中內部地辨識。此然後因此導致應歸於第二OR閘OR
2的潛在故障旗標之設定。
對於第二錯誤類型b),潛在故障旗標將亦經設定。在ECCCHK不藉由比較錯誤校正碼ECC
IN及複查碼CCC
OUT指示任何錯誤,但錯誤位置單元ERRLOC藉由分析相同的錯誤校正碼ECC
IN及複查碼CCC
OUT定位故障位元位置的狀況下,在錯誤位置單元ERRLOC中存在失靈。此藉由用於第一OR閘OR
1之輸出處的CERR旗標、UNCERR旗標及錯誤旗標的第二OR邏輯OR
2偵測。
通常,可以說,獨立於錯誤是否存在於ECCGEN或ECCCHK或ERRLOC邏輯中,寫入週期期間的每個校正導致潛在故障旗標之設定。
第3b)圖為第3a)圖中所示的錯誤檢查單元ECCCHK/CORR之示範性改良的實施例的方塊圖。另外,錯誤檢查單元ECCCHK/CORR包含任擇的比較器COMP,該任擇的比較器經提供來用於寫入週期中的錯誤校正單元ECCCOR之功能檢查。錯誤校正單元ECCCOR之輸入處的使用者資料D
IN、D
OUT及錯誤校正單元ECCCOR之輸出處的校正後使用者資料D
OUT, CORR經提供在比較器之輸入處,該比較器經設計來將使用者資料D
IN、D
OUT與校正後使用者資料D
OUT, CORR進行比較。在寫入週期WR中的這兩個使用者資料與校正後使用者資料之間的失配之狀況下,錯誤旗標經指示,該錯誤旗標經前送至第二OR閘OR
2之輸入。
錯誤校正邏輯ECCCOR的任何失靈藉由用於第一OR閘OR
1之輸出處的CERR旗標、UNCERR旗標、錯誤旗標,及比較器COMP之錯誤旗標的第二OR邏輯OR
2偵測。
寫入週期包含以下步驟:
W1) 自提供來寫入至資料記憶體RAM中的使用者資料D
IN(31...0)計算錯誤校正碼ECC,及
W2) 將計算錯誤校正碼ECC及相關的使用者資料儲存至資料記憶體中,
藉由較佳地與步驟W1)平行地執行額外步驟:
W3) 自提供來寫入至資料記憶體RAM中的使用者資料D
IN(31...0)計算複查碼CCC,及
W4) 將計算錯誤校正碼ECC與計算複查碼CCC進行比較,以在失配的狀況下提供指示提供來計算將要在寫入週期WR中儲存至資料記憶體RAM中的錯誤校正碼ECC的功能之潛在故障的潛在故障旗標。
讀取週期
包含以下步驟:
R1) 自資料記憶體RAM讀取使用者資料D
OUT(31...0)及相關的所儲存錯誤校正碼ECC
OUT,
R2) 由自資料記憶體RAM讀出的使用者資料D
OUT(31...0)計算複查碼CCC,及
R3) 將自資料記憶體RAM讀出的錯誤校正碼ECC與複查碼CCC進行比較,以提供至少一個錯誤旗標CERR、UNCERR,該至少一個錯誤旗標指示失配之狀況下的資料記憶體RAM之失靈。
第5圖示出第4圖中的方法的改良流程圖,該方法包含以下修正及額外步驟:
W4) 將計算錯誤校正碼ECC與計算複查碼CCC進行比較,以在失配的狀況下提供指示寫入週期中的步驟W1)中的錯誤校正碼ECC之計算中或步驟W3)中的複查碼CCC之計算中的失靈的至少一個錯誤旗標CERR、UNCERR;
W5/R4) 偵測在寫入週期中經提供來寫入至資料記憶體RAM中的使用者資料D
IN(31...0)或在讀取週期中自資料記憶體RAM讀出的使用者資料D
OUT(31...0)中的故障位元之位元位置,
W6/R5) 檢查可校正錯誤旗標CORR、不可校正的錯誤旗標UNCORR中之至少一個是否在步驟W4/R3)中經設定,或包含故障位元的至少一個位元位置是否在步驟W5/R5)中經偵測。
在步驟W6/R5中,潛在故障旗標在可校正錯誤旗標(CERR)或不可校正的錯誤旗標(UNCERR)中之至少一個經設定或包含故障位元的至少一個位元位置經偵測的狀況下經設定。
在讀取週期中,進一步改良的方法包含以下步驟:
W7/R6例如藉由切換各別位元校正在步驟W5/R4中指示的位元位置處的在讀取週期中自資料記憶體RAM讀出的使用者資料D
OUT(31...0)中的故障位元。
步驟W7/R6未經監視,且失靈可例如由於故障記憶體或暫存器或由於校正步驟W7中的切換錯誤而發生在此步驟中。當與自資料記憶體(RAM)讀出的錯誤校正碼(ECC
OUT)一起在步驟W7/R6之輸出處提供校正後使用者資料D
OUT(31...0)時,此可在接收器側上經偵測。使用者資料及相關的錯誤校正碼之此對可經給予例如ECC保護資料匯流排且前送至接收器,其中接收器執行以上ECC檢查ECCCHK。在此狀況下,發送器側上的錯校正將藉由接收器系統偵測。
第6圖示出包含資料記憶體RAM的電子電路之部分及包括錯誤校正單元CORR的錯誤檢查單元ECCCHK之互連的方塊圖。錯誤檢查單元ECCCHK/CORR之輸出連接至資料匯流排B,使得錯誤校正碼ECC
OUT及相關的校正後使用者資料D
OUT(31...0)藉由資料匯流排B通訊至至少一個接收器。接收器與其部分一起展示在資料匯流排B之底部處,該等部分為對於本發明有關的。接收器包含接收器側上的額外錯誤檢查單元ECCCHK。
取決於藉由控制多工器的組態信號CONFIG之使用的組態,藉由發送器之錯誤校正碼單元ECCGEN計算的錯誤校正碼ECC
OUT或所產生錯誤校正碼ERR
GEN經提供在錯誤檢查單元ECCCHK之輸入處。校正後使用者資料D
OUT(31...0)存在於錯誤檢查單元ECCCHK之另一輸入處。因而,錯誤檢查單元ECCCHK能夠檢查錯誤校正碼ECC
OUT及接收的校正後使用者資料D
OUT(31...0)之有效性。
在額外ECCGEN邏輯經提供在用於提供ECC控制資料匯流排的資料匯流排之輸入處的狀況下,例如,如資料記憶體單元中的實行特徵,當藉由資料匯流排將校正後使用者資料D
OUT(31...0)及錯誤校正碼(ECC
OUT)通訊至接收器時,建設使此ECCGEN邏輯去能。資料匯流排之輸入處的額外ECC檢查邏輯的使用為反生產的,因為校正後使用者資料D
OUT及ECC
OUT之對將始終為正確的。
使用者資料的非預期校正可藉由保護資料匯流排的接收器側處的ECC檢查邏輯ECCCHK監視。資料匯流排上的不正確的使用者資料D
OUT將藉由目的地偵測。在校正邏輯中無故障的狀況下,資料匯流排用已校正資料及相關的和正確的錯誤檢查碼之使用加以保護。
RAM:資料記憶體
ECCGEN
1:第一錯誤校正碼單元
ECCGEN
2:第一錯誤校正碼單元
ECCGEN:錯誤校正碼單元
D
IN(31...0):使用者資料
D
OUT(31...0):讀出的使用者資料
ECC
IN:錯誤校正碼
WR:寫入週期
:讀取週期
ECC
OUT:相關的所儲存錯誤校正碼
CCC
OUT:複查碼
ECCCHK:錯誤檢查單元
ECCCOR:錯誤校正單元
ECCCHK/CORR:錯誤檢查單元
CERR:已校正錯誤
ERR:錯誤旗標
UNCERR:不可校正的錯誤旗標
MUX_1:第一多工器
MUX_2:第二多工器
CS:晶片選擇
OR
1:第一OR閘
OR
2:第二OR閘
ECCLOC:錯誤位置邏輯
D
OUT,CORR:校正後使用者資料
D
IN、D
OUT:使用者資料
B:資料匯流排
CONFIG:組態信號
ERR
GEN:所產生錯誤校正碼
ECC
GEN:錯誤校正碼
&_1:第一AND邏輯
&_2:第二AND邏輯
W1):步驟
W2):步驟
W3):步驟
W4):步驟
W5):步驟
W6):步驟
W7):步驟
R1):步驟
R2):步驟
R3):步驟
R4):步驟
R5):步驟
R6):步驟
本發明藉由所附圖式中的示範性實施例加以揭示。圖式示出:
第1圖-根據先前技術的電子電路的方塊圖;
第2圖-根據本發明的電子電路之示範性實施例的方塊圖;
第3a)圖-包含用於第2圖中的電子電路的錯誤校正單元的錯誤檢查單元之示範性實施例的方塊圖;
第3b)圖-包含用於錯誤校正單元之安全檢查的額外比較器的第3a)中的錯誤檢查單元的方塊圖;
第4圖-用於資料記憶體的自我診斷的方法的流程圖;
第5a)圖-包含寫入週期中的校正步驟的第4圖之改良的方法的流程圖;
第5b)圖-包含讀取週期中的校正步驟的第4圖之改良的方法的流程圖;
第6圖-電子電路藉由資料匯流排與接收器之互連的方塊圖,該資料匯流排包含接收器側上的額外錯誤檢查單元。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
RAM:資料記憶體
ECCGEN:錯誤校正碼單元
DIN(31...0):使用者資料
DOUT(31...0):讀出的使用者資料
ECCIN:錯誤校正碼
WR:寫入週期
ECCOUT:相關的所儲存錯誤校正碼
ECCCHK/CORR:錯誤檢查單元
CERR:已校正錯誤
ERR:錯誤旗標
UNCERR:不可校正的錯誤旗標
&_1:第一AND邏輯
Claims (16)
- 一種用於一資料記憶體(RAM)的自我診斷的電子電路,該電子電路包含 - 一第一錯誤校正碼單元(ECCGEN 1),用於自將要寫入至該資料記憶體(RAM)中的使用者資料(D IN)產生一錯誤校正碼(ECC IN),其中該電子電路經佈置以將該使用者資料(D IN)及該相關的錯誤校正碼(ECC IN)寫入至該資料記憶體(RAM)中; - 一錯誤檢查單元(ECCCHK/CORR),用於由自該資料記憶體(RAM)讀出的使用者資料(D OUT)計算一複查碼(CCC OUT),且將該複查碼(CCC OUT)與連同該相關的使用者資料(D OUT)一起自該資料記憶體(RAM)讀出的該錯誤校正碼(ECC OUT)進行比較,其中該錯誤檢查單元(ECCCHK/CORR)經佈置以在該錯誤檢查碼(ECC OUT)與該複查碼(CCC OUT)之間的一差異的狀況下提供一錯誤旗標(CERR/UNCERR), 其特徵在於該電子電路經佈置以在當將該使用者資料及該相關的錯誤校正碼(ECC IN)寫入至資料記憶體(RAM)中時的寫入週期中將寫入至該記憶體中的該使用者資料(D IN)及該相關的錯誤校正碼(ECC IN)饋入至該錯誤檢查單元(ECCCHK/CORR)中,以在該錯誤校正碼(ECC IN)與該複查碼(CCC IN)之間的一決定差異的狀況下提供一潛在_故障旗標,該複查碼藉由該錯誤檢查單元(ECCCHK/CORR)自該使用者資料(D IN)計算。
- 如請求項1所述之電子電路,其特徵在於該電子電路包含 - 一第一多工器(MUX_1),包含一第一及第二輸入及一輸出,其中當該第一多工器(MUX_1)藉由一資料記憶體讀取/寫入旗標控制,以將在一讀取週期中自該資料記憶體(RAM)讀出的該使用者資料(D OUT)提供至該錯誤檢查單元(ECCCHK/CORR)之該輸入,且將供應來在該寫入週期中寫入至該資料記憶體(RAM)中的該使用者資料(D IN)提供至該錯誤檢查單元(ECCCHK/CORR)之該輸入時,將要寫入至該資料記憶體(RAM)中的該使用者資料(D IN)經提供在該第一多工器(MUX_1)之該第二輸入處,當自該資料記憶體(RAM)讀出時自該資料記憶體(RAM)提供的該使用者資料(D OUT)經提供在該第一多工器(MUX_1)之該第一輸入處,且該第一多工器(MUX_1)之該輸出連接至該錯誤檢查單元(ECCCHK/CORR)之一輸入,且 - 一第二多工器(MUX_2),具有一第一及第二輸入及一輸出,其中藉由該第一錯誤校正碼單元(ECCGEN 1)針對將要寫入至該資料記憶體(RAM)中的該使用者資料(D IN)產生的該錯誤校正碼(ECC IN)經提供在該第二多工器(MUX_2)之該第二輸入處,當在一讀取週期中自該資料記憶體(RAM)讀取該相關的使用者資料(D OUT)時自該資料記憶體(RAM)讀出的該錯誤校正碼(ECC OUT)經提供在該第二多工器(MUX_2)之該第一輸入處,且該第二多工器(MUX_2)之該輸出連接至該錯誤檢查單元(ECCCHK/CORR)之一輸入,其中該第二多工器(MUX_2)藉由該資料記憶體讀取/寫入旗標控制,以在一寫入週期中將直接自該第一錯誤校正碼單元(ECCGEN 1)獲得的該錯誤校正碼(ECC IN)提供至該錯誤檢查單元(ECCCHK/CORR),且在一讀取週期中提供直接自該資料記憶體(RAM)獲得的該錯誤校正碼(ECC OUT)。
- 如請求項2所述之電子電路,其特徵在於該第一及第二多工器(MUX_1, MUX_2)整體地形成在一共同多工器單元中。
- 如前述請求項中之一項所述之電子電路,其特徵在於該錯誤檢查單元(ECCCHK/CORR)之該輸出經提供至至少一個邏輯單元(&_1, &_2)之一輸入,其中該至少一個邏輯單元(&_1, &_2)藉由該讀取/寫入旗標控制,以由於自提供來寫入至該資料記憶體中的該使用者資料(D IN)計算的該計算錯誤校正碼(ECC IN)與自將要在該寫入週期中寫入至該資料記憶體(RAM)中的該使用者資料(D IN)計算的該複查碼(CCC IN)之比較而在一寫入週期中將該潛在_故障旗標提供在該至少一個邏輯單元(&_1, &_2)之該輸出處,且由於自該資料記憶體讀取的該所儲存錯誤校正碼(ECC OUT)與由在該讀取週期中自該資料記憶體(RAM)讀出的該使用者資料(D OUT)計算的該複查碼(CCC OUT)之比較而提供一錯誤旗標(CERR/UNCERR)。
- 如前述請求項中之一項所述之電子電路,其特徵在於該錯誤檢查單元(ECCCHK/CORR)包含一第二錯誤碼產生單元(ECCGEN 2),該第二錯誤碼產生單元經提供來計算該複查碼(CCC OUT);及一檢查碼比較單元(ECCCHK),該檢查碼比較單元經佈置來將該錯誤校正碼(ECC IN)與該複查碼(CCC OUT)進行比較,且在該比較錯誤校正碼(ECC IN)與複查碼(CCC OUT)之間的一失配的狀況下設定一偵測可校正錯誤的狀況下的一可校正錯誤旗標(CERR)或一偵測不可校正的錯誤的狀況下的一不可校正的錯誤旗標(UNCERR)。
- 如請求項5所述之電子電路,其特徵在於該錯誤檢查單元(ECCCHK/CORR)包含一錯誤位置單元(ERRLOC),該錯誤位置單元經佈置來定位藉由將該錯誤校正碼(ECC IN)與該各別複查碼(CCC OUT)進行比較偵測的一故障位元的至少一個位元位置,其中該錯誤檢查單元(ECCCHK/CORR)經佈置來在定位一故障位元的至少一個位元位置的狀況下設定一潛在_故障旗標或一不可校正的錯誤旗標(UNCERR)經設定,且其中該錯誤定位單元(ERRLOC)適於在該寫入週期及該讀取週期兩者中工作。
- 如請求項6所述之電子電路,其特徵在於該錯誤檢查單元(ECCCHK/CORR)包含一第一OR閘(OR 1),若一故障位元之至少一個位元位置藉由該第一OR閘(OR 1)之該輸入處的一位元向量指示,則該第一OR閘提供一旗標;及一第二OR閘(OR 2),若藉由該第一OR閘(OR 1)提供的該錯誤旗標、該可校正錯誤旗標(CERR)或該不可校正的錯誤旗標(UNCERR)中之至少一個在該第二OR閘(OR 2)之該輸入處經設定,則該第二OR閘(OR 2)提供一潛在故障信號作為該第二OR閘(OR 2)之輸出。
- 如前述請求項中之一項所述之電子電路,其特徵在於該錯誤檢查單元(ECCCHK/CORR)包含一錯誤校正單元(ECCCOR),該錯誤校正單元經設計以根據一錯誤位置向量在該錯誤校正單元的輸出處提供校正後使用者資料(D OUT, CORR),該錯誤位置向量指示該錯誤校正單元(ECCCOR)之該輸入處的該使用者資料(D IN, D OUT)之故障位元之位置,其中該錯誤檢查單元(ECCCHK/CORR)進一步包含一比較器單元,該比較器單元經設計以將該錯誤校正單元(ECCCOR)之該輸入處的該使用者資料(D IN, D OUT)與該錯誤校正單元(ECCCOR)之該輸出處的該校正後使用者資料(D OUT, CORR)進行比較,以在一寫入週期中的該比較使用者資料(D IN, D OUT)與該校正後使用者資料(D OUT, CORR)之間的一失配的狀況下指示一錯誤旗標。
- 用於一資料記憶體的自我診斷的方法,該方法包含以下步驟: a) 一寫入週期,包含以下步驟: - 自提供來寫入至該資料記憶體(RAM)中的使用者資料(D IN)計算一錯誤校正碼(ECC IN); - 將該計算錯誤校正碼(ECC IN)及該相關的使用者資料(D IN)儲存至該資料記憶體(RAM)中; b) 一讀取週期,包含以下步驟: - 自該資料記憶體(RAM)讀取使用者資料(D OUT)及該相關的所儲存錯誤校正碼(ECC OUT); - 由自該資料記憶體(RAM)讀出的該使用者資料(D OUT)計算一複查碼(CCC OUT);以及 - 將自該資料記憶體(RAM)讀出的該錯誤校正碼(ECC OUT)與該複查碼(CCC OUT)進行比較,以在一失配的狀況下提供指示該資料記憶體(RAM)之一失靈的一錯誤旗標; 其特徵在於該寫入週期中的以下額外步驟: - 自提供來寫入至該資料記憶體(RAM)中的該使用者資料(D IN)計算一複查碼(CCC IN),及 - 將該計算錯誤校正碼(ECC IN)與該計算複查碼(CCC IN)進行比較,以在一失配的狀況下提供指示提供來計算將要在該寫入週期中儲存至該資料記憶體(RAM)中的該錯誤校正碼(ECC IN)的功能之一潛在故障的一潛在_故障旗標。
- 如請求項9所述之方法,該方法用根據前述請求項1至8中之一項的該電子電路執行,其特徵在於: - 將提供在該錯誤校正碼單元(ECCGEN)之該輸出處的該錯誤校正碼(ECC IN)及在一寫入週期中提供在該錯誤校正碼單元(ECCGEN)之該輸入處的該相關的使用者資料(D IN)前送至該錯誤檢查單元(ECCCHK/CORR),以在該寫入週期中的一失配的狀況下提供一潛在_故障旗標;以及 - 將在該讀取週期中自該資料記憶體(RAM)讀出的該所儲存錯誤校正碼(ECC OUT)及該相關的所儲存使用者資料(D OUT)前送至該錯誤檢查單元(ECCCHK/CORR),以提供指示一讀取週期中的該資料記憶體(RAM)之一失靈的一錯誤旗標。
- 如請求項9或10所述之方法,其中該使用者資料(D IN, D OUT)中的一1位元錯誤經校正且一可校正錯誤旗標經設定,且其中包含該使用者資料(D IN, D OUT)中的多於一個位元的任何錯誤藉由該錯誤旗標指示為不可校正的錯誤,而不校正該使用者資料(D IN, D OUT)。
- 如請求項9至11中之一項所述之方法,其特徵在於該寫入週期包含以下步驟: - 自提供來寫入至該資料記憶體(RAM)中的使用者資料(D IN)計算一錯誤校正碼(ECC IN); - 將該計算錯誤校正碼(ECC IN)及該相關的使用者資料(D IN)儲存至該資料記憶體(RAM)中; - 自提供來寫入至該資料記憶體(RAM)中的該使用者資料(D IN)計算一複查碼(CCC IN); - 將該計算錯誤校正碼(ECC IN)與該計算複查碼(CCC IN)進行比較,以在一失配的狀況下提供指示該第一步驟中的該錯誤校正碼(ECC IN)之該計算中或該第三步驟中的該複查碼(CCC IN)之該計算中的一失靈的至少一個錯誤旗標(CERR, UNCERR); - 偵測當計算該複查碼(CCC IN)時由一故障引起的在該處理後使用者資料(D IN)中識別為故障的位元之該等位元位置;以及 - 檢查該可校正錯誤旗標(CERR)、不可校正的錯誤旗標(UNCERR)中之至少一個是否經設定或包含一故障位元的至少一個位元位置是否經偵測,且在該可校正錯誤旗標(CERR)或不可校正的錯誤旗標(UNCERR)中之至少一個經設定或包含一故障位元的至少一個位元位置經偵測的狀況下設定一潛在_故障旗標。
- 如請求項9至12中之一項所述之方法,其特徵在於該讀取週期包含以下步驟: - 自該資料記憶體(RAM)讀取使用者資料(D OUT)及該相關的所儲存錯誤校正碼(ECC OUT); - 由自該資料記憶體(RAM)讀出的該使用者資料(D OUT)計算一複查碼(CCC OUT);以及 - 將自該資料記憶體(RAM)讀出的該錯誤校正碼(ECC OUT)與該計算複查碼(CCC OUT)進行比較,以在一失配的狀況下提供指示該資料記憶體(RAM)之一失靈的至少一個錯誤旗標(CERR, UNCERR); - 偵測自該資料記憶體(RAM)讀出的該使用者資料(D OUT)中的故障位元之該等位元位置;以及 - 檢查該可校正錯誤旗標(CERR)、不可校正的錯誤旗標(UNCERR)中之至少一個是否經設定或包含一故障位元的至少一個位元位置是否經偵測,且在該可校正錯誤旗標(CERR)或不可校正的錯誤旗標(UNCERR)中之至少一個經設定或包含一故障位元的至少一個位元位置經偵測的狀況下設定一潛在故障信號。
- 如請求項12或13所述之方法,其特徵在於以下步驟:在該指示位元位置處校正在該讀取週期中自該資料記憶體(RAM)讀出的該使用者資料(D OUT)中的該故障位元。
- 如請求項9至14中之一項所述之方法,其特徵在於在該讀取週期中連同自該資料記憶體(RAM)讀出的該錯誤校正碼(ECC OUT)一起將該校正後使用者資料(D OUT)提供至一接收器且檢查該接收器側上的該所接收校正後使用者資料(D OUT)之正確性。
- 如請求項14或15所述之方法,其特徵在於將該使用者資料(D IN, D OUT)與在校正該使用者資料(D IN, D OUT)中的該故障位元之該步驟中校正的該校正後使用者資料(D OUT, CORR)進行比較,且在該寫入週期中的該比較使用者資料(D IN, D OUT)與該校正後使用者資料(D OUT, CORR)之間的一失配的狀況下指示一潛在故障信號。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2021/076800 WO2023051903A1 (en) | 2021-09-29 | 2021-09-29 | Electronic circuit and method for self-diagnosis of a data memory |
WOPCT/EP2021/076800 | 2021-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202314503A true TW202314503A (zh) | 2023-04-01 |
Family
ID=78078207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111126474A TW202314503A (zh) | 2021-09-29 | 2022-07-14 | 資料記憶體的自我診斷的電子電路及方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20240013847A1 (zh) |
EP (1) | EP4222746A1 (zh) |
KR (1) | KR20240067770A (zh) |
CN (1) | CN116194994A (zh) |
TW (1) | TW202314503A (zh) |
WO (1) | WO2023051903A1 (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2908272B2 (ja) | 1995-03-22 | 1999-06-21 | 甲府日本電気株式会社 | 情報処理装置 |
US20070061669A1 (en) * | 2005-08-30 | 2007-03-15 | Major Karl L | Method, device and system for detecting error correction defects |
US8832524B2 (en) * | 2011-09-22 | 2014-09-09 | Violin Memory, Inc. | System and method for correcting errors in data using a compound code |
US9047214B1 (en) * | 2012-05-22 | 2015-06-02 | Pmc-Sierra, Inc. | System and method for tolerating a failed page in a flash device |
DE102013215055B4 (de) * | 2013-07-31 | 2021-01-28 | Infineon Technologies Ag | Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern |
US10025652B2 (en) * | 2015-10-27 | 2018-07-17 | Western Digital Technologies, Inc. | Error location pointers for non volatile memory |
US10162702B2 (en) * | 2016-02-01 | 2018-12-25 | Lattice Semiconductor Corporation | Segmented error coding for block-based memory |
JP6717059B2 (ja) * | 2016-06-06 | 2020-07-01 | オムロン株式会社 | 制御システム |
US9904595B1 (en) * | 2016-08-23 | 2018-02-27 | Texas Instruments Incorporated | Error correction hardware with fault detection |
KR20180086816A (ko) * | 2017-01-23 | 2018-08-01 | 에스케이하이닉스 주식회사 | 사전-검사된 에러율에 따른 적응형 에러정정을 수행하는 메모리장치 및 전자장치와, 메모리장치의 동작방법 |
JP6841698B2 (ja) * | 2017-03-21 | 2021-03-10 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
KR102131230B1 (ko) | 2018-11-26 | 2020-07-08 | 현대오트론 주식회사 | 파워트레인 제어기의 램 에러 감지 로직의 자가진단 방법 및 장치 |
KR102605633B1 (ko) * | 2019-02-13 | 2023-11-23 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작 방법 |
US11144391B2 (en) * | 2019-06-13 | 2021-10-12 | Nvidia Corporation | Techniques for generating symbol-preserving error correction codes |
-
2021
- 2021-09-29 CN CN202180048471.8A patent/CN116194994A/zh active Pending
- 2021-09-29 KR KR1020227044498A patent/KR20240067770A/ko active Search and Examination
- 2021-09-29 EP EP21786382.8A patent/EP4222746A1/en active Pending
- 2021-09-29 WO PCT/EP2021/076800 patent/WO2023051903A1/en active Application Filing
- 2021-09-29 US US18/018,211 patent/US20240013847A1/en active Pending
-
2022
- 2022-07-14 TW TW111126474A patent/TW202314503A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
KR20240067770A (ko) | 2024-05-17 |
EP4222746A1 (en) | 2023-08-09 |
WO2023051903A1 (en) | 2023-04-06 |
CN116194994A (zh) | 2023-05-30 |
US20240013847A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7797609B2 (en) | Apparatus and method for merging data blocks with error correction code protection | |
JP6050083B2 (ja) | 半導体装置 | |
KR102267860B1 (ko) | 결함 탐지를 가진 오류 정정 하드웨어 | |
CN107436821B (zh) | 为包括多个数据位和地址位的块生成错误码的装置和方法 | |
US8996953B2 (en) | Self monitoring and self repairing ECC | |
CN106803429B (zh) | 具有用于存储器的故障监测的电子设备及相关联的方法 | |
US11663095B2 (en) | Error detection circuit | |
US6823476B2 (en) | Mechanism to improve fault isolation and diagnosis in computers | |
US11069421B1 (en) | Circuitry for checking operation of error correction code (ECC) circuitry | |
JP2008176828A (ja) | エラー検出訂正回路のテスト回路およびテスト方法 | |
TW202314503A (zh) | 資料記憶體的自我診斷的電子電路及方法 | |
TW202246979A (zh) | 用於具有內建的錯誤校正和偵測的記憶體的錯誤率 | |
US11416332B2 (en) | Protection for ethernet physical layer | |
CN106716387B (zh) | 存储器诊断电路 | |
US9983926B2 (en) | Apparatus, system and method for protecting data | |
US20240202086A1 (en) | Circuits, systems, and methods for ecc fault detection | |
US11764807B2 (en) | Processing system, related integrated circuit, device and method | |
KR100802666B1 (ko) | 회로 장치 및 체크 방법 | |
KR20240092600A (ko) | Ecc 장애 검출을 위한 회로들, 시스템들, 및 방법들 | |
JPS62226353A (ja) | Ras回路付記憶装置 | |
JP2001331304A (ja) | サウンド入出力インタフェース装置 | |
JPH0346047A (ja) | 検査回路 | |
JPS60191350A (ja) | メモリ装置 | |
JPH04134537A (ja) | パリティ生成二重化回路 | |
JPH0414681A (ja) | データエラー検出回路の診断回路 |