一种提高FLASH使用寿命的实时数据循环读写方法与流程

文档序号:32343189发布日期:2022-11-26 10:28阅读:60来源:国知局
一种提高flash使用寿命的实时数据循环读写方法
技术领域
1.本发明涉及物联网嵌入式系统技术领域,具体涉及一种提高flash使用寿命的实时数据循环读写方法。


背景技术:

2.物联网是计算机和互联网之后的第三次信息技术革命,受到了世界各国政府、企业和学术界的广泛关注。物联网是由各种传感器、数据和设备组成的网络。在嵌入式系统中,重要数据实时记录,设备断电时重要数据的记录等已经成为嵌入式系统开发的一个定向需求。
3.常见的现有对flash读写操作的方式有文件管理系统,对数据的存放是通过文件管理系统创建或删除文件。通过文件管理系统可管理全局flash的读写使用情况,进行写均衡,从而提高flash的使用寿命,但是对于小型嵌入式系统开发,搭建文件系统开销较大,对于需要实时记录的数据等此类操作不友好。
4.因此,提供一种无需搭建软件管理系统、操作简单,并针对实时数据记录进行了专属优化的提高flash使用寿命的实时数据循环读写方法,已是一个值得研究的问题。


技术实现要素:

5.本发明的目的是提供一种无需搭建软件管理系统、操作简单,并针对实时数据记录进行了专属优化的提高flash使用寿命的实时数据循环读写方法。
6.本发明的目的是这样实现的:一种提高flash使用寿命的实时数据循环读写方法,包括以下步骤:步骤1:在嵌入式系统初始化时,初始化需要的读接口、写接口和擦除接口,以提供基本的硬件操作能力;步骤2:步骤1中的嵌入式系统初始化的读接口、写接口和擦除接口准备好之后,调用读取方法,并将当前位置保存为全局变量,以恢复当前数据,更新最新的可写入位置,为下一步写入数据做准备,保存当前位置以使在下次写入时快速写入;步骤3:在系统循环处理中,根据逻辑需要和业务需要,进行基于flash页操作的数据写入和基于flash页操作的数据读取操作。
7.所述步骤3中flash页总数的计算公式如下:式中:a为单次数据写入大小,b为数据记录周期,c为flash页大小,d为使用年限为,e为flash写寿命,f为设计冗余,y为页总数。
8.所述步骤3中,基于flash页操作的数据写入的具体过程如下:步骤3.1先写入当前数据,再写入写标记,以使在数据读取时,区分有效数据和无效数据;先写入数据,防止在写入时,发生意外,导致写标记不成功,导致数据失效;步骤3.2.数据写入后,更新下一个可写入位置,下一个写入位置满足单次写入数据长度,若当前页剩余字节不足以满足下一次单
次写入,跳过剩余字节,下一个可写位置设置为下一页的首地址;步骤3.3.更新当前可写位置后,若当前可写位置为页首地址,则进行下一页的清空操作;此处强制清空擦除, flash只有清空擦除后才能写入数据;步骤3.4.清空擦除默认全写入ff,即空白页全是ff;判定空白页的方法是检查此页的第一个写标记是否为ff,若为ff,则说明是空白页。
9.所述步骤3中,基于flash页操作的数据读取的具体过程如下:3.5在系统上电启动时,需要读取一次当前数据,以更新当前数据可写入位置;若未指定读取位置,将从第一页的第一个写标记开始跨页查找空白页,第一个空白页的前一页即为当前数据的记录位置,通过单次写入数据大小和写标记进行组合查找,找到最后一个写标记的数据即为最后一次记录的数据,读取此处数据,并计算更新下一个可写入位置;步骤3.6若首页即为空白页,说明有效数据在最后一页,若首页和最后一页皆为空白页,说明此时整块区域未曾记录过任何数据,进行首页和第二页的清空擦除操作。
10.积极有益效果:本发明可以在指定页区域进行特殊的数据处理,数据分区明确,方便控制管理,可根据相关写标记快速分析flash芯片内部数据,无文件系统,操作方式简化为一个读函数和一个写函数,操作方便。
具体实施方式
11.以下结合实施例对本发明作进一步说明。
12.一种提高flash使用寿命的实时数据循环读写方法,包括以下步骤:步骤1:在嵌入式系统初始化时,初始化需要的读接口、写接口和擦除接口,以提供基本的硬件操作能力;步骤2:步骤1中的嵌入式系统初始化的读接口、写接口和擦除接口准备好之后,调用读取方法,并将当前位置保存为全局变量,以恢复当前数据,更新最新的可写入位置,为下一步写入数据做准备,保存当前位置以使在下次写入时快速写入。
13.步骤3:在系统循环处理中,根据逻辑需要和业务需要,进行基于flash页操作的数据写入和基于flash页操作的数据读取操作。
14.flash页总数的计算公式如下:式中:a为单次数据写入大小,b为数据记录周期,c为flash页大小,d为使用年限为,e为flash写寿命,f为设计冗余,y为页总数。
15.所述步骤3中,基于flash页操作的数据写入的具体过程如下:步骤3.1先写入当前数据,再写入写标记,以使在数据读取时,区分有效数据和无效数据;先写入数据,防止在写入时,发生意外,导致写标记不成功,导致数据失效;步骤3.2.数据写入后,更新下一个可写入位置,下一个写入位置满足单次写入数据长度,若当前页剩余字节不足以满足下一次单次写入,跳过剩余字节,下一个可写位置设置为下一页的首地址;步骤3.3.更新当前可写位置后,若当前可写位置为页首地址,则进行下一页的清空操作;此处强制清空擦除, flash只有清空擦除后才能写入数据;步骤3.4.清空擦除默认全写入ff,即空白页全是ff;判定空白页的方法是检查此页的第一个写标记是否为ff,若为ff,则说明是空白页,采用循环基于flash页操作的数据写入方式,在保证数据读写的基础功能上,提升了整体使用寿命。
16.所述步骤3中,基于flash页操作的数据读取的具体过程如下:3.5在系统上电启动
时,需要读取一次当前数据,以更新当前数据可写入位置;若未指定读取位置,将从第一页的第一个写标记开始跨页查找空白页,第一个空白页的前一页即为当前数据的记录位置,通过单次写入数据大小和写标记进行组合查找,找到最后一个写标记的数据即为最后一次记录的数据,读取此处数据,并计算更新下一个可写入位置;步骤3.6若首页即为空白页,说明有效数据在最后一页,若首页和最后一页皆为空白页,说明此时整块区域未曾记录过任何数据,进行首页和第二页的清空擦除操作。
17.本发明已经应用于申请人单位的智能终端部分产品,通过对接读写接口,设置全局变量。与传统读写方式进行对比,经过测试,数据读取速度满足现阶段使用需求,数据写入速度满足需求,经过多次断电测试,断电后重新上电满足数据正常读取需求。经过极限flash读写测试,目前已经满足实际使用年限需求。
18.本发明可以在指定页区域进行特殊的数据处理,数据分区明确,方便控制管理,可根据相关写标记快速分析flash芯片内部数据,无文件系统,操作方式简化为一个读函数和一个写函数,操作方便。


技术特征:
1.一种提高flash使用寿命的实时数据循环读写方法,其特征在于:包括以下步骤:步骤1:在嵌入式系统初始化时,初始化需要的读接口、写接口和擦除接口,以提供基本的硬件操作能力;步骤2:步骤1中的嵌入式系统初始化的读接口、写接口和擦除接口准备好之后,调用读取方法,并将当前位置保存为全局变量,以恢复当前数据,更新最新的可写入位置,为下一步写入数据做准备,保存当前位置以使在下次写入时快速写入;步骤3:在系统循环处理中,根据逻辑需要和业务需要,进行基于flash页操作的数据写入和基于flash页操作的数据读取操作。2.根据权利要求1所述的提高flash使用寿命的实时数据循环读写方法,其特征在于:所述步骤3中flash页总数的计算公式如下:式中:a为单次数据写入大小,b为数据记录周期,c为flash页大小,d为使用年限为,e为flash写寿命,f为设计冗余,y为页总数。3.根据权利要求1所述的提高flash使用寿命的实时数据循环读写方法,其特征在于:所述步骤3中,基于flash页操作的数据写入的具体过程如下:步骤3.1先写入当前数据,再写入写标记,以使在数据读取时,区分有效数据和无效数据;先写入数据,防止在写入时,发生意外,导致写标记不成功,导致数据失效;步骤3.2.数据写入后,更新下一个可写入位置,下一个写入位置满足单次写入数据长度,若当前页剩余字节不足以满足下一次单次写入,跳过剩余字节,下一个可写位置设置为下一页的首地址;步骤3.3.更新当前可写位置后,若当前可写位置为页首地址,则进行下一页的清空操作;此处强制清空擦除, flash只有清空擦除后才能写入数据;步骤3.4.清空擦除默认全写入ff,即空白页全是ff;判定空白页的方法是检查此页的第一个写标记是否为ff,若为ff,则说明是空白页。4.根据权利要求1所述的提高flash使用寿命的实时数据循环读写方法,其特征在于:所述步骤3中,基于flash页操作的数据读取的具体过程如下:3.5在系统上电启动时,需要读取一次当前数据,以更新当前数据可写入位置;若未指定读取位置,将从第一页的第一个写标记开始跨页查找空白页,第一个空白页的前一页即为当前数据的记录位置,通过单次写入数据大小和写标记进行组合查找,找到最后一个写标记的数据即为最后一次记录的数据,读取此处数据,并计算更新下一个可写入位置;步骤3.6若首页即为空白页,说明有效数据在最后一页,若首页和最后一页皆为空白页,说明此时整块区域未曾记录过任何数据,进行首页和第二页的清空擦除操作。

技术总结
本发明公开了一种提高FLASH使用寿命的实时数据循环读写方法,可应用于嵌入式系统对产品数据的实时记录,且无需搭建文件管理系统,通过对FLASH页使用情况进行标记,可高效进行数据读取。数据写入时,通过对数据当前可写入位置进行记录,能实现高效写入,本方法通过高效的逻辑处理和跨页调控,从逻辑处理上就兼顾了读取效率和写入效率,以指定页区域进行特殊的数据处理,数据分区明确,方便控制管理,根据相关写标记快速分析FLASH芯片内部数据,无文件系统,操作方式简化为一个读函数和一个写函数,操作方便。操作方便。


技术研发人员:任玉帅 李飞 姚欣
受保护的技术使用者:河南嘉晨智能控制股份有限公司
技术研发日:2022.08.19
技术公布日:2022/11/25
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1