生成校验值的RAID存储适配器、系统和方法技术方案

技术编号:2918907 阅读:181 留言:0更新日期:2012-04-11 18:40
在RAID存储系统中生成校验值。所述存储系统包括RAID适配器、多个管理相应RAID存储驱动器组的盘阵列处理器,以及连接结构。所述RAID适配器启动校验生成操作,分派并行指令以便所述阵列处理器中的每个处理器从在相应受管理RAID存储驱动器的驱动器上的数据块生成部分校验值,在所述RAID适配器中从每个阵列处理器接收所述部分校验值,以及在所述RAID适配器中组合所述部分校验值以生成完整的校验值。所述校验值可以是要存储在硬盘驱动器上的实际校验块,也可以是在驱动器发生故障时重建的数据块。

【技术实现步骤摘要】

本专利技术一般地涉及RAID存储系统,具体地说,涉及在此类系统中管理校验生成。
技术介绍
在RAID存储系统中生成校验值要占用大量处理器和带宽。例如,大型RAID系统可以包括冗余的RAID适配器或控制器对、多对冗余的盘阵列交换机、相等数量的硬盘驱动器(HDD)组和相等数量的子处理器。这些组件通过“结构(fabric)”互连适配器与第一对交换机互连,该第一对交换机与第二对互连,以菊花链的方式继续。每个子处理器连接到一对交换机,并且每组HDD同样连接到一对交换机。为了使指令从适配器传输到交换机,指令必须通过任何上行结构和交换机。同样,数据必须上行通过任何交换机以到达适配器。传统的生成校验值的过程需要大量使用适配器资源和结构带宽。RAID适配器对一组HDD上的数据块执行异或(XOR)以生成校验块Ap=A1+A2+...+An,其中Ap是校验块并且“+”代表“异或”运算。例如,在典型的RAID级别5阵列中,要为包括六个包含数据的HDD加上校验HDD的组生成数据块校验,适配器必须执行六次读取操作,生成校验值,并执行一次写入操作以将所述校验存储到第七个HDD上。此外,当写入数据没有跨组中的所有驱动器时,必须读取驱动器上的数据块或需要先前的数据和先前的校验来生成新的校验块。所有这些操作都会消耗适配器资源并在结构上产生通信量。在重建出现故障的驱动器时,资源消耗甚至更大。再次地,适配器从其他驱动器读取数据块和校验块,将校验块应用于数据块并重建丢失的数据块。虽然较短的重建时间对将存储系统返回到要求的冗余级别很重要,但是代价是降低了系统性能,因为适配器执行其他功能的能力将下降。因此,需要一种要求更少适配器资源和更少结构带宽的高效校验生成和驱动器重建操作。
技术实现思路
本专利技术提供了一种用于在RAID存储系统中生成校验值的方法。所述存储系统包括RAID适配器、多个管理相应RAID存储驱动器组的盘阵列处理器,以及连接结构。所述方法包括通过所述RAID适配器启动校验生成操作,分派并行指令以便所述阵列处理器中的每个处理器从在相应受管理RAID存储驱动器的驱动器上的数据块生成部分校验值,在所述RAID适配器中从每个阵列处理器接收所述部分校验值,以及在所述RAID适配器中组合所述部分校验值以生成完整的校验值。所述校验值可以是要存储在硬盘驱动器上的实际校验块,也可以是在驱动器发生故障时重建的数据块。本专利技术还提供了RAID存储适配器和包括RAID存储适配器的RAID存储系统。所述适配器包括连接到多个盘阵列交换机的结构接口,每个盘阵列交换机控制一组相应的RAID盘并连接到关联的阵列处理器;用于启动校验生成功能的装置;用于将指令通过所述交换机分派到关联的阵列处理器以引导每个阵列处理器从相应的盘组中的盘上的数据块来生成部分校验值的装置;用于从所述阵列处理器接收所述生成的部分校验值的装置;以及配置为将所述接收的部分校验值组合成完整的校验值的校验生成器。本专利技术还包括可与可编程计算机一起使用的计算机可读介质的计算机程序产品,所述计算机程序产品中具有用于在RAID存储系统中生成校验值的计算机可读代码,所述存储系统具有RAID适配器、多个管理相应RAID存储驱动器组的盘阵列处理器,以及连接结构。所述计算机可读代码包括用于执行以下操作的指令通过所述RAID适配器启动校验生成操作,分派并行指令以便所述阵列处理器中的每个处理器从在相应受管理RAID存储驱动器的驱动器上的数据块生成部分校验值,在所述RAID适配器中从每个阵列处理器接收所述部分校验值,以及在所述RAID适配器中组合所述部分校验值以生成完整的校验值。附图说明图1是其中可以实现本专利技术的RAID存储系统的方块图;图2是本专利技术的方法的流程图;以及图3是示出从出现故障的驱动器重建数据的过程的RAID存储系统的方块图。具体实施例方式图1是其中可以实现本专利技术的RAID存储系统100的方块图。系统100包括一对冗余的RAID适配器或控制器110A、110B(统称为110),它们连接到一个或多个服务器。系统100还包括多对冗余的盘阵列交换机120,图中示出了其中三对,它们是122A和122B、124A和124B以及126A和126B。系统100还包括多组硬盘驱动器(HDD)130A、130B、130C(统称为130),每个组都与一对交换机关联。系统100还包括与每对交换机120关联的服务处理器140A、140B、140C(统称为140)。通常,交换机对120、HDD组130和服务处理器140容纳在机壳(未示出)内。在所示的系统100中,服务处理器140是管理交换机功能和机壳环境的SCSI附件(enclosure)服务(SES)处理器。RAID适配器110A和110B分别通过通信网络或结构150连接到第一组交换机122A和122B的冗余端口。第一组交换机122A和122B又通过结构150连接到第二组交换机124A和124B的冗余端口。并且第二组交换机124A和124B又通过结构150连接到第三组交换机126A和126B的冗余端口。因此,第三机壳中的适配器110与交换机或HDD之间的任何通信都将通过第一和第二组交换机。参考图2的流程图,在生成校验时,RAID适配器110将命令分派(步骤200)到服务处理器140,以对指定的数据块执行“异或”运算并将结果返回适配器110。服务处理器140从关联的HDD 130读取指定的数据块(步骤202),随后每个处理器执行“异或”运算(步骤204)以生成指定数据块的校验值(步骤206)。将校验值(对于整个组来说,每个校验值是部分校验值)传输回适配器110(步骤208)。适配器110通过执行“异或”运算来组合部分校验值(步骤210)以生成完整的校验块(步骤212)。然后将完整的校验块传输到指定的交换机(步骤214)以便存储在指定的HDD130中(步骤216)。因此,适配器110不是执行六次单独的读取操作和一次写入操作,而是只需执行两次读取(从服务处理器140接收部分校验值)和一次写入的等价操作,这显著节省了适配器资源和结构带宽。从出现故障的驱动器重建数据是一个类似的过程。图3的方块图假设第三机壳中的HDD A1、A2和A5(由第三服务处理器104C和交换机126A、126B管理),第二机壳中的HDD A3和A4(由第二服务处理器104B和交换机124A、124B管理),第一机壳中的HDD A6(由第一服务处理器104A和交换机122A、122B管理),以及也在第二机壳中的校验驱动器Ap构成了驱动器组。如果驱动器A6发生故障,则必须重建和恢复其数据。RAID适配器110将命令分派给第二和第三机壳中的第二和第三服务处理器140B、140C以使每个处理器生成部分校验值。第二服务处理器140B从HDD A3、A4和Ap读取数据和校验块并执行“异或”运算A34p=A3+A4+Ap。类似地,第三服务处理器140C从HDD A1、A2和A5读取数据和校验块并执行“异或”运算A152=A1+A5+A2。然后,将这两个部分校验值传输到RAID适配器110,RAID适配器110将它们相组合并生成丢失的数据块A6A6=A34p+A152。然后,将丢失的块A6传输到第一机壳中的盘阵列交换机122以将其本文档来自技高网
...

【技术保护点】
一种用于在RAID存储系统中生成校验值的方法,所述存储系统具有RAID适配器、多个管理相应RAID存储驱动器组的盘阵列处理器,以及连接结构,所述方法包括:通过所述RAID适配器启动校验生成操作;分派并行指令以便所述阵列处理器 中的每个处理器从在相应受管理RAID存储驱动器的驱动器上的数据块生成部分校验值;在所述RAID适配器中从每个阵列处理器接收所述部分校验值;以及在所述RAID适配器中组合所述部分校验值以生成完整的校验值。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:JC埃利奥特GS卢卡斯RA库博
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1