CN1568461A - 用以降低功率的大容量存储缓存处理 - Google Patents

用以降低功率的大容量存储缓存处理 Download PDF

Info

Publication number
CN1568461A
CN1568461A CNA028203623A CN02820362A CN1568461A CN 1568461 A CN1568461 A CN 1568461A CN A028203623 A CNA028203623 A CN A028203623A CN 02820362 A CN02820362 A CN 02820362A CN 1568461 A CN1568461 A CN 1568461A
Authority
CN
China
Prior art keywords
memory
request
disk
buffer memory
access
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
CNA028203623A
Other languages
English (en)
Other versions
CN1312590C (zh
Inventor
理查德·库尔森
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 CN1568461A publication Critical patent/CN1568461A/zh
Application granted granted Critical
Publication of CN1312590C publication Critical patent/CN1312590C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

本发明公开了一种具有最小功耗的存储器系统。该存储器系统具有磁盘存储器、非易失性缓存和存储控制器。存储控制器管理存储器访问,以使磁盘访问的次数最少,从而避免与这些访问相关联的功耗。该控制器尽可能地使用所述缓存来满足请求,避免了磁盘访问。

Description

用以降低功率的大容量存储缓存处理
技术领域
本发明所公开的内容涉及用以降低功率的大容量存储缓存,更具体地说涉及移动平台中使用的缓存。
背景技术
移动计算应用已经开始普及。用于这些应用的一些工具例如笔记本或膝上计算机具有硬盘。访问硬盘一般需要转动磁盘,这需要消耗大量功率。诸如读、写和寻道之类的操作比只转动磁盘需要消耗更多的功率。
一种可能的方法是剧烈地将磁盘降速(spin down),其中在一段短时问后停止盘片的转动,在该段时间内不执行任何操作。然而,以这种方式来访问磁盘需要在访问磁盘之前将其重新起速(spin up)。这导致了系统性能中的时间延迟。
传统的方法调节移动系统以获得好的性能,而不是为了降低功耗。例如,多数方法在回写硬盘时都写“通过”(write“through”)任何的存储缓存。通常,这是因为缓存是易失性的,电源断开时会丢失其数据。在许多移动操作中,需要关注数据丢失的问题。
另一种性能调节方法是从硬盘预取大量数据到缓存,以试图预测用户希望最频繁地访问哪些数据。这需要转动磁盘,并可能实际上导致在缓存中存储不会被使用的数据。类似地,许多用于提高性能的技术避免了多媒体应用中常见的缓存串行流。所述串行流可能会污染缓存,占用大量空间而几乎无益于提高性能。
这些方法的示例可以在1984年2月2日授权的美国专利No.4,430,712、1984年8月28日授权的美国专利No.4,468,730、1985年3月5日授权的美国专利No.4,503,501以及1985年8月20日授权的美国专利No.4,536,836中获得。然而,这些方法都没有考虑功率节省问题。
附图说明
参考附图,通过阅读本说明书可以最好地理解本发明,其中:
图1示出了根据本发明,具有非易失性缓存系统的平台的一个示例。
图2示出了根据本发明,用于满足存储器操作请求的处理的一个实施例的流程图。
图3示出了根据本发明,用于满足读请求这一存储器操作的处理的一个实施例的流程图。
图4示出了根据本发明,用于满足写请求这一存储器操作的处理的一个实施例的流程图。
具体实施方式
图1示出了一个平台,其具有带有非易失性缓存的存储器系统。平台10可以是利用某种形式的永久性存储装置例如硬盘或固定磁盘存储器的任意类型的设备。一般地,这些永久性存储器与用于缓存的存储器技术相比来说要慢。因此,可以使用缓存来提高系统速度并改进性能,而较慢的永久性存储器提供持续性存储功能。
缓存14可以是易失性的,这意味着只要断开电源它就会被擦除;或者是非易失性的,即无论电源状态如何都存储数据。非易失性存储器提供了持续性的数据存储功能,但通常较昂贵并且可能不会大到提供足够的性能增益以平衡其成本因素。在一些应用中,非易失性存储器可以构成带有备用电池的易失性存储器,防止在系统电源断开时丢失数据。
一种制造成本相对低廉的新型非易失性存储器是聚合铁电存储器。一般地,这些存储器包括夹在电极层之间的多层具有铁电性质的聚合材料。这些存储器可以被制造成具有足够的大小以用作为大容量存储缓存。
一些公知的缓存方法被调节来为所述平台提供最好的性能。然而,使用非易失性缓存,可以改变这些方法以为移动平台同时提供好的性能和功率管理。转动硬盘消耗了一些功率,而访问磁盘以进行寻道、读和写操作甚至会消耗更多的功率。移动平台一般使用具有有限的可用功率的电池,因此不必要地转动磁盘所消耗的功率越多,在需要重新充电前用户对该平台的可用时间就越少。如上所述,使磁盘降速在存储器访问中引入了时间延迟,因为磁盘在可被访问前必须重新起速。非易失性存储器使得存储控制器16在处理存储器请求时拥有更多选择,并提供了大量的机会来消除系统中的功耗。
其他类型的系统在硬盘之外还可使用其他类型的主存储器。其他类型的系统可包括但不局限于个人计算机、服务器、工作站、路由器、交换机、网络应用设备、手持计算机、即时消息传递设备、呼叫器、移动电话及多种其他设备。在硬盘之外可能还有具有移动部件的存储器。类似地,非易失性存储器可以具有许多不同的类型。与硬盘类似的主系统存储器在此可被称为存储设备,也可同样地称呼非易失性缓存。然而,为了便于讨论,可以将存储设备称为硬盘,而不是要以任何方式限制本发明的应用。
存储控制器16可以是运行在所述平台的中央处理单元上的驱动器代码,多数情况下以软件、专用硬件控制器例如数字信号处理器或专用集成电路、或者主机处理器或在有能力控制存储器操作的系统中其他地方所使用的控制器的形式实现。该控制器将耦合到非易失性缓存,以处理对存储器系统的输入输出请求。处理存储器请求的方法的一个实施例示出在图2中。
在20接收存储器请求。存储器请求可以是读请求或写请求,如将针对图3和图4所讨论的那样。存储控制器起初将确定缓存22是否可以满足该请求。注意,术语“满足”对于读请求和写请求具有不同的含义。如果在22缓存可以满足该请求,则在24满足该请求,并且存储控制器返回到20以等待另一个存储器请求。
如果在22缓存不能满足请求,则在26访问存储设备。对于硬盘,这将涉及将磁盘起速以使其可被访问。然后在28执行磁盘存储器操作。最后,在30还将执行任何被排队的存储器操作。被排队的存储器操作一般可包括对磁盘的写和从磁盘的预取读操作,下面将更详细地说明。
已说明了使用图1的存储器系统进行存储器操作的一般处理,下面将更详细地说明图2所示的各项处理中的一些处理。一般地,写请求将保留在从缓存满足请求的处理中,因为从缓存满足请求的本质对于写操作来说不同于读操作。写操作还可被称为第一访问请求,而读操作可被称为第二访问请求。
图3示出了根据本发明的读操作的示例。虚线框所包围的处理对应于图2的磁盘存储器操作28。在处理的这一时间,读请求不能在缓存中满足。因此,必须访问磁盘存储器。在32分配缓存中的一个新缓存线(line),在34将数据从磁盘存储器读到该缓存线。在34还满足了读请求。不能从缓存满足读请求的这一情况将被称为“读缺失”。一般地,这是唯一一类将导致磁盘访问的请求。任意其他类型的存储器操作或者将从缓存满足,或者被排队直到读缺失发生。由于读缺失需要访问硬盘,因此该访问周期还将用于协调磁盘存储器和缓存之间的传输,以用于被排队的存储器操作。
一种可能发生的情况是对串行流的一部分的读请求。如上所述,串行流一般不会被当前预取处理所预取。这些预取处理试图抢先确定用户将会期望访问哪些数据并预取该数据,以提供更好的性能。然而,预取大块串行流不会提供相应的性能增益,因此一般地,当前的处理不执行串行数据流的预取。
然而,功率节省技术希望预取大块数据,以避免访问磁盘并因而消耗大量功率。图3的方法在36进行检查,以确定从磁盘读到缓存中的新数据是否是串行流的一部分。一般地,这些串行流是诸如音乐或视频之类的多媒体流应用的一部分。如果该数据是串行流的一部分,则在38,从上次预取中释放(deallocate)缓存中的所述缓存线,这意味着删除这些线中的数据,并在40预取新的缓存线。实际上取得了新的缓存线,预取意味着将数据转移到缓存中而无需来自存储控制器的直接请求。
如果所述数据不是来自串行流,则控制器在42确定是否因为其他原因而需要进行预取。如果需要进行预取,则在40进行预取。注意,串行流的预取将很可能与磁盘存储器操作重合发生。然而,在一些情形下(包括对非串行流的一些预取),预取可仅仅被标识并排队,作为下一次磁盘访问的被排队的存储器操作,或者,排在当前队列的末端以便在图2中的30处发生了其他被排队的存储器操作之后执行。
总之,既然所请求的数据可能已经驻留在缓存中,那么读操作可能从缓存满足。如果不能从缓存满足该请求,则需要进行磁盘存储器操作。相比之下,将确定可从缓存满足写请求。由于缓存较大且是非易失性的,因此写请求一般将在缓存本地执行,而对存储器操作进行排队,以在缓存和磁盘之间进行数据同步。写请求的处理的一个实施例示出在图4中。
再次参考图2以及在图4中重复的部分,一般的处理确定当前请求是否可在缓存中满足。对于多数写请求,答案将被认为是肯定的。包含在图4的虚线框中的处理对应于图2中在24从缓存满足请求的处理。在50,存储控制器确定是否已存在分配给写请求的线。当对特定应用程序周期性地进行写时一般会发生这种情形。例如,可能为字处理应用程序周期性地生成写请求以更新文档的文本。通常,在该应用程序的第一个写请求发生后,所述的线被分配给该特定的写请求。该写请求的数据可能会改变,但缓存中相同的线或线集合被分配给该请求。
如果在50向所述写请求分配了一个或多个线,则在58用新数据覆写所分配的缓存线。如果缓存中没有分配给该请求的线,则在52分配新的线,并在54将数据写入所分配的线。一般地,这一“新”存储器请求在磁盘存储器中不具有对应的数据。然后在56对用来将此新分配并写入的数据同步的磁盘存储器操作进行排队,以在下一次磁盘访问发生时执行。也可以将它推迟到下一次将磁盘起速之后。由于该存储器是非易失性的,因此磁盘不需要立刻更新。
如前所述,这些被排队的存储器操作可包括新的缓存写以及数据的预取。存储控制器可周期性地检查存储器操作队列,以消除那些或者是不必要的或者已经变为不必要的操作。
例如,可能会对同一个写请求而排队了若干个写请求,每个写请求具有不同的数据。使用上述示例,可对文档进行周期性的备份以防止系统故障。存储控制器不需要执行这些请求中的比较旧的请求,因为它本质上是要写几乎立即会被新数据覆盖的数据。然后可从队列中去除冗余条目。
对读操作也可以进行类似的队列剔除。以前认为是必需的预取可能由于用户当前对平台的操作的变化而变为不必要或不是必需的。例如,可能基于用户观看一个数字视频文件的行为而排队了对串行数据流的另一大块数据的预取。如果用户关闭了正在访问该文件的应用程序,则对该文件的串行流的预取就变为不必要。
按照这种方式,只有读缺失才会使得磁盘被访问。所有其他的存储器操作都可从缓存满足,并且,如果必要的话,可以对所述操作进行排队,以在下一次磁盘访问时在缓存和磁盘之间进行同步。这消除了与磁盘访问相关联的功耗,无论这种功耗是通过像当前所做的那样转动磁盘,还是在将来使用其他可用的技术而产生的。
由于写操作或第二存储器访问请求可通过写缓存来满足,因此可首先来服务或满足它们。读操作可能需要访问存储设备,因此可以在第二访问请求之后来服务。
在旋转式存储设备例如硬盘的情形下,这些操作中的大多数在存储设备被降速时开始或结束。本发明的应用的一个结果是节省了功率,而转动旋转式存储设备消耗了大量可用功率。因此,在需要将硬盘起速的存储访问请求发生之后,很可能以剧烈的方式来降低硬盘的转速,以最大限度地节约功率。
这样,虽然到此为止已描述了用于以低功耗进行大容量存储缓存的方法和装置的具体实施例,但是不应将这种具体的参考看成是对本发明的范围的限制,除非在所附的权利要求中有具体的说明。

Claims (51)

1.一种存储器系统,包括:
硬盘,其中该硬盘必须被转动以被访问;
缓存,其中该缓存由非易失性存储器构成;
存储控制器,可操作来:
确定所述存储器系统所接收的存储器请求是否可通过访问所述缓存来满足;
如果所述存储器请求不能由所述缓存满足,则将存储器请求排队;以及
当访问所述硬盘时执行所述被排队的存储器请求。
2.如权利要求1所述的系统,其中所述缓存还包括聚合铁电存储器。
3.如权利要求1所述的系统,其中所述存储控制器还包括数字信号处理器。
4.如权利要求1所述的系统,其中所述存储控制器还包括专用集成电路。
5.如权利要求1所述的系统,其中所述存储控制器还包括运行在主机处理器上的软件。
6.如权利要求1所述的系统,其中所述存储控制器与所述缓存驻留在同一位置。
7.如权利要求1所述的系统,其中所述存储控制器驻留在与所述缓存和所述硬盘不同的位置。
8.一种处理存储器请求的方法,该方法包括:
接收存储器操作的请求;
确定所述存储器操作的数据是否已存在于缓存中;
如果所述数据已存在于所述缓存中,则执行缓存操作;
如果所述数据未存在于所述缓存中,则:
访问包含所述存储器请求的数据的硬盘;
执行磁盘存储器操作;以及
执行任何被排队的磁盘存储器操作。
9.如权利要求8所述的方法,其中所述存储器操作是读操作。
10.如权利要求8所述的方法,其中访问硬盘还包括将所述硬盘起速。
11.如权利要求10所述的方法,所述方法还包括在执行任何被排队的磁盘存储器操作之后,将所述硬盘降速。
12.如权利要求8所述的方法,其中,如果所述数据未存在于所述缓存中,则所述方法还包括:
确定所述请求是否是串行流的一部分;
如果请求是串行流的一部分,则释放所述缓存中的缓存线,并预取新的缓存线;
如果请求不是串行流的一部分,则确定是否需要预取;以及
如果需要预取,则预取数据。
13.如权利要求12所述的方法,其中所述预取被作为磁盘存储器操作而排队。
14.如权利要求8所述的方法,其中执行任何被排队的磁盘存储器操作还包括确定是否需要所述被排队的磁盘存储器操作,然后执行需要的被排队的磁盘存储器操作。
15.如权利要求8所述的方法,其中所述存储器操作是写操作。
16.如权利要求8所述的方法,其中所述缓存操作还包括将数据写到所述缓存中。
17.如权利要求16所述的方法,其中所述缓存操作还包括将一个磁盘存储器操作排队,其中所述磁盘存储器操作将会把所述数据传输到所述磁盘。
18.如权利要求17所述的方法,其中周期性地检查被排队的磁盘存储器操作,以确保所述操作将继续是必需的。
19.如权利要求8所述的方法,其中所述磁盘存储器操作还包括将数据写到所述磁盘。
20.如权利要求8所述的方法,其中所述被排队的存储器操作包括将数据从所述缓存写到所述磁盘。
21.一种执行读存储器操作的方法,该方法包括:
接收读请求;
确定满足该读请求的数据是否位于缓存中;
如果所述数据位于所述缓存中,则从所述缓存中的数据满足所述读请求;
如果所述数据不在所述缓存中,则执行磁盘读操作,其中,所述磁盘读操作包括:
访问所述磁盘;
分配新缓存线;
将数据从所述磁盘传输到所述新缓存线;以及
满足所述请求。
22.如权利要求21所述的方法,其中访问所述磁盘还包括将硬盘起速。
23.如权利要求22所述的方法,其中所述方法还包括在满足所述请求之后,将所述硬盘降速。
24.如权利要求21所述的方法,其中所述磁盘读操作还包括:
确定从所述磁盘传输到所述新缓存线的数据是否是串行流的一部分;
如果所述数据是串行流的一部分,则预取新缓存线;
如果所述数据不是串行流的一部分,则确定是否需要预取;以及
如果需要预取,则执行预取。
25.如权利要求21所述的方法,其中预取还包括把要在下一次磁盘存储器操作期间执行的预取操作排队。
26.一种执行写存储器请求的方法,该方法包括:
接收写请求;
确定缓存中是否至少有一条线与所述写请求相关联;
如果所述缓存中至少一条线与所述写请求相关联,则执行对该线的写缓存操作;以及
如果所述缓存中没有与所述写请求相关联的线,则执行新的写操作。
27.如权利要求26所述的方法,其中所述新的写操作还包括:
分配新的缓存线;
将来自所述写请求的数据写到所述所分配的线;以及
将一个磁盘写操作排队,其中所述磁盘写操作将会在以后的磁盘存储器操作中将来自所述缓存的新数据传输到磁盘。
28.一种装置,包括:
存储设备;和
耦合到所述存储设备的非易失性缓存。
29.如权利要求28所述的装置,其中所述存储设备包括能够移动的部件。
30.如权利要求29所述的装置,还包括:
控制器,其耦合到所述非易失性缓存,以在所述部件未移动时将输入输出请求排队。
31.如权利要求29所述的装置,其中所述控制器适于在所述部件未移动时执行所述被排队的输入输出请求。
32.如权利要求29所述的装置,其中所述控制器包括软件。
33.如权利要求32所述的装置,其中所述装置还包括耦合到所述非易失性缓存的通用处理器,并且所述软件包括由所述通用处理器执行的驱动器。
34.如权利要求28所述的装置,其中所述装置包括从下述各系统所组成的组中选择的系统:个人计算机、服务器、工作站、路由器、交换机、网络应用设备、手持计算机、即时消息设备、呼叫器以及移动电话。
35.如权利要求30所述的装置,其中所述控制器包括硬件控制器设备。
36.如权利要求28所述的装置,其中所述存储设备包括旋转式存储设备。
37.如权利要求36所述的装置,其中所述旋转式存储设备包括硬盘驱动器。
38.如权利要求37所述的装置,其中所述非易失性缓存包括聚合铁电存储器设备。
39.如权利要求37所述的装置,其中所述非易失性缓存包括易失性存储器和备用电池。
40.一种装置,包括:
旋转式存储设备;
非易失性缓存,其耦合到所述旋转式存储设备;以及
控制器,其耦合到所述缓存并包括:
用于将涉及所述旋转式存储设备的第一访问请求排队的装置;
用于响应于第二访问请求,将所述旋转式存储设备起速的装置;
以及
用于在将所述旋转式存储设备起速后完成所述被排队的第一访问请求的装置。
41.如权利要求40所述的装置,其中所述第一访问请求包括写请求。
42.如权利要求41所述的装置,其中所述第二访问请求包括读请求。
43.如权利要求42所述的装置,其中所述读请求包括所述非易失性缓存对之存在缺失的读请求。
44.如权利要求41所述的装置,其中所述第一访问请求还包括预取。
45.如权利要求44所述的装置,其中所述读请求包括所述非易失性缓存对之存在缺失的读请求。
46.一种方法,用于操作包括旋转式存储设备的系统,该方法包括:
将所述旋转式存储设备降速;
接收涉及所述存储设备的第一访问请求;
将所述第一访问请求排队;
接收涉及所述存储设备的第二访问请求;
响应于接收到所述第二访问请求,将所述旋转式存储设备起速;以及
对所述第二访问请求进行服务。
47.如权利要求46所述的方法,还包括:
对所述第一访问请求进行服务。
48.如权利要求47所述的方法,其中所述系统还包括耦合到所述旋转式存储设备的缓存,并且所述第二访问请求包括在所述缓存中缺失的读请求。
49.如权利要求47所述的方法,其中所述的对所述第一访问请求进行服务是在所述的对所述第二访问请求进行服务之后执行的。
50.如权利要求49所述的方法,其中所述第二访问请求包括读请求。
51.如权利要求50所述的方法,其中所述系统还包括缓存,并且所述的将所述第一访问请求排队包括在所述缓存中记录所述第一访问请求。
CNB028203623A 2001-10-16 2002-10-04 用以降低功率的大容量存储缓存处理 Expired - Fee Related CN1312590C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/981,620 US20030074524A1 (en) 2001-10-16 2001-10-16 Mass storage caching processes for power reduction
US09/981,620 2001-10-16

Publications (2)

Publication Number Publication Date
CN1568461A true CN1568461A (zh) 2005-01-19
CN1312590C CN1312590C (zh) 2007-04-25

Family

ID=25528520

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028203623A Expired - Fee Related CN1312590C (zh) 2001-10-16 2002-10-04 用以降低功率的大容量存储缓存处理

Country Status (4)

Country Link
US (1) US20030074524A1 (zh)
EP (1) EP1436704A1 (zh)
CN (1) CN1312590C (zh)
WO (1) WO2003034230A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941601B2 (en) 2006-01-17 2011-05-10 Kabushiki Kaisha Toshiba Storage device using nonvolatile cache memory and control method thereof
CN102157360A (zh) * 2010-02-11 2011-08-17 中芯国际集成电路制造(上海)有限公司 一种栅极制造方法
CN101441551B (zh) * 2007-11-23 2012-10-10 联想(北京)有限公司 计算机、外存储器以及处理外存储器中数据信息的方法
CN112882661A (zh) * 2021-03-11 2021-06-01 拉卡拉支付股份有限公司 数据处理方法、装置、电子设备、存储介质及程序产品

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6920533B2 (en) * 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
US7351300B2 (en) 2001-08-22 2008-04-01 Semiconductor Energy Laboratory Co., Ltd. Peeling method and method of manufacturing semiconductor device
US7275135B2 (en) * 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US7103724B2 (en) 2002-04-01 2006-09-05 Intel Corporation Method and apparatus to generate cache data
WO2004040648A1 (ja) 2002-10-30 2004-05-13 Semiconductor Energy Laboratory Co., Ltd. 半導体装置および半導体装置の作製方法
US6926199B2 (en) * 2003-11-25 2005-08-09 Segwave, Inc. Method and apparatus for storing personalized computing device setting information and user session information to enable a user to transport such settings between computing devices
US7174471B2 (en) * 2003-12-24 2007-02-06 Intel Corporation System and method for adjusting I/O processor frequency in response to determining that a power set point for a storage device has not been reached
US7334082B2 (en) * 2003-12-30 2008-02-19 Intel Corporation Method and system to change a power state of a hard drive
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US20060075185A1 (en) * 2004-10-06 2006-04-06 Dell Products L.P. Method for caching data and power conservation in an information handling system
GB0422570D0 (en) 2004-10-12 2004-11-10 Koninkl Philips Electronics Nv Device with storage medium and method of operating the device
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
KR100699893B1 (ko) 2006-01-23 2007-03-28 삼성전자주식회사 하이브리드 디스크 드라이브 및 하이브리드 디스크드라이브의 데이터 제어방법
WO2007085978A2 (en) * 2006-01-26 2007-08-02 Koninklijke Philips Electronics N.V. A method of controlling a page cache memory in real time stream and best effort applications
US8495276B2 (en) 2007-10-12 2013-07-23 HGST Netherlands B.V. Power saving optimization for disk drives with external cache
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
US9003104B2 (en) * 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
JP2013229013A (ja) * 2012-03-29 2013-11-07 Semiconductor Energy Lab Co Ltd アレイコントローラ及びストレージシステム
KR101944378B1 (ko) * 2014-03-29 2019-04-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 메모리 장치에서의 동적 캐시 사이징 방법 및 이를 포함하는 프로세서

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4430712A (en) * 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US4468730A (en) * 1981-11-27 1984-08-28 Storage Technology Corporation Detection of sequential data stream for improvements in cache data storage
US4536836A (en) * 1981-11-27 1985-08-20 Storage Technology Corporation Detection of sequential data stream
JPS63100555A (ja) * 1986-10-17 1988-05-02 Hitachi Ltd 情報記録再生装置
US4972364A (en) * 1987-02-13 1990-11-20 International Business Machines Corporation Memory disk accessing apparatus
US5046043A (en) * 1987-10-08 1991-09-03 National Semiconductor Corporation Ferroelectric capacitor and memory cell including barrier and isolation layers
US5604881A (en) * 1988-12-22 1997-02-18 Framdrive Ferroelectric storage device emulating a rotating disk drive unit in a computer system and having a multiplexed optical data interface
US5133060A (en) * 1989-06-05 1992-07-21 Compuadd Corporation Disk controller includes cache memory and a local processor which limits data transfers from memory to cache in accordance with a maximum look ahead parameter
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5594885A (en) * 1991-03-05 1997-01-14 Zitel Corporation Method for operating a cache memory system using a recycled register for identifying a reuse status of a corresponding cache entry
WO1992015933A1 (en) * 1991-03-05 1992-09-17 Zitel Corporation Cache memory system and method of operating the cache memory system
US5269019A (en) * 1991-04-08 1993-12-07 Storage Technology Corporation Non-volatile memory storage and bilevel index structure for fast retrieval of modified records of a disk track
US5444651A (en) * 1991-10-30 1995-08-22 Sharp Kabushiki Kaisha Non-volatile memory device
WO1993018461A1 (en) * 1992-03-09 1993-09-16 Auspex Systems, Inc. High-performance non-volatile ram protected write cache accelerator system
JP3407204B2 (ja) * 1992-07-23 2003-05-19 オリンパス光学工業株式会社 強誘電体集積回路及びその製造方法
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
US5542066A (en) * 1993-12-23 1996-07-30 International Business Machines Corporation Destaging modified data blocks from cache memory
US5584007A (en) * 1994-02-09 1996-12-10 Ballard Synergy Corporation Apparatus and method for discriminating among data to be stored in cache
US6052789A (en) * 1994-03-02 2000-04-18 Packard Bell Nec, Inc. Power management architecture for a reconfigurable write-back cache
US5577226A (en) * 1994-05-06 1996-11-19 Eec Systems, Inc. Method and system for coherently caching I/O devices across a network
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
US6101574A (en) * 1995-02-16 2000-08-08 Fujitsu Limited Disk control unit for holding track data in non-volatile cache memory
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
NO955337D0 (no) * 1995-12-28 1995-12-28 Hans Gude Gudesen Optisk minneelement
US5754888A (en) * 1996-01-18 1998-05-19 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment
US5809337A (en) * 1996-03-29 1998-09-15 Intel Corporation Mass storage devices utilizing high speed serial communications
US5802593A (en) * 1996-09-06 1998-09-01 Intel Corporation Method and apparatus for improving disk drive performance
US6025618A (en) * 1996-11-12 2000-02-15 Chen; Zhi Quan Two-parts ferroelectric RAM
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US6122711A (en) * 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
NO972803D0 (no) * 1997-06-17 1997-06-17 Opticom As Elektrisk adresserbar logisk innretning, fremgangsmåte til elektrisk adressering av samme og anvendelse av innretning og fremgangsmåte
NO309500B1 (no) * 1997-08-15 2001-02-05 Thin Film Electronics Asa Ferroelektrisk databehandlingsinnretning, fremgangsmåter til dens fremstilling og utlesing, samt bruk av samme
US6081883A (en) * 1997-12-05 2000-06-27 Auspex Systems, Incorporated Processing system with dynamically allocatable buffer memory
US6295577B1 (en) * 1998-02-24 2001-09-25 Seagate Technology Llc Disc storage system having a non-volatile cache to store write data in the event of a power failure
US6463509B1 (en) * 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
US6370614B1 (en) * 1999-01-26 2002-04-09 Motive Power, Inc. I/O cache with user configurable preload
US6539456B2 (en) * 1999-10-13 2003-03-25 Intel Corporation Hardware acceleration of boot-up utilizing a non-volatile disk cache
NO312180B1 (no) * 2000-02-29 2002-04-08 Thin Film Electronics Asa Fremgangsmåte til behandling av ultratynne filmer av karbonholdige materialer
US6438647B1 (en) * 2000-06-23 2002-08-20 International Business Machines Corporation Method and apparatus for providing battery-backed immediate write back cache for an array of disk drives in a computer system
US6725342B1 (en) * 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
US6564286B2 (en) * 2001-03-07 2003-05-13 Sony Corporation Non-volatile memory system for instant-on
US6920533B2 (en) * 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
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
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
US20040088481A1 (en) * 2002-11-04 2004-05-06 Garney John I. Using non-volatile memories for disk caching

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941601B2 (en) 2006-01-17 2011-05-10 Kabushiki Kaisha Toshiba Storage device using nonvolatile cache memory and control method thereof
CN101441551B (zh) * 2007-11-23 2012-10-10 联想(北京)有限公司 计算机、外存储器以及处理外存储器中数据信息的方法
CN102157360A (zh) * 2010-02-11 2011-08-17 中芯国际集成电路制造(上海)有限公司 一种栅极制造方法
CN102157360B (zh) * 2010-02-11 2012-12-12 中芯国际集成电路制造(上海)有限公司 一种栅极制造方法
CN112882661A (zh) * 2021-03-11 2021-06-01 拉卡拉支付股份有限公司 数据处理方法、装置、电子设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN1312590C (zh) 2007-04-25
WO2003034230A1 (en) 2003-04-24
EP1436704A1 (en) 2004-07-14
US20030074524A1 (en) 2003-04-17

Similar Documents

Publication Publication Date Title
CN1312590C (zh) 用以降低功率的大容量存储缓存处理
US7821864B2 (en) Power management of memory via wake/sleep cycles
US6658549B2 (en) Method and system allowing a single entity to manage memory comprising compressed and uncompressed data
Gill et al. AMP: Adaptive Multi-stream Prefetching in a Shared Cache.
US10204039B2 (en) Host controlled hybrid storage device
US8397016B2 (en) Efficient use of hybrid media in cache architectures
US7996623B2 (en) Read ahead storage control
US7962715B2 (en) Memory controller for non-homogeneous memory system
KR101692417B1 (ko) 다이렉트 액세스를 갖는 다중-레벨 메모리
Menon et al. Floating parity and data disk arrays
US8037251B2 (en) Memory compression implementation using non-volatile memory in a multi-node server system with directly attached processor memory
US20090265506A1 (en) Storage device
US10140060B2 (en) Memory system including a nonvolatile memory and a volatile memory, and processing method using the memory system
CN102473138A (zh) 具有用于页面错误处理的闪存的扩展主存储器层次结构
CN101133393A (zh) 用于计算装置的双模式操作系统
CN1607508A (zh) 自适应重构缓冲区的系统和方法
CN1831824A (zh) 缓存数据库数据组织方法
CN101034375A (zh) 计算机存储系统
US7047356B2 (en) Storage controller with the disk drive and the RAM in a hybrid architecture
CN1255732C (zh) 使用预取缓冲器进行存储器功率管理的系统和方法
Gill et al. Optimal multistream sequential prefetching in a shared cache
Nijim et al. Multi-layer prefetching for hybrid storage systems: algorithms, models, and evaluations
Manzanres et al. Energy-aware prefetching for parallel disk systems: Algorithms, models, and evaluation
Barve et al. Competitive parallel disk prefetching and buffer management
Nijim Modelling speculative prefetching for hybrid storage systems

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070425

Termination date: 20131004