将擦除码数据分配到磁盘存储器的方法和装置制造方法及图纸

技术编号:10354185 阅读:206 留言:0更新日期:2014-08-27 10:38
分配处理允许擦除编码数据被存储在驱动器池里的多个磁盘驱动器的任何一个上,以便分配不会被捆绑到固定的驱动器组。更进一步讲,可以通过多个不同擦除码算法的任何一个产生编码数据,其中再次基于用来编码数据的擦除算法,编码数据的存储不会局限于单个驱动器组。在另一个实施例中,编码数据能够被“堆叠”(排列)在选中的驱动器上以降低访问数据所需要的磁盘寻道的数目。作为这些改进的结果,所述系统能够动态地为给定的输入数据块确定使用多个擦除码算法中的哪一个,而不必像现有技术那样被捆绑到一个特定算法以及一个特定存储设备组。

【技术实现步骤摘要】
【国外来华专利技术】将擦除码数据分配到磁盘存储器的方法和装置
本专利技术涉及计算机存储系统和允许使用多个擦除码算法将数据放置在磁盘存储器(disk storage)上的方法和装置。
技术介绍
文件系统、操作系统或其它存储管理器的重要任务就是把数据放置在存储器介质上,诸如磁盘存储器设备。数据被写入哪里(被放置在磁盘上)以及它是何时以及如何被访问的,对读/写性能能够具有重要的影响。另一个重要任务是在存储器介质遭受物理损坏的情况下,保护数据避免丢失(容错性)。RAID,独立磁盘冗余阵列的缩写,是在多个物理驱动器之间划分并复制数据的各种数据存储器方案的涵盖性术语,以便如果一个(或可能更多)驱动器被损坏,那些驱动器上丢失的数据是能够被恢复的。每个方案提供两个主要目标之间的不同平衡:提高的数据可靠性以及提高的输入/输出(I/O)性能。擦除码(erasure coding)是纠错算法的集合,其使得在基于(例如RAID阵列的)多个磁盘驱动器的存储系统中的失效驱动器上丢失的数据能够被恢复。产生擦除编码数据以及将擦除编码数据写到存储器的大致过程包括:1、数据以一系列的块的方式到达;2、每个块被分成子块;3、将擦除码算法应用于所述子块组;4、结果是以由所使用的具体算法确定的更大量的子块(例如,包括奇偶校验数据);5、产生的子块以由所使用的具体算法所确定的一个或多个子块的组的方式被写出到所述存储器介质,每一个设备(例如磁盘驱动器)一个组。然后进行如下的恢复过程(即,恢复在失效的磁盘驱动器上丢失的数据):1、从另一个(非失效)设备读取剩余子块组;2、对剩余的子块应用恢复算法来产生丢失的数据;3、返回原始完整的数据块。上述过程的说明是通用的并适用于许多不同的擦除码算法。每个码算法具有其自身的关于如下的权衡取舍:1、I/O 性能;2、CPU 利用率;3、存储效率;4、可容忍的驱动器失效的数目。根据现有行业标准,数据大小、擦除码算法以及磁盘驱动器阵列是被作为一个整体捆绑到一起的,使得一旦为数据和算法建立了驱动器组合配置,将不能够改变擦除码算法。在设计这种系统的时候,基于需要的冗余度、被存储的数据量以及数据块的粒度作出选择。基于这些参数以及平衡性能特性(诸如访问时间以及恢复时间),选择配置阵列(物理磁盘驱动器的固定组)。一旦建立这个驱动器分组,那么在那些驱动器上只能够使用指定的擦除码算法来存储数据。更进一步讲,以小于所选擦除码算法指定的最小大小写入数据导致性能命中(hit)(下降),因为它需要更耗时的读取-更改-写入,而不是简单的写入。因此,需要一种更灵活的系统来向磁盘存储分配擦除编码数据。需要更高的灵活性来提高I/o性能、CPU利用率、存储容量、容错性和/或恢复时间中的一个或多个。
技术实现思路
根据本专利技术的一个实施例,提供一种分配处理,其允许擦除编码数据被存储在驱动器池中的多个磁盘驱动器中的任何一个上,以便分配不会被捆绑到固定的驱动器组。更进一步讲,能够通过多个不同擦除码算法的任一个产生编码数据,其中再次所述编码数据的存储不会局限于基于用来编码所述数据的擦除算法的单个驱动器组。在又一个实施例中,所述编码数据能够被“堆叠”(排列)在选中的驱动器上来降低访问数据所需要的磁头寻道(head seek)的数目。作为这些改进的结果,该系统能够动态地为给定的输入数据块确定使用多个擦除码算法中的哪个,而不是像现有技术那样被捆绑到一个特定算法以及一个特定存储器设备组。根据本专利技术的一个实施例,提供一种用于在存储器上定位数据的计算机执行的方法,包括计算机可执行的动作:将由相同或不同擦除码编码的多个编码数据对象分配到磁盘存储设备池中的相同或不同设备上以用于存储;对每个要存储在多个逻辑存储单元的编码对象,使用分配位屏蔽(bitmask)作为对可用的分配单元的单个请求,来将所述各个编码对象存储在多个逻辑存储单元上,其中所述分配位屏蔽覆盖(span)所述多个逻辑存储单元,并包括与被存储的编码对象的起始分区边界对准的间隙。在一个实施例中,所述分配步骤包括在不同设备上分配所述编码对象。在一个实施例中,所述分配步骤包括分配由不同擦除码编码的编码对象。在一个实施例中,所述分配步骤包括在相同的本地存储单元上分配多个编码对象。在一个实施例中,所述分配步骤包括在相同的逻辑存储单元组上分配多个编码对象。在一个实施例中,所述方法包括使用所述分配位屏蔽来请求与逻辑存储单元边界对准的分配单元。在一个实施例中,被编码的数据的对象大小是固定的。[0031 ] 在一个实施例中,被编码的数据的对象大小是可变的。在一个实施例中,所述数据对象是由不同类别的擦除码来编码的。在一个实施例中,所述方法包括提供所述编码数据对象的索引,其映射每个编码数据对象到其各自的擦除码。在一个实施例中,所述分配步骤包括使用分配位图(bitmap)标记所述可用的分配单元。在一个实施例中,所述分配位图映射到逻辑地址空间。在一个实施例中,逻辑目标编号(LON)定义指向所述编码对象的指针。在一个实施例中,指向编码对象的指针被存储在索引记录中。在一个实施例中,所述索弓I记录包括到指向所述编码对象的多个指针。在一个实施例中,所述分配步骤使用边界位图标记所述编码对象的初始块的分配单元。根据本专利技术的另一个实施例,提供一种在其上存储有指令的计算机可读介质,所述指令当被载入计算机时,执行如上所述的方法步骤。根据本专利技术的另一个实施例,提供一种可编程序逻辑,配置为执行如上所述的方法步骤。根据本专利技术的另一个实施例,提供一种数据存储系统,包括:擦除码算法选择部件,用于为不同输入数据对象选择不同擦除码算法来产生编码数据对象;以及磁盘存储分配部件,用于将由所述不同算法编码的编码数据对象分配到磁盘存储器设备池里的相同或不同设备上的任何可用的分配单元。在一个实施例中,所述系统包括用于存储所述编码数据的磁盘存储器设备池。在一个实施例中,所述磁盘存储分配部件使用分配位屏蔽来为每个编码数据对象请求可用的存储单元以跨逻辑存储单元组的一个或者多个逻辑存储单元存储编码对象,所述逻辑存储单元组覆盖池中的多个设备,并且其中所述位屏蔽包括允许所述编码对象被存储在所述池中的至少一个设备上的多个逻辑存储单元上。在一个实施例中,所述系统包括所述将编码数据对象映射到其各自的擦除码算法的索引。根据本专利技术的另一个实施例,在定位数据存储的计算环境中,提供一种数据结构,包括请求可用的分配单元以跨一个或多个逻辑存储单元存储编码对象的分配位屏蔽,所述编码数据对象以不同的擦除码来被编码,所述分配位屏蔽覆盖跨多个磁盘驱动器的多个逻辑存储单元,以及所述位屏蔽包括与被存储的编码对象的开始分区边界(startingpartition boundary)对准的间隙,其中跨多个逻辑存储单元请求可用的分配单元。【附图说明】图1是本专利技术的一个实施例的示意性高级系统体系结构,示出了利用不同擦除码算法对输入数据对象的编码以及随后将编码数据分配到磁盘存储器设备池中的存储器;图2是根据本专利技术的一个实施例的处理流程图,用于选择擦除码算法以及分配所述编码数据到所述磁盘存储器设备池中的磁盘存储器;图3A-3B示出了利用4的2 (2of4)编码算法编码数据对象的一个示例;图3C-3D示出了利用6的4 (4of6)编码算法本文档来自技高网
...
将擦除码数据分配到磁盘存储器的方法和装置

【技术保护点】
一种用于在存储设备上定位数据的计算机执行的方法,包括计算机可执行的如下动作:将由相同或不同擦除码编码的多个编码数据对象分配到磁盘存储设备池中的相同或不同设备以用于存储;对要存储在多个逻辑存储单元上的每个编码对象,使用分配位屏蔽作为对于可用的分配单元的单个请求来将相应编码对象存储在所述多个逻辑存储单元上,其中所述分配位屏蔽覆盖所述多个逻辑存储单元,并包括与被存储的所述编码对象的起始分区边界对准的间隙。

【技术特征摘要】
【国外来华专利技术】2011.11.22 US 13/302,5101.一种用于在存储设备上定位数据的计算机执行的方法,包括计算机可执行的如下动作: 将由相同或不同擦除码编码的多个编码数据对象分配到磁盘存储设备池中的相同或不同设备以用于存储; 对要存储在多个逻辑存储单元上的每个编码对象,使用分配位屏蔽作为对于可用的分配单元的单个请求来将相应编码对象存储在所述多个逻辑存储单元上,其中所述分配位屏蔽覆盖所述多个逻辑存储单元,并包括与被存储的所述编码对象的起始分区边界对准的间隙。2.如权利要求1所述的方法,其中: 所述分配步骤包括:在不同设备上分配所述编码对象。3.如权利要求2所述的方法, 所述分配步骤包括:分配由不同的擦除码编码的编码对象。4.如权利要求1所述的方法,其中: 所述分配步骤包括:分配 由不同的擦除码编码的编码对象。5.如权利要求1所述的方法,其中: 所述分配步骤包括:在相同逻辑存储单元上分配多个编码对象。6.如权利要求1所述的方法,其中: 所述分配步骤包括:在相同逻辑存储单元组上分配多个编码对象。7.如权利要求1所述的方法,包括: 使用所述分配位屏蔽来请求与逻辑存储单元边界对准的分配单元。8.如权利要求1所述的方法,其中: 被编码的数据的对象大小是固定的。9.如权利要求1所述的方法,其中: 被编码的数据的对象大小是可变的。10.如权利要求1所述的方法,其中: 数据对象是由不同类别的擦除码编码的。11.如权利要求1所述的方法,包括: 提供所述编码数据对象的索引,其将每个编码数据对象映射到其各自的擦除码。12.如权利要求1所述的方法,其中: 所述分配步骤包括:使用分配位图标记所述可用的分配单元。13.如权利要求12所述的方法,其中: 所述分配位图映射到逻辑地址空间。14.如权利要求13所述的方法,其中...

【专利技术属性】
技术研发人员:M·W·希利D·科德拉A·J·比弗森S·巴格比
申请(专利权)人:森普利维蒂公司
类型:发明
国别省市:美国;US

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

1