允许各种规模存储装置的动态可扩展和可收缩的容错存储系统和方法制造方法及图纸

技术编号:2835470 阅读:156 留言:0更新日期:2012-04-11 18:40
一种允许各种规模的存储装置的动态地可扩展和可收缩的容错存储系统。如果可能的话,就冗余地跨一个或多个存储装置存储数据。随着存储装置的添加或删除,自动再配置跨一个或多个存储装置的数据布局,以尽可能地为数据提供适当级别的冗余。可以采用基于散列函数的压缩技术,从而降低存储器的消耗。还公开了释放未使用存储块的技术。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数字数据存储系统和方法,更具体地涉及那些提供容错存储的系统和方法。
技术介绍
已知现有技术依照根据各种RAID(独立磁盘冗余阵列)协议的任何一种的模式来提供冗余磁盘存储器。使用RAID模式的典型磁盘阵列是需要由经验丰富的信息技术人员来管理的复杂结构。而且在许多使用RAID模式的阵列设计中,如果所述阵列中的各磁盘驱动器是非均匀容量的,那么该设计可能不能够使用超过该阵列中最小驱动器容量的驱动器上的任何容量。使用标准RAID系统的一个问题是盘面损坏可能发生在磁盘阵列中不经常使用的区域。在另一个驱动器故障的情况下,并不总是能确定发生了损坏。在这种情况下,当所述RAID阵列重构所述故障驱动器时,损坏的数据可能被传播和保存。在许多存储系统中,按就绪状态(ready state)维持备用存储设备,使得其可以在另一个存储设备故障时被使用。这种备用存储设备通常被称作“热后备”。所述热后备在存储设备常规操作期间并不用于存储数据。当运行的存储设备故障时,该故障存储设备由该热后备逻辑上替换,而且要移动数据或者通过其他方式在所述热后备上再产生数据。当修复或者更换所述故障存储设备时,典型地要移动数据或者通过其他方式在(重新)运行的存储设备上重新产生这些数据,而且使所述热后备脱机,以准备好在另一个故障事件中使用。热后备的维护通常是复杂的,并因此通常由经验丰富的管理者进行操纵。热后备磁盘同样代表着附加费用。
技术实现思路
本专利技术的第一实施例提供了一种方法,用于在包括至少一个存储装置的存储装置组中存储数据。所述方法包括根据多种冗余模式自动确定一种混合冗余模式,用于在该存储装置组中存储数据,以提供容错功能,并在该存储装置组正好包括多个存储容量不同的装置时提供改善存储效率;以及利用混合冗余模式在该存储装置组中存储数据。在相关实施例中,所述方法还包括,自动再配置利用第一种冗余模式先前存储在第一种布置的各存储装置中的数据,以利用下述之一进行存储(a)相同布置的各存储装置上的第二种冗余模式,(b)不同布置的各存储装置上的第二种冗余模式,以及(c)不同布置的各存储装置上的相同冗余模式,用于在无数据损失情况下适应空间的扩展和收缩中的至少一个,所述扩展是通过向该组中添加其它存储装置实现的,而所述收缩是通过从该组中移除存储装置实现的。在本专利技术的第二实施例中提供了一种方法,用于按允许存储装置组动态扩展和收缩的方式,在包括至少一个存储装置的存储装置组中存储数据。该方法包括利用第一种冗余模式在存储装置组中存储数据,根据存储装置组的构成的变化,利用下述之一自动再配置该存储装置组上的数据(a)相同布置的存储装置上的第二种冗余模式,(b)不同布置的存储装置的第二种冗余模式,以及(c)不同布置的存储装置上的相同冗余模式。在本专利技术的第三实施例中,提供了一种用于存储数据的系统,包括具有至少一个存储装置的存储装置组,以及利用混合冗余模式在该存储装置组中存储数据的存储管理器。存储管理器自动从多个冗余模式中确定所述混合冗余模式,用于在该存储装置组中存储数据,以提供容错功能,并在该存储装置组正好包括多个存储容量不同的装置时提供改善的存储效率。在相关实施例中,存储管理器自动再配置利用第一种冗余模式先前存储在第一种布置的存储装置中的数据,以利用下述之一进行存储(a)相同布置的存储装置上的第二种冗余模式,(b)不同布置的存储装置上的第二种冗余模式,以及(c)不同布置的存储装置上的相同冗余模式,用于无数据损失地适应空间的扩展和收缩中的至少一个,所述扩展是通过向组中添加其它存储装置实现的,而所述收缩是通过从组中移除存储装置实现的。在本专利技术第四实施例中,提供了一种用于存储数据的系统,包括至少具有一个存储装置的存储装置组,以及在该存储装置组中存储数据的存储管理器。所述存储管理器利用第一冗余模式在该存储装置组中存储数据,根据存储装置组的构成的变化,利用下述之一自动再配置该存储装置组上的数据(a)相同布置的存储装置上的第二种冗余模式,(b)不同布置的存储装置的第二种冗余模式,以及(c)不同布置的存储装置上的相同冗余模式。在相关实施例中,可以从包括下述的组中选择所述冗余模式,即,镜像、具有奇偶校验的条带化、RAID6、双奇偶校验、对角线奇偶校验、低密度奇偶校验检测码以及turbo码。在相关实施例中,通过下述方式可以再配置数据,即,把跨两个存储装置的镜像模式转换为单个存储装置上的镜像模式;把跨第一对存储装置的镜像模式转换为跨第二对存储装置的镜像模式;把跨三个存储装置的条带化模式转换为跨两个存储装置的镜像模式;把跨第一组多个存储装置的第一条带化模式转换为跨第二组多个存储装置的第二条带化模式;把跨一个存储装置的镜像模式转换为跨两个存储装置的镜像模式;把一个存储装置上的镜像模式转换为另一个存储装置上的镜像模式;把跨两个存储装置的镜像模式转换为跨三个存储装置的条带化模式;把跨第一组多个存储装置的第一条带化模式转换为跨包括添加到所述组的存储装置的第二组多个存储装置的第二条带化模式。在另一个相关实施例中,可以把对象分析为块(chunk),每个块都具有特定的内容,并且在存储系统中只存储具有唯一性内容的块。所述块能够根据预定散列函数被标识为具有唯一性内容。在该实施例中,只存储标识为唯一的块可以涉及为每个块计算散列号,并在存储系统中存储与所存储的块的散列号相联系的对象的唯一标识符及其位置信息。存储用于对象的唯一标识符涉及使用对象表,该对象表列出用于该对象的唯一标识符以及用于所存储块的散列号。存储位置信息可涉及在块表中存储用于每个存于其中的块列表,包括块在存储系统中的物理位置的表示。存储在存储系统中的对象可以被转换为单个存储装置以及文件系统和对象存储系统中的至少一个的表示。可以管理存储系统中块的物理存储分配,从而提供容错存储,甚至在存储系统可能包括各种容量的存储装置时。一旦从存储系统中取出特定的块,就根据所存储的块的散列号检验所取出块的内容。例如,通过计算取出块的散列号;以及对计算出的散列号与为所述块相应存储的散列号进行比较。在本专利技术的又一实施例中,提供了一种在存储装置组中存储数据的方法,包括利用至少一种冗余模式在存储装置组中存储数据,检测存储装置从所述组中的移除,利用剩下的存储装置再配置被移除的存储装置中的数据部分,检测被移除的存储装置是否重新插入所述组中,释放对应于所述部分的重新插入的存储装置中的区域,以及刷新所述重新插入的存储装置的所有剩余部分,该部分可能在移除和重新插入时被更改。在本专利技术的又一实施例中,提供了一种在存储系统中释放未使用的存储块的方法,该方法包括标识空闲块,为所述空闲块确定逻辑扇区地址,根据所述逻辑扇区地址为所述空闲块标识聚簇存取存取表项,与所述聚簇存取表项相关的引用计数递减,以及如果被递减的引用计数为0的话就释放该块。在相关实施例中,标识所述空闲块包括标识与主机文件系统关联的空闲块位图,以及分析所述空闲块位图以标识不再被文件系统使用的聚簇。标识与主机文件系统关联的空闲块位图包括维持分区表,分析该分区表以定位操作系统分区,分析操作系统分区以定位超块;以及根据超块标识主机文件系统。可以制作空闲块位图的工作副本,其中所述空闲块位图的工作副本被分析以标识文件系统不再使用的聚簇。附本文档来自技高网...

【技术保护点】
一种在存储装置组中存储数据的方法,该组至少有一个存储装置,所述方法包括:    从多种冗余模式中自动确定混合冗余模式,用于在所述存储装置组中存储数据,以提供容错功能,并且当所述存储装置组正好包含不同存储容量的多个装置时,用于提供改进的存储效率;以及    利用所述混合冗余模式在该存储装置组中存储数据。

【技术特征摘要】
【国外来华专利技术】US 2004-11-5 60/625,495;US 2005-9-20 60/718,7681.一种在存储装置组中存储数据的方法,该组至少有一个存储装置,所述方法包括从多种冗余模式中自动确定混合冗余模式,用于在所述存储装置组中存储数据,以提供容错功能,并且当所述存储装置组正好包含不同存储容量的多个装置时,用于提供改进的存储效率;以及利用所述混合冗余模式在该存储装置组中存储数据。2.根据权利要求1的方法,还包括自动再配置以前利用第一种冗余模式存储在第一种布置的存储装置上的数据,以利用下述之一进行存储(a)相同布置的存储装置上的第二种冗余模式,(b)不同布置的存储装置上的第二种冗余模式,(c)不同布置的存储装置上的相同冗余模式,其用于在无数据损失的情况下适应空间的扩展和收缩中的至少一个,所述扩展是通过向该组中添加其它存储装置实现的,而所述收缩是通过从该组中移除存储装置实现的。3.一种在存储装置组中按允许所述组动态扩展和收缩的方式存储数据的方法,所述组有至少一个存储装置,所述方法包括利用第一种冗余模式在所述存储装置组中存储数据;以及根据所述存储装置组的构成的变化,利用下述之一自动再配置该存储装置组上的数据(a)相同布置的存储装置上的第二种冗余模式,(b)不同布置的存储装置上的第二种冗余模式,(c)不同布置的存储装置上的相同冗余模式。4.根据权利要求1、2或3中任意一个的方法,其中从包括下述的组中选择所述冗余模式镜像、具有奇偶校验的条带化、RAID6、双奇偶校验、对角线奇偶校验、低密度奇偶校验检测码以及turbo码。5.根据权利要求2或3中任意一个的方法,其中再配置数据包括把跨两个存储装置的镜像模式转换为单个存储装置的镜像模式。6.根据权利要求2或3中任意一个的方法,其中再配置数据包括把跨第一对存储装置的镜像模式转换为跨第二对存储装置的镜像模式。7.根据权利要求2或3中任意一个的方法,其中再配置数据包括把跨三个存储装置的条带化模式转换为跨两个存储装置的镜像模式。8.根据权利要求2或3中任意一个的方法,其中再配置数据包括把跨第一组多个存储装置的第一条带化模式转换为跨第二组多个存储装置的第二条带化模式。9.根据权利要求2或3中任意一个的方法,其中再配置数据包括把跨一个存储装置的镜像模式转换为跨两个存储装置的镜像模式。10.根据权利要求2或3中任意一个的方法,其中再配置数据包括把在一个存储装置上的镜像模式转换为另一个存储装置上的镜像模式。11.根据权利要求2或3中任意一个的方法,其中再配置数据包括把跨两个存储装置的镜像模式转换为跨三个存储装置的条带化模式。12.根据权利要求2或3中任意一个的方法,其中再配置数据包括把跨第一组多个存储装置的第一条带化模式转换为跨包括添加到所述组的存储装置的第二组多个存储装置的第二条带化模式。13.根据权利要求1,2或3中任意一个的方法,还包括把对象分析为块,每个块都有特定的内容;以及只在存储系统中存储具有唯一性内容的块。14.根据权利要求13的方法,其中只存储具有唯一性内容的块包括根据预定散列函数在存储系统中只存储被标识为具有唯一性内容的块。15.根据权利要求14的方法,其中根据预定散列函数只存储被标识为具有唯一性内容的块包括计算每个块的散列号;以及在存储系统中存储用于与所存储的块的散列号相联系的对象的唯一标识符和其位置信息。16.根据前述15个权利要求中任意一个的方法,其中存储用于对象的唯一标识符包括使用对象表,所述对象表列出了用于每个对象的唯一标识符以及用于所存储的块的散列号。17.根据前述15个权利要求中任意一个的方法,其中存储位置信息包括,在块表中存储列表,该列表用于每个存于其中的块,包括块在存储系统中的物理位置的表示。18.根据前述13个权利要求中任意一个的方法,还包括把存储在存储系统中的对象转换为单个存储装置以及文件系统和对象存储系统中的至少一个的表示。19.根据前述13个权利要求中任意一个的方法,还包括管理存储系统中块的物理存储分配,从而提供容错存储,即使当在存储系统可能包括不同容量的存储装置时。20.根据前述15个权利要求中任意一个的方法,还包括一旦从存储系统中取出特定的块,就根据所存储的块的散列号检验所取出块的内容。21.根据权利要求20的方法,其中根据所存储的块的散列号检验所取出块的内容包括计算取出块的散列号;以及把计算出的散列号与对应的为所述块存储的散列号进行比较。22.一种在存储装置组中存储数据的方法,所述方法包括利用至少一种冗余模式在所述存储装置组上存储数据;检测存储装置从所述组中的移除;利用剩下的存储装置再配置被移除的存储装置中的数据部分;检测被移除的存储装置是否重新插入所述组中;释放对应于所述部分的重新插入的存储装置中的区域;以及刷新所述重新插...

【专利技术属性】
技术研发人员:杰弗里S巴拉尔
申请(专利权)人:数据机器人技术公司
类型:发明
国别省市:US[美国]

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

1