一种先入先出的FLASH数据存储方法、系统及终端技术方案

技术编号:23098908 阅读:56 留言:0更新日期:2020-01-14 20:33
本发明专利技术涉及汽车电子和车联网技术领域,一种先入先出的FLASH数据存储方法、系统及终端,所述的一种先入先出的FLASH数据存储方法包括:定义一种变长的数据块;查找空白区域,将数据块写入空白区域的最前端,并标记为有效;写入完成后读回检查是否写入成功;若不成功,将整块数据区重新写为0;若成功,将再录入数据顺延写入下一个空白区域。所述的一种先入先出的FLASH数据存储方法、系统及终端能够使FLASH存储器各个块均匀使用,导致部分块早衰。

A first in, first out flash data storage method, system and terminal

【技术实现步骤摘要】
一种先入先出的FLASH数据存储方法、系统及终端
本专利技术涉及汽车电子和车联网
,具体涉及一种先入先出的FLASH数据存储方法、系统及终端。
技术介绍
在汽车电子和车联网领域,TBOX行车盒子设备会实时把产生的数据上报给远程服务器。但是当无线网络不畅通的时候,需要将期间产生的数据临时以循环覆盖方式保存在设备上的FLASH存储芯片上。FLASH存在擦写次数限制,这就需要一套合理的策略来使用FLASH,否则就会因为部分页面过早损坏而导致整片故障。现有技术中对FLASH管理的策略包括FAT等文件系统;它们未能很好地使FLASH存储器各个块均匀使用,导致部分块早衰;另外,管理部分的内容占用的空间比重过大,挤占了数据存储的空间。为解决上述问题,本专利技术提供了一种先入先出的FLASH数据存储方法、系统及终端。
技术实现思路
本专利技术解决的技术问题是,提供了一种先入先出的FLASH数据存储方法、系统及终端。所述的一种先入先出的FLASH数据存储方法、系统及终端能够使FLASH存储器各个块均匀使用,导致部分块早衰。为了解决上述技术问题,本专利技术提供的技术方案为:一种先入先出的FLASH数据存储方法,包括:定义一种变长的数据块;查找空白区域,将数据块写入空白区域的最前端,并标记为有效;写入完成后读回检查是否写入成功;若不成功,将整块数据区重新写为0;若成功,将再录入数据顺延写入下一个空白区域。优选地,所述的数据块的组成为:一个指定内容的开头、中间包含数据块的总长度、数据块的有效标志、数据内容,以数据校验码结尾。定义一种数据块的优点在于,方便数据的插入,通过查找数据块,便于实现查找过程。优选地,所述的数据存储方法还包括数据的读取过程,所述的数据读取过程包括:查找最先写入并标记为有效的数据块;将其标记为无效并校验是否修改成功;若未更改成功,将整块数据区重写为0;若标记成功,继续读取后面的有效数据。进一步优选地,所述的数据的写入与读取都包含查找的过程,所述的查找的过程具体为确定FLASH存储器当前的情况:读取FLASH存储器头部一部分数据,记为Dh;存储器末端向前读取一部分数据,记为Dt;判断Dh与Dt的使用情况。其中,所述的一部分数据的长度为一个数据块的最大有效长度。进一步优选地,所述的判断Dh与Dt的使用情况具体为:若Dh未使用,且Dt未使用,写入到头部,无可读取数据;若Dh未使用,且Dt已使用,写入到头部,读取时从头到尾搜索第一块有效数据;若Dh已使用,且Dt未使用,从头部开始搜索空白区域写入,从头部开始读取有效数据;若Dh已使用,且Dt已使用,从头部开始搜索空白区域写入,读取时,判断第一数据块标志是否为有效,若标记为是,从尾到头搜索有效数据,若标记为否,从头到尾搜索有效数据。系统通过这样的查找方法能够实现FLASH存储器的合理且均匀的使用,防止部分块早衰。进一步优选地,所述的查找的过程中遇到坏块时,将整个区域重新写入为0。进一步优选地,所述的查找后,确定了写入点和读取点以后,将写入点和下次读取点保存到内存变量,当再次写入或读取时直接使用。此时下次写入或查找时直接使用并调整,避免再次的查找。一种先入先出的FLASH数据存储系统,包括:定义模块:所述的定义模块用于定义一种变长的数据块;查找模块:所述的查找模块用于查找空白区域,将数据块写入空白区域的最前端,并标记为有效;判断模块:所述的判断模块用于写入完成后读回检查是否写入成功;若不成功,将整块数据区重新写为0;若成功,将再录入数据顺延写入下一个空白区域。优选地,所述的定义模块用于定义一种变长的数据块,所述的数据块的组成为:一个指定内容的开头、中间包含数据块的总长度、数据块的有效标志、数据内容,以数据校验码结尾。优选地,所述的存储系统还包括数据的读取模块,所述的数据读取模块的读取过程包括:查找最先写入并标记为有效的数据块;将其标记为无效并校验是否修改成功;若未更改成功,将整块数据区重写为0;若标记成功,继续读取后面的有效数据。进一步优选地,所述的数据的系统还包括查找模块,所述的查找模块的查找过程具体为确定FLASH存储器当前的情况:读取存储器头部一部分数据,记为Dh;存储器末端向前读取一部分数据,记为Dt;判断Dh与Dt的使用情况。进一步优选地,所述的判断Dh与Dt的使用情况具体为:若Dh未使用,且Dt未使用,写入到头部,无可读取数据;若Dh未使用,且Dt已使用,写入到头部,读取时从头到尾搜索第一块有效数据;若Dh已使用,且Dt未使用,从头部开始搜索空白区域写入,从头部开始读取有效数据;若Dh已使用,且Dt已使用,从头部开始搜索空白区域写入,读取时,判断第一数据块标志是否为有效,若标记为是,从尾到头搜索有效数据,若标记为否,从头到尾搜索有效数据。通过上述的这种查找方法能够存储器各个块均匀的使用,从而防止存储器早衰。进一步优选地,所述的查找模块在查找的过程中遇到坏块时,将整个区域重新写入为0。进一步优选地,所述的查找后,确定了写入点和读取点以后,将下次写入点和下次读取点保存到内存变量,当再次写入或读取时直接使用。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,该程序指令适于由处理器加载并执行一种先入先出的FLASH数据存储方法。一种移动终端,包括处理器以及存储器,所述的处理器用于执行存储器中存储的程序,以实现一种先入先出的FLASH数据存储方法。与现有技术相比,本专利技术具有的有益效果为:通过本专利技术所述的方法能够很好的使FLASH存储器各个块均匀的使用,防止部分块早衰,同时防止管理部分的内容占用的空间比重过大,挤占了数据存储的空间。设备通过此算法能够使整个存储器的每一个块都均衡擦除使用,并且能有效跳过坏块,保证数据的安全性。附图说明下面结合附图和实施例对本专利技术进一步说明。图1是本专利技术所述的一种先入先出的FLASH数据存储方法的流程示意图;图2是本专利技术所述的一种先入先出的FLASH数据存储系统的结构图。具体实施方法现在结合附图对本专利技术作进一步详细的说明。这些附图均为简化的示意图,仅以示意方法说明本专利技术的基本流程图,因此其仅显示与本专利技术有关的流程。实施例1如图1所示,本专利技术是一种先入先出的FLASH数据存储方法,所述的方法具体为:S1.定义一种变长的数据块;S2.查找空白区域,将数据块写入空白区域的最前端,并标记为有效;S3.写入完成后读回检查是否写入成功;S4.若不成功,将整块数据区重新写为0;S5.若成功,将再录入数据顺延写入下一个空白区域。所述的数据的存储过程包括:步骤S1:本文档来自技高网...

【技术保护点】
1.一种先入先出的FLASH数据存储方法,其特征在于,包括:/n定义一种变长的数据块;/n查找空白区域,将数据块写入空白区域的最前端,并标记为有效;/n写入完成后读回检查是否写入成功;/n若不成功,将整块数据区重新写为0;/n若成功,将再录入数据顺延写入下一个空白区域。/n

【技术特征摘要】
1.一种先入先出的FLASH数据存储方法,其特征在于,包括:
定义一种变长的数据块;
查找空白区域,将数据块写入空白区域的最前端,并标记为有效;
写入完成后读回检查是否写入成功;
若不成功,将整块数据区重新写为0;
若成功,将再录入数据顺延写入下一个空白区域。


2.根据权利要求1所述的一种先入先出的FLASH数据存储方法,其特征在于,所述的数据块的组成为:一个指定内容的开头、中间包含数据块的总长度、数据块的有效标志、数据内容,以数据校验码结尾。


3.根据权利要求1所述的一种先入先出的FLASH数据存储方法,其特征在于,所述的数据存储方法还包括数据的读取过程,所述的数据读取过程包括:
查找最先写入并标记为有效的数据块;
将其标记为无效并校验是否修改成功;
若未更改成功,将整块数据区重写为0;
若标记成功,继续读取后面的有效数据。


4.根据权利要求3所述的一种先入先出的FLASH数据存储方法,其特征在于,所述的数据的写入与读取都包含查找的过程,所述的查找的过程具体为确定FLASH存储器当前的情况:
读取FLASH存储器头部一部分数据,记为Dh;存储器末端向前读取一部分数据,记为Dt;判断Dh与Dt的使用情况。


5.根据权利要求4所述的一种先入先出的FLASH数据存储方法,其特征在于,所述的判断Dh与Dt的使用情况具体为:
若Dh未使用,且Dt未使用,写入到头部,无可读取数据;
若Dh未使用,且Dt已...

【专利技术属性】
技术研发人员:王长喜陈列勇梁自平杨会岭集立业
申请(专利权)人:深圳市蓝度汽车电控技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1