具有多用途插槽的自动数据库的制作方法

文档序号:6478264阅读:124来源:国知局
专利名称:具有多用途插槽的自动数据库的制作方法
技术领域
本发明涉及自动数据存储设备库,用于管理便携数据存储介质针对介质驱动器的加载,卸出和传送,以及库主机和这种驱动器中加载的介质之间的数据交换。更具体地,本发明涉及具有机器人(robotic)介质传送设备和以多用途插槽为特征的数据存储库,所述多用途插槽被构造成接收(1)介质驱动器,在操作中可以针对以可拆卸方式载入介质驱动器的介质进行数据读和/或写,(2)命令转发端口,在操作中可以从主机向机器人设备传送命令信号,或(3)各种其它类型的模块。机器人设备被编程以识别哪个类型的模块占用每个插槽,或插槽是否为空,并且恰当地与占用方(occupant)通信。
背景技术
当今最普及的大容量存储系统中的一种是数据存储″库″。通常,数据存储库意味着大量普通容纳的便携(″活动″)数据存储介质,其中通过机器人介质传送设备在各种存储柜,输入/输出区和介质驱动器中间移动数据存储介质。这些库因许多原因而变得普及。首先,相对于诸如磁盘驱动器的其它存储格式,通常为磁带或光学介质的便携数据存储介质通常相当廉价。此外,通过简单地增加更多的介质项目(media item),库易于扩充以容纳更多数据。另外,多数库易于用新设备更新。例如,新的介质驱动器可以被引入到库中以补充或替换现有的介质驱动器。
今天,一些不同的公司制造这种库,每种型号具有各种不同的功能和工作原理。数据存储设备库的一个著名制造商是国际商用机器公司(IBM)。虽然大量不同的IBM库已得到广泛使用和商业成功,然而IBM工程师仍在寻找改进其库产品的各个方面的途径。
一个重点是降低成本,尤其是通过设计可容易地重构和尽可能共享部件的库,来削减硬件成本。然而,设计执行多个功能或响应多个主单元的部件通常是困难的。经常地,这个灵活性级别需要增加笨重的层次以协调或监视软件代码,这样会最终降低库的其它无关方面的性能。例如,在许多情况下,开发允许多个不兼容主机管理介质项目的共享库存的软件会不可避免地非常困难或代价高昂。
在其它情况下,共享部件会需要包含不同主机的分立端口,于是增加了共享部件的硬件成本。此外,当多个部件共享总线或其它功能时,某些构造出现不兼容性,从而导致降低或损失数据可用性。于是,在其寻求合并部件或降低数据存储库中硬件费用时,工程师面临大量艰巨的挑战。在Basham等人于1997年9月16日提交、标题为″AUTOMATED DATA STORAGE LIBRARY WITH CONTROLPATH TO SHARED ROBOTIC DEVICE VIA MEDIA DRIVE″,且现在授权为美国专利___的美国专利申请08/931,856中提出了一个解决上述问题的方案。这里完整地参考引用了该专利。
Basham等人公开了以主计算机和介质驱动器之间的双用数据/控制路径为特征的数据存储库。这个路径在主机和驱动器之间传送控制信号和数据,并且从主机向连接到驱动器的机器人介质传送设备传送机器人控制信号。虽然这个方案提供了各种益处,然而IBM工程师仍在寻找新的方式以降低库成本和改进客户重新配置库的自由度。在这点上,一个可能考虑的领域是开发一种系统,该系统是充分可重构的,然而使客户除了普通驱动器功能之外不必因购买能够传送机器人控制信号的特殊双用介质驱动器而发生费用。从市场的角度看,相关问题是已经选择利用传统介质驱动器型号建立库的客户可能因其需要至少一个独特的介质驱动器类型,即除了普通驱动器功能之外能够向库的机器人介质传送设备传送主机命令的专用双用介质驱动器,而拒绝使用Basham等人的库。于是仍然需要进一步的改进以降低成本和提高配置数据存储设备库的灵活性。

发明内容
概括地讲,本发明涉及具有机器人介质传送设备并且以多用途插槽为特征的数据存储库,其中每个多用途插槽被构造成接收占用方,例如介质驱动器(针对以可拆卸方式载入介质驱动器的介质读和/或写数据)或命令转发端口(从主机向机器人介质传送设备传送命令信号)。本发明还考虑在插槽中插入和使用其它模块,例如双功能介质驱动器/转发端口,交换机,集线器,网关,路由器,网络存储器,以太网单元,DASD,主机,存储仿真器等等。机器人介质传送设备被编程以识别哪个类型的模块(如果存在)占用每个插槽,并且恰当地与任何占用方通信。
提供电缆,连接器或其它联结器以便自动或人工地将占用插槽的任何介质驱动器或命令转发端口(或其它模块)电连接到机器人介质传送设备,并且可选地电连接到主机(如果适用)。对于每个插槽,机器人设备确定每个插槽的状态,包含占用每个插槽的模块的类型,或插槽是否为空。对于命令转发端口占用的每个插槽,机器人设备通过命令转发端口从主机接收介质传送命令,并且执行这些命令以便在包含介质存储柜,介质驱动器等等的指定介质位置中间移动介质项目。对于介质驱动器占用的每个插槽,机器人设备可以交换各种配置信息,系统管理消息,或根本不交换任何信息。
如上所述,本发明的一个设备涉及例如数据存储库的设备。也可以通过若干其它形式实现本发明。例如,可以实现本发明以提供可在数据存储库中工作的方法。在另一个实施例中,可以实现本发明以提供信号承载介质,所述信号承载介质有形地体现可被数字数据处理设备执行、以在如这里描述的数据存储库中操作的机器可读指令程序。另一个实施例涉及具有多个电互连导电元件的逻辑电路,所述导电元件被构造成在这里描述的数据存储库中操作。
本发明为其用户提供了若干明显的优点。显然,本发明保护了客户的数据存储库投资,因为命令转发端口可以被升级以便使用新的和不同的主机互连和/或协议进行外部通信,同时保留与机器人设备的相同类型的内部通信。于是,通过根据需要升级命令转发端口,客户可以将机器人设备与技术标准或技术自身的改变隔离。因此,对库的主机接口的改变不必使机器人设备过时。本发明的另一个优点在于,数据存储库容纳各种不同的插槽占用方,并且在这种占用方的数量和类型,主机到机器人设备的连接的数量和类型等等方面可以被重新配置。在这点上,本发明是可伸缩的,因为客户可能在任何时候增加(或减少)命令转发端口的数量以适应主机的增加(或减少);此外,在不必使库中的空间为任何端口专用的情况下也可得到这个益处。因此,本发明是灵活的,因为任何指定插槽均可以容纳命令转发端口或介质驱动器(或其它模块),从而提供在一个库系统内增加主机连接,数据访问设备或逻辑库的优点。
并且,由于机器人介质传送设备通过分立的命令转发端口与分立的主机通信,并且可以被构造成为非重叠主机访问而对介质项目的主体进行分区,本发明避免了在常规情况下需要操作共享部件的主机软件的复杂化。并且,在安装多个命令转发端口的情况下,本发明还具有为机器人设备提供冗余路径的优点,这在到达机器人设备的期望路径出现故障或不可用时是非常有用的。并且,由于插槽可以容纳不同和甚至不兼容的命令转发端口,本发明的库是有益的,因为它允许共享单独的机器人介质传送设备和公共的介质项目库存,尽管具有不兼容主机,应用软件和/或通信协议的异构混合体。
作为另一个优点,具有多个对应于分立主机的分立命令转发端口简化了库中介质项目的分区。也就是,机器人介质传送设备可以使每个命令转发端口与不同的介质项目分区关联,从而将通过指定命令转发端口到达的所有介质传送命令限制到对应分区上。这简化了主机处理,因为每个主机对其自身得知的″库″享有独占访问,虽然这个″库″实际上是介质项目整体的更小分区。此外,通过防止不同主机因非一致地使用共享介质项目而彼此扰乱,分区有助于保护库的安全性和完整性。与针对每个主机使用完全分立的库的方式(也会保护库的安全性和完整性)相比,分区的方式通过共享库容,机架,机器人机构和其它公共库基础设施而得到某种程度的经济性。
本发明还提供了通过以下描述可以理解的若干其它优点和益处。


图1A是基于本发明的数据存储库的硬件部件和互连的模块图。
图1B是基于本发明的示例性命令转发端口的硬件部件和互连的模块图。
图2是基于本发明的数字数据处理机的模块图。
图3示出了基于本发明的示例性信号承载介质。
图4的流程图示出了操作本发明的数据存储库的序列。
具体实施例方式
在阅读以下结合附图的详细描述之后,本领域的技术人员可以更加理解本发明的性质、目的和优点。
硬件部件和互连介绍本发明的一个方面涉及数据存储/检索库,通过图1A的库102示例出数据存储/检索库。库102被连接到一或多个主机104,包括图解例子中的两个主机106,108。库102包含若干插槽110、112、114、116,机器人介质传送设备118(″机器人设备″)和各种用于介质项目的存储柜120。各个插槽110-116被构造成至少接纳(1)介质驱动器,例如152,在操作中可以针对以可拆卸方式载入介质驱动器的介质读和/或写数据,(2)命令转发端口,例如150,在操作中可以从主机向机器人设备传送介质传送命令,或(3),各种其它类型的模块(未示出)。机器人设备118被编程以识别哪个类型的模块占用每个插槽110-116(或任意插槽是否为空),并且恰当地与占用方通信。
存储柜库102管理″活动″或″便携″数据存储介质,例如磁带、光带、光盘、移动磁盘驱动器存储器、CD-ROM、数字视盘(DVD)、紧凑快擦写或智能介质、插件式电路模块或其它适当格式介质的定位和存取。某些这样的存储介质可以被自包含在便携容器或″盒″中。为了通指任何这样的存储介质,这里称之为介质的″项目(item)″。
存储柜120容纳介质项目。储柜120可以包括机架、插槽、机柜、框架或任何用于保存库102中实现的类型的介质项目的设备。储柜120也可以包含一或多个机架、入口、门、隔室或其它输入/输出构造,以辅助机器人设备118从库102输出介质项目,或接收从外部引入库102的介质项目。
存储柜120,介质项目或其组合可以被逻辑分成各个分区120a-120c,如下所述。
主机主机106、108包括大型计算机、计算机工作站、个人计算机、计算机网络、服务器、数据输入终端、网络设备、网络家电或其它能够向插槽110-116的适当配置的占用方(例如命令转发端口)提供介质传送命令,并且能够与其它插槽110-116中容纳的介质驱动器交换机器可读数据的装置,其中所述占用方容纳在插槽110-116中。作为特定的例子,主机106、108可以包括诸如IBM RS/6000服务器的计算机。
插槽和连接器插槽110-116包括开口、插座、外壳、机架、机柜、框架或其它接纳介质驱动器和命令转发端口的构造。作为特定的例子,插槽110-116可以包括尺寸适于接纳5.25英寸形式的磁带驱动器(例如IBM 3570型磁带驱动器)的刚性隔间(bay)。
在一个实施例中,每个插槽包含主机连接器,如110a、112a、114a、116a所示。当被插到插槽中时,每个插槽的主机连接器被构造成以自动、可拆卸和电气方式连接到介质驱动器或命令转发端口。主机连接器110a-116a被电连接到外部库连接器122-128,所述外部库连接器用于通过主机电缆107、109人工连接到主机106、108。更具体地,在配置库102以进行操作时,通过将主机电缆(例如107、109)连接到插槽的对应外部库连接器(例如122、124),每个占用的插槽(例如110、112,如图所示)被连接到主机中的一个。
可选地,插槽连接器110a-116a可人工而不是自动地被连接到其占用方。在另一个实施例中,可以省略一或多个插槽的连接器110a-116a,在这种情况下,这些插槽的占用方被人工连接到其相应的主机,例如通过连接插槽占用方的固定装置和外部连接器122-128或主机自身之间的电缆。
主机电缆107、109可以包括任何适当的用于传送信号的装置,例如具有一或多个导电构件的总线(例如导线、同轴电缆、双绞线、导电轨线等等),无线通信链路(例如无线频率或其它电磁信号、红外通信等等),光纤通信或其它适当路径。此外,根据需要,电缆107、109可以使用串行、并行或其它利用数字或模拟信号的通信格式。
对于电缆109,目的是在主机106和介质驱动器152之间前后传导数据,其中针对装配到驱动器152的介质项目读/写这种数据。因而,电缆109也可以传送来自主机106的命令到介质驱动器,例如读取、写入、回绕、前进、卸出等等。电缆107的目的是通过命令转发端口150在主机106和机器人设备118之间传导高层指令(″介质传送命令″)。介质传送命令构成被主机根据需要用来使机器人设备检索、移动和放置各个介质项目的指令。必要时,电缆107也可以向主机106传送机器人设备118返回的应答信号。
可选地,驱动器152可以包括如上述′856专利申请所述的双用介质驱动器。在这个实施例中,驱动器152的后端(即端口112b)通过端口118f被连接到机器人设备118,并且电缆109的附加功能是通过双用驱动器152在主机106和机器人设备118之间传送介质传送命令。
单独的主机可以被连接到多个插槽,以便实现多个连接,例如针对插槽中驻留的多个介质驱动器和/或命令转发端口的连接。在其中每个插槽包含主机连接器110a-116a的上述实施例中,可以选择连接器110a-116a的形状、位置、电气引出线和其它构造以接纳介质驱动器和命令转发端口上的对应连接器(未示出)或与之连接的电缆,并与之电气配偶。根据这里的公开内容,本领域技术人员可认识到各种不同的适用于此目的的连接器和/或电缆。
根据一个实施例,除了主机连接器110a-116a之外,每个插槽110-116可以包含机器人设备连接器110b-116b。机器人设备连接器110b-116b被构造成可拆卸地电连接到插入相应插槽的命令转发端口,甚至在插入命令转发端口时可自动实现这种连接。连接110-116b也可以被连接到其它插入有关插槽并且需要与机器人设备通信的部件,例如这种部件包含双用介质驱动器。在本发明的考虑在机器人设备118和例如152的介质驱动器之间交换构造相关信息(非客户数据)的一个实施例中,机器人设备连接器110b-116b也可以被构造成可拆卸地电连接到插槽中的介质驱动器。通过与命令转发端口和介质驱动器兼容的单独公共连接器或分立的连接器,可以实现各个连接器110b-116b以适应命令转发端口和介质驱动器的相应布局的任何差异。此外,取代图1A所示的直接连接,可以通过其它形式,例如一或多个环路、环、网络、交换机、多分支结构等等实现插槽110-116和机器人设备118之间的连接。作为另一个可选方案,可以省略连接器110b-116b,其中通过电缆、导线、无线连接或其它链路人工构成插槽占用方和机器人设备118之间的连接。根据这里的公开内容,本领域技术人员可认识到各种不同的适用于上述目的的连接器。
介质驱动器介质驱动器包括用于和诸如这里提到的便携数据存储介质交换数据的机器。取决于应用的需要,各个驱动器可以是只读、只写或读/写驱动器。在图解的例子中,介质驱动器包括5.25英寸磁带驱动器。一个示例性的磁带驱动器是IBM 3570型磁带驱动器。虽然这里讨论了磁带,然而介质驱动器可以包括用于读和/或写其它可移动介质,例如光盘、移动磁盘存储器、插件式存储器模块等等的机器。
作为介质驱动器的安装和使用的一个例子,介质驱动器152被示出为安装在插槽112中。介质驱动器通过连接器112a接收主机的读和/或写请求,并且通过存取加载的介质项目并且经主机连接器112a发送或接收所请求数据,来作出响应。可选地,如果如此配置介质驱动器和机器人设备,介质驱动器可以通过机器人设备连接器112b与机器人设备118交换配置信息(非客户数据)。作为例子,这种配置信息包含状态信号、出错消息、配置数据和其它涉及驱动器和/或其操作的属性的信息。
认识到介质驱动器引出线、连接器、物理深度和其它特征方面标准化的缺乏,兼容介质驱动器可以包括被重新封装以便顺利插入和连接到插槽的商用介质驱动器。然而随着标准的演变,可以设计插槽以兼容变得标准化的引出线、连接器、尺寸和其它介质驱动器特征。
命令转发端口在图解的例子中,各个命令转发端口(例如150)包括5.25英寸形式的、被构造成在主机中的一个(例如106)和机器人设备118之间转发信号的电子接口。更具体地,命令转发端口150在主机使用的接口格式的信号(例如主机连接器110a-116a上出现的SCSI信号)和机器人设备118使用的接口格式(例如RS-422)的信号之间进行转换。如果主机使用与机器人设备118相同的信号格式,命令转发端口150可以充当管道,或者实际包括信号传送通过(carry-through)电路。
为了更详细地讨论示例性命令转发端口的构造,参照图1B。命令转发端口150包括外壳,例如印制电路板、金属盒或其它围罩等等。在外壳内(或连接到外壳地),命令转发端口150包含控制器152,存储器154和连接器156、158。主机连接器158被构造成连接到主机连接器110a-116a;直接连接到连接器122-128或为连接到连接器122而设计的电缆;直接连接到主机106;或连接到任何其他为将端口150连接到主机106而设计的连接、机构或器件。当在其插槽110中安装端口150时,主机连接器158甚至可以构成主机连接器110a。机器人设备连接器156被构造成连接到机器人设备连接器110b;连接到为连接到连接器110b而设计的电缆;直接连接到机器人设备端口118f中的一个;或连接到任何其他为将端口150连接到机器人设备118而设计的连接、机构或器件。当在其插槽110中安装端口150时,机器人设备连接器156甚至可以构成连接器110b。控制器152包括离散电路、逻辑电路、ASIC、信号处理电路、微处理器或其它数字或模拟处理电路,以在主机连接器158上的一个信号格式和机器人设备连接器156上的另一个信号格式之间进行转换。作为一个例子,控制器152可以在SCSI或光纤(Fibre)信道信号(来自主机)和RS-422信号(在机器人设备118上)之间进行转换。某些命令转发端口可以被设计成针对与机器人设备118使用相同信号格式的主机,在这种情况下命令转发端口150包括管道,甚至可以省略控制器152和存储器154,其中将其替换成旁路或传送通过电路。存储器154包括电路存储器、非易失存储器、缓存器、存储器寄存器或任何其他被控制器152用于执行其转换任务的数字数据存储设施。必要时,存储器154可以被集成到控制器152中。
有利的是,为了合并连接器和简化插槽构造,用于库102的命令转发端口可以被构造成与介质驱动器具有相同的尺寸和连接标准,以便被插槽110-116接纳。作为命令转发端口的安装和使用的一个例子,命令转发端口150被示出为安装在插槽110中。端口150传送主机106的介质传送命令到机器人设备118,并且传送来自机器人设备118的任何返回信号回到主机106。
为了便于引用,术语″转发模块″被用来表示被构造成在一或多个主机和机器人设备之间转发介质传送命令的硬件部件。于是,″转发模块″可以包含命令转发端口、双用(组合)介质驱动器和命令转发端口单元等等。
用于插槽的其它设备除了前面公开的命令转发端口和介质驱动器之外,本发明还涉及插槽110-116的其它占用方。例如,各个插槽可以容纳光纤信道网关、路由器、交换集线器、网络存储器、以太网、DASD或主机。另一个示例性插槽占用方是存储器仿真器,例如使得库中的介质项目在主机看来是硬盘驱动器或其它SCSI存储设备的设备。此外,插槽110-116可以容纳如上述′856专利申请所述的双用介质驱动器/转发端口。
机器人设备机器人设备118包含控制器118d、介质处理机构118c、命令集存储器118a、分区映射118e、配置记录118b和端口118f。端口118f包括本领域已知的多导线寄存器端口,或其它适当的结构,例如串行端口、光纤链路、无线链路等等。介质处理机构118c包含伺服系统、马达、支臂、抓爪、传感器和其它机器人、机械和电气设备,以执行包含(至少)插槽110-116中的介质驱动器,存储柜120,输入/输出区域等等之间/中间的介质项目传送的功能。例如,机构118c可以包含机器人臂或其它盒处理设备。作为更具体的例子,机构118c可以包括如商用IBM 3494型数据存储库所示的存取器/抓爪。
如下所述,控制器118d包括一或多个可以利用各种不同硬件部件实现的数据处理机。作为一个可选功能,控制器118d可以因各种内务处理原因而与命令转发端口150和介质驱动器152通信,如下所述。更重要地,控制器118d允许机器人设备118响应通过主机106、108发起并且通过命令转发端口(例如150)发送到机器人设备的高层介质传送命令。作为一个例子,某些这样的命令可以包括标识具体介质项目和期望介质目的地的介质移动命令。例如,可能的介质目的地包含插槽110-116中的介质驱动器,存储柜120,输入/输出区域等等。为了图解一个示例性信号路径,控制器118d可以通过电缆107、外部连接器122、主机连接器110a、命令转发端口150、机器人设备连接器110b和端口118f从主机106接收介质传送命令。控制器118d使用这些信号产生与机构118c的设备兼容的更加特定的控制信号。这些特定控制信号包含指示进行移位、旋转、抓紧和其它具有实现期望介质移动的组合效果的动作的指令。于是,来自主机106、108的高层介质传送命令可以简单地指示机器人设备118例如从指定存储柜向介质驱动器中的一个加载介质项目。相反,控制器118d相应产生的控制信号具体指示机构118c完成垂直和水平移动,抓紧和释放动作,旋转或枢轴运动,以及任何其他适合于执行主机的高层介质移动命令的移动。
如上所述,并且如下所详述的,可以通过各种方式实现控制器118d。作为另一个选择,控制器118d可以包括插入插槽110-116中的一个并且通过端口110b-116b中的一个和端口118f中的一个与机器人设备118的其余部件通信的模块单元。在另一个实施例中,控制器118d可以包括位于诸如152的介质驱动器中的共享功能处理器。
可以通过查找表、链接表、文件、记录、数据库或任何其他在易失或非易失存储器、存储设备、硬件或任何其他装置中存储的数据结构实现命令集存储器118a、分区映射118e和配置记录118b。命令集118a包含(1)被调用以便启动或响应命令转发端口的某些命令、固件例程、子程序、软件或其它函数,和(2)被调用以便启动或响应介质驱动器的其它固件例程、命令、子程序、软件或其它函数。命令集118a也可以涉及其它类型的插槽占用方,例如光纤信道网关、路由器、交换机、网络存储器、主机、存储器仿真器、双用介质驱动器等等。
在本例子中,命令转发端口的命令集包括若干被调用以响应不同SCSI介质转换器命令的不同函数,这些函数用于通过向介质处理机构118c提交特定指令来执行SCSI命令。根据需要,命令集118a可以包含许多辅助命令集以适应不同厂商、样式和/或型号的介质驱动器。
配置记录118b包含各个插槽110-116的内容的记录,即其是否含有内容,介质驱动器,命令转发端口或其它占用方。配置记录118b也可以含有关于插槽内容的详细资料,例如介质驱动器的制造商、样式、型号、速度和容量。分区映射118e包含指定一或多个分区的信息,其中各个分区包含以下部件的一或多个插槽110-116、介质项目和存储柜120之一或全部、输入/输出区域等等。配置记录还将各个介质传送命令进入节点(例如命令转发端口或双用介质驱动器)与具体分区关联。
示例性数字数据处理设备如上所述,例如控制器118d和控制器152的计算机特征可通过各种形式实现。作为一个例子,控制器118d和处理器152之一或全部可以包括分立的数字数据处理设备,如图2的数字数据处理设备200的硬件部件和互连所示。
设备200包含连接到存储器204的处理器202,例如微处理器、工作站、个人计算机或其它处理机。在本例子中,存储器204包含快速存取存储器206以及非易失存储器208。快速存取存储器206可以包括随机访问存储器(″RAM″),并且可以被用来存储由处理器202执行的编程指令。非易失存储器208可以包括例如电池后备RAM、EEPROM、一或多个磁性数据存储盘,例如″硬盘驱动器″,磁带驱动器,或任何其他适当的存储设备。设备200还包含输入/输出210,例如线路,总线,电缆,电磁链路,或其它使处理器502与设备200外部的硬件交换数据的装置。
除上述具体描述之外,本领域技术人员(借助本发明的教导)能够发现,在不偏离本发明范围的情况下上述设备可以通过具有不同构造的机器实现。作为特定的例子,部件206、208中的一个可以被省略;此外,可以在处理器202上,甚至是在设备200外部提供存储器204。
逻辑电路与上述数字数据处理设备相反,本发明的不同实施例使用逻辑电路而不是计算机执行的指令实现控制器118d和/或控制器152。根据应用在速度、费用、加工成本等等方面的具体需求,可以通过构造具有数千微型集成晶体管的专用集成电路(″ASIC″)来实现这个逻辑。可以通过CMOS、TTL、VLSI或其它适用构造实现这种ASIC。其它可选方案包含数字信号处理芯片(″DSP″)、离散电路(例如电阻器、电容器、二极管、电感器、和晶体管)、现场可编程门阵列(″FPGA″)、可编程逻辑阵列(″PLA″)等等。
操作前面描述了本发明的结构特征,现在描述本发明的操作特性。如上所述,本发明的处理通常涉及机器人设备识别各个插槽110-116如何/是否被填充,以及此后以某种适当的方式与占用方通信。虽然本发明广泛适用于所有类型的介质存储驱动器和可移动数据存储介质,然而已经描述的特定结构非常适于磁带介质,并且随后的说明会集中于本发明的这种应用,但不对本发明产生任何限制。
信号承载介质在由控制器118d和控制器152执行机器执行的程序序列的实施例中,可以通过各种形式的信号承载介质实现这些序列。在图2的背景中,这种信号承载介质可以包括例如存储器204或可被处理器202直接或间接访问的其它信号承载介质,例如磁性数据存储盘300(图3)。无论是包含在存储器204、磁盘300还是其它地方,指令均可以被存储在各种机器可读数据存储介质上。某些例子包含直接存取存储器(例如传统″硬盘驱动器″、廉价盘的冗余阵列(″RAID″)或其它直接访问存储设备(″DASD″)),诸如磁带或光带的串行存取存储器,电子非易失存储器(例如ROM、EPROM或EEPROM),电池后备RAM,光学存储器(例如CD-ROM、WORM、DVD、数字光带),纸张″打孔″卡,或其它适当的信号承载介质,包含模拟或数字传输介质,模拟和通信链路,和无线通信。在本发明的图解实施例中,机器可读指令可以包括从诸如″C″,汇编语言等等编译而成的软件对象代码。
逻辑电路与上述信号承载介质相反,通过使用逻辑电路而不是处理器执行指令,可以实现本发明的方法。在这个实施例中,在控制器118d和/或控制器152中实现逻辑电路,并且逻辑电路被构造成执行操作以实现本发明的方法。如上所述,通过使用许多不同类型的电路可以实现逻辑电路。
总体操作序列图4示出了进一步图解本发明的方法的一个例子的序列400。概括地讲,在这个序列中,一或多个介质驱动器和/或命令转发端口被加到库102中,之后库102根据这个配置进行操作,以满足主机的数据存储/检索需要。为了易于解释,在如上所述图1的系统的环境中描述图4的例子,但本发明不限于此。
在步骤402,技术人员、安装工程师、系统管理员或其它操作人员向一或多个插槽加载命令转发端口或介质驱动器。如上所述,本发明考虑到用于插槽的各种其它设备,虽然当前的讨论(为了便于图解)侧重于命令转发端口和介质驱动器。在图1A图解的例子中,操作人员用命令转发端口150填充插槽110,并且用介质驱动器152填充插槽112。在步骤404,操作人员初始化库102的配置。这涉及向机器人设备118提交适当命令,所述命令可能来自以下部件中的一个主机106、108中的一个,触发器,自动配置序列,单独从主机连接到机器人设备的系统管理员控制台(未示出),等等。如果库第一次启动,步骤404触发库102的第一次配置;如果库先前已经配置和操作,但是步骤402改变了插槽110-116的内容,则步骤404触发库102的重新配置。除了提供用于配置或重新配置的指令之外,步骤404的命令可以包含其它信息,例如库102中的不同分区的标识。各个分区可以包含一或多个以下部件一或多个介质驱动器,输入/输出区,存储柜120中的介质项目(由介质项目的序号、在储柜120中的行/列位置、储柜120的预定子部分120a-120c或其它方式标识),或其它库部件。除了分区的内容之外,步骤404还在各个分区,和用于从主机向机器人设备118传送介质传送命令(涉及该插槽的分区)的一或多个具体插槽、命令转发端口或双用介质驱动器之间进行映射。可选地,不同于分别在分区和插槽之间进行映射,插槽可以被包含在分区定义中。
响应步骤404,机器人设备118确定插槽110-116的状态(步骤406)。也就是,对于各个插槽,机器人设备118确定插槽是否被占用或为空,并且如果被占用,确定其中驻留什么类型的占用方。在图解的实施例中,机器人设备118确定各个插槽占用方是介质驱动器还是命令转发端口。根据应用,机器人设备118可以识别其它占用方类型,例如光纤信道网关、路由器、交换机、集线器、网络存储器、以太网、DASD、主机、存储器仿真器、双用介质驱动器等等。通过实际检测各个插槽的占用方的某种属性,或通过得到插槽状态的通知,可以执行步骤406。在检测方案的一个例子中,机器人设备118通过适当的机器人设备端口110b-116b与各个插槽的占用方交换消息。在这个实施例中,机器人设备118可以利用不同命令集的代表性样本尝试与插槽占用方通信。在与插槽占用方成功通信之后,机器人设备118可以使用现在确认的命令集进行更加具体的通信,例如确定介质驱动器的制造商、样式、型号、速度、存储容量和其它信息。在″检测″方案的不同例子中,机器人设备118不是交换消息,而是检测插槽占用方的电气配置,例如通过检测当插槽被填充命令转发端口或介质驱动器时出现的电气上拉或下拉。通过插槽的可选机械和电气结构实现这种上拉或下拉,本领域技术人员借助这里公开的内容可想到各种这样的结构。在另一个实施例中,机器人设备118针对插槽占用方操作光学读取器(未示出),例如检测区分条码的条码读取器或光传感器,反射传感器,非反射传感器,或其它可见指示器。在另一个不同的实施例中,机器人设备118使用接触方式识别占用方类型,例如通过实验性地用机器人手指或探测器接触插槽占用方,或通过实验性地尝试向各个插槽的占用方加载介质项目。通过使用基于RF、感应、或其它电场或磁场的扫描,另一个实施例使用磁性、″智能卡″或其它无线读取器识别插槽占用方。在根据上述任务(或其组合)中的一个确定插槽状态之后,机器人设备118在配置记录118b中存储结果。
与上述相比,通过具体通知机器人设备118有关库的配置的信息,可以执行步骤406。在这个实施例中,操作人员人工检查各个插槽110-116,并且使用系统控制台向机器人设备118发送这种信息,甚至直接在配置记录118b中存储结果。在这个实施例中,通过接收这种输入,或通过检查包含这种输入的配置记录118b,机器人设备确定插槽的状态(步骤406)。
总之,在当前图解例子中步骤406的结果包含机器人设备118识别命令转发端口150位于插槽110中,介质驱动器152位于插槽112中,和插槽114、116为空。在步骤407,机器人设备118实现任何适用的分区方案。如果被实现,各个分区定义库中仅被那些通过命令转发端口或双用介质驱动器连接到该分区的主机独占使用的设施集合。各个分区包含设施集合,该设施集合可以包含任何以下部件一或多个存储柜120、一或多个介质项目、一或多个插槽110-116或其组合。在当前图解的例子中,定义分区,使得主机106与端口150、介质驱动器152和某些介质项目关联。
机器人设备118可以通过各种方式得知期望的分区。例如,机器人设备118可以查询配置记录118b以确定在步骤404是否发出分区指令。在另一个实施例中,机器人设备118可以自动识别期望分区,如以下参考文献中所示1.美国专利6,185,165,标题为″Positionable Vision Indicatorsfor Configuring Logical Libraries″,2001年2月2日提交。
2.美国专利6,044,442,标题为″External Partitioning of anAutomated Data Storage Library into Multiple Virtual Libraries forAccess by a Plurality of Hosts″,2000年3月28日提交。这里完整地参考引用了上述专利的整个内容。
在得知任何适用的分区方案之后,机器人设备118当执行机器人设备命令或读/写请求时会实施这个方案,如下所述。
在步骤407之后,库102(尤其是机器人设备118)操作准备就绪(步骤408)。在步骤410,主机106根据需要通过命令转发端口150提交介质传送命令,以指示机器人设备得到介质项目并向介质驱动器152加载介质项目。在步骤412,主机向介质驱动器152提交读/写请求,以指示介质驱动器针对其中加载的介质项目进行读取、写入、前进、回绕,以及执行其它操作。
在步骤414,机器人设备118根据需要与插槽110、112的占用方通信。例如,机器人设备118可以从命令转发端口150接收介质传送命令。在这种情况下,机器人设备118针对适当命令集118a评估接收的命令(步骤416),并且如果命令是适当的,机器人设备118采取任何保证的动作(步骤418)。例如,如果在步骤414接收到加载命令,则机器人设备118在步骤416通过将其与命令转发端口命令集相比较来验证加载命令及其语法。如果加载命令是适当的,则机器人设备118执行适当函数(例如)以便在步骤418将期望介质项目加载到介质驱动器152中。
有利的是,如果机器人设备118在步骤414接收到审计、库存或其它主机命令以得知存储柜120的内容(步骤410),机器人设备118(步骤418)只返回分配给命令转发端口150的分区的内容,其中从该命令转发端口150接收到审计、库存或其它命令。于是,主机106不能″看见″其它主机的分区的内容,从而减少了在不同主机中间扰乱介质项目的可能性。类似地,机器人设备(在步骤418)拒绝或不执行加载或操作其它分区的介质项目的主机命令。机器人设备118可以拒绝主机命令,例如通过经与发起主机相关的命令转发端口返回出错消息。
另外,在步骤416,机器人设备118根据任何适用的分区方案评估步骤414的输入。例如,如果命令涉及命令发起方的分区以外的介质项目,机器人设备118可以拒绝执行介质传送命令。在可选实施例中,插槽占用方可以履行某些或所有分区执行责任。在这个实施例中,机器人设备118在创建分区(步骤407)之后利用(recruit)插槽占用方以实施分区。也就是,机器人设备118根据需要向插槽占用方传递分区信息,插槽占用方同意或拒绝针对建立的分区的介质传送命令。更具体地,由于每个插槽与一个分区相关,机器人设备118指示每个插槽占用方仅执行涉及与该插槽相关的分区下的介质项目或存储柜的命令。可以通过这种方式利用的插槽占用方的某些例子包含命令转发端口(例如150)、双用介质驱动器或任何其他被主机调用以便向机器人设备118传送介质传送命令的模块。必要时,还可以利用这种设备对介质传送命令实施其它限制,例如拒绝具有不恰当语法的命令,拒绝不认识的命令等等。
步骤410、412、414被并行示出,但这不对本发明产生任何限制,因为主机存储请求、介质传送命令和机器人设备通信可以按照几乎无限的顺序发生。此外,根据所进行的数据存储操作,可以根据需要重复步骤410、412和414中的每个。
其它实施例虽然上述公开内容示出了本发明的若干图解实施例,然而本领域的技术人员应当理解,在不偏离所附权利要求书定义的本发明范围的前提下,这里可以进行各种改变和修改。此外,虽然可以单一地描述或要求保护本发明的要素,然而可以考虑多个要素,除非明确指出涉及单一要素的限制。另外,本领域技术人员会认识到,为了说明和提出权利要求,必须按照某种特定顺序提出操作序列,但是本发明涉及这种特定顺序之外的各种变化顺序。
权利要求
1.用于操作包含机器人介质传送设备和多个多用途插槽的数据存储/检索库的方法,该方法包括针对每个插槽,确定每个插槽的状态,所述状态包括以下条件中的一个插槽被介质驱动器占用,插槽被转发模块占用,所述转发模块被构造成执行包含转发来自一个或多个主机的介质传送命令到机器人介质传送设备的操作,插槽未占用;针对每个被转发模块占用的插槽,传送设备从转发模块接收主机介质传送命令,并且响应接收的命令而执行操作,所述操作包括在包括存储柜和位于插槽的介质驱动器的介质位置中间传送介质项目。
2.如权利要求1所述的方法,其中确定操作包括识别插槽是否被包含一或多个以下部件的列表中的部件占用交换机、集线器、网关、路由器、网络存储器、以太网模块、存储设备、主机、存储器仿真器、组合介质驱动器和命令转发端口。
3.如权利要求1所述的方法,其中响应接收的命令的操作还包括根据预定逻辑分区限制主机对库的部件的访问,其中每个分区与占用插槽的一或多个转发模块的不同集合排它地相关,每个分区确定一个或多个以下部分的不同分组一个或多个介质项目、一个或多个介质驱动器、一个或多个介质存储位置。
4.如权利要求3所述的方法,其中限制主机访问的操作包括传送设备命令一个或多个插槽占用方根据预定逻辑分区限制主机访问;被命令的插槽占用方根据预定逻辑分区限制主机访问。
5.如权利要求1所述的方法,其中传送设备访问标识一个或多个分区的配置记录,其中每个分区与占用插槽的一个或多个转发模块的不同集合排它地相关,每个分区包含一个或多个以下部分的不同分组一个或多个介质项目、一个或多个介质驱动器、一个或多个介质存储位置;响应接收的命令的操作还包括针对所有从特定转发模块到达的介质传送命令,将主机访问限制到与该转发模块相关的分区的部件。
6.如权利要求1所述的方法,还包括将一个或多个介质驱动器放入所述插槽中的相应插槽。
7.如权利要求1所述的方法,还包括将一或多个转发模块放入所述插槽中的相应插槽。
8.如权利要求1所述的方法,其中所述确定操作包括以下步骤的至少一个传送设备与一个或多个插槽的占用方交换消息;传送设备检测一个或多个插槽的占用方的电气配置;传送设备接收指定一个或多个插槽的状态的操作人员输入;传送设备使用光学读取器检测一个或多个插槽的占用方所表现的一或多个光学特征;传送设备尝试向一个或多个插槽的占用方加载介质项目,并且根据尝试结果确定插槽的状态;传送设备对一个或多个插槽的占用方的电磁标记进行无线扫描;传送设备尝试接触一个或多个插槽的占用方,并且根据尝试接触的结果确定插槽的状态。
9.如权利要求1所述的方法,其中所述操作进一步包括传送设备接收库的部件和一或多个分区之间的映射,其中每个分区与一或多个转发模块排它地相关;传送操作还包括不执行通过一个转发模块到达并且寻求访问与另一个转发模块相关的分区的库部件的主机命令。
10.用于操作包含机器人介质传送设备和多个多用途插槽的数据存储/检索库的方法,该方法包括针对每个插槽,确定每个插槽的状态,所述状态包括以下条件中的一个插槽被介质驱动器占用,插槽被命令转发端口占用,插槽被组合介质驱动器和命令转发端口占用,插槽未占用;针对每个被命令转发端口占用的插槽,并且针对每个被组合介质驱动器和命令转发端口占用的插槽,传送设备从其接收主机介质传送命令,并且响应接收的命令而执行操作,所述操作包括在包括存储柜和位于其它插槽的介质驱动器的介质位置中间传送介质项目。
11.一种信号承载介质,用于有形地实施一种由计算机可读指令构成的程序,所述程序可被数字处理设备执行,以便进行管理包含机器人介质传送设备和多个多用途插槽的数据存储/检索库的操作,所述操作包括针对每个插槽,确定每个插槽的状态,所述状态包含以下条件中的一个插槽被介质驱动器占用,插槽被转发模块占用,所述转发模块被构造成执行包含转发来自一个或多个主机的介质传送命令到机器人介质传送设备的操作,插槽未占用;针对每个被转发模块占用的插槽,传送设备从转发模块接收主机介质传送命令,并且响应接收的命令而执行操作,所述操作包括在包括存储柜和位于插槽的介质驱动器的介质位置中间传送介质项目。
12.具有多个电气互连的导电元件的逻辑电路,被构造成执行管理包含机器人设备和多个多用途插槽的数据存储/检索库的操作,所述操作包括针对每个插槽,确定每个插槽的状态,所述状态包含以下条件中的一个插槽被介质驱动器占用,插槽被转发模块占用,所述转发模块被构造成执行包含转发来自一个或多个主机的介质传送命令到机器人介质传送设备的操作,插槽未占用;针对每个被转发模块占用的插槽,传送设备从转发模块接收主机介质传送命令,并且响应接收的命令而执行操作,所述操作包括在包括存储柜和位于插槽的介质驱动器的介质位置中间传送介质项目。
13.数据存储/检索库设备,包括多个多用途插槽;被编程以执行库管理操作的机器人介质传送设备,所述操作包括针对每个插槽,确定每个插槽的状态,所述状态包含以下条件中的一个插槽被介质驱动器占用,插槽被转发模块占用,所述转发模块被构造成执行包含转发来自一个或多个主机的介质传送命令到机器人介质传送设备的操作,插槽未占用;针对每个被转发模块占用的插槽,传送设备从转发模块接收主机介质传送命令,并且响应接收的命令而执行操作,所述操作包括在包括介质存储柜和位于其它插槽的介质驱动器的介质位置中间传送介质项目。
14.如权利要求13所述的设备,其中传送设备被编程,使得确定操作包括识别插槽是否被包含一个或多个以下部件的列表中的部件占用交换机、集线器、网关、路由器、网络存储器、以太网模块、存储设备、主机、存储器仿真器、组合介质驱动器和命令转发端口。
15.如权利要求13所述的设备,其中传送设备被进一步编程,使得响应接收的命令的操作还包括根据预定逻辑分区限制主机对库设备的部件的访问,其中每个分区与占用插槽的一或多个转发模块的不同集合排它性相关,每个分区限定一个或多个以下部分的不同分组一个或多个介质项目、一个或多个介质驱动器、一个或多个介质存储位置。
16.如权利要求15所述的设备,其中限制主机访问的操作包括传送设备识别针对一个或多个插槽占用方的预定逻辑分区,并且指示插槽占用方根据预定逻辑分区限制主机访问库部件。
17.如权利要求16所述的设备,还包括均驻留在插槽中的一个插槽内的一个或多个模块,每个模块被编程以便执行传送设备指令,以根据传送设备识别的逻辑分区限制主机访问库部件。
18.如权利要求13所述的设备,其中传送设备访问标识一个或多个分区的配置记录,其中每个分区与占用插槽的一或多个转发模块的不同集合排它性相关,每个分区包含一个或多个以下部分的不同分组一个或多个介质项目、一个或多个介质驱动器、一个或多个介质存储位置;传送设备被编程,使得响应接收的命令的操作还包括针对所有从特定转发模块到达的介质传送命令,将主机访问限制到与该转发模块相关的分区的部件。
19.如权利要求13所述的设备,还包括占用所述插槽中的相应插槽的一个或多个介质驱动器。
20.如权利要求13所述的设备,还包括占用所述插槽中的相应插槽的一个或多个转发模块。
21.如权利要求20所述的设备,其中转发模块包括以下部件的至少一个命令转发端口、组合介质驱动器和命令转发端口单元。
22.如权利要求13所述的设备,还包括在一或多个对应插槽中安装的以下部件中的一个或多个交换机、集线器、网关、路由器、网络存储器、以太网模块、存储设备、主机、存储器仿真器、组合介质驱动器和命令转发端口。
23.如权利要求13所述的设备,还包括一个或多个转发模块,每个转发模块包括在主机介质传送命令使用的第一格式和机器人介质传送设备使用的第二格式之间进行转换的接口。
24.如权利要求13所述的设备,其中确定操作包括以下步骤的至少一个传送设备与一个或多个插槽的占用方交换消息;传送设备检测一个或多个插槽的占用方的电气配置;传送设备接收指定一个或多个插槽的状态的操作人员输入;传送设备使用光学读取器检测一个或多个插槽的占用方所表现的一个或多个光学特征;传送设备尝试向一个或多个插槽的占用方加载介质项目,并且根据尝试结果确定插槽的状态;传送设备对一个或多个插槽的占用方的电磁标记进行无线扫描;传送设备尝试接触一个或多个插槽的占用方,并且根据尝试接触的结果确定插槽的状态。
25.如权利要求13所述的设备,其中传送设备还包括命令集存储器,包含与预定介质驱动器兼容的一或多个软件功能,和与预定转发模块兼容的一个或多个软件功能。
26.如权利要求13所述的设备,其中传送设备被编程,使得操作还包括传送设备接收库设备的部件和一个或多个分区之间的映射,其中每个分区与一个或多个转发模块排它性相关;不执行通过一个转发模块到达并且寻求访问与另一个转发模块相关的分区的库部件的主机命令。
27.如权利要求13所述的设备,其中每个插槽包括尺寸适合于以可滑动方式接纳以下部件中的一个的隔间预定配置的介质驱动器,预定配置的转发模块;被构造成将隔间的占用方连接到传送设备的一或多个连接器。
28.数据存储/检索库设备,包括多个插槽装置,均用于可拆卸地接纳预定配置的占用方;用于执行库管理操作的机器人介质传送装置,所述操作包括针对每个插槽装置,确定每个插槽装置的状态,所述状态包含以下条件中的一个插槽装置被介质驱动器占用,插槽装置被转发模块占用,所述转发模块被构造成执行包含转发来自一个或多个主机的介质传送命令到机器人介质传送设备的操作,插槽装置未占用;针对每个被转发模块占用的插槽装置,从转发模块接收主机介质传送命令,并且响应接收的命令而执行操作,所述操作包括在包括介质存储柜和位于其它插槽装置的介质驱动器的介质位置中间传送介质项目。
全文摘要
数据存储库(102)的特征在于多用途插槽(110、112、114、116),所述插槽均被构造成接纳介质驱动器(152)(可针对以可移动方式加载到介质驱动器的介质读/写数据),命令转发端口(可传送来自主机的介质传送信号到共享机器人介质传送设备(118)),或各种其它模块。机器人设备(118)被编程以识别各个插槽(110-116)是否为空,其是否被填充诸如介质驱动器(152)或命令转发端口(150)的部件,并且之后与占用方适当地通信。
文档编号G06F3/06GK1527985SQ01823228
公开日2004年9月8日 申请日期2001年11月2日 优先权日2001年5月10日
发明者布莱恩·G·谷特曼, 伦纳德·G·吉森诺夫斯基, G 吉森诺夫斯基, 布莱恩 G 谷特曼 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1