【技术实现步骤摘要】
一种基于Flash存储阵列的高效单调计数方法、计数器及应用
[0001]本专利技术涉及电路设计
,具体涉及一种基于Flash存储阵列的高效单调计数方法、计数器及应用。
技术介绍
[0002]单调计数器(Monotonic Counter)是指具有单调计数功能的计数器,单调计数器中计入的数据后,单调计数器只会随着计数值的变化单调递增。单调计数器被应用在各种金融系统或电子系统中。在此类应用中,单调计数器需要在长时间段内不断地更新其计数值。
[0003]现有的对实现单调计数器的集成电路设计技术中,是用到硬件计数电路和flash非易失性存储阵列,每次开启计数,将计数电路输出的计数值编程到存储阵列里。等到下一次计数,再将上一次的计数值从存储阵列读出来,该计数值再作为硬件计数电路的初始计数值,使计数电路从上次的计数值开始计数,这样就保证了计数是单调增长的目的。
[0004]但这种单调计数器的实现方法是需要对存储阵列擦除上一次的计数值数据,再对存储阵列编程新的计数值数据,这就很考验flash非易失性存储单元阵列的可擦写寿命。我们知道常规flash非易失性存储单元阵列可擦写次数极限约为10万次,所以当计数次数大于或等于10万次后,这种设计的单调计数器就会因为flash非易失性存储单元的失效而不能正常工作。
[0005]此外现有设计的计数总值的方式复杂,需要利用额外的存储单元记录擦除的次数,增加了多余的控制逻辑电路同时增加了芯片面积。
技术实现思路
[0006]针对现有技术的不足,本专利技 ...
【技术保护点】
【技术特征摘要】
1.一种基于Flash存储阵列的高效单调计数方法,其特征在于,所述方法包括:对存储阵列执行擦除操作;对所述存储阵列按计数一次则顺序执行一位编程操作,具体包括:接收计数使能信号,获取所述存储阵列中非全零数据的地址及该非全零数据中已编程的位数信息,处理得到当前记录数值;将当前记录数值加一,处理生成待编程位的数据信息,并对所述待编程位执行编程操作。2.根据权利要求1所述的一种基于Flash存储阵列的高效单调计数方法,其特征在于,所述编程操作执行后还包括编程验证操作,若验证不通过则继续对该位执行编程操作,直至编程验证通过。3.根据权利要求1所述的一种基于Flash存储阵列的高效单调计数方法,其特征在于,所述待编程位为非全零数据中未编程的最低位;若未读到非全零数据,则反馈计满信号。4.一种基于Flash存储阵列的高效单调计数器,包括存储阵列模块、擦除电路模块、编程电路模块,其特征在于,还包括计数值转换电路模块和计数自加准备电路模块;所述计数值转换电路模块配置成用于根据所述存储阵列模块中非全零数据的地址及该非全零数据中已编程的位数信息处理输出已存储的计数值;所述计数自加准备电路模块配置成用于根据所述计数值转换电路模块输出的已存储的计数值生成计数自加一后的编程数据,送入编程电路模块以执行对存储阵列模块的编程操作。5.根据权利要求4所述的一种基于Flash存储阵列的高效单调计数器,其特征在于,所述非全零数据的地址按照以下方式得到:按照预设的读取位数读取存储阵列模块中的数据;若目标地址的数据全为零则继续按照地址顺序继续读取,直至读取到非全零数据或者目标地址为尾地址:若读取到非全零数据则返回该非全零数据所在地址以及非全零数据中零数据的位数信息;若目标地址为尾地址,则反馈计满信号。6.根据权利要求5所述的一种基于Flash存储阵列的高效单调计数器,其特征在于,所述预设的读取位数包括8位、16位、32位中的一种或几种。7.根据权利要求6所述的一种基于Flash存储阵列的高效单调计数器,其特征在于,所述预设的读取位数为16位,所述计数值转换电路模块包括16位读数据转5位计数值电路,其中,中,中,中,
式中,cout_4...cout_0为5位计数值,read_15...read_0为16位读数据。8.根据权利要求7所述的一种基于Flash存储阵列的高效单调计数器,其特征在于,所述计数自加准备电路模块包括5位新计数值转16位编程数据电路,并按照各新计数值对应的16位编程数据值直接映射配置电路,具体包括:Ncout[4:0]=5
’
b0_0000对应pgm[15:0]=16
’
hffff;Ncout[4:0]=5
’
b0_0001对应pgm[15:0]=16
’
hfffe;Nco...
【专利技术属性】
技术研发人员:任军,龚倩倩,陈真,唐伟童,李政达,
申请(专利权)人:恒烁半导体合肥股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。