用于数据存储虚拟化子系统的池备用物的制作方法

文档序号:86052阅读:332来源:国知局

专利名称::用于数据存储虚拟化子系统的池备用物的制作方法
技术领域
:本发明涉及一种数据存储虚拟化子系统,尤其涉及一种提供由至少一个物理存储装置(PSD)所形成的至少一个PSD池(pool)的数据存储虚拟化子系统。
背景技术
:存储虚拟化(storagevirtualization)是一种将物理存储空间虚拟化的技术,其主要的功能是将主要功能为存储数据以形成逻辑存储媒体的物理存储装置(physicalstoragedevice,PSD)的各个区段组合,在此称为「逻辑媒体单元」(logicalmediaunits,LMU),而逻辑媒体单元的各个存储元件(例如存储区块)对于逻辑存储地址而言,其是唯一可寻址的,而使得主机单元可存取所述LMU,例如,硬盘驱动器(harddiskdrives,HDD)、存储磁带、光驱等等。该技术主要用于独立冗余磁盘阵列(RAID,在此简称磁盘阵列)的存储虚拟化,通过所述存储虚拟化技术,可将较小物理存储装置组合成为容量较大、可容错、高效能的逻辑媒体单元。数据存储虚拟化子系统(storagevirtualizationsubsystem,SVS)包含存储虚拟化控制器(storagevirtualizationcontroller,SVC)和至少一个连接至所述SVC的PSD以提供主机单元用于存储大量数据的逻辑媒体单元(LMU),因此,响应于由主机单元所发出的请求而执行该输出入(IO)指令,从而得到存储在对应于该LMU地址的PSD的数据。SVC的主要目的是对主机单元映射(map)可见的PSD的区段组合至LMU,而使得主机单元对每一LMU呈现好像其直接连接至视此LMU为逻辑等效物的PSD。为了要完成上述情形,该主机单元送出一个由SVC来处理的IO请求,该IO请求将在一等效的PSD中正常地产生特定的行为,也在与该寻址的LMU相关的部分的SVC上产生逻辑的等效行为。这样的结果是主机单元认为其是直接连接至PSD并且与该PSD通信,而事实上其是连接至简化模拟该寻址的LMU是逻辑等效物的PSD行为的至少一个SVC上。外接式(或可称为独立式(stand-alone))存储虚拟化控制器是一种经由IO接口连接于主机系统的存储虚拟化控制器,且其可提供连接至位于主机系统外部的装置,一般而言,外接式的存储虚拟化控制器通常独立于主机进行运作。外接式(或称独立式)直接存取磁盘阵列控制器(externaldirect-accessRAIDcontroller)是外接式存储虚拟化控制器的一个例子。磁盘阵列控制器将一个或多个物理存储装置(physicalstoragedevice,PSD)的区段组合以构成逻辑媒体单元,而它们的构成方式由所采用的特定磁盘阵列型态(RAIDlevel)决定,其所构成的逻辑媒体单元对于主机系统而言,是连续可寻址的,而使得每一逻辑媒体单元可被主机单元来利用。典型地,一个单一的磁盘阵列控制器(singleRAIDcontroller)可支持多种磁盘阵列型态,因此,不同的逻辑媒体单元可以由PSD的各个区段通过不同的磁盘阵列型态而以不同的方式组合而成,所组合成的各个不同的逻辑媒体单元则具有各该磁盘阵列型态的特性。另一个外接式存储虚拟化控制器的例子是JBOD(JustaBunchofDrives)模拟控制器。JBOD为「仅是一组驱动器」的缩写,其是一组物理存储装置,并经由一个或多个输出入装置连接(IOdeviceinterconnect)而直接连接于主机系统上。另一个外接式存储虚拟化控制器的例子为一种外接式磁带备份子系统的控制器。我们可直接了解到,SVS提供越多的PSD,该SVS遇到失效的PSD的可能性就越高。对于配置设定(configuration)有冗余数据和支持数据重构功能的LMU来说,当该LMU其中的一个PSD成员失效时,该LMU将进入降级模式(degradedmode),该降级模式是指该LMU与正常情况时相比,处于数据完整性(integrity)保护较低的情况。如果在备用的PSD可存取时,该数据重构功能被触发。在该SVS中,假如无任何备用的PSD来重建数据时,用户必须停止整个系统来更换该失效的PSD,而使得该LMU保持在正常状态而不是在降级模式下。在本说明书中,这些PSD被用来存储用户数据或相关的冗余数据,在此,我们称这些PSD为「正常使用的PSD」(normally-usedPSD),对于正常使用的PSD来看作为替代物的这些PSD,则称为「备用的PSD」(sparePSD)。以经济效率的观点来看,在具有固定PSD数目的SVS中,是选定较少的PSD作为备用的PSD。当用来存储用户数据和相关的冗余数据的存储容量越高时,该SVS越有经济效率。然而,当因为该备用的PSD可能被作为正常使用的PSD来使用,以取代另一之前为正常使用的失效的PSD的需求机会越高,所以被该备用的PSD来支持的正常使用的PSD越多,可被备用的PSD来支持的正常使用的PSD的可能性越低。在此情况下,传统的解决方案是在一SVS范围内提供型态为全区备用的PSD(globalsparePSD),而对所有的LMU提供备用的能力。另一个传统的解决方案是提供型态为区域备用的PSD(localsparePSD),以对特定的LMU提供备用的能力,我们称呼具有如此特性的区域备份的PSD为「专用的」(dedicated)PSD。图1示出在先前技术中,SVS的备用物理存储装置(sparephysicalstoragedevice,PSD)的实施解决方法,其中该数据存储虚拟化子系统(storagevirtualizationsubsystem,SVS)20包含存储虚拟化控制器(storagevirtualizationcontroller,SVC)100和多个物理存储装置(physicalstoragedevice,PSD)130-1至130-24,其连接至所述SVC100上。在本实施例中,所述SVC100和所述PSD130-1至130-8被容纳于箱体(enclosure)120-1中;所述PSD130-9至130-16被容纳于箱体120-2中;所述PSD130-17至130-24被容纳于箱体120-3中。所述箱体120-2通过一扩展端口而连接至箱体120-1。通过这种结构,在其它箱体中的PSD可以被连接至其中。以实线所描绘出的PSD表示所述PSD为正常使用的PSD,而以虚线所描绘出的PSD表示所述PSD为备用的PSD。该逻辑媒体单元(logicalmediaunit,LMU)140-1包含正常使用的PSD130-1、130-2、130-9、130-10和130-17,且具有区域备用(localspare)的PSD130-7;该LMU140-2包含正常使用的PSD130-3和130-4,且具有区域备用的PSD130-8;该LMU140-3包含正常使用的PSD130-11、130-12、130-18、130-19和130-20,且具有区域备用的PSD130-23;该LMU140-4包含正常使用的PSD130-5、130-6、130-13和130-14,且具有区域备用的PSD130-15;该LMU140-5包含正常使用的PSD130-21和130-22,且具有区域备用的PSD130-24。此外,在该SVS20中提供全区备用(globalspare)的PSD130-16。区域备用的PSD是被选定的LMU所专用的(dedicated)备用的PSD,也就是说,当有需要时,该区域备用的PSD可以作为属于该选定的LMU的任何一个PSD的替代物。例如,LMU140-1的区域备用的PSD130-7是提供给该LMU140-1中所有的正常使用的PSD来专用的,例如PSD130-1、130-2、130-9、130-10和130-17,当有需要的话,该PSD130-7可以被PSD130-1、130-2、130-9、130-10和130-17中的任何一个PSD用作替代物。另一方面,在该SVS20范围内,该全区备用的PSD130-16对于所有LMU140-1至140-5中所有正常使用的PSD130-1至PSD130-6、PSD130-9至PSD130-14以及PSD130-17至PSD130-22提供备用的能力。也就是说,当有需要时,对于所有PSD,该全区备用的PSD130-16可以作为属于该SVS20的任何一个PSD的替代物。一个或多个的正常使用的PSD以及备用的PSD130-1至PSD130-24内部具有配置设定(configuration)信息。若一PSD被选定作为备用的PSD时,则该PSD的配置设定信息可能包含与该LMU相关的信息,或是记录该PSD的备用状态(sparestatus),其中该备用状态示出该PSD不是作为区域备用的PSD,就是作为全区备用的PSD。当该SVS20电源开启时,这些PSD的配置设定信息存储于该SVC100的存储器(未示出)中。然后,该已存储的配置设定信息用于反映该所有的LMU与该备用的PSD之间的关系,以便被该SVC用来辨识出提供备用能力的备用PSD。然而,定义这些传统备用的PSD中的这两种形式却不够弹性,这是因为该备用的PSD的使用范围只能不是针对特定的LMU来定义,不然就是针对该整个的SVS来定义。
发明内容本发明的目的是提供一种对主机单元提供数据存储空间的数据存储虚拟化子系统(SVS),包括存储虚拟化控制器(SVC),用来连接至主机单元;和至少一个物理存储装置(PSD)pool,其包含至少一个用来存储用户数据或相关的冗余信息的PSD;和poolID,用于该至少一个PSDpool的每一PSDpool;藉此至少一个PSD可被指定为pool备用的PSD,给该至少一个PSDpool。本发明的另一目的是提供一种用于数据存储虚拟化子系统的备用的物理存储装置(PSD)指定方法,该存储虚拟化子系统具有多个PSD,该方法包括步骤定义PSDpool;和指定至少一个PSD以做为给该PSDpool的备用的PSD。本发明的又一目的是提供一种用来指定备用的PSD的方法,其中该备用的PSD用于一SVS,该SVS包括PSDpool、被指定至该PSDpool的pool备用的PSD和至少一个非pool(non-pool)的备用的PSD,该方法包含步骤若该pool备用的PSD可利用时,选择该pool备用的PSD以作为在该PSDpool中所使用的备用的PSD;以及若该pool备用的PSD不可利用时,选择该non-pool备用的PSD以作为在该PSDpool中所使用的备用的PSD。本发明的又一目的是提供一种用于定义PSDpool,以使用于一SVS的方法,包括步骤指定多个PSD至少其中之一,以存储用户数据或相关冗余信息的步骤;以及付予一poolID以辨识该PSDpool。本发明的又一目的提供一种SVS的控制方法,包含步骤检查该备用表以判定是否指定一可利用的pool备用的PSD给该PSDpool。根据本发明的一实施例,该至少一个PSDpool包含被存储在该至少一个PSD中的配置设定。根据本发明的一实施例,该SVC包含备用表,其包括该配置设定信息的备用相关信息和该poolID。根据本发明的一实施例,包括步骤将被存储在一可利用的pool备用的PSD中该PSD中的数据重构。根据本发明的一实施例,将被存储在一可利用的pool备用的PSD中的数据备份。根据本发明的一实施例,将被存储在该至少一PSD中的该可利用的pool备用的PSD的至少一个配置设定信息更新。根据本发明的一实施例,将被存储在备用表中该可利用的pool备用的PSD的至少一个配置设定信息更新。根据本发明的一实施例,该至少一个PSD属于多个逻辑媒体单元的多个PSD。根据本发明的一实施例,该至少一个poolID系被存储于该配置设定信息中。根据本发明的一实施例,该存储虚拟化控制器包含备用表,其包含该配置设定信息的备用相关信息和该poolID。根据本发明的一实施例,该至少一个物理存储装置(PSD)pool包含至少一个ID存储装置,以存储该poolID。根据本发明的一实施例,该至少一个物理存储装置(PSD)pool包含至少一个poolID单元,其具有该ID存储装置。根据本发明的一实施例,该至少一个ID存储装置是开关。根据本发明的一实施例,该至少一个ID存储装置是存储器。根据本发明的一实施例,当该至少一个物理存储装置(PSD)自第一PSDpool中被移除,然后被插入至该相同的SVS的第二PSDpool中时,该被指定的PSDpool从该第一PSDpool改变至该第二PSDpool。根据本发明的一实施例,该至少一个poolID单元是背板。根据本发明的一实施例,该至少一个PSD是箱体PSD。根据本发明的一实施例,该至少一个物理存储装置(PSD)为多个且属于多个箱体。根据本发明的一实施例,第三PSDpool的所有的该至少一个PSD位于相同的building中。根据本发明的一实施例,该至少一个存储器是非挥发性存储器。根据本发明的一实施例,该至少一个存储器是挥发性存储器。根据本发明的一实施例,该非挥发性存储器是至少一个EEPROM。根据本发明的一实施例,该挥发性存储器是至少一个DRAM。根据本发明的一实施例,该存储虚拟化控制器(SVC)包含备用表,其包括该配置设定信息的备用相关信息和该poolID。根据本发明的一实施例,该SVC的备用表在该SVC电源开启时产生。根据本发明的一实施例,当该SVC知道有新插入的PSD时,该SVC的该备用表自动被更新。根据本发明的一实施例,当该SVC知道有新插入的PSD时,该SVC的备用表于该SVS的重置(reset)过程期间被更新。根据本发明的一实施例,当该备用的PSD自该SVS移除或插入至该SVS时,该SVC的该备用表被更新。根据本发明的一实施例,该至少一个non-poolPSD包含区域(local)的PSD。根据本发明的一实施例,该至少一个non-poolPSD包含全区(global)的PSD。根据本发明的一实施例,该至少一个non-poolPSD包含区域(local)的PSD。根据本发明的一实施例,该至少一个non-poolPSD包含区域的PSD和全区的PSD,且在该non-pool备用的PSD选定的步骤中,还包含步骤若该pool备用的PSD不可利用时,选定该区域备用的PSD作为备用的PSD,以使用于该PSDpool中。根据本发明的一实施例,在该non-pool备用的PSD选定步骤中,进一步包括步骤若该区域备用的PSD不可利用时,选定该全区备用的PSD作为备用的PSD,以使用于该PSDpool中。图1示出数据存储虚拟化子系统(SVS)的备用物理存储装置的现有解决方案的范例。图2A是示出本发明的第一实施例的方块图。图2B是示出本发明的第一实施例的另一方块图。图3是示出本发明的第二实施例的方块图。图4是示出本发明的第三实施例的方块图。图5是示出本发明的第四实施例的方块图。图6是示出根据本发明的存储虚拟化控制器的数据重构控制流程的一实施例的方块图。主要元件符号说明10主机单元20储存虚拟化子系统(SVS)100储存虚拟化控制器(SVC)110pool120箱体130实体储存装置(PSD)140逻辑媒体单元(LMU)200主机端IO装置连接控制器210记忆体220实体储存装置端连接控制器230中央处理电路(CPC)240poolID单元350ID-storing装置360配置设定资讯600~680步骤流程图具体实施方式参考图2A和图2B以了解本发明的第一实施例,其中图2A是示出本发明的第一实施例的方块图;图2B是示出第一实施例的另一方块图。在本实施例中,该SVS20包含SVC100,例如,但并不受限制于所列举的例子,一个外接式(stand-alone)RAIDSVC和多个PSD130附接于该SVC100上。虽然只示出该SVS20中仅配置一个SVC100,但此处可以有一个以上个配置设定为冗余型态的SVC,例如,两冗余配置设定的SVC100以形成一冗余的SVS,其中,万一该SVS的所述冗余配置设定的SVC中的一个SVC失效时,所述冗余配置设定的SVC中的另一个SVC将接管该失效的SVC的功能。该SVC100包含多个功能方块,例如(此并不受限制于所列举的例子)主机端输出入装置连接控制器(host-sideIOdeviceinterconnectcontroller)200、存储器210、物理存储装置端输出入连接控制器(physicalstoragedevice-sideIOinterconnectcontroller)220和中央处理电路(CPC)230。虽然图2A中所有的方块例示为分开的功能方块,但两个或多个,甚至于这些所有的功能方块在实际的实现上可以集成为一个芯片(chip)。该主机端输出入装置连接控制器200连接至该主机单元10和该CPC230以在该SVC100和该主机单元10之间充当接口和缓冲器,并且将接收由该主机单元10所传来的IO请求和相关的数据,并将其映射(map)和/或传送至该CPC230。该主机端输出入装置连接控制器200包含一个或多个主机端端口(port)以耦接至该主机单元10,可以合并于此的通常端口形式可以为光纤信道(fibrechannel)所支持的光纤(fabric)、点对点(point-to-point)、在目标模式(targetmode)下连接的公用环路(publicloop)和/或专用环路(privateloop)、操作在目标模式下的并行(parallel)小型计算机系统接口(SCSI)、操作于目标模式下支持该因特网小型计算机系统接口(internetSCSI,iSCSI)通讯协议的以太网络(Ethernet)、操作于目标模式下的串行附接小型计算机系统接口(Serial-AttachedSCSI,SAS)和操作于目标模式下的串行先进技术接取(SerialAdvancedTechnologyAttached,SATA)。当该CPC230通过该主机端输出入装置连接控制器200接收该主机单元10的IO请求时,该CPC230会将此IO请求剖析并执行一些操作以响应此IO请求,以及将该SVC100所请求的数据和/或报告和/或信息,经由该主机端输出入装置连接控制器200而传回该主机单元10。所述PSD130包含在第一箱体120-1中的第一组PSD130-1至130-8,在第二箱体120-2中的第二组PSD130-9至130-16,在第三箱体120-3中的第三组PSD130-17至130-24。需要注意的是,虽然在本实施例中,该SVC100被容纳在该第一箱体120内,但该SVC100不是与第一组的PSD一起在第一箱体120中,就是在该第一箱体120外。PSDpool被定义为包含至少一个正常使用的PSD,并且一poolID被提供用于标识该PSDpool。该poolID可以被存储在至少一个PSD的配置设定信息中或poolID单元(unit)的ID-存储(ID-storing)装置中。如果一pool的poolID被存储在该至少一个指定的pool备用PSD的配置设定信息中,或是存储在属于该pool的至少一个正常使用的PSD中时,则被指定为具有该备用的PSD的pool(即该pool备用的拥有者)将不会改变,例如除非该配置设定信息先被改变(可能被用户改变),然而,如果一pool的poolID存储在poolID单元的ID-storing装置中时,则被指定为具有该备用的PSD的pool(备用的拥有者),能通过从该pool中移除该备用的PSD,且插入至另外的pool而被改变。在此说明书中,此特性将更详述于后。在本实施例中,PSD130中的每一个PSD不是正常使用的PSD就是备用的PSD,而且三个pool110-1、110-2和110-3则符合箱体120-1、120-2和120-3而被定义。例如,除了该备用的PSD外,在相同箱体中的PSD则被定义为一个pool。该pool110-1包含PSD130-1至130-6,而且所述PSD130中的每一个PSD具有配置设定信息360,被存储在该PSD内。用来标识出该pool的第一poolID被付予且被存储于ID-storing装置350-1中。该pool110-2包含PSD130-9至130-14,而且所述PSD130中的每一个PSD具有配置设定信息360,被存储在该PSD内。用来标识出该pool的第二poolID被付予,且被存储于ID-storing装置350-2中(未示出)。该pool110-3包含PSD130-17至130-22,且所述PSD130中的每一个PSD具有配置设定信息360存储在该PSD内。用来标识出该pool的第三poolID被付予,且被存储于ID-storing装置350-3中。当用户指定一PSD以作为一pool的备用PSD时,则在至少一个配置设定信息中,该PSD将被指定作为一pool的备用PSD。在一PSD被指定为一pool的备用的PSD后,当有需要时,则该备用的PSD可以在该pool中被使用以作为该PSD的替代物。在另一实施例中,在一SVS中可能存在有一些未使用的PSD,所述未使用的PSD既不是被配置设定为正常使用的PSD也不是被配置设定为备用的PSD。所提供的ID-storing装置350-1(350-3)设置在该pool110-1(110-3)中的poolID单元240-1(240-3)之上。该poolID的主要功能指出属于一特定的PSDpool中的一个或多个PSD。该ID-storing装置350是存储该poolID设定的装置,例如,但并不受限于所列举的例子,存储器或开关。该poolID可以由用户、SVC或该SVS的制造商来设定。在本实施例中,该ID-storing装置350的实施例是由具有多个状态的开关来设定,而且该poolID也可在工厂制造时被预设(preset)。该poolID单元240是连接至所述PSD130和所述SVC100的一种装置,以对该SVC100提供一poolID,例如(但并不受限于所列举的例子),背板(backplane)。此背板为配置在一箱体中的PSD130的一PSD连接电路板。当该SVS电源开启状态时,该SVC100通过poolID单元240取得被存储在ID-storing装置350中的配置设定信息360与所述poolID,并存储该配置设定信息360和所述poolID至该SVC的存储器中,以标识出那一个PSD130是被该poolID所指定于pool110内。然后该配置设定信息和该poolID被整理以形成一备用表(sparetable),该备用表对SVC提供一个或多个PSD、一个或多个LMU以及一个或多个PSDpool至该SVC之间的关联信息(relationinformation)。例如(但并不受限于所列举的例子),所述PSD形成一LMU、对一特定LMU而言,该PSD是区域备用PSD、该PSD是全区备用PSD、一个或多个PSD形成一PSDpool以及对一特定PSDpool而言,该PSD作为该pool备用的PSD。存储在该SVC的内存中并且通过组合该配置设定信息和poolID所形成的该备用表可以为该SVC所使用,以辨识出那一个PSD具有一pool备用PSD所提供的备用能力。参考图2B,该SVS20对具有在PSD130中存储配置设定信息(未示出)的PSD130作映射,以对该主机单元10而言形成该逻辑媒体单元(LMU)140-1至140-5。该LMU140-1由5个正常使用的PSD130-1、130-2、130-9、130-10和130-17所形成;该LMU140-2由2个正常使用的PSD130-3和130-4所形成;该LMU140-3由5个正常使用的PSD130-11、130-12、130-18、130-19和130-20所形成;该LMU140-4由4个正常使用的PSD130-5、130-6、130-13和130-14所形成;该LMU140-5由2个正常使用的PSD130-21和130-22所形成。以实线所描绘的PSD代表为正常使用的PSD,而以虚线所描绘的PSD代表作为备用的PSD。该SVS20进一步包含6个pool备用的PSD130-7、130-8、130-15、130-16、130-23和130-24。该PSDpool110-1包含PSD130-1至130-6,且具有所述pool备用的PSD130-7和130-8。该PSDpool110-2包含PSD130-9至130-14且具有所述pool备用的PSD130-15和130-16;该PSDpool110-3包含PSD130-17至130-22且具有所述pool备用的PSD130-23和130-24。图2A和2B所示的实施例中,将poolID存储在ID-storing装置中而不是存储在配置设定信息中的特性说明如下因为所述poolID存储于所述ID-storing装置350中,所以若所述PSD130的其中一个PSD被指定为所述pool110之一的pool备用的PSD,例如,在该第一pool110-1的配置设定信息360中时,则在该pool110中移除该pool备用的PSD,然后将其插入至另一个pool110中,例如,插入该相同的SVS的第三pool110-3中之后,该pool备用PSD的拥有者将被认作为该第三pool110-3而不是该第一pool110-1。在该pool备用的PSD被插回到该同一个SVS20的第二pool110-2之后,此详细过程进一步包括有一过程,以将在该SVC100中的该备用表更新。在本实施例中,该更新过程可以在重置(reset)期间来执行,而在另一个实施例中,该更新的过程则可自动地来执行。在该更新过程的期间中,该SVC100通过第二poolID单元240-2而取得配置设定信息360和存储在第二ID-storing装置350-2中的第二poolID此两者(而不是存储在该第一ID-storing装置350-1的第一poolID),以辨识出该PSD130为该第二PSDpool110-2的pool备用PSD,且该SVC会存储所取得的配置设定信息360和该poolID于其存储器中。此结果为被存储在该SVC的存储器中的该pool备用PSD所指定的pool会被改变。当一指定的pool备用PSD根据该pool备用的PSD所在位置的箱体而改变时,这也可称作是箱体的备用。在另一实施例中,对在一具有分散于构造(building)上的多个箱体的PSD的SVS来说,PSDpool可以被定义为在一building范围内包含所有正常使用的PSD,或在一building范围内包含所述正常使用PSD的一部分。在进一步的实施例中,一SVS是提供两个分散于两个building上的PSDpool,在第一building中所有所有正常使用的PSD属于第一PSDpool以及第一poolID被存储在所述poolID单元的所有的ID-storing装置中,然而另一方面,在第二building中该箱体中所有正常使用的PSD属于第二PSDpool,而且第二poolID被存储在该poolID单元的所有的ID-storing装置中。在本实施例中,例如在一实际例子中,该poolID单元可以是背板(backplane),且该ID-storing单元可以是存储器或开关。假如该ID-storing单元为存储器时,其可以为非挥发性(non-volatile)存储器,例如(但不受限于所列举的例子),可编程电子擦除只读存储器(ErasableElectricProgrammableRead-OnlyMemory,EEPROM)或挥发性存储器(但不受限于所列举的例子),动态随机存取内存(DRAM)。假如一PSD被指定作为在该SVS的该第一PSDpool中的pool备用的PSD时,则只要该pool备用的PSD连接至第一building中的任何一个箱体时,该pool备用的PSD总能被认出属于该第一PSDpool,以保证该SVC取得该相同的poolID,即为该第一poolID,以辨识出该pool备用PSD的PSDpool。然而,假如在该备用的PSD被指定以作为该第一PSDpool的pool备用PSD后,该pool备用的PSD连接至该第二building的任何箱体时,然后该SVS将备用表更新,即该备用表不是能在SVS中被重置,就是能自动更新程序。因为该SVC现在将取得被存储在该第二building中的所述箱体的第二poolID,以辨识该pool的备用的PSD,所以在将该备用表更新之后,该pool备用的PSD也将被认出为一pool备用的PSD,但是是属于该第二PSDpool。在本实施例中,因为该pool备用的PSD(其在第一building中)被使用为替代物以存储在第二building中的另一个PSD数据的可能性大大地降低,所以限制在一building中的该PSDpool的定义提供一个优点,此优点为位于不同building的箱体的PSD间所存储的数据之间独立。在此种情形下,当所述building中的一个building碰到可让该building中的PSDpool操作失效的不可预见事件,例如(但不受限于所列举的例子)电源失效事件、火灾意外事件时,则以该PSDpool界线来保证另一building的数据可利用性和完整性。因为该两PSDpool定义出一pool备用的PSD的服务区域,且一旦在一PSDpool中正常使用的PSD需要一备用的PSD以作为备份时,则位于该building中的PSDpool的一pool备用的PSD能作为该正常使用的PSD的替代物,而不是位于另一building中的另外pool的一pool备用的PSD。如此一来,该每一building的数据被由存储在另一building来保护。此外,在SVS的building中的PSDpool数目也是弹性的。在一个或一个以上的实施例中,一SVS提供三个分散在两不个同building上的PSDpool。第一PSDpool被定义为包含在一building中的所述箱体的所有PSD;另两个PSDpool被定义为包含在另一building中的至少一个箱体的至少一个正常使用的PSD。在另一实施例中,一SVS也提供三个分散在两个不同的building中的PSDpool。在第一building中的第一箱体为第一PSDpool,且在第一poolID单元的第一ID-storing装置中的第一poolID被存储在该第一箱体中;在该第一building中的第二箱体为第二PSDpool,且在第二poolID单元的第二ID-storing装置中的第二poolID被存储在该第二箱体中;在第二building中的第三箱体是第三PSDpool且第三poolID单元的第三ID-storing装置中的第三poolID被存储在该第三箱体中。因此,对另一building而言,该每一building的数据仍保持独立性,更精确的说,该SVS的每一PSDpool的数据都是独立的。在另一实施例中,在该SVC电源开启期间,该备用表不必被完成,只因为缺乏必要的备份PSD信息。当PSDpool的PSD需要备用的PSD以作为替代的PSD时,该备用表可以为了所述备用的PSD所携带的信息在稍后被完成,而不是当该SVS电源开启时,产生该备用表。因此,当以上所提到的需求出现时,该SVC花了一些的时间以取得和存储备用的PSD的信息(其存储在该PSDpool的至少一个PSD的配置设定信息中和该PSDpool的ID中),以将待参考的该PSDpool的备用表完成。图3示出本发明的第二实施例。在图3中所示为该数据存储虚拟化子系统(SVS)20的范例,其包含一SVC和多个PSD130,连接至该SVC100上,以实线所描绘的PSD表示为正常使用的PSD;而以实线所描绘的PSD表示为备用的PSD。图3中所示的该SVS20和所述LMU140-1至LMU140-5的配置设定与图2B中所示的SVS和所述LMU以相同的方法来定义,以简化叙述而不是限制本发明的范围。所有的PSD130-1至PSD130-24被容纳于三个箱体120-1、120-2和120-3中,且分成PSDpool110-4与110-5两个组。该第一组PSDpool110-4被定义为包含箱体120-1所有正常使用的PSD130-1至130-6和箱体120-2所有正常使用的PSD130-9至130-14;该第二组PSDpool110-5包含箱体120-2所有正常使用的PSD130-9至130-14和箱体120-3所有正常使用的PSD130-17至130-22。该PSDpool110-4具有四个被指定为一个或多个的配置设定信息中的pool备用PSD130-7、130-8、130-15、130-16;该PSDpool110-5内具有该四个被指定为一个或多个的配置设定信息中的pool备用的PSD130-15、130-16、130-23、130-24。在本实施例中,该poolID(未示出)被存储在ID-storing装置(未示出)中,其可为至少一个开关或至少一个存储器(其设置在该poolID单元(未示出)),其中该poolID单元也可以为背板(backplane)。在该箱体120-2的poolID单元的ID-storing装置中,PSDpool110-4的poolID和PSDpool110-5的poolID此两者都被存储。虽然在该箱体120-1的poolID单元的ID-storing装置中,只有PSDpool110-4的poolID被存储,而且在该箱体120-3的poolID单元的ID-storing装置中,也只有PSDpool110-5的poolID被存储。以该箱体120-2的所述正常使用的PSD130的观点来看,当有需要时,所有6个pool备用的PSD130-7、130-8、130-15、130-16、130-23及130-24中的pool备用的PSD可以为替代物,此情形例如PSD或其它代替该箱体120-2中的任何正常使用的PSD130失效时。该配置设定信息不是设置在所有的PSD130中,就是设置在PSD130的一部分中。图4示出本发明的第三实施例,图4中所示是该数据存储虚拟化子系统(SVS)20的范例,其包含一SVC100和多个PSD130,连接至该SVC100上,以实线所描绘的PSD代表所述正常使用的PSD,而以虚线所描绘的PSD代表备用的PSD。图4中所示该SVS20和所述LMU140-1至LMU140-5的配置设定与图2B中所示该SVS和所述LMU以相同的方法被定义,其简化了叙述而不是限制本发明的范围。所有的PSD130-1至PSD130-24被容纳于三个箱体120-1、120-2和120-3中,且分成PSDpool110-6与PSDpool110-7两个组。图4中所示该PSDpool110-6包含LMU140-1、140-2和140-3的所述正常使用的PSD130-1、130-2、130-9、130-10、130-17、130-3、130-4、130-11、130-12、130-18、130-19、130-20;该PSDpool110-7包含LMU140-4、140-5的所述正常使用的PSD130-5、130-6、130-13、130-14、130-21和130-22。该PSDpool110-6提供4个被指定在该一个或多个配置设定信息的pool备用的PSD130-7、130-15、130-23、130-24,且该PSDpool110-7提供2个被指定在该一个或多个配置设定信息的pool备用的PSD130-8、130-16。该配置设定信息不是设置在所有的PSD130中,就是设置在该PSD130的一部分中。在本实施例中,该poolID和那一个正常使用的PSD130形成PSDpool110az信息都被存储在每一PSDpool110的至少一个PSD的配置设定信息中,或被存储在至少一个该指定的pool备用PSD(s)130的配置设定信息之中,而不是存储在该poolID单元的ID-storing装置中。例如,pool110-6的第一poolID被存储在正常使用的PSD130-1至130-4、130-9至130-12、130-17至130-20和所述pool备用的PSD130-7、130-15、130-23、130-24的至少其中之一的配置设定信息中。如此一来,该第一pool110的pool备用的PSD130所属的PSDpool不是简单地通过从该第一pool110移除该备用的PSD130且将该备用的PSD130插入至该第二pool110,而从该第一pool110改变至第二pool110(以上操作随着更新该SVS20而得到已更新的备用表),因为以上所提及的步骤将不会改变存储在该PSD130中的poolID,然而该poolID为认出哪一个pool110是该PSD130所属的pool110的关键。图5示出本发明的第四实施例,图5中所示是该数据存储虚拟化子系统(SVS)20的范例,其包含一SVC100和多个PSD连接至该SVC100上,以实线所描绘的PSD代表所述正常使用的PSD,而以虚线所描绘的所述PSD代表作为备用的PSD。图5中所示的该SVS20和所述LMU140-1至LMU140-5的配置设定与图2B中所示的SVS20和所述LMU以相同的方法来形成,以简化叙述而不是限制本发明的范围。所有的PSD130-1至PSD130-24被容纳于三个箱体120-1、120-2和120-3中,且分成PSDpool110-8个110-9两个组。该第一PSDpool110-8包含所述LMU140-1、140-2、140-3的正常使用的PSD130-1、130-2、130-9、130-10、130-17、130-3、130-4、130-11、130-12、130-18、130-19和130-20;该PSDpool110-9包含所述LMU140-2、140-4、140-5的正常使用的PSD130-3、130-4、130-5、130-6、130-13、130-14、130-21和130-22。该PSDpool110-8具有四个在该配置设定信息中的pool备用的PSD130-7、130-15、130-23、130-24,且该PSDpool110-9具有两个在该配置设定信息中的pool备用的PSD130-8、130-16中。在本实施例中,poolID(未示出)和那一个正常使用的PSD130形成PSDpool100的信息此两者被存储于每一PSDpool110的至少一个正常使用PSD130的配置设定信息中,或被存储在该至少一个指定的pool备用的PSD130的配置设定信息中,而不是被存储在poolID单元的ID-storing装置中。在该PSD130-3、130-4配置设定信息中,所述PSDpool110-8、110-9的两个poolID被存储。虽然在所述PSD30-1、130-2、130-9、130-10、130-17、130-11、130-12、130-18、130-19和130-20中的配置设定信息中,仅有PSDpool110-8的poolID被存储于其中,且所述PSD130-5、130-6、130-13、130-14、130-21和130-22中的配置设定信息,也仅有PSDpool110-9的poolID被存储于其中。以所述正常使用的PSD130-3、130-4观点来看,当有需要时,6个所有的pool备用的PSD130-7、130-8、130-15、130-16、130-23和130-24,都可以作为该箱体120-2的任何正常使用的PSD130的替代物,例如,PSD失效时或是其它代替该正常使用的PSD130-3或130-4的情况。该配置设定信息不是提供于该所有的PSD130中,就是提供于该部分的PSD130的一部分中。在另一实施中,该SVC110通过参考备用表而使用至少一个pool备用的PSD,以将存储在失效的正常使用的PSD中的数据重构,其中此备用表是该SVC电源开启期间而产生,以寻找可利用的pool备用PSD来替代该失效的正常使用的PSD,其细节说明如下在该SVC察觉到有失效的正常使用的PSD存在后,该SVC的第一步参考该备用表以察看该失效的正常使用的PSD的PSDpool是否曾记录下任何pool备用的PSD。然后第二步是根据该存储容量(storagevolume)和/或pool备用的PSD的型态等等,来判定是否有任何该记录的pool备用的PSD可被利用作为该失效的正常使用的PSD的替代物。假设该纪录的pool备用的PSD的存储容量比该失效的正常使用的PSD的存储容量小时,则很明显,存储在该失效的正常使用的PSD的数据无法在该pool备用的PSD中完全地被重建。对于该失效的正常使用的PSD来说,这是该SVC判定该pool备用的PSD是不可利用的理由之一。假如该SVC判定无任何该纪录pool备用的PSD是可利用的时,该SVC将无法将存储在该失效的正常使用的PSD中的数据重构。假如发现该pool备用的PSD之一可利用时,该SVC将被存储在该可利用的pool备用的PSD中该失效的正常使用的PSD中的数据重构,以保护该SVS的数据完整性。在更进一步的实施例中,当用户或SVC想要去指定PSD以作为pool备用的PSD时,该SVC判定该PSD的存储容量或该PSD的型态是否能将被存储在该PSDpool的任何正常使用的PSD中的数据重构,且以维护数据完整性为先,而不是在该SVC察觉有失效的正常使用的PSD存在之后,才来判定pool备用的PSD的此一属性。请注意,因为PSDpool是为了指定pool备用的PSD至PSDpool的目的而被定义,所以该pool备用的PSD在该PSDpool中被定义与否并不影响本发明的本质,假如在该pool备用的PSD的定义可与该pool备用的定义相符的话。因此,必须注意本发明包含两种情况。图6所示是系根据本发明,该SVC的数据重构控制流程的一实施例。在本实施例中,该SVS不仅能提供备用的PSD,也能提供区域备用的PSD或全区备用的PSD。步骤600中,在该SVC知道该SVS内部存在有失效的正常使用的PSD之后,该SVC将参考在电源开启期间或该SVS程序更新中所形成的备用表,以在步骤600中发现该失效的正常使用的PSD的LMU是否有已记录的区域备用的PSD。假如该步骤610中的答案为「是」时,步骤670中,该SVC将将存储在所述PSD和存储在该所发现备用的PSD的SVC存储器此两者中相关的配置设定信息更新,以消除该备用的PSD的纪录,然后在步骤680中,将在该区域备用的PSD中该失效的正常使用的PSD中的数据重构。若该步骤610中的答案为「否」时,在步骤620中,该SVC将再次检查该备用表,看该失效的正常使用的PSD所指定的PSDpool是否提供有任何已纪录pool备用的PSD。在步骤630中,假如该SVC根据该备用表发现出该失效的正常使用的PSD的PSDpool有一个或多个pool备用的PSD时,然后该SVC判定该已发现的一个或多个pool备用的PSD是否可利用。例如,(但不受限于所列举的例子)该或该一个或多个的pool备用的PSD的存储容量或型态能将存储在该失效的正常使用的PSD中的数据重构,同时该SVC的数据完整性能被保护。步骤670中,假如该已发现的一个或多个pool备用的PSD的其中之一对该失效的正常使用的PSD的重建而言是可利用的时,该SVC将存储在该PSD和存储在该可利用的备用PSD的SVC存储器此两者中相关的配置设定信息更新,在步骤680中,然后将存储在该可利用的poolPSD中该失效的正常使用的PSD中的数据重构。步骤630中,假如该SVC判定该发现的全部的一个或多个pool备用的PSD对该失效的正常使用的PSD而言是不可利用的时,步骤640中,该SVC进一步将再次参考该备用表,来看该SVS是否提供任何全区备用的PSD。假如该SVS不提供任何全区备用的PSD时,该控制流程直接进入步骤660,其中步骤660为该SVC无法将存储在该失效的正常使用的PSD数据重构。步骤640中假如答案是「是」时,则在步骤650中,该SVC判定该已发现的任何一个或多个pool备用的PSD是否可利用。步骤650中,假如该SVC判定该发现的一个或多个全区备用的PSD其中之一是可利用的时,步骤670中,该SVC将存储在该PSD和存储该可利用的备用的PSD的SVC的存储器此两者中相关的配置设定的信息更新,在步骤680中,然后将存储在该可利用的全区备用的PSD中该失效的正常使用的PSD的数据重构。步骤650中,假如该SVC判定该已发现的一个或多个全区备用的PSD中无任何全区备用的PSD可利用时,则存储在该失效的正常使用的PSD中的数据无法被重建。在本实施例中,不需去判定该已发现的区域备用的PSD是否可利用的理由是,当用户或该SVC想要去指定一PSD以作为区域备用的PSD时,该判定已经被处理,且只有在该PSD被判定对该被指定的LMU中所有的正常使用的PSD为可利用时,该PSD才可被指定作为区域备用的PSD。然而,在另一实施例中,该控制流程可以进一步包含在如图6所示的步骤610和步骤670之间的步骤有检查任何该已发现的区域备用的PSD是否可利用。在更进一步的实施例中,因为步骤630或步骤650已于图6中所示的实施例中以之前所叙述相同的方法而先行判定,所以步骤630和步骤670中的任何一个或两者可以被省略。又在另一实施例中,如图6中所示的步骤610、620和640的顺序可以互相交换。例如,图6中所示的控制流程的步骤620可以与步骤640交换,而步骤630也可与步骤650交换。在另一实施例中,图6中所示的步骤670可以与步骤680交换。虽然在以上所提及的实施例中,例举出该pool备用的PSD在数据重构中可作为失效的PSD的替代物来使用,但该pool备用的PSD的功能并不受限于该pool备用的PSD上,而是当有需要时,可以作为该PSDpool的备用PSD。例如,当该SVC在一段时间内判定该正常使用的PSD将要失效而尚未失效时,此后称作「即将结束的(dying)」,该SVC可参考该备用表,以寻找出到一可利用的pool备用的PSD来替代该即将结束的正常使用的PSD,而不是等到该即将结束的正常使用的PSD变成失效的PSD。在此情况下,图6中所示的控制流程为了找出仍在工作但即将结束的正常使用的PSD,通过简单地以「即将结束的PSD」来取代该「失效的PSD」这项而寻找到一可利用的备用PSD以作为替代物,且以所想要的功能来重建功能(如,在具有「即将结束的PSD」的该「代替功能」例子中)。前面所叙述的所有例图与例示中,仅作为实施的范例而并非限制本发明的范围。很明显的,对于本领域技术人员来说,在没有超出该发明的范围或精神的情况下,可将不同的修改和变动作为本发明的结构。前述的观点中,本发明想要包含以下落在该范围内的修正和变动的发明的声明和等效物。权利要求1.一种对主机单元提供数据存储空间的数据存储虚拟化子系统(SVS),包括存储虚拟化控制器(SVC),用于连接至主机单元;至少一个物理存储装置池(PSDpool),其包含至少一个用于存储用户数据或相关的冗余信息的PSD;以及池ID(poolID),用于所述至少一个PSDpool的每一PSDpool;通过至少一个PSD可被指定为pool备用的PSD,给该至少一个PSDpool。2.如权利要求1所述的SVS,其中该至少一个PSDpool包含有被存储在该至少一个PSD中的配置设定。3.如权利要求2所述的SVS,其中该SVC包含备用表,其包括该配置设定信息的备用相关信息和该poolID。4.一种用于如权利要求3所述的SVS的控制方法,包括步骤检查该备用表以判定是否指定一可利用的pool备用的PSD给该PSDpool。5.如权利要求4所述的控制方法,包括步骤将被存储在一可利用的pool备用的PSD中该PSD中的数据重构。6.如权利要求4所述的控制方法,包括步骤将被存储在一可利用的pool备用的PSD中的数据备份。7.如权利要求4所述的控制方法,包括步骤将被存储在该至少一PSD中的该可利用的pool备用的PSD的至少一个配置设定信息更新。8.如权利要求4所述的控制方法,包括步骤将被存储在备用表中该可利用的pool备用的PSD的至少一个配置设定信息更新。9.如权利要求2所述的SVS,其中该至少一PSD属于多个逻辑媒体单元的多个PSD。10.如权利要求9所述的SVS,其中该至少一个poolID被存储于该配置设定信息中。11.如权利要求9所述的SVS,其中该存储虚拟化控制器包含备用表,其包含有该配置设定信息的备用相关信息和该poolID。12.一种用于如权利要求11所述的该SVS的控制方法,包含步骤检查该备用表以判定是否指定一可利用的pool备用的PSD给该PSDpool。13.如权利要求12所述的控制方法,包括步骤将被存储在一可利用的pool备用的PSD中该PSD中的数据重构。14.如权利要求12所述的控制方法,包括步骤将被存储在一可利用的pool备用的PSD中的数据备份。15.如权利要求12所述的控制方法,包含步骤将被存储在该至少一PSD中的该可利用的pool备用的PSD的至少一配置设定信息更新。16.如权利要求12所述的控制方法,包括步骤将被存储在备用表中该可利用的pool备用的PSD的至少一个配置设定信息更新。17.如权利要求12所述的SVS,其中该至少一个物理存储装置PSDpool包含至少一个ID存储(ID-storing)装置,以存储该poolID。18.如权利要求17所述的SVS,其中该至少一个物理存储装置PSDpool包含至少一个poolID单元,其具有ID存储装置。19.如权利要求17所述的SVS,其中该至少一个ID存储装置是开关。20.如权利要求17所述的SVS,其中该至少一个ID存储装置是存储器。21.如权利要求17所述的SVS,其中当该至少一个物理存储装置PSD自第一PSDpool中被移除,然后被插入至该相同的SVS的第二PSDpool中时,该被指定的PSDpool从该第一PSDpool改变至该第二PSDpool。22.如权利要求18所述的SVS,其中该至少一个poolID单元是背板。23.如权利要求18所述的SVS,其中该至少一个PSD是箱体PSD。24.如权利要求18所述的SVS,其中该至少一个物理存储装置PSD为多个且属于多个箱体。25.如权利要求18所述的SVS,其中第三PSDpool的所有的该至少一个PSD位于相同的构造(building)中。26.如权利要求20所述的SVS,其中该至少一个存储器是非挥发性存储器。27.如权利要求20所述的SVS,其中该至少一个存储器是挥发性存储器。28.如权利要求26所述的SVS,其中该非挥发性存储器是至少一个EEPROM。29.如权利要求27所述的SVS,其中该挥发性存储器是至少一个DRAM。30.如权利要求17所述的SVS,其中该存储虚拟化控制器SVC包含备用表,其包括该配置设定信息的备用相关信息和该poolID。31.如权利要求30所述的SVS,其中该SVC的备用表在该SVC电源开启时产生。32.如权利要求30所述的SVS,其中当该SVC知道有新插入的PSD时,该SVC的该备用表自动被更新。33.如权利要求30所述的SVS,其中当该SVC知道有新插入的PSD时,该SVC的备用表在该SVS的重置过程期间被更新。34.如权利要求30所述的SVS,其中当该备用的PSD自该SVS移除或插入至该SVS时,该SVC的该备用表被更新。35.一种用于如权利要求30所述的SVS的控制方法,包含步骤检查该备用表以判定是否指定一可利用的pool备用的PSD给该PSDpool。36.如权利要求35所述的控制方法,包括步骤将被存储在一可利用的pool备用的PSD中该PSD中的数据重构。37.如权利要求35所述的控制方法,包含步骤将被存储在一可利用的pool备用的PSD中的数据备份。38.如权利要求35所述的控制方法,将被存储在该至少一个PSD中的该可利用的pool备用的PSD的至少一个配置设定信息更新。39如权利要求35所述的控制方法,包括步骤将被存储在备用表中该可利用的pool备用的PSD的至少一个配置设定信息更新。40.一种用于数据存储虚拟化子系统的备用的物理存储装置PSD指定方法,该存储虚拟化子系统具有多个PSD,该方法包括步骤定义PSDpool;以及指定至少一个PSD以做为给该PSDpool的备用的PSD。41.一种用于指定备用的PSD的方法,其中该备用的PSD用于一SVS,该SVS包括有PSDpool、被指定至该PSDpool的pool备用的PSD和至少一个非池(non-pool)的备用的PSD,该方法包含步骤若该pool备用的PSD可利用时,选择该pool备用的PSD以作为在该PSDpool中所使用的备用的PSD;以及若该pool备用的PSD不可利用时,选择该non-pool备用的PSD以作为在该PSDpool中所使用的备用的PSD。42.如权利要求41所述的方法,其中该至少一个non-poolPSD包含区域的PSD。43.如权利要求41所述的方法,其中该至少一个non-poolPSD包含全区的PSD。44.如权利要求41所述的方法,其中该至少一个non-poolPSD包含区域的PSD。45.如权利要求41所述的方法,其中该至少一个non-poolPSD包含区域的PSD和全区的PSD,且该方法在该non-pool备用的PSD选定的步骤中,还包含步骤若该pool备用的PSD不可利用时,选定该区域备用的PSD作为备用的PSD,以使用于该PSDpool中。46.如权利要求45所述的方法,在该non-pool备用的PSD选定步骤中,进一步包括步骤若该区域备用的PSD不可利用时,选定该全区备用的PSD作为备用的PSD,以使用于该PSDpool中。47.一种用于定义PSDpool以使用于一SVS的方法,包括步骤指定多个PSD至少其中之一,以存储用户数据或相关冗余信息的步骤;以及付予一poolID以辨识该PSDpool。专利摘要本发明对主机单元提供数据存储虚拟化子系统(SVS),该SVS包含存储虚拟化控制器,其连接至该主机单元,和至少一个物理存储装置(PSD)pool、该至少一PSD被选定以作为该至少一个PSDpool的pool备用的PSD,而该至少一个PSDpool包含至少一个存储用户数据或相关的冗余信息的至少一个PSD且被付予一个poolID以辨识该PSDpool。文档编号G06F3/06GK1991734SQ200610136106公开日2007年7月4日申请日期2006年10月11日发明者施明文,陈介玮申请人:普安科技股份有限公司导出引文BiBTeX,EndNote,RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1