CN116865745A - 计数器、计数方法、存储阵列、非易失性存储器及设备 - Google Patents
计数器、计数方法、存储阵列、非易失性存储器及设备 Download PDFInfo
- Publication number
- CN116865745A CN116865745A CN202311116313.9A CN202311116313A CN116865745A CN 116865745 A CN116865745 A CN 116865745A CN 202311116313 A CN202311116313 A CN 202311116313A CN 116865745 A CN116865745 A CN 116865745A
- Authority
- CN
- China
- Prior art keywords
- area
- counting
- count
- low
- counter
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 41
- 239000004065 semiconductor Substances 0.000 abstract description 2
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
- H03K21/38—Starting, stopping or resetting the counter
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种计数器、计数方法、存储阵列、非易失性存储器及设备,属于半导体集成电路技术领域,其中所述计数器基于非易失性存储器的存储阵列构建而成;所述存储阵列包括高位计数区域和低位计数区域;所述高位计数区域基于二进制数据进行计数;所述低位计数区域基于数据0的数量进行计数;所述高位计数区域在所述低位计数区域写满数据0且计数对象的值继续增加时计数加1;所述低位计数区域在所述高位计数区域计数加1时清空计数,本申请的计数器,能解决计数器容量不足和计数区域数据不够安全的问题,从而能增加计数器的容量大小并提高计数的安全性。
Description
技术领域
本申请涉及半导体集成电路技术领域,具体而言,涉及一种计数器、计数方法、存储阵列、非易失性存储器及设备。
背景技术
在非易失性存储器中,经常会遇到计数需求,如需要记录各个sector或block的cycle次数等。
现有技术的一些flash芯片通过在存储阵列中写入二进制数据来进行计数,即每当计数对象的值加1时,将该存储阵列用于计数的区域全部擦除,并对该区域进行编程,写入比原本二进制数据值大1的二进制数据。若现有技术的flash芯片使用这种计数方式进行计数,每进行一次计数,该flash芯片用于计数的区域的cycle次数就加1,若该flash芯片可提供的安全cycle次数为10万,则其最大计数容量即为10万。因此当计数的需求次数远超10万,如计数需求次数为100万、500万甚至更多时,现有技术的计数器容量显然不足以满足计数需求。
因此,现有技术有待改进和发展。
发明内容
本申请的目的在于提供一种计数器、计数方法、存储阵列、非易失性存储器及设备,能解决计数器容量不足和计数区域数据不够安全的问题,从而能增加计数器的容量大小并提高计数的安全性。
第一方面,本申请提供了一种计数器,所述计数器基于非易失性存储器的存储阵列构建而成;
所述存储阵列包括高位计数区域和低位计数区域;
所述高位计数区域基于二进制数据进行计数;
所述低位计数区域基于数据0的数量进行计数;
所述高位计数区域在所述低位计数区域写满数据0且计数对象的值继续增加时计数加1;
所述低位计数区域在所述高位计数区域计数加1时清空计数。
本申请的计数器基于包括高位计数区域和低位计数区域的存储阵列构建,通过设置基于数据0计数的低位计数区域,本申请能在计数需求次数远大于计数区域的安全cycle次数时减少计数区域的cycle次数,从而能增加计数器容量并提高计数安全性。
可选地,本申请所述的计数器中,所述低位计数区域包括低层区域和次低层区域;
所述次低层区域在所述低层区域写满数据0且计数对象的值继续增加时计数加1;
所述低层区域在所述次低层区域计数加1时清空计数。
本申请的计数器通过设置包括低层区域和次低层区域的低位计数区域,能在减少计数区域的cycle次数的基础上进一步减少高位计数区域的cycle次数,从而能进一步增加计数器容量并提高高位计数区域计数的可靠性。
可选地,本申请所述的计数器中,所述高位计数区域的大小为10位,所述低位计数区域的大小为9位。
可选地,本申请所述的计数器中,所述低层区域大小为5位,所述次低层区域大小为4位。
第二方面,本申请提供了一种计数方法,应用于上述的计数器,所述计数方法包括以下步骤:
当计数对象的值加1时,判断所述低位计数区域是否写满数据0;
若是,使所述高位计数区域计数加1,同时使所述低位计数区域清空计数。
若否,在所述低位计数区域的一个非0的位写数据0。
本申请的计数方法通过设置基于数据0计数的低位计数区域和基于二进制计数的高位计数区域,能在计数需求次数远大于计数区域的安全cycle次数时减少计数区域的cycle次数,从而能增加计数器容量并提高计数安全性。
可选地,本申请所述的计数方法中,所述在所述低位计数区域的一个非0的位写数据0包括:
判断所述低层区域是否写满数据0;
若否,在所述低层区域的非0的最低位写数据0;
若是,在所述次低层区域的非0的最低位写数据0,同时使所述低层区域清空计数。
可选地,本申请所述的计数方法中,所述计数方法的计数对象为非易失性存储器中可用区域的cycle次数。
本申请的计数方法通过使用基于存储阵列的区域构建的计数器为可用区域的cycle次数计数,充分利用存储阵列中存在的区域以满足计数需求,提高了资源利用率。
第三方面,本申请提供了一种存储阵列,所述存储阵列用于构建如上述任一所述的计数器。
第四方面,本申请提供了一种非易失性存储器,包括如上述的存储阵列。
第五方面,本申请提供了一种电子设备,包括如上述的存储阵列或如上述的非易失性存储器。
由上可知,本申请提供了一种计数器、计数方法、存储阵列、非易失性存储器及设备,其中本申请提供的计数器可以通过为不同计数区域设计不同的计数方式来减少计数区域的擦写次数,能解决计数器容量不足和计数区域数据不够安全的问题,从而能增加计数器的容量大小并提高计数的安全性。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本申请实施例提供的一种包括高位计数区域和低位计数区域的计数器的计数区域结构示意图。
图2为本申请实施例提供的一种包括高位计数区域和低位计数区域,且该低位计数区域包括低层区域和次低层区域的计数器的计数区域结构示意图。
图3为本申请实施例提供的一种计数方法的流程图。
附图说明:100、存储阵列;110、计数器;111、高位计数区域;112、低位计数区域;121、次低层区域;122、低层区域。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,本申请提供了一种计数器110,计数器110基于非易失性存储器的存储阵列100构建而成;
存储阵列100包括高位计数区域111和低位计数区域112;
高位计数区域111基于二进制数据进行计数;
低位计数区域112基于数据0的数量进行计数;
高位计数区域111在低位计数区域112写满数据0且计数对象的值继续增加时计数加1;
低位计数区域112在高位计数区域111计数加1时清空计数。
具体应用中,将非易失性存储器的存储阵列100划分出两个区域作为计数器110的高位计数区域111和低位计数区域112,该两个区域大小之和可以等于存储阵列100的区域大小,也可以小于存储阵列100的区域大小。该两个区域中,高位计数区域111内的数据对应的计数值为高位计数值,低位计数区域112内的数据对应的计数值为低位计数值,基于该两个区域构建的该计数器110的计数对象的值基于高位计数值和低位计数值运算确定。
更具体地,在存储器技术领域中,cycle为编程擦除操作,指的是闪存芯片中目标存储区域进行了一次编程和擦除的可循环操作,cycle中的编程和擦除操作可以是连续进行,也可以分开进行。
更具体地,高位计数区域111基于二进制数据进行计数,即高位计数值需要通过进行二进制运算来确定其具体值。每当高位计数值加1时,将高位计数区域111全部擦除,并对高位计数区域111进行编程,即写入比原本二进制数据值大1的二进制数据,高位计数区域111cycle次数加1。
更具体地,低位计数区域112基于数据0的数量进行计数,其中计数方法可以是1比1换算,也可以是按照预设比例公式换算。
更具体地,由于一个区域只在同时被擦除和编程后该区域的cycle次数才加1,低位计数区域112只在清空为数据1时被擦除且cycle次数加1,因此在本申请该实施方式的计数器110中,低位计数区域112在计数器110达到最大计数容量时的cycle次数等于高位计数区域111达到最大计数容量时的cycle次数,计数器110的最大计数容量为高位计数区域111的最大计数容量和低位计数区域112位数加1的乘积加上低位计数区域112位数。如一个本申请实施方式中的计数器110,基于大小为5位的高位计数区域111和大小为4位的低位计数区域112构建而成,则该低位计数区域112在该计数器110达到最大计数容量时的cycle次数等于该高位计数区域111达到最大计数容量时的cycle次数,即31,该计数器110的最大计数容量为159。对于现有技术的全采用二进制数据进行计数的计数器110而言,若该计数器110进行了159次计数,对应的计数区域cycle次数就会达到159;而本申请该实施方式的计数器110在上述实施例中达到最大计数容量时,该计数器110的高位计数区域111和低位计数区域112的cycle次数各只有31。因此设置基于高位计数区域111和低位计数区域112构建的计数器110,在计数区域cycle次数相同的前提下,该计数器110的最大计数容量高于现有技术计数器110的最大计数容量,增加了可计数的次数;而在最大计数容量相同的前提下,该计数器110的计数区域的cycle次数低于现有技术计数器110的计数区域的cycle次数,提高了计数的安全性。
本申请的计数器110基于包括高位计数区域111和低位计数区域112的存储阵列100构建,通过设置基于数据0计数的低位计数区域112,本申请能在不增加计数区域安全cycle次数的情况下提高最大计数容量,从而可以增加可计数的次数;并且本申请能在不减少最大计数容量的情况下减少计数区域的cycle次数,从而可以提高计数的安全性。
如图2所示,在一些优选的实施方式中,低位计数区域112包括低层区域122和次低层区域121;
次低层区域121在低层区域122写满数据0且计数对象的值继续增加时计数加1;
低层区域122在次低层区域121计数加1时清空计数。
具体应用中,为了进一步增大最大计数容量,可以将低位计数区域112划分出两个区域作为低层区域122和次低层区域121,该两个区域大小之和等于低位计数区域112的大小,该两个区域中,低层区域122内的数据对应的计数值为低层计数值,次低层区域121内的数据对应的计数值为次低层计数值,低位计数值基于低层计数值和次低层计数值运算确定。
更具体地,由于低层区域122和次低层区域121只在各自清空为数据1时各自被擦除且cycle次数加1,因此在本申请该实施方式的计数器110中,次低层区域121在计数器110达到最大计数容量时的cycle次数等于高位计数区域111达到最大计数容量时的cycle次数;低层区域122在计数器110达到最大计数容量时的cycle次数等于高位计数区域111达到最大计数容量时的cycle次数与低层区域122位数加1的乘积加上低层区域122位数;计数器110的最大计数容量由基于计数器110的高位计数区域111达到最大计数容量时的cycle次数、低层区域122位数和次低层区域121位数计算后得到。如一个本申请实施方式中的计数器110,基于大小为5位的高位计数区域111和大小为4位的低位计数区域112构建而成,其中低位计数区域112基于大小为2位的低层区域122和大小为2位的次低层区域121构建而成,则该低层区域122在该计数器110达到最大计数容量时的cycle次数为95,该高位计数区域111达到最大容量时的cycle次数为31,该计数器110的最大计数容量为287。对比基于大小为5位的高位计数区域111和不分层的大小为4位的低位计数区域112构建而成的计数器110,本申请该实施方式的计数器110设置基于大小为2位的低层区域122和大小为2位的次低层区域121构建的低位计数区域112,通过提高低层区域122在计数器110达到最大计数容量时的cycle次数,提高了计数器110的最大计数容量。因此在可接受低位计数区域112的cycle次数稍多于其他区域的前提下,设置包括低层区域122和次低层区域121的低位计数区域112,能在保持高位计数区域111大小不变的前提下进一步升高计数器110的最大计数容量,或在保持最大计数容量不变的前提下进一步减少高位计数区域111的cycle次数。
本申请的计数器110通过设置包括低层区域122和次低层区域121的低位计数区域112,能在减少计数区域的cycle次数的基础上进一步减少高位计数区域111的cycle次数,从而能在保持计数区域cycle次数不变的前提下进一步增加计数器110容量;并且本申请的计数器110能在保持计数器110容量不变的前提下进一步减少高位计数区域111的cycle次数,从而可以提高高位计数区域111计数的可靠性。
在一些优选的实施方式中,高位计数区域111的大小为10位,低位计数区域112的大小为9位。
具体应用中,对于本申请中基于大小为10位的高位计数区域111和大小为9位的低位计数区域112构建的计数器110,其低位计数区域112和高位计数区域111在计数器110达到最大计数容量时的cycle次数为210-1,即1023,该计数器110的最大计数容量为(210-1)*(9+1)+9,即10239。对于现有技术的全采用二进制数据进行计数的计数器110而言,若该计数器110进行了10239次计数,对应的计数区域cycle次数就会达到10239;而本申请该实施方式的计数器110在上述实施例中达到最大计数容量时,该计数器110的高位计数区域111和低位计数区域112的cycle次数各只有1023。因此设置基于高位计数区域111和低位计数区域112构建的计数器110,在计数区域安全cycle次数相同的条件下,该计数器110的最大计数容量高于现有技术计数器110的最大计数容量,增加了可计数的次数;而在最大计数容量相同的条件下,该计数器110的计数区域的cycle次数远低于现有技术计数器110的计数区域的cycle次数,提高了计数的安全性。
本申请的计数器110基于包括高位计数区域111和低位计数区域112的存储阵列100构建而成,通过设置基于二进制数据计数的大小为10位的高位计数区域111和基于数据0计数的大小为9位的低位计数区域112,本申请能在不增加计数区域安全cycle次数的情况下提高最大计数容量,从而可以增加可计数的次数;并且本申请能在不减少最大计数容量的情况下减少计数区域的cycle次数,从而可以提高计数的安全性。
在一些优选的实施方式中,低层区域122大小为5位,次低层区域121大小为4位。
具体应用中,对于基于大小为10位的高位计数区域111和大小为9位的低位计数区域112构建而成的计数器110,若其低位计数区域112基于大小为5位的低层区域122和大小为4位的高层区域构建而成,则其低位计数区域112在计数器110达到最大计数容量时的cycle次数为(210-1)*(4+1)+4,即5119,其高位计数区域111达到最大计数容量时的cycle次数为210-1,即1023,该计数器110的最大计数容量为(210-1)*(5+1)*(4+1)+[(5+1)*(4+1)-1],即30719。对比基于大小为10位的高位计数区域111和不分层的大小为9位的低位计数区域112构建而成的计数器110,本申请该实施方式的计数器110设置基于大小为5位的低层区域122和大小为4位的次低层区域121构建的低位计数区域112,通过提高低层区域122在计数器110达到最大计数容量时的cycle次数,提高了计数器110的最大计数容量。因此在可接受低位计数区域112的cycle次数稍多于其他区域的前提下,设置包括低层区域122和次低层区域121的低位计数区域112,能在保持高位计数区域111大小不变的前提下进一步升高计数器110的最大计数容量,或在保持最大计数容量不变的前提下进一步减少高位计数区域111的cycle次数。
本申请的计数器110通过设置包括大小为5位的低层区域122和大小为4位的次低层区域121的低位计数区域112,能在减少计数区域的cycle次数的基础上进一步减少高位计数区域111的cycle次数,从而能在保持计数区域cycle次数不变的前提下进一步增加计数器110容量;并且本申请能在保持计数器110容量不变的前提下进一步减少高位计数区域111的cycle次数,从而可以提高高位计数区域111计数的可靠性。
下面通过具体实施例进行详细说明。
实施例1
实施例1为本申请中基于大小为n位的高位计数区域111和大小为m位的低位计数区域112构建的计数器110,其中m>1, 低位计数区域112计数方法以基于数据0的数量一比一换算进行计数的计数方法为例解释。
表1 基于大小为n位的高位计数区域111和大小为m位的低位计数区域112构建的计数器110的高位计数值表
如表1所示,表1为实施例1的计数器110的高位计数值表,当高位计数值为0时,该高位计数区域111各位为数据0;每当高位计数值加1时,将高位计数区域111全部擦除,并对高位计数区域111进行编程,即写入比原本二进制数据值大1的二进制数据,因此该高位计数区域111的最大计数容量为2n-1。
表2 基于大小为n位的高位计数区域111和大小为m位的低位计数区域112构建的计数器110的低位计数值表
如表2所示,表2为实施例1的计数器110的低位计数值表,当低位计数值为0时该低位计数区域112各位为数据1;当该低位计数值加1时,在该低位计数区域112的一个非0的位写数据0;当该低位计数值继续加1时,由于该低位计数区域112已有一个位为数据0,则在该位以外的位写数据0,以此类推,直至该低位计数区域112写满数据0。由于在写数据0时只需要编程而不需要擦除,因此从该低位计数区域112计数为0直到该低位计数区域112写满数据0时该区域的cycle次数都为0。
更具体地,如表1和表2所示,当计数对象的值为0时,该低位计数区域112各位为数据1;当计数对象的值不断加1直至为m时,在该低位计数区域112的各个非0的位依次写数据0,直至该低位计数区域112各位都为数据0;当计数对象的值继续加1,即为m+1时,由于该低位计数区域112已写满数据0,高位计数值加1,在该高位计数区域111的最低位写数据1,同时该低位计数区域112清空为数据1;当计数对象的值继续加1,即为m+2时,在该低位计数区域112的一个非0的位写数据0,以此类推,直至该高位计数区域111达到最大计数容量,且该低位计数区域112写满数据0时,计数器110达到最大计数容量。
更具体地,由于低位计数区域112只在清空为数据1时被擦除且cycle次数加1,因此在本申请实施例1的计数器110中,低位计数区域112的cycle次数等于高位计数区域111的计数,低位计数区域112在计数器110达到最大计数容量时的cycle次数等于高位计数区域111达到最大计数容量时的cycle次数,即2n-1。
更具体地,由于低位计数区域112只在每次清空计数时cycle次数加1,因此本申请实施例1的计数器110的最大计数容量为高位计数区域111的最大计数容量和低位计数区域112位数加1的乘积加上低位计数区域112位数,即(2n-1)*(m+1)+m。对于现有技术的全采用二进制数据进行计数的计数器110而言,若该计数器110进行了(2n-1)*(m+1)+m次计数,对应的计数区域cycle次数就会达到(2n-1)*(m+1)+m;而本申请实施例1的计数器110在上述实施例中达到最大计数容量时,该计数器110的高位计数区域111和低位计数区域112的cycle次数各只有2n-1。因此在计数区域安全cycle次数相同的条件下,本申请计数器110的最大计数容量远高于现有技术计数器110的最大计数容量,增加了可计数的次数;而在最大计数容量相同的条件下,本申请计数器110的计数区域的cycle次数远低于现有技术计数器110的计数区域的cycle次数,提高了计数的安全性。
实施例2
实施例2为本申请中基于大小为n位的高位计数区域111和大小为m位的低位计数区域112构建的计数器110,其中低位计数区域112包括大小为x位的低层区域122和大小为y位的次低层区域121, n>1,x>0,y>0,m=x+y,基于数据0的数量进行计数的计数方法为1比1换算。
表3 基于大小为n位的高位计数区域111、大小为x位的低层区域122和大小为y位的次低层区域121构建的计数器110的高位计数区域111计数表
表4基于大小为n位的高位计数区域111、大小为x位的低层区域122和大小为y位的次低层区域121构建的计数器110的次低层区域121计数表
表5基于大小为n位的高位计数区域111、大小为x位的低层区域122和大小为y位的次低层区域121构建的计数器110的低层区域122计数表
更具体地,如表3、表4和表5所示,表3为实施例2的计数器110的高位计数值表,表4为实施例2的计数器110的次低层计数值表,表5为实施例2的计数器110的低层计数值表,当计数对象的值为0时,低层区域122各位为数据1;当计数对象的值不断加1直至为x时,在该低层区域122的各个非0的位按位数从低到高依次写数据0,直至该低层区域122各位都为数据0;当计数对象的值继续加1,即为x+1时,由于该低层区域122已写满数据0,次低层计数值加1,在该次低层区域121的非0最低位写数据0,同时该低层区域122清空计数,即该低层区域122各位恢复为全为数据1;当计数对象的值继续加1,即为x+2时,在该低层区域122的非0最低位写数据0,以此类推;当计数对象的值增加至(x+1)*(y+1)时,由于低位计数区域112已写满数据0,高位计数值加1,在该高位计数区域111的最低位写数据1,同时该低位计数区域112清空计数,即该低位计数区域112各位恢复为全为数据1;当计数对象的值继续加1,即为(x+1)*(y+1)+1时,在该低层区域122的非0最低位写数据0,以此类推, 直至该高位计数区域111达到最大计数容量,且该低位计数区域112写满数据0时,计数器110达到最大计数容量。
更具体地,由于低层区域122和次低层区域121只在各自清空为数据1时各自被擦除且cycle次数加1,因此在本申请实施例2的计数器110中,次低层区域121在计数器110达到最大计数容量时的cycle次数等于高位计数区域111达到最大计数容量时的cycle次数,即2n-1;低层区域122在计数器110达到最大计数容量时的cycle次数等于高位计数区域111达到最大计数容量时的cycle次数与次低层区域121位数加1的乘积加上次低层区域121位数,即(2n-1)*(y+1)+y。
更具体地,低层区域122和次低层区域121各自只在每次各自区域清空计数时cycle次数加1,因此本申请实施例2的计数器110的最大计数容量由基于计数器110的高位计数区域111达到最大计数容量时的cycle次数、低层区域122位和次低层区域121位计算后得到,即(2n-1)*(x+1)*(y+1)+[(x+1)*(y+1)-1]。对比实施例1,实施例2的计数器110设置基于大小为x位的低层区域122和大小为y位的次低层区域121构建的低位计数区域112,通过提高低层区域122在计数器110达到最大计数容量时的cycle次数,提高了计数器110的最大计数容量。因此在可接受低位计数区域112的cycle次数稍多于其他区域的前提下,设置包括大小为x位的低层区域122和大小为y位的次低层区域121的低位计数区域112,能在保持高位计数区域111大小不变的前提下进一步升高计数器110的最大计数容量,或在保持最大计数容量不变的前提下进一步减少高位计数区域111的cycle次数。
如图3所示,第二方面,本申请还保护一种计数方法,应用于上述的计数器110,计数方法包括以下步骤:
A1、当计数对象的值加1时,判断低位计数区域112是否写满数据0;
A2、若是,使高位计数值加1,同时使低位计数区域112清空计数。
A3、若否,在低位计数区域112的一个非0的位写数据0。
具体应用中,本申请的计数方法是计数对象的值写入计数器110的过程。每次计数对象的值加1时,都对低位计数区域112是否写满数据0进行一次判断。对于实施例1而言,当计数对象的值为0时,该低位计数区域112各位为数据1;当计数对象的值加1时,由于该低位计数区域112各位都为数据1,故判断结果为否,在该低位计数区域112的一个非0的位写数据0;当计数对象的值继续加1直至为m时,由于该低位计数区域112一直存在非0的位,判断结果保持为否,在该低位计数区域112的各个非0的位依次写数据0直至该低位计数区域112各位都为数据0;当计数对象的值继续加1,即为m+1时,由于该低位计数区域112已写满数据0,故判断结果为是,高位计数值加1,在该高位计数区域111的最低位写数据1,同时该低位计数区域112清空计数,即该低位计数区域112各位恢复为全为数据1;当计数对象的值继续加1,即为m+2时,由于该低位计数区域112各位全为数据1,故判断结果为否,在该低位计数区域112的一个非0的位写数据0,以此类推,直至该高位计数区域111的计数达到最大计数容量,且该低位计数区域112写满数据0时,计数器110达到最大计数容量。
更具体地,对于实施例1而言,高位计数区域111和低位计数区域112达到最大计数容量时的cycle次数为2n-1,计数器110的最大计数容量为(2n-1)*(m+1)+m,而对于现有技术的全采用二进制数据计数方法进行计数的计数器110而言,最大计数容量和对应的计数区域cycle次数相等。因此与现有技术相比,在计数区域可被安全cycle次数相同的条件下,本申请该实施方式的计数方法能增加计数器110的最大计数容量;而在最大计数容量相同的条件下,本申请该实施方式的计数方法能减少计数器110计数区域的cycle次数,从而能提高计数的安全性。
值得注意的是,由实施例1中计数器110的最大计数容量和计数区域的cycle次数的关系可知,本申请的计数方法能达到的技术效果与低位计数区域112大小相关,如计数需求次数为100万,当低位计数区域112大小为9位时,则高位计数区域111和低位计数区域112在计数器110达到计数需求次数时的cycle次数都为100/(9+1)万,即10万;而当低位计数大小为19位时,高位计数区域111和低位计数区域112在计数器110达到计数需求次数时的cycle次数都为100/(19+1)万,即5万。因此,可提供的低位计数区域112位越大,本申请的计数方法能减少的计数区域cycle次数就越多。
在更优选的实施方式中,计数方法包括以下步骤:
B1、当计数对象的值加1时,按照地址递增顺序访问低位计数区域112,判断低位计数区域112是否存在数据为1的位;
B2、若否,使高位计数值加1,同时使低位计数区域112清空计数。
B3、若是,在访问的第一个数据为1的位写数据0。
判断低位计数区域112是否存在数据为1的位的方式为按照地址递增顺序对低位计数区域112进行访问,当确认存在一个数据为1的位后不再对地址顺序在该位的地址顺序之后的位进行访问。由于步骤A3中对数据为1的位写数据0是按照地址递增顺序进行的,因此当确认存在一个数据为1的位后即可判断低位计数区域112未达到最大计数容量,不需要再对地址顺序在该位的地址顺序之后的位进行访问,从而可以减少数据分析量。
本申请的计数方法通过设置基于数据0计数的低位计数区域112和基于二进制计数的高位计数区域111,能在不增加计数区域安全cycle次数的情况下提高最大计数容量,从而可以增加可计数的次数;并且本申请的计数方法能在不减少最大计数容量的情况下减少计数区域的cycle次数,从而可以提高计数的安全性。
在一些优选的实施方式中,在低位计数区域112的一个非0的位写数据0包括:
判断低层区域122是否写满数据0;
若否,在低层区域122的非0的最低位写数据0;
若是,在次低层区域121的非0的最低位写数据0,同时使低层区域122清空计数。
具体应用中,每次计数对象的值加1时,对低位计数区域112是否写满数据0做第一判断,若第一判断结果为否,则对低层区域122是否写满数据0做第二判断。
对于实施例2而言,当计数对象的值为0时,该低层区域122各位为数据1;当计数对象的值加1时,由于该低位计数区域112各位都为数据1,故第一判断结果为否,第二判断结果为否,在该低层区域122的非0的最低位写数据0;当计数对象的值继续加1直至为x时,由于该低层区域122一直存在非0的位,第一判断结果和第二判断结果保持为否,在该低层区域122的各个非0的位按位数从低到高依次写数据0,直至该低层区域122各位都为数据0;当计数对象的值继续加1,即为x+1时,由于该低层区域122已写满数据0,第一判断结果为否,第二判断结果为是,则次低层计数值加1,在该次低层区域121的非0最低位写数据0,同时该低层区域122清空计数,即该低层区域122各位恢复为全为数据1;当计数对象的值继续加1,即为x+2时,第一判断结果和第二判断结果为否,在该低层区域122的非0最低位写数据0,以此类推;当计数对象的值增加至(x+1)*(y+1)时,由于该低位计数区域112已写满数据0,第一判断结果为是,高位计数值加1,在该高位计数区域111的最低位写数据1,同时该低位计数区域112清空计数,即该低位计数区域112各位恢复为全为数据1;当计数对象的值继续加1,即为(x+1)*(y+1)+1时,第一判断结果和第二判断结果为否,在该低层区域122的非0最低位写数据0,以此类推, 直至该高位计数区域111的计数达到最大计数容量,且该低位计数区域112写满数据0时,计数器110达到最大计数容量。
更具体地,对于实施例2而言,高位计数区域111和次低层区域121在计数器110达到最大计数容量时的cycle次数为2n-1,低层区域122在计数器110达到最大计数容量时的cycle次数为(2n-1)*(y+1)+y,计数器110的最大计数容量为(2n-1)*(x+1)*(y+1)+[(x+1)*(y+1)-1]。对比实施例1,实施例2通过提高低层区域122在计数器110达到最大计数容量时的cycle次数,提高了计数器110的最大计数容量。同理,若计数需求次数为100万,当低位计数区域112大小为9位且低位计数区域112不分层时,则高位计数区域111和低位计数区域112在计数器110达到最大计数容量时的cycle次数都为100/(9+1)万,即10万;当低位计数区域112包括大小为5位的低层区域122和大小为4位的次低层区域121时,低层区域122在计数器110达到最大计数容量时的cycle次数为133334次,次低层区域121和高位计数区域111在计数器110达到最大计数容量时的cycle次数为26667,小于10万。因此在可接受低位计数区域112的cycle次数稍多于其他区域的前提下,本申请该实施方式的计数方法能在保持高位计数区域111大小不变的前提下进一步升高计数器110的最大计数容量,或在保持最大计数容量不变的前提下进一步减少高位计数区域111的cycle次数,提高高位计数区域111计数的可靠性。
值得注意的是,按照实施例2的计数方法,可以设置包括三层区域的低位计数区域112,其中位数高的区域在与自己相邻的位数低的区域写满数据0且计数对象的值继续增加时计数加1,同时比该区域位数低的区域清空计数。如计数需求次数为100万次,低位计数区域112大小为9位,若将低位计数区域112设置为2层,次低层区域121大小为5位,低层区域122大小为4位,则在计数器110达到最大计数容量时次低层和低层的cycle次数分别为100/(4+1)/(5+1)和100/(4+1)万,即33334和20万,高位计数区域111在计数器110达到最大计数容量时的cycle次数为33334;而若将低位计数区域112设置为3层,各区域大小从位数高到位数低分别为2位、3位和4位,则在计数器110达到最大计数容量时各区域的cycle次数分别为100/(4+1)/(3+1)/(2+1)万、100/(4+1)/(3+1)万和100/(4+1)万,即16667、5万和20万,高位计数区域111在计数器110达到最大计数容量时的cycle次数为16667。因此,本申请的计数方法能通过将低位计数区域112分为更多层,在增加最低层的计数区域在计数器110达到最大计数容量时的cycle次数的前提下,进一步降低高位计数区域111在计数器110达到最大计数容量时的cycle次数。
本申请的计数方法通过设置包括低层区域122和次低层区域121的低位计数区域112,能在不增加计数区域安全cycle次数的情况下提高最大计数容量,从而可以增加可计数的次数;并且本申请能在不减少最大计数容量的情况下减少计数区域的cycle次数,从而可以提高计数的安全性。在一些优选的实施方式中,计数方法的计数对象为非易失性存储器中可用区域的cycle次数。
具体应用中,在非易失性存储器中,经常存在计数需求,其中部分技术需求用于可用区域的cycle次数,如block或sector等区域的cycle次数。本申请的计数方法通过使用基于存储阵列100的区域构建的计数器110为可用区域的cycle次数计数,充分利用存储阵列100中存在的区域以满足计数需求,提高了资源利用率。
第三方面,本申请还保护一种存储阵列100,用于构建上述的计数器110。
第四方面,本申请还保护一种非易失性存储器,包括上述的存储阵列100。
第五方面,本申请还保护一种电子设备,包括上述的存储阵列100或非易失性存储器。
综上,本申请实施例提供了一种计数器110、计数方法、存储阵列100、非易失性存储器及设备,其中本申请提供的计数器110可以通过为不同计数区域设计不同的计数方式来减少计数区域的擦写次数,能解决计数器110容量不足和计数区域数据不够安全的问题,从而能增加计数器110的容量大小并提高计数的安全性。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种计数器,其特征在于,所述计数器基于非易失性存储器的存储阵列(100)构建而成;
所述存储阵列(100)包括高位计数区域(111)和低位计数区域(112);
所述高位计数区域(111)基于二进制数据进行计数;
所述低位计数区域(112)基于数据0的数量进行计数;
所述高位计数区域(111)在所述低位计数区域(112)写满数据0且计数对象的值继续增加时计数加1;
所述低位计数区域(112)在所述高位计数区域(111)计数加1时清空计数。
2.根据权利要求1所述的一种计数器,其特征在于,所述低位计数区域(112)包括低层区域(122)和次低层区域(121);
所述次低层区域(121)在所述低层区域(122)写满数据0且计数对象的值继续增加时计数加1;
所述低层区域(122)在所述次低层区域(121)计数加1时清空计数。
3.根据权利要求2所述的一种计数器,其特征在于,所述高位计数区域(111)的大小为10位,所述低位计数区域(112)的大小为9位。
4.根据权利要求3所述的一种计数器,其特征在于,所述低层区域(122)大小为5位,所述次低层区域(121)大小为4位。
5.一种计数方法,应用于如权利要求2所述的计数器,其特征在于,所述计数方法包括以下步骤:
当计数对象的值加1时,判断所述低位计数区域(112)是否写满数据0;
若是,使所述高位计数区域(111)计数加1,同时使所述低位计数区域(112)清空计数;
若否,在所述低位计数区域(112)的一个非0的位写数据0。
6.根据权利要求5所述的一种计数方法,其特征在于,所述在所述低位计数区域(112)的一个非0的位写数据0包括:
判断所述低层区域(122)是否写满数据0;
若否,在所述低层区域(122)的非0的最低位写数据0;
若是,在所述次低层区域(121)的非0的最低位写数据0,同时使所述低层区域(122)清空计数。
7.根据权利要求5所述的一种计数方法,其特征在于,所述计数方法的计数对象为非易失性存储器中可用区域的编程擦除操作次数。
8.一种存储阵列,其特征在于,所述存储阵列用于构建如权利要求1-4任一项所述的计数器。
9.一种非易失性存储器,其特征在于,包括如权利要求8所述的存储阵列。
10.一种电子设备,其特征在于,所述电子设备包括如权利要求8所述的存储阵列或如权利要求9所述的非易失性存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311116313.9A CN116865745A (zh) | 2023-08-31 | 2023-08-31 | 计数器、计数方法、存储阵列、非易失性存储器及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311116313.9A CN116865745A (zh) | 2023-08-31 | 2023-08-31 | 计数器、计数方法、存储阵列、非易失性存储器及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116865745A true CN116865745A (zh) | 2023-10-10 |
Family
ID=88232630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311116313.9A Pending CN116865745A (zh) | 2023-08-31 | 2023-08-31 | 计数器、计数方法、存储阵列、非易失性存储器及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116865745A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450460A (en) * | 1994-03-09 | 1995-09-12 | National Semiconductor Corporation | Non-volatile electronic counter with improved reliability and a substantitally increased maximum count |
JP2006164355A (ja) * | 2004-12-03 | 2006-06-22 | Kyocera Mita Corp | カウンタ装置およびカウント方法 |
US20060133560A1 (en) * | 2004-12-03 | 2006-06-22 | Kyocera Mita Corporation | Counter device and counting method |
US20140269069A1 (en) * | 2013-03-13 | 2014-09-18 | Sandisk Technologies Inc. | Tracking cell erase counts of non-volatile memory |
CN104361907A (zh) * | 2014-10-10 | 2015-02-18 | 宁波三星电气股份有限公司 | 一种flash存储器的计数方法 |
CN108962322A (zh) * | 2017-05-18 | 2018-12-07 | 恩智浦有限公司 | 使用非易失性存储器来实施非易失性计数器的方法和系统 |
CN115993935A (zh) * | 2022-12-29 | 2023-04-21 | 恒烁半导体(合肥)股份有限公司 | 一种基于Flash存储阵列的高效单调计数方法、计数器及应用 |
-
2023
- 2023-08-31 CN CN202311116313.9A patent/CN116865745A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450460A (en) * | 1994-03-09 | 1995-09-12 | National Semiconductor Corporation | Non-volatile electronic counter with improved reliability and a substantitally increased maximum count |
JP2006164355A (ja) * | 2004-12-03 | 2006-06-22 | Kyocera Mita Corp | カウンタ装置およびカウント方法 |
US20060133560A1 (en) * | 2004-12-03 | 2006-06-22 | Kyocera Mita Corporation | Counter device and counting method |
US20140269069A1 (en) * | 2013-03-13 | 2014-09-18 | Sandisk Technologies Inc. | Tracking cell erase counts of non-volatile memory |
CN104361907A (zh) * | 2014-10-10 | 2015-02-18 | 宁波三星电气股份有限公司 | 一种flash存储器的计数方法 |
CN108962322A (zh) * | 2017-05-18 | 2018-12-07 | 恩智浦有限公司 | 使用非易失性存储器来实施非易失性计数器的方法和系统 |
CN115993935A (zh) * | 2022-12-29 | 2023-04-21 | 恒烁半导体(合肥)股份有限公司 | 一种基于Flash存储阵列的高效单调计数方法、计数器及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540274B2 (en) | Memory devices including dynamic superblocks, and related methods and electronic systems | |
TWI693516B (zh) | 映射表更新方法、記憶體控制電路單元與記憶體儲存裝置 | |
US11093385B2 (en) | Memory device with dynamic cache management | |
EP2565792B1 (en) | Block management schemes in hybrid SLC/MLC memory | |
US8812775B2 (en) | System and method for controlling nonvolatile memory | |
TWI630540B (zh) | 資料儲存裝置及非揮發式記憶體操作方法 | |
US20180267705A1 (en) | Capacity-aware wear leveling in solid-state storage devices | |
US8719491B2 (en) | Encoding flash memory data with a randomizer using different seeds for different sectors | |
US20080282023A1 (en) | Restoring storage devices based on flash memories and related circuit, system, and method | |
TWI700635B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US8489942B1 (en) | Memory management method, and memory controller and memory storage device using the same | |
CN106484307B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
TW201905711A (zh) | 資料儲存裝置及非揮發式記憶體操作方法 | |
CN109710177A (zh) | 用于嵌入式系统的事件管理 | |
US20220005535A1 (en) | Memory controller and storage device including the same | |
Wei et al. | PEVA: A page endurance variance aware strategy for the lifetime extension of NAND flash | |
CN110489264A (zh) | 记忆装置页可用性管理方法及系统、记忆装置及电子装置 | |
CN106951186A (zh) | 数据程序化方法、存储器存储装置及存储器控制电路单元 | |
CN106775479A (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
US10203886B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus for writing data from buffer memory and moving valid data | |
CN105718328B (zh) | 存储器坏区的数据备份方法及系统 | |
CN116865745A (zh) | 计数器、计数方法、存储阵列、非易失性存储器及设备 | |
CN110442299A (zh) | 数据写入方法、存储器控制电路单元以及存储器储存装置 | |
US10338854B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
CN109273037B (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 |