[发明专利]一种FLASH存储器的数据存储方法有效
| 申请号: | 201010609536.5 | 申请日: | 2010-12-28 |
| 公开(公告)号: | CN102063379A | 公开(公告)日: | 2011-05-18 |
| 发明(设计)人: | 张鹏 | 申请(专利权)人: | 天津市亚安科技电子有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02 |
| 代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王来佳 |
| 地址: | 300384 天津*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 flash 存储器 数据 存储 方法 | ||
技术领域
本发明属于数据存储技术领域,尤其是一种FLASH存储器的数据存储方法。
背景技术
FLASH存储器(可编程只读存储器,以下简称FLASH)是Intel公司于1988年推出的一种新型半导体存储器,具有非挥发存储特性,简称闪存,该类只读存储器具有集成度高、读取速度快、单一供电、再编程次数多等显著优点,FLASH存储器作为非易失数据存储设备,被广泛地应用于嵌入式系统中。单片机片内的FLASH可以在线编程,也可以存储程序运行时的数据,但修改FLASH中的数据时需要先进行擦除,既修改一个字节的数据也要先擦除这个字节所在扇区的全部数据,然后再写入数据。传统的写入方法采用如下的过程:1.备份数据所在扇区中的所有数据;2.在备份数据中修改要改变的数据;3.擦除数据所在的FLASH实际扇区的所有数据;4.把修改后的备份数据写回刚擦除的FLASH扇区内。上述方法存在的不足是:1.每改动扇区中的一个字节都要擦除整个扇区的数据,2.某些数据需要频繁修改,该数据所在的扇区会被频繁擦除。由此可知传统的FLASH写入方法需要频繁擦除数据,但FLASH的擦除次数是有限的,使用传统方法进行数据的写入和修改会大大降低FLASH的使用寿命。
发明内容
本发明的目的在于克服现有技术的不足,提供一种科学合理、操作简便且能有效降低FLASH存储器擦写次数、提高FLASH存储器使用寿命的FLASH存储器的数据存储方法。
本发明采取的技术方案是:
一种FLASH存储器的数据存储方法,其特征在于:包括以下步骤:
(1)在FLASH中分配N个扇区为存储扇区,将每个扇区等分为多个数据存储块,每个扇区中的标识数据存储块中的内容均为数据为空标识;
(2)将需要写入数据的扇区的标识数据存储块的数据为空标识变为数据有效标识,并顺序在其它每个数据存储块内写入数据;
(3)写满一个扇区后,继续向下一个扇区写入数据;
(4)重复步骤(2)~(3),直至写满第N-1个扇区,当向最后一个空扇区内写入数据时,采用如下步骤:
①在最后一个空扇区的标识数据存储块内写入备份标识;
②读取当前的最早写入扇区内的有效数据,并将该数据写入最后一个空扇区内;
③擦除当前的最早写入扇区内的所有数据并在标识数据存储块内写入数据为空标识;
④将已存储数据的原最后一个空扇区的标识数据存储块内由备份标识变为数据有效标识并继续向该扇区内写入数据;
⑤当该扇区写满后,重复步骤①~④,不断更新各扇区内的数据,实现FLASH存储器的数据存储。
而且,所述步骤(1)中的N个扇区为连续或者不连续的扇区。
而且,所述标识数据存储块为每个扇区中的第一数据存储块或者最后一个数据存储块。
而且,所述步骤(1)中的扇区内的每个数据存储块的大小相同且除了标识数据存储块以外的其它数据存储块均被划分为索引区和数据区,在每个数据存储块写入数据的方法是:将数据的索引号写入该数据存储块的索引区,将数据写入该数据存储块的数据区。
而且,所述步骤(4)的第②步中读取当前的最早写入扇区内的有效数据的方法是:读取该扇区内的所有数据,比较各数据的索引号,相同索引号的数据以最后一次写入的数据为有效,其它丢弃,然后再将筛选后数据的索引号与其它扇区内的数据比较,以最后一次写入的数据为有效,其它丢弃。
本发明的优点和积极效果是:
本发明在多个扇区中顺序写入数据,修改数据时只是继续增加并自动识别相同索引号的最后一次写入的数据为有效,其它无效,只有在剩余一个空扇区的时候才会擦出当前的最早写入数据的扇区,可见数据存储时使用越多的扇区,对FLASH的擦写越少。在频繁修改某几个数据时,只需要写入数据,不用重复的擦写某个扇区,大大降低了FLASH的擦写次数,提高了FLASH的寿命。其中数据存储块的大小和扇区的个数可根据数据的大小和修改频率来定义,也可把FLASH分为不同区域,每个区域采用不同的块大小和扇区个数来存储数据,而且在操作FLASH的任一时刻,由于断电等情况导致的异常终止都不会丢失数据。
具体实施方式
下面结合实施例,对本发明进一步说明,下述实施例是说明性的,不是限定性的,不能以下述实施例来限定本发明的保护范围。
一种FLASH存储器的数据存储方法,包括以下步骤:
(1)在FLASH中分配N个扇区为存储扇区,将每个扇区等分为多个数据存储块,每个扇区中的标识数据存储块中的内容均为数据为空标识;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津市亚安科技电子有限公司,未经天津市亚安科技电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010609536.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:聚氨酯弹性体
- 下一篇:一种制备超细硼酸锌的方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





