專利名稱:檢錯糾錯電路及相應(yīng)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及根據(jù)權(quán)利要求1前序部分的一種檢錯糾錯電路以及根據(jù)
權(quán)利要求4前序部分的一種電子存儲部件或存儲模塊。
本發(fā)明還涉及一種檢測和/或校正至少一個數(shù)據(jù)字的至少一個錯誤
的方法,所述數(shù)據(jù)字包括
以至少一個信息位或者至少有效載荷數(shù)據(jù)位的形式存在的信息;以
及
以至少一個校驗位或至少一個冗余位的形式存在的冗余。 為了提高存儲塊的可靠性,經(jīng)常使用檢錯糾錯電路。為了保證在n
個有效載荷數(shù)據(jù)位中l(wèi)位錯誤的校正安全,不得不存儲附加的冗余位,
例如八(或十六)基準(zhǔn)位需要至少四(或五)個冗余位,即需要大約50
% (或31%)的附加存儲空間。
由于這種顯著超載,保持冗余位的數(shù)量盡可能小,這通常由有效載
荷數(shù)據(jù)的最小字長限定。無需進一步地增加冗余,多位檢錯糾錯僅可能
在極少數(shù)特殊的二進制數(shù)位組合中。
背景技術(shù):
在安全相關(guān)或安全關(guān)鍵應(yīng)用中,存儲器可靠讀取訪問的要求很高。 提高可信性的各種方案和/或可靠檢測可能攻擊的各種方案是例如現(xiàn)有 技術(shù)文件WO 2004/049349 A2中描述的沒有單元選擇的中間虛擬讀取訪 問,或者禁止物理數(shù)據(jù)的特殊編碼類型的使用,這樣所有位處于相同的 邏輯條件下。
在現(xiàn)有技術(shù)文件WO 2004/046927 Al中描述了特殊編碼類型的使用; 更為詳細(xì)的,在現(xiàn)有技術(shù)文件WO 2004/046927 Al中描述了一種電子存 儲部件或存儲模塊,其中禁止數(shù)據(jù)表達的某些狀態(tài),并且這些數(shù)據(jù)表達 狀態(tài)的出現(xiàn)被認(rèn)為是一種黑客攻擊。在極其敏感數(shù)據(jù)記錄的情況下,例如密鑰,冗余被進一步增加,例
如通過附加CRC (循環(huán)冗余校驗)或CRC校驗和,而數(shù)據(jù)通過應(yīng)用程序 進行驗證。然而,特別是在代碼執(zhí)行的情況下,這種步驟不適用。此外, 照例附加的校驗和也需要另外的存儲器。
在現(xiàn)有技術(shù)文章"Avoid corruption in nonvolatile memory"中 由Christopher Leddy給出了檢錯糾錯領(lǐng)域的概述,該文章可以在 http:〃www. embedded. com/showArticle. ,jhtml articleID=1310883中 找到。
在現(xiàn)有技術(shù)文件US 2005/0066354 Al中揭示了限制數(shù)據(jù)訪問電路。 然而,這個現(xiàn)有技術(shù)文件主要思想是發(fā)出這種存儲模塊地址區(qū)信號作為 特許區(qū)。
現(xiàn)有技術(shù)文件US 5623504涉及具有不同程度錯誤保護的數(shù)據(jù),但 數(shù)據(jù)被作為數(shù)據(jù)塊執(zhí)行。底層數(shù)據(jù)字寬通常是一樣的,即數(shù)據(jù)元具有統(tǒng) 一的字尺寸。數(shù)據(jù)塊被認(rèn)為是多維場。糾錯發(fā)生在這一包括不同強算法 的至少二維排列中,即在數(shù)據(jù)塊中的位置有較高糾錯也有較低糾錯。然 而,數(shù)據(jù)塊配置通常是維持著的。
更具體而言,在現(xiàn)有技術(shù)文件US 5623504中,有一種方法描述如
下
數(shù)據(jù)塊中具有統(tǒng)一大小的數(shù)據(jù)元在至少二維陣列上分區(qū)。該陣列接 受至少兩步(每維一步)附加冗余信息。
計算附加冗余信息,有效載荷數(shù)據(jù)與冗余數(shù)據(jù)的比例可以變化,例 如在現(xiàn)有技術(shù)文件US 5623504的圖1中,五列按8比4的比例編碼,八 列按10比2的比例編碼。只有每列的數(shù)據(jù)總數(shù)是固定的。
總而言之,現(xiàn)有技術(shù)文件US 5 623 504描述了一種逐塊編碼,在 若干個(至少兩個)連續(xù)步驟中執(zhí)行??勺儚姸鹊臋z錯糾錯僅涉及數(shù)據(jù) 塊中的某些位置。
此夕卜,可參考T. Ritthongpitak, M. Kitakami禾口 E. Fujiwara撰 寫的現(xiàn)有技術(shù)文章 "Optimal Two-Level Unequal Error Control codes for Computer Systems" , IEEE FTCS-26會議,1996, 0731 — 3071/96, 涉及在特定位置具有不同級別錯誤保護的數(shù)據(jù)塊??紤]到該現(xiàn)有技術(shù)文章中的討論,可參考上述現(xiàn)有技術(shù)文件us
5623504討論中提出的論據(jù)。
發(fā)明內(nèi)容
從上述不足和缺點入手同時考慮討論的現(xiàn)有技術(shù),本發(fā)明的一個目 的就是要進一步開發(fā)技術(shù)領(lǐng)域中描述的這種檢錯糾錯電路,技術(shù)領(lǐng)域中 描述的這種存儲部件或存儲模塊,以及技術(shù)領(lǐng)域中描述的這種方法,在 這種方式下優(yōu)化了補充各個數(shù)據(jù)字的一個或多個校驗位或冗余位的個 數(shù),具體地用于基于應(yīng)用要求,以優(yōu)化的方式使用至少一個物理存儲空 間。
本發(fā)明的目的通過包括權(quán)利要求1中特征的檢錯糾錯電路,參考權(quán) 利要求4特征的電子存儲部件或存儲模塊以及包括權(quán)利要求7特征的方 法實現(xiàn)。本發(fā)明有利的實施例以及適宜的改進在各自獨立的權(quán)利要求中 揭不。
正如在上面"背景及現(xiàn)有技術(shù)" 一章中提及的那樣,為了保證數(shù)據(jù) 機密性必須用冗余存儲。因此,在許多示例中,傳統(tǒng)的存儲部件或傳統(tǒng) 的存儲模塊,特別是傳統(tǒng)的存儲塊,都已經(jīng)配備了檢錯糾錯電路,同樣 使用冗余數(shù)據(jù)存儲,例如出于壽命原因。
一個穩(wěn)定選擇的檢錯糾錯類型要求一定數(shù)量的附加存儲空間,其大 小取決于有效載荷數(shù)據(jù)或一個或多個信息位的字長或字號。本發(fā)明基于 執(zhí)行至少兩個檢錯糾錯方案的思想。
根據(jù)本發(fā)明的優(yōu)選實施例,兩種檢錯糾錯方案都設(shè)計為 在至少一個寫入操作期間執(zhí)行冗余計算,具體地,以一個或更多校
驗位、或者一個或更多冗余位補充至通過各個數(shù)據(jù)路徑傳輸?shù)母鱾€數(shù)據(jù)
字;和/或
在至少一個讀取操作期間(在本文中,信種字元(syndrome word) 允許在錯誤數(shù)據(jù)位上的結(jié)論,因此用于冗余數(shù)據(jù)位的檢錯糾錯)執(zhí)行檢 錯,具體地用于計算至少一個信種字元,和/或執(zhí)行糾錯,具體地用于糾 正通過各個數(shù)據(jù)路徑傳輸?shù)母鱾€數(shù)據(jù)字。
此外,根據(jù)本發(fā)明的優(yōu)選實施例,各個數(shù)據(jù)字的字長或字尺寸可以具體地可變地地選擇,例如基于各個數(shù)據(jù)字的應(yīng)用。如果特定示例中的 最小字長或字尺寸沒有要求,各個數(shù)據(jù)字的字長或字尺寸利于增加。
因此,例如與通過第一數(shù)據(jù)路徑傳輸?shù)囊粋€或多個數(shù)據(jù)字相比,通 過第二數(shù)據(jù)路徑傳輸?shù)囊粋€或多個數(shù)據(jù)字可以具有不同的,特別是增加 的字長或字尺寸。
當(dāng)大概并行地傳輸和/或大概同時傳輸時,通過第二數(shù)據(jù)路徑傳輸 的一個或多個數(shù)據(jù)字可以與通過第一數(shù)據(jù)路徑傳輸?shù)囊粋€或多個數(shù)據(jù)字 相關(guān)。
通過增加字長或字尺寸,可實現(xiàn)例如多位檢錯/識別,因為隨著字 長或字尺寸的增加,附加相對存儲要求變小。
例如,如果信息數(shù)據(jù)或者有效載荷數(shù)據(jù)的字長或字尺寸從8位增加
到16位,則兩個8 + 4位物理字可以總結(jié)為一個16 + 8位字。由于對于 1位糾正,不論是16位還是19位信息位或有效載荷數(shù)據(jù)位僅需要5個 冗余位,因此,有效地節(jié)省了三個附加數(shù)據(jù)位。
這一附加信息,即示例中這三個附加位可方便的用于
系統(tǒng)目的,諸如標(biāo)記,例如系統(tǒng)標(biāo)志,或者
增加冗余(通過啟動一個或多個附加校驗位或冗余位),以及由此 增加數(shù)據(jù)完整性。
根據(jù)本發(fā)明經(jīng)過電子存儲部件或存儲模塊處理的每一個數(shù)據(jù)元包 括至少兩個數(shù)據(jù)字,其中每個數(shù)據(jù)字被指派到至少一個存儲區(qū)域,上述 存儲區(qū)域特別指派到至少一個地址范圍。
兩種不同檢錯糾錯方案的使用,特別是兩種不同檢錯糾錯類型,包 括至少一個存儲部件或存儲模塊,特別是包括至少一個存儲單元,如果 需要,可以使用在不同地址范圍內(nèi)不同的字長或字尺寸以及不同安全等 級。
因此,例如程序編碼和密鑰的存儲區(qū)可以設(shè)置高冗余,而"更標(biāo) 準(zhǔn)"的數(shù)據(jù)區(qū)可以以更小的字長或者更小的字尺寸使用。分別使用的不 同存儲區(qū)和/或檢錯糾錯方案的限定可以方便地、穩(wěn)定地設(shè)定。
此外,分別使用的不同存儲區(qū)和/或檢錯糾錯方案的限定可以在應(yīng) 用中不定地指派。然而,根據(jù)本發(fā)明的有利實施例,保證了至少-一個讀取訪問在讀取操作中進行,具有與寫入操作中相同的檢錯糾錯類型。
由于本發(fā)明基于檢錯糾錯需要在讀取操作和寫入操作中使用數(shù)據(jù) 的最小單元水平上的冗余,例如字節(jié)的事實,對于特定存儲區(qū)(地址范 圍)使用較大最小單元,如本發(fā)明優(yōu)選實施例提出的那樣,允許在不增 加物理存儲大小的情況下增加包含信息的位的冗余或者個數(shù)。
'因此,利用本發(fā)明優(yōu)選實施例提供的合適的或可配置的檢錯糾錯方 案,物理存儲可以根據(jù)應(yīng)用的需要以最優(yōu)化方式使用小的和/或大的存 儲單元可用于"標(biāo)準(zhǔn)"數(shù)據(jù)和"擴展"數(shù)據(jù)。
為了較高安全性和機密性可以使用擴展,例如在安全智能卡控制器 中啟動編碼執(zhí)行,以及為了諸如系統(tǒng)標(biāo)志之類的附加信息的存儲。
與傳統(tǒng)方案不同,附加虛擬讀取訪問以及附加存儲CRC (循環(huán)冗余 校驗)和的選取需要一個完整的讀取訪問并且有效地增加了平均訪問時 間,利用本發(fā)明的優(yōu)選實施例,被按照例如可配置的檢錯糾錯電路布置 執(zhí)行,存儲部件或存儲模塊,特別是存儲單元的訪問時間不受影響。
本發(fā)明優(yōu)選實施例的關(guān)鍵特征是同時性,該特性具有優(yōu)勢即使暫 時解決的攻擊也可以被可靠地檢測出來。與之相比,由于虛擬讀取的時 間偏移量,只要實際的或真實的讀取訪問被擾亂,暫時解決的攻擊不能 被傳統(tǒng)方案可靠地檢測出來。
除了這一點,本發(fā)明的優(yōu)選實施例包括針對若干位攻擊的較高靈敏 度。與之相比,通過定義的傳統(tǒng)編碼類型僅能識別操縱整個數(shù)據(jù)字的攻 擊,所述傳統(tǒng)編碼類型在整個數(shù)據(jù)字中禁止物理相同位。
此外,本發(fā)明的訓(xùn)導(dǎo)具有優(yōu)勢,即其執(zhí)行和/或應(yīng)用不需要諸如CRC (循環(huán)冗余校驗)和之類的附加存儲。
最后,本發(fā)明包括優(yōu)勢特征,即其可以與傳統(tǒng)方案結(jié)合,例如
與增加安全相關(guān)或安全關(guān)鍵數(shù)據(jù)可信性的方案,和/或
與可靠檢測可能性攻擊的方案。
本發(fā)明與傳統(tǒng)方案的結(jié)合相當(dāng)有意義。
信令不同地址區(qū)域的程序(如在現(xiàn)有技術(shù)文件US 2005/0066354 Al;"參見上面"背景及現(xiàn)有技術(shù)" 一章)可便于與本發(fā)明結(jié)合以決定 存儲訪問在哪個區(qū)域進行。然而,與現(xiàn)有技術(shù)文件US 2005/0066354 Al關(guān)注于信令不同地址 區(qū)域相比,本發(fā)明關(guān)注的是數(shù)據(jù)編碼。本發(fā)明的一個典型應(yīng)用是在存儲 器不同范圍內(nèi)使用不同的檢錯糾錯。
根據(jù)本發(fā)明優(yōu)選實施例(且與上文"背景及現(xiàn)有技術(shù)" 一章中引用 的現(xiàn)有技術(shù)文件US 5 623 504對比),數(shù)據(jù)字的局部長度或局部大小可 以能變地選擇,例如基于引用和/或基于存儲區(qū)域,然而存儲器數(shù)據(jù)字的 物理寬度則穩(wěn)定地由是否總結(jié)若干物理字給出。
例如,12個物理位
大約8個可用位,具體地用于信息位或有效載荷數(shù)據(jù)位,以及 大約4個校驗位或冗余位 可以實現(xiàn),允許1位糾錯。
通過增加字長或字尺寸,具體地通過總結(jié)兩個物理字以及調(diào)整檢錯 糾錯方案,也就是通過使用第二檢錯糾錯方案,可以使用24位(示例)
或者為了增加冗余(對于16位可用位的1位糾錯,通常僅需要5 個冗余位)
或者為了增加一個或多個信息位或有效載荷數(shù)據(jù)位的數(shù)量 (在本例中,例如19個信息位或有效載荷數(shù)據(jù)位加5個校驗位或 冗余位)。
本發(fā)明優(yōu)選實施例涉及一種簡單的、 一維糾錯,其后不需執(zhí)行若干 步驟。
本發(fā)明優(yōu)選實施例的主旨是根據(jù)本發(fā)明保護最小單元在系統(tǒng)中可 以實際使用,具體地是最小單元在上述電子存儲模塊或存儲部件中可以 實際使用。這種最小單元可以是8位字或16位字。
根據(jù)本發(fā)明該實施例,存儲器校驗位或冗余位所需數(shù)量(在本例中 是4個附加位)源于可以實際使用的最小單元(示例中為8位)。
當(dāng)較大單元(例如16位單元)可以在至少一個這種存儲區(qū)域被選 作最小單元(或者在該應(yīng)用的整個存儲器中可用一一沒有根本的限制, 只是在應(yīng)用集邊界內(nèi)管理),由此產(chǎn)生的在存儲器中物理可用的附加冗余 位可以用作不同的目的,例如
為了增加冗余,繼而檢錯糾錯的可能性,禾B/或為了存儲上述的附加信息。
與之相比,現(xiàn)有技術(shù)文件US 5 623 504涉及具有固定配置的數(shù)據(jù) 塊的保護。
總而言之,本發(fā)明可以應(yīng)用于諸如芯片卡或智能卡之類的集成電
路。芯片卡或智能卡包括不同的存儲區(qū)域,例如
隨機存取存儲器(所謂的RAM), 只讀存儲器(所謂的ROM), 電可擦除可編程只讀存儲器(所謂的EEPROM), 閃速存儲器等。
在諸如銀卡之類的安全相關(guān)或安全關(guān)鍵的具體應(yīng)用中,EEPR0M或閃 速存儲器的存儲類型通常不適用于編碼的存儲,因為不能保證足夠的數(shù) 據(jù)完整性。在成品中可行程序碼實現(xiàn)的優(yōu)勢消失了,因為當(dāng)使用傳統(tǒng)存 儲類型時,程序碼僅能在ROM中記錄。
本發(fā)明增加冗余的選項,可以任意地與一個或多個檢錯糾錯方案結(jié) 合,保證了提高一維中的數(shù)據(jù)安全,相當(dāng)于ROM中的數(shù)據(jù)安全。
如果允許(例如通過軟件)不同數(shù)據(jù)字的明確區(qū)分,具體的具有不 同安全需要或安全要求的數(shù)據(jù)字,諸如程序碼、編碼區(qū)域或密鑰以及"標(biāo) 準(zhǔn)"數(shù)據(jù)字或"標(biāo)準(zhǔn)"數(shù)據(jù)區(qū)域,則沒有較小字長或沒有在"標(biāo)準(zhǔn)"數(shù) 據(jù)字或數(shù)據(jù)區(qū)域中的較小字尺寸的情況下不能提高數(shù)據(jù)的安全性。
因此,本發(fā)明優(yōu)選實施例通過執(zhí)行至少兩種檢錯糾錯方案提供了多 水平檢錯糾錯,具體地通過執(zhí)行
具體的為標(biāo)準(zhǔn)的第--檢錯糾錯方案,
以及
具體的為擴展的第二檢錯糾錯方案。
尤其如果存儲部件或存儲模塊,例如存儲單元的應(yīng)用實際不需要小 字長或字尺寸,則由于兼容性提供小字長或字尺寸的存儲單元或存儲模 塊,例如存儲單元可以得益于上述增加的字長或字尺寸。
根據(jù)本發(fā)明優(yōu)選實施例,至少提供一種可配置檢錯糾錯電路; 為了從至少一個存儲塊或存儲模塊中執(zhí)行至少一個安全相關(guān)數(shù)據(jù) 字,具體用于執(zhí)行安全編碼和/或用于存儲附加信息。
本發(fā)明最后涉及至少一種上述檢錯糾錯電路、禾n/或至少一種上述
存儲部件或存儲模塊、和/或上述處理至少一種安全相關(guān)或安全關(guān)鍵應(yīng)用 方法的使用,具體的在至少一種芯片卡或智能卡中,例如在至少一種嵌 入式安全控制器。
因此,本發(fā)明優(yōu)選實施例涉及安全相關(guān)或安全關(guān)鍵應(yīng)用領(lǐng)域,其中 存儲部件或存儲模塊的,具體的是存儲塊,數(shù)據(jù)讀取可靠性非常關(guān)鍵。
本發(fā)明具體可以用于編碼的執(zhí)行,其中要求能夠檢測試圖控制讀取 操作的攻擊。.
如上所述,有多種選擇可以以一種有利的方式實現(xiàn)同時改進本發(fā)明 的訓(xùn)導(dǎo)。為了該目的,可參考分別基于權(quán)利要求l、 4或7所述的權(quán)利要 求。下面將結(jié)合附圖,參考兩個優(yōu)選實施例中的示例,對本發(fā)明的進一 步改進、特征和優(yōu)勢進行描述。
圖1A示出了在編程或者寫入操作時所包含的、根據(jù)本發(fā)明的檢錯 糾錯電路的第一實施例的一部分的示意性方框圖1B示出了在讀取操作時所包含的、根據(jù)本發(fā)明的檢錯糾錯電路 的第一實施例的一部分的示意性方框圖2A示出了在編程或?qū)懭氩僮鲿r所包含的、根據(jù)本發(fā)明檢錯糾錯 電路的第二實施例中的一部分的示意性方框圖2B示出了在讀取操作時所包含的、根據(jù)本發(fā)明檢錯糾錯電路的 第二實施例中的一 部分的示意性方框圖。
具體實施例方式
圖1A至圖2B中相應(yīng)的部分使用相同的參考數(shù)字。 為了避免不必要的重復(fù),關(guān)于實施例的下列描述,本發(fā)明的特征和
優(yōu)勢涉及(除非另作說明)
根據(jù)本發(fā)明電子存儲部件或存儲模塊200的第一實施例,包括根據(jù)
本發(fā)明(參考圖1A、圖1B)檢錯糾錯電路排列100的第一實施例,以及根據(jù)本發(fā)明電子存儲部件或存儲模塊200'的第二實施例,包括根據(jù)
本發(fā)明(參考圖2A、圖2B)檢錯糾錯電路排列100'第二實施例, 所有實施例200、 100或200'、 100'都依從于本發(fā)明的方法。 電子存儲部件或存儲模塊200的第一實施例,包括檢錯糾錯電路排
列100的第一實施例(參考圖1A、圖1B),以及電子存儲部件或存儲模
塊200'的第二實施例,包括檢錯糾錯電路排列100'的第二實施例(參考
圖2A、圖2B)可以通過理想配置實現(xiàn)。
然而,圖1A和圖1B描述了本發(fā)明應(yīng)用的第一實施例,即增加冗余,
而圖2A和圖2B描述了本發(fā)明應(yīng)用的第二實施例,即增加信息。因此,
下面將通過兩種優(yōu)選實施例詳細(xì)描述如何建立及使用本發(fā)明。
為了保證兩種不同檢測/糾正類型,根據(jù)本發(fā)明的檢錯糾錯電路100
或100'包括指派給兩個對應(yīng)獨立數(shù)據(jù)路徑30、 40或30'、 40'的兩個處理
模塊10、 20或10'、 20'。
第一處理模塊10或10'更明確地指派給第一數(shù)據(jù)路徑30或30', 第一處理模塊10或10'的第一處理部分10a或10a'指派給第一數(shù)據(jù)
路徑30或30'的第一部分30a或30a',以及
第二處理部分10b或10b'指派給第二數(shù)據(jù)路徑40或40'。 第二處理模塊20或20'指派給第二數(shù)據(jù)路徑40或40'。 存儲部件或存儲模塊200或200'還包括數(shù)據(jù)總線和多路模塊或多路
單元(一參見數(shù)字多路開關(guān))作為第一處理模塊10或10'、第二處理模
塊20或20'與數(shù)據(jù)總線的互聯(lián)。
更為明確地,多路單元開關(guān)提供數(shù)據(jù)總線
第一數(shù)據(jù)路徑30或30'的輸出信號32或32',和/或
第二數(shù)據(jù)路徑40或40'的輸出信號42或42',
依靠校驗信號或監(jiān)測信號,即依靠模式控制信號(一參見數(shù)字mc)。
存儲部件或存儲模塊200或200'可以設(shè)定成
EPROM (可擦除可編程只讀存儲器)單元,
EEPROM (電可擦可編程只讀存儲器)單元;
閃速存儲器單元,
ROM (只讀存儲器)單元,或者RAM (隨機存取存儲器)單元。
每個處理模塊IO、 20或10, 、 20'可方便地
作為帶有至少一個ECC (糾錯編碼)的ECC (糾錯電路)執(zhí)行,以
及
包括
至少一個第一電路部分,為了校驗位或冗余位的計算,同時 至少一個第二電路部分,為了 1位糾錯和/或為了多位錯誤監(jiān)測, 如果可用。
基于配置和/或基于存儲地址,模式控制信號mc限定了在寫入操作
和讀取操作中使用哪種檢錯糾錯。
由至少一個處理模塊10、 20或10'、 20'處理的數(shù)據(jù)字增加的字長或 增加的字尺寸保證了增加各自數(shù)據(jù)字的信息和/或冗余。
因此,基于檢錯糾錯電路100或100'的結(jié)構(gòu),為了字長或字尺寸的 增加,所需附加的一個或多個位是有效的,以存儲附加信息和/或冗余增 加。
如果例如第一處理模塊10或10'使用8 + 4位編碼,則兩個數(shù)據(jù)字 的串聯(lián)一方面允許帶有高冗余的16 + 8位數(shù)據(jù),另一方面允許應(yīng)用有效 的帶有三個附加數(shù)據(jù)位的19 + 5位編碼;同樣,如果檢錯糾錯電路IOO 或100'相應(yīng)地設(shè)計,17 + 7位或18 + 6位編碼也是可以的。
圖1A和圖1B涉及本發(fā)明第一示例應(yīng)用,即冗余增加。
圖1A所述的示例使用8 + 4位編碼,其中
處理模塊10的第一處理部分10a由8位入口 Da提供,以及
處理模塊10的第二處理部分10b由8位入口 Db提供。
因此,圖1A和圖1B所述實施例源于存儲區(qū)域,該區(qū)域使用8位信 息數(shù)據(jù)或有效載荷數(shù)據(jù),從而每個數(shù)據(jù)字或每個字節(jié)存儲了 12個物理 位。擴展數(shù)據(jù)字通過結(jié)合每兩個數(shù)據(jù)字形成,因此在第一數(shù)據(jù)路徑32(參 見圖1A)中可以得到24個物理位。
第一處理模塊10或10'使用8 + 4位漢明碼(Ha腿ing code)。根本 地,漢明碼是一種檢錯糾錯編碼,在這種編碼中字符與字符之間不同的 位結(jié)構(gòu)十分明顯,為了在錯誤數(shù)據(jù)傳輸中最大化字符完整糾正的可能性。使用若干奇偶檢驗獲得校驗定位的漢明碼,可以根本地建立編碼以 糾正多于一個錯誤。在漢明碼中,僅補充了編碼字或數(shù)據(jù)字中的部分信 息定位以給出偶數(shù)奇偶校驗。
第二處理模塊20或20'使用漢明距離盡可能長的16 + 8位漢明碼(參 見圖1B中的數(shù)據(jù)路徑40),其中漢明距離是以位統(tǒng)計,不同于對比的2
位類型。
更為通常地,如果比較兩個編碼字或數(shù)據(jù)字的有序表,漢明距離是 字?jǐn)?shù),且并不一致。因此編碼的漢明距離是一種為了編碼冗余的措施, 從而為了編碼識別或者甚至糾錯的能力。
圖1A和圖1B所述的存儲部件或存儲模塊200設(shè)計用于寫入和/或 讀取每一對相關(guān)的并行數(shù)據(jù)字,以實現(xiàn)擴展模式。存儲部件或者存儲模 塊200也可以設(shè)計用于連續(xù)寫入和/或連續(xù)讀取,因為可以執(zhí)行用于緩沖 數(shù)據(jù)的附加方案。
第二處理模塊20執(zhí)行第二檢錯糾錯方案,即加強檢錯糾錯方案。 圖1A詳細(xì)描述了在寫入操作中加強檢錯糾錯方案的16 + 8編碼
帶有最小值〈o〉的地址位區(qū)分兩個各自聯(lián)系字節(jié)或數(shù)據(jù)字。
兩個8位字節(jié)在寫入操作中通過兩種處理模塊10和20利用一個或 多個校驗位或冗余位得到擴展(參見圖1A),其中第一處理模塊10加倍 出現(xiàn)(一參見數(shù)字10a和10b)。
第一處理部分10a和第二處理部分10b每個都根據(jù)對于數(shù)據(jù)字節(jié)Da 和Db利用8 + 4漢明編碼計算四個校驗位或冗余位。
替代地,第二處理模塊20根據(jù)16 + 8位編碼計算8個校驗位或冗 余位。因此,圖1A描述了第一處理部分10a和第二處理部分10b的冗余 計算以及第二處理模塊20的冗余計算。
基于選擇編碼模式,因此基于模式控制信號mc, 一個2X24位多路 開關(guān)連接兩個12位字節(jié)(參見第一數(shù)據(jù)路徑30的輸出信號32)或者24 位字(參見第二數(shù)據(jù)路徑40的輸出信號42)至存儲塊200數(shù)據(jù)總線。 如果一旦逐字節(jié)編碼僅有單個字節(jié)寫入,則其他字節(jié)將被存儲塊200忽 略。
多路開關(guān)輸出檢錯糾錯電路100的24位出口 Dz。該24位出口 Dz用于電子存儲部件或電子存儲模塊200的數(shù)據(jù)輸入。
在圖IB中,詳細(xì)描述了讀取操作中包括16 + 8位編碼的加強檢錯
糾錯方案。
在讀取操作中,在與電子存儲部件或電子存儲模塊200連接后,檢 錯糾錯電路100用于24位入口 Do。
因此,在讀取操作中,利用第一處理部分10a和第二處理部分10b 估計、糾正2X12位(參見圖lB中的數(shù)據(jù)路徑30a和30b),該位與所 屬位一起由存儲塊200讀取。也就是
8個數(shù)據(jù)位中奇偶位的更新計算,
通過比較己計算、存儲的4位奇偶生成信種字元信種字元,以及 如果需要,進行錯誤位的適當(dāng)糾正。
此外,通過擴展檢錯糾錯方案估計24讀取位(參見圖1B中的數(shù)據(jù) 路徑),也就是進行8位奇偶以及相應(yīng)信種字元的計算。
信種字元的25個值對應(yīng)"無錯誤"狀態(tài)或"1位錯誤"狀態(tài),在后 者中將相應(yīng)地糾錯。所有剩余231信種字元作為無效數(shù)據(jù)的參考,且由 - 一組狀態(tài)位DS表示。
從而,圖1B描述了第一處理模塊10的第一處理部分10a、第一處 理模塊10的第二處理部分10b以及第二處理模塊20的信種字元計算和 數(shù)據(jù)糾正。
校驗信號mc決定逐字節(jié)糾正或逐字糾正結(jié)果是否作為有效原始資 料或者有效數(shù)據(jù)提供;多路開關(guān)使相應(yīng)的數(shù)據(jù)通過。
讀取操作處理后,形成檢錯糾錯電路100的三個出口 Dx、 Dy和Ds。 更為具體地,提供第一 8位出口 Dx,第二 8位出口 Dy以及狀態(tài)信息信 號Ds。
在本文中,狀態(tài)信息信號Ds包括增加冗余專用的關(guān)于擴展模式讀 取操作的數(shù)據(jù)完整性信息,例如表示是否可以用不變的形式讀取數(shù)據(jù)的 狀態(tài)信號不得不被糾正,可以被糾正,或者無法改正地錯誤。
圖2A和圖2B涉及本發(fā)明第二示例應(yīng)用,即附加信息存儲,例如狀態(tài)位。
圖2A詳細(xì)描述了加強檢錯糾錯方案19 + 5編碼專用的寫入操作圖2A類推圖1A示出了存儲附加信息程序;在第一應(yīng)用(參見圖1A
和圖IB)中一樣,第一處理模塊10'的第一處理部分10a'和第一處理模 塊10'的第二處理部分10b'分別計算4個校驗位或者冗余位得出數(shù)據(jù)字節(jié) Da和Db。
擴展模式的第二處理模塊20'計算出傳輸數(shù)據(jù)字節(jié)Da和Db以及附 加3位數(shù)據(jù)Dc的5個冗余位(參見圖2A的數(shù)據(jù)路徑40')。 多路開關(guān)如上所述運行。
圖2B詳細(xì)描述了加強檢錯糾錯方案19 + 5編碼專用的讀取操作
讀取操作實際與第一應(yīng)用(參見圖1A和圖1B)相同,本例中第二 處理模塊20'僅計算一個5位奇偶以及相應(yīng)的5位信種字元。
作為交換,第二處理模塊20'在出口提供19個信息位或者有效載荷 數(shù)據(jù)位(參見圖2B中第二數(shù)據(jù)路徑40'的輸出信號42');在這19個信息 位或者有效載荷數(shù)據(jù)位中,2X8個位作為"標(biāo)準(zhǔn)"數(shù)據(jù)獲得,3個位作 為附加信息獲得。
在讀取操作處理后,形成檢錯糾錯電路100'的三個出口 Dx、 Dy和 Df。更為具體地,提供第一8位出口Dx,第二8位出口 Dy以及3位出 口 Df 。3位出口 Df指派給帶有附加信息存儲的擴展模式而取代冗余增加。
參考數(shù)字列表
100檢錯糾錯電路(第一實施例,參考圖1A和圖1B) 100'檢錯糾錯電路(第二實施例,參考圖2A和圖2B) 10檢錯糾錯電路100的第一處理模塊(第一實施例,參考圖1A 和圖1B)
10a第一處理模塊10的第一處理部分,執(zhí)行冗余計算(寫入操作) 和/或執(zhí)行信種字元計算和數(shù)據(jù)糾正(讀取操作)
10b第一處理模塊10的第二處理部分,執(zhí)行冗余計算(寫入操作)
和/或執(zhí)行信種字元計算和數(shù)據(jù)糾正(讀取操作)
10'檢錯糾錯電路100'的第一處理模塊(第二實施例,參考圖2A 和圖2B)
10a'第一處理模塊IO,的第一處理部分,執(zhí)行冗余計算(寫入操作)和/或執(zhí)行信種字元計算和數(shù)據(jù)糾正(讀取操作)
10b'第一處理模塊IO,的第二處理部分,執(zhí)行冗余計算(寫入操 作)和/或執(zhí)行信種字元計算和數(shù)據(jù)糾正(讀取操作)
20檢錯糾錯電路100的第二處理模塊,執(zhí)行冗余計算(寫入操作) 和/或執(zhí)行信種字元計算和數(shù)據(jù)糾正(讀取操作)(第一實施例,參考圖
1A和圖1B)
20'檢錯糾錯電路100,的第二處理模塊,執(zhí)行冗余計算(寫入操 作)禾口/或執(zhí)行信種字元計算和數(shù)據(jù)糾正(讀取操作)(第二實施例,參 考圖2A和圖2B)
30指派給第一處理模塊10的第一數(shù)據(jù)路徑(第一實施例,參考 圖1A和圖1B)
30'指派給第一處理模塊10'的第一數(shù)據(jù)路徑(第二實施例,參考 圖2A和圖2B)
30a第一數(shù)據(jù)路徑30的第一部分,指派給第一處理部分10a 30a'第一數(shù)據(jù)路徑30'的第一部分,指派給第一處理部分10a' 30b第一數(shù)據(jù)路徑30的第二部分,指派給第二處理部分10b 30b'第一數(shù)據(jù)路徑30'的第二部分,指派給第二處理部分10b' 32第一數(shù)據(jù)路徑30的輸出信號(第一實施例,參考圖1A和圖1B) 32'第一數(shù)據(jù)路徑30'的輸出信號(第二實施例,參考圖2A和圖
2B)
40指派給第二處理模塊20的第二數(shù)據(jù)路徑(第一實施例,參考 圖1A和圖1B)
40'指派給第二處理模塊20'的第二數(shù)據(jù)路徑(第二實施例,參考 圖2A和圖2B)
42第二數(shù)據(jù)路徑40的輸出信號(第一實施例,參考圖1A和圖1B) 32'第二數(shù)據(jù)路徑40'的輸出信號(第二實施例,參考圖2A和圖
2B)
200電子存儲部件或電子存儲模塊,具體用于電子存儲塊或電子 存儲單元(第一實施例,參考圖1A和圖1B)
200'電子存儲部件或電子存儲模塊,具體用于電子存儲塊或電子存儲單元(第二實施例,參考圖2A和圖2B)
Da檢錯糾錯電路100、 100'的8位入口,寫入操作中指派給第一 數(shù)據(jù)路徑30、 30'的第一部分30a、 30a'(字節(jié)A)
Db檢錯糾錯電路100'的8位入口,寫入操作中指派給第一數(shù)據(jù)路 徑30、 30'的第二部分30b、 30b'(字節(jié)B)
Dc檢錯糾錯電路100、 100'的3位入口,在存儲器操作中利用附 加信息存儲代替冗余增加指派給第二數(shù)據(jù)路徑40'
Df檢錯糾錯電路100'的3位出口,在擴展模式的讀取操作中利用 附加信息存儲代替冗余增加(第二實施例,參考圖2A和圖2B)
Do檢錯糾錯電路IOO、 100'的24位入口,在讀取操作中與電子存 儲部件或電子存儲模塊200、 200'的數(shù)據(jù)輸出相連
Ds在擴展模式冗余增加的讀取操作中關(guān)于數(shù)據(jù)完整性的狀態(tài)信 息,例如狀態(tài)信號,表明數(shù)據(jù)是否可以被不變地讀取,不得不被糾正, 可以被糾正或者無法改正地錯誤
Dx讀取操作中檢錯糾錯電路100、 100'的第一8位出口 (字節(jié)A)
Dy讀取操作中檢錯糾錯電路IOO、 100'的第二8位出口 (字節(jié)B)
Dz檢錯糾錯電路IOO、 100'的24位出口,與電子存儲部件或電子 存儲模塊200、 200'的數(shù)據(jù)輸入相連
mc糾錯模式選擇的校驗信號,具體的模式控制信號(標(biāo)準(zhǔn)操作或 擴展操作)
mux多路模塊或多路單元
權(quán)利要求
1.一種檢錯糾錯電路(100,100’),用于檢測和/或校正至少一個數(shù)據(jù)字的至少一個錯誤,所述數(shù)據(jù)字包括以至少一個信息位或者至少一個有效載荷數(shù)據(jù)位形式存在的信息;以及以至少一個校驗位或者至少一個冗余位形式存在的冗余;所述檢錯糾錯電路(100,100’)包括至少一個第一處理模塊(10,10’)指派給至少一個第一數(shù)據(jù)路徑(30,30’),以及設(shè)計用于執(zhí)行至少一個第一檢錯糾錯方案,其特征在于至少一個第二處理模塊(20,20’),指派給至少一個第二數(shù)據(jù)路徑(40,40’),設(shè)計用于執(zhí)行至少一個第二檢錯糾錯方案,以及設(shè)計用于增加通過所述第二數(shù)據(jù)路徑(40,40’)傳輸?shù)母鱾€數(shù)據(jù)字的信息和/或冗余,具體為用于增加一個或多個信息位或者一個或多個有效載荷數(shù)據(jù)位的個數(shù);和/或用于增加一個或多個校驗位或者一個或多個冗余位的個數(shù)。
2. 根據(jù)權(quán)利要求1所述檢錯糾錯電路,其特征在于所述第一處理 模塊(10, 10')具體為至少一個第一處理部分(10a, 10a'),指派給第一數(shù)據(jù)路徑(30, 30')的至少一個第一部分(30a或30a');以及至少一個第二處理部分(10b, 10b'),指派給第一數(shù)據(jù)路徑(30, 30')的至少一個第二部分(30b或30b');以及所述第二處理模塊(20, 20')設(shè)計用于在至少一個寫入操作期間,執(zhí)行冗余計算,具體地,以.個或多個 校驗位或者一個或多個冗余位補充至通過各個數(shù)據(jù)路徑(30a、 30b、 40, 30a'、 30b'、 40')傳輸?shù)母鱾€數(shù)據(jù)字;和/或在至少一個讀取操作期間,執(zhí)行檢錯,具體地,計算至少一個信種字元;和/或執(zhí)行糾錯,具體地,校正通過各個數(shù)據(jù)路徑(30a、 30b、 40, 30a'、 30b'、 40')傳輸?shù)母鱾€數(shù)據(jù)字。
3. 根據(jù)權(quán)利要求1或2所述的檢錯糾錯電路,其特征在于通過第 二數(shù)據(jù)路徑(40, 40')傳輸?shù)乃鲆粋€或多個數(shù)據(jù)字可以具有與通過第 一數(shù)據(jù)路徑(30a、 30b, 30a'、 30b')傳輸?shù)囊粋€或多個數(shù)據(jù)字相比、不 同的字長或字尺寸,具體地是增加的字長或字尺寸,具體地當(dāng)大致并行 地和/或大致同時地傳輸時,通過第二數(shù)據(jù)路徑(40, 40')傳輸?shù)囊粋€ 或多個數(shù)據(jù)字可以與通過第一數(shù)據(jù)路徑(30a、 30b, 30a'、 30b')傳輸?shù)?一個或多個數(shù)據(jù)字相關(guān)。
4. 一種用于處理至少一個數(shù)據(jù)元素的電子存儲部件或存儲模塊 (200, 200'),所述數(shù)據(jù)元素包括至少兩個數(shù)據(jù)字,其中每個數(shù)據(jù)字被指派給至少一個存儲區(qū)域,所述存儲區(qū)域具體指派給至少一個地址范圍, 其特征在于根據(jù)權(quán)利要求1至3中至少一個權(quán)利要求的至少一個檢錯糾錯電路 (100, 100'),用于實現(xiàn)針對各個存儲區(qū)域的合適字長或字尺寸的選擇, 具體地,合適字長
5. 根據(jù)權(quán)利要求4所述的存儲部件或存儲模塊,其特征在于指派 用于并行地或串行地執(zhí)行第一處理模塊(10, 10')和第二處理模塊(20, 20')的至少一個寫入操作和/或至少一個讀取操作。
6. 根據(jù)權(quán)利要求4或5所述的存儲部件或存儲模塊,其特征在于 至少一條數(shù)據(jù)總線;至少一個多路復(fù)用模塊或多路復(fù)用單元(mux),用于將第一處理模 塊(10, 10')和第二處理模塊(20, 20')與所述數(shù)據(jù)總線互聯(lián),具體地 用于依賴于至少一個信號(mc),具體地,依賴于至少一個模式控制信號, 向所述數(shù)據(jù)總線提供第一數(shù)據(jù)路徑(30, 30')的至少一個輸出信號(32, 32');禾口/或第二數(shù)據(jù)路徑(40, 40')的至少一個輸出信號(42, 42'); 禾口/或所述存儲部件或存儲模塊(200, 200')被配置為至少一個可擦除可編程只讀存儲器EPR0M單元;至少一個電可擦除可編程只讀存儲器EEPR0M單元;至少一個閃速存儲器;至少一個只讀存儲器ROM;或者至少一個隨機存取存儲器RAM。
7. —種方法,用于檢測和/或糾正至少一個數(shù)據(jù)字的至少一個錯誤, 所述數(shù)據(jù)字包括以至少一個信息位或者至少一個有效載荷數(shù)據(jù)位形式存在的信息;以及以至少一個校驗位或者至少一個冗余位形式存在的冗余;其特征在于執(zhí)行指派給至少一個第一數(shù)據(jù)路徑(30, 30')的至少一個第一糾錯 方案;以及執(zhí)行至少一個第二糾錯方案; 指派給至少一個第二數(shù)據(jù)路徑(40, 40');以及 設(shè)計用于增加通過所述第二數(shù)據(jù)路徑(40, 40')傳輸?shù)母鱾€數(shù)據(jù)字的信息和/或冗余,具體地用于增加一個或多個信息位或者一個或多個有效載荷數(shù)據(jù)位的個數(shù);和/或用于增加一個或多個校驗位或者一個或多個冗余位的個數(shù)。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于第一糾錯方案和第二 糾錯方案分別包括下列步驟-在至少一個寫入操作期間,執(zhí)行冗余計算,具體地,用一個或多個 校驗位或者一個或多個冗余位,補充通過各個數(shù)據(jù)路徑傳輸?shù)母鱾€數(shù)據(jù) 字;和/或在至少一個讀取操作期間,執(zhí)行檢錯,具體地,計算至少一個信種 字元;和/或執(zhí)行糾錯,具體地,糾正通過各個數(shù)據(jù)路徑傳輸?shù)母鱾€數(shù)據(jù)
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于所述第二糾錯 方案設(shè)計用于通過執(zhí)行冗余計算的步驟,以可變個數(shù)和/或單個的校驗位或冗余位補充至各個數(shù)據(jù)字,所補充的校驗位或冗余位的個數(shù)具體地依各個數(shù)據(jù)字的字尺寸,具體地為各個數(shù)據(jù)字的邏輯字長;和/或 各個數(shù)據(jù)字的應(yīng)用。
10.當(dāng)處理至少一個安全相關(guān)或安全關(guān)鍵應(yīng)用時,根據(jù)權(quán)利要求1 至3中至少一個權(quán)利要求的至少一個檢錯糾錯電路(100, 100')、和/或 根據(jù)權(quán)利要求4至6中至少一個權(quán)利要求的電子存儲部件或存儲模塊(200, 200')、和/或根據(jù)權(quán)利要求7至9中至少一個權(quán)利要求的方法的 用途,具體地用在至少一個芯片卡或智能卡中,例如,用在至少一個嵌 入式安全控制器中。
全文摘要
為了提供一種檢錯糾錯電路(100,100’)以及一種檢測和/或糾正至少一個數(shù)據(jù)字中至少一個錯誤的方法,上述數(shù)據(jù)字包括以至少一個信息位或者至少有效載荷數(shù)據(jù)位的形式存在的信息,以及以至少一個校驗位或至少一個冗余位的形式存在的冗余,其中優(yōu)化了補充各個數(shù)據(jù)字的一個或多個校驗位或冗余位的數(shù)量,具體地用于基于應(yīng)用要求,以優(yōu)化的方式使用至少一個物理存儲空間,建議執(zhí)行指派給至少一個第一數(shù)據(jù)路徑(30,30’)的至少一個第一糾錯方案,以及執(zhí)行指派給至少一個第二數(shù)據(jù)路徑(40,40’)以及指派增加信息和/或冗余的至少一個第二糾錯方案,具體地用于為了增加一個或多個信息位或者一個或多個有效載荷數(shù)據(jù)位的個數(shù)和/或為了向通過第二數(shù)據(jù)路徑(40,40’)傳輸?shù)母鱾€數(shù)據(jù)字增加一個或多個校驗位或者一個或多個冗余位的個數(shù)。
文檔編號G06F11/10GK101317159SQ200680044364
公開日2008年12月3日 申請日期2006年9月19日 優(yōu)先權(quán)日2005年9月27日
發(fā)明者森克·奧斯特敦, 約阿希姆克利斯托夫漢斯·加爾貝 申請人:Nxp股份有限公司