加载引导数据的制作方法

文档序号:6485363阅读:173来源:国知局
加载引导数据的制作方法
【专利摘要】本文的实施例涉及加载引导数据。在实施例中,设备从第一非易失性存储器的第一部分中加载引导数据以完成所述设备的第一引导。第一非易失性存储器的第一部分然后被释放以允许所述设备重写所述第一部分。接下来,在所述设备进入降低功率状态之前,将所述引导数据写到第一非易失性存储器。在第二引导被发起的情况下,所写的引导数据要从第一非易失性存储器中被加载以完成所述设备的第二引导。
【专利说明】加载引导数据
【背景技术】
[0001 ] 计算设备可以包括诸如硬盘驱动器(HDD)之类的具有相对缓慢的访问时间的慢存储设备。慢存储设备可能充当瓶颈并影响计算设备的性能。为了改进性能,所述计算设备可以包括诸如闪速存储器之类的具有相对快速的访问时间的快存储设备。然而,快存储设备可能每存储单元比慢存储设备更昂贵。
[0002]结果,与慢存储设备的存储容量相比,快存储设备可能具有更小的存储容量。快存储设备的更小的存储容量可以被计算设备充分利用,诸如用于被频繁访问的数据。如果需要附加的存储容量,则计算设备也可以在慢存储设备处存储部分被频繁访问的数据。增加能够存储在快存储设备处的被频繁访问的数据的百分比可以进一步改进计算设备的性能。
【专利附图】

【附图说明】
[0003]下述详细说明参考附图,其中:
图1A是用以加载引导数据的设备的示例性框图;
图1B是用以加载引导数据的设备的另一个示例性框图;
图2是包括用于加载引导数据的指令的计算设备的示例性框图;并且 图3A和3B是用于加载引导数据的方法的示例性流程图。
【具体实施方式】
[0004]在下述描述中给出具体细节来提供对实施例的彻底理解。然而,本领域普通技术人员应该理解,可以在没有这些具体细节的情况下实践所述实施例。例如,系统可以以框图示出,以便不会不必要地详细地使实施例模糊。在其他实例中,公知的过程、结构和技术可以在没有不必要的细节的情况下被示出,以便避免使实施例模糊。
[0005]除了诸如硬盘驱动器(HDD)之类的慢速存储设备之外,计算设备还可以包括诸如闪速存储器之类的快速存储设备。快速存储设备可以具有比慢速存储设备更低的等待时间。计算设备可以通过在快速存储设备处而不是慢速存储设备处存储更多的被频繁访问的数据来提高性能。例如,所述计算设备可以使用快速存储设备作为高速缓存或用来存储引导数据。然而,快速存储设备可能不具有足够大的存储容量来存储正被计算设备所使用的所有被频繁访问的数据。因此,快速存储器的存储容量可能充当对计算设备的性能的瓶颈。此外,由于快速存储设备通常每存储器单元比慢速存储设备显著地更昂贵,快速存储设备的存储容量通常不可以增加。
[0006]例如,与慢速存储设备相对,通过从快速存储设备中加载引导数据来引导计算设备可以减少计算设备的引导时间。引导数据可以占据快速存储设备的较大百分比。例如,引导数据可以是4千兆字节(GB)而快速存储设备的存储容量可以是16GB。快速存储设备的预定部分可以被保留以用于引导数据,但是引导数据的大小可能改变。因此,预定部分可能在大小上被保守地设置较大,导致快速存储设备的部分存储容量被浪费。例如,如果引导数据是4GB但预定部分是5GB,则IGB的存储空间可能未被使用。[0007]另外,如果计算设备不经常被引导,则保留预定部分可能不是对快速存储设备的存储容量的高效使用。另一方面,允许整个快速存储设备被用来作为高速缓存可能导致引导数据随着时间而被重写。结果,在下一次引导期间,计算设备可能不能从快速存储设备中加载引导数据。代替地,在下一次重新引导期间,计算设备可以从慢速存储设备中加载引导数据。
[0008]实施例可以增加可用于被频繁访问的数据的快速存储设备的存储容量的量,而仍然允许计算设备从快速存储设备中加载引导数据。例如,计算设备可以从快速存储设备的部分中加载引导数据并且然后允许存储引导数据的快速存储设备的部分被重新目的化以用于其他类型的数据,诸如高速缓存数据。接下来,在计算设备断电前,可以将引导数据再次写到快速存储设备以供下一次引导。
[0009]图1A是用以加载引导数据的设备100的示例性框图。所述设备100的示例可以包括笔记本计算机、台式计算机、一体化系统、从计算设备、便携式阅读设备、无线电子邮件设备、移动电话等等。在图1A的实施例中,所述设备100包括处理器110、高速缓存模块120、引导模块130和第一非易失性存储器140。所述第一非易失性存储器140进一步包括第一部分142。
[0010]处理器110可以是适合于从第一非易失性存储器140和/或被配置成执行下述任何模块120和130的功能的电子电路检索并执行指令的CPU、GPU或微处理器。第一非易失性存储器140可以是一个或多个非易失性机器可读存储介质,诸如甚至当不被供电时也保留所存储的信息的任何电子、磁性、光学或其他物理存储设备。第一非易失性存储器140的示例可以包括固态驱动器(SSD)或闪速存储器。
[0011]模块120和130中的每一个可以包括例如包括用于实现下述功能的电子电路的硬件设备。附加地或作为替换,每个模块可以被实现为编码在机器可读存储介质(诸如第一非易失性存储器140)上并被处理器110可执行的一系列指令。在实施例中,模块120和130中的部分可以被实现为硬件设备,而其他模块被实现为可执行的指令。例如,模块120和130可以被实现为由运行在设备100上的操作系统(OS)(未示出)所运行的应用的部分。
[0012]第一非易失性存储器140要在第一部分142处存储引导数据。所述引导数据要被用来完成设备100的第一引导。例如,当使设备100从诸如关状态之类的非活动状态上电时,设备100可以最初执行初始指令集,诸如存储在只读存储器(ROM)(未示出)中的指令。基于这些指令,设备100可以将引导数据从第一非易失性存储器140 (诸如第一部分142)加载到单独的位置(诸如随机访问存储器(RAM)(未示出))。所述引导数据可以包括响应于设备100上电而要被执行的指令(诸如程序和/或操作系统(OS)的指令)和/或数据。在一个实施例中,引导数据能够被用来在设备100上启动操作系统。设备100然后可以执行和/或使用在RAM处的引导数据来完成设备100的第一引导,其可以包括例如启动OS。
[0013]在从第一非易失性存储器140的第一部分142中加载引导数据之后,高速缓存模块120要将高速缓存数据写到第一非易失性存储器140的第一部分142。所述高速缓存数据可以包括可能被再次使用或频繁使用的数据,诸如应用文件、用户文档和/或元数据。例如,诸如OS、应用或web浏览器之类的软件或者诸如处理器110或另一个存储器之类的硬件,可以在第一部分142处存储高速缓存数据以用于更快地访问高速缓存数据。所述高速缓存数据可以是冗余或非冗余类型的信息。冗余类型的信息可以是从另一个存储器位置处取的存储在第一部分142处的只读数据。同样地,可能有存储在第一部分142和另一个存储器位置二者处的冗余类型信息的复制拷贝。非冗余信息可以是只存储在第一部分142处的数据(诸如被硬件、应用、用户等所修改或生成的数据)。
[0014]在设备100进入降低功率状态之前,引导模块130要将引导数据写到第一非易失性存储器140。降低功率状态的示例可以包括设备100进入关闭状态、冬眠状态、或者休眠状态。例如,在从OS接收到设备100要进入降低功率状态的指示的情况下,在设备100断电之前,引导模块130可以将引导数据再次写到第一部分142。可替换地,在设备100断电之前,引导数据可以被写到第一非易失性存储器140的另一个部分。在实施例中,OS可以等待以完成设备进入降低功率状态,直到诸如从引导模块130接收到确认:引导数据已经被成功传递到第一非易失性存储器140。
[0015]当设备100随后被开启时,可以发起第二引导。可以同样从第一非易失性存储器140中加载所写的引导数据来完成设备100的第二引导。因此,通过释放在第一非易失性存储器140处存储引导数据的存储器位置(诸如第一部分142),对于高速缓存数据来说,更大数量的被频繁使用的信息可以被存储在第一非易失性存储器140处,从而改进设备的性能和/或速度。另外,通过在设备100断电之前将引导数据加载回第一非易失性存储器140,设备100可以比在从慢速存储器中加载引导数据的情况下更快地引导。
[0016]图1B是用以加载引导数据的设备150的另一个示例性框图。图1B的设备150包括与图1A的设备100的组件类似的组件,诸如处理器110、高速缓存模块120、引导模块130和第一非易失性存储器140。第一非易失性存储器140类似地包括第一部分142。然而,图1B的设备150进一步包括第二非易失性存储器160。所述第二非易失性存储器140包括第二部分162。
[0017]第二非易失性存储器160可以是一个或多个非易失性机器可读存储介质,诸如甚至当不被供电时也保留所存储的信息的任何电子、磁性、光学或其他物理存储设备。第二非易失性存储器160的示例可以包括硬盘驱动器(HDD)或存储驱动器。第二非易失性存储器160可以具有比第一非易失性存储器140更大的等待时间和/或容量。例如,第二非易失性存储器160可以是具有较大访问时间的磁性存储介质(诸如500千兆字节(GB)的HDD)而第一非易失性存储器160可以是具有较低访问时间的一种类型的闪速存储器(诸如64GB的SDD) ο
[0018]第二非易失性存储器160也可以存储引导数据。例如,在高速缓存模块120将高速缓存数据写到第一非易失性存储器140的第一部分142之前,引导模块130可以将引导数据写到第二非易失性存储器160(诸如到第二部分162)。因此,引导数据可以被保存。随后,在设备150进入降低功率状态之前,引导模块140可以将第二非易失性存储器160处的引导数据写到第一非易失性存储器140 (诸如到第一部分142)。因此,如上所述,通过从第一非易失性存储器140中访问引导数据,设备100可以再次被引导。另外,在第二非易失性存储器160处的引导数据的复制拷贝可以被保留作为备份。例如,如果不能从第一非易失性存储器140中加载引导数据,则可以从第二非易失性存储器160中加载引导数据来完成第一或第二引导。例如,如果在引导模块130完成将引导数据写回到第一非易失性存储器140之前设备100先前断电,或如果第一非易失性存储器140发生故障,则引导数据可能不是从第一非易失性存储器140中可加载的。在第二非易失性存储器160处的引导数据的地址位置可以被存储在第一非易失性存储器140上。结果,如果不能从第一非易失性存储器140中加载引导数据,则设备150仍然可以读取存储在第一非易失性存储器140上的地址位置来访问在第二非易失性存储器160处的引导数据。
[0019]可选择地,在设备150进入降低功率状态之前,高速缓存模块120可以将在第一非易失性存储器140处的高速缓存数据存储到第二非易失性存储器160。例如,在引导模块130将引导数据写回到第一部分142之前,高速缓存模块120可以将在第一部分142处的高速缓存数据保存到第二非易失性存储器160。因此,高速缓存数据可以被保留在第二非易失性存储器160处并在第二引导之后被重用。否则,如果高速缓存数据的复制拷贝未被保存到第二非易失性存储器160,则当被引导模块130用第一部分142处的引导数据重写时,高速缓存数据可能被丢失。可以关于图3A和3B更详细地描述设备100和150的操作。
[0020]图2是包括用于加载引导数据的指令的计算设备200的示例性框图。在图2的实施例中,计算设备200包括处理器205、第一非易失性存储器140和机器可读存储介质210。所述机器可读存储介质210进一步包括用于加载引导数据的指令212、214和216。第一非易失性存储器140包括第一部分142并且可以与图1A和IB的类似。
[0021]计算设备200可以是例如能够执行指令212、214和216的芯片组、笔记本计算机、板式计算设备、便携式阅读设备、无线电子邮件设备、移动电话或任何其它设备。在某些示例中,计算设备200可以包括或被连接到附加的组件,诸如存储器、传感器、显示器等。例如,计算设备200可以包括与图1B的第二非易失性存储器160类似的第二非易失性存储器(未示出)。可替换地,第二非易失性存储器可以是机器可读存储介质210的部分。
[0022]处理器205可以是,至少一个中央处理单元(CPU)、至少一个基于半导体的微处理器、至少一个图形处理单元(GPU)、适合于检索和执行存储在机器可读存储介质210中的指令的其它硬件设备或其组合。处理器205可以取、解码、和执行指令212、214和216来实现加载引导数据。作为替换或除了检索和执行指令之外,处理器202还可以包括包含用于执行指令212、214和216的功能的多个电子组件的至少一个集成电路(1C)、其它控制逻辑、其它电子电路、或其组合。
[0023]机器可读存储介质210可以是包含或存储可执行指令的任何电子、磁性、光学或其它物理存储设备。因此,机器可读存储介质210可以是例如随机访问存储器(RAM)、电可擦可编程只读存储器(EEPR0M)、存储驱动器、光盘只读存储器(⑶-ROM)等。同样地,机器可读存储介质210可以是非临时的。如下文详细描述,机器可读存储介质210可以被编码有一系列可执行指令以用于设置加载弓I导数据。
[0024]此外,当被处理器(例如,经由所述处理器一个处理元件或多个处理元件)所执行时,指令212、214和216能够使所述处理器执行诸如图3A和3B的过程之类的过程。例如,加载指令212可以被处理器205执行以从第一非易失性存储器140的第一部分142中加载引导数据来完成设备的第一引导。释放指令214可以被处理器205执行以释放第一非易失性存储器140的第一部分142以允许设备200重写第一部分142。在设备200进入降低功率状态之前,写指令216可以被处理器205执行以将引导数据写到第一非易失性存储器140(诸如到第一部分142)。如果设备200发起第二引导,则要从第一非易失性存储器140中加载所写的引导数据来完成设备200的第二引导。
[0025]机器可读存储介质210还可以包括用以在第一部分被释放之前将在第一非易失性存储器140的第一部分142处的引导数据存储到第二非易失性存储器的指令(未示出),其中所述引导数据被从第二非易失性存储器写到第一非易失性存储器140。另外,机器可读存储介质210还可以包括用以在不能从第一非易失性存储器140中加载引导数据来完成第一和第二引导中的至少一个的情况下从第二非易失性存储器中加载引导数据的指令(未示出)。与第二非易失性存储器相比,引导数据能够更快地从第一非易失性存储器140中加载。可以关于图3A和3B更详细地描述设备200的操作。
[0026]图3A和3B是用于加载引导数据的方法300的示例性流程图。尽管下文参考设备150描述了方法300的执行,能够利用用于执行方法300的其他合适的组件,诸如设备100或200。此外,用于执行方法300的组件可以散布在多个设备之中(例如,与输入和输出设备通信的处理设备)。在某些情况下,协调地作用的多个设备能够被视作用以执行方法300的单个设备。方法300可以以存储在诸如存储介质210之类的机器可读存储介质上的可执行指令的形式和/或以电子电路的形式来实现。
[0027]在方框310处,设备150从第一非易失性存储器140的第一部分142中加载引导数据来完成设备100的第一引导。例如,设备150可以访问指令以将设备150的OS的图像从第一非易失性存储器140加载到诸如RAM之类的另一个存储器。一旦OS已经被加载,第一引导就可以被完成。然后,在方框320处,设备150将在第一非易失性存储器140的第一部分142处的引导数据存储到第二非易失性存储器160。接下来,在方框330处,设备150释放第一非易失性存储器140的第一部分142以允许设备150重写第一部分。在方框330处的释放可以包括使用第一非易失性存储器140的第一部分142作为高速缓存来存储设备150的高速缓存数据。在稍后的时间,在设备150断电之前,在方框340处,设备150将在第一非易失性存储器140处的高速缓存数据存储到第二非易失性存储器160。高速缓存数据可以被重用,诸如在设备100的第二引导之后被恢复到第一非易失性存储器140的第一部分 142。
[0028]然后,在方框350处,在设备150进入降低功率状态之前,设备150将在第二非易失性存储器160处的引导数据写到第一非易失性存储器140。在方框360处,在设备150进入降低功率状态之后,设备150的第二引导是否已经被发起。如果第二引导没有发生,则方法300结束。否则,在方框370处,设备150从第一非易失性存储器140中加载所写的引导数据来完成设备150的第二引导。在方框380处,确定是否从第一非易失性存储器140中成功地加载所写的引导数据。如果所写的引导数据被成功地加载,则方法300结束。否则,在方框390处,设备150从第二非易失性存储器160中加载引导数据。与第二非易失性存储器160相比,引导数据能够更快地从第一非易失性存储器140中加载。
[0029]根据前文,实施例提供一种方法和/或设备,所述方法和/或设备用于增加可使用的高速缓存空间(诸如第一非易失性存储器的高速缓存空间)的量,而当设备引导时允许从第一非易失性存储器中加载引导数据。因此,实施例可以减少设备的引导时间和数据等待时间。例如,实施例可以当设备在使用中的同时将引导数据存储在第二非易失性存储器处,并且然后在设备进入降低功率状态之前将所述引导数据存储回第一非易失性存储器。在下一次引导时,可以同样从第一非易失性存储器中加载引导数据。
【权利要求】
1.一种用于存储器分配的方法,包括: 从第一非易失性存储器的第一部分中加载引导数据以完成设备的第一引导; 释放第一非易失性存储器的第一部分以允许所述设备重写所述第一部分;以及在所述设备进入降低功率状态之前,将所述引导数据写到第一非易失性存储器,其中在第二引导被发起的情况下,所写的引导数据要从第一非易失性存储器中被加载以完成所述设备的第二引导。
2.根据权利要求1所述的方法,进一步包括: 在所述释放之前,将所述引导数据存储到第二非易失性存储器,其中 所述写将所述引导数据从第二非易失性存储器写到第一非易失性存储器。
3.根据权利要求1所述的方法,其中所述释放包括使用第一非易失性存储器的第一部分作为用以存储高速缓存数据的高速缓存。
4.根据权利要求3所述的方法,进一步包括: 在所述写之前,将在第一非易失性存储器处的高速缓存数据存储到第二非易失性存储器。
5.根据权利要求1 所述的方法,其中所述第一非易失性存储器具有比第二非易失性存储器更低的访问时间。
6.根据权利要求5所述的方法,其中所述第一非易失性存储器包括闪速存储器,并且所述第二非易失性存储器包括磁性存储介质。
7.根据权利要求1所述的方法,进一步包括: 在不能从第一非易失性存储器中加载所述引导数据以完成所述第一和第二引导中的至少一个的情况下,从第二非易失性存储器中加载所述引导数据,其中 与第二非易失性存储器相比,所述引导数据能够更快地从第一非易失性存储器中加载。
8.—种设备,包括: 第一非易失性存储器,用以在第一部分处存储引导数据,所述引导数据用以完成所述设备的第一引导; 高速缓存模块,用以在从第一非易失性存储器中加载引导数据之后将高速缓存数据写到第一非易失性存储器的第一部分;以及 引导模块,用以在所述设备进入降低功率状态之前将所述引导数据写到第一非易失性存储器,其中 在第二引导被发起的情况下,所写的引导数据要从第一非易失性存储器中被加载以完成所述设备的第二引导。
9.根据权利要求8所述的设备,进一步包括: 用以存储所述引导数据的第二非易失性存储器,其中 在所述高速缓存模块将高速缓存数据写到第一非易失性存储器的第一部分之前,所述引导模块要将所述引导数据写到第二非易失性存储器,并且 在所述设备进入降低功率状态之前,所述引导模块要将在第二非易失性存储器处的引导数据写到第一非易失性存储器。
10.根据权利要求8所述的设备,其中在所述设备进入降低功率状态之前,所述高速缓存模块要将在第一非易失性存储器处的高速缓存数据存储到第二非易失性存储器。
11.根据权利要求8所述的设备,其中所述第一非易失性存储器包括闪速存储器,并且所述第二非易失性存储器包括磁性存储介质,所述第一非易失性存储器具有比所述第二非易失性存储器更低的访问时间。
12.根据权利要求11所述的设备,其中在不能从第一非易失性存储器中加载所述引导数据以完成所述第一和第二引导中的至少一个的情况下,所述引导数据要从第二非易失性存储器中被加载。
13.一种存储指令的非临时机器可读存储介质,如果被设备的处理器执行,所述指令使所述处理器进行以下动作: 从第一非易失性存储器的第一部分中加载引导数据以完成设备的第一引导; 释放第一非易失性存储器的第一部分以允许所述设备重写所述第一部分;以及在所述设备进入降低功率状态之前,将所述引导数据写到第一非易失性存储器,其中在第二引导被发起的情况下,所写的引导数据要从第一非易失性存储器中被加载以完成所述设备的第二引导。
14.根据权利要求13所述的非临时机器可读存储介质,进一步包括指令,如果被所述处理器执行,所述指令使所述处理器进行以下动作: 在所述第一部分被释放前,将在第一非易失性存储器的第一部分处的引导数据存储到第二非易失性存储器,其中 所述引导数据被从第二非易失性存储器写到第一非易失性存储器。
15.根据权利要求14所述的非临时机器可读存储介质,进一步包括指令,如果被所述处理器执行,所述指令使所述处理器进行以下动作: 在不能从第一非易失性存储器中加载所述引导数据以完成所述第一和第二引导中的至少一个的情况下,从第二非易失性存储器中加载所述引导数据,其中 与第二非易失性存储器相比,所述引导数据能够更快地从第一非易失性存储器中加载。
【文档编号】G06F12/00GK103999042SQ201180075899
【公开日】2014年8月20日 申请日期:2011年10月26日 优先权日:2011年10月26日
【发明者】J.J.布里登, F.C.托马斯三世, W.A.加斯帕德 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1