CN1520549A - 系统启动时间减少的方法 - Google Patents

系统启动时间减少的方法 Download PDF

Info

Publication number
CN1520549A
CN1520549A CNA028129296A CN02812929A CN1520549A CN 1520549 A CN1520549 A CN 1520549A CN A028129296 A CNA028129296 A CN A028129296A CN 02812929 A CN02812929 A CN 02812929A CN 1520549 A CN1520549 A CN 1520549A
Authority
CN
China
Prior art keywords
data
cache
state
admittedly
metadata
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.)
Granted
Application number
CNA028129296A
Other languages
English (en)
Other versions
CN1253787C (zh
Inventor
J・加尼
J·加尼
R·库尔森
�菟
J·马休斯
R·小鲁耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1520549A publication Critical patent/CN1520549A/zh
Application granted granted Critical
Publication of CN1253787C publication Critical patent/CN1253787C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

公开了一种减少系统初始化时间的系统和方法。依照本发明,将在系统初始化期间所访问的数据加载到非易失性高速缓存器中并将其固锁从而防止驱逐。在系统重启时,通过将数据固锁在高速缓存器中,来将系统初始化所需的数据预先加载到高速缓存器中,由此消除访问盘的需要。

Description

系统启动时间减少的方法
技术领域
本发明涉及操作系统,尤其涉及在系统中使用的非易失性高速缓存器。
背景技术
将处理器与高速缓存器一起使用,减少存储器访问时间并提供设备的总体速度。典型地,高速缓存器是存储器的一个区域,该区域充当了设备的临时存储区域。处理器所频繁访问的数据,在针对高速缓存器的同一数据可能进行了初次访问及后续访问之后,仍然保留在该高速缓存器当中。
通常使用两类缓存技术:存储器缓存技术和盘缓存技术。存储器高速缓存器,有时称作高速缓冲存储器,典型为高速存储器设备,诸如静态随机存取存储器(SRAM)。存储器缓存技术非常有效,这是因为绝大多数程序常常会重复访问相同数据或指令。
盘缓存技术工作在和存储器缓存技术相同的原理下的,但是却使用常规的存储设备,诸如动态随机存取存储器(DRAM)。最近从盘所访问的数据,被存储于盘高速缓存器当中。当程序需要从盘访问该数据时,就首先要检查盘高速缓存器,以便查看该数据是否在盘高速缓存器中。盘缓存技术能够显著提高应用程序的性能,这是因为在RAM中访问数据的一个字节能够比访问在盘上的一个字节要快得多。举例来讲,为加载操作系统和启用系统服务所需的盘访问序列,是可以预测的。因此,为了更快地访问,可以在正常操作期间,把此初始化数据带入到盘高速缓存器中。
然而,高速缓存器的存储器大小是有限的,而且通常用来存储最近所使用的数据。因而,当高速缓存器变满时,在高速缓存器中所存储的现存数据行,就会被替换或被取消分配,以便为新近请求的数据行腾出空间。最常用的高速缓存器替换是最近最少使用(LRU)算法,通过该算法来驱逐最旧(最近最少使用)的存储器行。
尽管,替换过程通常不会产生问题,但是确定类型的数据替换也会造成损害。因此,在相关技术中,已经提出了许多解决一些可能由替换算法所引起的问题的方法。例如,名为“Programmable CacheIncluding a Non-Lockable Data Way and a Lockable Data WayConfigured To Lock Real-Time Data(包含配置以锁定实时数据的不可锁定数据方式和可锁定数据方式的可编程高速缓存器)”的美国专利5913224和名为“Cache Memory System and Method ForAutomatically Locking Cache Entries To Prevent SelectedMemory Items From Being Replaced(用于自动锁定高速缓存器条目以防止所选存储项被替换的高速缓冲存储器系统及方法)”的美国专利5974508公开了一种方法,该方法用于锁定易失性高速缓冲存储器中的时间临界数据的内容,从而防止在正常操作期间的驱逐。
然而,对于在系统初始化期间所需数据的类型而言,由于在系统启动或系统供电周期之间会丢失信息,所以将初始化数据锁定到易失性高速缓冲存储器中,在需要这些数据时就会使它们变得不可用。
附图说明
下面将参照下列附图详细描述本发明,在其中相同参考标记指的是相似元件,其中:
图1是实现本发明的示范性系统;
图2示出依照本发明实施例的示范性固锁(pinning)过程;
图3示出依照本发明第二实施例的示范性固锁过程;和
图4示出依照本发明第三实施例的示范性固锁过程。
详细说明
在以下说明中给出具体细节,来提供对本发明的彻底理解。例如,为了防止不必要细节造成本发明不清楚,而在方框图中示出一些电路。然而,本领域技术人员将应当理解:本发明可以在没有上述具体细节的情况下加以实施。
如这里所公开的,“高速缓存器”指的是临时存储区域,也可以是存储器缓存器或者盘缓存器。术语“数据”指的是能被存储在高速缓存器中的数据和指令。“盘”指的是硬盘驱动器、软盘驱动器、光盘(CD)驱动器或任何其它用于大容量数据大容量存储器的磁存储器设备或光存储器设备。术语“系统初始化”既指当第一次打开电源时的系统启动,即周知的冷启动,也指当系统重新启动时的系统重启,即周知的热启动。为了解释起见,将可互换地使用系统启动和系统重启。术语“计算机可读介质”包括但不限于:便携式或固定式存储设备、光存储设备和任何其它能存储计算机指令和/或数据的存储设备。术语“计算机指令”是包含可被读取和/或执行来完成确定任务的数据、代码及程序的软件或固件。
一般而言,本发明提供了一种在非易失性存储介质中保留系统初始化期间所需数据的系统和方法。重新加载操作系统和重新启动系统服务所需的时间,是使用户恼怒的重要来源。然而,大多数上述时间都专用于从盘读取必要数据。由于在系统启动或开启期间从盘读取的数据序列是可重复的,而且能够被预测,因而通过将系统初始化必要的数据预先加载到高速缓存器中来减少初始化时间。
具体而言,将初始化期间所访问的数据(以下称为“必要数据”)加载到非易失性高速缓存器中,并且标注或“固锁”它以防止驱逐。因此,必要数据就会驻留在高速缓存器中,以用于在系统初始化期间、甚至是在意外系统关闭后快速访问,由此来避免对盘的访问。
在图1中示出了实现本发明原理的系统100的示范性实施例。该系统100包括:处理器110,它通过总线130耦合于易失性存储器120(以下称为“存储器”)。在一个实施例中,存储器110是动态随机存取存储器(DRAM)。同样耦合于总线130的存储器控制集线器(hub)140,经由链路125来控制存储器120的操作、经由链路155来控制非易失性高速缓存器150(以下称为“高速缓存器”)的操作,以及经由链路165来控制盘160的操作。存储器控制集线器140包括:管理存储器120和高速缓存器150的状态或元数据信息的逻辑电路(未示出)。此外,本领域技术人员将认识到:存储器控制集线器140还可包括:控制诸如读、写、更新以及无效的操作之类的高速缓存功能的附加电路。最后,可将诸如键盘、鼠标和/或显示器等多个输入/输出设备170耦合于总线130。
尽管所示出的系统100是具有单个处理器的系统,但是本发明可以用多个处理器加以实施,在其中附加处理器也将耦合于总线130。在这种情况下,每个附加处理器都将共享高速缓存器150和存储器120,以便将数据和/或指令写入到其中,以及从其中读取数据和/或指令。而且,系统100示出了作为非易失性存储介质的高速缓存器150。然而,高速缓存器150可以是易失性和非易失性存储介质的组合。同样,存储器120可以是易失性存储介质和非易失性存储介质的一种组合或任意组合。此外,可以将高速缓存器150实施到系统100当中,以作为诸如外围部件互连(PCI)内插附件的内插卡。在另一实施例中,可以将盘160的一部分分配作为高速缓存器150。在下面将接着描述本发明。
在一个实施例中,通过将“固锁位”添加到高速缓存器150中每行数据的元数据状态上,来实现数据的固锁。典型地,将校正操作所需的元数据存储在存储器120和高速缓存器150两者中。因为元数据是在系统启动期间被保留的,因此把这种元数据称作为“持久元数据”。持久元数据可包括:表明高速缓存器150中相应数据行为有效和/或脏的标志,以及表明在高速缓存器行中所包含数据的起始盘地址的标记。校正操作不需要、但却能提高性能的元数据,典型地被存储在易失性存储介质中,比如被存储在存储器120中。易失性存储介质中所存储的这种元数据在系统启动期间丢失,将上述数据称作为“非持久元数据”。非持久元数据可包括:用作最近最少使用(LRU)信息的每个高速缓存器行的时效期。
在一个实施例中,将固锁位放置在存储器120当中,以作为非持久元数据。在系统重启时,在前一次系统启动的初始化期间已固锁的必要数据,会已经被加载到高速缓存器150中。然而,由于固锁位是非持久性的,因而固锁位信息会在系统启动中间丢失,并且无法判断出是否固锁了数据行或者该数据行是否仅仅在高速缓存器150呆过。因此,在每次初始化序列期间,都要执行固锁过程来固锁数据。此处,提高系统启动性能的需要与在正常操作期间保持高速缓存器150中多数空间的空闲或可替换的需要,这两者应当保持平衡。因此,为固锁到高速缓存器150当中的数据量设置一个上限,来限制正常执行期间所占用的空间量。
尽管可以利用任意方法来限制所固锁的数据量,但图2示出了依照本发明一个实施例的使用一个计时器的示范性固锁过程200。当系统刚一初始化,就设置计时器(决220)。之后,图1的存储器控制集线器140促使对与所访问数据行相对应的固锁位被设置(块230),直到计时器到期为止(块240)。这里,数据访问包括对高速缓存器150的读和写。也可以根据系统需要来设置计时器。然而,在设置计时器过程中,应该为初始化序列预留出充分的时间量。例如,在大容量存储高速缓存器中可以将计时器设置为两分钟。
图3示出了依照本发明第二实施例的另一个固锁过程300,所述第二实施例允许固锁最大数据量。当系统刚一初始化,就判断是否已经固锁最大数据量(块320)。直到超出最大量,存储器控制集线器140才促使设置对应于所访问数据行的固锁位(块320和330)。这里,访问也包括对高速缓存器150的读和写。根据系统需要来给出能被固锁的最大量。一般而言,应当为正常操作而使高速缓存器150中大多数数据行保持“不固锁”。例如,在带有N个高速缓存器相联组(associativity set)的大容量存储高速缓存器中,可为每一个高速缓存器相联组中的一行设置最大量。
图4示出了依照本发明第三实施例的另一个固锁过程400,所述第三实施例既使用了计时器也使用了最大数据量来进行固锁。在固锁过程400中,还将“重启前缓存位(cacheBeforeReboot bit)”添加到非持久元数据中。为系统初始化之前存在于高速缓存器150中的任一高速缓存行,设置重启前缓存位。例如,当系统重新启动时,随着从高速缓存器150页入(page in)该持久元数据,就可以设置这些位。
现在参照图4,当系统刚一初始化就设置计时器(块420),并且如果还没有超出最大量,那么存储器控制集线器140就促使对应于所访问的高速缓存行的固锁位被设置(块430和440)。这里的访问包括对高速缓存器150的读和写。如果超出最大量,则通过检查该重启前缓存位信息,来判断当前所访问的高速缓存行在重启之前是否被缓存过(块450)。如果设置了与当前所访问的高速缓存行相对应的重启前缓存位,则也通过检查相应的重启前缓存位,来进一步判断在重启之前是否存在未被缓存的固锁行(块460)。
例如,如果在该相联组中具有重启之前未被缓存的现存固锁行,那么存储器控制集线器140就促使与现存行相对应的固锁位被清除(或被解锁),并促使对应于当前所访问的高速缓存行的固锁位被设置(块470)。如果在块450判断出当前所访问的高速缓存行在重启之前未被缓存,或是在块460判断出不存在重启之前未被缓存的固锁行,那么存储器控制集线器140就促使将当前所访问的高速缓存行被带入到高速缓存器150中,但却不被固锁(块470)。
在块440、470和480之后,判断计时器是否到期(块490)。如果计时器已到期,则固锁过程400就结束。否则,该过程将返回到块430并重复。直到计时器到期,才将数据有选择地固锁到高速缓存器150中,以便改进下次重启的性能。与此同时,限制可被固锁的行数,从而为正常操作允许高速缓存器中的大多数空间。
在固锁过程400中,通过固锁在重启之前已被缓存的行,来将优先权赋予固锁那些已经存在高速缓存器中的行。如果在块460中有一行以上的固锁行在重启之前未被缓存,则就利用LRU信息来清除与具有最新时效期的行相对应的固锁位。因此,为了反映出真实的初始化序列而不是可能的早期用户活动,固锁过程400还可以将优先权赋予具有更早时间的行。此外,与在固锁过程200和300一样,应当设置计时器,从而为初始化序列保留出充分的时间量,并且还应当设置要固锁的最大量,从而在高速缓存器中为正常操作保留出每一组的大多数。例如,可以为大容量存储高速缓存器将计时器设置为一分钟、而将最大数目设置为每组一行。
一旦在固锁过程200-400中已经固锁了最大量或者计时器到期了,则任何另外的访问将不驱逐具有被设置的相应固锁位的高速缓存行。而且,图1的存储器控制集线器140可进一步包括:用于清除一个或多个高速缓存行的固锁位的逻辑电路。例如,如果在系统上加载新的操作系统,则多个缓存行的清除就将允许高速缓存行的不同集合被固锁。
通过在系统初始化期间将数据固锁到非易失性高速缓存器中,就能够减少系统初始化所需的时间。这在大容量存储高速缓存器中尤为显著。然而,在另一实施例中,可将该固锁位存储在非易失性存储介质中,从而在启动之间保留该信息。例如,可将固锁位包含于存储在高速缓存器150的元数据中,或者如果存储器120包括非易失性存储介质,也可将固锁位包含于存储器120中。在这种情况下,由于在系统启动之间保留有固锁位信息,因而在每次系统初始化期间的固锁过程将不再成为必要。而且,虽然已经参考系统初始化对本发明作了描述,但是本发明的教导并不限制于固锁系统初始化期间所必须的数据,并且本发明的教导能应用于需要重复使用非易失性高速缓存器中的数据的任何操作之中。
前述实施例仅仅是示范性的,并不能认为它会限制本发明。目前的教导能容易地应用于任何其它类型的装置。本发明的说明是解释说明性的,而不能限定权利要求的保护范围。对本领域技术人员而言,许多替换、修改和变形都是显而易见的。

Claims (32)

1.一种方法,包括:
将数据存储到第一存储器中,所述第一存储器是高速缓存器中的非易失性存储介质;和
固锁在第一存储器中存储的一部分数据。
2.如权利要求1所述的方法,其中存储数据包括:将所述数据存储到大容量高速缓存器中。
3.如权利要求1所述的方法,其中数据的固锁包括:固锁系统初始化所必须的一部分数据。
4.如权利要求1所述的方法,其中数据的固锁包括:
存储与在第一存储器中存储的数据相对应的元数据;和
在所述元数据中设置一状态,用于表明对应的数据行被固锁。
5.如权利要求4所述的方法,其中存储元数据包括:将所述元数据存储到第二存储器中。
6.如权利要求4所述的方法,其中存储元数据包括:将所述元数据存储到易失性存储介质中。
7.一种存储于存储器中的元数据,包括:
第一状态,用于表明非易失性存储器中对应的数据行的最近最少使用信息;和
第二状态,用于表明非易失性存储器中对应的数据行是否被固锁。
8.如权利要求7所述的元数据,进一步包括:
第三状态,用于表明在系统初始化之前在非易失性存储器中是否存在对应的数据行。
9.如权利要求7所述的元数据,其中所述元数据被存储在易失性存储介质中。
10.一种系统,包括:
高速缓存器,包括用于存储高速缓存数据的第一存储介质,所述第一存储介质是非易失性存储介质;和
第二存储介质,用于存储在第一存储介质中所存储的高速缓存数据的元数据,所述元数据包括一状态,用于表明对应的数据行是否被固锁。
11.如权利要求10所述的系统,其中所述高速缓存器是大容量存储高速缓存器。
12.如权利要求10所述的系统,其中所述第二存储介质是易失性存储介质。
13.如权利要求10所述的系统,其中所述第二存储介质被包含于高速缓存器中。
14.如权利要求10所述的系统,其中将所述高速缓存器被实现成内插卡。
15.一种方法,包括:
在系统初始化期间访问第一存储器,所述第一存储器是高速缓存器;和
在第一存储器中固锁在系统初始化期间所访问的数据。
16.如权利要求15所述的方法,其中所述高速缓存器是大容量存储高速缓存器。
17.如权利要求15所述的方法,进一步包括:
在系统初始化期间限制数据的固锁。
18.如权利要求15所述的方法,其中在系统初始化期间数据的固锁包括:
存储在第一存储器中所存储的数据的元数据,所述元数据包括用于表明对应的数据行是否被固锁的第一状态;和
设置对应于所访问数据的第一状态,以便表明所访问的数据被固锁。
19.如权利要求18所述的方法,其中数据的固锁进一步包括:
当系统刚初始化时,设置计时器;和
设置对应于所访问数据的第一状态,直到该计时器到期为止。
20.如权利要求18所述的方法,其中数据的固锁进一步包括:
设置要固锁的最大数据量;和
设置对应于所访问数据的第一状态,直到超出最大量为止。
21.如权利要求18所述的方法,其中所述元数据还包括第二状态;并且其中数据的固锁进一步包括:
为在系统初始化之前存在的数据设置第二状态,第二状态的设置用来表明在系统初始化之前存在对应的数据;
当系统刚初始化时,设置计时器;
设置要固锁的最大数据量;
如果未超出最大量且如果计时器未到期,则设置对应于所访问数据的第一状态;以及否则
清除对应于已固锁数据的第一状态,并且如果未设置对应于已固锁数据的第二状态,而设置了对应于所访问数据的已固锁数据,且如果计时器还未到期,则设置对应于所访问数据的第一状态。
22.如权利要求21所述的方法,其中所述元数据还包括用于表明对应数据行的时效期的第三状态,并且第一状态的清除包括:
如果存在第二状态未被设置的、一个以上的已固锁数据行,则清除最近的数据行。
23.一种系统,包括:
高速缓存器,包括用于在系统初始化期间访问的第一存储介质,所述第一存储介质是非易失性的;
第二存储介质,用于存储在系统初始化期间所访问的数据的元数据,所述元数据包括第一状态;和
存储器控制集线器,用于促使为在系统初始化期间所访问的数据设置第一状态,所述第一状态的设置用来表明对应的数据行被固锁。
24.如权利要求23所述的系统,其中所述元数据还包括第二状态;并且其中所述存储器控制集线器促使为在系统初始化之前存在的数据设置第二状态,所述第二状态的设置用来表明在系统初始化之前存在对应的数据行。
25.如权利要求23所述的系统,其中所述高速缓存器是大容量存储高速缓存器。
26.如权利要求23所述的系统,其中所述存储器控制集线器限制所固锁的数据量。
27.如权利要求23所述的系统,其中所述第二存储介质是易失性存储介质。
28.如权利要求23所述的系统,其中所述第二存储介质被包含于高速缓存器中。
29.如权利要求23所述的系统,其中将所述高速缓存器被实现为内插卡。
30.一种被加载到计算机可读介质中的程序,包括:
第一组计算机指令,用于访问非易失性高速缓存器中的数据;
第二组计算机指令,用于固锁在非易失性高速缓存器中所访问的数据。
31.如权利要求30所述的程序,其中所述第二组计算机指令包括:用于固锁在系统初始化期间所访问数据的计算机指令。
32.如权利要求31所述的程序,其中所述第二组计算机指令进一步包括:用于限制所固锁数据量的计算机指令。
CNB028129296A 2001-06-27 2002-06-06 系统启动时间减少的方法 Expired - Fee Related CN1253787C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/894,310 US6920533B2 (en) 2001-06-27 2001-06-27 System boot time reduction method
US09/894,310 2001-06-27

Publications (2)

Publication Number Publication Date
CN1520549A true CN1520549A (zh) 2004-08-11
CN1253787C CN1253787C (zh) 2006-04-26

Family

ID=25402894

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028129296A Expired - Fee Related CN1253787C (zh) 2001-06-27 2002-06-06 系统启动时间减少的方法

Country Status (3)

Country Link
US (1) US6920533B2 (zh)
CN (1) CN1253787C (zh)
WO (1) WO2003003202A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035337B (zh) * 2006-02-15 2010-09-29 三星电子株式会社 减少移动通信终端的引导时间的方法
CN103578533A (zh) * 2012-07-26 2014-02-12 三星电子株式会社 包括可变电阻存储器的存储装置及其操作方法
CN104050094A (zh) * 2013-03-11 2014-09-17 Lsi公司 管理高速缓存存储区的系统、方法和计算机可读介质
CN105051684A (zh) * 2013-03-14 2015-11-11 桑迪士克科技股份有限公司 用于预测和改进启动序列的系统和方法
CN106469075A (zh) * 2015-08-20 2017-03-01 瑞昱半导体股份有限公司 储存装置、加快启动程序的方法与储存控制器
CN109408122A (zh) * 2018-09-28 2019-03-01 联想(北京)有限公司 一种设备启动方法、电子设备和计算机存储介质

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791555B1 (en) * 2000-06-23 2004-09-14 Micron Technology, Inc. Apparatus and method for distributed memory control in a graphics processing system
US6922765B2 (en) * 2001-06-21 2005-07-26 International Business Machines Corporation Method of allocating physical memory space having pinned and non-pinned regions
US7275135B2 (en) * 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US20030061436A1 (en) * 2001-09-25 2003-03-27 Intel Corporation Transportation of main memory and intermediate memory contents
US20030074524A1 (en) * 2001-10-16 2003-04-17 Intel Corporation Mass storage caching processes for power reduction
US20030101312A1 (en) * 2001-11-26 2003-05-29 Doan Trung T. Machine state storage apparatus and method
US7103724B2 (en) * 2002-04-01 2006-09-05 Intel Corporation Method and apparatus to generate cache data
US7133972B2 (en) * 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7200024B2 (en) * 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) * 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US7254331B2 (en) * 2002-08-09 2007-08-07 Micron Technology, Inc. System and method for multiple bit optical data transmission in memory systems
US7149874B2 (en) * 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
US6754117B2 (en) 2002-08-16 2004-06-22 Micron Technology, Inc. System and method for self-testing and repair of memory modules
US7836252B2 (en) 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7102907B2 (en) * 2002-09-09 2006-09-05 Micron Technology, Inc. Wavelength division multiplexed memory module, memory system and method
US7162625B2 (en) * 2003-03-10 2007-01-09 Dell Products L.P. System and method for testing memory during boot operation idle periods
CN100454206C (zh) * 2003-04-17 2009-01-21 松下电器产业株式会社 起动时间缩短装置及电子设备
US7607000B1 (en) * 2003-05-13 2009-10-20 Apple Inc. Method for booting an operating system
DE602004019078D1 (de) * 2003-05-30 2009-03-05 Ibm Datenspeichersysteme
US7245145B2 (en) * 2003-06-11 2007-07-17 Micron Technology, Inc. Memory module and method having improved signal routing topology
US7120727B2 (en) * 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7428644B2 (en) * 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7260685B2 (en) 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US7133991B2 (en) * 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US20050050237A1 (en) * 2003-08-28 2005-03-03 Jeddeloh Joseph M. Memory module and method having on-board data search capabilities and processor-based system using such memory modules
US7136958B2 (en) 2003-08-28 2006-11-14 Micron Technology, Inc. Multiple processor system and method including multiple memory hub modules
US7310752B2 (en) 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US7194593B2 (en) * 2003-09-18 2007-03-20 Micron Technology, Inc. Memory hub with integrated non-volatile memory
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7356651B2 (en) * 2004-01-30 2008-04-08 Piurata Technologies, Llc Data-aware cache state machine
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7788451B2 (en) 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US7181584B2 (en) * 2004-02-05 2007-02-20 Micron Technology, Inc. Dynamic command and/or address mirroring system and method for memory modules
US7412574B2 (en) * 2004-02-05 2008-08-12 Micron Technology, Inc. System and method for arbitration of memory responses in a hub-based memory system
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
US7464250B2 (en) * 2004-03-11 2008-12-09 International Business Machines Corporation Method to reduce disk access time during predictable loading sequences
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
US7120723B2 (en) * 2004-03-25 2006-10-10 Micron Technology, Inc. System and method for memory hub-based expansion bus
US7447240B2 (en) * 2004-03-29 2008-11-04 Micron Technology, Inc. Method and system for synchronizing communications links in a hub-based memory system
US7213082B2 (en) * 2004-03-29 2007-05-01 Micron Technology, Inc. Memory hub and method for providing memory sequencing hints
US6980042B2 (en) * 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7590797B2 (en) * 2004-04-08 2009-09-15 Micron Technology, Inc. System and method for optimizing interconnections of components in a multichip memory module
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7222213B2 (en) * 2004-05-17 2007-05-22 Micron Technology, Inc. System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7363419B2 (en) * 2004-05-28 2008-04-22 Micron Technology, Inc. Method and system for terminating write commands in a hub-based memory system
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7310748B2 (en) 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
JP4311287B2 (ja) * 2004-06-25 2009-08-12 ソニー株式会社 ブートシステム及びブート方法及びこのブート方法を用いたデータ処理装置
US7392331B2 (en) 2004-08-31 2008-06-24 Micron Technology, Inc. System and method for transmitting data packets in a computer system having a memory hub architecture
US20060064684A1 (en) * 2004-09-22 2006-03-23 Royer Robert J Jr Method, apparatus and system to accelerate launch performance through automated application pinning
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US20060136664A1 (en) * 2004-12-16 2006-06-22 Trika Sanjeev N Method, apparatus and system for disk caching in a dual boot environment
US7937709B2 (en) * 2004-12-29 2011-05-03 Intel Corporation Synchronizing multiple threads efficiently
US20060168407A1 (en) * 2005-01-26 2006-07-27 Micron Technology, Inc. Memory hub system and method having large virtual page size
US20070038850A1 (en) * 2005-08-10 2007-02-15 Matthews Jeanna N System boot and resume time reduction method
US8051155B2 (en) * 2005-08-30 2011-11-01 Cisco Technology, Inc. Method and apparatus for persisting SNMP variable values
US7533215B2 (en) 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
US7634689B2 (en) * 2005-09-22 2009-12-15 Advanced Micro Devices, Inc. Boot performance optimization for hard drive for personal internet communicator
US8352718B1 (en) 2005-11-29 2013-01-08 American Megatrends, Inc. Method, system, and computer-readable medium for expediting initialization of computing systems
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
JP4918350B2 (ja) * 2006-03-29 2012-04-18 富士通株式会社 情報処理装置、電源制御方法及びプログラム
US20080162821A1 (en) * 2006-12-27 2008-07-03 Duran Louis A Hard disk caching with automated discovery of cacheable files
JP4795378B2 (ja) * 2008-04-01 2011-10-19 レノボ・シンガポール・プライベート・リミテッド コンピュータおよびブート方法
US7958398B2 (en) * 2008-07-16 2011-06-07 International Business Machines Corporation Reference state information generation
US9032151B2 (en) 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8417928B2 (en) * 2008-09-24 2013-04-09 Marvell International Ltd. Turbo boot systems and methods for subsequent booting from a captured data stored in a non-volatile semiconductor memory
US8407398B2 (en) * 2008-10-01 2013-03-26 Lenovo (Singapore) Pte. Ltd. Cache mapping for solid state drives
US8464001B1 (en) * 2008-12-09 2013-06-11 Nvidia Corporation Cache and associated method with frame buffer managed dirty data pull and high-priority clean mechanism
US8230208B2 (en) 2009-04-20 2012-07-24 Intel Corporation Booting an operating system of a system using a read ahead technique
US8719559B2 (en) 2010-10-13 2014-05-06 International Business Machines Corporation Memory tagging and preservation during a hot upgrade
US9069475B1 (en) 2010-10-26 2015-06-30 Western Digital Technologies, Inc. Hybrid drive selectively spinning up disk when powered on
US8601248B2 (en) * 2011-03-28 2013-12-03 Western Digital Technologies, Inc. Disk drive booting from volatile semiconductor memory when exiting power save mode
US20120303942A1 (en) * 2011-05-25 2012-11-29 Eric Peacock Caching of boot data in a storage device
US9286079B1 (en) * 2011-06-30 2016-03-15 Western Digital Technologies, Inc. Cache optimization of a data storage device based on progress of boot commands
US8630056B1 (en) 2011-09-12 2014-01-14 Western Digital Technologies, Inc. Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory
US8909889B1 (en) 2011-10-10 2014-12-09 Western Digital Technologies, Inc. Method and apparatus for servicing host commands by a disk drive
JP5915215B2 (ja) * 2012-02-03 2016-05-11 富士通株式会社 仮想テープ装置及び仮想テープ装置の制御方法
US9710397B2 (en) * 2012-02-16 2017-07-18 Apple Inc. Data migration for composite non-volatile storage device
US8984267B2 (en) * 2012-09-30 2015-03-17 Apple Inc. Pinning boot data for faster boot
US10073851B2 (en) 2013-01-08 2018-09-11 Apple Inc. Fast new file creation cache
US9785545B2 (en) * 2013-07-15 2017-10-10 Cnex Labs, Inc. Method and apparatus for providing dual memory access to non-volatile memory
CN104102695B (zh) * 2014-06-26 2017-11-10 晨星半导体股份有限公司 智能设备启动过程的数据处理方法及智能设备
US11829349B2 (en) 2015-05-11 2023-11-28 Oracle International Corporation Direct-connect functionality in a distributed database grid
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
US9965350B2 (en) 2016-09-30 2018-05-08 International Business Machines Corporation Maintaining cyclic redundancy check context in a synchronous I/O endpoint device cache system
US10289421B2 (en) * 2017-02-17 2019-05-14 Dell Products, L.P. Booting of IHS from SSD using PCIe
US10803039B2 (en) 2017-05-26 2020-10-13 Oracle International Corporation Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index
US10719446B2 (en) 2017-08-31 2020-07-21 Oracle International Corporation Directly mapped buffer cache on non-volatile memory
US10732836B2 (en) 2017-09-29 2020-08-04 Oracle International Corporation Remote one-sided persistent writes
US10802766B2 (en) 2017-09-29 2020-10-13 Oracle International Corporation Database with NVDIMM as persistent storage
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10956335B2 (en) * 2017-09-29 2021-03-23 Oracle International Corporation Non-volatile cache access using RDMA
US10628051B2 (en) 2018-07-13 2020-04-21 Seagate Technology Llc Reducing a data storage device boot time
US11003483B1 (en) 2019-06-28 2021-05-11 Amazon Technologies, Inc. Parameterized launch acceleration for compute instances
US11593207B2 (en) * 2021-01-20 2023-02-28 EMC IP Holding Company LLC Storage system having RAID stripe metadata

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4713755A (en) 1985-06-28 1987-12-15 Hewlett-Packard Company Cache memory consistency control with explicit software instructions
GB2210480B (en) 1987-10-02 1992-01-29 Sun Microsystems Inc Flush support
US5974508A (en) 1992-07-31 1999-10-26 Fujitsu Limited Cache memory system and method for automatically locking cache entries to prevent selected memory items from being replaced
US5636355A (en) 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
JPH0883148A (ja) 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置
US5586291A (en) 1994-12-23 1996-12-17 Emc Corporation Disk controller with volatile and non-volatile cache memories
US5758149A (en) * 1995-03-17 1998-05-26 Unisys Corporation System for optimally processing a transaction and a query to the same database concurrently
US6119118A (en) 1996-05-10 2000-09-12 Apple Computer, Inc. Method and system for extending file system metadata
US5761678A (en) 1996-06-26 1998-06-02 International Business Machines Corporation Creation of clone storage area with identification of base storage area and deferred cloning of metadata
US5983310A (en) 1997-02-13 1999-11-09 Novell, Inc. Pin management of accelerator for interpretive environments
US5913224A (en) 1997-02-26 1999-06-15 Advanced Micro Devices, Inc. Programmable cache including a non-lockable data way and a lockable data way configured to lock real-time data
US6044478A (en) * 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6134315A (en) 1997-09-30 2000-10-17 Genesys Telecommunications Laboratories, Inc. Metadata-based network routing
US6240416B1 (en) 1998-09-11 2001-05-29 Ambeo, Inc. Distributed metadata system and method
US6295538B1 (en) 1998-12-03 2001-09-25 International Business Machines Corporation Method and apparatus for creating metadata streams with embedded device information
US6370614B1 (en) 1999-01-26 2002-04-09 Motive Power, Inc. I/O cache with user configurable preload
US6463509B1 (en) * 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
US6308168B1 (en) * 1999-02-09 2001-10-23 Knowledge Discovery One, Inc. Metadata-driven data presentation module for database system
JP2001333350A (ja) * 2000-03-15 2001-11-30 Sony Corp 画質調整方法および画質調整装置
CN1295623C (zh) 2000-06-23 2007-01-17 英特尔公司 非易失性高速缓存
US6931520B2 (en) * 2001-05-17 2005-08-16 International Business Machines Corporation Power management delay system using mouse pointer indicator to indicate power-up delay during powering up a powered down disk device
US20030005219A1 (en) 2001-06-29 2003-01-02 Royer Robert J. Partitioning cache metadata state
US7275135B2 (en) 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US20030061436A1 (en) 2001-09-25 2003-03-27 Intel Corporation Transportation of main memory and intermediate memory contents
US20030074524A1 (en) 2001-10-16 2003-04-17 Intel Corporation Mass storage caching processes for power reduction
US6839812B2 (en) 2001-12-21 2005-01-04 Intel Corporation Method and system to cache metadata
US7203886B2 (en) 2002-03-27 2007-04-10 Intel Corporation Detecting and correcting corrupted memory cells in a memory
US7103724B2 (en) 2002-04-01 2006-09-05 Intel Corporation Method and apparatus to generate cache data

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035337B (zh) * 2006-02-15 2010-09-29 三星电子株式会社 减少移动通信终端的引导时间的方法
CN103578533A (zh) * 2012-07-26 2014-02-12 三星电子株式会社 包括可变电阻存储器的存储装置及其操作方法
CN103578533B (zh) * 2012-07-26 2018-04-20 三星电子株式会社 包括可变电阻存储器的存储装置及其操作方法
CN104050094A (zh) * 2013-03-11 2014-09-17 Lsi公司 管理高速缓存存储区的系统、方法和计算机可读介质
CN105051684A (zh) * 2013-03-14 2015-11-11 桑迪士克科技股份有限公司 用于预测和改进启动序列的系统和方法
CN106469075A (zh) * 2015-08-20 2017-03-01 瑞昱半导体股份有限公司 储存装置、加快启动程序的方法与储存控制器
CN109408122A (zh) * 2018-09-28 2019-03-01 联想(北京)有限公司 一种设备启动方法、电子设备和计算机存储介质
CN109408122B (zh) * 2018-09-28 2021-05-18 联想(北京)有限公司 一种设备启动方法、电子设备和计算机存储介质

Also Published As

Publication number Publication date
WO2003003202A1 (en) 2003-01-09
US6920533B2 (en) 2005-07-19
CN1253787C (zh) 2006-04-26
US20030005223A1 (en) 2003-01-02

Similar Documents

Publication Publication Date Title
CN1253787C (zh) 系统启动时间减少的方法
RU2212704C2 (ru) Структура совместно используемого кэша для временных и невременных команд
EP0996891B1 (en) Data processing circuit with cache memory
US5228136A (en) Method and apparatus to maintain cache coherency in a multiprocessor system with each processor's private cache updating or invalidating its contents based upon set activity
US7711902B2 (en) Area effective cache with pseudo associative memory
US20070038850A1 (en) System boot and resume time reduction method
US6990557B2 (en) Method and apparatus for multithreaded cache with cache eviction based on thread identifier
US7552286B2 (en) Performance of a cache by detecting cache lines that have been reused
US6338115B1 (en) Advanced read cache management
US6292871B1 (en) Loading accessed data from a prefetch buffer to a least recently used position in a cache
US8478944B2 (en) Method and apparatus for adaptive cache frame locking and unlocking
US20100217937A1 (en) Data processing apparatus and method
US20090164715A1 (en) Protecting Against Stale Page Overlays
WO1994028485A1 (en) Cache system and method for prefetching of data
CN1517886A (zh) 一种支持处理器的功率操作模式的高速缓存存储器
US7107400B2 (en) System, apparatus, and process for evaluating projected cache sizes
US20050138289A1 (en) Virtual cache for disk cache insertion and eviction policies and recovery from device errors
JPH06282488A (ja) キャッシュ記憶装置
WO2004049169A2 (en) Using a cache miss pattern to address a stride prediction table
US7805572B2 (en) Cache pollution avoidance
JP4792065B2 (ja) データ記憶方法
JP2004355365A (ja) キャッシュ管理装置およびキャッシュメモリ管理方法
JPH10133948A (ja) キャッシュメモリ装置
JPH0784880A (ja) 不揮発メモリ利用方法
JPH06161895A (ja) 多階層メモリにおけるアクセスブロック通知方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060426

Termination date: 20180606

CF01 Termination of patent right due to non-payment of annual fee