[发明专利]一种基于单片机的闪存数据交换方法及终端有效
| 申请号: | 202210097573.5 | 申请日: | 2022-01-27 |
| 公开(公告)号: | CN114610230B | 公开(公告)日: | 2023-02-07 |
| 发明(设计)人: | 石正平;林锐 | 申请(专利权)人: | 福建时代星云科技有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 林振杰 |
| 地址: | 350000 福建*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 单片机 闪存 数据 交换 方法 终端 | ||
本发明公开了一种基于单片机的闪存数据交换方法及终端,在闪存中设置数据扇区、临时缓存空间和交换扇区,其中数据扇区与交换扇区的扇区大小相同,临时缓存空间的大小小于内存页的大小,因此减少缓存空间即减少更新闪存扇区时的内存占用。在数据交换时,先擦除交换扇区,将数据扇区中的数据通过临时缓存空间写入交换扇区;再擦除数据扇区,将交换扇区中的数据在临时缓存空间更新后再写回数据扇区。因此在临时缓存空间进行数据更新,不需要每次更新都擦除整个扇区的内容,减少闪存磨损程度。
技术领域
本发明涉及嵌入式技术领域,特别涉及一种基于单片机的闪存数据交换方法及终端。
背景技术
Flash是一种非易失性(Non-Volatile)内存,它能在没有供电的条件下也能够长久地保持数据,其存储特性相当于硬盘。
目前Flash常见的是最小以扇区为单位执行擦除的,即如果只想更新Flash中某个字节的数据,就只能将该字节所在Flash扇区全部擦除后,再更新数据并重新写入其余数据。
但是每个Flash扇区的擦除次数有限,一般是在1万次到100万次之间,当前市面上Flash一般为10万次,只要扇区的擦除次数达到了上限,将会造成存储数据的丢失、无法写入的等问题。并且在嵌入式设备中,Flash通常用于存放程序代码、常量表以及一些在系统掉电后需要保存的用户数据等。
以常见的外部Flash芯片W25Q128BV为例,它由65536可编程的页组成,每页256个字节。在擦除时,最少一次性擦除一个扇区(即16页,256*16=4KB),哪怕只需要更新一个字节数据,也需要将更新地址对应的扇区整个擦除。为了避免其他不更改数据的丢失,需要将当前扇区的其他数据先读出来保存,然后更新数据后,再次写入扇区中。而这个时候单片机就至少需要申请4096字节缓存用于存储这些数据,当使用RAM空间资源紧张的单片机时是无法接受的,例如本身只有4KByteRAM的单片机。通常面对这种情况,只能选用单个扇区大小更小的Flash(比如512字节)或者选择价格贵的EEPROM,再或者甚至改用RAM资源丰富的单片机。
发明内容
本发明所要解决的技术问题是:提供一种基于单片机的闪存数据交换方法及终端,能够减少更新闪存扇区时的内存占用并减少闪存磨损程度。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于单片机的闪存数据交换方法,包括步骤:
在闪存中设置数据扇区、临时缓存空间和交换扇区,所述数据扇区的大小与所述交换扇区的大小相同,所述临时缓存空间的大小小于内存页的大小;
擦除所述交换扇区,将所述数据扇区中的数据通过所述临时缓存空间写入所述交换扇区中;
擦除所述数据扇区,将所述交换扇区中的数据通过所述临时缓存空间写回所述数据扇区中,并在所述临时缓存空间中进行数据更新。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种基于单片机的闪存数据交换终端,包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在闪存中设置数据扇区、临时缓存空间和交换扇区,所述数据扇区的大小与所述交换扇区的大小相同,所述临时缓存空间的大小小于内存页的大小;
擦除所述交换扇区,将所述数据扇区中的数据通过所述临时缓存空间写入所述交换扇区中;
擦除所述数据扇区,将所述交换扇区中的数据通过所述临时缓存空间写回所述数据扇区中,并在所述临时缓存空间中进行数据更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建时代星云科技有限公司,未经福建时代星云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210097573.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





