CN101246389A - 提供从休眠状态瞬时接通恢复的计算系统节电方法和装置 - Google Patents
提供从休眠状态瞬时接通恢复的计算系统节电方法和装置 Download PDFInfo
- Publication number
- CN101246389A CN101246389A CNA2007101929509A CN200710192950A CN101246389A CN 101246389 A CN101246389 A CN 101246389A CN A2007101929509 A CNA2007101929509 A CN A2007101929509A CN 200710192950 A CN200710192950 A CN 200710192950A CN 101246389 A CN101246389 A CN 101246389A
- Authority
- CN
- China
- Prior art keywords
- volatile
- cache
- memory device
- volatile cache
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明“提供从休眠状态瞬时接通恢复的计算系统节电方法和装置”。一种计算系统通过在长的不活动时间后进入S4状态可比S3状态节省更多的功率,并在通过用快速可访问非易失性高速缓存,从S4状态恢复时具有瞬时接通的能力。在该系统进入S4状态时,不将存储器内容存储到磁盘驱动器中,而将存储器内容高速缓存到非易失性高速缓存中。非易失性高速缓存可耦接到将磁盘驱动器与磁盘控制器连接的总线。从S4状态恢复时,存储器内容可从非易失性高速缓存中而不是慢速磁盘驱动器中读取。高速缓存和恢复过程都可按OS透明的方式执行。在高速缓存过程中可创建映射表并将其存储在非易失性高速缓存中,以在恢复过程中提供从非易失性高速缓存中的有效读取。
Description
相关申请
本申请涉及共同转让的美国专利申请Ser.No.xx/xxx,xxx(律师记录号No.42P24468),是由Ram Chary和Pradeep Sebastian共同申请的发明名称为“Configuring a Device for Operation on a Computing Platform(配置用于在计算平台上运行的设备)”,还涉及共同转让的美国专利申请Ser.No.xx/xxx,xxx(律师记录号No.42P24527),是由R.Hanebutte,RamChary,Pradeep Sebastian,Shubha Kumbadakone和Shreekant S.Thakkar共同申请的发明名称为“Method and Apparatus for Caching Memory Content on aComputing System to Facilitate Instant-On Resuming from a HibernationState.”(用于对计算系统上的存储器内容进行高速缓存以有助于从休眠状态瞬时接通恢复的方法和装置)”。
技术领域
本发明一般涉及计算机系统功耗的减少,特别是但不专门涉及为低功耗计算平台提供从休眠状态快速恢复的方法和装置。
背景技术
超高的机动性是当今个人电脑(PC)的发展趋势。用户希望许多PC、特别是膝上型PC具有整天的电池寿命和快速响应能力。为了延长电池寿命,PC需要积极地进入低功耗的静止状态,比目前绝大多数PC更加积极地进入这种状态。今天,大多数PC使用高级配置与电源接口(ACPI)来控制它们的功耗。ACPI使操作系统(OS)能够控制PC所消耗的电量。对于ACPI,在PC某段时间不活动时,OS能够使PC进入S4(休眠)状态或者S3(睡眠)状态。PC在S3状态下比在S4状态下消耗更多的功率。因此,为了延长电池寿命,从而变得更加灵活,希望使PC在较长时间不活动后进入S4状态。然而,虽然S4状态对节电来说是完美的,但是由于系统上下文被保存到硬盘驱动器(HDD)(以及从HDD中恢复回读),它就处于长等待时间的睡眠状态。假设手提PC通常需要使用微驱动器(来实现形状因素与成本目标),这会导致从3-4秒(S3恢复)到30多秒(使用微驱动器的S4恢复)宽变化的恢复时间。换句话说,虽然S4状态比S3状态节省更多的电能,但是它减慢了PC在苏醒(wakeup)过程中的响应时间,这在当今的快速计算环境中是不可接受的。因此,希望减少S4的恢复时间。
发明内容
根据本发明的第一方面,提供了一种在计算系统进入低功率状态时将存储器内容高速缓存到非易失性高速缓存中的方法,包括:
请求存储器内容写入非易失性存储设备中;
产生存储器内容的图像,所述存储器图像将被写入到非易失性存储设备中;
截取对非易失性存储设备的存储器图像的写入;以及
将该写入指引到非易失性高速缓存。
根据本发明的第二方面,提供了一种计算系统从低功率状态恢复的方法,所述方法包括:
请求从非易失性存储设备中读取存储器数据;
将读取请求指引到非易失性高速缓存;以及
如果存储器数据易于利用,则从非易失性高速缓存中读取存储器数据。
根据本发明的第三方面,提供了一种当计算系统从低功率状态恢复时从非易失性高速缓存中读取存储器数据的方法,包括:
请求从非易失性存储设备中读取一存储器数据块,所请求的数据块具有非易失性存储设备上的开始逻辑块地址;
将读取请求指引到非易失性高速缓存,所述非易失性高速缓存具有映射表;
确定reqLBA是否在映射表中;
如果reqLBA在映射表中,则根据映射表中的reqLBA和信息来确定所请求的数据块是否出现在非易失性高速缓存中;以及
如果所请求的数据块出现在非易失性高速缓存中,则从非易失性高速缓存中读取所请求的数据块。
根据本发明的第四方面,提供了一种提供从低功率状态瞬时接通恢复的计算系统,包括:
处理器;
耦接到所述处理器的主存储器;
耦接到所述处理器和主存储器的非易失性存储设备;以及
非易失性高速缓存,在计算系统进入低功率状态时,把将被写入到非易失性存储设备中的内容高速缓存到主存储器中,以及在计算系统从低功率状态恢复时为主存储器提供从非易失性存储设备中请求的数据;
其中,在计算系统已进入低功率状态后关掉处理器和主存储器的电源。
附图说明
所公开主题的特征和优点将从下面对该主题的详细描述中变得显而易见,其中:
图1表示一个示例计算系统,其中,ACPI可用于功率控制以及休眠恢复时间可被减少;
图2A和2B表示在计算系统进入休眠状态时如何存储休眠数据以及该系统从休眠状态下恢复时如何读取休眠;
图3A和3B表示使用非易失性高速缓存在PC进入休眠状态时如何存储休眠数据,以及在PC从休眠状态恢复恢复时如何读取休眠数据;
图4表示一种计算系统的框图,其中,在系统进入休眠状态/从休眠状态恢复时非易失性高速缓存可用于存储/读取休眠数据;
图5表示当计算系统进入休眠状态时将休眠数据高速缓存在非易失性高速缓存中的示例过程的流程图;
图6表示当计算系统从休眠状态恢复时从非易失性高速缓存中读取休眠数据的示例过程的流程图;
图7表示当计算系统进入休眠状态/从休眠状态恢复时存储到非易失性高速缓存中/从非易失性高速缓存中读取的示例映射表;
图8表示在从休眠状态恢复的过程中从非易失性高速缓存中读取休眠数据的示例过程的流程图;以及
图9表示在从休眠状态恢复的过程中从非易失性高速缓存中读取休眠数据的示例过程的伪代码。
具体实施方式
根据本申请公开主题的实施例,一种计算系统通过在长的不活动时间后进入S4状态(而不是S3状态)来保存电能,还能够从S4状态迅速地恢复以提供快速响应。不是将休眠数据存储在HDD中,非易失性高速缓存用于在系统进入S4状态时高速缓存休眠数据。非易失性高速缓存可以是闪存,可耦接将HDD与磁盘控制器相连的总线。在从S4状态恢复时,休眠数据可从非易失性高速缓存中读取,因此可减少恢复时间,因为非易失性高速缓存的存取等待时间大大地短于HDD的存取等待时间。高速存储和恢复过程都可按OS透明的方式(例如,通过存储驱动器和任选的只读存储器(ROM))来执行。通过使用有效的恢复过程可进一步减少恢复时间,该恢复过程依靠映射表来帮助搜索非易失性高速缓存中所期望的数据。此外,非易失性高速缓存还可用作磁盘高速缓存以改进输入/输出(I/O)性能和降低功耗。
本说明书中提及的所公开主题的“一个实施例”或“一实施例”是指结合该实施例描述的特定特征、结构或特性包含在一个或多个所公开主题的实施例中。因此,出现在整个说明书不同地方的短语“在一个实施例中”不一定都指同一实施例。
图1表示一个示例计算系统100,其中,ACPI可用于功率管理以及可减少S4恢复时间。计算系统100可包括与系统互连115耦接的一个或多个处理器110。处理器110可具有多处理或许多处理核心(为了描述的简便,下文中术语“多核心”将被用于包括多处理核心和许多处理核心)。计算系统100还包括耦接到系统互连115的芯片组130。芯片组130可包括一个或多个集成电路封装或芯片。芯片组130可包括一个或多个设备接口135以支持到和/或从计算系统100的其它部件160(例如,键盘、鼠标和网络接口等)的数据传送。设备接口135可通过总线165与其它部件160耦接。芯片组130可耦接到外设部件互连(PCI)总线185。芯片组130可包括给PCI总线185提供接口的PCI桥145。PCI桥145可提供处理器110以及其它部件160与外设、如音频设备180之间的数据路径。虽然未示出,但是其它设备也可耦接到PCI总线185。
此外,芯片组130可包括通过存储器总线155耦接到主存储器150的存储控制器125。主存储器150可存储由处理器110的多核心或包含在系统中的任何其它设备执行的数据和指令序列。存储控制器125可响应与处理器110的多核心或计算系统100中的其它设备相关联的存储事务来访问主存储器150。在一个实施例中,存储控制器125可设置在处理器110或一些其它电路中。主存储器150可包括各种存储器设备,它们提供存储控制器125能够从其中读取数据和/或写入数据的可寻址存储位置。主存储器150可包括一个或多个不同类型的存储器设备,如动态随机存取存储器(DRAM)设备、同步DRAM(SDRAM)设备、双数据速率(DDR)SDRAM设备或其它的存储器设备。
此外,芯片组130可包括通过总线195耦接到硬盘驱动器(HDD)190(或未在图中显示的其它磁盘设备)的磁盘控制器170。磁盘控制器170允许处理器110与HDD 190通信。在一些实施例中,磁盘控制器170可被集成到磁盘驱动器(例如,HDD 190)中。可存在不同类型的耦接磁盘控制器170和HDD 190的总线,例如,高级技术连接(ATA)总线和PCI Express(PCI-E)总线。
OS(未图示)可在处理器110中运行以控制计算系统100的操作。OS可使用ACPI通过系统中不同的部件来管理功耗。在ACPI下,存在四种睡眠状态S1至S4。将系统带回正常的苏醒工作状态所需的时间(苏醒等待时间)对于S1是最短,对于S2和S3是短的,而对于S4则不太短。S1是处理器和随机存取存储器(RAM)通电时功耗最大的睡眠模式。S2是比S1更深的睡眠状态,其中处理器是断电的。最普通的睡眠状态是S3和S4。在S3状态下,主存储器(RAM)150仍然被供电,用户能够快速精确地恢复他/她停止的工作-在计算机从S3回来时的主存储器内容与它进入S3时的相同。S4是休眠状态,在此状态下,主存储器150的内容保存到HDD 190中,从而保存了操作系统的状态、所有应用程序和打开的文件等。该系统在某段不活动时间后手动地或自动地进入S3(睡眠)状态或者S4(休眠)状态。
图2A表示图1中的计算系统100进入S4状态时将主存储器内容高速缓存到硬盘驱动器中的过程。当系统100在步骤210中进入S4状态时,OS指令产生存储器150的存储器图像(下文也被称为休眠数据或休眠文件)一旦产生存储器图像,它就被写入HDD 190中。图2A表示系统100从S4状态恢复的过程。在系统100从S4状态恢复时,OS指示对系统返回到它停止的位置必要的所有数据从HDD 190读取到存储器150中。在从S4状态恢复时,要读取的存储器数据的顺序可以与系统进入S4状态时高速缓存到HDD中的数据的顺序不同。
由于主存储器在S4状态没有被通电,因此系统在S4状态下比在S3状态下节省更多的电。但是,由于主存储器内容需要从硬盘驱动器中读取,因此从S4状态比从S3状态的恢复时间长。在使用微驱动器时,从S4状态的恢复时间甚至比使用通常的HDD的恢复时间长。对于超移动PC,希望具有瞬时接通恢复能力,同时还尽可能地节省功率(从而延长电池寿命)。因此,希望减少超移动PC从S4状态的恢复时间。根据本申请公开主题的一个实施例,非易失性高速缓存(NV高速缓存)可用于对主存储器内容进行高速缓存。例如,可增加NV高速缓存(未在图1中显示),并耦接到磁盘控制器170以在系统100进入S4状态时将内容高速缓存在存储器150中。在系统100从S4状态苏醒时,经高速缓储的存储器内容可从NV高速缓存中读取。因为NV高速缓存的存取等待时间短于HDD 150的存取等待时间。系统100在使用NV高速缓存从S4状态恢复时可实现瞬时接通的目的。
图3A和3B分别表示与没有使用NV高速缓存的图2A和2B相比较,使用了NV高速缓存图1中系统100进入S4状态时如何存储存储器内容以及系统100从S4状态恢复时如何读取存储器内容。在图3A中,当系统100在步骤310中进入S4状态时,OS命令存储器150的图像数据产生,并写入HDD 190中。但是,将存储器图像写入HDD中的请求被截取,该存储器图像被指引到NV高速缓存320中。在图3B中,当系统100在步骤330中从S4状态恢复时,OS请求经高速缓存的数据从HDD 190读回到存储器150中。但是,该读取请求被截取,该高速存储器数据实际上可从NV高速缓存320中读取。
图4表示计算系统400的框图,其中,非易失性高速缓存在系统进入S4状态时用于对休眠数据进行高速缓存以及在系统从S4状态恢复时用于读取休眠数据。系统400可包括应用层、OS层、控制器层和硬件层。应用层可包括非紧急的OS服务等距务程序405(例如,数据备份)和应用程序410(例如,MP3播放机)。OS层主要包括OS 320,它具有若干部分,如OS文件服务415、OS功率管理服务425、存储器驱动器430、OS/OEM(原始设备制造商)磁盘驱动器435和OS加载程序440。控制层可包括存储控制器460和磁盘控制器465。硬件层可包括存储器475、HDD 485和NV高速缓存490,以及存储器总线470和磁盘总线480。还设有固件层,它包括基本I/O系统(BIOS)和随机的ROM 455。注意这些层为描述的方便而使用,层之间的划分界线可以改变。
OS文件服务程序415提供服务程序给非紧急OS服务405和应用程序。例如,OS文件服务程序415处理非紧急OS服务405的非紧急写入;并有助于周期性应用程序的数据预取。应用层中的部分,如非紧急OS服务405和应用程序410不直接处理控制层和硬件层中的部分,而是通过OS部分来进行处理。例如,应用程序通过存储器驱动器430从存储器475中读取或写入存储器475中;通过OS/OEM磁盘驱动器从HDD 485中读取或写入HDD 485中。OS功率管理服务425可使用ACPI通过系统400中的不同部分来管理功耗。例如,在OS将系统置入休眠状态时,功率管理服务425请求产生存储器475中内容的图像,并将该图像写入HDD 485中。在完成图像写入HDD中后,功率管理服务425就关掉存储器475和固件层中其它固件部分的电源。OS功率管理服务425分别通过存储器驱动器和OS/OEM磁盘驱动器来与存储器和HDD通信。
存储器驱动器430和OS/OEM磁盘驱动器435用作OS和控制层之间的接口,并分别实现OS与存储器475和HDD 485之间的任何通信。在引导休眠状态或从休眠状态恢复时,BIOS引导服务加载存储介质的第一512字节。第一512字节通常包括OS第一级引导加载程序,它装载OS第二级加载程序(图4中显示为OS加载程序440)。OS第二级加载程序(440)将判定系统是否必须从S4恢复或从S5引导(ACPI断电状态)。OS第二级加载程序与BIOS/随机ROM(Option ROM)455一起工作以判定系统启动或运行前或者在系统从S4状态恢复时返回到它停止的状态之前需要运行什么。
存储控制器460和磁盘控制器465分别用作存储器475和HDD 485的OS的硬件方接口。存储控制器460和磁盘控制器465通常设置在芯片组内。但是,在一些计算系统中,可能不是在芯片组中,硬件方存储器和磁盘控制器可设置在使用合适软件驱动器在OS与存储器和HDD之间通信的相关芯片中。BIOS/随机ROM 455有助于确定系统在OS启动和运行前做什么。BIOS包括控制基本外设,如键盘、鼠标、显示屏、磁盘驱动器和串行通信等所需的固件代码。BIOS通常被标准化,特别是对于PC。为了定制BIOS控制的一些功能,可使用随机ROM,它被认为是BIOS的扩展以支持OEM(原始设备制造商)特定专有功能。在系统启动或从S4状态恢复时,BIOS调用存储在随机ROM中的代码。因此,如果用户希望系统从不同于标准启动过程中启动,那么用户可写入他/她自己的代码,并将其存储在随机ROM中。随机ROM还可包括访问存储控制器460和磁盘控制器465的专有代码。
根据本申请公开主题的一个实施例,NV高速缓存490可添加到系统400中。NV高速缓存可耦接到磁盘总线480并用于在系统进入S4状态时对存储器内容进行高速缓存。NV高速缓存可由闪存制成。在系统从S4状态恢复时,存储器内容(或休眠文件)能够从NV高速缓存而不是HDD中恢复。因为NV高速缓存的存取等待时间比HDD的存取等待时间短,因此从NV高速缓存中恢复存储器内容能够显著地减少恢复时间,从而为用户提供瞬时接通或接近瞬时接通的体验。此外,NV高速缓存还可用作正常苏醒工作状态下的磁盘高速缓存。作为磁盘高速缓存,NV高速缓存有助于改进系统的I/O性能,并由于磁盘能被较长时间地停止旋转因此可降低系统的平均功耗。而且,本文公开的主题可扩展到使用NV高速缓存(如闪存)作为与较慢的数据存储器结合的OS和应用程序的快速存储器。
在一个实施例中,使用NV高速缓存对存储器内容进行高速缓存以及恢复存储器内容可全部通过OS来实现。在另一个实施例中,该过程能够以OS透明的方式完成。例如,使用存储驱动器(例如,OS/OEM磁盘驱动器435)来完成将存储器内容高速缓储在NV高速缓存中;使用随机ROM中的代码来完成从NV高速缓存中恢复存储器内容。虽然图4中OS/OEM磁盘驱动器435作为OS的一部分示出,但是该驱动器可用OEM本身的驱动器替换而不会妨碍任何OS的功能。在以OS透明的方式实现使用NV高速缓存来高速缓储和恢复存储器内容时,NV高速缓存需要设置在某个类型的总线上。例如,OS可以仅将休眠文件写入通常位于特定总线(例如,ATA总线)上的引导驱动器中。而且OS可以在它高速存储休眠文件时的阶段前关掉二级总线(例如,PCI-E总线)。利用NV高速缓存,系统可通过进入S4状态较长的非活动时间来节省大量的功率,同时仍接近于超级移动计算机所需的“瞬时接通”能力。
图5是在计算系统进入S4状态时将存储器内容高速存储在非易失性高速存储器中的示例过程500的流程图。在步骤510中,计算系统进入S4状态。在步骤520中,作出存储器(RAM)内容写入HDD中的请求。在步骤530中,产生主存储器的内容图像(休眠文件),并准备写入HDD中。在没有NV高速缓存和系统的对应变化的前提下,休眠文件将直接写入HDD中。利用NV高速缓存,在步骤540中截取对HDD的写入。通常从HDD读取和写入HDD中是以SCSI请求块(SRB)的形式,它包括元数据(metadate)以及从HDD读取和写入HDD中的实际数据。除了其它信息,元数据包括HDD上的实际数据块的逻辑块地址和扇区中的数据块的大小。
在步骤550中,如果在数据块的NV高速缓存中没有足够可用的空间,就在每次写入时对数据块产生高速缓存图像。在步骤560中,高速缓存图像可写入NV高速缓存中。写入到NV高速缓存中的数据块的高速缓存图像的仍可采用SRB形式,但SRB的元数据需要包括NV高速缓存中的数据块的LBA。此外,专用于从HDD读取和写入HDD中的信息可以从高速缓存图像中去除。将HDD上数据块的LBA与NV高速缓存上相同数据块的地址相关联的映射表可在将数据块写入到NV高速缓存中时产生。在完成将存储器图像写入到NV高速缓存中后或NV高速缓存写满时,映射表可写入到NV高速缓存中。图7表示映射表的一个示例。在一个实施例中,存储器内容可在它写入NV高速缓存中的同时写入HDD中。写入NV高速缓存中和写入HDD中可以并行执行以便还通过将存储器内容写入HDD中而性能没有受到损害。在另一个实施例中,存储器内容写入到HDD中可以仅在NV高速缓存中没有高速缓存图像可用的足够空间时执行。
图6表示在计算系统从S4状态恢复时将休眠数据从NV高速缓存中读回到主存储器的示例过程600的流程图。在步骤610中,系统从S4状态恢复。在步骤620中,使用OS产生将存储器数据从HDD读回到主存储器中的请求。在步骤630中,该读取请求可被截取,并通过随机ROM中的代码被服务,这可将该读取请求重定向到NV高速缓存而不是HDD。在步骤640中,随机ROM中的代码可以确定被请求的数据是否易于在NV高速缓存中利用。如果被请求的数据易于在NV高速缓存中利用,那么被请求的数据将在步骤650中由NV高速缓存提供;否则,被请求的数据将在步骤660中由HDD提供。更加详细的恢复过程的具体示例以及它们相应的描述在图8和9中示出。
图7表示在计算系统进入S4状态/从S4状态恢复时存储在非易失性高速缓存中/从非易失性高速缓存中读取的示例映射表。当在系统进入S4状态时OS请求对存储器内容进行高速缓存时,OS认为存储器内容将被写入到HDD中,各数据片被写入到HDD内的不同地址中。而且在OS请求经高速存储的存储器内容读回到主存储器中时,它认为该存储器内容将从HDD中读取,因此各个读取请求包括HDD中的地址和被请求的数据大小。因为存储器内容实际上存储在NV高速缓存中以及从NV高速缓存中读取,因此希望具有一个表,该表将OS知道的HDD中的数据地址映射到NV高速缓存中它们对应的地址。
逻辑块地址(LBA)是规定存储在计算机存储设备,通常是二级存储系统,如硬盘中的数据块位置所使用的通用方案。术语LBA可以是地址或与地址相关的块。因为LBA最先是围绕SCSI(小型计算机系统接口)驱动器来开发的,因此LBA经常与SCSI请求块(SRB)一起提及。在LBA方案中,磁盘上的块用索引进行简单地设置,第一块的LBA=0,第二块的LBA=1等等。绝大多数现代计算机,特别是PC,支持LBA方案。在OS发送数据请求(或者是写请求或者是读请求)给HDD时,该请求通常包括LBA——HDD中数据块的逻辑开始地址,以及扇区数——磁盘中数据块的大小。通常在存储磁盘术语中,扇区还被认为是逻辑块。为了便于描述,在本申请中数据块被认为是邻近扇区的序列。
再看图7,其中表示的映射表700包括至少三列:710、720和730。列710包括HDD中的LBA块,列730包括列710中所示的LBA的NV高速缓存中的映射地址。列720包括扇区数(或列710所示的HDD中的LBA块的大小)。列740示出一些包含在映射表700中的附加信息。注意对于其它信息可以有多个包含在表中的附加列。映射表700还包括表示列710中的LBA、列720中的对应块大小和列730中NV高速缓存中LBA的映射地址之间关系的一些示例。例如,HDD中的块1的LBA可以是A,块1具有X个扇区;其在NV高速缓存中的地址是A’。映射表中的行是条目,映射表中的这些条目可通过HDD中的LBA进行排序,通过NV高速缓存中的地址或扇区数进行映射。为了易于检索,可对映射表中的条目编制索引(如表700所示)。该映射表是在系统进入S4状态(在主存储器的电源关闭前)时构建的。
对于下面的描述,为了方便起见使用了数个符号。具体地说,reqLBA是请求读取的数据块的逻辑开始地址;reqLBACount表示准备从reqLBA开始读取的扇区数;以及cacheLBA是NV高速缓存中被请求的数据块的实际逻辑开始地址。tableLBA[i]是映射表条目中的数据块的逻辑开始地址;tableLBACount[i]是表条目中的扇区数;tableLCacheLBA[i]是表条目中映射数据块的逻辑开始地址;其中I是表中的条目索引。基本上,tableLBA[i]、tableLBACount[i]和tableLCacheLBA[i]分别对应于条目i的列710、720和730中的值。
图8是在从S4状态恢复的过程中从非易失性高速缓存中读取休眠数据的示例过程800的流程图。与图6所示的过程600相比,过程800可被认为是特定的实施例。过程800起始于步骤805。在步骤810中,执行检查以确定reqLBA是否能在映射表中利用。不是通过整个映射表搜索,通过将reqLBA与映射表中的第一个和最后一个条目进行比较们,可进行快速检查。映射表中的条目可按LBA的升序进行排列,使得最小编号的LBA作为第一个条目,而最大编号的LBA作为表的最后一个条目。如果reqLBA超出映射表的范围,则在步骤855中可返回值为-1,这表示OS所请求的块不在NV高速缓存中;该过程在步骤860结束;所请求的块可以从HDD中读取。
在过程800开始于步骤805时,如果reqLBA恰好是第一个,那么当前的条目索引用映射表中的第一个条目的索引(即,0)来进行初始化;如果reqLBA不是第一个,那么当前的条目索引使用某个条目索引来进行初始化,在该条目处,该过程已经停止搜索在前的reqLBA。如果在步骤810中reqLBA被确定为处于映射表的范围内,那么就通过在步骤815中检查reqLBA是否在映射表中的当前条目中可用,来执行进一步检查以确定该请求是否在映射表中真正可用。该进一步检查可按循环线性方式进行。该检查可从其已经停止搜索在前的reqLBA处的条目开始搜索。在到达表中最后条目后,搜索返回第一条目,并继续进行,直到已经停止搜索在前reqLBA处的条目之前的条目。
对于将出现在表条目中的reqLBA,该reqLBA应该大于或等于数据块的当前表条目的开始地址;(reqLBA+reqLBACount)应该小于或等于数据块的表条目的开始地址加上扇区中表条目的数据块大小。在步骤815中检查的目的不是要了解是否仅有一部分reqLBA在表条目中可用。在高速缓存过程中,具有连续LBA的所有数据块进行合并,并在映射表中仅以一个条目显示。而且当系统从S4状态恢复时,绝大多数被请求的数据块通常具有连续的LBA。因此,如果仅有一部分reqLBA在表条目中可用,那么被请求的块被分离,即,它的一部分在NV高速缓存中,一部分在HDD中。在分离数据块的情况下,部分从NV高速缓存以及部分从磁盘提供该请求比从磁盘提供该请求的成本要高,因为它在提供数据块给OS之前需要多个请求和一个合并。因此,开始于reqLBA的整个块在表条目中对于被认为出现在表中的reqLBA应该是可用的。
如果reqLBA不在当前条目中,则在步骤820中,当前条目索引可用映射表中的下一个条目的索引来进行设定。步骤830确定映射表中最后一个条目是否已经针对reqLBA进行检查。最后条目是否刚被检查可以通过当前条目索引是否等于条目的总数来进行确定。如果当前条目索引等于映射表中条目的总数,那么最后一个条目就刚被检查过。然后在步骤845中,当前条目索引可被重新设定为映射表中的第一个条目的索引。如果最后一个条目还没被检查过,那么在步骤815中针对reqLBA来检查映射表中的下一个条目。步骤850确定当前条目索引是否等于最后一个索引,该最后一个索引是该过程已经停止搜索在前reqLBA处的条目的索引。如果结果是“否”,则在步骤815中针对reqLBA来检查映射表中的下一个条目;否则,在步骤855中返回值“-1”,它表示reqLBA没有出现在映射表中,该过程在步骤860结束。
在步骤815中,一旦在当前条目中发现reqLBA,NV高速缓存中的reqLBA的开始地址,即cacheLBA,就在步骤835中通过将reqLBA与tableLBA[i]的偏差加到tableCacheLBA[i]中进行计算,其中i是当前表条目的索引。注意被请求的数据块的开始地址和其在扇区中的大小可能不总是匹配表条目中数据块的开始地址和其大小。被请求的数据块的开始地址可能与表条目中数据块的开始地址存在偏移量(在扇区中),该偏移量可在步骤825中进行计算。ReqLBA的CacheLBA可在步骤840中返回,该过程在步骤860结束。如果reqLBA没有在映射表中发现,那么被请求的数据块就从磁盘而不是NV高速缓存中读取。
图9表示在从S4状态恢复的过程中从非易失性高速缓存中读取休眠数据的示例过程的伪代码900。伪代码900表示与图8中所示的过程800相似的过程,这是不言自明的。
虽然所公开主题的实施例参照图1-9的步骤和流程图进行了描述,但是本领域的普通技术人员将会容易地理解实现所公开主题的许多其它方法可以替换使用。例如,可以改变流程图中步骤执行的顺序,和/或改变、省略或组合所描述的步骤/流程图中的一些步骤。
在前面的描述中,已经描述了所公开主题的不同方案。为了便于解释,提出的特定数字、系统和结构是为了提供对该主题的全面理解。但是,很显然本领域的技术人员可以从本公开中知道,该主题可在没有这些具体细节的条件下实施。为了避免使所公开的主题变得不清晰,在另一些实例中,公知的特征、部件或模块被省略、简化、组合或分离。
所公开主题的不同实施例可用硬件、固件、软件或其结合来实现,可以参照或结合程序码来进行描述,程序代码例如用于模拟、仿真和设计制造的指令、功能、过程、数据结构、逻辑、应用程序、设计表示或格式,这些代码在由机器访问时,会引发机器执行任务,从而限定抽象数据类型或低级的硬件上下文,或产生结果。
为了仿真,程序码可表示使用硬件描述语言或另一种功能描述语言的硬件,该语言实质上提供一种所设计的硬件被预期如何执行的模型。程序代码可以是汇编或机器语言,或者是被编辑和/或翻译的数据。而且,它是本领域中通用的软件,以一种作为采取行动或产生结果的形式或其它形式存在。这样的表述仅仅是一种叙述处理系统执行程序码的简化方式,该处理系统使处理器执行动作或产生结果。
程序代码,例如,可以存储在易失性和/或非易失性存储器中,如存储设备和/或相关的机器可读或机器可访问介质,包括固态存储器、硬盘驱动器、软盘、光学存储器、磁带、闪存、存储棒、数字视盘、数字通用盘(DVD)等,以及更加奇特的介质,如机器可访问生物态保存存储器(biological statepreserving storage)。机器可读介质可包括任何以机器可读取形式存储、传输或接收信息的机构,该介质可包括电、光、声或其它形式的传播信号或编码程序代码的载波可通过的有形介质,如天线、光纤维、通信接口等。程序代码可采用分组、串行数据、并行数据和传播信号等形式来进行传输,也可采用压缩或解密的格式来使用。
程序码可以在可编程机器上执行的程序中实现,可编程机器例如移动或静止计算机、个人数字助理、机顶盒、蜂窝移动电话和寻呼机,以及其它电子设备,各包括处理器、处理器可读的易失性和/或非易失性存储器,至少一个输入设备和/或一个或多个输出设备。程序码可以应用于使用输入设备输入的数据以执行所描述的实施例,并产生输出信息。该输出信息可应用于一个或多个输出设备。本领域的技术人员会理解到,所公开主题的实施例可用各种计算系统配置来实施,所述系统包括多处理器或多核处理器系统,小型计算机,大型计算机,以及普及或微型计算机或实质上可嵌入到任何设备中的处理器。所公开主题的实施例还可以在分布式计算环境中实施,其中任务可以由通过通信网络连接的远程处理设备来执行。
虽然这些操作可以按顺序过程来描述,但是事实上一些操作可以并行、并发和/或在分布式环境中执行,其中程序代码可本地存储和/或由单个或多处理器机器远程访问。此外,在一些实施例中,在不背离所公开主题的精神的前提下,可对操作的顺序进行重新排列。程序代码可通过或结合嵌入式控制器来使用。
虽然所公开的主题已经参考所示的实施例进行了描述,但是该描述不应认为是限制意义的。所示实施例的各种变化,以及该主题的其它实施例,对于所公开主题所属领域的技术人员来说是显而易见的,它们都被视为落所公开主题的范围内。
Claims (33)
1.一种在计算系统进入低功率状态时将存储器内容高速缓存到非易失性高速缓存中的方法,包括:
请求存储器内容写入非易失性存储设备中;
产生存储器内容的图像,所述存储器图像将被写入到非易失性存储设备中;
截取对非易失性存储设备的存储器图像的写入;以及
将该写入指引到非易失性高速缓存。
2.如权利要求1所述的方法,其中:低功率状态包括休眠状态,所述休眠状态包括高级配置与电源接口规范下的S4状态。
3.如权利要求1所述的方法,其中:所述非易失性存储设备包括硬盘驱动器。
4.如权利要求1所述的方法,还包括:
确定在包含于各写入中的数据块的非易失性高速缓存中是否存在足够的可用空间;及
如果在非易失性高速缓存中存在足够的可用空间,则产生数据块的高速缓存图像;以及
将高速缓存图像写入非易失性高速缓存中。
5.如权利要求4所述的方法,其中,高速缓存图像包括映射表,所述映射表具有至少一个条目,各用于一个数据块,各个条目包括:
非易失性存储设备中数据块的开始逻辑块地址;
扇区中数据块的大小;以及
磁盘LBA的非易失性高速缓存中的映射地址。
6.如权利要求1所述的方法,其中:所述非易失性高速缓存包括闪存。
7.如权利要求1所述的方法,还包括:将所述图像写入非易失性存储设备中。
8.一种计算系统从低功率状态恢复的方法,所述方法包括:
请求从非易失性存储设备中读取存储器数据;
将读取请求指引到非易失性高速缓存;以及
如果存储器数据易于利用,则从非易失性高速缓存中读取存储器数据。
9.如权利要求8所述的方法,其中:在计算系统进入低功率状态时,所述非易失性高速缓存对存储器内容进行高速缓存。
10.如权利要求8所述的方法,其中:所述低功率状态包括休眠状态,所述休眠状态包括高级配置与电源接口规范下的S4状态。
11.如权利要求8所述的方法,其中:非易失性存储设备包括硬盘驱动器。
12.如权利要求8所述的方法,其中:非易失性存储设备包括闪存。
13.如权利要求8所述的方法,还包括:如果存储器数据不易于在非易失性高速缓存中利用,则从非易失性存储设备中读取存储器数据。
14.如权利要求13所述的方法,其中:如果存储器数据没有全部在非易失性高速缓存中,则存储器数据不易于在非易失性高速缓存中利用。
15.一种当计算系统从低功率状态恢复时从非易失性高速缓存中读取存储器数据的方法,包括:
请求从非易失性存储设备中读取一存储器数据块,所请求的数据块具有非易失性存储设备上的开始逻辑块地址;
将读取请求指引到非易失性高速缓存,所述非易失性高速缓存具有映射表;
确定reqLBA是否在映射表中;
如果reqLBA在映射表中,则根据映射表中的reqLBA和信息来确定所请求的数据块是否出现在非易失性高速缓存中;以及
如果所请求的数据块出现在非易失性高速缓存中,则从非易失性高速缓存中读取所请求的数据块。
16.如权利要求15所述的方法,其中:所述低功率状态包括休眠状态,所述休眠状态包括高级配置与电源接口规范下的S4状态。
17.如权利要求15所述的方法,其中:所述非易失性存储设备包括硬盘驱动器;以及非易失性高速缓存包括闪存。
18.如权利要求15所述的方法,其中,所述映射表具有至少一个条目,各用于一数据块,各个条目包括:
非易失性存储设备中数据块的开始逻辑块地址;
扇区中数据块的大小;以及
磁盘LBA的非易失性高速缓存中的映射地址。
19.权利要求18所述的方法,其中:所述映射表根据多个条目的磁盘LBA以升序或降序这两者中的至少一个来进行排列。
20.如权利要求19所述的方法,其中,确定reqLBA是否在映射表中包括:通过将reqLBA与映射表中第一个和最后一个条目中的磁盘LBA相比较来检查reqLBA是否在映射表的范围内。
21.如权利要求20所述的方法,其中,确定所请求的数据块是否出现在非易失性高速缓存中包括:确定reqLBA是否在映射表的条目中,如果reqLBA在所述映射表的条目中,则认为所请求的数据块出现在非易失性高速缓存中。
22.如权利要求21所述的方法,其中,确定reqLBA是否在映射表的条目中包括:使用循环线性搜索方案。
23.如权利要求15所述的方法,其中,从非易失性高速缓存中读取所请求的数据块还包括:根据映射表中的reqLBA和信息来获取所请求的数据块的高速缓存LBA。
24.如权利要求15所述的方法,还包括:如果reqLBA不在映射表中或者如果所请求的数据块没有出现在非易失性高速缓存中,则从非易失性存储设备中读取所请求的数据块。
25.一种提供从低功率状态瞬时接通恢复的计算系统,包括:
处理器;
耦接到所述处理器的主存储器;
耦接到所述处理器和主存储器的非易失性存储设备;以及
非易失性高速缓存,在计算系统进入低功率状态时,把将被写入到非易失性存储设备中的内容高速缓存到主存储器中,以及在计算系统从低功率状态恢复时为主存储器提供从非易失性存储设备中请求的数据;
其中,在计算系统已进入低功率状态后关掉处理器和主存储器的电源。
26.如权利要求25所述的系统,其中:对非易失性高速缓存的存取等待时间短于对非易失性存储设备的存取等待时间。
27.如权利要求25所述的系统,其中:所述低功率状态包括休眠状态,所述休眠状态包括高级配置与电源接口规范下的S4状态。
28.如权利要求25所述的系统,其中:所述非易失性存储设备包括硬盘驱动器;以及非易失性高速缓存包括闪存。
29.如权利要求25所述的系统,还包括非易失性存储设备驱动器,用于在计算系统进入低功率状态时,如果在非易失性高速缓存中存在足够的空间,则将对非易失性存储设备的写入重新定向到非易失性高速缓存中;所述非易失性存储设备驱动器包括硬盘驱动器。
30.如权利要求29所述的系统,其中:主存储器的电源直到主存储器中的全部所需内容已被写入到非易失性存储设备或非易失性高速缓存这两者中的至少一个中时才被关掉。
31.如权利要求25所述的系统,其中:所述非易失性高速缓存被耦接到连接非易失性存储设备和对应于所述非易失性存储设备的控制器的总线。
32.如权利要求25所述的系统,其中:所述非易失性高速缓存还用作非易失性存储设备的高速缓存。
33.如权利要求25所述的系统,还包括随机ROM,用于在计算系统从低功率状态恢复时,如果所请求的数据易于在非易失性高速缓存中利用,则提供从具有来自非易失性高速缓存的数据的非易失性存储设备中读取数据的请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/540,374 US20080082752A1 (en) | 2006-09-29 | 2006-09-29 | Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state |
US11/540374 | 2006-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101246389A true CN101246389A (zh) | 2008-08-20 |
Family
ID=39262361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101929509A Pending CN101246389A (zh) | 2006-09-29 | 2007-09-29 | 提供从休眠状态瞬时接通恢复的计算系统节电方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080082752A1 (zh) |
CN (1) | CN101246389A (zh) |
TW (1) | TWI372973B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101655774B (zh) * | 2009-09-01 | 2012-08-29 | 成都市华为赛门铁克科技有限公司 | 一种磁盘控制方法及系统以及相关设备 |
CN102810007A (zh) * | 2011-05-31 | 2012-12-05 | 联想(北京)有限公司 | 一种计算机状态转换方法、装置及计算机 |
CN103098019A (zh) * | 2010-12-23 | 2013-05-08 | 英特尔公司 | 用于保存处理器状态以在处理器功率状态之间高效转换的方法、装置和系统 |
CN103270488A (zh) * | 2010-12-22 | 2013-08-28 | 英特尔公司 | 用于改善平台的重新开始时间的方法和装置 |
CN103312918A (zh) * | 2012-03-14 | 2013-09-18 | 富士施乐株式会社 | 图像形成装置、信息处理装置以及信息处理方法 |
CN104115116A (zh) * | 2011-12-19 | 2014-10-22 | 桑迪士克科技股份有限公司 | 用于在休眠状态的装置中管理数据的系统和方法 |
CN104133640A (zh) * | 2013-03-14 | 2014-11-05 | 希捷科技有限公司 | 从休眠快速恢复 |
CN104850435A (zh) * | 2008-09-08 | 2015-08-19 | 威盛电子股份有限公司 | 电源管理控制器与方法 |
CN106445400A (zh) * | 2015-08-05 | 2017-02-22 | 宏碁股份有限公司 | 计算机系统及非挥发性存储器的控制方法 |
CN107632939A (zh) * | 2016-07-19 | 2018-01-26 | 西部数据技术公司 | 用于存储装置的映射表 |
CN107667326A (zh) * | 2015-06-24 | 2018-02-06 | 英特尔公司 | 双存储器平台中的功率管理 |
CN108008917A (zh) * | 2016-10-31 | 2018-05-08 | 三星电子株式会社 | 存储设备及控制其链接状态的方法 |
CN108369547A (zh) * | 2015-12-11 | 2018-08-03 | 微软技术许可有限责任公司 | 持久性主存储器中的日志的尾部 |
US10042650B2 (en) | 2011-03-23 | 2018-08-07 | Lenovo (Beijing) Co., Ltd. | Computer startup method, startup apparatus, state transition method and state transition apparatus |
CN108694970A (zh) * | 2017-03-31 | 2018-10-23 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN110574014A (zh) * | 2017-11-28 | 2019-12-13 | 谷歌有限责任公司 | 节能的高速缓存存储器使用 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234028A1 (en) * | 2005-09-15 | 2007-10-04 | Rothman Michael A | Method and apparatus for quickly changing the power state of a data processing system |
CN101515194B (zh) * | 2008-02-21 | 2011-11-09 | 鸿富锦精密工业(深圳)有限公司 | 计算机工作状态转换方法 |
US8386672B2 (en) * | 2008-07-08 | 2013-02-26 | Dell Products L.P. | Systems, methods and media for disabling graphic processing units |
US7719876B2 (en) | 2008-07-31 | 2010-05-18 | Unity Semiconductor Corporation | Preservation circuit and methods to maintain values representing data in one or more layers of memory |
US20100037091A1 (en) * | 2008-08-06 | 2010-02-11 | Anant Baderdinni | Logical drive bad block management of redundant array of independent disks |
TWI459191B (zh) * | 2008-10-07 | 2014-11-01 | Mitake Information Corp | 手機金融看盤軟體之電源管理方法 |
US8209287B2 (en) | 2008-11-11 | 2012-06-26 | Ca, Inc. | Energy efficient backup system and method |
US8195891B2 (en) | 2009-03-30 | 2012-06-05 | Intel Corporation | Techniques to perform power fail-safe caching without atomic metadata |
US8533445B2 (en) * | 2009-04-21 | 2013-09-10 | Hewlett-Packard Development Company, L.P. | Disabling a feature that prevents access to persistent secondary storage |
GB2476650A (en) * | 2009-12-30 | 2011-07-06 | 1E Ltd | Computer which enters a low power state when there is no user activity and no process requiring a high power state |
US8667191B2 (en) * | 2010-01-15 | 2014-03-04 | Kingston Technology Corporation | Managing and indentifying multiple memory storage devices |
KR101691997B1 (ko) * | 2010-07-22 | 2017-01-02 | 삼성전자 주식회사 | 영상처리장치 및 그 제어방법 |
TWI587125B (zh) | 2010-08-04 | 2017-06-11 | 華碩電腦股份有限公司 | 具省電功能的電腦系統 |
KR101691091B1 (ko) * | 2010-11-08 | 2016-12-30 | 삼성전자주식회사 | 컴퓨팅 시스템 및 그것의 하이버네이션 방법 |
WO2012092717A1 (en) * | 2011-01-07 | 2012-07-12 | Mediatek Inc. | Apparatuses and methods for hybrid automatic repeat request (harq) buffering optimization |
TWI437419B (zh) * | 2011-04-27 | 2014-05-11 | Asustek Comp Inc | 電腦系統及其睡眠控制方法 |
CN102759981A (zh) * | 2011-04-27 | 2012-10-31 | 华硕电脑股份有限公司 | 电脑系统及其睡眠控制方法 |
US9342254B2 (en) * | 2011-06-04 | 2016-05-17 | Microsoft Technology Licensing, Llc | Sector-based write filtering with selective file and registry exclusions |
CN104106057B (zh) * | 2011-12-13 | 2018-03-30 | 英特尔公司 | 用非易失性随机存取存储器提供对休眠状态转变的即时响应的方法和系统 |
CN103975287B (zh) | 2011-12-13 | 2017-04-12 | 英特尔公司 | 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持 |
TWI465889B (zh) * | 2012-09-20 | 2014-12-21 | Acer Inc | 休眠管理方法及相關裝置 |
US9239610B2 (en) * | 2013-02-28 | 2016-01-19 | Sandisk Technologies Inc. | Systems and methods for managing data in a system for hibernation states |
TWI511035B (zh) * | 2013-03-08 | 2015-12-01 | Acer Inc | 動態調整快取層級方法 |
CN104063182B (zh) * | 2013-03-20 | 2017-04-12 | 宏碁股份有限公司 | 动态调整快取层级方法 |
CN103150191A (zh) * | 2013-03-27 | 2013-06-12 | 青岛中星微电子有限公司 | 一种终端设备 |
KR102060430B1 (ko) | 2013-08-08 | 2020-02-11 | 삼성전자주식회사 | 웨이크-업 시간을 줄일 수 있는 시스템 온 칩. 애플리케이션 프로세서, 및 상기 시스템 온 칩을 포함하는 컴퓨터 시스템 |
GB2517159A (en) * | 2013-08-13 | 2015-02-18 | Sony Comp Entertainment Europe | Data processing |
CN104714753A (zh) * | 2013-12-12 | 2015-06-17 | 中兴通讯股份有限公司 | 一种数据访问存储方法及装置 |
US10591978B2 (en) | 2017-05-30 | 2020-03-17 | Microsoft Technology Licensing, Llc | Cache memory with reduced power consumption mode |
US11061692B2 (en) * | 2018-02-07 | 2021-07-13 | Intel Corporation | Low latency boot from zero-power state |
US10795605B2 (en) * | 2018-04-20 | 2020-10-06 | Dell Products L.P. | Storage device buffer in system memory space |
US11615022B2 (en) * | 2020-07-30 | 2023-03-28 | Arm Limited | Apparatus and method for handling accesses targeting a memory |
CN113467841A (zh) * | 2021-05-17 | 2021-10-01 | 翱捷智能科技(上海)有限公司 | 一种双操作系统设备及其快速休眠及唤醒的方法 |
US11880262B2 (en) * | 2021-11-29 | 2024-01-23 | Red Hat, Inc. | Reducing power consumption by preventing memory image destaging to a nonvolatile memory device |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2006A (en) * | 1841-03-16 | Clamp for crimping leather | ||
GB2256735B (en) * | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
US6141728A (en) * | 1997-09-29 | 2000-10-31 | Quantum Corporation | Embedded cache manager |
US6968450B1 (en) * | 2002-06-01 | 2005-11-22 | Western Digital Technologies, Inc. | Disk drive caching initial host requested data in non-volatile semiconductor memory to reduce start-up time of a host computer |
US7017037B2 (en) * | 2002-06-27 | 2006-03-21 | Microsoft Corporation | Apparatus and method to decrease boot time and hibernate awaken time of a computer system utilizing disk spin-up-time |
US7228406B2 (en) * | 2002-12-19 | 2007-06-05 | Intel Corporation | Interacting with optional read-only memory |
US20060053325A1 (en) * | 2004-09-03 | 2006-03-09 | Chary Ram V | Storing system information in a low-latency persistent memory device upon transition to a lower-power state |
US8230204B2 (en) * | 2005-06-23 | 2012-07-24 | Hewlett-Packard Development Company, L.P. | Migration of system images |
US7757060B2 (en) * | 2006-09-11 | 2010-07-13 | Dell Products L.P. | Reducing wake latency time for power conserving state transition |
-
2006
- 2006-09-29 US US11/540,374 patent/US20080082752A1/en not_active Abandoned
-
2007
- 2007-09-29 CN CNA2007101929509A patent/CN101246389A/zh active Pending
- 2007-09-29 TW TW096136628A patent/TWI372973B/zh active
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104850435A (zh) * | 2008-09-08 | 2015-08-19 | 威盛电子股份有限公司 | 电源管理控制器与方法 |
CN104850435B (zh) * | 2008-09-08 | 2019-09-17 | 威盛电子股份有限公司 | 电源管理控制器与方法 |
CN101655774B (zh) * | 2009-09-01 | 2012-08-29 | 成都市华为赛门铁克科技有限公司 | 一种磁盘控制方法及系统以及相关设备 |
CN103270488B (zh) * | 2010-12-22 | 2016-11-09 | 英特尔公司 | 用于改善平台的重新开始时间的方法和装置 |
CN103270488A (zh) * | 2010-12-22 | 2013-08-28 | 英特尔公司 | 用于改善平台的重新开始时间的方法和装置 |
CN103098019B (zh) * | 2010-12-23 | 2016-10-19 | 英特尔公司 | 用于保存处理器状态以在处理器功率状态之间高效转换的方法、装置和系统 |
CN103098019A (zh) * | 2010-12-23 | 2013-05-08 | 英特尔公司 | 用于保存处理器状态以在处理器功率状态之间高效转换的方法、装置和系统 |
US10042650B2 (en) | 2011-03-23 | 2018-08-07 | Lenovo (Beijing) Co., Ltd. | Computer startup method, startup apparatus, state transition method and state transition apparatus |
CN102810007B (zh) * | 2011-05-31 | 2015-11-25 | 联想(北京)有限公司 | 一种计算机状态转换方法、装置及计算机 |
CN102810007A (zh) * | 2011-05-31 | 2012-12-05 | 联想(北京)有限公司 | 一种计算机状态转换方法、装置及计算机 |
CN104115116A (zh) * | 2011-12-19 | 2014-10-22 | 桑迪士克科技股份有限公司 | 用于在休眠状态的装置中管理数据的系统和方法 |
US9495173B2 (en) | 2011-12-19 | 2016-11-15 | Sandisk Technologies Llc | Systems and methods for managing data in a device for hibernation states |
TWI587309B (zh) * | 2011-12-19 | 2017-06-11 | 桑迪士克科技有限責任公司 | 用於管理休眠狀態中裝置內資料之系統與方法 |
CN104115116B (zh) * | 2011-12-19 | 2017-03-22 | 桑迪士克科技有限责任公司 | 用于在休眠状态的装置中管理数据的系统和方法 |
CN103312918B (zh) * | 2012-03-14 | 2017-05-10 | 富士施乐株式会社 | 图像形成装置、信息处理装置以及信息处理方法 |
CN103312918A (zh) * | 2012-03-14 | 2013-09-18 | 富士施乐株式会社 | 图像形成装置、信息处理装置以及信息处理方法 |
CN104133640A (zh) * | 2013-03-14 | 2014-11-05 | 希捷科技有限公司 | 从休眠快速恢复 |
CN107667326B (zh) * | 2015-06-24 | 2021-10-01 | 英特尔公司 | 双存储器平台中的功率管理 |
CN107667326A (zh) * | 2015-06-24 | 2018-02-06 | 英特尔公司 | 双存储器平台中的功率管理 |
CN106445400A (zh) * | 2015-08-05 | 2017-02-22 | 宏碁股份有限公司 | 计算机系统及非挥发性存储器的控制方法 |
CN106445400B (zh) * | 2015-08-05 | 2019-05-24 | 宏碁股份有限公司 | 计算机系统及非挥发性存储器的控制方法 |
CN108369547A (zh) * | 2015-12-11 | 2018-08-03 | 微软技术许可有限责任公司 | 持久性主存储器中的日志的尾部 |
CN108369547B (zh) * | 2015-12-11 | 2021-10-01 | 微软技术许可有限责任公司 | 用于管理持久性主存储器中的日志的尾部的系统和方法 |
CN107632939A (zh) * | 2016-07-19 | 2018-01-26 | 西部数据技术公司 | 用于存储装置的映射表 |
CN108008917A (zh) * | 2016-10-31 | 2018-05-08 | 三星电子株式会社 | 存储设备及控制其链接状态的方法 |
CN108008917B (zh) * | 2016-10-31 | 2024-04-30 | 三星电子株式会社 | 存储设备及控制其链接状态的方法 |
CN108694970A (zh) * | 2017-03-31 | 2018-10-23 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN108694970B (zh) * | 2017-03-31 | 2022-03-15 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN110574014B (zh) * | 2017-11-28 | 2023-08-11 | 谷歌有限责任公司 | 节能的高速缓存存储器使用 |
CN110574014A (zh) * | 2017-11-28 | 2019-12-13 | 谷歌有限责任公司 | 节能的高速缓存存储器使用 |
Also Published As
Publication number | Publication date |
---|---|
US20080082752A1 (en) | 2008-04-03 |
TW200830097A (en) | 2008-07-16 |
TWI372973B (en) | 2012-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101246389A (zh) | 提供从休眠状态瞬时接通恢复的计算系统节电方法和装置 | |
US7594073B2 (en) | Method and apparatus for caching memory content on a computing system to facilitate instant-on resuming from a hibernation state | |
US9032139B2 (en) | Memory allocation for fast platform hibernation and resumption of computing systems | |
US7864465B2 (en) | Hard disk drive with reduced power consumption, related data processing apparatus, and I/O method | |
TWI528162B (zh) | 電腦系統及其作業系統切換方法 | |
CN101263456B (zh) | 用于快速恢复的方法和装置 | |
US20060075185A1 (en) | Method for caching data and power conservation in an information handling system | |
EP1035472A2 (en) | Loading configuration data | |
CN101424971A (zh) | 信息处理设备和控制方法 | |
CN101916201A (zh) | 一种基于Android移动终端冷启动的方法和装置 | |
CN101013351A (zh) | 硬盘驱动器高速缓存存储器及重放装置 | |
CN100375002C (zh) | 存储装置和信息处理系统 | |
TW201011524A (en) | Method and controller for power management | |
JPH0744437A (ja) | 情報処理システム | |
CN101091146A (zh) | 管理移动装置功率的技术 | |
JPH07200112A (ja) | 情報処理システム | |
EP0636979B1 (en) | Information processing system | |
US20140129759A1 (en) | Low power write journaling storage system | |
US7047356B2 (en) | Storage controller with the disk drive and the RAM in a hybrid architecture | |
US20040199697A1 (en) | Mobile computer and base station | |
JPH0784848A (ja) | 情報処理システム | |
CN101118494A (zh) | 嵌入式设备从外接电子卡启动操作系统的系统与方法 | |
JP2003085041A (ja) | ディスクキャッシュシステム | |
CN110727470A (zh) | 一种混合式非失性存储装置 | |
TWI559227B (zh) | 具有內建雙可隨機關閉開啟電源作業裝置的電腦系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20080820 |