[发明专利]一种基于大页面Flash的数据更新和读取方法有效
申请号: | 201310721756.0 | 申请日: | 2013-12-24 |
公开(公告)号: | CN103645993A | 公开(公告)日: | 2014-03-19 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 页面 flash 数据 新和 读取 方法 | ||
技术领域
本发明涉及存储器领域,尤其涉及一种基于大页面Flash的数据更新和读取方法。
背景技术
Flash是存储芯片的一种,Flash存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程的性能,还可以快速读取数据,使数据不会因为断电而丢失。
发明人在实现本发明的过程中发现,现有技术中至少存在以下不足:有很多Flash芯片的页面非常大,例如2KB/4KB,但是应用中每次需要更新的内容却比较少,根据目前通用的方法,每次即使是更新几个字节的数据,也要重新查找空闲页面,然后将原始页面的内容在RAM中更新后写入新的Flash页面,采用这种方法进行数据更新,效率低,且会缩短Flash的寿命。
发明内容
本发明的目的是为了克服现有技术的缺陷,提出一种基于大页面Flash的数据更新和读取方法。
本发明方法是通过下述技术方案实现的:
一方面,本发明提供了一种基于大页面Flash的数据更新方法,其基本实施过程如下:
一种基于大页面Flash的数据更新方法,包括:根据写入地址得到物理页号和第一页内偏移地址,向大页面Flash中写入待写入数据;其特征在于,所述大页面Flash的每个Flash页面被划分为有效数据区和日志区,所述向所述大页面Flash中写入所述待写入数据具体包括:
步骤S1:判断与所述物理页号对应的Flash页面是否为空闲页,是则将所述待写入数据写入到所述Flash页面的有效数据区,结束;否则执行步骤S2;
步骤S2:按照预设格式根据所述待写入数据、所述待写入数据的长度和所述第一页内偏移地址生成日志记录;
步骤S3:计算所述Flash页面的日志区的剩余空间的大小,判断所述Flash页面的日志区的剩余空间是否大于所述日志记录的长度,是则将所述生成的日志记录写入到所述Flash页面的日志区,结束;否则执行步骤S4;
步骤S4:在所述大页面Flash中查找新的空闲页,根据所述Flash页面的日志区中的日志记录、所述生成的日志记录和有效数据区中的有效数据重新组织数据,将组织得到的数据写入所述新的空闲页的有效数据区,结束。
具体地,所述判断与所述物理页号对应的Flash页面是否为空闲页具体包括:检索所述Flash页面的日志区,判断所述Flash页面的日志区中的非空闲标志是否置位,是则所述Flash页面不是空闲页,否则所述Flash页面是空闲页;相应地,所述将组织得到的数据写入所述新的空闲页的有效数据区之后还包括:置位所述新的空闲页的日志区中的非空闲标志;进一步地,所述判断与所述物理页号对应的Flash页面是否为空闲页之前包括:设置各Flash页面的日志区的前两个字节为非空闲标志,当各Flash页面的前两个字节为0x5AA5时所述非空闲标志置位,当各Flash页面的前两个字节不为0x5AA5时所述非空闲标志复位;相应地,所述置位所述新的空闲页日志区中的非空闲标志:将所述新的空闲页日志区的前两个字节修改为0x5AA5;
或者,所述判断与所述物理页号对应的Flash页面是否为空闲页具体包括:读取所述Flash页面从起始地址开始的预设个字节的数据,判断读取到的各个字节是否均为0xFF,是则所述Flash页面是空闲页,否则所述Flash页面不是空闲页;
或者,所述判断所述物理页号对应的Flash页面是否为空闲页具体包括:读取所述Flash页面从第一页内偏移地址开始的预设个字节的数据,判断读取到的各个字节是否均为0xFF,是则所述Flash页面是空闲页,否则所述Flash页面不是空闲页;
所述步骤S1与步骤S2之间还包括:判断所述Flash页面的日志区是否写满,是则执行步骤S4,否则执行步骤S2;
所述判断所述Flash页面的日志区是否写满具体包括:计算所述Flash页面的日志区中已使用的字节数,判断所述日志区已使用的字节数是否等于所述Flash页面的日志区的大小,是则所述Flash页面的日志区写满;否则所述Flash页面的日志区未写满;其中,所述计算所述Flash页面的日志区中已使用的字节数具体包括:遍历所述Flash页面的日志区,记录所述Flash页面的日志区中各日志记录的长度,当查找到连续的至少两个字节的0xFF时,计算各日志记录的长度和,得到所述日志区中已使用的字节数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310721756.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置