延长贮存在非易失存储器中顺序计数器单元寿命的方法与设备技术

技术编号:3412459 阅读:190 留言:0更新日期:2012-04-11 18:40
一种更新和存贮计数器值的方法与设备。响应于多个N计数器更新信号的每个信号,从多个二进制存储单元里选出某个二进制存储单元(350),翻转该选出的二进制存储单元的状态(36)。在收到N个计数器更新信号后(320),对与多个二进制存储单元分开的一个寄存器增数(340),然后响应于以后的计数器更新信号重复该过程(320)。在过程每次重复期间,平均以同样的次数翻转多个二进制存储单元的每个存储单元。多个二进制存储单元的状态和寄存器值代表任何指定时刻的计数器值。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】

技术介绍
I.专利
本专利技术一般涉及电子计数器,尤其涉及用持续使用后会耗尽的存储器件或单元构制的电子计数器,而且更涉及可延长用于构制计数器的存储单元使用寿命的新颖电子计数器。II.相关技术的说明EEPROM等非易失存储器具有耗尽的存储单元。当将这类非易失存储器里的单元用于构制连续写的典型计数器时,代表计数器最低位的存储单元写得最多,这样使用会很快耗尽。为了保持此计数器,在存储单元耗尽时,必须分配新的存储位置。在许多电子设备中,由于有效的非易失存储单元数量有限,一般不希望为了补偿耗尽的单元而对计数器分配另外的存储单元。因此,提供的计数器能以非易失存储器构制并使得计数器使用的存储单元的损耗最小是有利的。
技术实现思路
本专利技术针对用于更新与存贮计数值的方法与设备。根据多个N计数器更新信号的每个信号,从多个二进制存储单元里选择某一个二进制存储单元,并将其状态翻转。在收到N个计数器更新信号后,与多个二进制存储单元分开的寄存器增数,然后根据另外的计数器更新信号重复该过程。在过程每次重复期间,平均以同样的次数翻转每个二进制存储单元。多个二进制存储单元状态和寄存器值代表任何时刻的计数器值。根据一较佳实施例,利用一换算表有助于确定任一给定时刻的计数值。在该实施例中,对换算表应用多个二进制存储单元状态来确定索引值,然后将该索引值与循环计数值相加而确定计数器值。也可将索引值、循环计数值与偏移值相加来确定该计数器值。根据另一个方面,在计数器中一个或多个独立的存储单元变成无效时,本专利技术可以延长计数器的寿命。在该实施例中,在识别出一个二进制存储单元为无效后,可以根据该无效的二进制存储单元修正换算表,并从过程以后重复期间可以选择的多个二进制存储单元中除去该无效的二进制存储单元。附图简介通过以下结合附图所作的详细描述,本专利技术的特征、目的和优点就更清楚了,图中用相同的标号表示相应的单元,其中附图说明图1是本专利技术一较佳实施例中延长单元寿命的计数器的框图。图2是表示本专利技术一实例的循环的表,其中根据一连串计数器更新脉冲来翻转本专利技术的ADDER位。图3是按本专利技术的一个较佳实施例的流程图,表示图1所示计数器的增数方法。图4是一流程图,表示从图1所示计数器中取出计数器值的方法。较佳实施例的详细描述现在参照图1,这是按本专利技术的一较佳实施例中延长单元寿命的计数器100的框图。计数器包括非易失存储器10,它包括在对应于ADDER位序列的存储器部分10a中的多个二进制存储单元(位),第二部分10b对应于存贮COUNT值的普通寄存器或二进制计数器,第三部分10c对应于存贮OFFSET值的普通寄存器。非易失存储器的部分10a、10b、10c用控制器20提供的地址信号访问。如下面更全面解释的那样,控制器20有选择地更新贮存在典型计数器里的ADDER位序列、COUNT值和OFFSET值。举个例说,计数器100的作用如下。控制器20通过把OFFSET值置成开始值,把用于COUNT值的寄存器置零,并把ADDER位序列中所有的位置零,使计数器初始化至开始值。接着,根据多个N计数器更新信号的每个信号,控制器20从ADDER位序列中选出某个二进制存储单元,并且翻转其状态。控制器20在收到N个计数器更新信号后,对用于存贮COUNT值的寄存器增数,然后根据其它计数器更新信号重复该过程。重要的是,正如下面更全面说明的那样,在过程每次重复期间,平均以同样的次数翻转用于构成ADDER位序列的每个二进制存储单元,从而在所有构成ADDER位序列的位之间分布耗损。ADDER位序列的状态和保持COUNT与OFFSET值的寄存器,代表任何规定时刻计数器100存贮的值。如果对ADDER位序列每次连续的写操作(如每次翻转序列中某一位时)以某种方式使被写单元老化,此方式在构成ADDER位序列的所有存储单元之间分布耗损,则构成ADDER位序列的二进制存储单元序列在减少单元磨砂方面非常有效。对于成组擦除和从擦除值开始随每位变化而老化的非易失存储器,可最有效地把ADDER位序列表示成擦除位序列,其中该序列中的一位在每次计数器100增数时翻转。位以任何特定次序改变是无关紧要的。如果ADDER位序列里的任何位因老化或其它故障去擦除或写状态时卡住了,可以考虑将ADDER位序列范围减少每个卡住的位。由于控制器20从ADDER位序列中除去了每个卡住的位(即磨损位),它就响应于每个其它计数器更新信号只用ADDER位序列中的剩余位对ADDER位序列增数。对于每次修正数据(如一存贮位)都发生老化的非易失存储器,最好用某种序列来代表ADDER位序列,其中一个数据随着计数器100的每次增数改变状态(如翻转)。数据状态变化的序列应该是循环的,从最小ADDER位序列值增加到最大ADDER位序列值,不会对任何特定数造成任额外的老化。相反地,数据翻转的序列将磨损分布于所有代表该ADDER位序列的数据。符合这一准则的位翻转循环很多,通过搜索深度为N的二进制树,可以发现整组序列,其中二进制树的每个节点代表从前一节点的一个数据改变。现在参照图2,图示的表格表示本专利技术的一实例的示例性循环,其中本专利技术的ADDER位响应于一连串控制器20收到的计数器更新脉冲而翻转。在图2示出的实例中,ADDER位序列长度为三位,序列中数据状态变化的循环长度为8(N=8)。因此,在图2实例中,ADDER位序列中位的状态每隔八个计数器更新信号就重复。在循环中接收到最后一个计数器更新信号后,ADDER位序列中位的状态代表的END_OF_CYCLE值,用来指示该COUNT值应响应于下一个计数器更新信号作增数(下面作详述)。本领域的技术人员应该理解,可以用长度超过三位的ADDER位序列构成本专利技术的ADDER位序列。他们还应理解,可以用二进制存储单元以外的存储单元(即可以采用两种状态以上的存储单元)构制ADDER位序列。ADDER位序列长度和序列中各数据的状态数的选择,可以认为是设计选择的事项。本专利技术关注的是响应于每一循环的计数器更新信号,将磨损均匀地分布于所有供ADDER位序列使用的存储单元。现在参照图3,图示为本专利技术一较佳实施例的流程图,表示图1示出的计数器的增数方法300。方法300最好在控制器20上以软件实施。在步骤310,控制器20通过把OFFSET值置成开始值、把COUNT值使用的寄存器置零和把ADDER位序列的所有位置零,使计数器100初始化成开始值。在计数器100的开始值为零的情况下(图3所示),OFFSET值将置成零。然而,本领域的技术人员应明白,在步骤310中,通过把某个相应值放入用于存贮OFFSET值的寄存器里,可将计数器100的开始值置成任意选择的值。接着,在收到计数器更新信号(步骤320)之后,在步骤330,将ADDER位序列中的位状态与END_OF_CYCLE值作比较。若ADDER位序列的位与END_OF_CYCLE值相同,就在步骤340对COUNT值增数。由于COUNT值较佳地贮存在普通寄存器里,所以该值以普通方式增数。在步骤350和360,从ADDER位序列中选出某一位,并按某种循环将其翻转(如上述和图2所示),其中在循环每次重复期间,平均以同样的次数翻转每个构成该ADDER位序列的存储单元。ADDER位序列的状态和保持COUNT本文档来自技高网...

【技术保护点】
一种更新和存贮计数器值的方法,其特征在于包括以下步骤:(A)响应于多个N计数器更新信号的每个信号,从多个二进制存储单元里选择一个二进制存储单元,并且翻转所选二进制存储单元的状态;和(B)在步骤(A)之后,对寄存器值增数并重复步骤(A );其中计数值在任何指定时刻都由多个二进制存储单元的状态和寄存器值表示,并且在步骤(A)每次重复期间,平均以同样的次数翻转多个二进制存储单元的每个存储单元。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:JA哈钦森四世LY斯帕尔
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利