[go: up one dir, main page]

CN111104047B - 管理冗余磁盘阵列的方法、设备和计算机可读存储介质 - Google Patents

管理冗余磁盘阵列的方法、设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111104047B
CN111104047B CN201811251580.6A CN201811251580A CN111104047B CN 111104047 B CN111104047 B CN 111104047B CN 201811251580 A CN201811251580 A CN 201811251580A CN 111104047 B CN111104047 B CN 111104047B
Authority
CN
China
Prior art keywords
storage
raid
storage device
data block
slices
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
CN201811251580.6A
Other languages
English (en)
Other versions
CN111104047A (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 CN201811251580.6A priority Critical patent/CN111104047B/zh
Priority to US16/579,993 priority patent/US11507278B2/en
Publication of CN111104047A publication Critical patent/CN111104047A/zh
Application granted granted Critical
Publication of CN111104047B publication Critical patent/CN111104047B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开的实施例涉及管理冗余磁盘阵列的方法、设备和计算机程序产品。在一种方法中,响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块。从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分。将所述数据块的所述部分写入备用切片。

Description

管理冗余磁盘阵列的方法、设备和计算机可读存储介质
技术领域
本公开的实施例涉及存储系统,并且更具体地涉及用于管理冗余磁盘阵列(RAID)的方法、设备和计算机可读存储介质。
背景技术
RAID是一种数据存储虚拟化技术,其将多个物理存储设备合并成一个或多个逻辑单元,以用于数据冗余、性能改进等目的。如果RAID中的一个存储设备的产品寿命将要结束(EOL),则可能需要在线将该存储设备替换为其他存储设备。然而,在一些存储系统中,将数据从该存储设备复制到其他存储设备可能需要过多的写操作。这对于主机I/O和存储设备的磨损造成了不良的影响。因此,有必要提供一种至少部分地解决现有技术中的上述问题的方案。
发明内容
本公开的实施例提供了用于管理RAID的方法、设备和计算机程序产品。
在第一方面,提供了一种管理RAID的方法。该方法包括:响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块;从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分;以及将所述数据块的所述部分写入备用切片。
在第二方面,提供了一种管理RAID的设备。该设备包括:处理单元;存储器,耦合至所述处理单元并且包括存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行动作,所述动作包括:响应于接收到指示所述RAID的第一存储设备的产品寿命将要结束的信息,确定与所述第一存储设备相关联的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块;从所述第一组切片中的第一切片读取所述多个数据块中的一个数据块的一部分,所述第一切片包括所述数据块的所述部分;以及将所述数据块的所述部分写入备用切片。
在第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有机器可执行指令,当所述机器可执行指令在被至少一个处理器执行时,使得所述至少一个处理器实现根据第一方面所述的方法。
根据第四方面,提供了一种计算机程序产品,所述计算机程序产品被存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据第一方面所述的方法。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的一些实施例的存储系统的一个节点的示意图;
图2示出了根据本公开的一些实施例的节点的一部分的示意图;
图3示出了根据本公开的现有技术的数据迁移的示意图;
图4示出了根据本公开的一些实施例的用于管理RAID的方法的流程图;
图5a示出了根据本公开的一些实施例的存储设备的状态的变化的示意图;
图5b示出了根据本公开的一些实施例的通知存储设备的状态变化的示意图;
图6示出了根据本公开的一些实施例的用于确定受影响的存储区段的方法的流程图;
图7示出了根据本公开的一些实施例的用于管理RAID的方法的流程图;以及
图8示出了根据本公开的一些实施例的可以用来实施本公开的实施例的示例设备的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了根据本公开的一些实施例的存储系统的一个节点100的示意图。如图1所示,节点100包括命名空间102、映射器104和RAID 106。
在一些实施例中,命名空间102支持网络文件系统(NFA)和通用互联网文件系统(CIFS),并且在逻辑存储上实现。命名空间102可以与映射器104通信,利用映射器104的应用编程接口(API)来获得与逻辑地址对应的物理地址。映射器104包含逻辑地址与物理地址之间的映射。
例如,命名空间102从用户接收输入/输出(I/O)请求,并将I/O请求发送到映射器104。映射器104查找数据的地址,并将I/O请求推送到RAID 106。RAID 106使用后端的存储设备(例如,硬盘或固态存储设备SSD)来执行I/O。
如图1所示,RAID 106包括多个组110、112、114和116,每一组可以称为一个RAID恢复集合(RRS)。因此,多个组110、112、114和116也可以表示为RRS0、RRS1、RRS2和RRS3。每一个组包括多个存储设备,例如,硬盘、SSD等。应当理解,也可以使用任何其他合适的存储设备,本公开在此不受限制。每一个RRS是一个容错域,这意味着如果一个RRS内的一个存储设备发生故障,其他RRS的可靠性将不受影响。
图2示出了根据本公开的一些实施例的节点100的一部分200的示意图。如图2所示,在RAID 106中,仅示出了一个组110,其包括多个存储设备202,其中每一个存储设备202被分割为多个切片204。这些切片可以形成切片池,并可以分配为多个存储区段或RAID条带,在这里也称为uber。一个uber可以被视为一个常规的RAID。例如,如果RAID类型是4+1RAID-5,则为了创建一个uber,将需要从不同的存储设备分配5个切片,并将这五个切片组合成一个常规的RAID。例如,一个uber内的所有切片可以来自同一个RRS。
如图2所示,uber池208包括多个uber 206,每一个uber 206包括多个切片。例如,一个uber 206可以包括来自一个存储设备202的一个或多个切片。
如图2所示,映射器104将uber 206分割为多个数据块210,数据块是从uber 206读取数据的最小单位,这里也被称为物理最大块(PLB)。每一个PLB包括位于不同的存储设备上的多个切片上的数据。例如,一个4+1RAID-5的PLB包括来自四个切片的数据以及来自一个切片的校验数据,这些切片各属于不同的存储设备。
以上结合图1-图2示出了根据本公开的一些实施例的架构的示意图,然而,应当理解,在不脱离本公开的精神和原理的情况下,本公开的实施例也可以适用于其他任何合适的架构。
如果一个存储设备(例如,SSD)面临生命周期结束(EOL)的情况,则需要将该存储设备上的数据复制到其他存储设备上。图3示出了根据现有技术的数据迁移的示意图。如图3所示,如果一个存储设备的生命周期将要结束,则该存储设备将影响所有具有该存储设备的uber。映射器104将所有受影响的uber复制到新的uber。例如,
图3示出了将其中一个受影响的uber 310的数据复制到uber 312。在这种情况下,内部数据复制的数据量等于RAID宽度与存储设备大小的乘积。大量的内部I/O将显著影响存储设备的磨损水平和用户I/O性能。
为了至少部分地解决现有技术中的以上问题,本公开的实施例提供了管理RAID的方案。以下结合图4-图7对这些方案进行详细描述。
图4示出了根据本公开的一些实施例的用于管理RAID的方法400的流程图。例如,方法400可以在映射器104和/或RAID 106处实现。图5a示出了根据本公开的一些实施例的存储设备的状态变化的示意图。例如,一个存储设备可以处于在线状态502。在一段时间之后,由于磨损等各种原因,该存储设备可能生命周期将要结束,处于EOL状态504。在实施了根据本公开的实施例的一些方法,例如方法400之后,可以将该存储设备下线,因此,该存储设备将处于下线状态506。
在框402,映射器104接收指示RAID 106的存储设备510的产品寿命将要结束的信息。图5b示出了根据本公开的一些实施例的接收EOL信息的示意图。RAID 106具有检测存储设备(例如,SSD)的健康状况的机制。例如,如果SSD的错误计数或擦除计数超过阈值,则RAID 106将SSD的状态从健康状态更改为EOL状态。当RAID 106检测到SSD将要损坏时,RAID106将向映射器104发送通知,告诉映射器104哪一个SSD将要发生故障。如图5b所示,RAID106中的存储设备510的寿命将要结束,因此,RAID 106经由其与映射器104之间的接口通知映射器104存储设备510的寿命将要结束。
在框404,确定与存储设备510相关联的存储区段。存储区段可以是如上所述的uber,其分布在RAID 510的多个存储设备202上并且包括存储设备510中的第一组切片。一组切片可以包括一个或多个切片。存储区段存储有多个数据块,例如,uber存储有多个PLB。例如,可以确定包含存储设备510的任何切片的所有存储区段或uber。
图6示出了根据本公开的一些实施例的用于确定受影响的存储区段或uber的方法600的流程图。例如,映射器104可以迭代由映射器104消耗的所有uber,以确定哪些uber包含EOL存储设备的切片,并将这些uber放置在列表uber_paco_list中。为了方便起见,以下也可以将存储设备称为盘。
在框602,选择第一个uber。在框604,确定该uber是否包含EOL存储设备的切片。如果是,则前进到框606,将该uber的指针移动到列表uber_paco_list中。然后,方法600前进到框608,在此处,确定是否是最后一个uber。如果不是最后一个uber,则前进到框610,移动到下一个uber,从而进行下一次迭代。另外,如果在框604确定uber不包含EOL存储设备的切片,则方法600前进到框608。
现在返回图4,在框406,从第一组切片中的第一切片读取多个数据块中的一个数据块的一部分,第一切片包括数据块的这一部分。例如,uber中的一个数据块(例如,PLB)的一部分存储在第一切片中,则从第一切片读取PLB的这一部分。
在框408,将数据块的这一部分写入备用切片。当映射器104获取uber_paco_list时,映射器104可以一次选择一个uber,并与RAID 106合作将数据从EOL盘复制到备用切片。当一个uber拷贝结束之后,映射器104将uber修复消息发送给RAID 106,以更改uber的元数据,从而使用备用盘切片来替代EOL盘切片。当uber_paco_list中的所有uber修复之后,映射器104将发送主动拷贝(PACO)修复消息给RAID 106,从而RAID 106将该EOL盘标记为下线。
例如,在框404处所确定的uber包括RAID 106或RRS 1中的第二存储设备中的第二组切片。在一些实施例中,第二存储设备也可以指RAID 106或RRS 1中除第一存储设备之外的多个其他存储设备,例如,所有其他存储设备。例如,如果确定第二组切片包括第一备用切片,则可以将PLB的这一部分写入第一备用切片。如果第二组切片不包括备用切片,则从第二存储设备中除第二组切片之外的切片中选择第二备用切片作为存储区段的一部分,并将数据块的这一部分写入第二备用切片。例如,可以从其他存储设备中的任一存储设备来选择第二备用切片。
在一些实施例中,如果多个数据块或PLB的相应部分都被写入相应的备用切片,则用备用切片来替换第一切片。对于其他数据块或PLB而言,也可以使用相应的备用切片来替换相应的第一切片。在一些实施例中,如果与EOL存储设备相关联的所有存储区段或uber中的多个数据块或PLB的相应部分均被写入相应的备用切片,则可以使EOL存储设备下线。
通过降低写I/O的数量,降低了存储设备(例如,SSD)的损耗水平。以4+1 RAID 5为例,如图3所示的方法将复制五倍的EOL盘数据。与之相比,本公开的实施例仅需复制一个EOL盘数据,为图3所示的方法的25%。另外,由于在线替换存储设备(例如,SSD),降低了对主机I/O的影响。由于只需要使用较少的内部I/O即可完成SSD的替换,对主机I/O的影响更小。此外,由于本公开的实施例仅利用了PLB的读锁,并且映射器可以将主机数据冲刷到新的PLB,因此,不会阻塞主机I/O。
图7示出了根据本公开的一些实施例的用于管理RAID的方法700的流程图。在框702,映射器104从列表uber_paco_list中选择第一个uber,该列表可以是方法600确定的列表。例如,映射器104可以找到包含EOL盘的所有uber,并将这些uber放置在uber_paco_list中。在框704,映射器104从第一个uber中选择第一个PLB。在框706,映射器104获取该PLB的读锁或读取锁定,从而该PLB可以被读取但不能被写入。在框708,映射器104向RAID 106发送请求,以请求RAID 106开始从旧盘向新盘中的备用空间复制数据,也称主动拷贝(PACO)。在这一过程中,映射器104可以将uber的标识符(ID)和PLB的标识符(或编号)发送给RAID106。在框710,RAID 106检查该uber上是否存在备用切片,也称备用盘切片。如果存在,则方法700前进至框716。如果不存在,则方法700前进至框712。在框712,将新的备用切换交换进来,该备用切片可以来自RAID 106中的任何其他盘,或者相应的RRS中的任何其他盘。在框714,可以将备用切片标记为忙,从而防止对其进行访问。在框716,从EOL盘切片读取数据。在框718,RAID 106将数据写入备用切片。然后,RAID 106将该PLB完成拷贝的响应发送给映射器104。
在框720,映射器104接收到PACO PLB响应,释放PLB的读锁,并前进至框722。在框722,映射器104确定是否是该uber中的最后一个PLB。如果不是,则在框724移动到下一个PLB,并前进至框706,以进行下一次迭代。
如果在框722确定为是,则表明该uber已经处理完毕,则方法700前进至框726。在框726,映射器104将该uber标记为已修复,并将该uber的标识符(ID)发送给RAID 106。RAID106在框728用备用切片来代替EOL盘切片。在框730,RAID 106释放备用切片的忙状态,从而可以对其进行访问。在框732,RAID 106更新uber信息,从而备用切片可以替代EOL盘切片。例如,uber信息可以指示形成该uber的存储设备和切片的信息。在框734,RAID 106将EOL盘切片标记为忙,从而防止对EOL盘切片进行访问。此外,RAID 106将uber修复完成的响应发送给框736。在框736,映射器104接收到uber修复完成的响应。在框738,映射器104确定列表uber_paco_list中是否还存在未处理的uber。如果是,则方法700前进至框740,在此处,映射器104移动到下一个uber,以进行迭代。如果否,则方法700前进至框742,在此处,映射器104向RAID 106请求PACO修复,并将EOL盘的盘ID发送给RAID 106,以用新盘替换旧盘。在框744,RAID 106更新RRS信息,在框746,将EOL盘标记为下线,并发送PACO修复完成的响应。在框748,映射器104接收到PACO修复完成的响应,确认修复完成。
图8示出了一个可以用来实施本公开的实施例的设备800的示意性框图。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法400、600和700,可由处理单元801执行。例如,在一些实施例中,方法400、600和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM803并由CPU 801执行时,可以执行上文描述的方法400、600和700的一个或多个步骤。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (21)

1.一种用于管理冗余磁盘阵列RAID的方法,包括:
由存储系统中的节点内的映射器接收指示所述RAID内的至少一个生命周期结束EOL存储设备的信息,其中所述节点包括所述映射器和所述RAID两者,其中所述映射器包括至少一个逻辑地址和至少一个物理地址之间的映射,其中所述至少一个EOL存储设备包括第一存储设备;
响应于由所述映射器从所述RAID接收到指示所述至少一个EOL存储设备的所述信息,
由所述映射器找到所述存储系统中的、每个存储区段单独地包括位于所述至少一个EOL存储设备中的多个切片中的一个切片的所有存储区段,其中每个存储区段包括RAID条带,
由所述映射器将所述存储系统中的、每个存储区段单独地包括位于所述至少一个EOL存储设备中的所述多个切片中的一个切片的所述所有存储区段放置在列表内;
由所述映射器从所述列表内选择包括位于所述第一存储设备中的多个切片中的一个切片的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块;
获取所述多个数据块中的、允许所述数据块被读取并且防止所述数据块被写入的数据块上的读锁;
从所述第一组切片中的第一切片读取所述数据块的部分,所述第一切片包括所述数据块的所述部分;
将所述数据块的所述部分写入备用切片;以及
响应于所述数据块的所述部分写入所述备用切片的完成,释放所述数据块上的所述读锁。
2.根据权利要求1所述的方法,其中所述存储区段还包括所述多个存储设备中的第二存储设备中的第二组切片,并且将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片包括第一备用切片,将所述数据块的所述部分写入所述第一备用切片。
3.根据权利要求2所述的方法,将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片不包括备用切片,从所述第二存储设备中除所述第二组切片之外的切片中选择第二备用切片作为所述存储区段的一部分;以及
将所述数据块的一部分写入所述第二备用切片。
4.根据权利要求1所述的方法,还包括:
响应于所述多个数据块的相应部分被写入相应的备用切片,用所述备用切片来替换所述第一切片。
5.根据权利要求1所述的方法,还包括:
响应于与所述存储设备相关联的所有存储区段中的所述多个数据块的相应部分均被写入相应的备用切片,使所述存储设备下线。
6.根据权利要求1所述的方法,
其中在从所述第一切片读取所述数据块的所述部分之前,所述数据块上的所述读锁由所述映射器获取;以及
其中响应于由所述映射器从所述RAID接收到的、由所述RAID将所述数据块的所述部分写入所述备用切片完成的指示,所述数据块上的所述读锁由所述映射器释放。
7.根据权利要求6所述的方法,其中所述数据块的所述部分包括完整数据块。
8.根据权利要求6所述的方法,还包括:
在所述读锁被所述映射器获取之后,由所述映射器向所述RAID发送请求所述RAID开始从所述第一存储设备向所述备用切片复制数据的请求;以及
其中从所述第一组切片读取所述数据块的所述部分和将所述数据块的所述部分写入所述备用切片是RAID响应于由所述RAID发送的所述请求而被执行的。
9.根据权利要求8所述的方法,还包括:
其中所述映射器在向所述RAID发送所述请求的同时,向所述RAID发送存储区段的标识符和所述数据块的标识符。
10.根据权利要求1所述的方法,还包括:
其中所述映射器响应于与所述第一存储设备相关联的所述存储区段在所述列表中位于第一位而从所述多个数据块中选择所述数据块。
11.根据权利要求10所述的方法,还包括:
其中所述至少一个EOL存储设备包括被包含在所述RAID中的多个EOL存储设备。
12.根据权利要求1所述的方法,其中所述多个数据块中的每个数据块包括用于从所述RAID条带读取数据的最小单元。
13.根据权利要求1所述的方法,其中所述多个数据块中的每个数据块包括被存储在位于所述多个存储设备中的不同存储设备的多个切片上的数据。
14.根据权利要求1所述的方法,还包括:
由所述RAID将所述备用切片标记为忙,在同时所述存储区段中的所述多个数据块中的多个数据块的部分被写入所述备用切片。
15.根据权利要求1所述的方法,其中所述至少一个EOL存储设备包括多个EOL存储设备,并且还包括:
将所述RAID的所述多个存储设备中的每个存储设备分区为多个切片;以及
其中找到所述存储系统中的、每个存储区段单独地包括位于所述至少一个EOL存储设备中的所述多个切片中的一个切片的所有存储区段包括:迭代由所述映射器从所述RAID中消耗的多个存储区段中的每个存储区段,以确定由所述映射器从所述RAID消耗的所述存储区段中的哪些存储区段包括位于所述多个EOL存储设备中的所述多个切片中的一个切片。
16.一种用于管理冗余磁盘阵列RAID的设备,包括:
处理单元;
存储器,耦合至所述处理单元并且包括存储于其上的指令,所述指令在由所述处理单元执行时使所述设备执行动作,所述动作包括:
由存储系统中的节点内的映射器接收指示所述RAID内的至少一个生命周期结束EOL存储设备的信息,其中所述节点包括所述映射器和所述RAID两者,其中所述映射器包括至少一个逻辑地址和至少一个物理地址之间的映射,其中所述至少一个EOL存储设备包括第一存储设备;
响应于由所述映射器从所述RAID接收到指示所述至少一个EOL存储设备的所述信息,
由所述映射器找到所述存储系统中的、每个存储区段单独地包括位于所述至少一个EOL存储设备中的多个切片中的一个切片的所有存储区段,其中每个存储区段包括RAID条带,
由所述映射器将所述存储系统中的、每个存储区段单独地包括位于所述至少一个EOL存储设备中的所述多个切片中的一个切片的所述所有存储区段放置在列表内;
由所述映射器从所述列表内选择包括位于所述第一存储设备中的多个切片中的一个切片的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块;
获取所述多个数据块中的、允许所述数据块被读取并且防止所述数据块被写入的数据块上的读锁;
从所述第一组切片中的第一切片读取所述数据块的部分,所述第一切片包括所述数据块的所述部分;
将所述数据块的所述部分写入备用切片;以及
响应于所述数据块的所述部分写入所述备用切片的完成,释放所述数据块上的所述读锁。
17.根据权利要求16所述的设备,其中所述存储区段还包括所述多个存储设备中的第二存储设备中的第二组切片,并且将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片包括第一备用切片,将所述数据块的所述部分写入所述第一备用切片。
18.根据权利要求17所述的设备,将所述数据块的所述部分写入所述备用切片包括:
响应于确定所述第二组切片不包括备用切片,从所述第二存储设备中除所述第二组切片之外的切片中选择第二备用切片作为所述存储区段的一部分;以及
将所述数据块的一部分写入所述第二备用切片。
19.根据权利要求16所述的设备,其中所述动作还包括:
响应于所述多个数据块的相应部分被写入相应的备用切片,用所述备用切片来替换所述第一切片。
20.根据权利要求16所述的设备,其中所述动作还包括:
响应于与所述存储设备相关联的所有存储区段中的所述多个数据块的相应部分均被写入相应的备用切片,使所述存储设备下线。
21.一种非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质存储用于管理冗余磁盘阵列RAID的指令集,当所述指令集在被至少一个处理器执行时,使得所述至少一个处理器执行方法,所述方法包括:
由存储系统中的节点内的映射器接收指示所述RAID内的至少一个生命周期结束EOL存储设备的信息,其中所述节点包括所述映射器和所述RAID两者,其中所述映射器包括至少一个逻辑地址和至少一个物理地址之间的映射,其中所述至少一个EOL存储设备包括第一存储设备;
响应于由所述映射器从所述RAID接收到指示所述至少一个EOL存储设备的所述信息,
由所述映射器找到所述存储系统中的、每个存储区段单独地包括位于所述至少一个EOL存储设备中的多个切片中的一个切片的所有存储区段,其中每个存储区段包括RAID条带,
由所述映射器将所述存储系统中的、每个存储区段单独地包括位于所述至少一个EOL存储设备中的所述多个切片中的一个切片的所述所有存储区段放置在列表内;
由所述映射器从所述列表内选择包括位于所述第一存储设备中的多个切片中的一个切片的存储区段,所述存储区段分布在所述RAID的多个存储设备上并且包括所述第一存储设备中的第一组切片,所述存储区段存储有多个数据块;
获取所述多个数据块中的、允许所述数据块被读取并且防止所述数据块被写入的数据块上的读锁;
从所述第一组切片中的第一切片读取所述数据块的部分,所述第一切片包括所述数据块的所述部分;
将所述数据块的所述部分写入备用切片;以及
响应于所述数据块的所述部分写入所述备用切片的完成,释放所述数据块上的所述读锁。
CN201811251580.6A 2018-10-25 2018-10-25 管理冗余磁盘阵列的方法、设备和计算机可读存储介质 Active CN111104047B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811251580.6A CN111104047B (zh) 2018-10-25 2018-10-25 管理冗余磁盘阵列的方法、设备和计算机可读存储介质
US16/579,993 US11507278B2 (en) 2018-10-25 2019-09-24 Proactive copy in a storage environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811251580.6A CN111104047B (zh) 2018-10-25 2018-10-25 管理冗余磁盘阵列的方法、设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111104047A CN111104047A (zh) 2020-05-05
CN111104047B true CN111104047B (zh) 2023-08-25

Family

ID=70326248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811251580.6A Active CN111104047B (zh) 2018-10-25 2018-10-25 管理冗余磁盘阵列的方法、设备和计算机可读存储介质

Country Status (2)

Country Link
US (1) US11507278B2 (zh)
CN (1) CN111104047B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733311B (zh) * 2017-04-17 2021-09-10 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US11269745B2 (en) * 2019-10-29 2022-03-08 International Business Machines Corporation Two-node high availability storage system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209547A (zh) * 2015-02-13 2017-09-26 国际商业机器公司 Raid阵列中的磁盘保留和故障预防

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3596021B2 (ja) * 1994-03-04 2004-12-02 三菱電機株式会社 データリンク情報制御方式
US6845465B2 (en) * 2001-09-17 2005-01-18 Sun Microsystems, Inc. Method and system for leveraging spares in a data storage system including a plurality of disk drives
US7181578B1 (en) * 2002-09-12 2007-02-20 Copan Systems, Inc. Method and apparatus for efficient scalable storage management
CA2619141C (en) * 2004-12-23 2014-10-21 Solera Networks, Inc. Method and apparatus for network packet capture distributed storage system
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
US7523013B2 (en) * 2006-05-15 2009-04-21 Sandisk Corporation Methods of end of life calculation for non-volatile memories
US7778077B2 (en) * 2006-05-15 2010-08-17 Sandisk Corporation Non-volatile memory system with end of life calculation
JP2008046923A (ja) * 2006-08-17 2008-02-28 Toshiba Corp 半導体メモリカードシステムの制御方法
US7596656B2 (en) * 2006-09-28 2009-09-29 Sandisk Corporation Memory cards with end of life recovery and resizing
US20080082725A1 (en) * 2006-09-28 2008-04-03 Reuven Elhamias End of Life Recovery and Resizing of Memory Cards
US8543742B2 (en) * 2007-02-22 2013-09-24 Super Talent Electronics, Inc. Flash-memory device with RAID-type controller
US8321597B2 (en) * 2007-02-22 2012-11-27 Super Talent Electronics, Inc. Flash-memory device with RAID-type controller
US9183133B2 (en) * 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US20090144516A1 (en) * 2007-12-04 2009-06-04 Miklos Sandorfi Systems and methods for managing data storage media
US8473779B2 (en) * 2008-02-29 2013-06-25 Assurance Software And Hardware Solutions, Llc Systems and methods for error correction and detection, isolation, and recovery of faults in a fail-in-place storage array
US9098519B2 (en) * 2008-09-16 2015-08-04 File System Labs Llc Methods and apparatus for distributed data storage
KR20110086725A (ko) * 2008-11-10 2011-07-29 퓨전-아이오, 인크. 솔리드-스테이트 저장장치의 고장을 예측하는 장치, 시스템 및 방법
US8364923B2 (en) * 2009-03-30 2013-01-29 Oracle America, Inc. Data storage system manager and method for managing a data storage system
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
JP5342014B2 (ja) * 2009-08-31 2013-11-13 株式会社日立製作所 複数のフラッシュパッケージを有するストレージシステム
US8380915B2 (en) * 2010-01-27 2013-02-19 Fusion-Io, Inc. Apparatus, system, and method for managing solid-state storage media
EP2745203B1 (en) * 2011-08-19 2016-09-21 Kabushiki Kaisha Toshiba Information processing apparatus
US9390055B2 (en) * 2012-07-17 2016-07-12 Coho Data, Inc. Systems, methods and devices for integrating end-host and network resources in distributed memory
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
CN104854554A (zh) * 2012-09-06 2015-08-19 百科容(科技)公司 储存转换层
US8862810B2 (en) * 2012-09-27 2014-10-14 Arkologic Limited Solid state device write operation management system
US9311179B2 (en) * 2012-10-30 2016-04-12 Cleversafe, Inc. Threshold decoding of data based on trust levels
US9367469B2 (en) * 2013-01-31 2016-06-14 Hitachi, Ltd. Storage system and cache control method
US20160011782A1 (en) * 2013-02-27 2016-01-14 Hitachi, Ltd. Semiconductor storage
US9122588B1 (en) * 2013-03-15 2015-09-01 Virident Systems Inc. Managing asymmetric memory system as a cache device
JP6005566B2 (ja) * 2013-03-18 2016-10-12 株式会社東芝 情報処理システム、制御プログラムおよび情報処理装置
US9203616B1 (en) 2013-04-30 2015-12-01 Emc Corporation Multi-server fault tolerant data store update
US9424132B2 (en) * 2013-05-30 2016-08-23 International Business Machines Corporation Adjusting dispersed storage network traffic due to rebuilding
US8990523B1 (en) * 2013-09-02 2015-03-24 Hitachi, Ltd. Storage apparatus and its data processing method
US20150199152A1 (en) * 2014-01-16 2015-07-16 Avalanche Technology, Inc. Method of managing redundant array of independent disks (raid) groups in a solid state disk array
US9645749B2 (en) * 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US9690520B2 (en) * 2014-06-30 2017-06-27 International Business Machines Corporation Recovering an encoded data slice in a dispersed storage network
US10459797B2 (en) * 2014-06-30 2019-10-29 Pure Storage, Inc. Making trade-offs between rebuild scanning and failing memory device flexibility
US9904621B2 (en) * 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US20190011283A1 (en) * 2014-08-21 2019-01-10 Wattcost Pty Ltd Processing of resource consumption data via monitoring physically observable behaviors of an existing resource meter and provision of functionalities based on processing of resource consumption data
US20160080490A1 (en) * 2014-09-15 2016-03-17 Microsoft Corporation Online data movement without compromising data integrity
JP6368789B2 (ja) * 2014-09-26 2018-08-01 株式会社日立製作所 ストレージ装置及びその保守運用方式
US20180275894A1 (en) * 2015-01-20 2018-09-27 Hitachi, Ltd. Storage system
US10210168B2 (en) * 2015-02-23 2019-02-19 International Business Machines Corporation Managing data in storage according to a log structure
US9710317B2 (en) * 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US9772796B2 (en) * 2015-04-09 2017-09-26 Sandisk Technologies Llc Multi-package segmented data transfer protocol for sending sub-request to multiple memory portions of solid-state drive using a single relative memory address
JP6283771B2 (ja) * 2015-04-28 2018-02-21 株式会社日立製作所 ストレージ装置
WO2016181528A1 (ja) * 2015-05-13 2016-11-17 株式会社日立製作所 ストレージ装置
US10146449B1 (en) * 2015-06-26 2018-12-04 EMC IP Holding Company LLC Purchase planning for data storage processing systems
US20190034108A1 (en) * 2015-08-19 2019-01-31 Spatial Digital Systems, Inc. Private access to media data on network storage
TWI579689B (zh) * 2015-09-25 2017-04-21 瑞昱半導體股份有限公司 資料備份系統
US10013325B1 (en) * 2015-09-29 2018-07-03 EMC IP Holding Company LLC Providing resiliency to a raid group of storage devices
US10013323B1 (en) * 2015-09-29 2018-07-03 EMC IP Holding Company LLC Providing resiliency to a raid group of storage devices
US9652160B1 (en) * 2015-11-06 2017-05-16 Datadirect Networks, Inc. Method and system for data migration between high performance computing entities and a data storage supported by a de-clustered raid (DCR) architecture with I/O activity dynamically controlled based on remaining health of data storage devices
US9698614B2 (en) * 2015-11-20 2017-07-04 International Business Machines Corporation Adjusting an extended power line disruption time and end-of-life used for at least one battery backup unit in a system
US9959054B1 (en) 2015-12-30 2018-05-01 EMC IP Holding Company LLC Log cleaning and tiering in a log-based data storage system
US10545681B2 (en) * 2016-02-08 2020-01-28 International Business Machines Corporation Asymmetric storage data distribution
US10296593B2 (en) * 2016-06-24 2019-05-21 International Business Machines Corporation Managing storage system metadata during data migration
US10082965B1 (en) * 2016-06-30 2018-09-25 EMC IP Holding Company LLC Intelligent sparing of flash drives in data storage systems
EP3297404B1 (en) * 2016-09-16 2023-06-07 Goodrich Lighting Systems GmbH Exterior aircraft light unit and method of disabling a light output of an exterior aircraft light unit
CN107870730B (zh) * 2016-09-23 2020-11-20 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统
CN108228396B (zh) * 2016-12-21 2021-03-23 伊姆西Ip控股有限责任公司 用于处理驱动器的错误的方法和设备
CN108733314B (zh) * 2017-04-17 2021-06-29 伊姆西Ip控股有限责任公司 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质
US10346247B1 (en) * 2017-04-27 2019-07-09 EMC IP Holding Company LLC Adjustable error sensitivity for taking disks offline in a mapped RAID storage array
US10152254B1 (en) * 2017-04-28 2018-12-11 EMC IP Holding Company LLC Distributing mapped raid disk extents when proactively copying from an EOL disk
US10685010B2 (en) * 2017-09-11 2020-06-16 Amazon Technologies, Inc. Shared volumes in distributed RAID over shared multi-queue storage devices
CN109725838B (zh) * 2017-10-27 2022-02-25 伊姆西Ip控股有限责任公司 用于管理多个盘的方法、装置以及计算机可读介质
CN109726033B (zh) * 2017-10-31 2022-05-06 伊姆西Ip控股有限责任公司 提供raid数据保护的方法、数据存储系统和计算机可读介质
US20190213803A1 (en) * 2018-01-05 2019-07-11 Byton Limited Cloud-based real-time predictive maintenance for vehicle components
CN110058787B (zh) * 2018-01-18 2022-06-24 伊姆西Ip控股有限责任公司 用于写入数据的方法、设备和计算机程序产品
CN110096217B (zh) * 2018-01-31 2022-05-27 伊姆西Ip控股有限责任公司 用于重新定位数据的方法、数据存储系统和介质
CN110413216B (zh) * 2018-04-28 2023-07-18 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110737390B (zh) * 2018-07-20 2023-08-18 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110737398B (zh) * 2018-07-20 2023-09-01 伊姆西Ip控股有限责任公司 协调访问操作的方法、设备和计算机程序产品
US10901848B2 (en) * 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US10649843B2 (en) * 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US11347653B2 (en) * 2018-08-31 2022-05-31 Nyriad, Inc. Persistent storage device management
CN111104051B (zh) * 2018-10-26 2023-08-22 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN111124260B (zh) * 2018-10-31 2023-09-08 伊姆西Ip控股有限责任公司 管理独立盘冗余阵列的方法、电子设备和计算机程序产品
US10958434B1 (en) * 2018-12-12 2021-03-23 Sprint Communications Company L.P. System and method of detecting end-of-life of internet of things (IoT) device and closing associated block chain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209547A (zh) * 2015-02-13 2017-09-26 国际商业机器公司 Raid阵列中的磁盘保留和故障预防

Also Published As

Publication number Publication date
US20200133514A1 (en) 2020-04-30
US11507278B2 (en) 2022-11-22
CN111104047A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
US11163472B2 (en) Method and system for managing storage system
CN110389858B (zh) 存储设备的故障恢复方法和设备
US11449400B2 (en) Method, device and program product for managing data of storage device
CN110413208B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN111104055B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN111104051B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN110058787B (zh) 用于写入数据的方法、设备和计算机程序产品
US11449402B2 (en) Handling of offline storage disk
CN113377569B (zh) 用于恢复数据的方法、设备和计算机程序产品
CN113590019B (zh) 用于存储管理的方法、电子设备和计算机程序产品
CN111143113A (zh) 复制元数据的方法、电子设备和计算机程序产品
CN111104047B (zh) 管理冗余磁盘阵列的方法、设备和计算机可读存储介质
CN112748856B (zh) 管理盘的方法、电子设备和计算机程序产品
CN111857557B (zh) Raid类型转换的方法、设备和计算机程序产品
US11481275B2 (en) Managing reconstruction of a malfunctioning disk slice
US11829604B2 (en) Method, device and computer program products for storage management
CN111857560B (zh) 用于管理数据的方法、设备和计算机程序产品
US11620080B2 (en) Data storage method, device and computer program product
CN114253460B (zh) 管理存储池的方法、设备和计算机程序产品
CN112748860B (zh) 用于存储管理的方法、电子设备和计算机程序产品
US11513712B2 (en) Method for storage management, device and computer program product
CN111124746A (zh) 管理独立盘冗余阵列的方法、设备和计算机可读介质
CN114442903B (zh) 管理存储系统的方法、电子设备和计算机程序产品

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