CN107870730B - 用于管理存储系统的方法和系统 - Google Patents
用于管理存储系统的方法和系统 Download PDFInfo
- Publication number
- CN107870730B CN107870730B CN201610849476.1A CN201610849476A CN107870730B CN 107870730 B CN107870730 B CN 107870730B CN 201610849476 A CN201610849476 A CN 201610849476A CN 107870730 B CN107870730 B CN 107870730B
- Authority
- CN
- China
- Prior art keywords
- block
- stripe
- information
- target
- storage
- 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
Images
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/1084—Degraded mode, e.g. caused by single or multiple storage removals or disk failures
-
- 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/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- 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/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/061—Improving I/O performance
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施方式涉及用于管理存储系统的方法和系统。具体地,提供了一种用于管理存储系统的方法,包括:创建包括第一数量的条带的存储系统,第一数量的条带中的每个条带包括第二数量的区块,第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;针对第一数量的条带中的条带,生成描述条带所包括的第二数量的区块与一组存储设备中的不同存储设备之间的映射关系的条带信息;以及针对第二数量的区块中的区块所在的存储设备,建立存储设备中的区块与条带之间的映射关系的区块信息。在本发明的一个实施方式中,提供了相应的设备和系统。
Description
技术领域
本发明的各实施方式涉及存储管理,更具体地,涉及用于管理存储系统(例如,独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)的方法和系统。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。目前,已经开发出了基于冗余磁盘阵列的多种数据存储系统来提高数据的可靠性。当存储系统中的一个或者多个磁盘出现故障时,需要向存储系统中引入新的备用盘,并且可以从其他正常操作的磁盘上的数据来恢复出故障磁盘中的数据。
在数据恢复过程中,被恢复的数据需要被写入备用盘。由于备用盘的数据接口的带宽限制,当需要恢复大量数据时,数据恢复时间可能会达到数小时甚至数天的时间。随着存储系统中存储能力的不断提高,数据恢复时间可能会达到不能忍受的程度。此时如何降低数据恢复时间进而提高存储系统的性能,成为一个研究热点。
发明内容
因而,期望能够开发并实现用于管理存储系统、并且提高存储系统的性能的技术方案。期望该技术方案能够与现有的存储系统相兼容,并且在无需针对现有存储系统增加额外硬件设备的情况下以更为有效的方式管理存储系统。
在本发明的一个实施方式中,提供了一种用于管理存储系统的方法,包括:创建包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息;以及针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息。
在本发明的一个实施方式中,提供了一种用于管理存储系统,包括:一个或者多个处理器;耦合至所述一个或者多个处理器中的至少一个处理器的存储器;在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述系统执行用于管理存储系统的方法,所述方法包括:创建包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息;以及针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息。
采用本发明的技术方案,可以以更为便利的方式管理存储系统,进而提高存储系统的响应效率和稳定性。
附图说明
结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:
图1示意性示出了适于实现本发明实施方式的示例性计算系统的框图;
图2A示意性示出了根据一个技术方案的独立磁盘冗余阵列的结构的示意图,图2B示意性示出了根据一个技术方案的独立磁盘冗余阵列的重建过程的示意图;
图3示意性示出了根据一个技术方案的用于管理存储系统的方法的示意图;
图4示意性示出了根据本发明一个实施方式的用于管理存储系统的技术方案的架构图;
图5示意性示出了根据一个实施方式的从一组磁盘中选择用于一个条带的区块的示意图;
图6A、6B和6C示意性示出了根据一个实施方式的区块信息的数据结构的框图;
图7A、7B和7C示意性示出了根据一个实施方式的条带信息中的一个条目的数据结构的框图;
图8示意性示出了根据一个实施方式的条带信息的数据结构的框图;
图9示意性示出了根据一个实施方式的在存储系统中执行恢复操作的方法的流程图;
图10示意性示出了根据一个实施方式的在存储系统中执行恢复操作的框图;
图11A和11B示意性示出了根据一个实施方式重建/拷贝指示符的数据结构;以及
图12示意性示出了根据本发明一个实施方式的用于管理存储系统的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和触摸屏显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及触摸屏显示器114与显示控制器109耦合。应当理解,图1所示的结构框图仅仅是为了示例的目的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施方式中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供者来通过因特网连接)。
下面将参照本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
本领域技术人员应当理解,上文仅仅示意性示出了其中可以实现本发明的各个实施方式的应用环境的典型示例。在本发明的上下文中,还可以在过去已知或者将在未来开发的各种应用环境中执行本发明的各个实施方式。
在存储系统例如独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)中,可以将多个存储设备(例如,磁盘)组合起来,成为一个磁盘阵列。通过提供冗余的存储设备,可以使得整个磁盘组的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。RAID存在多个标准,例如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-50等等。
关于RAID级别的更多细节,本领域技术人员例如可以参见https://en.wikipedia.org/wiki/Standard_RAID_levels、以及https://en.wikipedia.org/wiki/Nested_RAID_levels等。操作系统可以把由多个存储设备构成的磁盘阵列视为单一的逻辑存储单元或磁盘。通过将磁盘阵列划分为多个条带(strip),可以将数据分布到多个存储设备,从而实现低延迟、高带宽,并且其中的部分磁盘毁坏后可以在一定程度上恢复数据。
图2A示意性示出了根据一个技术方案的独立磁盘冗余阵列的结构的示意图220A。在图2A中,以包括五个独立存储设备(210A、212A、214A、216A以及218A)的RAID-5阵列为示例,来说明RAID的工作原理。应当注意,尽管图2A中示意性示出了五个存储设备,在其他的实施方式中,根据RAID的版本不同,还可以包括更多或者更少的存储设备。尽管图2A中示出了条带220A、222A和224A,在其他的示例中,RAID系统还可以包括不同数量的存储设备。
在RAID中,条带跨越多个物理存储设备(例如,条带220A跨越了存储设备210A、212A、214A、216A以及218A)。可以简单地将条带理解为多个存储设备中的满足一定地址范围的存储区域。在条带220中存储的数据包括多个部分:存储在存储设备210A上的数据块D11、存储在存储设备212A上的数据块D12、存储在存储设备214A上的数据块D13、存储在存储设备216A上的数据块D14、以及存储在存储设备218A上的数据块P1。在此示例中,数据块D11、D12、D13、以及D14是被存储的数据,而数据块P1是被存储数据的校验值。
在其他条带中存储数据的方式也类似于条带220A,不同之处在于,有关其他数据块的校验值可以存储在不同于存储设备218A的存储设备上。以此方式,当多个存储设备210A、212A、214A、216A以及218A中的一个存储设备出现故障时,可以从其他的正常的存储设备中恢复出故障设备中的数据。
图2B示意性示出了根据一个技术方案的独立磁盘冗余阵列的重建过程的示意图220B。如图2B所示,当一个存储设备(例如,以阴影示出的存储设备218A)出现故障时,可以从其余的正常操作的多个存储设备210A、212A、214A、216A中恢复数据。此时,可以向RAID中加入新的后备存储设备218B来替代存储设备218A,以此方式,可以将恢复的数据写入存储设备218B并实现系统的重建。尽管在图2A和图2B所示的系统中示出了使用一个存储设备来存储P校验的情况(R5RAID),在R6RAID系统中,还可以使用两个存储设备来分别存储P校验和Q校验。
在存储系统的重建过程中,当向存储设备218B写入数据时,写入的速度受到存储设备的写带宽的限制,进而导致较长的恢复时间。另一方面,当存储设备210A-218A正常操作时,存储设备218B处于空闲状态,并且其中的存储空间并不能被利用,因而导致了存储资源的浪费。
目前已经提出了映射RAID(mapped RAID)的技术方案。在此技术方案中,存储设备(例如,图2A所示的存储设备210A-218A,以及图2B所示的存储设备210A-218A和图218B)可以是虚拟的存储设备,并且其中的存储空间可以位于不同的物理存储设备。以此方式,则当执行恢复操作时,则可以分别向与虚拟存储设备218B相关联的多个物理存储设备并行地写入数据,进而提高恢复速度。
尽管映射RAID将物理存储设备划分为多个区块(extent)并且为存储系统的管理提供了更高的灵活性和更快的恢复速度,然而现有的解决方案在多层数据结构上操作,导致管理过程复杂并难以实现。
基于现有技术中的上述不足,本发明提出了一种用于管理存储系统的方法。该方法包括:创建包括第一数量的条带的存储系统,述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息;以及针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息。采用本发明的技术方案,可以基于条带信息和区块信息来方便地管理存储系统。
图3示意性示出了根据一个技术方案的用于管理存储系统的方法的示意图300。如图3所示,存储系统340可以基于多个物理存储设备310、…、320来实现,并且每个物理存储设备可以包括多个区块。例如,磁盘310可以包括区块312、…、314,磁盘320可以包括多个区块322、…、324。在此实施方式中,所创建的存储系统(例如,RAID存储系统)可以包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组磁盘中的不同磁盘中。这与现有的映射RAID系统类似。
不同于现有技术方案,在本发明的实施方式中,针对所涉及的每个磁盘分别建立区块信息。例如,对于磁盘310,可以建立区块信息316,用以存储磁盘310中的区块(例如,区块312、…、314)与存储系统340中的条带之间的映射关系。具体地,区块信息316中的每个条目可以记录每个区块被存储系统340中的哪个条带引用。类似地,可以建立区块信息326,用以存储磁盘320中的区块(例如,区块322、…、324)与存储系统340中的条带之间的映射关系。
另外,针对存储系统340中每个条带,可以生成描述所述条带所包括的区块与所述不同磁盘(例如,磁盘310、…、320)之间的映射关系的条带信息330。在此实施方式中,条带信息330中针对每个条带的条目可以记录与该条带中的每个位置所对应的区块的地址。通过使用如图3所示的管理架构,可以基于区块信息316和326、以及条带信息330来方便地管理存储系统340。在下文中将参见附图详细描述如何构建区块信息以及条带信息,以及如何基于该信息来管理存储系统。
图4示意性示出了根据本发明一个实施方式的用于管理存储系统的技术方案的架构图400。在步骤S410中,创建包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中。在此步骤中,本领域技术人员可以自定义区块的大小以及条带的数量(即,第一数量)。并且根据采用的标准的不同,一个条带中所涉及的磁盘的数量也会有所不同。例如,在6+2的R6RAID系统中,6个磁盘用于存储数据,而2个磁盘分别用于存储P和Q校验。在3+2的R6RAID系统中,每个条带可以涉及5个磁盘,其中3个磁盘用于存储数据,而2个磁盘分别用于存储P和Q校验。在4+1的R5RAID系统中,4个磁盘用于存储数据,而1个磁盘用于存储P校验。
在步骤S420中,针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息。在此实施方式中,存储系统中可以涉及多个条带,并且每个条带可以包括分布在不同存储设备上的多个(例如,第二数量)区块。在6+2的R6RAID系统中,可以涉及分别分布在8个不同磁盘上的8个区块。此时,条带信息可以用于记录该条带与8个区块中的每个区块之间的映射关系,即,该条带中的8个区块的物理位置。
在步骤S430中,针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息。在此步骤中,对于条带中的每个区块所在的存储设备,还可以记录该存储设备中的特定区块与该特定区块相关联的条带之间的映射关系。例如,继续步骤S420中的示例,对于条带中的8个区块中的第一区块,假设该区块的物理位置为(磁盘1,地址1),则此时所建立的区块信息可以包括磁盘1中的全部(或者部分)区块被存储系统中的哪个条带引用。在此实施方式中,所建立的所述区块信息和所述条带信息可以用作管理所述存储系统的基础。
应当注意,数据中心中可以包括多个(例如,数百甚至上千)的存储设备,以便向不同的用户提供定制的RAID存储系统。此时,在数据中心中的多个存储设备可以同时服务于不同的RAID存储系统。为了均衡多个存储设备的工作负载,期望每个RAID存储系统所涉及的区块可以尽可能均匀地分布在数据中心的多个存储设备上。
在本发明的一个实施方式中,创建包括第一数量的条带的存储系统包括:针对所述第一数量的条带中的每个条带,从所述一组存储设备中选择第二数量的存储设备,使得选择的所述第二数量的存储设备在所述一组存储设备中均匀分布;以及从所述第二数量的存储设备中的每个存储设备中选择一区块。
继续上文的示例,针对存储系统中的每个条带,可以从数据中心中的多个存储设备中选择8个存储设备,并且从每个存储设备中选择一个区块。在此实施方式中,需要使得所选择8个存储设备在数据中心的多个存储设备之间均匀地分布。例如,对于每个条带而言可以随机地选择8个存储设备,此时随着条带数目的增加,数据中心中的存储设备被选择的次数是基本一致的。又例如,还可以基于多个存储设备中被使用的区块的数量来进行选择,以确保每个存储设备中区块被使用的比例基本一致,进而确保多个存储设备的负载均衡。
图5示意性示出了根据一个实施方式的从一组磁盘中选择用于一个条带的区块的示意图500。图5示意性示出了多个存储设备510、520、530、540、…、550、560。每个存储设备可以包括多个区块,其中空白区块560表示空闲的磁盘区块,以条纹示出的区块562表示用于第一条带的磁盘区块,而以阴影示出的区块564表示用于第二条带的磁盘区块。此时,用于第一条带的磁盘区块512、522、532、542、552分别用于存第一条带的数据块D1、D2、D3、D4和校验P。用于第二条带的磁盘区块524、534、544、566和514分别用于存储第二条带的数据块D1、D2、D3、D4和校验P。
应当注意,图5仅以4+1的R5RAID存储系统为示例示出了各个条带中的区块如何均匀地分布在数据中心的多个存储系统中。当采用基于其他标准的RAID时,本领域技术人员可以基于上文所述的原理来实现具体细节。例如,在6+2的R6RAID存储系统中,每个条带中的8个区块可以均匀地分布在多个存储设备上,进而保证多个存储设备的负载均衡。
图6A、6B和6C示意性示出了根据一个实施方式的区块信息的数据结构的框图600A、600B和600C。如图6A所示,针对一个区块的区块信息可以包括:存储系统ID 610(例如,4位),指示该区块正在被哪个存储系统引用;以及条带ID(例如,24位),指示该区块正在被存储系统中的哪个条带所引用。尽管在图6A中未示出,区块信息中还可以包括区块的ID,以用于唯一地指示该区块。
当一个存储设备中包括多个区块的情况下,针对每个区块的区块信息可以按顺序存储在存储设备处。此时,区块信息的顺序可以与各个区块在存储设备中的地址顺序相一致,因而可以省略区块ID这一字段。在此示例中,用于第一个区块的条目位于第一位置,用于第二个区块的条目位于第二个位置,以此类推。下文表1中示意性示出了用于一个存储设备的区块信息的示例。
表1区块信息的示例
存储系统ID | 条带ID |
RAID_1 | Stripe_1 |
RAID_2 | Stripe_3 |
… | … |
除了上文所述的存储设备中的区块与所述条带之间的映射关系,区块信息还可以进一步包括区块的状态。在本发明的一个实施方式中,针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息进一步包括:向所述区块信息中添加所述区块的状态信息。
如图6B示意性示出了根据一个实施方式的区块信息的数据结构的框图600B。除了图6A所示的字段610和612,在此实施方式中区块信息还包括区块状态614(例如,4位)。区块可以具有多种状态:
FBE_EXTENT_POOL_DISK_EXTENT_STATE_FREE,表示该区块处于空闲状态;
FBE_EXTENT_POOL_DISK_EXTENT_STATE_CONSUMED,表示该区块已经被使用,例如,被由字段610和612所指示的存储系统和条带所使用;
FBE_EXTENT_POOL_DISK_EXTENT_STATE_EOL,表示该区块存在潜在故障并且面临终止(end of life);以及
FBE_EXTENT_POOL_DISK_EXTENT_STATE_DEAD,表示该区块已经损坏。
上文仅仅示意性示出了区块可能存在的状态的示例,本领域技术人员可以根据具体应用环境的要求而设置其他的状态指示符。如图6C示意性示出了根据一个实施方式的区块信息的数据结构的框图600C。除了图6B所示的字段610、612和614,在此实施方式中区块信息还包括保留位616(例如,32位),用于在未来扩展时使用。
应当注意,上文仅仅示意性示出了用于保存区块信息的数据结构的字段的示例,本领域技术人员还可以基于上文所示的原理来采用数据结构、以及其他数位长度来存储区块信息。还应当注意,尽管上文的示例中将与存储设备中的区块中的区块相关联的区块信息存储在存储设备中,基于具体应用环境的需求,还可以将该区块信息存储在其他位置。
图7A、7B和7C示意性示出了根据一个实施方式的条带信息中的一个条目的数据结构的框图700A、700B和700C。由于一个条带可以包括多个位置,图7A示意性示出了针对一个位置的条带信息。如图7A所示,针对一个条带的条带信息可以包括:存储设备ID 710(例如,11位),用于指示该条带的该位置的物理存储区域所在的存储设备的ID;以及区块ID(例如,17位),用于指示该条带的该位置的物理存储区域在存储设备的哪个区块处。尽管在图7A中未示出,条带信息中还可以包括条带的ID,以用于唯一地指示该条带。下文表2中示意性示出了用于一个条带的条带信息的示例。
表2条带信息的示例
存储设备ID | 区块ID |
DISK_1 | Extent_1 |
DISK_2 | Extent_3 |
… | … |
除了上文所述的存储系统中的条带与存储设备中的区块与之间的映射关系,条带信息还可以进一步包括条带的状态。在本发明的一个实施方式中,针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息进一步包括:针对所述第一数量的条带中的条带,向所述条带信息中添加所述条带的状态信息。
如图7B示意性示出了根据一个实施方式的条带信息中的一个条目的数据结构的框图600B。除了图7A所示字段710和712,在此实施方式中条带信息还包括条带状态714(例如,3位)。条带可以具有多种状态:
FBE_EXTENT_POOL_EXTENT_STATE_INVALID,表示该条带不可用;
FBE_EXTENT_POOL_EXTENT_STATE_NM,表示该条带处于正常状态;
FBE_EXTENT_POOL_EXTENT_STATE_RL,表示该条带处于恢复登记状态;
FBE_EXTENT_POOL_EXTENT_STATE_RB,表示该条带处于重建状态;以及
FBE_EXTENT_POOL_EXTENT_STATE_CP,表示该条带处于拷贝状态。
上文仅仅示意性示出了条带可能存在的状态的示例,本领域技术人员可以根据具体应用环境的要求而设置其他的状态指示符。如图7C示意性示出了根据一个实施方式的条带信息的数据结构的框图700C。除了图7B所示的字段710、712和714,在此实施方式中区块信息还包括保留位616(例如,33位),用于在未来扩展时使用。应当注意,上文仅仅示意性示出了用于保存条带信息的数据结构的字段的示例,本领域技术人员还可以基于上文所示的原理来采用数据结构、以及其他数位长度来存储条带信息。
图8示意性示出了根据一个实施方式的条带信息的数据结构的框图800。继续上文6+2R6RAID存储系统的示例,每个条带中包括8个位置,并且每个位置的条带信息均可以采用如图7C所示的数据结构来存储。如图8所示,条带信息中的条目810、820、…、880分别示意性示出了针对条带中的位置1-8所引用的区块的位置和其他信息。
在下文中,将描述如何基于所述区块信息和所述条带信息,管理所述存储系统。在本发明的一个实施方式中,基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于接收到针对所述一组存储设备中的目标存储设备的查询,基于所述区块信息返回所述目标存储设备的状态。
基于根据本发明的区块信息,可以方便地查询存储系统中的某个存储设备的状态。例如,当接收到查询指定的目标存储设备的查询命令时,可以基于区块信息来迅速返回该目标存储设备中已经使用了多少区块,还有多少可用区块,存在多少损坏的区块,存在多少潜在故障的区块,并且还可以迅速基于区块信息中的状态字段查找这些区块分别位于何处。
在本发明的一个实施方式中,基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于接收到针对所述第一数量的条带中的目标条带的查询,基于所述条带信息返回所述目标条带的状态。基于根据本发明的条带信息,可以方便地查询存储系统中的某个条带的状态。例如,当接收到查询指定条带的查询命令时,可以基于条带信息来迅速返回该条带中的各个位置处的区块的状态。
在数据中心运行的过程中,数据中心中的存储设备可能会出现故障。例如,当一个存储设备故障时,则该故障设备中的各个区块所服务的存储系统都将面临如何恢复的问题。在下文中将以故障设备中的一个区块为具体示例,介绍如何执行恢复操作。
在本发明的一个实施方式中,基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于检测到所述一组存储设备中的目标存储设备故障,针对所述目标存储设备中的一个目标区块,基于所述区块信息确定与所述目标区块相关联的目标条带;从所述一组存储设备中选择空闲区块;基于所述目标条带包括的其他区块中的数据,向所选择的空闲区块写入数据。
图9示意性示出了根据一个实施方式的在存储系统中执行恢复操作的方法的流程图900。在步骤S910中,响应于检测到所述一组存储设备中的目标存储设备故障,针对所述目标存储设备中的一个目标区块,基于所述区块信息确定与所述目标区块相关联的目标条带。在此步骤中,首先在存储系统中找到引用故障区块的条带。继而,在步骤S920中,从所述一组存储设备中选择空闲区块。在此步骤中,可以从区块信息中的状态为“FBE_EXTENT_POOL_DISK_EXTENT_STATE_FREE”的区块中选择一个区块以用作空闲区块。接着,在步骤S930中,基于所述目标条带包括的其他区块中的数据,向所选择的空闲区块写入数据。步骤S930的恢复过程可以类似于现有技术的恢复过程。
在此实施方式中,允许出现故障的存储设备的数量与存储系统所采取的标准相关。例如,在使用P校验和Q校验的R6RAID中,允许两个存储设备同时出现故障,而在使用一个P校验的R5RAID中,仅允许一个存储设备出现故障。当更多存储设备出现故障时,则可能会导致数据不可恢复。
为了保证一个条带中的区块来自不同的存储设备,在选择空闲区块时需要从数据中心中的多个存储设备中选择不同于该条带所引用的任一存储设备的存储设备。具体地,在本发明的一个实施方式中,从所述一组存储设备中选择空闲区块包括:从所述一组存储设备中选择备用存储设备,所述备用存储设备不同于所述目标条带包括的任一区块所在的存储设备;以及从所述备用存储设备中选择所述空闲区块。现在将参见图10详细描述如何选择空闲区块。
图10示意性示出了根据一个实施方式的在存储系统中执行恢复操作的框图1000。如图10所示,继续图5中的示例,假设存储设备550出现故障并且离线。此时通过区块信息可知,存储设备550上的区块552被存储系统的第一条带引用,则此时需要从数据中心中的其他正常运行的存储设备中选择空闲区块。
由于第一条带的其他位置处的区块D1 512、D2 522、D3 532和D4 542分别位于存储设备510、520、530和540,因而在选择备用存储设备时,不能选择存储设备510-540。如图10所示,可以将存储设备560作为备用存储设备,并且从中选择空闲的区块(例如1010)来替代区块552。
当从第一条带的其他区块中恢复出故障区块552中的数据,并且将恢复的数据写入空闲区块1010后,还可以相应地更新区块信息和条带信息。具体地基于所述区块信息和所述条带信息,管理所述存储系统进一步包括:基于所选择的空闲区块,更新所述区块信息和所述条带信息。
继续图10的示例,可以将与区块1010相关的区块信息更新为指示该区块被存储系统中的第一条带引用;可以将与存储系统的第一条带中的P校验位置相关联的条带信息更新为引用存储设备560中的区块1010。
应当注意,尽管上文中仅以故障存储设备550中的一个区块552为示例描述了恢复过程的具体示例,当故障设备550中还有另一故障区块服务于另一条带时,则可以基于类似于上文所述的方式,来与恢复故障区块552中的数据并行地恢复该另一故障区块中的数据。
在本发明的一个实施方式中,基于所述区块信息和所述条带信息,管理所述存储系统进一步包括:针对所述目标存储设备中的第二目标区块,基于所述区块信息确定与所述第二目标区块相关联的第二目标条带;从所述一组存储设备中选择第二空闲区块;以及基于所述第二目标条带包括的其他区块中的数据,向所选择的第二空闲区块写入数据。
应当注意,采用本发明的方法,在并行地恢复故障存储设备中的多个故障区块中的数据时,被恢复的数据可以并行地被写入从不同存储设备选择的空闲区块。因而,可以并行地执行针对不同区块的恢复,进而大大提高数据恢复操作的效率。
在本发明的一个实施方式中,还可以设置附加的标识信息,用于方便对存储系统的管理。具体地,基于所述区块信息和所述条带信息,管理所述存储系统进一步包括:生成指示所述目标条带中的所述目标区块正在被重建的指示符;以及基于向所选择的空闲区块写入数据的进度,生成指示所述目标区块被重建的进度的指示符。
在此实施方式中,可以设置附加数据结构来描述上述指示符。图11A和11B示意性示出了根据一个实施方式重建/拷贝指示符的数据结构1100A和1100B。如图11A所示,重建/拷贝指示符可以包括位置字段1110(例如,4位),用于指示条带中的哪个位置处的区块正在被重建/拷贝;以及进度字段1112(例如,12位),用于指示位置1110处的区块已经被重建/拷贝的进度。另外,如图11B所示,除了图11A所示的两个字段1110和1112,该指示符还可以包括保留位1114(例如,16位),用于在未来扩展时使用。
基于存储系统所采用的标准的不同,可以为每个条带设置不同数量的指示符。例如,在R6RAID存储系统中,由于允许两个存储设备同时出现故障,因而可以设置两个指示符以分别指示出现故障的存储设备中的区块所在的位置。又例如,在R5RAID存储系统中,由于仅允许一个存储设备出现故障,因而可以设置一个指示符以指示出现故障的存储设备中的区块所在的位置。
在本发明的一个实施方式中,基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于接收到拷贝目标条带中的目标区块的拷贝命令,生成指示所述目标条带中的所述目标区块正在被拷贝的指示符;以及生成指示所述目标区块被拷贝的进度的指示符。
用于拷贝操作的指示符的数据结构与用于重建操作的指示符相同,因而可以操作指示符和重建指示符可以复用。拷贝操作与重建操作的不同之处在于,如果两个区块同时进行拷贝操作,将会导致复杂的情况,因而在本发明的一个实施方式中,可以限制仅允许条带中的一个区块执行拷贝操作。
在本发明的一个实施方式中,当接收到删除存储系统的命令时,可以基于条带信息和区块信息,找到存储系统所引用的区块,并执行相应的操作。具体地,基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于接收到删除所述存储系统的命令,针对所述第一数量的条带中的条带,基于所述条带信息确定所述条带包括的所述第二数量的区块;在所述区块信息中,清除与所确定的所述第二数量的区块相关联的信息;以及清除所述条带信息。
可以逐一针对存储系统中的每个条带中的每个区块执行删除操作。下文中将仅以一个条带中的一个目标区块为具体示例介绍删除的过程。对于目标区块,可以清除区块信息中与该目标区块相关联的信息。在已经清除了与一个条带中的全部区块相关联的区块信息之后,则可以清楚与该条带相关联的条带信息。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中设备包括若干装置或模块,装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图12示意性示出了根据本发明一个实施方式的用于管理存储系统的设备的框图1200。具体地,提出了一种用于管理存储系统的方法,包括:创建模块1210,配置用于创建包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;生成模块1220,配置用于针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息;以及建立模块1230,配置用于针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息。
在本发明的一个实施方式中,其中所述创建模块1210进一步配置用于针对所述第一数量的条带中的每个条带,从所述一组存储设备中选择第二数量的存储设备,使得选择的所述第二数量的存储设备在所述一组存储设备中均匀分布;以及从所述第二数量的存储设备中的每个存储设备中选择一区块。
在本发明的一个实施方式中,所述生成模块1220进一步配置用于:针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息进一步包括:针对所述第一数量的条带中的条带,向所述条带信息中添加所述条带的状态信息。
在本发明的一个实施方式中,所述建立模块1230进一步配置用于:针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息进一步包括:向所述区块信息中添加所述区块的状态信息。
在本发明的一个实施方式中,进一步包括:管理模块,配置用于基于所述区块信息和所述条带信息,管理所述存储系统。
在本发明的一个实施方式中,所述管理模块进一步配置用于:响应于接收到针对所述一组存储设备中的目标存储设备的查询,基于所述区块信息返回所述目标存储设备的状态。
在本发明的一个实施方式中,所述管理模块进一步配置用于:响应于接收到针对所述第一数量的条带中的目标条带的查询,基于所述条带信息返回所述目标条带的状态。
在本发明的一个实施方式中,所述管理模块进一步配置用于:响应于检测到所述一组存储设备中的目标存储设备故障,针对所述目标存储设备中的一个目标区块,基于所述区块信息确定与所述目标区块相关联的目标条带;从所述一组存储设备中选择空闲区块;基于所述目标条带包括的其他区块中的数据,向所选择的空闲区块写入数据。
在本发明的一个实施方式中,所述管理模块进一步配置用于:从所述一组存储设备中选择备用存储设备,所述备用存储设备不同于所述目标条带包括的任一区块所在的存储设备;以及从所述备用存储设备中选择所述空闲区块。
在本发明的一个实施方式中,所述管理模块进一步配置用于:生成指示所述目标条带中的所述目标区块正在被重建的指示符;以及基于向所选择的空闲区块写入数据的进度,生成指示所述目标区块被重建的进度的指示符。
在本发明的一个实施方式中,所述管理模块进一步配置用于:基于所选择的空闲区块,更新所述区块信息和所述条带信息。
在本发明的一个实施方式中,所述管理模块进一步配置用于:针对所述目标存储设备中的第二目标区块,基于所述区块信息确定与所述第二目标区块相关联的第二目标条带;从所述一组存储设备中选择第二空闲区块;以及基于所述第二目标条带包括的其他区块中的数据,向所选择的第二空闲区块写入数据。
在本发明的一个实施方式中,所述管理模块进一步配置用于:响应于接收到拷贝目标条带中的目标区块的拷贝命令,生成指示所述目标条带中的所述目标区块正在被拷贝的指示符;以及生成指示所述目标区块被拷贝的进度的指示符。
在本发明的一个实施方式中,所述管理模块进一步配置用于:响应于接收到删除所述存储系统的命令,针对所述第一数量的条带中的条带,基于所述条带信息确定所述条带包括的所述第二数量的区块;在所述区块信息中,清除与所确定的所述第二数量的区块相关联的信息;以及清除所述条带信息。
在本发明的一个实施方式中,提供了一种用于管理存储系统,包括:一个或者多个处理器;耦合至一个或者多个处理器中的至少一个处理器的存储器;在存储器中存储的计算机程序指令,当由至少一个处理器执行计算机程序指令时,使得系统执行用于管理存储系统的方法,方法包括:创建包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息;以及针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:针对所述第一数量的条带中的每个条带,从所述一组存储设备中选择第二数量的存储设备,使得选择的所述第二数量的存储设备在所述一组存储设备中均匀分布;以及从所述第二数量的存储设备中的每个存储设备中选择一区块。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:针对所述第一数量的条带中的条带,向所述条带信息中添加所述条带的状态信息。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:向所述区块信息中添加所述区块的状态信息。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:基于所述区块信息和所述条带信息,管理所述存储系统。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:响应于接收到针对所述一组存储设备中的目标存储设备的查询,基于所述区块信息返回所述目标存储设备的状态。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:响应于接收到针对所述第一数量的条带中的目标条带的查询,基于所述条带信息返回所述目标条带的状态。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:响应于检测到所述一组存储设备中的目标存储设备故障,针对所述目标存储设备中的一个目标区块,基于所述区块信息确定与所述目标区块相关联的目标条带;从所述一组存储设备中选择空闲区块;基于所述目标条带包括的其他区块中的数据,向所选择的空闲区块写入数据。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:从所述一组存储设备中选择备用存储设备,所述备用存储设备不同于所述目标条带包括的任一区块所在的存储设备;以及从所述备用存储设备中选择所述空闲区块。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:生成指示所述目标条带中的所述目标区块正在被重建的指示符;以及基于向所选择的空闲区块写入数据的进度,生成指示所述目标区块被重建的进度的指示符。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:基于所选择的空闲区块,更新所述区块信息和所述条带信息。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:针对所述目标存储设备中的第二目标区块,基于所述区块信息确定与所述第二目标区块相关联的第二目标条带;从所述一组存储设备中选择第二空闲区块;以及基于所述第二目标条带包括的其他区块中的数据,向所选择的第二空闲区块写入数据。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:响应于接收到拷贝目标条带中的目标区块的拷贝命令,生成指示所述目标条带中的所述目标区块正在被拷贝的指示符;以及生成指示所述目标区块被拷贝的进度的指示符。
在本发明的一个实施方式中,所述计算机程序指令时进一步使得所述系统:响应于接收到删除所述存储系统的命令,针对所述第一数量的条带中的条带,基于所述条带信息确定所述条带包括的所述第二数量的区块;在所述区块信息中,清除与所确定的所述第二数量的区块相关联的信息;以及清除所述条带信息。
在本发明的一个实施方式中,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据上文所述的方法的步骤。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (26)
1.一种用于管理存储系统的方法,所述方法包括:
创建包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;
针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息;
针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息,所述建立包括:向所述区块信息添加所述区块的状态信息,所述区块的所述状态信息包括所述区块具有潜在故障或者面临寿命终止的指示;以及
基于所述条带信息管理所述存储系统,所述管理包括基于所述区块具有所述潜在故障或者面临所述寿命终止的所述指示来控制所述存储系统。
2.根据权利要求1所述的方法,其中创建包括第一数量的条带的存储系统包括:针对所述第一数量的条带中的每个条带,
从所述一组存储设备中选择第二数量的存储设备,使得选择的所述第二数量的存储设备在所述一组存储设备中均匀分布;以及
从所述第二数量的存储设备中的每个存储设备中选择一区块。
3.根据权利要求1所述的方法,其中针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息进一步包括:针对所述第一数量的条带中的条带,
向所述条带信息中添加所述条带的状态信息。
4.根据权利要求3所述的方法,其中所述管理进一步包括:
基于所述区块信息和所述条带信息,管理所述存储系统。
5.根据权利要求4所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统包括:
响应于接收到针对所述一组存储设备中的目标存储设备的查询,基于所述区块信息返回所述目标存储设备的状态。
6.根据权利要求4所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统包括:
响应于接收到针对所述第一数量的条带中的目标条带的查询,基于所述条带信息返回所述目标条带的状态。
7.根据权利要求4所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于检测到所述一组存储设备中的目标存储设备故障,针对所述目标存储设备中的一个目标区块,
基于所述区块信息确定与所述目标区块相关联的目标条带;
从所述一组存储设备中选择空闲区块;以及
基于所述目标条带包括的其他区块中的数据,向所选择的空闲区块写入数据。
8.根据权利要求7所述的方法,其中从所述一组存储设备中选择空闲区块包括:
从所述一组存储设备中选择备用存储设备,所述备用存储设备不同于所述目标条带包括的任一区块所在的存储设备;以及
从所述备用存储设备中选择所述空闲区块。
9.根据权利要求7所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统进一步包括:
生成指示所述目标条带中的所述目标区块正在被重建的指示符;以及
基于向所选择的空闲区块写入数据的进度,生成指示所述目标区块被重建的进度的指示符。
10.根据权利要求7所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统进一步包括:
基于所选择的空闲区块,更新所述区块信息和所述条带信息。
11.根据权利要求7所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统进一步包括:针对所述目标存储设备中的第二目标区块,
基于所述区块信息确定与所述第二目标区块相关联的第二目标条带;
从所述一组存储设备中选择第二空闲区块;以及
基于所述第二目标条带包括的其他区块中的数据,向所选择的第二空闲区块写入数据。
12.根据权利要求4所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于接收到拷贝目标条带中的目标区块的拷贝命令,
生成指示所述目标条带中的所述目标区块正在被拷贝的指示符;以及
生成指示所述目标区块被拷贝的进度的指示符。
13.根据权利要求4所述的方法,其中基于所述区块信息和所述条带信息,管理所述存储系统包括:响应于接收到删除所述存储系统的命令,针对所述第一数量的条带中的条带,
基于所述条带信息确定所述条带包括的所述第二数量的区块;
在所述区块信息中,清除与所确定的所述第二数量的区块相关联的信息;以及
清除所述条带信息。
14.一种用于管理存储系统,所述系统包括:
一个或者多个处理器;
耦合至所述一个或者多个处理器中的至少一个处理器的存储器;
在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述系统执行用于管理存储系统的方法,所述方法包括:
创建包括第一数量的条带的存储系统,所述第一数量的条带中的每个条带包括第二数量的区块,所述第二数量的区块中的每个区块分布在一组存储设备中的不同存储设备中;
针对所述第一数量的条带中的条带,生成描述所述条带所包括的所述第二数量的区块与所述一组存储设备中的所述不同存储设备之间的映射关系的条带信息;
针对所述第二数量的区块中的区块所在的存储设备,建立所述存储设备中的区块与所述条带之间的映射关系的区块信息,所述建立包括:向所述区块信息添加所述区块的状态信息,所述区块的所述状态信息包括所述区块具有潜在故障或者面临寿命终止的指示;以及
基于所述条带信息管理所述存储系统,所述管理包括基于所述区块具有所述潜在故障或者面临所述寿命终止的所述指示来控制所述存储系统。
15.根据权利要求14所述的系统,其中所述计算机程序指令时进一步使得所述系统:针对所述第一数量的条带中的每个条带,
从所述一组存储设备中选择第二数量的存储设备,使得选择的所述第二数量的存储设备在所述一组存储设备中均匀分布;以及
从所述第二数量的存储设备中的每个存储设备中选择一区块。
16.根据权利要求14所述的系统,其中所述计算机程序指令时进一步使得所述系统:针对所述第一数量的条带中的条带,向所述条带信息中添加所述条带的状态信息。
17.根据权利要求16所述的系统,其中所述计算机程序指令时进一步使得所述系统:基于所述区块信息和所述条带信息,管理所述存储系统。
18.根据权利要求17所述的系统,其中所述计算机程序指令时进一步使得所述系统:
响应于接收到针对所述一组存储设备中的目标存储设备的查询,基于所述区块信息返回所述目标存储设备的状态。
19.根据权利要求17所述的系统,其中所述计算机程序指令时进一步使得所述系统:
响应于接收到针对所述第一数量的条带中的目标条带的查询,基于所述条带信息返回所述目标条带的状态。
20.根据权利要求17所述的系统,其中所述计算机程序指令时进一步使得所述系统:响应于检测到所述一组存储设备中的目标存储设备故障,针对所述目标存储设备中的一个目标区块,
基于所述区块信息确定与所述目标区块相关联的目标条带;
从所述一组存储设备中选择空闲区块;
基于所述目标条带包括的其他区块中的数据,向所选择的空闲区块写入数据。
21.根据权利要求20所述的系统,其中所述计算机程序指令时进一步使得所述系统:
从所述一组存储设备中选择备用存储设备,所述备用存储设备不同于所述目标条带包括的任一区块所在的存储设备;以及
从所述备用存储设备中选择所述空闲区块。
22.根据权利要求20所述的系统,其中所述计算机程序指令时进一步使得所述系统:
生成指示所述目标条带中的所述目标区块正在被重建的指示符;以及
基于向所选择的空闲区块写入数据的进度,生成指示所述目标区块被重建的进度的指示符。
23.根据权利要求20所述的系统,其中所述计算机程序指令时进一步使得所述系统:
基于所选择的空闲区块,更新所述区块信息和所述条带信息。
24.根据权利要求20所述的系统,其中所述计算机程序指令时进一步使得所述系统:针对所述目标存储设备中的第二目标区块,
基于所述区块信息确定与所述第二目标区块相关联的第二目标条带;
从所述一组存储设备中选择第二空闲区块;以及
基于所述第二目标条带包括的其他区块中的数据,向所选择的第二空闲区块写入数据。
25.根据权利要求17所述的系统,其中所述计算机程序指令时进一步使得所述系统:响应于接收到拷贝目标条带中的目标区块的拷贝命令,
生成指示所述目标条带中的所述目标区块正在被拷贝的指示符;以及
生成指示所述目标区块被拷贝的进度的指示符。
26.根据权利要求17所述的系统,其中所述计算机程序指令时进一步使得所述系统:响应于接收到删除所述存储系统的命令,针对所述第一数量的条带中的条带,
基于所述条带信息确定所述条带包括的所述第二数量的区块;
在所述区块信息中,清除与所确定的所述第二数量的区块相关联的信息;以及
清除所述条带信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610849476.1A CN107870730B (zh) | 2016-09-23 | 2016-09-23 | 用于管理存储系统的方法和系统 |
US15/709,667 US10599357B2 (en) | 2016-09-23 | 2017-09-20 | Method and system for managing storage system |
US16/825,690 US11163472B2 (en) | 2016-09-23 | 2020-03-20 | Method and system for managing storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610849476.1A CN107870730B (zh) | 2016-09-23 | 2016-09-23 | 用于管理存储系统的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107870730A CN107870730A (zh) | 2018-04-03 |
CN107870730B true CN107870730B (zh) | 2020-11-20 |
Family
ID=61685340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610849476.1A Active CN107870730B (zh) | 2016-09-23 | 2016-09-23 | 用于管理存储系统的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10599357B2 (zh) |
CN (1) | CN107870730B (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678643B1 (en) * | 2017-04-26 | 2020-06-09 | EMC IP Holding Company LLC | Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system |
CN109213428B (zh) | 2017-06-30 | 2021-05-28 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
US10761743B1 (en) | 2017-07-17 | 2020-09-01 | EMC IP Holding Company LLC | Establishing data reliability groups within a geographically distributed data storage environment |
CN110413208B (zh) * | 2018-04-28 | 2023-05-30 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN110413198B (zh) * | 2018-04-28 | 2023-04-14 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN110413216B (zh) * | 2018-04-28 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US20190339887A1 (en) * | 2018-05-02 | 2019-11-07 | EMC IP Holding Company LLC | Method, apparatus and computer program product for managing data storage |
CN110737401B (zh) * | 2018-07-20 | 2023-10-20 | 伊姆西Ip控股有限责任公司 | 用于管理独立冗余磁盘阵列的方法、设备和计算机程序产品 |
CN110737402B (zh) * | 2018-07-20 | 2023-12-08 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、设备和计算机存储介质 |
CN111104047B (zh) * | 2018-10-25 | 2023-08-25 | 伊姆西Ip控股有限责任公司 | 管理冗余磁盘阵列的方法、设备和计算机可读存储介质 |
CN111104051B (zh) * | 2018-10-26 | 2023-08-22 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN111124746B (zh) * | 2018-10-30 | 2023-08-11 | 伊姆西Ip控股有限责任公司 | 管理独立盘冗余阵列的方法、设备和计算机可读介质 |
CN111124269B (zh) | 2018-10-31 | 2023-10-27 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机可读存储介质 |
US11436203B2 (en) | 2018-11-02 | 2022-09-06 | EMC IP Holding Company LLC | Scaling out geographically diverse storage |
CN111857541B (zh) * | 2019-04-25 | 2024-07-05 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
CN111858130A (zh) * | 2019-04-29 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | 用于拆分盘集的方法、设备和计算机程序产品 |
CN111858188A (zh) * | 2019-04-29 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | 存储管理的方法、设备和计算机程序产品 |
US11748004B2 (en) | 2019-05-03 | 2023-09-05 | EMC IP Holding Company LLC | Data replication using active and passive data storage modes |
US11449399B2 (en) | 2019-07-30 | 2022-09-20 | EMC IP Holding Company LLC | Mitigating real node failure of a doubly mapped redundant array of independent nodes |
US11449248B2 (en) | 2019-09-26 | 2022-09-20 | EMC IP Holding Company LLC | Mapped redundant array of independent data storage regions |
CN112764661A (zh) * | 2019-10-21 | 2021-05-07 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
RU2019134842A (ru) * | 2019-10-30 | 2021-04-30 | ИЭмСи АйПи ХОЛДИНГ КОМПАНИ, ЛЛС | Система и способ выбора уровня избыточного массива независимых дисков (raid) для экстента сегмента запоминающего устройства |
US11435910B2 (en) | 2019-10-31 | 2022-09-06 | EMC IP Holding Company LLC | Heterogeneous mapped redundant array of independent nodes for data storage |
US11435957B2 (en) | 2019-11-27 | 2022-09-06 | EMC IP Holding Company LLC | Selective instantiation of a storage service for a doubly mapped redundant array of independent nodes |
US11507308B2 (en) | 2020-03-30 | 2022-11-22 | EMC IP Holding Company LLC | Disk access event control for mapped nodes supported by a real cluster storage system |
CN113535065B (zh) * | 2020-04-14 | 2024-07-12 | 伊姆西Ip控股有限责任公司 | 在存储系统中管理条带的方法、设备和计算机程序产品 |
CN113535066A (zh) * | 2020-04-14 | 2021-10-22 | 伊姆西Ip控股有限责任公司 | 在存储系统中管理条带的方法、设备和计算机程序产品 |
US11169880B1 (en) * | 2020-04-20 | 2021-11-09 | EMC IP Holding Company LLC | Storage system configured to guarantee sufficient capacity for a distributed raid rebuild process |
CN114115698A (zh) * | 2020-08-27 | 2022-03-01 | 伊姆西Ip控股有限责任公司 | 在存储系统中创建条带的方法、设备和计算机程序产品 |
US11693983B2 (en) | 2020-10-28 | 2023-07-04 | EMC IP Holding Company LLC | Data protection via commutative erasure coding in a geographically diverse data storage system |
CN114564144B (zh) * | 2020-11-27 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 在存储系统中创建区块阵列的方法、设备和程序产品 |
CN112698787A (zh) * | 2020-12-28 | 2021-04-23 | 杭州海康威视系统技术有限公司 | 写数据方法、装置及计算机存储介质 |
US11847141B2 (en) | 2021-01-19 | 2023-12-19 | EMC IP Holding Company LLC | Mapped redundant array of independent nodes employing mapped reliability groups for data storage |
US11625174B2 (en) * | 2021-01-20 | 2023-04-11 | EMC IP Holding Company LLC | Parity allocation for a virtual redundant array of independent disks |
CN115220646A (zh) * | 2021-04-21 | 2022-10-21 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
US11354191B1 (en) | 2021-05-28 | 2022-06-07 | EMC IP Holding Company LLC | Erasure coding in a large geographically diverse data storage system |
US11449234B1 (en) | 2021-05-28 | 2022-09-20 | EMC IP Holding Company LLC | Efficient data access operations via a mapping layer instance for a doubly mapped redundant array of independent nodes |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1247608A (zh) * | 1997-02-27 | 2000-03-15 | 国际商业机器公司 | 用于分级存储管理系统的转换廉价磁盘冗余阵列 |
CN1679000A (zh) * | 2002-06-24 | 2005-10-05 | 网络装置公司 | 在raid数据重建和转移中使用文件系统信息 |
CN101526882A (zh) * | 2008-03-03 | 2009-09-09 | 中兴通讯股份有限公司 | 独立磁盘冗余阵列子系统中逻辑单元重建的方法及装置 |
CN101576833A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种独立磁盘冗余阵列raid数据重建方法和装置 |
CN102508733A (zh) * | 2011-09-22 | 2012-06-20 | 杭州华三通信技术有限公司 | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 |
CN103136116A (zh) * | 2011-12-05 | 2013-06-05 | 财团法人工业技术研究院 | 存储器存储系统及其中控装置、管理方法与断电恢复方法 |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
CN105068896A (zh) * | 2015-09-25 | 2015-11-18 | 浙江宇视科技有限公司 | 基于raid备份的数据处理方法及装置 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409582B2 (en) * | 2004-05-06 | 2008-08-05 | International Business Machines Corporation | Low cost raid with seamless disk failure recovery |
EP2021904A2 (en) * | 2006-05-24 | 2009-02-11 | Compellent Technologies | System and method for raid management, reallocation, and restriping |
US8099623B1 (en) * | 2008-10-08 | 2012-01-17 | Netapp, Inc. | Efficient distributed hot sparing scheme in a parity declustered RAID organization |
US7904749B2 (en) * | 2008-10-24 | 2011-03-08 | Hitachi, Ltd. | Fast data recovery from HDD failure |
US8285952B2 (en) * | 2009-09-17 | 2012-10-09 | Hitachi, Ltd. | Method and apparatus to utilize large capacity disk drives |
US8677063B2 (en) * | 2010-07-30 | 2014-03-18 | International Business Machines Corporation | Parity declustered storage device array with partition groups |
US9032146B2 (en) * | 2010-11-30 | 2015-05-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Dynamic use of raid levels responsive to workload requirements |
JP5887757B2 (ja) * | 2011-08-17 | 2016-03-16 | 富士通株式会社 | ストレージシステム、ストレージ制御装置およびストレージ制御方法 |
US8799705B2 (en) * | 2012-01-04 | 2014-08-05 | Emc Corporation | Data protection in a random access disk array |
US8892941B2 (en) * | 2012-06-27 | 2014-11-18 | International Business Machines Corporation | Recovering a volume table and data sets from a corrupted volume |
US9766837B2 (en) * | 2015-06-10 | 2017-09-19 | Micron Technology, Inc. | Stripe mapping in memory |
KR102277731B1 (ko) * | 2015-07-21 | 2021-07-14 | 삼성전자주식회사 | 스토리지 시스템의 구동 방법 및 스토리지 컨트롤러 |
US9841908B1 (en) * | 2016-06-30 | 2017-12-12 | Western Digital Technologies, Inc. | Declustered array of storage devices with chunk groups and support for multiple erasure schemes |
US10203880B1 (en) | 2016-09-29 | 2019-02-12 | EMC IP Holding Company LLC | Selectively operating data storage equipment in a “stripe write” mode and a “fill hole” mode |
US10229022B1 (en) | 2017-04-27 | 2019-03-12 | EMC IP Holding Company LLC | Providing Raid-10 with a configurable Raid width using a mapped raid group |
US10140041B1 (en) | 2017-07-28 | 2018-11-27 | EMC IP Holding Company LLC | Mapped RAID (redundant array of independent disks) in a data storage system with RAID extent sub-groups that are used to perform drive extent allocation and data striping for sequential data accesses to a storage object |
-
2016
- 2016-09-23 CN CN201610849476.1A patent/CN107870730B/zh active Active
-
2017
- 2017-09-20 US US15/709,667 patent/US10599357B2/en active Active
-
2020
- 2020-03-20 US US16/825,690 patent/US11163472B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1247608A (zh) * | 1997-02-27 | 2000-03-15 | 国际商业机器公司 | 用于分级存储管理系统的转换廉价磁盘冗余阵列 |
CN1679000A (zh) * | 2002-06-24 | 2005-10-05 | 网络装置公司 | 在raid数据重建和转移中使用文件系统信息 |
CN101526882A (zh) * | 2008-03-03 | 2009-09-09 | 中兴通讯股份有限公司 | 独立磁盘冗余阵列子系统中逻辑单元重建的方法及装置 |
CN101576833A (zh) * | 2009-06-26 | 2009-11-11 | 杭州华三通信技术有限公司 | 一种独立磁盘冗余阵列raid数据重建方法和装置 |
CN102508733A (zh) * | 2011-09-22 | 2012-06-20 | 杭州华三通信技术有限公司 | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 |
CN103136116A (zh) * | 2011-12-05 | 2013-06-05 | 财团法人工业技术研究院 | 存储器存储系统及其中控装置、管理方法与断电恢复方法 |
CN104142872A (zh) * | 2014-08-13 | 2014-11-12 | 浪潮电子信息产业股份有限公司 | 一种raid磁盘阵列的快速重建方法 |
CN105068896A (zh) * | 2015-09-25 | 2015-11-18 | 浙江宇视科技有限公司 | 基于raid备份的数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20180088857A1 (en) | 2018-03-29 |
US11163472B2 (en) | 2021-11-02 |
CN107870730A (zh) | 2018-04-03 |
US10599357B2 (en) | 2020-03-24 |
US20200225861A1 (en) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870730B (zh) | 用于管理存储系统的方法和系统 | |
US10606491B2 (en) | Providing redundancy in a virtualized storage system for a computer system | |
US10126988B1 (en) | Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system | |
US10489210B2 (en) | Layering a distributed storage system into storage groups and virtual chunk spaces for efficient data recovery | |
US10289336B1 (en) | Relocating data from an end of life storage drive based on storage drive loads in a data storage system using mapped RAID (redundant array of independent disks) technology | |
US10459814B2 (en) | Drive extent based end of life detection and proactive copying in a mapped RAID (redundant array of independent disks) data storage system | |
US10210045B1 (en) | Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system | |
US10140041B1 (en) | Mapped RAID (redundant array of independent disks) in a data storage system with RAID extent sub-groups that are used to perform drive extent allocation and data striping for sequential data accesses to a storage object | |
CN109725831B (zh) | 管理存储系统的方法、系统和计算机可读介质 | |
US10146447B1 (en) | Mapped RAID (redundant array of independent disks) in a data storage system with drive extents allocated to individual RAID extents from individual sub-groups of storage made up of ranges of logical block addresses defined across a group of hard disk drives | |
CN107515726B (zh) | 用于管理存储设备的方法和系统 | |
US10120769B2 (en) | Raid rebuild algorithm with low I/O impact | |
US10552078B2 (en) | Determining an effective capacity of a drive extent pool generated from one or more drive groups in an array of storage drives of a data storage system that uses mapped RAID (redundant array of independent disks) technology | |
CN110413208B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US10678643B1 (en) | Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system | |
CN109725827B (zh) | 管理存储系统的方法、系统和计算机程序产品 | |
US10296252B1 (en) | Reducing drive extent allocation changes while splitting a group of storage drives into partnership groups in response to addition of a storage drive to an array of storage drives in a data storage system that uses mapped RAID (redundant array of independent disks) technology | |
JP2018508073A (ja) | データ除去、割り当て、及び再構築 | |
CN111104051B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US20110202723A1 (en) | Method of allocating raid group members in a mass storage system | |
CN109213428B (zh) | 用于管理存储系统的方法和设备 | |
CN111857541A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
CN113552998B (zh) | 用于管理存储系统中的条带的方法、设备和程序产品 | |
CN112764661A (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US10942826B2 (en) | Method and device for managing storage system |
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 |