CN113811861A - 存储驱动器的动态性能等级调整 - Google Patents

存储驱动器的动态性能等级调整 Download PDF

Info

Publication number
CN113811861A
CN113811861A CN202080035143.XA CN202080035143A CN113811861A CN 113811861 A CN113811861 A CN 113811861A CN 202080035143 A CN202080035143 A CN 202080035143A CN 113811861 A CN113811861 A CN 113811861A
Authority
CN
China
Prior art keywords
storage
drives
drive
performance level
storage drives
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.)
Pending
Application number
CN202080035143.XA
Other languages
English (en)
Inventor
L·M·古普塔
M·布尔力克
K·A·尼尔森
M·罗比森
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN113811861A publication Critical patent/CN113811861A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了一种用于动态地更改多个存储驱动器的性能等级的方法。在一个实施例中,这样的方法在存储环境内监视多个存储驱动器的特性(例如,年龄、磨损等)。每个存储驱动器具有与其相关联的性能等级。基于这些特性,该方法周期性地修改存储驱动器的性能等级。然后,该方法基于不同存储组(例如,RAID阵列、存储层、工作负荷等)内的存储驱动器的性能等级来重组这些存储驱动器。例如,该方法可以尽可能将相同性能等级的存储驱动器放置在相同存储组内。还公开了相应的系统和计算机程序产品。

Description

存储驱动器的动态性能等级调整
技术领域
本发明涉及动态地补偿存储驱动器上的老化和/或磨损的系统和方法。
背景技术
RAID(即,独立磁盘冗余阵列)是通过冗余提供增加的存储功能和可靠性的存储技术。通过将多个存储驱动器组件(例如,磁盘驱动器和/或固态驱动器)组合到逻辑单元中来创建RAID。然后使用不同技术(被称为“RAID级别”)跨驱动器分布数据。当前包括RAID级别1至6的标准RAID级别是采用条带化、镜像和/或奇偶校验来提供数据冗余的RAID配置的基本集合。每个配置提供两个关键目标之间的平衡:(1)增加数据可靠性和(2)增加I/O性能。
当RAID中的存储驱动器是新的时,存储驱动器可以具有某些性能特性或规范。这些特性或规范可按照性能等级、每天的写入分类、存储容量、过度配置的量等来表示。然而,随着存储驱动器老化和磨损,存储驱动器可能无法提供如新的时一样的性能特性或规范。这可能使得存储驱动器不适合在可能具有某些性能要求的某些RAID阵列、存储层或工作负载中使用。如果忽略存储驱动器的损耗或寿命并且将相同的工作负荷驱动到这些存储驱动器而不管它们的寿命和/或损耗,则存储驱动器可能展现过高的故障率和/或减少的生命周期。
鉴于前述内容,需要动态地补偿存储驱动器上的老化和/或磨损的系统和方法。理想地,这样的系统和方法将基于存储驱动器的寿命和/或损耗周期性地将存储驱动器重新分配给适当的RAID阵列、存储层或工作负荷。这样的系统和方法还将理想地降低故障率并且增加存储驱动器的使用寿命。
发明内容
响应于现有技术的当前状态,并且具体地响应于本领域中目前可用的系统和方法尚未完全解决的问题和需求而开发了本发明。因此,已经开发了本发明的实施例以动态地补偿年龄和/或存储驱动器上的磨损。根据以下描述和所附权利要求,本发明的特征和优点将变得更加充分明显,或者可以通过如下文阐述的本发明的实践而获知。
与前述一致,公开了一种用于动态地更改多个存储驱动器的性能等级的方法。在一个实施例中,这样的方法在存储环境内监视多个存储驱动器的特性(例如,老化、磨损等)。每个存储驱动器具有与其相关联的性能等级。基于这些特性,该方法周期性地修改存储驱动器的性能等级。然后,该方法基于不同存储组(例如,RAID阵列、存储层、工作负荷等)内的存储驱动器的性能等级来重组这些存储驱动器。例如,该方法可以尽可能将相同性能等级的存储驱动器放置在相同存储组内。
在此还公开并要求保护相应的系统和计算机程序产品。
附图说明
为了容易理解本发明的优点,将通过参考在附图中示出的具体实施例呈现以上简要描述的本发明的更具体的描述。应理解,这些附图仅描绘了本发明的典型实施例,并且因此不被认为是对其范围的限制,将通过使用附图用另外的具体性和细节来描述和解释本发明,在附图中:
图1是示出其中可以实现根据本发明的系统和方法的网络环境的一个示例的高级框图;
图2是示出其中可以实现一个或多个RAID或存储层的存储系统的一个实施例的高级框图;
图3是示出新的不同存储驱动器及其相关联的性能等级的高级框图;
图4是示出随着存储驱动器老化而减退的存储驱动器的性能等级的高级框图;
图5是示出基于存储驱动器的性能等级在RAID内重组存储驱动器的高级框图;
图6是示出基于RAID内的存储驱动器的每天写入分类来重组RAID内的存储驱动器的高级框图;
图7是示出RAID内的存储驱动器基于其逻辑存储容量的重组的高级框图;
图8是示出了根据本发明的驱动器监控模块内的各个子模块的高级框图;
图9是示出了根据本发明的再分类模块内的各个子模块的高级框图;
图10是示出用于基于驱动器特性来重组存储驱动器的方法的一个实施例的流程图;
图11是示出用于基于存储驱动器的性能等级来重组存储驱动器的方法的一个实施例的流程图;
图12是示出用于基于存储驱动器的每天写入分类来重组存储驱动器的方法的一个实施例的流程图;并且
图13是示出用于基于存储驱动器的逻辑存储容量来重组存储驱动器的方法的一个实施例的流程图。
具体实施方式
将容易理解,如本文的图中一般地描述和示出的本发明的部件可以以各种各样的不同配置布置和设计。由此,附图中表示的本发明的实施例的以下更详细描述不旨在限制所要求保护的本发明的范围,而仅代表根据本发明的当前设想的实施例的某些示例。通过参考附图,将最好地理解当前描述的实施例,其中,贯穿全文,相同的部件由相同的数字指定。
本发明可以体现为系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储介质(或媒介),所述计算机可读程序指令用于致使处理器执行本发明的方面。
计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储系统、磁存储系统、光存储系统、电磁存储系统、半导体存储系统、或者上述的任意合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储系统。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括面向对象的Smalltalk、C++等编程语言,以及常规的过程式编程语言,如“C”编程语言或类似的编程语言。
计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
本文中可参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储介质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
计算机可读程序指令还可以加载到计算机、其他可编程数据处理设备上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置、或用于产生计算机实现的过程的其他设备,从而使得这些指令在该计算机上执行,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
参见图1,示出了网络环境100的一个示例。呈现网络环境100以示出其中可实现根据本发明的系统和方法的环境的一个实例。网络环境100以示例而非限制的方式呈现。实际上,除了所示的网络环境100之外,本文公开的系统和方法可适用于各种各样不同的网络环境。
如图所示,网络环境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、光纤通道等的协议进行通信。
在某些实施例中,网络环境100可以包括服务器106后面的存储网络108,诸如存储区域网络(SAN)108或LAN108(例如,当使用网络附接存储时)。这个网络108可以将服务器106连接到一个或多个存储系统110,诸如硬盘驱动器或固态驱动器的阵列110a、磁带库110b、单独的硬盘驱动器110c或固态驱动器110c、磁带驱动器110d、CD-ROM库等。为了访问存储系统110,主机系统106可以通过物理连接从主机106上的一个或多个端口到存储系统110上的一个或多个端口进行通信。连接可以是通过交换机、结构、直接连接等。在某些实施例中,服务器106和存储系统110可以使用诸如光纤信道(FC)或iSCSI的联网标准进行通信。
参见图2,示出了包含硬盘驱动器204和/或固态驱动器204的阵列的存储系统110a的一个示例。示出了存储系统110a的内部组件,因为在某些实施例中,RAID阵列可以全部或部分地在这种存储系统110a内实现。如图所示,存储系统110a包括存储控制器200、一个或多个交换机202和一个或多个存储驱动器204,诸如硬盘驱动器204和/或固态驱动器204(例如,基于闪存的驱动器204)。存储控制器200可以使一个或多个主机系统106(例如,运行诸如z/OS、zVM等的操作系统的开放系统和/或大型机服务器106)能够访问一个或多个存储驱动器204中的数据。
在所选实施例中,存储控制器200包括一个或多个服务器206a、206b。存储控制器200还可以包括主机适配器208和设备适配器210以分别将存储控制器200连接到主机系统106和存储驱动器204。多个服务器206a、206b可以提供冗余以确保数据总是对连接的主机系统106可用。因此,当一个服务器206a出故障时,另一服务器206b可拾取出故障的服务器206a的I/O负载,以确保I/O能够在主机系统106和存储驱动器204之间继续。这个过程可以被称为“故障转移”。
在所选实施例中,每个服务器206包括一个或多个处理器212和存储器214。存储器214可以包括易失性存储器(例如,RAM)以及非易失性存储器(例如,ROM、EPROM、EEPROM、硬盘、闪存等)。在某些实施例中,易失性和非易失性存储器可以存储在处理器212上运行并且用于访问存储驱动器204中的数据的软件模块。这些软件模块可以管理对存储驱动器204中的逻辑卷的所有读取和写入请求。
具有类似于图2所示的架构的存储系统110a的一个示例是IBMDS8000TM企业存储系统。DS8000TM是提供被设计成支持连续操作的磁盘和固态存储的高性能、高容量存储控制器。然而,本文公开的技术不限于IBM DS8000TM企业存储系统110a,而是可以在任何可比较的或类似的存储系统110中实现,而不管制造商、产品名称、或组件或与系统110相关联的组件名称。可以受益于本发明的一个或多个实施例的任何存储系统被认为落入本发明的范围内。由此,IBMDS8000TM仅作为示例而非限制来呈现。
参见图3,在某些实施例中,存储系统110a的存储驱动器204可以被配置在一个或多个RAID阵列304中以提供期望的可靠性和/或I/O性能水平。通过将多个存储驱动器组件(例如,磁盘驱动器204和/或固态驱动器204)组合成逻辑单元来创建RAID阵列304。然后使用不同技术(被称为“RAID级别”)跨驱动器分布数据。当前包括RAID级别1至6的标准RAID级别是采用条带化、镜像和/或奇偶校验来提供数据冗余的RAID配置的基本集合。每个配置提供两个关键目标之间的平衡:(1)增加数据可靠性和(2)增加I/O性能。
当RAID阵列304中的存储驱动器204是新的时,存储驱动器204可以具有某些性能特性或规范。这些特性或规范可按照性能等级、每天的写入分类、存储容量、过度配置的量等来表示。然而,随着存储驱动器204老化和磨损,存储驱动器204可能无法提供它们新时能够提供的相同的性能特性或规范。这可能使得存储驱动器204不适合在可能具有某些性能要求的某些RAID阵列304、存储层或工作负载中使用。如果忽略存储驱动器204的损耗或寿命并且将相同的工作负荷驱动到这些存储驱动器204而不管它们的寿命和/或损耗,则存储驱动器204可能表现出过高的故障率和/或减少的生命周期。
因此,需要系统和方法来动态地补偿存储驱动器204上的寿命和/或损耗。理想地,这样的系统和方法将基于存储驱动器204的寿命和/或损耗周期性地将存储驱动器204重新分配给适当的RAID阵列304、存储层或工作负荷。这样的系统和方法还将理想地降低故障率并且增加存储驱动器204的使用寿命。
如图3所示,当存储驱动器204是新的时,新存储驱动器204可以具有与其相关联的某个性能等级。例如,存储驱动器204已经被分配性能等级A、B或C,其中性能等级A具有更好的性能(例如,I/O性能)优于性能等级B,性能等级B的性能优于性能等级C。在所示实施例中,每个RAID阵列304以相同性能等级(在该示例中,性能等级A)的存储驱动器204开始,尽管这在所有实施例中不是必需的。例如,取决于RAID阵列304的性能要求,一些RAID阵列304可以被分配具有较低性能等级(例如,性能等级B或C)的存储驱动器204。
随着时间的推移,由于RAID阵列304内的某些存储驱动器204的故障和替换,RAID阵列304可以由具有不同老化和/或磨损特性的存储驱动器204组成。然而,随着存储驱动器204老化和磨损,存储驱动器204可能无法提供相同的性能特性或规范,或者无法在不展现高于可接受的故障率或降低的生命周期的情况下这样做。然而,当某个性能等级的存储驱动器204老化和/或磨损时,存储驱动器204可以继续以与其最初分配的性能等级的结果相同的方式被使用。
在某些实施例中,根据本发明的系统和方法可以监视存储环境中的存储驱动器204的特性(例如,老化和/或磨损),并且周期性地用适当的性能等级对存储驱动器204重新分类。例如,对于具有三年的预期寿命的存储驱动器204,存储驱动器204可最初被分配性能等级A。在第一年的使用之后,存储驱动器204可以被降低到性能等级B。在第二年的使用之后,存储驱动器204可以被降低到性能等级C。每当存储驱动器204被分配新的性能等级时,存储驱动器204可以(如果尚未)被放置在适当的存储组(例如,RAID阵列304、分层存储环境中的存储层、具有特定工作负荷要求的存储驱动器204等)中。这可以通过在存储环境中将某个性能等级的存储驱动器204与不同性能等级的存储驱动器204交换以使得存储组(例如,RAID阵列304、存储层、工作负荷等)包含尽可能多的相同性能等级的存储驱动器204来实现。
如图3所示,在某些实施例中,一个或多个模块300、302、303可用于提供根据本发明的不同特征和功能。例如,驱动器监控模块300可以被配置为监控存储驱动器特性,诸如存储驱动器年龄、使用和/或磨损。相比之下,驱动器重新分类模块302可以被配置为根据存储驱动器204的特性周期性地重新分类存储驱动器204。例如,驱动器重新分类模块302可以在存储驱动器204年龄或损耗时降低存储驱动器204的性能等级。一旦存储驱动器204被重新分类,驱动器重组模块303可以被配置为根据存储驱动器的分类在存储环境中重组存储驱动器204。例如,在某些实施例中,驱动器重组模块303可以尽可能多地将相同性能等级的存储驱动器204放置在相同的存储组中,诸如在相同的RAID阵列304或相同的存储层中。
图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。
参见图5,为了实现这一点,一旦驱动器重新分类模块302已经修改存储驱动器204的性能等级以符合它们的老化和/或磨损,驱动器重组模块303可以在存储环境内重组存储驱动器204。更具体地,驱动器重组模块303可以尝试将相同性能等级的存储驱动器204放置在相同的RAID阵列304中。较高性能RAID阵列304将理想地包含较高性能等级的存储驱动器204。类似地,较低性能RAID阵列304可以包含较低性能等级的存储驱动器204。
为了重组存储驱动器204,驱动器重组模块303可以使用例如备用存储驱动器204作为中间数据存储区来在RAID阵列304之间交换存储驱动器204,以促进数据的交换。在某些实施例中,这是使用智能重建过程将数据从一个存储驱动器204复制到另一个来实现的。智能重建过程可通过维持存储驱动器204用作备用的能力(即使数据正被复制到它)来减少对数据丢失的暴露。在某些实施例中,当将数据从第一存储驱动器204复制到第二存储驱动器204(例如,备用存储驱动器204)时,智能重建过程可以为第一存储驱动器204创建位图。每个位可以表示第一存储驱动器204上的存储空间的一部分(例如,一兆字节区域)。智能重建过程然后可以开始将数据从第一存储驱动器204复制到第二存储驱动器204。当每个区段被复制时,其相关联的位可以被记录在位图中。
如果在数据复制处理正在进行时接收到对第一存储驱动器204的区段的写入,则智能重建处理可以检查位图以确定相关联的区段中的数据是否已经被复制到第二存储驱动器204。如果不是,则智能重建过程可以简单地将数据写入到第一存储驱动器204的对应部分。否则,在将数据写入第一存储驱动器204之后,数据也可以被复制到第二存储驱动器204。一旦将所有部分从第一存储驱动器204复制到第二存储驱动器204,RAID阵列304就可以开始使用第二存储驱动器204来代替第一存储驱动器204。这将第一存储驱动器204从RAID阵列304释放。
可替代地,智能重建过程可以利用水印而不是位图来跟踪哪些数据已经从第一存储驱动器204复制到第二存储驱动器204。在这样的实施例中,区段可以以指定的顺序从第一存储驱动器204复制到第二存储驱动器204。水印可跟踪复制进程已前进通过所述片段的程度。如果在复制进程期间接收到对第一存储驱动器204的区段的写入,则智能重建进程可以检查水印以确定区段中的数据是否已经被复制到第二存储驱动器204。如果不是,则智能重建进程可以将数据写到第一存储驱动器204。否则,在将数据写入第一存储驱动器204之后,智能重建过程也可将数据复制到第二存储驱动器204。一旦已经将所有部分从第一存储驱动器204复制到第二存储驱动器204,RAID阵列304就可以开始使用第二存储驱动器204来代替第一存储驱动器204。这将第一存储驱动器204从RAID阵列304释放。
在其他实施例中,驱动器重新分类模块302可以改变存储环境内的存储驱动器204的其他特性。例如,驱动器重新分类模块302可以基于存储驱动器204的老化或磨损来修改每天的写入分类、逻辑存储容量和/或与存储驱动器204相关联的过度配置的量。然后,驱动器重组模块303可以基于RAID阵列304内的存储驱动器204的每日写入分类(如图6所示)或其逻辑存储容量(如图7所示)来重组存储驱动器204。因此,根据本发明的系统和方法可以监控存储驱动器204的不同特性,基于它们的特性对存储驱动器204重新分类,以及在存储驱动器204已经被重新分类之后重新组织存储驱动器204。将结合图8至图13更详细地描述可以实现这点的方式。
图8是示出可以包括在驱动器监控模块300内的不同子模块的高级框图。驱动器监控模块300和相关联的子模块可以在硬件、软件、固件或其组合中实现。驱动器监控模块300和相关联的子模块以示例而非限制的方式呈现。在不同实施例中,可以提供更多或更少的子模块。例如,一些子模块的功能性可以组合成单个或更少数量的子模块,或者单个子模块的功能性可以分布在几个子模块上。
如图所示,驱动器监控模块300包括老化监控模块800、磨损监控模块802和过度配置监控模块804中的一个或多个。老化监控模块800可以被配置为监控存储环境中的存储驱动器204的老化。在某些实施例中,这可以通过检测存储驱动器204何时新安装在存储环境中并且然后从该点向前跟踪存储驱动器204在存储环境中的时间量来完成。
相比之下,损耗监视模块802可以监视存储环境中的存储驱动器204的损耗。在某些实施例中,可以根据存储驱动器204的使用来确定磨损,诸如在存储驱动器204的寿命期间已被驱动到存储驱动器204的I/O的量,存储驱动器204已经活动的时间量、存储驱动器204在其使用期间已经与其相关联的存储组(例如,RAID阵列304、存储层或工作负荷),和/或类似物。
过度配置监控模块804可以被配置为监控在存储驱动器204内存在的过度配置的量。某些存储驱动器204(如固态存储驱动器204(SSD))可以具有其专用于存储数据的总存储容量的一定百分比,并且剩余百分比以“过度配置”的形式保持空闲。”这种过度配置通常改善性能并且增加固态存储驱动器204的寿命。随着固态存储驱动器204老化和/或磨损,固态存储驱动器204内的存储元件可能变坏,这进而可能减少存储驱动器204内的过度配置的量。这可以降低固态存储驱动器204的性能和/或寿命。
图9是示出可以包括在先前描述的驱动器重新分类模块302内的不同子模块的高级框图。如图所示,驱动器重新分类模块302可以包括性能等级调整模块900、每天写入调整模块902和尺寸/过度配置调整模块904中的一个或多个。性能等级调整模块900可以被配置为根据由驱动器监控模块300检测的存储驱动器204的特性(例如,老化和/或磨损)来调整存储驱动器204的性能等级。在某些实施例中,性能等级调整模块900可以在各个离散步骤中调整性能等级。例如,性能等级调整模块900可以取决于存储驱动器204的老化或磨损而将性能等级从性能等级A减少到性能等级B以及从性能等级B减少到性能等级C。
每日写入调整模块902可以用于调整与存储驱动器204相关联的每日写入分类。基于与存储驱动器204相关联的过载设置的年龄、损耗和/或量,每天写入调整模块902可以减少与存储驱动器204相关联的每天写入分类。在某些实施例中,这可以在离散步骤中发生。例如,每天的写入分类可从第一级别(例如,200GB/天)下降到第二级别(150GB/天),然后从第二级别到第三级别(例如,100GB/天),等等,在不同离散步骤中,取决于与存储驱动器204相关联的特性(例如,过度配置的量、年龄等)。
尺寸/过度配置调整模块904可以被配置成用于调整与存储驱动器204相关联的逻辑存储容量和/或过度配置的量。如上所述,随着存储驱动器204(例如,固态存储驱动器204)老化或被利用,存储驱动器204中的扇区或存储元件可能变差。当存储驱动器204内的过度配置的量减小到某个水平或阈值时,尺寸/过度配置调整模块904可以调整存储驱动器204中的逻辑存储容量和/或过度配置的量。例如,尺寸/过度配置调整模块904可以减小存储驱动器204的逻辑存储容量,以便增加过度配置的量。这可以改善存储驱动器204的性能和/或增加存储驱动器204的使用寿命。在某些实施例中,这可以在不同的离散步骤中发生。例如,尺寸/过度配置调整模块904可以在存储驱动器204老化和/或磨损时以不同离散步长将存储驱动器204的逻辑存储容量从大小A(例如,900GB)减小到大小B(例如,800GB)、从大小B减小到大小C(例如,700GB)等。如下文将更详细解释的,在某些情况下,当存储驱动器204的逻辑存储容量减小时,一些数据可能需要从存储驱动器204迁移离开以促进逻辑存储容量的减小。
参见图10,图示了示出用于基于驱动器特性来重组存储驱动器204的方法1000的一个实施例的流程图。该方法1000旨在广泛地涵盖图11至13中所示的更具体的方法。
如图所示,方法1000初始确定1002是否到了重新分类和重新组织存储环境内的存储驱动器204的时机。在某些实施例中,旨在周期性地执行方法1000,如每周、每月、或每若干月。步骤1002可经配置以确定是否应执行方法1000和何时应执行方法1000。
如果有重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1000确定(1004)存储环境中的存储驱动器204的驱动器特性,诸如老化、损耗、过度配置的量等。在某些实施例中,一旦观察到某些特性,方法1000实际上修改驱动特性。例如,在存储驱动器204中的过度配置的量下降到低于指定水平的情况下,方法1000可以减少逻辑存储容量,从而增加存储驱动器204的过度配置的量。
方法1000然后基于所确定的特性对存储环境内的存储驱动器204重新分类1008。例如,如果存储驱动器204已经达到某个年龄,则方法1000可以将存储驱动器204从性能等级A重新分类(1008)到性能等级B,或从性能等级B重新分类(1008)到性能等级C。在另一示例中,如果存储驱动器204已达到特定寿命或磨损量,则方法1000可将存储驱动器204从第一每天写入分类重新分类(1008)到第二每天写入分类。在又一示例中,如果存储驱动器204已达到特定寿命或磨损量,则方法1000可将存储驱动器204从具有第一逻辑存储容量重新分类(1008)至具有第二逻辑存储容量。
方法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来实现。
参见图11,示出了用于基于存储驱动器204的性能等级来重组存储驱动器204的方法1100的一个实施例。如果在步骤1102处到了重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1100确定(1104)存储环境中的存储驱动器204的老化。然后方法1100降低(1106)其年龄已经达到指定阈值的存储驱动器204的性能等级。例如,一旦具有三年预计寿命的存储驱动器204已经达到一岁,就可以将其从性能等级A减少(1106)到性能等级B。当相同的存储驱动器204已经达到两岁时,可以将其从性能等级B减少(1106)到性能等级C。
方法1100然后确定(1108)存储环境中不同存储组(例如,RAID阵列304、存储层、支持某些工作负荷的存储驱动器204等)的要求。例如,方法1100可以确定存储环境中的第一RAID阵列304或存储层需要更高性能,并且因此更高性能的存储驱动器204和存储环境中的第二RAID阵列304或存储层可以利用更低性能的存储驱动器204。基于存储组的要求和存储驱动器204的特性,方法1100在存储组内重新组织(1110)存储驱动器204。例如,方法1100可以尽可能多地将相同性能等级的存储驱动器204放置在相同的存储组中。在某些实施例中,这可以通过使用智能重建过程交换RAID阵列304或存储层中的存储驱动器204来实现。
在某些实施例中,重新组织步骤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中。
参见图12,示出了用于基于存储驱动器的每天写入分类来重组存储驱动器的方法1200的一个实施例。如果在步骤1202处,到了重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1200确定(1204)存储环境中存储驱动器204的过度配置的年龄和/或量。然后,方法1200减少(1206)存储驱动器204的每日写入分类,所述存储驱动器的年龄或过度配置量已经达到指定阈值。例如,一旦存储驱动器204已经达到第一年龄(例如,一年)或指定量的过度配置(例如,小于百分之十的过度配置),存储驱动器204可以从级别1每日写入分类减少(1206)到级别2每日写入分类。类似地,一旦存储驱动器204已经达到第二年龄(例如,两年)或者再次达到指定量的过度配置,存储驱动器204可以从级别2写入/日分类减少(1206)到级别3写入/日分类。
然后,方法1200确定(1208)存储环境中不同存储组(例如,RAID阵列304、存储层、支持某些工作负荷的存储驱动器204等)的要求。例如,方法1200可以确定存储环境中的第一RAID阵列304或存储层需要较高的性能,并且因此较高每天写入分类的存储驱动器204和存储环境中的第二RAID阵列304或存储层可以利用具有较低每天写入分类的存储驱动器204。基于存储组的要求和存储驱动器204的每天写入分类,方法1200在存储组内重新组织(1210)存储驱动器204。例如,方法1200可以尽可能多地将每天相同写入分类的存储驱动器204放置在相同存储组中。在某些实施例中,这可以通过使用智能重建过程交换RAID阵列304或存储层中的存储驱动器204来实现。在某些实施例中,重组步骤1210可以以与结合图11所描述的重组步骤1110大致相同的方式工作。
参见图13,示出了用于基于存储驱动器的逻辑存储容量来重组存储驱动器的方法1300的一个实施例。如果在步骤1302处到了重新分类和重新组织存储环境内的存储驱动器204的时机,则方法1300确定(1304)存储环境中的存储驱动器204的年龄。方法1300然后基于存储驱动器204的年龄确定(1306)逻辑存储容量的适当减小和存储驱动器204的过度配置的量的增加。如果存储驱动器204包含超过新确定的逻辑存储容量中可以容纳的数据量的数据量,则方法1300将数据从存储驱动器204迁移(1308)到另一位置。存储驱动器204然后可以被重新配置以使释放的逻辑存储容量专用于过度配置。方法1300然后根据在步骤1306确定的量减小(1310)逻辑存储容量并且增加(1310)存储驱动器204中的过度配置的量。
然后,方法1300在存储组(例如,RAID阵列304、存储层等)内重新组织(1310)存储驱动器204。例如,方法1300可以尽可能将相同逻辑存储容量的存储驱动器204放置在相同的存储组中。在某些实施例中,这可以通过使用智能重建过程交换存储组中的存储驱动器204来实现。在某些实施例中,重组步骤1310可以与结合图11和12所描述的重组步骤1110、1210大致相同的方式工作。
附图中的流程图和/或框图示出了根据本发明的不同实施例的系统、方法和计算机可用介质的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应注意,在一些替代实现方式中,框中所标注的功能可以不以图中所标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以由执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以由专用硬件与计算机指令的组合来实现。

Claims (20)

1.一种用于动态地更改多个存储驱动器的性能等级的方法,所述方法包括:
在存储环境内监视多个存储驱动器的特性,每个存储驱动器具有与其相关联的性能等级;
周期性地执行以下步骤:
基于所述特性,修改所述存储驱动器的所述性能等级;以及
基于不同存储组内的存储驱动器的性能等级来重组所述存储驱动器。
2.如权利要求1所述的方法,其中该存储组是RAID阵列。
3.如权利要求1所述的方法,其中该存储组是分层存储环境中的存储层。
4.如权利要求1所述的方法,其中,所述存储组是被配置成用于支持某个I/O工作负荷的存储驱动器组。
5.如权利要求1所述的方法,其中,监测特性包括监测所述存储驱动器的年龄。
6.如权利要求1所述的方法,其中,监测特性包括监测所述存储驱动器的磨损。
7.如权利要求1所述的方法,其中,重组该存储驱动器包括将相同性能等级的存储驱动器尽可能多地放置在相同的存储组中。
8.一种用于动态地更改多个存储驱动器的性能等级的计算机程序产品,所述计算机程序产品包括计算机可读介质,所述计算机可读介质具有在其中体现的计算机可用程序代码,所述计算机可用程序代码被配置为在由至少一个处理器执行时执行以下各项:
在存储环境内监视多个存储驱动器的特性,每个存储驱动器具有与其相关联的性能等级;
周期性地执行以下步骤:
基于所述特性,修改所述存储驱动器的所述性能等级;以及
基于不同存储组内的存储驱动器的性能等级来重组所述存储驱动器。
9.如权利要求8所述的计算机程序产品,其中,所述存储组是RAID阵列。
10.如权利要求8所述的计算机程序产品,其中,所述存储组是分层存储环境中的存储层。
11.如权利要求8所述的计算机程序产品,其中,所述存储组是被配置为支持特定I/O工作负荷的存储驱动器的组。
12.如权利要求8所述的计算机程序产品,其中,监测特性包括监测所述存储驱动器的年龄。
13.如权利要求8所述的计算机程序产品,其中,监测特性包括监测所述存储驱动器的磨损。
14.如权利要求8所述的计算机程序产品,其中,重组所述存储驱动器包括将相同性能等级的存储驱动器尽可能多地放置在相同的存储组中。
15.一种用于动态地更改多个存储驱动器的性能等级的系统,所述系统包括:
至少一个处理器;
至少一个存储器装置,其耦合到所述至少一个处理器且存储用于在所述至少一个处理器上执行的指令,所述指令致使所述至少一个处理器:
在存储环境内监视多个存储驱动器的特性,每个存储驱动器具有与其相关联的性能等级;
周期性地执行以下步骤:
基于所述特性,修改所述存储驱动器的所述性能等级;以及
基于不同存储组内的存储驱动器的性能等级来重组所述存储驱动器。
16.如权利要求15所述的系统,其中,所述存储组是RAID阵列。
17.如权利要求15所述的系统,其中,所述存储组是分层存储环境中的存储层。
18.如权利要求15所述的系统,其中,所述存储组是被配置为支持特定I/O工作负荷的存储驱动器的组。
19.如权利要求15所述的系统,其中,监测特性包括监测所述存储驱动器的年龄。
20.如权利要求15所述的系统,其中,监测特性包括监测所述存储驱动器的磨损。
CN202080035143.XA 2019-06-26 2020-06-11 存储驱动器的动态性能等级调整 Pending CN113811861A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/454,029 2019-06-26
US16/454,029 US11163482B2 (en) 2019-06-26 2019-06-26 Dynamic performance-class adjustment for storage drives
PCT/IB2020/055480 WO2020261020A1 (en) 2019-06-26 2020-06-11 Dynamic performance-class adjustment for storage drives

Publications (1)

Publication Number Publication Date
CN113811861A true CN113811861A (zh) 2021-12-17

Family

ID=74043286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080035143.XA Pending CN113811861A (zh) 2019-06-26 2020-06-11 存储驱动器的动态性能等级调整

Country Status (6)

Country Link
US (1) US11163482B2 (zh)
JP (1) JP7558208B2 (zh)
CN (1) CN113811861A (zh)
DE (1) DE112020003064T5 (zh)
GB (1) GB2599322B (zh)
WO (1) WO2020261020A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240001414A (ko) * 2022-06-27 2024-01-03 삼성전자주식회사 복수의 ssd를 포함하는 스토리지 시스템 및 그것의 운용 방법

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4343578B2 (ja) 2003-05-08 2009-10-14 株式会社日立製作所 ストレージ運用管理システム
US7263583B2 (en) 2004-10-05 2007-08-28 International Business Machines Corporation On demand, non-capacity based process, apparatus and computer program to determine maintenance fees for disk data storage system
ATE488009T1 (de) 2006-03-31 2010-11-15 Mosaid Technologies Inc Flash-speichersystem-steuerverfahren
US8429677B2 (en) 2007-04-19 2013-04-23 Microsoft Corporation Composite solid state drive identification and optimization technologies
CN101452369B (zh) 2007-11-29 2012-01-25 国际商业机器公司 用于控制usb大容量存储设备的逻辑单元的方法和系统
US9652352B1 (en) 2011-03-08 2017-05-16 EMC IP Holding Company LLC Techniques for storage capacity configuration
EP2715510B1 (en) 2011-05-24 2018-05-02 Marvell World Trade Ltd. Method for storage devices to achieve low write amplification with low over provision
US8683162B2 (en) 2011-06-08 2014-03-25 Hitachi, Ltd. Computer system and method of managing storage system monitoring access performance for risky pool detection
US9298603B2 (en) 2011-09-09 2016-03-29 OCZ Storage Solutions Inc. NAND flash-based storage device and methods of using
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
JP2013182402A (ja) 2012-03-01 2013-09-12 Nec Corp 情報制御装置、情報保存装置、情報処理システム、及び、情報制御方法
US20140052925A1 (en) 2012-08-17 2014-02-20 Dell Products L.P. System and method for write-life extension of storage resources
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
JP5583227B1 (ja) 2012-09-21 2014-09-03 株式会社東芝 物理ブロック間でデータをコピーするディスクアレイ装置、ディスクアレイコントローラ及び方法
US9141532B2 (en) 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9747034B2 (en) 2013-01-15 2017-08-29 Xiotech Corporation Orchestrating management operations among a plurality of intelligent storage elements
US9235486B1 (en) 2013-09-30 2016-01-12 Symantec Corporation Techniques for spare storage pool management
CA2867589A1 (en) 2013-10-15 2015-04-15 Coho Data Inc. Systems, methods and devices for implementing data management in a distributed data storage system
US9916096B2 (en) 2014-02-05 2018-03-13 International Business Machines Corporation Increasing data storage capacity
CA2881206A1 (en) 2014-02-07 2015-08-07 Andrew WARFIELD Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices
US9760482B2 (en) * 2014-10-28 2017-09-12 Toshiba Memory Corporation Reconstruct drive for dynamic resizing
US9846541B2 (en) 2014-12-11 2017-12-19 Toshiba Memory Corporation Memory system for controlling perforamce by adjusting amount of parallel operations
US20160328179A1 (en) * 2015-05-08 2016-11-10 Micron Technology, Inc. Multiple virtually over-provisioned, virtual storage devices created from a single physical storage device
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
KR102401600B1 (ko) 2015-08-31 2022-05-25 삼성전자주식회사 데이터 양에 기초하여 복수의 데이터 스트림을 관리하도록 구성되는 스토리지 장치
US10296232B2 (en) 2015-09-01 2019-05-21 Western Digital Technologies, Inc. Service level based control of storage systems
JP6515752B2 (ja) 2015-09-07 2019-05-22 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム
US9921912B1 (en) 2015-09-30 2018-03-20 EMC IP Holding Company LLC Using spare disk drives to overprovision raid groups
US11385797B2 (en) 2015-10-05 2022-07-12 Micron Technology, Inc. Solid state storage device with variable logical capacity based on memory lifecycle
US9858148B2 (en) 2015-11-22 2018-01-02 International Business Machines Corporation Raid data loss prevention
WO2017090176A1 (ja) 2015-11-27 2017-06-01 株式会社日立製作所 ストレージシステム
CA2957584A1 (en) 2016-02-12 2017-08-12 Coho Data, Inc. Methods, systems, and devices for adaptive data resource assignment and placement in distributed data storage systems
US9524111B1 (en) 2016-03-07 2016-12-20 FittedCloud, Inc. Devices, systems, apparatus, and methods for transparent and automated optimization of storage resource allocation in a cloud services system
US10410738B2 (en) 2016-03-15 2019-09-10 Toshiba Memory Corporation Memory system and control method
US20170277629A1 (en) 2016-03-25 2017-09-28 Alibaba Group Holding Limited Extending the useful lifespan of nonvolatile memory
US10324633B2 (en) 2016-03-31 2019-06-18 EMC IP Holding Company LLC Managing SSD write quotas in data storage systems
US9830107B2 (en) 2016-04-29 2017-11-28 Netapp, Inc. Drive wear-out prediction based on workload and risk tolerance
US11513692B2 (en) 2016-06-30 2022-11-29 EMC IP Holding Company LLC Arranging SSD resources based on estimated endurance
US9842060B1 (en) 2016-07-13 2017-12-12 Seagate Technology Llc Cache over-provisioning in a data storage device
US9818476B1 (en) 2016-07-25 2017-11-14 Samsung Electronics Co., Ltd. Reprogram without erase using capacity in multi-level NAND cells
JP6870246B2 (ja) 2016-09-07 2021-05-12 富士通株式会社 ストレージ装置、及びストレージ制御装置
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10284231B2 (en) 2017-06-01 2019-05-07 Seagate Technology, Llc Adaptive outer code for consistent overprovisioning (OP) level
CN109213618B (zh) 2017-06-30 2022-04-12 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN107515731B (zh) 2017-07-31 2019-12-24 华中科技大学 一种基于固态盘的进化存储系统及其工作方法
US20190044809A1 (en) 2017-08-30 2019-02-07 Intel Corporation Technologies for managing a flexible host interface of a network interface controller
US10726930B2 (en) 2017-10-06 2020-07-28 Western Digital Technologies, Inc. Method and system for a storage (SSD) drive-level failure and health prediction leveraging machine learning on internal parametric data
US10642517B2 (en) 2018-02-02 2020-05-05 Western Digital Technologies, Inc. Adjustable performance parameters for SSDs
US11132133B2 (en) 2018-03-08 2021-09-28 Toshiba Memory Corporation Workload-adaptive overprovisioning in solid state storage drive arrays
US10956058B2 (en) * 2018-08-03 2021-03-23 Western Digital Technologies, Inc. Tiered storage system with tier configuration by peer storage devices

Also Published As

Publication number Publication date
US11163482B2 (en) 2021-11-02
DE112020003064T5 (de) 2022-03-17
JP2022538028A (ja) 2022-08-31
GB2599322A (en) 2022-03-30
JP7558208B2 (ja) 2024-09-30
US20200409590A1 (en) 2020-12-31
WO2020261020A1 (en) 2020-12-30
GB2599322B (en) 2023-02-08

Similar Documents

Publication Publication Date Title
US9378093B2 (en) Controlling data storage in an array of storage devices
US10082965B1 (en) Intelligent sparing of flash drives in data storage systems
CN107220148B (zh) 针对独立磁盘冗余阵列的重建方法和设备
US20150286531A1 (en) Raid storage processing
US8341349B2 (en) System and method for loose coupling between raid volumes and drive groups
JP7459146B2 (ja) ストレージ・ドライブの動的な論理ストレージ容量調節
US20200394112A1 (en) Reducing incidents of data loss in raid arrays of differing raid levels
US11157361B2 (en) Efficient utilization of storage space in arrays of storage drives
CN109725838B (zh) 用于管理多个盘的方法、装置以及计算机可读介质
US10740020B2 (en) Method, device and computer program product for managing disk array
CN113641303A (zh) 用于故障弹性存储的系统、方法和设备
US10929037B2 (en) Converting a RAID to a more robust RAID level
JP7558208B2 (ja) ストレージ・ドライブの動的パフォーマンス・クラス調節
US10768822B2 (en) Increasing storage capacity in heterogeneous storage arrays
US11748196B2 (en) Adaptive parity rotation for redundant arrays of independent disks
US11442826B2 (en) Reducing incidents of data loss in raid arrays having the same raid level
US20200394096A1 (en) Reporting incidents of data loss in raid arrays
JP2015052853A (ja) ストレージ制御装置、制御方法及びプログラム
CN113811846B (zh) 存储驱动器的动态每天写入调整
US11513712B2 (en) Method for storage management, device and computer program product
CN115087962A (zh) 用于全跨度降级的抢先升级
US10175888B2 (en) Performance-balanced heterogeneous raid

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination