CN105159618A - 用于单盘失效修复的优化方法及优化装置 - Google Patents

用于单盘失效修复的优化方法及优化装置 Download PDF

Info

Publication number
CN105159618A
CN105159618A CN201510623058.6A CN201510623058A CN105159618A CN 105159618 A CN105159618 A CN 105159618A CN 201510623058 A CN201510623058 A CN 201510623058A CN 105159618 A CN105159618 A CN 105159618A
Authority
CN
China
Prior art keywords
data
correcting
strategy
reparation
deck
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.)
Granted
Application number
CN201510623058.6A
Other languages
English (en)
Other versions
CN105159618B (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201510623058.6A priority Critical patent/CN105159618B/zh
Publication of CN105159618A publication Critical patent/CN105159618A/zh
Priority to US14/980,571 priority patent/US10048999B2/en
Application granted granted Critical
Publication of CN105159618B publication Critical patent/CN105159618B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种用于单盘失效修复的优化方法,包括以下步骤:根据当前负载信息得到期望读取的数据量大小与允许迭代步数;获取每个单条带中的失效数据的修复优化策略,以组合每个单条带中的失效数据的修复优化策略得到多个条带的初始修复策略;根据期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对初始修复策略进行进一步优化,最后得到寻道数量最少的最优修复策略,以根据最优修复策略进行单盘失效修复。根据本发明实施例的优化方法,不但对所需取回的数据量进行优化,而且对寻道操作数量进行优化,提高单盘失效修复效率,具有良好的普适性。本发明还公开了一种用于单盘失效修复的优化装置。

Description

用于单盘失效修复的优化方法及优化装置
技术领域
本发明涉及存储可靠性技术领域,特别涉及一种用于单盘失效修复的优化方法及优化装置。
背景技术
在存储系统中,所应用的纠删码主要由两个重要的参数进行设置,分别为k和m。其中(k,m)纠删码将原数据划分为k个数据块,并编码为m个校验块,从而任意k个数据块和校验块的组合都能恢复出原数据。由于纠删码技术具备较高的存储效率,因此越来越多的存储系统采用纠删码方案来保证数据可靠性。在纠删码中,依靠纠删码机制所确定相关性的这k+m个数据块和校验块的集合构成一个“条带”。一般而言,纠删码存储系统在逻辑上可以看作是多个条带的组合。
在纠删码存储系统中,针对单盘失效修复的优化方法的主要目的都是为了减少读取数据量(或者称为磁盘I/O),从而达到快速修复的目的。
然而,在磁盘中,为了读取所需要的数据量,磁头需要旋转到该数据所在的位置后,再进行数据读取。在读取所需数据前的磁头旋转和准备阶段,通常称之为“寻道操作”。由于机械硬盘的特性,寻道操作是一个开销极大的操作,并且也是当前磁盘随机访问性能无法得到突破的瓶颈所在。现有对单盘失效进行优化的工作主要着重于减少失效修复所需要读取的数据量大小,却忽视了在优化修复过程中有可能带来的寻道次数增加的不足,而不断增多的寻道次数又将延长修复所需要的时间。因此,如何权衡单盘失效修复所需要读取的数据量和寻道操作数量是一个十分重要的问题。
相关技术中的单盘失效修复优化虽然能够显著减少修复过程中从剩余磁盘所读取的数据量,但是依然存在着许多的不足。举例而言,首先,有的单盘失效修复优化方法只能针对特定的纠删码,例如RDP码和X码,这两种编码是典型的RAID6码,即只能容忍两个磁盘失效,缺乏一定的普适性;其次,有的单盘失效修复优化方法虽然具有良好的普适性,即适用于任何基于XOR运算的纠删码,但是在寻找最优修复方案的算法是NP困难问题,其虽然可以在同构环境下,通过事先保存最优方案的方法使用,但是针对系统环境多变的异构场景下,由于需要较长的计算时间寻找最优修复方案,导致无法实时高效地处理单个磁盘失效的情况;再次,有的单盘失效优化方法虽然能够在多项式时间内寻找一种接近于理论最优的修复方案,但是只考虑了单条带的场景,而实际存储系统在经过纠删码编码后在逻辑上应该是多条带的独立组合,因此具有一定的局限性。另外,最重要的是,相关技术中的大部分单盘失效修复的优化方法都未考虑针对寻道操作进行优化,有待改进。
发明内容
本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种用于单盘失效修复的优化方法,该方法可以对寻道操作数量进行优化,简单便捷。
本发明的另一个目的在于提出一种用于单盘失效修复的优化装置。
为达到上述目的,本发明一方面实施例提出了一种用于单盘失效修复的优化方法,包括以下步骤:根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步数;获取多个条带中每个单条带中的失效数据的修复优化策略,以组合所述每个单条带中的失效数据的修复优化策略得到所述多个条带的初始修复策略;以及根据所述期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对所述初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,以根据所述最优修复策略进行单盘失效修复。
根据本发明实施例提出的用于单盘失效修复的优化方法,在多条带环境下考虑了单盘失效修复问题,不但对失效修复所读取的数据量大小进行了优化,而且对修复过程中所产生的寻道操作数量进行优化,加快了单盘失效修复过程,提高单盘失效修复效率,具有良好的普适性,更好地满足用户的使用需求,提高用户的使用体验,简单便捷。
另外,根据本发明上述实施例的用于单盘失效修复的优化方法还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述修复优化策略为根据纠删码的解码规则从单条带中按照所述期望读取的数据量大小读取数据,以修复所述单条带中的失效数据。
进一步地,在本发明的一个实施例中,根据所述期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,进一步包括:初始化禁忌列表为空集,其中,所述禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数;在每步迭代中,以所述初始修复策略作为当前最优的修复方案进行输入;以及在经过所述允许迭代步数之后,从所述禁忌列表中选取寻道数量最小的方案作为所述最优修复策略。
进一步地,在本发明的一个实施例中,其中,如果所述最优修复策略需要的数据量小于所述期望读取的数据量大小,则进行数据填充。
进一步地,在本发明的一个实施例中,所述寻道数量包括读取数据前的磁头旋转与准备次数,所述单条带为多个数据块与对应所生成的多个校验块的集合。
本发明另一方面实施例提出了一种用于单盘失效修复的优化装置,包括:获取模块,用于根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步数;组合模块,用于获取多个条带中每个单条带中的失效数据的修复优化策略,以组合所述每个单条带中的失效数据的修复优化策略得到所述多个条带的初始修复策略;以及优化模块,用于根据所述期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对所述初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,以根据所述最优修复策略进行单盘失效修复。
根据本发明实施例提出的用于单盘失效修复的优化装置,在多条带环境下考虑了单盘失效修复问题,不但对失效修复所读取的数据量大小进行了优化,而且对修复过程中所产生的寻道操作数量进行优化,加快了单盘失效修复过程,提高单盘失效修复效率,具有良好的普适性,更好地满足用户的使用需求,提高用户的使用体验,简单便捷。
另外,根据本发明上述实施例的用于单盘失效修复的优化装置还可以具有如下附加的技术特征:
进一步地,在本发明的一个实施例中,所述修复优化策略为根据纠删码的解码规则从单条带中按照所述期望读取的数据量大小读取数据,以修复所述单条带中的失效数据。
进一步地,在本发明的一个实施例中,所述优化模块进一步用于:初始化禁忌列表为空集,其中,所述禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数;在每步迭代中,以所述初始修复策略作为当前最优的修复方案进行输入;以及在经过所述允许迭代步数之后,从所述禁忌列表中选取寻道数量最小的方案作为所述最优修复策略。
进一步地,在本发明的一个实施例中,其中,如果所述最优修复策略需要的数据量小于所述期望读取的数据量大小,则进行数据填充。
进一步地,在本发明的一个实施例中,所述寻道数量为读取数据前的磁头旋转与准备操作次数,所述单条带为多个数据块与对应所生成的多个校验块的集合。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的用于单盘失效修复的优化方法的流程图;
图2为根据本发明一个实施例的存储系统在经过纠删码机制编码后的逻辑示意图;
图3为根据本发明一个实施例的RDP码的编码示意图(单条带);
图4为根据本发明一个实施例的校验链替换和数据填充示意图;
图5为根据本发明一个实施例的不同迭代步数下的寻道数量变化示意图;以及
图6为根据本发明一个实施例的用于单盘失效修复的优化装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下面在描述根据本发明实施例提出的用于单盘失效修复的优化方法及优化装置之前,先来简单描述一下单盘失效修复的重要性。
随着数据存储规模的不断膨胀,存储系统中所需要存放数据的磁盘个数不断增加,磁盘失效成为了一种常见的事件。为了保证数据的可靠性,现有的主流方案主要采用“备份”和“纠删码”两种方式。备份即是将数据复制为N份,并存放在不同的物理设备上,当出现数据失效的情况,则从剩余的数据备份中选取进行修复。这种方式虽然能够容忍任意N-1份数据失效,但是容易造成极大的存储开销。它的存储开销为原数据的N倍。相比于备份,纠删码具有更低的存储开销。纠删码主要由两个重要的参数进行设置,分别为k和m。其中(k,m)纠删码将原数据划分为k个数据块,并编码为m个校验块,从而任意k个数据块和校验块的组合都能恢复出原数据。由于纠删码技术具备较高的存储效率,因此越来越多的存储系统采用纠删码方案来保证数据可靠性。在纠删码中,依靠纠删码机制所确定相关性的k+m个数据块和校验块的集合构成一个“条带”。一般而言,纠删码存储系统在逻辑上可以看作是多个条带的组合
随着对磁盘失效研究的逐步深入,许多不同的调查研究工作纷纷指出,在所有磁盘失效事件中,单个磁盘失效事件所占比例为90%以上。与此同时,磁盘失效有可能具有相关性,即一个磁盘失效有可能会连带着影响其他磁盘失效。因此单盘失效修复的优化显得尤为重要。
然而,相关技术中的大部分单盘失效修复的优化方法具有一定缺陷,例如缺乏普适性,具有一定的局限性,无法实时高效地处理单个磁盘失效的情况等,尤其是未考虑针对寻道操作进行优化,易降低用户的使用体验。
本发明正是基于上述问题,而提出了一种用于单盘失效修复的优化方法与一种用于单盘失效修复的优化装置。
下面参照附图描述根据本发明实施例提出的用于单盘失效修复的优化方法及优化装置,首先将参照附图描述根据本发明实施例提出的用于单盘失效修复的优化方法。参照图1所示,该优化方法包括以下步骤:
S101,根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步数。
应理解,在本发明的实施例中,首先需要进行步骤S1:数据编码和分发存储。例如,步骤S1可以包括以下步骤:
S1.1,根据系统的可靠性需求和系统所接受的存储开销,选择满足系统容错需求和存储效率的纠删码方案。
S1.2,将待编码数据,根据纠删码的设定,划分为固定大小的数据块。
S1.3,根据纠删码的编码规则,对数据块进行编码,并生成校验块。
S1.4,将生成的数据块和校验块分发到不同的磁盘中进行存储。
具体而言,首先根据系统的容错需求和存储效率需求为系统提供相应的纠删码机制。例如,如果容错需求为1个磁盘失效,则可以选择使用RAID5编码。如果容错需求为2个磁盘失效,则可以选择相应的RAID6编码,如果容错需求为m>3,则采用Reed-Solomon码。其次,按照所选取纠删码的编码机制对存储的数据进行编码:首先数据将会划分为大小相等的数据块(在性能测试中,设置数据块和校验块的大小可以为4KB);其次按照所选取纠删码的编码规则,以相应的数据块为输入,并生成校验块;最后数据块和校验块都依照纠删码的规则而存放。参照图2所示,图2为存储系统在经过纠删码机制编码后的逻辑示意图,一个存储系统在逻辑上可以看作是多个条带的组合。进一步地,参照图3所示,图3给出了一种常用的RAID6编码——RDP码的编码示意图,其中该后面两列存放着两种类型的校验块,不同类型的校验块具有不同的编码计算方式。
在经过步骤S1之后,本发明实施例首先可以根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步数。
S102,获取多个条带中每个单条带中的失效数据的修复优化策略,以组合每个单条带中的失效数据的修复优化策略得到多个条带的初始修复策略。
进一步地,在本发明的一个实施例中,修复优化策略为根据纠删码的解码规则从单条带中按照期望读取数据量读取数据,以修复单条带中的失效数据。即言,采用当前的单条带修复优化方法,并根据纠删码的解码规则选择性地从该条带中读取数据,以修复单条带中的失效数据。
具体而言,当发生耽搁磁盘失效时,其次进行步骤S2:单盘失效修复初始方案寻找。例如,步骤S2可以包括以下步骤:
S2.1,当发生单个磁盘失效时,根据当前的负载情况给出在修复过程中所期望读取的数据量大小。
S2.2,根据当前的单条带级别的优化方法,针对每个条带得到修复该条带失效数据的优化方案,该优化方案的工作原理是根据纠删码的解码规则,从该条带中选择性地读取数据从而修复该条带中的失效数据。其中,采用的单条带级别的优化方法可以在多项式时间内寻找到接近最优的单条带级别修复方案。
S2.3,将每个条带所寻找到的修复方案进行组合,构成一个多条带的修复方案即初始修复策略。该修复方案满足了系统所给定的I/O大小的限制。
S103,根据期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,以根据最优修复策略进行单盘失效修复。
进一步地,在本发明的一个实施例中,根据期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,进一步包括:初始化禁忌列表为空集,其中,禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数;在每步迭代中,以初始修复策略作为当前最优的修复方案进行输入;以及在经过允许迭代步数之后,从禁忌列表中选取寻道数量最小的方案作为最优修复策略。
其中,在本发明的一个实施例中,其中,如果最优修复策略需要的数据量小于期望读取的数据量大小,则进行数据填充。
进一步地,在本发明的一个实施例中,寻道数量包括读取数据前的磁头旋转与准备次数,单条带为多个数据块与对应所生成的多个校验块的集合。
具体而言,上述初始修复策略仅在修复过程中所取回数据量进行了优化,却暂时未考虑寻道操作数量的优化,因此进行步骤S3:单盘失效修复初始方案优化。例如,步骤S3可以包括以下步骤:
S3.1,根据当前的负载情况,确定算法可允许的迭代步数t。
S3.2,根据禁忌搜索算法,首先初始化禁忌列表为空集,该禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数。如果在接下来的迭代过程中所试探的临时修复方案所需要的寻道次数在该禁忌列表中,则该临时修复方案将在该次迭代中不被考虑。引入禁忌列表的作用是规避之前所寻找到的局部最优修复方案,目的是引导着搜索过程向着全局最优修复方案靠近。
S3.3,在每步迭代中,以初始修复方案Rint作为当前最优的修复方案输入,其中如前所述,Rint初始化为步骤S2中所寻找到的单条带修复方案的组合,具体可以包括以下步骤:
S3.3.1,首先计算该初始修复方案所带来的寻道操作数量q(Rint),其中q(·)函数的作用是:给定一个修复方案,计算该修复方案所需要的寻道次数。
S3.3.2,由于纠删码中,每个校验块都是基于一部分数据块的内容而生成,因此构建了校验块和一些数据块的相关性,每个校验块和生成它所需要的数据块可以称为一个“校验链”。可以得出,对于一个数据块,根据纠删码的编码规则,它有可能加入到数个校验块的生成中,即拥有多条校验链。因此在这个步骤中,针对每个条带中的每个失效块,尝试采用该失效块的其他每一条可能的校验链进行修复,而每次尝试都会生成一个新的临时修复方案R′,其中R′包含了修复所有失效块所采用的校验链集合。
S3.3.3,计算该修复方案R′所需要取回的数据量,如果该方案所需要的数据量超过系统所允许读取的数据量,则需要对该方案在读取数据量的指标上进行重新优化,使得该方案所读取的数据量不多于系统所允许读取的数据量。该优化过程可以用当前已有的单条带级别的优化方法,对每个条带进行优化,从而使得优化后的方案能够达到系统对修复过程中读取数据量的限制。如果该方案所需要的数据量不多于系统所允许读取的数据量,则进入数据填充阶段。
S3.3.4,数据填充是在满足系统所允许读取的数据量的前提下,对修复方案所带来的寻道操作数量进行优化的一种方式。它的具体做法为首先得到该修复方案所需要读取的数据分布D′。在该数据分布中,对落于每个磁盘上的请求数据的物理间隔进行分析。如果两个请求顺序相邻近的数据块的物理位置不连续,则认为它们的读取需要造成额外的一个寻道操作,因此如果将该物理间隔内的数据随同这两个数据块一起读出,那么将减少一个寻道操作。基于这种思路,为了减少最多的寻道操作,对该方案的数据分布中所造成的物理间隔进行由小到大排序。因此对于填充后的修复方案,它不仅读取了修复方案所需数据,同时也由小到大读取出排序后的物理间隔中的数据,同时保证最后读取的数据总量不大于系统所允许读取的数据量大小。本发明实施例将填充后的修复方案记为F‘。
S3.3.5,记录填充后的数据分布的寻道操作数量q(F′)。如果则说明该寻道数量曾经作为局部最优方案的寻道数量被记录于中,因此跳过该方案。如果q(F′)且q(F′)<q(Rini),则将当前的最优的修复方案Rini替换为R′,并将当前最优的寻道数量q(Rini)更新为q(F′)。
S3.3.6,在尝试过所有失效数据块所可能被修复的校验链后,则将所记录的当前最优寻道数量q(Rini)记录于禁忌列表中,并以当前所寻找到的最优修复方案Rini为初始修复方案进入下一轮迭代。
S3.4,在该算法经过系统给定的迭代步数后,从禁忌列表中选取寻道数量最小的方案为最后所得到的最优修复方案,并按照该修复方案进行单盘失效修复。
具体而言,当出现磁盘失效时,首先确定失效磁盘的盘号;其次根据系统负载情况和修复系统服务的时间限制,给出修复该磁盘所能够允许读取的数据量大小和迭代步数;再次利用所涉及的贪心算法,对于每个失效块都尝试使用其所可能的校验链来修复,同时采用数据填充方案,并最后选择该迭代中满足系统对读取数据量需求下,寻道操作最少的方案。如此反复迭代搜索下去,直到所有的迭代步数完成。参照图4所示,假设系统所允许读取数据块个数为27,图4描绘了一次校验链替换且采用数据填充后的读取数据分布示意图。该修复方案不仅不多于系统所允许读取的数据量大小,并且比之前所找到的修复方案具有更少的寻道数量;最后系统按照所给定迭代步数里所寻找到的最优修复方案读取所需要的数据,并按照纠删码的解码规则进行数据修复。
本发明实施例的优化方法为一种新的单盘失效修复方法,该方法以禁忌搜索算法为基础,提出了一种复杂度为多项式时间的修复方案的搜索机制,从而保证了方案搜索中的高效性,并且还引入了禁忌列表以存放每次迭代中所寻找到的局部最优解,从而引导搜索过程向着全局最优解靠近,以及采用了数据填充的方法,在满足系统给定单盘失效修复所允许读取的数据量的前提下,进一步减少单盘修复过程中的寻道操作。
进一步地,通过使用当前业界提出的、且常用的几种纠删码技术,例如RDP码、X码、STAR码和CRS(CauchyReed-Solomon)码,从而测试本发明实施例的优化方法在使用以上纠删码技术进行数据可靠性保护时的单盘修复性能。其中,RDP码、X码和STAR码的构造都和素数p有关,其中RDP码中的一个条带所包含的磁盘数目为p+1,X码的一个条带所包含的磁盘数目为p,而STAR码的一个条带所包含的磁盘数目为p+3。
具体地,实验环境包括一台具有X5472处理器和8GB内存的Linux服务器和一台包含有15个磁盘的磁盘阵列。该服务器上运行的操作系统是SUSELinuxEnterpriseServer且文件系统为EXT3。该磁盘阵列包含了15个Seagate/Savvio磁盘,每个磁盘具有300GB的存储容量和10000转/分的磁盘转速。该服务器和磁盘阵列之间使用带宽为800MB/s的光纤相连。其中纠删码的编码实现是基于学术界广泛使用的开源软件包Jerasure1.2。
(一)不同纠删码下的寻道数量优化测试
参照图5所示,在测试中,针对采用不同纠删码的存储系统,随机删除某个磁盘上的数据,并调用单盘失效修复决策模块选择在不同迭代步数下所寻找到的最优修复方案,最后得到结果如图所示。可以看出,相比于传统优化方法,本发明实施例在所测试的四种纠删码上都能够显著减少寻道操作数量。例如,对于RDP码,本发明实施例可以减少多达65.1%的寻道操作;而对于STAR码,相比于传统优化方法,本发明实施例能够减少多达64.7%的寻道操作。
(二)单盘失效修复方案决策所需时间和最佳性对比
进一步测试了寻找最优修复方案所需要的时间。其中,选取了不同的纠删码方案,并测试了在条带数分别为1、2和3的情况下,在使用枚举方法和本发明实施例所提出的贪心算法所需要的时间,并比较了在这两种方法下所寻找出的最优方案的最佳性。其中最佳性定义为提出的算法寻找到的最佳修复方案所需寻道操作除以采用枚举方法所寻找到的最优方案所需要的寻道操作次数。最后得到的结果如表1所示。
表1
可以看出,本发明实施例提出的贪心算法能够达到接近于枚举算法的最佳性,但是所需要的运算时间却远远小于枚举算法。这也证明了本发明实施例具有很好的精度和高效性。
本发明实施例寻找到的最优修复方案所需的数据量和传统单盘优化方法的最优修复方案所需数据量的对比:
在测试中,测试了当本发明实施例的优化方法用于四种不同的纠删码时,其中对于RDP码,X码和STAR码,取素数p=11(在这三种编码中,素数主要用于设置其一个条带中所包括的磁盘个数)。对于CRS码,设置k=8,m=4。对于单盘失效修复过程中的读取数据量大小。主要测试三种单盘修复的方法,分别是本发明实施例的优化方法,传统的优化方法和未经过优化的方法。假设在实施本发明实施例的优化方法的过程中,系统所设置的允许读取数据量的上界比传统优化方法多5%,这个阈值可以随着系统的负载而自适应选择。其中为了易于表示,将未经过优化方法所读取的数据量标准化为1。结果如表2所示。
表2
纠删码 本发明 传统优化方法 未经优化方法
RDP码 0.81 0.77 1.00
X码 0.76 0.72 1.00
STAR码 0.76 0.72 1.00
CRS码 0.91 0.87 1.00
从结果中可以看出,本发明实施例的优化方法相比于未经优化的方法可以显著减少所修复过程中所读取的数据量。虽然相比于传统优化方法,本发明实施例的优化方法需要额外多读一些数据,但是该比例可以根据系统负载状况而调整。
综上所述,本发明实施例可以适用于任何基于XOR运算的纠删码,且能够于多条带的设定下,在多项式时间内寻找到接近最优的修复方案。该优化方法在系统给定所需读取数据量上界的限制条件下,首先在每个条带中计算得到单条带方案。该单条带方案的目的是在单条带上对所需读取的数据量进行优化,以满足系统所允许读取数据量的限定。其次,设计一种贪心算法,以现有的单条带方案为基础,组建一个多条带情况下的初始方案,通过纠删码解码规则的选择性变换,迭代地选择在满足系统允许读取数据量要求的情况下寻道次数最少的方案,并将该方案设置为下一次迭代的初始方案。最后,在满足一定的迭代步数后,将得到的方案作为最后选取的修复方案,即最优修复策略。
根据本发明实施例提出的用于单盘失效修复的优化方法,在多条带环境下考虑了单盘失效修复问题,不但对失效修复所读取的数据量大小进行了优化,而且对修复过程中所产生的寻道操作数量进行优化,加快了单盘失效修复过程,并且规避了以前许多工作所使用的具有NP困难计算复杂度的繁琐算法,而是以多项式时间内寻找到一种接近最优修复方案为原则进行修复方案决策,从而能够自适应于系统状况多变的异构环境,并能迅速寻找到适应于该环境下的接近最优的单盘失效修复方案,提高单盘失效修复效率,具有良好的普适性,更好地满足用户的使用需求,提高用户的使用体验,简单便捷。
其次参照附图描述根据本发明实施例提出的用于单盘失效修复的优化装置。参照图6所示,该优化装置10包括:获取模块100、组合模块200与优化模块300。
其中,获取模块100用于根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步数。组合模块200用于获取多个条带中每个单条带中的失效数据的修复优化策略,以组合每个单条带中的失效数据的修复优化策略得到多个条带的初始修复策略。优化模块300用于根据期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对初始修复策略进行进一步优化,从而得到寻道数量最少的最优修复策略,以根据最优修复策略进行单盘失效修复。本发明实施例的优化装置10在存储系统中实现了对单盘失效修复过程中对所需要读取的数据量和修复过程中产生寻道操作数量的双重优化,从而加速单盘失效修复过程。
进一步地,在本发明的一个实施例中,修复优化策略为根据纠删码的解码规则从单条带中按照期望读取的数据量大小读取数据,以修复单条带中的失效数据。
进一步地,在本发明的一个实施例中,优化模块300进一步用于:初始化禁忌列表为空集,其中,禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数;在每步迭代中,以初始修复策略作为当前最优的修复方案进行输入;以及在经过允许迭代步数之后,从禁忌列表中选取寻道数量最小的方案作为最优修复策略。
进一步地,在本发明的一个实施例中,其中,如果最优修复策略需要的数据量小于期望读取的数据量大小,则进行数据填充。
进一步地,在本发明的一个实施例中,寻道数量为读取数据前的磁头旋转与准备操作次数,单条带为多个数据块与对应所生成的多个校验块的集合。
应理解,根据本发明实施例的用于单盘失效修复的优化装置的具体实现过程可与本发明实施例的用于单盘失效修复的优化方法的工作流程相同,此处不再详细描述。
根据本发明实施例提出的用于单盘失效修复的优化装置,在多条带环境下考虑了单盘失效修复问题,不但对失效修复所读取的数据量大小进行了优化,而且对修复过程中所产生的寻道操作数量进行优化,加快了单盘失效修复过程,并且规避了以前许多工作所使用的具有NP困难计算复杂度的繁琐算法,而是以多项式时间内寻找到一种接近最优修复方案为原则进行修复方案决策,从而能够自适应于系统状况多变的异构环境,并能迅速寻找到适应于该环境下的接近最优的单盘失效修复方案,提高单盘失效修复效率,具有良好的普适性,更好地满足用户的使用需求,提高用户的使用体验,简单便捷。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种用于单盘失效修复的优化方法,其特征在于,包括以下步骤:
根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步数;
获取多个条带中每个单条带中的失效数据的修复优化策略,以组合所述每个单条带中的失效数据的修复优化策略得到所述多个条带的初始修复策略;以及
根据所述期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对所述初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,以根据所述最优修复策略进行单盘失效修复。
2.根据权利要求1所述的用于单盘失效修复的优化方法,其特征在于,所述修复优化策略为根据纠删码的解码规则从单条带中按照所述期望数据量读取数据,以修复所述单条带中的失效数据。
3.根据权利要求1所述的用于单盘失效修复的优化方法,其特征在于,所述根据所述期望读取数据量与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对所述初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,进一步包括:
初始化禁忌列表为空集,其中,所述禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数;
在每步迭代中,以所述初始修复策略作为当前最优的修复方案进行输入;以及
在经过所述允许迭代步数之后,从所述禁忌列表中选取寻道数量最小的方案作为所述最优修复策略。
4.根据权利要求3所述的用于单盘失效修复的优化方法,其特征在于,其中,如果所述最优修复策略需要的数据量小于所述期望读取的数据量大小,则进行数据填充。
5.根据权利要求1所述的用于单盘失效修复的优化方法,其特征在于,所述寻道数量包括读取数据前的磁头旋转与准备次数,所述单条带为多个数据块与对应所生成的多个校验块的集合。
6.一种用于单盘失效修复的优化装置,其特征在于,包括:
获取模块,用于根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步数;
组合模块,用于获取多个条带中每个单条带中的失效数据的修复优化策略,以组合所述每个单条带中的失效数据的修复优化策略得到所述多个条带的初始修复策略;以及
优化模块,用于根据所述期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对所述初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,以根据所述最优修复策略进行单盘失效修复。
7.根据权利要求6所述的用于单盘失效修复的优化装置,其特征在于,所述修复优化策略为根据纠删码的解码规则从单条带中按照所述期望读取的数据量大小读取数据,以修复所述单条带中的失效数据。
8.根据权利要求6所述的用于单盘失效修复的优化装置,其特征在于,所述优化模块进一步用于:
初始化禁忌列表为空集,其中,所述禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数;
在每步迭代中,以所述初始修复策略作为当前最优的修复方案进行输入;以及
在经过所述允许迭代步数之后,从所述禁忌列表中选取寻道数量最小的方案作为所述最优修复策略。
9.根据权利要求8所述的用于单盘失效修复的优化装置,其特征在于,其中,如果所述最优修复策略需要的数据量小于所述期望读取数据量,则进行数据填充。
10.根据权利要求6所述的用于单盘失效修复的优化装置,其特征在于,所述寻道数量为读取数据前的磁头旋转与准备操作次数,所述单条带为多个数据块与对应所生成的多个校验块的集合。
CN201510623058.6A 2015-09-25 2015-09-25 用于单盘失效修复的优化方法及优化装置 Active CN105159618B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510623058.6A CN105159618B (zh) 2015-09-25 2015-09-25 用于单盘失效修复的优化方法及优化装置
US14/980,571 US10048999B2 (en) 2015-09-25 2015-12-28 Method and apparatus for optimizing recovery of single-disk failure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510623058.6A CN105159618B (zh) 2015-09-25 2015-09-25 用于单盘失效修复的优化方法及优化装置

Publications (2)

Publication Number Publication Date
CN105159618A true CN105159618A (zh) 2015-12-16
CN105159618B CN105159618B (zh) 2018-08-28

Family

ID=54800492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510623058.6A Active CN105159618B (zh) 2015-09-25 2015-09-25 用于单盘失效修复的优化方法及优化装置

Country Status (2)

Country Link
US (1) US10048999B2 (zh)
CN (1) CN105159618B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358980A (zh) * 2018-09-25 2019-02-19 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN111614720A (zh) * 2020-04-13 2020-09-01 厦门大学 针对集群存储系统单点失效修复的跨集群流量优化方法
CN111679793A (zh) * 2020-06-16 2020-09-18 成都信息工程大学 一种基于star码的单盘故障快速恢复方法
CN112256478A (zh) * 2020-10-16 2021-01-22 山东云海国创云计算装备产业创新中心有限公司 一种单磁盘故障的修复方法、系统、设备及存储介质
CN112463435A (zh) * 2020-12-07 2021-03-09 广东工业大学 一种基于数据块访问频度的局部修复方法
CN117075821A (zh) * 2023-10-13 2023-11-17 杭州优云科技有限公司 一种分布式存储方法、装置、电子设备及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159618B (zh) * 2015-09-25 2018-08-28 清华大学 用于单盘失效修复的优化方法及优化装置
US10061691B2 (en) * 2016-09-08 2018-08-28 Toshiba Memory Corporation Write data optimization methods for non-volatile semiconductor memory devices
CN110058785B (zh) 2018-01-18 2022-07-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US11175986B1 (en) * 2020-07-01 2021-11-16 International Business Machines Corporation Storage systems implementing offset erasure code stripes
US11734117B2 (en) * 2021-04-29 2023-08-22 Vast Data Ltd. Data recovery in a storage system
CN113204450A (zh) * 2021-05-27 2021-08-03 济南浪潮数据技术有限公司 基于遗传算法的数据重构自动调参方法、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521067A (zh) * 2011-12-01 2012-06-27 华中科技大学 优化部分条带写性能的raid-6编码和重构方法
US20130132800A1 (en) * 2011-11-22 2013-05-23 Simplivity Corporation Method and apparatus for allocating erasure coded data to disk storage

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2369206B (en) * 2000-11-18 2004-11-03 Ibm Method for rebuilding meta-data in a data storage system and a data storage system
US8326669B2 (en) * 2007-04-19 2012-12-04 International Business Machines Corporation System and method for selecting and scheduling corrective actions for automated storage management
US20100218037A1 (en) * 2008-09-16 2010-08-26 File System Labs Llc Matrix-based Error Correction and Erasure Code Methods and Apparatus and Applications Thereof
US10366180B2 (en) * 2010-03-15 2019-07-30 Bentley Systems, Inc. Computer-implemented land planning system and method with automated parking area design tools
CN104683405B (zh) * 2013-11-29 2018-04-17 国际商业机器公司 在车联网中集群服务器分发地图匹配任务的方法和装置
US9595979B2 (en) * 2015-01-20 2017-03-14 International Business Machines Corporation Multiple erasure codes for distributed storage
CN105159618B (zh) * 2015-09-25 2018-08-28 清华大学 用于单盘失效修复的优化方法及优化装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132800A1 (en) * 2011-11-22 2013-05-23 Simplivity Corporation Method and apparatus for allocating erasure coded data to disk storage
CN102521067A (zh) * 2011-12-01 2012-06-27 华中科技大学 优化部分条带写性能的raid-6编码和重构方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
LIPING XIANG ET AL.: "a hybrid approach to failed disk recovery using RAID-6 codes: algorithms and performance evaluation", 《ACM TRANSACTION ON STORAGE》 *
LIPING XIANG ET AL.: "optimal recovery of single disk failure in RDP code storage systems", 《PROCEEDING OF THE 2010 ACM SIGMETRICS INTERNATIONAL CONFERENCE ON MEASUREMENT AND MODELING OF COMPUTER SYSTEMS》 *
SILEI XU ET AL.: "single disk failure recovery for X-code-based parallel storage systems", 《IEEE TRANSACTION ON COMPUTERS》 *
XIONGHONG LUO ET AL.: "load-balanced recovery schemes for single-disk faiure in storage systems with any erasure code", 《INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING》 *
YUNFENG ZHU ET AL.: "on the speedup of single-disk failure recovery in xor-coded storage systems:theory and practice", 《MASS STORAGE SYSTEMS AND TECHNOLOGIES》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109358980A (zh) * 2018-09-25 2019-02-19 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN109358980B (zh) * 2018-09-25 2022-03-01 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN111614720A (zh) * 2020-04-13 2020-09-01 厦门大学 针对集群存储系统单点失效修复的跨集群流量优化方法
CN111614720B (zh) * 2020-04-13 2022-02-18 厦门大学 针对集群存储系统单点失效修复的跨集群流量优化方法
CN111679793A (zh) * 2020-06-16 2020-09-18 成都信息工程大学 一种基于star码的单盘故障快速恢复方法
CN111679793B (zh) * 2020-06-16 2023-03-14 成都信息工程大学 一种基于star码的单盘故障快速恢复方法
CN112256478A (zh) * 2020-10-16 2021-01-22 山东云海国创云计算装备产业创新中心有限公司 一种单磁盘故障的修复方法、系统、设备及存储介质
CN112463435A (zh) * 2020-12-07 2021-03-09 广东工业大学 一种基于数据块访问频度的局部修复方法
CN117075821A (zh) * 2023-10-13 2023-11-17 杭州优云科技有限公司 一种分布式存储方法、装置、电子设备及存储介质
CN117075821B (zh) * 2023-10-13 2024-01-16 杭州优云科技有限公司 一种分布式存储方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US10048999B2 (en) 2018-08-14
US20170091018A1 (en) 2017-03-30
CN105159618B (zh) 2018-08-28

Similar Documents

Publication Publication Date Title
CN105159618A (zh) 用于单盘失效修复的优化方法及优化装置
US9280416B1 (en) Selection of erasure code parameters for no data repair
CN108540520B (zh) 基于部分重复码的局部性修复编码及节点故障修复方法
US9304860B2 (en) Arranging data handling in a computer-implemented system in accordance with reliability ratings based on reverse predictive failure analysis in response to changes
US9823969B2 (en) Hierarchical wide spreading of distributed storage
CN1862500B (zh) 用于数据存储的系统和方法
CN104471546B (zh) 用于提高固态硬盘可靠性的有效的磁盘冗余阵列技法
US8566673B2 (en) Method for improving performance in RAID systems
US9846613B2 (en) Efficient high/low energy zone solid state device data storage
CN101937374B (zh) 存储存储器重映射信息的非易失性存储器
CN103944981B (zh) 一种基于纠删码技术改进的云存储系统及实现方法
US20150355971A1 (en) Failure domain based storage system data stripe layout
US9916478B2 (en) Data protection enhancement using free space
US20090265360A1 (en) Dynamically Quantifying and Improving the Reliability of Distributed Data Storage Systems
US20150012701A1 (en) Redundant array of independent disks (raid) system backup management
CN110442535B (zh) 提高分布式固态盘键值缓存系统可靠性的方法及系统
US11218174B2 (en) Method and system for storing data locally repairable and efficient multiple encoding
CN102520890B (zh) 基于gpu的rs-draid系统及存储设备数据控制方法
CN105956128B (zh) 一种基于简单再生码的自适应编码存储容错方法
CN103336785A (zh) 一种基于网络编码的分布式存储方法及其装置
CN105353974B (zh) 一种适用于磁盘阵列及分布式存储系统的二容错编码方法
CN104503781A (zh) 硬盘的固件升级方法和存储系统
CN109445681A (zh) 数据的存储方法、装置和存储系统
CN102789370B (zh) 一种raid阵列同步方法及装置
CN103530206A (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
GR01 Patent grant
GR01 Patent grant