專(zhuān)利名稱(chēng):延長(zhǎng)貯存在非易失存儲(chǔ)器中順序計(jì)數(shù)器單元壽命的方法與設(shè)備的制作方法
背景技術(shù):
I.發(fā)明領(lǐng)域本發(fā)明一般涉及電子計(jì)數(shù)器,尤其涉及用持續(xù)使用后會(huì)耗盡的存儲(chǔ)器件或單元構(gòu)制的電子計(jì)數(shù)器,而且更涉及可延長(zhǎng)用于構(gòu)制計(jì)數(shù)器的存儲(chǔ)單元使用壽命的新穎電子計(jì)數(shù)器。
II.相關(guān)技術(shù)的說(shuō)明EEPROM等非易失存儲(chǔ)器具有耗盡的存儲(chǔ)單元。當(dāng)將這類(lèi)非易失存儲(chǔ)器里的單元用于構(gòu)制連續(xù)寫(xiě)的典型計(jì)數(shù)器時(shí),代表計(jì)數(shù)器最低位的存儲(chǔ)單元寫(xiě)得最多,這樣使用會(huì)很快耗盡。為了保持此計(jì)數(shù)器,在存儲(chǔ)單元耗盡時(shí),必須分配新的存儲(chǔ)位置。在許多電子設(shè)備中,由于有效的非易失存儲(chǔ)單元數(shù)量有限,一般不希望為了補(bǔ)償耗盡的單元而對(duì)計(jì)數(shù)器分配另外的存儲(chǔ)單元。因此,提供的計(jì)數(shù)器能以非易失存儲(chǔ)器構(gòu)制并使得計(jì)數(shù)器使用的存儲(chǔ)單元的損耗最小是有利的。
發(fā)明內(nèi)容
本發(fā)明針對(duì)用于更新與存貯計(jì)數(shù)值的方法與設(shè)備。根據(jù)多個(gè)N計(jì)數(shù)器更新信號(hào)的每個(gè)信號(hào),從多個(gè)二進(jìn)制存儲(chǔ)單元里選擇某一個(gè)二進(jìn)制存儲(chǔ)單元,并將其狀態(tài)翻轉(zhuǎn)。在收到N個(gè)計(jì)數(shù)器更新信號(hào)后,與多個(gè)二進(jìn)制存儲(chǔ)單元分開(kāi)的寄存器增數(shù),然后根據(jù)另外的計(jì)數(shù)器更新信號(hào)重復(fù)該過(guò)程。在過(guò)程每次重復(fù)期間,平均以同樣的次數(shù)翻轉(zhuǎn)每個(gè)二進(jìn)制存儲(chǔ)單元。多個(gè)二進(jìn)制存儲(chǔ)單元狀態(tài)和寄存器值代表任何時(shí)刻的計(jì)數(shù)器值。
根據(jù)一較佳實(shí)施例,利用一換算表有助于確定任一給定時(shí)刻的計(jì)數(shù)值。在該實(shí)施例中,對(duì)換算表應(yīng)用多個(gè)二進(jìn)制存儲(chǔ)單元狀態(tài)來(lái)確定索引值,然后將該索引值與循環(huán)計(jì)數(shù)值相加而確定計(jì)數(shù)器值。也可將索引值、循環(huán)計(jì)數(shù)值與偏移值相加來(lái)確定該計(jì)數(shù)器值。
根據(jù)另一個(gè)方面,在計(jì)數(shù)器中一個(gè)或多個(gè)獨(dú)立的存儲(chǔ)單元變成無(wú)效時(shí),本發(fā)明可以延長(zhǎng)計(jì)數(shù)器的壽命。在該實(shí)施例中,在識(shí)別出一個(gè)二進(jìn)制存儲(chǔ)單元為無(wú)效后,可以根據(jù)該無(wú)效的二進(jìn)制存儲(chǔ)單元修正換算表,并從過(guò)程以后重復(fù)期間可以選擇的多個(gè)二進(jìn)制存儲(chǔ)單元中除去該無(wú)效的二進(jìn)制存儲(chǔ)單元。
附圖簡(jiǎn)介通過(guò)以下結(jié)合附圖所作的詳細(xì)描述,本發(fā)明的特征、目的和優(yōu)點(diǎn)就更清楚了,圖中用相同的標(biāo)號(hào)表示相應(yīng)的單元,其中
圖1是本發(fā)明一較佳實(shí)施例中延長(zhǎng)單元壽命的計(jì)數(shù)器的框圖。
圖2是表示本發(fā)明一實(shí)例的循環(huán)的表,其中根據(jù)一連串計(jì)數(shù)器更新脈沖來(lái)翻轉(zhuǎn)本發(fā)明的ADDER位。
圖3是按本發(fā)明的一個(gè)較佳實(shí)施例的流程圖,表示圖1所示計(jì)數(shù)器的增數(shù)方法。
圖4是一流程圖,表示從圖1所示計(jì)數(shù)器中取出計(jì)數(shù)器值的方法。
較佳實(shí)施例的詳細(xì)描述現(xiàn)在參照?qǐng)D1,這是按本發(fā)明的一較佳實(shí)施例中延長(zhǎng)單元壽命的計(jì)數(shù)器100的框圖。計(jì)數(shù)器包括非易失存儲(chǔ)器10,它包括在對(duì)應(yīng)于ADDER位序列的存儲(chǔ)器部分10a中的多個(gè)二進(jìn)制存儲(chǔ)單元(位),第二部分10b對(duì)應(yīng)于存貯COUNT值的普通寄存器或二進(jìn)制計(jì)數(shù)器,第三部分10c對(duì)應(yīng)于存貯OFFSET值的普通寄存器。非易失存儲(chǔ)器的部分10a、10b、10c用控制器20提供的地址信號(hào)訪問(wèn)。如下面更全面解釋的那樣,控制器20有選擇地更新貯存在典型計(jì)數(shù)器里的ADDER位序列、COUNT值和OFFSET值。
舉個(gè)例說(shuō),計(jì)數(shù)器100的作用如下??刂破?0通過(guò)把OFFSET值置成開(kāi)始值,把用于COUNT值的寄存器置零,并把ADDER位序列中所有的位置零,使計(jì)數(shù)器初始化至開(kāi)始值。接著,根據(jù)多個(gè)N計(jì)數(shù)器更新信號(hào)的每個(gè)信號(hào),控制器20從ADDER位序列中選出某個(gè)二進(jìn)制存儲(chǔ)單元,并且翻轉(zhuǎn)其狀態(tài)。控制器20在收到N個(gè)計(jì)數(shù)器更新信號(hào)后,對(duì)用于存貯COUNT值的寄存器增數(shù),然后根據(jù)其它計(jì)數(shù)器更新信號(hào)重復(fù)該過(guò)程。重要的是,正如下面更全面說(shuō)明的那樣,在過(guò)程每次重復(fù)期間,平均以同樣的次數(shù)翻轉(zhuǎn)用于構(gòu)成ADDER位序列的每個(gè)二進(jìn)制存儲(chǔ)單元,從而在所有構(gòu)成ADDER位序列的位之間分布耗損。ADDER位序列的狀態(tài)和保持COUNT與OFFSET值的寄存器,代表任何規(guī)定時(shí)刻計(jì)數(shù)器100存貯的值。如果對(duì)ADDER位序列每次連續(xù)的寫(xiě)操作(如每次翻轉(zhuǎn)序列中某一位時(shí))以某種方式使被寫(xiě)單元老化,此方式在構(gòu)成ADDER位序列的所有存儲(chǔ)單元之間分布耗損,則構(gòu)成ADDER位序列的二進(jìn)制存儲(chǔ)單元序列在減少單元磨砂方面非常有效。對(duì)于成組擦除和從擦除值開(kāi)始隨每位變化而老化的非易失存儲(chǔ)器,可最有效地把ADDER位序列表示成擦除位序列,其中該序列中的一位在每次計(jì)數(shù)器100增數(shù)時(shí)翻轉(zhuǎn)。位以任何特定次序改變是無(wú)關(guān)緊要的。如果ADDER位序列里的任何位因老化或其它故障去擦除或?qū)憼顟B(tài)時(shí)卡住了,可以考慮將ADDER位序列范圍減少每個(gè)卡住的位。由于控制器20從ADDER位序列中除去了每個(gè)卡住的位(即磨損位),它就響應(yīng)于每個(gè)其它計(jì)數(shù)器更新信號(hào)只用ADDER位序列中的剩余位對(duì)ADDER位序列增數(shù)。
對(duì)于每次修正數(shù)據(jù)(如一存貯位)都發(fā)生老化的非易失存儲(chǔ)器,最好用某種序列來(lái)代表ADDER位序列,其中一個(gè)數(shù)據(jù)隨著計(jì)數(shù)器100的每次增數(shù)改變狀態(tài)(如翻轉(zhuǎn))。數(shù)據(jù)狀態(tài)變化的序列應(yīng)該是循環(huán)的,從最小ADDER位序列值增加到最大ADDER位序列值,不會(huì)對(duì)任何特定數(shù)造成任額外的老化。相反地,數(shù)據(jù)翻轉(zhuǎn)的序列將磨損分布于所有代表該ADDER位序列的數(shù)據(jù)。符合這一準(zhǔn)則的位翻轉(zhuǎn)循環(huán)很多,通過(guò)搜索深度為N的二進(jìn)制樹(shù),可以發(fā)現(xiàn)整組序列,其中二進(jìn)制樹(shù)的每個(gè)節(jié)點(diǎn)代表從前一節(jié)點(diǎn)的一個(gè)數(shù)據(jù)改變。
現(xiàn)在參照?qǐng)D2,圖示的表格表示本發(fā)明的一實(shí)例的示例性循環(huán),其中本發(fā)明的ADDER位響應(yīng)于一連串控制器20收到的計(jì)數(shù)器更新脈沖而翻轉(zhuǎn)。在圖2示出的實(shí)例中,ADDER位序列長(zhǎng)度為三位,序列中數(shù)據(jù)狀態(tài)變化的循環(huán)長(zhǎng)度為8(N=8)。因此,在圖2實(shí)例中,ADDER位序列中位的狀態(tài)每隔八個(gè)計(jì)數(shù)器更新信號(hào)就重復(fù)。在循環(huán)中接收到最后一個(gè)計(jì)數(shù)器更新信號(hào)后,ADDER位序列中位的狀態(tài)代表的END_OF_CYCLE值,用來(lái)指示該COUNT值應(yīng)響應(yīng)于下一個(gè)計(jì)數(shù)器更新信號(hào)作增數(shù)(下面作詳述)。
本領(lǐng)域的技術(shù)人員應(yīng)該理解,可以用長(zhǎng)度超過(guò)三位的ADDER位序列構(gòu)成本發(fā)明的ADDER位序列。他們還應(yīng)理解,可以用二進(jìn)制存儲(chǔ)單元以外的存儲(chǔ)單元(即可以采用兩種狀態(tài)以上的存儲(chǔ)單元)構(gòu)制ADDER位序列。ADDER位序列長(zhǎng)度和序列中各數(shù)據(jù)的狀態(tài)數(shù)的選擇,可以認(rèn)為是設(shè)計(jì)選擇的事項(xiàng)。本發(fā)明關(guān)注的是響應(yīng)于每一循環(huán)的計(jì)數(shù)器更新信號(hào),將磨損均勻地分布于所有供ADDER位序列使用的存儲(chǔ)單元。
現(xiàn)在參照?qǐng)D3,圖示為本發(fā)明一較佳實(shí)施例的流程圖,表示圖1示出的計(jì)數(shù)器的增數(shù)方法300。方法300最好在控制器20上以軟件實(shí)施。在步驟310,控制器20通過(guò)把OFFSET值置成開(kāi)始值、把COUNT值使用的寄存器置零和把ADDER位序列的所有位置零,使計(jì)數(shù)器100初始化成開(kāi)始值。在計(jì)數(shù)器100的開(kāi)始值為零的情況下(圖3所示),OFFSET值將置成零。然而,本領(lǐng)域的技術(shù)人員應(yīng)明白,在步驟310中,通過(guò)把某個(gè)相應(yīng)值放入用于存貯OFFSET值的寄存器里,可將計(jì)數(shù)器100的開(kāi)始值置成任意選擇的值。接著,在收到計(jì)數(shù)器更新信號(hào)(步驟320)之后,在步驟330,將ADDER位序列中的位狀態(tài)與END_OF_CYCLE值作比較。若ADDER位序列的位與END_OF_CYCLE值相同,就在步驟340對(duì)COUNT值增數(shù)。由于COUNT值較佳地貯存在普通寄存器里,所以該值以普通方式增數(shù)。在步驟350和360,從ADDER位序列中選出某一位,并按某種循環(huán)將其翻轉(zhuǎn)(如上述和圖2所示),其中在循環(huán)每次重復(fù)期間,平均以同樣的次數(shù)翻轉(zhuǎn)每個(gè)構(gòu)成該ADDER位序列的存儲(chǔ)單元。
ADDER位序列的狀態(tài)和保持COUNT與OFFSET值的寄存器,都代表計(jì)數(shù)器100在任何指定時(shí)刻所存貯的值,而且該信息被控制器20用來(lái)確定計(jì)數(shù)器100在任何指定時(shí)刻所存貯的值?,F(xiàn)在參照?qǐng)D4,該方法400的流程圖用于從圖1所示計(jì)數(shù)器里取出計(jì)數(shù)值。方法400最好在控制器20上以軟件實(shí)施。在步驟410,控制器20從存儲(chǔ)器10里取出OFFSET與COUNT值和ADDER位序列。接著在步驟420,從ADDER位序列中的所有位產(chǎn)生某個(gè)數(shù)值,該數(shù)值用來(lái)索引查找表或換算表,而表輸出的值(ADDER值)代表自從最近一次到達(dá)END_OF_CYCLE值以來(lái)ADDER位序列增數(shù)的次數(shù)。在ADDER位序列中有一個(gè)或多個(gè)位卡住或磨損的情況中,考慮到失去的位,對(duì)換算表作修正。接著在步驟430,控制器將COUNT寄存器里貯存的值乘上對(duì)ADDER位序列增數(shù)使用的循環(huán)長(zhǎng)度,算出COUNT值,在圖2實(shí)例中,循環(huán)長(zhǎng)度N=4。最后在步驟440,通過(guò)將ADDER值(步驟420)、COUNT值(步驟430)和取自存儲(chǔ)器的OFFSET值相加,確定計(jì)數(shù)器100存貯的值。
上面對(duì)較佳實(shí)施例的描述,可讓本領(lǐng)域的任何技術(shù)人員掌握和使用本發(fā)明。本領(lǐng)域的技術(shù)人員顯然明白上述諸實(shí)施例的各種修改,而且這里確定的一般原理可以應(yīng)用于其它實(shí)施例而無(wú)須利用創(chuàng)新才智。因此,本發(fā)明并不限于這里示出的方法和設(shè)備,而是按照下面權(quán)項(xiàng)提出的最廣泛的范圍。
權(quán)利要求
1.一種更新和存貯計(jì)數(shù)器值的方法,其特征在于包括以下步驟(A)響應(yīng)于多個(gè)N計(jì)數(shù)器更新信號(hào)的每個(gè)信號(hào),從多個(gè)二進(jìn)制存儲(chǔ)單元里選擇一個(gè)二進(jìn)制存儲(chǔ)單元,并且翻轉(zhuǎn)所選二進(jìn)制存儲(chǔ)單元的狀態(tài);和(B)在步驟(A)之后,對(duì)寄存器值增數(shù)并重復(fù)步驟(A);其中計(jì)數(shù)值在任何指定時(shí)刻都由多個(gè)二進(jìn)制存儲(chǔ)單元的狀態(tài)和寄存器值表示,并且在步驟(A)每次重復(fù)期間,平均以同樣的次數(shù)翻轉(zhuǎn)多個(gè)二進(jìn)制存儲(chǔ)單元的每個(gè)存儲(chǔ)單元。
2.權(quán)項(xiàng)1的方法,其特征在于還包括步驟(C)通過(guò)對(duì)換算表應(yīng)用多個(gè)二進(jìn)制存儲(chǔ)單元的狀態(tài),確定索引值;(D)將索引值與循環(huán)計(jì)數(shù)相加,確定計(jì)數(shù)器值。
3.權(quán)項(xiàng)2的方法,其特征在于還包括步驟(E)把多個(gè)二進(jìn)制存儲(chǔ)單元之一認(rèn)定為無(wú)效,并根據(jù)被認(rèn)定為無(wú)效的該二進(jìn)制存儲(chǔ)單元修正換算表;(F)在步驟(E)之后,從在步驟(A)以后重復(fù)期間可以選擇的多個(gè)二進(jìn)制存儲(chǔ)單元中除去被認(rèn)定無(wú)效的二進(jìn)制存儲(chǔ)單元。
4.權(quán)項(xiàng)2的方法,其特征在于,步驟(D)包括將索引值、循環(huán)計(jì)數(shù)與偏移值相加而確定計(jì)數(shù)器值。
5.權(quán)項(xiàng)1的方法,其特征在于,在步驟(B)增數(shù)的寄存器對(duì)應(yīng)于普通二進(jìn)制計(jì)數(shù)器。
6.一種用于更新和存貯計(jì)數(shù)器值的設(shè)備,其特征在于包括(A)多個(gè)二進(jìn)制存儲(chǔ)單元;(B)一個(gè)與多個(gè)二進(jìn)制存儲(chǔ)單元不同的寄存器;和(C)連接到多個(gè)二進(jìn)制存儲(chǔ)單元與寄存器的控制器,用于從多個(gè)二進(jìn)制存儲(chǔ)單元里選擇一個(gè)二進(jìn)制存儲(chǔ)單元,并響應(yīng)于多個(gè)N計(jì)數(shù)器更新信號(hào)的每個(gè)信號(hào),翻轉(zhuǎn)所選二進(jìn)制存儲(chǔ)單元的狀態(tài);其中控制器每隔N個(gè)計(jì)數(shù)器更新信號(hào)對(duì)寄存器增數(shù)一次,控制器平均以同樣的次數(shù)翻轉(zhuǎn)多個(gè)二進(jìn)制存儲(chǔ)單元的每個(gè)二進(jìn)制存儲(chǔ)單元。
7.權(quán)項(xiàng)6的設(shè)備,其特征在于還包括(C)把多個(gè)二進(jìn)制存儲(chǔ)單元的狀態(tài)轉(zhuǎn)換成索引值的換算表;其中控制器按索引值與寄存器里的值確定計(jì)數(shù)值。
8.權(quán)項(xiàng)7的設(shè)備,其特征在于,控制器把多個(gè)二進(jìn)制存儲(chǔ)單元之一認(rèn)定為無(wú)效,并根據(jù)該被認(rèn)定無(wú)效的二進(jìn)制存儲(chǔ)單元修正換算表;而且從可以響應(yīng)于后續(xù)計(jì)數(shù)器更新信號(hào)選擇的多個(gè)二進(jìn)制存儲(chǔ)單元中除去該被認(rèn)定無(wú)效的二進(jìn)制存儲(chǔ)單元。
9.權(quán)項(xiàng)7的設(shè)備,其特征在于,控制器按索引值、寄存器值與補(bǔ)償值確定計(jì)數(shù)器值。
10.權(quán)項(xiàng)6的設(shè)備,其中寄存器對(duì)應(yīng)于普通二進(jìn)制計(jì)數(shù)器。
全文摘要
一種更新和存貯計(jì)數(shù)器值的方法與設(shè)備。響應(yīng)于多個(gè)N計(jì)數(shù)器更新信號(hào)的每個(gè)信號(hào),從多個(gè)二進(jìn)制存儲(chǔ)單元里選出某個(gè)二進(jìn)制存儲(chǔ)單元(350),翻轉(zhuǎn)該選出的二進(jìn)制存儲(chǔ)單元的狀態(tài)(36)。在收到N個(gè)計(jì)數(shù)器更新信號(hào)后(320),對(duì)與多個(gè)二進(jìn)制存儲(chǔ)單元分開(kāi)的一個(gè)寄存器增數(shù)(340),然后響應(yīng)于以后的計(jì)數(shù)器更新信號(hào)重復(fù)該過(guò)程(320)。在過(guò)程每次重復(fù)期間,平均以同樣的次數(shù)翻轉(zhuǎn)多個(gè)二進(jìn)制存儲(chǔ)單元的每個(gè)存儲(chǔ)單元。多個(gè)二進(jìn)制存儲(chǔ)單元的狀態(tài)和寄存器值代表任何指定時(shí)刻的計(jì)數(shù)器值。
文檔編號(hào)G11C16/06GK1379903SQ00814450
公開(kāi)日2002年11月13日 申請(qǐng)日期2000年10月19日 優(yōu)先權(quán)日1999年10月19日
發(fā)明者J·A·哈欽森四世, L·Y·斯帕爾 申請(qǐng)人:高通股份有限公司