CN101354678A - 基于NorFlash的数据滚存方法 - Google Patents

基于NorFlash的数据滚存方法 Download PDF

Info

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
Application number
CNA200810139440XA
Other languages
English (en)
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.)
Inspur Software Co Ltd
Original Assignee
Shandong Inspur Software 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 Shandong Inspur Software Co Ltd filed Critical Shandong Inspur Software Co Ltd
Priority to CNA200810139440XA priority Critical patent/CN101354678A/zh
Publication of CN101354678A publication Critical patent/CN101354678A/zh
Pending legal-status Critical Current

Links

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存储及文件系统尚未支持的大容量数据存储。
背景技术
在采用非文件系统的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。
CNA200810139440XA 2008-09-10 2008-09-10 基于NorFlash的数据滚存方法 Pending CN101354678A (zh)

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)

* Cited by examiner, † Cited by third party
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 浙江互灵科技有限公司 简易文件管理系统及其实现方法

Cited By (11)

* Cited by examiner, † Cited by third party
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