專(zhuān)利名稱(chēng):用內(nèi)嵌的循環(huán)冗余校驗(yàn)校驗(yàn)eeprom數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)存儲(chǔ)器。更具體地說(shuō),本發(fā)明涉及校驗(yàn)存儲(chǔ)在電子可擦除編程只讀存儲(chǔ)器(EEPROM)內(nèi)的數(shù)據(jù)的完整性的方法及設(shè)備。
許多年以來(lái),循環(huán)冗余校驗(yàn)(CRC)已經(jīng)成為計(jì)算機(jī)產(chǎn)業(yè)的組成部分。實(shí)際的算法可以在因特網(wǎng)上免費(fèi)得到。對(duì)循環(huán)冗余校驗(yàn)的簡(jiǎn)要介紹已經(jīng)由加州圣瓊斯市(San Jose)的ACI US公司的Ruffin Scott先生寫(xiě)出。他的技術(shù)說(shuō)明可以在http//www.acius.com/ACIDOC/CMU/CMU79909.HTM上得到。另一個(gè)介紹由Eric-Paul Rebel(埃里克-保羅.瑞貝爾)先生寫(xiě)出,并可以在http//utopia.knoware.nl/users/eprebel/Communication/CRC上得到。但是,對(duì)CRC最好的總體介紹是由Rocksoft Pty有限公司的Ross Williams寫(xiě)出。它被稱(chēng)為“CRC誤差檢測(cè)算法的輕松指南”,可以在ftp//ftp.rocksoft.com/clients/rocksoft/papers/crc_v3.txt上得到。所有文章在這里插入用于參考。
存在不同方法來(lái)計(jì)算用于二進(jìn)制數(shù)據(jù)的校驗(yàn)號(hào),以便能夠例如在經(jīng)過(guò)某些通信信道發(fā)送之后查看數(shù)據(jù)是否改變。循環(huán)冗余校驗(yàn)(CRC)是用于以這種方式保護(hù)二進(jìn)制數(shù)據(jù)的通用方法。存在不同的CRC,在過(guò)去已經(jīng)導(dǎo)致了命名問(wèn)題。
CRC發(fā)生器可以構(gòu)建成一件如
圖1所示的硬件。特定發(fā)生器多項(xiàng)式是初始化為0xFFFF的g(x)=x16+x12+x5+x0。例如,二進(jìn)制數(shù)據(jù)的每個(gè)位(b)在用CRC最高有效位“異或”(XOR)運(yùn)算之后移至CRC寄存器。發(fā)生器的這部分確保CRC的循環(huán)形態(tài)(aspect)。“異或”運(yùn)算結(jié)果也被插入CRC位5和12。在處理位b期間,所有當(dāng)前的CRC位(修正的或未修正的)向左移一位。如果必須處理一字節(jié),則所有8位必須一個(gè)接一個(gè)地進(jìn)行處理。最高有效位首先被處理。
人們可以以軟件構(gòu)建CRC發(fā)生器,它類(lèi)似于硬件方案。該方案單獨(dú)處理每個(gè)位。利用C編程語(yǔ)言,源代碼可以是<pre listing-type="program-listing"><![CDATA[unsigned short crc=0xFFFF;unsigned short temp;unsigned short byte=0x5A;//僅僅作為示例unsigned short index;for(index=0;index<=7;index++){temp=(crc>>15)^(byte>>7);crc<<=1;if(temp){crc^=0x1021;}byte<<=1;}]]></pre>首先計(jì)算b“異或”c15(循環(huán)值)。然后CRC位向左移位(c0成為0)。循環(huán)值必須在c0、c5和c12中進(jìn)行處理。如果循環(huán)值等于1,則位c0、c5和c12同時(shí)通過(guò)利用值0001、0000、0010、0001(0x1021)對(duì)CRC“異或”來(lái)改變。如果循環(huán)值等于0,則CRC與值0000 0000 0000 0000進(jìn)行“異或”運(yùn)算。用0x0000“異或”CRC不會(huì)改變CRC,因此可以跳過(guò)。最后,準(zhǔn)備處理下一位。
只讀存儲(chǔ)器(ROM)是具有即使在掉電的情況下也不會(huì)改變內(nèi)容的簡(jiǎn)單存儲(chǔ)器。該內(nèi)容是在制造期間編寫(xiě)的,并且在以后不可改變的。ROM用于非常高容量控制應(yīng)用,其中通過(guò)在存儲(chǔ)芯片內(nèi)大規(guī)模生產(chǎn)程序而獲得的簡(jiǎn)單性、低單件成本是重要的。
其它通用非易失性存儲(chǔ)器是PROM、EPROM和EEPROM??删幊讨蛔x存儲(chǔ)器(PROM)可以通過(guò)不可逆處理由用戶(hù)進(jìn)行編程;一旦寫(xiě)入,PROM不能改變??刹脸齈ROM(EPROM)是可以通過(guò)強(qiáng)紫外線(xiàn)光的照射允許可逆進(jìn)行的編程。電可擦除PROM(EEPROM)是可以通過(guò)利用重設(shè)內(nèi)部存儲(chǔ)單元的更大電流來(lái)改變。EPROM和EEPROM十分有用,因?yàn)樗鼈兛梢圆皇艿綦姷挠绊?;但是,它們僅能夠非常緩慢地進(jìn)行重新編程(寫(xiě)入),并僅能夠使用有限次的時(shí)間量。EEPROM的進(jìn)一步探討可以在William D.Brown和Joe E.Brewer所著的“非易失性半導(dǎo)體存儲(chǔ)器技術(shù),一個(gè)理解和應(yīng)用NVSM裝置的綜合指南”(IEEEpress,Piscataway,NJ,1998)的第37-39、42-47、67、115-120、129-133、192-193、309以及352頁(yè)中得到,這里引用作參考。
由于缺少對(duì)編程高電壓的良好控制,所以在電池或缺少電池的環(huán)境下,EEPROM的操作可能是不確定的。結(jié)果,誤寫(xiě)入的機(jī)會(huì)大于具有良好控制的環(huán)境的情況。希望知道被存儲(chǔ)的數(shù)據(jù)是否有誤。因此本技術(shù)需要一種用于確保存儲(chǔ)在PROM中的數(shù)據(jù)的完整性的方法和設(shè)備。
本發(fā)明通過(guò)提供至少一個(gè)連接到兩組塊的保持鎖存器(holding latch)來(lái)解決本技術(shù)的固有問(wèn)題。第一組塊包含數(shù)據(jù)。第二組塊包含對(duì)應(yīng)于第一組塊中的數(shù)據(jù)的CRC信息。一旦從第一數(shù)據(jù)塊中讀取數(shù)據(jù),則還要從對(duì)應(yīng)的CRC塊中讀取CRC信息。讀取的數(shù)據(jù)應(yīng)用于CRC算法以產(chǎn)生當(dāng)前CRC值。然后將當(dāng)前CRC值與從對(duì)應(yīng)的CRC塊中獲得的CRC信息進(jìn)行比較。如果兩個(gè)CRC值相同,則認(rèn)為數(shù)據(jù)有效。否則,認(rèn)為該數(shù)據(jù)無(wú)效?;谶@個(gè)結(jié)果,發(fā)送適當(dāng)?shù)男盘?hào)。
通過(guò)以下對(duì)結(jié)合附圖和用于公開(kāi)目的本發(fā)明優(yōu)選實(shí)施例的描述,本發(fā)明的其它和進(jìn)一步的目的、功能和優(yōu)點(diǎn)將會(huì)變得更加清楚。
圖1描述現(xiàn)有技術(shù)的CRC硬件;圖2是本發(fā)明的數(shù)據(jù)塊和CRC塊的示意圖;圖3是本發(fā)明的生成CRC值的方法的流程圖;圖4是根據(jù)本發(fā)明的寫(xiě)入驗(yàn)證(verifiable)信息的方法的流程圖;圖5是根據(jù)本發(fā)明的讀取驗(yàn)證信息的方法的流程圖;本發(fā)明應(yīng)用于PROM、EPROM以及EEPROM。但是,本發(fā)明可以用于任意存儲(chǔ)器類(lèi)型,在其中希望知道包含在存儲(chǔ)器內(nèi)的數(shù)據(jù)是否與寫(xiě)入時(shí)的數(shù)據(jù)相同,或者數(shù)據(jù)在其寫(xiě)入時(shí)間和其讀取時(shí)間之間已經(jīng)被誤用。
用于基于可寫(xiě)EEPROM的RFID標(biāo)記的防損耗(anti-tearing)實(shí)例防損耗問(wèn)題術(shù)語(yǔ)“防損耗”指在電子裝置操作期間該裝置與其電源脫離。這個(gè)問(wèn)題特別集中在由智能卡或任何存儲(chǔ)裝置完成的金融或保安交易中,其中相關(guān)的帳戶(hù)數(shù)據(jù)存儲(chǔ)在卡本身而不是存儲(chǔ)在中央數(shù)據(jù)庫(kù)中。由ATM卡處理的銀行帳戶(hù)數(shù)據(jù)存儲(chǔ)在銀行數(shù)據(jù)庫(kù)中,而不是存儲(chǔ)在ATM卡本身。這種情況不會(huì)存在防損耗問(wèn)題,因?yàn)锳TM卡上的數(shù)據(jù)不會(huì)改變。
如果人們具有遠(yuǎn)程存儲(chǔ)的數(shù)據(jù)庫(kù)而沒(méi)有中央數(shù)據(jù)庫(kù),則需要某種安全裝置(safeguard)來(lái)保證數(shù)據(jù)正確地從數(shù)據(jù)庫(kù)中接收或?qū)懭霐?shù)據(jù)庫(kù)中。這些安全裝置需要了解在交易期間以及在交易之間出現(xiàn)的環(huán)境條件。如果這些智能卡放在錢(qián)夾中或遺留在汽車(chē)?yán)?,則它們會(huì)遇到擠壓、扭曲、溫度、沖擊和濕度的環(huán)境因素。包含在這種卡中數(shù)據(jù)的完整性在這些壓力之后不可能被認(rèn)為是正確的。
本發(fā)明利用CRC保護(hù),從而內(nèi)容的遲后查詢(xún)可以確定存儲(chǔ)的數(shù)據(jù)與原先寫(xiě)入的數(shù)據(jù)相同,還是它已經(jīng)改變。這個(gè)概念廣泛地由硬盤(pán)驅(qū)動(dòng)器部門(mén)使用,盡管直至本發(fā)明的出現(xiàn)為止,它還沒(méi)有應(yīng)用于可編程只讀存儲(chǔ)器。
EEPROM操作EEPROM狀態(tài)通過(guò)將高電壓施加于其一定數(shù)量的時(shí)間來(lái)改變。經(jīng)過(guò)薄絕緣層的高電壓使得小數(shù)量的電荷穿過(guò)薄氧化物層。當(dāng)足夠的電荷已經(jīng)穿過(guò)該氧化物層時(shí),EEPROM的浮動(dòng)?xùn)派系慕Y(jié)果電壓(resulting voltage)的變化使得數(shù)字?jǐn)?shù)據(jù)狀態(tài)改變。數(shù)據(jù)狀態(tài)通過(guò)導(dǎo)通單元并讀取單元電流從EEPROM讀取。當(dāng)柵極上的正電荷引起電流時(shí),n通道單元的浮動(dòng)?xùn)派系呢?fù)電荷不會(huì)引起電流流動(dòng)。數(shù)據(jù)從0變成1或相反情況的點(diǎn),在某種程度上是任意的,而且依賴(lài)于在感應(yīng)放大器中測(cè)量的電流閾值。
EEPROM的另一個(gè)方面是其數(shù)據(jù)的保存。電荷僅可以保存在浮動(dòng)?xùn)派嫌邢迶?shù)量的時(shí)間,盡管這通常是幾百年。因此,我們不會(huì)希望在EEPROM開(kāi)始讀取正確值的第一瞬間停止編程單元,因?yàn)樵谝院髸r(shí)間,某些單元可能偏離其狀態(tài)。電荷損失由于更高的溫度而加劇,當(dāng)然每個(gè)單元將會(huì)具有不同的電荷損失特性。已知這種如何編程EEPROM的情況,總是希望確保對(duì)EEPROM足夠好地編程,以便在以后的使用壽命中電荷損失不會(huì)使其數(shù)據(jù)失效。如果不能保護(hù)好穩(wěn)健的編程周期,則在以后只知道有效無(wú)效的日期是否足夠。本發(fā)明解決了有效/無(wú)效的狀態(tài)問(wèn)題。
無(wú)線(xiàn)EEPROM操作當(dāng)電壓和操作電源來(lái)自RF場(chǎng)(field)時(shí),保證足夠高的電壓以編程卡中的EEPROM的問(wèn)題變得更加嚴(yán)重。相對(duì)于需要物理電子觸面(contact)的卡,近似RF處理(transaction)卡具有方便的優(yōu)點(diǎn)。具體地說(shuō),人們不必向機(jī)器交出他們的卡并希望它們將其交還。而且,卡上的物理觸面會(huì)引起不適當(dāng)?shù)哪p,并有可能被損壞。RF處理的不利方面是RF場(chǎng)的每個(gè)點(diǎn)的場(chǎng)強(qiáng)是未知的,并且隨時(shí)間可以改變。詢(xún)問(wèn)器線(xiàn)圈(interrogator coil)的標(biāo)記間距和方向?qū)⒋_定場(chǎng)強(qiáng)。標(biāo)記可以只進(jìn)入或處于可用的RF場(chǎng)的邊緣。標(biāo)記可以在這個(gè)場(chǎng)內(nèi)移動(dòng),或者它可以在試圖進(jìn)行操作時(shí)離開(kāi)該場(chǎng)。如果具有多個(gè)詢(xún)問(wèn)器線(xiàn)圈則形成場(chǎng)“null(零)”。因此,RF環(huán)境的不確定性很難確定高電壓和時(shí)間是否足夠用于適當(dāng)?shù)赝瓿删幊滩僮鳌?br>
本發(fā)明克服了上述問(wèn)題中的一些問(wèn)題。盡管這些“認(rèn)可”高電壓以便EEPROM不會(huì)無(wú)法編程的方法已經(jīng)是現(xiàn)有技術(shù)的課題,但是那些現(xiàn)有技術(shù)的方法不會(huì)形成穩(wěn)健操作。如果人們想要在編程之前執(zhí)行預(yù)檢(pre-check)以認(rèn)定高電壓為衰耗(die),則在編程期間不保證高電壓對(duì)每個(gè)單元是足夠的。預(yù)檢可以工作但高電壓可能會(huì)在編程期間消失。而且,預(yù)檢會(huì)占用相當(dāng)數(shù)量的時(shí)間。例如,如果人們希望對(duì)高電壓執(zhí)行預(yù)檢和后檢(post-check),則這會(huì)有用。但是,測(cè)試處理突出了有關(guān)電壓檢測(cè)方案的另一個(gè)不確定性你如何知道高電壓電平和時(shí)間對(duì)特定單元的成功編程而言是十分足夠的?由于處理變化,EEPROM單元甚至可以一位一位地變化,并且真正知道的途徑只有之后讀取數(shù)據(jù)。這已經(jīng)成為智能卡集成電路的公知問(wèn)題,即確定高電壓足夠用于編程。本發(fā)明的一個(gè)安全裝置是在程序處理之后,RF標(biāo)記在編程之后立刻讀取回EEPROM內(nèi)容。如果詢(xún)問(wèn)器不能在處理時(shí)間取回正確的數(shù)據(jù),則響起警報(bào),從而提醒人們發(fā)生了不適當(dāng)事件。這對(duì)于立刻檢查很好,但人們?nèi)绾未_定幾個(gè)月后讀取的數(shù)據(jù)與現(xiàn)在寫(xiě)入的數(shù)據(jù)相同?這個(gè)問(wèn)題由本發(fā)明解決。
現(xiàn)在回到附圖。在本發(fā)明中,如圖2所示存儲(chǔ)器被描述成對(duì)于每個(gè)塊都具有數(shù)據(jù)部分和對(duì)應(yīng)CRC部分。盡管在不脫離所附權(quán)利要求的范圍和實(shí)質(zhì)的情況下的可選實(shí)施例中可以是其它類(lèi)型的存儲(chǔ)器,然而本發(fā)明的優(yōu)選實(shí)施例是EEPROM存儲(chǔ)器。每個(gè)數(shù)據(jù)塊(22、24、26、...、28)具有相關(guān)的CRC塊(分別為32、34、36、...、38)。另外描述的是保持將要寫(xiě)入存儲(chǔ)器中的數(shù)據(jù)的保持鎖存器。這些鎖定器是直接用于保持將要寫(xiě)入的數(shù)據(jù),并不真正與本發(fā)明的方法相關(guān)。任何鎖定器或其等同裝置可用于本發(fā)明。
CRC值的生成在圖3中描述。首先,數(shù)據(jù)40通過(guò)隨后生成CRC值44的CRC計(jì)算器發(fā)送。在優(yōu)選實(shí)施例中,CRC塊將包含在寫(xiě)入命令正在發(fā)送到該裝置時(shí)計(jì)算的CRC值。因此,每當(dāng)寫(xiě)入數(shù)據(jù)塊時(shí),CRC計(jì)算器計(jì)算在命令正在發(fā)送和當(dāng)編程實(shí)際發(fā)生時(shí)的CRC值,CRC被編程到與數(shù)據(jù)塊有關(guān)的CRC塊中。這個(gè)命令通常包括數(shù)據(jù)塊和數(shù)據(jù)地址。結(jié)果,數(shù)據(jù)塊對(duì)應(yīng)的CRC值將包含與該塊本身的數(shù)據(jù)以及該塊的地址相關(guān)的信息。
寫(xiě)入操作將包括向裝置發(fā)送命令,該裝置在CRC發(fā)生器42于命令期間正在計(jì)算CRC值44時(shí)會(huì)放置將要寫(xiě)入到數(shù)據(jù)保持鎖存器12。注意,正在計(jì)算的CRC值44是通常包括寫(xiě)入操作(op)代碼、存儲(chǔ)地址以及存儲(chǔ)數(shù)據(jù)的完整寫(xiě)入命令。命令(包括數(shù)據(jù)和塊地址)隨傳輸?shù)臋z查CRC發(fā)送。如果結(jié)果CRC與檢查CRC相匹配,則該結(jié)果CRC隨塊數(shù)據(jù)裝載到一個(gè)或多個(gè)保持鎖存器中。整個(gè)保持鎖存器數(shù)據(jù)(附加了CRC值的數(shù)據(jù))同時(shí)被寫(xiě)入EEPROM。
具體的寫(xiě)入操作在圖4中描述。首先,將要寫(xiě)入EEPROM的數(shù)據(jù)在步驟404中提供。接著,利用提供的數(shù)據(jù)在步驟406中計(jì)算CRC值。之后,在步驟408,將數(shù)據(jù)寫(xiě)入EEPROM的數(shù)據(jù)塊的數(shù)據(jù)部分中。最后,在步驟410中,將CRC值寫(xiě)入數(shù)據(jù)塊的CRC部分,并且處理在步驟412結(jié)束。
當(dāng)讀取數(shù)據(jù)塊時(shí),讀取該數(shù)據(jù)塊和相關(guān)的CRC塊。讀取子系統(tǒng)必須會(huì)計(jì)算該CRC塊中的數(shù)據(jù),并確定CRC是否正確。隨后,為了進(jìn)行讀取處理,讀取器子系統(tǒng)1)發(fā)送讀取命令;2)從存儲(chǔ)器中讀取數(shù)據(jù)塊,包括正常的數(shù)據(jù)和CRC值;3)為將剛剛讀取的數(shù)據(jù)寫(xiě)入的寫(xiě)入命令計(jì)算CRC;以及4)用比較器將計(jì)算的CRC與從存儲(chǔ)器讀出的CRC值進(jìn)行比較。比較器是現(xiàn)有技術(shù)中已知的簡(jiǎn)單電路,它用于比較兩個(gè)相同規(guī)模的數(shù)據(jù)。比較器僅僅得出兩個(gè)數(shù)據(jù)是否相同。來(lái)自比較器的信號(hào)可以用于為其它電路提供該數(shù)據(jù)是有效還是無(wú)效的信號(hào)。
如果最近計(jì)算的CRC值(基于讀取的數(shù)據(jù))與從存儲(chǔ)器讀取的CRC值不匹配,則下述條件之一已經(jīng)發(fā)生1)數(shù)據(jù)塊中的數(shù)據(jù)已經(jīng)改變;2)存儲(chǔ)在CRC塊中的CRC值已經(jīng)改變;或者3)裝置將數(shù)據(jù)寫(xiě)入錯(cuò)誤的塊中。在任何情況下,該數(shù)據(jù)被認(rèn)為是無(wú)效,并且發(fā)送適當(dāng)?shù)男盘?hào)。例如,如果數(shù)據(jù)被認(rèn)為是有效,則可以發(fā)送VALID(有效)信號(hào),否則可以發(fā)送INVALID(無(wú)效)信號(hào)?;蛘?,信號(hào)僅在數(shù)據(jù)被認(rèn)為是有效時(shí)發(fā)送。在這種情況下,電路必須尋找該信號(hào),而且如果沒(méi)有出現(xiàn),則認(rèn)為數(shù)據(jù)是有效的,并進(jìn)行相應(yīng)的處理。在另一可選實(shí)施例中,信號(hào)僅在數(shù)據(jù)被認(rèn)為是無(wú)效時(shí)發(fā)送。在這種情況下,電路必須尋找該信號(hào),而且如果出現(xiàn),則認(rèn)為數(shù)據(jù)是無(wú)效的,并進(jìn)行相應(yīng)的處理。
本發(fā)明的讀取操作在圖5中描述。具體地說(shuō),操作在步驟504開(kāi)始,其中數(shù)據(jù)從EEPROM的數(shù)據(jù)塊的數(shù)據(jù)部分中讀取。接著,在步驟506中,從與先前讀取的數(shù)據(jù)塊的數(shù)據(jù)部分相對(duì)應(yīng)的數(shù)據(jù)塊的CRC部分讀取CRC值。本領(lǐng)域的技術(shù)人員會(huì)理解上述兩個(gè)讀取操作可以減少成單個(gè)讀取操作,其中讀取單個(gè)數(shù)據(jù)流,然后分成數(shù)據(jù)分量(component)和CRC分量。在任何情況下,當(dāng)前CRC值在步驟508利用CRC計(jì)算器進(jìn)行計(jì)算。比較器在步驟510用于比較當(dāng)前CRC值(基于讀取的數(shù)據(jù))和讀取的CRC值(基于寫(xiě)入的數(shù)據(jù))。在步驟512中確定兩個(gè)CRC值是否相等(即該數(shù)據(jù)是否有效)。如果測(cè)試為正(是)則執(zhí)行步驟514,發(fā)送VALID信號(hào)。否則,執(zhí)行過(guò)程進(jìn)行到步驟516并發(fā)送INVALID信號(hào),而且處理在步驟518結(jié)束。本領(lǐng)域的技術(shù)人員會(huì)理解,在不脫離本發(fā)明的實(shí)質(zhì)的情況下,本發(fā)明的可選實(shí)施例可以?xún)H當(dāng)確定為有效數(shù)據(jù)(即,CRC值相等)時(shí)或者僅當(dāng)確定為無(wú)效數(shù)據(jù)(即,CRC值不相等)時(shí)發(fā)送信號(hào)。
因此,本發(fā)明很好地用于實(shí)現(xiàn)上述目的并獲得所述的功能和優(yōu)點(diǎn),以及其內(nèi)在的其它益處。盡管已經(jīng)敘述和說(shuō)明了本發(fā)明并參照發(fā)明的具體優(yōu)選實(shí)施例限定了本發(fā)明,但是這種參考不意味著本發(fā)明的限制,而且也無(wú)法推出這種限制。對(duì)于相關(guān)領(lǐng)域的普通技術(shù)人員而言,本發(fā)明可以考慮在形式和/或功能上進(jìn)行各種變形、改進(jìn)、修改以及等同替代。本發(fā)明說(shuō)明和描述的優(yōu)選實(shí)施例僅用于示例,而不用于限定發(fā)明范圍。因此,本發(fā)明僅通過(guò)所附權(quán)利要求的實(shí)質(zhì)和范圍來(lái)限定,在各方面對(duì)等同物給出全面的認(rèn)識(shí)。
權(quán)利要求
1.一種具有可驗(yàn)證的可編程只讀存儲(chǔ)器的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括在所述可編程只讀存儲(chǔ)器中的至少一個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有數(shù)據(jù)部分,構(gòu)建和排列所述數(shù)據(jù)部分用于存儲(chǔ)數(shù)據(jù),所述數(shù)據(jù)塊還包括CRC部分,所述CRC部分對(duì)應(yīng)于所述數(shù)據(jù)部分,構(gòu)建和排列所述CRC部分用于包含CRC值;CRC計(jì)算器,構(gòu)建和排列所述CRC計(jì)算器用于根據(jù)從所述數(shù)據(jù)部分讀取的數(shù)據(jù)生成當(dāng)前CRC值;以及比較器,構(gòu)建和排列所述比較器用于將當(dāng)前CRC值與存儲(chǔ)在所述CRC部分中的所述CRC值比較;其中根據(jù)所述當(dāng)前CRC值是否等于存儲(chǔ)在所述CRC塊中的所述CRC值發(fā)送信號(hào)。
2.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述可編程只讀存儲(chǔ)器是PROM。
3.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述可編程只讀存儲(chǔ)器是EPROM。
4.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述可編程只讀存儲(chǔ)器是EEPROM。
5.如權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述所述系統(tǒng)還包括連接到所述數(shù)據(jù)塊以及所述CRC塊的保持鎖存器。
6.一種用于驗(yàn)證從可編程只讀存儲(chǔ)器中讀取的數(shù)據(jù)的方法,所述方法包括以下步驟a)從所述可編程只讀存儲(chǔ)器中的數(shù)據(jù)塊的數(shù)據(jù)部分讀取數(shù)據(jù);b)從所述數(shù)據(jù)塊的CRC部分讀取CRC值,所述CRC部分對(duì)應(yīng)于所述數(shù)據(jù)部分;c)利用從所述數(shù)據(jù)部分讀取的所述數(shù)據(jù)計(jì)算當(dāng)前CRC值;d)將當(dāng)前CRC值與從所述數(shù)據(jù)塊讀取的所述CRC值比較;e)發(fā)送響應(yīng)于所述當(dāng)前CRC值與從所述數(shù)據(jù)塊讀取的所述CRC值的比較結(jié)果的信號(hào)。
7.一種用于將驗(yàn)證數(shù)據(jù)寫(xiě)入可編程只讀存儲(chǔ)器的方法,所述方法包括以下步驟a)提供數(shù)據(jù);b)根據(jù)所述數(shù)據(jù)計(jì)算CRC值;c)將所述數(shù)據(jù)寫(xiě)入所述可編程只讀存儲(chǔ)器的數(shù)據(jù)塊的數(shù)據(jù)部分;以及d)將所述CRC值寫(xiě)入所述數(shù)據(jù)塊的CRC部分。
8.一種具有EEPROM存儲(chǔ)器的無(wú)線(xiàn)射頻識(shí)別(RFID)系統(tǒng),所述RFID系統(tǒng)還包括在所述EEPROM存儲(chǔ)器中的至少一個(gè)數(shù)據(jù)塊,所述數(shù)據(jù)塊具有數(shù)據(jù)部分,構(gòu)建和排列所述數(shù)據(jù)部分用于存儲(chǔ)數(shù)據(jù),所述數(shù)據(jù)塊還包括CRC部分,所述CRC部分對(duì)應(yīng)于所述數(shù)據(jù)部分,構(gòu)建和排列所述CRC部分用于包含CRC值;CRC計(jì)算器,構(gòu)建和排列所述CRC計(jì)算器用于根據(jù)從所述數(shù)據(jù)部分讀取的數(shù)據(jù)生成當(dāng)前CRC值;以及比較器,構(gòu)建和排列所述比較器用于將當(dāng)前CRC值與存儲(chǔ)在所述CRC部分中的所述CRC值比較;其中響應(yīng)于所述當(dāng)前CRC值與存儲(chǔ)在所述CRC塊中的所述CRC值的比較結(jié)果發(fā)送信號(hào),所述比較結(jié)果用于識(shí)別所述數(shù)據(jù)塊中的所述數(shù)據(jù)是否有效。
全文摘要
一種用于確定存儲(chǔ)在PROM中數(shù)據(jù)的完整性的方法和設(shè)備,其中PROM配置了至少一個(gè)連接到兩組塊的保持鎖存器。第一組塊包含數(shù)據(jù)。第二組塊包含對(duì)應(yīng)于第一組塊中的數(shù)據(jù)的CRC信息。一旦從第一數(shù)據(jù)塊中讀取數(shù)據(jù),則還從對(duì)應(yīng)的CRC塊中讀取CRC信息。將讀取的數(shù)據(jù)應(yīng)用于CRC算法以產(chǎn)生當(dāng)前CRC值。當(dāng)前CRC值與從對(duì)應(yīng)的CRC塊中獲得的CRC信息進(jìn)行比較。如果兩個(gè)CRC值相同,則數(shù)據(jù)被認(rèn)為有效。否則,該數(shù)據(jù)被認(rèn)為無(wú)效。
文檔編號(hào)G06F12/16GK1436308SQ01802245
公開(kāi)日2003年8月13日 申請(qǐng)日期2001年6月20日 優(yōu)先權(quán)日2000年6月22日
發(fā)明者塞繆爾·E·亞歷山大, 羅納德·D·薩爾斯基 申請(qǐng)人:密克羅奇普技術(shù)公司