CN105892934B - 用于存储设备管理的方法和装置 - Google Patents
用于存储设备管理的方法和装置 Download PDFInfo
- Publication number
- CN105892934B CN105892934B CN201410813709.3A CN201410813709A CN105892934B CN 105892934 B CN105892934 B CN 105892934B CN 201410813709 A CN201410813709 A CN 201410813709A CN 105892934 B CN105892934 B CN 105892934B
- Authority
- CN
- China
- Prior art keywords
- bad
- reconstruction
- memory cells
- storage device
- bad memory
- 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
Links
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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及用于存储设备管理的方法和装置和计算机程序产品。该方法包括收集所述存储设备中需要进行重构的坏存储单元;确定所收集的所述坏存储单元中每个坏存储单元的重构优先级等级;以及基于所确定的所述重构优先级等级来调度所述坏存储单元的重构。该装置包括坏存储单元收集器,被配置成收集所述存储设备中需要进行重构的坏存储单元;优先级控制器,被配置成确定所述坏存储单元中每个坏存储单元的重构优先级等级;以及重构调度器,被配置成基于所确定的所述重构优先级等级调度所述坏存储单元的重构。
Description
技术领域
本公开的实施例涉及存储领域,更具体地涉及用于存储设备的管理的方法和装置。
背景技术
随着存储设备容量的增长,其中数据的保护变得越来越差。原因是,存储设备(例如磁盘)容量的增长导致在其在故障后进行重构所需要的时间变得越来越长。较长的重构时间对于存储设备,例如独立磁盘冗余阵列(RAID)上的数据来说意味着较大的风险。
在存储设备的重构时段,由于冗余信息的丢失,数据可靠性显著降低。下面以RAID-6为例来说明在磁盘故障时数据可靠性的变化。参照图1可见,在还没有磁盘故障时,得益于冗余信息的存在,RAID-6能够容忍同时有两个磁盘故障。一旦一个磁盘出故障,就需要启动重构,并且RAID进入降级的状态。对于RAID-6来说,好的一面在于这种状态下冗余信息仍然存在,所以即使在降级状态中,其依然能够容忍另一磁盘在将来出故障。然而不幸的是,在重构时段中,如果另一磁盘也出故障,则使得RAID进入最差的状态,在该最差状态,其不再能够容忍任何磁盘再出故障。更不幸的是,RAID将长时间保持这种状态,直到第一故障盘完成重构。由于这个原因,在最差状态中,数据丢失风险高,并且难以保证RAID上的数据可靠性。在图1中示意性地示出了RAID-6的3种状态:
1)第一状态可以被称为鲁棒状态。在该状态中,RAID能够容忍2个磁盘同时出故障。如果还没有磁盘出故障,则RAID处于该状态。
2)第二状态可以被称为安全状态。在该状态中,RAID能够容 忍一个磁盘出故障。
3)第三状态可以被称为脆弱状态。在该状态,RAID不再能够容忍磁盘故障。
对于RAID来说,第二和第三状态均被看做降级状态,而最严重的问题在于停留在没有冗余保护的脆弱状态的时间太长。
类似的问题在其他存储设备中同样存在。随着存储设备容量的增长,重构时间变得越来越长,并且脆弱状态的持续时间也越来越长,并且这使得数据可靠性更差。由于这个原因,如何缩短重构时间,提高数据的可靠性是一个很大的挑战。
基于以上所述问题,本公开的实施例提出了用于存储设备管理的方法和装置。
发明内容
针对上述问题,本公开的各示例性实施例提供了一种能够缩短重构时间,提高数据的可靠性的解决方案。
本公开的第一方面是提供一种用于存储设备管理的方法,包括收集所述存储设备中需要进行重构的坏存储单元;确定所述坏存储单元中每个坏存储单元的重构优先级等级;以及基于所确定的所述重构优先级等级来调度所述坏存储单元的重构。
根据本公开的一些实施例,该存储设备为分簇的独立磁盘冗余阵列(RAID),并且坏存储单元为坏条带。
根据本公开的另一实施例,该方法中收集所述存储设备中需要进行重构的坏存储单元包括:通过扫描所述存储设备的映射树或者重新映射树来确定收集进行重构的坏存储单元。
根据本公开的又一实施例,该方法中确定所述坏存储单元中每个坏存储单元的重构优先级等级包括:基于每个坏存储单元是否位于所述存储设备上被检测到媒体错误的区域,和/或每个坏存储单元中包含的损坏的子存储单元的数目,来确定每个坏存储单元的所述重构优先级等级。
根据本公开的进一步的实施例,该存储设备包括多个阵列对象,并且该方法中确定所述坏存储单元中每个坏存储单元的重构优先级等级包括:针对所述存储设备的每个阵列对象,管理一个坏存储单元池,以维持所有坏存储单元的信息用于重构;以及将所述坏存储单元池内的坏存储单元划分到具有不同优先级等级的多个调度组。
根据本公开的一个实施例,该方法中基于所确定的所述重构优先级等级调度所述坏存储单元的重构包括:根据所述多个调度组的所述优先级等级从高到低的顺序,选择要重构的调度组;以及在选择要重构的调度组后,对所选择的调度组内的所有坏存储单元顺序地执行重构。在另一实施例中,在选择要重构的调度组后,对所选择的调度组内的所有坏存储单元顺序地执行重构进一步包括:在选择要重构的调度组后,从所选择的所述调度组中顺序地选取分块条带,其中所述分块条带包括多个连续的存储单元;对所选取的所述分块条带内的所有坏存储单元顺序地执行重构。
根据本公开的又一实施例,该方法进一步包括:针对所述存储设备所包括的多个阵列对象中的每个阵列对象,并行地执行调度所述重构的步骤。
在本公开的一些实施例中,该存储设备被分成逻辑域和物理域,其中所述逻辑域用于实现数据保护,并且所述物理域负责物理存储设备的管理;并且所述逻辑域包括阵列对象,所述阵列对象建立在多个逻辑单元编号LUN之上;所述LUN的地址空间被分成多个分块;每个分块包括多个子存储单元;来自不同LUN的多个子存储单元组成一个所述存储单元,而来自不同LUN的多个分块组成分块条带;所述物理域包括多个物理存储设备;所述多个物理存储设备中的每一个包括多个区块;并且该逻辑域中的所述分块被映射到所述物理域中的所述区块。
本公开的第二方面是提供一种用于存储设备管理的装置,该装置包括坏存储单元收集器,被配置成收集所述存储设备中需要进行重构的坏存储单元;优先级控制器,被配置成确定所述坏存储单元 中每个坏存储单元的重构优先级等级;以及重构调度器,被配置成基于所确定的所述重构优先级等级调度所述坏存储单元的重构。
根据本公开的实施例,该装置能够执行本公开的第一方面的任意方法。
本公开的第三方面是一种用于存储设备管理的装置,包括至少一个处理器;以及至少一个包括计算机程序代码的存储器,其中所述至少一个存储器和所述计算机程序代码被配置成与所述至少一个处理器一起,促使所述装置执行根据本公开的第一方面的任一方法。
本公开的第四方面是一种计算机程序产品,所述计算机程序产品被体现在计算机可读的介质中并且包括程序指令,当被加载到装置中时,所述程序指令执行根据本公开的第一方面的任一方法。
根据本公开的实施例,能够显著缩短存储设备的重构时间,提高其中存储的数据的可靠性。
附图说明
现在仅通过示例并且参照附图描述根据本公开的实施例的方法和/或装置的一些实施例,在附图中:
图1是图示磁盘故障时数据可靠性的变化的示意图;
图2示出坏条带分布概率的统计数据;
图3示意性地示出坏条带的不同严重性;
图4示意性地示出根据本公开的实施例的示例方法的流程图;
图5示出根据本公开的实施例通过映射树收集坏条带的示意图;
图6示出根据本公开的实施例调度分块条带以进行重构的示意图;
图7示出根据本公开的实施例的分簇RAID的一种示例架构的示意图;
图8示意性地示出根据本公开的实施例的示例装置的结构图;
图9示意性地示出通过使用根据本公开的实施例的方法而使得存储设备的脆弱状态持续时间缩短的示意图;
图10示意性地示出根据本公开的实施例的在分簇RAID中的基于优先级的重构的结构示意图;
图11示意性地示出根据本公开的实施例的用于存储设备管理的装置的工作原理示意图;
图12:示意性地示出在存储设备中具有两个坏SU的坏条带的百分比(4架配置)
图13:示意性地示出在存储设备中具有两个坏SU的坏条带的百分比(6架配置);以及
图14:示意性地示出使用根据本公开的实施例使得脆弱状态的持续时间缩短的示意图。
具体实施方式
以下将参考附图详细描述本公开的各个示例性实施例。
应当理解,给出这些示例性实施例仅仅是为了使本领域技术人员能够更好地理解并进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中,对“一个实施例”、“另一实施例”或“一个优选实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但每个实施例不一定必须包括该特定特征、结构或特性。而且,这些术语并不一定指相同的实施例。
还应理解,在此处使用的各种术语仅用于描述特定实施例的目的,而不旨在于限制本公开。如这里使用的单数形式“一”和“该”可以包括复数形式,除非上下文中有明确的相反指示。还应理解,此处使用的术语“包括”、“具有”和“包含”指示所述特征、单元和/或组件等的存在,但不排除一个或多个其他特征、单元、组件和/或其组合的存在。如这里使用的术语“多个”表示“两个或更多”。如这里使用的术语“和/或”可以包括关联列出的各项中的一项或多项的任何和所有组合。其他术语的定义将在下文描述中具体给出。
另外,在以下描述中,将省略一些本领域技术人员所熟知的功 能或者结构,以避免它们把本公开的实施例掩盖在不必要的细节中。
本公开的实施例涉及存储设备管理的改进,用于缩短重构时间和提高数据可靠性。
下面为便于说明,将主要参照独立磁盘冗余阵列(RAID),特别是RAID-6类型的RAID,来描述本公开的主要原理,然而,如本领域技术人员能够理解的,本公开并不限于这里公开的示例,并且可以更广泛的应用。例如,本公开的方法和装置可以应用于任何存储设备,只要其与本文提到的特征兼容。
为了缩短处于脆弱状态的持续时间,本公开的发明人研究了存储设备中损坏的存储单元(例如RAID中坏条带(stripe))的优先级,并且提出基于该优先级来优化重构过程,以缩短停留在最差状态的持续时间。在传统RAID设计中,坏条带的这种优先级并没有被纳入考虑。例如,在传统设计中,在RAID出现故障时,将按照从头到尾挨个扫描的顺序对发现的所有坏条带依次进行重构。实际上,本公开的发明人的研究结果显示,由于至少以下两个原因,坏条带可以被指配不同的优先级等级:1)存储设备中媒体错误的分布具有区域性;2)单独的坏条带具有不同的严重性等级。以下对这两点进行详细说明。
1.存储设备上媒体错误的区域性
通过分析存储设备的客户案例数据,发现以下两个有趣的现象:
1)大部分的故障存储设备,例如故障磁盘,只是部分故障,这意味着只有磁盘上的部分扇区真正的具有媒体错误,而磁盘空间的其余部分仍然是可读的。根据这一特征,对于例如RIAD-6来说,即使有3个磁盘出了故障,大部分的数据还是可以从故障盘中抢救出来。
2)具有媒体错误的区域在故障存储设备上的分布具有区域性。例如,如果在磁盘上检测到一个媒体错误扇区,则附近的那些扇区将有很高的损坏概率。
图2中关于坏条带分布概率的统计数据显示,具有媒体错误的 大部分坏条带位于一定的范围内。由图2的示例可以发现,80%的具有媒体错误的坏条带位于3.7GB的范围内,而85%的具有媒体错误的坏条带位于37GB的范围内。例如,对于一个2TB的存储设备,坏条带集中在37GB的区域,这意味着坏条带的分布具有明显的区域性。
坏条带的区域性可以被用于改善数据可靠性,例如,在被检测到媒体错误的区域范围内的坏条带可以被指配较高的重构优先级等级,这能够显著降低存储设备(例如RAID)的数据丢失风险。
2.坏条带的严重性等级
图3中示意性地示出不同坏条带的严重性。在图3的示例中,假定采用分簇的RAID,并且其中存储设备的逻辑域和物理域分离。逻辑域负责数据保护而物理域被用于管理物理存储设备(例如,在该示例中为磁盘)。这种两层架构可以如图3所示。在图3的示例中,如果两个磁盘同时出故障,一些条带将被损坏2个坏条带单元(SU),而一些条带只被损坏一个坏SU。由于这个原因,不同坏条带的严重性等级是不同的。例如,如果磁盘3和磁盘5故障,并且被从系统移除,则将有多个条带受到影响,并且需要被重构。根据图3,能够看到部分坏条带具有2个坏SU,而其他的坏条带只具有一个坏SU。如果那些具有2个坏SU的条带能够以较高的优先级等级尽快地被重构,则在那些严重的坏条带被恢复后RAID能够容忍更多的故障磁盘。
综上所述,从物理存储设备(例如磁盘)的角度来看,其上的媒体错误具有区域性;从而位于被检测到媒体错误的区域内的坏条带应当被指配较高的重构优先级等级。另外,从单独的坏条带的角度来看,每个坏条带具有其自身的严重性等级。例如,对于RAID-6来说,具有2个坏SU的那些坏条带可以被认为具有更高严重性等级,并且因此相对于具有1个坏SU的坏条带可以被指配更高的重构优先级等级。
坏条带被指配不同的优先级等级后,具有高优先级等级的那些 坏条带应当首先被重构,一旦这些坏条带被恢复,存储设备(例如RAID)将能够容忍更多的单元(例如磁盘)出故障。
基于以上研究和观测结果,本公开的实施例提出了用于存储设备管理的方法。以下将参照附图4进行描述。如图4所示,该方法400包括步骤S401,用于收集存储设备中需要进行重构的坏存储单元,例如RAID中的坏条带;步骤S402,用于确定坏条带中的每个坏存储单元的重构优先级等级;以及步骤S403,用于基于所确定的重构优先级等级来调度坏存储单元的重构。
根据本公开的一个实施例,所述存储设备可以是分簇的独立磁盘冗余阵列(RAID),例如RAID-6,而其中的坏存储单元可以是例如坏条带。但是本公开的实施例并不限于此,而是也可以应用于其他现有的将来开发的其他存储设备,只要其中存在类似的问题,并且与本公开的实施例的特征兼容。
根据本公开的又一实施例,在步骤S401中,可以通过扫描所述存储设备的映射树或者重新映射树来收集需要进行重构的坏存储单元,例如坏条带。例如,在本公开的一个实施例中,有两个条件可以触发步骤S401:
条件1:在系统运行期间物理存储设备出故障,例如磁盘出故障。以物理磁盘为例,由于每个物理磁盘具有重新映射树以描述其中的区块的使用;一旦物理磁盘出故障,则重新映射树能够被搜索以获得所有阵列的所有坏条带。
条件2:系统重启并且存储设备重新装配(reassemble)后发现物理存储设备(例如磁盘)丢失。这种情况不能够由物理磁盘的重新映射树来处理。但是,在例如RAID中,却可以利用一个很重要的特性来处理。例如,如图5所示,如果不能够在存储设备的映射树中找到某一个SU,但是同一条带的其他SU却能够在他们的映射树中被找到,则意味着区块丢失,并且需要重构。因此,在系统重启后,需要执行步骤S401来扫描(例如所有逻辑单元LUN的)映射树,以检查是否发生了数据丢失。
利用该方法,步骤S401的开销被最小化,因为用于映射树和重新映射树的所有数据都被保存在存储器中。
在本公开的又一实施例中,步骤S402包括:基于每个坏存储单元(例如坏条带)是否位于存储设备上被检测到媒体错误的区域来确定每个坏存储单元的重构优先级等级,和/或基于每个坏存储单元中包含的损坏的子存储单元(例如,坏SU)的数目来确定每个坏存储单元的重构优先级等级。例如,位于存储设备上被检测到媒体错误的区域的坏条带相对于位于该区域之外的坏条带可以被指定更高的优先级等级;又例如,包含更多坏SU的坏条带可以被指定更高的优先级等级。再例如,以RAID-6为例,其中的坏条带可以被设置为如以下表1所示的5个优先级等级:
表1.坏条带的优先级示例
优先级 | 坏条带 |
1(最高) | 具有多于2个坏SU的条带 |
2 | 在被检测到媒体错误的区域具有2个坏SU的条带 |
3 | 具有2个坏SU的正常条带 |
4 | 在被检测到媒体错误的区域具有1个坏SU的条带 |
5 | 具有1个坏SU的正常条带 |
在表1的示例中,具有最高重构优先级等级的是具有多于2个坏SU的条带。对于具有较高冗余度的存储设备,例如能够容忍多于两个磁盘错误的诸如RAID的存储设备,将能够对于具有多于2个坏SU的条带进行重构。并且,这种坏条带的恢复将使得该存储设备能够容忍其他的磁盘错误,离开脆弱状态。在这种情况下,可以为这种坏条带指配最高的重构优先级,优先地进行重构。而对于具有稍低冗余度的存储设备,例如,不能容忍多于两个磁盘错误的存储设备,其可以对表1中的该最高优先级进行特殊的处理,例如,在重构时对其跳过,从而加速其他坏存储单元的重构。具有第二高重构优先级等级的可以是具有两个坏SU的条带,并且那些条带处于被检测到媒体错误的区域。如前所述,磁盘上的媒体错误具有区域性, 并且具有两个坏SU的条带对于RAID-6也是很危险的。由于这个原因,那些坏条带应当以较高的优先级等级(例如第二高优先级等级)被重构。具有第三重构优先级等级的是具有2个坏SU的条带。具有2个坏SU的条带使得RAID-6停留在没有任何冗余保护的脆弱状态。通过首先处理那些坏条带,可以缩短停留在脆弱状态的时间。具有第四重构优先级等级的是具有1个坏SU的条带,并且这些条带处于被检测到媒体错误的区域。媒体错误在磁盘上的分布具有区域性。因此,该区域内的那些坏条带应当尽快被恢复。具有最低重构优先级等级的是具有1个坏SU的条带。这些条带使得RAID-6停留在具有冗余的安全状态。由于这个原因,那些坏条带可以最低优先级等级被处理。
应该注意的是,表1仅是作为示例而呈现的,实际上,根据本公开的实施例,可以采用其他的优先级等级的定义。例如,只定义4个优先级等级1到4,并使其分别对应于表1中的优先级2,3,4,5。
根据本公开的另一实施例,存储设备包括多个阵列对象,并且其中步骤S402进一步包括:针对所述存储设备的每个阵列对象,管理一个坏存储单元池(例如坏条带池),用于维持所有坏存储单元的信息用于重构;以及将所述坏存储单元池内的坏存储单元划分到具有不同优先级等级的多个调度组。例如,以数据域分簇的RAID为例,将RAID分成逻辑域和物理域。在逻辑域中实现数据保护,从中输出阵列对象。并且,例如,RAID-6算法可以被用于使数据具有高可靠性。在每个阵列对象内,管理一个坏条带池。为了将坏条带分成具有不同优先级等级的组,在坏条带池内管理5个调度组,其中每个调度组具有不同的优先级等级。例如,具有最高优先级等级的调度组管理所有的具有多于2个坏SU的需要被重构的条带,而具有最低优先级等级的调度组管理具有1个坏SU的所有条带。
在本公开的一些实施例中,在步骤S403中,基于所确定的所述重构优先级等级调度所述坏存储单元的重构包括:根据多个调度组 的优先级等级从高到低的顺序,选择要重构的调度组;以及在选择要重构的调度组后,对所选择的调度组内的所有坏存储单元(例如坏条带)顺序地执行重构。
在本公开的另一实施例中,在步骤S403中,进一步包括在选择要重构的调度组后,从所选择的调度组中顺序地选取分块条带,其中所述分块条带包括多个连续的存储单元(例如条带);对所选取的所述分块条带内的所有坏存储单元(例如坏条带)顺序地执行重构。
根据本公开的实施例的用于存储设备管理的方法,实现了基于优先级的重构。基于优先级的重构的核心思想在于使得需要被重构的坏存储单元是可调度的。通过基于优先级的重构方法,重构过程变得足够精明以选择合适的调度顺序来重构坏存储单元(例如坏条带),而不只是从头到尾顺序地进行数据恢复。该方法的优势很明显。例如,在RAID中那些严重的坏条带被处理之后,RAID能够更快地步出脆弱状态,并进入安全状态。由于脆弱状态的持续时间变短,在RAID处于降级状态时数据可靠性能够得以改善。
根据本公开的进一步的实施例,在步骤S403中,基于所确定的所述重构优先级等级调度所述坏存储单元的重构包括,对存储设备所包括的多个阵列对象中的每个阵列对象,并行地执行所述调度重构。在本公开的另一些实施例中,对存储设备所包括的多个阵列对象,也可以串行地执行所述调度重构。
在本公开的进一步的实施例中,该存储设备(例如RAID)被分成逻辑域和物理域,其中所述逻辑域用于实现数据保护,并且所述物理域负责物理存储设备(例如磁盘)的管理;并且,其中所述逻辑域包括阵列对象,所述阵列对象建立在多个逻辑单元编号(LUN)之上;所述LUN的地址空间被分成多个分块(block);每个分块包括多个条带单元SU;并且,来自不同LUN的多个SU组成一个所述存储单元(例如条带(stripe)),而来自不同LUN的多个分块组成分块条带(block stripe);所述物理域包括多个物理存储设备(例如物理磁盘);所述多个物理存储设备中的每个包括多个区块(chunk); 并且,逻辑域中的所述分块被映射到所述物理域中的所述区块。在图6中示出一个示例。其中图示了分块(block)、区块(chunk)、SU、LUN和物理磁盘之间的关系。从图6中可见,来自不同LUN的多个SU组成一个条带,而来自不同LUN的多个分块组成分块条带。尽管条带是进行重构的基本粒度,在调度组中进行调度的单元可以是分块条带,其包括条带的一个集合。
图6所示的示例结构可以被看作是分簇RAID的一种类型。该结构能够通过将数据保护域和物理存储设备管理域分离而显著地改善重构性能。在图6的示例中,假定磁盘3和磁盘4在RAID中出故障,这可能导致若干分块条带被损坏2个分块,而另一些分块条带将被损坏一个分块。因此,可以将分块条带作为条带组来调度以进行重构。不同调度组具有不同的优先级等级;在调度组中,分块条带被依次调度,而在分块条带内,坏条带可以被从头至尾地顺序地重构。
例如,如上在关于步骤S402中所描述的,坏条带池可以包括若干调度组,而每个调度组具有不同的优先级等级。调度组内的单元是分块条带,分块条带包括许多连续的条带。根据本公开的一个实施例,步骤S403还可以包括:
-访问坏条带池以获得要进行重构的条带的集合;
-选择具有最高优先级等级的可用调度组。例如,如果具有2个坏SU的可用调度组具有最高优先级,则其将被选择使用;
-一旦调度组被选择,该调度组内的第一单元将被使用。该单元可以是分块条带,其包括多个坏条带。
-在从调度组选取分块条带后,重构线程将从头至尾依次重构该分块条带内的所有坏条带。
此外,根据本公开的实施例,为了在系统重启后将重构回滚到正确的位置,在分块条带重构时段期间,检查点需要被更新到区块元数据。
在图7中示出其中可以应用本公开的实施例方法的分簇RAID的 另一示意图。与图6类似,在该结构中,逻辑域被用于实现数据保护,而物理域负责物理磁盘管理。区块(chunk)分配器在逻辑域和物理域之间进行桥接。位于逻辑域的逻辑单元号(LUN)中的分块(block)被区块分配器映射到物理域中的区块。在物理磁盘故障时,根据本公开的实施例的方法,能够收集所有阵列的受影响的坏条带(stripe),然后可以由所有的阵列并行地进行重构。由于阵列数据能够随机地分布到磁盘,并且在磁盘故障时所有的盘参与重构,因此,分簇RAID的重构性能和数据可靠性能够得以提高。
概括起来,在一些实施例中,以RAID为例,分块条带可以是在具有特定优先级等级的列表中的调度单元。对于每个阵列,具有多个列表来管理具有不同优先级等级的分块条带,例如每个列表对应一个调度组。在重构期间,分块条带被按照从高优先级列表到第优先级列表的顺序进行调度。一旦选择了一个分块条带,分块条带内的坏条带应当在该特定分块条带内被从头到尾地进行重构。
针对所选择的坏条带,进行重构的特定方法可以与传统方法相同。以RAID-6为例,即使有3个磁盘出故障,其仍然能够尝试通过使用复制重构和/或完全重构来重新生成数据并写入新的位置,该位置可以由分配器来分配。复制重构是一种从故障盘复制数据以恢复数据的方法;而完全重构是从幸存的磁盘中读取数据,并且然后通过读取数据来重新生成丢失数据的方法。考虑到当前大部分的故障磁盘只是部分故障,故障盘内的数据仍然是可读的,因此,对于具有多于2个坏SU的条带,可以采用将复制重构和传统完全重构方法组合的方式来恢复数据。
以上参照附图描述了根据本公开的实施例的用于存储设备管理的方法。以下将参照图8描述根据本公开的实施例的用于存储设备管理的装置800。图8示意性地示出装置800的结构。该装置800可以被配置成实施以上参照附图4所描述的任一方法,但是不限于实施以上所描述的方法。类似地,以上所描述的方法可以由装置800来实施,但是并不限于由该装置800来实施。
如图8所示,装置800包括坏存储单元收集器801,被配置成收集所述存储设备中需要进行重构的坏存储单元(例如,坏条带);优先级控制器802,被配置成确定所述坏存储单元中每个坏存储单元的重构优先级等级;以及重构调度器803,被配置成基于所确定的所述重构优先级等级度所述坏存储单元的重构。
根据本公开的一个实施例,该存储设备可以是分簇的独立磁盘冗余阵列(RAID),例如RAID-6,并且,该坏存储单元为坏条带。但是本公开的实施例并不限于此,而是也可以应用于其他现有的或将来开发的其他的存储设备,只要其中存在类似的问题,并且与本公开的实施例的特征兼容。
根据本公开的又一实施例,坏存储单元收集器801(例如,坏条带收集器),可以被配置成通过扫描存储设备的映射树或者重新映射树来收集需要进行重构的坏存储单元。例如,在本公开的一个实施例中,有两个条件可以触发坏存储单元收集器801工作:
条件1:在系统运行期间物理存储设备,例如磁盘出故障。这种情况容易处理。以物理磁盘为例,由于每个物理磁盘具有重新映射树以描述其中的区块的使用;一旦物理磁盘出故障,则重新映射树能够被搜索以获得所有阵列的所有坏条带。
条件2:系统重启并且存储设备重新装配后发现物理存储设备(例如磁盘)丢失。这种情况不能够由物理磁盘的重新映射树来处理。但是,在例如RAID中,却可以利用一个很重要的特性来处理。例如,如图5所示,如果不能够在存储设备的映射树中找到某一个SU,但是同一条带的其他SU却能够在他们的映射树中被找到,则意味着区块丢失,并且需要重构。因此,在系统重启后,需要坏条带收集器801执行例如图4中的步骤S401来扫描(例如所有逻辑单元LUN的)映射树,以检查是否发生了数据丢失。因为用于映射树和重新映射树的所有数据都被保存在存储器中,坏条带收集器801所执行的动作的开销被最小化。
在本公开的又一实施例中,优先级控制器802被配置成基于每 个坏存储单元是否位于存储设备上被检测到媒体错误的区域来确定每个坏存储单元的重构优先级等级,和/或基于每个坏存储单元中包含的损坏的子存储单元(例如坏条带单元(SU))的数目来确定每个坏存储单元的重构优先级等级。例如,以RAID-6为例,其中的坏条带可以被设置为如表1所示的5个优先级等级。
根据本公开的另一实施例,存储设备包括多个阵列对象,并且其中优先级控制器802被配置成针对所述存储设备的每个阵列对象,管理一个坏存储单元池,用于维持所有坏存储单元的信息用于重构;以及将所述坏存储单元池内的坏存储单元划分到具有不同优先级等级的多个调度组。例如,以分簇的RAID为例,其可以被分成逻辑域和物理域。在逻辑域中实现数据保护,从中输出阵列对象,并且假定RAID-6算法被用于使数据具有高可靠性。在每个阵列对象内,管理一个坏条带池。为了将坏条带(即,坏存储单元)分成具有不同优先级等级的组,在坏条带池内管理5个调度组,其中每个调度组具有不同的优先级等级。例如,具有最高优先级等级的调度组管理所有的具有多于2个坏SU的需要被重构的条带,而具有最低优先级等级的调度组管理具有1个坏SU的所有条带。
在本公开的一些实施例中,重构调度器803被配置成根据多个调度组的优先级等级从高到低的顺序,选择要重构的调度组;以及在选择要重构的调度组后,对所选择的调度组内的所有坏存储单元顺序地执行重构。在本公开的另一实施例中,重构调度器803进一步被配置成在选择要重构的调度组后,从所选择的调度组中顺序地选取分块条带,其中所述分块条带包括多个连续的存储单元;以及对所选取的所述分块条带内的所有坏存储单元顺序地执行重构。
根据本公开的实施例的用于存储设备管理的装置,能够实现基于优先级的重构。基于优先级的重构的核心思想在于使得需要被重构的坏存储单元(例如,RAID中的坏条带)是可调度的。通过基于优先级的重构装置,重构过程变得足够精明以选择合适的调度顺序来重构坏存储单元,而不只是从头到尾顺序进行数据恢复。该装置 的优势很明显。例如,以RAID为例,在那些严重的坏存储单元(例如坏条带)被处理之后,RAID能够更快地步出脆弱状态,并进入安全状态。由于脆弱状态的持续时间变短,在RAID处于降级状态时数据可靠性能够得以改善。
根据本公开的一个实施例,重构调度器803进一步被配置成针对存储设备包括的多个阵列对象中的每个阵列对象,并行地执行调度重构的步骤,例如,对于每个阵列对象,并行地执行参照图4所描述的步骤S403。在本公开的另一实施例中,重构调度器803还被配置成对存储设备所包括的多个阵列对象,串行地执行调度重构。
在本公开的进一步的实施例中,该所述存储设备被分离成逻辑域和物理域,其中所述逻辑域用于实现数据保护,并且所述物理域负责物理存储设备管理;并且,其中所述逻辑域包括阵列对象,所述阵列对象建立在多个逻辑单元编号LUN之上;所述LUN的地址空间被分成多个分块;每个分块包括多个条带单元SU;并且,来自不同LUN的多个所述SU组成一个存储单元(例如,坏条带),而来自不同LUN的多个分块组成分块条带;所述物理域包括多个物理存储设备;所述多个物理存储设备中的每个包括多个区块;并且所述逻辑域中的所述分块被区块分配器映射到所述物理域中的所述区块。
通过方法400和装置800,能够缩短处于脆弱状态的持续时间,并且提高在重构时段期间的数据可靠性。在图9中图示了存储设备的脆弱状态持续时间的变化。由图9可以观察到,根据本公开的实施例的方法和装置,脆弱状态持续时间能够得以缩短。应该注意的是,尽管图9中示出3种状态,但是取决于存储设备的冗余度,该状态数可以不同,因此本公开的实施例绝不受限于此。例如,对于能够容忍3个磁盘错误的存储设备,可以存在4个状态,分别为能够容忍3个磁盘错误的状态,能够容忍2个磁盘错误的状态,能够容忍2个磁盘错误的状态,和不能容忍其他磁盘错误的状态。
图10是根据本公开的一个实施例的装置的示例架构。其中示出 作为坏存储单元收集801的示例的坏条带收集器可以被用于收集所有阵列的所有坏条带。在分簇的RAID中,一旦一个磁盘故障,所有阵列中的条带将受到影响。因此,坏条带收集器可以被用来收集所有阵列的坏条带。除了系统运行期间磁盘故障的情况,在系统重启并且存储设备被重组之后,坏条带收集器也可以检查是否存在坏条带。坏条带收集器对于重构模块很重要。最大的挑战在于如何保证所有的环条带都被收集。例如,在系统重启并且一个磁盘被从RAID中移除时,如何检查在所有阵列中受影响的条带。如前所述,根据本公开的一个实施例,该检查可以由坏条带收集器基于映射树和/或重新映射树来完成。在图10的示例中,每个阵列具有一个坏条带池来维持用于重构的所有坏条带信息,其特征在于坏条带池内的坏条带具有不同的优先级等级。该优先级等级可以由图8中的优先级控制器来确定。重构调度器可以从坏条带池选取坏条带并且然后进行重构。与传统方法/装置相比,坏条带被根据优先级等级从坏条带池中选取,而不是按照从头到尾挨个的顺序进行选取。因此,与传统RAID重构方法/装置相比,坏条带收集器和基于优先级的坏条带池可以被看作实现基于优先级的重构的核心部分。
根据本公开的另一实施例,用于存储设备管理的装置的工作原理示意图可以如图11所示。例如,以分簇的RAID为例,将RAID分成逻辑域和物理域。在逻辑域中实现数据保护,从中输出阵列对象。在每个阵列对象内,管理一个坏条带池。为了将坏条带分成具有不同优先级等级的组,在坏条带池内管理多个调度组,其中每个调度组具有不同的优先级等级。例如,具有最高优先级等级的调度组管理所有的具有多于2个坏SU的需要被重构的条带,而具有最低优先级等级的调度组管理具有1个坏SU的所有条带。坏条带收集器可以基于触发条件而工作,如前所述,该触发条件可以是在系统运行期间物理存储设备,例如磁盘出故障。或者在系统重启后扫描并发现物理存储设备(例如磁盘)丢失。另外,如前参照图4所述的,针对选择的坏条带,进行重构的特定方法可以与传统方法相同。
以上参考图4和图8所描述的方法和装置可以在数据域分簇的RAID中实现,并且本公开的发明人已经验证了其工作良好并且能够例如在RAID-6有2个磁盘出故障时改善数据的可靠性。以下从3个方面来说明基于本公开的实施例的优势。
1)具有两个坏SU的条带的百分比
为了测试存储的数据的可靠性,使具有4架(shelves)配置的分簇的RAID中的2个磁盘同时出故障,并且发现这种情况下有7.8%的坏条带具有2个坏SU,如图12所示。另外,对六架配置进行了同样的测试,并且发现只有4.2%的坏条带具有2个坏SU,如图13所示。
这两次测试的结论可以总结如下:
-没有太多的坏条带具有2个坏SU。如果这些坏条带能够根据本公开的实施例的方法被以高优先级等级尽快地处理,则RAID将不会长时间停留在脆弱状态,并且在RAID的降级阶段数据可靠性能够被改善。
-架越多,在2个磁盘出故障后具有2个坏SU的坏条带越少。这意味着,架越多,则根据本公开的实施例的方法对具有2个坏SU的坏条带优先调度重构,将使得在2个磁盘出故障后停留在脆弱状态的时间越短。
2)容忍更多的故障盘
基于这种原型,对于RAID-6同时移除两个磁盘。并且在大约15分钟后,从该RAID移除另一磁盘。测试显示RAID仍然能够工作而没有数据丢失。原因是,通过使用根据本公开的实施例的基于优先级的重构,停留在脆弱状态的时间被缩短到很短的时间。如图14所示,对于分簇的RAID的6架配置,脆弱状态的时间已经被缩短到大约15分钟。这意味着,在2个磁盘出故障15分钟后,RAID能够容忍对于RAID-6的第三个磁盘故障。显然,基于优先级的重构能够在数据重构时段期间改善数据的可靠性。
3)相对于现有技术的优点
与现有方法相比,根据本公开的实施例的用于存储设备管理的方法/装置能够显著缩短脆弱状态的持续时间。详细的比较可参见图9和图14。通过本文提出的方法/装置,存储设备脆弱状态的持续时间可以缩短为大约为15分钟,而现有技术中该时间为好几个小时。
概括而言,本公开的实施例提出了用于存储设备管理的方法/装置,使得能够在重构时段期间,对坏存储单元进行基于优先级地调度重构,以缩短在存储设备停留在脆弱状态的持续时间。尽管主要以分簇的RAID为例描述了本公开提出的方法/装置的实施方式,但是,如本领域技术人员能够理解的,本公开的实施例并不限于此。
本领域技术人员应当认识到,这里描述的任何结构图表示实现本公开的原理的说明性原理图。类似地,应当理解,这里描述的流程图表示可以在机器可读介质中具体表示并且由机器或处理设备执行的各种过程,不论这样的机器或处理设备是否被明确示出。
本领域普通技术人员还应当理解,根据本公开的实施例的装置800所包含的各单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。例如,在某些实施方式中,装置800可以利用软件和/或固件来实现。备选地或附加地,装置800可以部分地或者完全地基于硬件来实现。例如,装置800中的一个或多个单元可以实现为集成电路(IC)芯片、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA),等等。本公开的范围在此方面不受限制。
本公开可以是系统、装置、设备、方法和/或计算机程序产品。根据本公开的一个实施例,本发明可以通过一种用于存储设备管理的装置来实现,该装置包括至少一个处理器;以及至少一个包括计算机程序代码的存储器,其中所述至少一个存储器和所述计算机程序代码被配置成与所述至少一个处理器一起,促使所述装置执行前文参考图4所述的任一方法。根据本公开的另一实施例,本发明可以通过一种计算机程序产品来实现,所述计算机程序产品被体现在计算机可读的介质中并且包括计算机可读程序指令,当被加载到装 置中时,所述计算机可读程序指令执行根据本公开的实施例的任一方法。
上面结合附图所进行的描述只是为了说明本公开而示例性给出的。本领域技术人员可以理解,能够基于上面所描述的本公开的原理提出不同的结构,虽然这些不同的结构未在此处明确描述或示出,但都体现了本公开的原理并被包括在其精神和范围之内。此外,所有此处提到的示例明确地主要只用于教导目的,以帮助读者理解本公开的原理以及发明人所贡献的促进本领域的构思,并不应被解释为对本公开范围的限制。此外,本文所有提到本公开的原则、方面和实施方式的陈述及其特定的示例包含其等同物在内。
Claims (20)
1.一种用于存储设备管理的方法,包括:
收集所述存储设备中需要进行重构的坏存储单元,其中所述存储设备由于所述坏存储单元而被降级为脆弱状态;
基于对应的严重性等级,确定所收集的所述坏存储单元中的每个坏存储单元的重构优先级等级;以及
基于所确定的所述重构优先级等级来调度所述坏存储单元的重构,以缩短所述脆弱状态的持续时间以及改善所述重构期间的数据可靠性。
2.根据权利要求1所述的方法,其中所述存储设备为分簇的独立磁盘冗余阵列RAID,并且所述坏存储单元为坏条带。
3.根据权利要求1所述的方法,其中收集所述存储设备中需要进行重构的坏存储单元包括:
通过扫描所述存储设备的映射树或者重新映射树来收集需要进行重构的坏存储单元。
4.根据权利要求1所述的方法,其中确定所收集的所述坏存储单元中每个坏存储单元的重构优先级等级包括:
基于每个坏存储单元是否位于所述存储设备上被检测到媒体错误的区域,和/或每个坏存储单元中包含的损坏的子单元的数目,来确定每个坏存储单元的所述重构优先级等级。
5.根据权利要求1所述的方法,其中所述存储设备包括多个阵列对象,并且其中确定所收集的所述坏存储单元中每个坏存储单元的重构优先级等级包括:
针对所述存储设备的每个阵列对象,管理一个坏存储单元池,以维持所有坏存储单元的信息用于重构;以及
将所述坏存储单元池内的坏存储单元划分到具有不同优先级等级的多个调度组。
6.根据权利要求5所述的方法,其中基于所确定的所述重构优先级等级调度所述坏存储单元的重构包括:
根据所述多个调度组的所述优先级等级从高到低的顺序,选择要重构的调度组;以及
在选择要重构的调度组后,对所选择的调度组内的所有坏存储单元顺序地执行重构。
7.根据权利要求6所述的方法,其中在选择要重构的调度组后,对所选择的调度组内的所有坏存储单元顺序地执行重构包括:
在选择要重构的调度组后,从所选择的所述调度组中顺序地选取分块条带,其中所述分块条带包括多个连续的存储单元;以及
对所选取的所述分块条带内的所有坏存储单元顺序地执行重构。
8.根据权利要求5所述的方法,其中基于所确定的所述重构优先级等级来调度所述坏存储单元的重构进一步包括:
针对所述存储设备所包括的多个阵列对象中的每个阵列对象,并行地执行调度所述重构的步骤。
9.根据权利要求1到8中任一项所述的方法,其中所述存储设备被分成逻辑域和物理域,其中所述逻辑域用于实现数据保护,并且所述物理域负责物理存储设备的管理;并且
所述逻辑域包括阵列对象,所述阵列对象建立在多个逻辑单元编号LUN之上;所述LUN的地址空间被分成多个分块;每个分块包括多个子存储单元;来自不同LUN的多个子存储单元组成一个存储单元,而来自不同LUN的多个分块组成分块条带;所述物理域包括多个物理存储设备;所述多个物理存储设备中的每一个包括多个区块;并且
所述逻辑域中的所述分块被映射到所述物理域中的所述区块。
10.一种用于存储设备管理的装置,包括:
坏存储单元收集器,被配置成收集所述存储设备中需要进行重构的坏存储单元,其中所述存储设备由于所述坏存储单元而被降级为脆弱状态;
优先级控制器,被配置成基于对应的严重性等级确定所收集的所述坏存储单元中每个坏存储单元的重构优先级等级;以及
重构调度器,被配置成基于所确定的所述重构优先级等级调度所述坏存储单元的重构,以缩短所述脆弱状态的持续时间以及改善所述重构期间的数据可靠性。
11.根据权利要求10所述的装置,其中所述存储设备为分簇的独立磁盘冗余阵列RAID,并且所述坏存储单元为坏条带。
12.根据权利要求10所述的装置,其中所述坏存储单元收集器进一步被配置成:
通过扫描所述存储设备的映射树或者重新映射树来收集需要进行重构的坏存储单元。
13.根据权利要求10所述的装置,其中所述优先级控制器进一步被配置成:
基于每个坏存储单元是否位于所述存储设备上被检测到媒体错误的区域,和/或每个坏存储单元中包含的损坏的子存储单元的数目,来确定每个坏存储单元的所述重构优先级等级。
14.根据权利要求10所述的装置,其中所述存储设备包括多个阵列对象,并且其中所述优先级控制器进一步被配置成:
针对所述存储设备的每个阵列对象,管理一个坏存储单元池,以维持所有坏存储单元的信息用于重构;并且
将所述坏存储单元池内的坏存储单元划分到具有不同优先级等级的多个调度组。
15.根据权利要求14所述的装置,其中所述重构调度器被配置成:
根据所述多个调度组的所述优先级等级从高到低的顺序,选择要重构的调度组;以及
在选择要重构的调度组后,对所选择的调度组内的所有坏存储单元顺序地执行重构。
16.根据权利要求15所述的装置,其中所述重构调度器进一步被配置成:
在选择要重构的调度组后,从所选择的所述调度组中顺序地选取分块条带,其中所述分块条带包括多个连续的存储单元;
对所选取的所述分块条带内的所有坏存储单元顺序地执行重构。
17.根据权利要求14所述的装置,其中所述重构调度器进一步被配置成:
针对所述存储设备所包括的多个阵列对象中的每个阵列对象,并行地执行调度所述重构的步骤。
18.根据权利要求10到17中任一项所述的装置,其中所述存储设备被分离成逻辑域和物理域,其中所述逻辑域用于实现数据保护,并且所述物理域负责物理存储设备管理;并且
所述逻辑域包括阵列对象,所述阵列对象建立在多个逻辑单元编号LUN之上;所述LUN的地址空间被分成多个分块;每个分块包括多个子存储单元;来自不同LUN的多个所述子存储单元组成一个存储单元,而来自不同LUN的多个分块组成分块条带;所述物理域包括多个物理存储设备;所述多个物理存储设备中的每个包括多个区块;并且
所述逻辑域中的所述分块被映射到所述物理域中的所述区块。
19.一种用于存储设备管理的装置,包括:
至少一个处理器;以及
至少一个包括计算机程序代码的存储器,
其中所述至少一个存储器和所述计算机程序代码被配置成:与所述至少一个处理器一起,促使所述装置执行根据权利要求1-9中的任一权利要求所述的方法。
20.一种计算机可读存储介质,具有存储于其上的计算机可读程序指令,当由处理单元执行时,所述计算机可读程序指令使所述处理单元执行根据权利要求1-9中任一权利要求所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410813709.3A CN105892934B (zh) | 2014-12-19 | 2014-12-19 | 用于存储设备管理的方法和装置 |
US14/971,107 US10025667B2 (en) | 2014-12-19 | 2015-12-16 | Management of storage devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410813709.3A CN105892934B (zh) | 2014-12-19 | 2014-12-19 | 用于存储设备管理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105892934A CN105892934A (zh) | 2016-08-24 |
CN105892934B true CN105892934B (zh) | 2020-11-03 |
Family
ID=56129536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410813709.3A Active CN105892934B (zh) | 2014-12-19 | 2014-12-19 | 用于存储设备管理的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10025667B2 (zh) |
CN (1) | CN105892934B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10423506B1 (en) * | 2015-06-30 | 2019-09-24 | EMC IP Holding Company LLC | Fast rebuild using layered RAID |
CN106528003A (zh) * | 2016-12-09 | 2017-03-22 | 曙光信息产业(北京)有限公司 | 一种磁盘阵列的重建方法和装置 |
CN106534373B (zh) * | 2016-12-27 | 2020-01-03 | 苏州浪潮智能科技有限公司 | San存储设备的io性能测试方法及装置 |
CN109101187B (zh) * | 2017-06-20 | 2021-07-09 | 杭州海康威视数字技术股份有限公司 | 一种进行数据重构的方法和装置 |
CN107402851B (zh) * | 2017-08-01 | 2020-10-16 | 苏州浪潮智能科技有限公司 | 一种数据恢复控制方法及装置 |
US10503597B2 (en) * | 2017-09-21 | 2019-12-10 | Seagate Technology Llc | Symbol-level declustering of raid stripes to isolate data corruption |
CN110413203B (zh) * | 2018-04-28 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读介质 |
CN110515761B (zh) * | 2018-05-22 | 2022-06-03 | 杭州海康威视数字技术股份有限公司 | 一种数据获取方法及装置 |
CN110658979B (zh) * | 2018-06-29 | 2022-03-25 | 杭州海康威视系统技术有限公司 | 一种数据重构方法、装置、电子设备及存储介质 |
JP7048439B2 (ja) | 2018-07-03 | 2022-04-05 | 本田技研工業株式会社 | 制御装置、制御ユニット、制御方法、およびプログラム |
US11099934B2 (en) * | 2018-08-24 | 2021-08-24 | International Business Machines Corporation | Data rebuilding |
CN110968417B (zh) * | 2018-09-30 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 管理存储单元的方法、装置、系统和计算机存储介质 |
CN113391945B (zh) * | 2020-03-12 | 2024-09-13 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备以及计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987799A (zh) * | 2006-11-08 | 2007-06-27 | 华中科技大学 | 一种适用于磁盘阵列的数据重建方法 |
CN103064753A (zh) * | 2012-10-25 | 2013-04-24 | 浪潮电子信息产业股份有限公司 | 磁盘阵列三级恢复系统设计方法 |
CN103823728A (zh) * | 2014-03-13 | 2014-05-28 | 深圳市迪菲特科技股份有限公司 | 一种独立冗余磁盘阵列智能重建的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6839827B1 (en) * | 2000-01-18 | 2005-01-04 | International Business Machines Corporation | Method, system, program, and data structures for mapping logical blocks to physical blocks |
US8286029B2 (en) * | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US20090271659A1 (en) * | 2008-04-24 | 2009-10-29 | Ulf Troppens | Raid rebuild using file system and block list |
US8261016B1 (en) * | 2009-04-24 | 2012-09-04 | Netapp, Inc. | Method and system for balancing reconstruction load in a storage array using a scalable parity declustered layout |
US8589625B2 (en) * | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US8689040B2 (en) * | 2010-10-01 | 2014-04-01 | Lsi Corporation | Method and system for data reconstruction after drive failures |
CN102164165B (zh) * | 2011-02-18 | 2013-06-12 | 杭州宏杉科技有限公司 | 一种网络存储系统的管理方法及装置 |
-
2014
- 2014-12-19 CN CN201410813709.3A patent/CN105892934B/zh active Active
-
2015
- 2015-12-16 US US14/971,107 patent/US10025667B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987799A (zh) * | 2006-11-08 | 2007-06-27 | 华中科技大学 | 一种适用于磁盘阵列的数据重建方法 |
CN103064753A (zh) * | 2012-10-25 | 2013-04-24 | 浪潮电子信息产业股份有限公司 | 磁盘阵列三级恢复系统设计方法 |
CN103823728A (zh) * | 2014-03-13 | 2014-05-28 | 深圳市迪菲特科技股份有限公司 | 一种独立冗余磁盘阵列智能重建的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160179644A1 (en) | 2016-06-23 |
US10025667B2 (en) | 2018-07-17 |
CN105892934A (zh) | 2016-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105892934B (zh) | 用于存储设备管理的方法和装置 | |
US8392752B2 (en) | Selective recovery and aggregation technique for two storage apparatuses of a raid | |
US8843782B2 (en) | Method and apparatus for reconstructing redundant array of inexpensive disks, and system | |
KR101292914B1 (ko) | 데이터 복원 시스템, 방법 및 컴퓨터 판독가능한 매체 | |
US20190129614A1 (en) | Load Balancing of I/O by Moving Logical Unit (LUN) Slices Between Non-Volatile Storage Represented by Different Rotation Groups of RAID (Redundant Array of Independent Disks) Extent Entries in a RAID Extent Table of a Mapped RAID Data Storage System | |
US8930749B2 (en) | Systems and methods for preventing data loss | |
US20120089799A1 (en) | Data backup processing method, data storage node apparatus and data storage device | |
CN105468479B (zh) | 一种磁盘阵列raid坏块处理方法及装置 | |
EP2929435B1 (en) | Raid surveyor | |
US7308532B1 (en) | Method for dynamically implementing N+K redundancy in a storage subsystem | |
CN102521058A (zh) | Raid组磁盘数据预迁移方法 | |
US9104604B2 (en) | Preventing unrecoverable errors during a disk regeneration in a disk array | |
CN104484251A (zh) | 一种硬盘故障的处理方法及装置 | |
CN103699457A (zh) | 基于条带化的磁盘阵列修复方法及装置 | |
US9519545B2 (en) | Storage drive remediation in a raid system | |
CN115454727A (zh) | 一种数据恢复方法、装置、设备及可读存储介质 | |
US11860746B2 (en) | Resilient data storage system with efficient space management | |
US20150067443A1 (en) | Method and Device for Recovering Erroneous Data | |
US10977130B2 (en) | Method, apparatus and computer program product for managing raid storage in data storage systems | |
CN105117172B (zh) | 一种磁盘阵列历史掉盘记录的保存方法 | |
WO2016112824A1 (zh) | 存储的处理方法、装置和存储设备 | |
CN104205097B (zh) | 一种去重方法装置与系统 | |
JP5169993B2 (ja) | データストレージシステム、データ領域管理方法 | |
CN110431538B (zh) | 存储系统控制 | |
CN116601609A (zh) | 将数据存储在计算机存储中 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200413 Address after: Massachusetts, USA Applicant after: EMC IP Holding Company LLC Address before: Massachusetts, USA Applicant before: EMC Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |