一种应用于flash磨损均衡与掉电保存的读写方法与流程

文档序号:34559733发布日期:2023-06-28 09:44阅读:26来源:国知局
一种应用于flash磨损均衡与掉电保存的读写方法与流程

本发明属于读写方法,特别涉及一种应用于flash磨损均衡与掉电保存的读写方法。


背景技术:

1、在一些嵌入式产品中,经常需要频繁对运行参数或配置参数进行存储与读取,但通常flash的读写次数仅为10万次,这对于产品运行寿命来说是一个很大的瓶颈;

2、传统的嵌入式产品中,对参数存储时,一般不同的参数是定义不同的基地址,在该地址进行存取操作,在存储时需要对该flash块进行擦除后再写入,但一般的flash寿命仅为10万次,假如每分钟需要对该参数进行读写,那么单块的flash可工作的时间为100000/(60*24)=69天;

3、一般的读写均衡算法为,对每一块的读写次数进行存储,达到一定次数时(例如设置为9万次),切换到下一块,如图2所示。但该传统方式的弊端在于,不同颗粒间的寿命可能不一致,因而导致该数据的丢失;当该存储值小于块的大小时,浪费存储空间;写入过程如果因外因断电,也会造成数据丢失,因此急需研发一种磨损均衡、能够大幅度的提高使用寿命、断电保存的应用于flash磨损均衡与掉电保存的读写方法。


技术实现思路

1、(一)要解决的技术问题

2、为了克服上述传统方式的存在着不同颗粒间的寿命可能不一致,因而导致该数据的丢失;当该存储值小于块的大小时,浪费存储空间;写入过程如果因外因断电,也会造成数据丢失的缺陷,本发明提供一种磨损均衡、能够大幅度的提高使用寿命、断电保存的应用于flash磨损均衡与掉电保存的读写方法。

3、(二)技术方案

4、本发明通过如下技术方案实现:本发明提出了一种应用于flash磨损均衡与掉电保存的读写方法,所述读写方法具体步骤如下:

5、1)开始,从存储地址开始读取5个字节数,前后加上特定的帧头($)、帧尾(*)以及异或校验;

6、2)判断5字节是否全为oxff;

7、若不是全为oxff,包括以下步骤:

8、重新读地址一次,判断地址是否超出设置值,若是超出设置值,擦除该块数据,接着更新参数,判断地址a往后储存是否不超过设置的地址范围,若是超过,在地址a处写入新参数,直至结束,若不是超过,擦除该块数据,在起始地址写入,直至结束;若不是超出设置值,返回步骤1)重新开始;

9、若是全为oxff,包括以下步骤:

10、直接获取第一个oxff的地址a,判断地址a是否不为块起始地址;若是地址a为块起始地址,往后读取一组数据,即往后退存储参数的个数,直接判断是匹配帧结构以及校验,如果不匹配,便往下继续遍历,即读取地址继续往后,在判断地址a是否超出设置值,若不是超出设置,返回,重复上述往后读取一组数据,及其后续步骤;若是超出设置,擦除该块数据,接着更新参数,重复上述判断地址a往后储存是否不超过设置的地址范围及其后续步骤;

11、若是地址a不是块起始地址,直接更新参数,重复上述判断地址a往后储存是否不超过设置的地址范围及其后续步骤;

12、其中,设置值为系统设置的存储单元地址。

13、(三)有益效果

14、本发明相对于现有技术,具有以下有益效果:

15、本发明达到能够最大化的使用flash的块单元,仅在整个块写满后才擦除,达到磨损均衡的效果;即使在写入过程中外部断电,也仅仅丢失当前一次的写入结果,之前的结果仍然保留,达到断电保存的效果;且在系统设置的存储单元大小一定时,能够大幅度的提高使用寿命。



技术特征:

1.一种应用于flash磨损均衡与掉电保存的读写方法,其特征在于:所述读写方法具体步骤如下:


技术总结
本发明属于读写方法技术领域,特别涉及一种应用于flash磨损均衡与掉电保存的读写方法,所述读写方法包括有将需要存储的数据,前后加上特定的帧头($)、帧尾(*)以及异或校验,在存储时,先遍历系统设置存储单元,找到值全为0xff的起始地址,从该地址开始写入,如果该地址超过系统设置的存储单元地址,那么擦除整个块,再从头写入等。本发明达到能够最大化的使用flash的块单元,仅在整个块写满后才擦除,达到磨损均衡的效果;即使在写入过程中外部断电,也仅仅丢失当前一次的写入结果,之前的结果仍然保留,达到断电保存的效果;且在系统设置的存储单元大小一定时,能够大幅度的提高使用寿命。

技术研发人员:张勇鹏,杨华炜,林仁杰
受保护的技术使用者:福建福大北斗通信科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1