一种管理存储器系统的电源的方法和装置制造方法

文档序号:6513596阅读:178来源:国知局
一种管理存储器系统的电源的方法和装置制造方法
【专利摘要】本发明公开了一种用于管理存储器系统的电源的方法和管理装置,所述方法包括:获取存储器系统包括的多个存储装置的历史访问信息,其记录多个存储装置中的数据块在一时间周期内的访问状况;根据历史访问信息,确定所述时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件;形成冷存储装置,用于存储上述冷时间段内的至少一部分冷数据块;以及,在后续时间周期中与上述冷时间段对应的时间段,将冷存储装置的电源设置为低耗电模式。上述管理装置与上述方法对应。利用上述方法和管理装置,可以在访问量较少的时间段中休眠存储器系统中的部分存储装置,从而有效地节约存储器系统的耗电量。
【专利说明】—种管理存储器系统的电源的方法和装置

【技术领域】
[0001]本发明涉及存储器系统及其电源供应,更具体而言,涉及存储器系统的电源管理方法和装置。

【背景技术】
[0002]随着信息技术的发展,需要存储和处理的数据量越来越庞大。为此,在增大单个存储器设备的存储密度和存储容量的同时,往往还采用由多个存储器设备构成的存储器系统来存储数据。例如,可以将多个独立的非易失性存储器(例如磁盘、SSD等设备)共同构成一个存储器阵列作为存储器系统,也可以将多个存储器阵列共同构成一个阵列集合作为存储器系统。由于数据存储需求的增长,存储器系统装载了越来越多的存储器设备。对于由大量存储器设备构成的存储器系统,如何提高其运行性能吸引了大量的注意。一般地,在上述的存储器系统中,数据分布在各个存储器设备上。为了提高性能,一些存储器系统确定出存储器设备中的“热点”存储单元或数据块,并将这些热点数据块平均分布在不同的存储器设备中,以避免某些存储器设备造成的性能瓶颈。另一些存储器系统将访问较多的热点数据块迁移到高性能存储介质层,而将访问较少的非热点数据迁移到相对低性能的存储介质层,以更好利用不同介质的存储性能,实现高性能存储。对热点数据块的评估可以基于数据块所对应的存储单元的响应时间,或者每秒的输入/输出,即10PS。
[0003]然而,相对于运行性能,现有技术中的存储器系统对能源消耗方面的考虑相对不足,而能源消耗对于装载了大量存储器设备的存储器系统来说正成为一个突出的问题。根据现有的一种方案,为存储器设备设置计时器,该计时器在存储器设备完成数据访问之后进入空闲状态时开始计时。每当计时器达到一定计时,就将存储器设备设置到低耗电状态。换而言之,每当存储器设备在一定时长之内没有数据访问,就将其设置到低耗电状态。然而,对于包含多个存储器设备的存储器系统,这样的方案有可能使得各个存储器设备频繁地在不同耗电状态之间切换,从而影响其性能。因此,希望提出改进的方案,能够更加有效地对存储器系统的电源进行管理,从而达到降低消耗、节约能源的目的。


【发明内容】

[0004]鉴于以上提出的问题,提出本发明,旨在更加有效的管理存储器系统的电源。
[0005]根据本发明一个实施例,提出了一种用于管理存储器系统的电源的方法,所述存储器系统包括多个存储装置,每个存储装置包括多个存储单元,每个存储单元可用于存储一个数据块,所述方法包括:获取所述多个存储装置的历史访问信息,所述历史访问信息记录所述多个存储装置中各个存储单元中的数据块在一时间周期内的访问状况;根据所述历史访问信息,确定所述时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件,所述冷数据块是访问次数小于一访问阈值的数据块;在所述多个存储装置中形成至少一个冷存储装置,所述至少一个冷存储装置用于存储上述冷时间段内的冷数据块的至少一部分;以及在后续时间周期中与上述冷时间段对应的时间段,将所述至少一个冷存储装置的电源设置为低耗电模式。
[0006]根据另一实施例,提出了一种用于管理存储器系统的电源的管理装置,所述存储器系统包括多个存储装置,每个存储装置包括多个存储单元,每个存储单元可用于存储一个数据块,所述管理装置包括:历史信息获取单元,配置为获取所述多个存储装置的历史访问信息,所述历史访问信息记录所述多个存储装置中各个存储单元中的数据块在一时间周期内的访问状况;冷时间段确定单元,配置为根据所述历史访问信息,确定所述时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件,所述冷数据块是访问次数小于一访问阈值的数据块;冷存储装置形成单元,配置为在所述多个存储装置中形成至少一个冷存储装置,所述至少一个冷存储装置用于存储上述冷时间段内的冷数据块的至少一部分;以及电源设置单元,配置为在后续时间周期中与上述冷时间段对应的时间段,将所述至少一个冷存储装置的电源设置为低耗电模式。
[0007]利用上述方法和装置,可以在访问量较少的时间段中休眠存储器系统中的部分存储装置,从而有效地节约存储器系统的耗电量。

【专利附图】

【附图说明】
[0008]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0009]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
[0010]图2示出根据一个实施例的存储器系统的电源管理方法的流程图;
[0011]图3示出作为存储装置的RAID阵列的结构示意图;
[0012]图4示出根据一个实施例获取的历史访问信息;
[0013]图5示出根据一个实施例的形成冷存储装置的流程图;以及
[0014]图6示出根据本发明一个实施例的管理装置的框图。

【具体实施方式】
[0015]在附图中显示了本公开的一些优选实施方式,下面将参照附图更详细地描述这些优选实施方式。然而,可以以各种形式实现本公开,其不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0016]所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0017]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0018]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0019]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0020]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0021]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0022]也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruct1nmeans)的制造品(manufacture)。
[0023]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0024]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0025]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0026]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0027]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0028]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0029]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0030]计算机系统/服务器12也可以与一个或多个外部设备14 (例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0031]下面结合附图描述本发明的各个实施例。在本发明的多个实施例中,根据存储器系统在一时间周期内的历史访问信息确定出访问量较少的冷时间段,以及该冷时间段中访问次数较少的冷数据块。如此获得的关于冷时间段和冷数据块的信息可以用于预测接下来的时间周期中的数据访问情况。为了使得存储器系统在访问量较少的情况下能够相应地降低能耗,基于以上获得的冷数据块的信息执行数据块迁移,从而将冷数据块集中到选择的存储装置上,以形成冷存储装置。于是,在接下来的冷时间段,就可以将上述冷存储装置设定到低耗电模式,从而降低存储器系统的电量消耗。下面参照附图和例子描述以上发明构思的实现方式。
[0032]现在参看图2,其示出根据一个实施例管理存储器系统的电源的方法。如图所示,根据该实施例,管理电源的方法包括,步骤210,其中获取存储器系统所包括的多个存储装置的历史访问信息,所述历史访问信息记录所述多个存储装置中各个存储单元中的数据块在一时间周期内的访问状况;步骤220,根据所述历史访问信息,确定所述时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件,所述冷数据块是访问次数小于一访问阈值的数据块;步骤230,在所述多个存储装置中形成至少一个冷存储装置,所述至少一个冷存储装置用于存储上述冷时间段内的冷数据块的至少一部分;以及步骤240,在后续时间周期中与上述冷时间段对应的时间段,将所述至少一个冷存储装置的电源设置为低耗电模式。下面结合具体例子描述上述各个步骤的执行方式。
[0033]首先,在步骤210,获取存储器系统的历史访问信息,上述存储器系统包括多个存储装置,每个存储装置包括多个存储单元,每个存储单元用于存储一个数据块。如前所述,存储器系统可以具有多种形式。在一个实施例中,存储器系统是一个存储器阵列,包括多个独立进行数据读写的非易失性存储器(例如磁盘、SSD)作为存储装置。相应地,非易失性存储器中的数据读写单元可以视为其存储单元。在另一实施例中,存储器系统是一个阵列集合,包括多个存储器阵列。更具体地,上述存储器阵列例如可以是RAID阵列(冗余磁盘阵列)。在RAID阵列中,常用的阵列形式包括能够容忍一个磁盘故障的RAID5阵列和能够同时容忍两个磁盘故障的RAID6阵列。在RAID阵列中,典型地,数据被条带化(stripping),并分布到不同的磁盘上。图3示出RAID阵列的结构示意图。如图3所示,一个RAID阵列包含多个存储器(在图3的示例中,该多个存储器为6个磁盘设备),这多个存储器被横向划分为多个条带,每个条带由来自多个存储器中的存储块(chunk)共同构成。相应地,数据的读写均是面向同一条带中的多个存储块进行的,也就是说,数据读写以条带为单位,涉及阵列中的多个存储器。因此,在采用多个RAID阵列构成阵列集合作为存储器系统的情况下,每个RAID阵列作用为上述的一个存储装置,并且阵列中的条带作用为存储单元。基于条带形成的数据块也称为扩展块(extent)。
[0034]尽管以上举例描述了典型的存储器系统,但是可以理解,存储器系统还有可能具有其他的或更多种的形式和构成,只要存储器系统包括多个存储装置,并且这多个存储装置能够彼此相对独立地存储数据和管理电源。
[0035]对于如上所述的存储器系统,在步骤210,获取存储器系统中包括的多个存储装置的历史访问信息,该历史访问信息记录上述多个存储装置中各个存储单元中的数据块在一时间周期内的访问状况。为了获取上述历史访问信息,在一个实施例中,可以将上述时间周期划分为多个时间段,分别记录在各个时间段中各个存储单元中的数据块的访问状况,例如是否被访问、访问的次数、访问类型等。上述时间周期和时间段的长度可以根据需要进行划分。在一个例子中,将时间周期确定为一天24小时,并将其划分为24个时间段,即每个时间段对应I小时。这特别适用于以一天为一个工作周期的存储器系统。在其他例子中,也可以根据需要将时间周期设定为不同的时长,例如,8个小时,3天,一周等,并相应地将时间周期划分为多个时间段。在一个实施例中,记录访问状况的过程可以包括,在某个时间段中,当某个数据块第一次被访问时,除了进行正常1读/写操作之外,还将该数据块标记为被访问的数据块。在另一实施例中,针对各个数据块设置计数器。在某个时间段中,每当数据块被访问时,计数器的计数值递增;当进入新的时间段时,将所有计数器重置。由此,可以通过计数器的计数值记录各个存储装置中的各个数据块在每个时间段中被访问的次数作为访问状况信息。
[0036]图4示出根据一个实施例获取的历史访问信息。在图4的示意图中,横行示出时间周期中的各个时间段。可以看到,在图4的实施例中,如上所述地以24小时作为一个时间周期,并将其划分为24个时间段。另外,图4的纵列示出各个存储装置中的各个存储单元中的数据块,例如,(Ri,Ej)表示第i个存储装置中的第j个存储单元中的数据块,或称为第i个存储装置中的第j个数据块。根据图4的实施例,在每一时间段中,监视数据块的访问状况,并对访问状况进行记录和标记。具体地,在图4的例子中,用“I”表示对应时间段中被访问的数据块,用“O”表示没有被访问过的数据块,由此形成图4所示的历史访问信息。通过这样的历史访问信息,可以获知各个存储装置中的数据块在不同时间段被访问的状况。例如,第一个存储装置中的第一个数据块(R1 ,El)在第O时间段(对应于0:00-1:00的时间段)中没有被访问,在接下来的第I时间段(对应于1:00-2:00的时间段)中被访问;而第一个存储装置中的最后一个数据块(Rl,En)在第O时间段中被访问,在第I时间段中没有被访问。
[0037]图4的历史访问信息分别用“O”和“I”标注了没有被访问的数据块和被访问的数据块。在其他实施方式中,还可以在历史访问信息中直接示出数据块在特定时间段中被访问的次数。可以将在某个时间段中访问次数小于一访问阈值的数据块称为该时间段中的冷数据块,相应地,将该时间段中访问次数大于或等于上述访问阈值的数据块称为热数据块。在典型情况下,可以将上述访问阈值设定为I。此时,冷数据块是指在相应时间段中没有被访问的数据块,热数据块是被访问的数据块。在其他例子中,也可以根据需要将上述访问阈值设定为其他较少的值。
[0038]可以理解,历史访问信息可以以多种形式记录各个存储装置中的数据块在预定时间周期中的访问状况。在上述时间周期与存储器系统的工作周期相对应的情况下,所获得的历史访问信息往往呈现出与访问量相关的规律性。例如,在线销售站点往往在白天特定时段接收和处理大量的浏览请求和订单,但在夜间的某些时段几乎没有浏览和订单。相应地,用于该在线销售站点的存储器系统的访问量在夜间出现访问低谷。在根据图4的实施例以24小时为时间周期记录历史访问信息的情况下,就会存在一些访问量较少的时间段,在这些时间段中,冷数据块数量较多,热数据块数量较少。因此,可以基于冷数据块的数目确定出访问量较少的冷时间段。这样的冷时间段可以作为用于实施节电方案的时间段。
[0039]具体地,在步骤220,根据以上获得的历史访问信息,确定时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件。该预定条件可以根据需要预先设定。
[0040]在一个实施例中,上述预定条件为,存储器系统中的冷数据块的总数目大于或等于至少一个存储装置所包含的存储单元的数目。更具体地,在一个例子中,存储器系统所包含的多个存储装置具有相同的容量,也就是具有相同数目的存储单元。此时,可以将上述预定条件简单设定为,冷数据块的总数目大于或等于每个存储装置所包含的存储单元的数目。在另一例子中,存储器系统所包含的多个存储装置具有不同数目的存储单元。此时,可以将上述预定条件替代地设定为,冷数据块的总数目大于或等于容量最小的存储装置所包含的存储单元的数目。在一些实施例中,可以将判断冷时间段的标准设置得更加严格,例如,将上述预定条件设定为,冷数据块的总数目大于两个或更多个存储装置所包含的存储单元的总数目。
[0041]在一个实施例中,进一步考虑存储器系统中的空余空间。这样,存储装置除了包含已经存储数据的数据块(即,冷数据块和热数据块)之外,还有可能包含没有存储数据的空余块。在存储器系统存在空余空间的情况下,可以将上述预定条件设定为,存储器系统中的冷数据块的总数目与空余块的总数目之和大于或等于至少一个存储装置所包含的存储单元的数目。与之前的实施例类似地,在不同例子中,上述至少一个存储装置可以是每个存储装置、容量最小的存储装置、或者是两个或更多个存储装置。
[0042]可以理解,尽管以上具体描述了用于确定冷时间段的预定条件的例子,但是确定冷时间段的实施例不限于此。本领域技术人员可以在具体描述的例子的基础上进行组合、修改和替换,从而基于实际需要,以适当标准确定出冷时间段。
[0043]在确定出冷时间段的基础上,在步骤230,形成用于存储冷时间段中的冷数据块的至少一个冷存储装置。换而言之,将冷时间段内的冷数据块的至少一部分集中到至少一个冷存储装置上,使得至少一个冷存储装置不包含冷时间段内的热数据块。
[0044]图5示出根据一个实施例的形成冷存储装置的流程图,也就是上述步骤230的子步骤。如图5所示,首先在步骤231,确定一目标存储装置;接着,在步骤232,判断该目标存储装置中是否存储有上述冷时间段中的热数据块。如果是,则在步骤233,将目标存储装置中的热数据块迁移到其他存储装置中;然后在步骤234,将该目标存储装置确定为冷存储装置。如果通过步骤232的判断,目标存储装置并没有存储热数据,那么直接前进至步骤234,将其确定为冷存储装置。下面结合具体例子描述上述步骤的执行。
[0045]在一个实施例中,确定上述目标存储装置的步骤包括以下过程:确定至少一个备选目标存储装置,所述备选目标存储装置所包含的存储单元的数目小于或等于存储器系统在冷时间段中冷数据块的总数目;接着,从该至少一个备选目标存储装置中选择一个或者多个作为目标存储装置。可以理解,由于确定冷时间段的预定条件为冷数据块的总数目大于或等于至少一个存储装置所包含的存储单元的数目,因此,在这样的冷时间段中,必然存在至少一个存储装置,其包含的存储单元的数目小于或等于冷数据块的总数目,这样的至少一个存储装置就可以作为备选目标存储装置。
[0046]如果仅存在一个备选目标存储装置,那么该存储装置就可以被确定为目标存储装置。如果存在多个备选目标存储装置,那么从中选择一个或者多个作为目标存储装置。在一个实施例中,随机地从多个备选目标存储装置中选择出一个或多个作为目标存储装置。更有利地,在另一实施例中,从多个备选目标存储装置中选择其中包含的冷数据块数目最多的存储装置作为目标存储装置。
[0047]在一个实施例中,进一步考虑存储装置中可能包含的空余块。在这样的情况下,可以将备选目标存储装置确定为,所包含的存储单元的数目小于或等于冷时间段中冷数据块的总数目加上空余块的总数目的存储装置。这有可能获得更多的备选目标存储装置。在从备选目标存储装置中选择目标存储装置时,可以选择其中包含的冷数据块数目与空余块数目之和最大的存储装置作为目标存储装置。或者,可以选择其中包含的热数据块最少的存储装置作为目标存储装置。
[0048]对于如此确定的目标存储装置,在步骤232,判断该目标存储装置中是否存储有热数据块。如果没有,那么这样的目标存储装置就可以直接作为冷存储装置。但是,如果目标存储装置中存在热数据块,那么就需要在步骤233进行数据块的迁移,从而从目标存储装置中排除热数据块,使其仅存储冷数据块。
[0049]在一个实施例中,存储器系统中除目标存储装置之外的其他存储装置中的空余空间足以容纳目标存储装置中的热数据块。此时,在步骤233,可以仅仅将目标存储装置中的热数据块迁移到其他存储装置的空余空间中,而不进行数据块的迁入。相应地,目标存储装置中原本存储热数据块的存储单元变为空余块。然而,在另一些实施例中,其他存储装置中的空余空间不足以存储目标存储装置中的所有热数据块。此时,在步骤233,除了将目标存储装置中的热数据块迁出之外,还需要从其他存储装置迁移进来与热数据块数目相等或更少的冷数据块。也就是,将目标存储装置中的部分热数据块与其他存储装置中的冷数据块进行交换,从而达到从目标存储装置中排除热数据块的目的。当然,可以理解,在空余空间足够容纳目标存储装置中的热数据块的情况下,也可以选择性地将一部分或全部热数据块与其他存储装置中的冷数据块进行迁移交换。
[0050]通过步骤233,目标存储装置中的热数据块被迁出,因而仅用于存储冷数据块。由此,可以将经过数据块迁移而仅用于存储冷数据块的目标存储装置确定为冷存储装置。
[0051]可以如上所述地形成多个冷存储装置。不过,在形成后续冷存储装置时,需要将之前已经形成的冷存储装置“封存”;也就是说,在形成后续冷存储装置过程中需要考虑冷数据块和空余块的数目和分布时,将已经形成的冷存储装置中的冷数据块和空余块排除。例如,在确定目标存储装置时,考虑存储器系统中的剩余冷数据块以及剩余空余块,其中剩余冷数据块是存储器系统中除已经形成的冷存储装置之外的存储装置中的冷数据块,剩余空余块是存储器系统中除已经形成的冷存储装置之外的存储装置中的空余块。在无法确定出目标存储装置的情况下,结束冷存储装置的形成过程。
[0052]在一个实施例中,在步骤220中确定出多个连续的冷时间段。为了避免在连续的冷时间段之间重新形成冷存储装置,在步骤230中,尽可能地将在连续的冷时间段中均作为冷数据块的数据块,以下称为共同冷数据块,集中到相同的冷存储装置中,使得形成的部分冷存储装置适用于连续的冷时间段。为此,在一个实施例中,在确定目标存储装置时,优先选择其中存储了更多共同冷数据块的存储装置。在一个实施例中,在迁移数据块时,将共同冷数据块迁移到同一目标存储装置中。此外,本领域技术人员还可以进一步考虑连续的冷时间段中各个冷时间段中的各自的冷数据块的数目和分布来优化以上形成冷存储装置的过程。
[0053]可以理解,在以上形成冷存储装置的过程中,通常需要进行数据块的迁移。由于现有技术中已经提出了多种在不同存储装置之间迁移数据块的方法,本领域技术人员能够从中选择适当的方式来执行数据块的迁移,从而将冷数据块集中到冷存储装置中。对于数据块迁移的具体过程,在此不进行详细描述。
[0054]由于以上形成的冷存储装置仅存储有冷时间段中的冷数据块,可以合理地预测,在下一冷时间段期间,整个冷存储装置被访问的概率极低。因此,如图2步骤240所示,在后续时间周期中与之前的冷时间段对应的时间段,将形成的冷存储装置的电源设置为低耗电模式。
[0055]现有技术中存在多种用于存储器设备的电源管理方式。例如,在SCSI主要命令第4版(SPC-4)以及SCSI块命令第3版(SBC-3)中定义了针对单个磁盘存储器进行电源管理的参数设置或者命令,其中包括命令START STOP UNIT。利用该命令,可以将磁盘的电源消耗设置到不同等级。这些等级例如包括从高耗电到低耗电排序的active, idle_a, idle_b, idle_c, standby_y,以及standy_z。不同的磁盘供应商可以通过不同方式,例如改变转速等,来实现以上的不同耗电等级。利用以上的命令和方式,能够将步骤230形成的冷存储装置的电源设置为低耗电模式,例如standy_z。在一个存储装置对应于一个RAID阵列的情况下,将冷存储装置设置为低耗电模式意味着,将构成冷存储装置的RAID阵列的全部存储器设备(例如磁盘)都设置为低耗电模式。此外,基于现有技术中提供的多种电源设定方式,本领域技术人员也可以采用其他的命令和方式来实现冷存储装置的节电设定。
[0056]一旦被设定为低耗电模式,冷存储装置进入低耗电的“休眠”状态。与之相对地,需要在适当的情况下将休眠的冷存储装置“唤醒”,使其回到正常工作状态。因此,在一个实施例中,管理存储器系统的电源的方法还包括,响应于唤醒条件,将冷存储装置从低耗电模式设置回正常工作状态。在一个实施例中,上述唤醒条件为当前时间周期中与冷时间段相对应的时间段的结束。此时,唤醒冷存储装置,使其回到正常工作状态。在另一实施例中,上述唤醒条件为对某个冷存储装置中的数据块的访问。响应于这样的访问,将该冷存储装置唤醒到正常工作状态。在这样的情况下,如果上述访问是在冷时间段内出现,则该冷存储装置提前结束休眠状态;如果上述访问是在冷时间段结束之后出现,则该冷存储装置的休眠时间长于冷时间段的时长。在又一实施例中,唤醒条件可以是上述两种实施例的唤醒条件组合。如果数据块访问在冷时间段内出现,则将该冷存储装置暂时地唤醒;如果在访问完成之后仍处于冷时间段内,则使得该冷存储装置再次进入低耗电模式直至冷时间段结束;或者,在冷时间段内对该冷存储装置的访问达到预设的唤醒次数阈值时彻底唤醒该冷存储装置,使其进入正常工作状态。在形成了多个冷存储装置的情况下,多个冷存储装置可能分别在不同时间被唤醒。在又一实施例中,进一步区分对数据块的访问类型。具体地,将上述唤醒条件设定为对某个冷存储装置中的数据块的读访问。响应于读访问,将该冷存储装置从低耗电模式设置回正常工作状态。如果对某个冷存储装置中的特定数据块进行写访问,则并不立即唤醒该冷存储装置,而是将新数据写入到存储器系统的其他存储装置中的空余空间中,并建立该新数据的逻辑地址和新数据块物理地址的关联。在上述冷存储装置由于其他原因被唤醒之后,基于该数据块逻辑地址和老数据块物理地址的关联删除原冷存储装置上的上述特定数据块中的数据以保证数据完整性。由此,进一步避免冷存储装置被唤醒的概率,延长其休眠时间,从而实现节电的目的。
[0057]根据以上所述的管理存储器系统的电源的方法,可以根据历史访问信息确定出访问量较少的冷时间段,并将该冷时间段中的冷数据块集中在冷存储装置中。如此,在下一冷时间段到来时,可以通过将冷存储装置的电源设定为低耗电模式来节省存储器系统的电源消耗。
[0058]基于同样的发明构思,本发明还提供一种管理存储器系统的电源的管理装置,其中存储器系统包括多个存储装置,每个存储装置包括多个存储单元,每个存储单元用于存储一个数据块。图6示出根据本发明一个实施例的管理装置的框图。如图所示,用于管理存储器系统的电源的管理装置总体上标注为600。具体地,装置600包括:历史信息获取单元610,配置为获取所述多个存储装置的历史访问信息,所述历史访问信息记录所述多个存储装置中各个存储单元中的数据块在一时间周期内的访问状况;冷时间段确定单元620,配置为根据所述历史访问信息,确定所述时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件,所述冷数据块是访问次数小于一访问阈值的数据块;冷存储装置形成单元630,配置为在所述多个存储装置中形成至少一个冷存储装置,所述至少一个冷存储装置用于存储上述冷时间段内的冷数据块的至少一部分;以及电源设置单元640,配置为在后续时间周期中与上述冷时间段对应的时间段,将所述至少一个冷存储装置的电源设置为低耗电模式。
[0059]根据一个实施例,上述存储装置为RAID阵列,上述存储单元对应于RAID阵列中的条带。
[0060]根据一个实施例,上述预定条件为以下之一:存储器系统中的冷数据块的总数目大于或等于所述多个存储装置中至少一个存储装置所包含的存储单元的数目;存储器系统中的冷数据块的总数目与空余块的总数目之和大于或等于所述多个存储装置中至少一个存储装置所包含的存储单元的数目。
[0061]在一个实施例中,所述冷存储装置形成单元630包括(未示出):目标确定模块,配置为确定目标存储装置;迁移模块,配置为在所述目标存储装置中存储有所述冷时间段中的热数据块的情况下,将目标存储装置中的热数据块迁出到其他存储装置中;确定模块,将不包含热数据块的目标存储装置确定为冷存储装置。
[0062]根据一个实施例,上述迁移模块还配置为:将与所述热数据块数目相等或更少的冷数据块从其他存储装置迁移到所述目标存储装置。
[0063]根据一个实施例,上述目标确定模块配置为:确定至少一个备选目标存储装置,所述备选目标存储装置满足以下之一:所包含的存储单元的数目小于或等于存储器系统在所述冷时间段中冷数据块的总数目;所包含的存储单元的数目小于或等于存储器系统在所述冷时间段中冷数据块的总数目加上空余块的总数目之和;从所述至少一个备选目标存储装置中选择目标存储装置。
[0064]在一个实施例中,上述目标确定模块配置为执行以下之一:从所述至少一个备选目标存储装置中选择包含的冷数据块数目最多的存储装置作为目标存储装置;从所述至少一个备选目标存储装置中选择包含的冷数据块数目和空余块数目之和最大的存储装置作为目标存储装置。
[0065]在一个实施例中,所述冷时间段确定单元配置为,确定多个连续的冷时间段;所述目标确定模块配置为,将这样的存储装置确定为目标存储装置,该存储装置存储了最多数目的在所述多个连续的冷时间段中的共同冷数据块;所述迁移模块配置为,将其他存储装置中的共同冷数据块迁移到所述目标存储装置中。
[0066]根据一个实施例,管理装置600还包括:唤醒单元,配置为响应于唤醒条件,将冷存储装置从低耗电模式设置回正常工作状态。
[0067]根据一个实施例,所述唤醒条件包括以下中的至少一个:所述与冷时间段相对应的时间段的结束,以及,对某个冷存储装置的访问。
[0068]可以理解,图6中的各个单元是以功能进行划分的,因此各个单元可以位于相同或者不同的物理平台上。并且图6中各个单元的具体执行方式对应于结合具体例子对各个步骤的描述,在此不再赘述。
[0069]利用以上描述的实施例的方法和管理装置,可以在访问量较少的时间段中休眠存储器系统中的部分存储装置,从而有效地节约存储器系统的耗电量。
[0070]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0071]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本【技术领域】的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本【技术领域】的其它普通技术人员能理解本文披露的各实施例。
【权利要求】
1.一种用于管理存储器系统的电源的方法,所述存储器系统包括多个存储装置,每个存储装置包括多个存储单元,每个存储单元可用于存储一个数据块,所述方法包括: 获取所述多个存储装置的历史访问信息,所述历史访问信息记录所述多个存储装置中各个存储单元中的数据块在一时间周期内的访问状况; 根据所述历史访问信息,确定所述时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件,所述冷数据块是访问次数小于一访问阈值的数据块; 在所述多个存储装置中形成至少一个冷存储装置,所述至少一个冷存储装置用于存储上述冷时间段内的冷数据块的至少一部分;以及 在后续时间周期中与上述冷时间段对应的时间段,将所述至少一个冷存储装置的电源设置为低耗电模式。
2.根据权利要求1所述的方法,其中所述预定条件为以下之一: 存储器系统中的冷数据块的总数目大于或等于所述多个存储装置中至少一个存储装置所包含的存储单元的数目; 存储器系统中的冷数据块的总数目与空余块的总数目之和大于或等于所述多个存储装置中至少一个存储装置所包含的存储单元的数目。
3.根据权利要求1的方法,其中形成至少一个冷存储装置包括: 确定目标存储装置; 在所述目标存储装置中存储有所述冷时间段中的热数据块的情况下,将目标存储装置中的热数据块迁出到其他存储装置中,其中所述热数据块是访问次数大于或等于所述访问阈值的数据块; 将不包含热数据块的目标存储装置确定为冷存储装置。
4.根据权利要求3的方法,还包括:将与所述热数据块数目相等或更少的冷数据块从其他存储装置迁移到所述目标存储装置。
5.根据权利要求3的方法,其中确定目标存储装置包括: 确定至少一个备选目标存储装置,所述备选目标存储装置满足以下之一:所包含的存储单元的数目小于或等于存储器系统在所述冷时间段中冷数据块的总数目;所包含的存储单元的数目小于或等于存储器系统在所述冷时间段中冷数据块的总数目加上空余块的总数目之和; 从所述至少一个备选目标存储装置中选择目标存储装置。
6.根据权利要求5的方法,其中选择目标存储装置包括以下之一: 从所述至少一个备选目标存储装置中选择包含的冷数据块数目最多的存储装置作为目标存储装置; 从所述至少一个备选目标存储装置中选择包含的冷数据块数目和空余块数目之和最大的存储装置作为目标存储装置。
7.根据权利要求4的方法,其中: 确定所述时间周期中的冷时间段包括,确定多个连续的冷时间段; 确定目标存储装置包括,将这样的存储装置确定为目标存储装置,该存储装置存储了最多数目的在所述多个连续的冷时间段中的共同冷数据块; 将与所述热数据块数目相等或更少的冷数据块从其他存储装置迁移到所述目标存储装置包括,将其他存储装置中的共同冷数据块迁移到所述目标存储装置中。
8.根据权利要求1的方法,还包括:响应于唤醒条件,将冷存储装置从低耗电模式设置回正常工作状态。
9.根据权利要求8的方法,其中所述唤醒条件包括以下中的至少一个:所述与冷时间段相对应的时间段的结束,以及,对某个冷存储装置的访问。
10.一种用于管理存储器系统的电源的管理装置,所述存储器系统包括多个存储装置,每个存储装置包括多个存储单元,每个存储单元可用于存储一个数据块,所述管理装置包括: 历史信息获取单元,配置为获取所述多个存储装置的历史访问信息,所述历史访问信息记录所述多个存储装置中各个存储单元中的数据块在一时间周期内的访问状况,所述各个存储单元的每一个用于存储一个数据块; 冷时间段确定单元,配置为根据所述历史访问信息,确定所述时间周期中的冷时间段,在该冷时间段内,冷数据块的数目满足一预定条件,所述冷数据块是访问次数小于一访问阈值的数据块; 冷存储装置形成单元,配置为在所述多个存储装置中形成至少一个冷存储装置,所述至少一个冷存储装置用于存储上述冷时间段内的冷数据块的至少一部分;以及 电源设置单元,配置为在后续时间周期中与上述冷时间段对应的时间段,将所述至少一个冷存储装置的电源设置为低耗电模式。
11.根据权利要求10所述的管理装置,其中所述预定条件为以下之一: 存储器系统中的冷数据块的总数目大于或等于所述多个存储装置中至少一个存储装置所包含的存储单元的数目; 存储器系统中的冷数据块的总数目与空余块的总数目之和大于或等于所述多个存储装置中至少一个存储装置所包含的存储单元的数目。
12.根据权利要求10的管理装置,其中所述冷存储装置形成单元包括: 目标确定模块,配置为确定目标存储装置; 迁移模块,配置为在所述目标存储装置中存储有所述冷时间段中的热数据块的情况下,将目标存储装置中的热数据块迁出到其他存储装置中,其中所述热数据块是访问次数大于或等于所述访问阈值的数据块; 确定模块,将不包含热数据块的目标存储装置确定为冷存储装置。
13.根据权利要求12的管理装置,其中所述迁移模块还配置为:将与所述热数据块数目相等或更少的冷数据块从其他存储装置迁移到所述目标存储装置。
14.根据权利要求12的管理装置,其中所述目标确定模块配置为: 确定至少一个备选目标存储装置,所述备选目标存储装置满足以下之一:所包含的存储单元的数目小于或等于存储器系统在所述冷时间段中冷数据块的总数目;所包含的存储单元的数目小于或等于存储器系统在所述冷时间段中冷数据块的总数目加上空余块的总数目之和; 从所述至少一个备选目标存储装置中选择目标存储装置。
15.根据权利要求14的管理装置,其中所述目标确定模块配置为执行以下之一: 从所述至少一个备选目标存储装置中选择包含的冷数据块数目最多的存储装置作为目标存储装置; 从所述至少一个备选目标存储装置中选择包含的冷数据块数目和空余块数目之和最大的存储装置作为目标存储装置。
16.根据权利要求13的管理装置,其中: 所述冷时间段确定单元配置为,确定多个连续的冷时间段; 所述目标确定模块配置为,将这样的存储装置确定为目标存储装置,该存储装置存储了最多数目的在所述多个连续的冷时间段中的共同冷数据块; 所述迁移模块配置为,将其他存储装置中的共同冷数据块迁移到所述目标存储装置中。
17.根据权利要求10的管理装置,还包括:唤醒单元,配置为响应于唤醒条件,将冷存储装置从低耗电模式设置回正常工作状态。
18.根据权利要求17的管理装置,其中所述唤醒条件包括以下中的至少一个:所述与冷时间段相对应的时间段的结束,以及,对某个冷存储装置的访问。
【文档编号】G06F3/06GK104516471SQ201310450272
【公开日】2015年4月15日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】胡峻珺 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1