TW201840135A - 非易失性雙穩態觸發器單調計數器及其實施方法 - Google Patents
非易失性雙穩態觸發器單調計數器及其實施方法 Download PDFInfo
- Publication number
- TW201840135A TW201840135A TW106143506A TW106143506A TW201840135A TW 201840135 A TW201840135 A TW 201840135A TW 106143506 A TW106143506 A TW 106143506A TW 106143506 A TW106143506 A TW 106143506A TW 201840135 A TW201840135 A TW 201840135A
- Authority
- TW
- Taiwan
- Prior art keywords
- bit
- volatile
- bits
- counter
- output
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/40—Gating or clocking signals applied to all stages, i.e. synchronous counters
- H03K23/50—Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits
- H03K23/52—Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits using field-effect transistors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/40—Gating or clocking signals applied to all stages, i.e. synchronous counters
- H03K23/50—Gating or clocking signals applied to all stages, i.e. synchronous counters using bi-stable regenerative trigger circuits
- H03K23/54—Ring counters, i.e. feedback shift register counters
- H03K23/542—Ring counters, i.e. feedback shift register counters with crossed-couplings, i.e. Johnson counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0009—RRAM elements whose operation depends upon chemical change
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0054—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
- G11C14/009—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is a resistive RAM element, i.e. programmable resistors, e.g. formed of phase change or chalcogenide material
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/353—Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
- H03K3/356—Bistable circuits
Landscapes
- Read Only Memory (AREA)
- Manipulation Of Pulses (AREA)
- Electronic Switches (AREA)
Abstract
一種單調計數器包括多個級,所述多個級分別對應於所述單調計數器的多個計數位元。該多個級中的至少一個是包括多個非易失性雙穩態觸發器(NVFF)的非易失性雙穩態觸發器計數器,每一非易失性雙穩態觸發器包括一對非易失性存儲胞元。
Description
本發明是有關於一種單調計數器(monotonic counter),特別是關於一種非易失性雙穩態觸發器(non-volatile flip-flop,NVFF)單調計數器及一種實施非易失性雙穩態觸發器單調計數器的方法。
單調計數器是一種提供遞增數值的計數器,且該數值無法被回復成舊值。單調計數器被應用在各種金融系統或電子系統中。在此類應用中,單調計數器需要在長時間段內不斷地更新其計數值。另外,單調計數器需要能夠穩健地抵禦電源故障影響,且在其電源供應被復原時能快速地恢復其計數值。
根據本發明的實施例,本發明提供一種單調計數器。所述單調計數器包括多個級,該多個級分別對應於所述單調計數器的多個計數位元。所述多個級中的至少一個級是包括多個非易失性雙穩態觸發器(NVFF)的非易失性雙穩態觸發器計數器,每一所述非易失性雙穩態觸發器包括一對非易失性存儲胞元。
根據本發明的另一實施例,提供一種實施單調計數器的方法。所述方法包括:提供多個級,該多個級分別輸出多個輸出位元,其中該多個級中的至少一個級是包括多個非易失性雙穩態觸發器的非易失性雙穩態觸發器計數器,每一所述非易失性雙穩態觸發器包括一對非易失性存儲胞元;提供該多個級中的一個級的輸出位元作為所述該多個級中的下一較高次序的級的輸入時鐘;提供脈衝作為該多個級中的第一級的輸入時鐘;以及提供所述多個輸出位元作為該單調計數器的多個計數位元。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
請詳細參照本發明實施例,所述實施例在附圖中進行說明。所有圖式將使用相同的參考編號來指代相同或相似的部件。
通常,單調計數器是以二進位進行計數。圖1示範性說明計數器100(4位單調計數器)的計數方案。計數器100包括四個計數位元MC[0]~MC[3],其中MC[0]是最低有效位元(least significant bit,LSB)且MC[3]是最高有效位元(most significant bit,MSB)。每一計數位元可具有邏輯值“0”或“1”。計數器100的計數值由所述四個計數位元MC[0]~MC[3]的組合表示。因此,計數器100可提供最多16個計數值,其中計數值(十進位)從0到15而變化。
每當計數器100的計數值被遞增(即,在計數器100上執行計數運算)時,計數位元MC[0]~MC[3]中的至少一個便需要更新其邏輯值。舉例來說,當計數值從十進位的“0”增大到“1”(即,從二進位的“0000”增大到“0001”)時,計數位元MC[0]從“0”更新成“1”。作為另一實例,當計數值從十進位的“3”增大到“4” (即,從二進位的“0011”增大到“0100”)時,計數位元MC[2]、MC[1]、及MC[0]分別從“0”、“1”、及“1”更新成“1”、“0”、及“0”。因此,為提供所述最多16個計數,做為最低有效位元的計數位元MC[0]需要16次更新;計數位元MC[1]需要8次更新;計數位元MC[2]需要4次更新;且計數位元MC[3]需要2次更新。一般來說,為使包括m個計數位元的m位單調計數器提供最多2m
個計數值,計數位元M[i]需要2m−i
次更新,其中i = 0、1、…、m−1,且計數位元M[0]是最低有效位元。
在包括m個計數位元的傳統的m位單調計數器中,所述m個計數位元的邏輯值分別存儲在m個記憶胞中。每當計數位元被更新時,便需要對存儲該計數位元的記憶胞執行程式化/抹除迴圈。由於最低有效位元M[0]需要2m
次更新,因而需要對與最低有效位元M[0]對應的記憶胞執行2m
次程式化/抹除迴圈。
單調計數器通常被應用在金融系統或其他會在長時間內不斷地更新單調計數器的計數值的安全系統中。如果計數器以每秒5個計數的速率連續地進行計數達10年,則該計數器將提供最多約6,307,200個計數。如果此計數器是由其中m個計數位元的邏輯值分別被存儲在m個記憶胞中的傳統的m位單調計數器實施,則需要對與最低有效位元MC[0]對應的記憶胞執行約6,307,200個程式化/抹除迴圈。然而,記憶胞在其壽命中僅能支援大約16,000個程式化/抹除迴圈,此比最低有效位元MC[0]所需的6,307,200個程式化/抹除迴圈少得多。因此,傳統的單調計數器無法滿足在金融系統或其他安全系統中使用的要求。
根據本發明的實施例,m位單調計數器中的m個計數位元中的至少一個是由n位環形計數器實施。所述環形計數器可為詹森環形計數器、扭環計數器(twisted ring counter)、格雷碼計數器(gray codes counter)、或平衡格雷碼計數器(balanced gray codes counter)。該n位環形計數器包括n個非易失性雙穩態觸發器(NVFF),所述n個非易失性雙穩態觸發器分別存儲該n位元環形計數器的n個位。因此,該n位環形計數器在本文中被稱為n位非易失性雙穩態觸發器計數器。在所述n位非易失性雙穩態觸發器計數器中,每一非易失性雙穩態觸發器包括一對記憶胞。該記憶胞可為非易失性隨機存取記憶(random access memory,RAM)胞,例如電阻式隨機存取記憶(resistive random access memory,ReRAM)胞、導電橋接隨機存取記憶(conductive bridging random access memory,CBRAM)胞、磁阻式隨機存取記憶(magnetoresistive random access memory,MRAM)胞、鐵電式隨機存取記憶(ferroelectric random access memory,FeRAM)胞或相變記憶(phase change memory,PCM)胞。
圖2示範性說明計數器200(8位詹森環形計數器)的計數方案。計數器200包括八個位元Q0~Q7。每一位元可具有邏輯值“0”或“1”。對所述八個位元執行互斥或(exclusive-OR,XOR)運算,以產生單個輸出位元,所述單個輸出位元可表示單調計數器的計數位元中的任一個。在圖2中所說明的實例中,計數器200的單個輸出位元表示4位單調計數器的計數器100的計數位元MC[0]。換句話說,計數器100的計數位元MC[0]由計數器200實施。
計數器200的計數運算是基於詹森環形碼(Johnson ring code)而執行。舉例來說,在第0號計數運算中,具有八個位元Q0~Q7的序列是“00000000”,在互斥或運算之後,所述序列為MC[0]產生輸出位元“0 ;在第1號計數運算中,具有八個位元Q0~Q7的序列變為“10000000”,在互斥或運算之後,該序列為計數位元MC[0]產生輸出位元“1”;在第2號計數運算中,具有八個位元Q0~Q7的序列變為“11000000”,在互斥或運算之後,該序列為計數位元MC[0]產生輸出位元“0”;等等。
在計數器200中,每當執行計數運算時,僅需要更新一個位元的邏輯值。舉例來說,在第1號計數運算中,位元Q0的邏輯值從“0”更新成“1”;在第2號計數運算中,位元Q1的邏輯值從“0”更新成“1”;以此類推。這樣一來,計數器200可通過對計數器200的八個位元Q0~Q7中的每一個僅執行兩次更新來為單個輸出位元MC[0]提供16次更新。如果八個位元Q0~Q7的邏輯值分別存儲在八個非易失性雙穩態觸發器中,則需要對所述八個非易失性雙穩態觸發器中的每一個僅執行兩個程式化/抹除迴圈。
如上所述,根據本發明的實施例,所述n位非易失性雙穩態觸發器計數器包括n個非易失性雙穩態觸發器。圖3示範性說明根據本發明一實施例的計數器300(為詹森環形計數器)的電路圖。為使解釋簡潔起見,計數器300僅包括分別對應於四個非易失性雙穩態觸發器的四個位元。然而,計數器300可包括少於四個或多於四個非易失性雙穩態觸發器。
如圖3中所說明,計數器300包括四個非易失性雙穩態觸發器311~314、以及互斥或閘320。因此,計數器300在本文中也被稱為4位非易失性雙穩態觸發器計數器300。非易失性雙穩態觸發器311~314中的每一個包括輸入端子D、讀取端子RD、寫入端子WRT、時鐘端子CLK、清除端子CLR、輸出端子Q及相反輸出端子(inverse output terminal)Qb。雖然圖3中未說明,但非易失性雙穩態觸發器311~314中的每一個還包括設定/重置(set/reset)端子及字元線設定/重置端子。
如圖3中所說明,非易失性雙穩態觸發器311~314被串聯連接。非易失性雙穩態觸發器311~313的輸出端子Q分別連接到其後面的非易失性雙穩態觸發器312~314的輸入端子D。所述串聯連接的非易失性雙穩態觸發器中的最末一個(即,非易失性雙穩態觸發器314)的相反輸出端子Qb連接到該串聯連接的非易失性雙穩態觸發器中的第一個(即,非易失性雙穩態觸發器311)的輸入端子D。時鐘信號Clock、清除信號Clear、讀取信號Read及寫入信號Write分別被施加到非易失性雙穩態觸發器311~314中每一個的時鐘端子CLK、清除端子CLR、讀取端子RD及寫入端子WRT。非易失性雙穩態觸發器311~314的輸出QA
~QD
並聯連接到互斥或閘320。互斥或閘320根據非易失性雙穩態觸發器311~314的輸出QA
~QD
來產生計數位元(例如,計數位元MC[0])作為計數器300的輸出。
圖4示範性說明根據所說明實施例在計數運算期間計數器300的各種輸入信號及輸出信號的波形。表1為計數器300的真值表。
表1:
如圖4中所示,在第0號時鐘脈衝處,將重設脈衝施加到所有非易失性雙穩態觸發器311~314的清除端子CLR,以使非易失性雙穩態觸發器311~314的輸出端子Q上的輸出QA
~QD
重設為“0”。此時,非易失性雙穩態觸發器314的具有邏輯資料值“1”的相反輸出端子Qb處的回饋信號被輸入到非易失性雙穩態觸發器311的輸入端子D。在第1號時鐘脈衝處,回應於非易失性雙穩態觸發器311的輸入端子D處的邏輯資料“1”,非易失性雙穩態觸發器311的輸出QA
從“0”更新成“1”,而其他非易失性雙穩態觸發器312~314的輸出QB~
QD
保持為“0”。因此,如表1中所示,計數器300的單個輸出位元MC[0]從“0”更新成“1”。在第2號時鐘脈衝處,回應於非易失性雙穩態觸發器311的與非易失性雙穩態觸發器312的輸入端子D連接的輸出端子Q處的邏輯資料“1”,非易失性雙穩態觸發器312的輸出QB
從“0”更新成“1”,而其他非易失性雙穩態觸發器311、313及314的輸出QA
、QC
及QD
保持不變。因此,計數器300的單個輸出位元MC[0]從“1”更新成“0”。在第3號時鐘脈衝處,回應於非易失性雙穩態觸發器312的與非易失性雙穩態觸發器313的輸入端子D連接的輸出端子Q處的邏輯資料“1”,非易失性雙穩態觸發器313的輸出QC
從“0”更新成“1”,而其他非易失性雙穩態觸發器311、312及314的輸出QA
、QB
及QD
保持不變。因此,計數器300的單個輸出位元MC[0]從“0”更新成“1”。在第4號時鐘脈衝處,回應於非易失性雙穩態觸發器313的與非易失性雙穩態觸發器314的輸入端子D連接的輸出端子Q處的邏輯資料“1”,非易失性雙穩態觸發器314的輸出QD
從“0”更新成“1”,而其他非易失性雙穩態觸發器311~313的輸出QA
~QC
保持不變。因此,計數器300的單個輸出位元MC[0]從“1”更新成“0”。此時,非易失性雙穩態觸發器314的相反輸出端子Qb上的邏輯值變為“0”並被施加到非易失性雙穩態觸發器311的輸入端子D。在第5號時鐘脈衝處,回應於非易失性雙穩態觸發器311的輸入端子D處的邏輯資料“0”,非易失性雙穩態觸發器311的輸出QA
從“1”更新成“0”,而其他非易失性雙穩態觸發器312~314的輸出QB~
QD
保持不變。因此,計數器300的單個輸出位元MC[0]從“0”更新成“1”。在第6號時鐘脈衝處,回應於非易失性雙穩態觸發器311的與非易失性雙穩態觸發器312的輸入端子D連接的輸出端子Q處的邏輯資料“0”,非易失性雙穩態觸發器312的輸出QB
從“1”更新成“0”,而其他非易失性雙穩態觸發器311、313及314的輸出QA
、QC
及QD
保持不變。因此,計數器300的單個輸出位元MC[0]從“1”更新成“0”。在第7號時鐘脈衝處,回應於非易失性雙穩態觸發器312的與非易失性雙穩態觸發器313的輸入端子D連接的輸出端子Q處的邏輯資料“0”,非易失性雙穩態觸發器313的輸出QC從“1”更新成“0”,而其他非易失性雙穩態觸發器311、312及314的輸出QA
、QB
及QD
保持不變。因此,計數器300的單個輸出位元MC[0]從“0”更新成“1”。如上所述,初始邏輯值“1”經過非易失性雙穩態觸發器311到非易失性雙穩態觸發器314,且接著,非易失性雙穩態觸發器314的相反輸出端子Qb的邏輯值(即,“0”)經過非易失性雙穩態觸發器311到非易失性雙穩態觸發器314。在下文中,非易失性雙穩態觸發器將其輸出值從“0”更新成“1”的過程被稱為抹除迴圈,且非易失性雙穩態觸發器將其輸出值從“1”更新成“0”的過程被稱為程式化迴圈。
這樣一來,計數器300可通過對計數器300的四個位元的輸出QA
~QD
中的每一個僅執行兩次更新來為其單個輸出位元MC[0]提供8次更新。當計數器300被實施為單調計數器的最低有效位元時,此單調計數器可通過對計數器300中的非易失性雙穩態觸發器311~314中的每一個執行兩個程式化/抹除迴圈來提供最多8個計數值。
如上所述,根據本發明的實施例,非易失性雙穩態觸發器計數器的非易失性雙穩態觸發器中的每一個包括一對記憶胞。圖5示範性說明根據所說明實施例的非易失性雙穩態觸發器500的電路圖。非易失性雙穩態觸發器500包括讀取/寫入時鐘控制單元510、讀取邏輯控制單元520、寫入禁止邏輯控制單元530、存儲區段540、雙穩態觸發器區段550及非易失性記憶體區段560。
讀取/寫入時鐘控制單元510基於分別在非易失性雙穩態觸發器500的讀取端子RD、寫入端子WRT及時鐘端子CLK處施加的外部信號來產生參考信號MCK、MCKb、SCK及SCKb。讀取邏輯控制單元520基於分別在非易失性雙穩態觸發器500的讀取端子RD、清除端子CLR及設定/重置端子處施加的外部信號並基於內部的信號MQ來產生信號Data_p、Datab_p、READb、EQb及SAVREF,內部的信號MQ是根據在非易失性雙穩態觸發器500的輸入端子D處輸入的資料及在非易失性雙穩態觸發器500的輸出端子Q處輸出的資料而驅動。寫入禁止邏輯控制單元530基於分別在非易失性雙穩態觸發器500的寫入端子WRT、清除端子CLR及字元線設定/重置端子處施加的外部信號以及由讀取邏輯控制單元520產生的信號Data_p及Datab_p來產生信號Data_n、Datab_n、Data_wlrst及Datab_wlrst。
存儲區段540連接在輸入端子D與雙穩態觸發器區段550的節點N1之間。存儲區段540包括反相器INV1~INV3與傳輸閘(transmission gate)TG1~TG3。存儲區段540由信號MCK、MCKb、MQ、SCK及SCKb控制,以臨時存儲在輸入端子D處接收到的資料。
雙穩態觸發器區段550耦合在存儲區段540與輸出端子Q及Qb之間。雙穩態觸發器區段550包括節點N1~N2、反相器INV4~INV5、N型金屬氧化物半導體場效電晶體(N-type metal-oxide semiconductor field-effect transistor,NMOSFET)MN1~MN2、P型金屬氧化物半導體場效電晶體(P-type MOSFET,PMOSFET)MP1~MP9以及電容器C1~C2。雙穩態觸發器區段550由信號EQb、SCK及SCKb控制,以使節點N1及N2具有一對相反的資料值Data及Datab。另外,回應於被施加到時鐘端子CLK的時鐘信號,雙穩態觸發器區段550分別經由輸出端子Q及Qb輸出節點N1及N2上的所述一對相反的資料值。
非易失性記憶體區段560包括記憶胞Cell1~Cell2、N型金屬氧化物半導體場效電晶體MN3~MN10及P型金屬氧化物半導體場效電晶體MP10~MP13。非易失性記憶體區段560由信號SAVREF、READb、Data_p、Datab_p、Data_n、Datab_n、Data_wlrst及Datab_wlrst控制。記憶胞Cell1及Cell2分別連接到節點N1及N2。當向非易失性雙穩態觸發器500的寫入端子WRT施加的寫入信號從低電位轉變成高電位時,節點N1及N2上的邏輯資料值分別被存儲到記憶胞Cell1及Cell2中。當向非易失性雙穩態觸發器500的讀取端子RD施加的讀取信號從低電位轉變成高電位時,記憶胞Cell1及Cell2中所存儲的邏輯資料值分別被讀回到節點N1及N2。如上所述,記憶胞Cell1及Cell2可為非易失性隨機存取記憶胞,例如,電阻式隨機存取記憶胞、導電橋接隨機存取記憶胞、磁阻式隨機存取記憶胞、鐵電式隨機存取記憶胞或相變化記憶胞。
如上所述,具有4個非易失性雙穩態觸發器的4位非易失性雙穩態觸發器計數器300可通過對所述非易失性雙穩態觸發器中的每一個執行2個程式化/抹除迴圈來為單個輸出位元提供8次更新。一般來說,通過對每一非易失性雙穩態觸發器執行2個程式化/抹除迴圈,具有n個非易失性雙穩態觸發器的n位非易失性雙穩態觸發器計數器可為其單個輸出位元提供最多2n次更新。更一般來說,通過對每一非易失性雙穩態觸發器執行P個程式化/抹除迴圈,具有n個此種非易失性雙穩態觸發器的n位非易失性雙穩態觸發器計數器可為其單個輸出位元提供最多P/2 × 2n = P×n次更新。假定非易失性雙穩態觸發器中所包含的每個記憶胞中可忍耐估計總數E個程式化/抹除迴圈,即,可在記憶胞的壽命中對其執行E個程式化/抹除迴圈,則具有n個非易失性雙穩態觸發器的n位非易失性雙穩態觸發器計數器可通過對所述n個非易失性雙穩態觸發器內的每一記憶胞執行E個程式化/抹除迴圈來為其單個輸出位元提供最多E×n次更新。舉例來說,通過對每一非易失性雙穩態觸發器執行16千(16K)個程式化/抹除迴圈,具有1024個非易失性雙穩態觸發器的1024位非易失性雙穩態觸發器計數器可為其單個輸出位元提供最多約16百萬(16M)次更新。當所述單個輸出位元用作單調計數器的最低有效位元時,該單調計數器可提供最多約16M個計數。換句話說,為使非易失性雙穩態觸發器計數器實施被配置成能夠計數出最多M個計數的單調計數器的最低有效位元,所述非易失性雙穩態觸發器計數器需要包括M/P個非易失性雙穩態觸發器,其中P是非易失性雙穩態觸發器的壽命中程式化/抹除迴圈的估計數目。
圖6示範性說明根據本發明一實施例的計數器600(24位單調計數器)。表2是計數器600的配置的概要。
表2:
根據圖6及表2,計數器600包括分別輸出24個計數位元MC[0]~MC[23]的24個級610-0~610-23,所述24個計數位元MC[0]~MC[23]以組合形式構成計數器600的計數值。
級610-0~610-9中的每一個是包括分別輸出位元Q0~Qn−1的n個非易失性雙穩態觸發器的非易失性雙穩態觸發器計數器,其中對於第i非易失性雙穩態觸發器計數器,n = 211−i
。舉例來說,第一級610-0包括1024個非易失性雙穩態觸發器;第二級610-1包括512個非易失性雙穩態觸發器;第三級610-2包括256個非易失性雙穩態觸發器;以此類推。在每一級中,輸出最低有效位元Qn−1的最末一個非易失性雙穩態觸發器的相反輸出端子Qb連接到第一非易失性雙穩態觸發器的輸入端子D。
另外,級610-0~610-9中的每一個包括互斥或閘620-0、~620-9、“1”/“0”檢測器(“1” to “0” detector)630-0~630-9及遞增脈衝產生器640-0~640-9。互斥或閘620-0~620-9中的每一個連接到對應的級610-0~610-9中所包含的非易失性雙穩態觸發器的輸出端子Q以接收分別從各非易失性雙穩態觸發器輸出的n個位元Q0~Qn−1,且被配置成產生對應的計數位元MC[0]~MC[9]。“1”/“0”檢測器630-0~630-9中的每一個連接到對應的互斥或閘620-0~620-9的輸出以接收對應的計數位元MC[0]~MC[9],且被配置成在對應的計數位元MC[0]~MC[9]從“1”轉變成“0”時產生觸發信號。遞增脈衝產生器640-0~640-9中的每一個連接到對應的“1”/“0”檢測器630-0~630-9,且被配置成回應於從對應的“1”/“0”檢測器630-0~630-9接收到得的觸發信號來產生脈衝Pulse[0]~Pulse[9]並將所述脈衝傳送到下一較高次序的級的非易失性雙穩態觸發器的時鐘端子CLK以作為所述下一較高次序的級的輸入時鐘。舉例來說,第一級610-0的遞增脈衝產生器640-0將脈衝Pulse[0]傳送到第二級610-1的非易失性雙穩態觸發器的時鐘端子CLK作為輸入時鐘Clock[1];第二級610-1的遞增脈衝產生器640-1將脈衝Pulse[1]傳遞到第三級610-2的非易失性雙穩態觸發器的時鐘端子CLK作為輸入時鐘Clock[2];以此類推。第一級610-0的非易失性雙穩態觸發器從計數器600外部的控制器接收脈衝作為輸入時鐘Clock[0]。在每一級中,回應於輸入時鐘的上升邊緣,對應的非易失性雙穩態觸發器計數器執行計數運算。
級610-10~610-23中的每一個包括輸出對應的計數位元MC[10]~MC[23]的一個非易失性雙穩態觸發器。在每一非易失性雙穩態觸發器中,相反輸出端子Qb連接到輸入端子D。另外,級610-10~610-22中的每一個包括“1”/“0”檢測器630-10~630-22以及遞增脈衝產生器640-10~640-22。“1”/ “0”檢測器630-10~630-22中的每一個連接到對應的級610-10~610-22中所包含的非易失性雙穩態觸發器的輸出端子Q以從所述非易失性雙穩態觸發器接收對應的計數位元MC[10]~MC[22],且被配置成在對應的計數位元MC[10]~MC[22]從“1”轉變成“0”時產生觸發信號。遞增脈衝產生器640-10~640-22中的每一個連接到對應的“1”/“0”檢測器630-10~630-22,且被配置成回應於從對應的“1”/“0”檢測器630-10~630-22接收到觸發信號來產生脈衝Pulse[10]~Pulse[22]並將所述脈衝傳送到下一且較高次序的級的非易失性雙穩態觸發器的時鐘端子CLK作為所述下一較高次序的級的輸入時鐘。
假定可在非易失性雙穩態觸發器的壽命中對其執行最多16千(16K)個程式化/抹除迴圈,則如圖7所示概要表所說明,級610-0的1024位非易失性雙穩態觸發器計數器可通過對每一非易失性雙穩態觸發器執行16K個程式化/抹除迴圈來為計數器600的最低有效位元MC[0]提供最多約16百萬(16M)次更新;級610-1的512位非易失性雙穩態觸發器計數器可通過對每一非易失性雙穩態觸發器執行約16K個程式化/抹除迴圈來為MC[1]提供最多約8M次的更新計數;等等。由於單調計數器所提供的計數數目一般來說受由其最低有效位元所提供的更新次數限制,因此通過使用圖6中所說明的配置,計數器600(24位單調計數器)可提供最多16M個計數。
一般來說,包括m個計數位元MC[(m−1):0]的m位單調計數器可被配置成通過對計數位元M[i]執行2m−i
次更新來提供最多2m
個計數,其中i = 0、1、…、m−1,且計數位元M[0]是最低有效位元。當計數位元MC[m−1:0]由非易失性雙穩態觸發器實施時,如果計數位元M[i]所需的更新次數2m−i
大於P,其中P是非易失性雙穩態觸發器的壽命中程式化/抹除迴圈的估計數目,則計數位元M[i]由包括大約n個非易失性雙穩態觸發器的非易失性雙穩態觸發器計數器實施,其中n= 2m−i
/ P。如果所需的更新次數2m−i
小於或等於P,則計數位元M[i]由單個非易失性雙穩態觸發器實施。
在計數器600中,較低次序的計數位元(例如計數位元MC[0]~MC[9])由各自包括多於一個非易失性雙穩態觸發器的較低次序的級實施,而較高次序的計數位元(例如計數位元MC[10]~MC[23])由各自僅包括一個非易失性雙穩態觸發器的較高次序的級實施。為使計數器600提供最多16M個計數,實施較低次序的計數位元的非易失性雙穩態觸發器中的每一個需要16K個程式化/抹除迴圈,而實施較高次序的計數位元的非易失性雙穩態觸發器中的每一個需要少於16K個程式化/抹除迴圈。舉例來說,實施計數位元MC[0]的非易失性雙穩態觸發器中的每一個需要16K個程式化/抹除迴圈,而實施計數位元MC[23]的非易失性雙穩態觸發器僅需要2個程式化/抹除迴圈。因此,對各非易失性雙穩態觸發器執行的程式化/抹除迴圈的數目是高度不平衡的。
為對單調計數器中的各非易失性雙穩態觸發器執行實質上相同數目的程式化/抹除迴圈,在根據本發明一實施例的平衡單調計數器中,較低次序的級及較高次序的級被配置成交替地為單調計數器提供計數位元。
圖7說明根據所說明實施例的計數器800(奇數平衡單調計數器)的計數方案。為使解釋簡潔起見,計數器800僅包括五個計數位元。然而,計數器800可包括少於五個或多於五個計數位元。
計數器800包括多個級(圖中未說明)及輸出控制電路810。第一級到第五級被配置成分別產生中間位元(intermediate bit)MC’[0]~MC’[4],如圖7的左表所示。接著,中間位元MC’[0]~MC’[4]被輸入到輸出控制電路810,輸出控制電路810產生計數位元MC[0]~MC[4],如圖7的右表所示。
在輸出控制電路810中,使用中間位元MC’[2]作為多工器控制來選擇中間位元MC’[0]及MC’[4]中的一個以作為計數位元MC[0]或MC[4]進行輸出並選擇中間位元MC’[1]及MC’[3]中的一個以作為計數位元MC[1]或MC[3]進行輸出。具體來說,輸出控制電路810包括多工器811~814以及驅動器815。多工器811~814中的每一個包括“0”輸入端子、“1”輸入端子、選擇端子及輸出端子,且被配置成基於在選擇端子處接收到的位元來輸出在“0”輸入端子及“1”輸入端子處接收到的其中一個位元。當選擇端子處的位元是“0”時,多工器輸出在“0”輸入端子處接收到的位元;且當選擇端子處的位元是“1”時,多工器輸出在“1”輸入端子處接收到的位元。
在圖7中所說明的實施例中,中間位元MC’[2]被輸入到所有多工器811~814的選擇端子,以用作這些多工器的多工器控制。中間位元MC’[4]及MC’[0]分別被輸入到多工器811的“1”輸入端子及“0”輸入端子,多工器811隨後基於中間位元MC’[2]來輸出計數位元MC[0];中間位元MC’[3]及MC’[1]分別被輸入到多工器812的“1”輸入端子及“0”輸入端子,多工器812隨後基於中間位元MC’[2]來輸出計數位元MC[1];中間位元MC’[1]及MC’[3]分別被輸入到多工器813的“1”輸入端子及“0”輸入端子,多工器813隨後基於中間位元MC’[2]來輸出計數位元MC[3];且中間位元MC’[0]及MC’[4]分別被輸入到多工器814的“1”輸入端子及“0”輸入端子,多工器814隨後基於中間位元MC’[2]來輸出計數位元MC[4]。中間位元MC’[2]被輸入到驅動器815以作為計數位元MC[2]進行輸出。
以計數位元MC[0]為例,在第0號計數運算到第3號計數運算中,中間位元MC’[2]是“0”,因此第一多工器811輸出中間位元MC’[0]作為計數位元MC[0];在第4號計數運算到第7號計數運算中,中間位元MC’[2]是“1”,因此第一多工器811輸出中間位元MC’[4]作為計數位元MC[0];在第8號計數運算到第11號計數運算中,中間位元MC’[2]是“0”,因此第一多工器811輸出中間位元MC’[0]作為計數位元MC[0];以此類推。
這樣一來,計數器800通過分別對中間位元MC’[0]、MC’[1]、MC’[2]、MC’[3]、MC’[4]執行16次、8次、8次、8次、16次更新來分別為計數位元MC[0]、MC[1]、MC[2]、MC[3]、MC[4]提供最多32次、16次、8次、4次、2次更新。因此,對這些級中所包含的各非易失性雙穩態觸發器執行的程式化/抹除迴圈的數目得以平衡。
更一般來說,對於m>1的正奇數的m位平衡單調計數器,使用中間位元MC’[(m−1)/2]作為多工器控制來選擇中間位元MC’[i]及MC’[m−1−i]中的一個以作為計數位元MC[i]或MC[m−1−i]進行輸出,其中i是整數且0 £ i <(m−1)/2。另外,中間位元MC’[(m−1)/2]作為計數位元MC[(m−1)/2]被輸出。
為使第一級到第五級如圖7的左表所示來產生中間位元,基於中間位元MC’[2]將第二級到第五級中每一個的輸入時鐘選擇性地耦合到緊鄰的前一級的輸出或緊鄰的前一級的相對級的輸出。舉例來說,基於中間位元MC’[2]將產生中間位元MC’[1]的第二級的輸入時鐘選擇性地耦合到中間位元MC’[0]或中間位元MC’[4];基於中間位元MC’[2]將產生中間位元MC’[2]的第三級的輸入時鐘選擇性地耦合到中間位元MC’[1]或中間位元MC’[3];以此類推。所述選擇性耦合可由與輸出控制電路810相似的包括多個多工器的時鐘控制電路來實施。圖8中將說明根據本發明一實施例的所述時鐘控制電路。
更一般來說,對於m>1的正奇數的m位平衡單調計數器,使用中間位元MC’[(m−1)/2]作為多工器控制來選擇性地提供中間位元MC’[j]及MC’[m−1−j]中的一個作為輸出中間位元MC’[j+1]的級的輸入時鐘,其中j是整數且0 £ j <(m−2)。
圖8示範性說明根據本發明一實施例的計數器900(23位平衡單調計數器)。表3是計數器900的配置的概要。
表3:
根據圖8及表3,計數器900包括分別輸出中間位元MC’[0]~MC’[22]的23個級910-0~910-22。計數器900還包括輸出控制電路950,輸出控制電路950接收中間位元MC’[0]~MC’[22]並產生計數位元MC[0]~MC[22],所述計數位元MC[0]~MC[22]以組合形式構成計數器900的計數值。計數器900進一步包括時鐘控制電路970,以用於控制向級910-1~910-22中的每一個施加的時鐘信號。
級910-0~910-7及910-15~910-22中的每一個是包括分別輸出位元Q0~Qn−1的n個非易失性雙穩態觸發器的非易失性雙穩態觸發器計數器,其中n是大於1的整數。舉例來說,級910-0及910-22中的每一個包括256個非易失性雙穩態觸發器;級910-1及910-21中的每一個包括128個非易失性雙穩態觸發器;級910-2及910-20中的每一個包括256個非易失性雙穩態觸發器;以此類推。在每一級中,所述非易失性雙穩態觸發器被串聯連接,且輸出最低有效位元Qn−1的最末一個非易失性雙穩態觸發器的相反輸出端子Qb連接到第一非易失性雙穩態觸發器的輸入端子D。
級910-8~910-14中的每一個包括輸出對應的中間位元MC’[8]~MC’[14]的一個非易失性雙穩態觸發器。在每一非易失性雙穩態觸發器中,相反輸出端子Qb連接到輸入端子D。
另外,級910-0~910-22中的每一個包括互斥或閘920-0~920-22、“1”/“0”檢測器930-0~930-22、以及遞增脈衝產生器940-0~940-22。互斥或閘920-0~920-22中的每一個被連接成分別從各非易失性雙穩態觸發器接收輸出的位元Q0~Qn−1,且被配置成產生對應的中間位元MC’[0]~MC’[22]。“1”/“0”檢測器930-0~930-22中的每一個連接到對應互斥或閘920-0~920-22的輸出以接收對應的中間位元MC’[0]~MC’[22],且被配置成在對應的中間位元從“1”轉變成“0”時產生觸發信號。遞增脈衝產生器940-0~940-22中的每一個連接到對應的“1”/“0”檢測器930-0~930-22,且被配置成回應於從對應的“1”/“0”檢測器930-0~930-22接收到觸發信號來產生脈衝Pulse[0]~Pulse[22]並將所述脈衝傳送到時鐘控制電路970。
輸出控制電路950包括分別輸出計數位元MC[0]~MC[22]的多工器960-0~960-22、以及輸出計數位元MC[11]的驅動器962。中間位元MC’[11]被輸入到所有多工器960-0~960-22的選擇端子,以用作這些多工器的多工器控制。中間位元MC’[22]及MC’[0]分別被輸入到多工器960-0的1”輸入端及“0”輸入端子,多工器960-0隨後基於中間位元MC’[11]來輸出計數位元MC[0];中間位元MC’[21]及MC’[1]分別被輸入到多工器960-1的“1”輸入端子及“0”輸入端子,多工器960-1隨後基於中間位元MC’[11]來輸出計數位元MC[1];以此類推。另外,中間位元MC’[11]被輸入到驅動器962,以作為計數位元MC[11]進行輸出。
時鐘控制電路970包括分別輸出時鐘Clock[1]~Clock[22]的多工器980-1~980-22、以及輸出時鐘Clock[12]的驅動器982。中間位元MC’[11]被輸入到所有多工器980-1~980-22的選擇端子,以用作這些多工器的多工器控制。脈衝Pulse[22]及Pulse[0]分別被輸入到多工器980-1的“1”輸入端子及“0”輸入端子,多工器980-1隨後基於中間位元MC’[11]來輸出時鐘Clock[1];脈衝Pulse[21]及Pulse[1]分別被輸入到多工器980-2的“1”輸入端子及“0”輸入端子,多工器980-2隨後基於中間位元MC’[11]來輸出時鐘Clock[2];以此類推。另外,脈衝Pulse[11]被輸入到驅動器982,以作為時鐘Clock[12]進行輸出。
這樣一來,如表3中的概要表所說明,計數器900通過對級910-0~910-22的非易失性雙穩態觸發器執行16K個程式化/抹除迴圈、對級910-9~910-13的非易失性雙穩態觸發器執行8K個程式化/抹除迴圈並對級910-11的非易失性雙穩態觸發器執行4K個程式化/抹除迴圈來提供最多約8M個計數。因此,對計數器900中所包含的各非易失性雙穩態觸發器執行的程式化/抹除迴圈的數目實質上得以平衡。
圖9說明根據本發明一實施例的計數器1100(偶數平衡單調計數器)的計數方案。為使解釋簡潔起見,計數器1100僅包括四個計數位元。然而,計數器1100可包括少於四個或多於四個計數位元。
計數器1100包括第一級到第四級(圖中未說明)及輸出控制電路1110。第一級到第四級被配置成分別產生中間位元MC’[0]~MC’[3],如圖9的左表所示。接著,中間位元MC’[0]~MC’[3]被輸入到輸出控制電路1110,輸出控制電路1110產生計數位元MC[0]~MC[3],如圖9的右表所示。
在輸出控制電路1110中,使用中間位元MC’[2]作為多工器控制來選擇中間位元MC’[0]及MC’[3]中的一個以作為計數位元MC[0]或MC[3]進行輸出。具體來說,輸出控制電路1110包括多工器1111~1112及驅動器1115。中間位元MC’[2]被輸入到多工器1111及多工器1112的選擇端子,以用作多工器控制。中間位元MC’[3]及MC’[0]分別被輸入到多工器1111的“1”輸入端子及“0”輸入端子,多工器1111隨後基於中間位元MC’[2]來輸出計數位元MC[0];且中間位元MC’[3]及MC’[0]分別被輸入到多工器1112的“1”輸入端子及“0”輸入端子,多工器1112隨後基於中間位元MC’[2]來輸出計數位元MC[3]。中間位元MC’[2]及MC’[1]被輸入到驅動器1115,以分別作為計數位元MC[2]及MC[1]進行輸出。
以計數位元MC[0]為例。在第0號計數運算到第3號計數運算中,中間位元MC’[2]是“0”,因此多工器1111輸出中間位元MC’[0]作為計數位元MC[0];在第4號計數運算到第7號計數運算中,中間位元MC’[2]是“1”,因此多工器1111輸出中間位元MC’[3]作為計數位元MC[0];在第8號計數運算到第11號計數運算中,中間位元MC’[2]是“0”,因此多工器1111輸出中間位元MC’[0]作為計數位元MC[0];且在第12號計數運算到第15號計數運算中,中間位元MC’[2]是“1”,因此多工器1111輸出中間位元MC’[3]作為計數位元MC[0]。
這樣一來,計數器1100通過分別對中間位元MC’[0]、MC’[1]、MC’[2]、MC’[3]執行8次、8次、4次、8次更新來分別提供最多16次、8次、4次、2次更新。因此,對各非易失性雙穩態觸發器執行的程式化/抹除迴圈的數目得以平衡。
更一般來說,對於其中m>1大的正偶數的m位平衡單調計數器,使用中間位元MC’[m/2]作為多工器控制來選擇中間位元MC’[i]及MC’[m−1−i]中的一個以作為計數位元MC[i]或MC[m−1−i]進行輸出,其中i是整數且0£ i <m/2。另外,中間位元MC’[m/2]及MC’[m/2−1]作為計數位元MC[m/2]及MC[m/2−1]被輸出。
為使第一級到第四級如圖9的左表所示來產生中間位元,基於中間位元MC’[2]將第二級、第三級、及第四級中每一個的輸入時鐘選擇性地耦合到緊鄰的前一級的輸出或緊鄰的前一級的相對級的輸出。舉例來說,基於MC’[2]將產生MC’[1]的第二級的輸入時鐘選擇性地耦合到MC’[0]或MC’[3]。所述選擇性耦合可由與輸出控制電路1110相似的包括多個多工器的時鐘控制電路實施。圖12中將說明根據本發明一實施例的所述時鐘控制電路。
更一般來說,對於m>1的正偶數的m位平衡單調計數器,使用中間位元MC’[m/2]作為多工器控制來選擇性地提供MC’[j]及MC’[m−1−j]中的一個作為輸出中間位元MC’[j+1]的級的輸入時鐘,其中j是整數且0 £ j < (m−1−j)。
圖10示範性說明根據本發明一實施例的計數器1200(24位平衡單調計數器)。表4是計數器1200的配置的概要。
表4:
根據圖10及表4,計數器1200包括分別輸出中間位元MC’[0]~MC’[23]的24個級1210-0~1210-23。計數器1200還包括輸出控制電路1250,輸出控制電路1250接收中間位元MC’[0]~MC’[23]並產生計數位元MC[0]~MC[23],所述計數位元MC[0]~MC[23]以組合形式構成計數器1200的計數值。計數器1200進一步包括時鐘控制電路1270,以用於控制被施加到級1210-1~1210-23中的每一個的時鐘信號。
級1210-0~1210-8及1210-15~1210-23中的每一個是包括分別輸出位元Q0~Qn−1的n個非易失性雙穩態觸發器的n位非易失性雙穩態觸發器計數器,其中n是大於1的整數。舉例來說,級1210-0及1210-23各包括512個非易失性雙穩態觸發器;級1210-1及1210-22各包括256個非易失性雙穩態觸發器;級1210-2及1210-21各包括128個非易失性雙穩態觸發器;以此類推。在每一非易失性雙穩態觸發器計數器中,各非易失性雙穩態觸發器被串聯連接,且輸出最低有效位元Qn−1的最末一個非易失性雙穩態觸發器的相反輸出端子Qb連接到第一非易失性雙穩態觸發器的輸入端子D。
級1210-9~1210-14中的每一個包括輸出對應的中間位元MC’[9]~MC’[14]的一個非易失性雙穩態觸發器。在每一非易失性雙穩態觸發器中,相反輸出端子Qb連接到輸入端子D。
另外,級1210-0~1210-23中的每一個包括互斥或閘1220-0~1220-23、“1”/“0”檢測器1230-0~1230-23、以及遞增脈衝產生器1240-0~1240-23。互斥或閘1220-0~1220-23中的每一個被連接成接收分別從對應的級1210-0~1210-23中所包含的各非易失性雙穩態觸發器輸出的位元Q0~Qn−1,且被配置成產生對應的中間位元MC’[0]~MC’[23]。“1”/“0”檢測器1230-0~1230-23中的每一個被連接成接收對應的中間位元MC’[0]~MC’[23],且被配置成在對應的中間位元從“1”轉變成“0”時產生觸發信號。遞增脈衝產生器1240-0~1240-23中的每一個連接到對應的“1”/“0”檢測器1230-0~1230-23,且被配置成回應於從對應的“1”/“0”檢測器1230-0~1230-23接收到觸發信號來產生脈衝Pulse[0]~Pulse[23]並將所述脈衝傳送到時鐘控制電路1270。
輸出控制電路1250包括分別輸出計數位元MC[0]~MC[10]及MC[13]~MC[23]的多工器1260-0~1260-10及1260-13~1260-23、以及輸出計數位元MC[12]及MC[11]的驅動器1262。中間位元MC’[12]被輸入到所有多工器1260-0~1260-10及1260-13~1260-23的選擇端子,以用作這些多工器的多工器控制。中間位元MC’[23]及MC’[0]分別被輸入到多工器1260-0的“1”輸入端子及“0”輸入端子,多工器1260-0隨後基於中間位元MC’[12]來輸出計數位元MC[0];中間位元MC’[22]及MC’[1]分別被輸入到多工器1260-1的“1”輸入端子及“0”輸入端子,多工器1260-1隨後基於中間位元MC’[12]來輸出計數位元MC[1];等等。另外,中間位元MC’[12]及MC’[11]被輸入到驅動器1262,以作為計數位元MC[12]及MC[11]進行輸出。
時鐘控制電路1270包括分別輸出時鐘Clock[1]~Clock[23]的多工器1280-1~1280-23。中間位元MC’[12]被輸入到所有多工器1280-1~1280-23的選擇端子,以用作這些多工器的多工器控制。脈衝Pulse[23]及Pulse[0]分別被輸入到多工器1280-1的“1”輸入端子及“0”輸入端子,多工器1280-1隨後基於中間位元MC’[12]來輸出時鐘Clock[1];脈衝Pulse[22]及Pulse[1]分別被輸入到多工器1280-2的“1”輸入端子及“0”輸入端子,多工器1280-2隨後基於中間位元MC’[12]來輸出時鐘Clock[2];以此類推。
這樣一來,如表4中的概要表所說明,計數器1200通過對級1210-0~1210-9及1210-14~1210-23的非易失性雙穩態觸發器執行16K個程式化/抹除迴圈、對級1210-10、1210-11及1210-13的非易失性雙穩態觸發器執行8K個程式化/抹除迴圈並對級1210-12的非易失性雙穩態觸發器執行4K個程式化/抹除迴圈來提供最多約16M個計數。因此,對計數器1200中所包含的非易失性雙穩態觸發器執行的程式化/抹除迴圈的數目實質上得以平衡。
圖11示範性說明根據本發明實施例的電腦系統1400。電腦系統1400包括控制器1410及單調計數器1420。單調計數器1420例如為上述計數器(例如計數器100、600、800、900、1100、及1200)中的任一個。控制器1410向單調計數器1420供應各種控制信號(例如時鐘信號、清除信號、讀取信號及寫入信號)及電源電壓Vcc、VGND
。單調計數器1420回應於讀取信號將計數值傳送到控制器1410。
圖12示範性說明根據示例性實施例的電腦系統1400中的單調計數器1420的各種輸入信號及輸出信號的波形。在圖12所說明的實施例中,單調計數器1420包括分別由24個級實施的24個計數位元MC[23:0]。所述級中的至少一個包括多於一個非易失性雙穩態觸發器。每一非易失性雙穩態觸發器包括雙穩態觸發器區段及非易失性區段,所述非易失性區段包括兩個記憶胞。在電腦系統1400被接通電源之後,所述非易失性雙穩態觸發器的非易失性區段中所包含的記憶胞中存儲有邏輯值,所述邏輯值以組合形式表示單調計數器1420的十六進位(hexadecimal,hex)的計數值0xABCDEF。
如圖12中所說明,當電腦系統1400被接通電源之後,電源電壓Vcc從較低電位逐漸增大到較高電位。在電源電壓Vcc增大時,在時間t1,控制器1410將脈衝寬度為10奈秒(nanosecond,ns)的清除脈衝供應到單調計數器1420中所包含的所有非易失性雙穩態觸發器的清除端子CLR。回應於該清除脈衝,所有計數位元MC[23:0]變為“0”,且因此,單調計數器1420具有計數值0x000000(十六進位)。
在時間t2,控制器1410將脈衝寬度為100 ns的讀取脈衝供應到單調計數器1420中所包含的所有非易失性雙穩態觸發器的讀取端子RD。回應於該讀取脈衝,各非易失性雙穩態觸發器的非易失性區段中所包含的記憶胞中所存儲的邏輯值分別被讀回到同一非易失性雙穩態觸發器的雙穩態觸發器區段中。因此,由非易失性雙穩態觸發器實施的計數位元MC[23:0]提供計數值0xABCDEF(十六進位)。
在時間t3,控制器1410將第一時鐘脈衝CLOCK[0]供應到實施最低有效位元MC[0]的級的時鐘端子CLK。回應於第一時鐘脈衝CLOCK[0],計數值從0xABCDEF(十六進位)改變成0xABCDF0(十六進位)。即,計數位元MC[3:0]從二進位的1111改變成二進位的0000。因每一級中所包含的“1”/“0”檢測器,會產生時鐘脈衝CLOCK[1]、CLOCK[2]、及CLOCK[3]。
在時間t4,控制器1410將第二時鐘脈衝CLOCK[0]供應到實施最低有效位元MC[0]的級的時鐘端子CLK。回應於第二時鐘脈衝CLOCK[0],計數值從0xABCDF0(十六進位)改變成0xABCDF1(十六進位)。即,計數位元MC[3:0]從二進位的0000改變成二進位的0001。由於無計數位元從“1”改變成“0”,因而不會產生時鐘脈衝CLOCK[1]。
在時間t5,控制器1410將第三時鐘脈衝CLOCK[0]供應到實施最低有效位元MC[0]的級的時鐘端子CLK。回應於第三時鐘脈衝CLOCK[0],計數值從0xABCDF1(十六進位)改變成0xABCDF2(十六進位)。即,計數位元MC[3:0]從二進位的0001改變成二進位的0010。由於最低有效位元MC[0]從“1”改變成“0”,因而會產生時鐘脈衝CLOCK[1]。
在時間t6,在另一時鐘脈衝被供應之前,由使用者或因電源故障而觸發電源關斷事件。在此種情況中,電源電壓Vcc從較高電位逐漸減小到較低電位。在此種情況中,控制器1410將寫入脈衝供應到單調計數器1420中所包含的所有非易失性雙穩態觸發器的寫入端子WRT。回應於所述寫入脈衝,所有非易失性雙穩態觸發器的雙穩態觸發器區段中的邏輯值分別被寫回到同一非易失性雙穩態觸發器的非易失性記憶體區段中的記憶胞中。一般來說,將邏輯資料寫回到所有非易失性雙穩態觸發器的記憶胞中所需的時間段比將電源電壓降低到較低電位所需的時間段少得多。
在上述實施例中,單調計數器的各級中的每一個包括一個或多個非易失性雙穩態觸發器。然而,在某一(某些)實施例中,所述級中的某些級可包括其他類型的記憶體裝置。舉例來說,在計數器600中,級610-23僅需要2個程式化/抹除迴圈,且因此可由能夠在其壽命中忍耐較少程式化/抹除迴圈的記憶體裝置實施。
根據本發明的實施例,一種單調計數器包括多個計數位元,所述多個計數位元中的至少一個計數位元由非易失性雙穩態觸發器計數器實施,所述非易失性雙穩態觸發器計數器包括各自具有兩個記憶胞的多個非易失性雙穩態觸發器實施。與其中每一計數位元均由單個記憶體裝置實施的單調計數器相比,對本發明實施例的單調計數器中的記憶胞執行的程式化/抹除迴圈的數目被大幅減少。
另外,本發明實施例的單調計數器的讀取過程及寫入過程中的每一個僅由讀取脈衝或寫入脈衝觸發,且並不需要例如最後存儲的位元的位址等的額外資訊。因此,本發明實施例的單調計數器會實現更快的讀取速度及寫入速度。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100、200、300、600、800、900、1100、1200‧‧‧計數器
311~314、500‧‧‧非易失性雙穩態觸發器
320、620-0~620-9、920-0~920-22、1220-0~1220-23‧‧‧互斥或閘
510‧‧‧讀取/寫入時鐘控制單元
520‧‧‧讀取邏輯控制單元
530‧‧‧寫入禁止邏輯控制單元
540‧‧‧存儲區段
550‧‧‧雙穩態觸發器區段
560‧‧‧非易失性記憶體區段
610-1~610-23、910-0~910-22、1210-0~1210-23‧‧‧級
630-0~630-22、930-0~930-22、1230-0~1230-23‧‧‧“1”/“0”檢測器
640-0~640-22、940-0~940-22、1240-0~1240-23‧‧‧遞增脈衝產生器
810、950、1110、1250‧‧‧輸出控制電路
811~814、960-0~960-22、980-1~980-22、1111~1112、1260-0~1260-23、1280-1~1280-23‧‧‧多工器
815、962、982、1115、1262‧‧‧驅動器
970、1270‧‧‧時鐘控制電路
1400‧‧‧電腦系統
1410‧‧‧控制器
1420‧‧‧單調計數器
C1、C2‧‧‧電容器
Cell1、Cell2‧‧‧記憶胞
CLK‧‧‧時鐘端子
Clock[0]~Clock[23]、Data_n、Datab_n、Data_p、Datab_p、Data_wlrst、Datab_wlrst、Eqb、MQ、MCK、MCKb、READb、SAVREF、SCK、SCKb‧‧‧信號
CLOCK[0]~CLOCK[3]‧‧‧時鐘脈衝
CLR‧‧‧清除端子
D‧‧‧輸入端子
Data、Datab‧‧‧資料值
INV1~INV5‧‧‧反相器
MC[0]~MC[23]‧‧‧計數位元
MC’[0]~MC’[23]‧‧‧中間位元
MN1~MN10‧‧‧N型金屬氧化物半導體場效電晶體
MP1~MP13‧‧‧P型金屬氧化物半導體場效電晶體
N1、N2‧‧‧節點
Pulse[0]~Pulse[23]‧‧‧脈衝
Q、Qb‧‧‧輸出端子
Q0~Q7、Qn−1‧‧‧位元
QA、QB、QC、QD‧‧‧輸出
RD‧‧‧讀取端子
t1~t6‧‧‧時間
TG1~TG3‧‧‧傳輸閘
Vcc‧‧‧電源電壓
WRT‧‧‧寫入端子
0x000000、0xABCDEF、0xABCDF0、0xABCDF1、0xABCDF2‧‧‧計數值
圖1示範性說明根據本發明一實施例的計數器100的計數方案。 圖2示範性說明根據本發明一實施例的計數器200的計數方案。 圖3示範性說明根據本發明一實施例的計數器300的電路圖。 圖4示範性說明根據所說明實施例圖3所示4位非易失性雙穩態觸發器計數器的各種輸入信號及輸出信號的波形。 圖5示範性說明根據本發明一實施例的非易失性雙穩態觸發器的電路圖。 圖6示範性說明根據本發明一實施例的計數器600。 圖7示範性說明根據本發明一實施例的計數器800的計數方案。 圖8示範性說明根據本發明一實施例的計數器900。 圖9示範性說明根據本發明一實施例的計數器1100的計數方案。 圖10示範性說明根據本發明一實施例的計數器1200。 圖11示範性說明根據本發明一實施例包括單調計數器的電腦系統。 圖12示範性說明根據所說明示例性實施例的單調計數器的各種輸入信號及輸出信號的波形。
Claims (20)
- 一種單調計數器,包括: 多個級,分別對應於所述單調計數器的多個計數位元, 其中所述多個級中的至少一個是包括多個非易失性雙穩態觸發器(NVFF)的非易失性雙穩態觸發器計數器,每一所述非易失性雙穩態觸發器包括一對非易失性存儲胞元。
- 如申請專利範圍第1項所述的單調計數器,其中所述非易失性雙穩態觸發器計數器是詹森環形計數器。
- 如申請專利範圍第1項所述的單調計數器,其中所述一對非易失性存儲胞元選自電阻式隨機存取存儲胞元、導電橋接隨機存取存儲胞元、磁阻式隨機存取存儲胞元、鐵電式隨機存取存儲胞元、及相變存儲胞元。
- 如申請專利範圍第1項所述的單調計數器,其中所述多個級中的所述至少一個對應於所述單調計數器的所述多個計數位元中的最低有效位元(LSB)。
- 如申請專利範圍第4項所述的單調計數器,其中所述非易失性雙穩態觸發器環形計數器中所包含的所述多個非易失性雙穩態觸發器包括由M除以P所確定數目的非易失性雙穩態觸發器,其中M是所述單調計數器被配置成能夠進行計數的最大計數數目,且P是非易失性雙穩態觸發器的壽命中程式化/抹除迴圈的估計數目。
- 如申請專利範圍第4項所述的單調計數器,其中所述多個級中的所述至少一個包括: 所述多個非易失性雙穩態觸發器,被串聯連接且分別輸出多個位,所述串聯連接的非易失性雙穩態觸發器中的最末一個的反相輸出連接到所述串聯連接的非易失性雙穩態觸發器中的第一個; 互斥或閘,接收所述多個非易失性雙穩態觸發器位並輸出計數位元; 檢測器,回應於確定出所述計數位元從邏輯值“1”轉變成“0”來輸出觸發信號;以及 遞增脈衝產生器,回應於接收到所述觸發信號來將遞增脈衝輸出到下一較高次序的級。
- 如申請專利範圍第1項所述的單調計數器,其中,所述非易失性雙穩態觸發器中的每一個包括: 雙穩態觸發器區段,包括一對節點,所述一對節點具有一對相反的邏輯資料值;以及 非易失性區段,包括分別連接到所述一對節點的所述一對非易失性存儲胞元。
- 如申請專利範圍第7項所述的單調計數器,其中,所述單調計數器耦合到控制器,所述單調計數器被配置成: 響應於由所述控制器發出的寫入脈衝,將所述雙穩態觸發器區段的所述一對節點上的所述一對相反的邏輯資料值分別寫入到所述一對非易失性存儲胞元中,且 響應於由所述控制器發出的讀取脈衝,讀取所述一對非易失性存儲胞元中所存儲的邏輯資料值並將從所述一對非易失性存儲胞元讀取的所述邏輯資料值傳遞到所述雙穩態觸發器區段的所述一對節點。
- 如申請專利範圍第1項所述的單調計數器,其中,所述單調計數器包括分別對應於m個計數位元的m個級, 對於計數位元MC[i],其中i = 0、1、…、m−1,如果2m − i 大於P,其中P是非易失性雙穩態觸發器的壽命中程式化/抹除迴圈的估計數目,則與計數位元MC[i]對應的級包括2m − i /P個非易失性雙穩態觸發器。
- 如申請專利範圍第1項所述的單調計數器,進一步包括: m個級,分別輸出m個中間位元MC’[(m−1):0],其中m是正奇數;以及 輸出控制電路,包括至少一個多工器,所述至少一個多工器被配置成接收中間位元MC’[(m−1)/2]作為多工器控制,並基於所述中間位元MC’[(m−1)/2]來選擇中間位元MC’[i]及MC’[m−1−i]中的一個以作為所述單調計數器的計數位元MC[i]或MC[m−1−i]進行輸出,其中i是整數且0£ i <(m−1)/2。
- 如申請專利範圍第10項所述的單調計數器,進一步包括: 時鐘控制電路,包括至少一個多工器,所述至少一個多工器被配置成接收所述中間位元MC’[(m−1)/2]作為多工器控制,並選擇性地提供中間位元MC’[j]及MC’[m−1−j]中的一個作為輸出中間位元MC’[j+1]的級的輸入時鐘,其中j是整數且0 £ j <(m−1−j)。
- 如申請專利範圍第1項所述的單調計數器,其 m個級,分別輸出m個中間位元MC’[(m−1):0],其中m是正偶數;以及 輸出控制電路,包括至少一個多工器,所述至少一個多工器被配置成接收中間位元MC’[m/2]作為多工器控制,並基於所述中間位元MC’[m/2]來選擇中間位元MC’[i]及MC’[m−1−i]中的一個以作為所述單調計數器的計數位元MC[i]或MC[m−1−i]進行輸出,其中i是整數且0£ i <m/2。
- 如申請專利範圍第12項所述的單調計數器,更包括: 時鐘控制電路,包括至少一個多工器,所述至少一個多工器被配置成接收所述中間位元MC’[m/2]作為多工器控制,並選擇性地提供中間位元MC’[j]及MC’[m−1−j]中的一個作為輸出中間位元MC’[j+1]的級的輸入時鐘,其中j是整數且0 £ j <(m−1−j)。
- 一種實施單調計數器的方法,其特徵在於,包括: 提供多個級,所述多個級分別輸出多個輸出位元,其中所述多個級中的至少一個是包括多個非易失性雙穩態觸發器(NVFF)的非易失性雙穩態觸發器計數器,每一所述非易失性雙穩態觸發器包括一對非易失性存儲胞元; 提供脈衝作為所述多個級中的第一級的輸入時鐘;以及 提供所述多個輸出位元作為所述單調計數器的多個計數位元。
- 如申請專利範圍第14項所述的實施單調計數器的方法,其中所述提供多個級包括提供所述多個級中的所述至少一個,此包括: 將所述多個級中的所述至少一個中的所述多個非易失性雙穩態觸發器串聯連接,所述多個非易失性雙穩態觸發器分別輸出多個位;以及 將所述多個位提供到異或(XOR)門,所述互斥或閘接收所述多個位並輸出所述多個級中的所述至少一個的輸出位元。
- 如申請專利範圍第15項所述的實施單調計數器的方法,其中所述提供所述多個級中的一個的輸出位元作為所述多個級中的下一較高次序的級的輸入時鐘包括: 確定所述多個級中的一個的所述輸出位元從邏輯值“1”轉變成“0”;以及 將遞增脈衝輸出到所述下一較高次序的級。
- 如申請專利範圍第14項所述的實施單調計數器的方法,所述提供多個級包括提供非易失性雙穩態觸發器,此包括: 提供包括一對節點的雙穩態觸發器區段,所述一對節點具有一對相反的邏輯資料值;以及 提供非易失性區段,所述非易失性區段包括分別連接到所述一對節點的所述一對非易失性存儲胞元。
- 如申請專利範圍第17項所述的實施單調計數器的方法,進一步包括: 從外部控制器接收寫入脈衝;以及 將所述雙穩態觸發器區段的所述一對節點上的所述一對相反的邏輯資料值分別寫入到所述一對非易失性存儲胞元中。
- 如申請專利範圍第18項所述的實施單調計數器的方法,進一步包括 從所述外部控制器接收讀取脈衝
- 如申請專利範圍第14項所述的實施單調計數器的方法,進一步包括: 提供輸出控制電路,所述輸出控制電路接收所述多個輸出位元並選擇性地輸出所述多個輸出位元作為所述單調計數器的所述多個計數位元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/493,173 | 2017-04-21 | ||
US15/493,173 US10419004B2 (en) | 2017-04-21 | 2017-04-21 | NVFF monotonic counter and method of implementing same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201840135A true TW201840135A (zh) | 2018-11-01 |
TWI658696B TWI658696B (zh) | 2019-05-01 |
Family
ID=63852888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106143506A TWI658696B (zh) | 2017-04-21 | 2017-12-12 | 非易失性雙穩態觸發器單調計數器及其實施方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10419004B2 (zh) |
CN (1) | CN108736883B (zh) |
TW (1) | TWI658696B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI727458B (zh) * | 2018-12-21 | 2021-05-11 | 美商美光科技公司 | 記憶體裝置及用於控制記憶體裝置之方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10734071B2 (en) | 2018-12-13 | 2020-08-04 | Western Digital Technologies, Inc. | Multi-level cell programming using optimized multiphase mapping with balanced Gray code |
US11133067B2 (en) * | 2019-03-08 | 2021-09-28 | Western Digital Technologies, Inc. | Multi-phased programming with balanced gray coding |
JP2020202439A (ja) * | 2019-06-06 | 2020-12-17 | ソニーセミコンダクタソリューションズ株式会社 | 位相同期回路、電子装置、および、位相同期回路の制御方法 |
FR3120759B1 (fr) | 2021-03-15 | 2023-02-17 | Proton World Int Nv | Compteur monotone |
FR3120760B1 (fr) * | 2021-03-15 | 2023-03-03 | Proton World Int Nv | Compteur Monotone |
US11901899B2 (en) | 2021-04-26 | 2024-02-13 | Winbond Electronics Corp. | Monotonic counter memory system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2171543B (en) * | 1985-02-27 | 1988-04-20 | Hughes Microelectronics Ltd | Counting circuit which provides for extended counter life |
AU2003220785A1 (en) | 2002-04-10 | 2003-10-20 | Matsushita Electric Industrial Co., Ltd. | Non-volatile flip-flop |
US6826249B1 (en) * | 2002-10-10 | 2004-11-30 | Xilinx, Inc. | High-speed synchronous counters with reduced logic complexity |
FR2846463A1 (fr) * | 2002-10-28 | 2004-04-30 | St Microelectronics Sa | Compteur monotone a base de cellules memoire |
US7245556B1 (en) | 2005-12-28 | 2007-07-17 | Sandisk Corporation | Methods for writing non-volatile memories for increased endurance |
US7369432B2 (en) | 2006-02-16 | 2008-05-06 | Standard Microsystems Corporation | Method for implementing a counter in a memory with increased memory efficiency |
US7443729B2 (en) * | 2006-07-20 | 2008-10-28 | Sandisk Corporation | System that compensates for coupling based on sensing a neighbor using coupling |
US8670266B2 (en) * | 2012-01-30 | 2014-03-11 | Qualcomm Incorporated | Non-volatile flip-flop |
US9899066B2 (en) * | 2012-09-10 | 2018-02-20 | Texas Instruments Incorporated | Priority based backup in nonvolatile logic arrays |
KR102039537B1 (ko) * | 2013-03-15 | 2019-11-01 | 삼성전자주식회사 | 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법 |
CN104636684A (zh) | 2014-12-15 | 2015-05-20 | 上海新储集成电路有限公司 | 单调计数器及单调计数方法 |
TWI585366B (zh) * | 2016-08-23 | 2017-06-01 | 新唐科技股份有限公司 | 計數裝置及計步裝置 |
-
2017
- 2017-04-21 US US15/493,173 patent/US10419004B2/en active Active
- 2017-12-12 TW TW106143506A patent/TWI658696B/zh active
-
2018
- 2018-01-09 CN CN201810017926.XA patent/CN108736883B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI727458B (zh) * | 2018-12-21 | 2021-05-11 | 美商美光科技公司 | 記憶體裝置及用於控制記憶體裝置之方法 |
Also Published As
Publication number | Publication date |
---|---|
US10419004B2 (en) | 2019-09-17 |
CN108736883B (zh) | 2022-03-15 |
TWI658696B (zh) | 2019-05-01 |
US20180309453A1 (en) | 2018-10-25 |
CN108736883A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI658696B (zh) | 非易失性雙穩態觸發器單調計數器及其實施方法 | |
US11074957B2 (en) | Semiconductor device | |
US10572190B2 (en) | Physical unclonable function code providing apparatus and providing method thereof | |
US11294640B2 (en) | Random number generator | |
CN114121124A (zh) | 用于更新存储器中的散列键的设备、系统和方法 | |
TWI716624B (zh) | 正反器 | |
TWI735966B (zh) | 隨機碼產生器 | |
TWI667655B (zh) | 用於資料程式化操作的電源供應器及其電源供應方法 | |
CN103956183A (zh) | 抗辐射sram单元 | |
TW201941537A (zh) | 修正電路 | |
JP2022038403A (ja) | デューティー調整回路、及び、半導体記憶装置、並びに、メモリシステム | |
CN106356085A (zh) | 驱动信号控制电路和驱动装置 | |
US10613832B2 (en) | Random number generating system and random number generating method thereof | |
TWI815282B (zh) | 半導體積體電路、半導體記憶裝置及記憶體系統 | |
CN110619906B (zh) | 多级相变存储器的读出电路及读出方法 | |
WO2016157719A1 (ja) | 半導体記憶装置の書き換え方法及び半導体記憶装置 | |
JP6027855B2 (ja) | 不揮発性メモリ素子を含む多値論理装置 | |
JP5901746B2 (ja) | メモリセルをプログラミングすること | |
TWI662471B (zh) | 真實隨機數產生裝置及其產生方法 | |
JP2012185870A (ja) | 半導体記憶装置 | |
JP2007004869A (ja) | 不揮発性半導体記憶装置 | |
JP2015167190A (ja) | 半導体装置 | |
KR100902124B1 (ko) | 반도체 메모리 장치의 테스트 회로 | |
CN107591179B (zh) | 一种扩展存储器操作次数的电路结构及方法 | |
WO2022181507A1 (ja) | 制御装置 |