于休眠机制的方法及其计算机系统的制作方法

文档序号:6444230阅读:165来源:国知局
专利名称:于休眠机制的方法及其计算机系统的制作方法
技术领域
本发明涉及一种于休眠机制的方法及其计算机系统。
背景技术
由于Google公司公开了 Android作业系统的程序码,这个作业系统非常适合在嵌入式装置上执行,因此于手机、平板计算机、智能型电视、车用计算机等产品的开发上,不只可以利用硬件设计予以差异化,还可以修改Android的软件设计予以差异化。快速开机让数字信息变得更加垂手可得,使得数字家电「随开随得」。大部分的智能型装置将关机按钮设定为「处于待机模式」(standby)而非真正的关机模式。待机模式虽然可以有效的缩短等待时间,但整个电子系统依然持续的消耗电力,这样的技巧属于「高耗电型快速开机」。待机模式所消耗的电力,让全世界的二氧化碳排放量增加I %,为此我们需要开发高速开机的方法。欧盟已经决议智能型家电于不使用时,其耗电量必须小于0.1瓦,因此产业界需要一种快速开机的方法。现行的快速开机的方法,有些是基于休眠机制而达成。另外,目前大多数的嵌入型装置,例如数码相机、导航装置、智能型手机、平板计算机,都使用快闪记忆体(flash drive)作为储存装置。然而快闪记忆体有写入次数的限制,对使用者而言,将造成不便,故这是为一个必须克服的问题。

发明内容
本发明的目的在于提供有关于一种于休眠机制的方法及其计算机系统。根据一实施例,提出一种于休眠机制的方法,适用于一计算机系统,包括以下步骤。(a)在计算机系统进行一休眠机制的前置处理,其中计算机系统的至少一主记忆体中非换出记忆体(non-swappable memory)区分为多个非换出区段,各个非换出区段对应到一状态值用以代表该非换出区段的内容是否有改变。(b)在计算机系统进入休眠机制的一休眠状态过程中,对于各个非换出区段,利用该非换出区段的状态值判断是否要将该非换出区段写入到至少一储存装置中,其中若判断结果表示该非换出区段的内容有改变,将该非换出区段写入到该计算机系统的至少一储存装置中;若判断结果表示该非换出区段的内容没有改变,则在休眠状态过程中,计算机系统不会将该非换出区段写入到计算机系统的至少一储存装置中。根据一实施例,提出一种计算机系统,包括:至少一主记忆体、至少一储存装置;以及至少一处理单元,耦接该至少一主记忆体及该至少一储存装置。至少一处理单元进行一休眠机制的前置处理,其中至少一主记忆体中非换出记忆体(non-swappable memory)区分为多个非换出区段,各个该些非换出区段对应到一状态值用以代表该非换出区段的内容是否有改变;其中在计算机系统进入该休眠机制的一休眠状态过程中,对于各该些非换出区段,至少一处理单元利用该非换出区段的状态值判断是否要将该非换出区段写入到至少一储存装置中,其中:若判断结果表示该非换出区段的内容有改变,至少一处理单元将该非换出区段写入到至少一储存装置中;若判断结果表示该非换出区段的内容没有改变,则在休眠状态过程中,至少一处理单元不会将该非换出区段写入到该至少一储存装置中。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为依据一实施例的计算机系统的方框图;图2为一种于休眠机制的方法的一实施例的流程图;图3示意主记忆体与次记忆体的关系的示意图;图4为依据图2的方法的一实施例的流程图;图5是为应用图4的实施例于一计算机系统的一实施例的方框图;图6为依据图2的方法的另一实施例的流程图;图7为应用图6的方法的另一实施例的流程图;图8为应用图6的实施例于一计算机系统的一实施例的方框图。其中,附图标记1、5、8:计算机系统10:处理单元12:主记忆体121:第 I 部分122:第 2 部分1210:非换出记忆体14:储存装置16:显示模组141:互换空间142:文件系统143:休眠档50、80:系统载入软件51:记忆体管理单元81:读写控制器ST:状态表MT:表格S10、Sll、Sill、S113、S115:步骤S12、S121、S123:步骤S20、S201、S203、S205:步骤S22、S221、S223、S225、S2251、S2253、S2255:步骤
具体实施例方式下面结合附图对本发明的结构原理和工作原理作具体的描述:以下提供一种于休眠机制的方法以及其计算机系统的实施例。图1是为依据一实施例的计算机系统的方框图。如图1所示,一计算机系统I包括一处理单元10、一主记忆体12以及一储存装置14。处理单元10例如为单核心或多核心的处理器,又计算机系统I可为一单晶片系统。主记忆体12例如为RAM、SDRAM等的挥发性记忆体。储存装置14是用作计算机系统I的次记忆体(secondary storage),例如是非挥发性记忆装置,如快闪记忆体,可用于储存计算机系统I的互换空间141、文件系统142及休眠文件143。基于图1的计算机系统I的示意图,可以按照各种应用而实现为各种个人计算机或嵌入型装置,如移动装置、多媒体、通讯或网络装置,例如利用一显示模组16,如触控屏幕以及其他配合的硬件模组,而成为智能型手机或上网装置或平板计算机。图示及实施例说明的主记忆体、储存装置、以及处理单元以一方框图示意;但本案实施例的主记忆体、储存装置以及处理单元可以是至少一个,不限于一个。例如计算机系统可包括:多个处理单元例如是多核心的处理器或多处理器。又如主记忆体(或次记忆体)均可由多个相对的记忆装置所组成。图2是为一种于休眠机制的方法的一实施例的流程图。请参考图3示意的主记忆体与次记忆体的关系的示意图。此方法能于实施的一休眠机制的如图1的计算机系统I进入休眠状态时,减少从主记忆体12写入到储存装置14的写入动作,尤其是减少主记忆体12中非换出记忆体(non-swappable memory) 1210写入到储存装置14的数据量。请同时参考图1、图2及图3。图2的方法能适用于如图1的计算机系统I。如步骤SlO所示,在计算机系统I进行一休眠机制的前置处理,其中计算机系统I的主记忆体12中非换出记忆体1210区分为多个非换出区段如2、4和多个,各个这些非换出区段对应到一状态值用以代表该非换出区段的内容是否有改变。请参考图3,在主记忆体12中不同区域,可分为两类型,第I类型为可换出记忆体(swappable)和第2类型为非换出记忆体(non-swappable)。非换出记忆体可能包括计算机系统I所执行的作业系统核心(kernel)部分、应用程序或是硬件相关的状态数据。在一般操作下,作业系统不会换出被设定为非换出记忆体的任何记忆体区域。而步骤SlO的做法,是针对进入休眠状态的需要,故前置处理进一步分割非换出记忆体1210为多个区段,并赋予对应的状态值。而状态值的集合可视为这些非换出区段的一状态表ST。又这些区段可以具有相同或不同大小。在步骤SlO的前置处理之后,如步骤S20所示,在计算机系统I进入该休眠机制的一休眠状态过程中,对于这些非换出区段的各个非换出区段,判断是否要将该非换出区段写入到储存装置14中。步骤S201,利用该非换出区段的状态值判断是否要将该非换出区段写入到储存装置14中。若步骤S201的判断结果表示该非换出区段的内容有改变,如步骤S203所示,将该非换出区段写入到计算机系统I的储存装置14中,例如写入到互换空间(swap space) 141、文件系统 142、或休眠文件(hibernation file) 143 之中。若步骤 S201的判断结果表示该非换出区段的内容没有改变,则在休眠状态过程中,计算机系统I不会将该非换出区段写入到储存装置14中,如步骤S205所示意。在一般休眠机制的实作中,在计算机系统I每次进入休眠状态之时,都是把非换出记忆体1210全部写出到非挥发性记忆体。本发明实施例让非换出记忆体进一步区分为多个区段的处理及设定对应的状态值,并进一步应用在进入休眠状态之时,只针对内容有改变的非换出区段写入到储存装置中。原则上,此实施例能增进计算机系统I在休眠或复苏或基于休眠苏醒机制的快速开机的速率。此外,在一实施例中,对于利用具有写入次数限制的非挥发性记忆体如快闪记忆体作为储存装置14时,由于非挥发性记忆体使用寿命与写入到非挥发性记忆体的数据量(data size)具有相关性,故此缩减写入到储存装置14的数据量,原则上可有效增加储存装置14的寿命。此外,在实作步骤S20之时,可在进入休眠状态过程中建立一表格(如图3所示意的表格MT)用以描述非换出记忆体1210的各个区段在储存装置14中的记忆位置。在实作一休眠机制中,此表格MT可用以描述如何自互换空间141、文件系统142、或休眠文件(hibernation file) 143之中重建出非换出记忆体1210。再者,在一实施例中,在从步骤S20的休眠状态复苏后,若计算机系统I再次进入休眠状态,则可依据步骤S20进行,直至计算机系统I重新开机(如冷开机或温开机)则又可从步骤SlO开始实施此方法。此外,在其他实施例中,基于休眠机制实现的快速开机方法,也可利用图2的方法。以下基于图2的方法以其他实施例说明如下。实施例一在此实施例中,以Linux或基于它的作业系统为例,以说明计算机系统中实作方式。例如TuxOnIce及swsusp是Linux上主要的实现软件休眠复苏(software suspend)的软件套件。TuxOnIce为swsusp的下一代软件,它改良自swsusp,具有较快速的休眠及回复时间。本实施例中,基于Linux上的TuxOnIce作为实施例的运作平台。在说明在此运作平台上实现图2的方法的实施例之前,首先描述TuxOnIce于产生写入到储存装置14 (如非挥发性记忆体或硬盘等装置)的影像文件时的做法,是分为两个步骤。请参考图3,TuxOnIce将主记忆体12分别两部分:第I部分121和第2部分122。第I步骤将图3中的第2部分写出到次记忆体,如储存装置14。第2步骤将第I部分写出到次记忆体。第I步骤的主要目的,是让系统有足够的自由空间,使得执行第2部步骤时,第2步骤有足够的工作记忆体(working memory),此工作记忆体可以确保第2步骤为「一次性写入」(即不可分割写入,或atomic write)。如果系统中大部分的主记忆体为非换出记忆体,那么TuxOnIce无法于第I步骤将足够多的记忆体写出到次记忆体,因此会造成第2步骤无足够的工作记忆体。TuxOnlce将回报错误给使用者,告知使用者无法进入休眠模式,这个情况我们将不再讨论。大部分的情况下,系统中大部分的记忆体隶属于第I部分,第I部分中有相当一部分的记忆体为非换出记忆体。在这个状况下,TuxOnlce将会把第I部分制作成单一的影像文件(image file),此影像文件将会一次性的写入,成为休眠文件(hiberfile)。此休眠文件可以存放于文件系统或者互换空间中。此休眠文件甚至于可以储存于系统以外的实体装置中,如网络储存装置(network storage)如云端储存(cloud storage)等装置中。利用TuxOnIce的休眠模式(Suspend to disk或hiberation)应用于储存装置14 (如快闪记忆装置)上时,第2部分的换出记忆体,将通过虚拟记忆体(virtual memory)以「页出」(即逐页输出,page-out)的方式写出,因此重复性的数据(在次记忆体上具有相同的副本)不会进行真正地写出动作。然而,TuxOnIce对于第I部分的记忆体是一次性地写出,因此第I部分的记忆体中的重复性的数据需要进行真正的写出到次记忆体中。实施例一是要减少第I部分的记忆体写出到次记忆体的动作。故此在实施图2的步骤SlO时,是使用计算机系统的一记忆体管理单元(memory management unit, MMU)来检测各个非换出区段是否有被修改过并据以记录这些非换出区段所对应的状态值,例如是利用记忆体管理单元中的非清白位(dirty bit)作为判断的依据。依据实施例一,改变TuxOnIce的「休眠机制」为:如果一非换出区段未被修改过,不会将该非换出区段写出到次记忆体中。请参考图4,图4是为依据图2的步骤SlO及S20的一实施例。图5是为应用图4的实施例于一计算机系统的一实施例的方框图。如图4所示,步骤Sll是图2的步骤SlO的前置处理的一实施例,包括:步骤S111、S113及S115。步骤S111,在计算机系统5的一次冷开机后的第一次进入休眠(swap-before-hibernate)时,处理单元10将主记忆体12中非换出记忆体储存于该储存装置14中。例如,将所有的非换出记忆体的状态值设为非清白(dirty),故在第一次进入休眠时,处理单元10如步骤Slll的方式进行。步骤S113,从第一次休眠苏醒(resume)时,处理单元10自储存装置14读取非换出记忆体并写入到主记忆体12中。步骤S115,使用计算机系统5的一记忆体管理单元(MMU) 51来检测各个非换出区段是否有被修改过并据以产生各个非换出区段所对应的状态值。例如,在步骤S113之后,将所有的非换出记忆体区分出来的非换出区段(如包括核心记忆体)设定为清白(clean),故步骤S115的实现就是将记忆体管理单元51设定为:非换出区段(如包括核心记忆体的区段)一旦被修改,就会将该区段标示为非清白(dirty)。在步骤Sll的前置处理之后,步骤S201,在计算机系统5进入休眠机制的一休眠状态过程中,对于这些非换出区段的各个非换出区段,利用该非换出区段的状态值(即非清白位的目前数值)判断是否要将该非换出区段写入到储存装置14中。若步骤S201中,该非换出区段的状态值为非清白,判断结果表示该非换出区段的内容有改变,如步骤S203所示,将该非换出区段写入到计算机系统I的储存装置14中。若步骤S201中,该非换出区段的状态值为清白,判断结果表示该非换出区段的内容没有改变,则在休眠状态过程中,计算机系统5不会将该非换出区段写入到储存装置14中,如步骤S205所示意。此外,在图5中的记忆体管理单元51,除了如耦接于处理单元I及主记忆体12之间,也可利用处理单元内建记忆体管理单元代替。实施例二实施例二与实施例一的差异在于:利用处理单元执行的方法或其他的硬件装置取代记忆体管理单元的功能,且计算机系统是依据各个非换出区段的内容,产生对应的状态值。例如是利用计算机装置的处理单元来计算状态值。又例如图8所示意的计算机系统8利用一额外的硬件装置,如耦接于主记忆体12及储存装置14的一读写控制器81来计算状态值,其中读写控制器81用于控制主记忆体12及储存装置14之间数据的读写。计算的方式,如利用一杂凑函数(Hash function)依据各非换出区段内容而产生对应的特征值作为前述的状态值。该特征值可据以检测非换出区段是否被修改过。该特征表格的初始值例如为一个魔数(magic number)。在上述图8的实施例中,计算机系统8包括一读写控制电路81,耦接于该主记忆体12和该储存装置14之间,用以依据各该些非换出区段的内容,产生对应的状态值。请参考图6,图6是为依据图2的步骤SlO及S20的另一实施例。图8是为应用图6的实施例于一计算机系统的一实施例的方框图。如图6所示,步骤S12是图2的步骤SlO的前置处理的一实施例,包括:步骤S121、S123。步骤S121,在计算机系统(如I或8)的一次冷开机后的第一次进入休眠时,依据这些非换出区段产生对应的状态值(如前述的特征值)以作为一状态表(如图3所示意的状态表ST),将主记忆体12中非换出记忆体1210及状态表ST储存于储存装置14中。步骤S123,从第一次休眠苏醒时,自储存装置14读取非换出记忆体并写入到主记忆体12中。在步骤S12的前置处理之后,进行步骤S22,其中步骤S22是图2的步骤S20的一实施例。步骤S221,在计算机系统I或8进入休眠机制的一休眠状态过程中,对于这些非换出区段的各个非换出区段,比较依据该非换出区段的内容所产生的一目前的状态值(如以Hash所计算的特征值)是否与该状态表中的对应的一状态值是否相同,以判断是否要将该非换出区段写入到该储存装置14中。若步骤S221中,若目前的状态值与状态表中的对应的状态值不相同,表示该非换出区段的内容有改变,如步骤S223所示,则处理单元将该非换出区段写入到该储存装置14中。若步骤S221中,若比较结果为相同,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到储存装置14中,如步骤S225所示意。此外,又上述步骤S221中,若比较结果相同,对于利用杂凑函数(Hash function)来计算的特征值来说,实质上表示主记忆体中的该非换出区段与储存装置14中对应区段的数据内容「非常可能」完全一致,即完全相同的机率很高。在某些情况下,例如:强调高效能或者低耗电或其他的一运作状态下,可以视为一致,因此如步骤S225,不需要将该非换出区段写出。另一些情况下,例如:强调系统的高度稳定性或其他的另一运作状态下时,可以进一步作确认。例如在一实施例中,如图7所示,步骤S2251,计算机系统比较该非换出区段与储存装置14中对应的状态值关联的区段的内容是否一致,例如:逐字元(byte)的比较或部分的内容比较或其他的计算方式,以确定该非换出区段的数据是否与储存装置14中对应的区段的数据完全相同。若步骤S2251中,比较结果为不一致,表示该非换出区段的内容有改变,如步骤S2255所示,则计算机系统将该非换出区段写入到该储存装置14中。若步骤S2251中,若比较结果为一致,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到储存装置14中,如方框S2253所示意。又计算机系统(如1、5或8)开机时,将由作业系统或BIOS或开机载入程序(bootloader)等系统载入软件50或80载入第I部分的记忆体,由于第I部分的记忆体可能以不连续的方式(如图3中由箭头所示的非换出记忆体1210的区段对应到储存装置14中的不同记忆位置),存放于多个以上的装置(如Linux中视为装置的互换空间141、文件文件系统142及休眠文件143)。因此系统载入软件50将先读入一表格(如图3中的表格MT),并依照此表格MT的记载,重建第I部分的记忆体。该表格MT,可以存放于次记忆体上,或者该表格为快闪记忆体翻译层(flash translation layer, FTL)。虽然上述以Linux的平台为例,但不限于此,可基上述实施例,实施例于其他作业系统如BSD及Windows等。上述叙述了于休眠机制的方法及其计算机系统的实施例。此方法的实施例,原则上能增进计算机系统在休眠或复苏或基于休眠苏醒机制的快速开机的速率。此外,在一实施例中,对于利用具有写入次数限制的非挥发性记忆体如快闪记忆体作为储存装置时,由于非挥发性记忆体使用寿命与写入到非挥发性记忆体的数据量具有相关性,故此缩减写入到储存装置的数据量,原则上更可有效增加储存装置的寿命。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种于休眠机制的方法,适用于一计算机系统,其特征在于,包括: (a)在该计算机系统进行一休眠机制的前置处理,其中该计算机系统的至少一主记忆体中非换出记忆体区分为多个非换出区段,各个该些非换出区段对应到一状态值用以代表该非换出区段的内容是否有改变; (b)在该计算机系统进入该休眠机制的一休眠状态过程中,对于各该些非换出区段,利用该非换出区段的该状态值判断是否要将该非换出区段写入到至少一储存装置中,其中: 若该判断结果表示该非换出区段的内容有改变,将该非换出区段写入到该计算机系统的该至少一储存装置中; 若该判断结果表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到该计算机系统的该至少一储存装置中。
2.根据权利要求1所述的于休眠机制的方法,其特征在于,该步骤(a),是使用该计算机系统的一主记忆体管理单元来检测各该些非换出区段是否有被修改过并据以记录各该些非换出区段所对应的该状态值。
3.根据权利要求1所述的于休眠机制的方法,其特征在于,该步骤(a),包括: 在该计算机系统的一次冷开机后的第一次进入休眠时,将该至少一主记忆体中非换出记忆体储存于该至少一储存装置中; 从该第一次休眠苏醒时,自该至少一储存装置读取该非换出记忆体并写入到该至少一主记忆体中; 使用该计算机系统的一主记忆体管理单元来检测各该些非换出区段是否有被修改过并据以产生各该些非换出区段所对应的该状态值。
4.根据权利要求1所述的于休眠机制的方法,其特征在于,在该步骤(a)中,该计算机系统依据各该些非换出区段的内容,产生对应的该状态值。
5.根据权利要求4所述的于休眠机制的方法,其特征在于,该计算机系统是利用一杂凑函数依据该些非换出区段中各个区段的内容而产生对应的该状态值。
6.根据权利要求4所述的于休眠机制的方法,其特征在于,该计算机系统依据各该些非换出区段的内容,产生对应的该状态值,该步骤(a),包括: 在该计算机系统的一次冷开机后的第一次进入休眠时,依据该些非换出区段产生对应的该些状态值以作为一状态表,将该至少一主记忆体中非换出记忆体及该状态表储存于该至少一储存装置中; 从该第一次休眠苏醒时,自该至少一储存装置读取该非换出记忆体并写入到该至少一主记忆体中。
7.根据权利要求6所述的于休眠机制的方法,其特征在于,该步骤(b),包括: 对于该些非换出区段中各个区段: 比较依据该非换出区段的内容所产生的一目前的状态值是否与该状态表中的对应的一状态值是否相同,以判断是否要将该非换出区段写入到该至少一储存装置中,其中: 若该目前的状态值与该状态表中的对应的该状态值为不相同,表示该非换出区段的内容有改变,则将该非换出区段写入到该至少一储存装置中。
8.根据权利要求7所述的于休眠机制的方法,其特征在于,在该步骤(b)中: 若比较结果为相同,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到该至少一储存装置中。
9.根据权利要求7所述的于休眠机制的方法,其特征在于,在该步骤(b)中: 若比较结果为相同,还比较该非换出区段与该至少一储存装置中的与对应的该状态值关联的区段的内容是否一致;若比较结果为一致,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到该至少一储存装置中。
10.根据权利要求7所述的于休眠机制的方法,其特征在于,在该步骤(b)中: 若比较结果为相同且该计算机系统处于一第一运作状态下,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到该至少一储存装置中; 若比较结果为相同且该计算机系统处于一第二运作状态下,还比较该非换出区段与该至少一储存装置中的与对应的该状态值关联的区段的内容是否一致;若比较结果为一致,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到该至少一储存装置中。
11.一种计算机系统,其特征在于,包括: 至少一主记忆体; 至少一储存装置;以及 至少一处理单元,耦接该至少一主记忆体及该至少一储存装置,其中该至少一处理单元进行一休眠机制的前置处理,其中该至少一主记忆体中非换出记忆体区分为多个非换出区段,各个该些非换出区段对应到一状态值用以代表该非换出区段的内容是否有改变; 其中在该计算机系统进入该休眠机制的一休眠状态过程中,对于各该些非换出区段,该至少一处理单元利用该非换出区段的该状态值判断是否要将该非换出区段写入到该至少一储存装置中,其中:若该判断结果表示该非换出区段的内容有改变,该至少一处理单元将该非换出区段写入到该至少一储存装置中;若该判断结果表示该非换出区段的内容没有改变,则在该休眠状态过程中,该至少一处理单元不会将该非换出区段写入到该至少一储存装置中。
12.根据权利要求11所述的计算机系统,其特征在于,还包括一主记忆体管理单元,用以检测各该些非换出区段是否有被修改过并据以产生各该些非换出区段所对应的该状态值。
13.根据权利要求11所述的计算机系统,其特征在于,该至少一处理单元进行该休眠机制的前置处理,以: 在该计算机系统的一次冷开机后的第一次进入休眠时,该至少一处理单元将该至少一主记忆体中非换出记忆体储存于该至少一储存装置中; 该计算机系统从该第一次休眠苏醒时,该至少一处理单元自该至少一储存装置读取该非换出记忆体并写入到该至少一主记忆体中。
14.根据权利要求11所述的计算机系统,其特征在于,该至少一处理单元依据各该些非换出区段的内容,产生对应的该状态值。
15.根据权利要求11所述的计算机系统,其特征在于,还包括一读写控制电路,耦接于该至少一主记忆体和该至少一储存装置之间,用以依据各该些非换出区段的内容,产生对应的该状态值。
16.根据权利要求14或15所述的计算机系统,其特征在于,该计算机系统是利用一杂凑函数依据各该些非换出区段的内容,产生对应的该状态值。
17.根据权利要求14所述的计算机系统,其特征在于,该计算机系统依据各该些非换出区段的内容,产生对应的该状态值,该至少一处理单元进行该休眠机制的前置处理,以及 在该计算机系统的一次冷开机后的第一次进入休眠时,依据该些非换出区段产生对应的该些状态值以作为一状态表,将该至少一主记忆体中非换出记忆体及该状态表储存于该至少一储存装置中; 从该第一次休眠苏醒时,自该至少一储存装置读取该非换出记忆体并写入到该至少一主记忆体中。
18.根据权利要求17所述的计算机系统,其特征在于,该至少一处理单元进行该休眠机制的前置处理后,在该计算机系统进入该休眠机制的一休眠状态过程中,对于该些非换出区段中各个区段,该至少一处理单元: 比较依据该非换出区段的内容所产生的一目前的状态值是否与该状态表中的对应的一状态值是否相同,以判断是否要将该非换出区段写入到该至少一储存装置中,其中: 若该目前的状态值与该状态表中的对应的该状态值为不相同,表示该非换出区段的内容有改变,则该至少一处理单元将该非换出区段写入到该至少一储存装置中。
19.根据权利要求18所述的计算机系统,其特征在于,若比较结果为相同,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到该至少一储存装置中。
20.根据权利要求18所述的计算机系统,其特征在于,若比较结果为相同,该至少一处理单元更比较该非换出区段与该至少一储存装置中的与对应的该状态值关联的区段的内容是否一致;若比较结果为一致,表示该非换出区段的内容没有改变,则在该休眠状态过程中,该计算机系统不会将该非换出区段写入到该至少一储存装置中。
全文摘要
本发明公开一种于休眠机制的方法及其计算机系统。此方法包括以下步骤。在一计算机系统进行一休眠机制的前置处理,其中至少一主记忆体中非换出记忆体区分为多个非换出区段,各区段对应到一状态值用以代表该区段的内容是否有改变。在进入一休眠状态过程中,对于各个非换出区段,利用该区段的状态值判断是否要将该区段写入到至少一储存装置中,其中若判断结果表示该非换出区段的内容有改变,将该非换出区段写入到该计算机系统的至少一储存装置中;若判断结果表示没有改变,则在休眠状态过程中,计算机系统不会将该非换出区段写入到至少一储存装置中。
文档编号G06F9/445GK103176813SQ20111045218
公开日2013年6月26日 申请日期2011年12月29日 优先权日2011年12月21日
发明者罗习五, 曾绍崟 申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1