CN1219259C - 具有高效卡盘插入的数据存储库 - Google Patents
具有高效卡盘插入的数据存储库 Download PDFInfo
- Publication number
- CN1219259C CN1219259C CNB001376012A CN00137601A CN1219259C CN 1219259 C CN1219259 C CN 1219259C CN B001376012 A CNB001376012 A CN B001376012A CN 00137601 A CN00137601 A CN 00137601A CN 1219259 C CN1219259 C CN 1219259C
- Authority
- CN
- China
- Prior art keywords
- chuck
- address
- physical
- groove
- storehouse
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B17/00—Guiding record carriers not specifically of filamentary or web form, or of supports therefor
- G11B17/22—Guiding record carriers not specifically of filamentary or web form, or of supports therefor from random access magazine of disc records
- G11B17/228—Control systems for magazines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/002—Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/40—Combinations of multiple record carriers
- G11B2220/41—Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/90—Tape-like record carriers
Abstract
一个中心定位的库主机按照功能存储地址和功能I/O地址来管理卡盘运动。实际上,库有多个数据卡盘接收槽,它包括物理I/O槽和物理存储槽。相对于该物理I/O槽和物理存储槽,功能I/O地址和功能存储地址是主机在管理卡盘定位时所用的虚拟位置。因此,主机对卡盘位置的认知受限于它们的功能地址。该库有一个将物理地址与功能地址关联的变换表。该库使用不同的步骤,自动地从物理I/O槽中排出新的卡盘到物理存储槽。
Description
技术领域
本发明涉及数据存储库,它把多种磁带或者其它数据存储卡盘保存在不同的槽中。更具体地地说,本发明涉及一个数据存储库,它通过自动地把卡盘移动到物理存储槽从而有效地使用了物理输入/输出槽(″I/O″),并使用功能地址来管理虚拟的卡盘插入。
背景技术
许多数据处理系统需要大量的数据存储器,用来进行有效的访问、修改和重新存储数据。数据存储被典型地分成几个不同的级别,每个级别展现一个不同的数据存取时间或者数据存储成本。第一个或最高等级的数据存储器涉及电子的存储器,通常为动态的或者静态的随机存取存储器(″DRAM″或″SRAM″)。电子的存储器采取半导体集成电路的形式,其中数百万字节的数据可以被储存在一个电路中,经测试,存取这样的字节的数据只需毫微秒的时间。由于存取是完全电子化的,所以电子存储器可提供最快速的数据存取。
第二等级的数据存储通常涉及直接存取存储器(″DASD″)。DASD存储,例如包括磁盘与/或光盘。数据位以微小的可变换的磁点或光点被储存在一张盘的表面,它代表构成数据位的二进制值的″1″和″0″。有磁性的直接存取存储器包括一张或更多涂有剩磁材料的盘片。盘片被旋转地安装在有防护的环境中。每张盘被分成许多同心轨道,或者彼此隔开的圆周。数据被连续地、一比特一比特地沿着每个轨道储存。一个存取机构,称为磁头磁盘组件(“HDA”)典型地包括一个或更多读/写头,并提供给直接存取存储器,以便当盘旋转着经过磁头时,用于从或同盘表面沿着轨道传送数据。直接存取存储器可以存储千兆字节的数据,而且经测试这样存取数据的时间为几毫秒(以电子存储器慢几个数量级)。因为这需要在盘和HDA上物理地定位所需数据的存储位置,所以存取储存在直接存取存储器中的数据的速度要比电子存储器的慢。
第三或者更低等级的数据存储器包括磁带、磁带库和光盘库。库数据的存取比电子的或者直接存取存储器数据的存取要慢很多,因为它需要一个机器人或者一个人来选择和装载所需的数据存储媒体。这些存储系统的一个优点是存储大约几G的大量数据的成本比较低。此外,磁带存储器对于做备份是特别有用的。也就是说,储存在数据存储分层结构的较高级别的数据要复制在磁带上以妥善保管。存取储存在磁带和/或库的数据的速度目前大约是处于秒这样的数量级上。
当今市场上有许多不同的数据存储库,包括由美国国际商用机器公司(IBM)制作的样品。许多当今的数据存储库使用小型计算机系统接口(″SCSI″)媒体转换器标准。此标准为“中心定位的”(“location centric”),因为它要求主机在该系统中通过指定源和目标位置来管理卡盘运动。每个位置是一个能够存放卡盘的地址,并被称为一个单元。在制造时或在系统安装或配置时,每个单元被给定一个固定的单元地址。该SCSI媒体转换器协议定义了四种单元类型:媒体输送单元、存储单元、输入/输出单元和数据传送单元。在物理术语中,媒体输送单元是一个存取器抓取器,一个存储元件是一个存储槽,一个输入/输出单元是一个库输入/输出槽或通过槽,一个数据传送单元是一个可移动的媒体驱动器。
在SCSI接口中需要从一个单元移动到另一个单元。典型地,从一个单元移动到另一个单元是SCSI接口启动软件的职责,也称为独立的软件卖主程序设计(independent software vendor programming)。这包括在输入/输出槽和存储槽之间的移动。
即使当今一些数据存储库在商业上获得了相当的成功,IBM的工程师们仍在不断地探索以改善这些系统的性能和效率。一个潜在的热点是库弹出卡盘和接收插入的卡盘的方法。当一个操作员想要在不干扰存取器运动的前提下装载许多卡盘到一个库中时,就得把卡盘插入到输入/输出槽中。然而数据存储库只有有限的I/O槽用来传送卡盘出入库。因此,如果输入/输出槽填满了,弹出/插入操作就会被阻滞,直到独立的软件卖主程序设计使用SCSI接口把插入的卡盘移动到存储槽为止。
另外,多个库从输入/输出槽传送卡盘到库的进度是缓慢的,因为他们依赖操作员用库控制面板发出命令到主机上。这是因为,需要主机通过发出适当的命令到库机器人装置,以管理卡盘的插入操作。如果主机离库很远,形势可能会不妙,因为操作员(和库控制面板)位于主机上,但是在库里,操作员必须手动地从输入/输出槽中插入或移动卡盘。因此,增加大量的卡盘的过程可能会让你在库的I/O站和控制面板之间往返多次。
此外,当独立的软件卖主程序设计需要手动或自动地弹出一些卡盘,操作员必须确保每个卡盘都有一个空的输入/输出槽来存放。否则,该企图可能被阻塞,导致错误、失败,或其它延迟。由于这些和其它原因,已知的数据存储库必须被改善。
发明内容
一般地,本发明涉及到一个数据存储库,它通过自动地把卡盘从物理输入/输出槽移动到物理存储槽,从而有效地使用了输入/输出槽。本发明还通过使用功能地址来管理虚拟卡盘的插入操作保持软件兼容性。更具体地,一个以中心定位库主机依据功能存储地址和功能I/O地址来管理卡盘运动。实际上,该库有多种数据存储卡盘接收槽,它包括物理I/O槽和物理存储槽。相对于该物理I/O槽和物理存储槽,功能I/O地址和功能存储地址是主机在管理卡盘定位时所用的虚拟位置。因此主机对卡盘位置的认知受限于它们的功能地址。该库有一个将物理地址与功能地址关联的变换表。
该库使用不同的步骤,自动地从物理I/O槽中排出新的卡盘到物理存储槽。首先,库硬件自动地识别卡盘的外部配置到物理I/O槽。为了响应,该库标识出一个空的物理存储槽,并把该卡盘移动到这个空的物理存储槽中。另外,该库把一个功能的I/O地址与包含有卡盘的该物理存储槽相关联。
最后,该库从主机处收到一插入命令,要求把该卡盘从它的功能I/O地址转移到一个功能存储器地址中。该库为响应任意主机状态请求,能够立即报告该移动已经完成。最后,为响应该插入命令,该库把一个功能存储器地址与已经包含该卡盘的相同的物理存储槽相关联。
本发明提供一种在数据存储库中管理插入操作的方法,该库有多个数据存储卡盘接收槽,这些槽有物理地址并包括一个或多个物理I/O槽以及多个物理存储槽,在这个库中包括一个与中心定位主机耦合的控制器,它按照功能存储器地址和功能I/O地址管理卡盘位置,而且这个库包括一个将功能地址与物理地址相关联的库数据库,这种方法包括下列由控制器执行的操作:自动识别将卡盘从外部放置到物理I/O槽;识别一个空的物理存储槽;把卡盘移动到这个空的物理存储槽中;选择一个可用的功能I/O地址;更新该库的数据库,以专门将该可用的功能I/O地址与包含卡盘的物理存储槽相关联;通知主机该可用的功能I/O地址包含一个卡盘;响应于从主机收到的一个插入请求,该插入请求要求把卡盘从该可用的功能I/O地址转移到一个目标功能存储器地址,所执行的操作包括向主机报告插入已完成;更新该库的数据库,以将该目标功能存储器地址与包含该卡盘的物理存储槽相关联,并且去除这个可用的功能I/O地址与包含该卡盘的物理槽之间的关联。
根据该方法的一个实施例,识别将卡盘从外部放置到物理I/O槽的操作,包括:根据规定的时间表查询该物理I/O槽,以确定任意新的卡盘是否已经被放置在那里。
本发明还提供一种具有多个互相连接的导电单元的逻辑电路,用来执行对信号载体的操作,该信号载体具体包括可由数字处理装置执行的一个计算机可读的指令程序,以在数据存储库中完成管理插入操作的方法,这个库有多个接收数据存储卡盘的槽,这些槽有物理地址并包括一个或多个物理I/O槽以及多个物理存储槽,该库包括逻辑电路,该逻辑电路与一个中心定位主机连接,该主机按照功能存储器地址和功能I/O地址来管理卡盘位置,而且该库包括一个将功能地址与物理地址相关联的库数据库,该逻辑电路包括:用于自动地识别把卡盘从外部放置到物理I/O槽的逻辑电路;用于标识出一个空的物理存储槽的逻辑电路;用于把卡盘移动到这个空的物理存储槽中的逻辑电路;用于选择一个可用的功能I/O地址的逻辑电路;用于更新该库的数据库的逻辑电路,以专门将该可用的功能I/O地址与包含卡盘的物理存储槽相关联;用于通知主机该可用的功能I/O地址包含一个卡盘的逻辑电路;用于响应于从主机收到的一个插入请求的逻辑电路,该插入请求要求把卡盘从该可用的功能I/O地址转移到一个目标功能存储器地址,所执行的操作包括向主机报告插入已完成;用于更新该库的数据库的逻辑电路,以将该目标功能存储器地址与包含该卡盘的物理存储槽相关联,并且去除这个可用的功能I/O地址与包含该卡盘的物理槽之间的关联。
本发明还提供一个数据存储库,包括:多个用于接收数据存储卡盘的槽,这些槽包括一个或更多物理I/O槽和多个物理存储槽,每一个槽有一个物理地址;机器人装置,用于移动包括在这些槽的各个位置之中的卡盘;控制器,与机器人装置和中心定位主机连接,按照功能存储器地址和功能I/O地址管理卡盘位置;一个库数据库,可被控制器访问,并将功能地址与物理地址相关联;其中,控制器用于完成来自主机的实现插入请求的操作,该操作包括:自动地识别把卡盘从外部放置到物理I/O槽;标识出一个空的物理存储槽;把卡盘移动到这个空的物理存储槽中;选择一个可用的功能I/O地址;更新该库数据库,以专门将该可用的功能I/O地址址与包含卡盘的物理存储槽相关联;通知主机该可用的功能I/O地址包含一个卡盘;响应于从主机收到的一个插入请求,该插入请求要求把卡盘从该可用的功能I/O地址转移到一个目标功能存储器地址,所执行的操作包括向主机报告插入已完成;更新该库的数据库,以将该目标功能存储器地址与包含该卡盘的物理存储槽相关联,并且去除这个可用的功能I/O地址与包含该卡盘的物理槽之间的关联。
根据所述数据存储库的一个实施例,识别把卡盘从外部放置到物理I/O槽的操作,包括:根据规定的时间表查询物理I/O槽,以确定任意新的卡盘是否已经被放置在那里。
本发明为其用户提供了许多显著的优点。例如,因为没有等候主机指挥该卡盘的移动,本发明就把卡盘从物理I/O槽移动到物理存储槽,所以该物理I/O槽被更多地用来接收新的卡盘。操作员遇到装满的I/O槽的可能性更少。另外,因为该库自动地把卡盘从物理I/O槽移动到存储槽而没有要求操作员在控制面板旁一直等到I/O槽能用时为止,所以本发明极大地减少了操作员的工作量。另一优点是:本发明在主机和库控制器之间保持很大的软件相容性。本发明还提供另外一些优点和好处,它将通过以下对本发明的描述而变得很明显。
附图说明
图1是一个按照本发明的数据存储系统的硬件组件及其相互连接的方框图。
图2是一个按照本发明的数字数据处理机的方框图。
图3显示了按照本发明的示范性信号载体。
图4描述了按照本发明的卡盘引入顺序的流程图。
图5是按照本发明的用于处理主机弹出命令的操作顺序的一个流程图。
在考虑到以下有关于该附图的详细描述之后,对本专业中的技术人员来说本发明的特性、目标和优点将变得更加明显。
具体实施方式
硬件组件及其相互连接
序言
本发明的一个方面涉及到一个数据存储系统,它可由各种硬件组件及其互相连接来实现,如图1所示的一个例子。图1显示了一个数据存储库100,它与上级主机102连接。库100可包括一种或多种类型的便携式数据存储媒体,比如磁带、光盘、可写CDs等等,为了便于参考,库100中的便携式数据存储媒体被称为″卡盘″。
主机
在其它的可能的功能中,主机102向库100提供数据,用于在该卡盘上存储,并发送请求到库100,以从该卡盘上检索数据。主机可以是各种类型的硬件,比如一个数字数据处理计算机、逻辑电路、离散电路组件结构、人机接口,等等。例如,主机102可包括一个使用比如AIX操作系统的IBM RS/6000机器。主机102还与接口104和主机目录表120相连接。接口104确保主机102与操作员交换信息,并且可包括控制面板、视频监视器、计算机键盘/鼠标或其它适当的入/机接口。
主机120在库100中利用中心定位命令管理数据,并且可使用SCSI接口媒体转换器协议,作为一个例子。主机通过在该系统中指定源和目标位置来管理卡盘运动。按照本发明,源位置和目标位置是功能地址而不是物理存储地点。功能地址也可以认为是虚构的或虚拟的存储地址,因为它们在库100中未必对应于物理存储地点(尽管它们可能偶然对应)。虽然如此,为了满足主机的中心定位特性,主机102给每一个功能地址关联了不同的物理属性,比如媒体输送单元、存储单
元、输入/输出单元或数据传送单元。在图例中,主机的功能地址包括″功能I/O地址″(主机理解为I/O槽)和″功能存储地址″(主机理解为存储槽)。例如,主机的功能地址可根据库100的配置相对于主机102来建立,并且不会经常变化。有一个不同的、底层的映射,它使主机的功能地址与称为″物理存储地址″的实际存储位置关联。此配置给库100带来几个好处,以下将详细讨论。
为了支持按照功能地址对数据存储库100的管理,主机102保持主机目录表120。按照该主机的观点,主机目录表120将每一个功能地址与储存在其中的任意数据存储卡盘进行交叉引用。表1显示了该目录表120的一个实例。每一行描述一个功能地址,并且交叉引用该地址:
1.在数据存储库100中虚构位置的类型由功能地址表示。在主机102的操作过程中,功能地址是否为″功能I/O地址″或″功能存储地址″的信息是固定不变的。
2.不管功能地址是否包含卡盘,该信息在库100的正常操作中是不断变化的。
3.该卡盘的标识符(如果有的话)被储存在该功能地址中;如图所示,标识的一种类型是通过卷序列号(″VOLSER″)表达的。此信息在库100的正常操作期间是变化的。
功能地址(固定的) | 类型(固定的) | 满的还是空的?(可变的) | VOLSER(可变的) |
1 | 功能存储地址 | 满 | 929475 |
2 | 功能存储地址 | 满 | 988928 |
3 | 功能存储地址 | 满 | 329820 |
4 | 功能存储地址 | 空 | NONE |
... | ... | ... | ... |
98 | 功能I/O地址 | 满 | 333820 |
99 | 功能I/O地址 | 空 | NONE |
100 | 功能I/O地址 | 空 | NONE |
表1:主机目录
驱动器
数据存储库100包括一个驱动器106,它与库100中的卡盘进行读/写操作。如果需要的话,库100可以使用多个驱动器106。每一个驱动器106包括合适的硬件,以在库100中存取数据存储卡盘的格式。例如,在磁带卡盘的情况下,驱动器106可包括一个IBM 3590型磁带驱动器。如下所述,卡盘通过机器人装置被引向驱动器106。
物理卡盘的存储和管理
库100还包括物理移动并储存卡盘的装备。例如,物理存储槽114,当卡盘不使用时,它就用来存放卡盘。物理存储槽114包括架子或其它数据存储库隔间。
物理I/O槽112用来传送卡盘到库100或从库100传送出来。物理I/O槽112包括任意标识的、已知的、留出的、定位的,或者为操作员指明的在库中将卡盘插入和拔出的槽。使用I/O槽112,操作员可以将卡盘引入到库100(″插入″操作)或把卡盘从库100取出(″弹出″操作)。操作员可以访问物理I/O槽112,而不会扰乱机器人装置112或驱动器106的操作(比如通过一个外置的门),尽管这是没有必要的。物理I/O槽112的一些例子包括″通过″槽、托架、运送器、定义为I/O槽的普通存储型槽,等等。
为了在驱动器106、I/O槽112和存储槽114之间移动卡盘,库100包括机器人装置110。机器人装置110分别通过通路110a、110b和110c存取这些组件。该机器人装置110可以由任何适当的卡盘运动机构比如机器人臂、完整的卡盘装载器械、运送器、可在x-y坐标系上移动的抓爪等等来实现。
控制器
库100在控制器108的管理下操作,它接收来自主机102用于请求控制器108从一个功能地址到另外一个功能地址来移动卡盘的命令。控制器108通过接口比如电线/电缆、一个或多个总线、光缆纤维线路、无线传输、智能通信信道,等等来与主机102通信。除了主机-控制器接口,它构成了一个″控制″通路,库100还包括一个在主机102和驱动器106之间携带数据的″数据″通路。
控制器108包括一个数字数据处理机、逻辑电路、离散电路组件构造或其它自动机构,并按照适当的程序设计、物理配置等等进行操作。为了提供一个具体实例,控制器108可包括一个IBM PowerPC处理器。
参考虚构的“功能地址”,在收到从主机102处发来的中心定位命令后,控制器108把这些命令翻译为库100中的物理位置,并通过指导机器人装置110实现该请求的操作。为了在主机的功能地址和库的物理存储位置之间映射,控制器108维护了一个包括库映射表116和库状态表118的库数据库。
对于每一功能地址,该库映射表116就标识出一个相应的物理存储器地址,如果它已经与功能地址关联的话。表2显示库映射表116的一个实例。每一行描述了一个功能地址和关联地址。
在这个实例中,该物理存储器地址包括一个机器人抓爪的水平-垂直坐标。
功能地址(固定的) | 功能地址类型(固定的) | 相关物理地址(可变的) |
1 | 存储 | (1,1)左 |
2 | 存储 | (1,1)右 |
3 | 存储 | (1,2)左 |
4 | 存储 | 不相关的 |
... | ... | ... |
98 | I/O | (4,5)左 |
99 | I/O | 不相关的 |
100 | I/O | 不相关的 |
表2:库映象
库状态表118(表3)列出了在库100中所有物理存储器地址。此列表依赖于库100的物理配置,它建立在制造、初始配置等等之上。对于每一物理存储器地址来说,该库状态表118说明:
1.物理存储器地址是否包含卡盘,这是可随时变化的。
2.所谓的物理配置包括物理存储器地址(例如,读/写驱动器、存储槽、I/O槽等等)。这在一个适当的时间内是固定不变的,例如在库的初始配置时。
3.卡盘的该VOLSER或其他标识被存储在物理存储地址中。当卡盘在库中移动时,上述内容随时变化。
物理地址(固定的) | 满的还是空的?(可变的) | 物理地址的配置(固定的) | VOLSER(可变的) |
(1,1)左 | 满 | 存储槽 | 929475 |
(1,1)右 | 满 | 存储槽 | 988928 |
(1,2)左 | 满 | 存储槽 | 329820 |
... | ... | ... | ... |
(4,5)左 | 满 | I/O槽 | 333820 |
(5,8)右 | 空 | I/O槽 | NONE |
... | ... | ... | ... |
(10,10)右 | 空 | 驱动器 | NONE |
表3:库状态表
示例性的数字数据处理装置
控制器108可通过不同的形式实现,包括例如一个数字数据处理设备。此设备可以通过不同的硬件组件及相互连接而体现。图2所示的数字数据处理设备就是一个实例。设备200包括一台与存储器204耦合的处理机202,例如一台微处理器或其它处理机器。在本例中,存储器204包括一个快速存取存储器206和非易失性存储器208。这个快速存取存储器206可包括随机存取存储器(″RAM″),并可用来存储由处理器202执行的程序设计指令。非易失性存储器208例如可以由一个或多个磁性数据存储盘组成。例如一个硬盘驱动器、一个磁带驱动器或任何其它适当的存储设备组成。设备200还包括一个输入/输出210,例如电线、总线、电缆、电磁连接或其它装置,用于处理机202与设备200的其它外部硬件的数据交换。
尽管有先前具体的描述,普通专业技术人员会意识到在不偏离本发明的范围的前提下,上面讨论的设备可以在一台不同结构的机器中得以实现。作为一个特例,组件206的208可以除去。此外,存储器204可以在处理机202中提供,或甚至在设备200外部提供。
逻辑电路
与先前讨论的数字数据存储设备相反,本发明的一个不同的实施例没有使用计算机执行指令而是使用逻辑电路来实现控制器108。依赖于本申请在速度、费用工具制造成本等等方面的具体要求,逻辑电路可以通过构造一种有数千微小的集成晶体管的专用集成电路(″ASIC″)来实现。这样一个ASIC可以与CMOS、ITL、VLSI或其它适当的结构一起实现。其它的替换包括数字信号处理芯片(″DSP″)、离散的电路(例如电阻器、电容器、二极管、电感器和晶体管)、现场可编程门阵列(″FPGA″)、可编程逻辑阵列(″PLA″)等等。
操作
除上述各个硬件实施例之外,本发明的另一方面涉及以下讨论的一种方法。
信号载体
在图1-2的内容中,这样的方法是由,例如通过操作控制器108而实现的,用来执行不同顺序的机读指令,控制器108是由一个数字数据处理设备200体现的。这些指令可以位于不同类型的信号载体上。本发明的一个方面涉及一种编程产品,它由包含一个机读指令程序信号载体组成。数字数据处理机通过执行此程序来完成数据存储库100中的弹出操作管理。
此信号载体可由例如,包含在控制器108中的RAM(图中未示)组成,如快速存取存储器206所示那样。做为选择,本指令可以包含在另一个信号载体中,例如一个磁性的数据存储软盘300(图3),可由处理机200直接或间接地访问。不管是否包含在存储器206、软盘300或其它地方,本指令可以储存在多种机读数据存储媒体中,例如直接存取存储器(例如,常规的″硬盘驱动器″,大量廉价磁盘阵列(″RAID″)或另一种直接存取存储器(DASD),磁带,电子只读存储器(例如,只读存储器,可擦可编程只读存储器,或电可擦除只读存储器),光存储器(例如,CD-ROM,WORM,DVD,数字光带),钻孔纸卡或其它适当的信号载体,包括传输媒体,例如数字和模拟通信链路和无线电。在本发明的一个实施例,计算机可读的指令可以包含由一种语言比如″C″编译的软件目标代码。
逻辑电路
与上面讨论的信号载体相反,本发明的方法可以由逻辑电路实现,而不必用处理机来执行指令。在本实施例中,逻辑电路在控制器108中执行,并且被配置以执行操作来实现本发明的这种方法。逻辑电路可以用多种不同类型的电路执行,如上面所讨论的那样。
卡盘插入
为提供一个本发明的实例,图4显示了卡盘入口序列400/450。为简化说明,但是没有任何特意的限制,图4的例子在对图1所示的硬件组件互相连接的上述讨论中被描述。
在例程400中,控制器108管理库100,使它自动地从物理I/O槽112中排出新的卡盘。这帮助操作员确保I/O槽没有装满,从而避免操作员插入更多卡盘。这还有助于弹出操作,因为控制器108更可能找到一个可用的物理I/O槽。例程400的另一个好处是控制器108能自动地识别进入到物理I/O槽112的卡盘的外部配置。序列400自动地以物理槽I/O、112中排出卡盘,而不管任何主机的干涉。
序列400在步骤402中被初始化。在步骤404中,控制器108确定是否有新的卡盘放置到I/O槽112中。按照所需的重复计划,此步骤可以通过物理地检查物理的I/O槽112(″查询″)而完成。每当物理输入/输出槽的门被打开时,就查询物理I/O槽112。作为替换,一些或所有的物理I/O槽112可包括传感器,当卡盘被接收时,它们被激活。当步骤404发现一个新插入的卡盘时,控制器108就存取库状态表118,以标识排空的物理存储槽114(步骤406),然后移动这个插入的卡盘(步骤408)。步骤408也更新库状态表118来显示卡盘存在于空的存储槽。在卡盘插入处,步骤408能迅速地清除物理I/O槽112,以便其它的插入或弹出操作。而且,主机102看不见此步骤。
在步骤408之后,控制器108使主机102知道卡盘的出现。首先,控制器108从库映射表116中选择一个可用的功能I/O地址,并更新库映射表116,以使功能I/O地址与当时存有卡盘的物理存储槽关联(步骤410)。在步骤410之后,流程400返回到步骤404来处理其它新插入的卡盘。
除序列400以外,序列450通过控制器108被执行以帮助主机102完成卡盘插入操作。序列450开始于步骤412。在步骤414,控制器108确定是否接收到任何主机命令。响应主机状态命令,控制器108把这个新近接收的卡盘报告给主机102(步骤413)。特别是,控制器108把卡盘的功能I/O地址(从步骤410)和VOLSER报告给主机102。这就是主机102如何获悉卡盘在库的存在,也就是说,通过查询控制器108而知道的。在主机102知道新的卡盘存在于功能I/O地址(通过步骤413)之后,主机102(图中未示)通过更新它的主机目录表120作出反应,显示功能I/O地址为″满″,并输入卡盘的VOLSER或其它标识。稍后,主机程序设计命令主机102把卡盘从它的功能I/O地址移动到功能存储器地址。当这种情况发生时,主机102发送一个适当的″插入″命令,控制器108在步骤414中接收此命令。接到步骤414的插入命令后,控制器108立即自动发出插入已经完成的报告(步骤416)。为确切地执行插入操作,控制器108执行特定的附加步骤(步骤416的一部分),主机是看不见这些附加的步骤的。换句话说,因为卡盘已经位于一个物理存储槽中,所以不需要物理的移动。取而代之,控制器108从库映射表116中选择一个可用的功能存储器地址,并把它与卡盘的物理存储器地址通过更新库映射表116相关联(步骤416)。在库映射表116中,控制器108还通过把功能I/O地址列表为″无联系的″,从而去除早先的卡盘功能I/O地址的关联。在步骤416之后,控制器108返回到步骤414来等候另一个主机命令。
通过本公开,普通的专业技术人员应该认识到在不偏离本发明的前提下序列400、450的操作顺序是可以改变的。而且,虽然为了简化图解,上述的序列400,450已经以一种严密的连续的形式描述出来,但是操作400,450中的一部分可以使用硬件中断或多任务来执行为不同的卡盘所做的并行操作等等。
卡盘弹出
图5显示了弹出卡盘序列500的一个实例。为了便于说明,但是没有特意限制,在对图1所示的硬件组件相互连接的讨论中描述了图5的这个实例。
有利地是,控制器108来管理库100,去执行一个直接的虚拟的弹出操作,以便使主机102不会因为感觉到物理I/O槽已满而被阻滞。如以下所示,立刻把一个功能I/O地址与该卡盘的当前的物理存储槽关联,就可以完成该项任务,而不管物理I/O槽是否可用。
步骤500在步骤502被初始化。在步骤504中,控制器108收到一个来自主机102的弹出请求。这个弹出请求是按照主机程序设计的中心定位指令,它告诉控制器108把卡盘从指定的功能存储器地址移动到指定的可用的功能I/O地址中去。为了迅速地响应主机的请求,控制器108做出弹出操作请求已完成的报告(步骤506)。在这个时候,主机102可把该卡盘从主机目录表120中删除(该步骤在图中未示)。做为选择,主机102可以待到卡盘从库或另一个适当的地方被物理地移走为止。这是由查询控制器108决定的。为了确切地执行弹出请求,控制器108执行一些其它的主机102看不见的特定的步骤。换句话说,控制器108更新库映射表116以释放当前与物理存储槽关联的功能存储器地址,并用指定的功能I/O地址替换功能存储器地址(步骤506)。这达到了一种近似的直接的虚拟弹出,因为主机102认为卡盘现在位于I/O槽中。
如上所述,作为步骤504-506的替换,主机的弹出请求可省略功能I/O地址,让控制器108标识、选择和报告(当查询时)可用的功能I/O地址。
在步骤506之后,控制器108检查物理I/O槽是否可用(步骤510)以真正地弹出卡盘。如果不是,控制器108在步骤512等候,然后重复步骤510。每执行一次步骤512,例如,就将要弹出的卡盘排序,它每前进一步,一个物理I/O槽就成为可使用的。
当一个物理I/O槽可用时,控制器108把目标卡盘移动到这个可用的物理I/O槽中(步骤514)。然后,这个控制器108更新库映射表116(步骤516),以便使卡盘的当前的功能I/O地址被关联到卡盘的物理I/O地址中,而不是关联到先前所占的存储槽的物理存储器地址。另外,控制器108更新库状态表118以显示卡盘在物理I/O槽中的存在。
在步骤516之后,控制器108等到卡盘从它的物理I/O槽中被操作员、另一个机器等移走。在这个时候,控制器108更新库映射表116和库状态表118以显示从库中去除卡盘(步骤517)。作为替换,控制器108可省略步骤516,在这种情况下卡盘移到物理I/O槽不被记录。在步骤517之后,弹出流程500在步骤518结束。
其他实施例
上面公开了本发明的多个实施例,有一点要清楚,本专业中的技术人员可以在不偏离附加权利要求所规定的本发明的范围的前提下做出各种改变和改进。此外,虽然本发明的各单元可以单数形式描述或要求,但是除非明确地说明限制用单数,可用复数。另外,普通专业技术人员会认识到操作顺序必须是为了解释和申明的目的,而以一种特殊的顺序提出,但是本发明可有不同的顺序。
Claims (13)
1.一种在数据存储库中管理插入操作的方法,该库有多个数据存储卡盘接收槽,这些槽有物理地址并包括一个或多个物理I/O槽以及多个物理存储槽,在这个库中包括一个与中心定位主机耦合的控制器,它按照功能存储器地址和功能I/O地址管理卡盘位置,而且这个库包括一个将功能地址与物理地址相关联的库数据库,这种方法包括下列由控制器执行的操作:
自动识别将卡盘从外部放置到物理I/O槽;
识别一个空的物理存储槽;
把卡盘移动到这个空的物理存储槽中;
选择一个可用的功能I/O地址;
更新该库的数据库,以专门将该可用的功能I/O地址与包含卡盘的物理存储槽相关联;
通知主机该可用的功能I/O地址包含一个卡盘;
响应于从主机收到的一个插入请求,该插入请求要求把卡盘从该可用的功能I/O地址转移到一个目标功能存储器地址,所执行的操作包括:向主机报告插入已完成;
更新该库的数据库,以将该目标功能存储器地址与包含该卡盘的物理存储槽相关联,并且去除这个可用的功能I/O地址与包含该卡盘的物理槽之间的关联。
2.根据权利要求1的方法,识别将卡盘从外部放置到物理I/O槽的操作,包括:
接收来自该库的检测组件的信号,检测组件响应于该卡盘的物理放置而自动地激活。
3.根据权利要求1的方法,识别将卡盘从外部放置到物理I/O槽的操作,包括:
根据规定的时间表查询该物理I/O槽,以确定任意新的卡盘是否已经被放置在那里。
4.根据权利要求1的方法,该操作还包括:
维护显示功能地址与卡盘之间的关系的主机可访问的目录。
5.根据权利要求1的方法,该库数据库还包括:
一个库状态映象表,它显示了功能地址和物理地址之间的关联;
一个库状态表,它列出了每一个物理地址并标识出任何包含在其中的卡盘。
6.根据权利要求1的方法,该卡盘包括盒式磁带。
7.一种具有多个互相连接的导电单元的逻辑电路,用来执行对信号载体的操作,该信号载体具体包括可由数字处理装置执行的一个计算机可读的指令程序,以在数据存储库中完成管理插入操作的方法,这个库有多个接收数据存储卡盘的槽,这些槽有物理地址并包括一个或多个物理I/O槽以及多个物理存储槽,该库包括逻辑电路,该逻辑电路与一个中心定位主机连接,该主机按照功能存储器地址和功能I/O地址来管理卡盘位置,而且该库包括一个将功能地址与物理地址相关联的库数据库,该逻辑电路包括:
用于自动地识别把卡盘从外部放置到物理I/O槽的逻辑电路;
用于标识出一个空的物理存储槽的逻辑电路;
用于把卡盘移动到这个空的物理存储槽中的逻辑电路;
用于选择一个可用的功能I/O地址的逻辑电路;
用于更新该库的数据库的逻辑电路,以专门将该可用的功能I/O地址与包含卡盘的物理存储槽相关联;
用于通知主机该可用的功能I/O地址包含一个卡盘的逻辑电路;
用于响应于从主机收到的一个插入请求的逻辑电路,该插入请求要求把卡盘从该可用的功能I/O地址转移到一个目标功能存储器地址,所执行的操作包括:
向主机报告插入已完成;
用于更新该库的数据库的逻辑电路,以将该目标功能存储器地址与包含该卡盘的物理存储槽相关联,并且去除这个可用的功能I/O地址与包含该卡盘的物理槽之间的关联。
8.一个数据存储库,包括:
多个用于接收数据存储卡盘的槽,这些槽包括一个或更多物理I/O槽和多个物理存储槽,每一个槽有一个物理地址;
机器人装置,用于移动包括在这些槽的各个位置之中的卡盘;
控制器,与机器人装置和中心定位主机连接,按照功能存储器地址和功能I/O地址管理卡盘位置;
一个库数据库,可被控制器访问,并将功能地址与物理地址相关联;
其中,控制器用于完成来自主机的实现插入请求的操作,该操作包括:
自动地识别把卡盘从外部放置到物理I/O槽;
标识出一个空的物理存储槽;
把卡盘移动到这个空的物理存储槽中;
选择一个可用的功能I/O地址;
更新该库数据库,以专门将该可用的功能I/O地址址与包含卡盘的物理存储槽相关联;
通知主机该可用的功能I/O地址包含一个卡盘;
响应于从主机收到的一个插入请求,该插入请求要求把卡盘从该可用的功能I/O地址转移到一个目标功能存储器地址,所执行的操作包括:
向主机报告插入已完成;
更新该库的数据库,以将该目标功能存储器地址与包含该卡盘的物理存储槽相关联,并且去除这个可用的功能I/O地址与包含该卡盘的物理槽之间的关联。
9.根据权利要求8的库,识别把卡盘从外部放置到物理I/O槽的操作,包括:
接收来自该库的检测组件的信号,响应于该卡盘的物理放置,该检测组件自动地激活。
10.根据权利要求8中的库,识别把卡盘从外部放置到物理I/O槽的操作,包括:
根据规定的时间表查询物理I/O槽,以确定任意新的卡盘是否已经被放置在那里。
11.根据权利要求8的库,该操作还包括:
维护显示功能地址和卡盘之间的关联的主机可访问目录。
12.根据权利要求8的库,该库数据库包括:
一个库状态映象表,它显示了功能地址和物理地址之间的关联;
一个库状态表,它列出了每一个物理地址并标识出任何包含在其中的卡盘。
13.根据权利要求8的库,还包括卡盘。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/459,413 | 1999-12-11 | ||
US09/459,413 US6480905B1 (en) | 1999-12-11 | 1999-12-11 | Data storage library with efficient cartridge insert |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1303051A CN1303051A (zh) | 2001-07-11 |
CN1219259C true CN1219259C (zh) | 2005-09-14 |
Family
ID=23824671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB001376012A Expired - Fee Related CN1219259C (zh) | 1999-12-11 | 2000-12-08 | 具有高效卡盘插入的数据存储库 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6480905B1 (zh) |
CN (1) | CN1219259C (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3555520B2 (ja) * | 1999-09-27 | 2004-08-18 | 日本電気株式会社 | 媒体制御装置及び媒体制御装置の制御方法 |
WO2002052397A1 (fr) * | 2000-12-22 | 2002-07-04 | Fujitsu Limited | Dispositif a memoire, procede de commande du dispositif a memoire et support de memoire amovible |
JP4700204B2 (ja) * | 2001-03-07 | 2011-06-15 | 株式会社日立製作所 | ストレージ管理データ制御システム |
US7212470B2 (en) * | 2001-06-11 | 2007-05-01 | Lenovo (Singapore) Pte Ltd. | Method and apparatus to transfer information between a host computer and one or more hard disks disposed in a data storage and retrieval system |
US7831575B2 (en) * | 2001-08-02 | 2010-11-09 | Bridge Works, Ltd | Library virtualisation module |
WO2003076199A1 (fr) * | 2002-03-14 | 2003-09-18 | Seiko Epson Corporation | Imprimante et procede de commande d'imprimante |
GB2391361B (en) * | 2003-05-23 | 2005-09-21 | Bridgeworks Ltd | Library element management |
US6950723B2 (en) * | 2003-08-22 | 2005-09-27 | International Business Machines Corporation | Method, system, and program for virtualization of data storage library addresses |
JP2005122640A (ja) * | 2003-10-20 | 2005-05-12 | Hitachi Ltd | サーバシステム及びi/oスロット共有方法。 |
US7251718B2 (en) * | 2004-09-29 | 2007-07-31 | International Business Machines Corporation | Apparatus, system, and method for managing addresses and data storage media within a data storage library |
CN1797390A (zh) * | 2004-12-22 | 2006-07-05 | 林怡明 | 光盘/软盘的储藏和搜录方法以及采用该方法的装置 |
US7647469B2 (en) * | 2005-07-22 | 2010-01-12 | International Business Machines Corporation | Method of assigning virtual import/export element addresses |
US8311663B2 (en) * | 2005-08-31 | 2012-11-13 | International Business Machines Corporation | Apparatus and method to store information |
US8265784B1 (en) | 2005-12-22 | 2012-09-11 | Oracle America, Inc. | Storage library having virtual cartridge access port |
US9201603B2 (en) * | 2007-06-01 | 2015-12-01 | Oracle America, Inc. | Dynamic logical mapping |
US8457778B2 (en) * | 2008-08-15 | 2013-06-04 | Spectra Logic Corp. | Robotic storage library with queued move instructions and method of queuing such instructions |
US8687315B2 (en) | 2011-05-11 | 2014-04-01 | International Business Machines Corporation | Data storage system using a media mobility unit (MMU), the MMU, and methods of use thereof |
JP2014026709A (ja) * | 2012-07-30 | 2014-02-06 | International Business Maschines Corporation | ライブラリ・ストリング間でのカートリッジの移動方法、システム、及びプログラム |
JP6181860B2 (ja) * | 2014-04-28 | 2017-08-16 | 株式会社日立製作所 | ストレージ装置とそのデータ処理方法及びストレージシステム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5119486A (en) | 1989-01-17 | 1992-06-02 | Prime Computer | Memory board selection method and apparatus |
US5271098A (en) | 1989-11-07 | 1993-12-14 | Chips And Technologies, Inc. | Method and apparatus for use of expanded memory system (EMS) to access cartridge memory |
US5303360A (en) | 1991-02-22 | 1994-04-12 | Vlsi Technology, Inc. | Programmable boundary between system board memory and slot bus memory |
US5303214A (en) | 1992-01-03 | 1994-04-12 | International Business Machines Corporation | Multi-media-type automatic libraries |
JP3090384B2 (ja) * | 1993-06-29 | 2000-09-18 | 株式会社日立製作所 | 着脱可能な記憶媒体を用いる外部記憶装置 |
US5513156A (en) * | 1993-07-23 | 1996-04-30 | Fujitsu Limited | Library apparatus |
US5586250A (en) * | 1993-11-12 | 1996-12-17 | Conner Peripherals, Inc. | SCSI-coupled module for monitoring and controlling SCSI-coupled raid bank and bank environment |
US5802544A (en) | 1995-06-07 | 1998-09-01 | International Business Machines Corporation | Addressing multiple removable memory modules by remapping slot addresses |
JPH10177779A (ja) * | 1996-12-16 | 1998-06-30 | Sony Corp | カセット管理システム |
WO1998033113A1 (en) * | 1997-01-23 | 1998-07-30 | Overland Data, Inc. | Virtual media library |
US5883864A (en) | 1997-02-24 | 1999-03-16 | Quantum Corporation | Media library having locally vectored drive addressing |
US6044442A (en) * | 1997-11-21 | 2000-03-28 | International Business Machines Corporation | External partitioning of an automated data storage library into multiple virtual libraries for access by a plurality of hosts |
US6338006B1 (en) * | 1999-12-11 | 2002-01-08 | International Business Machines Corporation | Data storage library with efficient cartridge eject |
-
1999
- 1999-12-11 US US09/459,413 patent/US6480905B1/en not_active Expired - Fee Related
-
2000
- 2000-12-08 CN CNB001376012A patent/CN1219259C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6480905B1 (en) | 2002-11-12 |
CN1303051A (zh) | 2001-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1155908C (zh) | 具有卡盘弹出的数据存储库以及管理弹出操作的方法及装置 | |
CN1219259C (zh) | 具有高效卡盘插入的数据存储库 | |
CN1159663C (zh) | 数据库储库及其访问管理方法 | |
US7647135B2 (en) | Robotic data storage library comprising a virtual port | |
US6336163B1 (en) | Method and article of manufacture for inserting volumes for import into a virtual tape server | |
US6031798A (en) | Library control of media capacity scaling and library component attributes | |
US5870732A (en) | Inventory method for logical volumes in an automated storage library | |
JP4646336B2 (ja) | 自動化データ・ストレージ・ライブラリ、自動化データ・ストレージ・ライブラリの多カートリッジ・セルにおけるデータ・カートリッジの管理のための方法、プログラム | |
JP3037874B2 (ja) | ライブラリ管理システム及び方法 | |
US8339729B2 (en) | Efficient moves via repository | |
JP4516948B2 (ja) | 自動化されたデータ・ストレージ・ライブラリにおけるデータ・ストレージ・ドライブ | |
JP2003150322A (ja) | 単一ライブラリ内で仮想ライブラリを使って複数のドライブタイプをサポートする仮想電子データ・ライブラリ | |
US9159357B2 (en) | Efficient moves via repository | |
US8615322B2 (en) | Efficient moves via dual pickers | |
US8682471B2 (en) | Efficient magazine moves | |
EP0838816A1 (en) | Data storage library with media destaging and prestaging for improved response time | |
CN1900902A (zh) | 用于分配虚拟导入/导出元件地址的系统和方法 | |
US20120127607A1 (en) | Efficient moves via repository | |
US20070127322A1 (en) | Apparatus system and method for managing control path commands in an automated data storage library | |
US6577562B2 (en) | Method to allocate storage elements while in a reset state | |
JPH11176060A (ja) | 担体自動交換装置 | |
JPH04324122A (ja) | 光データ記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050914 Termination date: 20181208 |
|
CF01 | Termination of patent right due to non-payment of annual fee |