实现手机缓冲存储器机制的系统及手机操作系统加载方法

文档序号:6601515阅读:154来源:国知局
专利名称:实现手机缓冲存储器机制的系统及手机操作系统加载方法
技术领域
本发明涉及手机技术领域,更具体的说,本发明涉及一种实现手机缓冲存储器机制的系统及手机操作系统加载的方法。
背景技术
目前,手机逐渐从单一的语音通话、短信业务功能扩展为具有各种多媒体娱乐功能的个人信息处理移动终端。一方面,人手两部或几部手机变得越来越普遍;另一方面,手机成为时尚的电子消费产品,加快了手机更新换代的频率。而不同的手机具有不同的操作系统给用户带来极差的体验效果不仅要频繁地适应不同手机平台的操作系统环境,而且要重复地在不同的手机平台上建立自己的个性环境(如安装自己喜欢的软件等)。当前,已经可在大容量的用户身份识别卡SIM上存储手机操作系统,并在此基础上建立自己的个性操作环境,一定程度上解决了用户更换手机所带来的麻烦。但由于受到通用串行总线USB传输速率的限制,手机通过用户身份识别卡SIM上的通用串行总线USB 接口将SIM卡上的手机操作系统读取到手机自身的工作存储器RAM上运行的过程比较缓慢,使得手机每次开机要花费很长的时间来加载操作系统,给用户带来诸多不便。

发明内容
本发明解决的技术问题是提高一种实现手机缓冲存储器机制的系统及手机操作系统加载的方法,以降低由于USB传输速率的限制带来的手机加载存储于SIM卡上的操作系统花费过长时间的影响,提高用户的体验。为解决上述问题,本发明采用如下技术方案一种实现手机缓冲存储器机制的系统,其包括手机,通过通信接口与手机交互数据的SIM卡以及虚拟为SIM卡的高速缓冲存储器的非易失性存储器,其中SIM卡存储有手机操作系统和应用程序数据,手机控制将SIM卡存储的需要被系统经常访问的手机操作系统和应用程序数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中,并在手机访问相应的数据时直接从非易失性存储器读取对应的数据。其中,手机可包括驱动程序模块,用于在手机上提供驱动将非易失性存储器虚拟为SIM卡的高速缓冲存储器;高速缓冲存储器管理器模块,用于管理作为高速缓冲存储器的非易失性存储器, 分配页面,释放、回收无效的或利用率低的页面,并在作为高速缓冲存储器的非易失性存储器和SIM卡之间建立数据块一一对应的映射关系;中央处理器,用于控制上述模块,并控制将SIM卡存储的需要被系统经常访问的手机操作系统和应用程序数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中。
其中,若作为高速缓冲存储器的非易失性存储器中的数据块更新时,所述中央处理器还控制将更新的数据块回写到SIM卡中。另外,一种基于手机缓冲存储器机制加载手机操作系统的方法,其包括虚拟非易失性存储器为SIM卡的高速缓冲存储器;将需要被系统加载所需访问的手机操作系统数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中;若虚拟为高速缓冲存储器的非易失性存储器中存储有加载所需访问的手机操作系统数据,则手机直接从所述虚拟为高速缓冲存储器的非易失性存储器中读取加载手机操作系统时所需的数据,否则,手机从SIM卡读取所需的数据到虚拟为高速缓冲存储器的非易失性存储器中,再从虚拟为高速缓冲存储器的非易失性存储器中读取加载手机操作系统时所需的数据。其中,加载手机操作系统之前还包括检查非易失性存储器中是否存储有加载所需访问的手机操作系统数据。其中,将SIM卡的集成电路卡识别码作为SIM卡与非易失性存储器中存储数据一致性的关联,所述检查非易失性存储器中是否存储有加载所需访问的手机操作系统数据包括检查非易失性存储器与SIM卡的集成电路卡识别码是否相同,若相同,则确定非易失性存储器存储有加载所需访问的手机操作系统数据,否则,确定非易失性存储器没有存储有加载所需访问的手机操作系统数据。另外,还包括若作为高速缓冲存储器的非易失性存储器中的数据块更新时,所述中央处理器还控制将更新的数据块回写到SIM卡中。其中,所述控制将更新的数据块回写到SIM卡中是根据操作系统的状况,SIM卡的通信链路的利用率,回写队列的长度及手机的电量确定优先级执行回写。与现有技术相比,本发明具有以下有益效果本发明中通过将非易失性存储器虚拟为SIM卡的高速缓冲存储器;将需要被系统加载所需访问的手机操作系统和应用程序的数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中;若非易失性存储器中存储有加载所需访问的手机操作系统数据,则手机从所述非易失性存储器中读取加载手机操作系统时所需的数据,否则,手机从SIM卡读取所需的数据到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中,再从非易失性存储器中读取加载手机操作系统时所需的数据,平滑了手机对非易失性存储器和SIM卡两种硬件的访问差异,加快了手机加载、运行存储于SIM卡上的手机操作系统和应用程序的速度,提高了存储有手机操作系统的大容量SIM卡的用户体验;另外,本发明可通过底层驱动程序模块在手机的硬件抽象层将手机的非易失存储器抽象成大容量SIM卡的高速缓冲存储器,无需改变手机现有的硬件体系结构。


图1是本发明手机的系统结构示意图;图2是本发明实现非易失性存储器与SIM卡之间数据映射的一种具体实施例示意图3是本发明中作为高速缓冲存储器的非易失性存储器的一种具体实施例页面和数据块结构图;图4是本发明基于手机缓冲存储器机制加载手机操作系统的方法的一种具体实施例流程图;图5是本发明加载手机操作系统的一种具体实施例流程图;图6是本发明中实现回写服务的具体实施例示意图。
具体实施例方式本发明的核心在于通过对手机操作系统和大量应用程序运行情况的分析结果表明,在一个较短的时间间隔内,系统需要访问的数据的地址通常集中在存储器逻辑地址空间很小的范围内,即系统对局部范围的存储器地址频繁访问,而对此范围以外的地址则很少访问。为此,根据系统对存储器的访问具有时间上集中分布的倾向,可利用系统直接访问非易失性存储器(例如Nand flash)的速度比通过通用串行接口 USB访问SIM卡速度快的特点,将非易失性存储器作为手机工作存储器和大容量SIM卡之间的一个高速缓冲存储器 (简称为cache),缓存需要经常被访问的SIM卡上的数据,可有效提高手机操作系统和运用应用程序的加载、运行速度。同时,非易失存储器具有断电后仍能保持数据的特性,非易失存储器作为存储有手机操作系统的大容量SIM卡的cache,不仅能提供系统的性能,而且还可以加快手机后续开机时加载SIM卡上的手机操作系统的速度。为此,本发明实现手机缓冲存储器机制的系统主要包括有手机,与手机相连的SIM卡以及虚拟为SIM卡的高速缓冲存储器的非易失性存储器,其中SIM卡存储有手机操作系统和应用程序数据,手机控制将SIM卡存储的需要被系统经常访问的手机操作系统和/或应用程序数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中,并在手机访问相应的数据时直接从非易失性存储器读取对应的数据。具体实现时,参考图1,该图为本发明手机的系统结构图;其中硬件抽象层通过硬件抽象层接口向手机操作系统以及应用程序提供对硬件抽象后的服务,为在各种不同硬件平台上的操作系统内核的开发提供统一的硬件平台相关的功能。而为实现上述的高速缓冲存储器(cache),本发明中在手机上需要包括有驱动程序模块和高速缓冲存储器管理器模块,以及作为控制的中央处理器,其中驱动程序模块,用于在手机上提供驱动将非易失性存储器虚拟为SIM卡的高速缓冲存储器,具体实现时,可为上层的文件系统提供一个统一的文件访问接口 ;高速缓冲存储器管理器模块,用于管理作为高速缓冲存储器的非易失性存储器, 分配页面,释放、回收无效的或利用率低的页面,并在作为高速缓冲存储器的非易失性存储器和SIM卡之间建立数据块一一对应的映射关系;中央处理器,用于控制上述模块,将SIM卡存储的需要被系统经常访问的手机操作系统和应用程序数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中。而当作为高速缓冲存储器的非易失性存储器中的数据块更新时,所述中央处理器还控制将更新的数据块回写到SIM卡中。
下面具体说明高速缓冲存储器管理器模块,具体实现时,本发明中作为高速缓冲存储器的非易失性存储器可包括两个层次的数据结构,一个是页面,一个是数据块;页面是 Cache管理器模块管理Cache时的一个内存单元,其中每个页面又包含了若干个数据块。在具体的实施例里,页面的大小可能是41Λ,161Λ,641Λ,跟具体的手机操作系统和内存管理实现相关。例如,一个具体的实施例参考图2,假定页面的大小为41Λ,数据块大小为11Λ。系统所需的文件(数据)在SIM卡的存储可能是不连续的数据块,高速缓冲存储器管理器模块将SIM卡上不连续的数据块映射到非易失性存储器的cache页面上,系统利用手机访问非易失存储器的吞吐率的优势,从非易失性存储器的cache里读取所需的数据,提高系统读取数据的效率,进而提高整个系统的性能。另外,在具体实现时,非易失存储器的容量越大,可作为SIM卡的Cache就越大,能够映射更多的数据,系统性能就得到更大的提高。需要说明的,具体实现时,衡量上述高速缓冲存储器管理器模块设计的好坏有两个指标。一是Cache的命中率,Cache命中时数据可以直接从非易失性存储器中获取,不再需要通过通信接口(例如USB接口)访问大容量SIM卡,因而可以显著加快数据的读取,进而提高系统的性能;二是Cache的利用率,有效Cache是指真正会被访问到的Cache项,如果有效Cache的比率偏低,不但降低Cache的命中率,而且会浪费非易失存储器的容量,最后影响系统的性能。本发明中高速缓冲存储器管理器模块通过预读取机制来提高Cache的命中率,同时,可通过回写机制将Cache更新的数据块(本发明中简称为脏块)回写到SIM 卡上。具体实现时,上述的预读取机制是指手机在加载SIM卡的手机操作系统或应用程序前,中央处理器根据记录或预先设置的策略控制将运行手机操作系统或应用程序所需的文件和数据读取到非易失性存储器缓存起来,在操作系统或应用程序运行的期间,直接从非易失性存储器读取所需的数据,无需再通过SIM卡的USB接口访问SIM卡上的数据了。由于非易失存储器具有断电后保持数据的特性,所以在手机后续的开机加载手机操作系统、 运行应用程序仍能继续从非易失性存储器读取所需的数据。另外,上述的回写机制是指为了保持非易失性存储器cache中的数据与SIM卡中的数据的一致性,确保非易失性存储器cache中更新的数据不会因覆盖而丢失,必须将非易失性存储器cache更新的数据及时准确地回写到SIM卡上,具体实现时,例如可在非易失性存储器容量已满,或者系统所需的数据不存在cache中,或者发生缺页时,中央处理器控制高速缓冲存储器管理器模块将非易失性存储器中利用率最低的cache页面回收释放,回收释放前,把cache页面的“脏”的数据块回写到SIM卡中。参考图3,在本发明的一个具体实施例里,高速缓冲存储器管理器模块在非易失存储器里分配合适的页面用于缓存SIM卡的数据,每个页面包含若干个数据块,每个数据块则对应一个数据块描述符。高速缓冲存储器管理器模块通过数据块描述符保存的信息管理 cache的数据块,数据块描述符包含了与数据块相关的一系列信息,如数据块的状态、数据块对应SIM卡数据块的映射地址、数据块的利用率等等。Cache的数据块有“干净”和“脏”两种状态。Cache的数据块是“干净块”表示Cache 的数据块和SIM卡上所对应的数据块是一致的;而Cache的数据块是“脏块”时,则Cache 的数据块已经更新了,需要回写到所对应的SIM卡上,通过中央处理器控制,高速缓冲存储器管理器模块根据动态的回写机制将非易失性存储器的“脏块”回写到对应的SIM卡数据块上。本实施例中上述的数据块描述符用数据块的利用率描述Cache数据块被系统访问的频率。当非易失性存储器的容量紧张时,通过中央处理器控制,高速缓冲存储器管理器模块负责回收、释放利用率低的或已经失效的cache数据块,以提高整个Cache的利用率。而为了不影响手机操作系统的运行且兼顾非易失性存储器的利用率及回写操作的实时性,可根据系统的繁忙程度和Cache数据块回写队列的长度动态地调整高速缓冲存储器管理器模块的回写服务的优先级,根据优先级的高低,动态地调度回写服务,执行回写操作。系统的繁忙、空闲,和Cache回写队列的长、短,组合成不同的优先级级别。当系统繁忙或Cache的回写队列不长时,系统降低回写服务的优先级,使系统资源不被占用;当系统处于空闲状态或Cache的回写队列达到一定长度时,系统则提升回写服务的优先级,使 Cache里的“脏块”能及时地回写更新到SIM卡上;当Cache的回写队列已满时,无论系统空闲与否,系统都将回写服务提升到最高级别,以防止系统发生“死锁”。具体实现时,可对操作系统的繁忙程度和回写队列的长度作更细粒度的划分时, 使回写服务的优先级组合成更多层次的级别,相应地,操作系统可以对回写服务作更加精细的调度,提高了回写服务的效率和系统的性能。需要说明的,在回写的过程中,要对Cache和SIM卡加锁,保证写入操作是互斥的原子性;回写完成后,及时解锁Cache和SIM卡,防止发生“死锁”情况。另外,在执行回写操作时,手机意外断电将可能造成数据的丢失,甚至损坏SIM卡存储的原操作系统。因此在 Cache管理器模块执行回写过程前,可计算当前的手机电池是否有足够的电量完成回写操作,保证非易失性存储器的更新能顺利的回写到SIM卡里,作为一个具体的实施例,可参考图6,该图是系统调度Cache的回写服务的示意图,其中Cache回写服务的优先级由系统的繁忙程度和Cache数据块的回写队列共同决定。另外,考虑到卡机分离的情况,如手机更换SIM卡时,而非易失性存储器的cache 跟特定SIM卡相关,所以高速缓冲存储器管理器模块需要SIM卡相关的标识来管理Cache, 例如,在具体实施例中,可采用SIM卡的集成电路卡识别码ICCID关联非易失存储器的 Cache,但具体实现时可不限于这种实现方式。当手机后续开机启动时,非易失存储器的 cache已经存在数据时,高速缓冲管理器模块判断非易失存储器的cache关联的ICCID和 SIM卡的ICCID是否一致,当非易失性存储器的cache关联的ICCID和SIM卡的ICCID — 致时,表明非易失性存储器的cache的数据和SIM卡一致,手机可以直接从非易失性存储器的cache中加载所需的数据(例如手机操作系统数据),同时,高速缓冲存储器管理器模块还可将上次未回写完的非易失性存储器的cache “脏块”回写到SIM卡去;当ICCID不一致时,非易失性存储器的cache的数据不是SIM卡的数据(更换了 SIM卡)。手机或者清空作为高速缓冲存储器Nand flash cache后,再利用高速缓冲存储器Nand flash cache机制加载SIM卡上的手机操作系统;或者锁定、保存高速缓冲存储器Nand flash cache的数据,高速缓冲存储器Nand flash cache机制就失效了,手机可通过USB接口加载SIM卡上的手机操作系统了,由用户选择加载方式。下面说明本发明基于手机缓冲存储器机制加载手机操作系统的方法。参考图4,该图是本发明基于手机缓冲存储器机制加载手机操作系统的方法的一种具体实施例流程图,主要包括
步骤1,虚拟非易失性存储器为SIM卡的高速缓冲存储器,具体实现虚拟时,可参考前述说明,这里不再赘述;步骤2,将需要被系统加载所需访问的手机操作系统数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中,具体实现时,如何实现预读可参考前述说明,这里不再赘述;步骤3,若非易失性存储器中存储有加载所需访问的手机操作系统数据,则手机直接从所述虚拟为高速缓冲存储器的非易失性存储器中加载手机操作系统,否则,手机从SIM 卡读取所需的数据到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中,再从非易失性存储器中读取加载手机操作系统时所需的数据。需要说明的,本发明中加载手机操作之前还可包括检查非易失性存储器中是否存储有加载所需访问的手机操作系统数据,具体实现时,例如,考了到机卡分离等情况,可将SIM卡的集成电路卡识别码作为SIM卡与非易失性存储器中存储数据一致性的关联,以辨别非易失存储器的数据与SIM卡上的数据是否一致。而上述检查非易失性存储器中是否存储有加载所需访问的手机操作系统数据可包括若非易失存储器的cache存在数据,检查非易失性存储器的cache与SIM卡的集成电路卡识别码是否相同,若相同,则确定非易失性存储器的cache的数据和SIM卡一致,否则,确定非易失性存储器的cache的数据与SIM 卡的数据不一致(即更换了 SIM卡)。手机或者清空高速缓冲存储器Nand flash cache 后,再利用高速缓冲存储器Nand flash cache机制加载SIM卡上的手机操作系统;或者锁定、保存高速缓冲存储器Nandflash cache的数据,高速缓冲存储器Nand flash cache机制就失效了,手机就通过USB接口加载SIM卡上的手机操作系统了,由用户选择加载方式。下面以一个具体实施例说明加载手机操作系统的过程,参考图5,加载过程主要包括步骤101 手机开机;步骤102 检测手机的非易失性存储器cache是否有数据,如果已经存在数据,则进入步骤103,否则进入步骤106 ;步骤103 比较非易失性存储器cache和SIM卡上的ICCID是否一致,当ICCID — 致时,表明非易失性存储器cache的数据和SIM卡一致,进入步骤107 ;当ICCID不一致时, 进入步骤104 ;步骤104 非易失性存储器的cache和SIM卡上的ICCID不一致,提供两种启动方式给用户选择;步骤105 用户选择了清空非易失性存储器cache,重新使用非易失性存储器 cache加载SIM卡的手机操作系统;步骤106 手机按照预设定的策略预,通过USB接口从SIM卡读取加载操作系统所需数据,并保存到非易失性存储器cache中;步骤107 手机从非易失性存储器cache中加载手机操作系统,同时高速缓冲存储器管理器模块负责管理非易失性存储器cache,继续从SIM卡上预读取系统运行所需要的文件,然后进入步骤109;步骤108 用户选择了保留原先非易失性存储器cache的数据,手机锁定非易失性存储器cache,并关闭非易失性存储器cache机制,手机通USB接口加载SIM卡上的操作系统;步骤109 运行手机操作系统,手机启动过程结束。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明型,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现手机缓冲存储器机制的系统,其特征在于,包括手机,通过通信接口与手机交互数据的SIM卡以及虚拟为SIM卡的高速缓冲存储器的非易失性存储器,其中SIM卡存储有手机操作系统和应用程序数据,手机控制将SIM卡存储的需要被系统经常访问的手机操作系统和应用程序数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中,并在手机访问相应的数据时直接从非易失性存储器读取对应的数据。
2.根据权利要求1所述的系统,其特征在于,手机包括驱动程序模块,用于在手机上提供驱动将非易失性存储器虚拟为SIM卡的高速缓冲存储器;高速缓冲存储器管理器模块,用于管理作为高速缓冲存储器的非易失性存储器,分配页面,释放、回收无效的或利用率低的页面,并在作为高速缓冲存储器的非易失性存储器和 SIM卡之间建立数据块一一对应的映射关系;中央处理器,用于控制上述模块,并控制将SIM卡存储的需要被系统经常访问的手机操作系统和应用程序数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中。
3.根据权利要求2所述的系统,其特征在于,若作为高速缓冲存储器的非易失性存储器中的数据块更新时,所述中央处理器还控制将更新的数据块回写到SIM卡中。
4.一种基于手机缓冲存储器机制加载手机操作系统的方法,其特征在于,包括虚拟非易失性存储器为SIM卡的高速缓冲存储器;将需要被系统加载所需访问的手机操作系统数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中;若虚拟为高速缓冲存储器的非易失性存储器中存储有加载所需访问的手机操作系统数据,则手机直接从所述虚拟为高速缓冲存储器的非易失性存储器中读取加载手机操作系统时所需的数据,否则,手机从SIM卡读取所需的数据到虚拟为高速缓冲存储器的非易失性存储器中,再从虚拟为高速缓冲存储器的非易失性存储器中读取加载手机操作系统时所需的数据。
5.根据权利要求4所述的方法,其特征在于,加载手机操作系统之前还包括检查非易失性存储器中是否存储有加载所需访问的手机操作系统数据。
6.根据权利要求5所述的方法,其特征在于,将SIM卡的集成电路卡识别码作为SIM卡与非易失性存储器中存储数据一致性的关联,所述检查非易失性存储器中是否存储有加载所需访问的手机操作系统数据包括检查非易失性存储器与SIM卡的集成电路卡识别码是否相同,若相同,则确定非易失性存储器存储有加载所需访问的手机操作系统数据,否则,确定非易失性存储器没有存储有加载所需访问的手机操作系统数据。
7.根据权利要求5所述的方法,其特征在于,还包括若作为高速缓冲存储器的非易失性存储器中的数据块更新时,所述中央处理器还控制将更新的数据块回写到SIM卡中。
8.根据权利要求7所述的方法,其特征在于,所述控制将更新的数据块回写到SIM卡中是根据操作系统的状况,SIM卡的通信链路的利用率,回写队列的长度及手机的电量确定优先级执行回写。
全文摘要
本发明公开一种实现手机缓冲存储器机制的系统及手机操作系统加载的方法,所述系统包括手机,通过通信接口与手机交互数据的SIM卡以及虚拟为SIM卡的高速缓冲存储器的非易失性存储器,其中SIM卡存储有手机操作系统和应用程序数据,手机控制将SIM卡存储的需要被系统经常访问的手机操作系统和应用程序数据预读到虚拟为SIM卡的高速缓冲存储器的非易失性存储器中,并在手机访问相应的数据时直接从非易失性存储器读取对应的数据。本发明加快了手机加载、运行存储于SIM卡上的手机操作系统和应用程序的速度,提高了存储有手机操作系统的大容量SIM卡的用户体验;无需改变手机现有的硬件体系结构。
文档编号G06F3/06GK102236530SQ201010159779
公开日2011年11月9日 申请日期2010年4月23日 优先权日2010年4月23日
发明者何庆尧, 张齐治, 李健诚 申请人:广州盛华信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1