基于最大系统吞吐量的先进的盘驱动器功率管理的制作方法

文档序号:6351543阅读:153来源:国知局
专利名称:基于最大系统吞吐量的先进的盘驱动器功率管理的制作方法
技术领域
本发明涉及基于层级式存储子系统的最大可用写/读能力在该层级式存储子系统的ー组活跃盘之间分配写/读任务。
背景技术
在现代计算机系统中,存储子系统通常以层级式方式实现。在到达物理盘设备之前,用户数据可能必须通过几层软件和硬件。在企业数据中心情况尤其如此。例如,在数据被存储于网络文件服务器的典型配置中,数据包可能必须经过I)网络客户端和服务器之间的网络连接; 2)提供网络文件服务(例如,NFS)的软件层;3)文件系统层4)逻辑卷管理器(LVM)层5)文件服务器硬件以及与盘控制器的连接6)附接到盘控制器的盘驱动器。软件和硬件的层数在每个特定配置中可能有所不同,但是现代存储子系统的共同特征包括抽象基本的层级;以及多个存储资源的聚合。例如,盘控制器可以将几个物理盘聚合成为ー个逻辑阵列,并且ー个LVM或者文件系统层可以进ー步将逻辑盘阵列聚合为更高层的抽象。尽管这允许提供可用盘空间的较高灵活程度,但是多层抽象也造成了某些不足。缺少活跃盘功率管理就是不足之一。已知的是ー组盘(例如,“盘阵”),其中多个物理盘,盘控制器以及文件服务器节点被用来提供所需数量的存储空间并且达到要求的性能水平。这种物理盘可以被连续地被上电并且以最大支持速度旋转,而不考虑存储系统负载,由此消耗了大量的功率并且产生了相当的热量。在具有大量盘驱动器的环境中,总体功耗以及散热提出了挑战。此外,始終保持盘驱动器上电和旋转会缩短平均的盘使用寿命。美国已公开的专利申请US20090240992公开了ー种通过检查层级式子系统中发生的盘故障的次数而在层级式存储系统中关闭ー组活跃盘的方法;美国已公开的专利申请US20050111249公开了ー种基于针对ー组活跃盘而计算的总体寿命预期而在盘阵列的一组活跃盘之间分配写/读任务的方法。美国专利631125公开了ー种在选自盘阵列的ー组盘之间分布写/读任务以确保所有盘被均等使用的方法。美国已公开的专利申请US20080172525公开了ー种功率节约的方法,其通过基于原始数据压缩之后需要被写/读的总数据在存储阵列中的一组活跃盘之间分布写/读任务。US专利7089359公开了ー种在层级式存储系统中考虑由层级式结构造成的限制来计算盘阵列的有效容量的万法。论又“Write Off-Loading !Practical Power Management for EnterpriseStorage,,(Dushyanth Narayanan 等,6th USENIX Conference on File and StorageTechnologies, 2008)公开了ー种用于将写任务从本地盘转载给存储系统中其它盘以掩盖盘中的旋转减慢效应的方法。

发明内容
提供了一种通过识别存储设备中可以被置于备用配置的子集来降低计算机系统中功耗的方法。在现代计算机系统中,存储子系统通常以层级方式实现。例如,在用户数据被传输到盘设备或者从盘设备被获取之前,该数据必须通过多层的软件和硬件。在企业数据中心中由其如此。在数据被存储于网络文件服务器的典型配置中,数据包可能必须经过以下层I)网络客户端和服务器之间的网络连接;2)提供网络文件服务(例如,网络文件系统或称NFS)的软件的层;3)文件系统层;4)逻辑卷管理器(LVM)层;5)文件服务器硬件以及与硬盘控制器的连接;以及6)附接到盘控制器的盘驱动器。当然,软件和硬件的层数可以根据特定配置而变化。例如,有些配置可以包括存储区域网络(SAN)。然而,许多现代存储子系统包括层级式抽象级别和多个存储资源的聚合。例如,盘控制器可以将若干个物理盘聚合为ー个逻辑阵列,并且LVM或者文件系统层可以进ー步将逻辑盘聚合为ー个更高层的抽象。要求保护的发明的一个实施例包括评估计算系统的数据吞吐量以产生数据存储需求;基于数据存储需求产生活跃盘列表,其中对活跃盘列表上所指定的多个数据存储设备中的数据存储设备的选择足以满足数据存储需求;确保在该活跃盘列表上指定的每个特定数据存储设备是活跃的并且未在该活跃盘列表上被指定的任何数据存储设备是不活跃的;在计算系统的操作期间,重新评估计算系统的数据吞吐量以产生修改的数据存储需求;基于修改的数据存储需求来产生修改的活跃盘列表,其中对修改的活跃盘列表上所指定的多个数据存储设备中的数据存储设备的修改的选择足以满足修改的数据存储需求;以及确保在该修改的活跃盘列表上所指定的每个特定数据存储设备是活跃的并且未在该修改的活跃盘列表上被指定的任何数据存储设备是不活跃的。发明内容部分并非意图作为要求保护的主题的全面描述;相反的,是为了提供了与此相关的一些功能的简要概观。基于下述附图及具体的说明的检查,要求保护的主题的其它系统、方法、功能、特征以及优点对于本领域技术人员将是或者将成为显然的。


本发明优选的实施方式将被描述,仅以示例的方式,參考以下附图,其中图I是能实施要求保护主题的计算系统架构的一个示例的框图。图2是实施要求保护主题的一个实施方式的数据存储功率优化系统(DSPOS)的框图。图3是与图2的DSPOS对应的建立DSPOS过程的流程图。图4是与图2的DSPOS对应的操作DSPOS过程的流程图。图5是可以实现图4的操作DSPOS过程的ー个方面的实施功率优化方案(POS)过程的流程图。
具体实施例方式本领域技术人员将理解,本发明的方面可以实施为一系统,方法或计算机程序产品。相应地,本发明的方面可以采取完全硬件的实施方式,完全软件的实施方式(包括固件,固有软件,微-代码,等)或者结合软件和硬件方面的实施方式,其可以总体上在此被称为“电路”、“模块”或者“系統”。此外,本发明的方面可以采取计算机程序产品的形式,其实施为具有在其上执行的计算机可读程序代码的ー个或多个计算机可读介质。根据要 求保护主题的一个实施方式涉及用于数据存储子系统中功率管理的被编程的方法。在此被使用的该术语“被编程的方法”,被定义为意味着一个或多个当前正在被执行的过程步骤;或者备选地,一个或多个将在一个更远的时间点被执行的过程步骤。该术语“被编程的方法”预见了三种可选择的形式。第一,被编程的方法包括当前正在被执行的过程步骤。第二,被编程的方法包括计算机可读介质,其当计算机执行ー个或多个过程步骤时实施计算机指令。最后,被编程的方法包括计算机系统,通过软件、硬件、固件或者其任意组合,来执行ー个或更多过程步骤。将被理解的是“被编程的方法”不被构造成同时具有多于ー个的可选形式,但是相反地是被构造成一个真实意义上的可选形式,其中在任意给定时间点,只存在可选择的形式中的ー个。计算机可读介质的任意ー个或多个形式的组合可以被使用。计算机可读介质可以使计算机可读信号介质或者计算机可读存储介质。计算机可读介质可以是,例如但不限干,电、光、磁、电磁、红外、或者半导体系统、装置、或者设备、或者前述的任意合适组合。计算机可读存储介质的更多例子(非穷尽的列表)包括具有一个或多个电线的电连接,便携计算机盘,硬盘,随随机存取存储器(RAM),只读存储器(R0M),可擦写可编程只读存储器(EPR0M或者闪存),光纤,便携压缩盘只读存储器(CD-ROM),光存储设备,磁存储设备,或者任意前述组合。在本文的上下文中,计算机可读存储介质可以是任意可触介质,其能够包含或者存储程序,其被使用或者与指令执行系统、装置或设备连在一起。计算机可读信号介质可以包括其中具有执行的计算机可读程序代码的被传播数据信号,例如,在基带或者作为载波的部分。这种被传播数据信号可以采用多种不同形式,例如,但是不限干,电-磁,光,或者及其任何合适组合。计算机可读信号介质可以任意计算机可读介质,其并不是计算机可读存储介质,且可以通信、传播、或者传输程序,其被使用或者与指令执行系统、装置或设备连在一起。在计算机可读介质中实施的程序代码可以采用任意合适的介质被传输,包括但不限于,无线、有线、光学光缆、RF、等,或者任意前述的合适组合。执行本发明的各方面的操作的计算机程序代码,可以采用一个或多个编程语言的任意组合编写,包括面向对象编程语目例如Java, Smalltalk, C++或者类似的语目以及传统过程编程语言,例如“C”编程语言或者类似的编程语言。程序代码可以完全在用户的计算机上执行,部分地在用户的计算机上,作为ー个単独的软件包,部分地在用户的计算机上且部分地在远程的计算机上以及完全在远程的计算机或者服务器上。在后者的场景中,包括局域网(LAN)以及广域网(WAN),或者连接可以被最作为外部计算机(例如,通过使用因特网服务提供商的因特网)。本发明的若干方面在下面将结合根据本发明的实施方式的流程图示意和/或方法、装置(系统)以及计算机程序产品的框图被描述。将被理解的是流程图和/或框图的每个框,以及流程图和/或框图的框的组合,将通过计算机程序指令被执行。这些计算机程序指令可以被提供给通用目的计算机,特殊目的计算机,或者其它可编程数据处理装置的处理器来产生机器,使得该通过计算机或者其它可编程数据处理装置执行的指令,创造用于执行流程图和/或框图的一个或多个框所规定的功能的装置。这些计算机程序指令也可以存储在计算机可读介质,其可以指导计算机,或者其它可编程数据处理装置,或以特定方式实现功能的其它设备,从而使得存储在计算机可读介质中的指令产生包括执行流程图和/或框图中的一个或多个框的功能/动作的指令的制
品。 计算机程序指令可以被加载到计算机,或者其它可编程数据处理装置,或其他设备来导致一系列操作步骤在计算机、其它可编程数据处理装置,或其他设备上被执行,从而使得该通过计算机或者其它可编程数据处理装置执行的指令,提供用于执行流程图和/或框图的一个或多个框所规定的功能/动作的过程。正如发明人已经在这里认识到的,虽然层级化的抽象级别以及多个存储资源的聚合在提供可用数据存储空间方面提供了较高的灵活性水平,但是也带来了ー些不足,其中之一就是缺少活跃盘功率管理。ー个“盘阵”(disk farm)通常包括大量物理盘、盘控制器以及文件服务节点来提供所需数量的存储空间并且满足特定的所需性能水平。特别地,在该配置中,所有物理盘都被上电并且以盘可以支持的最大速度旋转,而不考虑实际的存储系统负载。这种使用消耗了大量功率并产生相当的热量。在具有大量盘驱动器的环境中,整体功耗以及散热提出了挑战。此外,将盘驱动器保持在全功率、全速状态会缩短盘的寿命。所公开的技术标识层级式存储系统中的瓶颈,并且基于数据可能被传输通过特定瓶颈的速率来确定匹配该传输速率所需的盘驱动器的最小数目。如果所需要的盘的数目小于盘的总数,则仅将总数的一个子集保持在活跃状态,其余的被置于“备用”或者“关闭”模式。以此方式,总体系统功耗被降低。在一个实施方式中,所公开的技术由存储架构的高级别处的活跃盘管理来实施。现在转到附图,图I是所公开的技术可以实现于其中的计算系统架构100的ー个示例的框图。数据服务器102包括中央处理单元(CPU) 104,耦合到监视器106、键盘108和鼠标110,它们一起支持与计算系统100和数据服务器102的人机交互。CPU 104通常可以包括一个或多个处理器(未示出)以及其它组件,诸如但不限于数据缓存(未示出)和数据总线(未示出),这对于计算领域的本领域技术人员里说是熟悉的。数据服务器102中还包括数据存储组件或称DS_1 112,其附接到CPU 104。DS_1 112可以被包含在CPU104中,即它是ー个内部设备;或者借助例如但不限于通用串行总线(USB)端ロ(未示出)的常见连接设备而从外部附接至CPU 104。DS_1 112被示为存储有操作系统(OS) 114和可以包含在OS 114中的文件系统(FS) 116,可以作为FS 116 一部分的数据存储功率优化系统(DSPOS) 118,以及逻辑卷管理器(LVM)组件120。DSP0S118是可以实施要求保护主题的设备的ー个示例,其将參考图2-图5详述。数据服务器102可通信地耦合至存储区域网络(SAN) 122,SAN122被耦合到多个盘控制器,即,控制器_1 124和控制器_2 126。每个盘控制器耦合到多个存储设备,即,控制器j 124耦合到数据存储设备_1(DS_1)131和DS_2132,并且控制器_2126耦合到DS_3133以及DS_4 134。应当理解,组件122、124、126以及131-134仅仅出于示范目的。典型的数据服务器可以耦合到多个SAN以及大量的控制器和数据存储设备。简便起见,仅仅示出了ー个SAN、两个控制器和四个数据存储设备。而且,本领域技术人员可以理解,所公开的技术同样地适用于其它类型的组件或配置。还示出了第一客户端系统或称CS_1 142以及第二客户端系统或称CS_2 144,两者都与数据服务器102类似,通常将包括中央处理单元(CPU) 104、监视器106、键盘108、鼠标110以及数据存储112。CS_1 142和CS_2 144 二者可通信地连接到局域网(LAN) 140,LAN 140被耦合到文件服务器102。LAN 140仅仅被用作示范目的,应当理解,CS_1 142和CS_2 144以及文件服务器102也可以通过直接连接或者例如虚拟专用网络(VPN)、广域网(WAN)、因特网或者网络及其他连接的若干组合等其他类型的网络来连接。CS_1142和CS_2144在说明书中通篇被用作可以访问数据服务器102的服务的设备示例。应当理解,还可以存在被包含在架构100中的其它客户端、服务器和通信设备,其可以包含除了所示出的几个设备之外的要求保护的技术。此外,应当注意,可以存在很多可能的计算系统配置,其中计算系统架构100只是用于示范目的的一个简单示例。图2是首先结合图I介绍的DSPOS 118的详细框图。DSPOS 118包括输入/输出(I/O)模块150、数据模块152、数据流分析模块154、数据分析模块156以及盘和数据控制模块158。为了下文示例之目的,假设DSPOS 118被存储在数据服务器102的DS_1 112上,并且在与CPU 104关联的一个或多个处理器上被执行。尽管被示为单独的组件,但是DSPOS118可以作为FS 116和/或OS 114的功能而被实现。应当理解,要求保护的主题可以在多种类型的计算系统和数据存储架构中被实施,但是出于简便目的,只描述服务器102以及系统架构100 (图I)。此外,图2中的DSPOS118表示是逻辑模型。換言之,组件150、152、154、156以及158可被存储在相同或者独立的文件中,和/或作为单个系统或者作为经由任何可用的过程间通信(IPC)技术而交互的独立过程而在数据服务器102和系统100中执行。I/O模块150处理DSPOS 118与数据服务器102以及系统100的其它组件的任何通信。数据模块152是用于信息的数据存储库,信息包括DSPOS 118在正常操作中需要的设置和參数。存储在数据模块152中的信息类型的示例包括=DSPOS配置模块162,系统配置模块164以及数据缓存器166。DSPOS配置162存储控制DSPOSl 18操作的參数和其它信息。信息类型的示例包括但不限于I)各种数据存储控制方案的选择;2)保持上电的盘的最小数目;3)控制盘被投入使用和停止使用的时机的方案;以及 4)系统的总体性能參数;系统配置164存储关于系统100的各种组件的信息,包括影响DSPOS 118的操作的那些组件以及由DSPOS 118控制的那些组件。信息类型的示例包括但不限干I)系统中的设备;2)系统的设备层级;3)系统中设备的状态和配置;
4)与设备相关联的通信參数;5)与设备相关联的性能參数;6)数据存储设备的存储能力;以及7)元数据之类的特定特殊数据的位置。应当注意,上文所列信息中的某些信息可以由FS 116和/或OSl 14获知和/或收集。此外,信息可以在系统100的操作期间被DSP0S118、 FS 116和/或OS 114动态地收集,或者由了解系统100以及关联组件的性能特性的系统管理员录入。数据缓存166存储与DSP0S118的操作相关联的中间计算的结果以及在DSPOS 118的操作活动期间(參见图4的230)使用的任意易失性信息。易失性信息的示例包括但不限干标识当前活跃的那些数据存储设备和当前可用的那些数据存储设备的信息。将结合图3-图5对组件150、152、154、156、158、162、164 以及 166 进行详述。数据流分析模块154分析数据服务器102以及系统100的适当组件的活动,以确定关于数据移动的当前情况(參见图4的236)。可被评估的活动的示例包括但不限于例如CS_1 142以及CS_2 144(图I)的客户端的活跃级别的改变;当前系统配置,例如不工作的或者已被添加到系统100的网络链接、盘或者盘控制器;工作负载组成,例如数据读取与数据写入的比例;以及活跃盘组内部和外部二者的盘空间利用。数据分析模块156分析存储在诸如设备131-134(图I)的数据存储设备中的数据的可访问性以及特性。例如,在低系统吞吐量情况下,有利的是将每个个体文件的数据块维护在数据存储设备的一个小子集中。在呑吐量増加的情况下,有益的是将特定文件的数据块分散在较多的盘以有助于满足性能目标。而且,特定类型的文件可能需要被维护在活跃数据存储设备上。例如,索引节点、间接块,目录之类的元数据所占用的存储空间通常明显较少,并且因此可以整个被存储在少量设备上。由于元数据访问模式通常更为随机并且访问延迟通常比数据访问模式和延迟更具有破坏性,因此元数据可以被维护在保持在线的数据存储设备中,或者当数据存储设备被激活或者解激活时在系统中被迁移。在具有先进信息生命周期管理(ILF)能力的文件系统中,ILF信息可以被用来增加将“热”数据块存储在被调度为在线的存储设备上的概率。例如较旧快照中的数据或者一次性写入数据之类的不太可能被访问的数据可以被存储或者迁移到被调度为置于离线模式的数据存储设备。图3是与图I和图2的DSPOS 118对应的建立DSPOS过程的流程图。在这个示例中,与过程200关联的逻辑被存储在数据服务器102 (图I)的DS_1 112中,并且与DSPOS118结合在与CPU 104关联的一个或多个处理器上被执行。在备选方案中,过程200被并入OS 114(图I)或者例如FS 116 (图I)的文件管理系统中。过程200开始于“开始建立数据存储功率优化系统(DSPOS) ”框202,并且立即进行到“获取DSPOS数据”框204。在框204期间,过程200获取控制DSPOS 118操作(參见图4的230)的配置数据(參见图2的162)。如上文结合图2所描述的,配置数据的示例包括但不限于对各种数据存储控制方案的选择,保持上电的盘的最小数目,全局不活跃关机參数,控制将盘投入使用或者停止使用的时机的方案,以及系统的总体性能參数。在“获取系统数据”框206期间,过程200获取DSPOS 118安装于其上的系统有关并且期望监控和控制的有关信息(參见图2,164),包括支持DSPOS 118确定可用数据存储设备的数目以及特定设备是否可以按照要求保护的主题被主动控制的信息。在“标识活跃盘组大小”框208期间,DSPOS 118通过使用框204和206获取的信息来确定满足当前性能目标所需的并且因此需要被包括在活跃组中的数据存储设备的数目(參见图2,166)。活跃组中的设备的示例包括但不限于控制器_1124(图1),控制器_2126(图I)以及数据存储设备 131-134(图 I)。在“定义活跃组”框210期间,过程200基于在框206和208获取的信息来确定满足当前性能目标而需要处于活跃的数据存储设备的数目。而且,过程200确定是否特定数据存储设备需要保持活跃(參见图2,154)。据此信息,过程200创建活跃设备的列表,或成“活跃组”,其表示需要处于活跃的数据存储设备的特定列表。在“产生操作过程(OP) ”框212期间,发起操作过程(參见图4,230)。一旦操作过程被加载, 在“通知SA ”框214期间,可选地将此信息的通知传输给系统管理员(SA)、日志文件或者两者。通常,SA或者日志文件与数据服务器102相关联,但是DSPOS 118的发起、问题解决和维护也可以远程执行。最后,过程200进行到框229 “结束建立DSPOS”,至此过程200完成。图4是与图I和图2的DSPOS 118对应的操作DSPOS过程230的流程图。类似于过程200 (图3),与过程230关联的逻辑被存储在数据服务器102 (图I)的DS_1 112上,并且与DSPOS 118(图I和图2)相结合地由与CPU 104关联的ー个或多个处理器执行。在备选方案中,过程230可以被并入OS 114(图I)或者例如FS 116 (图I)的文件管理系统中。过程230开始于“开始操作DSPOS”框232,并且立即进行到“实施方案”框234。在框234期间,过程230实施在“建立DSP0S”过程200期间所定义的功率优化方案(图3)。可与框234关联处理的ー个示例将在下文结合图5的“实施功率优化方案(POS) ”过程260详述。在“评估情况”框236期间,数据服务器102以及系统100的适当组件被评估,以确定数据移动的当前情況。可被评估的活动的示例包括但不限干例如cs_l 142和CS_2144的客户端的活跃级别的改变;当前系统配置,例如不工作的或者已被添加到系统100的网络链接、盘或者盘控制器;工作负载组成,例如数据读取与数据写入的比例;以及活跃盘组内部和外部二者的盘空间利用。在“需要新AD组? ”框238期间,过程230基于在框236期间执行的对情况的评价来确定当前数据存储配置是否可接受的或者需要修改。如果不是,控制返回到“评估情况”框236,并且继续如上所述的处理。当然,可以向系统构建若干延时,使得过程232休眠并且周期性地被激活以确定数据存储需要并且在需要的情况下调整数据存储需要。在框238期间,如果过程230确定需要新的活跃列表,控制前进到“计算新活跃组(AD) ”框240。在框240期间,过程230产生应处于活跃的数据存储设备的列表,包括应保持活跃的数据存储设备以及应被激活的数据存储设备(參见图2,154)。应当注意,除了基于访问模式的数据存储需要改变之外,对新活跃盘组的需要可基于考虑这样的调度,该调度基于例如以下因素保证数据在所有数据存储设备之间的均匀分布以及盘驱动器寿命的最大化。換言之,活跃盘组的计算可以基于创建均匀的数据分布和数据存储设备占空比的期望以及基于动态配置信息以及动态性能測量。一旦生成了新的活跃列表,控制返回到“实施方案”框234并且过程继续如上所述。过程230借助于异步中断246被挂起,其将控制传递给“清除”框248。在框248期间,与过程230相关联的存储器被释放,并且执行有序关机所需的其它任何操作。中断246通常在OS、文件系统或者过程230作为其一部分的DSPOS自己被挂起时生成,挂起或者由系统管理员显式执行,或者是由于下电情况。在标称操作期间,过程230持续地在框234、246,238和240循环,根据要求保护的技术调整数据存储方案。最后,过程230在“结束操作DSPOS”框249完成。图5是“实施功率优化方案(POS)过程”260的流程图,其可以实施图4中的“操作DSPOS过程”230的ー个方面。类似于过程200 (图3)和230 (图4),在此例中,与过程260相关联的逻辑被存储在数据服务器102的DS_1 112上,并且与DSPOS 118(图I和图2)相结合地由与CPU 104关联的ー个或多个处理器执行。在备选方案中,过程260可以被并入OS 114(图I)或者例如FS 116 (图I)的文件管理系统中。过程260开始干“开始实施P0S”框262,并且立即进行到“活跃附加盘”框264。
在框264期间,过程260激活在过程230 (图4)的框240中产生的AD组中目前不活跃或者处于休眠模式的任何数据存储设备。可以通过向设备或者设备的控制器传输的实际命令来实现激活,或者简单地通过向特定设备传输I/O请求来实现激活,这取决于系统100的配置和/或特定设备。在“评估数据”框206期间,过程260执行与新的活跃盘列表(參见图2,156)的实施相关联的数据需求的评估。在“需要数据移动? ”框268期间,过程260确定在模框266期间执行的数据分析是否指示需要移动数据,是否从将要被解激活的盘移动到当前被激活的盘,或者反之。如果是,过程260进行到“移动数据”框270,在此期间根据所确定的需求移动数据。—旦在框270期间移动了数据,或者在框268期间过程260确定不需要移动数据,则控制进行到“活跃控制? ”框272。在框272期间,过程260确定任何特定设备、DSPOS 118、数据服务器102以及系统100是否被配置为支持数据存储设备的活跃控制。如果是,过程260进行到“将盘置为备用”框274,在此期间从DSPOS 118向被配置用于活跃控制并且未被指定为保持活跃(即,不在活跃盘列表上)的任何数据存储设备传输命令。在可以在需要时以盘为单位实现的活跃控制的备选方案中,可以由盘或者盘控制器的非活跃自动关闭计时器将设备解激活或者置于备用。最后,一旦盘在框274期间被置于备用模式,或者在框272期间过程260确定DSPOS 118未被配置用于活跃控制,控制进行到“结束实施POS ”框279,过程260在此结束。在此使用的术语只用于描述特定实施方式并无意限制本发明。在此使用的,単数形式“一个”,“ー种”以及“该”意指也包括复数形式,除非文本清楚地指示相反的意思。将被进ー步理解的是术语“包括”和/或“包含”在说明书中使用时,规定了所陈述的特征的存在,整数,步骤,操作,元素,和/或组件,但是不排除存在或者附加的一个或多个其它特征,整数,步骤,操作,元素,组件和/或及其组合。在所附权利要求的相应结构、材料、动作以及所有装置或者步骤还有功能元素意指包括任意结构、材料、动作来与正如特定请求保护的其它请求保护的元件联合执行功能。本发明的实施方式的描述出于解释或说明的目的被呈现,但是并没有穷尽或限制于发明公开的形式。任意修改或者变化对于本领域技术人员来说都是显然的,不离开本发明的范围。实施方式被选择及描述为了最好解释发明的原理及实际应用,使得其他本领域普通技术人员明了本发明的不同的修改的不同实施方式适合于预期的特定用途。附图中的流程图及模块框图解释说明根据本发明的不同实施方式的架构、功能以 及系统的可能实施,方法以及计算机程序产品。在这个考虑中,流程图及模块框图表示模块、段落或者代码的部分,其包括用于实施特定逻辑的一个或多个可执行指令。应当注意,在ー些备选实施方式中,框中的功能可能不以途中所示的顺序执行。例如,连续显示的两个框可能实际上被同时执行,或者框有时可以以相反的顺序执行,这取决于框所包括的功能。还将注意到,框图和/或流程图的每个框以及框图和/或流程图的框的组合可以由执行特定功能或者动作的专用硬件系统来实现,或者由专用硬件和计算机指令的组合实现。
权利要求
1.ー种方法,包括 评估计算系统的数据吞吐量以产生数据存储需求; 基于所述数据存储需求产生活跃盘列表,其中对所述活跃盘列表上指定的多个数据存储设备中的数据存储设备的选择足以满足所述数据存储需求; 确保在所述活跃盘列表上指定的每个特定数据存储设备是活跃的并且未在所述活跃盘列表上指定的任何数据存储设备是不活跃的; 在所述计算系统的操作期间,重新评估所述计算系统的数据吞吐量以产生修改的数据存储需求; 基于所述修改的数据存储需求产生修改的活跃盘列表,其中对所述修改的活跃盘列表上指定的多个数据存储设备的数据存储设备的修改的选择足以满足所述修改的数据存储需求;以及 确保在所述修改的活跃盘列表上列出的每个特定数据存储设备是活跃的并且未在所述修改的活跃盘列表上列出的任何数据存储设备是不活跃的。
2.根据权利要求I所述的方法,其中确保所述多个数据存储设备中的特定数据存储设备是不活跃的包括阻止针对所述特定数据存储设备的输入/输出请求。
3.根据权利要求I所述的方法,其中确保所述多个数据存储设备中的特定数据存储设备是不活跃的包括向所述特定数据存储设备传输下电命令。
4.根据权利要求I所述的方法,所述评估所述计算系统数据存储的数据吞吐量以产生所述数据存储需求包括 基于所述数据吞吐量来确定活跃盘组的大小;以及 基于所述活跃盘组的大小来产生所述活跃盘列表。
5.根据权利要求I所述的方法,进ー步包括在确保未在所述修改的活跃盘列表上被指定的所述多个数据存储设备中的特定当前活跃数据存储设备是不活跃的之前,将来自所述当前活跃数据存储设备的数据存储到在所述修改的活跃盘列表上被指定的所述多个数据存储设备中的数据存储设备。
6.根据权利要求I所述的方法,其中所述多个数据存储设备是盘驱动器。
7.根据权利要求I所述的方法,其中所述多个数据存储设备是数据控制器。
8.—种控制数据存储设备的方法,包括 评估计算系统的数据吞吐量以产生数据存储需求; 基于所述数据存储需求产生活跃盘列表,其中对所述活跃盘列表上指定的多个数据存储设备中的数据存储设备的选择足以满足所述数据存储需求; 如果所述多个数据存储设备中的特定数据存储设备在所述活跃盘列表中被指定,则确保所述特定数据存储设备是活跃的; 如果所述多个数据存储设备中的特定数据存储设备为在所述活跃盘列表上被指定,则确保所述特定数据存储设备是不活跃的; 在所述计算系统的操作期间,重新评估所述计算系统的数据吞吐量以产生修改的数据存储需求; 基于所述修改的数据存储需求产生修改的活跃盘列表,其中对所述修改的活跃盘列表上指定的所述多个数据存储设备中的数据存储设备的修改的选择足以满足所述修改的数据存储需求; 如果特定数据存储设备未在所述修改的活跃盘列表上被列出,则确保所述特定数据存储设备是不活跃的;以及 确保在所述修改的活跃盘列表上列出的每个特定数据存储设备是活跃的,并且未在所述修改的活跃盘列表上列出的任何数据存储设备是不活跃的。
9.根据权利要求8所述的方法,其中确保所述特定数据存储设备是不活跃的包括阻止针对所述特定数据存储设备的输入/输出请求。
10.根据权利要求8所述的方法,其中确保所述特定数据存储设备是不活跃的包括向所述特定数据存储设备传输下电命令。
11.根据权利要求8所述的方法,其中所述评估所述计算系统数据存储的数据吞吐量以产生所述数据存储需求包括 基于所述数据吞吐量来确定活跃盘组的大小;以及 基于所述活跃盘组的大小来生成活跃盘列表。
12.根据权利要求8所述的方法,进ー步包括在确保特定数据存储设备是不活跃的而非活跃的之前,将来自所述特定活跃数据存储设备的数据存储到所述多个数据存储设备中被确保活跃的第二数据存储设备。
13.根据权利要求I所述的方法,其中所述多个数据存储设备是盘驱动器。
14.ー种装置,包括 处理器; 与所述处理器耦合的计算机可读物理存储器; 多个数据存储设备;以及 存储在所述计算机可读物理存储器中的用于以下的逻辑 评估计算系统的数据吞吐量以产生数据存储需求; 基于所述数据存储需求产生活跃盘列表,其中对所述活跃盘列表上指定的多个数据存储设备中的数据存储设备的选择足以满足所述数据存储需求; 确保在所述活跃盘列表上指定的每个特定数据存储设备是活跃的并且未在所述活跃盘列表上指定的任何数据存储设备是不活跃的; 在所述计算系统的操作期间,重新评估所述计算系统的数据吞吐量以产生修改的数据存储需求; 基于所述修改的数据存储需求产生修改的活跃盘列表,其中对所述修改的活跃盘列表上指定的多个数据存储设备的数据存储设备的修改的选择足以满足所述修改的数据存储需求;以及 确保在所述修改的活跃盘列表上列出的每个特定数据存储设备是活跃的并且未在所述修改的活跃盘列表上列出的任何数据存储设备是不活跃的。
15.根据权利要求14所述的装置,其中用于确保所述多个数据存储设备中的特定数据存储设备是不活跃的所述逻辑包括用于阻止针对所述特定数据存储设备的输入/输出请求的逻辑。
16.根据权利要求14所述的装置,其中用于确保所述多个数据存储设备中的特定数据存储设备是不活跃的所述逻辑包括用于向所述特定数据存储设备传输下电命令的逻辑。
17.根据权利要求14所述的装置,其中用于评估所述计算系统数据存储的数据吞吐量以产生所述数据存储需求的所述逻辑包括用于以下的逻辑 基于所述数据吞吐量来确定活跃盘组的大小;以及 基于所述活跃盘组的大小来产生活跃盘列表。
18.根据权利要求14所述的装置,进ー步包括用于以下的逻辑在确保未在所述修改的活跃盘列表上被指定的所述多个数据存储设备中的特定当前活跃数据存储设备是不活跃的之前,将来自所述当前活跃数据存储设备的数据存储到在所述修改的活跃盘列表上被指定的所述多个数据存储设备中的数据存储设备。
19.根据权利要求14所述的装置,其中所述多个数据存储设备是盘驱动器。
20.一种计算机编程产品,包括 计算机可读物理存储器,以及 存储在所述计算机可读物理存储器中用于在处理器上执行的逻辑,用于 评估计算系统的数据吞吐量以产生数据存储需求; 基于所述数据存储需求产生活跃盘列表,其中对所述活跃盘列表上指定的多个数据存储设备中的数据存储设备的选择足以满足所述数据存储需求; 确保在所述活跃盘列表上指定的每个特定数据存储设备是活跃的并且未在所述活跃盘列表上指定的任何数据存储设备是不活跃的; 在所述计算系统的操作期间,重新评估所述计算系统的数据吞吐量以产生修改的数据存储需求; 基于所述修改的数据存储需求产生修改的活跃盘列表,其中对所述修改的活跃盘列表上指定的多个数据存储设备的数据存储设备的修改的选择足以满足所述修改的数据存储需求;以及 确保在所述修改的活跃盘列表上列出的每个特定数据存储设备是活跃的并且未在所述修改的活跃盘列表上列出的任何数据存储设备是不活跃的。
21.根据权利要求20所述的计算机编程产品,其中用于确保多个数据存储设备中的特定数据存储设备是不活跃的所述逻辑包括用于阻止针对所述特定数据存储设备的输入/输出请求的逻辑。
22.根据权利要求20所述的计算机编程产品,其中用于确保多个数据存储设备中的特定数据存储设备是不活跃的所述逻辑包括:用于向所述特定数据存储设备传输下电命令的逻辑。
23.根据权利要求20所述的计算机编程产品,其中所述用于评估所述计算系统数据存储的数据吞吐量来产生所述数据存储需求的逻辑包括逻辑用于 基于所述数据吞吐量来确定活跃盘组的大小;以及 基于所述活跃盘组的大小来产生活跃盘列表。
24.根据权利要求20所述的计算机编程产品,进ー步包括用于以下的逻辑在确保未在所述修改的活跃盘列表上被指定的所述多个数据存储设备中的特定当前活跃数据存储设备是不活跃的之前,将来自所述当前活跃数据存储设备的数据存储到在所述修改的活跃盘列表上被指定的所述多个数据存储设备中的数据存储设备。
25.根据权利要求20所述的计算机编程产品,其中所述多个数据存储设备是盘驱动器。
全文摘要
本发明所公开的技术标识层级式存储系统中的瓶颈,并且基于数据可能被传输通过特定瓶颈的速率来确定匹配该传输速率所需的盘驱动器的最小数目。如果所需的盘数目小于盘的总数,则仅仅将总数的一个子集保持在活跃状态,而将其余盘置于“备用”或者“关闭”模式。以此方式,降低了总体系统功耗。在一个实施方式中,所公开的技术由存储架构高级别处的活跃盘管理来实现。
文档编号G06F3/06GK102667705SQ201080058482
公开日2012年9月12日 申请日期2010年12月10日 优先权日2009年12月24日
发明者Y·沃洛比维 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1