使用奇偶校验代码的数据恢复和再生制造技术

技术编号:20025235 阅读:22 留言:0更新日期:2019-01-06 04:17
公开的技术可以有利地提供有效数据恢复系统,该有效数据恢复系统包括包含第一存储节点和第二存储节点的多个存储节点,以及耦合到存储节点并管理存储节点上的数据的存储的存储逻辑。存储逻辑可运行以:接收包括数据元素的数据集合,该数据集合包括与第一存储节点相关联的数据元素的第一集合和与第二存储节点相关联的数据元素的第二集合;生成数据集合的第一奇偶校验,第一奇偶校验包括包含水平奇偶校验条目的集合的水平奇偶校验;以及组合来自数据集合的数据元素以产生包括跳过者奇偶校验条目的集合的跳过者奇偶校验。组合数据元素包括:使用可逆操作变换来自数据集合的数据元素的子集,水平奇偶校验条目的集合不同于跳过者奇偶校验条目的集合。

【技术实现步骤摘要】
使用奇偶校验代码的数据恢复和再生
本公开涉及数据恢复和/或再生。
技术介绍
当数据被传输、处理、和/或储存在存储器中,数据可能经常被损坏。奇偶校验位经常被用来验证数据的完整性以保证不会损坏。由于过去若干年中正在被处理和储存的数据量已经急剧地增加,并且只是在加速,特别是在诸如企业存储和云应用的大型存储应用中,所以要求的奇偶校验检查量正在以相应的速率上升。然而,常规的奇偶校验检查算法经常要求增加地显著的计算和存储要求,并且不能以可接受的速率缩放。当使用先前计算的奇偶校验信息执行丢失的数据重构时,以上问题进一步恶化,因为使用常规的奇偶校验重构技巧,特别是在存储设备故障的事件中,对于准确地重构数据的要求是繁琐的且计算上昂贵的。作为进一步的示例,对于在过去的十年左右,术语“再生代码”已经有时在编码理论界被用于描述代码构建,该代码构建专注于被要求以修复一个或多个故障(1个故障、2个故障等,取决于容许多少故障)的修复通信量(数据)的量。例如,总共存在具有每个1太字节(terabyte,TB)的10个用户节点和每个1TB的2个奇偶校验节点的12TB。在前解决方案经常使用传统的ReedSolomon代码用于错误纠正,并且将容许多达2个节点故障。在1个节点故障的情况下,通信量将是10TB(具有用户数据的9个幸存节点和1个奇偶校验节点),因此相对于原始的10个用户节点的大小没有提供通信量节省。在2次故障的情况下,通信量将是相同的10TB。
技术实现思路
根据本公开中的主题的一个创新方面,系统包括数据存储系统,该数据存储系统包括包含第一存储节点和第二存储节点的多个存储节点,以及耦合到存储节点并管理存储节点上的数据的存储的存储逻辑。存储逻辑可运行以:接收包括数据元素的数据集合,该数据元素包括与第一存储节点相关联的数据元素的第一集合和与第二存储节点相关联的数据元素的第二集合;生成数据集合的第一奇偶校验,第一奇偶校验包括包含水平奇偶校验条目的集合的水平奇偶校验;以及组合来自数据集合的数据元素以产生包括跳过者奇偶校验条目的集合的跳过者奇偶校验。组合数据元素包括:使用可逆(invertible)操作变换来自数据集合的数据元素的子集,水平奇偶校验条目的集合不同于跳过者(skipper)奇偶校验条目的集合。通常,本公开中描述的主题的另一创新方面可以用包括以下各项的方法来实施:接收包括数据元素的数据集合,该数据元素包括与第一存储节点相关联的数据元素的第一集合和与第二存储节点相关联的数据元素的第二集合;生成数据集合的第一奇偶校验,第一奇偶校验包括包含水平奇偶校验条目的集合的水平奇偶校验;以及组合来自数据集合的数据元素以产生包括跳过者奇偶校验条目的集合的跳过者奇偶校验,组合数据元素包括:使用可逆操作变换来自数据集合的数据元素的子集,水平奇偶校验条目的集合不同于跳过者奇偶校验条目的集合。这些方面中的一个或多个的其它实施方式包括相应的系统、装置、和计算机程序、以及其它方面。这些和其它方面可以被配置为执行编码在计算机存储设备上的方法的动作。这些和其它实施方式可以每个可选地包括以下特征和/或操作中的一个或多个:可逆操作包括移位操作和XOR操作中的一个;存储逻辑进一步可运行以接收对从第一奇偶校验和跳过者奇偶校验重建第一存储节点的数据元素的第一集合的请求;第一存储节点是故障的存储节点;存储逻辑进一步可运行以响应于接收对重建数据元素的第一集合的请求,检索(retrieve)数据元素的第二集合、第一奇偶校验、和跳过者奇偶校验,以及基于数据元素的第二集合、第一奇偶校验、和跳过者奇偶校验来重建数据元素的第一集合;存储逻辑进一步可运行以响应于接收对重建数据元素的第一集合的请求,确定对于重建对于数据元素的第一集合的数据需要的第二存储节点的数据元素,所需要的数据元素包括数据元素的第二集合的子集,确定需要的第一奇偶校验的水平奇偶校验条目和需要的跳过者奇偶校验的跳过者奇偶校验条目,以及基于需要的第二存储节点的数据元素和确定的奇偶校验条目来重建数据元素的第一集合;需要的第二存储节点的数据元素包括数据元素的第二集合的至少一半和少于全部;组合来自数据集合的数据元素以产生跳过者奇偶校验包括使用预定义规则来确定跳过者奇偶校验矩阵中的某跳过者奇偶校验数据元素的位置;接收对从第一奇偶校验和跳过者奇偶校验重建第一存储节点的数据元素的第一集合的请求;响应于接收对重建数据元素的第一集合的请求,检索数据元素的第二集合、第一奇偶校验、和跳过者奇偶校验;基于数据元素的第二集合、第一奇偶校验、和跳过者奇偶校验来重建数据元素的第一集合;响应于接收对重建数据元素的第一集合的请求,确定对于重建对于C数据元素的第一集合的数据需要的第二存储节点的数据元素,所需要的数据元素包括数据元素的第二集合的子集;确定需要的第一奇偶校验的水平奇偶校验条目和需要的跳过者奇偶校验的跳过者奇偶校验条目;以及基于需要的第二存储节点的数据元素和确定的奇偶校验条目来重建数据元素的第一集合。这些实施方式在若干方面中是特别有利的。例如,当存在一个故障的内容储存时,仅需要剩余数据的一半来使用第一和第二奇偶校验重建对于故障内容储存的数据。另外,奇偶校验数据的构建保证了当在内容中存在一个数据元素的更新时,对第一和第二奇偶校验的更新仅要求对于第一和第二奇偶校验中的每一个更新一个条目。另外,至于在涉及10个用户节点和2个奇偶校验节点的
技术介绍
中描述的示例,在这些相同节点上的跳过者代码实施方式可以实质上减少在单个节点故障的情况下所需要的修复通信量的量。为了说明,如果1个用户节点故障,则然后可以接触所有幸存(9个用户和2个奇偶校验)节点,并且每一个幸存节点传送其数据的一半,达以上描述的在前解决方案的11×0.5TB=5.5TB(与10TB相比)的总通信量。因此,不像
技术介绍
的在前解决方案,对于单个节点故障,跳过者代码是最优的再生代码,其可以提供要求通信量的更少(典型地最少)量的代码构建。应该理解,本公开中使用的语言已经为了可读性和指导的目的而被主要地选择,并且不限制本文公开的主题的范围。附图说明在附图的图中通过示例的方式而非通过限制的方式示出了本公开,其中相同的参考标号用于指代类似的元素。图1是示出示例数据恢复系统的高级框图。图2是示出存储逻辑的示例的框图。图3A是示出使用可逆操作来生成跳过者奇偶校验的示例过程的图形表示。图3B是示出示例跳过者奇偶校验恢复操作的图形表示。图4A至图4C是示出示例跳过者奇偶校验的生成和利用的示图。图5是示出示例跳过者奇偶校验的图形表示的框图。图6是示例内容储存和相应的奇偶校验的示例图形表示。图7A是用于生成跳过者奇偶校验的示例方法的流程图。图7B是用于确定奇偶校验条目的示例方法的流程图。图8是示出对于内容储存故障的示例数据恢复过程的示图。图9是示出对于内容储存故障的进一步示例数据恢复过程的示图。图10是用于重建对于(多个)故障的内容储存的数据的示例方法的流程图。图11是示出对于两个内容储存故障的示例数据恢复过程的示图。图12和图13示出如何使用水平和跳过者奇偶校验来修复不可访问的数据元素。图14是用于重建对于两个故障的内容储存的数据的示例方法的流程图。具体实施方式以下描述用于实施恢复最优奇偶校验代码的技术。虽然在本文档来自技高网
...

【技术保护点】
1.一种数据存储系统,包括:多个存储节点,其包括第一存储节点和第二存储节点;和存储逻辑,其被耦合到所述多个存储节点并且管理多个存储节点上的数据的存储,所述存储逻辑可运行以:接收包括数据元素的数据集合,所述数据集合包括与第一存储节点相关联的数据元素的第一集合和与第二存储节点相关联的数据元素的第二集合;生成数据集合的第一奇偶校验,所述第一奇偶校验包括包含水平奇偶校验条目的集合的水平奇偶校验;以及通过使用可逆操作变换来自数据集合的数据元素的子集,组合来自数据集合的数据元素以产生包括跳过者奇偶校验条目的集合的跳过者奇偶校验,所述水平奇偶校验条目的集合不同于所述跳过者奇偶校验条目的集合。

【技术特征摘要】
2017.06.16 US 15/626,0271.一种数据存储系统,包括:多个存储节点,其包括第一存储节点和第二存储节点;和存储逻辑,其被耦合到所述多个存储节点并且管理多个存储节点上的数据的存储,所述存储逻辑可运行以:接收包括数据元素的数据集合,所述数据集合包括与第一存储节点相关联的数据元素的第一集合和与第二存储节点相关联的数据元素的第二集合;生成数据集合的第一奇偶校验,所述第一奇偶校验包括包含水平奇偶校验条目的集合的水平奇偶校验;以及通过使用可逆操作变换来自数据集合的数据元素的子集,组合来自数据集合的数据元素以产生包括跳过者奇偶校验条目的集合的跳过者奇偶校验,所述水平奇偶校验条目的集合不同于所述跳过者奇偶校验条目的集合。2.如权利要求1所述的数据存储系统,其中所述可逆操作包括移位操作和异或(XOR)操作中的一个。3.如权利要求1所述的数据存储系统,其中所述存储逻辑还可运行以:接收对从第一奇偶校验和跳过者奇偶校验重建数据元素的第一集合的请求。4.如权利要求3所述的数据存储系统,其中所述第一存储节点是故障的存储节点。5.如权利要求3所述的数据存储系统,其中所述存储逻辑还可运行以:响应于接收对重建数据元素的第一集合的请求,检索数据元素的第二集合、第一奇偶校验、和跳过者奇偶校验;以及基于数据元素的第二集合、第一奇偶校验、和跳过者奇偶校验来重建数据元素的第一集合。6.如权利要求3所述的数据存储系统,其中所述存储逻辑还可运行以:响应于接收对重建数据元素的第一集合的请求,确定对于重建对于数据元素的第一集合的数据需要的第二存储节点的数据元素,所需要的数据元素包括数据元素的第二集合的子集;确定需要的第一奇偶校验的水平奇偶校验条目和需要的跳过者奇偶校验的跳过者奇偶校验条目;以及基于需要的第二存储节点的数据元素和确定的奇偶校验条目来重建数据元素的第一集合。7.如权利要求6所述的数据存储系统,其中所需要的第二存储节点的数据元素包括所述数据元素的第二集合的至少一半和少于全部。8.如权利要求1所述的数据存储系统,其中,其中组合来自数据集合的数据元素以产生跳过者奇偶校验包括,使用预定义规则来确定跳过者奇偶校验矩阵中的某跳过者奇偶校验数据元素的位置。9.一种计算机实施的方法,包括:接收包括数据元素的数据集合,所述数据元素包括与第一存储节点相关联的数据元素的第一集合和与第二存储节点相关联的数据元素的第二集合;生成数据集合的第一奇偶校验,所述第一奇偶校验包括包含水平奇偶校验条目的集合的水平奇偶校验;以及组合来自数据集合的数据元...

【专利技术属性】
技术研发人员:RE马蒂斯库C盖约特L帕米斯华雷斯
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1