CN104361907A - 一种flash存储器的计数方法 - Google Patents

一种flash存储器的计数方法 Download PDF

Info

Publication number
CN104361907A
CN104361907A CN201410529679.3A CN201410529679A CN104361907A CN 104361907 A CN104361907 A CN 104361907A CN 201410529679 A CN201410529679 A CN 201410529679A CN 104361907 A CN104361907 A CN 104361907A
Authority
CN
China
Prior art keywords
data
count block
count
sector
district
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
Application number
CN201410529679.3A
Other languages
English (en)
Other versions
CN104361907B (zh
Inventor
郑坚江
蔡晋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo Sanxing Smart Electric Co Ltd
Original Assignee
Ningbo Sanxing Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ningbo Sanxing Electric Co Ltd filed Critical Ningbo Sanxing Electric Co Ltd
Priority to CN201410529679.3A priority Critical patent/CN104361907B/zh
Publication of CN104361907A publication Critical patent/CN104361907A/zh
Application granted granted Critical
Publication of CN104361907B publication Critical patent/CN104361907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种FLASH存储器的计数方法,尤其涉及一种是作为计数器用FLASH存储器的存储方法,主要采用进制换算的计算方法,使得计数数据记录到一定的值后才执行擦除操作,使得可以计数非常大的计数值。与现有技术相比,本发明的有益效果是:在存储累计数值时,可以记录超大容量的数据,同时极大的减少了FLASH存储器扇区擦除的次数,提高了FLASH存储器的使用寿命。

Description

一种FLASH存储器的计数方法
技术领域
本发明涉及一种FLASH存储器的存储方法,尤其是作为计数器用FLASH存储器的存储方法。
背景技术
FLASH存储器是一种可擦除、非易失性存储元件,具有速度快,价格便宜的特点。FLASH存储器具有断电保存数据的功能,在一切工矿设备中具有不可替代的作用。FLASH存储器的数据擦除是以固定的区块为单位进行擦除,区块大小一般为256kb至20mb。FLASH存储器通过二进制0、1存储数据,并且写操作只能将1改写为0,不能将0改写成1。FLASH擦除以扇区为单位,FLASH擦除后扇区内数据全变为1。FLASH存储器的主要问题是存在擦除次数限制的问题,一般情况下擦除10万次FLASH存储器就会损坏报废。尤其是把FLASH存储器作为计数器使用时,10万次的擦除动作远远不够,为此一般情况下FLASH存储器的操作都为多次写入后执行一次擦除的方式,尤其是在一次擦除前写入数据越多越好。
发明内容
本发明针对现有技术中的不足,提供了一种FLASH存储器的计数方法,在存储累计数值时,可以记录超大容量的数据,同时极大的减少了FLASH存储器扇区擦除的次数,提高了FLASH存储器的使用寿命。
为了解决上述技术问题,本发明通过下述技术方案得以解决:一种FLASH存储器的计数方法,包含以下几个步骤:
a1)FLASH存储器包括N个计数块,记为Xi,其中N≥1,1≤i≤N,且N、i为整数;
a2)计数块Xi包括M个计数区,记为Eij,M≥2,1≤j≤M,且M、j为整数,每个计数区Eij包括若干个扇区;
初始阶段,设置计数块X1内所有计数区E1j内扇区的值以二进制表示全为1,同时值的写入由计数区E11开始;
a3)计数时,每当计数变化一个单位,就向计数区E11写入一次数据,使扇区内一个数据1变成数据0,直至计数区E11扇区内数据皆为0;
a4)当计数区E11扇区内数据皆为0,且计数变化一个单位时,就向计数区E12写入一次数据,使计数区E12扇区内一个数据1变成数据0,同时擦除计数区E11内所有扇区数据,使得计数区E11扇区的值以二进制表示全为1,然后重新由a3步骤循环;
a5)当计数区E11和计数区E12扇区内数据皆为0,且计数变化一个单位时,就向计数区E13写入一次数据,使计数区E13扇区内一个数据1变成数据0,同时擦除计数区E12和计数区E11内所有扇区数据,使得计数区E11和计数区E12扇区的值以二进制表示全为1,然后重新由a3步骤循环;
a6)以此类推,当计数区{E11,E12…E1(j-1)}(2≤j≤M)扇区内数据皆为0时,就向计数区Eij写入一次数据,使扇区内一个数据1变成数据0,同时擦除计数区{E11,E12…E1(j-1)}(2≤j≤M)内所有扇区数据,使得计数区{E11,E12…E1(j-1)}(2≤j≤M)扇区的值以二进制表示全为1,然后重新由a3步骤循环;
a7)读计数块X1内数据时,设置计数区Eij的数据长度nf,数据为0的位数为mf,1≤f≤M,且f为整数,那么计数数据就为:m1+m2(n1+1)+m3(n2+1)(n1+1)+…..+mf(nf-1+1)…(n2+1)(n1+1);
其余计数块Xi的计数方法与计数块X1一致。
上述技术方案中,优选的,所述的FLASH存储器还包括若干个记录块,每当从某一计数块Xi内读取数据时,通过步骤a7读取该计数块Xi内数据后,把此数据记录到所述的记录块内。
上述技术方案中,优选的,某一计数块Xi内所有计数区Eij扇区内全部值都为0时,通过步骤a7读取该计数块Xi内数据记录到所述的记录块内,同时对该计数块Xi内所有计数区Eij执行擦除操作,然后重新由a3步骤循环。
上述技术方案中,优选的,在步骤a3、a4、a5、a6中,数据写入计数区Eij的规则为:计数区Eij内某一扇区数据全部写入完毕后才对该计数区Eij其他扇区进行写入操作;单个扇区数据写入时由从低位向高位依次写入,每次写入使一个数据1变为数据0。
上述技术方案中,更进一步,可以包括如下几个步骤:
b1)把某一计数块Xi分成两个计数区,分别为倍数区和余数区,所述的倍数区包括P个扇区,记为Yia,其中P≥1,1≤a≤P,且P、a为整数,所述的余数区包括Q个扇区,记为Zib,其中Q≥1,1≤b≤Q,且Q、b为整数;
初始阶段,倍数区和余数区内所有扇区的值以二进制表示全为1;
b2)计数时,每当计数变化一个单位,就向余数区Zib写入一次数据,使一个数据1变成数据0,直至余数区Zib中数据皆为0;
b3)当余数区Zib中数据皆为0,且计数变化一个单位时,,就向倍数区Yia写入一次数据,使一个数据1变成数据0,同时对余数区Zib执行擦除动作,然后重新由b2步骤循环;
b4)读该计数块Xi内数据时,设置余数区Zib的位数为α,余数区Zib内为0的数据个数为β,倍数区Yia内为0的数据个数为γ,那么计数数据就为γ*(α+1)+β。
本方法主要用于累计计数的数据在FLASH存储器内的储存(比如电表的度数,水表的度数,行驶的里程数等),相比于其他数据,累计计数数据有其特殊性,由于数据不定时的增加,如果用FLASH存储器普遍的“写入-擦除-写入”法,FLASH存储器约10万次的擦除限制远远不能记录大量的数据。而FLASH存储器具有断电保存数据的功能,绝大多数的累计计数都要在断电的情况下进行保存,为此也只有类似FLASH存储器这种不挥发性内存才有存储这类数据。而这类数据频繁的写入,会对FLASH存储器的寿命造成严重的影响,如果FLASH存储器在使用中损坏,数据就会丢失或者失真,这对现代工业来说是绝对不能允许发生的事情。为此本方法是一种专门在FLASH存储器中记录累计数值的方法,在能记录大量数据的同时,极大的减少了擦除的次数,基本可以在FLASH存储器因为长时间使用而造成的不可逆损坏前,FLASH存储器使用时的擦除次数还未达到最大值。
在FLASH存储器内可以设置多个计数块,每个计数块都可以记录一个累积数值,一个FLASH存储器就可以同时记录多个设备的累积数值。在计数块内设置有至少两个计数区,计数区由不同数量的扇区组成,由于FLASH存储器的特性,扇区的大小是在生产时就设定好的。同时由于FLASH存储器的读写特性,扇区里的至非1既0,并且只能有1改为0。本方法就利用FLASH存储器的这种特性就行累计数值的存储。在进行计数前,需要全部初始化,计数块内所有扇区数据都为1,然后开始计数。为了方便计数以及减少最后换算时的计算量,需要对计数区进行排序,计数区内扇区的数量对排序没有影响,排序只是为了让计数区顺序的写入数据。为了方便计数以及减少最后换算时的计算量,还需要对计数区内的扇区进行排序,一个扇区内的数据写入完后再进行下个扇区的写入。在扇区内的写入遵循由从低位向高位依次写入,每次写入使一个数据1变为数据0的规则。这种写入的模式,使得外部计量变化一个单位,就让扇区内的一个为1的值变为0,如果一个计数区内所有扇区的值都为0,就让下一个计数区内扇区内的一个值变为0,原来的计数区进行擦除动作,重新计数。如此循环,直至所有计数区的值都为0。这种计数方法类似数学进制,不同计数区类似个、十、百、千、万等位,每个计数区内扇区的总长度就是进制的基数,相邻计数区之间的进制位可以不同。
与现有技术相比,本发明的有益效果是:在存储累计数值时,可以记录超大容量的数据,同时极大的减少了FLASH存储器扇区擦除的次数,提高了FLASH存储器的使用寿命。
具体实施方式
下面结合具体实施方式对本发明作进一步详细描述。
实施例1:FLASH存储器内某一计数块包括三个计数区,分别为第一计数区、第二计数区和第三计数区。每个计数区包含两个扇区,每个扇区的大小为4bits。具体换算如表1所示。
表1:计数换算表
参考表1,每个计数区由两个4bits的扇区组成,则计数8个单位后第二计数区写入一次,计数91个单位后第三计数区计数一次,一个计数块最高的计数值为728,要记录到这个数值,需要进行扇区的擦除工作102次。
实施例2:FLASH存储器内某一计数块包含倍数区和余数区,倍数区和余数区各包含16个扇区,每个扇区的大小为4Kbytes,即为32Kbits。则余数区长度为32768,余数区存储32769个单位后,倍数区才写入一次。则整个计数块写满后总共可以计数1073807360单位,而计数块的大小只有128KB。记录到1073807360单位时,也只需擦除32768次。
通过实施例1和实施例2的表述,只要扇区的长度足够长,计数区的个数足够多,就能存储超大数值的计数数据,同时,对于一个较小的FLASH存储器来说,如果只单独作为一个计数用存储器,一个存储器可以同时记录多个装备的计数值。如果计数区全部计数完后,还可以储存这个值后,擦除所有计数区从新开始计数。

Claims (5)

1.一种FLASH存储器的计数方法,其特征为包换以下几个步骤:
a1)FLASH存储器包括N个计数块,记为Xi,其中N≥1,1≤i≤N,且N、i为整数;
a2)计数块Xi包括M个计数区,记为Eij,M≥2,1≤j≤M,且M、j为整数,每个计数区Eij包括若干个扇区;
初始阶段,设置计数块X1内所有计数区E1j内扇区的值以二进制表示全为1,同时值的写入由计数区E11开始;
a3)计数时,每当计数变化一个单位,就向计数区E11写入一次数据,使扇区内一个数据1变成数据0,直至计数区E11扇区内数据皆为0;
a4)当计数区E11扇区内数据皆为0,且计数变化一个单位时,就向计数区E12写入一次数据,使计数区E12扇区内一个数据1变成数据0,同时擦除计数区E11内所有扇区数据,使得计数区E11扇区的值以二进制表示全为1,然后重新由a3步骤循环;
a5)当计数区E11和计数区E12扇区内数据皆为0,且计数变化一个单位时,就向计数区E13写入一次数据,使计数区E13扇区内一个数据1变成数据0,同时擦除计数区E12和计数区E11内所有扇区数据,使得计数区E11和计数区E12扇区的值以二进制表示全为1,然后重新由a3步骤循环;
a6)以此类推,当计数区{E11,E12…E1(j-1)}(2≤j≤M)扇区内数据皆为0时,就向计数区Eij写入一次数据,使扇区内一个数据1变成数据0,同时擦除计数区{E11,E12…E1(j-1)}(2≤j≤M)内所有扇区数据,使得计数区{E11,E12…E1(j-1)}(2≤j≤M)扇区的值以二进制表示全为1,然后重新由a3步骤循环;
a7)读计数块X1内数据时,设置计数区Eij的数据长度nf,数据为0的位数为mf,1≤f≤M,且f为整数,那么计数数据就为:m1+m2(n1+1)+m3(n2+1)(n1+1)+…..+mf(nf-1+1)…(n2+1)(n1+1);
其余计数块Xi的计数方法与计数块X1一致。
2.根据权利要求1所述的一种FLASH存储器的计数方法,其特征为,所述的FLASH存储器还包括若干个记录块,每当从某一计数块Xi内读取数据时,通过步骤a7读取该计数块Xi内数据后,把此数据记录到所述的记录块内。
3.根据权利要求2所述的一种FLASH存储器的计数方法,其特征为,某一计数块Xi内所有计数区Eij扇区内全部值都为0时,通过步骤a7读取该计数块Xi内数据记录到所述的记录块内,同时对该计数块Xi内所有计数区Eij执行擦除操作,然后重新由a3步骤循环。
4.根据权利要求1所述的一种FLASH存储器的计数方法,其特征为,在步骤a3、a4、a5、a6中,数据写入计数区Eij的规则为:计数区Eij内某一扇区数据全部写入完毕后才对该计数区Eij其他扇区进行写入操作;单个扇区数据写入时由从低位向高位依次写入,每次写入使一个数据1变为数据0。
5.根据权利要求1所述的一种FLASH存储器的计数方法,其特征为,
b1)把某一计数块Xi分成两个计数区,分别为倍数区和余数区,所述的倍数区包括P个扇区,记为Yia,其中P≥1,1≤a≤P,且P、a为整数,所述的余数区包括Q个扇区,记为Zib,其中Q≥1,1≤b≤Q,且Q、b为整数;
初始阶段,倍数区和余数区内所有扇区的值以二进制表示全为1;
b2)计数时,每当计数变化一个单位,就向余数区Zib写入一次数据,使一个数据1变成数据0,直至余数区Zib中数据皆为0;
b3)当余数区Zib中数据皆为0,且计数变化一个单位时,,就向倍数区Yia写入一次数据,使一个数据1变成数据0,同时对余数区Zib执行擦除动作,然后重新由b2步骤循环;
b4)读该计数块Xi内数据时,设置余数区Zib的位数为α,余数区Zib内为0的数据个数为β,倍数区Yia内为0的数据个数为γ,那么计数数据就为γ*(α+1)+β。
CN201410529679.3A 2014-10-10 2014-10-10 一种flash存储器的计数方法 Active CN104361907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410529679.3A CN104361907B (zh) 2014-10-10 2014-10-10 一种flash存储器的计数方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410529679.3A CN104361907B (zh) 2014-10-10 2014-10-10 一种flash存储器的计数方法

Publications (2)

Publication Number Publication Date
CN104361907A true CN104361907A (zh) 2015-02-18
CN104361907B CN104361907B (zh) 2019-11-22

Family

ID=52529162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410529679.3A Active CN104361907B (zh) 2014-10-10 2014-10-10 一种flash存储器的计数方法

Country Status (1)

Country Link
CN (1) CN104361907B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659218A (zh) * 2019-08-30 2020-01-07 珠海泰芯半导体有限公司 一种适用于小数据量Flash的磨损均衡方法
CN111243644A (zh) * 2019-12-30 2020-06-05 深圳市芯天下技术有限公司 增强型flash的计数方法及增强型flash
CN111813704A (zh) * 2020-05-27 2020-10-23 厦门汉印电子技术有限公司 基于nor flash的计数方法、装置、设备以及可读存储介质
CN112711378A (zh) * 2020-12-22 2021-04-27 四川九洲电器集团有限责任公司 数据储存方法及读写设备
US20220188222A1 (en) * 2020-12-15 2022-06-16 Kabushiki Kaisha Toshiba Electronic apparatus, method, and storage medium
CN116865745A (zh) * 2023-08-31 2023-10-10 上海芯存天下电子科技有限公司 计数器、计数方法、存储阵列、非易失性存储器及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110983A (ja) * 1997-10-06 1999-04-23 Hitachi Ltd フラッシュメモリの消去回数管理方法及びそれを用いたデータ処理装置
CN1700642A (zh) * 2005-05-25 2005-11-23 北京兆日科技有限责任公司 一种单调计数器的实现方法
CN101183336A (zh) * 2007-12-18 2008-05-21 凌阳科技股份有限公司 使用非易失性存储器记录资料的方法及电子装置
US20140089612A1 (en) * 2012-09-27 2014-03-27 Nxp B.V. Electronic counter in non-volatile limited endurance memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110983A (ja) * 1997-10-06 1999-04-23 Hitachi Ltd フラッシュメモリの消去回数管理方法及びそれを用いたデータ処理装置
CN1700642A (zh) * 2005-05-25 2005-11-23 北京兆日科技有限责任公司 一种单调计数器的实现方法
CN101183336A (zh) * 2007-12-18 2008-05-21 凌阳科技股份有限公司 使用非易失性存储器记录资料的方法及电子装置
US20140089612A1 (en) * 2012-09-27 2014-03-27 Nxp B.V. Electronic counter in non-volatile limited endurance memory

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110659218A (zh) * 2019-08-30 2020-01-07 珠海泰芯半导体有限公司 一种适用于小数据量Flash的磨损均衡方法
CN110659218B (zh) * 2019-08-30 2024-01-19 珠海泰芯半导体有限公司 一种适用于小数据量Flash的磨损均衡方法
CN111243644A (zh) * 2019-12-30 2020-06-05 深圳市芯天下技术有限公司 增强型flash的计数方法及增强型flash
CN111243644B (zh) * 2019-12-30 2020-10-20 深圳市芯天下技术有限公司 增强型flash的计数方法及增强型flash
CN111813704A (zh) * 2020-05-27 2020-10-23 厦门汉印电子技术有限公司 基于nor flash的计数方法、装置、设备以及可读存储介质
US20220188222A1 (en) * 2020-12-15 2022-06-16 Kabushiki Kaisha Toshiba Electronic apparatus, method, and storage medium
CN112711378A (zh) * 2020-12-22 2021-04-27 四川九洲电器集团有限责任公司 数据储存方法及读写设备
CN112711378B (zh) * 2020-12-22 2022-08-05 四川九洲电器集团有限责任公司 数据储存方法及读写设备
CN116865745A (zh) * 2023-08-31 2023-10-10 上海芯存天下电子科技有限公司 计数器、计数方法、存储阵列、非易失性存储器及设备

Also Published As

Publication number Publication date
CN104361907B (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
CN104361907A (zh) 一种flash存储器的计数方法
US8949507B2 (en) Method for performing block management, and associated memory device and controller thereof
CN103530062B (zh) 数据存储方法、存储器控制器与存储器存储装置
CN105573681B (zh) 一种ssd盘片内部raid组建方法及系统
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
CN105786411B (zh) 非易失性存储器装置的操作方法
CN103578565B (zh) 一种NAND Flash存储芯片的校验方法及装置
CN102385902A (zh) 固态储存装置及其数据控制方法
CN103229136B (zh) 磁盘阵列刷盘方法及磁盘阵列刷盘装置
CN103811072B (zh) 一种高可靠性NAND Flash的读取方法及其系统
TWI606339B (zh) 資料儲存裝置及其資料維護方法
CN101441599A (zh) 一种固态硬盘的均衡方法和固态硬盘
CN102214143A (zh) 一种多层单元闪存的管理方法、装置及存储设备
CN104699413A (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
KR20160024962A (ko) 온-디맨드 블록 관리
CN104765695A (zh) 一种nand flash坏块管理系统及方法
CN104794063A (zh) 一种具备电阻式存储器的固态储存装置的控制方法
TW201905711A (zh) 資料儲存裝置及非揮發式記憶體操作方法
CN102981969A (zh) 重复数据删除的方法及其固态硬盘
TW201339958A (zh) 記憶體控制器、記憶體儲存裝置與資料寫入方法
TW201715399A (zh) 資料儲存裝置及其資料維護方法
CN101796498A (zh) 存储器系统
CN103279402B (zh) 基于多层单元固态硬盘的数据恢复方法及固态硬盘
CN103383863A (zh) 改善快闪存储器擦除性能的方法
CN103811070B (zh) 一种高可靠性NAND Flash的读取方法及其系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NINGBO SANXING INTELLIGENT ELECTRIC CO., LTD.

Free format text: FORMER OWNER: NINGBO SANXING ELECTRIC CO., LTD.

Effective date: 20150616

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150616

Address after: 315034 Ningbo, Jiangbei District, Zhejiang City, the town of Maple Bay Road, No. 16

Applicant after: Ningbo Samsung intelligent electric company limited

Address before: No. 1166 Mingguang North Road, Jiangshan Town, Ningbo, Zhejiang, Yinzhou District

Applicant before: Ningbo Sanxing Electric Co., Ltd.

GR01 Patent grant
GR01 Patent grant