一种基于norflash的数据存储方法及系统的制作方法

文档序号:6540985阅读:187来源:国知局
一种基于nor flash的数据存储方法及系统的制作方法
【专利摘要】本发明公开了一种基于NOR?FLASH的数据存储方法,包括:获取数据块中需要更新的数据项目的位置信息;根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块重新写入flash;更新当前有效的数据项目在FLASH中的位置信息。通过本发明的技术可以减少块擦写操作的次数,增加NOR?FLASH硬件的使用寿命。同时,本发明还公开了一种基于NOR?FLASH的数据存储系统。
【专利说明】—种基于NOR FLASH的数据存储方法及系统
【技术领域】
[0001]本发明涉及硬件数据处理领域,特别涉及一种基于NOR FLASH的数据存储方法及系统。
【背景技术】
[0002]NOR FLASH是目前市场上主要的非易失闪存技术之一,NOR FLASH的传输效率很高,在1-4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能,NOR FLASH的擦写次数是十万次。EEPROM是电子擦除式只读存储器,它是一种非挥发性存储器,电源消失后,储存的数据依然存在,要消除储存在其中的内容,以电子信号直接消除即可,EEPROM的擦写次数是百万次。从NOR FLASH和EEPROM的特点上能够看出,二者的擦写寿命差距很大。
[0003]NOR FLASH作为一种掉电不丢失数据的永久存储介质,具有以下特点:
I.读数据的时候,采用直接总线地址访问方式,无需特殊操作。
[0004]2.写数据有两种模式:
I)单字写入模式。可对NOR FLASH上的任意存储单元做写入操作,但是只能将该存储单元中某一位的值由I变为0,而不能由O变为I。这种模式一次操作的最小单位为一个字,根据NOR FLASH规格的不同,字长通常为8bit、16bit、32bit和64bit。操作影响的最小单位为lbit。
[0005]2)块擦写模式。NOR FLASH上地址连续的若干个存储单元组成一个FLASH块。擦写模式会将整个FLASH块的数据的所有数据位全部变成1,而无论之前存储的数据是什么内容的。该模式一次操作的最小单位和操作影响的最小单位均为一个块。根据NOR FLASH规格的不同,块的大小通常为512字节或者512字节的整数倍。该模式的使用会影响NORFLASH的寿命。根据NOR FLASH规格的不同,通常NOR FLASH可擦写的次数,在IK?100K之间。超过可擦写次数的擦写会导致NOR FLASH硬件的失效。
[0006]这两种写模式,均采用间接总线地址访问方式,需要软件采用特殊的驱动,方可完成操作。存储区域的大小由两个因素决定:a、数据项目的大小;b、数据项目的刷新率。而存储区域过大会导致存储空间的浪费。存储区域过小,会导致频繁块擦写操作,影响了 NORFLASH的使用寿命。

【发明内容】

[0007]基于上述情况,本发明提出了一种基于NOR FLASH的数据存储方法,该方法主要利用多项目数据的数据结构及状态标志对多项目数据进行标示,使得需要更新的数据项目可以根据更新内容组合成新数据块,并更新有效的数据项目在FLASH中的位置信息。进而减少块擦写操作的次数,增加NOR FLASH硬件的使用寿命。
[0008]本发明公开了一种基于NOR FLASH的数据存储方法,包括:获取数据块中需要更新的数据项目的位置信息;根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块并重新写入flash ;更新当前有效的数据项目在FLASH中的位置信息。
[0009]所述获取的数据块为非首次写入数据块。
[0010]将所述数据块中的数据项目按预设比例分配成若干大存储区域和若干小存储区域。
[0011]检测到系统需要更新的数据项目是否超过小存储区域的空间,若是,采用大的存储区域进行存储;若否,采用小的存储区域进行存储。
[0012]本发明还公开了一种基于NOR FLASH的数据存储系统,包括:更新数据位置获取模块、数据块重组模块以及数据位置更新模块,所述各个模块信号连接;更新数据位置获取模块用于获取数据块中需要更新的数据项目的位置信息;数据块重组模块用于根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块并重新写入flash ;数据位置更新模块用于更新当前有效的数据项目在FLASH中的位置信息。
[0013]相对于现有技术,本发明提供的一种基于NOR FLASH的数据存储方法,可以只更新需要更新的数据,而不用重新写入全部的数据;并使得多种数据可以组合成一个统一的数据包,一次性写入存储空间,同时组成数据包的多种数据的类别可以是任意组合。可以减少块擦写操作的次数,增加NOR FLASH硬件的使用寿命。
【专利附图】

【附图说明】
[0014]图1是本发明一种基于NOR FLASH的数据存储方法实施例的流程示意图;
图2是本发明一种基于NOR FLASH的数据存储方法实施例的数据更新前示意图;
图3是本发明一种基于NOR FLASH的数据存储方法实施例的数据更新过程示意图A ; 图4是本发明一种基于NOR FLASH的数据存储方法实施例的数据更新过程示意图B ; 图5是本发明一种基于NOR FLASH的数据存储方法实施例的数据结构示意图。
【具体实施方式】
[0015]以下结合其中的较佳实施方式对本发明方案进行详细阐述。
[0016]表I示出现有技术对数据块的定义方式,每一个块表示一个数据块。(注意,这里提到的数据块和前文中的FLASH块是不同的概念。数据块是一个逻辑上的概念,而FLASH块是一个实际的物理上的概念。)一个数据块保存一条数据项目。数据块一般由以下三部分组成,如表I所示:
表I包含单个数据项目的数据块的组成结构
【权利要求】
1.一种基于NOR FLASH的数据存储方法,其特征在于,包括:获取数据块中需要更新的数据项目的位置信息;根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块并重新写入flash ;更新当前有效的数据项目在FLASH中的位置信息。
2.根据权利要求1所述的数据存储方法,其特征在于,所述获取的数据块为非首次写入数据块。
3.根据权利要求1或2所述的数据存储方法,其特征在于,将所述数据块中的数据项目按预设比例分配成若干大存储区域和若干小存储区域。
4.根据权利要求3所述的数据存储方法,其特征在于,检测到系统需要更新的数据项目是否超过小存储区域的空间,若是,采用大的存储区域进行存储;若否,采用小的存储区域进行存储。
5.一种基于NOR FLASH的数据存储系统,其特征在于,包括:更新数据位置获取模块、数据块重组模块以及数据位置更新模块,所述各个模块信号连接;更新数据位置获取模块用于获取数据块中需要更新的数据项目的位置信息;数据块重组模块用于根据所述数据项目的位置信息将数据块中对应数据项目的有效标志从有效变成无效并将需要更新的数据项目组成新数据块重新写入flash ;数据位置更新模块用于更新当前有效的数据项目在FLASH中的位置信息。
6.根据权利要求5所述的数据存储方法,其特征在于,所述获取的数据块为非首次写入数据块。
7.根据权利要求5或6所述的数据存储方法,其特征在于,将所述数据块中的数据项目按预设比例分配成若干大存储区域和若干小存储区域。
8.根据权利要求3所述的数据存储方法,其特征在于,检测到系统需要更新的数据项目是否超过小存储区域的空间,若是,采用大的存储区域进行存储;若否,采用小的存储区域进行存储。
【文档编号】G06F12/02GK103885889SQ201410101246
【公开日】2014年6月25日 申请日期:2014年3月19日 优先权日:2014年3月19日
【发明者】唐敬 申请人:广州市泰斗软核信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1