自动数据存储库中的数据存储驱动器的制作方法

文档序号:6750200阅读:240来源:国知局
专利名称:自动数据存储库中的数据存储驱动器的制作方法
技术领域
本发明涉及在贮存架中贮存便携式数据存储盒(storage cartridge)并且在贮存架与数据存储驱动器之间传送便携式数据存储盒的自动数据存储库的数据存储驱动器,用于在数据存储驱动器上安装和卸载便携式数据存储盒,特别涉及这些数据存储驱动器相对于与存储库通信的主机应用的分配以及这些数据存储驱动器的虚拟化。
背景技术
自动数据存储库日益用于存储大量数据,典型地是不被主机应用频繁访问的数据。数据存储在便携式数据存储盒上,其中便携式数据存储盒贮存在贮存架中。便携式数据存储盒的例子是容纳一段磁带或容纳光盘的存储盒。
当数据被存储库访问时,通过存储库的自动机械控制来操作的存取器自动机械(accessor robot)从贮存所需便携式数据存储盒的贮存架夹取(grip)该存储盒,并且在贮存架与数据存储驱动器之间传送便携式数据存储盒,以在数据存储驱动器上安装和卸载便携式数据存储盒,并且将便携式数据存储盒返回到相同或不同贮存架。
自动数据存储库有时安排成即使存在多个主机应用,存储库及其数据存储驱动器对于每个主机应用看上去就像是其自己的存储库和驱动器一样。在一个例子中,存储库的一组特定贮存架和至少一个数据存储驱动器专用于每个主机应用。当存在来自主机应用的数据请求时,具有请求数据的便携式数据存储盒被存储库的存取器自动机械访问,并且传送到专用于主机应用的数据存储驱动器以由主机应用使用。这样,主机应用可以对已知的驱动器执行一系列安装。从主机的角度来看,这是非常高效的,因为其驱动器总是可用,并且驱动器寻址是直接和立即的。存储库也可以看来像是被直接分配给主机应用,但是存取器自动机械实际上是共享的。从驱动器使用的角度来看,这是低效的,因为如果每一个主机应用不是一直使用其专用数据存储驱动器,则驱动器经常是空闲的。由于驱动器分配给不同主机应用,因此任何特别有效的主机应用不能从另一个主机应用“借用”驱动器,并且例如如果所有被分配驱动器得到利用并且需要不同存储盒上的数据,则主机应用可能必须等待直到主机应用本身卸载一个存储盒或者释放其驱动器,从而访问其他存储盒上的数据。从另一个主机应用“借用”驱动器无论如何都需要至少重新配置用于这两个主机应用的设备驱动程序。如果主机应用的需求增长,在不重新配置至少主机应用的情况下,新驱动器不能分配给该主机应用。
在另一个例子中,主机应用不允许与数据存储驱动器直接通信。相反,建立“虚拟”存储库,它采用高速缓冲存储器(典型地是盘驱动器)来存储从主机应用接收的数据,表现起来就像是高速缓冲存储器是数据存储驱动器并且正在将数据写入到便携式数据存储盒一样。数据在高速缓冲存储器中的时候可以被重新访问,这称作“高速缓冲存储器命中(hit)”。如果不被重新访问,则存储库采用由存储库选择的数据存储驱动器将数据从高速缓冲存储器下载到存储盒。当主机应用请求数据时,并且该数据不在高速缓冲存储器中时,这称作“高速缓冲存储器未命中(miss)”,存储库采用表来查找存储数据的存储盒,操作存取器自动机械来访问存储盒,查找可用数据存储驱动器,操作存取器自动机械来在驱动器上安装存储盒,从存储盒中读取数据,并且将数据上载到高速缓冲存储器。从存储库的角度来看,使用存储库组件是高效的。然而,高速缓冲存储器是昂贵的,并且增加成本和复杂性。高速缓冲存储器必须足够大以处理大数据集,并且必须具有良好的升级(staging)和降级(destaging)算法以避免过量的“高速缓冲存储器未命中”情形。主机应用与高速缓冲存储器通信而不是与驱动器直接通信,并且任何主机应用可以竞争使用共享组件,从而导致较不可预测的性能。如果驱动器失败并且需要更换,则主机应用可能不能从异常情况恢复,尤其是没有任何其他驱动器可用的情况。如果驱动器在所有其他方面都是同类的,则有可能可以将重新配置限于改变序列号。对于异类驱动器(具有至少一个不同特征的驱动器),在不作较大重新配置来适应不同特征的情况下,禁止其升级、交换或共享。通过在不同主机处理器之间分区的主机应用,可以提供受限驱动器共享,但是分区必须不断地相互通知它们对驱动器的使用,从而保持同步,并且不允许主机应用之外的共享。

发明内容
本发明的本实施例的一个目的是提供一种以高效方式采用共享组件的自动数据存储库系统。
本发明实施例的另一个目的是在不需要重新配置主机应用或存储库的情况下,允许扩展主机应用或存储库来获得附加驱动器的好处。
一种分配系统和计算机实现方法,被提供用于分配自动数据存储库的物理数据存储驱动器。存储库在贮存架上贮存多个便携式数据存储盒,并且存取器自动机械在贮存架与数据存储驱动器之间传送便携式数据存储盒,以在数据存储驱动器上安装和卸载便携式数据存储盒。
分配系统包括响应例如来自主机应用的数据存储驱动器请求而耦合到存储库(或其上的)驱动器资源提供器。根据共同未决的′00038-US1申请,驱动器资源提供器将多个存储库物理数据存储器驱动器分配给驱动器池,并且为有益于主机应用而从驱动器池分配和释放数据存储驱动器。
根据本发明,当在驱动器池的所有数据存储驱动器均被分配的情况下接收到数据存储驱动器请求时,驱动器资源提供器向存储库指示暂停(hold)任何关于该请求的便携式数据存储盒的安装。另外,当在所有驱动器均被分配的情况下接收到请求时,驱动器映像提供器提供被请求驱动器当前不可用于完成需要已安装便携式数据存储盒的任何随后命令的指示。如共同未决的′00038-US1申请所述,响应可以包括在此称作“未就绪”的伪完成响应。因此,主机应用被保证它具有数据存储驱动器,并且如果需要,可以重试或发出其下一个关于驱动器的命令。如果下一个命令不要求驱动器就绪或者便携式数据存储盒被安装且就绪,则存储库可能能够立即处理命令。
在提供指示之后,驱动器资源提供器等待释放数据存储驱动器和在所释放的数据存储驱动器上卸载任何便携式数据存储盒的请求,并且将所释放的数据存储驱动器分配给驱动器请求,并且向存储库指示解除暂停关于请求的安装。
另外,驱动器资源提供器在驱动器池之外分配多个存储库数据存储驱动器至少之一作为备用驱动器。因而,在提供指示之后,驱动器资源提供器将至少一个备用驱动器之一分配给该请求,并且向存储库指示解除暂停关于请求的安装。
在一个可选实施例中,驱动器资源提供器等待预定时间段,并且如果在预定时间段内出现释放数据存储驱动器和在所释放的数据存储驱动器上卸载任何便携式数据存储盒的请求,则将所释放的数据存储驱动器分配给该请求;否则,在该时间段结束之后,驱动器资源提供器将备用数据存储驱动器分配给该请求。
作为另一个实施例,存储库包括多个虚拟存储库,并且多个虚拟存储库至少之一具有比其他虚拟存储库更高的优先级。驱动器资源提供器确定虚拟驱动器请求的虚拟存储库的优先级,并且如果虚拟存储库具有较高优先级,则响应该请求分配备用驱动器,并且向存储库指示解除暂停关于请求的安装。
在另一个实施例中,备用驱动器使用受到限制。当驱动器池的所有数据存储驱动器均被分配时,每次接收到请求时,驱动器资源提供器增加计数。驱动器资源提供器将增加后的计数与预定限值进行比较,并且当增加后的计数小于预定限值时,分配备用数据存储驱动器。
作为另一个实施例,在分配备用数据存储驱动器之后,驱动器资源提供器还投递(post)表示使用备用数据存储驱动器的消息。在一个实施例中,所投递消息包括向系统操作员通知可以采取行动以将备用数据存储驱动器转移到驱动器池中的通知。作为一个例子,将备用驱动器转移到驱动器池中将导致存储库的成本提高。如果进行转移,则驱动器资源提供器将备用数据存储驱动器加入驱动器池,从而删除作为备用数据存储驱动器的驱动器。
在另一个实施例中,作为诱导(incentive),所投递消息还包括将备用驱动器转移到驱动器池中的失败将导致备用数据存储驱动器的将来不可用性的通知,并且当没有将至少一个备用数据存储驱动器转移到驱动器池中的请求时,驱动器资源提供器删除将多个存储库数据存储驱动器至少之一分配为备用驱动器,从而被分配备用驱动器变得未被分配。
这样,驱动器一被释放,则将驱动器分配给主机应用,或者将备用驱动器分配为备用驱动器。另外,如果需要,向系统提供备用驱动器,并且当系统需求增长时,允许系统操作员通过永久性地增加备用驱动器到驱动器池来选择性地增大驱动器池中的数据存储驱动器数,而无需首先联系销售人员。
本发明的一个目的是允许主机应用各自获得对自动数据存储库的一个或多个共享数据存储驱动器的访问,并且具有驱动器专用于主机而无需高速缓冲存储器的表象。
本发明的另一个目的是在无需重新配置主机应用设备驱动程序的情况下允许增加、删除或更换驱动器。
虚拟化系统引导主机应用与自动数据存储库的物理数据存储驱动器之间的通信。存储库在贮存架上贮存多个便携式数据存储盒,并且提供用于在贮存架与数据存储驱动器之间传送便携式数据存储盒的存取器自动机械。
至少一个驱动器映像提供器耦合到主机应用,从而向主机应用提供至少一个虚拟数据存储驱动器的至少一个映像,为每一个虚拟驱动器提供固定标识和对主机应用的固定响应集,并且引导主机应用与自动数据存储库的“n”个数据存储驱动器的驱动器池的数据存储驱动器之间的通信。
驱动器资源提供器耦合到驱动器映像提供器。在任一时间,驱动器资源提供器向驱动器映像提供器分配了“n”个物理数据存储驱动器的驱动器池中的任意个数“m”,并且指示数据存储驱动器池中的“n”-“m”是被释放的并且可用于分配。驱动器资源提供器响应主机应用的请求虚拟驱动器的触发事件(triggering event),将驱动器池的“n”-“m”个数据存储驱动器之一专用于虚拟驱动器,向驱动器映像提供器指示作为固定多个虚拟驱动器之一专用于请求主机应用。
驱动器映像提供器向请求主机应用表征(characterize)专用数据存储驱动器为固定虚拟驱动器之一,并且引导由作为虚拟驱动器的请求主机应用向专用数据存储驱动器的通信。
在驱动器资源提供器专用驱动器之前,驱动器映像提供器向请求主机应用表征虚拟驱动器“未就绪”。作为例子,“未就绪”包括没有介质装载在驱动器中的报告状态。
在一个实施例中,触发事件包括请求主机应用在虚拟数据存储驱动器上安装便携式数据存储盒所选之一的请求。驱动器资源提供器向存储库指示驱动器池的“n”-“m”个数据存储驱动器中的哪一个是专用于主机应用以安装所选便携式数据存储盒的驱动器。
作为一个可选实施例,触发事件包括请求主机应用对驱动器映像提供器的虚拟数据存储驱动器的“保留”请求。“保留”请求由驱动器映像提供器接收,作为对驱动器池的驱动器的请求向驱动器资源提供器通知。驱动器资源提供器另外向存储库指示专用数据存储驱动器专用于请求主机应用,以安装被选用于作为虚拟驱动器、由固定标识所识别的数据存储驱动器的任何便携式数据存储盒。
作为另一个可选实施例,触发事件包括请求主机应用对虚拟数据存储驱动器的命令。驱动器资源提供器另外向存储库指示专用数据存储驱动器专用于请求主机应用,以安装被选用于作为虚拟驱动器、由固定标识所识别的数据存储驱动器的任何便携式数据存储盒。
驱动器资源提供器响应与主机应用相关并指定专用于反触发(detriggering)主机应用的数据存储驱动器、指示从驱动器映像提供器中释放数据存储驱动器的反触发事件(detriggering event),并且将该驱动器加入驱动器池的被释放数据存储驱动器。在一个实施例中,反触发事件包括从识别为虚拟数据存储驱动器之一的专用数据存储驱动器卸载便携式数据存储盒之一的反触发主机应用命令。在这种情况下,驱动器资源提供器向存储库提供指示,标识作为在其上安装了便携式数据存储盒的虚拟驱动器的该专用数据存储驱动器。在另一个实施例中,反触发事件包括释放识别为虚拟数据存储驱动器之一的专用数据存储驱动器的反触发主机应用的命令。
在另一个实施例中,反触发事件包括在预定超时时间段内不使用专用数据存储驱动器。当预定超时时间段结束时,驱动器资源提供器判定便携式数据存储盒之一是否保持安装在专用数据存储驱动器上,并且向存储库通知卸载已安装的便携式数据存储盒。
在另一个实施例中,存储库包括多个虚拟存储库,并且多个虚拟存储库至少之一分配有较高优先级。因此,当“m”-“n”等于零、意味着所有数据存储驱动器均被专用时,并且当出现较高优先级虚拟存储库的虚拟驱动器的触发事件时,驱动器资源提供器从较低优先级虚拟存储库中释放数据存储驱动器,向驱动器映像提供器通知该释放,通知存储库从被释放的数据存储驱动器中卸载任何便携式数据存储盒,并且将所释放的数据存储驱动器专用于较高优先级虚拟存储库的虚拟驱动器。
另外,可以在驱动器资源提供器的数据存储驱动器池中增加、删除、或交换数据存储驱动器,但是驱动器映像提供器表征虚拟驱动器无变化。
在一个实施例中,驱动器资源提供器采用驱动器映像表与驱动器映像提供器通信,其中驱动器映像表具有组成映像的虚拟数据存储驱动器列表,并且指示驱动器池中的数据存储驱动器专用为虚拟驱动器。
为了更全面理解本发明,将要参照下面结合附图的详细描述。


图1是根据本实施例的虚拟化系统的图形表示;图2是可以实现本发明实施例的自动数据存储库的等轴图;图3是图2的自动数据存储库以及主机应用和介于主机应用与可以实现本发明实施例的自动数据存储库之间的各组件的方框图;图4A和4B分别是可以贮存在图2和3的自动数据存储库的贮存架中的示例性便携式数据存储盒的顶视图和端视图;图5A和5B是根据本实施例的示例性驱动器映像表的图解;图6是根据本实施例的示例性驱动器表的图解;图7是根据本实施例的示例性存储库映像表的图解;图8是描述用于配置或改变图2和3的自动数据存储库的驱动器的配置的本发明方法的一个实施例的流程图;图9是描述用于图1的驱动器映像提供器的本发明方法的一个实施例的流程图;图10A和10B是描述针对触发事件的用于图1的驱动器资源提供器的本发明方法的一个实施例的流程图;图11是描述针对反触发事件的用于图1的驱动器资源提供器的本发明方法的一个实施例的流程图;以及图12A、12B和12C是描述针对锁定数据存储驱动器的用于图1的驱动器资源提供器的本发明方法的一个可选实施例的流程图。
具体实施例方式
本发明在下面参照附图的描述中是采用优选实施例来描述的,其中,相同的标号表示相同或类似的单元。虽然本发明是按照用于实现本发明目的的最佳方式来描述的,但是本领域的技术人员应该理解,在不脱离本发明的精神或范围的情况下,可以参照本文实现各种变更。
参照图1-3,示出虚拟化系统10的实施例,其中,虚拟化系统10引导主机应用如主机应用11、12与自动数据存储库17的数据存储驱动器15之间的通信。存储库在贮存架16中贮存多个便携式数据存储盒14,并且提供用于在贮存架与数据存储驱动器之间传送便携式数据存储盒的存取器自动机械18、20。
至少一个驱动器映像提供器30耦合到一个或多个主机应用11、12,并且向每个主机应用提供至少一个固定虚拟数据存储驱动器的映像,同时实际引导主机应用与自动数据存储库的“n”个数据存储驱动器15的驱动器池的数据存储驱动器之间的通信。因此,存储库的驱动器15在主机应用之间共享。驱动器映像提供器通过为每一个虚拟驱动器采用固定标识和对主机应用的固定响应集来描述与主机通信的映像,从而向主机应用提供主机的所有虚拟驱动器都总是专用于主机的表象。此外,底层物理驱动器在不同访问时可能不同,并且可以增加、删除或更换驱动器,所有这些都不需要重新配置主机应用设备驱动程序。
驱动器资源提供器35耦合到驱动器映像提供器30。在任一时间,驱动器资源提供器向驱动器映像提供器分配了“n”个数据存储驱动器的驱动器池中的任意个数“m”,并且指示“n”-“m”个数据存储驱动器被释放并且可用于分配。
驱动器资源提供器35响应请求驱动器用于主机应用虚拟驱动器的触发事件,并且将驱动器池的“n”-“m”个数据存储驱动器之一专用为虚拟驱动器,从而指示专用于请求主机应用的驱动器映像提供器,作为固定虚拟驱动器之一。
驱动器映像提供器30向请求主机应用表征专用数据存储驱动器为固定虚拟驱动器之一,并且引导由请求主机应用11、12向专用数据存储驱动器15的通信,作为虚拟驱动器。
在将物理驱动器专用为虚拟驱动器之前,驱动器映像提供器30向请求主机应用表征虚拟驱动器“未就绪”。作为一个例子,“未就绪”包括没有介质装载在驱动器中的报告状态的伪完成响应。
根据本发明,当在驱动器池的所有数据存储驱动器均被分配的情况下接收到数据存储驱动器请求时,驱动器资源提供器35向存储库指示暂停任何关于请求的便携式数据存储盒安装。另外,当在所有驱动器均被分配的情况下接收到请求时,可以指示所请求驱动器可用于安装便携式数据存储盒,但是当前不可用于执行需要已安装便携式数据存储盒的任何随后命令。因此,主机应用11、12被保证它将具有数据存储驱动器,并且可以重试或发出其下一个关于驱动器的命令。如果下一个命令不要求驱动器就绪或者便携式数据存储盒被安装且就绪,则存储库可能能够处理该命令。
在提供指示之后,驱动器资源提供器35等待释放数据存储驱动器和在所释放的数据存储驱动器上卸载任何便携式数据存储盒的请求,并且将所释放的数据存储驱动器分配给驱动器请求,并且向存储库指示解除暂停关于请求的安装。
在一个例子中,还可以为虚拟存储库提供一个或多个存储库映像提供器43,并且将包括由存储库资源提供器39定义的一组虚拟驱动器和一组贮存架16。数据存储驱动器15在虚拟存储库之间共享,但是贮存架16最好是单独的。
主机应用11、12可以包括主机处理器,如IBM RS/600或IBM eServerpSeries处理器、和在主机处理器上运行的所有应用,或者可以包括在主机处理器上运行的多个应用之一。因此,主机应用被解释为各自包括具有处理器36和存储器38的处理系统。
作为例子,自动数据存储库17包括自动磁带盒存储和检索库,用于存储和访问包括磁带盒的物理卷的数据存储介质,如IBM 3584。可选地,自动数据存储库17可以包括光学存储和检索库或者磁带盒库等,在此均被定义为存储便携式数据存储盒。数据存储驱动器15在介质上读取和/或写入数据,并且可以包括处理器。存储库还包括用于操作存取器自动机械18、20的自动机械控制器41,以及存储库管理器40。存取器自动机械18、20包括用于啮合所选便携式数据存储盒14的机械爪(gripper)20以及用于在贮存架16与驱动器15之间或者在贮存架之间移动机械爪的存取器18。存取器自动机械18、20还可以包括安装在机械爪20上的条形码扫描器22或类似视觉系统,以“阅读”标识盒标签。数据存储驱动器15可以是光盘驱动器或者磁带驱动器,并且便携式数据存储盒可以包括分别容纳光学或磁性介质的匣子或盒子或者任何其他可移动介质。
自动机械控制器41和存储库管理器40包括至少一个计算机处理器及其相关存储器,并且耦合到输入/输出接口42和端子28。计算机处理器可以包括例如IBM RS/6000处理器。可选地,自动机械控制器41和存储库管理器40可以各自包括计算机处理器,并且这些计算机处理器互连在一起。在本例中,存储库管理器40包括计算机处理器45和相关存储器46。端子28可以包括用于读取数据存储介质如软盘或CD-ROM的站(station)。
存储库管理器40与驱动器15耦合,并且控制其装载/卸载和相关动作,并且存储库管理器40与自动机械控制器41耦合,并且协调其操作。存储库管理器通过接口42耦合到主机应用11、12。存储库管理器24具有存储在用于表和程序的存储器46(典型地是一个或多个硬盘驱动器或快闪EEPROM)中的存储库管理器数据库。要在所选便携式数据存储盒14上记录或者从其上读取的数据存取命令和信息按照驱动器映像提供器30的引导在驱动器15与主机应用之间传输。存储库管理器40按照其标识符或者可选地按照其位置来定义每个便携式数据存储盒,其中,标识符典型地是卷序列号或VOLSER。
主机应用11、12典型地由介于主机应用与自动数据存储库之间的一个或多个组件耦合到存储库17。
中间组件的一个例子是主机总线适配器50。在一个例子中,主机总线适配器50包括各自与适当的连接接口以耦合到存储库或其他中间组件以及主机应用11、12的接口52和53,如PCI、ESCON、FICON、SCSI、光纤通道(FIBER CHANNEL)等。适配器包括处理器54和非易失性存储器55,以及适当的缓冲器和互连。主机总线适配器50的一个例子包括IBM eServer pSeries千兆位光纤通道适配器。图中示出主机应用12具有可以包括适配器的接口53。
中间组件的另一个例子包括网关或路由器56,它具有多个带有适当连接的接口57,以互连如上所述的网络内多个处理器。网关或路由器包括带有用于存储操作系统等的非易失性存储器59的处理器58。网关或路由器的一个例子是IBM 2108 SAN数据网关。本适配器、路由器或网络的其他适当术语是“控制器”、“导向器”或“智能交换机”,并且本领域的技术人员可以预见其他应用。
处理器54、58可以包括微处理器,如Intel i960。
根据本发明,驱动器映像提供器30和/或驱动器资源提供器35可以嵌入在主机应用11、12、中间组件50、56或自动数据存储库17的任一个之中。作为一个例子,驱动器映像提供器30均包括在相关主机应用11、12的设备驱动程序中,并且驱动器资源提供器包括在介于主机应用与自动数据存储库17之间的组件56中。驱动器资源提供器必须位于耦合到具有驱动器映像提供器的每一个主机或者这些主机的主机总线适配器的组件上。作为另一个例子,驱动器映像提供器30包括介于主机应用11、12和自动数据存储库17之间的组件50、56,并且驱动器资源提供器35包括介于主机总线适配器50或主机与存储库17之间的组件56。作为另一个例子,驱动器映像提供器30包括相关主机应用11、12的设备驱动程序,并且驱动器资源提供器35包括自动数据存储库17的组件,如存储库管理器40。另一个例子是驱动器映像提供器30包括在介于主机应用与自动数据存储库之间的组件50、56中,而驱动器资源提供器35包括自动数据存储库17的组件。
存储库映像提供器43和存储库资源提供器39最好包括在自动数据存储库17中。
主机应用11、12的处理器36、中间组件50、56的处理器54、58以及存储库的存储库管理器40的处理器45中的每一个都装备有操作系统和应用,并且可以包括根据本发明运行的程序。每个处理器都可以装备有包括用于表和程序的存储器(典型地是非易失性存储器或者一个或多个硬盘驱动器)的数据库,分别是38、55、59、46。应用程序可以包括一个或多个由计算机可读程序代码组成的计算机程序产品。本发明的计算机程序产品可以被提供有1应用程序,并且存储在所提供的存储器中,可以在端子28被提供软盘或CD-ROM,并且包括制造品,可以从主机系统11、12之一接收,可以从网络接收,或者由其他类似装置接收。对存储介质或存储器的要求是它们存储计算机可执行指令的数字表示。计算机可读程序代码通过它们的一个或多个计算机处理器操作设备。
在图4A和4B中,示出了便携式数据存储盒14的一个例子,它例如包括磁带盒。存储盒14在外边缘61上具有标识标签60。
图5A和5B示出由驱动器资源提供器35生成和维护并且提供给图1的驱动器映像提供器30的驱动器映像表70、71的例子,其中,驱动器资源提供器将数据存储驱动器池中的已分配和专用的驱动器映射到每个主机应用的虚拟驱动器。驱动器映像表可以由驱动器映像提供器从驱动器资源提供器周期性地读取,并且例如每半秒更新一次,或者每个驱动器映像提供器可以在需要时访问相关驱动器映像表。驱动器映像提供器不需要每次刷新表,而是可以查找任何变化。
驱动器映像表包括驱动器映像提供器所要报告并且为其提供响应的虚拟驱动器的列表75。作为一个例子,在SCSI条件(SCSI terms)下,列表75可以包括每个虚拟驱动器的固定地址,如磁带驱动器LUN标识符。驱动器映像提供器在固定条件下向主机应用提供一个或多个虚拟数据存储驱动器的映像,并且这些驱动器通过列表75来标识。固定列表由每个虚拟驱动器的特征标识76来补充,从而驱动器资源提供器可以为每个虚拟驱动器提供固定标识和对主机应用的固定响应集。作为一个例子,特征可以包括虚拟驱动器的唯一序列号。作为另一个例子,特征可以包括虚拟驱动器的相同地址。作为另一个例子,可以向虚拟驱动器提供包括类型或制造商名称和型号的特征。这将允许驱动器资源提供器从其数据库确定固定响应集。作为一个可选实施例,驱动器资源提供器的驱动器映像表可以仅包括每个虚拟驱动器的标识符75,并且驱动器映像提供器可以维护每个虚拟驱动器的特征76。
当驱动器资源提供器从存储库的物理驱动器池中将驱动器专用于主机应用的驱动器映像提供器时,这些驱动器例如在SCSI条件下也以LUN标识77。在所示例子中,“*”表示没有物理驱动器当前分配虚拟驱动器的指示。另外,“W”表示将要分配物理驱动器但是目前尚未分配,如后所述。可选地,驱动器资源提供器还可以提供每个已分配物理驱动器的特征78,如序列号、类型、制造商名称和/或型号。
另外参照图6,图1的驱动器资源提供器35和/或存储库资源提供器39维护物理驱动器81的驱动器表80及其当前分配或状态82。最好,表80还包括每一个物理驱动器的特征83,如上所述。
另外参照图7,图2和3的存储库17可以安排成直接耦合到主机应用,并且接收例如让存储库在所标识的虚拟驱动器上从贮存架16安装所标识的便携式数据存储盒14的请求。为了适应这些请求,存储库包括至少一个存储库映像表85。该表标识虚拟存储库90以及专用于每个虚拟存储库的虚拟驱动器87。另外,存储库可以指示虚拟存储库的优先级88,以及授权89哪一个虚拟存储库或虚拟驱动器使用备用驱动器。该信息通过图1的存储库映像提供器43提供给主机应用。
每个虚拟存储库分配有一组贮存架16。相同虚拟存储库可以由多个主机应用共享,或者可以包括用于每个主机应用的单独虚拟存储库,或者可以是这两者的混合体。表85在列90中标识虚拟存储库,并且在列91中标识分配给每个虚拟存储库的图2和3所示的一组贮存架16。本领域的技术人员应该知道,自动数据存储库的贮存架可以由存储库管理器进行分区,从而使每个虚拟存储库分配有特定一组贮存架,如图3的贮存架92-96。虚拟存储库由图1的存储库资源提供器39安排。最好,虚拟存储库以及主机应用共享图2和3的存储库17的物理驱动器15的全部或大部分,如列97所示。某些数据存储驱动器由于其类型不符合虚拟驱动器要求而可以从用于虚拟存储库的“n”个驱动器的驱动器池中扣留。一个例子是仅在特定情形下有用的低速驱动器。另一个例子是对于小型数据记录不可用的流式驱动器。
在图5A、5B、6和7的所示表70、71、80和85中,作为例子,物理驱动器“DR3”在驱动器映像表70中分配为虚拟驱动器“AA”,并且位于虚拟存储库“0”中。当被主机应用释放时,或者当主机应用发出命令来卸载安装在驱动器中的便携式数据存储盒时,驱动器将被释放。物理驱动器“DR1”在驱动器映像表71中分配到虚拟存储库“1”,并且专用为虚拟驱动器“EE”。“(L)”表示物理驱动器作为虚拟驱动器锁定于主机应用,直到被主机应用明确释放为止,并且当主机应用发出命令来卸载驱动器中安装的便携式数据存储盒时,该驱动器将不被释放。
虚拟存储库的相对优先级88意味着在驱动器池的“n”-“m”个数据存储驱动器等于零、表示驱动器池的所有驱动器均被分配的情形下,较高优先级主机应用例如优先级“0”可以抢占已经专用于较低优先级主机应用例如优先级“1”的驱动器。在使用虚拟存储库的情况下,这些表描述了将物理驱动器97分配给虚拟存储库90的选项,从而定义数据存储驱动器池。如果仅采用一个存储库,则除了备用驱动器之外的所有数据存储驱动器组成驱动器池。物理驱动器“DR2”此时未分配给任何虚拟驱动器,并且以“被释放”表示并可用于分配。物理驱动器“DR7”被保留为“备用”驱动器,并且它只能用于如下情形驱动器池的“n”-“m”个数据存储驱动器等于零、表示驱动器池的所有驱动器均被分配,并且不存在优先级重新分配或者能被重新分配的所有驱动器都具有高优先级分配。如果如列89所示备用驱动器得到授权,则驱动器资源提供器分配备用驱动器之一给该请求。可选地,驱动器资源提供器等待预定时间段,并且如果在预定时间段内完成释放数据存储驱动器并且在所释放的数据存储驱动器上卸载任何便携式数据存储盒的请求,则分配所释放的数据存储驱动器给该请求;否则,在该时间段结束之后,驱动器资源提供器将备用数据存储驱动器分配给该请求。
在分配备用数据存储驱动器之后,驱动器资源提供器投递表示使用备用数据存储驱动器的消息。所投递消息可以包括向系统管理器通知可以采取行动以将备用数据存储驱动器转移到驱动器池中的通知。作为一个例子,将备用驱动器转移到驱动器池中将导致存储库的成本提高。如果进行转移,则驱动器资源提供器将备用数据存储驱动器加入驱动器池,从而删除作为备用数据存储驱动器的驱动器。
作为诱导,所投递消息还可以包括不能将备用驱动器转移到驱动器池中将导致备用数据存储驱动器的将来不可用性的通知,并且当没有将至少一个备用数据存储驱动器转移到驱动器池中的请求时,驱动器资源提供器删除将多个存储库数据存储驱动器分配为至少到一个虚拟存储库的备用驱动器,从使得被分配的备用驱动器变得未分配给虚拟存储库,或者可选地未在存储库系统中分配。
在虚拟存储库0的驱动器映像表70中,虚拟驱动器“BB”没有专用数据存储驱动器,并且处于主机应用需要物理驱动器的情形下。然而,不管是备用驱动器还是来自较低优先级虚拟存储库的驱动器或较低优先级虚拟驱动器,都没有物理驱动器可用。因此,“W”意味着将进行等待,直到数据存储驱动器在存储库的正常操作中变得可用。
图8示出用于配置图2或3的存储库17的数据存储驱动器15或者配置虚拟存储库的方法的一个实施例。
该配置过程在步骤100开始于启动或初始化存储库。可选地,可以在步骤101增加、删除或更换物理驱动器,并且开始重新配置。可选地,系统操作员在使用了备用数据存储驱动器并且接收到如上所述的消息之后,可以选择将备用驱动器中的一个或多个加入驱动器池,这在步骤102开始。如果向系统操作员提供采用驱动器池中的备用驱动器或者去除驱动器作为备用驱动器的选项、并且选择去除驱动器(不大可能的场景),则步骤102还可以提供将以前备用的驱动器重新分配为“未被分配”状态。在这种情形下实际上不需要重新配置存储库。
步骤105可以用于使用虚拟存储库是可选的情形,并且判定是否实现了虚拟存储库。如果实现了虚拟存储库,“是”,则步骤106确定所要配置的下一个虚拟存储库。如果没有实现虚拟存储库,“否”,则将为单组虚拟驱动器配置物理存储库。该处理可以由存储库资源提供器和/或驱动器资源提供器执行,并且如果实现了虚拟存储库,则需要存储库资源提供器。如果没有实现虚拟存储库,则图7的存储库映像表85将仅包括单个存储库,消除列90。
在步骤110,确定可用于存储库的物理驱动器。该信息可以由系统操作员提供,或者可以包括例如缺省值,其中,所有驱动器均由所有虚拟存储库共享。在步骤111,标识备用驱动器。备用驱动器可以在出售或安装图2或3的存储库17的时候建立,或者可以由系统操作员设置以控制为存储库而支付的价格。用于虚拟存储库的驱动器池中的物理驱动器数“n”是可用物理驱动器数PD减去备用驱动器数SD。
在步骤120,例如从负责系统操作员或者从设备驱动程序确定虚拟驱动器数和每个虚拟驱动器的固定标识,以与每个主机应用通信。这包括要由主机应用用来对固定虚拟驱动器进行寻址、且如图5A和5B的列75、图7的列87所示的标识符,并且用于图6的列82所示的分配。也可以在此处获得特征信息76、83。在步骤115,例如由系统操作员确定虚拟存储库的相对优先级。作为一个可选方案,可以确定虚拟驱动器的相对优先级。所得到的相对优先级张贴在图7的列88中。然后,在步骤121,驱动器资源提供器为每个驱动器映像提供器准备驱动器映像表70、71。主驱动器映像表在驱动器资源提供器中维护,从而将数据存储驱动器池中的已分配和专用的驱动器映射到每个主机应用的虚拟驱动器。如上所述,驱动器映像表可以由驱动器映像提供器从驱动器资源提供器周期性地访问和刷新或更新,或者每个驱动器映像提供器可以在需要时访问相关驱动器映像表。
在步骤125,存储库资源提供器判定是否所有虚拟存储库均被配置。如果是,或者如果没有实现虚拟存储库,则过程结束,如步骤126所示。如果不是所有虚拟存储库均被配置,则过程循环回到步骤106以开始下一虚拟存储库的配置。
图9示出当主机应用在步骤135提供虚拟驱动器命令时,图1的驱动器映像提供器30的处理。事件的例子是“询问(INQUIRY)”命令;“搜索(SEARCH)”命令,以从已安装的便携式数据存储盒中搜索特定数据;“读取(READ)”命令,从已安装的便携式数据存储盒中读取数据;“写入(WRITE)”命令,在已安装的便携式数据存储盒上写入数据;“保留(RESERVE)”命令,保留数据存储驱动器以作将来使用;“释放(RELEASE)”命令,释放被保留的数据存储驱动器;或者其他类似类型的命令。
在步骤141和143,驱动器映像提供器判定从主机应用接收的命令是否构成触发事件或反触发事件。如果命令构成触发事件,则在步骤144,驱动器映像提供器向驱动器资源提供器通知该事件并标识虚拟驱动器,并且可以标识主机应用。如果命令构成反触发事件,则在步骤149,驱动器映像提供器向驱动器资源提供器通知该事件并标识虚拟驱动器,并且可以标识主机应用。
在步骤140,驱动器映像提供器在用于虚拟存储库的图5A、5B所示的驱动器映像表70、71中查找虚拟驱动器。
步骤136判定步骤135的命令是否需要物理驱动器来完成对事件的响应。例如,“搜索”、“读取”和“写入”命令都需要物理驱动器。“询问”命令不需要物理驱动器,并且可以在没有驱动器的情况下由驱动器映像提供器提供响应,该响应可以在步骤137提供。驱动器映像提供器作为已寻址的虚拟驱动器响应,并且采用来自图5A、5B的驱动器映像表70、71或等同物的驱动器的特征。如果便携式数据存储盒安装在专用物理驱动器中,因此已把“安装”命令提供给存储库,则将由主机应用提供“搜索”、“读取”和“写入”命令。
导致将物理驱动器分配和专用于虚拟驱动器的命令称作触发事件,并且包括“保留”命令和具有驱动器请求效果的其他命令,如“是否存在(are youthere)”类型的命令。导致释放物理驱动器的命令称作反触发事件,并且包括“释放”命令和具有驱动器释放效果的其他命令。保留和释放命令以及请求或释放虚拟驱动器的命令由驱动器映像提供器接收。
在步骤142,驱动器映像提供器根据驱动器映像表判定物理驱动器是否专用于命令的虚拟驱动器。如果物理驱动器专用于虚拟驱动器,“是”,则在步骤143,驱动器映像提供器引导请求主机应用与自动数据存储库的“n”个数据存储驱动器的驱动器池的专用数据存储驱动器之间的通信。必要时可以对通信进行降级(destage)和转换(translate),从而,从主机应用的角度来看,通信看上去就像是在主机应用与虚拟驱动器之间。通信包括由于该命令而产生的所有预期通信,并且将包括传输带有任何预期首标的数据等。
如果主机应用向存储库发出了“安装”命令,则很有可能向虚拟驱动器发出“搜索”等命令。该命令可能在由驱动器资源提供器更新驱动器映像表之前接收。因此,在驱动器资源提供器从驱动器池中专用物理数据存储驱动器之前,在步骤142,驱动器映像提供器根据驱动器映像表判定没有物理驱动器专用于请求主机应用,并且在步骤150驱动器映像提供器以伪完成响应来响应请求主机应用,从而具有向主机应用通知接收到请求、并且虚拟驱动器对于完成需要已安装的便携式数据存储盒的任何命令“未就绪”的效果。驱动器映像提供器报告两种类型的“未就绪”伪完成响应。在一个例子中,如果在驱动器映像表中指示虚拟驱动器为正在等待“w”,则驱动器映像提供器报告虚拟驱动器“即将就绪”。在一个可选例子中,驱动器映像提供器报告虚拟驱动器上“没有存储盒”。无论在哪种情况下,“未就绪”响应不是任何被请求工作完成的指示。相反,它是基于两种原因之一的命令拒绝形式。
当步骤136表示不需要物理驱动器,如上所述,例如“询问”、“保留”或“释放”命令等时,驱动器映像提供器作为被寻址的虚拟驱动器响应,采用来自图5A、5B的驱动器映像表70、71的虚拟驱动器的特征。
参照图10A和10B,步骤160是指发生触发事件,例如在存在或不存在锁定驱动器的请求的情况下接收到“安装”命令161、“保留”命令162或驱动器的请求163,如“是否存在”请求。该请求将已由驱动器映像提供器接收,并且在图9的步骤144通知给驱动器资源提供器,或者,如果是由存储库或虚拟存储库直接接收的“安装”命令,则将它作为直接触发事件提供给驱动器资源提供器。
在步骤170,驱动器资源提供器确定请求主机向其发起触发事件的虚拟驱动器。这典型地从通知或命令本身确定。在步骤172,驱动器资源提供器为虚拟驱动器确定图5A和5B的驱动器映像表70、71。
在确定了驱动器映像表之后,在步骤175驱动器资源提供器访问驱动器映像表。在步骤176,驱动器资源提供器根据驱动器映像表判定物理驱动器是否专用于事件的虚拟驱动器。如果驱动器已被专用,则过程在步骤177结束,并且驱动器映像提供器正在引导请求主机应用与作为虚拟驱动器的数据存储驱动器之间的通信,如图9的步骤143所示。
如果驱动器未被专用,则在步骤180,驱动器资源提供器根据图6的驱动器表80判定“n”-“m”是否大于零。如果“n”-“m”大于零,“是”,则不是所有物理驱动器均被分配,因此存在物理驱动器可用于分配和专用于请求主机应用。如上所述,驱动器池可以仅包括与虚拟驱动器的特征相兼容的数据存储驱动器。作为一个例子,很多物理驱动器可能是流式驱动器,而被请求虚拟驱动器可能是停启式驱动器(stop-start drive)。
如果有物理驱动器可用,从而“n”-“m”>0,则在步骤185,驱动器资源提供器将物理驱动器分配给虚拟驱动器,从而将物理驱动器专用于请求主机应用。如果有多个驱动器可用,则可以根据适当的算法来选择特定驱动器。作为一个例子,可以选择其特征最接近于虚拟驱动器的驱动器。作为另一个例子,可以选择空闲时间最长的驱动器。因此,驱动器资源提供器将“m”增至值“m”+1。
当在步骤185分配物理数据存储驱动器时,驱动器资源提供器更新图5A或5B的驱动器映像表70、71。如上所述,驱动器资源提供器因此将数据存储驱动器池中的已分配和专用的驱动器映射到每个主机应用的虚拟驱动器。更新后的驱动器映像表可以从驱动器资源提供器周期性地由驱动器映像提供器访问,或者每个驱动器映像提供器可以在需要时访问相关驱动器映像表。图6的驱动器表80也被更新,并且可以包括步骤185的驱动器分配。在步骤187,驱动器资源提供器向存储库指示解除暂停关于请求的便携式数据存储盒的安装,如后所述。
如果没有物理数据存储驱动器可用,如步骤180所示判定“n”-“m”等于零,“否”,从而表示在驱动器池的所有数据存储驱动器均被分配的情况下接收到对数据存储驱动器的请求,则在步骤190,驱动器资源提供器向存储库指示暂停任何关于请求的便携式数据存储盒的安装。通过这种方式,当没有物理驱动器可用于在其上安装存储盒时,存储库不启动安装,否则,安装将开始移动存取器自动机械以选择所选便携式数据存储盒。在没有驱动器的情况下禁止安装将防止如下潜在性锁定,即存取器自动机械要把存储盒安装在一个驱动器上,同时该同一存取器自动机械可能被要求卸载另一个存储盒以便使卸载驱动器可用。另外,在步骤190,将伪完成响应提供给安装请求,这将防止命令只能依次被处理的情形下的潜在“命令”锁定。一旦驱动器可用并且任何存储盒已被卸载,则在步骤187释放安装。如果步骤180指示没有驱动器被分配,则在步骤280,驱动器资源提供器在驱动器映像提供器的驱动器映像表(例如,图5A的表70)中张贴指示“W”,以表示驱动器资源提供器正在等待被释放驱动器。
可以采用各种可选替代方案来分配物理驱动器,而不是仅等待释放当前分配的驱动器。这些替代方案在下面讨论,并且可以以任意次序实现。
如果步骤180指示没有驱动器可用,则连接符208连到图10B和步骤210。步骤210涉及如图7的存储库映像表85的列88所示虚拟存储库或虚拟驱动器分配有相对优先级的情形。因此,在采用多个虚拟存储库的情况下,其中,虚拟存储库至少之一比其他虚拟存储库具有更高的优先级,则在步骤210,驱动器资源提供器确定虚拟存储库或被请求虚拟驱动器的优先级,并且确定请求虚拟存储库或虚拟驱动器是否具有较高优先级。如果请求虚拟存储库或虚拟驱动器具有较高优先级,则在步骤211,驱动器资源提供器从较低优先级虚拟存储库中选择一个数据存储驱动器。在步骤212,驱动器资源提供器从较低优先级虚拟存储库的驱动器映像表中释放所选数据存储驱动器,向驱动器映像提供器通知该释放,并且向存储库通知在步骤215从被释放的数据存储驱动器中卸载任何便携式数据存储盒。在步骤216,驱动器映像提供器向其主机应用表征被释放数据存储驱动器的虚拟驱动器“未就绪”。在步骤220,驱动器资源提供器为较高优先级虚拟存储库分配被释放的数据存储驱动器。连接符222通向步骤186,其中,在驱动器映像表中将驱动器专用于请求主机应用的虚拟驱动器,并且在步骤187释放安装的任何暂停。通过步骤185、186和187,由驱动器映像提供器在步骤150放入队列的任何工作退出队列(dequeue)。
如上所述,驱动器资源提供器还可以在任何驱动器池之外将多个存储库数据存储驱动器至少之一分配为备用驱动器。然后,驱动器资源提供器可以将备用驱动器分配给请求。作为一个例子,如果没有在较低优先级情形下分配物理驱动器,则可以采用备用驱动器。可选地,仅对于高优先级虚拟存储库,才可以请求备用驱动器。因此,如果步骤210判定请求虚拟存储库或虚拟驱动器具有高优先级,则步骤230判定备用驱动器使用是否得到授权。无论主机应用的优先级是否在判定中起部分作用,都可以例如根据图7的存储库映像表85的列89来判定备用驱动器的授权。
即使备用驱动器可能得到授权,它们的使用也可能受到限制。作为一个例子,在步骤240设置超时,从而允许在一定时间内释放数据存储驱动器,对此由步骤243检测。如果步骤243指示有驱动器被释放,则连接符205通向图10A的步骤185以分配被释放的驱动器。如果步骤243指示没有驱动器被释放,则步骤245判定超时时间段是否结束。如果否,“否”,则过程循环回到步骤243,并且等待被释放的驱动器。
如果超时时间段结束,则可以采用对备用驱动器使用的另一个限制。作为一个例子,备用驱动器使用可以受限于预定次数。如下所述,可以向系统操作员请求增加驱动器到“n”个驱动器的驱动器池,并且防止无限制使用备用驱动器。具体地说,在步骤253,在驱动器池的所有数据存储驱动器均被分配的情况下,每次接收到备用驱动器请求时,驱动器资源提供器增加计数。在步骤254,驱动器资源提供器将增加后的计数与预定限值进行比较,并且当增加后的计数小于预定限值时,在步骤255将备用数据存储驱动器分配给请求的虚拟存储库。更新图6的驱动器表80和图7的存储库映像表85,从而将驱动器从备用驱动器移到被释放驱动器,临时将驱动器池“n”增至值“n”+1,并且在表85的列97中将驱动器分配给请求的虚拟存储库。连接符205通向图10A的步骤185,以将现在被释放的驱动器分配给请求主机应用的虚拟驱动器。
作为选项,在分配备用数据存储驱动器之后,驱动器资源提供器还在步骤260投递表示使用备用数据存储驱动器的消息。在一个实施例中,所投递消息包括向系统操作员通知可以采取行动以将备用数据存储驱动器转移到驱动器池中的通知。作为一个例子,将备用驱动器转移到驱动器池中将导致存储库的成本提高。如果进行转移,则驱动器资源提供器将备用数据存储驱动器永久性地加入驱动器池,从而删除作为备用数据存储驱动器的驱动器。
在另一个实施例中,作为诱导,所投递消息还包括不能将备用驱动器转移到驱动器池中将导致备用数据存储驱动器的将来不可用性的通知,并且当没有将至少一个备用数据存储驱动器转移到驱动器池中的请求时,驱动器资源提供器删除存储库数据存储驱动器作为备用驱动器的分配,使得被分配备用驱动器变得未被分配。如上所述,备用驱动器的使用可以受限于步骤254的预定限值。
如果在步骤230没有备用驱动器得到授权,或者步骤253的增加后计数达到步骤254的预定限度,则在步骤282,驱动器资源提供器等待释放数据存储驱动器和在所释放的数据存储驱动器上卸载任何便携式数据存储盒的请求,从而释放数据存储驱动器。如果通过步骤282判定没有驱动器被释放,则处理继续循环。当释放驱动器时,步骤282通向图10A的连接符205,以在步骤185将所释放的数据存储驱动器分配给请求驱动器的主机应用的虚拟驱动器,并且在步骤187向存储库指示解除暂停任何关于请求的安装。
除了释放任何被暂停的存储库安装之外,驱动器资源提供器还提供要在其上执行任何被暂停安装或任何将来安装的专用物理数据存储驱动器的指示。指示包括张贴到由存储库访问的图6的驱动器表80。作为对释放被暂停安装的补充替代方案,向专用物理数据存储驱动器的指示提供通知给存储库的释放指示。
图11涉及步骤300的反触发事件。反触发事件的一个例子包括在预定超时时间段内没有使用专用数据存储驱动器。在一个实施例中,在步骤310标识包括驱动器使用的功能的完成,并且在步骤311,对该驱动器的计时器进行复位。然后,步骤312继续跟踪计时器,并且指示该时间段是否结束。
其他反触发事件包括“卸载”请求315,从虚拟驱动器中卸载存储盒,并且将存储盒移到另一点,如贮存架;“释放”命令316,释放被保留的虚拟数据存储驱动器;以及驱动器释放指示317。如上所述,“卸载”命令典型地提供给存储库,并且它不是在图9的步骤135由驱动器映像提供器接收的命令。当接收到“卸载”命令时,存储库确定专用于虚拟驱动器的物理数据存储驱动器,启动卸载,并且向驱动器资源提供器通知该命令。“释放”命令或者请求释放虚拟驱动器的命令在图9的步骤135由驱动器映像提供器接收。驱动器映像提供器在步骤143判定它是反触发事件;并且在步骤149通知驱动器资源提供器。在图11的步骤320,驱动器资源提供器确定请求主机向其发起反触发事件的虚拟驱动器。这典型地从命令本身确定。
步骤325判定在驱动器中是否安装了便携式数据存储盒。这可以例如从图1的存储库处理器45确定。“卸载”命令将导致由存取器自动机械卸载便携式存储盒,从而步骤325指示没有存储盒安装在驱动器中。其他反触发事件可以不在驱动器中安装了便携式存储盒的情况下发生,并且可以不包括卸载。如果有存储盒安装在驱动器中,则在步骤326驱动器资源提供器向存储库指示要卸载存储盒。
在步骤330,驱动器资源提供器为虚拟驱动器,或者如果步骤310-312采用物理驱动器则为物理驱动器,确定图5A或5B的驱动器映像表70、71。
然后在步骤331,驱动器资源提供器从主机应用的虚拟驱动器中释放驱动器。在步骤343,驱动器资源提供器指示驱动器被释放,将“m”减至“m”-1。可选地,如果采用备用驱动器,步骤340判定所释放的驱动器是否为共享驱动器。如果是,则步骤341将驱动器返回到其原始状态,将“n”减至“n”-1。如果驱动器是备用驱动器,则系统操作员可以随后响应图10B的步骤260的消息,并且增加一个或多个备用驱动器到驱动器池。如果驱动器不是备用驱动器,则驱动器资源提供器直接进入步骤345。在步骤345,更新各个表,从而在图6的驱动表80中将驱动器返回到其作为备用驱动器的原始状态,或者在图6的驱动器表中指示驱动器被释放。
图12A-12C表示对虚拟存储库锁定和解锁数据存储驱动器。图12A的步骤400表示图10A的触发事件160,其中,在锁定的情况下请求驱动器。步骤401相当于用于将驱动器专用于虚拟驱动器的图10A步骤185,并且另外包括将“锁定”加到驱动器表,如图6的驱动器表80的驱动器“DR1”所示。
图12B的步骤410表示图11的反触发事件300,其中,在释放锁定的情况下由主机应用释放驱动器。步骤411可以紧接在步骤300之后发生,并且包括判定命令是否包括释放锁定。如果是,则在步骤412,在图6的驱动器表80中,由驱动器资源提供器释放锁定。
步骤420表示不包括锁定释放的图11的反触发事件300,如“卸载”命令。步骤421通过例如参考图6的驱动器表80来判定驱动器是否被锁定。如果驱动器未被锁定,则执行图11的步骤320-345的处理。如果设备被锁定并且在图12B的步骤412未被解锁,则在步骤425执行所请求的事件,并且在步骤426保持这些表不变,从而驱动器保持锁定于主机应用。
上述过程的步骤可以适当地改变顺序或者组合和修改细节。
尽管详细描述了本发明的优选实施例,但应该清楚,在不脱离由所附权利要求限定的本发明的范围的情况下,可以对这些实施例进行各种变更和修改。
权利要求
1.一种用于响应至少一个对数据存储驱动器的请求而分配自动数据存储库的数据存储驱动器的分配系统,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述数据存储驱动器之间传送所述便携式数据存储盒,以在所述数据存储驱动器上安装和卸载所述便携式数据存储盒,所述分配系统包括驱动器资源提供器,将多个所述存储库数据存储器驱动器分配给驱动器池,并且从所述驱动器池中分配和释放所述数据存储驱动器;当在所述驱动器池的所有所述数据存储驱动器均被分配的情况下接收到对所述数据存储驱动器的请求时,所述驱动器资源提供器向所述存储库指示暂停任何关于所述请求的便携式数据存储盒的安装。
2.如权利要求1所述的分配系统,还包括耦合到所述驱动器资源提供器的驱动器映像提供器,当在所述驱动器池的所有所述数据存储驱动器均被分配的情况下接收到对所述数据存储驱动器的请求时,指示所述被请求驱动器当前不可,以完成需要已安装的便携式数据存储盒的任何随后命令。
3.如权利要求1或2所述的分配系统,其中,在所述指示之后,所述驱动器资源提供器还等待释放数据存储驱动器和在所述被释放的数据存储驱动器上卸载任何便携式数据存储盒,将所述被释放的数据存储驱动器分配给所述请求,并且向所述存储库指示解除关于所述请求的所述安装的所述暂停。
4.如权利要求1、2或3所述的分配系统,其中所述驱动器资源提供器还在所述驱动器池之外分配所述多个存储库数据存储驱动器至少之一作为备用数据存储驱动器,并且在所述指示之后,将所述至少一个备用数据存储驱动器之一分配给所述请求,并且向所述存储库指示解除关于所述请求的所述安装的所述暂停。
5.如权利要求4所述的分配系统,其中,在所述指示之后,所述驱动器资源提供器等待预定时间段,并且等待释放数据存储驱动器和在所述被释放的数据存储驱动器上卸载任何便携式数据存储盒;并且如果在所述预定时间段内发生所述释放,则将所述被释放的数据存储驱动器分配给所述请求;否则,在所述时间段结束之后,将所述备用数据存储驱动器分配给所述请求;并且,在将数据存储驱动器分配给所述请求时,向所述存储库指示解除关于所述请求的所述安装的所述暂停。
6.如权利要求4或5所述的分配系统,其中所述存储库包括响应于所述至少一个数据存储驱动器请求的多个虚拟存储库,所述系统将所述自动数据存储库的数据存储驱动器分配给所述多个虚拟存储库,所述多个虚拟存储库至少之一具有比其他所述虚拟存储库更高的优先级;并且其中所述驱动器资源提供器还确定所述数据存储驱动器请求的所述虚拟存储库的所述优先级,并且只有当所述虚拟存储库具有所述较高优先级时,才将所述备用数据存储驱动器分配给所述请求,并且向所述存储库指示解除关于所述请求的所述安装的所述暂停。
7.如权利要求4、5或6所述的分配系统,其中,在所述驱动器池的所有所述数据存储驱动器均被分配的情况下,每次接收到所述请求时,所述驱动器资源提供器还增加计数,将所述增加后的计数与预定限值进行比较,并且当所述增加后的计数小于所述预定限值时,分配所述备用数据存储驱动器。
8.如权利要求4、5或6所述的分配系统,其中,在所述备用数据存储驱动器的所述分配之后,所述驱动器资源提供器还投递表示使用所述备用数据存储驱动器的消息。
9.如权利要求8所述的分配系统,其中所述驱动器资源提供器所投递的消息包括向系统操作员通知可以采取行动,以将至少一个所述备用数据存储驱动器转移到所述驱动器池中。
10.如权利要求9所述的分配系统,其中所述驱动器资源提供器还响应将至少一个备用数据存储驱动器转移到所述驱动器池中的请求,将至少一个所述备用数据存储驱动器加入所述驱动器池,从而删除作为备用数据存储驱动器的所述数据存储驱动器。
11.如权利要求10所述的分配系统,其中所述驱动器资源提供器所投递的消息还包括不能将所述数据存储驱动器转移到所述驱动器池中将导致备用数据存储驱动器的将来不可用性的通知,并且其中当没有将至少一个备用数据存储驱动器转移到所述驱动器池中的请求时,所述驱动器资源提供器删除所述多个存储库数据存储驱动器至少之一作为备用数据存储驱动器的分配,使得所述被分配的备用数据存储驱动器变得未被分配。
12.如权利要求1至11中的任一项所述的分配系统,其中所述驱动器资源提供器还指示响应于所述安装要提供伪完成响应。
13.一种用于响应至少一个对数据存储驱动器的请求而分配自动数据存储库的数据存储驱动器的分配方法,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述数据存储驱动器之间传送所述便携式数据存储盒,以在所述数据存储驱动器上安装和卸载所述便携式数据存储盒,所述分配方法包括以下步骤将多个所述存储库数据存储器驱动器分配给驱动器池,并且从所述驱动器池中分配和释放所述数据存储驱动器;当在所述驱动器池的所有所述数据存储驱动器均被分配的情况下接收到对所述数据存储驱动器的请求时,向所述存储库指示暂停关于所述请求的便携式数据存储盒的任何安装。
14.一种可供可编程计算机使用的计算机可读介质的计算机程序产品,所述计算机程序产品具有在其中实施的计算机可读程序代码,用于响应至少一个对数据存储驱动器的请求而分配自动数据存储库的数据存储驱动器,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述数据存储驱动器之间传送所述便携式数据存储盒,以在所述数据存储驱动器上安装和卸载所述便携式数据存储盒,所述至少一个主机应用耦合到所述数据存储驱动器和所述自动数据存储库,所述计算机程序产品包括使计算机处理器执行以下操作的计算机可读程序代码,即将多个所述存储库数据存储驱动器分配给驱动器池,并且从所述驱动器池中分配和释放所述数据存储驱动器;使计算机处理器执行以下操作的计算机可读程序代码,即当在所述驱动器池的所有所述数据存储驱动器均被分配的情况下接收到对所述数据存储驱动器的请求时,向所述存储库指示暂停关于所述请求的便携式数据存储盒的任何安装。
15.一种自动数据存储库,耦合到至少一个主机应用,包括多个数据存储驱动器;多个贮存架,用于贮存多个便携式数据存储盒;存取器自动机械,用于在所述贮存架与所述数据存储驱动器之间传送所述便携式数据存储盒;自动机械控制装置,用于操作所述存取器自动机械;以及驱动器资源提供器,耦合到所述自动机械控制装置,将多个所述存储库数据存储驱动器分配给驱动器池,并且从所述驱动器池中分配和释放所述数据存储驱动器;当在所述驱动器池的所有所述数据存储驱动器均被分配的情况下接收到对数据存储驱动器的请求时,所述驱动器资源提供器向所述自动机械控制装置指示暂停关于所述请求的便携式数据存储盒的任何安装。
16.一种用于自动数据存储库的虚拟化方法,向主机应用提供具有固定标识的固定多个虚拟数据存储驱动器的映像,包括将“n”个驱动器的驱动器池中的任意个数“m”分配给驱动器映像提供器,从而驱动器池中的“n”-“m”个是被释放的并且可用于分配;响应于请求驱动器的触发事件,并且将驱动器池的“n”-“m”个驱动器之一专用于虚拟驱动器;并且引导主机与作为固定虚拟驱动器的专用驱动器之间的通信;并且在驱动器专用之前,向请求主机应用表征虚拟驱动器“未就绪”。
17.一种用于引导至少一个主机应用与自动数据存储库的物理数据存储驱动器之间的通信的虚拟化系统,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述物理数据存储驱动器之间传送所述便携式数据存储盒,所述虚拟化系统包括至少一个驱动器映像提供器,耦合到所述至少一个主机应用,向所述至少一个主机应用提供至少一个固定虚拟数据存储驱动器的映像,为所述至少一个固定虚拟数据存储驱动器中的每一个提供固定标识和对所述至少一个主机应用的固定响应集;并且引导所述至少一个主机应用与所述自动数据存储库的“n”个所述物理数据存储驱动器的驱动器池的物理数据存储驱动器之间的通信;以及驱动器资源提供器,耦合到所述至少一个驱动器映像提供器,在任一时间,所述驱动器资源提供器将所述物理数据存储驱动器池中的任意个数“m”分配给所述虚拟数据存储驱动器,并且指示所述物理数据存储驱动器池中的“n”-“m”个是被释放的并且可用于分配;所述驱动器资源提供器响应于所述至少一个主机应用请求所述虚拟数据存储驱动器之一的触发事件,将所述驱动器池的所述“n”-“m”个物理数据存储驱动器之一专用于所述一个虚拟数据存储驱动器,向所述虚拟物理数据存储驱动器的所述驱动器映像提供器提供其指示;所述驱动器映像提供器向所述请求主机应用表示所述专用物理数据存储驱动器,作为所述一个固定虚拟驱动器,所述驱动器映像提供器引导由所述请求主机应用向作为所述虚拟数据存储驱动器的所述专用物理数据存储驱动器的通信;并且当所述请求主机应用在所述驱动器资源提供器专用物理数据存储驱动器之前请求该虚拟数据存储驱动器时,所述驱动器映像提供器向所述请求主机应用表示所述虚拟数据存储驱动器“未就绪”。
18.如权利要求17所述的虚拟化系统,其中,所述触发事件包括以下任一项所述请求主机应用在虚拟数据存储驱动器上安装所述便携式数据存储盒所选之一的请求,并且其中所述驱动器资源提供器还向所述存储库指示要在所述驱动器池的所述“n”-“m”个数据存储驱动器中的所述专用数据存储驱动器上安装所述所选便携式数据存储盒;所述请求主机应用对所述驱动器映像提供器的虚拟数据存储驱动器的“保留”请求,所述驱动器映像提供器向所述驱动器资源提供器通知所述请求,并且其中所述驱动器资源提供器还向所述存储库指示所述专用物理数据存储驱动器专用于所述虚拟数据存储驱动器,以安装被选用于在所述虚拟数据存储驱动器上安装的任何便携式数据存储盒;所述请求主机应用对虚拟数据存储驱动器的请求,并且其中所述驱动器资源提供器还向所述存储库指示所述专用物理数据存储驱动器专用于所述虚拟数据存储驱动器,以安装被选用于在所述虚拟数据存储驱动器上安装的任何便携式数据存储盒。
19.如权利要求17或18所述的虚拟化系统,其中所述驱动器资源提供器还响应与包括所述专用物理数据存储驱动器的所述虚拟数据存储驱动器相关的反触发事件,所述驱动器资源提供器指示从所述虚拟数据存储驱动器中释放所述物理数据存储驱动器,并且将其加到所述驱动器池的所述被释放物理数据存储驱动器中。
20.如权利要求19所述的虚拟化系统,其中所述反触发事件包括下列一项或多项由所述至少一个主机应用发出的从标识为所述虚拟数据存储驱动器之一的所述专用物理数据存储驱动器中卸载所述便携式数据存储盒中的所述一个的命令,并且其中所述驱动器资源提供器还向所述存储库提供要卸载所述便携式数据存储盒中的所述一个的指示;由所述至少一个主机应用发出的让所述驱动器映像提供器释放所述虚拟数据存储驱动器之一的命令,并且其中所述驱动器映像提供器向所述驱动器资源提供器通知所述命令,并且还向所述存储库通知卸载安装在所述专用物理数据存储驱动器上的任何所述便携式数据存储盒;或者在预定超时时间段内没有使用所述专用物理数据存储驱动器,其中,当所述预定超时时间段结束时,所述驱动器资源提供器还向存储库通知卸载安装在所述专用物理数据存储驱动器上的任何所述便携式数据存储盒。
21.如权利要求17至20中的任一项所述的虚拟化系统,还包括多个虚拟存储库,其中,所述虚拟存储库至少之一分配有较高优先级。因此,在“m”-“n”等于零、意味着所述驱动器池的所有所述物理数据存储驱动器均被专用的情况下,当发生所述较高优先级虚拟存储库的触发事件时,所述驱动器资源提供器从较低优先级所述虚拟存储库中释放物理数据存储驱动器,向所述驱动器映像提供器通知所述释放,向所述存储库通知从所述被释放的物理数据存储驱动器中卸载任何便携式数据存储盒,并且将所述被释放的物理数据存储驱动器专用于所述较高优先级主机应用的所述虚拟数据存储驱动器,并且其中所述驱动器映像提供器向所述较低优先级虚拟存储库的所述主机应用表征所述被释放的物理数据存储驱动器的所述虚拟数据存储驱动器的所述虚拟数据存储驱动器“未就绪”。
22.如权利要求17至21中的任一项所述的虚拟化系统,其中所述驱动器资源提供器将所述物理数据存储驱动器之一锁定于所述虚拟数据存储驱动器之一,使得使所述物理数据存储驱动器不可用为被释放驱动器。
23.如权利要求17至22中的任一项所述的虚拟化系统,其中在所述驱动器资源提供器的所述数据存储驱动器池中增加、删除、交换所述物理数据存储驱动器至少之一,并且其中所述驱动器映像提供器表示所述虚拟数据存储驱动器无变化。
24.如权利要求24所述的虚拟化系统,其中所述驱动器映像提供器表示包括以下项中的一项或多项对所述无变化虚拟数据存储驱动器中的每一个采用相同唯一序列号,以及对所述无变化虚拟数据存储驱动器中的每一个采用相同地址。
25.如权利要求17至24中的任一项所述的虚拟化系统,其中存在下列之一所述驱动器映像提供器包括所述至少一个主机应用的设备驱动程序,并且其中所述驱动器资源提供器包括多个所述主机应用之一的设备驱动程序所述驱动器资源提供器包括介于所述至少一个主机应用与所述自动数据存储库之间的组件;以及所述驱动器映像提供器包括所述至少一个主机应用的设备驱动程序,并且其中所述驱动器资源提供器包括所述自动数据存储库的组件。
26.一种用于引导至少一个主机应用与自动数据存储库的物理数据存储驱动器之间的通信的虚拟化方法,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述物理数据存储驱动器之间传送所述便携式数据存储盒,所述虚拟化方法包括以下步骤响应所述至少一个主机应用,提供至少一个固定虚拟数据存储驱动器的映像,为所述至少一个固定虚拟数据存储驱动器中的每一个提供固定标识和对所述至少一个主机应用的固定响应集,并且引导所述至少一个主机应用与所述自动数据存储库的所述物理数据存储驱动器之间的通信;提供所述自动数据存储库的“n”个所述物理数据存储驱动器的驱动器池,在任一时间,分配所述物理数据存储驱动器池中的任意个数“m”,并且指示所述数据存储驱动器池中的“n”-“m”个是被释放的并且可用于分配;响应请求所述虚拟数据存储驱动器之一的所述至少一个主机应用的触发事件,将所述驱动器池的所述“n”-“m”个物理数据存储驱动器之一专用于所述一个虚拟数据存储驱动器;向所述请求主机应用表征所述专用物理数据存储驱动器为所述一个固定虚拟驱动器,引导由所述请求主机应用向作为所述虚拟数据存储驱动器的所述专用物理数据存储驱动器的通信;以及当所述请求主机应用在专用所述物理数据存储驱动器的所述专用步骤之前请求虚拟数据存储驱动器时,向所述请求主机应用表征所述虚拟数据存储驱动器“未就绪”。
27.一种可供可编程计算机使用的计算机可读介质的计算机程序产品,所述计算机程序产品具有在其中实施的计算机可读程序代码,用于引导至少一个主机应用与自动数据存储库的物理数据存储驱动器之间的虚拟化通信,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述数据存储驱动器之间传送所述便携式数据存储盒,所述至少一个主机应用耦合到所述自动数据存储库,所述计算机程序产品包括使计算机处理器执行以下操作的计算机可读程序代码,即响应所述至少一个主机应用,提供至少一个固定虚拟驱动器的映像,为所述至少一个固定虚拟数据存储驱动器中的每一个提供固定标识和对所述至少一个主机应用的固定响应集,引导所述至少一个主机应用与所述自动数据存储库的物理数据存储驱动器之间的通信;使计算机处理器执行以下操作的计算机可读程序代码,即标识所述自动数据存储库的“n”个所述物理数据存储驱动器的驱动器池,在任一时间,分配所述物理数据存储驱动器池中的任意个数“m”,并且指示所述物理数据存储驱动器池中的“n”-“m”个是被释放的并且可用于分配;使计算机处理器执行以下操作的计算机可读程序代码,即响应请求所述虚拟数据存储驱动器之一的所述至少一个主机应用的触发事件,将所述驱动器池的所述“n”-“m”个物理数据存储驱动器之一专用于所述一个虚拟数据存储驱动器;使计算机处理器执行以下操作的计算机可读程序代码,即向所述请求主机应用表征所述专用物理数据存储驱动器为所述一个固定虚拟驱动器,引导由所述请求主机应用向作为所述虚拟数据存储驱动器的所述专用物理数据存储驱动器的通信;以及使计算机处理器执行以下操作的计算机可读程序代码,即当所述请求主机应用在所述物理数据存储驱动器的所述专用之前请求虚拟数据存储驱动器时,向所述请求主机应用表征所述虚拟数据存储驱动器“未就绪”。
28.一种自动数据存储库,耦合到至少一个主机应用,包括多个物理数据存储驱动器;多个贮存架,用于贮存多个便携式数据存储盒;存取器自动机械,用于在所述贮存架与所述物理数据存储驱动器之间传送所述便携式数据存储盒;自动机械控制装置,用于操作所述存取器自动机械;至少一个驱动器映像提供器,耦合到所述至少一个主机应用,提供至少一个固定虚拟数据存储驱动器的映像,为所述至少一个固定虚拟数据存储驱动器中的每一个提供固定标识和对所述至少一个主机应用的固定响应集,并且引导所述至少一个主机应用与“n”个所述物理数据存储驱动器的驱动器池的物理数据存储驱动器之间的通信;以及驱动器资源提供器,耦合到所述至少一个驱动器映像提供器,在任一时间,所述驱动器资源提供器将所述物理数据存储驱动器池中的任意个数“m”分配给所述虚拟数据存储驱动器,并且指示所述物理数据存储驱动器池中的“n”-“m”个是被释放的并且可用于分配;所述驱动器资源提供器响应所述至少一个主机应用请求所述虚拟数据存储驱动器之一的触发事件,将所述驱动器池的所述“n”-“m”个物理数据存储驱动器之一专用于所述一个虚拟数据存储驱动器,向所述虚拟数据存储驱动器的所述驱动器映像提供器提供其指示;所述驱动器映像提供器向所述请求主机应用表征所述专用物理数据存储驱动器为所述一个固定虚拟驱动器,所述驱动器映像提供器引导由所述请求主机应用向作为所述虚拟数据存储驱动器的所述专用物理数据存储驱动器的通信;并且当所述请求主机应用在所述驱动器资源提供器专用所述物理数据存储驱动器之前请求虚拟数据存储驱动器时,所述驱动器映像提供器向所述请求主机应用表征所述虚拟数据存储驱动器“未就绪”。
29.一种用于引导至少一个主机应用与自动数据存储库的物理数据存储驱动器之间的通信的虚拟化系统,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述物理数据存储驱动器之间传送所述便携式数据存储盒,所述虚拟化系统包括驱动器资源提供器,提供至少一个驱动器映像表,其中驱动器映像表包括提供固定多个所述虚拟数据存储驱动器的映像的虚拟数据存储驱动器列表,并且对于每个所述虚拟数据存储驱动器提供固定标识;在任一时间,所述驱动器资源提供器分配所述自动数据存储库的“n”个所述物理数据存储驱动器的驱动器池的任意“m”个物理数据存储驱动器,并且指示所述数据存储驱动器池中的“n”-“m”个是被释放的并且可用于分配;所述驱动器资源提供器响应所述至少一个主机应用请求所述虚拟数据存储驱动器之一的触发事件,将所述驱动器池的所述“n”-“m”个物理数据存储驱动器之一专用于所述一个虚拟数据存储驱动器,在所述驱动器映像表中标识所述专用物理数据存储驱动器为所述一个虚拟数据存储驱动器;以及至少一个驱动器映像提供器,耦合到所述至少一个主机应用并且耦合到所述驱动器资源提供器,向所述至少一个主机应用提供所述固定虚拟数据存储驱动器的至少一个映像,所述映像得自对应的所述驱动器映像表,所述驱动器映像提供器为所述固定多个虚拟驱动器中的每一个提供所述固定标识和对所述至少一个主机应用的固定响应集;并且引导所述至少一个主机应用与所述自动数据存储库的所述物理数据存储驱动器池的所述物理数据存储驱动器之间的通信;所述驱动器映像提供器响应所述驱动器映像表中所述物理数据存储驱动器的所述专用和标识,向所述请求主机应用表征所述专用物理数据存储驱动器为所述固定虚拟数据存储驱动器之一,并且引导所述专用数据存储驱动器与作为所述虚拟数据存储驱动器的所述请求主机应用之间的通信;并且当所述请求主机应用在所述驱动器资源提供器专用所述物理数据存储驱动器之前请求虚拟数据存储驱动器时,所述驱动器映像提供器向所述请求主机应用表征所述虚拟数据存储驱动器“未就绪”。
30.一种用于引导至少一个主机应用与自动数据存储库的物理数据存储驱动器之间的通信的虚拟化方法,所述存储库在贮存架上贮存多个便携式数据存储盒,并且在所述贮存架与所述物理数据存储驱动器之间传送所述便携式数据存储盒,所述虚拟化方法包括以下步骤提供至少一个驱动器映像表,其中驱动器映像表包括提供固定多个所述虚拟数据存储驱动器的映像的虚拟数据存储驱动器列表,并且对于每个所述虚拟数据存储驱动器提供固定标识;响应所述至少一个主机应用,向所述至少一个主机应用提供所述固定虚拟数据存储驱动器的至少一个映像,所述映像得自对应的所述驱动器映像表,为所述固定虚拟数据存储驱动器中的每一个提供所述固定标识和对所述至少一个主机应用的固定响应集;并且引导所述至少一个主机应用与所述自动数据存储库的所述多个物理数据存储驱动器之间的通信;提供所述自动数据存储库的“n”个所述物理数据存储驱动器的驱动器池,在任一时间,分配所述物理数据存储驱动器池中的任意个数“m”,并且指示所述物理数据存储驱动器池中的“n”-“m”个是被释放的并且可用于分配;响应所述至少一个主机应用请求所述虚拟数据存储驱动器之一的触发事件,将所述驱动器池的所述“n”-“m”个物理数据存储驱动器之一专用于所述一个虚拟数据存储驱动器,在所述驱动器映像表中标识所述专用物理数据存储驱动器为所述一个虚拟数据存储驱动器;响应所述驱动器映像表中所述物理数据存储驱动器的所述专用和标识,向所述请求主机应用表征所述专用物理数据存储驱动器为所述固定虚拟数据存储驱动器之一,引导所述专用物理数据存储驱动器与作为所述虚拟数据存储驱动器的所述请求主机应用之间的通信;以及当所述请求主机应用在专用所述物理数据存储驱动器的所述专用步骤之前请求虚拟数据存储驱动器时,向所述请求主机应用表征所述虚拟数据存储驱动器“未就绪”。
全文摘要
为所接收的请求分配自动数据存储库的数据存储驱动器。当在驱动器池的所有驱动器均被分配的情况下接收到驱动器请求时,驱动器资源提供器暂停任何关于该请求的便携式数据存储盒的安装,当驱动器被分配时解除暂停。在驱动器池之外提供备用驱动器。可以响应请求分配备用驱动器,并且投递表示使用备用数据存储驱动器的消息。所投递消息可以包括可以采取行动以将备用数据存储驱动器永久性地转移到驱动器池中的通知。而且,用于自动数据存储库的虚拟化系统的驱动器映像提供器向主机应用提供带有固定标识的固定多个虚拟数据存储驱动器的映像。在任一时间,驱动器资源提供器向驱动器映像提供器分配“n”个驱动器的驱动器池中的任意个数“m”,并且驱动器池中的“n”-“m”个被释放并且可用于分配。驱动器资源提供器响应请求驱动器的触发事件,并且将驱动器池中的“n”-“m”个驱动器之一专用于虚拟驱动器。驱动器映像提供器表征并且引导主机与作为固定虚拟驱动器的专用驱动器之间的通信;并且在驱动器专用之前,向请求主机应用表征虚拟驱动器“未就绪”。
文档编号G11B15/68GK1568512SQ02817711
公开日2005年1月19日 申请日期2002年8月14日 优先权日2001年9月10日
发明者罗伯特·B·巴沙姆, 柯比·G·达曼, 肯尼思·F·戴第三, 伦纳德·G·杰西奥诺斯基 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1