Flash存储器的高效率存储方法

文档序号:6539217阅读:343来源:国知局
Flash存储器的高效率存储方法
【专利摘要】本发明Flash存储器的高效率存储方法,属于Flash存储器的数据存储方法的【技术领域】;解决的技术问题为:提供一种在数据量小和数据存储次数较频繁的情况下,能够使存储器的存储效率较高的Flash存储器的高效率存储方法;采用的技术方案为:Flash存储器的高效率存储方法,以块为单位将Flash存储器划分为不同的数据存储区域,再将每个数据存储区域均划分为多个缓冲块和多个数据块,其中,每个缓冲块又分为多个缓冲页,每个数据块又分为多个数据页,当接收到数据后,先将数据写入相应的数据存储区域中缓冲块的缓冲页中,当缓冲页写满后再将本页的数据存储至数据块的数据页中;适用于消防数据存储领域。
【专利说明】 Flash存储器的高效率存储方法
【技术领域】
[0001]本发明Flash存储器的高效率存储方法,属于Flash存储器的数据存储方法的【技术领域】。
【背景技术】
[0002]现今,Flash存储器作为主流存储器,无论是在民用、工业还是军工领域,都得到了大量的应用,目前Flash存储器进行数据存储的方式主要有两种,一种是数据以文件系统存储的方式,另一种是数据按物理块和页存储的方式,文件系统的存储是以簇为最小单位进行数据的存储,按物理块和页是以页为最小单位进行数据的存储;
在数据量较小和数据存储次数较频繁的情况下,每写一次数据(如几个字节),至少要占用一个簇(最小为4KB)或一页(最小为512个字节),使得Flash存储器的利用率大大减小,降低了 Flash存储器的存储效率和使用寿命;此外,Flash存储器按照传统的存储方法存储数据时,想将数据写入内存页,直到将一页内存页写满后,才会全部一起存储至存储记录器,如果发生意外断电的情况,那么最新的数据将不会被及时保存,造成数据缺失,尤其对于消防领域来说,消防数据的缺失将造成消防现场的无法还原,给企事业单位和警务部门带来极大的不便和损失。

【发明内容】

[0003]本发明克服现有技术存在的不足,所要解决的技术问题为:提供一种在数据量小和数据存储次数较频繁的情况下,能够使存储器的存储效率较高的Flash存储器的高效率存储方法。
[0004]为了解决上述技术问题,本发明采用的技术方案为=Flash存储器的高效率存储方法,以块为单位将Flash存储器划分为不同的数据存储区域,再将每个数据存储区域均划分为多个缓冲块和多个数据块,其中,每个缓冲块又分为多个缓冲页,每个数据块又分为多个数据页,当接收到数据后,先将数据写入相应的数据存储区域中缓冲块的缓冲页中,当缓冲页写满后再将本页的数据存储至数据块的数据页中,具体包括以下步骤:
(1.1)接收数据;
(1.2)将数据写入缓冲块的缓冲页;
(1.3)判断缓冲块的缓冲页是否写满;
(1.4)如已写满,则进入步骤(1.5),否则,进入步骤(1.8);
(1.5)将缓冲块的前一缓冲页数据追加新数据后存至数据块的数据页;
(1.6)擦除整个缓冲块的内容;
(1.7)缓冲块地址+1,缓冲页地址置0,数据页地址+1,然后返回步骤(1.1);
(1.8)将缓冲块的前一缓冲页数据追加新数据后存至当前缓冲页,缓冲页地址+1,最后返回步骤(1.1)。
[0005]步骤(1.8)中,将缓冲块的前一缓冲页数据追加新数据后存至当前缓冲页、缓冲页地址+1之后,先判断当前缓冲页是否是缓冲块的最后一页,若是,则备份最后一个缓冲页的内容,并且擦除整个缓冲块的内容,然后将备份数据保存至新的缓冲块的第一页,缓冲页地址置O,最后才返回步骤(1.1),否则,直接返回步骤(1.1)。步骤(1.7)中,缓冲块地址+1、缓冲页地址置O、数据页地址+1之后,先判断数据块的数据页是否写满,如已写满,则将数据块地址+1后才返回步骤(1.1),否则,直接返回步骤(1.1)。
[0006]本发明与现有技术相比具有以下有益效果:
本发明中的存储方法采用了对数据进行及时存储的方式,先以块为单位将存储器划分为不同的数据存储区域,不同的数据存储区域中存储不同类型的数据,再将各个数据存储区域中的块分为两种类型:数据块和缓冲块,又将各个块划分为页,即数据块包括多个数据页、缓冲块包括多个缓冲页,当接收到数据后,先将数据写入相应的数据存储区域中缓冲块的缓冲页,如果缓冲页内已经保存有数据、且该缓冲页未写满,则将最新的数据连同之前的数据一起写入一个新的缓冲页中,若该缓冲页已写满,则将最新的数据连同之前的数据一起保存至数据块的数据页中,这种情况下,Flash存储器的利用率和存储效率大大提高,即使意外断电,最新的不满一页的全部数据也可以在最新的页中找到,既保证了数据的完整性、安全性,也提高了存储器的使用寿命。
【专利附图】

【附图说明】
[0007]下面结合附图对本发明做进一步详细的说明。
[0008]图1为本发明的方法流程图。
【具体实施方式】
[0009]Flash存储器的高效率存储方法,以块为单位将Flash存储器划分为不同的数据存储区域,再将每个数据存储区域均划分为多个缓冲块和多个数据块,其中,每个缓冲块又分为多个缓冲页,每个数据块又分为多个数据页,当接收到数据后,先将数据写入相应的数据存储区域中缓冲块的缓冲页中,当缓冲页写满后再将本页的数据存储至数据块的数据页中,如图1所示,具体包括以下步骤:
(1.1)接收数据;
(1.2)将数据写入缓冲块的缓冲页;
(1.3)判断缓冲块的缓冲页是否写满;
(1.4)如已写满,则进入步骤(1.5),否则,进入步骤(1.8);
(1.5)将缓冲块的前一缓冲页数据追加新数据后存至数据块的数据页;
(1.6)擦除整个缓冲块的内容;
(1.7)缓冲块地址+1,缓冲页地址置0,数据页地址+1,判断数据块的数据页是否写满,如已写满,则将数据块地址+1后才返回步骤(1.1 ),否则,直接返回步骤(1.0 ;
(1.8)将缓冲块的前一缓冲页数据追加新数据后存至当前缓冲页,缓冲页地址+1,判断当前缓冲页是否是缓冲块的最后一页,若是,则备份最后一个缓冲页的内容,并且擦除整个缓冲块的内容,然后将备份数据保存至新的缓冲块的第一页,缓冲页地址置0,最后才返回步骤(1.1 ),否则,直接返回步骤(1.1)。
[0010]一个数据存储区域中,一个数据块的逻辑地址的前一逻辑地址和后一逻辑地址均为不同缓冲块的逻辑地址,一个缓冲块的逻辑地址的前一逻辑地址和后一逻辑地址均为不同数据块的逻辑地址,即每一数据块的逻辑地址和每一缓冲块的逻辑地址总是相邻的,假如当前存储区域的最后一块为数据块,那么当前存储区域的第一块为缓冲块,假如当前存储区域的第一块为数据块,那么当前存储区域的第二块为缓冲块。
[0011]一般地,存储模块的使用率(R)=有效的存储空间/实际的占用空间,当数据量较小和数据存储次数较频繁时,将传统的文件系统存储方式和本发明中存储方法的及时存储技术进行对比,以一页32KB为例,每次存储32个字节的信息,连续存储1500次,可以得到下列表1:
表1
【权利要求】
1.Flash存储器的高效率存储方法,其特征在于:以块为单位将Flash存储器划分为不同的数据存储区域,再将每个数据存储区域均划分为多个缓冲块和多个数据块,其中,每个缓冲块又分为多个缓冲页,每个数据块又分为多个数据页,当接收到数据后,先将数据写入相应的数据存储区域中缓冲块的缓冲页中,当缓冲页写满后再将本页的数据存储至数据块的数据页中,具体包括以下步骤: (1.1)接收数据; (1.2)将数据写入缓冲块的缓冲页; (1.3)判断缓冲块的缓冲页是否写满; (1.4)如已写满,则进入步骤(1.5),否则,进入步骤(1.8); (1.5)将缓冲块的前一缓冲页数据追加新数据后存至数据块的数据页; (1.6)擦除整个缓冲块的内容; (1.7)缓冲块地址+1,缓冲页地址置O,数据页地址+1,然后返回步骤(1.1); (1.8)将缓冲块的前一缓冲页数据追加新数据后存至当前缓冲页,缓冲页地址+1,最后返回步骤(1.1)。
2.根据权利要求1所述的Flash存储器的高效率存储方法,其特征在于:步骤(1.8)中,将缓冲块的前一缓冲页数据追加新数据后存至当前缓冲页、缓冲页地址+1之后,先判断当前缓冲页是否是缓冲块的最后一页,若是,则备份最后一个缓冲页的内容,并且擦除整个缓冲块的内容,然后将备份数据保存至新的缓冲块的第一页,缓冲页地址置O,最后才返回步骤(1.1),否则,直接返回步骤(1.1)。
3.根据权利要求1所述的Flash存储器的高效率存储方法,其特征在于:步骤(1.7)中,缓冲块地址+1、缓冲页地址置O、数据页地址+1之后,先判断数据块的数据页是否写满,如已写满,则将数据块地址+1后才返回步骤(1.1),否则,直接返回步骤(1.1)。
【文档编号】G06F12/08GK103823766SQ201410074366
【公开日】2014年5月28日 申请日期:2014年3月3日 优先权日:2014年3月3日
【发明者】毛应龙, 曹璟华, 徐衍胜, 张建中 申请人:山西科泰微技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1