CN111104244B - 用于在存储阵列组中重建数据的方法和设备 - Google Patents

用于在存储阵列组中重建数据的方法和设备 Download PDF

Info

Publication number
CN111104244B
CN111104244B CN201811270527.0A CN201811270527A CN111104244B CN 111104244 B CN111104244 B CN 111104244B CN 201811270527 A CN201811270527 A CN 201811270527A CN 111104244 B CN111104244 B CN 111104244B
Authority
CN
China
Prior art keywords
storage device
storage
storage area
write
record
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
CN201811270527.0A
Other languages
English (en)
Other versions
CN111104244A (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 CN201811270527.0A priority Critical patent/CN111104244B/zh
Priority to US16/655,386 priority patent/US11442651B2/en
Publication of CN111104244A publication Critical patent/CN111104244A/zh
Application granted granted Critical
Publication of CN111104244B publication Critical patent/CN111104244B/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/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/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
    • 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/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/1088Reconstruction on already foreseen single or plurality of spare disks
    • 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
    • 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/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/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
    • 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
    • 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
    • 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

Landscapes

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

Abstract

本文公开了用于在存储阵列组中重建数据的方法和设备。该方法包括:响应于确定所述存储阵列组中包括的多个存储设备中的第一存储设备处于非工作状态,生成所述第一存储设备的写记录,所述写记录指示在所述非工作状态期间是否针对所述第一存储设备中的多个存储区域中的每个存储区域发生了写入操作;响应于确定所述第一存储设备从所述非工作状态返回到工作状态,基于所述写记录来确定所述第一存储设备中是否存在需要执行数据重建的目标存储区域;以及基于所述确定来控制将要在所述目标存储区域上执行的数据重建。

Description

用于在存储阵列组中重建数据的方法和设备
技术领域
本公开的实施例涉及数据存储领域,并且更具体地涉及用于在存储阵列组中重建数据的方法和设备。
背景技术
近来,诸如独立磁盘冗余阵列(RAID)组等的存储阵列组技术已被广泛应用。RAID是一种数据存储虚拟化技术,其将多个物理磁盘驱动器部件组合到一个逻辑单元中,以用于实现数据冗余、性能改进或者其两者。
在RAID系统中,常见的情况是需要更换或移除磁盘驱动器。此时发生的数据重建过程称为“RAID重建”。例如,当磁盘意外发生故障时,RAID组会在更换故障磁盘时将数据复制到备用磁盘驱动器。然后使用RAID算法和奇偶校验数据,在新磁盘驱动器上重新组装数据。如果RAID组检测到磁盘驱动器即将发生故障,RAID重建也可以是主动的。在数据重建期间,某些应用或过程的性能可能会受到延迟的负面影响。
此外,例如,当被移除的磁盘驱动器在预定时间段内重新回到RAID组中时,需要对该磁盘驱动器执行数据重建过程。该数据重建过程所需要的时间的长短对于用户来说是非常重要的。
发明内容
本公开的实施例提供了用于在存储阵列组中重建数据的改进的方案。
在第一方面中,提供了一种用于在存储阵列组中重建数据的方法。该方法包括:响应于确定所述存储阵列组中包括的多个存储设备中的第一存储设备处于非工作状态,生成所述第一存储设备的写记录,所述写记录指示在所述非工作状态期间是否针对所述第一存储设备中的多个存储区域中的每个存储区域发生了写入操作;响应于确定所述第一存储设备从所述非工作状态返回到工作状态,基于所述写记录来确定所述第一存储设备中是否存在需要执行数据重建的目标存储区域;以及基于所述确定来控制将要在所述目标存储区域上执行的数据重建。
在第二方面中,提供了一种电子设备。该电子设备包括:处理器;以及与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述处理器执行时使所述电子设备执行动作,所述动作包括:响应于确定所述存储阵列组中包括的多个存储设备中的第一存储设备处于非工作状态,生成所述第一存储设备的写记录,所述写记录指示在所述非工作状态期间是否针对所述第一存储设备中的多个存储区域中的每个存储区域发生了写入操作;响应于确定所述第一存储设备从所述非工作状态返回到工作状态,基于所述写记录来确定所述第一存储设备中是否存在需要执行数据重建的目标存储区域;以及响应于确定是否存在所述目标存储区域,控制将要在所述目标存储区域上执行的数据重建。
在第三方面中,提供了一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令在被执行时使设备执行根据第一方面的方法。
在第四方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了以简化的形式介绍对构思的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开的实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,在附图中:
图1示出了存储阵列组的示意图;
图2示出了本公开的实施例可以在其中被实现的存储阵列组的示意图;
图3示出了根据本公开的实施例的用于在存储阵列组中重建数据的方法的流程图;
图4示出了根据公开的实施例的写记录的配置的示意图;
图5示出了根据本公开的实施例的处理过程的流程图;
图6示出了根据本公开的实施例的处理过程的流程图;以及
图7示出了可以用来实施本公开的实施例的示例设备的示意性框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
图1示出了存储阵列组100’的示意图。存储阵列组100’包括多个存储设备101’至106’。在正常操作状态中,存储设备101’至105’被配置为存储数据。存储设备106’用作备用存储设备,并且被配置为替换存储设备101’至105’中的任一存储设备。例如,存储阵列组100’可以包括RAID组。
在RAID组中,RAID级别指代所需的冗余和性能级别。根据RAID级别,数据以对应方式来分布在存储设备上。以RAID 5作为RAID级别的示例,RAID 5的RAID组包括具有分布式奇偶校验的块区级条带。奇偶校验信息在存储设备之中被分配。在此情况下,每个条带包括5个块区(block),其包括4个数据块区D0至D3和1个奇偶校验块区P。在单个存储设备发生故障时,可以从分布式奇偶校验计算后续读取,使得没有数据丢失。同时,将选择一个热备用存储设备来替换故障存储设备,并且故障存储设备上的所有数据将被重建并且写入到新存储设备。
RAID组的元数据分为两类:分页元数据和非分页元数据。非分页元数据被配置为记录RAID组的基本配置。分页元数据被配置为描述每个块(chunk)的重建信息和I/O停顿状态。
表1
字段 含义
LUN ID 此范围所属的逻辑单元号的ID
RAID ID 此范围所属的映射RAID的ID
RAID类型 此RAID范围的RAID保护级别
宽度 磁盘范围计数
rebuild_logging_bitmask 该位图指示需要重建的位置
重建检查点 重建指针
非分页元数据可以例如由表1所示。表1示出了非分页元数据中的各个字段和相应字段的含义。如表1所示,非分页元数据中的rebuild_logging_bitmask字段指示存储设备中需要进行数据重建的位置,并且重建检查点字段指示重建指针。非分页元数据可以包括RAID组中的RAID类型、宽度、故障磁盘位置等信息。
表2
字段 含义
有效位 分页元数据记录是否有效
quiesce_io_flag 该标志指示I/O是否已停顿
need_rebuild_bitmask 需要以块重建的位置
分页元数据可以例如由表2所示。表2示出了分页元数据中的各个字段和相应字段的含义。如表2所示,分页元数据中的need_rebuild_bitmask字段指示需要以块(chunk)进行数据重建的位置。分页元数据可以包括RAID组中所有块的状态和停顿输入输出(I/O)标志。
在RAID组中,遵循以下传统方法的数据重建过程进行数据重建。首先,发现磁盘驱动器故障并且发送故障事件,以通知RAID组中的一个磁盘驱动器已被移除。此时,RAID组进入降级状态,但仍然可以提供数据服务。然后,根据RAID组中已移除的磁盘驱动器的位置,RAID组将标记如表1所示的非分页元数据中的rebuild_logging_bitmask字段。如果在降级状态中写入操作被发送至RAID组,则将在写入数据之前,首先设置如表2所示的分页元数据中的need_rebuild_bitmask字段。如果在交换热备用磁盘驱动器之前原始磁盘驱动器已恢复,则评估need_rebuild_bitmask字段,以查找重建日志记录磁盘驱动器位置,并且获取针对磁盘驱动器的检查点。如果计时器已过期(例如,5分钟),则将交换新磁盘驱动器(热备用磁盘驱动器)以替换故障磁盘驱动器。交换新磁盘驱动器后,RAID组将收到一个事件,被通知新磁盘驱动器已准备就绪。接着,需要针对每个块而在分页元数据中标记need_rebuild_bitmask字段。当标记need_rebuild_bitmask字段完成时,清除评估重建日志记录。此后,启动数据重建操作,根据分页元数据中的标记的need_rebuild_bitmask字段,数据将逐块被重建。
例如,在RAID 5中,如果RAID组中的一个磁盘驱动器被移除或故障从而RAID组进入降级状态,则在相应的位置上非分页元数据中的rebuild_logging_bitmask字段将被设置,并且重建检查点被设置为0。当移除的磁盘驱动器被重新插入或者被新磁盘驱动器替换时,可以根据情况设置分页元数据中的need_rebuild_bitmask字段,然后重建后台服务将启动。重建操作在RAID组中逐块被执行,直到需要重建的所有块被重建,重建检查点字段将被设置为指示重建完成。
当原磁盘驱动器被插入时,如果在RAID组的降级状态期间在块中没有写入操作,则不需要重建该块,只需检查分页元数据中的need_build_bitmask并且将重建检查点更改为下一个块。众所周知,随着存储技术的发展,磁盘容量日益增加。上面的重建过程将花费一些时间甚至只是遍历RAID组的所有块,因为需要通过读取磁盘上的分页元数据来处理许多块。如果可以缩小待检查的重建范围,并且减少读取分页元数据的次数,则可以提高重建性能。
在另一种情况下,在RAID组中的第一磁盘驱动器被移除并且RAID组处于降级状态之后,如果第二磁盘驱动器在移除的第一磁盘驱动器的数据重建完成之前故障或被移除,则RAID组将脱机并且无法为用户的写入操作提供服务,这将导致用户数据丢失。有时,第一磁盘驱动器只是被短时脉冲波干扰或立即插回,并且在第一磁盘驱动器上没有写入操作,因此不需要针对第一磁盘驱动器的重建过程。即使第二驱动器被移除,实际上RAID组处于降级状态但不处于脱机状态,并且RAID组可以继续为写入操作提供服务。如果能够确定这种情况并且在第一磁盘驱动器返回时尽快使RAID组返回到正常工作状态或联机,则可以显著降低RAID组的离线风险。
从上面的描述可以看出,RAID组的重建时间是一个重要问题。更高容量的存储设备或多个故障存储设备可能导致更长的数据重建时间。随着存储设备的容量逐年增加,数据重建时间也相应增加。换句话说,如果不减少数据重建时间,用户将面临RAID组离线的风险增加,这将导致数据丢失。因此,减少RAID组的数据重建时间非常重要。
传统上,在RAID组进入降级状态之后,针对磁盘驱动器被移除或发生故障(下文中简称为“非工作状态”)的存储位置处的整个块,逐块执行检查,以确定该磁盘驱动器在非工作状态期间是否存在针对该磁盘驱动器的写入操作。实际上,只需要重建在磁盘驱动器处于非工作状态时针对该磁盘驱动器的写入操作的目标块。如果可以轻松确认写入操作是否发生在与该磁盘驱动器的相对应的位置以及写入操作所针对的目标块范围,则可以简化数据重建过程并且提高数据重建性能。此外,在RAID组中的第一磁盘驱动器被移除并且RAID组处于降级状态后,如果第二磁盘驱动器在针对移除的第一驱动器的数据重建完成之前进入非工作状态,则RAID组将处于脱机或离线状态。如果可以显著减小针对第一磁盘驱动器的重建时间,则可以减小RAID组进入脱机或离线状态的风险。
本公开的实施例提供用于在诸如RAID组等存储阵列组中重建数据的技术方案,其能够缩短数据重建时间并且减小存储阵列组离线的风险。总体而言,根据本公开的实施例,通过写记录来指示在非工作状态期间是否针对存储设备中划分的多个存储区域中的每个存储区域发生了写入操作,以及基于该写记录来确定存储设备中是否存在需要执行数据重建的目标存储区域,从而控制将要在目标存储区域上执行的数据重建。
根据本公开的实施例,写记录中的多个位分别对应于存储设备中的相应存储区域,以指示针对哪个存储区域发生了写入操作。在数据重建过程期间,检查写记录,如果写记录指示不存在写入操作,则生成完成数据重建的指示而针对存储设备不执行数据重建,以及如果写记录指示存在写入操作,则将重建检查点跳转到存储区域中的特定块范围以进行数据重建。因此,基于写记录来控制数据重建,能够显著降低数据重建所需要的时间,并且降低存储阵列组离线的风险。
图2示出了本公开的实施例可以在其中被实现的存储阵列组100的示意图。存储阵列组100包括多个存储设备101至105。在正常操作状态中,存储设备101至105被配置为存储数据。在一些实施例中,存储阵列组100可以进一步包括备用存储设备。应当理解的是,存储阵列组100可以包括任何数目的存储设备。
在一些实施例中,存储阵列组100可以包括RAID组。在一些实施例中,多个存储设备101至105中的任何存储设备可以包括磁盘驱动器。在其他实施例中,多个存储设备101至105中的任何存储设备可以包括其他类型的存储设备,例如,固态硬盘。在一些实施例中,存储阵列组100可以是由磁盘驱动器形成的阵列组。在其他实施例中,存储阵列组100可以是由诸如固态硬盘等其他类型的存储设备形成的阵列组。在其他实施例中,存储阵列组100可以是由磁盘驱动器和诸如固态硬盘等其他类型的存储设备形成的阵列组。
在下文中,将参考存储阵列组100为RAID组并且具有RAID 5的级别的示例来进行描述。应当理解的是,下面描述的RAID组中的存储设备不限于磁盘驱动器,可以包括其他已知类型的存储设备。
如图2所示,由于某些原因,第一存储设备104被移除或故障而进入非工作状态,并且存储阵列组100将进入降级状态直到重建过程完成。在降级状态中,存储阵列组100仍然可以向用户提供数据服务。此后,由于第一存储设备104只是被短时脉冲波干扰或者第一存储设备104的故障被排除,第一存储设备104可以从非工作状态返回到正常工作状态。此时,需要对返回的第一存储设备104进行重建过程。
图3示出了根据本公开的实施例的用于在存储阵列组100中重建数据的方法的流程图300。
在框302处,响应于确定存储阵列组100中包括的多个存储设备101至105中的第一存储设备104处于非工作状态,生成第一存储设备104的写记录,写记录指示在非工作状态期间是否针对第一存储设备104中的多个存储区域中的每个存储区域发生了写入操作。
在一些实施例中,写记录包括多个位,每个位对应于多个存储区域中的相应存储区域,并且每个位指示相应存储区域是否发生写入操作。在一些实施例中,写记录可以被包括在用于指示存储阵列组100的配置和状态的信息中。在一些实施例中,写记录被包括在记录存储阵列组100的基本配置的非分页元数据中。在一些实施例中,写记录是与第一存储设备104相对应的位图。
在一些实施例中,如表3所示,写记录以degraded_write_bitmap字段被添加到非分页元数据中。与表1所示的现有技术的非分页元数据的不同之处在于,表3所示的元数据中增加了degraded_write_bitmap字段,以作为用于指示降级状态中写入操作发生的位图。在一些实施例中,写记录被包括在传统非分页元数据中,以形成新的非分页元数据。
表3
应当理解的是,如表3所示的包括写记录的元数据中的字段的布置、数量和种类都是示例性的。在其他实施例中,包括写记录的元数据可以包括不同顺序、不同数量和不同类型的其他字段,并且可以根据需要被调整。
图4示出了根据公开的实施例的写记录402的配置的示意图。如先前参考图2所述,存储阵列组100中的存储设备104进入非工作状态,如图4所示的写记录402是与存储设备104相对应的位图。
在一些实施例中,写记录402包括N个位,存储设备104被划分为N个存储区域,N个位中的每个位对应于N个存储区域中的相应的存储区域,其中N是正整数。在一些实施例中,例如,写记录402是一个32位的位图,并且存储设备104的存储空间被划分为32个相同大小的区域,位图中的每个位对应于每个存储区域的块范围。例如,存储设备104的容量为16T,则写记录402中的每个位对应于500M的存储区域,并且表示该500M空间上的降级状态中的写入操作的发生情况。应当理解的是,这些数值都是示例性的,可以根据需要采用其他适当的值。
如果写记录402的一个位被设置为1,则其表示当存储阵列组100处于降级状态时,在与该位相对应的500M的存储区域上发生写入操作。如果写记录402的一个位为0,则其表示在降级状态中针对与该位相对应的存储区域没有发生写入操作,此时不需要重建该存储区域的范围内的数据。
在一些实施例中,生成第一存储设备104的写记录402包括:初始化所述写记录;响应于确定在非工作状态期间针对第一存储设备104发生了写入操作,计算写入操作的地址范围;基于所计算的地址范围,确定发生了写入操作的存储区域;以及设置所述写记录以指示所确定的存储区域。
在存储阵列组100中,当第一存储设备104进入非工作状态(被移除或故障)时,写记录402被初始化以被清零。在第一存储设备从非工作状态返回到正常工作状态之前,写记录可以被设置以指示针对第一存储设备的各个存储区域是否发生了写入操作,并且指示写入操作发生的块范围。下面将参考图5来详细描述框302处的处理过程。图5示出了根据本公开的实施例的处理过程的流程图500。
在框502处,第一存储设备104被移除或发生故障,并且存储阵列组100接收该事件。
在框504处,响应于该事件,评估重建日志记录,并且针对存储设备104的位置(降级位置),设置非分页元数据中的rebuild_logging_bitmask字段。
在框506处,非分页元数据中的degraded_write_bitmap字段(写记录402)被清除为0。
在框508处,在第一存储设备104返回到正常工作状态之前或者备用存储设备进入工作状态之前的时间段内(降级状态期间),确定针对第一存储设备104是否发生了写入操作。在实施例中,当写入操作被发送到存储阵列组100时,写入操作的LBA(逻辑块地址)范围映射到PBA(物理块地址)范围。如果写入操作命中了存储设备104的降级位置,则确定针对第一存储设备104发生了写入操作。如果确定为“是”,则处理过程进行到框510。如果确定为“否”,则处理过程结束。
在框510处,计算PBA范围,以确定第一存储设备104的发生了写入操作的相应存储区域。
在框512处,基于计算的PBA范围,在非分页元数据的degraded_write_bitmap字段中,将与发生了写入操作的存储区域相对应的位设置为1。
可选地,在框514处,针对与被设置的位相对应的存储区域中的块,标记分页元数据中的need_rebuild_bitmask字段,以用于后续数据重建。
以上处理过程是整个数据重建过程中的在存储设备进入非工作状态之后以及返回正常工作状态之前的处理过程。下面将描述在存储设备返回到正常工作状态之后的处理过程。
返回到图3,在框304处,响应于确定第一存储设备104从非工作状态返回到工作状态,基于写记录402来确定第一存储设备104中是否存在需要执行数据重建的目标存储区域。此外,在框306处,基于确定第一存储设备104中是否存在需要执行数据重建的目标存储区域,来控制将要在目标存储区域上执行的数据重建。在一些实施例中,数据重建以目标存储区域中的块为单位被执行。
在一些实施例中,响应于写记录402指示在非工作状态期间没有发生过针对第一存储设备104的存储区域的写入操作,确定不存在目标存储区域。此外,基于该确定,生成数据重建完成的指示,而不在第一存储设备104上执行任何数据重建。当第一存储设备104在预定时间段内被插入而返回到正常工作状态时,非分页元数据中的写记录402(例如,degraded_write_bitmap字段)被读取以确认针对第一存储设备104是否发生了写入操作。如果在第一存储设备104从进入非工作状态到返回正常工作状态期间,针对第一存储设备104没有发生写入操作,则可以生成完成数据重建操作的指示而针对第一存储设备不执行任何数据重建。例如,可以将重建检查点字段设置为指示完成数据重建操作。
在一些实施例中,响应于写记录402指示在非工作状态期间发生过针对第一存储设备104的存储区域的写入操作,将该存储区域设置为目标存储区域,并且确定存在目标存储区域。此外,基于该确定,针对目标存储区域中的每个存储区域,确定该存储区域中将要被执行写入操作的地址范围,针对地址范围执行数据重建,以及生成数据重建完成的指示。
下面将参考图6来详细描述框304和框306处的处理过程。图6示出了根据本公开的实施例的处理过程的流程图600。
在框602处,存储设备104从非工作状态返回到正常工作状态,存储阵列组100接收该事件。
在框604处,响应于该事件,读取非分页元数据中的degraded_write_bitmap字段(写记录402)。
在框606处,如果写记录402中的一个位为0,则其表示在降级状态期间针对存储设备104中的与该位相对应的存储区域没有发生写入操作,并且处理过程进行到框612以检查下一个位。如果写记录402中的一个位被设置为1,则其表示在降级状态期间针对存储设备104中的与该位相对应的存储区域发生过写入操作,并且处理过程进行到框608。
在框608处,根据写记录402中的被设置的一个位,计算与该位相对应的存储区域中的PBA范围。
在框610处,响应于所计算的块地址范围,标记分页元数据中的need_rebuild_bitmask字段,以确定将要进行数据重建的存储区域中的块。
在步骤612处,响应于确定与一个位相对应的存储区域中的块,检查写记录402中的下一个位。如果存在还未被处理的位,则处理过程返回到框604。如果所有位已经被处理,则处理过程进行到框614。
在框614处,在所有位被处理之后,设置非分页元数据中的重建检查点字段以用于启动数据重建。
在框616处,启动数据重建。
在框618处,清除degraded_write_bitmap字段,以及结束重建过程。
应当理解的是,上面描述的框614至框618的处理过程为本领域已知的处理过程,在此省略其详细描述。
在本公开的实施例中,非分页元数据中的写记录402的N个位被检查,并且与写记录402中的被设置的位相对应的存储区域被确定。当存储设备104被插入回到存储阵列组100从而进入正常工作状态时,如果写记录402的N个位中的每个位为0,则指示从存储设备104被移除到返回期间针对存储设备104没有发生写入操作,并且重建检查点字段被设置为指示完成数据重建过程。由于只需检查写记录402的N个位,而不需要针对存储设备104的每个块而读取分页元数据,可以减小针对存储设备104的数据重建过程所需的时间,从而缩小存储阵列组100处于降级状态的时间窗口,从而减小存储阵列组100离线的风险。
此外,当存储阵列组100处于降级状态中时,如果写入操作发送到存储阵列组100,则LBA(逻辑块地址)可以映射到存储设备上的PBA(物理块地址)和位置。如果在存储设备104的位置上命中,则将在写记录402中设置与存储设备104中的块范围所属的存储区域相对应的位。当存储设备104返回到正常工作状态时,检查非分页元数据中的写记录402,如果写记录402中的某些位被设置为1,则确定针对与该位相对应的存储区域发生了写入操作,并且将重建检查点设置为由写记录402指示的块范围的起始块地址,然后跳转到相应的块以重建数据。由于基于写记录402的N个位的指示来确定将要进行数据重建的目标存储区域,然后确定目标存储区域中的将要进行数据重建的块,而不需要针对每个块而读取分页元数据以确定将要进行数据重建的块,可以减小针对存储设备104进行的数据重建所需的时间,从而缩小存储阵列组100处于降级状态的时间窗口,从而减小存储阵列组100离线的风险。
通常,利用备用存储设备来替换第一存储设备104的等待时间被设置为5分钟,这意味着在第一存储设备104进入非工作状态之后,如果在5分钟之内第一存储设备104没有返回到正常工作状态,则利用存储设备替换第一存储设备104。
在一些实施例中,根据本公开的实施例的方法可以进一步包括:响应于确定第一存储设备104处于非工作状态的时间超过预定时段(例如,5分钟或其他时间段),利用针对第一存储设备104的所有数据来在与第一存储设备104相关联的备用存储设备中执行数据重建。如果在经过预定时间段之后存储设备104没有返回到正常工作状态,则存储阵列组100利用备用存储设备来替换存储设备104。当备用存储设备代替第一存储设备104而进入工作状态时,需要重建第一存储设备104的位置上的所有数据。在此情况下,写记录402的每个位被设置为1,例如,写记录402的位图被设置为0xffffffff,以便执行常规数据重建过程。在备用存储设备中进行数据重建在现有技术中是公知的,因此在此省略其详细描述。
在一些实施例中,根据本公开的实施例的方法可以进一步包括:将待写入第一存储设备104中的数据存储在备用区域中,该备用区域被包括在存储设备101、102、103和105中的任何存储设备中。在此情况下,这样的处理过程在本领域中是公知的,在此省略其详细描述。
应当理解的是,针对上面描述的RAID 5,设置了与第一存储设备104相对应的一个写记录402。当存储阵列组被设置为RAID 6时,存储阵列组允许两个存储设备处于非工作状态而保持提供数据服务。在此情况下,针对RAID 6,可以设置与进入非工作状态的第一存储设备和第二存储设备分别相对应的第一写记录和第二写记录。因此,根据本公开的构思不仅适用于上面描述的RAID 5,也可以适用于诸如RAID 6等的其他级别。
图7示出了可以用来实施本公开的实施例的示例设备700的示意性框图。设备700可以用于实现图2中的存储阵列组100的一部分。如图所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,该多个部件包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元701执行上文所描述的各个方法和处理,例如过程300、过程500和/或过程600。例如,在一些实施例中,过程300、过程500和/或过程600可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由CPU 701执行时,可以执行上文描述的过程300、过程500和/或过程600的一个或多个步骤。备选地,在其他实施例中,CPU 701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程300、过程500和/或过程600。
根据本公开的实施例,在传统非分页元数据中添加了写记录的字段,该写记录被配置作为具有N个位的位图,每个位对应于进入非工作状态的第一存储设备中的相应存储区域,并且每个位指示在非工作状态期间针对相应存储区域是否发生了写入操作。当第一存储设备从非工作状态返回到正常工作状态时,检查写记录的各个位,基于写记录的指示来确定在第一存储设备中需要执行数据重建的存储区域。由于仅需要检查写记录中的N个位,而不需要针对第一存储设备中的每个块而确定针对该块是否发生了写入操作,因此用于第一存储设备的重建过程的时间被显著缩短。此外,由于基于写记录指示来确定将要进行数据重建的目标存储区域,然后确定目标存储区域中的将要进行数据重建的块,而不需要针对每个块而确定将要进行数据重建的块,因此用于第一存储设备的数据重建的时间被缩短。因此,根据本公开的实施例的方法能够缩短存储阵列组处于降级状态的时间窗口,从而减小存储阵列组离线或脱机的风险。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (19)

1.一种用于在存储阵列组中重建数据的方法,所述方法包括:
响应于确定所述存储阵列组中包括的多个存储设备中的第一存储设备处于非工作状态,生成所述第一存储设备的写记录,响应于在所述非工作状态期间在所述第一存储设备中的多个存储区域中的对应存储区域发生了写入操作,所述写记录通过设置所述写记录的对应部分而被生成,每个存储区域包括相应的多个块和针对所述存储区域的块的对应的块元数据,所述块元数据包括被用于标识需要被重建的所述存储区域的块的需要重建记录;以及
响应于确定所述第一存储设备从所述非工作状态返回到工作状态,(1)基于被设置的所述写记录的所述对应部分来确定所述第一存储设备中存在需要执行数据重建的目标存储区域,(2)标记针对所述目标存储区域的所述需要重建记录,以指示所述目标存储区域的所述块需要被重建,(3)将重建检查点字段设置为所述目标存储区域的块范围的起始块地址,以及(4)基于所述确定和所述重建检查点字段,启动所述目标存储区域的数据重建,所述数据重建根据针对所述目标存储区域的所述需要重建记录而逐块被执行。
2.根据权利要求1所述的方法,其中所述写记录包括作为相应部分的多个位,所述多个位中的每个位对应于所述多个存储区域中的相应存储区域,并且指示所述相应存储区域是否发生所述写入操作。
3.根据权利要求1所述的方法,其中生成所述写记录包括:
初始化所述写记录;
响应于确定在所述非工作状态期间针对所述第一存储设备发生了所述写入操作,计算所述写入操作的地址范围;
基于所计算的地址范围,确定发生了所述写入操作的存储区域;以及
设置所述写记录的对应部分以指示所确定的存储区域。
4.根据权利要求1所述的方法,其中
基于所述写记录来确定是否存在所述目标存储区域包括:响应于所述写记录指示在所述非工作状态期间没有发生过针对所述第一存储设备的存储区域的写入操作,确定不存在所述目标存储区域;以及
基于所述确定来控制所述数据重建包括:生成所述数据重建完成的指示,而不在所述第一存储设备上执行数据重建。
5.根据权利要求1所述的方法,其中
基于所述写记录来确定是否存在所述目标存储区域包括:响应于所述写记录指示在所述非工作状态期间发生过针对所述第一存储设备的存储区域的写入操作,将该存储区域设置为所述目标存储区域,并且确定存在所述目标存储区域;以及
基于所述确定来控制所述数据重建包括:使用针对所述目标存储区域的所述需要重建记录来确定所述目标存储区域中将要被执行写入操作的地址范围;针对所述地址范围执行所述数据重建;以及生成所述数据重建完成的指示。
6.根据权利要求1所述的方法,进一步包括:
响应于确定所述第一存储设备处于所述非工作状态的时间超过预定时段,利用针对所述第一存储设备的所有数据来在与所述第一存储设备相关联的备用存储设备中执行数据重建。
7.根据权利要求1所述的方法,进一步包括:
将待写入所述第一存储设备中的数据存储在备用区域中,所述备用区域被包括在所述多个存储设备中的除了所述第一存储设备之外的任何存储设备中。
8.根据权利要求1所述的方法,其中所述写记录被包括在记录所述存储阵列组的配置的元数据中。
9.根据权利要求8所述的方法,其中所述写记录为与所述第一存储设备相对应的位图。
10.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被所述处理器执行时使所述电子设备执行动作,所述动作包括:
响应于确定存储阵列组中包括的多个存储设备中的第一存储设备处于非工作状态,生成所述第一存储设备的写记录,响应于在所述非工作状态期间在所述第一存储设备中的多个存储区域中的对应存储区域发生了写入操作,所述写记录通过设置所述写记录的对应部分而被生成,每个存储区域包括相应的多个块和针对所述存储区域的块的对应的块元数据,所述块元数据包括被用于标识需要被重建的所述存储区域的块的需要重建记录;以及
响应于确定所述第一存储设备从所述非工作状态返回到工作状态,(1)基于被设置的所述写记录的所述对应部分来确定所述第一存储设备中是否存在需要执行数据重建的目标存储区域,(2)标记针对所述目标存储区域的所述需要重建记录,以指示所述目标存储区域的所述块需要被重建,(3)将重建检查点字段设置为所述目标存储区域的块范围的起始块地址,以及(4)基于所述确定和所述重建检查点字段,启动所述目标存储区域的数据重建,所述数据重建根据针对所述目标存储区域的所述需要重建记录而逐块被执行。
11.根据权利要求10所述的设备,其中所述写记录包括作为相应部分的多个位,所述多个位中的每个位对应于所述多个存储区域中的相应存储区域,并且指示所述相应存储区域是否发生所述写入操作。
12.根据权利要求10所述的设备,其中生成所述写记录包括:
初始化所述写记录;
响应于确定在所述非工作状态期间针对所述第一存储设备发生了所述写入操作,计算所述写入操作的地址范围;
基于所计算的地址范围,确定发生了所述写入操作的存储区域;以及
设置所述写记录的对应部分以指示所确定的存储区域。
13.根据权利要求10所述的设备,其中
基于所述写记录来确定是否存在所述目标存储区域包括:响应于所述写记录指示在所述非工作状态期间没有发生过针对所述第一存储设备的存储区域的写入操作,确定不存在所述目标存储区域;以及
基于所述确定来控制所述数据重建包括:生成所述数据重建完成的指示,而不在所述第一存储设备上执行数据重建。
14.根据权利要求10所述的设备,其中
基于所述写记录来确定是否存在所述目标存储区域包括:响应于所述写记录指示在所述非工作状态期间发生过针对所述第一存储设备的存储区域的写入操作,将该存储区域设置为所述目标存储区域,并且确定存在所述目标存储区域;以及
基于所述确定来控制所述数据重建包括:使用针对所述目标存储区域的所述需要重建记录来确定所述目标存储区域中将要被执行写入操作的地址范围;针对所述地址范围执行所述数据重建;以及生成所述数据重建完成的指示。
15.根据权利要求10所述的设备,其中所述动作进一步包括:
响应于确定所述第一存储设备处于所述非工作状态的时间超过预定时段,利用针对所述第一存储设备的所有数据来在与所述第一存储设备相关联的备用存储设备中执行数据重建。
16.根据权利要求10所述的设备,其中所述动作进一步包括:
将待写入所述第一存储设备中的数据存储在备用区域中,所述备用区域被包括在所述多个存储设备中的除了所述第一存储设备之外的任何存储设备中。
17.根据权利要求10所述的设备,其中所述写记录被包括在记录所述存储阵列组的配置的元数据中。
18.根据权利要求17所述的设备,其中所述写记录为与所述第一存储设备相对应的位图。
19.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令在被执行时使设备执行根据权利要求1至9中任一项所述的方法。
CN201811270527.0A 2018-10-29 2018-10-29 用于在存储阵列组中重建数据的方法和设备 Active CN111104244B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811270527.0A CN111104244B (zh) 2018-10-29 2018-10-29 用于在存储阵列组中重建数据的方法和设备
US16/655,386 US11442651B2 (en) 2018-10-29 2019-10-17 Method and device for rebuilding data in storage array group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811270527.0A CN111104244B (zh) 2018-10-29 2018-10-29 用于在存储阵列组中重建数据的方法和设备

Publications (2)

Publication Number Publication Date
CN111104244A CN111104244A (zh) 2020-05-05
CN111104244B true CN111104244B (zh) 2023-08-29

Family

ID=70326253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811270527.0A Active CN111104244B (zh) 2018-10-29 2018-10-29 用于在存储阵列组中重建数据的方法和设备

Country Status (2)

Country Link
US (1) US11442651B2 (zh)
CN (1) CN111104244B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442642B2 (en) 2019-01-29 2022-09-13 Dell Products L.P. Method and system for inline deduplication using erasure coding to minimize read and write operations
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US11372730B2 (en) 2019-07-31 2022-06-28 Dell Products L.P. Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool
US11328071B2 (en) 2019-07-31 2022-05-10 Dell Products L.P. Method and system for identifying actor of a fraudulent action during legal hold and litigation
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
US11416357B2 (en) 2020-03-06 2022-08-16 Dell Products L.P. Method and system for managing a spare fault domain in a multi-fault domain data cluster
US11301327B2 (en) 2020-03-06 2022-04-12 Dell Products L.P. Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster
US11281535B2 (en) * 2020-03-06 2022-03-22 Dell Products L.P. Method and system for performing a checkpoint zone operation for a spare persistent storage
US11947827B2 (en) * 2020-05-15 2024-04-02 Vmware, Inc. Synchronizing a stale component of a distributed object using a delta component during maintenance
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
US11301162B2 (en) * 2020-05-31 2022-04-12 EMC IP Holding Company LLC Balancing resiliency and performance by selective use of degraded writes and spare capacity in storage systems
US11593206B2 (en) 2021-01-19 2023-02-28 EMC IP Holding Company LLC Distributed raid rebuild
US11675789B2 (en) 2021-06-29 2023-06-13 EMC IP Holding Company LLC Tracking utilization of data blocks in a storage system
US11650920B1 (en) 2021-10-27 2023-05-16 Dell Products L.P. Write cache management
US11550479B1 (en) 2021-10-27 2023-01-10 Dell Products L.P. Metadata management in storage systems
US11609854B1 (en) 2021-10-28 2023-03-21 Dell Products L.P. Utilizing checkpoints for resiliency of metadata in storage systems
US11630773B1 (en) 2022-01-05 2023-04-18 Dell Products L.P. Utilizing a persistent write cache as a redo log
US11842051B2 (en) 2022-01-25 2023-12-12 Dell Products L.P. Intelligent defragmentation in a storage system
US11789917B2 (en) 2022-01-25 2023-10-17 Dell Products L.P. Data deduplication in a storage system
US11868248B2 (en) 2022-02-25 2024-01-09 Dell Products L.P. Optimization for garbage collection in a storage system
US11704053B1 (en) 2022-04-06 2023-07-18 Dell Products L.P. Optimization for direct writes to raid stripes
US11960481B2 (en) 2022-06-29 2024-04-16 Dell Products L.P. Managing lookup operations of a metadata structure for a storage system
US11921714B2 (en) 2022-07-19 2024-03-05 Dell Products L.P. Managing insert operations of a metadata structure for a storage system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1204027A2 (en) * 2000-11-02 2002-05-08 Matsushita Electric Industrial Co., Ltd. On-line reconstruction processing method and on-line reconstruction processing apparatus
CN104123100A (zh) * 2013-04-25 2014-10-29 国际商业机器公司 控制存储设备阵列中的数据存储
CN105353991A (zh) * 2015-12-04 2016-02-24 浪潮(北京)电子信息产业有限公司 一种磁盘阵列重建优化方法及装置
US9448735B1 (en) * 2013-12-31 2016-09-20 Emc Corporation Managing storage device rebuild in data storage systems
CN107515726A (zh) * 2016-06-16 2017-12-26 伊姆西公司 用于管理存储设备的方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6898668B2 (en) 2002-06-24 2005-05-24 Hewlett-Packard Development Company, L.P. System and method for reorganizing data in a raid storage system
US7143308B2 (en) * 2005-01-14 2006-11-28 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
US7877626B2 (en) * 2007-12-31 2011-01-25 Datadirect Networks, Inc. Method and system for disk storage devices rebuild in a data storage system
US10684927B2 (en) * 2014-07-29 2020-06-16 Hewlett Packard Enterprise Development Lp Methods and systems for storing information that facilitates the reconstruction of at least some of the contents of a storage unit on a storage system
US9846703B2 (en) * 2014-09-30 2017-12-19 Vivint, Inc. Page-based metadata system for distributed filesystem
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1204027A2 (en) * 2000-11-02 2002-05-08 Matsushita Electric Industrial Co., Ltd. On-line reconstruction processing method and on-line reconstruction processing apparatus
CN104123100A (zh) * 2013-04-25 2014-10-29 国际商业机器公司 控制存储设备阵列中的数据存储
US9448735B1 (en) * 2013-12-31 2016-09-20 Emc Corporation Managing storage device rebuild in data storage systems
CN105353991A (zh) * 2015-12-04 2016-02-24 浪潮(北京)电子信息产业有限公司 一种磁盘阵列重建优化方法及装置
CN107515726A (zh) * 2016-06-16 2017-12-26 伊姆西公司 用于管理存储设备的方法和系统

Also Published As

Publication number Publication date
US11442651B2 (en) 2022-09-13
CN111104244A (zh) 2020-05-05
US20200133503A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
CN111104244B (zh) 用于在存储阵列组中重建数据的方法和设备
CN109726033B (zh) 提供raid数据保护的方法、数据存储系统和计算机可读介质
CN108733314B (zh) 用于独立冗余阵列(raid)重建的方法、设备和计算机可读存储介质
US10210045B1 (en) Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
CN108733518B (zh) 用于管理存储系统的方法、设备和计算机可读介质
US20100037091A1 (en) Logical drive bad block management of redundant array of independent disks
CN111344679B (zh) 用于增强独立磁盘冗余阵列重建的机器学习的方法和系统
US10067844B2 (en) Method of channel content rebuild in ultra-high capacity SSD
CN108228396B (zh) 用于处理驱动器的错误的方法和设备
US20110029728A1 (en) Methods and apparatus for reducing input/output operations in a raid storage system
US11874741B2 (en) Data recovery method in storage medium, data recovery system, and related device
US20190235781A1 (en) Determining an Effective Capacity of a Drive Extent Pool Generated from one or more Drive Groups in an Array of Storage Drives of a Data Storage System that uses Mapped RAID (Redundant Array of Independent Disks) Technology
CN112148204A (zh) 用于管理独立冗余盘阵列的方法、设备和计算机程序产品
CN111124266A (zh) 数据管理方法、设备和计算机程序产品
US10977130B2 (en) Method, apparatus and computer program product for managing raid storage in data storage systems
CN106528322B (zh) 检测数据的无记载损坏的方法和设备
US7577804B2 (en) Detecting data integrity
US20170031791A1 (en) Maintaining a parity-inconsistent table to identify stripes affected by a write hole effect
CN110737395B (zh) I/o管理方法、电子设备和计算机可读存储介质
US11379318B2 (en) System and method of resyncing n-way mirrored metadata on distributed storage systems without requiring checksum in the underlying storage
CN113424262A (zh) 一种存储校验方法及装置
CN114625563B (zh) Ssd的数据保护方法、装置、可读存储介质及电子设备
CN116974492B (zh) 一种基于flash的里程数据存储方法、装置、设备及介质
CN114610542B (zh) 数据恢复方法、装置、可读存储介质及电子设备
US11226881B2 (en) Responding to a fault of a disk which stores metadata and user data in different disk slices

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