专利名称:基于优先级的文件信息存储方法、装置及系统的制作方法
技术领域:
本发明涉及信息存储技术,尤其涉及基于优先级的文件信息存储方法、装置及系统。
背景技术:
对于大多数的嵌入式系统应用场合,信息的保存通常有以下三种方式第一,保存在EEPR0M。其优点在于成本低、使用方式简单;其缺点是可以保存的信息少,通常只有128 个字节,对于一些相对比较复杂的嵌入式应用来说显然不够,另外,它的是读写速度慢。第二,保存在SPI Flash。其优点在于成本低,可保存的信息比EEPROM要大,通常都有2M字节以上;其缺点是读写速度虽然说比EEPROM要快,但还是满足不了一些对实时性要求高的应用。第三,保存在Nor Flash或Nand Flash。其优点在于可保存的信息量大,读写速度快,随着技术发展,成本也越来越低;其缺点是使用方式比前面两种要复杂,随着应用越来越广泛以及各种方案商的支持,工程师对这个方式已经轻车熟路了。平衡各种因素,目前越来越多的嵌入式应用都采用了第三种方式。在第三种方式中,又有以下几种具体使用方式一、数据存储、读写都是通过直接读写Flash来实现,优点是不经过操作系统层的中间件,读写速度快;缺点是Flash读写过程以及信息结构组织、转换都要自己来实现,需深入理解Flash 的操作原理、模式等,实现困难,可靠性也很难保证,在不要重复造轮子的今天,这种方式越来越不可取。二、通过操作系统层提供的文件系统层来实现,优点是操作简单,所有数据保存和读取都是通过对文件的读写来完成;缺点是由于经过了操作系统层,效率有所降低。综合以上因素,大多数的应用选择了存储介质是Flash,基于操作系统层提供的文件读写接口方式。在此方式下,有个问题需解决虽然操作系统层使用了一系列复杂的均衡算法,避免某一块擦写次数过多。但Flash擦写次数是有限的,如果过于频繁擦写,超出了 Flash可擦写次数,必定会引起Flash有坏块的存在,影响信息保存的完整性和可靠性。
发明内容
为了解决上述技术问题,本发明提供了基于优先级的文件信息存储方法、装置及系统,能够协调存储器之间的读入擦写次数,保护存储器。本发明提供了一种基于优先级的文件信息存储方法,包括
将需要存入第一存储器的信息分配预设数个优先等级以及各个优先等级所需等待的预设数时间;
将信息缓存到第二存储器,根据所需等待的预设数时间,再将所述第二存储器的信息存储入所述第一存储器。相应地,本发明还提供了一种基于优先级的文件信息存储装置,包括
优先级分配单元,用于将需要存入第一存储器的信息分配预设数个优先等级; 与所述优先级分配单元相连的时间等待单元,用于分配各个优先等级所需等待的预设数时间;与所述第二存储器相连的第一存储单元,用于将信息缓存到第二存储器; 连接在所述第一存储器和第二存储器之间的第二存储单元,所述第二存储单元还与所述时间等待单元相连,用于根据所需等待的预设数时间,再将所述第二存储器的信息存储入所述第一存储器。相应地,本发明还提供了一种文件信息存储系统,包括硬件管理系统,以及与所述硬件管理系统相连的操作系统,其中
所述操作系统包括如前项所述的基于优先级的文件信息存储装置,用于根据信息的优先等级通过所述硬件管理系统提供的接口,调度存储器对所述文件信息进行存储,该存储器主要包括闪速存储器和内存。实施本发明,具有如下有益效果
随着可擦式存储器的成本越来越低,容量越来越大,同时还有好的兼容性,越来越多的产品选择了可擦式存储器用作存储介质。所述可擦式存储器主要包括Flash存储器。但是,Flash擦除次数是有限的,通常在Flash的数据手册有清晰的描述该产品可擦除次数。 使用本发明,能够协调存储器之间的读入擦写次数,保护存储器,相对延长存储器(特别是 Flash)的使用寿命。
图1是本发明一种基于优先级的文件信息存储方法的流程图; 图2是本发明一种基于优先级的文件信息存储方法的实施例流程图3是本发明一种基于优先级的文件信息存储方法的实施例第一示意图; 图4是本发明一种基于优先级的文件信息存储方法的实施例第二示意图; 图5是本发明一种基于优先级的文件信息存储方法的实施例第三示意图; 图6是本发明一种基于优先级的文件信息存储装置的示意图; 图7是本发明一种基于优先级的文件信息存储装置的实施例示意图; 图8是本发明一种文件信息存储系统的示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。图1是本发明一种基于优先级的文件信息存储方法的流程图,包括
SlOl 将需要存入第一存储器的信息分配预设数个优先等级以及各个优先等级所需等待的预设数时间;
S102:将信息缓存到第二存储器,根据所需等待的预设数时间,再将所述第二存储器的信息存储入所述第一存储器。在现有的嵌入式系统应用场合,随着可擦式存储器(特别是Flash)的成本越来越低,容量越来越大,同时还有好的兼容性,越来越多的产品选择了可擦式存储器用作存储介质。但这种存储器的擦除次数是有限的,通常在该存储器的数据手册上有清晰的描述该产品可擦除次数。基于可擦式存储器现有技术的缺陷,本发明均衡考虑在应用层上减少写入可擦式存储器的擦写次数,但又不能丢失关键信息,通过协调存储器之间的读入擦写次数,相对延长可擦式存储器(特别是Flash)的使用寿命,以达到保护存储器的效果。为了不丢失关键信息,本发明分配预设数个优先等级以及各个优先等级所需等待的预设数时间,先将信息缓存到第二存储器,根据所需等待的预设数时间,再将第二存储器的信息存储入所述第一存储器。以达到减少所述第一存储器的擦写次数,延长其使用寿命。优选地,所述第二存储器可采用无擦写次数限制的内存,所述第一存储器可采用Flash存储器。图2是本发明一种基于优先级的文件信息存储方法的实施例流程图。S201 将需要存入第一存储器的信息分配预设数个优先等级以及各个优先等级所需等待的预设数时间;
5202将信息缓存到第二存储器;
5203根据所需等待的预设数时间,当一个优先等级的信息等待的时间到达预设的最大限度等待时间时,将该优先等级的信息存储入所述第一存储器;
5204在所述第二存储器内,当一个优先等级的信息存储的容量超过预设的最大限度存储容量时,将该优先等级的信息存储入所述第一存储器;
S205:在所述第二存储器中,删除已经存储到所述第一存储器的信息。现有的文件存储系统都是基于先来先服务的原则,而本发明并不急于将接入的信息直接存储到第一存储器。而是将需要存入第一存储器的信息分配预设数个优先等级以及各个优先等级所需等待的预设数时间,先将信息缓存到第二存储器。优先级,顾名思义是将信息进行一个优先级的分配。因为在应用中,并不是所有的信息都是重要。在实际产品应用中,一些次要的提示类的信息占了绝大部分。如果所有的信息同等的处理,会使得有些关键的信息因来不及服务而丢失。相反,提示类的信息是完整。这种情况造成了资源的浪费。 基于此,本发明提出了基于优先级的文件信息存储机制。越关键的信息优先级越高,越要保证其完整性。至于像提示类的次要信息,就算丢失部分也不会引起系统的运行问题。下面结合图3、图4和图5具体地说明实现过程图3是本发明一种基于优先级的文件信息存储方法的实施例第一示意图。如图3所示,建立一个基于优先级的链表,链表的每个节点代表着一种优先级。每个节点又有若干端点组成,每个端点代表了相同的优先级。在本实施例当中分配了四个优先等级,其中,Pl节点代表着当前最高优先级的信息类型,P2节点的优先级其次,最低是P4节点。Pl节点又由3个端点组成,每个端点代表的是相同优先级的文件信息类型,端点的读写顺序是先来先服务。每次存储写入过程,先从最右边的节点开始,依次向左。存储写入过程有上层应用调用触发或者定时触发。依据此机制,显然,高优先级的信息最先写入Flash文件系统。在本实施例中,分配最高优先级的信息所等待的时间为零,即直接存储入Flash,优选地,本实施例的第一存储器为Flash。将其余优先等级的信息暂存在第二存储器,等待一段时间后再存储入Flash,以分担Flash的擦写次数,到达延长Flash的使用寿命,使其不易损坏。所述第一存储器为闪速存储器;和/或所述第二存储器为内存。大多数计算机系统,程序是在内存空间运行的。内存具有读写速度快,没有擦写次数限制优点。在本方案中,利用内存这一优点,减少对Flash的擦写次数。首先在内存空间划分一块空间,将其格式化为一个内存虚拟文件系统(ram文件系统),将需要保存的信息先写入内存文件系统,等在一个合适的时间后,再将内存文件系统中的信息写入Flash文件系统。写入内存文件系统相当于一个缓存过程,在合适的时间再回写到Flash文件系统。
图4是本发明一种基于优先级的文件信息存储方法的实施例第二示意图,与图3 不同的是,图4的实施例设置了最大限度等待时间。分配优先级的文件存储机制保证了高优先级优先存储,但同时也会引起另一个问题。如果高优先级一直在请求存储,那么低优先级会一直处于“饥饿”状态。为了进一步优化本发明,在上述机制进行一点改变一动态优先级改变。每个节点都一个时间计数器,该计数器记录着该节点从插入链表到现在的时间。同时引入一个最大限度时间度量,当节点的时间计数器超过了最大限度时间时,节点的优先级将会提高为最高优先级。同时调整链表的节点,把优先级调整的节点调到链表最前面。即如图4所示,P3节点的预设等待时间到达预设的最大限度等待时间时(T> TD),所以优先级发生了改变,调整到链表最前面。这个机制保证了 Ρ3节点在最大限度时间内得以写入Flash文件系统。图5是本发明一种基于优先级的文件信息存储方法的实施例第三示意图,与图3、 图4不同的是,图5预设了最大限度存储容量。最大限度容量存储类似与最大限度时间存储机制。也是为了解决某些节点一直处于“饥饿”状态。同时还解决以下问题如果某个优先级的信息很多,如果没有得到写入 Flash,那么缓存在内存必定会消耗很多内存空间。这个机制也会引起优先级改变。每个节点都有一个信息容量的参数,明显,这个参数跟每个节点的端点是有关系。端点越多,节点的容量参数越大。同时引入一个最大限度容量的度量。当节点的容量超过了最大限度容量时,该优先级将会提高最高优先级。同时调整链表的节点,把这个节点调整到链表的最前面。如图5所示,开始时,Pl由于优先级最高,处于链表的最前面。由于P4容量越来越大, 超过了最大限度容量值,所以调整了 P4的优先级,把P4调整到链表的最前面。P4节点得以立刻写入Flash文件系统。当然,本发明可以单独设置最大限度等待时间或最大限度存储容量,或者其二者的结合,以实现本发明的效果。另外,为了进一步节省第二存储器的缓存空间,在所述第二存储器中,删除已经存储到所述第一存储器的信息。图6是本发明一种基于优先级的文件信息存储装置的示意图,包括
优先级分配单元,用于将需要存入第一存储器的信息分配预设数个优先等级; 与所述优先级分配单元相连的时间等待单元,用于分配各个优先等级所需等待的预设数时间;
与所述第二存储器相连的第一存储单元,用于将信息缓存到第二存储器; 连接在所述第一存储器和第二存储器之间的第二存储单元,所述第二存储单元还与所述时间等待单元相连,用于根据所需等待的预设数时间,再将所述第二存储器的信息存储入所述第一存储器。图6与图1相对应,上述各单元的运行方式与方法中的相同。图7是本发明一种基于优先级的文件信息存储装置的实施例示意图。如图7所示,所述第二存储单元包括
与所述优先级分配单元相连的时间判断单元,用于当一个优先等级的信息等待的时间到达预设的最大限度等待时间时,将该优先等级的信息存储入所述第一存储器。如图7所示,所述第二存储单元还包括
与所述优先级分配单元相连的容量判断单元,用于当一个优先等级的信息存储的容量超过预设的最大限度存储容量时,将该优先等级的信息存储入所述第一存储器。图7与图2相对应,上述各单元的运行方式与方法中的相同。图8是本发明提供了一种文件信息存储系统,包括硬件管理系统,以及与所述硬件管理系统相连的操作系统,其中
所述操作系统包括如前项所述的基于优先级的文件信息存储装置,用于根据信息的优先等级通过所述硬件管理系统提供的接口,调度存储器对所述文件信息进行存储,该存储器主要包括闪速存储器和内存。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解, 本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种基于优先级的文件信息存储方法,其特征在于,包括将需要存入第一存储器的信息分配预设数个优先等级以及各个优先等级所需等待的预设数时间;将信息缓存到第二存储器,根据所需等待的预设数时间,再将所述第二存储器的信息存储入所述第一存储器。
2.根据权利要求1所述的基于优先级的文件信息存储方法,其特征在于,将所述第二存储器的信息存储入所述第一存储器的步骤,包括将所述预设数个优先等级的信息分别先后存储入所述第一存储器,其中,高优先等级的信息所等待的预设数时间要比低优先等级的信息所等待的预设数时间短。
3.根据权利要求2所述的基于优先级的文件信息存储方法,其特征在于,将所述预设数个优先等级的信息分别先后存储入所述第一存储器的步骤,包括当一个优先等级的信息等待的时间到达预设的最大限度等待时间时,将该优先等级的信息存储入所述第一存储器。
4.根据权利要求2所述的基于优先级的文件信息存储方法,其特征在于,根据所需等待的预设数时间,再将所述预设数个优先等级的信息分别先后存储入所述第一存储器的步骤,包括在所述第二存储器内,当一个优先等级的信息存储的容量超过预设的最大限度存储容量时,将该优先等级的信息存储入所述第一存储器。
5.根据权利要求1至4任一项所述的基于优先级的文件信息存储方法,其特征在于,将所述第二存储器的信息存储入所述第一存储器的步骤之后,还包括在所述第二存储器中,删除已经存储到所述第一存储器的信息。
6.根据权利要求1至5任一项所述的基于优先级的文件信息存储方法,其特征在于,包括所述第一存储器为闪速存储器;和/或所述第二存储器为内存。
7.一种基于优先级的文件信息存储装置,其特征在于,包括优先级分配单元,用于将需要存入第一存储器的信息分配预设数个优先等级;与所述优先级分配单元相连的时间等待单元,用于分配各个优先等级所需等待的预设数时间;与所述第二存储器相连的第一存储单元,用于将信息缓存到第二存储器;连接在所述第一存储器和第二存储器之间的第二存储单元,所述第二存储单元还与所述时间等待单元相连,用于根据所需等待的预设数时间,再将所述第二存储器的信息存储入所述第一存储器。
8.根据权利要求7所述的基于优先级的文件信息存储装置,其特征在于,所述第二存储单元包括与所述优先级分配单元相连的时间判断单元,用于当一个优先等级的信息等待的时间到达预设的最大限度等待时间时,将该优先等级的信息存储入所述第一存储器。
9.根据权利要求7所述的基于优先级的文件信息存储装置,其特征在于,所述第二存储单元还包括与所述优先级分配单元相连的容量判断单元,用于当一个优先等级的信息存储的容量超过预设的最大限度存储容量时,将该优先等级的信息存储入所述第一存储器。
10. 一种文件信息存储系统,包括硬件管理系统,以及与所述硬件管理系统相连的操作系统,其特征在于所述操作系统包括如权利要求7至9任一项所述的基于优先级的文件信息存储装置, 用于根据信息的优先等级通过所述硬件管理系统提供的接口,调度存储器对所述文件信息进行存储,该存储器主要包括闪速存储器和内存。
全文摘要
本发明公开了基于优先级的文件信息存储方法、装置及系统。该方法包括将需要存入第一存储器的信息分配预设数个优先等级以及各个优先等级所需等待的预设数时间;将信息缓存到第二存储器,根据所需等待的预设数时间,再将所述第二存储器的信息存储入所述第一存储器。采用本发明,能够协调存储器之间的读入擦写次数,保护存储器,相对延长存储器(特别是Flash)的使用寿命。
文档编号G06F3/06GK102520879SQ20111038882
公开日2012年6月27日 申请日期2011年11月30日 优先权日2011年11月30日
发明者何常, 黄晓东 申请人:广东威创视讯科技股份有限公司