一种flash存储器的数据存储方法

文档序号:6630490阅读:342来源:国知局
专利名称:一种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)重复步骤O) (3),直至写满第N-I个扇区,当向最后一个空扇区内写入数 据时,采用如下步骤①在最后一个空扇区的标识数据存储块内写入备份标识;②读取当前的最早写入扇区内的有效数据,并将该数据写入最后一个空扇区内;③擦除当前的最早写入扇区内的所有数据并在标识数据存储块内写入数据为空 标识;④将已存储数据的原最后一个空扇区的标识数据存储块内由备份标识变为数据 有效标识并继续向该扇区内写入数据;⑤当该扇区写满后,重复步骤① ④,不断更新各扇区内的数据,实现FLASH存储器的数据存储。而且,所述步骤(1)中的N个扇区为连续或者不连续的扇区。而且,所述标识数据存储块为每个扇区中的第一数据存储块或者最后一个数据存 储块。而且,所述步骤(1)中的扇区内的每个数据存储块的大小相同且除了标识数据存 储块以外的其它数据存储块均被划分为索引区和数据区,在每个数据存储块写入数据的方 法是将数据的索引号写入该数据存储块的索引区,将数据写入该数据存储块的数据区。而且,所述步骤的第②步中读取当前的最早写入扇区内的有效数据的方法 是读取该扇区内的所有数据,比较各数据的索引号,相同索引号的数据以最后一次写入的 数据为有效,其它丢弃,然后再将筛选后数据的索引号与其它扇区内的数据比较,以最后一 次写入的数据为有效,其它丢弃。本发明的优点和积极效果是本发明在多个扇区中顺序写入数据,修改数据时只是继续增加并自动识别相同索 引号的最后一次写入的数据为有效,其它无效,只有在剩余一个空扇区的时候才会擦出当 前的最早写入数据的扇区,可见数据存储时使用越多的扇区,对FLASH的擦写越少。在频繁 修改某几个数据时,只需要写入数据,不用重复的擦写某个扇区,大大降低了 FLASH的擦写 次数,提高了 FLASH的寿命。其中数据存储块的大小和扇区的个数可根据数据的大小和修 改频率来定义,也可把FLASH分为不同区域,每个区域采用不同的块大小和扇区个数来存 储数据,而且在操作FLASH的任一时刻,由于断电等情况导致的异常终止都不会丢失数据。
具体实施例方式下面结合实施例,对本发明进一步说明,下述实施例是说明性的,不是限定性的, 不能以下述实施例来限定本发明的保护范围。一种FLASH存储器的数据存储方法,包括以下步骤(1)在FLASH中分配N个扇区为存储扇区,将每个扇区等分为多个数据存储块,每 个扇区中的标识数据存储块中的内容均为数据为空标识;步骤(1)中的N个扇区可以是连续的,也可以是不连续的。当为不连续的扇区时, 可以根据扇区的起始地址以及偏移量来计算,通过常规的计算机算法即可实现每个扇区的 定位。步骤(1)中的扇区内的每个数据存储块的大小相同且除了标识数据存储块以外 的其它数据存储块均被划分为索引区和数据区,在每个数据存储块写入数据的方法是首 先将数据写入该数据存储块的数据区,再将数据的索引号写入该数据存储块的索引区。如 果写入索引号后芯片断电,数据还没写入,再上电后就不知道数据是不是真实的。而后写 入索引号的好处是写入数据时或写入数据后没写索引时芯片断电,索引号的所有位均为 “1” (即扇区被擦除时的默认值),表示这个数据存储块内的数据无效。(2)将需要写入数据的扇区的标识数据存储块的数据为空标识变为数据有效标 识,并顺序在其它每个数据存储块内写入数据;(3)写满一个扇区后,继续向下一个扇区写入数据;(4)重复步骤O) (3),直至写满第N-I个扇区,当向最后一个空扇区内写入数据时,采用如下步骤①在最后一个空扇区的标识数据存储块内写入备份标识;②读取当前的最早写入扇区内的有效数据,并将该数据写入最后一个空扇区内;③擦除当前的最早写入扇区内的所有数据并在标识数据存储块内写入数据为空 标识;④将已存储数据的原最后一个空扇区的标识数据存储块内由备份标识变为数据 有效标识并继续向该扇区内写入数据;⑤当该扇区写满后,重复步骤① ④,不断更新各扇区内的数据,实现FLASH存储 器的数据存储。步骤的第②步中读取当前的最早写入扇区内的有效数据的方法是读取该扇 区内的所有数据,比较各数据的索引号,相同索引号的数据以最后一次写入的数据为有效, 其它丢弃,然后再将筛选后数据的索引号与其它扇区内的数据比较,以最后一次写入的数 据为有效,其它丢弃。上述各步骤中的标识数据存储块为每个扇区中的第一数据存储块或者最后一个 数据存储块。应用实施例云台摄像机监控时,要记录用户设置的云台预置位,一般要存储1 个预置点(1 至1 ),存储时每个预置位存储为一块,预置位号作为索引号(两字节),数据区存储预置 位的数据,分别为水平位置(两字节),垂直位置(两字节),摄像机变倍(两字节),由此可 知每个扇区内的数据存储块的大小为八字节,所有扇区内的所有数据存储块中的索引号所 占字节以及数据所占字节均相同。其结构见表1:
权利要求
1.一种FLASH存储器的数据存储方法,其特征在于包括以下步骤(1)在FLASH中分配N个扇区为存储扇区,将每个扇区等分为多个数据存储块,每个扇 区中的标识数据存储块中的内容均为数据为空标识;(2)将需要写入数据的扇区的标识数据存储块的数据为空标识变为数据有效标识,并 顺序在其它每个数据存储块内写入数据;(3)写满一个扇区后,继续向下一个扇区写入数据;(4)重复步骤(2) (3),直至写满第N-I个扇区,当向最后一个空扇区内写入数据时, 采用如下步骤①在最后一个空扇区的标识数据存储块内写入备份标识;②读取当前的最早写入扇区内的有效数据,并将该数据写入最后一个空扇区内;③擦除当前的最早写入扇区内的所有数据并在标识数据存储块内写入数据为空标识;④将已存储数据的原最后一个空扇区的标识数据存储块内由备份标识变为数据有效 标识并继续向该扇区内写入数据;⑤当该扇区写满后,重复步骤① ④,不断更新各扇区内的数据,实现FLASH存储器的 数据存储。
2.根据权利要求1所述的一种FLASH存储器的数据存储方法,其特征在于所述步骤 (1)中的N个扇区为连续或者不连续的扇区。
3.根据权利要求1所述的一种FLASH存储器的数据存储方法,其特征在于所述标识 数据存储块为每个扇区中的第一数据存储块或者最后一个数据存储块。
4.根据权利要求1所述的一种FLASH存储器的数据存储方法,其特征在于所述步骤 (1)中的扇区内的每个数据存储块的大小相同且除了标识数据存储块以外的其它数据存储 块均被划分为索引区和数据区,在每个数据存储块写入数据的方法是将数据的索引号写 入该数据存储块的索引区,将数据写入该数据存储块的数据区。
5.根据权利要求1所述的一种FLASH存储器的数据存储方法,其特征在于所述步骤 (4)的第②步中读取当前的最早写入扇区内的有效数据的方法是读取该扇区内的所有数 据,比较各数据的索引号,相同索引号的数据以最后一次写入的数据为有效,其它丢弃,然 后再将筛选后数据的索引号与其它扇区内的数据比较,以最后一次写入的数据为有效,其 它丢弃。
全文摘要
本发明涉及一种FLASH存储器的数据存储方法,包括以下步骤(1)在FLASH中分配N个扇区为存储扇区,将每个扇区等分为多个数据存储块,在每个扇区中的标识数据存储块中写入数据为空标识;(2)将需要写入数据的扇区的标识数据存储块的数据为空标识变为数据有效标识,并顺序在其它每个数据存储块内写入数据;(3)写满一个扇区后,继续向下一个扇区写入数据;(4)重复步骤(2)~(3),直至写满第N-1个扇区。本发明在多个扇区中顺序写入数据,修改数据时只是继续增加并自动识别相同索引号的最后一次写入的数据为有效,其它无效,只有在剩余一个空扇区的时候才会擦出当前的最早写入数据的扇区,大大降低了FLASH的擦写次数,提高了FLASH的寿命。
文档编号G06F12/02GK102063379SQ20101060953
公开日2011年5月18日 申请日期2010年12月28日 优先权日2010年12月28日
发明者张鹏 申请人:天津市亚安科技电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1