CN103885889A - 一种基于nor flash的数据存储方法及系统 - Google Patents
一种基于nor flash的数据存储方法及系统 Download PDFInfo
- Publication number
- CN103885889A CN103885889A CN201410101246.8A CN201410101246A CN103885889A CN 103885889 A CN103885889 A CN 103885889A CN 201410101246 A CN201410101246 A CN 201410101246A CN 103885889 A CN103885889 A CN 103885889A
- Authority
- CN
- China
- Prior art keywords
- data
- flash
- data block
- data items
- positional information
- 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
Images
Abstract
本发明公开了一种基于NOR FLASH的数据存储方法,包括:获取数据块中需要更新的数据项目的位置信息;根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块重新写入flash;更新当前有效的数据项目在FLASH中的位置信息。通过本发明的技术可以减少块擦写操作的次数,增加NOR FLASH硬件的使用寿命。同时,本发明还公开了一种基于NOR FLASH的数据存储系统。
Description
技术领域
本发明涉及硬件数据处理领域,特别涉及一种基于NOR FLASH的数据存储方法及系统。
背景技术
NOR FLASH是目前市场上主要的非易失闪存技术之一,NOR FLASH的传输效率很高,在1-4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能,NOR FLASH的擦写次数是十万次。EEPROM是电子擦除式只读存储器,它是一种非挥发性存储器,电源消失后,储存的数据依然存在,要消除储存在其中的内容,以电子信号直接消除即可,EEPROM的擦写次数是百万次。从NOR FLASH和EEPROM的特点上能够看出,二者的擦写寿命差距很大。
NOR FLASH作为一种掉电不丢失数据的永久存储介质,具有以下特点:
1.读数据的时候,采用直接总线地址访问方式,无需特殊操作。
2.写数据有两种模式:
1)单字写入模式。可对NOR FLASH上的任意存储单元做写入操作,但是只能将该存储单元中某一位的值由1变为0,而不能由0变为1。这种模式一次操作的最小单位为一个字,根据NOR FLASH规格的不同,字长通常为8bit、16bit、32bit和64bit。操作影响的最小单位为1bit。
2)块擦写模式。NOR FLASH上地址连续的若干个存储单元组成一个FLASH块。擦写模式会将整个FLASH块的数据的所有数据位全部变成1,而无论之前存储的数据是什么内容的。该模式一次操作的最小单位和操作影响的最小单位均为一个块。根据NOR FLASH规格的不同,块的大小通常为512字节或者512字节的整数倍。该模式的使用会影响NOR FLASH的寿命。根据NOR FLASH规格的不同,通常NOR FLASH可擦写的次数,在1K~100K之间。超过可擦写次数的擦写会导致NOR FLASH硬件的失效。
这两种写模式,均采用间接总线地址访问方式,需要软件采用特殊的驱动,方可完成操作。存储区域的大小由两个因素决定:a、数据项目的大小;b、数据项目的刷新率。而存储区域过大会导致存储空间的浪费。存储区域过小,会导致频繁块擦写操作,影响了NOR FLASH的使用寿命。
发明内容
基于上述情况,本发明提出了一种基于NOR FLASH的数据存储方法,该方法主要利用多项目数据的数据结构及状态标志对多项目数据进行标示,使得需要更新的数据项目可以根据更新内容组合成新数据块,并更新有效的数据项目在FLASH中的位置信息。进而减少块擦写操作的次数,增加NOR FLASH硬件的使用寿命。
本发明公开了一种基于NOR FLASH的数据存储方法,包括:获取数据块中需要更新的数据项目的位置信息;根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块并重新写入flash;更新当前有效的数据项目在FLASH中的位置信息。
所述获取的数据块为非首次写入数据块。
将所述数据块中的数据项目按预设比例分配成若干大存储区域和若干小存储区域。
检测到系统需要更新的数据项目是否超过小存储区域的空间,若是,采用大的存储区域进行存储;若否,采用小的存储区域进行存储。
本发明还公开了一种基于NOR FLASH的数据存储系统,包括:更新数据位置获取模块、数据块重组模块以及数据位置更新模块,所述各个模块信号连接;更新数据位置获取模块用于获取数据块中需要更新的数据项目的位置信息;数据块重组模块用于根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块并重新写入flash;数据位置更新模块用于更新当前有效的数据项目在FLASH中的位置信息。
相对于现有技术,本发明提供的一种基于NOR FLASH的数据存储方法,可以只更新需要更新的数据,而不用重新写入全部的数据;并使得多种数据可以组合成一个统一的数据包,一次性写入存储空间,同时组成数据包的多种数据的类别可以是任意组合。可以减少块擦写操作的次数,增加NOR FLASH硬件的使用寿命。
附图说明
图1是本发明一种基于NOR FLASH的数据存储方法实施例的流程示意图;
图2是本发明一种基于NOR FLASH的数据存储方法实施例的数据更新前示意图;
图3是本发明一种基于NOR FLASH的数据存储方法实施例的数据更新过程示意图A;
图4是本发明一种基于NOR FLASH的数据存储方法实施例的数据更新过程示意图B;
图5是本发明一种基于NOR FLASH的数据存储方法实施例的数据结构示意图。
具体实施方式
以下结合其中的较佳实施方式对本发明方案进行详细阐述。
表1示出现有技术对数据块的定义方式,每一个块表示一个数据块。(注意,这里提到的数据块和前文中的FLASH块是不同的概念。数据块是一个逻辑上的概念,而FLASH块是一个实际的物理上的概念。)一个数据块保存一条数据项目。数据块一般由以下三部分组成,如表1所示:
表1 包含单个数据项目的数据块的组成结构
而一般在进行数据存储时,如果判定非首次写入,则将当前有效的数据块的有效标志标记为无效状态,并将新数据块写入FLASH中,再将新数据块设置为当前有效的数据块,并将其数据块有效标志标记为有效状态。而这种存储方式的存储区域过大会导致存储空间的浪费。存储区域过小,会导致频繁块擦写操作,从而影响NOR FLASH的使用寿命。
以下结合其中的较佳实施方式对本发明方案进行详细阐述。
图1中示出了本发明一种基于NOR FLASH的数据存储方法实施例的流程示意图。
S101:获取数据块中需要更新的数据项目的位置信息;
由于本实施例所应用的数据项目与现有技术的数据项目略有不同,在此处对数据块中的内容进行说明,表2示出本实施例对数据块的定义方式。
表2 本技术方案的数据块的组成结构
如图2所示,数据块1包括数据项目A、B、C和D,其中这些数据项目有效标志均为有效。此时获取数据块1中需要更新的数据项目B、C的位置。
S102:根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效,将需要更新的数据项目组成新数据块并重新写入flash。
由图3结合图4所示,根据S101中的将数据项目的位置信息数据块1中需要更新的数据项目B、C的有效标志变成无效标志。然后把数据项目B、C组成新的数据块2,每个数据项目均包含数据块有效标志、包含数据项目标志、数据项目有效标志、校验和等信息。最后重新写入flash中,形成数据块2。在本实施例中,为了简单举例,采用了数据块1和数据块2的做法。在实际的应用中,由于数据存储量较大,可以用数据块N和数据块M来替代(N与M均为整数)。
S103:更新当前有效的数据项目在FLASH中的位置信息。
当前的有效数据项目为数据块1数据项目A、D以及数据块2数据项目B、C,将它们进行在FLASH中的位置信息进行更新,并告知存储系统。通过本实施例的方法,可以使得给FLASH存储数据带来如下效果:1.增量更新。即只更新需要更新的数据,而不用重新写入全部的数据。2.多条目数据包。即多种数据可以组合成一个统一的数据包,一次性写入存储空间。3不限定数据包中所包含的数据条目的种类。即组成数据包的多种数据的类别可以任意组合。
为了针对不同应用场景,本实施例还提出方案a、b以及他们的组合应用方案c。其中,方案a适用于单个数据项目所占用的空间与FLASH块的大小相近(数据项目所占用的空间×10 ≥FLASH块的大小)的情况。子方案b适用于单个数据项目所占用的空间与FLASH块的大小差异较大(数据项目所占用的空间×10 <FLASH块的大小)的情况。
两者的区别如下表所示:
表3方案a和方案b的区别
采用方案b的话,在每个FLASH块的起始位置还要添加一个“FLASH块有效标志”,该标志包含以下状态:
1初始状态。表示该FLASH块未被使用。
2有效状态。表示该FLASH块正在使用中。
3无效状态。表示该FLASH块中的所有数据均无效。
优选地,本实施使用组合应用方案c将所有数据项目按照所占用的空间的大小,分为采用方案a以及方案b两类。即将FLASH块中的数据项目按预设比例分配成若干大存储区域和若干小存储区域。当检测到系统需要更新的数据项目超过小存储区域的空间时,采用大的存储区域进行存储,反之,采用小的存储区域进行存储。
符合子方案a分类条件的数据项目按照方案a的方式存储,符合方案b分类条件的数据项目按照子方案b的方式存储。假定整个存储空间为40K,按照应用场景经验,其采用方案a以及方案b的比例是3:7,即前12K使用a方案用一个大存储区域,后28K使用a方案用若干个小存储区域(本实施例中采用的小区域为2K)。
在上述方法实施例的基础上,本发明还加入一个一种基于NOR FLASH的数据存储系统的实施例。该系统包括:更新数据位置获取模块、数据块重组模块以及数据位置更新模块,所述各个模块信号连接;更新数据位置获取模块用于获取数据块中需要更新的数据项目的位置信息;数据块重组模块用于根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块并重新写入flash;数据位置更新模块用于更新当前有效的数据项目在FLASH中的位置信息。
以上所述实例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种基于NOR FLASH的数据存储方法,其特征在于,包括:获取数据块中需要更新的数据项目的位置信息;根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块并重新写入flash;更新当前有效的数据项目在FLASH中的位置信息。
2.根据权利要求1所述的数据存储方法,其特征在于,所述获取的数据块为非首次写入数据块。
3.根据权利要求1或2所述的数据存储方法,其特征在于,将所述数据块中的数据项目按预设比例分配成若干大存储区域和若干小存储区域。
4.根据权利要求3所述的数据存储方法,其特征在于,检测到系统需要更新的数据项目是否超过小存储区域的空间,若是,采用大的存储区域进行存储;若否,采用小的存储区域进行存储。
5.一种基于NOR FLASH的数据存储系统,其特征在于,包括:更新数据位置获取模块、数据块重组模块以及数据位置更新模块,所述各个模块信号连接;更新数据位置获取模块用于获取数据块中需要更新的数据项目的位置信息;数据块重组模块用于根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块重新写入flash;数据位置更新模块用于更新当前有效的数据项目在FLASH中的位置信息。
6.根据权利要求5所述的数据存储方法,其特征在于,所述获取的数据块为非首次写入数据块。
7.根据权利要求5或6所述的数据存储方法,其特征在于,将所述数据块中的数据项目按预设比例分配成若干大存储区域和若干小存储区域。
8.根据权利要求3所述的数据存储方法,其特征在于,检测到系统需要更新的数据项目是否超过小存储区域的空间,若是,采用大的存储区域进行存储;若否,采用小的存储区域进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101246.8A CN103885889A (zh) | 2014-03-19 | 2014-03-19 | 一种基于nor flash的数据存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101246.8A CN103885889A (zh) | 2014-03-19 | 2014-03-19 | 一种基于nor flash的数据存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103885889A true CN103885889A (zh) | 2014-06-25 |
Family
ID=50954797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410101246.8A Pending CN103885889A (zh) | 2014-03-19 | 2014-03-19 | 一种基于nor flash的数据存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103885889A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677383A (zh) * | 2015-12-28 | 2016-06-15 | 北京华大智宝电子系统有限公司 | 一种智能卡数据更新方法 |
CN107037986A (zh) * | 2017-03-20 | 2017-08-11 | 北京握奇智能科技有限公司 | 一种延长可擦写芯片寿命的方法和装置 |
CN107039077A (zh) * | 2017-03-20 | 2017-08-11 | 北京握奇智能科技有限公司 | 一种延长可擦写芯片寿命的方法和装置 |
CN107122129A (zh) * | 2017-03-20 | 2017-09-01 | 北京握奇智能科技有限公司 | 一种延长可擦写芯片寿命的方法和装置 |
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN111427511A (zh) * | 2020-03-10 | 2020-07-17 | 青岛小鸟看看科技有限公司 | 一种数据存储方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
US20100011154A1 (en) * | 2008-07-08 | 2010-01-14 | Phison Electronics Corp. | Data accessing method for flash memory and storage system and controller using the same |
CN103038753A (zh) * | 2010-06-01 | 2013-04-10 | 格林莱恩特有限责任公司 | 用基于日志的缓冲向基于nand存储块的文件系统写入的方法 |
-
2014
- 2014-03-19 CN CN201410101246.8A patent/CN103885889A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
US20100011154A1 (en) * | 2008-07-08 | 2010-01-14 | Phison Electronics Corp. | Data accessing method for flash memory and storage system and controller using the same |
CN103038753A (zh) * | 2010-06-01 | 2013-04-10 | 格林莱恩特有限责任公司 | 用基于日志的缓冲向基于nand存储块的文件系统写入的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677383A (zh) * | 2015-12-28 | 2016-06-15 | 北京华大智宝电子系统有限公司 | 一种智能卡数据更新方法 |
CN107037986A (zh) * | 2017-03-20 | 2017-08-11 | 北京握奇智能科技有限公司 | 一种延长可擦写芯片寿命的方法和装置 |
CN107039077A (zh) * | 2017-03-20 | 2017-08-11 | 北京握奇智能科技有限公司 | 一种延长可擦写芯片寿命的方法和装置 |
CN107122129A (zh) * | 2017-03-20 | 2017-09-01 | 北京握奇智能科技有限公司 | 一种延长可擦写芯片寿命的方法和装置 |
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN111427511A (zh) * | 2020-03-10 | 2020-07-17 | 青岛小鸟看看科技有限公司 | 一种数据存储方法及装置 |
CN111427511B (zh) * | 2020-03-10 | 2023-10-27 | 青岛小鸟看看科技有限公司 | 一种数据存储方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885889A (zh) | 一种基于nor flash的数据存储方法及系统 | |
US8006030B2 (en) | Memory controller for identifying the last valid page/segment in a physical block of a flash memory | |
CN103914393B (zh) | 一种基于mcu的flash不丢失更新存储方法 | |
CN102081577B (zh) | 对Flash存储器的数据存储结构进行数据操作的方法 | |
CN102737715B (zh) | 用于nor闪存的数据掉电保护方法 | |
CN101493794B (zh) | 一种闪存数据处理方法及装置 | |
CN101551780B (zh) | 一种电视机及其数据存储方法、装置 | |
CN101620572B (zh) | 非易失性内存及控制方法 | |
TW200601040A (en) | Management of non-volatile memory systems having large erase blocks | |
CN102135942B (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
US20080270680A1 (en) | Controller for Non-Volatile Memories and Methods of Operating the Memory Controller | |
CN101231617B (zh) | 闪存设备的数据处理方法 | |
CN104750625A (zh) | 数据储存装置以及快闪存储器控制方法 | |
CN103440205A (zh) | 一种机顶盒数据存储方法及装置 | |
CN104317732A (zh) | 一种大容量Flash芯片的空间管理方法 | |
CN102004698B (zh) | 一种闪存管理方法及系统 | |
WO2006067923A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法 | |
CN102622306A (zh) | 存储装置的坏块管理方法 | |
CN102819494B (zh) | 一种闪存顺序写入时的优化方法 | |
CN101419571A (zh) | 基于Hash算法的在NOR FLASH中存储配置参数的方法 | |
CN102063384A (zh) | 一种java卡利用缓存对编程只读存储器进行读写操作的方法 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
CN103678145A (zh) | 数据储存装置与快闪存储器控制方法 | |
CN102999441A (zh) | 一种细粒度内存访问的方法 | |
CN103019959A (zh) | 一种指令高速缓冲存储器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 510663 A402, A403, No. 11, color road, Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong Applicant after: Guangzhou taidou Electronic Technology Co. Ltd. Address before: 510663 A402, A403, No. 11, color road, Science City, Guangzhou economic and Technological Development Zone, Guangzhou, Guangdong Applicant before: DONGGUAN TECHTOTOP MICROELECTRONICS CO.LTD |
|
COR | Change of bibliographic data | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140625 |