CN111857554B - Raid冗余级别的自适应改变 - Google Patents
Raid冗余级别的自适应改变 Download PDFInfo
- Publication number
- CN111857554B CN111857554B CN201910360753.6A CN201910360753A CN111857554B CN 111857554 B CN111857554 B CN 111857554B CN 201910360753 A CN201910360753 A CN 201910360753A CN 111857554 B CN111857554 B CN 111857554B
- Authority
- CN
- China
- Prior art keywords
- raid
- storage
- redundancy level
- blocks
- redundancy
- 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.)
- Active
Links
- 230000008859 change Effects 0.000 title claims description 15
- 230000003044 adaptive effect Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000007726 management method Methods 0.000 claims abstract description 10
- 230000001960 triggered effect Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk 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)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例提供了一种存储管理方法、电子设备和计算机程序产品。该方法包括:检测针对RAID集合的冗余级别调整的触发,其中RAID集合中的每个RAID包括一个或多个RAID块,每个RAID块由来自存储块集合中的多个存储块组成,存储块集合通过将多个存储盘划分成存储块得到,上述多个存储块位于多个存储盘中的不同存储盘。该方法还包括:响应于检测到触发,在RAID集合中选择要调整冗余级别的目标RAID。该方法进一步包括:将目标RAID从第一冗余级别调整到第二冗余级别。本公开的实施例可以改进RAID存储系统的性能。
Description
技术领域
本公开的实施例一般地涉及计算机系统或存储系统,并且更特别地,涉及一种存储管理方法、电子设备和计算机程序产品。
背景技术
在当前的存储系统中,存储盘可以被组织成存储块池,以用于管理存储盘容量。在存储块池中,每个存储盘被划分成相同大小的存储块(extent)。通常,存储块的大小可以是若干吉字节(GB)或数十GB。映射的独立盘冗余阵列(mapped RAID)是RAID组的子类别,其基于存储块而不是存储盘来实施RAID算法。在映射的RAID中,使用的RAID算法与传统的RAID可以是相同的。下文中,在不造成混淆的情况下,映射的RAID也可以简称为RAID。
然而,以存储块组成的RAID为基础的存储系统还存在各种缺陷和不足,在许多场景下无法满足存储系统的性能要求,进而导致不良的用户体验。
发明内容
本公开的实施例涉及一种存储管理方法、电子设备和计算机程序产品。
在本公开的第一方面,提供了一种存储管理方法。该方法包括:检测针对RAID集合的冗余级别调整的触发,其中RAID集合中的每个RAID包括一个或多个RAID块,每个RAID块由来自存储块集合中的多个存储块组成,存储块集合通过将多个存储盘划分成存储块得到,上述多个存储块位于多个存储盘中的不同存储盘。该方法还包括:响应于检测到触发,在RAID集合中选择要调整冗余级别的目标RAID。该方法进一步包括:将目标RAID从第一冗余级别调整到第二冗余级别。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使得电子设备:检测针对RAID集合的冗余级别调整的触发,其中RAID集合中的每个RAID包括一个或多个RAID块,每个RAID块由来自存储块集合中的多个存储块组成,存储块集合通过将多个存储盘划分成存储块得到,上述多个存储块位于多个存储盘中的不同存储盘。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使得电子设备:响应于检测到触发,在RAID集合中选择要调整冗余级别的目标RAID。至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备:将目标RAID从第一冗余级别调整到第二冗余级别。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了本公开的实施例可以在其中被实现的示例性存储系统的示意图。
图2示出了根据本公开的实施例的存储管理方法的示意性流程图。
图3示出了根据本公开的实施例的改变RAID类型的示意图。
图4示出了一种可以被用来实施本公开的实施例的设备的示意性框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
图1示出了本公开的实施例可以在其中被实现的示例性存储系统100的示意图。如图1所示,存储系统100可以包括处理器110和存储结构105,其中处理器110用于执行与存储系统100有关的操作,例如输入/输出(I/O)操作、控制操作、管理操作,等等。更一般地,在必要的硬件和软件的配合下,处理器110可以执行与存储系统100有关的任何操作。另外,存储结构105用于以适当的方式来组织和管理存储系统100的存储资源,例如各种物理存储盘,等等。
作为一种示例性的组织方式,如所示出的,存储系统100的存储盘112至122可以被划分成相同大小的存储块。以存储盘120为例,其被划分成存储块120-1至120-6。以相同的方式,存储盘112至118和存储盘122也可以划分成与存储块120-1至120-6大小相同的多个存储块。所有这些存储块的集合115也可以称为存储块池115。将理解,尽管图1中示出了特定数目的存储盘,每个存储盘被划分成特定数目的存储块,但这仅是示例性的,无意以任何方式限制本公开的范围。在其他实施例中,存储系统100可以包括任何数目的存储盘,每个存储盘可以划分成任何数目的存储块。
如上文提到的,RAID算法可以通过存储块来实施。换言之,RAID算法使用的资源单位可以从传统意义上的存储盘改变为存储块(即,存储盘的一部分)。作为示例,图1中示出了在存储块池115之上创建的RAID集合130,其示例性地包括三个RAID 130-1、130-2和130-3。每个RAID包括一个或多个RAID块(RAID extent)。以RAID 130-1为例,其包括三个RAID块132、134和136。RAID块是由来自存储块集合115中的存储块组成的条带,存储块的数目与RAID的宽度相等。每个RAID块中的多个存储块位于多个存储盘112至122中的不同存储盘。类似地,在图1的示例中,RAID 130-2包括两个RAID块,而RAID 130-3包括四个RAID块。
将理解,尽管图1中将RAID集合130示出为包括特定数目的RAID,每个RAID包括特定数目的RAID块,每个RAID块包括特定数目的存储块,但这些特定数目仅是示例性的,无意以任何方式限制本公开的范围。在其他实施例中,基于存储块池115的RAID集合可以包括任何数目的RAID,每个RAID可以包括任何数目的RAID块,每个RAID块可以包括任何数目的存储块。
在一些实施例中,存储系统100中通过存储结构105来组织并管理的存储盘112至122可以包括各种类型的具有存储功能的设备,包括但不限于,硬盘(HDD)、固态盘(SSD)、可移除盘、紧致盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘、串行附接小型计算机系统接口(SCSI)存储盘(SAS)、串行高级技术附接(SATA)存储盘、任何其他磁性存储设备和任何其他光学存储设备、或它们的任何组合。
类似地,存储系统100的处理器110可以包括任何实现控制功能的设备,包括但不限于,专用计算机、通用计算机、通用处理器、微处理器、微控制器、或状态机。处理器110还可以实施为个体的计算设备或计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核心、或者任何其他这样的配置。
应当理解,图1仅示意性地示出了存储系统100中的与本公开的实施例相关的单元、模块或组件。在实践中,存储系统100还可以包括用于其他功能的其他单元、模块或组件。因此,本公开的实施例不限于图1所描绘的具体设备、单元、模块或组件,而是一般性地适用于任何基于RAID技术的存储系统。
如上文指出的,以存储块组成的RAID为基础的存储系统还存在各种缺陷和不足,在许多场景下无法满足存储系统的性能要求,进而导致不良的用户体验。例如,传统的存储系统要求存储块池和其上所创建的RAID具有相同的RAID类型。也就是说,如果在某个存储块池中存在某种类型的RAID(例如,RAID 5),则该存储块池中创建的所有RAID均要求是该类型。这意味着,当传统的存储块池和RAID被创建时,RAID类型就将被指定,在被创建之后不能改变RAID类型。此外,在整个存储块池中,仅能存在一种RAID类型。传统存储系统的该技术现状和技术要求将导致一些问题。
首先,存储系统的不同用户数据可能要求不同的可靠性。尽管用户数据的可靠性总是越高越好,但是存储系统仍然需要在存储可靠性、存储系统性能和存储盘利用率等因素之间进行权衡。因此,更重要的用户数据可能需要使用具有更高可靠性的RAID类型来存储。然而,传统存储块池仅支持一种RAID类型,也就仅提供了一种可靠性。由此造成的一种不便情形是,仅仅因为RAID类型的限制而需要将不同的用户数据存储到不同的存储块池中。
另外,用户数据的可靠性要求可能会发生变化。由此可能导致的情况是,具有较低可靠性要求的用户数据可能被存储在可靠性非常高的三路镜像RAID类型中,该RAID类型尽管提供高可靠性但占用更大的存储空间,这实际上浪费了存储系统的存储容量。另一方面,具有较高可靠性要求的用户数据可能存储在完全不具有数据冗余的RAID类型(例如,RAID0)中,这使得用户数据遭受较大的丢失风险。由此可见,传统的存储块池和RAID无法满足用户数据的多种可靠性要求。
再者,当存储系统无差错地良好运行时,存储块池中的备用存储块将保持空闲。事实上,在存储系统的系统资源(诸如CPU、存储器、存储空间)允许的情况下,利用这些备用存储块可以提供更高的可靠性保证。然而,归因于传统存储系统中的RAID类型的上述限制,存储系统的空闲系统资源将始终保持空闲,没有得到充分利用,这也是一种浪费。
鉴于传统方案中存在的上述问题以及潜在的其他问题,本公开的实施例提出了一种存储管理方法、电子设备和计算机程序产品,以使得RAID的冗余级别可以与用户数据的可靠性要求相匹配。本公开的实施例的基本思想是,通过自适应地改变RAID的冗余级别,而使用空闲的存储块来提供额外的数据冗余。具体地,本公开的实施例可以允许存储系统基于其工作状态和存储空间利用率等因素,通过改变RAID类型来动态地提高或降低RAID的冗余级别。
本公开的实施例可以向用户数据提供更加灵活的保护,其可以使用不同的RAID类型来存储具有不同重要程度的用户数据,而不限制于严格固定RAID类型。换言之,本公开的实施例可以在相同的存储块池中支持不同的RAID类型,从而避免了仅由于存储盘要设置成不同的RAID类型,而需要将存储盘划分到不同的存储块池中。此外,本公开的实施例与传统的存储系统设计是兼容的,因此是易于应用的。再者,本公开的实施例提供的RAID类型转换将不会影响到存储系统的I/O性能。总之,本公开的实施例可以改进RAID存储系统的性能。下面结合图2和图3来详细地描述本公开的一些示例实施例。
图2示出了根据本公开的实施例的存储管理方法200的流程图。在一些实施例中,方法200可以由存储系统100的处理器110或处理单元来实现,或者可以由存储系统100的各种具有处理功能或管理功能的单元或模块来实现。在其他实施例中,方法200也可以由独立于存储系统100的计算设备来实现,或者可以由存储系统100中的其他单元或模块来实现。下文将结合图1的存储系统100来讨论方法200。
在210处,处理器110检测针对RAID集合130的冗余级别调整的触发。也就是说,处理器110检测到需要针对RAID集合130或存储块池115来调整冗余级别。例如,处理器110可能从RAID集合130的用户接收到执行冗余级别调整的指示。如本文使用的,RAID集合130的“用户”不仅是指使用RAID集合130或存储系统100的真实的使用者,也可以是指RAID集合130的上层组件。换言之,使用RAID集合130或存储系统100的使用者可能要求调整RAID集合130中的一个或多个RAID的冗余级别。此外,RAID集合130的上层组件也可能向处理器110发送请求以调整RAID集合130中的一个或多个RAID的冗余级别。
除了用户发出的明确指示以外,处理器110还可以基于存储系统100的工作状态或存储空间利用率等来自主地触发RAID集合130中的一个或多个RAID的冗余级别调整。例如,处理器110可以基于存储系统100的工作状态来动态地调整RAID集合130中的一个或多个RAID的冗余级别。具体地,存储系统100的工作状态可以包括存储系统100的工作负荷和多个存储盘112至122的健康状态。例如,当存储系统100的工作负荷较低(例如,低于阈值)并且一些存储盘具有较高(例如,高于阈值)的错误率时,处理器110可以选择RAID集合130中的一些或所有具有较低冗余级别的RAID来提升它们的冗余级别。相反地,如果存储系统100的工作负荷较高(例如,高于阈值)且所有存储盘健康状态良好(例如,好于阈值)的,则处理器110可以降低RAID集合130中的一些具有较高负荷的RAID的冗余级别,以释放存储块。
作为另一种示例,处理器110还可以基于多个存储盘112至122的存储空间利用率来动态地调整RAID集合130中的一个或多个RAID的冗余级别。如果多个存储盘112至122中的某些存储盘的存储空间利用率较低(例如,低于阈值),则处理器110可以提升一个或多个RAID的冗余级别。因为存储块池115中存在较多空闲的存储块,这样的提升是可能的,并且可以提供存储盘的空间利用率。另一方面,如果存储盘112至122的存储空间利用率较高(例如,高于阈值),则处理器110可以降低RAID集合130中的一个或多个RAID的冗余级别,以释放存储块。
因此,RAID集合130中的一个或多个RAID的冗余级别提升被触发的原因可能是,RAID集合130的用户向处理器110发送了提升冗余级别请求。另一种触发原因可能是,处理器110监测存储系统100的工作状态和存储空间利用率等,并且发现存储系统100的工作状态和存储空间利用率等满足了冗余级别提升的策略。也即,处理器110可以基于与存储系统100相关联的各种状态和条件,来确定存储系统100中的RAID的冗余级别需要被提升。
然而,应当指出,RAID冗余级别的提升需要存储系统100中的额外系统资源,诸如处理资源(诸如CPU)、内存资源和存储盘空间,等等。因此,如果存储系统100的处理资源负载或存储器负载较高(例如,高于阈值)或存储盘空间较少(例如,低于阈值)时,处理器110可以禁止提升RAID的冗余级别以防止存储系统100的性能下降。
另一方面,RAID集合130中的一个或多个RAID的冗余级别降低被触发的原因可能是,RAID集合130的用户向处理器110发送了降低冗余级别请求。另一种触发原因可能是,处理器110检测到存储块集合115中的空闲存储块将被耗尽。例如,随着存储系统100的存储空间利用率增加,空闲的存储块将变少。此外,如果发生存储盘故障和数据重建操作,空闲的存储块也将被分配并占用。在空闲存储块的数目减少到一定程度(例如,某个阈值)时,处理器110可以针对存储块集合115触发RAID冗余级别降低操作。
然而,在一些实施例中,RAID冗余级别的降低操作也具有一些限制,以便确保存储系统100存储的数据的可靠性不被影响。例如,该限制可以是不降低RAID的初始冗余级别。当RAID被创建时,其具有初始的RAID类型和冗余级别。为了保证RAID中存储的数据的可靠性,处理器110可以使RAID的冗余级别不会改变为低于其初始的冗余级别。此外,当存储盘的健康状况恶化时(诸如I/O错误数增加),该存储盘上的RAID的冗余级别也不允许被降低。
在220处,如果检测到针对RAID集合130的冗余级别调整被触发,则处理器110在RAID集合130中选择要调整冗余级别的目标RAID。存在各种各样的方式从RAID集合130中选择要被调整冗余级别的目标RAID。换言之,在RAID集合130中选择要被调整调整冗余级别的目标RAID可以基于不同的规则。例如,在冗余级别调整由RAID集合130的用户指示的情况下,目标RAID可以基于用户所给出的信息,该信息明确指示要调整冗余级别的目标RAID。在这种情况下,用户发出的执行冗余级别调整的指示中可以同时带有目标RAID的标识符。
除此以外,目标RAID的选择还可以基于RAID集合130中的RAID的冗余级别、RAID集合130中的RAID中的RAID块的数目,等等。具体地,如果要提升RAID集合130中的RAID的冗余级别,则RAID集合130中当前具有最低冗余级别的RAID可以被选择作为目标RAID,因为其存储的数据在发生存储盘离线的情况下具有最高的不可用风险。另外,选择RAID集合130中具有最少RAID块的RAID作为目标RAID也是合理的,因为其冗余级别的提升将会消耗最少的空闲存储块,从而给存储系统100造成最小的影响。
相反,如果要降低RAID集合130中的RAID的冗余级别,则RAID集合130中当前具有最高冗余级别的RAID可以被选择作为目标RAID,因为其存储的数据在发生存储盘离线的情况下具有最低的不可用风险。另外,选择RAID集合130中具有最多RAID块的RAID作为目标RAID也是合理的,因为其冗余级别的降低将会释放出最多的空闲存储块。在下文中,为了描述的方便,假设RAID 130-1被选择为要调整冗余级别的目标RAID。
在230处,处理器110将目标RAID 130-1从第一冗余级别调整到第二冗余级别。一般而言,RAID可以在多种RAID类型中选择使用某种RAID类型来实现。通过不同RAID类型所存储的数据具有不同的冗余度,并且可以容忍不同数目的故障存储块(或存储盘)。在一些实施例中,RAID的冗余级别可以表示RAID对故障存储块(或存储盘)的容忍度。因此,不同的RAID类型可以具有各自的冗余级别。这可以通过下面的表1来表示。
表1
冗余级别 | RAID类型 |
2 | 三路镜像,RAID 6 |
1 | 镜像(RAID1)、RAID 5 |
0 | RAID 0 |
如表1中所示,类型RAID 6具有较高的冗余级别2,RAID 1和RAID 5具有中等的冗余级别1,而RAID 0具有较低的冗余级别为0。将理解,这里示出的具体RAID类型和冗余级别的具体数值仅是示例性的,无意以任何方式限制本公开的实施例的范围。更一般地,本公开的实施例可以等同地适用于具有任何冗余级别的任何RAID类型。
因此,为了将目标RAID 130-1从第一冗余级别调整到第二冗余级别,处理器110可以将目标RAID 130-1从具有第一冗余级别的RAID类型改变到具有第二冗余级别的RAID类型,也即,通过改变目标RAID 130-1的RAID类型来调整其冗余级别。例如,为了将目标RAID130从冗余级别1提升到冗余级别2,则处理器110可以将目标RAID 130的类型从RAID 5改变为RAID 6。相反,为了将目标RAID 130从冗余级别2降低到冗余级别1,则处理器110可以将目标RAID 130的类型从RAID 6改变为RAID 5。
在各种实施例中,存储系统100可以支持在各种RAID类型之间的转换,例如RAID 0与RAID 1之间的转换、RAID 5与RAID 6之间的转换,等等。通常,基本的RAID类型转换操作是向RAID的每个RAID块中添加额外的用于存储校验数据的存储块,或者从RAID的每个RAID块中移除额外的用于存储校验数据的存储块。下面将参考图3以示例的方式来描述在4+1的RAID 5与4+2的RAID 6之间的RAID类型转换。
图3示出了根据本公开的实施例的改变RAID类型的示意图。在图3的示例中,RAID130-1包括RAID块132、RAID块134和RAID块136。RAID块132在类型为RAID 5时在其五个存储块中分别存储有数据D0-0、数据D0-1、数据D0-2、数据D0-3和校验数据P0,它们分别存储在存储盘112、114、120、118和122的存储块中。类似地,RAID块134在类型为RAID 5时在其五个存储块中分别存储有数据D1-0、数据D1-1、数据D1-2、数据D1-3和校验数据P1,它们分别存储在存储盘116、118、112、114和120的存储块中。RAID块136在类型为RAID 5时在其五个存储块中分别存储有数据D2-0、数据D2-1、数据D2-2、数据D2-3和校验数据P2,它们分别存储在存储盘114、122、118、116和112的存储块中。
在一些实施例中,总的来说,为了将目标RAID 130-1从RAID 5类型改变到RAID 6类型,处理器110可以针对目标RAID 130-1中的每个RAID块132、134和136,将新存储块116-1、122-2和120-4分别添加到RAID块132、134和136。然后,处理器110可以利用RAID块132、134和136中的原始存储块的数据来重建新存储块116-1、122-2和120-4的数据。以此方式,可以确保目标RAID 130-1中的每个RAID块132、134和136在冗余级别提升之后可以正常地用于存储数据。
更具体地,在执行上述提升过程之前,在处理器110确定将要调整到的第二冗余级别高于当前的第一冗余级别的情况下,也即需要提升目标RAID 130-1的冗余级别时,由于提升RAID 130-1的冗余级别需要消耗存储块池115中的空闲存储块,所以处理器110可以检查存储块池115中的空闲存储块是否足够用于执行RAID 130-1的冗余级别提升,以保证冗余级别的提升可以完成。例如,处理器110可以确定存储块池115中的空闲存储块的第一数目是否大于目标RAID 130-1中的RAID块132、134和136的第二数目(在该示例中,该数目为3)。
如果第一数目大于第二数目,则意味着存储块池115中的空闲存储块足够用于提升目标RAID 130-1的冗余级别。因此,处理器110可以将目标RAID 130-1从具有第一冗余级别的第一类型改变到具有第二冗余级别的第二类型。相反地,如果存储块池115中的空闲存储块不足以执行目标RAID 130-1的冗余级别提升,则处理器110可以重新选择RAID集合130中的其他RAID作为目标RAID。通过这样的方式,可以有利地确保RAID冗余级别的提升操作能够成功完成,从而有效地避免由于提升操作的中止而浪费资源。
在存储块池115中存在足够空闲存储块的情况下,处理器110可以向目标RAID130-1中的每个RAID块132、134和136分配存储块。注意,向RAID块132、134和136分配存储块可能需要遵守基本规则,即RAID块132、134和136中的存储块必须位于不同的存储盘中。例如,在图3的示例中,RAID块132的新存储块116-1来自与存储有数据D0-0至D0-3和P0的存储盘不同的存储盘116,RAID块134的新存储块122-2来自与存储有数据D1-0至D1-3和P1的存储盘不同的存储盘122,并且RAID块136的新存储块120-4来自与存储有数据D2-0至D2-3和P2的存储盘不同的存储盘120。在选择了用于每个RAID块132、134和136的存储块116-1、122-2和120-4之后,这些存储块116-1、122-2和120-4的状态可以从空闲改变为已消耗。接着,处理器110可以启动目标RAID 130-1的类型转换。
当RAID 130-1的类型是从所示出的RAID 5转换到RAID 6时,从存储块池115中选择空闲的存储块116-1、122-2和120-4可以用作每个RAID块132、134和136的Q校验数据存储块。在修改RAID 130-1和存储块池115的相关元数据之后,处理器110可以触发针对转换后的RAID 130-1的数据重建操作,以填充Q校验数据存储块116-1、122-2和120-4。在完成所有RAID块132、134和136的转换之后,目标RAID 130-1的RAID类型才被改变。此后,目标RAID130-1可以使用新添加的存储块116-1、122-2和120-4来执行I/O操作。将理解,尽管这里使用RAID 5和RAID 6之间的转换进行说明,但是这仅是示例性的,无意以任何方式限制本公开的实施例。更一般地,本公开的实施例可以等同地适用于在任何两个RAID类型之间的转换。
在一些实施例中,对目标RAID 130-1的冗余级别提升操作可以实施为存储系统100的后台操作。通常,在存储系统100中还可能存在其他各种后台操作。在多个后台操作同时被触发时,存储系统100可以按照后台操作的优先级顺序来优先处理具有更高优先级的操作。下面将介绍几种可能发生在存储系统100中的示例后台操作。
在存储系统100中,如果存储盘112至122中的某个存储盘发生故障,则包括有故障存储盘中的存储块的RAID将会执行数据重建操作来恢复位于故障存储盘上的数据。这种操作可以称为数据重建操作。如果存储盘112至122中的某个存储盘即将发生故障,则存储系统100将会把该存储盘上的数据复制到其他的存储盘上。这种操作可以称为预先主动复制(PACO)操作。此外,如果不同存储盘112至122具有不同的存储空间利用率,则存储系统100将会执行置乱(shuffle)操作,将消耗的存储块平均分布到所有存储盘112至122中,从而使得存储盘112至122的存储空间利用率达到平衡。
上述数据重建操作、预先主动复制操作和置乱操作都需要存储盘112至122上具有空闲的存储块,以保证操作可以完成。因此,存储块集合115可以在每个存储盘112至122上预留一些空闲的存储块,从而上述各种操作可以使用这些空闲的存储块来转移数据。也就是说,除了用于存储用户数据需要占用存储块集合115中的空闲存储块之外,这些后台操作也可能消耗空闲存储块,并且可能释放出消耗的存储块而重新成为空闲存储块。一般而言,数据重建操作、预先主动复制操作和置乱操作等是基于优先级被执行的。在这三种操作中,数据重建操作具有最高的优先级,预先主动复制操作次之,而置乱操作的优先级最低。
如上文提到的,对RAID集合130中的一个或多个RAID的冗余级别的提升操作可能适合于在存储系统100的系统状况为健康并且具有足够的系统资源时执行,而数据重建操作、预先主动复制操作和置乱操作等的执行可能影响这些因素。因此,在一些实施例中,对RAID冗余级别的提升操作在所有的后台操作中可以具有最低的优先级。换言之,在执行目标RAID 130-1的冗余级别提升之前或期间,如果处理器110检测到要消耗存储块集合115中的空闲存储块的其他操作被触发,处理器110可以停止将目标RAID 130-1改变到第二类型。
然后,处理器110可以释放已经被用于执行目标RAID 130-1类型改变的存储块,以供优先级较高的其他操作来使用。以此方式,存储系统100中的优先级更高的操作不会受到RAID冗余级别提升操作的影响。此外,为了体现出冗余级别提升操作的最低优先级,存储系统100还可以通过冗余级别调整的策略的方式,来设定执行调整的条件和限制。在RAID冗余级别的提升操作被触发之后,处理器110可以首先检查所设定的条件和限制是否被满足。如果有任何条件或限制没有被满足,处理器110可以退出已经触发的冗余级别提升操作。
上文描述了提升目标RAID 130-1的冗余级别的实施例。在其他实施例中,目标RAID 130-1的冗余级别也可能需要被降低,也即处理器110可以将目标RAID 130-1从较高的第一冗余级别调整到较低的第二冗余级别。在这种情况下,与提升冗余级别相类似,处理器110可以将目标RAID 130-1从具有较高的第一冗余级别的第一类型改变到具有较低第二冗余级别的第二类型。通过目标RAID 130-1的冗余级别的降低,目标RAID 130-1可以释放出空闲的存储块,以供存储系统100的其他操作使用。
在一些实施例中,为了将目标RAID 130-1的类型改变到具有较低冗余级别的第二类型,总的来说,处理器110可以从目标RAID 130-1的每个RAID块132、134和136中移除存储校验数据的存储块。再次参考图3,以将目标RAID 130-1从RAID 6类型转换到RAID 5类型为例来描述该过程。具体地,在该过程中,处理器110可以选择目标RAID 130-1的每个RAID块132、134和136的Q校验数据存储块116-1、122-2和120-4。然后,处理器110可以修改目标RAID 130-1和存储块池115的元数据,以将存储Q校验数据的存储块116-1、122-2和120-4设置为空闲存储块。接着,处理器110可以将这些释放的空闲存储块116-1、122-2和120-4置零。
以此方式,在目标RAID 130-1的冗余级别降低之后,目标RAID 130-1中的每个RAID块中存储的数据将不会丢失。在目标RAID 130-1释放了存储块之后,被释放的存储块可以在重新分配给其他操作使用之前被置零,以方便其他操作的使用。将理解,尽管这里使用RAID 6和RAID 5之间的转换进行说明,但是这仅是示例性的,无意以任何方式限制本公开的实施例。更一般地,本公开的实施例可以等同地适用于在任何两个RAID类型之间的转换。
如上文提到的,在一些实施例中,对RAID冗余级别的提升操作在存储系统100的所有后台操作中可以具有最低的优先级。相反地,在一些实施例中,对RAID冗余级别的降低操作在存储系统100的所有后台操作中可以具有最高的优先级,因为其可以释放出空闲的存储块以供其他操作来使用。因此,本文中提到的各种后台操作可以按照优先级从高到低的顺序排列如下:冗余级别降低操作、数据重建操作、预先主动复制操作、置乱操作、以及冗余级别提升操作。相应地,在目标RAID 130-1的冗余级别降低操作被触发时,处理器110可以无需考虑其他被触发的后台操作,而直接执行目标RAID 130-1的冗余级别降低操作。此外,如上文提到的,RAID的冗余级别可能不允许降低到其初始的冗余级别。也就是说,目标RAID130-1被调整到的第二冗余级别需要保持在目标RAID 130-1的初始冗余级别以上,也即大于或等于初始冗余级别。如此,可以确保目标RAID 130-1所存储的用户数据的可靠性不会低于初始可靠性。
图4示意性地示出了一种可以被用来实施本公开的实施例的设备400的框图。如图4中所示出的,设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储设备(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储设备(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200可由处理单元401来执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序被加载到RAM 403并由CPU 401执行时,可以执行上文描述的方法200的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。
Claims (23)
1.一种存储管理方法,包括:
检测针对独立盘冗余阵列RAID集合的冗余级别调整的触发,其中所述RAID集合中的每个RAID包括一个或多个RAID块,每个RAID块由来自存储块集合中的多个存储块组成,所述存储块集合通过将多个存储盘划分成存储块得到,所述多个存储块位于所述多个存储盘中的不同存储盘,其中检测针对所述RAID集合的所述冗余级别调整的所述触发包括:处理器自主地检测到所述多个存储块中的至少一个存储块具有在第一阈值之上的错误率并且包括所述处理器和所述多个存储盘的存储系统的工作负荷已经达到第二阈值;
响应于检测到所述触发,在所述RAID集合中选择要调整冗余级别的目标RAID;以及
将所述目标RAID从第一冗余级别调整到第二冗余级别。
2.根据权利要求1所述的方法,其中将所述目标RAID从所述第一冗余级别调整到所述第二冗余级别包括:
响应于所述第二冗余级别高于所述第一冗余级别,
确定所述存储块集合中的空闲存储块的第一数目是否大于所述目标RAID中的RAID块的第二数目;以及
响应于所述第一数目大于所述第二数目,将所述目标RAID从具有所述第一冗余级别的第一类型改变到具有所述第二冗余级别的第二类型。
3.根据权利要求2所述的方法,其中将所述目标RAID改变到所述第二类型包括:
针对所述目标RAID中的每个RAID块,
将新存储块添加到所述RAID块;以及
利用所述RAID块中的原始存储块的数据来重建所述新存储块的数据。
4.根据权利要求2所述的方法,还包括:
响应于检测到要消耗所述空闲存储块的另外的操作的触发,停止将所述目标RAID改变到所述第二类型;以及
释放已经被用于执行所述改变的存储块。
5.根据权利要求1所述的方法,其中将所述目标RAID从所述第一冗余级别调整到所述第二冗余级别包括:
响应于所述第二冗余级别低于所述第一冗余级别,将所述目标RAID从具有所述第一冗余级别的第一类型改变到具有所述第二冗余级别的第二类型。
6.根据权利要求5所述的方法,其中将所述目标RAID的类型改变到所述第二类型包括:
从所述目标RAID的每个RAID块中移除存储校验数据的存储块。
7.根据权利要求5所述的方法,其中所述第二冗余级别在所述目标RAID的初始冗余级别以上。
8.根据权利要求1所述的方法,其中所述目标RAID基于以下至少一项被选择:指示所述目标RAID要调整冗余级别的信息、所述RAID集合中的RAID的冗余级别、以及所述RAID集合中的RAID中的RAID块的数目。
9.根据权利要求1所述的方法,其中检测针对所述RAID集合的冗余级别调整的触发包括:
从所述RAID集合的用户接收到执行所述冗余级别调整的指示。
10.根据权利要求1所述的方法,其中检测针对所述RAID集合的冗余级别调整的触发还包括:
确定所述多个存储盘的存储空间利用率已经达到第三阈值。
11.根据权利要求1所述的方法,其中自主地检测到包括所述处理器和所述多个存储盘的所述存储系统的所述工作载荷已经达到第三阈值包括检测到包括所述处理器和所述多个存储盘的所述存储系统的所述工作载荷低于所述第三阈值。
12.根据权利要求11所述的方法,其中在所述RAID集合中选择要调整冗余级别的目标RAID包括:选择所述RAID中具有较低冗余级别的至少一个RAID;并且
其中将所述目标RAID从所述第一冗余级别调整到所述第二冗余级别包括:将所述第一冗余级别调整到高于所述较低冗余级别的所述第二冗余级别。
13.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备:
检测针对独立盘冗余阵列RAID集合的冗余级别调整的触发,其中所述RAID集合中的每个RAID包括一个或多个RAID块,每个RAID块由来自存储块集合中的多个存储块组成,所述存储块集合通过将多个存储盘划分成存储块得到,所述多个存储块位于所述多个存储盘中的不同存储盘,其中检测针对所述RAID集合的所述冗余级别调整的所述触发包括:处理器自主地检测到所述多个存储块中的至少一个存储块具有在第一阈值之上的错误率并且包括所述处理器和所述多个存储盘的存储系统的工作负荷已经达到第二阈值;
响应于检测到所述触发,在所述RAID集合中选择要调整冗余级别的目标RAID;以及
将所述目标RAID从第一冗余级别调整到第二冗余级别。
14.根据权利要求13所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
响应于所述第二冗余级别高于所述第一冗余级别,
确定所述存储块集合中的空闲存储块的第一数目是否大于所述目标RAID中的RAID块的第二数目;以及
响应于所述第一数目大于所述第二数目,将所述目标RAID从具有所述第一冗余级别的第一类型改变到具有所述第二冗余级别的第二类型。
15.根据权利要求14所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
针对所述目标RAID中的每个RAID块,
将新存储块添加到所述RAID块;以及
利用所述RAID块中的原始存储块的数据来重建所述新存储块的数据。
16.根据权利要求14所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
响应于检测到要消耗所述空闲存储块的另外的操作的触发,停止将所述目标RAID改变到所述第二类型;以及
释放已经被用于执行所述改变的存储块。
17.根据权利要求13所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
响应于所述第二冗余级别低于所述第一冗余级别,将所述目标RAID从具有所述第一冗余级别的第一类型改变到具有所述第二冗余级别的第二类型。
18.根据权利要求17所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
从所述目标RAID的每个RAID块中移除存储校验数据的存储块。
19.根据权利要求17所述的电子设备,其中所述第二冗余级别在所述目标RAID的初始冗余级别以上。
20.根据权利要求13所述的电子设备,其中所述目标RAID基于以下至少一项被选择:指示所述目标RAID要调整冗余级别的信息、所述RAID集合中的RAID的冗余级别、以及所述RAID集合中的RAID中的RAID块的数目。
21.根据权利要求13所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
从所述RAID集合的用户接收到执行所述冗余级别调整的指示。
22.根据权利要求13所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
确定所述多个存储盘的存储空间利用率已经达到第三阈值。
23.一种非易失性计算机可读介质,包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-12中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910360753.6A CN111857554B (zh) | 2019-04-30 | 2019-04-30 | Raid冗余级别的自适应改变 |
US16/824,016 US11216340B2 (en) | 2019-04-30 | 2020-03-19 | Adaptive change of redundancy level of raid |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910360753.6A CN111857554B (zh) | 2019-04-30 | 2019-04-30 | Raid冗余级别的自适应改变 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857554A CN111857554A (zh) | 2020-10-30 |
CN111857554B true CN111857554B (zh) | 2024-04-05 |
Family
ID=72966489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910360753.6A Active CN111857554B (zh) | 2019-04-30 | 2019-04-30 | Raid冗余级别的自适应改变 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11216340B2 (zh) |
CN (1) | CN111857554B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599418B2 (en) * | 2020-05-19 | 2023-03-07 | EMC IP Holding Company LLC | Maintaining components of networked nodes with distributed data dependencies |
US20230130435A1 (en) * | 2021-10-22 | 2023-04-27 | Dell Products L.P. | Coordinating storage system events using a path and data witness |
CN114079616B (zh) * | 2021-11-02 | 2023-11-03 | 中国船舶重工集团公司第七0三研究所 | 一种非热备磁盘阵列服务器数据库冗余方法 |
CN114416437B (zh) * | 2022-01-17 | 2022-11-25 | 杭州字节方舟科技有限公司 | 一种自适应冗余级别的数据存储方法 |
CN114415968B (zh) * | 2022-01-26 | 2023-04-07 | 南京晓庄学院 | 存储系统及其数据写入方法 |
US20230418520A1 (en) * | 2022-06-27 | 2023-12-28 | Microsoft Technology Licensing, Llc | Storage policy change usage estimation |
US11804854B1 (en) | 2022-07-26 | 2023-10-31 | Hewlett Packard Enterprise Development Lp | Changing error-correction configurations |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733314A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质 |
CN109213619A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430276B2 (en) * | 2012-06-25 | 2019-10-01 | Pure Storage, Inc. | Optimal orderings of processing unit priorities in a dispersed storage network |
WO2014098872A1 (en) * | 2012-12-20 | 2014-06-26 | Hewlett-Packard Development Company, L.P. | Raid storage processing |
US9304852B2 (en) * | 2014-02-13 | 2016-04-05 | Quantum Corporation | Combined asynchronous and synchronous fountain code storage in an object store |
CN106933490A (zh) * | 2015-12-29 | 2017-07-07 | 伊姆西公司 | 控制对磁盘阵列进行读写操作的方法和装置 |
CN109725826B (zh) * | 2017-10-27 | 2022-05-24 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、设备和计算机可读介质 |
CN110737398B (zh) * | 2018-07-20 | 2023-09-01 | 伊姆西Ip控股有限责任公司 | 协调访问操作的方法、设备和计算机程序产品 |
-
2019
- 2019-04-30 CN CN201910360753.6A patent/CN111857554B/zh active Active
-
2020
- 2020-03-19 US US16/824,016 patent/US11216340B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733314A (zh) * | 2017-04-17 | 2018-11-02 | 伊姆西Ip控股有限责任公司 | 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质 |
CN109213619A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111857554A (zh) | 2020-10-30 |
US11216340B2 (en) | 2022-01-04 |
US20200349004A1 (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111857554B (zh) | Raid冗余级别的自适应改变 | |
US8738975B2 (en) | Runtime dynamic performance skew elimination | |
US10558383B2 (en) | Storage system | |
US20150193154A1 (en) | Data Migration Method, Data Migration Apparatus, and Storage Device | |
CN110737398B (zh) | 协调访问操作的方法、设备和计算机程序产品 | |
CN110737391B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US20150286531A1 (en) | Raid storage processing | |
US11144414B2 (en) | Method and apparatus for managing storage system | |
US8868864B2 (en) | Storage apparatus and storage apparatus control method | |
US7308532B1 (en) | Method for dynamically implementing N+K redundancy in a storage subsystem | |
US20180300066A1 (en) | Method and device for managing disk pool | |
US20120297156A1 (en) | Storage system and controlling method of the same | |
US11301137B2 (en) | Storage system and data arrangement method of storage system | |
CN109725838B (zh) | 用于管理多个盘的方法、装置以及计算机可读介质 | |
US9841928B2 (en) | Storage control apparatus and computer readable storage medium | |
CN112764661A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US10740020B2 (en) | Method, device and computer program product for managing disk array | |
CN112732168B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
JP2019192032A (ja) | 記憶システム、及び、クラスタ構成制御方法 | |
JP6244974B2 (ja) | ストレージ装置、及びストレージ装置の制御方法 | |
CN109344012B (zh) | 数据重构控制方法、装置和设备 | |
CN110413197B (zh) | 管理存储系统的方法、设备和计算机程序产品 | |
CN114721585A (zh) | 存储管理方法、设备和计算机程序产品 | |
CN114168064A (zh) | 用于重建存储系统的方法、设备和计算机程序产品 | |
JP2019174875A (ja) | 記憶システム及び記憶制御方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |