增加存儲單元壽命的用於計數的二進位計數器和方法
2023-04-23 01:05:21
專利名稱:增加存儲單元壽命的用於計數的二進位計數器和方法
技術領域:
本發明涉及數字計數器,特別涉及使用比特組合序列以均勻地分配存儲單元,其在計數器的存儲單元之中均衡疲勞的數字計數器,本發明還涉及使用非易失性存儲器存儲計數值的通用計算機。
本領域中的二進位碼有多種用途,BCD(二進位編碼十進位)和格雷碼電路。本領域公知的BCD碼用於將標準的二進位數據轉換成人們所識別的十進位信息,本領域公知的格雷碼用於最小化碼間的比特改變,在計數序列的每一計數步驟中僅允許一比特改變,這使得計數器和通訊系統中的單個誤碼的影響最小以及可以在某些電路中減少功耗。對於某些非易失性存儲器來說,由於二進位單元中的狀態改變造成的疲勞限制了使用壽命。FLASH和EEPROM(電可擦除可編程只讀存儲器)的壽命可以低至在存儲單元失效之前僅有一萬次狀態改變。使用非易失性存儲單元的計數器和其它的電路的壽命有限。這類計數器的存儲單元可用於個人計算機中的RTC(實時時鐘)電路以及具有慢速改變計數值的事件計數器等其它系統並且必須在電源失效期間或下電狀態期間保持完整性。
因此,在使用這類非易失性存儲形式的電路中需要減少單元改變疲勞的影響。標準的二進位碼不能滿足這種需要,因為標準二進位計數器的最低有效位隨每一時鐘改變,而最高有效位在計數器溢出之前僅改變兩次。格雷碼也不能滿足這種需要,因為該碼用於最小化每計數周期比特數的改變而不擴展計數器中或其它數字電路中的所有單元之間的改變數。
本發明滿足了這一需求,它採用了一種二進位編碼方式,為計數器或其它數字電路中的每一單元對於一個完整的計數周期給與同樣的改變數。當這類碼是格雷碼時,在數學領域稱為是「一致平衡格雷碼」。該碼最大化了計數器或其它數字電路的可靠性。
本發明並不限定該編碼必須是格雷碼,但為了計數器更好的可靠性操作,最好採用格雷碼,因為每一次計數中僅一比特改變。另一類稱為「平衡格雷碼」的編碼也可採用,但不優選,因為它使得每一計數周期內每一比特單元的變換數僅僅近似相等。這只能增強計數器的可靠性,而不是最大化可靠性。
而本發明的主要目的是增強用於存儲計數值的存儲單元的可靠性,並且也設想了該計數器及計數方法的其他應用,包括編碼和解碼安全發送。
按照本發明的實施例之一,本發明的一個目的是提供一種延長存儲單元壽命的數字計數器和計數方法。
按照本發明的另一實施例,本發明的目的是提供一種在微處理器或微控制器控制的系統中用於計數的方法,該方法可以延長用於保存計數值的存儲單元的壽命。
按照本發明的另一實施例,本發明的目的是提供一種在數字計算機上執行的軟體中使用的計數方法,該方法可以延長保存計數值的存儲單元的壽命。
按照本發明的另一實施例,本發明的目的是提供一種用於計數的計數方法,通過將計數序列用做編碼或解碼過程的一部分而形成安全措施以提高計數系統的性能。
按照本發明的實施例之一,實現了一種數字計數器。該計數器使用狀態邏輯電路來產生計數器中比特的狀態改變的均勻的分布。狀態改變的均勻分布增強了計數器的可靠性,因為它將疲勞平均地分布在存儲計數值的各個單元中,並且可以實現如增強安全性的其它性能上的優點。
按照本發明的另一實施例,提供了一種計數方法,用在使用或是集成為一體或是另外提供的非易失性存儲器的由微處理器或是由微控制器控制的系統之中。該方法增加了存儲可靠性(因為各單元的疲勞率一樣),並且可以實現如增強安全性的其它微處理器系統的性能優點。
按照本發明的又一實施例,提供了一種計數方法,用於使用非易失性存儲器的通用數字計算機。該方法增加了存儲的可靠性(因為各單元的疲勞率一樣),並且可以實現如增強安全性的其它數字計算機的性能優點。
參照附圖對本發明的優選實施例進行說明後,本發明的上述目的、特點、和優點將更加清楚。
圖1是計數器的簡化電路圖;圖2是舉例編碼的一組表格。
參照圖1,計數電路10包括一比特存儲單元16和狀態邏輯電路14。狀態邏輯電路14計算比特存儲單元16的下一個狀態並且當計數信號18激活時,比特存儲單元18假定下一個狀態。當對應於2N的變換發生了一系列計數信號18的變換後,在此N是比特存儲單元16當中的比特的數目,一個計數周期結束。
圖1說明了4比特計數器的實現方案。在此計數器的大小僅為舉例,可以採用任何數目比特。在優選實施例中,狀態邏輯電路14設計為在每一計數18僅比特存儲單元16中的一比特改變狀態以及比特存儲單元18的每一比特上的變換總數在一整個計數周期內相等。可以級聯若干個計數電路10,但級聯的(高次)計數電路10不如第一計數電路10常用並可損失某些本發明的優點。
可選的執行輸出22以及初始狀態輸出24信號可以用來級聯計數電路10。
計數電路10的優選實施例是一個單計數器,具有比特存儲單元16,其寬度足以產生需要的計數,這使得計數電路10的可靠性最大,因為比特存儲單元16中的所有比特都將在一個計數周期內經歷相同數目的變換。
本計數方法與計數電路10的操作並行。微處理器、微控制器或通用計算機可以獲得存儲計數值以及使用查詢表或其它裝置計算計數的下一個狀態。通常在非易失性存儲器中的計數值的存儲的可靠性將增強,如同在計數電路10中一樣,因為存儲在非易失性存儲器中的計數值將具有在一完整計數周期內在比特當中的均勻分布的比特改變。
參照圖2,說明了在計數電路10(圖1)中實現的該計數方法和狀態邏輯電路14(圖1)的三組碼。還有多種其它的方法也可以達到所需要的每計數周期內均勻化比特變換的數目的結果,但對於一個4比特計數器,任何舉例編碼都可以滿足這一結果。具有高比特數的計數器可以使用相似的表設計出來。
這些碼可以順序旋轉,初始碼可在計數周期內的任何一點選擇,不會降低性能。類似地,該碼也可以按比特的比特置旋轉或順序反向而不降低性能。這使得使用這些碼可以實現可逆上/下計數器的操作。
在一可逆上/下配置中,每一比特單元的瞬時的比特改變計數可能不相等,因為在一個方向上的計數周期可能未結束,但可靠性依然增強。為級聯計數器或達到上溢出或下溢出指示,最終狀態或初始狀態的解碼相應地應該由狀態邏輯電路14提供(圖1)。由於理想的N比特計數器在其每比特上將經歷2N/N或2N/N-1個變換,執行或初始狀態輸出將從計數值的解碼得出而不是從計數值的最高比特得出,如同一些應用中的做法一樣。
以上以優選實施例方式對本發明進行了說明,然而本技術領域人員應明白,在不超出本發明的實質和範圍內還可以對其做其它形式和細節上的修改。
權利要求
1.一種數字計數電路,包括多個所述比特存儲單元,用於存儲計數值;以及狀態邏輯電路電路,耦合至所述多個比特存儲單元,用於計算所述多個比特存儲單元的下一個狀態,其中所述狀態邏輯電路電路對每一所述多個比特存儲單元在所述計數值重複之前大致改變相同的次數。
2.如權利要求1所述的數字計數電路,用於增加所述多個比特存儲單元的可靠性。
3.如權利要求1所述的數字計數電路,用於編碼數據。
4.如權利要求1所述的數字計數電路,用於解碼數據。
5.如權利要求1所述的數字計數電路,其中所述多個比特存儲單元包括FLASII存儲單元。
6.如權利要求1所述的數字計數電路,其中所述多個比特存儲單元包括EEPROM單元。
7.如權利要求1所述的數字計數電路,其中所述狀態邏輯電路在每一狀態變換中僅改變所述多比特存儲單元的一個。
8.如權利要求7所述的數字計數電路,其中所述多個比特存儲單元包括FLASH存儲單元。
9.如權利要求7所述的數字計數電路,其中所述多個比特存儲單元包括EEPROM單元。
10.如權利要求7所述的數字計數電路,其中所述計數值遵從序列0,1,3,7,15,11,9,8,10,2,6,14,12,13,5,4,在此以十進位表示。
11.如權利要求7所述的數字計數電路,其中所述計數值遵從序列0,1,3,7,15,11,9,8,12,13,5,4,6,14,10,2,在此以十進位表示。
12.如權利要求7所述的數字計數電路,其中所述計數值遵從序列0,1,3,7,15,11,10,8,9,13,5,4,12,14,6,2,在此以十進位表示。
13.一種計數方法,包括步驟提供多個比特存儲單元,用於存儲包括初始值的二進位數;取得所述二進位數;從所述二進位數計算出下一個數,其中所述下一個數選擇成該二進位數中的每一比特,在所述下一個數等於所述初始值之前大致改變相同次數;以及存儲所述下一數目。
14.如權利要求13所述的計數方法,增加了所述多個比特存儲單元的可靠性。
15.如權利要求13所述的計數方法,用於編碼數據。
16.如權利要求13所述的計數方法,用於解碼數據。
17.如權利要求13所述的計數方法,其中所述多個比特存儲單元包括FLASH存儲單元。
18.如權利要求13所述的計數方法,其中所述多個比特存儲單元包括EEPROM單元。
19.如權利要求13所述的計數方法,其中所述下一數目僅由所述二進位數相差一比特。
20.如權利要求19所述的計數方法,其中所述多個比特存儲單元包括FLASH存儲單元。
21.如權利要求19所述的計數方法,其中所述多個比特存儲單元包括EEPROM單元。
22.如權利要求13所述的計數方法,其中所述從二進位數計算下一數的步驟由一微處理器來執行。
23.如權利要求19所述的計數方法,其中所述從二進位數計算下一數的步驟由一微處理器來執行。
24.如權利要求19所述的計數方法,其中所述二進位數遵從序列0,1,3,7,15,11,9,8,10,2,6,14,12,13,5,4,在此以十進位表示。
25.如權利要求19所述的計數方法,其中所述二進位數遵從序列0,1,3,7,15,11,9,8,12,13,5,4,6,14,10,2,在此以十進位表示。
26.如權利要求19所述的計數方法,其中所述二進位數遵從序列0,1,3,7,15,11,10,8,9,13,5,4,12,14,6,2,在此以十進位表示。
全文摘要
一種數字計數器和計數方法,用於最小化計數值存儲單元的疲勞造成的失效,計數序列選擇成在一完整的計數周期內單個存儲單元中的變化相同。本發明也可用於軟體或微控制器實現的計數方法中,包括編碼和解碼應用。
文檔編號H03K21/00GK1250905SQ9911777
公開日2000年4月19日 申請日期1999年8月13日 優先權日1998年8月13日
發明者羅伯特·P·馬瑟 申請人:密克羅奇普技術公司