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

文档序号:8942778阅读:329来源:国知局
用于单盘失效修复的优化方法及优化装置的制造方法
【技术领域】
[0001] 本发明涉及存储可靠性技术领域,特别涉及一种用于单盘失效修复的优化方法及 优化装置。
【背景技术】
[0002] 在存储系统中,所应用的纠删码主要由两个重要的参数进行设置,分别为k和m。 其中(k,m)纠删码将原数据划分为k个数据块,并编码为m个校验块,从而任意k个数据块 和校验块的组合都能恢复出原数据。由于纠删码技术具备较高的存储效率,因此越来越多 的存储系统采用纠删码方案来保证数据可靠性。在纠删码中,依靠纠删码机制所确定相关 性的这k+m个数据块和校验块的集合构成一个"条带"。一般而言,纠删码存储系统在逻辑 上可以看作是多个条带的组合。
[0003] 在纠删码存储系统中,针对单盘失效修复的优化方法的主要目的都是为了减少读 取数据量(或者称为磁盘I/O),从而达到快速修复的目的。
[0004] 然而,在磁盘中,为了读取所需要的数据量,磁头需要旋转到该数据所在的位置 后,再进行数据读取。在读取所需数据前的磁头旋转和准备阶段,通常称之为"寻道操作"。 由于机械硬盘的特性,寻道操作是一个开销极大的操作,并且也是当前磁盘随机访问性能 无法得到突破的瓶颈所在。现有对单盘失效进行优化的工作主要着重于减少失效修复所需 要读取的数据量大小,却忽视了在优化修复过程中有可能带来的寻道次数增加的不足,而 不断增多的寻道次数又将延长修复所需要的时间。因此,如何权衡单盘失效修复所需要读 取的数据量和寻道操作数量是一个十分重要的问题。
[0005] 相关技术中的单盘失效修复优化虽然能够显著减少修复过程中从剩余磁盘所读 取的数据量,但是依然存在着许多的不足。举例而言,首先,有的单盘失效修复优化方法只 能针对特定的纠删码,例如RDP码和X码,这两种编码是典型的RAID6码,即只能容忍两个 磁盘失效,缺乏一定的普适性;其次,有的单盘失效修复优化方法虽然具有良好的普适性, 即适用于任何基于XOR运算的纠删码,但是在寻找最优修复方案的算法是NP困难问题,其 虽然可以在同构环境下,通过事先保存最优方案的方法使用,但是针对系统环境多变的异 构场景下,由于需要较长的计算时间寻找最优修复方案,导致无法实时高效地处理单个磁 盘失效的情况;再次,有的单盘失效优化方法虽然能够在多项式时间内寻找一种接近于理 论最优的修复方案,但是只考虑了单条带的场景,而实际存储系统在经过纠删码编码后在 逻辑上应该是多条带的独立组合,因此具有一定的局限性。另外,最重要的是,相关技术中 的大部分单盘失效修复的优化方法都未考虑针对寻道操作进行优化,有待改进。

【发明内容】

[0006] 本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
[0007] 为此,本发明的一个目的在于提出一种用于单盘失效修复的优化方法,该方法可 以对寻道操作数量进行优化,简单便捷。
[0008] 本发明的另一个目的在于提出一种用于单盘失效修复的优化装置。
[0009] 为达到上述目的,本发明一方面实施例提出了一种用于单盘失效修复的优化方 法,包括以下步骤:根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允 许迭代步数;获取多个条带中每个单条带中的失效数据的修复优化策略,以组合所述每个 单条带中的失效数据的修复优化策略得到所述多个条带的初始修复策略;以及根据所述期 望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪心算法对所述初始修 复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,以根据所述最优修复策 略进行单盘失效修复。
[0010] 根据本发明实施例提出的用于单盘失效修复的优化方法,在多条带环境下考虑了 单盘失效修复问题,不但对失效修复所读取的数据量大小进行了优化,而且对修复过程中 所产生的寻道操作数量进行优化,加快了单盘失效修复过程,提高单盘失效修复效率,具有 良好的普适性,更好地满足用户的使用需求,提高用户的使用体验,简单便捷。
[0011]另外,根据本发明上述实施例的用于单盘失效修复的优化方法还可以具有如下附 加的技术特征:
[0012] 进一步地,在本发明的一个实施例中,所述修复优化策略为根据纠删码的解码规 则从单条带中按照所述期望读取的数据量大小读取数据,以修复所述单条带中的失效数 据。
[0013] 进一步地,在本发明的一个实施例中,根据所述期望读取的数据量大小与允许迭 代步数,并通过基于禁忌搜索算法的贪心算法对初始修复策略进行进一步优化,进而得到 寻道数量最少的最优修复策略,进一步包括:初始化禁忌列表为空集,其中,所述禁忌列表 存放着每次迭代所寻找到的最优解所需要的寻道次数;在每步迭代中,以所述初始修复策 略作为当前最优的修复方案进行输入;以及在经过所述允许迭代步数之后,从所述禁忌列 表中选取寻道数量最小的方案作为所述最优修复策略。
[0014] 进一步地,在本发明的一个实施例中,其中,如果所述最优修复策略需要的数据量 小于所述期望读取的数据量大小,则进行数据填充。
[0015] 进一步地,在本发明的一个实施例中,所述寻道数量包括读取数据前的磁头旋转 与准备次数,所述单条带为多个数据块与对应所生成的多个校验块的集合。
[0016] 本发明另一方面实施例提出了一种用于单盘失效修复的优化装置,包括:获取模 块,用于根据纠删码存储系统的当前负载信息得到期望读取的数据量大小与允许迭代步 数;组合模块,用于获取多个条带中每个单条带中的失效数据的修复优化策略,以组合所述 每个单条带中的失效数据的修复优化策略得到所述多个条带的初始修复策略;以及优化模 块,用于根据所述期望读取的数据量大小与允许迭代步数,并通过基于禁忌搜索算法的贪 心算法对所述初始修复策略进行进一步优化,进而得到寻道数量最少的最优修复策略,以 根据所述最优修复策略进行单盘失效修复。
[0017] 根据本发明实施例提出的用于单盘失效修复的优化装置,在多条带环境下考虑了 单盘失效修复问题,不但对失效修复所读取的数据量大小进行了优化,而且对修复过程中 所产生的寻道操作数量进行优化,加快了单盘失效修复过程,提高单盘失效修复效率,具有 良好的普适性,更好地满足用户的使用需求,提高用户的使用体验,简单便捷。
[0018] 另外,根据本发明上述实施例的用于单盘失效修复的优化装置还可以具有如下附 加的技术特征:
[0019] 进一步地,在本发明的一个实施例中,所述修复优化策略为根据纠删码的解码规 则从单条带中按照所述期望读取的数据量大小读取数据,以修复所述单条带中的失效数 据。
[0020] 进一步地,在本发明的一个实施例中,所述优化模块进一步用于:初始化禁忌列表 为空集,其中,所述禁忌列表存放着每次迭代所寻找到的最优解所需要的寻道次数;在每步 迭代中,以所述初始修复策略作为当前最优的修复方案进行输入;以及在经过所述允许迭 代步数之后,从所述禁忌列表中选取寻道数量最小的方案作为所述最优修复策略。
[0021 ] 进一步地,在本发明的一个实施例中,其中,如果所述最优修复策略需要的数据量 小于所述期望读取的数据量大小,则进行数据填充。
[0022] 进一步地,在本发明的一个实施例中,所述寻道数量为读取数据前的磁头旋转与 准备操作次数,所述单条带为多个数据块与对应所生成的多个校验块的集合。
[0023] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。
【附图说明】
[0024] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变 得明显和容易理解,其中:
[0025] 图1为根据本发明实施例的用于单盘失效修复的优化方法的流程图;
[0026] 图2为根据本发明一个实施例的存储系统在经过纠删码机制编码后的逻辑示意 图;
[0027] 图3为根据本发明一个实施例的RDP码的编码示意图(单条带);
[0028] 图4为根据本发明一个实施例的校验链替换和数据填充示意图;
[0029] 图5为根据本发明一个实施例的不同迭代步数下的寻道数量变化示意图;以及
[0030] 图6为根据本发明一个实施例的用于单盘失效修复的优化装置的结构示意图。
【具体实施方式】
[0031] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0032] 此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性 或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或 者隐含地包括一个或者更多个该特征。在本发明的描述中,"多个"的含义是两个或两个以 上,除非另有明确具体的限定。
[0033] 在本发明中,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"、"固定"等 术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机 械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元 件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发 明中的具体含义。
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1