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