專利名稱:存儲在非易失性存儲器中的數(shù)據(jù)的完整性控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種具有多個非易失性存儲單元的存儲器的寫控制器、一種具有多個非易失性存儲單元的存儲器的讀控制器、一種組合的讀/寫控制器、一種包括帶有多個非易失性存儲單元的存儲器的固態(tài)設(shè)備、一種用于將二進(jìn)制編碼寫入非易失性存儲器的編程器設(shè)備、一種用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有多個非易失性存儲單元的存儲器的方法、以及一種用于控制包括至少一個存儲在存儲器的非易失性存儲單元中的輸入比特的數(shù)據(jù)的完整性的方法。
背景技術(shù):
非易失性存儲器具有以下優(yōu)點(diǎn),即,即使當(dāng)無運(yùn)行功率(operatingpower)提供給存儲器時也能保存所存儲的信息?,F(xiàn)在已知的非易失性存儲器的工作原理是基于物理效應(yīng)的,例如磁效應(yīng)、鐵電效應(yīng)、或半導(dǎo)體效應(yīng)。已知的非易失性存儲器設(shè)備包括,例如,磁性隨機(jī)存取存儲器(MRAM,magnetic random access memory),可擦寫可編程只讀存儲器(EPROM),電EPROM(EEPROM),閃存(Flash memory)等。
非易失性存儲器是可重寫存儲器。與只讀存儲器技術(shù)相比,存儲裝置的非易失性不能防止對存儲信息的不希望的改變。在MRAM中,存儲信息會在例如熱效應(yīng)、單個磁性單元的方向的隨機(jī)翻轉(zhuǎn)、或篡改的影響下而改變。對MRAM的篡改可能涉及將強(qiáng)大的外部磁場施加于存儲器。將這種磁場施加于MRAM將使得所有存儲單元將他們各自的磁存儲層的磁矩平行于強(qiáng)大的外部磁場而排列。然后所有存儲單元(包括校驗(yàn)比特)將存儲相同的比特值,0或1。因此,原來存儲在存儲器中的信息將丟失。
特別設(shè)計的軟件或硬件形式的應(yīng)用程序也可能嘗試對分類為“只讀”或“拒絕訪問”的信息進(jìn)行未授權(quán)的改變。
對非易失性存儲單元進(jìn)行不期望的重寫的可能性構(gòu)成了安全問題,其限制了在所提供信息的完整性至關(guān)重要的商業(yè)領(lǐng)域中使用非易失性存儲器。在數(shù)字版權(quán)管理(DRM)中,例如,固態(tài)設(shè)備的唯一標(biāo)識符可以被用作密鑰,該密鑰用于授權(quán)或拒絕對特權(quán)信息、特權(quán)服務(wù)質(zhì)量的許可,以及用于收集帳單信息。典型地,這種唯一的標(biāo)識符由被寫入集成到固態(tài)設(shè)備的存儲器的二進(jìn)制編碼組成。帶有重寫的比特的標(biāo)識符可能導(dǎo)致否定之前授予的訪問權(quán)限,或授權(quán)入侵者訪問,或錯誤的帳單報告。
應(yīng)用程序通常不被允許改變“只讀”或“拒絕訪問”信息,比如標(biāo)識符。事實(shí)上,已經(jīng)注意到修改這種信息是不可能的。例如通過US 5,917,750可以了解非易失性半導(dǎo)體存儲器的保護(hù)系統(tǒng)。在此存儲器中裝備了保護(hù)電路,該保護(hù)電路產(chǎn)生指示是否保護(hù)存儲在存儲單元中的數(shù)據(jù)的保護(hù)信號。僅允許向保護(hù)信號指示寫訪問的存儲器部分進(jìn)行寫操作。然而,此系統(tǒng)需要大量的連接到存儲器的附加電路,而且不能預(yù)防內(nèi)部的效應(yīng)。對于MRAM,通過WO 00/72324A1和US2002/008988A1可以了解物理防護(hù)裝置。兩個文件都描述了存儲器中的附加防護(hù)層。這種附加的物理防護(hù)增大了存儲器的開銷,而且不能安全地預(yù)防強(qiáng)大的外場或未授權(quán)的應(yīng)用程序重寫存儲器。
所列舉的保護(hù)機(jī)制的這些缺點(diǎn)顯示已知的寫保護(hù)機(jī)制涉及巨大的技術(shù)的努力,但不能提供完全的安全性來防止重寫非易失性存儲器。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是提供一種可供選擇的方法以防止由無意或有意地改變存儲在非易失性存儲器中的“只讀”或“拒絕訪問”信息而導(dǎo)致的破壞。
根據(jù)本發(fā)明的第一方面,通過具有多個非易失性存儲單元的存儲器的寫控制器解決了此目的,該寫控制器包括輸入部分,用于接收具有至少一個將被寫到所述存儲器的輸入比特的輸入數(shù)據(jù),并且適合于從所述輸入數(shù)據(jù)產(chǎn)生輸出數(shù)據(jù)和分配的地址信息,其中,所述輸出數(shù)據(jù)包括所述輸入數(shù)據(jù)和至少一個分配給所述輸入比特的校驗(yàn)比特,所述校驗(yàn)比特具有與所述輸入比特的值互補(bǔ)的值,其中,所述地址信息將所述校驗(yàn)比特分配給一個存儲單元,該存儲單元被分配給存儲所述各自相應(yīng)的輸入比特的存儲單元。
本發(fā)明不同于嘗試提供更好的寫保護(hù)。它關(guān)注于對發(fā)生在非易失性存儲器的內(nèi)容上的改變的可靠的檢測。本發(fā)明的基本原理是用至少一個校驗(yàn)比特來擴(kuò)展存儲在非易失性存儲器中的信息。在此,待存儲的信息被稱為輸入比特,或者,等同地稱為編碼比特。術(shù)語輸入比特被用于說明本發(fā)明的寫控制器在其輸入部分從存儲器客戶接收這些待存儲的比特。它不產(chǎn)生這些比特。
與從外部的源接收的輸入比特不同,本發(fā)明的寫控制器產(chǎn)生校驗(yàn)比特。寫控制器還將校驗(yàn)比特分配給各自相應(yīng)的輸入比特。為避免由于復(fù)雜的概括引起的混淆,在下文中,只要可以使用一個或多個校驗(yàn)比特就將使用單數(shù)形式“校驗(yàn)比特”。本發(fā)明的實(shí)施例無論在什么時候使用各自的方案時,都將明確地表述僅有一個校驗(yàn)比特的可選方案和有多個校驗(yàn)比特的可選方案。
根據(jù)本發(fā)明,校驗(yàn)比特具有與各自所分配到的輸入比特的值互補(bǔ)的值。也就是說,如果輸入比特具有值1,則校驗(yàn)比特具有值0,反之亦然。輸入比特或校驗(yàn)比特上的改變可以被容易地檢測。當(dāng)輸入比特和校驗(yàn)比特都具有相同的值時,就檢測到發(fā)生了改變。因此,通過提供帶有互補(bǔ)值的校驗(yàn)比特,本發(fā)明允許檢測由經(jīng)常被用在篡改嘗試中的非選擇性外部影響所導(dǎo)致的對存儲器的改變。例如,MRAM暴露于很強(qiáng)的外部磁場將把所有存儲器單元設(shè)置為相等的值,因而破壞了輸入和校驗(yàn)比特之間的固有的關(guān)系,所述校驗(yàn)比特根據(jù)本發(fā)明指示了數(shù)據(jù)的完整性。作為另一個例子,將EPROM存儲器暴露于UV輻射將導(dǎo)致相同的影響。
如下所述,給出輸入比特和校驗(yàn)比特之間的分配方法的明確的算法在不同的實(shí)施例中是不同的。在對存儲器內(nèi)容改變的檢測中,為防止錯誤,分配方法不能改變。可以將校驗(yàn)比特僅分配給一個輸入比特或分配給任意數(shù)量的輸入比特。例如,在一個實(shí)施例中,僅有一個輸入比特具有分配的校驗(yàn)比特。一個校驗(yàn)比特足夠檢測出由非選擇性的影響(比如由外部的源引起的強(qiáng)大的力)導(dǎo)致的對存儲器的重寫。在另一個實(shí)施例中,每個輸入比特都具有分配的校驗(yàn)比特。這允許檢測對分類為“只讀”或“拒絕訪問”的單個輸入比特的有選擇的改變。
為提供輸入比特和校驗(yàn)比特之間的簡單分配,輸入比特和校驗(yàn)比特的分配最好被映射為存儲器中彼此相關(guān)的比特的位置。本發(fā)明的寫控制器根據(jù)預(yù)定的分配算法為輸入比特和校驗(yàn)比特產(chǎn)生各自的地址信息。地址信息被用于將輸出數(shù)據(jù)存儲在與地址信息相對應(yīng)的存儲器單元中,該輸出數(shù)據(jù)包括輸入數(shù)據(jù)加校驗(yàn)比特。地址信息可以是寫控制器的輸出數(shù)據(jù)的附加部分,但不會被存儲到存儲器。在可選的實(shí)施例中,地址信息是以電信號的形式被提供的,該信號被應(yīng)用于存儲器的特定的字線(word line)和特定的比特線(bit line)。也就是說,寫控制器具有集成的字線和比特線驅(qū)動器,以對特定的輸出數(shù)據(jù)比特將寫入的特定的存儲器單元進(jìn)行物理尋址。
在本發(fā)明的寫控制器的一個實(shí)施例中,寫控制器將地址信息分配給地址數(shù)據(jù),該地址數(shù)據(jù)是作為輸入數(shù)據(jù)的一部分從外部的存儲器客戶提供給寫控制器的。此實(shí)施例中,本發(fā)明的寫控制器適用于接收除輸入比特以外還包括地址數(shù)據(jù)的輸入數(shù)據(jù)。在一個可選方法中,這種地址數(shù)據(jù)是作為輸入數(shù)據(jù)流的一部分通過寫控制器的相同輸入端口被接收的。在另一個可選方法中,由寫控制器通過分離的輸入端口與相應(yīng)的輸入比特同步地接收地址數(shù)據(jù)。
在此實(shí)施例的一個可選方法中,寫控制器使用所接收的地址數(shù)據(jù)作為與輸入比特相同的那部分輸出數(shù)據(jù)的地址信息。在此可選方法中,寫控制器為校驗(yàn)比特產(chǎn)生新的地址信息。該新的地址信息取決于由外部的存儲器客戶提供的地址數(shù)據(jù)。此尋址方法需要防范從外部的客戶提供的地址數(shù)據(jù)與寫控制器根據(jù)預(yù)定的分配算法為校驗(yàn)比特在內(nèi)部產(chǎn)生的地址信息之間的沖突。例如,這種防范包括向存儲器客戶提供關(guān)于可用的地址范圍的信息。
在此實(shí)施例的另一個可選方法中,寫控制器產(chǎn)生分配給由外部的存儲器客戶提供的地址數(shù)據(jù)的新的地址信息。為此目的,寫控制器可以維護(hù)一個地址分配表,該表將在輸入部分接收的地址數(shù)據(jù)轉(zhuǎn)換為在寫控制器的輸出部分提供的地址信息。最好與存儲器的讀控制器共享該分配表。在此可選方法中,外部的存儲器客戶為輸入比特提供地址數(shù)據(jù),寫控制器為輸入比特和校驗(yàn)比特產(chǎn)生地址信息。由寫控制器產(chǎn)生的地址信息既不能被外部的存儲器客戶控制也不能被傳送到外部的存儲器客戶。保護(hù)數(shù)據(jù)完整性的校驗(yàn)比特算法對外部的存儲器客戶來講是完全透明的。
對于讀請求,外部的存儲器客戶使用當(dāng)存儲數(shù)據(jù)時提供的地址數(shù)據(jù)并將它們提供給讀控制器。讀控制器參考地址分配表并將地址數(shù)據(jù)轉(zhuǎn)換為存儲在存儲器中的相應(yīng)輸入比特的地址信息,從而將這些輸入比特提供給存儲器客戶,假設(shè)了所存儲的數(shù)據(jù)的完整性。在對本發(fā)明的讀控制器的描述的上下文中將詳細(xì)描述此方面。輸入和分配的校驗(yàn)比特最好被存儲在物理上靠近的存儲器單元中。物理上靠近的比特很可能都被局部的外部的場影響。通過將輸入和校驗(yàn)比特的位置靠近安排,更可能檢測到外部的場被施加于存儲器的有限范圍內(nèi)。
根據(jù)優(yōu)選實(shí)施例,校驗(yàn)比特被存儲在與分配的輸入比特的存儲器單元相鄰的存儲器單元中。在不同的實(shí)施例中,相鄰的單元可以是在同一行或在同一列。在類似于矩陣的存儲器單元的排列中,下一個相鄰單元也可以被確定為在相鄰的行并且在相鄰的列中,例如,相對于存儲輸入比特的存儲器單元成對角線排列。
更好的方法是,使用下一個相鄰單元來存儲校驗(yàn)比特,以便提供最簡單和靈活的解決方案,該方案也適用于小存儲器陣列和僅包括少量的存儲標(biāo)識符的單元的單存儲器線。因此,本發(fā)明的寫控制器最好適于產(chǎn)生將所述校驗(yàn)比特分配給與存儲所述各自相應(yīng)的輸入比特的存儲單元相鄰的存儲單元的地址信息。
然而,本發(fā)明并不限于這種排列。在本發(fā)明的其他的實(shí)施例中,分配給輸入比特的校驗(yàn)比特被存儲在使用不同的分配算法確定的存儲單元中。例如,校驗(yàn)比特可以被存儲在與存儲輸入比特的存儲器單元處于同一行或同一列的第二或第三近的相鄰單元中。
盡管在不同環(huán)境中都知道使用校驗(yàn)比特的原理,但是本發(fā)明給校驗(yàn)比特提供了新的使用方法,它對于保護(hù)存儲信息的完整性和實(shí)現(xiàn)有效檢測改變的信息尤其有用。是從數(shù)字?jǐn)?shù)據(jù)傳輸領(lǐng)域了解到使用校驗(yàn)比特的。在那個領(lǐng)域中,校驗(yàn)比特,例如采取循環(huán)冗余校驗(yàn)(CRC)方法的框架中的楨校驗(yàn)序列(FCS)的形式,來檢測接收的數(shù)據(jù)序列中由于惡劣的傳輸條件引起的傳輸錯誤。典型地,CRC的FCS是兩個字節(jié)長并根據(jù)使用二進(jìn)制多項(xiàng)式等式的算法被計算。在相同的環(huán)境中,另一個數(shù)據(jù)傳輸中的錯誤檢測的原理是使用奇偶校驗(yàn)比特。奇偶校驗(yàn)比特被加入到包括許多比特的塊中,并反映在塊中是包含偶數(shù)個還是奇數(shù)個具有比特值“1”的比特。在偶校驗(yàn)的情況下,奇偶校驗(yàn)比特將是“1”,在奇校驗(yàn)的情況下,奇偶校驗(yàn)比特將是“0”。
本解決方案,即使使用校驗(yàn)比特,但也不同于CRC和奇偶校驗(yàn)的原理。與所述兩個已知的方法不同,本發(fā)明中使用的校驗(yàn)比特被分配給單個的輸入比特,而不是許多的輸入比特。這為寫控制器的特定設(shè)計提供了更高的靈活性??梢愿鶕?jù)給定的邊界條件設(shè)計本發(fā)明的寫控制器??梢曰诮o定的硬件設(shè)計來確定使用的校驗(yàn)比特的數(shù)量以及被分配了一個或多個校驗(yàn)比特的特定的存儲編碼的輸入比特的數(shù)量。例如,如果任務(wù)是允許檢測通過將強(qiáng)大的外部磁場應(yīng)用到MRAM上而進(jìn)行的篡改嘗試,那么提供一個被分配給一個輸入比特的校驗(yàn)比特就足夠了,例如,標(biāo)識符的第一個輸入比特。與已知的校驗(yàn)比特原理相比,根據(jù)本發(fā)明的校驗(yàn)比特的另一個不同在于,確定本發(fā)明的校驗(yàn)比特的值的算法更簡單。事實(shí)上,可以使用簡單的變換器以產(chǎn)生校驗(yàn)比特。此簡單性是優(yōu)于已知算法的重要優(yōu)點(diǎn),因?yàn)樗恍枰罅康碾娐穪泶_定校驗(yàn)比特的值。與已知的校驗(yàn)比特原理的另一個不同在于,本發(fā)明的校驗(yàn)比特對外部應(yīng)用程序是隱蔽的,或者,換句話說,對存儲器客戶是隱蔽的。它在不與存儲器客戶進(jìn)行任何通信或在對于存儲器用戶透明的情況下被創(chuàng)建。
在根據(jù)本發(fā)明的第一方面的寫控制器的多個不同的實(shí)施例中,輸出數(shù)據(jù)包括多個分配給各自相應(yīng)的輸入比特的校驗(yàn)比特。在各個實(shí)施例中校驗(yàn)比特的數(shù)量是固定的。在存儲器單元的類似于矩陣的排列中,可以將2到8個校驗(yàn)比特分配給各自相應(yīng)的輸入比特,并且在緊挨著的相鄰存儲器單元中。在存儲器單元的線性排列中,最多兩個在緊挨著的相鄰存儲器單元中的校驗(yàn)比特被分配給輸入比特是可能的。在這些實(shí)施例中,所述地址信息分別將每個校驗(yàn)比特分配給線性排列的或類似于矩陣排列的存儲單元中各自的存儲單元,從而為每個由輸入比特和分配給其的校驗(yàn)比特組成的集合創(chuàng)建所存儲的比特值的線性或二維的模式。明顯地,更多的校驗(yàn)比特的缺點(diǎn)是需要更大的存儲器空間。另一方面,更大的校驗(yàn)比特的模式更難于在基于單個比特操縱存儲器的內(nèi)容的嘗試中進(jìn)行譯碼,所以能夠產(chǎn)生這種更大的校驗(yàn)比特的模式對于隱藏校驗(yàn)比特算法是有用的,并使得更易于檢測對單個存儲器單元的操縱嘗試。
本發(fā)明的寫控制器的優(yōu)選實(shí)施例包括連接到所述輸入部分的校驗(yàn)比特產(chǎn)生器。校驗(yàn)比特產(chǎn)生器適于確定將被寫入非易失性存儲器的輸入比特的比特值,并適于產(chǎn)生具有與所述輸入比特的比特值互補(bǔ)的比特值的校驗(yàn)比特。在一個實(shí)施例中,由專用電路提供校驗(yàn)比特產(chǎn)生器。在另一個實(shí)施例中,由嵌入式軟件提供校驗(yàn)比特產(chǎn)生器。
本發(fā)明的寫控制器的另一個優(yōu)選實(shí)施例包括連接到所述輸入部分和所述校驗(yàn)比特產(chǎn)生器的地址信息產(chǎn)生器。地址信息產(chǎn)生器適于將彼此相鄰的存儲單元的各自的地址信息分配給所述至少一個輸入比特和所述被分配的至少一個校驗(yàn)比特。在一個實(shí)施例中,由專用電路提供地址產(chǎn)生器。在另一個實(shí)施例中,由嵌入式軟件提供地址產(chǎn)生器。地址信息可以采取二進(jìn)制編碼的形式,該二進(jìn)制編碼表示分配給存儲器中的存儲器單元的地址。也可以采取應(yīng)用于選中的字和比特線的電信號的形式,從而直接地尋址單個存儲器單元,而無需將二進(jìn)制編碼轉(zhuǎn)換為這種信號的中間步驟。
根據(jù)本發(fā)明的第二方面,提供了帶有多個非易失性存儲單元的存儲器的讀控制器。本發(fā)明的讀控制器包括用于從存儲器接收讀出的數(shù)據(jù)的輸入部分。讀出數(shù)據(jù)具有至少一個輸入比特和至少一個分配給其的校驗(yàn)比特。本發(fā)明的讀控制器還具有完整性控制單元,其適于比較所述至少一個輸入比特和所述至少一個校驗(yàn)比特的值,并提供指示所述編碼比特與所述校驗(yàn)比特的值是否互補(bǔ)的輸出信號。
本發(fā)明的讀控制器是上述寫控制器的互補(bǔ)的對應(yīng)部分。讀控制器用于檢查使用本發(fā)明的寫控制器寫入非易失性存儲器的數(shù)據(jù)的完整性。同樣地,讀控制器基于與寫控制器相同的校驗(yàn)比特算法。它“知道”必須尋址哪一組存儲器單元以檢查特定輸入比特的完整性。因此,可以直接地從本發(fā)明的寫控制器的相應(yīng)實(shí)施例中推導(dǎo)出讀控制器的優(yōu)選實(shí)施例。
例如,在本發(fā)明的讀控制器的一個優(yōu)選實(shí)施例中,讀控制器也使用寫控制器對輸入比特使用的校驗(yàn)比特模式,以便檢查輸入比特的完整性。讀控制器具有地址產(chǎn)生器,該地址產(chǎn)生器適于產(chǎn)生指向至少一個選中的存儲器單元和所述至少一個存儲所述已分配的校驗(yàn)比特的相鄰存儲器單元的讀請求。地址產(chǎn)生器使用同樣的特定數(shù)量的待比較的存儲器單元以及由所創(chuàng)建的校驗(yàn)比特模式產(chǎn)生的相同地址。在一個可選的實(shí)施例中,讀控制器使用比寫控制器創(chuàng)建的校驗(yàn)比特更少的校驗(yàn)比特來進(jìn)行完整性檢查。讀控制器創(chuàng)建的地址信息可以采取表示分配給存儲器中的存儲器單元的地址的二進(jìn)制編碼的形式。也可以采取應(yīng)用于選中的字和比特線的電信號的形式,從而直接地尋址單個存儲器單元,而無需將二進(jìn)制編碼轉(zhuǎn)換成這種信號的中間步驟。
注意到,讀控制器不適于將從非易失性存儲器讀取的校驗(yàn)比特傳送到外部的應(yīng)用程序。由完整性控制單元在內(nèi)部執(zhí)行完整性檢查。只有完整性檢查的結(jié)果可以作為指示輸入比特和分配給其的校驗(yàn)比特是否互補(bǔ)的二進(jìn)制信號被傳送。讀控制器不適于將此二進(jìn)制信號傳送到其所集成于的芯片的界限之外,除非提供了進(jìn)一步的安全措施,例如加密。可以以芯片的IP塊的形式(即,作為芯片內(nèi)部的獨(dú)立部分)提供讀控制器。在此實(shí)施例中,根據(jù)芯片設(shè)計者的選擇,讀控制器可能適合或可能不適于在芯片上傳送二進(jìn)制信號,而不超出芯片之外。
如果有人要在芯片之間使用正規(guī)的線路來傳送二進(jìn)制的完整性信號,那么通過例如從控制器斷開線路并將其連接到“一直是完整的”的源上來“刪改”此信號將是無關(guān)緊要的操作。根據(jù)本發(fā)明,具有抗篡改傳輸是重要的。
在操作中,本發(fā)明的讀控制器所包括的完整性控制單元將一邊的輸入比特與另一邊的一個或多個已分配的校驗(yàn)比特進(jìn)行比較。在包括多個帶有分配的校驗(yàn)比特的輸入比特的實(shí)施例中,提供了許多連接到輸入部分的平行的比較器級(stage)以提高完整性控制的速度。然而,對于速度并不重要的情況,可選實(shí)施例僅有一個比較器級,并為每個具有分配的校驗(yàn)比特的輸入比特順序地執(zhí)行完整性檢查。
根據(jù)發(fā)明的第三方面,提供了帶有多個非易失性存儲單元的存儲器的讀/寫控制器。讀/寫控制器包括本發(fā)明第一方面的寫控制器和根據(jù)本發(fā)明第二方面的讀控制器。
讀/寫控制器組合了上述寫控制器和讀控制器的優(yōu)點(diǎn)。當(dāng)由一個單元執(zhí)行向非易失性存儲器的寫入以及從非易失性存儲器的讀取時,它特別地有用。與其相比,單獨(dú)的寫控制器對于僅用于編程芯片上的非易失性存儲器的設(shè)備(例如下面描述的編程器)來講是足夠的。可由芯片上提供的讀控制器來執(zhí)行完整性檢查。
根據(jù)本發(fā)明的第四方面,提供了用于將二進(jìn)制編碼寫入非易失性存儲器的編程器設(shè)備。所述編程器設(shè)備包括本發(fā)明第一方面的寫控制器。所述寫控制器適于在其輸入部分接收二進(jìn)制編碼。
典型地,編程器設(shè)備被用于集成電路(ICs)的生產(chǎn),并可以被集成到IC測試器或數(shù)字IC驗(yàn)證系統(tǒng)中。在許多包括非易失性存儲器的IC的制造過程中,初始化非易失性存儲器是必要的。由編程器設(shè)備來執(zhí)行這一任務(wù)。根據(jù)本發(fā)明的本方面,為這種編程器設(shè)備提供使用本發(fā)明的寫控制器編程IC所包括的非易失性存儲器的額外功能。通過這種方式,為制造的IC提供了有效率的完整性控制機(jī)制。IC可以包括本發(fā)明的讀控制器以便能檢測所存儲數(shù)據(jù)的完整性的破壞。
編程器設(shè)備的優(yōu)選實(shí)施例包括上述的本發(fā)明第一方面的寫控制器的那些實(shí)施例。
本發(fā)明的編程器設(shè)備的更優(yōu)選的實(shí)施例包括編碼產(chǎn)生器,其被連接到寫控制器的輸入部分,并且適于產(chǎn)生唯一的標(biāo)識符編碼并將其提供給所述寫控制器的輸入。唯一的標(biāo)識符編碼包括為每個IC單獨(dú)創(chuàng)建的編碼比特的組合。通過這種方式,編程器為每個制造的IC提供唯一的標(biāo)識符。本領(lǐng)域的熟練技術(shù)人員知道如何能夠產(chǎn)生唯一的標(biāo)識符。一個例子是在以太網(wǎng)控制器的制造過程中的唯一的MAC地址的產(chǎn)生和編程。標(biāo)識符比特的特定的第一組合被唯一地歸于特定的廠商,該廠商加入在此特定廠商的制造過程內(nèi)唯一的標(biāo)識符比特的第二組合,從而創(chuàng)建全球唯一標(biāo)識符,即MAC地址。
在一個可選實(shí)施例中,編程器被連接到向編程器傳送唯一標(biāo)識符的外部的編碼產(chǎn)生器,用于向?qū)懣刂破魈峁┪ㄒ粯?biāo)識符作為輸入。在另一個可選實(shí)施例中,編程器包括存儲器,該存儲器存儲將被作為寫控制器的輸入而提供的唯一標(biāo)識符的列表。
根據(jù)本發(fā)明的第五方面,提供了固態(tài)設(shè)備,其包括具有多個非易失性存儲單元的存儲器以及本發(fā)明第一方面的寫控制器,或者連接到所述存儲器的本發(fā)明的第二方面的讀控制器,或同時包括兩者。
根據(jù)本發(fā)明的本方面的固態(tài)設(shè)備是任何包括電子電路的設(shè)備。這種固態(tài)設(shè)備的例子是IC,包括IC的設(shè)備(例如MRAM、PROM、EPROM、EEPROM、閃存形式的存儲器設(shè)備),計算機(jī)卡(例如PCMCIA卡)。本發(fā)明的固態(tài)設(shè)備具有包括非易失性存儲單元的存儲器。注意到,存儲器可以包括易失性和非易失性存儲單元的組合,同樣以不同存儲器的形式在固態(tài)設(shè)備中分別提供。
本發(fā)明的本方面的固態(tài)設(shè)備的優(yōu)選實(shí)施例包括本發(fā)明的寫控制器和讀控制器的實(shí)施例。
在另一個優(yōu)選實(shí)施例中,固態(tài)設(shè)備包括磁存儲單元,比如MRAM單元。MRAM是非常有前途的技術(shù),對于克服現(xiàn)有存儲器技術(shù)的缺點(diǎn)同時保持它們的優(yōu)點(diǎn)來講,該技術(shù)具有良好的前景。
在基于MRAM技術(shù)的優(yōu)選實(shí)施例中,本發(fā)明的本方面的固態(tài)設(shè)備至少具有兩個相鄰的MRAM單元,它們具有比所述存儲器中的所有其他存儲單元更大的尺寸。在此實(shí)施例中,寫控制器適于創(chuàng)建地址信息,該地址信息將所述輸入比特和所述分配的至少一個校驗(yàn)比特分配給相鄰的強(qiáng)磁場(high-field)存儲單元。在MRAM中使用更大尺寸的單元以存儲輸入比特和校驗(yàn)比特具有不會發(fā)生(自然的)隨機(jī)的比特翻轉(zhuǎn)的優(yōu)點(diǎn)。因此,可以明確地檢測由外部磁場引起的比特翻轉(zhuǎn)(即,篡改),從而提高了完整性控制的可靠性。
注意到,在現(xiàn)有技術(shù)的MRAM中,所有存儲器單元具有近似相同的尺寸。術(shù)語尺寸涉及垂直于單元的層序列的方向上的MRAM單元的存儲層的橫向延伸,以及在層序列的方向上的存儲層的厚度。存儲層是存儲器單元的層,其與用于寫單元的磁場相互作來排列其磁矩的方向。包括至少兩組具有不同存儲層尺寸的存儲器單元的MRAM被認(rèn)為是獨(dú)立的發(fā)明。
根據(jù)本發(fā)明的第六方面,提供了將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器的方法,該方法包括下列步驟a)確定至少一個分配給所述輸入比特的校驗(yàn)比特的比特值,作為與所述輸入比特的比特值互補(bǔ)的比特值,b)根據(jù)預(yù)定的分配算法將非易失性存儲器單元分配給輸入比特和校驗(yàn)比特,c)以及將所述至少一個校驗(yàn)比特和所述輸入比特寫入根據(jù)步驟(b)分配的所述存儲器的非易失性存儲單元。
本發(fā)明的本方面的方法允許在非易失性存儲器中存儲數(shù)據(jù),以便過后可以檢查其完整性。例如,本發(fā)明的方法可以被編程器設(shè)備應(yīng)用。之前,已在本發(fā)明的其他方面的描述中(特別地,在寫控制器的描述中)描述了此方法的優(yōu)點(diǎn)。此方法最好用于存儲標(biāo)識符或近似地分類為“只讀”或“拒絕訪問”的信息。如以上的詳細(xì)描述所述,分配算法最好包括將所述輸入和所述校驗(yàn)比特分配給相鄰的存儲單元。由根據(jù)本發(fā)明的第一方面的寫控制器的描述給出本發(fā)明的此方法的另外的優(yōu)選實(shí)施例。
根據(jù)本發(fā)明的第七方面,提供了用于檢查數(shù)據(jù)的完整性的方法,所述數(shù)據(jù)包括至少一個存儲在存儲器的非易失性存儲單元中的輸入比特,所述方法包括下列步驟a)確定至少一個分配給所述輸入比特的校驗(yàn)比特的比特值,作為與所述輸入比特的比特值互補(bǔ)的比特值,b)根據(jù)預(yù)定的分配算法將非易失性存儲器單元分配給輸入比特和校驗(yàn)比特,
c)將所述校驗(yàn)比特和所述輸入比特寫入根據(jù)步驟(b)分配的非易失性存儲單元,d)從所述分配的存儲單元讀取所述輸入比特和所述校驗(yàn)比特,e)比較所述輸入比特和所述校驗(yàn)比特,f)提供指示所述輸入比特和所述校驗(yàn)比特是否互補(bǔ)的信號。
優(yōu)選實(shí)施例中的方法步驟(d)到(f)被反復(fù)地執(zhí)行。優(yōu)選地,在執(zhí)行步驟(d)到(f)的連續(xù)的循環(huán)周期之間有等待步驟??捎玫牡却龝r間可以在一分鐘和幾天之間的時間尺度上的任何位置,其依賴于存儲器單元所暴露的環(huán)境和訪問存儲器的頻率。
附圖簡述下面將參照附圖描述本發(fā)明的另外的特征和優(yōu)點(diǎn)。
圖1是顯示本發(fā)明的寫控制器的優(yōu)選實(shí)施例的簡化的框圖;圖2是顯示本發(fā)明的讀控制器的優(yōu)選實(shí)施例的簡化的框圖;圖3是顯示本發(fā)明的編程器設(shè)備的優(yōu)選實(shí)施例的簡化的框圖;圖4是顯示作為本發(fā)明的固態(tài)設(shè)備的優(yōu)選實(shí)施例的、具有本發(fā)明的讀控制器的集成電路的簡化的框圖;圖5是顯示磁存儲單元中的數(shù)字信息的表示方法的示圖;圖6是表示使用所述方法的第一優(yōu)選實(shí)施例存儲到MRAM中的二進(jìn)制編碼的框圖,所述方法用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器;圖7是表示使用所述方法的第二優(yōu)選實(shí)施例存儲到MRAM中的二進(jìn)制編碼的框圖,所述方法用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器;圖8是表示使用所述方法的第三優(yōu)選實(shí)施例存儲到具有兩組不同尺寸的存儲單元的MRAM中的二進(jìn)制編碼的框圖,所述方法用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器;圖9是表示使用所述方法的第四優(yōu)選實(shí)施例存儲到MRAM中的二進(jìn)制編碼的框圖,所述方法用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器;圖10是表示使用所述方法的第五優(yōu)選實(shí)施例存儲到MRAM中的二進(jìn)制編碼的框圖,所述方法用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器;圖11是用于控制存儲在存儲器的非易失性存儲單元中的數(shù)據(jù)的完整性的方法的優(yōu)選實(shí)施例的流程圖。
具體實(shí)施例方式
圖1以簡化的框圖顯示了寫控制器10。寫控制器10具有輸入部分12并通過輸入部分12接收輸入數(shù)據(jù)。輸入部分12與校驗(yàn)比特產(chǎn)生器14和地址產(chǎn)生器16相連。校驗(yàn)比特產(chǎn)生器14具有兩個輸出,其中一個與地址產(chǎn)生器16相連。校驗(yàn)比特產(chǎn)生器14的第二個輸出被連接到輸出部分18,輸出部分18將控制器10連接到存儲器(未顯示)。輸出部分18包括三個輸出寄存器18.1、18.2和18.3。輸出寄存器18.1與校驗(yàn)比特產(chǎn)生器14相連。輸出寄存器18.2與輸入部分12相連。輸出寄存器18.3與地址產(chǎn)生器16相連。輸出部分18被分割為三個寄存器并不是必要的結(jié)構(gòu)特征,僅為了在這里用于說明。
下面,將描述寫控制器的操作。通過例子假設(shè),接收的輸入數(shù)據(jù)表示集成電路的二進(jìn)制標(biāo)識符,該標(biāo)識符將被存儲到利用集成電路提供的MRAM存儲器中。所述標(biāo)識符被分類為“只讀”。
通過輸入部分12接收的輸入比特被提供給校驗(yàn)比特產(chǎn)生器14。校驗(yàn)比特產(chǎn)生器14為每個提供的輸入比特產(chǎn)生校驗(yàn)比特。通過使用校驗(yàn)比特產(chǎn)生器14包含的非門(inverter gate)(未顯示)產(chǎn)生校驗(yàn)比特。校驗(yàn)比特產(chǎn)生器14還向地址產(chǎn)生器16提供控制信號。控制信號觸發(fā)地址產(chǎn)生器16以產(chǎn)生將兩個相鄰的存儲器單元分配給輸入比特和校驗(yàn)比特的地址信息。如上所述,可選實(shí)施例具有不同的分配算法,所述分配算法不使用相鄰的存儲單元。在地址產(chǎn)生器16中實(shí)現(xiàn)所使用的分配算法。地址信息采用二進(jìn)制地址編碼的形式。如現(xiàn)有技術(shù)所知,通過放置在寫控制器和存儲器之間的驅(qū)動級(driver stage)(未顯示),將地址編碼轉(zhuǎn)換成相應(yīng)的應(yīng)用于字線和比特線的電信號,以便選擇分配給地址編碼的存儲器單元。驅(qū)動級也可以是寫控制器的一部分。如果MRAM僅具有一行存儲器單元,那么顯而易見,應(yīng)選擇更簡單的尋址單個單元的方式。
為將輸入比特和分配的校驗(yàn)比特寫入存儲器,將輸出寄存器18.1和18.2的內(nèi)容連同包含在輸出寄存器18.3中的各自的地址信息提供到存儲器。當(dāng)然,在可選實(shí)施例中,輸出18可以集中許多的輸入比特和校驗(yàn)比特,以便并行地將輸入和校驗(yàn)比特的序列提供到存儲器。因此,輸出寄存器空間更大。
所描述的寫控制器可以被用于設(shè)置標(biāo)識符,例如在芯片管芯測試之前、之中或之后。例如可以通過使用封裝中不相連的焊盤(pad)進(jìn)行。這產(chǎn)生標(biāo)識符不能改變的封裝芯片。此方法可以用于創(chuàng)建具有全部唯一標(biāo)識符的芯片,或一批具有相同標(biāo)識符的芯片。
防止在芯片制造后篡改標(biāo)識符的一種可選方式是,使用封裝的芯片設(shè)置一次標(biāo)識符以及隨后通過使用邏輯電路(logic)或陷門(trapdoor)阻塞進(jìn)一步的寫操作,例如,以一次寫寄存器的形式或某種保險絲(fuse)的形式。
防止破壞標(biāo)識符的另一種可選方式是,當(dāng)寫標(biāo)識符時使用密碼保護(hù)以及使用硬編碼(hard coded)的密碼。該密碼不能被讀取,但當(dāng)試圖寫唯一標(biāo)識符時由芯片進(jìn)行檢查。
圖2以簡化的框圖顯示了讀控制器20。讀控制器20包括輸入部分22,通過其,讀控制器20連接到存儲器(未顯示)。輸入部分22與完整性控制單元24相連。讀控制器20還包括具有連接到存儲器的輸出的地址產(chǎn)生器26。
在操作中,地址產(chǎn)生器26提供包括輸入比特和分配的校驗(yàn)比特的分配的存儲器單元的地址信息。在地址產(chǎn)生器26中實(shí)現(xiàn)特定的地址分配算法。為了本說明,分配算法仍是使用相鄰的存儲器單元,比如在存儲器單元的相同行中具有增大的列地址的下一個相鄰單元。
當(dāng)然,需要在讀控制器的地址產(chǎn)生器中使用與用于將校驗(yàn)比特寫入存儲器的寫控制器的地址產(chǎn)生器中使用的分配算法相同的分配算法。
地址信息與讀控制器20產(chǎn)生的讀取命令一同被發(fā)送到存儲器。在接收到請求的輸入和校驗(yàn)比特之后,它們被從輸入部分22發(fā)送到完整性控制單元24。完整性控制單元包括創(chuàng)建指示輸入和校驗(yàn)比特是否互補(bǔ)的輸出信號的比較器(未顯示)。
可以由連接到讀控制器的級(stage)按照要求處理完整性控制單元的輸出信號。
組合的寫/讀控制器將圖1的寫控制器和圖2的讀控制器的結(jié)構(gòu)特征集成到一個單獨(dú)的設(shè)備上。它具有面向存儲器客戶的第一接口,該接口包括輸入部分12的功能和完整性控制單元24的輸出部分的功能。它具有面向存儲器的第二接口,該接口包括寫控制器10的輸出部分18的功能、讀控制器20的輸入部分22的功能,以及地址產(chǎn)生器26的輸出部分的功能。注意到,在組合的寫/讀控制器中,僅需要一個地址產(chǎn)生器。
圖3以簡化的框圖顯示編程器30。僅顯示了對本發(fā)明來講重要的特征。另外,在本領(lǐng)域中已知,編程器可以包括用于測試晶片的單個管芯的自動晶片裝卸器,測試引線(test pin)和控制單元。
編程器30包括根據(jù)本發(fā)明的寫控制器。為簡單起見,假設(shè)在編程器30中實(shí)現(xiàn)寫控制器10。因此,對于寫控制器的所有結(jié)構(gòu)和功能說明,參照圖1的描述。
寫控制器10被連接到編碼產(chǎn)生器32。編碼產(chǎn)生器32產(chǎn)生將被提供到寫控制器10的輸入部分12的唯一地址。寫控制器10進(jìn)一步連接到編程器30的輸出部分34。
操作中,編程器將產(chǎn)生將被存儲在正在被測試和編程的芯片的存儲器中的唯一的標(biāo)識符。寫控制器10通過校驗(yàn)比特擴(kuò)展標(biāo)識符并將適當(dāng)?shù)牡刂沸畔⑻峁┙o輸出部分34,輸出部分34將ID寫入排列在芯片上的存儲器?;谑褂镁幊唐鞯奶囟ǖ闹圃飙h(huán)境,在管芯測試階段使用未封裝的芯片的焊盤編程標(biāo)識符??蛇x地,可以在已封裝的芯片上進(jìn)行編程。
圖5顯示了作為本發(fā)明的固態(tài)設(shè)備的實(shí)施例的芯片40的簡化的框圖。芯片40包括集成電路42,MRAM 44,以及讀控制器,為簡單起見假設(shè)該讀控制器是讀控制器20。集成電路42的特定結(jié)構(gòu)和功能在本文中并不重要。其可以被連接到外部的單元。通過例子,MRAM 44被顯示為存儲器單元的二維陣列。我們進(jìn)一步假設(shè)使用編程器30將帶有校驗(yàn)比特的唯一的標(biāo)識符存儲在MRAM 44中。
在芯片的操作中,如參照圖2所述的,讀控制器20將檢查存儲的標(biāo)識符的完整性。它將其輸出信號提供給集成電路42。作為處理讀控制器20的信息的方式的例子,當(dāng)由讀控制器20提供的信號指示校驗(yàn)比特等于分配的標(biāo)識符的編碼比特時,集成電路將停止操作。
圖6顯示兩個分別帶有箭頭52和56的存儲器單元50和52。箭頭代表存儲器單元中的層的磁矩的方向,磁矩沿所施加的用于寫存儲器單元的磁場的方向排列。通過寫磁場和其他的包含在存儲器單元中的磁層,兩個可能的方向被施加到層上。因此各個方向可以表示一個比特的兩個可能的狀態(tài),上和下,或0和1。
圖6到10顯示了表示使用本發(fā)明的方法的不同實(shí)施例存儲在MRAM中的二進(jìn)制編碼的框圖,所述方法用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器。
圖6顯示具有存儲的編碼序列“11101000”的MRAM 60。在分配給其相鄰的存儲器單元64的存儲器單元62中提供了一個校驗(yàn)比特。所有其他的編碼比特在不帶有校驗(yàn)比特的情況下被存儲。此例子解決了由MRAM對于強(qiáng)大外部磁場的脆弱性而帶來的問題。這種磁場以或上或下的方向被應(yīng)用到所有單元。反平行的單元對62和64的存在指示了編碼序列的完整性。
圖7顯示具有存儲編碼序列“1001”的MRAM 70。每個編碼比特在左邊的相鄰存儲器單元中具有分配的校驗(yàn)比特。本例子針對局部的篡改嘗試增強(qiáng)了存儲的編碼序列的可靠性。
圖8顯示具有存儲編碼序列“0100110”的MRAM 80。與在圖6的例子中一樣,僅有一個編碼比特82具有分配的校驗(yàn)比特84。然而,在此例子中,分配的校驗(yàn)比特被存儲在編碼比特右邊的相鄰單元中。另外,選中的編碼比特及其分配的校驗(yàn)比特被存儲在具有比其他單元更大的尺寸的單元中。這增強(qiáng)了完整性控制比特的健壯性。
圖9顯示具有存儲編碼序列“00110”的MRAM 90。在此例子中,使用三個存儲器單元存儲一個編碼比特。每個編碼比特具有兩個相鄰的校驗(yàn)比特。此例子解決了由隨機(jī)的比特翻轉(zhuǎn)引起的不能確定是編碼比特還是校驗(yàn)比特已經(jīng)翻轉(zhuǎn)的問題。通過使編碼比特位于兩個反平行的校驗(yàn)比特之間,可以確定哪個比特已經(jīng)翻轉(zhuǎn)其方向。只有編碼比特改變其方向,才破壞存儲的編碼的完整性。
圖10顯示了另一個例子MRAM100,其在二維陣列存儲器單元中存儲編碼序列“011”。使用包括位于三行和三列上的9個存儲器單元的組來存儲每個比特。編碼比特被存儲在每個組的中心存儲器單元中并被8個存儲器單元包圍,其中僅有三個被用于校驗(yàn)比特。顯示為空的其他所有存儲器單元可以具有任意的方向,或上或下。此例子解決局部篡改企圖的問題,其中,試圖改變編碼的人知道使用了校驗(yàn)比特。使用隱藏在任意方向的單元之中的校驗(yàn)比特的二維的模式,使得難于檢測所使用的校驗(yàn)比特模式。使用此方式的本發(fā)明的完整性控制方法可以防止同時對編碼比特和分配的校驗(yàn)比特進(jìn)行操縱。
圖11顯示用于控制存儲在存儲器的非易失性存儲單元中的數(shù)據(jù)的完整性的方法的優(yōu)選實(shí)施例的流程圖。在步驟S10,接收待存儲的輸入比特。在步驟S12,為在步驟S10接收的輸入比特確定校驗(yàn)比特的值。校驗(yàn)比特具有與輸入比特的值互補(bǔ)的值。在步驟S14,使用如上所述的一種分配算法將存儲器單元分配給輸入和校驗(yàn)比特。在步驟S16,輸入和校驗(yàn)比特被存儲到分配的存儲器單元。在步驟S16之后,在完整性控制隨著步驟S18開始之前,可能有等待的步驟(未顯示),在步驟S18,從存儲器讀取輸入和校驗(yàn)比特。在步驟S20,對輸入和校驗(yàn)比特進(jìn)行比較。在步驟S22,提供指示輸入和校驗(yàn)比特是否相等的輸出信號。在等待步驟S24之后,重復(fù)步驟S18和步驟S22之間的完整性控制。
權(quán)利要求
1.具有多個非易失性存儲單元(50,52,62,64,82,84)的存儲器(60,70,80,90,100)的寫控制器(10),包括輸入部分(12),用于接收具有至少一個將被寫入所述存儲器的輸入比特的輸入數(shù)據(jù),并且所述寫控制器(10)適于根據(jù)所述輸入數(shù)據(jù)產(chǎn)生輸出數(shù)據(jù)和分配的地址信息,其中,所述輸出數(shù)據(jù)包括所述輸入數(shù)據(jù)和至少一個分配給所述輸入比特的校驗(yàn)比特,所述校驗(yàn)比特具有與所述輸入比特的值互補(bǔ)的值,以及其中,所述地址信息將所述校驗(yàn)比特分配給存儲單元(62),該存儲單元(62)被分配給存儲所述各自相應(yīng)的輸入比特的所述存儲單元(64)。
2.如權(quán)利要求1所述的寫控制器,適于產(chǎn)生地址信息,該地址信息將所述校驗(yàn)比特分配給與存儲所述各自相應(yīng)的輸入比特的存儲單元(64)相鄰的存儲單元(62)。
3.如權(quán)利要求2所述的寫控制器,其中,所述輸出數(shù)據(jù)包括多個分配給所述輸入比特的校驗(yàn)比特,所述校驗(yàn)比特的數(shù)量在2到8之間,以及其中,所述地址信息將每個校驗(yàn)比特分配給線性排列(60,70,80,90)或類似矩陣排列(100)的存儲單元中各自的存儲單元,從而為每個由輸入比特和分配給其的校驗(yàn)比特組成的集合創(chuàng)建存儲的比特值的線性的或二維的模式。
4.如權(quán)利要求1所述的寫控制器,包括校驗(yàn)比特產(chǎn)生器(14),該校驗(yàn)比特產(chǎn)生器(14)被連接到所述輸入部分(12),并適于確定所述至少一個輸入比特的比特值以及產(chǎn)生至少一個校驗(yàn)比特,每個校驗(yàn)比特具有與所述各自相應(yīng)的被分配的輸入比特的比特值互補(bǔ)的比特值。
5.如權(quán)利要求1所述的寫控制器,包括地址信息產(chǎn)生器(16),該地址信息產(chǎn)生器(16)被連接到所述輸入部分(12)以及所述校驗(yàn)比特產(chǎn)生器(14),并且適于將彼此相鄰的存儲單元(62,64)的各自的地址信息分配給所述至少一個輸入比特和所述分配的至少一個校驗(yàn)比特。
6.具有多個非易失性存儲單元(50,52,62,64,82,84)的存儲器(60,70,80,90,100)的讀控制器(20),包括輸入部分(22),用于從所述存儲器接收讀出數(shù)據(jù),該讀出數(shù)據(jù)具有至少一個輸入比特和至少一個分配給其的校驗(yàn)比特,以及完整性控制單元(24),其適于比較所述至少一個輸入比特和所述至少一個校驗(yàn)比特的值以及提供指示所述編碼比特和所述校驗(yàn)比特的值是否互補(bǔ)的輸出信號。
7.如權(quán)利要求6所述的讀控制器,包括地址產(chǎn)生器(26),該地址產(chǎn)生器(26)適于產(chǎn)生讀請求,該讀請求指向至少一個選中的存儲器單元(64)和所述至少一個存儲所述分配的校驗(yàn)比特的相鄰存儲器單元(62)。
8.具有多個非易失性存儲單元的存儲器的讀/寫控制器,包括如權(quán)利要求1所述的寫控制器和如權(quán)利要求6所述的讀控制器。
9.一種用于將二進(jìn)制編碼寫入非易失性存儲器(60,70,80,90,100)的編程器設(shè)備(30),包括如權(quán)利要求1所述的寫控制器(10),所述寫控制器適于在其輸入部分接收二進(jìn)制編碼。
10.如權(quán)利要求9所述的編程器設(shè)備,包括連接到所述寫控制器的所述輸入部分(12)的編碼產(chǎn)生器(32),該編碼產(chǎn)生器(32)適于產(chǎn)生唯一的標(biāo)識符編碼并將其提供給所述寫控制器的所述輸入部分。
11.一種固態(tài)設(shè)備(40),包括具有多個非易失性存儲單元的存儲器(44),以及連接到所述存儲器的如權(quán)利要求1所述的寫控制器(10)或如權(quán)利要求5所述的讀控制器(20),或同時包括兩者。
12.如權(quán)利要求11所述的固態(tài)設(shè)備,包括磁存儲單元。
13.如權(quán)利要求12所述的固態(tài)設(shè)備,其中,至少兩個相鄰的強(qiáng)磁場存儲單元(82,84)具有比所述存儲器(80)中的所有其他存儲單元更大的尺寸,并且其中,所述寫控制器適于創(chuàng)建地址信息,該地址信息將所述輸入比特和所述分配的至少一個校驗(yàn)比特分配給所述相鄰的強(qiáng)磁場存儲單元(82,84)。
14.用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器的方法,包括下列步驟a)確定至少一個被分配給所述輸入比特的校驗(yàn)比特的比特值,作為與所述輸入比特的比特值互補(bǔ)的比特值(S12),b)根據(jù)預(yù)定的分配算法將非易失性存儲器單元分配給所述輸入比特和所述校驗(yàn)比特(S14),c)以及將所述至少一個校驗(yàn)比特和所述輸入比特寫入根據(jù)步驟(b)分配的所述存儲器的非易失性存儲單元(S16)。
15.如權(quán)利要求14所述的方法,其中,所述數(shù)據(jù)包括分配給所述存儲器的標(biāo)識符。
16.如權(quán)利要求14所述的方法,其中,所述分配算法包括將所述輸入比特和所述校驗(yàn)比特分配給相鄰的存儲單元。
17.如權(quán)利要求14所述的方法,在對包括所述存儲器的管芯進(jìn)行測試之前、之中或之后執(zhí)行所述方法。
18.如權(quán)利要求14所述的方法,其中,在所述寫步驟之后,阻止進(jìn)一步向所述存儲器進(jìn)行寫入。
19.如權(quán)利要求14所述的方法,其中,在提供密碼并利用存儲在包含所述存儲器的芯片上的密碼驗(yàn)證所述提供的密碼的一致性的步驟之后,執(zhí)行所述寫步驟。
20.一種用于控制數(shù)據(jù)完整性的方法,所述數(shù)據(jù)包括至少一個存儲在存儲器的非易失性存儲單元中的輸入比特,所述方法包括下列步驟a)確定至少一個分配給所述輸入比特的校驗(yàn)比特的比特值,作為與所述輸入比特的比特值互補(bǔ)的比特值,b)根據(jù)預(yù)定的分配算法將非易失性存儲器單元分配給所述輸入比特和所述校驗(yàn)比特,c)將所述校驗(yàn)比特和所述輸入比特寫入根據(jù)步驟(b)分配的非易失性存儲單元,d)從所述分配的存儲單元讀取所述輸入比特和所述校驗(yàn)比特(S18),e)比較所述輸入比特和所述校驗(yàn)比特(S20),f)提供指示所述輸入比特和所述校驗(yàn)比特是否互補(bǔ)的信號(S22)。
全文摘要
本發(fā)明涉及一種具有多個非易失性存儲單元的存儲器的寫控制器(10)、一種具有多個非易失性存儲單元的存儲器的讀控制器、一種組合的寫/讀控制器、一種包括具有多個非易失性存儲單元的存儲器的固態(tài)設(shè)備、一種用于將二進(jìn)制編碼寫入非易失性存儲器的編程器設(shè)備、一種用于將包括至少一個輸入比特的數(shù)據(jù)寫入具有非易失性存儲單元的存儲器的方法、以及一種用于控制包括至少一個存儲在存儲器的非易失性存儲單元中的輸入比特的數(shù)據(jù)的完整性的方法。本發(fā)明提供對發(fā)生在非易失性存儲器的內(nèi)容上的改變的可靠檢測。本發(fā)明的基本原理是用至少一個校驗(yàn)比特擴(kuò)展存儲在非易失性存儲器中的信息。校驗(yàn)比特被分配給一個編碼比特,或分配給多個編碼比特中的每一個。該分配最好用于存儲輸入和編碼比特的存儲器單元的分配中。
文檔編號G11C11/16GK1799104SQ200480015371
公開日2006年7月5日 申請日期2004年5月26日 優(yōu)先權(quán)日2003年6月5日
發(fā)明者羅伯特·約赫姆森, 尼古拉斯·蘭貝特, 威廉默斯·F·J·豐蒂恩, 阿德里安努斯·J·M·德尼森 申請人:皇家飛利浦電子股份有限公司