CN111858189A - 对存储盘离线的处理 - Google Patents
对存储盘离线的处理 Download PDFInfo
- Publication number
- CN111858189A CN111858189A CN201910357279.1A CN201910357279A CN111858189A CN 111858189 A CN111858189 A CN 111858189A CN 201910357279 A CN201910357279 A CN 201910357279A CN 111858189 A CN111858189 A CN 111858189A
- Authority
- CN
- China
- Prior art keywords
- storage
- block
- raid
- data
- point
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000007726 management method Methods 0.000 claims abstract description 10
- 238000011084 recovery Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 239000000306 component Substances 0.000 description 8
- 239000004744 fabric Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例提供了一种存储管理方法、电子设备和计算机程序产品。该方法包括:响应于第一存储盘变为离线并保持离线至第一时间点,选择第二存储盘中的第二存储块作为第一存储盘中的第一存储块的备用存储块。第一存储块是组成RAID的多个存储块之一,该多个存储块位于不同的存储盘。该方法还包括:在第一时间点与第二时间点之间,将待写入到RAID中的第一存储块的数据写入第二存储块,其中第二时间点晚于第一时间点。该方法进一步包括:响应于第一存储盘保持离线至第二时间点,使用第二存储块替换RAID中的第一存储块。本公开的实施例改进了基于RAID的存储系统在存储盘离线后恢复和永久离线两种情况下的性能。
Description
技术领域
本公开的实施例一般地涉及计算机系统或存储系统,并且更特别地,涉及一种存储管理方法、电子设备和计算机程序产品。
背景技术
在传统的基于独立盘冗余阵列(RAID)的存储系统中,如果RAID中的某个存储盘(drive)或存储块(drive slice)被移除或发生故障,则存储系统将会向后端发送相应的事件通知,以使后端更新存储盘信息。此后,后端可以向RAID模块发送事件通知以指示该存储盘或存储块变为离线。接着,RAID模块将更新存储盘或存储块的信息,等待预先设置的某个时长(例如,5分钟),然后触发将离线的存储盘或存储块更换为备用存储盘或存储块的备份操作,并且在备用存储盘或存储块中执行数据重建。
然而,传统的RAID存储系统的上述备份操作和重建操作还存在各种缺陷和不足,在许多场景下无法满足存储系统的性能要求,导致了不良的用户体验。
发明内容
本公开的实施例涉及一种存储管理方法、电子设备和计算机程序产品。
在本公开的第一方面,提供了一种存储管理方法。该方法包括:响应于第一存储盘变为离线并保持离线至第一时间点,选择第二存储盘中的第二存储块作为第一存储盘中的第一存储块的备用存储块。第一存储块是组成RAID的多个存储块之一,该多个存储块位于不同的存储盘。该方法还包括:在第一时间点与一个第二时间点之间,将待写入到RAID中的第一存储块的数据写入第二存储块,其中第二时间点晚于第一时间点。该方法进一步包括:响应于第一存储盘保持离线至第二时间点,使用第二存储块替换RAID中的第一存储块。
在本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使得电子设备:响应于第一存储盘变为离线并保持离线至第一时间点,选择第二存储盘中的第二存储块作为第一存储盘中的第一存储块的备用存储块。第一存储块是组成RAID的多个存储块之一,该多个存储块位于不同的存储盘。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使得电子设备:在第一时间点与一个第二时间点之间,将待写入到RAID中的第一存储块的数据写入第二存储块,其中第二时间点晚于第一时间点。至少一个存储器和计算机程序指令进一步被配置为,与至少一个处理器一起,使得电子设备:响应于第一存储盘保持离线至第二时间点,使用第二存储块替换RAID中的第一存储块。
在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了本公开的实施例可以在其中被实现的示例性存储系统的示意图。
图2示出了根据本公开的实施例的存储管理方法的示意性流程图。
图3示出了根据本公开的实施例的来自多个存储盘的多个存储块组成RAID的示意图。
图4示出了根据本公开的实施例的在第一存储盘离线持续至第一时间点后,选择第二存储块作为第一存储块的备用存储块的示意图。
图5示出了根据本公开的实施例的将待写入到第一存储块的数据写入到备用存储块的示意图。
图6示出了根据本公开的实施例的在第一存储盘离线持续至第二时间点后,将第一存储块中的数据重建到备用存储块的示意图。
图7示出了根据本公开的实施例的在第一存储盘恢复在线时,从备用存储块向第一存储块复制数据的示意图。
图8示出了一种可以被用来实施本公开的实施例的设备的示意性框图。
贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
下面将参考附图中所示出的若干示例性实施例来描述本公开的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。
图1示出了本公开的实施例可以在其中被实现的示例性存储系统100的示意图。如图1所示,存储系统100可以包括处理器110和存储结构120,其中处理器110用于执行与存储系统100有关的操作,例如输入/输出(I/O)操作、控制操作、管理操作,等等。更一般地,在必要的硬件和软件的配合下,处理器110可以执行与存储系统100有关的任何操作。另外,存储结构120用于以适当的组织方式来组织和管理存储系统100的存储资源,例如各种物理存储盘,等等。
如图1所示,存储结构120包括存储块池130,其可以用于管理存储结构120中的所有存储盘。存储块池130中的存储盘将被组织为多个RAID复原集合(RRS)132、RRS 134、RRS136、RRS 138等。每个RRS是一个故障域,意味着如果一个RRS(例如,RRS 132)中的存储盘发生故障,则该故障将不会影响到其他RRS的复原。在通常的存储系统中,一个RRS可以包括多至25个存储盘。但是,本公开的实施例不限于上述具体数值,在其他实施例中,RRS可以包括任何适当数目的存储盘。
在存储块池130中,每个存储盘可以被划分成固定大小的存储块。每个存储块的大小可以设置成4吉字节(GB)。然而,本公开的实施例不限于上述具体数值,在其他实施例中,存储盘中的存储块的大小可以设置为任何适当的大小。由此可见,存储块池130可以视为是由存储块的集合来构成的,正因如此其被称为存储块池。
在存储块池130中,来自不同存储盘的多个存储块可以组成小型的RAID(相对于由多个物理存储盘组成的大型RAID)。该RAID可以具有任何适当的类型。例如,如果RAID的类型是4+1的RAID-5来创建一个RAID组,则处理器110可以从不同的存储盘中分配5个空闲的存储块,并且将该5个存储块组合成小型的RAID。在一些情况下,可以要求一个RAID中的所有存储块来自于相同的RRS。此外,每个RAID中可以包括多个RAID条带。每个RAID条带的大小可以是2兆字节(MB),其也可以称为物理大型块(PLB)。将理解,本公开的实施例不限于上述具体数值,在其他实施例中,RAID条带的大小可以设置为任何适当的大小。
此外,如图1所示,存储块池130可以展现或提供一些层(tier)由其他组件使用,包括第一层140、第二层142、第三层144、……、第N层146(N为自然数),等等。每个层可以由多个RAID的群组构成。对于每个层,可以基于所存储的数据类型来应用不同的RAID策略。通常,相同的层内的所有RAID可以具有相同的RAID策略,这意味着相同的RAID宽度和RAID类型。各个层可以按需要进行扩充,也即,处理器110可以动态地分配新RAID并且添加到某个层。
存储结构120还可以包括映射器150。映射器150是存储结构120中的核心组件,其将每个层视为扁平的线性物理地址空间。另一方面,映射器150向命名空间模块170提供单个扁平的线性逻辑地址空间。在一些情况下,该逻辑地址空间可以高达8艾字节(EB)。作为一种示例,映射器150可以利用B+树数据结构,以4K页面的粒度来维持逻辑地址与物理地址之间的映射。将理解,本公开的实施例不限于上述具体数值和具体数据结构,在其他实施例中,上述逻辑地址空间的大小和映射器的粒度可以设置为任何适当的数值,并且映射器150可以采用其他合适的数据结构来维持逻辑地址与物理地址之间的映射。
存储结构120还可以包括缓存模块160。缓存模块160可以在存储器(未示出)内提供缓存功能,其在存储系统100中可以具有两个实例。其中一个实例用于用户数据,而另一个实例用于元数据。缓存模块160可以向映射器150提供事务操作功能。将理解,本公开的实施例不限于上述具体示例,在其他实施例中,缓存模块160可以具有任何其他合适数目和用途的实例。此外,存储结构120还可以包括上文提到的命名空间模块170。如上文指出的,命名空间模块170可以消耗和管理由映射器150所提供的扁平的线性逻辑空间(例如,大小为8EB)。另一方面,命名空间模块170可以向存储系统110的主机(未示出)创建并提供存储卷(volume),由主机使用。
在一些实施例中,通过存储结构120来组织并管理的存储盘可以包括各种类型的具有存储功能的设备,包括但不限于,硬盘(HDD)、固态盘(SSD)、可移除盘、紧致盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘、串行附接小型计算机系统接口(SCSI)存储盘(SAS)、串行高级技术附接(SATA)存储盘、任何其他磁性存储设备和任何其他光学存储设备、或它们的任何组合。
类似地,处理器110可以包括任何实现控制功能的设备,包括但不限于,专用计算机、通用计算机、通用处理器、微处理器、微控制器、或状态机。处理器110还可以实施为个体的计算设备或计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核心、或者任何其他这样的配置。
应当理解,图1仅示意性地示出了存储系统100中的与本公开的实施例相关的单元、模块或组件。在实践中,存储系统100还可以包括用于其他功能的其他单元、模块或组件。因此,本公开的实施例不限于图1所描绘的具体设备、单元、模块或组件,而是一般性地适用于任何基于RAID技术的存储系统。
如上文指出的,传统的RAID存储系统的备份操作和重建操作还存在各种缺陷和不足,在许多情况下无法满足存储系统的性能要求,导致了不良的用户体验。例如,传统的RAID存储系统广泛地采用一种称为“增量重建”的方法来优化重建过程。其含义为,在RAID中的存储盘或存储块变为离线又在短时间(例如,5分钟)恢复在线的情况下,该“增量重建”方法仅对从存储盘或存储块离线到恢复在线的这段时间内新写入的数据进行重建。
具体地,如果在存储盘或存储块变为离线起5分钟内需要对降级的RAID(即包括一个离线存储盘或存储块的RAID)执行写入操作,则传统的方式将对降级的RAID执行“降级写入”操作算法,也即,仅将数据写入到降级RAID中剩余的在线存储盘或存储块中,并且在元数据(例如,虚拟大型块VLB)中记录降级RAID中的哪些条带被写入数据。
如果离线的存储盘或存储块在5分钟之内恢复在线,则RAID执行“增量重建”算法,也即,仅重建在存储盘或存储块离线之后写入数据的条带。如前所述,哪些条带被写入的信息记录在元数据中。相反,如果离线的存储盘或存储块在5分钟之内没有恢复为在线,则包括离线存储盘或存储块的RAID将执行备份操作,也即,使用备用存储盘或存储块来替换RAID中的离线存储盘或存储块,并且在新存储盘或存储块中执行完全的数据重建。
传统RAID针对离线存储盘或存储块的上述处理方法至少存在以下问题和缺陷。首先,存储系统、映射器和RAID模块等组件需要支持“降级写入”,其中写入降级的RAID条带上的数据由于缺乏冗余保护而容易丢失。其次,在“增量重建”过程中,映射器将读取全部的RAID条带,例如在4+1的RAID5类型的情况下,RAID将读取其他四个在线存储盘或存储块中的数据,并且重建离线存储盘或存储块中的数据,然后将全部的条带返回给映射器。
接着,映射器向RAID发送“修复写入”操作指示,以使RAID写入降级RAID所存储的数据,而RAID仅写入重新回来的存储盘或存储块。因此,当重建一个RAID条带时,映射器将至少进行4次读取操作和1次写入操作,这将会影响到存储系统的正常I/O操作,因为存储盘的访问带宽和处理器的处理带宽被占用。此外,在离线存储盘或存储块没有恢复为在线的情况下,RAID需要进行完全的数据重建。这同样占用存储盘和处理器的带宽,而将会影响到存储系统的正常I/O操作。
鉴于传统方案中存在的上述问题以及潜在的其他问题,本公开的实施例提出了一种存储管理方法、电子设备和计算机程序产品,用于改进对RAID存储系统中的存储盘或存储块变为离线的处理。本公开的实施例的基本思想是,在RAID中的来自某个存储盘的存储块发生离线且持续至第一时间点(例如,几秒)时,选择备用存储盘中的备用存储块来暂时存储要写入到离线存储块的数据。如果离线存储盘在第二时间点(例如,几分钟)之前恢复在线,则仅需要将备用存储块中的数据复制到离线存储块中。如果离线存储盘没有在第二时间点之前恢复在线,则执行RAID备份过程,其中仅需要将离线存储块中的原有数据重建到备用存储块中。
本公开的实施例可以改进基于RAID的存储系统在存储块离线后恢复和永久离线两种情况下的性能。例如,在存储块离线后恢复的情况下,本公开的实施例仅需要将备用存储块中的数据复制到离线又恢复的存储块中,也即一次读取操作和一次写入操作。相比于传统方法中的四次读取操作和一次写入操作(在4+1的RAID5的情况下),这节省了处理器和存储盘的带宽,并且减小了对存储系统的正常I/O性能的影响。
此外,在离线存储块永久离线的情况下,备用存储块将替换RAID中的离线存储块,为此仅需要在备用存储块中重建离线存储块中在离线之前写入的数据,因此避免了传统方法中的完全数据重建,从而使得重建过程加速。再者,本公开的实施例不会影响到其他潜在的重建优化方法的实施,包括基于重建的有效数据感知方法(其中如果存储块离线且未恢复,则仅重建离线存储块中包含有效数据的区域)、以及称为“瘦重建”方法,等等。下面结合图2至图7来详细地描述本公开的一些示例实施例。
图2示出了根据本公开的实施例的存储管理方法200的流程图。在一些实施例中,方法200可以由存储系统100的处理器110或处理单元来实现,或者由存储系统100的各种功能模块来实现。在其他实施例中,方法200也可以由独立于存储系统100的计算设备来实现,或者可以由存储系统100中的其他单元或模块来实现。
如上文参考图1所描述的,存储系统100中的存储盘可以被划分成固定大小的存储块,来自不同存储盘的存储块可以组成RAID。换句话说,基于存储块池130中的所提供的大量存储块,存储系统100可以组成多个RAID。在一些实施例中,图2的方法200可以针对由多个存储块组成的个体RAID来执行。下面将首先结合图3说明来自不同的多个存储盘的多个存储块组成RAID的示例场景。
图3示出了根据本公开的实施例的来自多个存储盘310-350的多个存储块315-355组成RAID 305的示意图。如图3所示,存储盘310(下文也可以称为第一存储盘)被划分为包括存储块315(下文也可以称为第一存储块)的多个存储块。类似地,存储盘320被划分为包括存储块325的多个存储块,存储盘330被划分为包括存储块335的多个存储块,存储盘340被划分为包括存储块345的多个存储块,存储盘350被划分为包括存储块355的多个存储块,并且存储盘360被划分为包括存储块365的多个存储块。
如所示出的,存储块315、325、335、345和355组成了4+1的RAID 5类型的RAID 305,其中存储块315存储有数据-1,存储块325存储有数据-2,存储块335存储有数据-3,存储块345存储有数据-4,并且存储块355存储有数据-5。根据RAID5的性质,数据-1至数据-5中的任何一个数据都可以通过RAID算法从其他四个数据重建得到。换句话说,第一存储盘310中的第一存储块315是组成RAID 305的多个存储块之一,并且组成RAID 305的多个存储块位于不同的存储盘。此外,尽管未示出,但是每个存储盘中可以预留一定数目的空闲存储块作为备用存储块,以便在RAID中的存储块发生故障时进行替换。例如,图3中示出了存储盘360(下文也可以称为第二存储盘)中包括备用存储块365(下文也可以称为备用存储块)。
应当理解,尽管图3以示例性的方式示出了特定数目的存储盘,每个存储盘包括特定数目的存储块,且RAID 305由特定数目的存储块组成且具有特定的RAID类型,但是这仅是示例性的,无意以任何方式限制本公开的范围。在其他实施例中,本公开的实施例可以适用于任何数目的存储盘或存储块,也可以适用于任何类型的RAID。为了便于讨论,下文将结合图3来讨论图2中的存储管理方法200。
返回参考图2,在205处,存储系统100的处理器110确定第一存储盘310是否变为离线并保持离线至第一时间点。第一存储盘310变为离线意味着其所有的存储块(包括存储块315)将变为离线。也即,RAID 305的组成部分,存储块315将变为离线而不可用。在这种情况下,RAID 305将无法执行正常的RAID操作。此外,值得注意的是,存储盘在实践中可能发生短暂的小故障,其表现为存储盘暂时离线而又在短时间内迅速恢复。为了避免由于这样的小故障而执行过多的补救操作,本公开的实施例设置了第一时间点,其也可以称为存储盘离线撤销(overriding)时间点。在一些实施例中,第一时间点可以设置为从第一存储盘310离线起的若干秒(例如,5秒)。在其他实施例中,第一时间点可以由技术人员根据具体的技术环境和设计要求来预先确定。在下文中,为了描述方便,第一存储盘310变为离线的时间点可以称为t0,而上述第一时间点可以称为t1。
在210处,如果第一存储盘310变为离线并保持离线至第一时间点t1,则处理器110选择第二存储盘360中的第二存储块365作为第一存储盘310中的第一存储块315的备用存储块。在下文中,为了描述方便,第二存储块365也可以称为备用存储块365。所选择的备用存储块365用于在第一存储块315离线期间,暂时存储要写入到RAID305中第一存储块315的数据。所本文所使用的,暂时存储的含义是指备用存储块365还不能完全取代第一存储块315在RAID 305中的作用,因为备用存储块365中不具有第一存储盘110离线之前存储在第一存储块315中的数据。下面将参考图4来描述选择第二存储块365作为第一存储块315的备用存储块的示例。
图4示出了根据本公开的实施例的在第一存储盘310离线持续至第一时间点t1后,选择第二存储块365作为第一存储块315的备用存储块的示意图。在图4中,状态405表示在第一存储盘310没有离线时(即,t0之间)的RAID 305的状态,其中存储块315至355分别存储有数据-1至数据-5。状态415表示在时间t0处,第一存储盘310发生离线时的RAID 305的状态。如407所示,第一存储块315在时间t0处变为离线,而使得数据-1变为不可用。状态425表示在第一时间点t1处,第一存储块315还没有恢复,则处理器110可以选择第二存储块365作为第一存储块315的备用存储块。
如所示出的,在一些实施例中,第二存储块365作为第一存储块315的备用存储块的信息可以记录在元数据410中。也即,元数据410用于记录哪个存储块被选择作为第一存储块315的备用存储块。如417所示,在图4的具体示例中,元数据410指向作为备用存储块的第二存储块365。在一些实施例中,元数据410也可以称为RAID几何元数据,其可以重用当前的RAID存储系统中已有的元数据,以另外地用于记录备用存储块365的信息。作为一种示例,该信息可以记录在RAID几何元数据的“复制位置”信息元素中。通过对已有元数据的重用,可以避免在存储盘或存储器中引入附加的元数据。此外,注意到,下文将详细讨论的从备用存储块365到第一存储块315的复制操作相比暂时备份操作和永久备份操作可以具有较低的优先级,所以重用已有的RAID几何元数据是安全的。然而,将理解的是,在其他实施例中,元数据410也可以是在存储系统100中新设置的元数据。
在一些实施例中,对备用存储块的选择可以类似于RAID系统中对用于重建的备用存储块的选择。例如,处理器110可以从多个存储盘中选择第二存储盘360,以使得多个存储盘均匀地被用于组成多个RAID。例如,在存储系统100的多个存储盘中,假设第二存储盘360中的存储块当前最少地与存储盘320至350中的存储块同在相同的RAID中。在这种情况下,为了使得各个RAID尽可能均匀地分布在所有的存储盘上,处理器110可以确定在第二存储盘360中选用存储块来作为RAID 305的第一存储块315的备用存储块,以便于在第一存储块315持久离线之后替换RAID 305中的第一存储块315。在确定选择第二存储盘360之后,处理器110可以进而选择第二存储盘360中的某个空闲存储块作为第二存储块365。
返回参考图2,在215处,在第一时间点t1与第二时间点(为了描述方便,下文可以称为t2)之间,处理器110将待写入到RAID 305中的第一存储块315的数据写入第二存储块365。换言之,作为第一存储块315的备用存储块,第二存储块365将用于暂时存储原本要写入到第一存储块315的数据,从而避免了传统方案中的“降级写入”。下面将参考图5来描述这一过程。另外,这里的第二时间点t2可以理解为超过该时间点后,存储盘310将不再可能重新变为在线。因此,第二时间点t2也可以认为是触发使用备用存储块365来彻底更换离线的第一存储块310的时间点。
图5示出了根据本公开的实施例的将待写入到第一存储块315的数据写入到备用存储块365的示意图。如图5所示,假设在第一时间点t1与第二时间点t2之间,处理器110接收到需要向RAID 305写入新数据510的I/O请求,由于存在备用存储块365,所以处理器110可以正常地按照RAID算法在存储块325至355中写入与数据510相关联的新数据-2至新数据-5。在下文中,为了描述方便,将与数据510相关联的存储在RAID 305中的数据称为新数据,而将RAID 305在第一存储块310离线之前存储的数据称为旧数据。
具体地,处理器110可以将新数据-2写入512到存储块325,将新数据-3写入514到存储块335,将新数据-4写入516到存储块345,并且将新数据-5写入518到存储块525。与第一存储块315在线时不同,由于此时第一存储块315无法进行写入且存在备用存储块365,所以待写入到存储块315的新数据-1将被写入520到备用存储块365。因此,在新数据510被写入之后,存储块325中存储有旧数据-2和新数据-2,存储块335中存储有旧数据-3和新数据-3,存储块345中存储有旧数据-4和新数据-4,存储块355中存储有旧数据-5和新数据-5,而第二存储块365中存储有新数据-1。通过这样的方式,新数据510可以使用安全的RAID算法被写入,从而避免了传统方案中使用“降级写入”所带来的数据丢失风险。
返回参考图2,在220处,处理器110确定第一存储盘310是否保持离线至时间点t2。如上文提到的,第二时间点t2可以认为是触发使用备用存储块365来彻底更换离线的第一存储块310的时间点。换句话说,在220处,处理器110可以确定第一存储盘310是否需要被更换。在一些实施例中,基于存储系统的实践经验,第二时间点t2可以设置为若干分钟(例如,5分钟)。在其他实施例中,第二时间点t2可以由技术人员根据具体的技术环境和设计要求来预先确定。
在225处,在第一存储盘310保持离线至第二时间点t2的情况下,处理器110使用第二存储块365替换RAID 305中的第一存储块315。这意味着,第二存储块365将永久地替换第一存储块315而作为RAID305的一部分。然而,如上文描述的,第二存储块365中仅存储有与新数据510相关联的新数据-1,而没有存储第一存储块315中在离线之前已经存储的旧数据-1。归因于RAID 305的冗余存储的性质,第一存储块315中的旧数据-1可以从其他存储块325至355中的旧数据-2至旧数据-5来重建得到。换句话说,处理器110可以利用RAID 305中的其他存储块的数据,将第一存储块315中的数据重建到第二存储块365中。下文将结合图6来描述该重建过程。
图6示出了根据本公开的实施例的在第一存储盘310离线持续至第二时间点t2后,将第一存储块310中的数据重建到备用存储块365的示意图。具体而言,如图6所示,处理器110可以复制612存储块325中的旧数据-2,复制614存储块335中的旧数据-3,复制616存储块345中的旧数据-4,并且复制618存储块355中的旧数据-5。接着,处理器110可以使用RAID重建算法从旧数据-2至旧数据-5中恢复出存储在第一存储块315中的旧数据-1。然后,处理器110可以将重建得到的旧数据-1存储620到第二存储块365中。通过这种方式,第二存储块365中将具有第一存储块315中此前存储的数据,因而可以完全取代RAID 305中的第一存储块315。
在一些实施例中,对旧数据-1的重建可以按条带来进行。例如,处理器110可以确定在第一存储盘310变为离线之前,RAID 305中被写入数据的条带。作为一种示例,该信息可以记录在上文提到的元数据410中。针对所确定的条带,处理器110可以从RAID 305中的其他存储块325至355读取与所确定的条带相关联的数据。基于所读取的数据,处理器110可以计算第一存储块315存储的与所确定的条带相关联的数据。作为一种示例,对于RAID5类型,处理器110可以通过计算这些数据的异或值来得出第一存储块315中存储的数据。然后,处理器110可以将所计算的数据写入到第二存储块365中。在多个条带被写入的情况下,处理器110可以针对每个被写入的条带执行上述重建过程。以此方式,第一存储块315中此前存储的旧数据-1可以更有效地被重建到第二存储块365中。在一些实施例中,在完成上述重建操作后,处理器110可以清除元数据410中的相关信息,并且将RAID 305重新标记为正常操作。此外,可能需要对元数据410的锁定处理可以与按照通常的方式来进行。
另一方面,在220处,如果第一存储盘310在第一时间点t1与第二时间点t2之间恢复为在线,则处理器110可以将第二存储块365中的数据复制到第一存储块310中。如前文所示出的,该复制仅涉及一次读取操作和一次写入操作,从而避免了传统方案中需要执行多次读取操作和一次写入操作的“增量重构”方法,极大地节省了处理器和存储盘的带宽,改进了存储系统的性能。下文将结合图7来描述该复制过程。
图7示出了根据本公开的实施例的在第一存储盘310恢复在线时,从备用存储块365向第一存储块315复制数据的示意图。如图7所示,在第一存储盘310恢复为在线的时间点,第一存储块315中具有第一存储盘310离线之前存储的旧数据-1,存储块325中具有第一存储盘310离线之前存储的旧数据-2和第一存储盘310离线之后存储的新数据-2,存储块335中具有第一存储盘310离线之前存储的旧数据-3和第一存储盘310离线之后存储的新数据-3,存储块345中具有第一存储盘310离线之前存储的旧数据-4和第一存储盘310离线之后存储的新数据-4,存储块355中具有第一存储盘310离线之前存储的旧数据-5和第一存储盘310离线之后存储的新数据-5,而第二存储块365中具有第一存储盘310离线之后存储的新数据-1。
由此可见,在第一存储盘310恢复为在线的时间点,第一存储块315中缺少第一存储盘310离线之后的新数据-1。因此,为了使得第一存储块315继续与存储块325至355组成RAID 305,处理器110可以将第二存储块365中的新数据-1复制710到第一存储块315中。以此方式,仅通过一次复制操作,恢复在线的第一存储块315不仅具有旧数据-1而且也具有新数据-1,从而可以重新成为RAID 305的一部分。如上所指出,这有效地避免了传统RAID存储系统在离线存储块恢复在线时所执行的复杂的“增量重建”操作。
在一些实施例中,对新数据-1的复制也可以按条带来进行。例如,处理器110可以确定在第一时间点t1与第二时间点t2之间,RAID 305中被写入数据的条带。然后,处理器110可以将第二存储块365中的与所确定的条带相关联的数据复制到第一存储块315中。在存在多个被写入新数据的条带的场合,上述按条带的复制操作可以针对多个条带依次执行。在一些实施例中,在完成上述复制操作后,处理器110可以清除元数据410中的相关信息,并且将RAID 305重新标记为正常操作。另外,为了更便利地执行新数据-1的复制,处理器110可以记录在所述第一时间点t1与所述第二时间点t2之间,RAID 305中被写入数据的条带。例如,记录在元数据410中。
此外,在一些实施例中,在第一存储盘310变为离线时t0至第一时间点t1期间,处理器110可以暂停对RAID 305的写入操作。也就是说,在此期间针对RAID 305产生的写入I/O操作可以等到第一时间点t1之后,也即备用存储块365就位之后,通过正常的RAID算法安全地被写入。以此方式,以短暂延迟(几秒)为代价,实现了待写入数据的安全写入。这是有利的,因为在许多技术场景中,几秒的I/O延迟并不会使用户产生明显的延迟感。另一方面,由于缺少第一存储块315的RAID 305仍然可以从其他存储块得出所存储的数据,因此处理器110可以不暂停对RAID 305的读取操作。
图8示意性地示出了一种可以被用来实施本公开的实施例的设备800的框图。如图8中所示出的,设备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通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200可由处理单元801来执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200的一个或多个步骤。
如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。
Claims (17)
1.一种存储管理方法,包括:
响应于第一存储盘变为离线并保持离线至第一时间点,选择第二存储盘中的第二存储块作为所述第一存储盘中的第一存储块的备用存储块,所述第一存储块是组成独立盘冗余阵列(RAID)的多个存储块之一,所述多个存储块位于不同的存储盘;
在所述第一时间点与一个第二时间点之间,将待写入到所述RAID中的所述第一存储块的数据写入所述第二存储块,其中所述第二时间点晚于所述第一时间点;以及
响应于所述第一存储盘保持离线至所述第二时间点,使用所述第二存储块替换所述RAID中的所述第一存储块。
2.根据权利要求1所述的方法,其中使用所述第二存储块替换所述第一存储块包括:
利用所述RAID中的其他存储块的数据,将所述第一存储块中的数据重建到所述第二存储块中。
3.根据权利要求2所述的方法,其中将所述第一存储块中的数据重建到所述第二存储块中包括:
确定在所述第一存储盘变为离线之前,所述RAID中被写入数据的条带;
针对所确定的条带,
从所述RAID中的其他存储块读取与所述条带相关联的数据;
基于所读取的数据来计算所述第一存储块存储的与所述条带相关联的数据;以及
将所计算的数据写入到所述第二存储块中。
4.根据权利要求1所述的方法,还包括:
响应于所述第一存储盘在所述第一时间点与所述第二时间点之间恢复为在线,将所述第二存储块中的数据复制到所述第一存储块中。
5.根据权利要求4所述的方法,还包括:
记录在所述第一时间点与所述第二时间点之间,所述RAID中被写入数据的条带,以便执行所述复制。
6.根据权利要求4所述的方法,其中将所述第二存储块中的数据复制到所述第一存储块中包括:
确定在所述第一时间点与所述第二时间点之间,所述RAID中被写入数据的条带;以及
将所述第二存储块中的与所述条带相关联的数据复制到所述第一存储块中。
7.根据权利要求1所述的方法,其中选择所述第二存储盘中的所述第二存储块作为所述备用存储块包括:
从多个存储盘中选择所述第二存储盘,以使得所述多个存储盘均匀地被用于组成多个RAID;以及
选择所述第二存储盘中的空闲存储块作为所述第二存储块。
8.根据权利要求1所述的方法,还包括:
在所述第一存储盘变为离线时至所述第一时间点期间,暂停对所述RAID的写入操作。
9.一种电子设备,包括:
至少一个处理器;以及
存储有计算机程序指令的至少一个存储器,所述至少一个存储器和所述计算机程序指令被配置为,与所述至少一个处理器一起,使得所述电子设备:
响应于第一存储盘变为离线并保持离线至第一时间点,选择第二存储盘中的第二存储块作为所述第一存储盘中的第一存储块的备用存储块,所述第一存储块是组成独立盘冗余阵列(RAID)的多个存储块之一,所述多个存储块位于不同的存储盘;
在所述第一时间点与一个第二时间点之间,将待写入到所述RAID中的所述第一存储块的数据写入所述第二存储块,其中所述第二时间点晚于所述第一时间点;以及
响应于所述第一存储盘保持离线至所述第二时间点,使用所述第二存储块替换所述RAID中的所述第一存储块。
10.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
利用所述RAID中的其他存储块的数据,将所述第一存储块中的数据重建到所述第二存储块中。
11.根据权利要求10所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
确定在所述第一存储盘变为离线之前,所述RAID中被写入数据的条带;
针对所确定的条带,
从所述RAID中的其他存储块读取与所述条带相关联的数据;
基于所读取的数据来计算所述第一存储块存储的与所述条带相关联的数据;以及
将所计算的数据写入到所述第二存储块中。
12.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
响应于所述第一存储盘在所述第一时间点与所述第二时间点之间恢复为在线,将所述第二存储块中的数据复制到所述第一存储块中。
13.根据权利要求12所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
记录在所述第一时间点与所述第二时间点之间,所述RAID中被写入数据的条带,以便执行所述复制。
14.根据权利要求12所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
确定在所述第一时间点与所述第二时间点之间,所述RAID中被写入数据的条带;以及
将所述第二存储块中的与所述条带相关联的数据复制到所述第一存储块中。
15.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
从多个存储盘中选择所述第二存储盘,以使得所述多个存储盘均匀地被用于组成多个RAID;以及
选择所述第二存储盘中的空闲存储块作为所述第二存储块。
16.根据权利要求9所述的电子设备,其中所述至少一个存储器和所述计算机程序指令还被配置为,与所述至少一个处理器一起,使得所述电子设备:
在所述第一存储盘变为离线时至所述第一时间点期间,暂停对所述RAID的写入操作。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-8中任一项所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910357279.1A CN111858189A (zh) | 2019-04-29 | 2019-04-29 | 对存储盘离线的处理 |
US16/835,749 US11449402B2 (en) | 2019-04-29 | 2020-03-31 | Handling of offline storage disk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910357279.1A CN111858189A (zh) | 2019-04-29 | 2019-04-29 | 对存储盘离线的处理 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111858189A true CN111858189A (zh) | 2020-10-30 |
Family
ID=72917062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910357279.1A Pending CN111858189A (zh) | 2019-04-29 | 2019-04-29 | 对存储盘离线的处理 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11449402B2 (zh) |
CN (1) | CN111858189A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733311B (zh) * | 2017-04-17 | 2021-09-10 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
CN114721585A (zh) * | 2021-01-06 | 2022-07-08 | 伊姆西Ip控股有限责任公司 | 存储管理方法、设备和计算机程序产品 |
CN113064778B (zh) * | 2021-04-08 | 2023-11-03 | 中科可控信息产业有限公司 | 直插式硬盘背板及其离线诊断方法和服务器 |
US11853163B2 (en) | 2021-11-17 | 2023-12-26 | Western Digital Technologies, Inc. | Selective rebuild of interrupted devices in data storage device arrays |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523353A (zh) * | 2006-09-19 | 2009-09-02 | Lsi罗吉克 | 在存在全局热备用磁盘的情况下用于故障驱动器的优化重建和向回复制的方法 |
CN101976176A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种水平型分组并行分布校验的磁盘阵列的构建方法 |
CN103513942A (zh) * | 2013-10-21 | 2014-01-15 | 华为技术有限公司 | 独立冗余磁盘阵列的重构方法及装置 |
CN104407806A (zh) * | 2014-10-09 | 2015-03-11 | 杭州华为企业通信技术有限公司 | 独立磁盘冗余阵列组硬盘信息的修改方法和装置 |
CN105138280A (zh) * | 2015-07-31 | 2015-12-09 | 成都华为技术有限公司 | 数据写入方法、装置及系统 |
CN106933700A (zh) * | 2015-12-31 | 2017-07-07 | 伊姆西公司 | 用于恢复存储器之间的数据备份的方法及设备 |
US20190004900A1 (en) * | 2017-06-30 | 2019-01-03 | EMC IP Holding Company LLC | Method, device and computer program product for managing a storage system |
CN109213618A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751862B2 (en) | 2007-08-10 | 2014-06-10 | Dell Products L.P. | System and method to support background initialization for controller that supports fast rebuild using in block data |
US8726070B2 (en) | 2010-09-27 | 2014-05-13 | Dell Products L.P. | System and method for information handling system redundant storage rebuild |
US9104332B2 (en) * | 2013-04-16 | 2015-08-11 | International Business Machines Corporation | Managing metadata and data for a logical volume in a distributed and declustered system |
US9715431B2 (en) | 2013-07-15 | 2017-07-25 | Hewlett Packard Enterprise Development Lp | Rebuilding drive data |
US9542272B2 (en) | 2014-03-24 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Write redirection in redundant array of independent disks systems |
US10013323B1 (en) | 2015-09-29 | 2018-07-03 | EMC IP Holding Company LLC | Providing resiliency to a raid group of storage devices |
US10095585B1 (en) | 2016-06-28 | 2018-10-09 | EMC IP Holding Company LLC | Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails |
US11132256B2 (en) | 2018-08-03 | 2021-09-28 | Western Digital Technologies, Inc. | RAID storage system with logical data group rebuild |
-
2019
- 2019-04-29 CN CN201910357279.1A patent/CN111858189A/zh active Pending
-
2020
- 2020-03-31 US US16/835,749 patent/US11449402B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523353A (zh) * | 2006-09-19 | 2009-09-02 | Lsi罗吉克 | 在存在全局热备用磁盘的情况下用于故障驱动器的优化重建和向回复制的方法 |
CN101976176A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种水平型分组并行分布校验的磁盘阵列的构建方法 |
CN103513942A (zh) * | 2013-10-21 | 2014-01-15 | 华为技术有限公司 | 独立冗余磁盘阵列的重构方法及装置 |
CN104407806A (zh) * | 2014-10-09 | 2015-03-11 | 杭州华为企业通信技术有限公司 | 独立磁盘冗余阵列组硬盘信息的修改方法和装置 |
CN105138280A (zh) * | 2015-07-31 | 2015-12-09 | 成都华为技术有限公司 | 数据写入方法、装置及系统 |
CN106933700A (zh) * | 2015-12-31 | 2017-07-07 | 伊姆西公司 | 用于恢复存储器之间的数据备份的方法及设备 |
US20190004900A1 (en) * | 2017-06-30 | 2019-01-03 | EMC IP Holding Company LLC | Method, device and computer program product for managing a storage system |
CN109213618A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
US11449402B2 (en) | 2022-09-20 |
US20200341874A1 (en) | 2020-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886288B2 (en) | Optimize data protection layouts based on distributed flash wear leveling | |
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
JP7312251B2 (ja) | 様々なデータ冗長性スキームを備えた、システムにおける利用可能なストレージ空間を改善すること | |
JP3505093B2 (ja) | ファイル管理システム | |
CN111858189A (zh) | 对存储盘离线的处理 | |
US7281089B2 (en) | System and method for reorganizing data in a raid storage system | |
US9990263B1 (en) | Efficient use of spare device(s) associated with a group of devices | |
US10564865B2 (en) | Lockless parity management in a distributed data storage system | |
JP2016530637A (ja) | Raidパリティストライプ再構成 | |
TW201428758A (zh) | 記憶體片段重新映射以解決碎片 | |
CN111124264B (zh) | 用于重建数据的方法、设备和计算机程序产品 | |
US11003558B2 (en) | Systems and methods for sequential resilvering | |
CN113176858B (zh) | 数据处理方法、存储系统及存储设备 | |
CN112596673B (zh) | 具有双重raid数据保护的多活多控存储系统 | |
CN109725838B (zh) | 用于管理多个盘的方法、装置以及计算机可读介质 | |
CN102799533A (zh) | 一种磁盘损坏扇区屏蔽方法及装置 | |
CN111857552A (zh) | 存储管理方法、电子设备和计算机程序产品 | |
JP7167078B2 (ja) | 分散ストレージシステム及び記憶制御方法 | |
US20190087290A1 (en) | Data storage systems using elastic spares | |
CN111857540A (zh) | 数据存取方法、装置和计算机程序产品 | |
CN111124251B (zh) | 用于i/o控制的方法、装置以及计算机可读介质 | |
US20210286676A1 (en) | Method, device and computer program products for storage management | |
CN114721585A (zh) | 存储管理方法、设备和计算机程序产品 | |
KR19980047273A (ko) | 레이드 레벨 5 시스템에서 캐쉬 관리 방법 | |
US20150199236A1 (en) | Multi-level disk failure protection |
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 |