CN113535066A - 在存储系统中管理条带的方法、设备和计算机程序产品 - Google Patents

在存储系统中管理条带的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN113535066A
CN113535066A CN202010292378.9A CN202010292378A CN113535066A CN 113535066 A CN113535066 A CN 113535066A CN 202010292378 A CN202010292378 A CN 202010292378A CN 113535066 A CN113535066 A CN 113535066A
Authority
CN
China
Prior art keywords
storage device
storage
storage devices
stripe
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010292378.9A
Other languages
English (en)
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 CN202010292378.9A priority Critical patent/CN113535066A/zh
Priority to US16/996,115 priority patent/US11262930B2/en
Publication of CN113535066A publication Critical patent/CN113535066A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及在存储系统中管理条带的方法、设备和计算机程序产品。在一种方法中,分别确定存储系统中的多个存储设备中的存储设备的均衡指标,均衡指标表示存储设备所涉及的一组条带的分布与多个存储设备所涉及的一组条带的分布之间的关系。根据确定的均衡指标,从多个存储设备中选择源存储设备。从源存储设备中的已经被分配的一组区块中选择源区块。将源区块中的数据移动至多个存储设备中的目的地存储设备中的空闲区块。根据本公开的其他示例性实现方式,提供了相应设备和计算机程序产品。可以以使得条带中的各个区块尽可能均匀地分布在存储系统的多个存储设备之中,进而确保存储系统的负载平衡并且以更为有效的方式管理存储系统中的条带。

Description

在存储系统中管理条带的方法、设备和计算机程序产品
技术领域
本公开的各实现方式涉及存储管理,更具体地,涉及用于管理存储系统中的条带的方法、设备和计算机程序产品。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。在提高数据存储能力的同时,用户对于数据可靠性和存储系统的响应时间也提供了越来越高的需求。目前,已经开发出了基于独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)的多种数据存储系统来提高数据的可靠性。当存储系统中的一个或者多个磁盘出现故障时,可以从其他正常操作的磁盘上的数据来重建故障磁盘中的数据。
目前已经开发出了映射独立磁盘冗余阵列(Mapped RAID)。在该映射RAID中,磁盘是一个逻辑概念并且可以包括多个区块(extent)。一个逻辑磁盘中包括的多个区块可以分布在资源池中的不同物理存储设备上。对于映射RAID的一个条带中的多个区块而言,该多个区块应当分布在不同的物理存储设备上。这使得当该多个区块中的一个区块所在的物理存储设备出现故障时,可以执行重建操作以便从其他区块所在的物理存储设备中恢复数据。在存储系统运行期间,如何管理存储系统中的各个条带以使得各个条带在存储系统中均匀分布,成为一个技术难题。
发明内容
因而,期望能够开发并实现一种以更为有效的方式来管理存储系统中的条带的技术方案。期望该技术方案能够与现有的存储系统相兼容,并且通过改造现有存储系统的各种配置,来以更为有效的方式管理存储系统中的条带。
根据本公开的第一方面,提供了一种用于在存储系统中管理条带的方法,存储系统包括多个存储设备。在该方法中,分别确定多个存储设备中的存储设备的均衡指标,均衡指标表示存储设备所涉及的一组条带的分布与多个存储设备所涉及的一组条带的分布之间的关系。根据确定的均衡指标,从多个存储设备中选择源存储设备。从源存储设备中的已经被分配的一组区块中选择源区块。将源区块中的数据移动至多个存储设备中的目的地存储设备中的空闲区块。
根据本公开的第二方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行用于执行根据本公开的第一方面的方法。
根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的第一方面的方法。
附图说明
结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
图1A和1B分别示意性示出了其中可以实现本公开的实现方式的存储系统的框图;
图2示意性示出了其中可以实现本公开的实现方式的示例性环境的框图;
图3示意性示出了图2中的存储资源池的图示;
图4示意性示出了根据本公开的一个实现方式的用于在存储系统中管理条带的过程的框图;
图5示意性示出了根据本公开的一个实现方式的用于在存储系统中管理条带的方法的框图;
图6示意性示出了根据本公开的一个实现方式的确定两个存储设备之间的相关度的过程的框图;
图7示意性示出了根据本公开的一个实现方式的用于执行再平衡的方法的流程图;
图8示意性示出了根据本公开的一个实现方式执行再平衡之前的存储系统的状态的框图;
图9示意性示出了根据本公开的一个实现方式执行再平衡之后的存储系统的状态的框图;以及
图10示意性示出了根据本公开的示例性实现的用于在存储系统中管理条带的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在本公开的上下文中,存储系统可以是基于RAID的存储系统。基于RAID的存储系统可以将多个存储设备组合起来,成为一个磁盘阵列。通过提供冗余的存储设备,可以使得整个磁盘组的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。RAID存在多个标准,例如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-50等等。
图1A示意性示出了其中可以实现本公开的方法的存储系统100A的示意图。在图1A所示的存储系统中,以包括五个独立存储设备(110、112、114、116以及118)的RAID-5(4D+1P,其中4D表示存储系统中包括四个存储设备来用于存储数据,1P表示存储系统中包括一个存储设备来用于存储P校验)阵列为示例,来说明RAID的工作原理。应当注意,尽管图1A中示意性示出了五个存储设备,在其他的实现方式中,根据RAID的等级不同,还可以包括更多或者更少的存储设备。尽管图1A中示出了条带120、122、124、…、126,在其他的示例中,RAID系统还可以包括不同数量的条带。
在RAID中,条带可以跨越多个物理存储设备(例如,条带120跨越存储设备110、112、114、116以及118)。可以简单地将条带理解为多个存储设备中的满足一定地址范围的存储区域。在条带120中存储的数据包括多个部分:存储在存储设备110上的数据块D00、存储在存储设备112上的数据块D01、存储在存储设备114上的数据块D02、存储在存储设备116上的数据块D03、以及存储在存储设备118上的数据块P0。在此示例中,数据块D00、D01、D02、以及D03是被存储的数据,而数据块P0是被存储数据的P校验。
在其他条带122和124中存储数据的方式也类似于条带120,不同之处在于,有关其他数据块的校验可以存储在不同于存储设备118的存储设备上。以此方式,当多个存储设备110、112、114、116以及118中的一个存储设备出现故障时,可以从其他的正常的存储设备中恢复出故障设备中的数据。
图1B示意性示出了存储系统110A的重建过程的示意图100B。如图1B所示,当一个存储设备(例如,以阴影示出的存储设备116)出现故障时,可以从其余的正常操作的多个存储设备110、112、114、118中恢复数据。此时,可以向RAID中加入新的后备存储设备118B来替代存储设备118,以此方式,可以将恢复的数据写入118B并实现系统的重建。
应当注意,尽管在上文中参见图1A和图1B描述了包括5个存储设备(其中4个存储设备用于存储数据,1个存储设备用于存储校验)的RAID-5的存储系统,根据其他RAID等级的定义,还可以存在包括其他数量的存储设备的存储系统。例如,基于RAID-6的定义,可以利用两个存储设备来分别存储校验P和Q。又例如,基于三重校验RAID的定义,可以利用三个存储设备来分别存储校验P、Q和R。
随着分布式存储技术的发展,图1A和1B所示的存储系统中的各个存储设备110、112、114、116以及118可以不再局限于物理存储设备,而是可以是虚拟存储设备。例如,存储设备110上的各个区块可以分别来自于资源池中的不同的物理存储设备(在下文中将简称为存储设备)。图2示意性示出了其中可以实现本公开的方法的示例性环境的框图。如图2所示,存储资源池270可以包括多个物理存储设备210、211、212、213、214、215、216、以及217。此时,该多个存储设备中的存储空间可以被分配给多个用户的存储系统290、…、292。此时,用户的存储系统290、…、292可以经由网络280来访问存储资源池270中的各个存储设备中的存储空间。将会理解,尽管图2仅示意性示出了存储资源池270包括8个存储设备的情况,根据本公开的示例性实现方式,存储资源池270还可以包括更多或者更少的存储设备。
图3示意性示出了如图2所示的存储资源池270的更多信息的图示。资源池270可以包括多个存储设备210至217。每个存储设备可以包括多个区块,其中图例320表示空闲的区块,图例322表示用于RAID条带1的区块,图例324所示表示用于RAID条带2的区块。此时,用于RAID条带1的区块D11、D22、D33、D44分别用于存储该条带的数据块,而区块D75用于存储数据的校验。用于RAID条带2的区块D01、D12、D23、D34分别用于存储该条带的数据块,而区块D45用于存储数据的校验。
如图3中所示,地址映射330示出了条带与条带中的区块所在地址之间的关联关系。例如,RAID条带1可以包括5个区块:D11、D22、D33、D44和D75,这5个区块分别位于存储设备211、212、213、214和217。具体地如图3所示,区块D11是存储设备211中的第一个区块,区块D22是存储设备212中的第二个区块。如图3所示,在各个存储设备中还可以存在预留的空闲部分310,以便用于在资源池中的一个存储设备出现故障时,可以选择各个存储设备中的空闲部分310中的区块,来重建故障存储设备中的各个区块。
应当注意,图3仅以4D+1P的RAID-5存储系统为示例示出了各个条带中的区块如何分布在资源池的多个存储系统中。当采用基于其他RAID等级时,本领域技术人员可以基于上文的原理来实现具体细节。例如,在6D+1P+1Q的RAID-6存储系统中,每个条带中的8个区块可以分布在多个存储设备上。
将会理解,随着存储系统的运行,多个存储设备的使用负载将会出现差异,这将造成某些存储设备的工作负载较高。不均匀的工作负载可能会导致这些存储设备的使用率和读写量远高于其他存储设备并且造成访问瓶颈。进一步,还可能导致这些存储设备的重建时间过长并且可能面临数据丢失的更高风险。目前已经提出了基于存储系统中的多个存储设备的使用负载,来在多个存储设备之间执行再平衡(rebalance)的技术方案。然而,这些技术方案的性能并不令人满意,并且不能保证条带中的区块在多个存储设备之间均匀分布。
为了解决上述缺陷,本公开的实现方式提供了一种用于管理存储系统中的条带的方法、设备和计算机程序产品。根据本公开的示例性实现方式,提出了存储设备的均衡指标的概念。均衡指标表示存储设备所涉及的一组条带的分布与多个存储设备所涉及的一组条带的分布之间的关系。为了方便描述起见,在下文中将仅以4D+1P的RAID条带作为条带的示例,描述本公开的示例性实现的更多细节。
4D+1P的RAID条带包括5个区块,并且5个区块中的数据通常被相关联地访问。这导致分别包括5个区块的5个存储设备的访问量有所提高。概括地讲,对于任意两个存储设备而言,这两个存储设备所共同服务的条带数量越多,则这两个存储设备被同时访问的可能性越大,并且这两个存储设备的工作负载越高。因而,应当尽量避免两个存储设备同时服务于过多的条带。
图4示意性示出了根据本公开的一个实现方式的用于在存储系统中管理条带的过程的框图400。如图4所示,存储系统的资源池270可以包括多个存储设备210至217。可以分别确定多个存储设备中的每个存储设备的均衡指标。将会理解,均衡指标和存储设备可以具有一一对应的关系。例如,可以确定存储设备210所涉及的一组条带的分布,可以确定多个存储设备所涉及的全部条带的总体分布,并且可以基于一组条带的分布和全部条带的总体分布,确定存储设备210的均衡指标410。类似地,可以确定存储设备217的均衡指标417,进一步可以确定每个存储设备的均衡指标。
在已经确定每个存储设备的均衡指标的情况下,可以比较各个均衡指标,以便从多个存储设备210至217中选择源存储设备420。继而,可以从源存储设备420中选择源区块430。在此,源区块430表示将要被移动的区块。进一步,可以从多个存储设备中选择目的地存储设备440,并且将源区块430中的数据移动至目的地存储设备440中的空闲区块。利用本公开的示例性实现方式,可以准确地从多个存储设备中选择工作负载最不平衡的源存储设备。通过从选择的源存储设备中移动数据,可以降低该存储设备的工作负载,进而确保多个存储设备的负载均衡。在下文中,将参见图5描述根据本公开的示例性实现方式的更多细节。
图5示意性示出了根据本公开的一个实现方式的用于在存储系统中管理条带的方法的框图500。在框510处,分别确定多个存储设备中的存储设备的均衡指标。在此,均衡指标表示存储设备所涉及的一组条带的分布与多个存储设备所涉及的一组条带的分布之间的关系。根据本公开的示例性实现方式,可以确定每个存储设备的均衡指标。具体地,可以首先确定存储设备的设备相关度,在此设备相关度表示存储系统所涉及的(即,已经被创建的)一组条带在存储设备以及存储设备以外的其他存储设备之间的分布。
在本公开的上下文中,利用M表示存储系统中的存储设备的数量,并且利用N表示条带的宽度。假设存储系统包括8个存储设备210至217,则此时M=8。当采用4D+1P的RAID时,N=4+1=5。
在下文中,首先介绍两个存储设备之间的相关度的概念。对于多个存储设备中的第i个存储设备和第j个存储设备(i≠j),这两个存储设备之间的相关度可以表示为γDisk i,Disk j。根据本公开的示例性实现方式,可以将存储设备自身的相关度设置为0,也即,γDisk i,Disk i=0。
将会理解,在存储系统运行的初始阶段,存储系统中并不包括任何条带,则此时可以选择任意的5个存储设备中的5个区块来创建条带。当存储系统运行一段之间之后,存储系统可以包括已经被创建的一组条带。此时可以确定一组条带中的同时涉及两个特定存储设备的条带的数量,并且基于确定的数量设置这两个特定存储设备之间的相关度。具体地,将参见图6描述如何确定第i个存储设备和第j个存储设备之间的相关度γDisk i,Disk j
图6示意性示出了根据本公开的一个实现方式的确定两个存储设备之间的相关度的过程的框图600。如图6所示,存储系统中已经创建了3个条带610、620和630,可以基于共同涉及第i个存储设备和第j个存储设备的条带的数量,确定相关度γDisk i,Disk j。如果期望确定存储设备210和存储设备211之间的相关度(即,i=0,j=1),可以发现仅有条带610同时使用了存储设备210和存储设备211中的区块,因而γDisk 0,Disk 1=1。
又例如,如果期望确定存储设备211和存储设备212之间的相关度(即,i=1,j=2),可以发现条带610同时使用了存储设备210和存储设备211中的区块,并且条带620也同时使用了存储设备210和存储设备211中的区块,因而γDisk 1,Disk 2=2。类似地,可以确定多个存储设备中的任意两个存储设备之间的相关度。将会理解,从存储系统的地址映射330中可以方便地获取条带与条带中的区块之间的映射关系。因而,利用本公开的示例性实现方式可以以简单并且有效的方式确定任意两个存储设备之间的相关度。
根据本公开的示例性实现方式,可以基于两个存储设备之间的相关度,来确定多个存储设备中的特定存储设备的设备相关度。具体地,可以分别确定该特定存储设备与该特定存储设备以外的每个其他存储设备之间的相关度。进一步,可以基于确定的相关度,确定特定存储设备的设备相关度。
根据本公开的示例性实现方式,可以将设备相关度设置为正比于存储设备与每个其他存储设备之间的相关度。例如,可以获取多个相关度,并且基于求和操作来确定设备相关度。利用本公开的示例性实现方式,可以基于简单的数学运算,来基于特定存储设备与其他存储设备之间的相关度,确定该特定存储设备的设备相关度。
假设期望确定第i个存储设备的设备相关度,可以基于上文参见图6描述的方法来确定第i个存储设备与其他的第j个存储设备(0≤j≤M-1,并且i≠j)之间的相关度。根据本公开的示例性实现方式,可以基于如下公式1来确定第i个存储设备的设备相关度γDisk i
Figure BDA0002450908530000091
其中γDisk i表示第i个存储设备的设备相关度,γDisk i,Disk j表示第i个存储设备和第j个存储设备之间的相关度,M表示资源池中的存储设备的数量。
利用本公开的示例性实现方式,对于第i个存储设备而言,该设备的设备相关度γDisk i表示第i个存储设备与其他M-1个存储设备之间的相关度的总和。此时,设备相关度可以准确地衡量第i个存储设备与其他存储设备之间的相关程度,并且可以反映该存储设备的工作负载。基于设备相关度来选择用于创建条带的存储设备,可以准确地基于各个存储设备的工作负载,来选择有助于实现负载均衡的适合的存储设备。
将会理解,上文公式1仅仅示意性示出了用于确定设备相关度的一个具体示例。根据本公开的示例性实现方式,还可以采用其他公式来确定设备相关度。例如,可以基于多个相关度的乘积来确定设备相关度。
根据本公开的示例性实现方式,可以基于上文描述的公式1来分别确定多个存储设备的设备相关度,并且基于存储设备的设备相关度和多个存储设备的设备相关度,确定存储设备的均衡指标。例如,可以基于如下公式2来确定第i个存储设备的均衡指标CDisk i
Figure BDA0002450908530000101
其中CDisk i表示第i个存储设备的均衡指标,γDisk i表示第i个存储设备的设备相关度,M表示资源池中的存储设备的数量。利用本公开的示例性实现方式,分子部分γDisk i可以表示第i个存储设备所涉及的一组条带的分布,分母部分
Figure BDA0002450908530000102
可以表示存储系统中的全部存储设备所涉及的全部条带的分布,因而两者的比值可以准确反映第i个存储设备的均衡度。
将会理解,上文所示的均衡指标仅仅表示条带分布对于存储设备的能力方面的影响。根据本公开的示例性实现方式,还可以存在影响工作负载的其他因素。例如,当存储设备的访问负载较高时,则存储设备的性能将会下降。又例如,当存储设备的磨损度较高时,则存储设备的可靠性将会下降。将会理解,磨损度是表示存储设备的使用寿命的指标,磨损度较高则意味着存储设备的剩余使用时间降低。当磨损度到达某个阈值时,则表示存储设备的寿命即将终止因而需要及时更换存储设备。
根据本公开的示例性实现方式,可以基于存储设备的访问负载来更新均衡指标。具体地,可以确定存储设备的访问负载,并且分别确定多个存储设备的访问负载。访问负载可以具有多种表示方式,例如可以利用以下中的至少任一项来表示访问负载:单位时间的访问次数、单位时间的数据访问量、全部访问次数、以及全部数据访问量,等等。继而,可以基于存储设备的访问负载和多个存储设备的访问负载,更新存储设备的均衡指标。根据本公开的示例性实现方式,可以基于如下公式3来确定第i个存储设备的均衡指标CDisk i
Figure BDA0002450908530000111
其中CDisk i表示第i个存储设备的均衡指标,γDisk i表示第i个存储设备的设备相关度,γDisk j表示第j个存储设备的设备相关度,M表示资源池中的存储设备的数量,ΤDisk i表示第i个存储设备的访问负载,
Figure BDA0002450908530000112
表示全部M个存储设备的访问负载的总和,ωγ和ωT分别表示条带分布和访问负载相关的权重。
将会理解,上文的公式3仅仅是确定均衡指标的一个示意性方式。根据本公开的示例性实现方式,可以基于其他公式来确定均衡指标,例如,可以基于条带分布和访问负载两者的乘积来确定均衡指标。
根据本公开的示例性实现方式,可以基于存储设备的磨损度来更新均衡指标。具体地,可以确定存储设备的磨损度,并且分别确定多个存储设备的磨损度。磨损度可以具有多种表示方式,例如可以利用以下中的至少任一项来表示磨损度:已经执行的写操作次数、以及已经执行的写操作次数与预定阈值的比例,等等。继而,可以基于存储设备的磨损度和多个存储设备的磨损度,更新存储设备的均衡指标。根据本公开的示例性实现方式,可以基于如下公式4来确定第i个存储设备的均衡指标CDisk i
Figure BDA0002450908530000113
其中CDisk i表示第i个存储设备的均衡指标,γDisk i表示第i个存储设备的设备相关度,γDisk j表示第j个存储设备的设备相关度,M表示资源池中的存储设备的数量,WDisk i表示第i个存储设备的磨损度,
Figure BDA0002450908530000121
表示全部M个存储设备的磨损度的总和,ωγ和ωW分别表示条带分布和磨损度相关的权重。
将会理解,上文的公式4仅仅是确定均衡指标的一个示意性方式。根据本公开的示例性实现方式,可以基于其他公式来确定均衡指标,例如,可以基于条带分布和磨损度两者的乘积来确定均衡指标。
根据本公开的示例性实现方式,可以基于如下公式5来确定第i个存储设备的均衡指标CDisk i
Figure BDA0002450908530000122
其中CDisk i表示第i个存储设备的均衡指标,γDisk i表示第i个存储设备的设备相关度,γDisk j表示第j个存储设备的设备相关度,M表示资源池中的存储设备的数量,ΤDisk i表示第i个存储设备的访问负载,
Figure BDA0002450908530000123
表示全部M个存储设备的访问负载的总和,WDisk i表示第i个存储设备的磨损度,
Figure BDA0002450908530000124
表示全部M个存储设备的磨损度的总和,ωγ、ωT和ωW分别表示条带分布、访问负载和磨损度相关的权重。
将会理解,上文的公式5仅仅是确定均衡指标的一个示意性方式。根据本公开的示例性实现方式,可以基于其他公式来确定均衡指标,例如,可以基于条带分布、访问负载和磨损度的乘积来确定均衡指标。根据本公开的示例性实现方式,可以设置ωγ、ωT和ωW的取值范围,例如可以定义ωγTW=1。根据本公开的示例性实现方式,可以为各个权重指定取值范围。例如,可以基于如下表1来确定各个权重的取值范围。
表1权重的取值范围
Figure BDA0002450908530000125
Figure BDA0002450908530000131
将会理解,上文表1仅仅示意性示出了取值范围的一个具体示例。通常而言,条带分布对于存储设备性能影响较大,因而可以将ωγ设置较高的权重。根据本公开的示例性实现方式,假设存储系统中的多个存储设备已经具有较高的磨损度,此时可以为磨损度的权重ωW设置为较高数值。
上文已经描述了如何确定每个存储设备的均衡指标,在下文中,将描述如何基于均衡指标来选择源存储设备。返回图5的框520处,根据确定的均衡指标,从多个存储设备中选择源存储设备。将会理解,CDisk i的数值越大,则表示第i个存储设备的工作负载偏离平均值越多。根据本公开的示例性实现方式,可以首先选择均衡指标较高的存储设备。
具体地,如果第i个存储设备的均衡指标CDisk i高于多个存储设备中的第j个存储设备的均衡指标CDisk j,则可以选择第i个存储设备。以此方式,可以优先地找到平衡度较差的存储设备,并且优先地将该存储设备中的区块移动至其他存储设备以便降低该存储设备的工作负载。根据本公开的示例性实现方式,可以比较针对每个存储设备的均衡指标,并且选择具有最高均衡指标的存储设备。以此方式,可以以方便并且有效的方式迅速找到均衡度最差的存储设备。
在框530处,从源存储设备中的已经被分配的一组区块中选择源区块。将会理解,此时源存储设备是多个存储设备中的均衡度最差的存储设备,将该源存储设备中的任一区块移动至其他存储设备,都会改善源存储设备的均衡度。根据本公开的示例性实现方式,为了更快地改善源存储设备的均衡度,可以在源存储设备中选择对于均衡度影响最大的区块,并且将该区块中的数据移动至其他存储设备。
将会理解,存储设备的均衡指标与该存储设备中的每个区块所在的条带相关联,可以逐一确定每个区块所在的条带对于均衡指标的影响。具体地,针对源存储设备中的已经被分配的一组区块中的给定区块,可以确定给定区块所在的条带对于存储设备的均衡指标的影响。可以首先确定给定区块所在的给定条带,假设每个存储设备中包括P个区块,可以针对P个区块中的每个区块来确定该区块的影响。
对于P个区块中的第k个区块而言,假设该区块位于第k个条带,此时可以确定第k个条带所涉及的一组存储设备。假设条带宽度为N,则此时一组存储设备包括N个存储设备。可以基于一组存储设备中的每个存储设备的设备相关度,确定第k个条带的相关度,进而确定第k个区块对于均衡指标的影响。可以基于如下公式6确定第k个条带的相关度γRE k
Figure BDA0002450908530000141
其中γRE k表示第k个条带的相关度,γDisk j表示第j个存储设备的设备相关度,以及第j个存储设备是第k个条带所涉及的存储设备(换言之,第k个条带中包括的一个区块位于第j个存储设备)。
进一步,可以基于第k个条带的相关度γRE k,确定第k个区块对于均衡指标的影响。例如,可以确定一组区块对于存储设备的均衡指标的影响,并且基于给定区块的影响和一组区块的影响,选择给定区块作为源区块。具体地,可以基于如下公式7确定第k个区块对于均衡度的影响CRE k
Figure BDA0002450908530000142
其中CRE k表示第k个区块对于均衡指标的影响,γRE k表示第k个条带的相关度,γRE j表示第j个条带的相关度,P表示第i个存储设备中包括的区块的数量。将会理解,上文描述的公式7仅仅是示意性的,还可以仅基于公式7中的分子部分来确定其中第k个区块对于均衡指标的影响CRE k
根据本公开的示例性实现方式,在确定影响时还可以考虑存储设备的访问负载以及存储设备的磨损度中的至少任一项。此时,可以基于访问负载和/或磨损度来更新影响。
根据本公开的示例性实现方式,可以使用如下公式8来确定第k个区块对于均衡度的影响CRE k
Figure BDA0002450908530000151
其中CRE k表示第k个区块对于均衡指标的影响,γRE k表示第k个条带的相关度,γRE j表示第j个条带的相关度,P表示第i个存储设备中包括的区块的数量,TRE k表示第k个条带的相关访问负载,TRE j表示第j个条带的相关访问负载,ωγ和ωT分别表示条带分布和访问负载相关的权重。
根据本公开的示例性实现方式,可以使用如下公式9来确定第k个区块对于均衡度的影响CRE k
Figure BDA0002450908530000152
其中CRE k表示第k个区块对于均衡指标的影响,γRE k表示第k个条带的相关度,γRE j表示第j个条带的相关度,P表示第i个存储设备中包括的区块的数量,WRE k表示第k个条带的相关磨损度,WRE j表示第j个条带的相关磨损度,ωγ和ωW分别表示条带分布和磨损度相关的权重。
根据本公开的示例性实现方式,可以使用如下公式10来确定第k个区块对于均衡度的影响CRE k
Figure BDA0002450908530000153
其中CRE k表示第k个区块对于均衡指标的影响,γRE k表示第k个条带的相关度,γRE j表示第j个条带的相关度,P表示第i个存储设备中包括的区块的数量,TRE k表示第k个条带的相关访问负载,TRE j表示第j个条带的相关访问负载,WRE k表示第k个条带的相关磨损度,WRE j表示第j个条带的相关磨损度,ωγ、ωT和ωW分别表示条带分布、访问负载和磨损度相关的权重。
将会理解,上文的公式8至10仅仅是确定影响的示意性方式。根据本公开的示例性实现方式,可以基于其他公式来确定影响,例如,可以基于相关度、访问负载和磨损度的乘积来确定影响。利用本公开的示例性实现方式,可以以方便并且有效的方式来确定第i个存储设备中的每个区块对于均衡指标的影响,进而可以选择对于均衡指标影响最大的区块(例如,第k个区块)。继而,可以将第i个存储设备中的第k个区块中的数据移动至目的地存储设备中的空闲区块。
根据本公开的示例性实现方式,可以从多个存储设备中选择目的地存储设备。可以基于多种方式来选择目的地存储设备,例如,源存储设备的均衡指标最大,此时可以从多个存储设备中选择具有最小均衡指标的存储设备作为目的地存储设备。又例如,还可以基于将被选择的存储设备与当前条带之间的条带相关度,来选择目的地存储设备。
根据本公开的示例性实现方式,提出了条带相关度(stripe correlation)的概念。在此条带相关度描述一个存储设备与一个条带所在的多个存储设备之间的相关度。条带相关度越高则表示该存储设备与条带之间的关系越密切。例如,可以基于如下公式11来确定第u个存储设备与第k个条带之间的条带相关度γDisk u,RE k
Figure BDA0002450908530000161
其中γDisk u,RE k表示第u个存储设备与第k个条带之间的条带相关度,γDisk u,Disk j表示第u个存储设备和第j个存储设备之间的相关度,M表示资源池中的存储设备的数量,以及第j个存储设备表示包括在第k个条带中的区块的各个存储设备。
利用本公开的示例性实现方式,存储设备与条带中的每个区块所在的存储设备之间的相关度可以反映存储设备与条带所涉及的各个存储设备之间的密切程度。通过将多个相关度求和,可以以简单并且有效的方式确定设备与条带之间的密切程度。
将会理解,由于条带中的多个区块需要位于不同的存储设备,因而需要从条带没有涉及的其他存储设备中选择区块来创建条带。此时,可以确定条带所涉及的一组存储设备以及条带并不涉及的一组存储设备。具体地,在多个存储设备中,可以确定不包括条带中的任何区块的第一组存储设备(仅能从该组存储设备中选择目的地存储设备),并且可以确定包括条带中的区块的第二组存储设备。对于第一组存储设备中的一个给定存储设备,可以分别确定该给定存储设备与第二组存储设备中的每个存储设备之间的设备相关度,进而确定给定存储设备与条带的条带相关度。
继续上文的示例,条带包括5个区块并且期望将源区块中的数据移动至目的地存储设备。此时,需要利用目的地存储设备中空闲区块来代替第i个存储设备中的第k个区块。因而,可以认为条带仅包括5-1=4个区块(排除第i个存储设备中的第k个区块),并且期望选择最后一个区块以便形成新的条带。利用本公开的示例性实现方式,在选择条带中的最后一个区块时,可以利用条带相关度来以简单并且有效的方式来选择相关度较小的存储设备中的区块。
具体地,可以从多个存储设备中选择具有较低条带相关度的存储设备。假设多个存储设备中的一个存储设备的条带相关度低于多个存储设备中的其他存储设备的条带相关度,则可以选择该存储设备。利用本公开的示例性实现方式,可以基于条带相关度来选择与当前条带中的区块所在的设备具有较低相关度的存储设备,进而使得所创建的条带中的各个区块所在的各个存储设备的紧密程度较低。
根据本公开的示例性实现方式,可以比较每个存储设备的条带相关度并且选择具有最小条带相关度的存储设备中的区块,来作为条带中的最后一个区块。以此方式,可以尽量利用与当前条带所涉及的4个存储设备之间关系较为疏远的存储设备,这使得条带可以以较高的性能运行。
为了方便描述起见,可以利用符号γDisk u,RE k表示第u个存储设备与第k个条带之间的条带相关度。其中RE k表示当前条带中的区块所在的存储设备。为了确定条带中的最后一个区块,可以选择具有最小条带相关度的存储设备。假设第i(i=0)个存储设备的均衡指标最高,并且该存储设备中的第k个区块对于均衡指标的影响最大,此时可以将第0个存储设备中的第k个区块作为源区块。假设第k个区块所在的第k个条带中的5个区块分别位于第0至4个存储设备,此时RE k表示其他区块所在的第1至4个存储设备。可以从8个存储设备中的其余存储设备(即,第5、第6和第7个存储设备)中选择目的地存储设备。
可以分别基于上文描述的公式11确定第5、第6和第7个存储设备的条带相关度。假设第5个存储设备与条带具有最小的条带相关度,则可以选择第5个存储设备中的空闲区块,以便作为再平衡的目的地区块。利用本公开的示例性实现方式,仅需要通过简单的数学计算,即可选择再平衡操作的目的地存储设备。以此方式,可以确保每次从多个存储设备中选择最为有助于实现负载平衡的目的地存储设备中的空闲区块来作为目的地区块。
上文已经描述了基于条带相关度来选择目的地存储设备。根据本公开的示例性实现方式,还可以基于存储设备的条带相关度和设备相关度两者,来选择存储设备。将会理解,条带中的多个区块将被相关联地访问,基于条带相关度来选择存储设备可以考虑所创建的条带中的各个存储设备之间的相互影响。在后续操作过程中,存储设备的性能还会受到该存储设备与其他存储设备之间的相关度(即,设备相关度)的影响。因而,可以基于条带相关度和设备相关度两者来选择目的地存储设备。利用本公开的示例性实现方式,可以充分考虑以上两方面因素,进而提高存储系统的整体性能。
根据本公开的示例性实现方式,可以基于公式12来确定第u个存储设备与第k个条带之间的组合相关度γ′Disk u,RE k
γ′Disk u,RE k=γDisk uDisk u,RE k
公式12
其中γ′Disk u,RE k表示第u个存储设备与条带k之间的组合相关度,γDisk u,RE k表示第u个存储设备与条带k之间的条带相关度,以及γDisk u表示第u个存储设备的设备相关度。将会理解,公式12仅仅是用于计算组合相关度的一个具体示例,根据本公开的示例性实现方式,可以采用其他公式来确定组合相关度。例如,可以基于条带相关度和设备相关度的乘积来确定组合相关度。
根据本公开的示例性实现方式,可以确定能够用作目的地存储设备的每个存储设备的评分。例如,可以基于公式13来确定第u个存储设备的评分CDisk u,RE k,该评分表示从第u个存储设备中选择条带k中的最后一个区块的评分。可以优先地选择具有较低评分的存储设备。
Figure BDA0002450908530000191
其中CDisk u,RE k表示第u个存储设备的评分,γDisk u表示第u个存储设备的设备相关度,γDisk u,RE k表示第u个存储设备与第k个条带之间的条带相关度,Disk v表示存储系统中的第v个存储设备并且该存储设备不属于第k个盘,γDisk v,RE k表示第v个存储设备与第k个条带之间的条带相关度。
进一步,可以基于所述给定存储设备的访问负载以及所述给定存储设备的磨损度中的至少任一项、以及所述条带相关度,确定所述给定存储设备的评分。
根据本公开的示例性实现方式,可以基于公式14来确定第u个存储设备的评分CDisk u,RE k
Figure BDA0002450908530000192
Figure BDA0002450908530000201
其中各个符号的含义与公式13中相同,TDisk u表示第u个存储设备的访问负载,TDisk v表示第v个存储设备的访问负载,并且ωγ和ωT分别表示条带分布和访问负载相关的权重。
根据本公开的示例性实现方式,可以基于公式15来确定第u个存储设备的评分CDisk u,RE k
Figure BDA0002450908530000202
其中各个符号的含义与公式13中相同,WDisk u表示第u个存储设备的访问负载,WDisk v表示第v个存储设备的访问负载,并且ωγ和ωW分别表示条带分布和磨损度相关的权重。
根据本公开的示例性实现方式,可以基于公式16来确定第u个存储设备的评分CDisk u,RE k
Figure BDA0002450908530000203
其中各个符号的含义与公式13至15中相同,并且ωγ、ωT和ωW分别表示条带分布、访问负载和磨损度相关的权重。
将会理解,上文示出的公式13至16仅仅示意性示出了用于确定评分的公式的示例。根据本公开的示例性实现方式,可以基于其他公式来确定评分,例如,可以基于组合相关度、访问负载和磨损度的乘积来确定影响。利用本公开的示例性实现方式,可以以方便并且有效的方式来选择目的地存储设备。
根据本公开的示例性实现方式,可以选择具有较低评分的存储设备。备选地和/或附加地,可以选择具有最低评分的存储设备。利用本公开的示例性实现方式,可以基于评分来优先地选择工作负载最低的存储设备,进而使得所再平衡后的条带可以尽量利用资源池中的工作状态较好的存储设备。
返回图5的框540处,将源区块中的数据移动至多个存储设备中的目的地存储设备中的空闲区块。将会理解,由于移动数据将会改变存储系统中的条带的分布,因而需要确定移动数据后的目的地存储设备的均衡指标。根据本公开的示例性实现方式,如果确定源存储设备的均衡指标高于目的地存储设备的均衡指标,则表示移动数据可以改善存储设备的均衡指标。此时,可以将源区块中的数据移动至目的地存储设备中的空闲区块。反之,则表示移动数据将会造成更严重的不均衡,因而不执行移动数据的操作。
根据本公开的示例性实现方式,可以在存储系统的后台周期性地运行方法500。备选地和/或附加地,可以根据预定事件来触发运行方法500,例如可以响应于管理员的命令来运行方法500。将会理解,由于运行方法500将会导致时间和计算资源的额外开销,因而可以只在存储系统的均衡指标恶化到一定程度时启动方法500。在此,存储系统的均衡指标可以表示存储系统的整体均衡状态。在下文中,可以基于每个存储设备的平均设备相关度和存储设备的设备相关度的标准差来确定存储系统的均衡指标。
根据本公开的示例性实现方式,可以确定存储系统的相关度。该相关度例如可以基于存储系统中的全部存储设备之间的相关度的和来确定。根据本公开的示例性实现方式,可以基于如下公式17来确定存储系统的相关度γStorageSystem
Figure BDA0002450908530000211
其中γStorageSystem表示存储系统的相关度,γDisk i表示第i个存储设备的设备相关度,γDisk i,Disk j表示第i个存储设备和第j个存储设备之间的相关度,M表示存储系统中的存储设备的数量。
根据本公开的示例性实现方式,可以基于如下公式18来确定存储系统中的每个存储设备的平均设备相关度γDisk average。公式18中符号的含义与公式17中相同。
Figure BDA0002450908530000221
根据本公开的示例性实现方式,可以基于如下公式19来确定存储系统中的存储设备的设备相关度的标准差σ。公式19中符号的含义与公式17中相同。
Figure BDA0002450908530000222
根据本公开的示例性实现方式,可以基于如下公式20来确定存储系统的均衡指标。
Figure BDA0002450908530000223
可以在确定存储系统的均衡指标满足预定阈值条件(例如,高于30%或者其他数值)时,执行上文描述的方法500。在下文中,将详细描述根据本公开的示例性实现方式的用于执行再平衡的方法。图7示意性示出了根据本公开的一个实现方式的用于执行再平衡的方法700的流程图。在框710处,可以确定存储系统的均衡指标是否高于预定阈值。如果高于预定阈值,则方法700前进至框720。在框720处,可以确定多个存储设备中的具有最高均衡指标的存储设备(即,源存储设备)。可以基于上文描述的公式2至公式5中的任一项来确定每个存储设备的均衡指标,并且将具有最大均衡指标的存储设备作为源存储设备。
在框730处,可以确定源存储设备中的每个区块对于均衡指标的影响。具体地,可以基于上文描述的公式6至10中的任一项来确定影响。在框740处,可以选择具有最大影响的区块。在框750处,在能够用作拷贝目的地的一组存储设备中,选择具有最低评分的存储设备来作为目的地存储设备。具体地,可以基于上文描述的公式11至16中的任一项来确定评分。
在框760处,可以确定拷贝之后的目的地存储设备的均衡指标,并将其与源存储设备的均衡指标进行比较。如果目的地存储设备的均衡指标<源存储设备的均衡指标,则方法700前进至框770,以便将源区块中的数据移动至目的地存储设备中的空闲区块。
根据本公开的示例性实现方式,可以在多个轮次中执行移动操作。例如在框770之后,方法700可以返回框720处并且执行下一轮次的操作,直到在框760处的判断结果为“否”时停止。利用本公开的示例性实现方式,可以集中执行多个轮次的再平衡操作。以此方式,可以确保存储系统在未来较长时间段内的均衡指标都将保持良好状态,并且不会频繁地执行再平衡操作。
将会理解,在确定存储系统的均衡指标时,还可以考虑存储系统的访问负载和磨损度。类似地,可以确定有关存储设备的访问负载和磨损度相关的均衡指标(如公式21和公式22所示)。
Figure BDA0002450908530000231
其中μ表示第i个存储设备的访问负载相关的标准差,TDisk i表示第i个存储设备的访问负载,TDisk average表示多个存储设备的访问负载的平均值。
Figure BDA0002450908530000241
其中δ表示第i个存储设备的磨损度相关的标准差,WDisk i表示第i个存储设备的访问负载,WDisk average表示多个存储设备的磨损度的平均值。
根据本公开的示例性实现方式,可以基于如下公式23来确定存储系统的均衡指标。
Figure BDA0002450908530000242
上文已经描述了如何执行再平衡的具体过程,在下文中,将参见图8和图9描述执行再平衡操作之前和之后的存储系统的状态。图8示意性示出了根据本公开的一个实现方式执行再平衡之前的存储系统的状态的框图800。存储系统中已经存在4个条带(分别利用图例810、820、830和840来表示),并且如下矩阵M示出了8个存储设备中的各个存储设备之间的相关度。例如,第i行第j列的交叉点处示出了第i个存储设备和第j个存储设备之间的相关度。
Figure BDA0002450908530000243
假设4个条带中的每个区块的访问负载示出为如下矩阵A,8个存储设备中的每个存储设备的磨损度示出为如下矩阵B,以及针对4个条带中的每个区块的写访问数量示出为如下矩阵C。
Figure BDA0002450908530000251
B=[120 150 80 120 100 80 160 70]
Figure BDA0002450908530000252
可以基于公式20来确定存储系统的均衡指标:
Figure BDA0002450908530000253
Figure BDA0002450908530000254
由于λ大于阈值条件(例如,30%),此时可以在多个轮次中执行方法700。在第一个轮次中,可以确定8个存储设备中的每个存储设备的均衡指标(例如,在以下矩阵中表示):
[16.31% 19.96% 6.07% 19.62% 4.82% 10.13% 16.94% 6.15%]
由于第1个存储设备的均衡指标具有最大值“19.96%”,选择第1个存储设备为源存储设备。继而,从源存储设备中选择对于均衡指标影响最大的区块。存储设备中存在4个条带,并且每个条带的影响可以表示为如下矩阵:
[27.31% 24.16% 24.18% 24.34%]
由于第1个条带的具有影响的最大值“27.31%”,可以将第1个存储设备中的被包括在第1个条带中的区块作为源区块。由于第一个条带中的区块分别位于第0、第1、第3、第5以及第6个存储设备,此时第2、第4以及第7个存储设备可以用作拷贝目的地。可以分别计算各个存储设备的评分(其中第0、第1、第3、第5以及第6个存储设备的评分示出为“\”):
[\\24.50%\26.93%\\24.57%]
由于第2个存储设备具有最小评分“24.50%”,可以将第2个存储设备作为目标存储设备。在此示例中,目的地存储设备的均衡指标(9.76%)<源存储设备的均衡指标(16.28%),因而执行移动操作。
第二轮次的执行过程与上文描述的第一轮次的过程类似,因而不再赘述。在第二轮次中,目的地存储设备的均衡指标(8.50%)<源存储设备的均衡指标(15.94%),因而执行移动操作。在第三轮次中,目的地存储设备的均衡指标(9.83%)<源存储设备的均衡指标(13.24%),因而执行移动操作。在第四轮次中,目的地存储设备的均衡指标(14.64%)>源存储设备的均衡指标(12.60%),因而不再执行移动操作。
图9示意性示出了根据本公开的一个实现方式执行再平衡之后的存储系统的状态的框图900。如图9示出了执行3个轮次的再平衡操作之后的存储系统。此时,存储系统的相关度从再平衡之前的53.38%降低至17.79%(远低于阈值条件30%)。在访问负载方面,再平衡操作之后的存储系统也表现出较好的结果:均衡指标从之前的64.09%降低至39.00%。在磨损度方面,再平衡操作之后的存储系统也表现出较好的结果:均衡指标从之前的30.35%降低至29.14%。利用本公开的示例性实现方式,再平衡操作可以在相关度、访问负载和磨损度多个方面确保多个存储设备尽量均衡。以此方式,可以避免某个存储设备的工作负载过高而降低存储系统的性能。
在上文中已经参见图2至图9详细描述了根据本公开的方法的示例,在下文中将描述相应的装置的实现。根据本公开的示例性实现,提供了一种用于在存储系统中管理条带的装置。该装置包括:确定模块,配置用于分别确定存储系统中的多个存储设备中的存储设备的均衡指标,均衡指标表示存储设备所涉及的一组条带的分布与多个存储设备所涉及的一组条带的分布之间的关系;存储设备选择模块,配置用于根据确定的均衡指标,从多个存储设备中选择源存储设备;区块选择模块,配置用于从源存储设备中的已经被分配的一组区块中选择源区块;以及移动模块,配置用于将源区块中的数据移动至多个存储设备中的目的地存储设备中的空闲区块。根据本公开的示例性实现方式,该装置进一步包括执行上文描述的方法500和700的模块。
图10示意性示出了根据本公开的示例性实现的用于管理存储系统中的条带的设备1000的框图。如图所示,设备1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序指令或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法500和700,可由处理单元1001执行。例如,在一些实现中,方法500和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实现中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序被加载到RAM 1003并由CPU 1001执行时,可以执行上文描述的方法500和700的一个或多个步骤。备选地,在其他实现中,CPU 1001也可以以其他任何适当的方式被配置以实现上述过程/方法。
根据本公开的示例性实现方式,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述至少一个处理器执行时使得所述设备执行用于一种用于在存储系统中管理条带的方法。存储系统包括多个存储设备,并且该方法包括:分别确定多个存储设备中的存储设备的均衡指标,均衡指标表示存储设备所涉及的一组条带的分布与多个存储设备所涉及的一组条带的分布之间的关系;根据确定的均衡指标,从多个存储设备中选择源存储设备;从源存储设备中的已经被分配的一组区块中选择源区块;以及将源区块中的数据移动至多个存储设备中的目的地存储设备中的空闲区块。
根据本公开的示例性实现方式,确定存储设备的均衡指标包括:确定存储设备的设备相关度,设备相关度表示存储系统所涉及的一组条带在存储设备以及存储设备以外的其他存储设备之间的分布;分别确定多个存储设备的设备相关度;以及基于存储设备的设备相关度和多个存储设备的设备相关度,确定存储设备的均衡指标。
根据本公开的示例性实现方式,确定存储设备的设备相关度包括:分别确定存储设备与存储设备以外的每个其他存储设备之间的相关度;以及基于确定的相关度,确定存储设备的设备相关度。
根据本公开的示例性实现方式,分别确定存储设备与每个其他存储设备之间的相关度包括:针对一个其他存储设备,确定一组条带中的同时涉及存储设备和其他存储设备的条带的数量;以及基于确定的数量,设置存储设备和其他存储设备之间的相关度。
根据本公开的示例性实现方式,确定存储设备的设备相关度包括:将设备相关度设置为正比于存储设备与每个其他存储设备之间的相关度。
根据本公开的示例性实现方式,从多个存储设备中选择源存储设备包括:根据确定源存储设备的均衡指标高于多个存储设备中的另一存储设备的另一均衡指标,选择源存储设备。
根据本公开的示例性实现方式,该方法进一步包括:确定存储系统的均衡指标,存储系统的均衡指标表示多个存储设备所涉及的一组条带在存储系统中的分布;以及根据确定存储系统的均衡指标满足阈值条件,分别确定多个存储设备中的存储设备的均衡指标。
根据本公开的示例性实现方式,确定存储设备的均衡指标进一步包括:确定存储设备的访问负载;分别确定多个存储设备的访问负载;以及基于存储设备的访问负载和多个存储设备的访问负载,更新存储设备的均衡指标。
根据本公开的示例性实现方式,确定存储设备的均衡指标进一步包括:确定存储设备的磨损度;分别确定多个存储设备的磨损度;以及基于存储设备的磨损度和多个存储设备的磨损度,更新存储设备的均衡指标。
根据本公开的示例性实现方式,选择源区块包括:针对源存储设备所涉及的一组区块中的给定区块,确定给定区块对于存储设备的均衡指标的影响;确定一组区块对于存储设备的均衡指标的影响;以及基于给定区块的影响和一组区块的影响,选择给定区块作为源区块。
根据本公开的示例性实现方式,确定给定区块对于存储设备的均衡指标的影响包括:确定给定区块所在的给定条带;在多个存储设备中,确定分别包括给定条带中的各个区块的一组存储设备;以及基于一组存储设备中的每个存储设备的设备相关度,确定影响。
根据本公开的示例性实现方式,确定给定区块对于存储设备的均衡指标的影响进一步包括:基于存储设备的访问负载以及存储设备的磨损度中的至少任一项来更新影响。
根据本公开的示例性实现方式,进一步包括从多个存储设备中选择目的地存储设备,包括:针对多个存储设备中的不包括源区块所在的条带中的任何区块的第一组存储设备,确定第一组存储设备中的给定存储设备与给定条带之间的条带相关度;基于确定的条带相关度,从第一组存储设备中选择目的地存储设备。
根据本公开的示例性实现方式,确定给定存储设备与给定条带之间的条带相关度包括:在多个存储设备中,确定分别包括条带中的各个区块的第二组存储设备;以及基于给定存储设备与第二组存储设备中的每个存储设备的相关度,确定给定存储设备与给定条带之间的条带相关度。
根据本公开的示例性实现方式,该方法进一步包括:基于给定存储设备的访问负载和给定存储设备的磨损度中的至少任一项、以及条带相关度,确定给定存储设备的评分;以及基于给定存储设备的评分选择目的地存储设备。
根据本公开的示例性实现方式,基于确定的条带相关度,从第一组存储设备中选择目的地存储设备包括:根据确定第一组存储设备中的目的地存储设备的条带相关度低于第一组存储设备中的另一存储设备的条带相关度,选择目的地存储设备。
根据本公开的示例性实现方式,基于确定的条带相关度,从第一组存储设备中选择目的地存储设备进一步包括:基于条带相关度和目的地存储设备的设备相关度,选择目的地存储设备。
根据本公开的示例性实现方式,该方法进一步包括:根据确定源存储设备的均衡指标高于目的地存储设备的均衡指标,将源区块中的数据移动至目的地存储设备中的空闲区块。
根据本公开的示例性实现,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据本公开的方法。
根据本公开的示例性实现,提供了一种计算机可读介质。计算机可读介质上存储有机器可执行指令,当机器可执行指令在被至少一个处理器执行时,使得至少一个处理器实现根据本公开方法。
本公开可以是方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实现中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实现的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。

Claims (20)

1.一种用于在存储系统中管理条带的方法,所述存储系统包括多个存储设备,所述方法包括:
分别确定所述多个存储设备中的存储设备的均衡指标,所述均衡指标表示所述存储设备所涉及的一组条带的分布与所述多个存储设备所涉及的一组条带的分布之间的关系;
根据确定的所述均衡指标,从所述多个存储设备中选择源存储设备;
从所述源存储设备中的已经被分配的所述一组区块中选择源区块;以及
将所述源区块中的数据移动至所述多个存储设备中的目的地存储设备中的空闲区块。
2.根据权利要求1所述的方法,其中确定所述存储设备的所述均衡指标包括:
确定所述存储设备的设备相关度,所述设备相关度表示所述存储系统所涉及的所述一组条带在所述存储设备以及所述存储设备以外的其他存储设备之间的分布;
分别确定所述多个存储设备的设备相关度;以及
基于所述存储设备的所述设备相关度和所述多个存储设备的所述设备相关度,确定所述存储设备的所述均衡指标。
3.根据权利要求2所述的方法,其中确定所述存储设备的设备相关度包括:
分别确定所述存储设备与所述存储设备以外的每个其他存储设备之间的相关度;以及
基于确定的所述相关度,确定所述存储设备的所述设备相关度。
4.根据权利要求3所述的方法,其中分别确定所述存储设备与每个其他存储设备之间的所述相关度包括:针对一个其他存储设备,
确定所述一组条带中的同时涉及所述存储设备和所述其他存储设备的条带的数量;以及
基于确定的所述数量,设置所述存储设备和所述其他存储设备之间的相关度。
5.根据权利要求3所述的方法,其中确定所述存储设备的所述设备相关度包括:将所述设备相关度设置为正比于所述存储设备与每个其他存储设备之间的相关度。
6.根据权利要求1所述的方法,其中从所述多个存储设备中选择所述源存储设备包括:根据确定所述源存储设备的均衡指标高于所述多个存储设备中的另一存储设备的另一均衡指标,选择所述源存储设备。
7.根据权利要求1所述的方法,进一步包括:
确定所述存储系统的均衡指标,所述存储系统的所述均衡指标表示所述多个存储设备所涉及的所述一组条带在所述存储系统中的分布;以及
根据确定所述存储系统的所述均衡指标满足阈值条件,分别确定所述多个存储设备中的所述存储设备的所述均衡指标。
8.根据权利要求2所述的方法,其中确定所述存储设备的所述均衡指标进一步包括:
确定所述存储设备的访问负载;
分别确定所述多个存储设备的访问负载;以及
基于所述存储设备的所述访问负载和所述多个存储设备的所述访问负载,更新所述存储设备的所述均衡指标。
9.根据权利要求2所述的方法,其中确定所述存储设备的所述均衡指标进一步包括:
确定所述存储设备的磨损度;
分别确定所述多个存储设备的磨损度;以及
基于所述存储设备的所述磨损度和所述多个存储设备的所述磨损度,更新所述存储设备的所述均衡指标。
10.根据权利要求1所述的方法,其中选择所述源区块包括:针对所述源存储设备所涉及的所述一组区块中的给定区块,
确定所述给定区块对于所述存储设备的所述均衡指标的影响;
确定所述一组区块对于所述存储设备的所述均衡指标的影响;以及
基于所述给定区块的所述影响和所述一组区块的所述影响,选择所述给定区块作为所述源区块。
11.根据权利要求10所述的方法,其中确定所述给定区块对于所述存储设备的所述均衡指标的所述影响包括:
确定所述给定区块所在的给定条带;
在所述多个存储设备中,确定分别包括所述给定条带中的各个区块的一组存储设备;以及
基于所述一组存储设备中的每个存储设备的设备相关度,确定所述影响。
12.根据权利要求11所述的方法,其中确定所述给定区块对于所述存储设备的所述均衡指标的所述影响进一步包括:基于所述存储设备的访问负载以及所述存储设备的磨损度中的至少任一项来更新所述影响。
13.根据权利要求1所述的方法,进一步包括从所述多个存储设备中选择所述目的地存储设备,包括:
针对所述多个存储设备中的不包括所述源区块所在的条带中的任何区块的第一组存储设备,确定所述第一组存储设备中的给定存储设备与所述给定条带之间的条带相关度;
基于确定的所述条带相关度,从所述第一组存储设备中选择所述目的地存储设备。
14.根据权利要求13所述的方法,其中确定所述给定存储设备与所述给定条带之间的条带相关度包括:
在所述多个存储设备中,确定分别包括所述条带中的各个区块的第二组存储设备;以及
基于所述给定存储设备与所述第二组存储设备中的每个存储设备的相关度,确定所述给定存储设备与所述给定条带之间的所述条带相关度。
15.根据权利要求14所述的方法,进一步包括:
基于所述给定存储设备的访问负载和所述给定存储设备的磨损度中的至少任一项、以及所述条带相关度,确定所述给定存储设备的评分;以及
基于所述给定存储设备的评分选择所述目的地存储设备。
16.根据权利要求13所述的方法,其中基于确定的所述条带相关度,从所述第一组存储设备中选择所述目的地存储设备包括:
根据确定所述第一组存储设备中的所述目的地存储设备的条带相关度低于所述第一组存储设备中的另一存储设备的条带相关度,选择所述目的地存储设备。
17.根据权利要求13所述的方法,其中基于确定的所述条带相关度,从所述第一组存储设备中选择所述目的地存储设备进一步包括:
基于所述条带相关度和所述目的地存储设备的设备相关度,选择所述目的地存储设备。
18.根据权利要求1所述的方法,进一步包括:根据确定所述源存储设备的均衡指标高于所述目的地存储设备的均衡指标,将所述源区块中的数据移动至所述目的地存储设备中的所述空闲区块。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述至少一个处理器执行时使得所述设备执行用于执行根据权利要求1-18中的任一项所述的方法。
20.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令用于执行根据权利要求1-18中的任一项所述的方法。
CN202010292378.9A 2020-04-14 2020-04-14 在存储系统中管理条带的方法、设备和计算机程序产品 Pending CN113535066A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010292378.9A CN113535066A (zh) 2020-04-14 2020-04-14 在存储系统中管理条带的方法、设备和计算机程序产品
US16/996,115 US11262930B2 (en) 2020-04-14 2020-08-18 Method, apparatus, and storage medium for managing stripe in storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010292378.9A CN113535066A (zh) 2020-04-14 2020-04-14 在存储系统中管理条带的方法、设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN113535066A true CN113535066A (zh) 2021-10-22

Family

ID=78006560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010292378.9A Pending CN113535066A (zh) 2020-04-14 2020-04-14 在存储系统中管理条带的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11262930B2 (zh)
CN (1) CN113535066A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442639B2 (en) 2020-04-14 2022-09-13 EMC IP Holding Company LLC Method, apparatus, and storage medium for managing stripe in storage system
CN114860150A (zh) * 2021-02-04 2022-08-05 戴尔产品有限公司 在存储群集的存储系统之间执行损耗均衡
CN115639945A (zh) 2021-07-19 2023-01-24 伊姆西Ip控股有限责任公司 用于扩展存储系统的方法、设备和程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170212705A1 (en) * 2016-01-26 2017-07-27 Netapp, Inc. Dynamic Weighting for Distributed Parity Device Layouts
US10073621B1 (en) * 2016-03-31 2018-09-11 EMC IP Holding Company LLC Managing storage device mappings in storage systems
CN110058960A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
US20190332478A1 (en) * 2018-04-28 2019-10-31 EMC IP Holding Company LLC Method, apparatus and computer program product for managing storage system
CN110413201A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110737391A (zh) * 2018-07-20 2020-01-31 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110737390A (zh) * 2018-07-20 2020-01-31 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107870730B (zh) * 2016-09-23 2020-11-20 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统
CN108255413A (zh) * 2016-12-29 2018-07-06 华为技术有限公司 一种存储系统扩容后数据迁移的方法、存储系统
US10146624B1 (en) * 2017-04-24 2018-12-04 EMC IP Holding Company LLC Disk extent rebalancing in mapped RAID storage arrays
CN109213428B (zh) * 2017-06-30 2021-05-28 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US10592156B2 (en) * 2018-05-05 2020-03-17 International Business Machines Corporation I/O load balancing between virtual storage drives making up raid arrays
CN111104055B (zh) * 2018-10-29 2023-10-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN111124250B (zh) * 2018-10-30 2023-11-21 伊姆西Ip控股有限责任公司 用于管理存储空间的方法、设备和计算机程序产品

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170212705A1 (en) * 2016-01-26 2017-07-27 Netapp, Inc. Dynamic Weighting for Distributed Parity Device Layouts
US10073621B1 (en) * 2016-03-31 2018-09-11 EMC IP Holding Company LLC Managing storage device mappings in storage systems
CN110058960A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
US20190332478A1 (en) * 2018-04-28 2019-10-31 EMC IP Holding Company LLC Method, apparatus and computer program product for managing storage system
CN110413201A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110737391A (zh) * 2018-07-20 2020-01-31 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110737390A (zh) * 2018-07-20 2020-01-31 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品

Also Published As

Publication number Publication date
US20210318825A1 (en) 2021-10-14
US11262930B2 (en) 2022-03-01

Similar Documents

Publication Publication Date Title
CN109725837B (zh) 管理存储系统的方法、系统和计算机程序产品
CN110737391B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN113535066A (zh) 在存储系统中管理条带的方法、设备和计算机程序产品
CN111104055B (zh) 用于管理存储系统的方法、设备和计算机程序产品
US10860476B2 (en) Method, apparatus and computer program product for managing storage system
CN110413208B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN112764661A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN111124250A (zh) 用于管理存储空间的方法、设备和计算机程序产品
CN111104051A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN111124269A (zh) 用于存储管理的方法、电子设备和计算机可读存储介质
US20220197559A1 (en) Method, device, and computer program product for managing access workload of storage system
CN112732168A (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN112925471A (zh) 在存储系统中选择重建目的地的方法、设备和程序产品
US11669250B2 (en) Method, device, and computer program product for managing wear level of storage system
US11442639B2 (en) Method, apparatus, and storage medium for managing stripe in storage system
US11314649B2 (en) Using a machine learning module to perform destages of tracks with holes in a storage system
US20200174885A1 (en) Write-balanced parity assignment within a cluster
US11474716B2 (en) Method, device, and computer program product for creating stripe in storage system
CN113535065B (zh) 在存储系统中管理条带的方法、设备和计算机程序产品
US11709755B2 (en) Method, device, and program product for managing storage pool of storage system
CN114518836B (zh) 管理存储系统的存储资源池的方法、设备和程序产品
US11593011B2 (en) Method, device, and program product for managing spare block based on dynamic window
US20220308775A1 (en) Method, device, and program product for creating stripe based on dynamic window
CN112732167B (zh) 用于管理存储系统的方法、设备
WO2021208699A1 (en) Determination of a type of destage to perform based on preference between performance of operations and preservation of drive life

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