[发明专利]一种Flash的数据写入和读取方法有效
申请号: | 201410024168.6 | 申请日: | 2014-01-20 |
公开(公告)号: | CN103729303B | 公开(公告)日: | 2017-03-29 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flash 数据 写入 读取 方法 | ||
技术领域
本发明涉及存储器领域,尤其涉及一种Flash的数据写入和读取方法。
背景技术
Flash是存储芯片的一种,Flash存储器又称闪存,它结合了ROM(只读存储器)和RAM(随机存储器)的长处,不仅具备电子可擦除可编程的性能,还可以快速读取数据,使数据不会因为断电而丢失。
发明人在实现本发明的过程中发现,基于Flash只能以块为单位或者对整片执行擦除操作的特性,现有技术中至少存在以下不足:有很多Flash芯片的页面非常大,但是应用中每次需要更新的内容却比较少,根据目前通用的方法,每次即使是更新几个字节的数据,也要重新查找空闲物理页面,然后将原始页面的内容在RAM中更新后写入新的物理页面,采用这种方法进行数据更新,效率低,且会缩短Flash的寿命;
针对上述问题的一种解决方式是将物理页面划分为有效数据区和日志区,有效数据区用于存储数据,当需要更新有效数据区中的数据时,不进行擦除操作,而是生成一条包含更新数据的更新日志写入日志区;这种方法的缺点在于会降低读取效率和空间利用率。
发明内容
本发明的目的是为了克服现有技术的缺陷,提出一种Flash的数据写入和读取方法。
本发明方法是通过下述技术方案实现的:
一方面,本发明提供了一种Flash的数据写入方法,其基本实施过程如下:
S10:根据写入地址计算得到本次写入数据的逻辑页号和本次写入数据的页内偏移地址,根据逻辑页号和物理页号对应关系查找与所述本次写入数据的逻辑页号对应的物理页面;
S20:判断所述物理页面的数据区和索引区的剩余空间是否均充足,是则将本次写入数据顺序存储到所述物理页面的数据区,并根据所述本次写入数据的页内偏移地址、本次写入数据的长度和本次写入数据的存储地址生成一条索引日志,将生成的索引日志顺序写入所述物理页面的索引区,结束,否则执行S30;
S30:查找空闲页面,执行S40;
S40:读取所述物理页面的数据区中存储的数据,根据所述物理页面的索引区中的索引日志和本次写入数据对读取到的数据进行组织,得到所述物理页面的数据区中的有效数据,将所述有效数据顺序写入所述空闲页面的数据区,并根据所述有效数据生成索引日志,将生成的索引日志顺序写入所述空闲页面的索引区,执行S50;
S50:更新所述逻辑页号和物理页号对应关系;
具体地,所述根据逻辑页号和物理页号对应关系查找与所述本次写入数据的逻辑页号对应的物理页面具体包括:查询逻辑页号物理页号映射表,得到与本次写入数据的逻辑页号对应的物理页号,在Flash中查找物理页号为所述物理页号的物理页面;
所述更新所述逻辑页号和物理页号对应关系具体包括:将所述逻辑页号物理页号映射表中与所述本次写入数据的逻辑页号对应的物理页号更新为所述空闲页面的物理页号;
所述判断所述物理页面的数据区的剩余空间是否充足具体包括:
步骤A1:根据所述物理页面的索引区中的最后一条索引日志计算本次写入数据的存储地址;
步骤A2:计算本次写入数据的存储地址加上本次写入数据的长度,判断计算结果是否大于所述物理页面的数据区的最大页内偏移地址,是则所述物理页面的数据区的剩余空间不充足,否则所述物理页面的数据区的剩余空间充足;
所述步骤A1具体包括:查找所述物理页面的索引区中的最后一条索引日志,获取所述最后一条索引日志中的写入数据的存储地址和写入数据的长度,计算获取到的写入数据的存储地址和写入数据的长度的和,得到本次写入数据的存储地址;
所述判断所述物理页面的索引区的剩余空间是否充足具体包括:
步骤B1:计算所述物理页面的索引区的剩余空间;
步骤B2:判断所述物理页面索引区的剩余空间是否大于一条索引日志的长度,是则所述物理页面的索引区的剩余空间充足,否则所述物理页面的索引区的剩余空间不充足;
所述步骤B1具体包括:查找所述物理页面的索引区中的最后一条索引日志,根据所述最后一条索引日志结尾处在所述物理页面中的偏移地址得到所述物理页面的索引区已使用的字节数,计算所述物理页面的索引区的大小减去所述物理页面的索引区已使用的字节数,得到所述物理页面的索引区的剩余空间;
所述S40具体包括:
步骤C1:初始化大小等于所述物理页面的数据区大小的内存空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410024168.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种矿物分析用电子探针样本夹持装置
- 下一篇:一种凝胶成像仪
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置