CN110096216B - 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品 - Google Patents

用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品 Download PDF

Info

Publication number
CN110096216B
CN110096216B CN201810089375.8A CN201810089375A CN110096216B CN 110096216 B CN110096216 B CN 110096216B CN 201810089375 A CN201810089375 A CN 201810089375A CN 110096216 B CN110096216 B CN 110096216B
Authority
CN
China
Prior art keywords
raid
storage devices
storage
zones
zone
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
Application number
CN201810089375.8A
Other languages
English (en)
Other versions
CN110096216A (zh
Inventor
李卫华
高健
康剑斌
王胜
马春
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810089375.8A priority Critical patent/CN110096216B/zh
Priority to US15/966,031 priority patent/US10776205B2/en
Publication of CN110096216A publication Critical patent/CN110096216A/zh
Application granted granted Critical
Publication of CN110096216B publication Critical patent/CN110096216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2094Redundant storage or storage space
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了用于管理数据存储系统中的数据存储的方法、装置、计算机程序产品以及技术。在一个实施例中,技术确定具有由处于非操作状态的存储设备上的存储区支持的盘区的一个或多个RAID区。RAID区中的每个RAID区包含被分配到该RAID区的相应盘区子集,并且每个盘区由存储设备集合中的存储设备上的存储区支持。技术还包括评估一组值,其中针对来自存储设备集合的对应的一对存储设备,每个值指示包含属于该对的两个存储设备的盘区的RAID区的数目。技术还包括:基于所述评估并且针对一个或多个RAID区中的每个RAID区,选择用于促进该RAID区的重建的自由盘区,其中所述自由盘区由存储设备集合中的、除了与该RAID区相关联的存储设备之一之外的存储设备的存储区来支持。

Description

用于管理数据存储系统中的数据存储的方法、装置以及计算 机程序产品
技术领域
本发明涉及数据存储。更特别地,本发明涉及用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品。
背景技术
系统可以包括由一个或多个主处理器使用的不同资源。系统中的资源和主处理器可以通过一个或多个通信连接(诸如网络连接)相互连接。这些资源可以包括例如数据存储设备,诸如由马萨诸塞州的霍普金顿的Dell EMC制造的数据存储系统中所包括的那些数据存储设备。这些数据存储系统可以被耦合到一个或多个主处理器并且将存储服务提供到每个主处理器。来自一个或多个不同的供应商的多个数据存储系统可以被连接,并且可以为计算机系统中的一个或多个主处理器提供共同数据存储。
主机可以使用数据存储系统来执行各种数据处理任务和操作。例如,主机可以结合数据请求执行基本系统I/O(输入/输出)操作,诸如数据读取和写入操作。
主机系统可以使用包含多个主机接口单元、盘驱动器(或更一般地存储设备)以及盘接口单元的数据存储系统来存储和取回数据。例如由Dell EMC提供这样的数据存储系统。主机系统通过与此提供的多个信道来访问存储设备。主机系统通过信道将数据和访问控制信息提供到数据存储系统的存储设备,并且存储设备的数据还通过信道从数据存储系统还被提供到主机系统。主机系统未直接地寻址数据存储系统的盘驱动器,而是相反,访问对于主机系统表现为多个文件、对象、逻辑单元、逻辑设备或者逻辑卷的那些内容。这些可以或可以不对应于实际的物理驱动器。允许多个主机系统访问单个数据存储系统允许主机系统共享存储在其中的数据。
发明内容
公开了一种方法,其包括:检测与数据存储系统的存储设备集合中的存储设备有关的非操作状态;响应于检测到非操作状态,确定具有由与非操作状态相关联的存储设备上的存储区支持的盘区的一个或多个RAID区,其中RAID区中的每个RAID区包含被分配到该RAID区的相应盘区集,并且每个盘区由存储设备集合中的存储设备上的存储区支持;评估一组值,其中针对来自存储设备集合的对应的一对存储设备,每个值指示包含属于该对的两个存储设备的盘区的RAID区的数目;基于所述评估,针对一个或多个RAID区中的每个RAID区,选择由存储设备集合中的、除了与该RAID区相关联的存储设备之一之外的存储设备的存储区支持的自由(free)盘区;以及通过利用被选择用于相应的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组配置的示例;
图4A和图4B是图示根据在此技术的实施例的映射RAID区的示例;
图5是图示可以被使用在根据在此技术的实施例中的邻近矩阵的示例;
图6是图示映射RAID区的好的相对均匀分布的示例;
图7是图示跨池的存储设备的映射RAID区的相对不均匀分布的示例;
图8是可以被执行在根据在此技术的实施例中的处理步骤的流程图;
图9是图示定义根据在此技术的实施例中的可能的新RAID区配置的邻近矩阵/加权邻近矩阵的示例;以及
图10A至图10D图示在根据在此技术的实施例中备份之前和之后邻近矩阵和加权邻近矩阵中的值的分布。
具体实施方式
参考图1,示出了可以结合执行在此所描述的技术使用的系统的实施例的示例。系统10包括通过通信介质18连接到主机系统14a-14n的数据存储系统12。在计算机系统10的该实施例中,n个主机14a-14n可以例如通过发出输入/输出(I/O)操作或者数据请求来访问数据存储系统12。通信介质18可以是各种网络或如本领域的技术人员已知的其他类型的通信连接中的任何一种或多种。通信介质18可以是网络连接、总线和/或其他类型的数据链接(诸如硬连线或本领域中已知的其他连接)。例如,通信介质18可以是因特网、内联网、网络(包括存储区域网络(SAN))或其他无线或其他(一个或多个)硬连线连接,通过通信介质18主机系统14a-14n可以访问并且与数据存储系统12通信,并且还可以与被包括在系统10中的其他部件通信。
被包括在系统10中的主机系统14a-14n和数据存储系统12中的每一个可以通过如可以根据通信介质18的类型提供并且支持的各种连接中的任一中连接而被连接到通信介质18。被包括在主计算机系统14a-14n中的处理器可以是各种专有或可商购的单个或多处理器系统中的任一个,诸如基于Intel的处理器,或者能够根据每个特定实施例和应用支持流量的其他类型的可商购的处理器。
应当注意,在此更详细地描述可以被包括在数据存储系统12中的硬件和软件的特定示例,并且可以随着每个特定实施例而变化。主计算机14a-14n和数据存储系统中的每一个可以全部位于相同物理地点处,或者备选地还可以位于不同的物理位置中。可以被用于提供系统10的主计算机系统与数据存储系统之间的不同的类型的连接的通信介质的示例可以使用各种不同的通信协议,诸如基于块的协议(例如,SCSI、光纤信道、iSCSI)、基于文件系统的协议(例如,NFS),等等。主机和数据存储系统可以被连接到通信介质所通过的连接中的一些连接或全部连接可以穿过其他通信设备,可以存在这样的交换设备,诸如电话线、中继器、多路复用器、或者甚至卫星。
主计算机系统中的每一个可以根据不同的类型的任务来执行不同的类型的数据操作。在图1的实施例中,主计算机14a-14n中的任一个可以将数据请求发出到数据存储系统12以执行数据操作。例如,在主计算机14a-14n中的一个主计算机上执行的应用可以执行导致对数据存储系统12的一个或多个数据请求的读取或者写入操作。
应当注意,虽然元件12被图示为单个数据存储系统(诸如单个数据存储阵列),但是元件12还可以单独或组合其他数据存储设备、系统、装置和/或具有适合的连接性的部件而表示例如多个数据存储阵列,诸如在SAN中、在使用在此技术的实施例中。还应当注意,实施例可以包括来自一个或多个供应商的数据存储阵列或者其他部件。在在此技术所图示的后续示例中,可能通过供应商(诸如通过马萨诸塞州的霍普金顿的Dell EMC)对单个数据存储阵列进行参考。然而,如本领域的技术人员将理解到,在此技术适于与由其他供应商造成的其他数据存储阵列以及与除了出于示例的目的如在此所描述的之外的其他部件一起使用。
数据存储系统12可以是包括多个数据存储设备16a-16n的数据存储阵列。数据存储设备16a-16n可以包括一种或多种类型的物理数据存储设备(PD或物理设备),诸如例如一个或多个旋转盘驱动器和/或一个或多个固态驱动器(SSD)。SSD是使用固态存储器来存储持久性数据的数据存储设备。使用SRAM或DRAM而不是闪速存储器的SSD还可以被称为RAM驱动器。SSD可以指代如与具有移动部件的机电设备(诸如硬驱动器)区分的固态电子设备。闪速设备或者基于闪速存储器的SSD是不包含移动机械部件的一种类型的SSD。闪速设备可以使用非易失性半导体NAND闪速存储器而被构建。闪速设备可以包括一个或多个SLC(单层单元)设备和/或MLC(多层单元)设备。
数据存储阵列还可以包括不同类型的适配器或导向器,诸如HA21(主机适配器)、RA 40(远程适配器)和/或设备接口23。适配器中的每个适配器可以使用包括具有本地存储器的处理器的硬件而被实现,本地存储器具有被存在其上以用于结合执行不同的操作执行的代码。HA可以被用于管理一个或多个主机系统与全局存储器(GM)之间的通信和数据操作。在实施例中,HA可以是光纤信道适配器(FA)或其他适配器,其促进主机通信。HA 21可以被表征为从主机接收请求的数据存储系统的前端部件。数据存储阵列可以包括可以被用于例如促进数据存储阵列之间的通信的一个或多个RA。数据存储阵列还可以包括用于促进至/自数据存储设备16a-16n的数据传送的一个或多个设备接口23。数据存储接口23可以包括设备接口模块,例如,一个或多个盘适配器(DA)(例如,盘控制器)、被用于与闪速驱动器对接的适配器,等等。DA还可以被表征为与物理数据存储设备对接的数据存储系统的后端部件。
一个或多个内部逻辑通信路径可以存在于设备接口23、RA 40、HA 21以及存储器26之间。例如,实施例可以使用一个或多个内部总线和/或通信模块。例如,全局存储器部分25b可以被用于促进数据存储阵列中的设备接口、HA和/或RA之间的数据传送和其他通信。在一个实施例中,设备接口23可以使用可以被包括在全局存储器25b中的高速缓存来执行数据操作,例如,当与数据存储阵列的其他设备接口和其他部件通信时。其他部分25a是可以结合可以根据每个实施例而变化的其他指派而被使用的存储器的该部分。
如在该实施例中所描述的特定数据存储系统或者其特定设备(诸如盘或者闪速设备的特定方面)不应当被解释为限制。其他类型的可商购的数据存储系统以及处理器和控制对这些特定设备的访问权的硬件也可以被包括在实施例中。
主机系统通过信道将数据和访问控制信息提供到存储系统,并且存储系统还通过信道还将数据提供到主机系统。主机系统未直接地寻址存储系统的驱动器或者设备16a-16n,而是相反对数据的访问可以被提供到一个或多个主机系统,主机系统将一个或多个主机系统视为多个逻辑设备、逻辑卷(LV),逻辑卷还可以在此被称为逻辑单元(例如,LUN)。逻辑单元(LUN)可以被表征为对已经格式化并且被分配用于一个或多个主机的盘空间量的盘阵列或者数据存储系统参考。逻辑单元可以具有逻辑单元号(即,用于逻辑单元的I/O地址)。如在此使用的,(一个或多个)LUN可以指代可以由这样的逻辑单元号参考的存储的不同逻辑单元。LUN可以对应或者可以不对应于实际或者物理盘驱动器或者更一般地物理存储设备。例如,一个或多个LUN可以驻留在单个物理盘驱动器上,单个LUN的数据可以驻留在多个不同的物理设备上等。单个数据存储系统(诸如单个数据存储阵列)中的数据可以由允许主机共享驻留在其中的数据的多个主机来访问。HA可以结合数据存储阵列与主机系统之间的通信而被使用。RA可以使用在促进两个数据存储阵列之间的通信中。DA可以是结合促进相关联的(一个或多个)盘驱动器和驻留在其上的(一个或多个)LUN的数据传送而使用的一种类型的设备接口。闪速设备接口可以是结合促进相关联的闪速设备和驻留在其上的(一个或多个)LUN的数据传送而使用的另一类型的设备接口。应当注意,实施例可以使用针对与如在此所描述的不同的一个或多个不同类型的设备的相同或者不同的设备接口。
在根据在此技术的实施例中,如所描述的数据存储系统可以被表征为具有一个或多个逻辑映射层,其中数据存储系统的逻辑设备在其中被暴露给主机,借此逻辑设备由数据存储系统的这样的映射层映射到一个或多个物理设备。此外,主机还可以具有一个或多个附加映射层,使得例如,主机侧逻辑设备或卷被映射到如被呈现给主机的一个或多个数据存储系统逻辑设备。
设备接口(诸如DA)对物理设备或驱动器16a-16n执行I/O操作。在以下描述中,驻留在LUN上的数据可以结合其他导向器起源的I/O操作跟随数据请求而由设备接口访问。服务特定物理设备的DA可以执行处理以或者从用于I/O操作的对应的物理设备位置读取数据或者将数据写入到用于I/O操作的对应的物理设备位置。
在图1中还示出了可以被用于管理和监测系统12的管理系统22a。在一个实施例中,管理系统22a可以是计算机系统,其包括数据存储系统管理软件或应用(诸如可以在网络浏览器中被执行)。数据存储系统管理器可以例如查看关于管理系统22a的显示设备中的用户接口(UI)上的当前数据存储配置(诸如LUN、存储池等)的信息。备选地,并且更一般地,管理软件可以在任何适合的系统中的任何适合的处理器上执行。例如,数据存储系统管理软件可以在数据存储系统12的处理器上执行。
不同的适配器(诸如HA 21、DA或盘接口、RA等)中的每个适配器可以被实现为硬件部件,包括例如一个或多个处理器、一种或多种形式的存储器,等等。代码可以被存储在用于执行处理的部件的存储器中的一个或多个存储器中。
数据存储系统的实施例可以包括具有来自与在此所描述的不同名称的部件,但是执行与如在此所描述的部件类似的功能。此外,在单个数据存储系统内以及数据存储系统之间的部件可以使用可以与出于示例性目的在此所描述的不同的任何适合的技术进行通信。例如,图1的元件12可以是数据存储系统,诸如马萨诸塞州的霍普金顿的Dell EMC的
Figure BDA0001563258440000081
数据存储系统,其包括多个存储处理器(SP)。SP 27中的每个SP 27可以是包括一个或多个“核心”或处理器的CPU,并且各自具有被用于不同的前端与后端部件之间的通信的其自己的存储器,而不是利用对所有存储处理器可访问的全局存储器。在这样的实施例中,存储器26可以表示每个这样的存储处理器的存储器。
如本领域中已知的,RAID(独立盘冗余阵列)组是提供RAID组内的不同的保护级别和故障容限的物理存储设备或者构件组。RAID组基于包括RAID组的物理驱动器的特定配置来提供相关联的保护级别。由RAID组所提供的特定的保护级别可以是标准和/或众所周知的级别和配置(例如,RAID-0、RAID-1、RAID-5、RAID-6,等等)之一。在至少一个实施例中,物理驱动器可以被配置为一个或多个RAID级的RAID组。如本领域中已知的,LUN可以具有从RAID组提供或者建立在其上的存储。
在以下段落中描述了可以被用于将映射RAID区均匀地(或者近似均匀地)布局到池的所有物理存储设备(PD)的技术。使用如在此所使用的映射RAID的一个益处是比使用传统RAID更好的重建性能。如下面更详细地描述的,为了获得具有映射RAID的经改进的重建性能,在此技术试图将映射RAID区尽可能均匀地分布到PD。以这种方式,当一个PD故障时,所有的其他PD可以涉及重建过程。根据在此技术,处理可以被执行以独立于池中的PD的数目、独立于待分配的RAID区的数目并且独立于RAID区宽度(例如,RAID组中的PD的数目,M)而将RAID区均匀地布局到PD。在根据在此技术的至少一个实施例中,邻近矩阵可以被用于评估映射RAID区是否均匀地分布到池的PD。此外,如下面更详细地描述的,在根据在此技术的至少一个实施例中,可以使用选择组合的小子集而不是所有可能组合来提高处理效率并且降低计算复杂性。
如上文所指出的,在一个方面中,出于数据冗余、性能改进或者二者的目的,RAID可以被表征为将多个PD组合为单个逻辑单元的数据存储可视化技术。数据以数种方式之一跨驱动器被分布(被称为RAID级别),这取决于冗余和性能的所要求的级别。
现在参考图2,示出了图示具有包括4个数据PD和1个校验PD的5个构件PD的RAID组的传统RAID 5布局的示例。如本领域中已知的,RAID 5提供具有分布式校验的块级条带化。校验信息被分布在PD之间。在图2的示例100中,每个条带包括5个块,其包括4个数据块(被表示为D0、D1、D2和D3)和1个校验块(被表示为P)。在单个PD的故障时(诸如,如参考图3的示例200所图示的PD3 206的故障),后续读取可以根据分布式校验被计算,使得没有数据丢失。此外,热备件PD 202可以被选择以替换故障的PD3 206并且发生故障的PD3 206的所有数据可以被重建204并且写入到新PD 202。
随着新的物理存储技术(例如,挤压介质盘)出现,单个PD的存储能力逐年增加并且因此重建时间增加。换句话说,客户可能面对双PD故障的增加的风险,其在RAID组重建时间未减少的情况下可能导致丢失数据。然而,重建时间受制于替换故障PD的热备件PD的写入带宽。利用传统的RAID组(诸如在图2和图3中的),热备件的写入带宽可能当前是瓶颈并且其可以因此使用这样的传统RAID降低重建时间是困难的。因此,可以使用在以下段落中所描述的映射RAID技术,如在以下段落中所描述的。
参考图4A,示出了图示根据在此技术的实施例的映射RAID技术的使用的示例。示例300包括N个PD的池,其中N是具有取决于特定RAID配置和驱动器构件的最小值的整数。N个PD可以被称为包括性地使用索引0到N-1。例如,考虑诸如结合具有包括4个数据构件和1个校验构件的M=5个构件的图2上文所描述的RAID 5。被用于映射RAID的池中的PD的最小数目可以是至少M,RAID组构件的数目,其在该示例中是5。因此,PN的数目N大于或等于M。应当注意,前述M还可以表示在此其他地方如更详细地描述的每个映射RAID区中的RAID区宽度或者盘区的数目。通常,在N个PD的池上创建映射RAID。被用于配置映射RAID的池的每个PD可以被视为一组连续的非重叠的固定大小盘(PD)区或部分。
每个映射RAID区(在此还被简单地称为RAID区)可以包括M个不同的盘区(例如,PD区或部分),其中每个盘区选自N个PD中的不同的PD。例如,第一RAID区A可以包括5个盘区302a-e;第二RAID区B可以包括5个盘区304a-e;第三RAID区C可以包括5个盘区306a-e;以及第四RAID区D可以包括5个盘区308a-e。在该示例300中,被用于存储用户数据的每个盘或PD区被表示为Dn,其中n是0-3的范围内的整数。被用于存储校验信息的每个盘或者PD区被表示为P。自由(未分配的)或以其他方式保留的盘或者PD区可以不包括图4A中的任何P或Dn指派。
盘区中的一些盘区可以被保留在N个PD中的每个PD上,用作热备件盘区而不是保留整个PD作为传统RAID组中的热备件。在此技术可以选择在将RAID区均匀地分布到池的所有N个PD的目标的情况下形成映射RAID区中使用的盘区。当池的N个PD之一发生故障(或者出于无论什么原因变得非操作的)时,对于被包括在映射RAID区中的发生故障PD上的每个盘区而言,可以通过从保持池的活跃/在线/健康PD的另一个之一选择另一替换盘区来获得替换盘区。这样的选择可以基于指定的准则。当选择用于包括在用于归因于故障PD的这样的替换的映射RAID区中的盘区时,选择准则可以包括选择替换盘区以便保证每个映射RAID区包括5个不同的PD上的盘区。此外,选择用于故障PD的死亡盘区的替换盘区可以以基于将死亡盘区替换均匀地分布在池的剩余的N-1PD之间的另一选择准则的方式而被执行。
例如,参考图4B,假定PD4发生故障,其中盘区302d和308c可以被重新定位到剩余的N-1个PD中的另一个。根据上文所指出的准则,盘区302d可以被重新分配到PD3上的盘区X1,并且盘区308c可以被重新分配到PD N-1上的盘区Y1。
如由本领域的技术人员可以理解到的,利用诸如在图4A和图4B中所图示的映射RAID技术,不再存在单个备件PD写带宽的限制,因为在此技术利用不同的PD上的区来替换死亡盘区。此外,为了使重建性能最大化,尽可能多的PD应当参与重建过程(如使用随着特定RAID级别和配置变化的本领域中已知的众所周知的技术结合重建或重构死亡盘区而执行的)。为了实现经改进的重建性能,在此技术可以包括在创建/形成映射RAID区时跨池的所有PD均匀地分布(尽可能均匀地)映射RAID区的处理。
在描述可以在根据在此技术的实施例中执行的处理的细节之前,现在将描述如何评估/确定池的N个Pd之间的RAID区分布是否均匀。在至少一个实施例中,可以使用邻近矩阵。
如在图5中所图示的,邻近矩阵是N*N方形矩阵,其中N是池中的PD的数目,如上文所描述的。矩阵的每个条目或单元可以使用一对坐标i,j标识,其中“i”标识矩阵的行并且“j”标识矩阵的列。被定位在行i、列j中的矩阵的条目或单元可以被称为NW(i,j),其中条目或单元的内容可以是池的PD i已经与池的PD j相邻多少次的数量。如果这样的盘或PD区被包括在相同映射RAID区中,则两个盘或者PD区(诸如来自两个不同的PD)可以被定义为相邻区。因此,NW(i,j)表示来自PDi的盘区已经被选择或者被包括在与来自PDj的盘区相同的映射RAID区中的次数(例如,PDi和PDj已经是邻居或者被包括在相同的映射RAID区中多少次)。当分配映射RAID区时,处理包括从不同的PD选择盘区。我们将该相同映射RAID区中的PD定义为彼此的邻居一次。邻近矩阵是对称的,因为基于“邻居”的前述定义,NW(i,j)应当等于NW(i,j)。
为了进一步图示并且返回参考图4A,考虑当选择从池被分配的用于单个映射RAID区Q的5个盘区时所执行的处理的示例。假定针对形成映射RAID区Q选择的5个盘区已经选自PD 0、PD 1、PD 2、PD 3和PD 4(例如,选自PD 0-4中的每一个的1个盘区)。在这种情况下,邻近矩阵可以被更新为5个盘区的前述选择的结果,其中矩阵的以下项可以各自被递增一(1):
Figure BDA0001563258440000121
如果映射RAID区均匀地分布在池的N个PD之间,则因此被存储在矩阵的单元或条目中的值应当相同或者近似(例如,在彼此的某个指定容限或数量内)并且还排除对角线。因此,当分配以形成其中在完成RAID区分配之后这样的选择导致跨矩阵中的条目所存储的值几乎相同的映射RAID区时,在此技术可以选择不同的盘区。通常,可以使用试图具有使邻近矩阵中的条目的值之间的差或方差最小化的这样的均匀分布的目标的任何适合的技术。
参考图6,示出了图示根据在此技术的实施例中的邻近矩阵的值的好的或期望的分布的示例500。元素510图示了矩阵具有彼此相对接近的条目中的值(诸如在某个指定容限或差内近似地相同)。例如,在矩阵510中,矩阵中的项的值从19-21包含性地进行变化。元素520提供矩阵510中的值的可视化,其中元素520图示了相对平坦或均匀的分布。
参考图7,示出了图示根据在此技术的实施例中的邻近矩阵中的值的坏的或不期望的分布的示例600。元素610图示了矩阵具有彼此相对不接近的项目中的值(诸如在某个指定容限或差内不近似地相同)。例如,在矩阵610中,矩阵中的项的值具有宽的且不同的范围,并且一些值是零,这意味着一些PD绝不彼此相邻。因此,在这种情况下,如果一个PD发生故障,则一些PD将不参与重建过程。元素620提供矩阵610中的值的可视化,其中元素620未图示相对平坦或者均匀分布(例如,如可以与图6的元素520进行对比。
通常,如上文关于图6所描述的,当邻近矩阵是“平坦的”时,PD之间的“相邻次数”是类似的,这意味着数据存储系统可以分配来自PD的类似盘区计数,而不管真实的PD容量是什么。对于具有混合PD容量的池而言,这可能浪费大量的PD容量。
在一些实现中,为了考虑PD容量因数,在至少一些实施例中,数据存储系统通过示例可以利用以下定义的加权邻近矩阵(WNM):WNMi,j=NMi,j*Stypical*Stypical/(Si*Sj),其中
Stypical:通常被定义为池中的典型的PD大小,其可以是池中的最小或其他典型的PD大小。
Si,Sj:通常被定义为池中的第i个或第j个PD的大小。
利用该加权邻近矩阵,数据存储系统可以通过典型的PD大小利用其他PD将较大的PD的“相邻次数”标准化。因此,数据存储系统可以分配来自该PD的更多区以使矩阵更“平坦”。在一些实现中,如果数据存储系统将RAID区均匀地分布到具有与较大的PD的偏置的池中的PD,则矩阵中的值可以彼此更接近。因此,数据存储系统可以使用在完成RAID区分配之后可以使加权邻近矩阵中的值几乎相同的算法。
在至少一个实施例中,RAID区选择算法可以被执行以选择用于在映射RAID区的格式中使用的盘区。为了方便并且与在此其他讨论一致,假定池中的PD的数目是N并且RAID区宽度是M。因此,应当存在结合形成单个映射RAID区组合或者选择盘区的
Figure BDA0001563258440000141
种可能的方式。作为示例并且继续具有映射到包括16个PD(例如,N=16)16个盘的池上的5,4D+1P(例如,4个数据构件和1个校验构件)的RAID区宽度的RAID-5配置,在这种情况下,总共存在分配来自池的16个PD的映射RAID区的
Figure BDA0001563258440000142
方式(例如,从来自16个PD的池的5个PD选择5个盘区)。
在分配映射RAID区之后,可以因此更新矩阵,如在此所描述的。当分配用于映射的RAID区信息的盘区时,可以试图尝试所有可能盘区组合,并且选择将使矩阵更“平坦”的一种组合。换句话说,处理可以被执行以选择将使矩阵中的数字彼此接近得多的盘区的特定集合或组合。例如,实施例可以使用适合的度量、测量或统计数据(诸如方差)。例如,实施例可以将矩阵项中的所有值的方差用作“平坦”的指示符或者测量(例如,矩阵条目的分布的均匀性的指示符或者测量)。
对于每个映射RAID区分配而言,实施例可以在盘区的所有可能选择或者组合之上进行循环,并且选择“最好的”一个,其将使矩阵更“平坦”(例如,从5个PD选择用于映射的RAID区的5个盘区,其导致关于矩阵项的最小值或最小方差)。在这样的实施例中,最终当所有映射RAID区被分配时,我们期望最后矩阵也是“平坦的”或者近似地因此,其接近于全局优化解。
然而,当N(池中的PN的数目)是很大时,所有可能选择或者组合的数目可能是不可接受地很大,其中考虑如上文所描述的每个这样的组合变得实现中的计算上不可接受和/或不实际的(例如,未随着N增加成比例)。例如,考虑其中N是100并且M是5的情况,其中
Figure BDA0001563258440000151
对于该示例中的每个映射RAID区分配而言,评估所有可能选择是极其耗费时间的。因此,作为根据在此技术的至少一个实施例中的变型,处理可以被执行以随机地选择用于评估/考虑的所有可能选择或者组合的子集,并且对于每个映射RAID区分配而言,可以执行仅考虑/评估小子集的处理(一个组合从其被选择用于单个映射RAID区分配)。例如,在以上示例中,当N是100并且M是5时,实施例可以随机地选择并且使用如被包括在小子集中的3000个不同的组合。在至少一个实施例中,当选择评估或者在考虑中的所有可能组合的子集时,可以强加规则,其中对于组合的子集而言,池的所有PD应当由子集覆盖。例如,假定子集是3000,其中5个PD的3000个可能组合随机地选自75287520个组合的可能总数。另外,被选择用于进一步的评估和考虑的子集的3000个组合还可以被要求以覆盖或者包括共同地跨所有100个PD的组合(例如,不能选择用于子集的3000个组合使得其中PD之一未出现在3000个组合中的任一个中;换句话说,100个PD中的每一个必须被包括在随机地选择的子集的3000个组合中的至少一个组合中)。
在另一实施例中,备份操作可以被执行以选择新的盘区替换在非操作状态(例如,发生故障、被移除等)中检测的PD上的所有消耗盘区,使得由非操作状态影响的RAID区可以使用所选择的新盘区而被重建。还应当理解,备份操作可以基于矩阵,如上文所描述的。例如,备份操作可以试图实现“平坦的”邻近矩阵或“平坦的”加权邻近矩阵,其可以进而确保更好的重建性能。因此,备份操作可以利用矩阵来选择盘区替换,使得矩阵保持“平坦”。例如,在至少一个实施例中,备份操作可以执行以下步骤来处理盘S的故障,其中在该特定示例中池中的盘数是N,RAID区宽度是M,并且故障盘的数目是S:
1.在所有RAID区上循环以标识消耗盘S上的盘区的RAID区中的每个RAID区并且从所标识的RAID区中的第一个开始。
2.对于相关RAID区而言,盘S上的盘区不再是RAID区的其他盘区的邻居,因此与矩阵(例如,邻近矩阵、加权邻近矩阵等)中的盘S的有关相邻值应当被丢弃或者被修改。
3.在池中的所有盘上循环以标识用于RAID区的候选盘,其中候选盘具有未由RAID区接触的自由盘区。
4.对于每个候选盘(被表示为“I”)而言,针对盘i和RAID区中的当前M-1个盘的矩阵(例如,邻近矩阵、加权邻近矩阵等)中的值可以被表示为{V1,V2,V3,…,Vm-1}。
5.将针对每个候选的值{V1,V2,V3,…,Vm-1}求和以创建得分[i]。
6.标识生成选择用于RAID区的备用盘区的最小得分的候选盘。
7.更新矩阵(例如,邻近矩阵、加权邻近矩阵等)。
8.在步骤1中所标识的所有降级的RAID区上循环并且执行步骤2到步骤7,可以确认用于所有RAID区的替换。
可以在根据参考图8在此技术的实施例中执行方法700的以下步骤。在步骤710中,检测与数据存储系统的存储设备集合中的存储设备有关的非操作状态。在步骤720中,响应于检测到非操作状态,确定具有由与非操作状态相关联的存储设备上的存储区支持的盘区的一个或多个RAID区,其中RAID区中的每个RAID区被包含分配到该RAID区的相应盘区集,并且每个盘区由存储设备集合中的存储设备上的存储区支持。在步骤730中,评估一组值,其中针对来自存储设备集合的对应的一对存储设备,每个值指示包含属于该对的两个存储设备的盘区的RAID区的数目。在步骤740中,基于评估,针对一个或多个RAID区中的每个RAID区,选择由存储设备集合中的、除了与该RAID区相关联的存储设备之一之外的存储设备的存储区支持的自由盘区。在步骤750中,通过利用被选择用于相应RAID区的自由盘区替换由与非操作状态相关联的存储设备支持的盘区来重建一个或多个RAID区。
图9是图示定义根据在此技术的实施例中的可能的新RAID区配置的邻近矩阵/加权邻近矩阵800的示例。在该特定实施例中,池中的PD(未图示的)之一已经发生故障,并且四个PD(1、2、3和5)结合受影响的RAID区保持在操作中。响应于故障,定义若干可能的新RAID区配置。例如,在该特定实施例中,各个可能的新RAID区配置包括替换发生故障的PD的新PD。与相应的可能新RAID区配置中的操作中的PD(即,PD1、2、3和5)相关联的值然后被求和以创建若干得分。最小得分随后地被标识,并且与最小得分相关联的可能的新RAID区配置中的新PD被选择以提供自由盘区以便替换与已发生故障的PD相关联的盘区。
图10A至图10D图示在根据在此技术的实施例中备份之前和之后邻近矩阵和加权邻近矩阵中的值的分布。矩阵900和矩阵910分别地图示了在备份之前和之后邻近矩阵中的值的分布。矩阵920和矩阵930分别地图示了在备份之前和之后加权邻近矩阵中的值的分布。加权邻近矩阵(920、930)有利地图示了与邻近矩阵(900、910)相比较的值的相对平坦或者均匀的分布。
上文描述了可以被用于在跨池的所有PD分布形成这样的映射RAID区的盘区的目标的情况下布局映射的RAID区的技术。利用在此所描述的这样的技术,当池的PD发生故障时,所有其他PD被涉及在整个重建过程(例如,被用于重建或者重构故障PD的数据)。因此,与现有的传统RAID组的典型的或期望的性能相比,重建性能被改进。如上文所描述的,在此技术可以使用邻近矩阵/加权邻近矩阵来评估映射RAID区是否跨池的PD均匀分布。在至少一个实施例中,组合的小子集可以被选择用于评估和考虑(而不是组合的整个集合)以试图降低计算复杂性及其相关联的计算时间和利用的资源。
可以通过执行被存储在任何一个或多个不同形式的计算机可读介质的代码执行在此技术。计算机可读介质可以包括可以可移除或者不可移除的不同形式的易失性(例如,RAM)和非易失性(例如,ROM、闪速存储器、磁性或光盘或者磁带)存储装置。
虽然已经结合详细示出的并且描述的优选实施例公开了本发明,但是在其上其修改和改进将对于本领域的技术人员变得明显。因此,本发明的精神和范围应当仅由所附权利要求进行限制。

Claims (15)

1.一种用于管理数据存储的方法,包括:
检测与数据存储系统的存储设备集合中的存储设备有关的非操作状态;
响应于检测到所述非操作状态,确定具有由与所述非操作状态相关联的所述存储设备上的存储区支持的盘区的一个或多个RAID区,其中所述RAID区中的每个RAID区包含被分配到该RAID区的相应盘区集,并且每个盘区由所述存储设备集合中的存储设备上的存储区支持;
评估一组值,其中针对来自所述存储设备集合的对应的一对存储设备,每个值指示包含属于所述对的两个存储设备的盘区的RAID区的数目;
基于所述评估,针对所述一个或多个RAID区中的每个RAID区,选择由所述存储设备集合中的、除了与该RAID区相关联的所述存储设备之一之外的存储设备的存储区支持的自由盘区;以及
通过利用被选择用于所述相应RAID区的所述自由盘区替换由与所述非操作状态相关联的所述存储设备支持的所述盘区,来重建所述一个或多个RAID区,
其中所述一个或多个RAID区中的每个RAID区要求来自所述存储设备集合中的、与该RAID区不关联的存储设备的自由盘区,以促进该RAID区的重建;以及
其中所述评估包括:
针对所述一个或多个RAID区中的每个RAID区:
结合包括来自所述RAID区的操作中的存储设备以及所述存储设备集合中的与所述RAID区不关联的存储设备的盘区的针对所述RAID区的一个或多个可能的新配置来计算一个或多个得分,其中所述一个或多个得分通过将来自描述针对所述RAID区的所述一个或多个可能的新配置的所述一组值的值求和而被计算;
标识来自所述一个或多个得分的最小得分,其中所述最小得分与所述一个或多个可能的新配置中的可能的新配置相关联;以及
基于所述最小得分,选择与所述一个或多个可能的新配置中的所述可能的新配置相关联的所述存储设备,以将所述自由盘区提供到所述RAID区。
2.根据权利要求1所述的方法,其中所述评估根据包括针对所述存储设备集合中的每对存储设备的所述值的邻近矩阵而被执行。
3.根据权利要求2所述的方法,其中所述邻近矩阵包括N行和N列,并且其中所述邻近矩阵的被定位在行I、列J处的每个条目(I,J)表示在RAID区内存储设备I与存储设备J相邻多少次的计数,使得每次来自存储设备I的盘区和来自存储设备J的盘区被包括在相同的RAID区中时,所述两个存储设备I和J彼此是邻居。
4.根据权利要求1所述的方法,其中所述值基于所述存储设备集合中的存储设备的容量而被加权。
5.根据权利要求1所述的方法,其中所述值基于所述存储设备集合中的典型的存储设备的容量以及与所述值相关联的所述一对存储设备的容量而被加权。
6.一种用于管理数据存储的装置,包括:
存储器;以及
处理电路,其被耦合到所述存储器,所述存储器存储指令,所述指令当由所述处理电路执行时,使得所述处理电路:
检测与数据存储系统的存储设备集合中的存储设备有关的非操作状态;
响应于检测到所述非操作状态,确定具有由与所述非操作状态相关联的所述存储设备上的存储区支持的盘区的一个或多个RAID区,其中所述RAID区中的每个RAID区包含被分配到该RAID区的相应盘区集,并且每个盘区由所述存储设备集合中的存储设备上的存储区支持;
评估一组值,其中针对来自所述存储设备集合的对应的一对存储设备,每个值指示包含属于所述对的两个存储设备的盘区的RAID区的数目;
基于所述评估,针对所述一个或多个RAID区中的每个RAID区,选择由所述存储设备集合中的、除了与该RAID区相关联的所述存储设备之一之外的存储设备的存储区支持的自由盘区;以及
通过利用被选择用于所述相应RAID区的所述自由盘区替换由与所述非操作状态相关联的所述存储设备支持的所述盘区,来重建所述一个或多个RAID区,
其中所述一个或多个RAID区中的每个RAID区要求来自所述存储设备集合中的、与该RAID区不关联的存储设备的自由盘区,以促进该RAID区的重建;以及
其中所述评估包括:
针对所述一个或多个RAID区中的每个RAID区:
结合包括来自所述RAID区的操作中的存储设备以及所述存储设备集合中的与所述RAID区不关联的存储设备的盘区的针对所述RAID区的一个或多个可能的新配置来计算一个或多个得分,其中所述一个或多个得分通过将来自描述针对所述RAID区的所述一个或多个可能的新配置的所述一组值的值求和而被计算;
标识来自所述一个或多个得分的最小得分,其中所述最小得分与所述一个或多个可能的新配置中的可能的新配置相关联;以及
基于所述最小得分,选择与所述一个或多个可能的新配置中的所述可能的新配置相关联的所述存储设备,以将所述自由盘区提供到所述RAID区。
7.根据权利要求6所述的装置,其中所述评估根据包括针对所述存储设备集合中的每对存储设备的所述值的邻近矩阵而被执行。
8.根据权利要求7所述的装置,其中所述邻近矩阵包括N行和N列,并且其中所述邻近矩阵的被定位在行I、列J处的每个条目(I,J)表示在RAID区内存储设备I与存储设备J相邻多少次的计数,使得每次来自存储设备I的盘区和来自存储设备J的盘区被包括在相同的RAID区中时,所述两个存储设备I和J彼此是邻居。
9.根据权利要求6所述的装置,其中所述值基于所述存储设备集合中的存储设备的容量而被加权。
10.根据权利要求6所述的装置,其中所述值基于所述存储设备集合中的典型的存储设备的容量以及与所述值相关联的所述一对存储设备的容量而被加权。
11.一种非暂态计算机可读介质,存储有指令集,所述指令集当由处理电路执行时,使得所述处理电路执行以下方法:
检测与数据存储系统的存储设备集合中的存储设备有关的非操作状态;
响应于检测到所述非操作状态,确定具有由与所述非操作状态相关联的所述存储设备上的存储区支持的盘区的一个或多个RAID区,其中所述RAID区中的每个RAID区包含被分配到该RAID区的相应盘区集,并且每个盘区由所述存储设备集合中的存储设备上的存储区支持;
评估一组值,其中针对来自所述存储设备集合的对应的一对存储设备,每个值指示包含属于所述对的两个存储设备的盘区的RAID区的数目;
基于所述评估,针对所述一个或多个RAID区中的每个RAID区,选择由所述存储设备集合中的、除了与该RAID区相关联的所述存储设备之一之外的存储设备的存储区支持的自由盘区;以及
通过利用被选择用于所述相应RAID区的所述自由盘区替换由与所述非操作状态相关联的所述存储设备支持的所述盘区,来重建所述一个或多个RAID区,
其中所述一个或多个RAID区中的每个RAID区要求来自所述存储设备集合中的、与该RAID区不关联的存储设备的自由盘区,以促进该RAID区的重建;以及
其中所述评估包括:
针对所述一个或多个RAID区中的每个RAID区:
结合包括来自所述RAID区的操作中的存储设备以及所述存储设备集合中的与所述RAID区不关联的存储设备的盘区的针对所述RAID区的一个或多个可能的新配置来计算一个或多个得分,其中所述一个或多个得分通过将来自描述针对所述RAID区的所述一个或多个可能的新配置的所述一组值的值求和而被计算;
标识来自所述一个或多个得分的最小得分,其中所述最小得分与所述一个或多个可能的新配置中的可能的新配置相关联;以及
基于所述最小得分,选择与所述一个或多个可能的新配置中的所述可能的新配置相关联的所述存储设备,以将所述自由盘区提供到所述RAID区。
12.根据权利要求11所述的非暂态计算机可读介质,其中所述评估根据包括针对所述存储设备集合中的每对存储设备的所述值的邻近矩阵而被执行。
13.根据权利要求12所述的非暂态计算机可读介质,其中所述邻近矩阵包括N行和N列,并且其中所述邻近矩阵的被定位在行I、列J处的每个条目(I,J)表示在RAID区内存储设备I与存储设备J相邻多少次的计数,使得每次来自存储设备I的盘区和来自存储设备J的盘区被包括在相同的RAID区中时,所述两个存储设备I和J彼此是邻居。
14.根据权利要求11所述的非暂态计算机可读介质,其中所述值基于所述存储设备集合中的存储设备的容量而被加权。
15.根据权利要求11所述的非暂态计算机可读介质,其中所述值基于所述存储设备集合中的典型的存储设备的容量以及与所述值相关联的所述一对存储设备的容量而被加权。
CN201810089375.8A 2018-01-30 2018-01-30 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品 Active CN110096216B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810089375.8A CN110096216B (zh) 2018-01-30 2018-01-30 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品
US15/966,031 US10776205B2 (en) 2018-01-30 2018-04-30 Method, apparatus and computer program product for managing data storage in data storage systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810089375.8A CN110096216B (zh) 2018-01-30 2018-01-30 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品

Publications (2)

Publication Number Publication Date
CN110096216A CN110096216A (zh) 2019-08-06
CN110096216B true CN110096216B (zh) 2022-06-14

Family

ID=67392824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810089375.8A Active CN110096216B (zh) 2018-01-30 2018-01-30 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品

Country Status (2)

Country Link
US (1) US10776205B2 (zh)
CN (1) CN110096216B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732167B (zh) * 2019-10-28 2024-04-16 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备
CN111625453B (zh) * 2020-05-22 2023-07-14 泰康保险集团股份有限公司 养老机构的自动化测试方法及平台、存储介质、电子设备
CN112817569B (zh) * 2021-02-06 2023-10-17 成都飞机工业(集团)有限责任公司 一种面向分析的数据快速映射方法、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1102896A (zh) * 1993-08-23 1995-05-24 国际商业机器公司 具有镜象存储盘的替换延迟更新的数字存储系统和方法
CN1782979A (zh) * 2004-11-15 2006-06-07 国际商业机器公司 在存储系统中配置卷的方法和系统
CN102177496A (zh) * 2008-08-07 2011-09-07 康佩伦特科技公司 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法
CN105612490A (zh) * 2013-10-02 2016-05-25 网络装置公司 用于分布式存储架构的盘区散列技术
US9594652B1 (en) * 2013-12-19 2017-03-14 Veritas Technologies Systems and methods for decreasing RAID rebuilding time
CN106687910A (zh) * 2014-09-12 2017-05-17 Netapp股份有限公司 优化分段清除技术

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976187B2 (en) * 2001-11-08 2005-12-13 Broadcom Corporation Rebuilding redundant disk arrays using distributed hot spare space
US20060041793A1 (en) * 2004-08-17 2006-02-23 Dell Products L.P. System, method and software for enhanced raid rebuild
US8924681B1 (en) * 2010-03-31 2014-12-30 Emc Corporation Systems, methods, and computer readable media for an adaptative block allocation mechanism
US20170212705A1 (en) * 2016-01-26 2017-07-27 Netapp, Inc. Dynamic Weighting for Distributed Parity Device Layouts
US10310752B1 (en) * 2016-12-30 2019-06-04 EMC IP Holding Company LLC Extent selection with mapped raid
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
US10521302B1 (en) * 2017-08-04 2019-12-31 EMC IP Holding Company LLC Managing mapped raid extents in data storage systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1102896A (zh) * 1993-08-23 1995-05-24 国际商业机器公司 具有镜象存储盘的替换延迟更新的数字存储系统和方法
CN1782979A (zh) * 2004-11-15 2006-06-07 国际商业机器公司 在存储系统中配置卷的方法和系统
CN102177496A (zh) * 2008-08-07 2011-09-07 康佩伦特科技公司 用于针对当前数据和回放数据在不同raid数据存储类型之间转移数据的系统和方法
CN105612490A (zh) * 2013-10-02 2016-05-25 网络装置公司 用于分布式存储架构的盘区散列技术
US9594652B1 (en) * 2013-12-19 2017-03-14 Veritas Technologies Systems and methods for decreasing RAID rebuilding time
CN106687910A (zh) * 2014-09-12 2017-05-17 Netapp股份有限公司 优化分段清除技术

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Based on Markov model analyze a new RAID reliability";Jian-jun Lu; Xiao Zhang; Xiao-Peng Zhou;《2012 7th International Conference on Computer Science & Education (ICCSE)》;20120906;摘要 *
"LSI RAID BIOS实现磁盘阵列重建";曾维浩;《科技视界》;20170505;全文 *

Also Published As

Publication number Publication date
US20190235957A1 (en) 2019-08-01
CN110096216A (zh) 2019-08-06
US10776205B2 (en) 2020-09-15

Similar Documents

Publication Publication Date Title
US10082965B1 (en) Intelligent sparing of flash drives in data storage systems
US20210103388A1 (en) Storage system managing metadata, host system controlling storage system, and storage system operating method
US9836243B1 (en) Cache management techniques
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
US10073621B1 (en) Managing storage device mappings in storage systems
US8261016B1 (en) Method and system for balancing reconstruction load in a storage array using a scalable parity declustered layout
US6718434B2 (en) Method and apparatus for assigning raid levels
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
US6895467B2 (en) System and method for atomizing storage
US7594075B2 (en) Metadata for a grid based data storage system
US10310752B1 (en) Extent selection with mapped raid
US8880801B1 (en) Techniques for reliability and availability assessment of data storage configurations
US11281537B2 (en) Managing mapped raid extents in data storage systems
US9875043B1 (en) Managing data migration in storage systems
US9569268B2 (en) Resource provisioning based on logical profiles and objective functions
US9342405B2 (en) Hierarchical data compression testing
US9606866B2 (en) Method of, and apparatus for, improved data recovery in a storage system
US9916090B1 (en) Techniques for dynamically adjusting slice size
KR20160033643A (ko) 지능형 데이터 배치
CN110096216B (zh) 用于管理数据存储系统中的数据存储的方法、装置以及计算机程序产品
WO2015057094A1 (en) Resource provisioning based on logical profiles and piecewise objective functions
US20070050544A1 (en) System and method for storage rebuild management
US11809720B2 (en) Techniques for storage management
US11625183B1 (en) Techniques for data layout on rotating disk drives
US11372561B1 (en) Techniques for identifying misconfigurations and evaluating and determining storage tier distributions

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