CN101354678A - 基于NorFlash的数据滚存方法 - Google Patents
基于NorFlash的数据滚存方法 Download PDFInfo
- Publication number
- CN101354678A CN101354678A CNA200810139440XA CN200810139440A CN101354678A CN 101354678 A CN101354678 A CN 101354678A CN A200810139440X A CNA200810139440X A CN A200810139440XA CN 200810139440 A CN200810139440 A CN 200810139440A CN 101354678 A CN101354678 A CN 101354678A
- Authority
- CN
- China
- Prior art keywords
- data
- space
- accumulated
- flash
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000009825 accumulation Methods 0.000 title 1
- 230000006870 function Effects 0.000 claims description 2
- 230000002035 prolonged effect Effects 0.000 abstract 1
- 238000007789 sealing Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种基于NorFlash的数据滚存方法是在程序逻辑上将滚存空间形成一个封闭环,有效存储空间的初始地址出厂时默认设置为0x00000000,滚存数据长度置为0,在使用过程中每次关闭机器时将此数据保存在文件中,启动时取出赋到变量中,缓存空间在滚存数据长度所在的块和下一个块,共2个块的空间,缓存空间始终是可写的,也是程序始终写入的空间,本发明的有益效果是解决了写入速度的问题,另外也不会出现断电丢失数据的现象,并且每个块的擦写次数只有一次,降到最低,使Flash的寿命得到极致延长。
Description
技术领域
此算法是应用于非文件系统的NorFlash存储及文件系统尚未支持的大容量数据存储。
背景技术
在采用非文件系统的norflash存储系统中,flash数据写入一般需要四个过程:
1)先读取出要写入块的数据,放入内存中;
2)擦除此块
3)修改内存中块的内容
4)再将内存中数据写入此块。
以上的flash的存储方法存在几个缺点:
1)每次写入数据都需要对flash进行一次擦除,因此大大加大了flash的擦除次数,降低了flash使用寿命。
2)每次均都进行读、写、擦除操作,降低了写入时间。
3)flash在擦除后,新的数据尚未写入时,如果此时掉电,数据将不可恢复,因此不能保证数据的完整。
基于以上原因,针对滚存数据的存储特点,设计了滚存数据的存储算法,以下称做滚存算法,它保证了写数据时始终写到干净的flash块上,写时不需要擦除,擦除操作是在整块写完之后进行的,由此它解决了传统flash存储的缺点。
发明内容
本发明的方法是对当前Flash滚存数据方法的改进。在滚存的过程中, 缓存空间的2个块始终可以写入,这两个块主要起到了缓存的作用,因为数据直接写入这两个块中做擦除操作。该方法在程序逻辑上将滚存空间形成一个封闭环,有效存储空间的初始地址出厂时默认设置为0x00000000,滚存数据长度置为0,在使用过程中每次关闭机器时将此数据保存在文件中,启动时取出赋到变量中,缓存空间在滚存数据长度所在的块和下一个块,共2个块的空间,缓存空间始终是可写的,也是程序始终写入的空间,数据滚存步骤如下:
1)对Flash分区:根据系统的各种应用功能将Flash划分成多个数据区域;
2)滚存:在非文件系统控制的Flash分区内,从某开始地址顺序存储数据,直到指定的结束地址,然后再跳转到开始地址存储,再次存储时将覆盖掉先前存储的数据;
3)滚存空间:是指存储数据的开始地址到结束地址的空间;
4)缓存空间:在滚存空间中指定2个或以上的Flash块做缓存区;
5)有效存储空间:在滚存空间中有效数据占用的空间,即是去除缓存空间后剩余的空间;
6)Flash擦除块:是指系统擦除Flash的基本单位,NorFlash擦除块大小≤64K;
7)滚存数据长度设定:是指从有效存储空间的起始地址当前写入地址的长度;
Flash擦除块大小:64K
有效存储空间大小为:0x280000,40个擦除块;
缓存空间大小为:0x20000,2个擦除块;
滚存空间的实地址是:0x00000000---0x002A0000。
本发明的有益效果是解决了写入速度的问题,另外也不会出现断电丢失数据的现象,并且每个块的擦写次数只有一次,降到最低,使Flash的寿命得到极至延长。主要应用于金融税控收款机、税控收款机、税控器、税控打印机、金融POS机、各类商业POS机等对大容量滚存数据的存储。
附图说明
附图1是flash空间示意图;
附图2是滚存初始状态图;
附图3是滚存一轮后的状态图。
具体实施方式
1)在程序逻辑上将滚存空间形成一个封闭环;有效存储空间的初始地址出厂时默认设置为0x00000000,滚存数据长度置为0,在使用过程中每次关闭机器时将此数据保存在文件中,启动时取出赋到变量中(如:图2)。
2)缓存空间在滚存数据长度所在的块和下一个块,共2个块的空间。缓存空间始终是可写的,也是程序始终写入的空间。
3)机器出厂时,首先初始化缓存块为干净块。
4)从缓存块起始地址写数据,如果数据写完第一块,则擦除第三块,缓存块的起始地址变为第二块,那么第二块和第三块做为缓存块。
5)记录下来当前滚存的数据长度。
6)当滚存数据长度写到有效存储空间大小后,重置滚存数据长度为0,有效存储数据的起始地址置为当前地址,第一轮是即为0x280000。
7)依次向下循环写下去。
在滚存的过程中,缓存空间的2个块始终可以写入,这两个块主要起到了缓存的作用,因为数据直接写入这两个块中,做擦除操作。
实施实例
本发明的方法已经在RE310上测试通过。
Claims (3)
1、基于NorFlash的数据滚存方法,其特征在于在程序逻辑上将滚存空间形成一个封闭环,有效存储空间的初始地址出厂时默认设置为0x00000000,滚存数据长度置为0,在使用过程中每次关闭机器时将此数据保存在文件中,启动时取出赋到变量中,缓存空间在滚存数据长度所在的块和下一个块,共2个块的空间,缓存空间始终是可写的,也是程序始终写入的空间,数据滚存步骤如下:
1)对Flash分区:根据系统的各种应用功能将Flash划分成多个数据区域;
2)滚存:在非文件系统控制的Flash分区内,从某开始地址顺序存储数据,直到指定的结束地址,然后再跳转到开始地址存储,再次存储时将覆盖掉先前存储的数据;
3)滚存空间:是指存储数据的开始地址到结束地址的空间;
4)缓存空间:在滚存空间中指定2个或以上的Flash块做缓存区;
5)有效存储空间:在滚存空间中有效数据占用的空间,即是去除缓存空间后剩余的空间;
6)Flash擦除块:是指系统擦除Flash的基本单位,NorFlash擦除块大小≤64K;
7)滚存数据长度设定:是指从有效存储空间的起始地址当前写入地址的长度;
Flash擦除块大小:64K
有效存储空间大小为:0x280000,40个擦除块;
缓存空间大小为:0x20000,2个擦除块;
滚存空间的实地址是:0x00000000---0x002A0000。
2、根据权利要求1所述的方法,其特征在于机器出厂时,首先初始化缓存块为干净块,从缓存块起始地址写数据,数据写完第一块,则擦除第三块,缓存块的起始地址变为第二块,第二块和第三块做为缓存块。
3、根据权利要求1所述的方法,其特征在于在滚存的过程中,记录当前滚存的数据长度,当滚存数据长度写到有效存储空间大小后,重置滚存数据长度为0,有效存储数据的起始地址置为当前地址,第一轮是0x280000。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200810139440XA CN101354678A (zh) | 2008-09-10 | 2008-09-10 | 基于NorFlash的数据滚存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200810139440XA CN101354678A (zh) | 2008-09-10 | 2008-09-10 | 基于NorFlash的数据滚存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101354678A true CN101354678A (zh) | 2009-01-28 |
Family
ID=40307495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200810139440XA Pending CN101354678A (zh) | 2008-09-10 | 2008-09-10 | 基于NorFlash的数据滚存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101354678A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339254A (zh) * | 2011-06-17 | 2012-02-01 | 杭州炬华科技股份有限公司 | 用于智能电能表的flash数据存储方法 |
CN102708057A (zh) * | 2011-11-29 | 2012-10-03 | 北京安天电子设备有限公司 | 一种快速完整擦除存储设备文件的方法及系统 |
CN103294615A (zh) * | 2012-02-24 | 2013-09-11 | 北京四达时代软件技术股份有限公司 | 一种存储机顶盒用户信息的方法 |
CN106802811A (zh) * | 2016-11-28 | 2017-06-06 | 硅谷数模半导体(北京)有限公司 | 程序写入方法和装置 |
CN107403637A (zh) * | 2016-05-20 | 2017-11-28 | 慧荣科技股份有限公司 | 数据储存装置的数据页对齐方法及其查找表的制作方法 |
CN109597580A (zh) * | 2018-12-03 | 2019-04-09 | 烟台东方威思顿电气有限公司 | 适用于智能电表负荷曲线存储的flash操作方法 |
CN110795040A (zh) * | 2019-10-28 | 2020-02-14 | 浙江互灵科技有限公司 | 简易文件管理系统及其实现方法 |
-
2008
- 2008-09-10 CN CNA200810139440XA patent/CN101354678A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339254A (zh) * | 2011-06-17 | 2012-02-01 | 杭州炬华科技股份有限公司 | 用于智能电能表的flash数据存储方法 |
CN102708057A (zh) * | 2011-11-29 | 2012-10-03 | 北京安天电子设备有限公司 | 一种快速完整擦除存储设备文件的方法及系统 |
CN103294615A (zh) * | 2012-02-24 | 2013-09-11 | 北京四达时代软件技术股份有限公司 | 一种存储机顶盒用户信息的方法 |
CN103294615B (zh) * | 2012-02-24 | 2017-09-22 | 北京四达时代软件技术股份有限公司 | 一种存储机顶盒用户信息的方法 |
CN107403637A (zh) * | 2016-05-20 | 2017-11-28 | 慧荣科技股份有限公司 | 数据储存装置的数据页对齐方法及其查找表的制作方法 |
CN107403637B (zh) * | 2016-05-20 | 2020-05-19 | 慧荣科技股份有限公司 | 数据储存装置的数据页对齐方法及其查找表的制作方法 |
CN106802811A (zh) * | 2016-11-28 | 2017-06-06 | 硅谷数模半导体(北京)有限公司 | 程序写入方法和装置 |
CN106802811B (zh) * | 2016-11-28 | 2020-03-10 | 硅谷数模半导体(北京)有限公司 | 程序写入方法和装置 |
CN109597580A (zh) * | 2018-12-03 | 2019-04-09 | 烟台东方威思顿电气有限公司 | 适用于智能电表负荷曲线存储的flash操作方法 |
CN109597580B (zh) * | 2018-12-03 | 2021-10-29 | 烟台东方威思顿电气有限公司 | 适用于智能电表负荷曲线存储的flash操作方法 |
CN110795040A (zh) * | 2019-10-28 | 2020-02-14 | 浙江互灵科技有限公司 | 简易文件管理系统及其实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101354678A (zh) | 基于NorFlash的数据滚存方法 | |
CN100504814C (zh) | 闪存的区块管理方法 | |
CN101739344B (zh) | 控制非易失性存储装置中损耗的存储器控制器及操作方法 | |
CN102306125B (zh) | 一种flash存储器的数据擦写方法 | |
US8117489B2 (en) | Disk drive and method for controlling the disk drive | |
CN104919438B (zh) | 存储器装置中的自动后台操作的主机控制的启用 | |
CN106406753B (zh) | 一种数据存储方法及数据存储装置 | |
CN101819509A (zh) | 一种固态硬盘读写方法 | |
CN101615427A (zh) | 非易失性存储器的存储器管理方法及使用此方法的控制器 | |
CN102637461B (zh) | 支持坏块闪存扫描的启动方法 | |
CN102662852A (zh) | 一种利用MCU内部数据Flash存储非易失性数据的方法 | |
CN103310842A (zh) | 烧录系统及烧录方法 | |
CN101321250B (zh) | 一种电视机重要数据存储方法 | |
CN107507644A (zh) | 存储器装置及其操作方法 | |
CN101923513B (zh) | 存储器的数据写读方法、系统和flash存储器 | |
CN112256203B (zh) | Flash存储器的写入方法、装置、设备、介质及系统 | |
CN109491592A (zh) | 存储设备及其数据写入方法、存储装置 | |
JP2019185350A (ja) | メモリシステム及びメモリシステムの制御方法 | |
CN203311409U (zh) | 一种Nand Flash的坏列管理装置 | |
CN105630697B (zh) | 一种利用mram存储小文件的存储装置 | |
TW201015565A (en) | Memory wear leveling method, system and device | |
CN109002399A (zh) | 嵌入式设备事件记录的方法 | |
CN105677246B (zh) | 一种nand闪存的数据读取方法、装置及nand闪存 | |
CN101963942A (zh) | 一种机顶盒nor型flash快速存储的方法 | |
CN110515789A (zh) | 一种提高eMMC写入效率及准确率的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090128 |