存储驱动器的动态每天写入调整的制作方法

文档序号:28083746发布日期:2021-12-18 01:42阅读:118来源:国知局
存储驱动器的动态每天写入调整的制作方法

1.本发明涉及动态地补偿存储驱动器上的老化和/或磨损的系统和方法。


背景技术:

2.raid(即,独立磁盘冗余阵列)是通过冗余提供增加的存储功能和可靠性的存储技术。通过将多个存储驱动器组件(例如,磁盘驱动器和/或固态驱动器)组合到逻辑单元中来创建raid。然后使用不同技术(被称为“raid级别”)跨驱动器分布数据。当前包括raid级别1至6的标准raid级别是采用条带化、镜像和/或奇偶校验来提供数据冗余的raid配置的基本集合。每个配置提供两个关键目标之间的平衡:(1)增加数据可靠性和(2)增加i/o性能。
3.当raid中的存储驱动器是新的时,存储驱动器可以具有某些性能特性或规范。这些特性或规范可按照性能等级、每天的写入分类、存储容量、过度配置的量等来表示。然而,随着存储驱动器老化和磨损,存储驱动器可能无法提供如新的时一样的性能特性或规范。这可能使得存储驱动器不适合在可能具有某些性能要求的某些raid阵列、存储层或工作负载中使用。如果忽略存储驱动器的损耗或寿命并且将相同的工作负荷驱动到这些存储驱动器而不管它们的寿命和/或损耗,则存储驱动器可能展现过高的故障率和/或减少的生命周期。
4.鉴于前述内容,需要动态地补偿存储驱动器上的年龄和/或磨损的系统和方法。理想地,这样的系统和方法将基于存储驱动器的寿命和/或损耗周期性地将存储驱动器重新分配给适当的raid阵列、存储层或工作负荷。这样的系统和方法还将理想地降低故障率并且增加存储驱动器的使用寿命。


技术实现要素:

5.响应于现有技术的当前状态,并且具体地响应于本领域中目前可用的系统和方法尚未完全解决的问题和需求而开发了本发明。因此,已经开发了本发明的实施例以动态地补偿年龄和/或存储驱动器上的磨损。根据以下描述和所附权利要求,本发明的特征和优点将变得更加充分明显,或者可以通过如下文阐述的本发明的实践而获知。
6.与前述一致,公开了一种用于动态地更改多个存储驱动器的每天写入分类的方法。在一个实施例中,这样的方法在存储环境内监视由多个存储驱动器利用的过度配置的量。每个存储驱动器具有与其相关联的每天写入分类。基于过度配置的量,该方法周期性地修改存储驱动器的每天写入分类。然后,该方法基于不同存储组(例如,raid阵列、存储层、工作负荷等)内的存储驱动器的每天写入的分类来重组这些存储驱动器。例如,该方法可以尽可能多地将相同每天写入分类的存储驱动器放置在相同存储组内。
7.在此还公开并要求保护相应的系统和计算机程序产品。
附图说明
8.为了容易理解本发明的优点,将通过参考在附图中示出的具体实施例呈现以上简
要描述的本发明的更具体的描述。应理解,这些附图仅描绘了本发明的典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图用另外的具体性和细节来描述和解释本发明,在附图中:
9.图1是示出其中可以实现根据本发明的系统和方法的网络环境的一个示例的高级框图;
10.图2是示出其中可以实现一个或多个raid或存储层的存储系统的一个实施例的高级框图;
11.图3是示出新的不同存储驱动器及其相关联的性能等级的高级框图;
12.图4是示出随着存储驱动器老化而减退的存储驱动器的性能等级的高级框图;
13.图5是示出基于存储驱动器的性能等级在raid内重组存储驱动器的高级框图;
14.图6是示出基于raid内的存储驱动器的每天写入分类来重组raid内的存储驱动器的高级框图;
15.图7是示出raid内的存储驱动器基于其逻辑存储容量的重组的高级框图;
16.图8是示出了根据本发明的驱动器监控模块内的各个子模块的高级框图;
17.图9是示出了根据本发明的再分类模块内的各个子模块的高级框图;
18.图10是示出用于基于驱动器特性来重组存储驱动器的方法的一个实施例的流程图;
19.图11是示出用于基于存储驱动器的性能等级来重组存储驱动器的方法的一个实施例的流程图;
20.图12是示出用于基于存储驱动器的每天写入分类来重组存储驱动器的方法的一个实施例的流程图;并且
21.图13是示出用于基于存储驱动器的逻辑存储容量来重组存储驱动器的方法的一个实施例的流程图。
具体实施方式
22.将容易理解,如本文的图中一般地描述和示出的本发明的部件可以以各种各样的不同配置布置和设计。由此,附图中表示的本发明的实施例的以下更详细描述不旨在限制所要求保护的本发明的范围,而仅代表根据本发明的当前设想的实施例的某些示例。通过参考附图,将最好地理解当前描述的实施例,其中,贯穿全文,相同的部件由相同的数字指定。
23.本发明可以体现为系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储介质(或媒介),所述计算机可读程序指令用于致使处理器执行本发明的方面。
24.计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储系统、磁存储系统、光存储系统、电磁存储系统、半导体存储系统、或者上述的任意合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存),静态随机存取存储器(sram)、便携式致密盘只读存储器(cd

rom),数字通用盘(dvd)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或
具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
25.本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储系统。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
26.用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括面向对象的smalltalk、c++等编程语言,以及常规的过程式编程语言,如“c”编程语言或类似的编程语言。
27.计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、场可编程门阵列(fpga)或可编程逻辑阵列(pla))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
28.本文中可参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
29.这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储介质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
30.计算机可读程序指令还可以加载到计算机、其他可编程数据处理设备上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置、或用于产生计算机实现的过程的其他设备,从而使得这些指令在该计算机上执行,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
31.参见图1,示出了网络环境100的一个示例。呈现网络环境100以示出其中可实现根据本发明的系统和方法的环境的一个实例。网络环境100以示例而非限制的方式呈现。实际上,除了所示的网络环境100之外,本文公开的系统和方法可适用于各种各样不同的网络环境。
32.如图所示,网络环境100包括通过网络104互连的一个或多个计算机102、106。网络104可包括例如局域网(lan)104、广域网(wan)104、互联网104、内联网104等。在某些实施例中,计算机102、106可以包括客户端计算机102和服务器计算机106(在此也被称为“主机”106或“主机系统”106)两者。通常,客户端计算机102发起通信会话,而服务器计算机106等待并响应来自客户端计算机102的请求。在某些实施例中,计算机102和/或服务器106可以连接到一个或多个内部或外部直接附接存储系统112(例如,硬存储驱动器、固态驱动器、磁带驱动器等的阵列)。这些计算机102、106和直接附接存储系统112可以使用诸如ata、sata、scsi、sas、光纤通道等的协议进行通信。
33.在某些实施例中,网络环境100可以包括服务器106后面的存储网络108,诸如存储区域网络(san)108或lan108(例如,当使用网络附接存储时)。这个网络108可以将服务器106连接到一个或多个存储系统110,诸如硬盘驱动器或固态驱动器的阵列110a、磁带库110b、单独的硬盘驱动器110c或固态驱动器110c、磁带驱动器110d、cd

rom库等。为了访问存储系统110,主机系统106可以通过物理连接从主机106上的一个或多个端口到存储系统110上的一个或多个端口进行通信。连接可以是通过交换机、结构、直接连接等。在某些实施例中,服务器106和存储系统110可以使用诸如光纤信道(fc)或iscsi的联网标准进行通信。
34.参见图2,示出了包含硬盘驱动器204和/或固态驱动器204的阵列的存储系统110a的一个示例。示出了存储系统110a的内部组件,因为在某些实施例中,raid阵列可以全部或部分地在这种存储系统110a内实现。如图所示,存储系统110a包括存储控制器200、一个或多个交换机202和一个或多个存储驱动器204,诸如硬盘驱动器204和/或固态驱动器204(例如,基于闪存的驱动器204)。存储控制器200可以使一个或多个主机系统106(例如,运行诸如z/os、zvm等的操作系统的开放系统和/或大型机服务器106)能够访问一个或多个存储驱动器204中的数据。
35.在所选实施例中,存储控制器200包括一个或多个服务器206a、206b。存储控制器200还可以包括主机适配器208和设备适配器210以分别将存储控制器200连接到主机系统106和存储驱动器204。多个服务器206a、206b可以提供冗余以确保数据总是对连接的主机系统106可用。因此,当一个服务器206a出故障时,另一服务器206b可拾取出故障的服务器206a的i/o负载,以确保i/o能够在主机系统106和存储驱动器204之间继续。这个过程可以被称为“故障转移”。
36.在所选实施例中,每个服务器206包括一个或多个处理器212和存储器214。存储器214可以包括易失性存储器(例如,ram)以及非易失性存储器(例如,rom、eprom、eeprom、硬盘、闪存等)。在某些实施例中,易失性和非易失性存储器可以存储在处理器212上运行并且用于访问存储驱动器204中的数据的软件模块。这些软件模块可以管理对存储驱动器204中的逻辑卷的所有读取和写入请求。
37.具有类似于图2所示的架构的存储系统110a的一个示例是ibmds8000
tm
企业存储系统。ds8000
tm
是提供被设计成支持连续操作的磁盘和固态存储的高性能、高容量存储控制器。然而,本文公开的技术不限于ibm ds8000
tm
企业存储系统110a,而是可以在任何可比较的或类似的存储系统110中实现,而不管制造商、产品名称、或组件或与系统110相关联的组件名称。可以受益于本发明的一个或多个实施例的任何存储系统被认为落入本发明的范围内。由此,ibmds8000
tm
仅作为示例而非限制来呈现。
38.参见图3,在某些实施例中,存储系统110a的存储驱动器204可以被配置在一个或多个raid阵列304中以提供期望的可靠性和/或i/o性能水平。通过将多个存储驱动器组件(例如,磁盘驱动器204和/或固态驱动器204)组合成逻辑单元来创建raid阵列304。然后使用不同技术(被称为“raid级别”)跨驱动器分布数据。当前包括raid级别1至6的标准raid级别是采用条带化、镜像和/或奇偶校验来提供数据冗余的raid配置的基本集合。每个配置提供两个关键目标之间的平衡:(1)增加数据可靠性和(2)增加i/o性能。
39.当raid阵列304中的存储驱动器204是新的时,存储驱动器204可以具有某些性能特性或规范。这些特性或规范可按照性能等级、每天的写入分类、存储容量、过度配置的量等来表示。然而,随着存储驱动器204老化和磨损,存储驱动器204可能无法提供它们新时能够提供的相同的性能特性或规范。这可能使得存储驱动器204不适合在可能具有某些性能要求的某些raid阵列304、存储层或工作负载中使用。如果忽略存储驱动器204的损耗或寿命并且将相同的工作负荷驱动到这些存储驱动器204而不管它们的寿命和/或损耗,则存储驱动器204可能表现出过高的故障率和/或减少的生命周期。
40.因此,需要系统和方法来动态地补偿存储驱动器204上的寿命和/或损耗。理想地,这样的系统和方法将基于存储驱动器204的寿命和/或损耗周期性地将存储驱动器204重新分配给适当的raid阵列304、存储层或工作负荷。这样的系统和方法还将理想地降低故障率并且增加存储驱动器204的使用寿命。
41.如图3所示,当存储驱动器204是新的时,新存储驱动器204可以具有与其相关联的某个性能等级。例如,存储驱动器204已经被分配性能等级a、b或c,其中性能等级a具有更好的性能(例如,i/o性能)优于性能等级b,性能等级b的性能优于性能等级c。在所示实施例中,每个raid阵列304以相同性能等级(在该示例中,性能等级a)的存储驱动器204开始,尽管这在所有实施例中不是必需的。例如,取决于raid阵列304的性能要求,一些raid阵列304可以被分配具有较低性能等级(例如,性能等级b或c)的存储驱动器204。
42.随着时间的推移,由于raid阵列304内的某些存储驱动器204的故障和替换,raid阵列304可以由具有不同年龄和/或磨损特性的存储驱动器204组成。然而,随着存储驱动器204老化和磨损,存储驱动器204可能无法提供相同的性能特性或规范,或者无法在不展现高于可接受的故障率或降低的生命周期的情况下这样做。然而,当某个性能等级的存储驱动器204老化和/或损耗时,存储驱动器204可以继续以与其最初分配的性能等级的结果相同的方式被使用。
43.在某些实施例中,根据本发明的系统和方法可以监视存储环境中的存储驱动器204的特性(例如,年龄和/或损耗),并且周期性地用适当的性能等级对存储驱动器204重新分类。例如,对于具有三年的预期寿命的存储驱动器204,存储驱动器204可最初被分配性能等级a。在第一年的使用之后,存储驱动器204可以被降低到性能等级b。在第二年的使用之后,存储驱动器204可以被降低到性能等级c。每当存储驱动器204被分配新的性能等级时,存储驱动器204可以(如果尚未)被放置在适当的存储组(例如,raid阵列304、分层存储环境中的存储层、具有特定工作负荷要求的存储驱动器204等)中。这可以通过在存储环境中将某个性能等级的存储驱动器204与不同性能等级的存储驱动器204交换以使得存储组(例如,raid阵列304、存储层、工作负荷等)包含尽可能多的相同性能等级的存储驱动器204来实现。
44.如图3所示,在某些实施例中,一个或多个模块300、302、303可用于提供根据本发明的不同特征和功能。例如,驱动器监控模块300可以被配置为监控存储驱动器特性,诸如存储驱动器年龄、使用和/或磨损。相比之下,驱动器重新分类模块302可以被配置为根据存储驱动器204的特性周期性地重新分类存储驱动器204。例如,驱动器重新分类模块302可以在存储驱动器204老化或损耗时降低存储驱动器204的性能等级。一旦存储驱动器204被重新分类,驱动器重组模块303可以被配置为根据存储驱动器的分类在存储环境中重组存储驱动器204。例如,在某些实施例中,驱动器重组模块303可以尽可能多地将相同性能等级的存储驱动器204放置在相同的存储组中,诸如在相同的raid阵列304或相同的存储层中。
45.图4示出了在存储驱动器204已经被驱动器重新分类模块302重新分类之后的图3的raid阵列304。如所示,在经过一段时间并且raid阵列304内的各种存储驱动器204已经与相同或不同性能等级的其他存储驱动器204替换或交换之后,raid阵列304中的存储驱动器204可以具有不同的寿命和/或损耗特性。基于这些年龄和/或磨损特性,驱动器重新分类模块302可以修改存储驱动器204的性能等级以反映它们的年龄和/或磨损。例如,如图4所示,存储环境可以包含存储驱动器204,存储驱动器204基于其制造商规范或其年龄和/或磨损被分类为性能等级a、b或c。这创建了raid阵列304包含不同性能等级的存储驱动器204的场景,如图4所示。在某些实施例中,具有最低性能等级的存储驱动器204可以定义整个raid阵列304的性能。即,raid阵列304可能仅能够执行其最低性能的存储驱动器204(即,具有最低性能等级的存储驱动器204)。由此,为了使raid阵列304的性能最大化,raid阵列304将理想地包含具有相同性能等级的存储驱动器204。
46.参见图5,为了实现这一点,一旦驱动器重新分类模块302已经修改存储驱动器204的性能等级以符合它们的年龄和/或损耗,驱动器重组模块303可以在存储环境内重组存储驱动器204。更具体地,驱动器重组模块303可以尝试将相同性能等级的存储驱动器204放置在相同的raid阵列304中。较高性能raid阵列304将理想地包含较高性能等级的存储驱动器204。类似地,较低性能raid阵列304可以包含较低性能等级的存储驱动器204。
47.为了重组存储驱动器204,驱动器重组模块303可以使用例如备用存储驱动器204作为中间数据存储区来在raid阵列304之间交换存储驱动器204,以促进数据的交换。在某些实施例中,这是使用智能重建过程将数据从一个存储驱动器204复制到另一个来实现的。智能重建过程可通过维持存储驱动器204用作备用的能力(即使数据正被复制到它)来减少对数据丢失的暴露。在某些实施例中,当将数据从第一存储驱动器204复制到第二存储驱动器204(例如,备用存储驱动器204)时,智能重建过程可以为第一存储驱动器204创建位图。每个位可以表示第一存储驱动器204上的存储空间的一部分(例如,一兆字节区域)。智能重建过程然后可以开始将数据从第一存储驱动器204复制到第二存储驱动器204。当每个区段被复制时,其相关联的位可以被记录在位图中。
48.如果在数据复制处理正在进行时接收到对第一存储驱动器204的区段的写入,则智能重建处理可以检查位图以确定相关联的区段中的数据是否已经被复制到第二存储驱动器204。如果不是,则智能重建过程可以简单地将数据写入到第一存储驱动器204的对应部分。否则,在将数据写入第一存储驱动器204之后,数据也可以被复制到第二存储驱动器204。一旦将所有部分从第一存储驱动器204复制到第二存储驱动器204,raid阵列304就可以开始使用第二存储驱动器204来代替第一存储驱动器204。这将第一存储驱动器204从
raid阵列304释放。
49.可替代地,智能重建过程可以利用水印而不是位图来跟踪哪些数据已经从第一存储驱动器204复制到第二存储驱动器204。在这样的实施例中,区段可以以指定的顺序从第一存储驱动器204复制到第二存储驱动器204。水印可跟踪复制进程已前进通过所述片段的程度。如果在复制进程期间接收到对第一存储驱动器204的区段的写入,则智能重建进程可以检查水印以确定区段中的数据是否已经被复制到第二存储驱动器204。如果不是,则智能重建进程可以将数据写到第一存储驱动器204。否则,在将数据写入第一存储驱动器204之后,智能重建过程也可将数据复制到第二存储驱动器204。一旦已经将所有部分从第一存储驱动器204复制到第二存储驱动器204,raid阵列304就可以开始使用第二存储驱动器204来代替第一存储驱动器204。这将第一存储驱动器204从raid阵列304释放。
50.在其他实施例中,驱动器重新分类模块302可以改变存储环境内的存储驱动器204的其他特性。例如,驱动器重新分类模块302可以基于存储驱动器204的年龄或磨损来修改每天的写入分类、逻辑存储容量和/或与存储驱动器204相关联的过度配置的量。然后,驱动器重组模块303可以基于raid阵列304内的存储驱动器204的每天写入分类(如图6所示)或其逻辑存储容量(如图7所示)来重组存储驱动器204。因此,根据本发明的系统和方法可以监控存储驱动器204的不同特性,基于它们的特性对存储驱动器204重新分类,以及在存储驱动器204已经被重新分类之后重新组织存储驱动器204。将结合图8至图13更详细地描述可以实现这点的方式。
51.图8是示出可以包括在驱动器监控模块300内的不同子模块的高级框图。驱动器监控模块300和相关联的子模块可以在硬件、软件、固件或其组合中实现。驱动器监控模块300和相关联的子模块以示例而非限制的方式呈现。在不同实施例中,可以提供更多或更少的子模块。例如,一些子模块的功能性可以组合成单个或更少数量的子模块,或者单个子模块的功能性可以分布在几个子模块上。
52.如图所示,驱动器监控模块300包括老化监控模块800、磨损监控模块802和过度配置监控模块804中的一个或多个。年龄监控模块800可以被配置为监控存储环境中的存储驱动器204的年龄。在某些实施例中,这可以通过检测存储驱动器204何时新安装在存储环境中并且然后从该点向前跟踪存储驱动器204在存储环境中的时间量来完成。
53.相比之下,损耗监视模块802可以监视存储环境中的存储驱动器204的损耗。在某些实施例中,可以根据存储驱动器204的使用来确定磨损,诸如在存储驱动器204的寿命期间已被驱动到存储驱动器204的i/o的量,存储驱动器204已经活动的时间量、存储驱动器204在其使用期间已经与其相关联的存储组(例如,raid阵列304、存储层或工作负荷),和/或类似物。
54.过度配置监控模块804可以被配置为监控在存储驱动器204内存在的过度配置的量。某些存储驱动器204(如固态存储驱动器204(ssd))可以具有其专用于存储数据的总存储容量的一定百分比,并且剩余百分比以“过度配置”的形式保持空闲。”这种过度配置通常改善性能并且增加固态存储驱动器204的寿命。随着固态存储驱动器204老化和/或磨损,固态存储驱动器204内的存储元件可能变坏,这进而可能减少存储驱动器204内的过度配置的量。这可以降低固态存储驱动器204的性能和/或寿命。
55.图9是示出可以包括在先前描述的驱动器重新分类模块302内的不同子模块的高
级框图。如图所示,驱动器重新分类模块302可以包括性能等级调整模块900、每天写入调整模块902和尺寸/过度配置调整模块904中的一个或多个。性能等级调整模块900可以被配置为根据由驱动器监控模块300检测的存储驱动器204的特性(例如,年龄和/或磨损)来调整存储驱动器204的性能等级。在某些实施例中,性能等级调整模块900可以在各个离散步骤中调整性能等级。例如,性能等级调整模块900可以取决于存储驱动器204的年龄或磨损而将性能等级从性能等级a减少到性能等级b以及从性能等级b减少到性能等级c。
56.每天写入调整模块902可以用于调整与存储驱动器204相关联的每天写入分类。基于与存储驱动器204相关联的过载设置的年龄、损耗和/或量,每天写入调整模块902可以减少与存储驱动器204相关联的每天写入分类。在某些实施例中,这可以在离散步骤中发生。例如,每天的写入分类可从第一级别(例如,200gb/天)下降到第二级别(150gb/天),然后从第二级别到第三级别(例如,100gb/天),等等,在不同离散步骤中,取决于与存储驱动器204相关联的特性(例如,过度配置的量、年龄等)。
57.尺寸/过度配置调整模块904可以被配置成用于调整与存储驱动器204相关联的逻辑存储容量和/或过度配置的量。如上所述,随着存储驱动器204(例如,固态存储驱动器204)老化或被利用,存储驱动器204中的扇区或存储元件可能变差。当存储驱动器204内的过度配置的量减小到某个水平或阈值时,尺寸/过度配置调整模块904可以调整存储驱动器204中的逻辑存储容量和/或过度配置的量。例如,尺寸/过度配置调整模块904可以减小存储驱动器204的逻辑存储容量,以便增加过度配置的量。这可以改善存储驱动器204的性能和/或增加存储驱动器204的使用寿命。在某些实施例中,这可以在不同的离散步骤中发生。例如,尺寸/过度配置调整模块904可以在存储驱动器204老化和/或磨损时以不同离散步长将存储驱动器204的逻辑存储容量从大小a(例如,900gb)减小到大小b(例如,800gb)、从大小b减小到大小c(例如,700gb)等。如下文将更详细解释的,在某些情况下,当存储驱动器204的逻辑存储容量减小时,一些数据可能需要从存储驱动器204迁移离开以促进逻辑存储容量的减小。
58.参见图10,图示了示出用于基于驱动器特性来重组存储驱动器204的方法1000的一个实施例的流程图。该方法1000旨在广泛地涵盖图11至13中所示的更具体的方法。
59.如图所示,方法1000初始确定1002是否到了重新分类和重新组织存储环境内的存储驱动器204的时机。在某些实施例中,旨在周期性地执行方法1000,如每周、每月、或每若干月。步骤1002可经配置以确定是否应执行方法1000和何时应执行方法1000。
60.如果有重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1000确定(1004)存储环境中的存储驱动器204的驱动器特性,诸如年龄、损耗、过度配置的量等。在某些实施例中,一旦观察到某些特性,方法1000实际上修改驱动特性。例如,在存储驱动器204中的过度配置的量下降到低于指定水平的情况下,方法1000可以减少逻辑存储容量,从而增加存储驱动器204的过度配置的量。
61.方法1000然后基于所确定的特性对存储环境内的存储驱动器204重新分类1008。例如,如果存储驱动器204已经达到某个年龄,则方法1000可以将存储驱动器204从性能等级a重新分类(1008)到性能等级b,或从性能等级b重新分类(1008)到性能等级c。在另一示例中,如果存储驱动器204已达到特定寿命或磨损量,则方法1000可将存储驱动器204从第一每天写入分类重新分类(1008)到第二每天写入分类。在又一示例中,如果存储驱动器204
已达到特定寿命或磨损量,则方法1000可将存储驱动器204从具有第一逻辑存储容量重新分类(1008)至具有第二逻辑存储容量。
62.方法1000然后确定(1010)包含存储驱动器204的某些存储组(例如,raid阵列304、存储层、支持某些工作负荷的存储驱动器204等)的要求。例如,方法1000可以确定存储环境内的raid阵列304的性能要求。基于存储组的要求和存储驱动器204的分类,方法1000在存储组内重新组织(1012)存储驱动器204。例如,方法1000可以尝试重新组织(1012)raid阵列304中的存储驱动器204,以使得较高性能raid阵列304或存储层包含较高性能等级(例如,性能等级a)的存储驱动器204,并且较低性能raid阵列304或存储层包含较低性能等级的存储驱动器204。在某些实施例中,这可以通过使用在存储驱动器204之间交换数据的智能重建过程来交换raid阵列304或存储层中的存储驱动器204来实现。
63.参见图11,示出了用于基于存储驱动器204的性能等级来重组存储驱动器204的方法1100的一个实施例。如果在步骤1102处到了重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1100确定(1104)存储环境中的存储驱动器204的年龄。然后方法1100降低(1106)其年龄已经达到指定阈值的存储驱动器204的性能等级。例如,一旦具有三年预计寿命的存储驱动器204已经达到一岁,就可以将其从性能等级a减少(1106)到性能等级b。当相同的存储驱动器204已经达到两岁时,可以将其从性能等级b减少(1106)到性能等级c。
64.方法1100然后确定(1108)存储环境中不同存储组(例如,raid阵列304、存储层、支持某些工作负荷的存储驱动器204等)的要求。例如,方法1100可以确定存储环境中的第一raid阵列304或存储层需要更高性能,并且因此更高性能的存储驱动器204和存储环境中的第二raid阵列304或存储层可以利用更低性能的存储驱动器204。基于存储组的要求和存储驱动器204的特性,方法1100在存储组内重新组织(1110)存储驱动器204。例如,方法1100可以尽可能多地将相同性能等级的存储驱动器204放置在相同的存储组中。在某些实施例中,这可以通过使用智能重建过程交换raid阵列304或存储层中的存储驱动器204来实现。
65.在某些实施例中,重新组织步骤1110如下工作,假设存储驱动器204根据其性能等级被重新组织,存储驱动器204被分类为性能等级a、b或c,并且存储组是raid阵列304:重组织步骤1110可以首先生成性能等级a的存储环境中的所有存储驱动器204的“计数”。然后重组织步骤1110可以在存储环境中发现具有最多的性能等级a存储驱动器204的raid阵列304。重组织步骤1110将“计数”减少raid阵列304中的性能等级a存储驱动器204的数量。然后,重新组织步骤1110使用智能重建过程将性能等级a存储驱动器204从其他raid阵列304交换到raid阵列304中,直到raid阵列304包含所有性能等级a存储驱动器204。重组织步骤1110将“计数”减少被交换的存储驱动器204的数量。如果“计数”为零,则性能等级a的存储驱动器204的重组停止。否则,对于具有性能等级a存储驱动器204的下一个最高数量的raid阵列304重复重组步骤1110或直到“计数”变为零。针对性能等级b和性能等级c存储驱动器204重复该重组步骤1110。重组织步骤1110将尽可能多地将相同性能等级的存储驱动器204放置在相同的raid阵列304中。
66.参见图12,示出了用于基于存储驱动器的每天写入分类来重组存储驱动器的方法1200的一个实施例。如果在步骤1202处,到了重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1200确定(1204)存储环境中存储驱动器204的过度配置的年龄和/或量。然后,方法1200减少(1206)存储驱动器204的每天写入分类,所述存储驱动器的年龄或
过度配置量已经达到指定阈值。例如,一旦存储驱动器204已经达到第一年龄(例如,一年)或指定量的过度配置(例如,小于百分之十的过度配置),存储驱动器204可以从级别1每天写入分类减少(1206)到级别2每天写入分类。类似地,一旦存储驱动器204已经达到第二年龄(例如,两年)或者再次达到指定量的过度配置,存储驱动器204可以从级别2写入/日分类减少(1206)到级别3写入/日分类。
67.然后,方法1200确定(1208)存储环境中不同存储组(例如,raid阵列304、存储层、支持某些工作负荷的存储驱动器204等)的要求。例如,方法1200可以确定存储环境中的第一raid阵列304或存储层需要较高的性能,并且因此较高每天写入分类的存储驱动器204和存储环境中的第二raid阵列304或存储层可以利用具有较低每天写入分类的存储驱动器204。基于存储组的要求和存储驱动器204的每天写入分类,方法1200在存储组内重新组织(1210)存储驱动器204。例如,方法1200可以尽可能多地将每天相同写入分类的存储驱动器204放置在相同存储组中。在某些实施例中,这可以通过使用智能重建过程交换raid阵列304或存储层中的存储驱动器204来实现。在某些实施例中,重组步骤1210可以以与结合图11所描述的重组步骤1110大致相同的方式工作。
68.参见图13,示出了用于基于存储驱动器的逻辑存储容量来重组存储驱动器的方法1300的一个实施例。如果在步骤1302处到了重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1300确定(1304)存储环境中的存储驱动器204的年龄。方法1300然后基于存储驱动器204的年龄确定(1306)逻辑存储容量的适当减小和存储驱动器204的过度配置的量的增加。如果存储驱动器204包含超过新确定的逻辑存储容量中可以容纳的数据量的数据量,则方法1300将数据从存储驱动器204迁移(1308)到另一位置。存储驱动器204然后可以被重新配置以使释放的逻辑存储容量专用于过度配置。方法1300然后根据在步骤1306确定的量减小(1310)逻辑存储容量并且增加(1310)存储驱动器204中的过度配置的量。
69.然后,方法1300在存储组(例如,raid阵列304、存储层等)内重新组织(1310)存储驱动器204。例如,方法1300可以尽可能将相同逻辑存储容量的存储驱动器204放置在相同的存储组中。在某些实施例中,这可以通过使用智能重建过程交换存储组中的存储驱动器204来实现。在某些实施例中,重组步骤1310可以与结合图11和12所描述的重组步骤1110、1210大致相同的方式工作。
70.附图中的流程图和/或框图示出了根据本发明的不同实施例的系统、方法和计算机可用介质的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应注意,在一些替代实现方式中,框中所标注的功能可以不以图中所标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以由执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以由专用硬件与计算机指令的组合来实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1