本发明涉及flash,具体为一种提高flash使用寿命的数据存储方法。
背景技术:
1、flash的使用寿命与擦写次数相关。现有技术方案都是针对这一点去做处理,均衡各区域擦写次数,解决局部擦写率高的瓶颈。
2、例如中国专利专利号:cn115132260a公开的一种可提高flash存储单元使用寿命的数据存储及读取方法,该专利中提出均衡各存储单元的擦写次数,提高flash使用寿命。该设计将flash存储分为两个扇区来使用管理,不仅需要监测两个区域使用情况,而且影响读写速度。
3、再例如中国专利cn115390755a公开的一种提高flash使用寿命的实时数据循环读写方法,该专利中提出逻辑处理和跨页调控,实现高效读取写入,操作方便。该设计对应用不友好,软件程序编译地址不连续实现困难。虽然说不用文件系统管理,也需要存储各个页的使用标记,去统计管理,也需要实时连接上位机,一旦上位机断开数据丢失,系统就崩溃了。
4、综上所述,可以看出现有技术方案采用区域划分,对每个区域进行擦写次数统计,然后根据结果分析来进行分区域擦写。这种方式设计复杂,需要存储使用次数数据,还要去比较来找到哪个区域使用率低,然后再使用,读写速度也会被影响下降。
技术实现思路
1、针对现有技术的不足,本发明提供了一种提高flash使用寿命的数据存储方法,解决了现有技术的方案复杂,需要对flash各区域进行划分,擦写情况进行管理,影响读写速度,应用不友好等问题。
2、本发明的技术方案如下:一种提高flash使用寿命的数据存储方法,其特征在于,包括如下步骤:步骤1.通过上位机下载写入程序;步骤2.上位机回退程序流程步骤和步骤3.芯片工作流程步骤:
3、其中步骤1包括:
4、1.1计算得到当前写入程序的大小;
5、1.2读取信息域的次数映射值mm1,计算得到上次存储地址信息的地址ax;
6、1.3读取上次存储地址信息aax;
7、1.4从上次存储地址的位置开始烧写程序,直至完成;
8、1.5写入本次次数映射值mm2(mm2=mm1<<1),在a(x+1)地址上写入本次存储地址信息;
9、其中步骤2包括:
10、2.1读取信息域的次数映射值mm1,计算得到上次存储地址信息的地址ax;
11、2.2读取上次存储地址信息和上上次的存储地址信息;
12、2.3写入本次次数映射值mm2(mm2=mm1<<1),在a(x+1)地址上写入上上次的存储地址信息和上次的存储地址信息组合值;
13、其中步骤3包括:上电加载信息域的次数映射值mm1,计算得到上次存储地址信息的地址aax;
14、读取上次存储地址信息,存放入程序加载入口寄存器中;
15、上电完成后,执行程序(从程序加载入口寄存器的值开始)。
16、作为优选,对flash按地址进行循环读写,写满后一次性擦除的使用方法。
17、作为优选,不需要实时连接上位机,芯片可以独立工作。
18、作为优选,支持首次写入程序的首地址灵活选择,可以将芯片初始化程序或者固定数据放在低地址上,应用程序跳过此块区域,不需要每次重新烧写。
19、作为优选,在flash的备份域或者最后页存储记录管理信息。
20、作为优选,支持回退程序版本,不需要重新烧录,步骤简单。
21、作为优选,不影响程序加载运行速度。
22、作为优选,统一flash全片擦写次数,均衡flash各部分使用率,提高flash寿命。
23、本发明提供一种提高flash使用寿命的数据存储方法,可实现对flash按地址进行循环读写,写满后一次性擦除的使用方法,即将flash接近全部写满后再全片擦除使用,中途记录存储当次的首地址和下次存储的首地址。这种方法使flash各区域擦除次数一致,不需要记录次数。而且支持首次写入程序的首地址灵活选择,可以将芯片初始化程序或者固定数据放在低地址上,应用程序跳过此块区域,不需要每次重新烧写。
1.一种提高flash使用寿命的数据存储方法,其特征在于,包括如下步骤:步骤1.通过上位机下载写入程序;步骤2.上位机回退程序流程步骤和步骤3.芯片工作流程步骤:
2.如权利要求1所述的提高flash使用寿命的数据存储方法,其特征在于:对flash按地址进行循环读写,写满后一次性擦除的使用方法。
3.如权利要求1所述的提高flash使用寿命的数据存储方法,其特征在于:不需要实时连接上位机,芯片可以独立工作。
4.如权利要求1所述的提高flash使用寿命的数据存储方法,其特征在于:支持首次写入程序的首地址灵活选择,可以将芯片初始化程序或者固定数据放在低地址上,应用程序跳过此块区域,不需要每次重新烧写。
5.如权利要求1所述的提高flash使用寿命的数据存储方法,其特征在于:在flash的备份域或者最后页存储记录管理信息。
6.如权利要求1所述的提高flash使用寿命的数据存储方法,其特征在于:支持回退程序版本,不需要重新烧录,步骤简单。
7.如权利要求1所述的提高flash使用寿命的数据存储方法,其特征在于:不影响程序加载运行速度。
8.如权利要求1所述的提高flash使用寿命的数据存储方法,其特征在于:统一flash全片擦写次数,均衡flash各部分使用率,提高flash寿命。
