CN108736883A - 非易失性双稳态触发器单调计数器及其实施方法 - Google Patents
非易失性双稳态触发器单调计数器及其实施方法 Download PDFInfo
- Publication number
- CN108736883A CN108736883A CN201810017926.XA CN201810017926A CN108736883A CN 108736883 A CN108736883 A CN 108736883A CN 201810017926 A CN201810017926 A CN 201810017926A CN 108736883 A CN108736883 A CN 108736883A
- Authority
- CN
- China
- Prior art keywords
- volatile
- counter
- bit
- grade
- pair
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
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
一种单调计数器包括多个级,所述多个级分别对应于所述单调计数器的多个计数位元。该多个级中的至少一个是包括多个非易失性双稳态触发器的非易失性双稳态触发器计数器,每一非易失性双稳态触发器包括一对非易失性存储胞元。
Description
技术领域
本发明涉及一种单调计数器(monotonic counter),尤其涉及一种非易失性双稳态触发器(non-volatile flip-flop,NVFF)单调计数器及一种实施非易失性双稳态触发器单调计数器的方法。
背景技术
单调计数器是一种提供递增数值的计数器,且该数值无法被回复成旧值。单调计数器被应用在各种金融系统或电子系统中。在此类应用中,单调计数器需要在长时间段内不断地更新其计数值。另外,单调计数器需要能够稳健地抵御电源故障影响,且在其电源供应被复原时能快速地恢复其计数值。
发明内容
根据本发明的实施例,本发明提供一种单调计数器。所述单调计数器包括多个级,该多个级分别对应于所述单调计数器的多个计数比特。所述多个级中的至少一个级是包括多个非易失性双稳态触发器(NVFF)的非易失性双稳态触发器计数器,每一所述非易失性双稳态触发器包括一对非易失性存储胞元。
根据本发明的另一实施例,提供一种实施单调计数器的方法。所述方法包括:提供多个级,该多个级分别输出多个输出比特,其中该多个级中的至少一个级是包括多个非易失性双稳态触发器的非易失性双稳态触发器计数器,每一所述非易失性双稳态触发器包括一对非易失性存储胞元;提供该多个级中的一个级的输出比特作为所述该多个级中的下一较高次序的级的输入时钟;提供脉冲作为该多个级中的第一级的输入时钟;以及提供所述多个输出比特作为该单调计数器的多个计数比特。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1示范性说明根据本发明一实施例的计数器100的计数方案;
图2示范性说明根据本发明一实施例的计数器200的计数方案;
图3示范性说明根据本发明一实施例的计数器300的电路图;
图4示范性说明根据所说明实施例图3所示4位非易失性双稳态触发器计数器的各种输入信号及输出信号的波形;
图5示范性说明根据本发明一实施例的非易失性双稳态触发器的电路图;
图6示范性说明根据本发明一实施例的计数器600;
图7示范性说明根据本发明一实施例的计数器800的计数方案;
图8示范性说明根据本发明一实施例的计数器900;
图9示范性说明根据本发明一实施例的计数器1100的计数方案;
图10示范性说明根据本发明一实施例的计数器1200;
图11示范性说明根据本发明一实施例包括单调计数器的电脑系统;
图12示范性说明根据所说明示例性实施例的单调计数器的各种输入信号及输出信号的波形。
附图标号说明:
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(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 ringcounter)、格雷码计数器(gray codes counter)、或平衡格雷码计数器(balanced graycodes counter)。该n位环形计数器包括n个非易失性双稳态触发器(NVFF),所述n个非易失性双稳态触发器分别存储该n比特环形计数器的n个位。因此,该n位环形计数器在本文中被称为n位非易失性双稳态触发器计数器。在所述n位非易失性双稳态触发器计数器中,每一非易失性双稳态触发器包括一对存储单元。该存储单元可为非易失性随机存取存储单元(random access memory,RAM)例如电阻式随机存取存储单元(resistive random accessmemory,ReRAM)、导电桥接随机存取存储单元(conductive bridging random accessmemory,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:
时钟脉冲编号 | QA | QB | QC | QD | MC[0] |
0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
2 | 1 | 1 | 0 | 0 | 0 |
3 | 1 | 1 | 1 | 0 | 1 |
4 | 1 | 1 | 1 | 1 | 0 |
5 | 0 | 1 | 1 | 1 | 1 |
6 | 0 | 0 | 1 | 1 | 0 |
7 | 0 | 0 | 0 | 1 | 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-typemetal-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将脉冲宽度为100ns的读取脉冲供应到单调计数器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个程序化/抹除回圈,且因此可由能够在其寿命中忍耐较少程序化/抹除回圈的存储器装置实施。
根据本发明的实施例,一种单调计数器包括多个计数比特,所述多个计数比特中的至少一个计数比特由非易失性双稳态触发器计数器实施,所述非易失性双稳态触发器计数器包括各自具有两个存储单元的多个非易失性双稳态触发器实施。与其中每一计数比特均由单个存储器装置实施的单调计数器相比,对本发明实施例的单调计数器中的存储单元执行的程序化/抹除回圈的数目被大幅减少。
另外,本发明实施例的单调计数器的读取过程及写入过程中的每一个仅由读取脉冲或写入脉冲触发,且并不需要例如最后存储的比特的地址等的额外信息。因此,本发明实施例的单调计数器会实现更快的读取速度及写入速度。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。
Claims (20)
1.一种单调计数器,其特征在于,包括:
多个级,分别对应于所述单调计数器的多个计数比特,
其中所述多个级中的至少一个是包括多个非易失性双稳态触发器的非易失性双稳态触发器计数器,每一所述非易失性双稳态触发器包括一对非易失性存储胞元。
2.根据权利要求1所述的单调计数器,其特征在于,所述非易失性双稳态触发器计数器是詹森环形计数器。
3.根据权利要求1所述的单调计数器,其特征在于,所述一对非易失性存储胞元选自电阻式随机存取存储胞元、导电桥接随机存取存储胞元、磁阻式随机存取存储胞元、铁电式随机存取存储胞元、及相变存储胞元。
4.根据权利要求1所述的单调计数器,其特征在于,所述多个级中的所述至少一个对应于所述单调计数器的所述多个计数比特中的最低有效比特。
5.根据权利要求4所述的单调计数器,其特征在于,所述非易失性双稳态触发器环形计数器中所包含的所述多个非易失性双稳态触发器包括由M除以P所确定数目的非易失性双稳态触发器,其中M是所述单调计数器被配置成能够进行计数的最大计数数目,且P是非易失性双稳态触发器的寿命中程序化/抹除回圈的估计数目。
6.根据权利要求4所述的单调计数器,其特征在于,所述多个级中的所述至少一个包括:
所述多个非易失性双稳态触发器,被串联连接且分别输出多个位,所述串联连接的非易失性双稳态触发器中的最末一个的反相输出连接到所述串联连接的非易失性双稳态触发器中的第一个;
互斥或闸,接收所述多个非易失性双稳态触发器位并输出计数比特;
检测器,回应于确定出所述计数比特从逻辑值“1”转变成“0”来输出触发信号;以及
递增脉冲产生器,回应于接收到所述触发信号来将递增脉冲输出到下一较高次序的级。
7.根据权利要求1所述的单调计数器,其特征在于,所述非易失性双稳态触发器中的每一个包括:
双稳态触发器区段,包括一对节点,所述一对节点具有一对相反的逻辑数据值;以及
非易失性区段,包括分别连接到所述一对节点的所述一对非易失性存储胞元。
8.根据权利要求7所述的单调计数器,其特征在于,所述单调计数器耦合到控制器,所述单调计数器被配置成:
响应于由所述控制器发出的写入脉冲,将所述双稳态触发器区段的所述一对节点上的所述一对相反的逻辑数据值分别写入到所述一对非易失性存储胞元中,且
响应于由所述控制器发出的读取脉冲,读取所述一对非易失性存储胞元中所存储的逻辑数据值并将从所述一对非易失性存储胞元读取的所述逻辑数据值传递到所述双稳态触发器区段的所述一对节点。
9.根据权利要求1所述的单调计数器,其特征在于,所述单调计数器包括分别对应于m个计数比特的m个级,
对于计数比特MC[i],其中i=0、1、…、m-1,如果2m-i大于P,其中P是非易失性双稳态触发器的寿命中程序化/抹除回圈的估计数目,则与计数比特MC[i]对应的级包括2m-i/P个非易失性双稳态触发器。
10.根据权利要求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。
11.根据权利要求10所述的单调计数器,其特征在于,进一步包括:
时钟控制电路,包括至少一个多路复用器,所述至少一个多路复用器被配置成接收所述中间比特MC’[(m-1)/2]作为多路复用器控制,并选择性地提供中间比特MC’[j]及MC’[m-1-j]中的一个作为输出中间比特MC’[j+1]的级的输入时钟,其中j是整数且0≤j<(m-1-j)。
12.根据权利要求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。
13.根据权利要求12所述的单调计数器,其特征在于,还包括:
时钟控制电路,包括至少一个多路复用器,所述至少一个多路复用器被配置成接收所述中间比特MC’[m/2]作为多路复用器控制,并选择性地提供中间比特MC’[j]及MC’[m-1-j]中的一个作为输出中间比特MC’[j+1]的级的输入时钟,其中j是整数且0≤j<(m-1-j)。
14.一种实施单调计数器的方法,其特征在于,包括:
提供多个级,所述多个级分别输出多个输出比特,其中所述多个级中的至少一个是包括多个非易失性双稳态触发器NVFF的非易失性双稳态触发器计数器,每一所述非易失性双稳态触发器包括一对非易失性存储胞元;
提供脉冲作为所述多个级中的第一级的输入时钟;以及
提供所述多个输出比特作为所述单调计数器的多个计数比特。
15.根据权利要求14所述的实施单调计数器的方法,其特征在于,所述提供多个级包括提供所述多个级中的所述至少一个,此包括:
将所述多个级中的所述至少一个中的所述多个非易失性双稳态触发器串联连接,所述多个非易失性双稳态触发器分别输出多个位;以及
将所述多个位提供到异或门,所述互斥或闸接收所述多个位并输出所述多个级中的所述至少一个的输出比特。
16.根据权利要求15所述的实施单调计数器的方法,其特征在于,所述提供所述多个级中的一个的输出比特作为所述多个级中的下一较高次序的级的输入时钟包括:
确定所述多个级中的一个的所述输出比特从逻辑值“1”转变成“0”;以及
将递增脉冲输出到所述下一较高次序的级。
17.根据权利要求14所述的实施单调计数器的方法,其特征在于,所述提供多个级包括提供非易失性双稳态触发器,此包括:
提供包括一对节点的双稳态触发器区段,所述一对节点具有一对相反的逻辑数据值;以及
提供非易失性区段,所述非易失性区段包括分别连接到所述一对节点的所述一对非易失性存储胞元。
18.根据权利要求17所述的实施单调计数器的方法,其特征在于,进一步包括:
从外部控制器接收写入脉冲;以及
将所述双稳态触发器区段的所述一对节点上的所述一对相反的逻辑数据值分别写入到所述一对非易失性存储胞元中。
19.根据权利要求18所述的实施单调计数器的方法,其特征在于,进一步包括:
从所述外部控制器接收读取脉冲。
20.根据权利要求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 |
---|---|
CN108736883A true CN108736883A (zh) | 2018-11-02 |
CN108736883B CN108736883B (zh) | 2022-03-15 |
Family
ID=63852888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810017926.XA Active CN108736883B (zh) | 2017-04-21 | 2018-01-09 | 非易失性双稳态触发器单调计数器及其实施方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10419004B2 (zh) |
CN (1) | CN108736883B (zh) |
TW (1) | TWI658696B (zh) |
Families Citing this family (7)
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 |
US11056192B2 (en) * | 2018-12-21 | 2021-07-06 | Micron Technology, Inc. | Monotonic counters in memories |
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 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4663770A (en) * | 1985-02-27 | 1987-05-05 | Hughes Microlectronics Limited | Non-volatile counting circuit and method which provides for extended counter life |
US20090185416A1 (en) * | 2006-07-20 | 2009-07-23 | Yan Li | System that compensates for coupling based on sensing a neighbor using coupling |
CN103956185A (zh) * | 2012-09-10 | 2014-07-30 | 德克萨斯仪器股份有限公司 | 具有非易失性逻辑阵列备份相关应用的处理装置 |
CN104050099A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 非易失性存储器装置及其操作系统(os)图像处理方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8670266B2 (en) * | 2012-01-30 | 2014-03-11 | Qualcomm Incorporated | Non-volatile flip-flop |
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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4663770A (en) * | 1985-02-27 | 1987-05-05 | Hughes Microlectronics Limited | Non-volatile counting circuit and method which provides for extended counter life |
US20090185416A1 (en) * | 2006-07-20 | 2009-07-23 | Yan Li | System that compensates for coupling based on sensing a neighbor using coupling |
CN103956185A (zh) * | 2012-09-10 | 2014-07-30 | 德克萨斯仪器股份有限公司 | 具有非易失性逻辑阵列备份相关应用的处理装置 |
CN104050099A (zh) * | 2013-03-15 | 2014-09-17 | 三星电子株式会社 | 非易失性存储器装置及其操作系统(os)图像处理方法 |
Non-Patent Citations (1)
Title |
---|
IBRAHIM KAZI ETAL: ""Energy/Reliability Trade-Offs in Low-Voltage ReRAM-Based Non-Volatile Flip-Flop Design"", 《IEEE》 * |
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 |
TW201840135A (zh) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108736883A (zh) | 非易失性双稳态触发器单调计数器及其实施方法 | |
US10522221B2 (en) | Storage array programming method and device for resistive random access memory | |
US10204037B2 (en) | Memory device, memory controller and operation method thereof | |
KR102389259B1 (ko) | 메모리 장치 및 메모리 장치의 동작 방법 | |
US7257668B2 (en) | Method and system for enhancing the endurance of memory cells | |
Zheng et al. | Memristor-based ternary content addressable memory (mTCAM) for data-intensive computing | |
CN106356085A (zh) | 驱动信号控制电路和驱动装置 | |
US20040268191A1 (en) | Memory unit test | |
WO2016122525A1 (en) | Hamming distance computation | |
KR102259928B1 (ko) | 오류 관리 시스템 및 이를 포함하는 데이터 처리 시스템 | |
CN109962782A (zh) | 基于otp电路的puf密钥稳定性增强方法 | |
CN105849808A (zh) | 双晶体管三态随机存取存储器 | |
TW201831903A (zh) | 記憶體元件 | |
Culik II et al. | Parallel rewriting on graphs and multidimensional development | |
Wouters et al. | Reliability of Computing-In-Memory Concepts Based on Memristive Arrays | |
CN103793333A (zh) | 非易失性存储器加密的方法和装置以及非易失性存储器 | |
CN104956442A (zh) | 用于存储装置读取的设备和方法 | |
CN113947199A (zh) | 用于执行深度神经网络运算的存储器及其操作方法 | |
CN102110469A (zh) | 由多维存储器状态特征化的已存储多比特数据 | |
Gokcen | Memristor based multi-state shift register architecture | |
JPWO2020075658A1 (ja) | 複合連想メモリ回路 | |
CN109727625A (zh) | 根据优先级驱动匹配线的存储器设备 | |
US10579759B2 (en) | Apparatus for modeling resistive memory devices | |
WO2022181507A1 (ja) | 制御装置 | |
CN107591179B (zh) | 一种扩展存储器操作次数的电路结构及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |