CN101025979B - 数据存储驱动器和自动数据存储库 - Google Patents

数据存储驱动器和自动数据存储库 Download PDF

Info

Publication number
CN101025979B
CN101025979B CN2007100016226A CN200710001622A CN101025979B CN 101025979 B CN101025979 B CN 101025979B CN 2007100016226 A CN2007100016226 A CN 2007100016226A CN 200710001622 A CN200710001622 A CN 200710001622A CN 101025979 B CN101025979 B CN 101025979B
Authority
CN
China
Prior art keywords
main frame
data storage
interface port
driver
drive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007100016226A
Other languages
English (en)
Other versions
CN101025979A (zh
Inventor
布赖恩·G.·古德曼
格伦·阿兰·雅奎特
保罗·M.·格雷科
詹姆斯·M.·卡普
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101025979A publication Critical patent/CN101025979A/zh
Application granted granted Critical
Publication of CN101025979B publication Critical patent/CN101025979B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0686Libraries, e.g. tape libraries, jukebox

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automatic Disk Changers (AREA)
  • Automatic Tape Cassette Changers (AREA)

Abstract

本发明提出了一种方法、系统和装置,它们具有用于自动数据存储库的数据存储驱动器,其中数据存储驱动器可以具有主机驱动器接口端口和主机库接口端口。在一个方面中,来自主机系统的驱动器命令主要通过主机驱动器接口端口和主机驱动器接口路径传送给数据存储驱动器的驱动器控制器。另外,从主机系统到库控制器的库命令可以主要通过主机库接口端口和主机库接口路径传送给数据存储驱动器的库通信端口。在一个实施方案中,来自主机系统的驱动器命令主要通过主机驱动器接口端口和主机驱动器接口路径传送给数据存储驱动器的驱动器控制器。另外,来自主机系统的库命令主要通过主机库接口端口和主机库接口路径传送给数据存储驱动器的库通信端口。

Description

数据存储驱动器和自动数据存储库
背景技术
自动数据存储库已知用来提供大量数据的经济的存储和检索。在自动数据存储库中的数据存储在数据存储介质上,这些数据存储介质又按照使得该介质及其内在数据能够用于物理检索的方式存储在库内具有多个存储框架等的存储仓(storage bin)中。这种介质通常被称为“可拆卸介质”。数据存储介质可以包括任意其上可以存储数据并且可以用作可拆卸介质的介质,包括但不限于磁性介质(例如磁带或磁盘)、光学介质(例如光带或光盘)、电子介质(例如PROM、EEPROM、闪速PROM、MRAM、致密闪速TM、智能介质TM、存储棒TM等)或其它合适的介质。通常,存储在自动数据存储库中的数据驻留在包括在盒体内并且被称为数据存储介质盒(cartridge)的数据存储介质上。在用于海量数据存储的自动数据存储库中所广泛采用的数据存储介质盒的示例为磁带盒。
除了数据存储介质之外,自动数据存储库通常包含有数据存储驱动器,它们相对于数据存储介质存储数据和/或检索数据。数据存储介质在数据存储仓和数据存储驱动器之间的输送通常由一个或多个自动存取器(robot accessor)(下面被称为“存取器”)来实现。这些存取器具有用于从在自动数据存储库内的存储仓中以物理的方式找到所选的数据存储介质的夹持器,并且通过沿着X和/或Y方向移动将这些介质输送给数据存储驱动器。
发明内容
本发明提出了一种方法、系统和装置,它们具有用于自动数据存储库的数据存储驱动器,其中数据存储驱动器在一个实施方案中可以具有主机驱动器接口端口和主库接口端口。在一个方面中,来自主机系统的驱动器命令主要通过主机驱动器接口端口和主机驱动器接口路径传送给数据存储驱动器的驱动器控制器。另外,从主机系统到库控制器的库命令可以主要通过主机库接口端口和主机库接口路径传送给数据存储驱动器的库通信端口。在一个实施方案中,来自主机系统的驱动器命令主要通过主机驱动器接口端口和主机驱动器接口路径传送给数据存储驱动器的驱动器控制器。另外,来自主机系统的库命令主要通过主机库接口端口和主机库接口路径传送给数据存储驱动器的库通信端口。另外还描述并且要求保护了其它实施方案。
附图说明
图1为适用于实施本发明实施方案的自动数据存储库的立体图,具体显示出具有左边维护段、多个存储框架和右边维护段的存储库;
图2为图1的存储库的内部部件的示例性基本结构的立体图;
图3为用于图1的存储库的数据存储驱动器的一个实施例的示意性方框图;
图4为用于图1的存储库的具有多个处理器节点的模块分配系统的一个实施例的示意性方框图;
图5为一方框图,显示出用于图1的存储库的示例性控制器结构;
图6a、6b分别为用于图1的存储库的数据存储驱动器的一个实施例的前面和后面立体图;
图7为用于图1的存储库的数据存储盒的一个实施例的立体图。
具体实施方式
下面将参照这些附图对本发明进行说明,其中相同的标号表示相同或类似的元件。虽然本说明书提供了某些实施例,但是本领域普通技术人员要理解的是,在这里所提供的说明打算覆盖包括在由所附权利要求限定的本发明精神和范围内的那些替换方案、变型和等同方案。
本发明的一个实施例体现在用在数据处理环境中的自动磁带库存储系统中。虽然该实施例在实施方案中描述了磁带盒的使用,但是本领域普通技术人员将认识到,在这里所给出的说明也适用于光盘盒或其它可拆卸存储介质,并且可以使用不同类型的盒体或具有不同特性的相同类型盒体。另外,磁带驱动器的说明并不意味着将本发明局限于磁带驱动器,因为本发明可以适用于任意可拆卸介质驱动器以及盒体。还有,自动磁带存储系统并不意味着将本发明局限于磁带数据处理应用,因为本发明通常可以适用于任意介质存储以及盒体处理系统。
现在参照这些附图,图1和2显示出自动数据存储库100,它存储并且检索包含数据存储介质的数据存储盒。要指出的是,在这里“数据存储介质”指的是数据存储盒,并且为此这里这两个术语被同义使用。其中可以应用本发明的各个方面的在图1和2中所示的自动数据存储库的示例为IBM 3584 UltraScalable Tape Library。图1的库包括左边维护段(service bay)102、一个或多个存储框架104和右边维护段106。如所述一样,框架可以包括库的扩展部件。可以加入或拆除框架以扩展或减小该库的尺寸和/或功能性。框架可以包括附加的存储仓、驱动器、入口/出口站、存取器、操作者面板等。
图2显示出存储框架104的实施例,它是库100的基本框架并且被认为是该库的最小结构。在该最小结构中,只有单个存取器(即,没有任何多余的存取器),并且没有任何维护段。库100布置用来响应于来自至少一个外部主机系统(300,图3)的库命令访问数据存储介质,并且在前壁202和后壁204上包括多个存储仓200,用于存储包含有数据存储介质的数据存储盒。至少一个数据存储驱动器206响应于来自主机例如主机300的驱动器命令相对于数据存储介质读取和/或写入数据。第一存取器208响应于来自主机例如主机300的库命令在多个存储仓200和数据存储驱动器206之间输送数据存储介质。数据存储驱动器206可以为光盘驱动器或磁带驱动器,或者其它类型的用于相对于数据存储介质读取和/或写入数据的数据存储驱动器。
如在图3中所示意性地显示出的一样,数据存储驱动器206可以具有驱动器控制器302、第一主机接口端口(主机-驱动器接口端口)304以及用来将第一主机接口端口304耦接到驱动器控制器302上的主机-驱动器路径306。第一主机接口端口304用来通过网络305与主机300耦接。驱动器控制器302的驱动器读取/写入控制器308响应于来自主机300的驱动器命令,有选择地相对于可拆卸地容纳在数据存储驱动器206中的介质项目(item)读取驱动器数据和/或写入驱动器数据。
如下面更详细说明的一样,并且根据本发明的一个方面,数据存储驱动器206还可以具有可通过网络305与主机300耦接的第二主机接口端口(主机-库接口端口)310,以及适用于通过库通信路径313与库控制器320耦接的库通信端口312。适用于运送来自主机300的库命令的主机-库接口路径314通过驱动器控制器302的库命令转发(relay)逻辑316以及将库命令转发逻辑316与库通信端口312耦接的库通信路径318将第二主机接口端口310与库通信端口312耦接。库命令逻辑转发逻辑316用来使库命令从第二主机接口端口310转发到存储驱动器206的通信端口312。库命令转发逻辑316可以将所有命令传送给库控制器320。可选的是,库命令转发逻辑316可以对一些命令进行响应而让其它命令通过。例如,库命令转发逻辑可以维护有关库控制器的就绪/未就绪状态信息。如果库状态为“未就绪”,则库命令转发逻辑可以报告这个状态,而不实际将任何命令传送给库控制器320。在另一个实施例中,库命令转发逻辑可以维护有关库的清单状态信息。SCSI读取元素状态(SCSIRead Element Status)命令可能导致库命令转发逻辑实际上处理该命令,而不是将它传送给库控制器320。这里,转发库命令可以指将一些或所有库命令传送给库通信端口312。所通过的命令可以被改变或没有改变。库命令转发逻辑316可以包括离散逻辑、可编程逻辑、定制逻辑、一个或多个处理器、软件或固件模块等。另外,库命令转发逻辑316和驱动器读取/写入控制器308可以包括用来支持两个功能的单个处理器或控制器。库100的库控制器320响应于来自主机300的库命令,在库存储仓200(图2)和数据存储驱动器例如驱动器206之间输送数据存储介质。虽然所示的实施方案描述了具有两个主机接口端口304、310的数据存储驱动器206,但是要理解的是,在其它实施方案中,根据本发明的数据存储驱动器可以具有附加的主机接口端口。
第一和第二主机接口端口304、310可以包括连接器、插头、适配器、电缆、导线、电路等,用于使存储驱动器206与主机300接口。另外,第一和第二主机接口端口304、310可以包括电子器件和/或固件,用于在存储驱动器206和主机300之间提供通信协议。主机路径306、314可以包括电缆、电路、连接、线路、电子器件、固件等,用于使主机端口304、310与存储驱动器206接口。
在所示的实施方案中,数据存储驱动器206的第一和第二主机接口端口304、310可以在物理上彼此分离并且相互单独地操作。在一个实施例中,主机-驱动器接口端口304可以具有第一物理设备识别号,并且主机-库接口端口310可以具有与用于端口304的第一物理设备识别号不同的第二物理设备识别号。设备识别号可以包括SCSI ID、光纤通道ID等。在另一个实施例中,主机-驱动器接口端口304和主机-库接口端口310可以具有相同的物理设备识别号,其中主机-驱动器接口端口304具有第一逻辑单元号(LUN),并且主机-库接口端口310具有与端口304的第一逻辑单元号不同的第二逻辑单元号。这样,端口304、310可以由主机例如主机300分开并且单独地寻址。
在另一个方面中,数据存储驱动器206的接口路径306、314可以物理分开并且相互独立地操作。还有,来自主机300的驱动器命令可以主要通过第一主机-驱动器接口端口304和主机-驱动器接口路径306传送给数据存储驱动器206的驱动器控制器302。另外,从主机300到库控制器320的库命令可以主要通过第二主机-库接口端口310和主机-库接口路径314传送给数据存储驱动器206的库通信端口312。这样,在主机300和驱动器控制器302之间用于传输驱动器命令和驱动器数据的通信路径可以至少部分与在主机300和库存取器208之间用于传送库命令的通信路径分开。因此,例如如果在主机-驱动器接口端口304或主机-驱动器接口路径306中出现故障,但是主机300仍然能够通过主机-库接口端口310和主机-库接口路径314给库控制器320提供库命令,以在库100的存储仓200和数据存储驱动器206之间输送介质。
库通信端口312可以包括连接器、插头、适配器、电缆、电线等,用于使存储驱动器206与库控制器320接口。另外,库通信端口312可以包括接口电子器件和/或固件,用于在存储驱动器206和库控制器320之间提供通信协议。库通信路径313、318可以包括电缆、电线、电路、连接、电子器件、固件等。
在另一个方面中,可以存在一个以上的驱动器控制器302,从而第一主机接口304和主机-驱动器接口路径306与一个控制器,驱动器命令控制器(未示出),相关联,而第二主机接口310和主机-库接口路径314与另一个控制器,即库命令控制器(未示出),相关联。在一些应用中,最好在第一和第二主机接口之间提供至少一个隔离,包括在驱动器206的驱动器命令控制器和库命令控制器之间的整个或局部功能独立。
要理解的是,根据特定的应用,可以利用至少部分独立的用于驱动器命令和库命令的通信路径的其它特征。例如,驱动器控制器302可以具有用于驱动器和库通信的单独的编程代码块。因此,一个或一组编程代码块可以用于接收驱动器命令并且处理驱动器读取和/或写入数据,而另一个或一组编程代码块可以用于接收库命令并且处理库命令中的一些和/或将库命令的一些或全部传送给库控制器320。
在另一个实施例中,驱动器控制器302可以具有用于驱动器和库通信的独立的中断处理器。因此,一个或多个中断处理器可以用于处理在对用于驱动器读取和/或驱动器写入数据的驱动器命令进行处理中出现的中断,而一个或多个其他独立的中断处理器可以用于处理在对用于处理一些库命令和/或将一些或全部库命令传送给库控制器320的库命令进行处理中出现的中断。还有,要理解的是,除此之外或代替在这里所述的那些,还可以根据特定用于使用用于驱动器命令和库命令的至少部分分开的通信路径的其它特征。
在另一个方面中,主机接口端口304、310的一个或多个可以构成为根据所选的结构,有选择地处理主要是驱动器命令和读取/写入数据、或者主要是库命令。在所示的实施方案中,主机接口端口304在图3中描绘成构成在第一结构中,其中来自主机300的驱动器命令主要通过可配置的主机接口端口304和主机接口路径306传送给数据存储驱动器206的驱动器控制器302。另外,在主机300和数据存储驱动器206的介质之间读取/写入数据主要通过可配置主机接口端口304和主机接口路径306传送。在另一个实施例中,主机接口端口304可以有选择地配置为一种替换结构,其中从主机300到库控制器320的库命令主要通过可配置主机接口端口304和主机接口路径306传送给数据存储驱动器206的库通信端口312。
按照类似的方式,主机接口端口310在图3中描绘成构成在第一结构中,其中从主机300到库控制器320的库命令主要通过可配置主机接口端口310和主机接口路径314传送给数据存储驱动器206的库通信端口312。在另一个实施例中,主机接口端口310可以有选择地配置成这样一种替换结构,其中来自主机的驱动器命令主要通过可配置主机接口端口310和主机接口路径314传送给数据存储驱动器206的驱动器控制器302。另外,在主机300和数据存储驱动器206的介质之间的读取/写入数据主要通过可配置主机接口端口310和主机接口路径314来传送。
因此,在一个实施方案中,主机接口端口304、310可以单独构成,从而一个主机接口端口主要处理驱动器命令,而一个主机接口端口主要处理库命令。在另一个实施例中,两个主机接口端口304、310可以如此单独配置为主机-驱动器接口端口,从而两个主机接口端口304、310主要处理在主机和数据存储驱动器之间的驱动器命令以及驱动器读取/写入数据。在一个实施方案中,一个主机接口端口可以用作另一个主机-驱动器接口端口的主机-驱动器接口备份端口。同样,在另一个实施例中,主机接口端口304、310两者可以单独配置为主机-库接口端口,从而主机接口端口304、310两者主要处理从主机300到库存取器208的库命令。在一个实施方案中,一个主机接口端口可以用作另一个主机-库接口端口的主机-库接口备份端口。这样,特定存储驱动器206的端口304、310可以被配置为适用于特定应用。在将一个以上的主机接口端口配置为主机-库接口端口310的情况中,可存在一个以上的库通信端口312,从而每个主机-库接口端口310具有相关的库通信端口312。可选的是,多个主机-库接口端口310可以通过电子电路和/或固件与单个库通信端口312复用或者耦接。
要理解的是,在其它实施方案中,取决于特定的应用,端口304、310可以是不可配置的,而是可以专用于处理驱动器命令和库命令中的所选一个。另外,在这里描述了多个实施方案,其中一个主机接口端口例如主机-驱动器接口端口304适用于主要处理驱动器命令和驱动器读取/写入数据。要理解的是,在一些用途中,主机-驱动器接口端口例如端口304可以不处理任何库命令。相反,这里还描述了其中一个主机接口端口例如主机-库接口端口310适用于主要处理库命令的实施方案。要理解的是,在一些应用中,取决于特定的应用,主机-库接口端口例如端口310可以不处理任何驱动器命令以及任何驱动器读取/写入数据。
虽然图3和所附的说明只是显示出单个主机300,但是应该指出的是,可以将一个以上的主机与端口304和/或端口310耦接。
另外参照图2,在所示的实施方案中,存储框架104可以任选包括操作者面板220或其它用户界面例如基于web的界面,这使得用户能够与该库互动。存储框架104可以任选包括上I/O站224和/或下I/O站226,这允许将数据存储介质插入到库中和/或从库拆除,而不会中断库操作。库100可以包括一个或多个存储框架104,每个都具有可由第一存取器208存取的存储仓200。
如上所述,存储框架104可以根据所期望的功能配置有不同部件。存储框架104的一个配置可以包括存储仓200、数据存储驱动器206和其它任选的用于从数据存储盒中存储和检索数据的部件。第一存取器208包括用于夹持一个或多个数据存储介质的夹持组件230,并且可以包括安装在夹持器230上的条形码扫描器232或其它读取系统例如盒存储器读取器或类似系统,用来“读取”有关数据存储介质的识别信息。
图4显示出图1和2的自动数据存储库100的实施方案,它采用了具有多个处理器节点的分布式模块系统。可以实现在图4的方框图中所示的分布式系统的自动数据存储库的实施例为IBM 3584 UltraScalableTape Library。为了更全面理解结合在自动数据存储库中的分布式控制系统,参照在这里被引用作为参考的美国专利No.6356803,该专利申请的题目为“Automated Data Storage Library Distributed ControlSystem”。
虽然已经将该自动数据存储库100描述为采用分布式控制系统,但是可以在自动数据存储库中实施这些实施方案,而与控制配置无关,例如但不限于具有一个或多个不是分布式的库控制器的自动数据存储库,例如在美国专利6356803中所限定的那种。图4的库100包括一个或多个存储框架104、左边维护段102和右边维护段106。左边维护段102显示出具有第一存取器208。如上所述,第一存取器208包括夹持器组件230,并且可以包括用于“读取”有关数据存储介质的识别信息的读取系统232。右边维护段106显示出具有第二存取器400。第二存取器400包括夹持器组件402,并且可以包括用于“读取”有关数据存储介质的识别信息的读取系统404。在第一存取器208或其夹持器230等出现故障或其它不可用性的情况中,第二存取器400可以进行第一存取器208的一些或全部功能。两个存取器208、400可以共享一条或多条机械路径,或者它们可以包括完全独立的机械路径。在一个实施例中,存取器208、400可以具有共同水平导轨(rail),并且具有单独的垂直导轨。只是为了说明目的,将第一存取器208和第二存取器400描述成第一和第二,但是本说明书并不意味着将任一存取器限定为与左边维护段102或右边维护段106相关联。
在该示例性库中,第一存取器208和第二存取器400使其夹持器沿着至少两个方向即“X”方向和垂直“Y”方向移动,以在存储仓200中找到和夹持或者递送和释放数据存储介质,并且在数据存储驱动器206处装载和卸载数据存储介质。
该示例性库100从一个或多个主机系统300接收命令。主机系统例如主机服务器可以例如在路径420上通过一个或多个控制端口(未示出)或通过一个或多个数据存储驱动器206与库直接通信。主机系统300可以通过数据存储驱动器206在路径424上通信,从而给主机-驱动器接口端口304提供驱动器命令以存取特定的数据存储介质。主机系统300也可以在路径426上通过数据存储驱动器206进行通信,从而给主机-库接口端口310提供库命令以使介质例如在存储仓200(图2)和数据存储驱动器206之间移动。库命令通常为识别介质的逻辑命令和/或用于存取介质的逻辑位置。术语“命令”和“工作请求”在这里可互换地使用,用来指代从主机系统300到库100的旨在导致存取在库100内的特定数据存储介质的这种通信。如图4所示,可存在一个以上的与库100和驱动器206耦接的主机系统300。每个主机系统300可以按照任意合适的方式与一个或多个驱动器206、库100或其它主机系统300耦接。例如每个主机系统300可以具有其自身的网络305和/或路径424和/或路径426,或者它们可以共享一个或多个网络305和/或路径424和/或路径426。
该示例性库由控制器320控制,该控制器用来接收来自主机的逻辑命令、确定所需的动作并且将这些动作转变成第一存取器208和/或第二存取器400的物理移动。在该示例性库中,库控制器320为分布式控制系统,它包括多个处理器节点,每个节点具有一个或多个处理器。在库控制器320的分布式控制系统的一个实施例中,通信处理器节点430可以位于存储框架104中。该通信处理器节点通过驱动器206或者借助例如与线路420耦接的至少一个外部接口来提供用于接收主机库命令的通信链路。
在所示的实施方案中,通信处理器节点430的通信链路包括库通信路径313,该路径包括用于与数据存储驱动器206通信的一个或多个线路、连接或接口。通信处理器节点430可以靠近数据存储驱动器206位于框架104中。另外,在分布式处理器系统的实施例中,设有一个或多个附加工作处理器节点,这可以包括例如可位于通过网络440与通信处理器节点430耦接的第一处理器208处的工作处理器节点434。每个工作处理器节点可对所接收到的从任意通信处理器节点广播给工作处理器节点的库命令进行响应,并且工作处理器节点还可以指导存取器的操作,从而作为所接收到的库命令的函数来提供移动命令。可以设有XY处理器节点444,并且它可以位于第一存取器208的XY系统处。XY处理器节点444与网络440耦接,并且对移动命令进行响应,从而操作XY系统以定位夹持器230。
还有,操作者面板处理器节点450可以设在任选操作者面板220处,用于提供用于在操作者面板和通信处理器节点430、工作处理器节点434、452以及XY处理器节点444、456之间进行通信的接口。
设有例如包括共同总线440的网络,用来耦接各个处理器节点。网络可以包括坚固的有线网络例如商用CAN(控制器区域网络)总线系统,它是多分支网络,具有标准存取协议和布线标准(例如由CiA,theCAN in Automation Association,Am Weich Selgarten 26,D91058Erlangen,Germany规定)。如本领域普通技术人员所知,可在库中采用其他网络(如以太网)或无线网络系统(如RF或红外)。另外,也可以使用多个独立的网络来耦接各个处理器节点。
通信处理器节点430通过线路313与存储框架104的数据存储驱动器206的每一个耦接,从而与驱动器和与主机系统300通信。另外,主机系统可以在例如输入端420处与通信处理器节点430直接耦接,或者与控制端口设备(未示出)连接,该端口设备用与主机-库接口类似的库接口将库连接到主机系统。如本领域普通技术人员所知,可以采用各种通信布置来与主机和与数据存储驱动器进行通信。在图4的实施例中,主机连接420和424为SCSI总线。但是,要理解的是,可以使用其它总线或网络构架。其它示例包括以太网或光纤通道总线(它是高速串行数据接口),其通常比SCSI总线系统允许在更长的距离上进行传输。
数据存储驱动器206可以紧挨着通信处理器节点430,并且可以采用短距离通信方案(例如SCSI)或串行连接(例如RS-422)。数据存储驱动器206因此通过线路313与通信处理器节点430单独耦接。可选的是,数据存储驱动器206可以通过一个或多个网络例如公共总线网络与通信处理器节点430耦接。
可以设置多个附加存储框架104,每个与相邻的存储框架耦接。任一个存储框架104可以包括通信处理器节点430、存储仓200、数据存储驱动器206和网络440。
另外,如上所述,自动数据存储库100可以包括多个存取器。例如在图4的右边维护段106中显示出第二存取器400。第二存取器400可以包括用于存取数据存储介质的夹持器402和用于移动第二存取器400的XY系统456。第二存取器400可以在与第一存取器208相同的水平机械路径上或者在相邻路径上运行。示例性控制系统另外包括扩展网络460,其形成与存储框架104的网络440以及与左边维护段102的网络440耦接的网络。
在图4和所附的说明中,第一和第二存取器分别与左边维护段102和右边维护段106相关联。这是为了例举说明目的,而不必是实际关联。另外,网络440可以不与左边维护段102相关联,并且网络460可以不与右边维护段106相关联。根据库的设计,不必具有左边维护段102和/或右边维护段106。
自动数据存储库100通常包括一个或多个控制器例如库控制器320(图3),用来引导自动数据存储库的操作。数据存储驱动器206通常包括一个或多个控制器例如驱动器控制器302(图3)。主机计算机通常包括类似的控制器。控制器可以采取许多不同的形式并且可以例如包括但不限于嵌入式系统、分布式控制系统、个人计算机或工作站等。在另一个实施例中,处理器节点430、434、444、450、452、456中的一个可以包括控制器。此外,两个或多个处理器节点可以包括控制器。在该实施例中,控制器可以分布在两个或多个处理器节点之中。实质上,如在此所定义的,这里使用的术语“控制器”旨在使用其最广义的含义,作为包含至少一个处理器的设备或系统。图5显示出典型的控制器500,它具有处理器502、RAM(随机存取存储器)503、非易失性存储器504、设备专用电路501和I/O接口505。可选的是,如设备专用电路501和I/O接口505那样,RAM503和/或非易失性存储器504可以包含在处理器502中。处理器502可以包括例如现成可用的微处理器、定制处理器、FPGA(现场可编程门阵列)、ASIC(专用集成电路)、离散逻辑等。RAM(随机存取存储器)503通常用来保存可变数据、堆栈数据、可执行指令等。非易失性存储器504可以包括任意类型的非易失性存储器例如但不限于ROM(只读存储器)、PROM(可编程只读存储器)、EEPROM(可电擦写可编程只读存储器)、闪存PROM(可编程只读存储器)、MRAM(磁致电阻随机存取存储器)、电池备份RAM、致密闪速TM、安全数字介质TM以及硬盘驱动器。非易失性存储器504通常用来保存可执行固件和其它非易失性数据。I/O接口505包括通信接口,其允许处理器502与控制器外部的设备通信。示例可以包括但不限于串行接口例如RS-232、USB(通用串行总线)、光纤通道(Fibre Channel),SCSI(小型计算机系统接口)、以太网、CAN(控制器区域网络)等。设备专用电路501提供了附加硬件以使得控制器500能够进行独特的功能,例如但不限于对盒体夹持器的电机控制。设备专用电路501可以包括电子器件,它们例如但不限于提供脉冲宽度调制(PWM)控制、模拟-数字转换(ADC)、数字-模拟转换(DAC)等。另外,所有或部分设备专用电路501可以驻留在控制器500外面。
图6a和6b显示出数据存储驱动器206的前面601和后面602的实施方案。在图6a、6b的实施例中,数据存储驱动器206包括热交换驱动器箱。这仅仅是实施例,并且并不意味着将本发明限定于热交换驱动器箱。实际上,可以使用任意结构的数据存储驱动器,而不管它是否包括热交换式箱。
图7显示出数据存储盒700的实施方案,并且在该图的切开部分中显示出盒式存储器710。这仅仅是示例,并且不是打算将本发明限制于盒式存储器。实际上,可以使用任意结构的数据存储盒,而不论它是否包括盒式存储器。
虽然已经对本发明的优选实施方案进行了详细说明,但是本领域普通技术人员将理解的是,在不脱离在下面权利要求中所给出的本发明的范围的情况下可以对那些实施方案作出各种变型和修改。

Claims (20)

1.一种供便携式数据存储介质项目使用的数据存储驱动器,包括:
驱动器控制器、用来与主机系统耦接的作为第一主机接口端口的主机-驱动器接口端口、以及将所述主机-驱动器接口端口与所述驱动器控制器耦接并且用来将驱动器命令从主机系统运送给所述驱动器控制器的主机-驱动器接口路径,所述驱动器控制器响应于来自主机系统的驱动器命令,对于可拆卸地容纳在所述数据存储驱动器中的介质项目有选择地读取和写入数据;并且
所述数据存储驱动器还包括用来与主机系统耦接的作为第二主机接口端口的主机-库接口端口、用来与自动数据存储库耦接的库通信端口、以及将所述主机-库接口端口与所述驱动器控制器耦接并且用来运送来自主机系统的库命令的主机-库接口路径,所述驱动器控制器用来将库命令从所述主机-库接口路径转发到所述库通信端口,
其中,所述主机-驱动器接口端口与所述主机-库接口端口在物理上彼此分离并且相互单独地操作,并且其中所述数据存储驱动器被配置为使来自主机系统的驱动器命令主要通过主机-驱动器接口端口和主机-驱动器接口路径传送给所述数据存储驱动器的驱动器控制器,并且来自主机系统的库命令主要通过主机-库接口端口和主机-库接口路径传送给数据存储驱动器的库通信端口。
2.如权利要求1所述的数据存储驱动器,其中所述主机-库接口端口可配置成用作主机-驱动器接口端口。
3.如权利要求1所述的数据存储驱动器,其中所述主机-驱动器接口端口可配置成用作主机-库接口端口。
4.如权利要求1所述的数据存储驱动器,其中所述主机-驱动器接口端口具有第一物理设备识别号,并且主机-库接口端口具有与所述第一物理设备识别号不同的第二物理设备识别号。
5.如权利要求1所述的数据存储驱动器,其中所述主机-驱动器接口端口和主机-库接口端口具有相同的物理设备识别号,并且其中主机-驱动器接口端口具有第一逻辑单元号,并且主机-库接口端口具有与所述第一逻辑单元号不同的第二逻辑单元号。
6.如权利要求1所述的数据存储驱动器,其中所述数据存储驱动器包括磁带驱动器,并且介质项目包括磁带盒。
7.如权利要求1所述的数据存储驱动器,其中所述主机-驱动器接口端口包括小型计算机系统接口(SCSI),并且主机-库接口端口包括小型计算机系统接口(SCSI)。
8.如权利要求1所述的数据存储驱动器,其中所述主机-驱动器接口端口包括光纤通道接口,并且主机-库接口端口包括光纤通道接口。
9.如权利要求1所述的数据存储驱动器,其中所述驱动器控制器包括:驱动器命令控制器,与所述主机-驱动器接口路径耦接,并且响应于来自主机系统的驱动器命令对于可拆卸地容纳在所述数据存储驱动器中的介质项目中有选择地读取数据和写入数据;以及库命令控制器,与所述主机-库接口路径耦接,至少部分地在功能上与所述驱动器命令控制器独立,并且用来将库命令从所述主机-库接口路径转发到所述库通信端口。
10.一种自动数据存储库,用于供便携式数据存储介质项目使用的主机系统、以及适用于提供库命令和驱动器命令的主机系统,该自动数据存储库包括:
介质存储仓;
数据存储驱动器;以及
库控制器,响应于来自所述主机系统的库命令,在包括介质存储仓和数据存储驱动器的介质位置间输送介质项目,其中
数据存储驱动器具有驱动器控制器,用来与所述主机系统耦接的作为第一主机接口端口的主机-驱动器接口端口,以及用于来自所述主机的驱动器命令、将所述主机-驱动器接口端口与所述驱动器控制器耦接的主机-驱动器接口路径,所述驱动器控制器响应于来自所述主机系统的驱动器命令,对于可拆卸地容纳在所述数据存储驱动器中的介质项目有选择地读取和/或写入数据;所述数据存储驱动器还包括在物理上与所述主机-驱动器接口端口分开、用来与所述主机耦接的作为第二主机接口端口的主机-库接口端口,与所述驱动器控制器耦接并且用来与所述库控制器耦接的库通信端口,以及用于来自所述主机的库命令、将所述主机-库接口端口与所述驱动器控制器耦接的主机-库接口路径,所述驱动器控制器用来将库命令从所述主机-库接口端口转发到所述库通信端口,
其中,所述主机-驱动器接口端口与所述主机-库接口端口在物理上彼此分离并且相互单独地操作,并且其中所述驱动器控制器被配置为使来自主机系统的驱动器命令主要通过主机-驱动器接口端口和主机-驱动器接口路径传送给所述数据存储驱动器的驱动器控制器,并且从所述主机系统到所述库控制器的库命令主要通过主机-库接口端口和主机-库接口路径传送给数据存储驱动器的库通信端口。
11.如权利要求10所述的自动数据存储库,其中所述主机-库接口端口可配置成用作主机-驱动器接口端口。
12.如权利要求10所述的自动数据存储库,其中所述主机-驱动器接口端口可配置成用作主机-库接口端口。
13.如权利要求10所述的自动数据存储库,其中所述主机-驱动器接口端口和主机-库接口端口具有相同的物理设备识别号,并且其中主机-驱动器接口端口具有第一逻辑单元号,并且主机-库接口端口具有与所述第一逻辑单元号不同的第二逻辑单元号。
14.如权利要求10所述的自动数据存储库,其中所述主机-驱动器接口端口具有第一物理设备识别号,并且主机-库接口端口具有与所述第一物理设备识别号不同的第二物理设备识别号。
15.如权利要求10所述的自动数据存储库,其中所述数据存储驱动器包括磁带驱动器,并且介质项目包括磁带盒。
16.如权利要求10所述的数据存储驱动器,其中所述主机-驱动器接口端口包括光纤通道接口,并且主机-库接口端口包括光纤通道接口。
17.如权利要求10所述的数据存储驱动器,其中所述主机-驱动器接口端口包括小型计算机系统接口(SCSI),并且主机-库接口端口包括小型计算机系统接口(SCSI)。
18.一种用于数据存储驱动器的方法,包括:
将来自主机系统的驱动器命令通过数据存储驱动器的作为第一主机接口端口的主机-驱动器接口端口、通过所述数据存储驱动器的主机-驱动器接口路径并且运送到所述数据存储驱动器的驱动器控制器;
响应于来自主机系统的所述驱动器命令,对于可拆卸地容纳在所述数据存储驱动器中的介质项目有选择地读取和写入数据;
将来自主机系统的库命令通过所述数据存储驱动器的作为第二主机接口端口的主机-库接口端口、通过所述数据存储驱动器的主机-库接口路径并且运送到所述数据存储驱动器的控制器;
将所述库命令转发到所述驱动器控制器的库通信端口,所述库通信端口能够与自动数据存储库耦接;
其中,所述主机-驱动器接口端口与所述主机-库接口端口在物理上彼此分离并且相互单独地操作,并且其中来自主机系统的驱动器命令主要通过主机-驱动器接口端口和主机-驱动器接口路径传送给所述数据存储驱动器的驱动器控制器,并且来自主机系统的库命令主要通过主机-库接口端口和主机-库接口路径传送给数据存储驱动器的库通信端口。
19.如权利要求18所述的方法,其中所述主机-驱动器接口端口具有第一物理设备识别号,并且主机-库接口端口具有与所述第一物理设备识别号不同的第二物理设备识别号。
20.如权利要求18所述的方法,其中所述驱动器控制器包括:驱动器命令控制器,与所述主机-驱动器接口路径耦接,并且响应于来自主机系统的驱动器命令,对于可拆卸地容纳在所述数据存储驱动器中的介质项目中有选择地读取数据和写入数据;以及库命令控制器,与所述主机-库接口路径耦接,至少部分地在功能上与所述驱动器命令控制器独立,并且用来将库命令从所述主机-库接口路径转发到所述库通信端口。
CN2007100016226A 2006-02-17 2007-01-09 数据存储驱动器和自动数据存储库 Expired - Fee Related CN101025979B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/356,771 US7660943B2 (en) 2006-02-17 2006-02-17 Data storage drive for automated data storage library
US11/356,771 2006-02-17

Publications (2)

Publication Number Publication Date
CN101025979A CN101025979A (zh) 2007-08-29
CN101025979B true CN101025979B (zh) 2010-12-15

Family

ID=38429741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100016226A Expired - Fee Related CN101025979B (zh) 2006-02-17 2007-01-09 数据存储驱动器和自动数据存储库

Country Status (2)

Country Link
US (1) US7660943B2 (zh)
CN (1) CN101025979B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120102267A1 (en) * 2010-10-20 2012-04-26 International Business Machines Corporation Implementing enhanced data storage on removable media to optimize performance and relibility
US8799523B2 (en) * 2011-09-21 2014-08-05 Kevin Mark Klughart Data storage architecture extension system and method
US10082957B2 (en) * 2016-07-20 2018-09-25 Western Digital Technologies, Inc. Dual-ported PCI express-based storage cartridge including single-ported storage controllers
US10782890B2 (en) * 2016-09-21 2020-09-22 International Business Machines Corporation Log snapshot procedure control on an automated data storage library
US10839852B2 (en) 2016-09-21 2020-11-17 International Business Machines Corporation Log snapshot control on an automated data storage library
US11321249B2 (en) * 2018-03-26 2022-05-03 Samsung Electronics Co., Ltd. Mechanism to autonomously manage SSDS in an array

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434090B1 (en) * 1997-09-16 2002-08-13 International Business Machines Corporation Automated data storage library with control path to shared robotic device via media drive
US6553489B1 (en) * 2000-01-12 2003-04-22 Cisco Technology, Inc. System and method for secure and efficient universal port configuration
US6356803B1 (en) * 2000-05-19 2002-03-12 International Business Machines Corporation Automated data storage library distributed control system
US7505458B2 (en) * 2001-11-27 2009-03-17 Tellabs San Jose, Inc. Apparatus and method for a fault-tolerant scalable switch fabric with quality-of-service (QOS) support
US6959373B2 (en) * 2001-12-10 2005-10-25 Incipient, Inc. Dynamic and variable length extents
US6795889B2 (en) * 2002-01-09 2004-09-21 International Business Machines Corporation Method and apparatus for multi-path data storage and retrieval
US7003589B2 (en) * 2002-10-01 2006-02-21 Hewlett-Packard Development Company, L.P. Method and arrangement for generating unique identifiers for logical units of SCSI devices
US20040123027A1 (en) * 2002-10-03 2004-06-24 Workman Michael Lee Systems and methods of multiple access paths to single ported storage devices
US7318116B2 (en) * 2002-11-08 2008-01-08 International Business Machines Corporation Control path failover in an automated data storage library
US7743205B2 (en) * 2002-12-17 2010-06-22 Quantum Corporation Apparatus and method for virtualizing data storage media, such as for use in a data storage library providing resource virtualization
US6898480B2 (en) * 2003-02-03 2005-05-24 International Business Machines Corporation Use of cartridge memory for storing logical library association information
US7796627B2 (en) * 2004-08-12 2010-09-14 Broadcom Corporation Apparatus and system for coupling and decoupling initiator devices to a network using an arbitrated loop without disrupting the network

Also Published As

Publication number Publication date
US7660943B2 (en) 2010-02-09
US20070198773A1 (en) 2007-08-23
CN101025979A (zh) 2007-08-29

Similar Documents

Publication Publication Date Title
US7505224B2 (en) Management of data cartridges in multiple-cartridge cells in an automated data storage library
CN101025979B (zh) 数据存储驱动器和自动数据存储库
US6356803B1 (en) Automated data storage library distributed control system
US7039726B2 (en) Dual purpose media drive providing control path to shared robotic device in automated data storage library
JP4912467B2 (ja) 自動データ・ストレージ・ライブラリにおける取り外し可能媒体に格納されたデータの選択的暗号化のための方法、装置、およびコンピュータ・プログラム
US6965811B2 (en) Media drive module and storage library system
US7475205B2 (en) System for inventory control of an automated data storage library
US20070162180A1 (en) Inventory method for automated data storage library with packed cartridges
WO2005024574A2 (en) Robotic data storage library with soft power on/off capability
KR100800342B1 (ko) 분산형 시스템의 백업 펌웨어
US6434090B1 (en) Automated data storage library with control path to shared robotic device via media drive
CN100422922C (zh) 用于分配虚拟导入/导出元件地址的系统和方法
US20060277524A1 (en) Redundant updatable firmware in a distributed control system
US20040153205A1 (en) Use of cartridge memory for storing logical library association information
US20070183084A1 (en) Removable disk media including holographic optical disk stacked in a tape cartridge shell
US6898480B2 (en) Use of cartridge memory for storing logical library association information
US7893841B2 (en) Determining cartridge conflicts with deep slot technology
US7518822B1 (en) Data storage cartridge gripper with deep-reach
US7539895B2 (en) Method to transfer information between data storage devices
US11200006B2 (en) Electronic memory data storage system having memory chips transportable to memory controller drives
JPH05307820A (ja) ライブラリ装置
JPH0830405A (ja) 外部記憶装置
JPH10293992A (ja) カートリッジおよびこれを使用したライブラリー装置
JPH08227548A (ja) 外部記憶装置およびその制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101215

Termination date: 20190109