用以降低功率的大容量存储缓存处理.pdf

上传人:b*** 文档编号:651610 上传时间:2018-03-01 格式:PDF 页数:16 大小:770.49KB
返回 下载 相关 举报
摘要
申请专利号:

CN02820362.3

申请日:

2002.10.04

公开号:

CN1568461A

公开日:

2005.01.19

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 12/08申请日:20021004授权公告日:20070425终止日期:20131004|||授权|||实质审查的生效|||公开

IPC分类号:

G06F12/08

主分类号:

G06F12/08

申请人:

英特尔公司;

发明人:

理查德·库尔森

地址:

美国加利福尼亚州

优先权:

2001.10.16 US 09/981,620

专利代理机构:

北京东方亿思专利代理有限责任公司

代理人:

王怡

PDF下载: PDF下载
内容摘要

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

权利要求书

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所述的方法,其中所述系统还包括缓存,并且所 述的将所述第一访问请求排队包括在所述缓存中记录所述第一访问请求。

说明书


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

    【技术领域】

    本发明所公开的内容涉及用以降低功率的大容量存储缓存,更具体地说涉及移动平台中使用的缓存。

    背景技术

    移动计算应用已经开始普及。用于这些应用的一些工具例如笔记本或膝上计算机具有硬盘。访问硬盘一般需要转动磁盘,这需要消耗大量功率。诸如读、写和寻道之类的操作比只转动磁盘需要消耗更多的功率。

    一种可能的方法是剧烈地将磁盘降速(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对用来将此新分配并写入的数据同步的磁盘存储器操作进行排队,以在下一次磁盘访问发生时执行。也可以将它推迟到下一次将磁盘起速之后。由于该存储器是非易失性的,因此磁盘不需要立刻更新。

    如前所述,这些被排队的存储器操作可包括新的缓存写以及数据的预取。存储控制器可周期性地检查存储器操作队列,以消除那些或者是不必要的或者已经变为不必要的操作。

    例如,可能会对同一个写请求而排队了若干个写请求,每个写请求具有不同的数据。使用上述示例,可对文档进行周期性的备份以防止系统故障。存储控制器不需要执行这些请求中的比较旧的请求,因为它本质上是要写几乎立即会被新数据覆盖的数据。然后可从队列中去除冗余条目。

    对读操作也可以进行类似的队列剔除。以前认为是必需的预取可能由于用户当前对平台的操作的变化而变为不必要或不是必需的。例如,可能基于用户观看一个数字视频文件的行为而排队了对串行数据流的另一大块数据的预取。如果用户关闭了正在访问该文件的应用程序,则对该文件的串行流的预取就变为不必要。

    按照这种方式,只有读缺失才会使得磁盘被访问。所有其他的存储器操作都可从缓存满足,并且,如果必要的话,可以对所述操作进行排队,以在下一次磁盘访问时在缓存和磁盘之间进行同步。这消除了与磁盘访问相关联的功耗,无论这种功耗是通过像当前所做的那样转动磁盘,还是在将来使用其他可用的技术而产生的。

    由于写操作或第二存储器访问请求可通过写缓存来满足,因此可首先来服务或满足它们。读操作可能需要访问存储设备,因此可以在第二访问请求之后来服务。

    在旋转式存储设备例如硬盘的情形下,这些操作中的大多数在存储设备被降速时开始或结束。本发明的应用的一个结果是节省了功率,而转动旋转式存储设备消耗了大量可用功率。因此,在需要将硬盘起速的存储访问请求发生之后,很可能以剧烈的方式来降低硬盘的转速,以最大限度地节约功率。

    这样,虽然到此为止已描述了用于以低功耗进行大容量存储缓存的方法和装置的具体实施例,但是不应将这种具体的参考看成是对本发明的范围的限制,除非在所附的权利要求中有具体的说明。

用以降低功率的大容量存储缓存处理.pdf_第1页
第1页 / 共16页
用以降低功率的大容量存储缓存处理.pdf_第2页
第2页 / 共16页
用以降低功率的大容量存储缓存处理.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《用以降低功率的大容量存储缓存处理.pdf》由会员分享,可在线阅读,更多相关《用以降低功率的大容量存储缓存处理.pdf(16页珍藏版)》请在专利查询网上搜索。

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1