JP3998289B2 - ライブラリ装置を論理的に分割して制御するライブラリ制御装置および方法 - Google Patents
ライブラリ装置を論理的に分割して制御するライブラリ制御装置および方法 Download PDFInfo
- Publication number
- JP3998289B2 JP3998289B2 JP03093597A JP3093597A JP3998289B2 JP 3998289 B2 JP3998289 B2 JP 3998289B2 JP 03093597 A JP03093597 A JP 03093597A JP 3093597 A JP3093597 A JP 3093597A JP 3998289 B2 JP3998289 B2 JP 3998289B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- library
- command
- address information
- recording medium
- 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/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
- 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
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)
- Conveying Record Carriers (AREA)
- Control By Computers (AREA)
- Programmable Controllers (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、小型のホスト計算機を用いて大型ライブラリ装置を制御する技術に係り、ライブラリ装置を複数のユニットに分割して制御するライブラリ制御装置およびその方法に関する。
【0002】
【従来の技術】
今日、様々な分野で、記録媒体の投入/排出、保管、記録/再生等を自動的に行うライブラリ装置が利用されている。記録媒体としては、光ディスク、CD−ROM(Compact Disk Read Only Memory )、磁気テープ(Magnetic Tape :MT)等が用いられる。
【0003】
図37は、従来の大型テープライブラリ装置(Magnetic Tape Library :MTL)の外観図である。一般に、1台の大型MTLは、個々の機能毎にフレームという単位で分けられている。図37のライブラリ装置は、MTカートリッジを保管する4つのフレームRAU、DAU0、TAU0、LAUを備え、フレームACU内のライブラリコントローラ1により制御される。このライブラリ装置のサブシステムの内部構成を模式的に示すと、図38のようになる。
【0004】
RAUは、向かって右側に位置し、カートリッジアクセスステーション(Cartridge Access Station:CAS)5とアクセッサ(ACC)6と複数の一般セル(CELL)7とを内蔵したフレームである。CAS5は、ライブラリ装置に対して、記録媒体の投入/排出を行うための特殊なセルであり、オンライン(Ready )状態で使用可能である。また、ACC6は、ライブラリ装置内で記録媒体を移動させるロボットであり、一般セル7は、記録媒体を格納するスロットである。
【0005】
また、DAU0は、DEE(Direct Entry Exit )2と複数の一般セル7を内蔵したフレームである。DEE2は、オフライン(Not Ready )状態で、記録媒体の投入/排出をフレーム単位で行うことができる機能を備えたユニットである。DEE2は、例えば回転するセルドラムと大型の扉3とを備え、CAS5と比較して、一度に大量の記録媒体を投入/排出することができる。
【0006】
また、TAU0は、複数のMTU(Magnetic Tape Unit)4と複数の一般セル7を内蔵したフレームである。MTU4は、記録媒体のリード/ライトを行う媒体駆動用のセルである。また、LAUは、向かって左側に位置し、RAUと同様に、CAS5、ACC6、および複数の一般セル7を内蔵したフレームである。
【0007】
ACC6は各フレーム間を自由に移動することができ、ライブラリコントローラ1の指示に応じて、CAS5、一般セル7、DEE2、およびMTU4の間で記録媒体を搬送する。
【0008】
このような従来のライブラリ装置では、各セル7、DEE2の各セル、CAS5、およびMTU4等のアドレスは、フレーム番号とフレーム内アドレスの組み合わせにより管理されている。例えば、RAU、DAU0、TAU0、LAUには、それぞれフレーム番号01、02、03、04が割り当てられ、各フレーム内では3バイト(byte)のアドレスが用いられる。
【0009】
【発明が解決しようとする課題】
ところが、近年、大型ライブラリ装置をパーソナルコンピュータやワークステーションのような小型のホスト計算機により制御したいという要望が出てきている。この場合、ホスト計算機とライブラリ装置を、ANSI(American National Standards Institute ) X3B10で規定されているSCSI−2(Small Computer Set Interface)のような汎用インタフェースで接続し、ライブラリ装置をSCSI−2標準の媒体チェンジャデバイス(Medium Changer Device )として制御する必要がある。このとき、次のような問題が生じる。
【0010】
(1)SCSIでは、一般に、1台の大型ライブラリ装置が1つの論理ユニット(Logical Unit)として定義される。ここで、論理ユニットとは、ホスト側から見たときの制御対象の単位であり、それがMedium Changer Device に対応する場合、ホスト計算機は論理ユニット内での媒体移動をコマンドで指示することができる。
【0011】
しかし、SCSIのMedium Changer Device として定義できるセルアドレスは2バイトであり、最大216(=約65,000)個のセルまでしか対応できない。このため、それより多くのセルを装備したライブラリ装置は、標準のSCSIコマンドで制御することができない。
【0012】
(2)従来の大型ライブラリ装置では、サブシステムは活性のまま、フレーム単位でオフライン化して保守が可能である。しかし、SCSIでは部分的なオフライン状態を指示する方法がなく、保守等のためには、ライブラリ装置全体をオフラインにする必要がある。
【0013】
(3)1台の大型ライブラリ装置には、記録媒体の投入/排出を行うCAS5とDEE2が備えられている。ところが、SCSIでは、CAS5はImport/Export Element (I/Eエレメント)として定義され、DEE2はStorage Element (STエレメント)として定義される。このため、ライブラリ装置全体として、記録媒体の投入/搬出機能の制御方法を統一できない。
【0014】
(4)大型ライブラリ装置はフレーム単位で増設することが可能であるが、SCSIのMedium Changer Device として定義した場合、増設時にセルアドレスが変化してしまう。このため、増設後にセルアドレスの再設定が必要となる。
【0015】
(5)大型ライブラリ装置の製造はフレーム単位で行われ、与えられたモデルに従って複数のフレームが組み合わされて1台のライブラリ装置になる。したがって、同じフレームでも、モデルが変わればその配置位置が変わる。このため、複数のフレームを1台のライブラリ装置としてセルアドレスを定義する場合、モデルによってセルアドレスも相対的に変化してしまい、製造時にセルアドレスを物理的に表示することができない。
【0016】
従来は、モデルが完成してからアドレスを表示するか、あるいは、あらかじめ組み込むモデルを意識してアドレスを表示しなければならなかった。1台のライブラリ装置として完成してからアドレスを振ることもできるが、フレームの増設の度にアドレスを変更しなければならない。したがって、アドレス表示においても上述の(4)項と同様の問題がある。
【0017】
上記(1)〜(5)に記したように、現在の大型MTLは、SCSI−2のMedium Changer Device より進んだ機能を実装しているため、利用可能アドレスに制約があるSCSIによる制御が非常に困難であるという問題を有している。
【0018】
本発明の課題は、SCSIのような汎用インタフェースを利用して大型ライブラリ装置を制御するライブラリ制御装置およびその方法を提供することである。
【0019】
【課題を解決するための手段】
図1は、本発明のライブラリ制御装置の原理図である。図1のライブラリ制御装置は、記憶手段11と制御手段12を備える。
【0020】
記憶手段11は、互いに独立に制御可能な複数の論理ユニットに分割されたライブラリ装置の構成を表す論理構成情報を記憶する。
制御手段12は、上記論理構成情報を用いて上記ライブラリ装置の動作を制御する。
【0021】
ライブラリ装置は、例えばフレーム単位でSCSIの1つの論理ユニットとみなされ、フレームの数だけの論理ユニットに分割される。したがって、2バイトを越えるアドレスを含む大型ライブラリ装置であっても、分割された各部分毎にSCSIのMedium Changer Device として独立に制御可能となる。
【0022】
記憶手段11が記憶する論理構成情報には、各論理ユニット毎に、それに含まれるセル等のエレメントのアドレス(2バイト)が記述されている。ここで、LUNは論理ユニット番号を表し、エレメントアドレスの欄の(h)は、アドレスが16進数で記述されていることを表す。
【0023】
ホストシステムは、Medium Changer Device に対する媒体移動コマンドを発行して制御手段12に指示を出すが、このコマンドを作成するには、ACC、移動元、および移動先のエレメントアドレスを指定する必要がある。
【0024】
ところが、図1のライブラリ装置では、LUN1とLUN2にACCが実在しない。そこで、破線で示すように、これらの論理ユニットにACCの存在を仮想し、エレメントアドレスを割り当てる。このエレメントアドレスは、実在のACCにも対応付けられる。これにより、LUN1とLUN2に対しても、媒体移動コマンドを発行することが可能となる。
【0025】
また、異なる論理ユニット間での記録媒体の移動を指示できるように、隣り合った、または、離れた2つの論理ユニットの間で記録媒体を受け渡す機能を持つ投入/排出(IE)エレメントを仮想する。そして、これらの仮想エレメントにもエレメントアドレスを割り当てる。ホストシステムは、矢印で示されるように、互いに対応する投入/排出エレメントをペアにして用いて、2つの連携するコマンドを発行することで、異なる論理ユニット間での移動を指示することができる。
【0026】
例えば、LUN0からLUN1への移動を指示する場合は、まず、アドレス0100を移動先とする第1のコマンドをLUN0に対して発行し、次に、アドレスFF01を移動元とする第2のコマンドをLUN1に対して発行すればよい。
【0027】
制御手段12は、ホストシステムから各論理ユニットに対するコマンドを受け取ると、論理構成情報を参照しながら、異なる論理ユニットに対するコマンドを連携して処理する。そして、その結果に基づいて制御信号を出力し、ライブラリ装置を動作させる。
【0028】
例えば、上述の第1および第2のコマンドを受け取った場合は、論理構成情報を参照して、第1のコマンドの移動先エレメントアドレス0100と第2のコマンドの移動元エレメントアドレスFF01が互いに対応することを認識する。そこで、これらの仮想エレメント間で記録媒体が受け渡しされたものとみなし、第1のコマンドの移動元エレメントアドレスから第2のコマンドの移動先エレメントアドレスへ直接記録媒体を移動させるように、ライブラリ装置を制御する。
【0029】
このように、ライブラリ装置の各部分に不足する機能エレメントを仮想することで、SCSIのインタフェースを利用して、論理的に分割されたライブラリ装置を統一的に制御することができる。
【0030】
また、ライブラリ装置を論理的に分割することによって、各論理ユニット単位でNot Ready 状態を設定できる。また、ライブラリ装置のフレームを増設する場合、増設フレームを新しい論理ユニットとして定義することができ、既存エレメントのアドレスを再設定する必要がない。したがって、モデル構成が異なったり、モデルのグレードアップがあったりしても、一定のアドレスを保持でき、製造時に表示されたアドレスを書き換えなくてよい。
【0031】
例えば、図1の記憶手段11は、後述する図4のメモリ33に対応し、制御手段12は、インタフェース部31、34、および処理装置32に対応し、論理構成情報は、図7、8、9、10、11に示されたアドレス情報に対応する。
【0032】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本発明においては、ライブラリ装置のライブラリコントローラ1が、上位のホスト計算機のライブラリ管理ソフトウェアと連携することで、SCSI標準のMedium Changer Device のコマンドセットを解釈し、ライブラリ装置を制御する。したがって、ライブラリコントローラ1は、SCSIコントローラとしての役割を果たす。また、Medium Changer Device として利用可能なセルアドレスを増やすために、ライブラリ装置をSCSI−2の1つの論理ユニットとして扱わず、複数の論理ユニットとみなして論理的に分割する。
【0033】
以下の実施形態においては、一例として、ライブラリ装置を構成するフレーム単位でSCSIの論理ユニット番号(Logical Unit Number :LUN)を割り付ける。これにより、各フレーム毎に2バイトのセルアドレスを定義することが可能になり、全体として2バイトを越えるセルアドレスを有する大型ライブラリ装置に対処することが可能になる。
【0034】
ホスト計算機は、その配下にある複数の論理ユニット(フレーム)に連携動作を指示する1つ以上のコマンドをライブラリコントローラ1に発行し、結果として1台のライブラリ装置を制御する。異なる論理ユニット間の連携動作を可能にするために、各フレームに次のような仮想的セルを導入する。
【0035】
(a)すべてのフレームに媒体運搬装置が存在するように仮想する。つまり、ACC6を有するフレーム以外のフレームにも、アクセッサを表すセルを仮想する。
【0036】
(b)ライブラリ装置内で隣り合ったフレーム間を連結し、記録媒体を受け渡す機能を持つセルを仮想する。
(c)ライブラリ装置内で離れたフレーム間を連結し、記録媒体を受け渡す機能を持つセルを仮想する。
【0037】
(a)〜(c)において、セルを仮想するとは、実在しない機能を疑似的に表すセルアドレスを設定することを意味する。そして、ライブラリコントローラ1は、それぞれのLUNに対してホスト計算機から発行されるコマンドが、他のLUNと連携しなければならないような媒体移動コマンドかどうかを認識する。
【0038】
上記(a)〜(c)の仮想された特殊なセルに対するコマンドが発行された場合、ライブラリコントローラ1は、連携動作を完結させる一連のコマンドが発行され終わるまで、ライブラリコントローラ1内にコマンドを実行せずに保留しておく。
【0039】
図2は、ライブラリコントローラ1による複数の論理ユニットの制御処理のフローチャートである。処理が開始されると、ライブラリコントローラ1は、ホスト計算機からいずれかの論理ユニットに対する1つのコマンドを受け取る(ステップS1)。次に、受け取ったコマンドに仮想セルのアドレスが含まれているかどうかを判定し(ステップS2)、そのようなアドレスが含まれていれば、そのコマンドの情報を一時的に保存する(ステップS3)。
【0040】
次に、保存された一連のコマンド(1つ以上のコマンド)が実行可能かどうかを判定する(ステップS4)。これらのコマンドに含まれる仮想セルのアドレスが対応する組を成し、記録媒体の物理的な移動元と移動先が特定できれば、それらのコマンドは実行可能と判定される。一方、実在するユニットのアドレスのいずれにも対応づけられない仮想セルアドレスが残っていれば、それらのコマンドは実行不可能と判定される。
【0041】
一連のコマンドが実行不可能であれば、ホスト計算機から次のコマンドを受け取って(ステップS1)、ステップS2以降の処理を繰り返す。そして、一連のコマンドが実行可能であれば、それらのコマンドを複合的に解釈して、ライブラリ装置を動作させ(ステップS5)、処理を終了する。ステップS2において、コマンドに仮想セルのアドレスが含まれていない場合は、直ちにコマンドを実行し(ステップS5)、処理を終了する。
【0042】
このように、各フレームに適当な仮想セルを設けることで、1つのフレームをSCSIで制御可能な1つの論理ユニットとみなすことができる。したがって、ホスト計算機は、フレーム毎に媒体移動コマンドを発行することができる。また、ライブラリコントローラ1が、互いに関連する一連のコマンドをまとめて解釈・実行することで、仮想セルのアドレスを実在の機能に対応付け、論理分割されたライブラリ装置を制御することが可能になる。
【0043】
さらに、ホスト計算機は複数の論理ユニットを別々に管理しているので、フレーム単位でオフラインにする必要が生じた場合は、ライブラリ装置は、各LUN単位でNot Ready 状態をホストに通知することができる。
【0044】
図3は、実施形態における大型ライブラリ装置の制御システムの構成図である。図3のライブラリ装置22は、図37、38に示したライブラリ装置に対応し、SCSIのインタフェースを有するホスト計算機21からコマンドを受け取って動作する。
【0045】
ここでは、4つのフレームRAU、DAU0、TAU0、LAUに、それぞれLUN0、LUN1、LUN2、LUN3が割り当てられ、各フレームは独立した論理ユニットとして認識される。以下の記述においては、しばしば、各フレームの呼称としてそのLUNが用いられている。例えば、フレームRAUは単にLUN0と表記される。
【0046】
図3において、LUN0、LUN3のACC6は、SCSIの運搬エレメント(Transport Element :TR)として定義され、16進数のアドレス0000が割り当てられている。ここで、SCSIのエレメントとは、実在の一般セル7を含む、より広義のセルを意味する。
【0047】
また、CAS5は投入/排出エレメント(Import/Export Element :IE)として定義され、アドレス0001が割り当てられ、一般セル7は媒体格納エレメント(Storage Element :ST)として定義され、アドレス0002〜00FFが割り当てられている。
【0048】
また、LUN1のDEE2および一般セル7は、ともに媒体格納エレメントとして定義され、それぞれ、アドレス0000〜F000およびF001〜FF00が割り当てられている。
【0049】
また、LUN2の8つのMTU4は、それぞれデータ転送エレメント(Data Transfer Element :DT)として定義され、アドレス0000〜0007が割り当てられている。さらに、LUN2の一般セル7は媒体格納エレメントとして定義され、アドレス0008〜1000が割り当てられている。
【0050】
図4は、図3のライブラリコントローラ1の構成図である。ライブラリコントローラ1は、SCSIの入出力インタフェース部(I/O)31、処理装置32、メモリ33、および各フレームとの間の入出力インタフェース部(I/O)34を備える。これらの構成要素はバス35により接続されている。
【0051】
インタフェース部31は、ホスト計算機21からコマンドを受け取り、ホスト計算機21に応答を返す。メモリ33は、データやプログラムを格納するROM(read only memory)と、処理に利用されるRAM(random access memory)を含む。
【0052】
処理装置32は、メモリ33に格納されたデータを用いて、メモリ33に格納されたプログラムを実行し、それによりコマンドを解釈して各フレームに動作を指示する。インタフェース部34は、処理装置32からの指示に基づく制御信号を各フレームに送る。こうして、ライブラリコントローラ1は、ホスト計算機21から与えられたコマンドを実行し、ライブラリ装置22を動作させる。
【0053】
図5は、ライブラリコントローラ1が受け取るSCSIの媒体移動コマンド(Medium Changer Command:MOVEコマンド)のデータ構成を示している。図5のMOVEコマンドにおいて、CDB0は、媒体移動に対応するオペレーションコードを表し、CDB1は、コマンドの発行対象となる論理ユニットのLUNを表す。
【0054】
また、CDB2、CDB3は、論理ユニット内の運搬エレメントのアドレスを表し、CDB4、CDB5は、移動元エレメント(Source Element)のアドレスを表し、CDB6、CDB7は、移動先エレメント(Destination Element )のアドレスを表す。これらのアドレスはそれぞれ2バイトで指定される。
【0055】
このように、SCSIのMOVEコマンドでは、指定された1つの論理ユニット内のエレメント間でのみ、記録媒体の移動を指示することができる。しかしながら、異なる論理ユニット間での移動を直接指示することはできない。また、図3のライブラリ装置22では、LUN1、LUN2にアクセッサがなく、運搬エレメントが定義されていないので、このままでは、これらの論理ユニットに対するMOVEコマンドを発行することができない。
【0056】
そこで、ホスト計算機21は、図6に示すように、適当な運搬エレメント、投入/排出エレメント、データ転送エレメントを仮想し、それらの仮想エレメントのアドレスを用いて、MOVEコマンドを発行する。
【0057】
図6においては、ACC6とCAS5を持たないLUN1とLUN2に運搬エレメント41と投入/排出エレメント42が仮想されている。運搬エレメント41、投入/排出エレメント42は、それぞれ、実在のACC6、CAS5に対応付けられる。
【0058】
そして、LUN1の運搬エレメント41、投入/排出エレメント42には、それぞれ、アドレス1004、1005が割り当てられ、LUN2の運搬エレメント41、投入/排出エレメント42には、それぞれ、アドレスFF04、FF05が割り当てられている。
【0059】
このように、運搬エレメント41を仮想することで、ホスト計算機21は、LUN1とLUN2に対するMOVEコマンドの運搬エレメントアドレス(CDB2&CDB3)を埋めることが可能になり、これらのフレームに対するMOVEコマンドを発行できるようになる。
【0060】
また、投入/排出エレメント42を仮想することで、ホスト計算機21は、LUN1とLUN2に対するMOVEコマンドの移動元エレメントアドレス(CDB4&CDB5)または移動先エレメントアドレス(CDB6&CDB7)として、他のフレームに存在するCAS5に対応付けられたアドレスを用いることが可能になる。これにより、LUN1とLUN2に対して、CAS5との間での記録媒体の移動を直接指示することができる。
【0061】
また、MTU4を持たないLUN0、LUN1、LUN3には、LUN2の8つのMTU4にそれぞれ対応する8つのデータ転送エレメント43が仮想されている。LUN0とLUN3のデータ転送エレメント43には、アドレス0103〜010Aが割り当てられ、LUN1のデータ転送エレメント43には、アドレスFF06〜FF0Dが割り当てられている。
【0062】
このように、データ転送エレメント43を仮想することで、ホスト計算機21は、LUN0、LUN1、LUN3に対するMOVEコマンドの移動元エレメントアドレスまたは移動先エレメントアドレスとして、LUN2に存在するMTU4に対応付けられたアドレスを用いることが可能になる。これにより、LUN0、LUN1、LUN3に対して、MTU4との間での記録媒体の移動を直接指示することができる。
【0063】
さらに、任意のフレーム同士で記録媒体の投入/排出を可能にするために、すべてのフレームに投入/排出エレメント44を仮想している。LUN0の3つの投入/排出エレメント44には、それぞれアドレス0100、0101、0102が割り当てられ、LUN1の3つの投入/排出エレメント44には、それぞれアドレスFF01、FF02、FF03が割り当てられている。
【0064】
また、LUN2の3つの投入/排出エレメント44には、それぞれアドレス1001、1002、1003が割り当てられ、LUN3の3つの投入/排出エレメント44には、それぞれアドレス0100、0101、0102が割り当てられている。
【0065】
これらの投入/排出エレメント44のうち、LUN0のアドレス0100の投入/排出エレメント44とLUN1のアドレスFF01の投入/排出エレメント44は互いに対応しており、これらの間で記録媒体の受け渡しが仮想される。
【0066】
したがって、ホスト計算機21は、これらの投入/排出エレメント44のアドレスをMOVEコマンドの移動元エレメントアドレスまたは移動先エレメントアドレスとして用いることで、LUN0とLUN1の間における記録媒体の移動を指示することが可能になる。
【0067】
同様に、LUN0のアドレス0101の投入/排出エレメント44とLUN2のアドレス1003の投入/排出エレメント44が互いに対応し、LUN0のアドレス0102の投入/排出エレメント44とLUN3のアドレス0102の投入/排出エレメント44が互いに対応する。
【0068】
また、LUN1のアドレスFF02の投入/排出エレメント44とLUN2のアドレス1001の投入/排出エレメント44が互いに対応し、LUN1のアドレスFF03の投入/排出エレメント44とLUN3のアドレス0101の投入/排出エレメント44が互いに対応し、LUN2のアドレス1002の投入/排出エレメント44とLUN3のアドレス0100の投入/排出エレメント44が互いに対応する。
【0069】
このように、投入/排出エレメント44を仮想することで、ホスト計算機21は、MOVEコマンドの移動元エレメントアドレスまたは移動先エレメントアドレスとして、他のフレームに対応するアドレスを用いることが可能になる。これにより、任意のフレーム間における記録媒体の移動を指示することができる。
【0070】
図6に示した実在および仮想の各エレメントのアドレスを一覧表にすると、図7から図10に示すようになる。図7、8、9、10は、それぞれ、LUN0、LUN1、LUN2、LUN3のエレメントのアドレスを示している。
【0071】
これらの図において、実在機能の欄は、図6に実線で示した実在エレメントを表し、仮想エレメントの欄は、図6に破線で示した仮想エレメントを表す。例えば、図7のImport/Export (RAU−DAU0)という表記は、RAUとDAU0間で記録媒体を仮想的に受け渡しする投入/排出エレメント44であることを表している。また、エレメントアドレスの欄の(h)は、アドレスが16進数で記述されていることを表す。
【0072】
また、記号“*”の記された仮想エレメントは、隣接する2つのフレーム間で記録媒体を仮想的に受け渡しする投入/排出エレメント44に対応し、記号“**”の記された仮想エレメントは、離れた位置にある2つのフレーム間で記録媒体を仮想的に受け渡しする投入/排出エレメント44に対応する。
【0073】
また、記号“***”の記された仮想エレメントは、運搬エレメント41に対応し、記号“****”の記された仮想エレメントは、投入/排出エレメント42に対応し、記号“*****”の記された仮想エレメントは、データ転送エレメント43に対応する。
【0074】
LUN0、LUN1、LUN3のデータ転送エレメント43は、LUN2のMTU4のアドレスと1対1に対応し、それらの対応関係は図11のアドレス対応表のようになる。図11において、MTU(i)(i=0,1,...,7)は、それぞれ、図3のアドレス0000〜0007の各MTU4に対応する。
【0075】
ホスト計算機21およびライブラリコントローラ1は、図7から図11に示したようなLUNおよびアドレスの情報の一部または全部を、管理情報として保持しており、その情報を参照しながらライブラリ装置22を制御する。
【0076】
上述のように、本実施形態では、実在する運搬エレメント、データ転送エレメント、および投入/排出エレメントの数が媒体格納エレメントの数に比べて非常に少ないという大型ライブラリ装置の特徴を利用し、各フレームをSCSIの論理ユニットとしてライブラリ装置22の全体を分割している。
【0077】
そして、各論理ユニット間での記録媒体の受け渡しのために、運搬エレメント41、投入/排出エレメント42、44、およびデータ転送エレメント43を仮想することにより、分割された大型ライブラリ装置22を制御している。以下では、その制御方法について詳細に説明する。まず、ライブラリ装置22の一般的な動作概要は次の通りである。
【0078】
[1]アプリケーションによる指示:
ホスト計算機21上で実行されているアプリケーション・プログラムが、記録媒体のボリューム名を指示して、ライブラリ装置22の動作内容をホスト計算機21上のライブラリ管理ソフトウェアに通知する。ボリューム名は、例えば6文字のアルファベット/数字で記述される。動作内容としては、MTU4にマウントする動作や、DEE2やCAS5からライブラリ装置22の外に排出する動作等がある。
【0079】
ライブラリ装置22内での移動を伴う動作の通知では、移動先エレメントアドレスを明示的に通知する場合と、ライブラリ管理ソフトウェアによるアドレスのの自動割振り機能を利用するために、移動先エレメントアドレスを明示しない場合とがある。
【0080】
[2]ライブラリ管理ソフトウェアの処理:
ライブラリ管理ソフトウェアは、通知されたボリューム名から、ライブラリ装置22内のどの位置(エレメントアドレス)に対象となる記録媒体が格納されているかを割り出す。また、ライブラリ管理ソフトウェアは、アプリケーション・プログラムから通知された動作内容に従って、記録媒体を移動する先のエレメントアドレスを決定する。ただし、動作内容によっては、記録媒体の移動を伴わない場合もある。
【0081】
[3]コマンドの発行:
ライブラリ管理ソフトウェアは、ホスト計算機21とライブラリコントローラ1との間のインタフェースを介して、記録媒体の操作を行う適切なコマンドを発行する。
【0082】
[4]ライブラリコントローラの処理:
ライブラリコントローラ1は、ホスト計算機21から受け取ったコマンドに従って、記録媒体を操作する。
【0083】
次に、本発明におけるライブラリ装置22の動作例を説明する。まず、第1の動作例として、フレームDAU0のDEE2のアドレス1000にあるボリューム‘XXXXXX’の記録媒体を、フレームTAU0のアドレス0001のMTU4にマウントする場合を想定する。この場合の動作を、上記動作概要に沿って説明すると次のようになる。
【0084】
[1]アプリケーションによる指示:
アプリケーション・プログラムは、ボリューム‘XXXXXX’をMTU4にマウントするように、ライブラリ管理ソフトウェアに通知する。このとき、移動先エレメントアドレスは明示されないものとする。
【0085】
[2]ライブラリ管理ソフトウェアの動作:
ライブラリ管理ソフトウェアは、ボリューム‘XXXXXX’がLUN1のアドレス1000に格納されていることを検索して、空いているMTU4を探し、例えばTAU0のアドレス0001にマウントすることを決定する。
【0086】
ボリューム名からそのエレメントアドレスを検索する1つの方法としては、ライブラリ管理ソフトウェアが独自に媒体情報を管理しているデータベースを持ち、そこから検索する方法がある。もう1つの方法としては、ライブラリコントローラ1が記録媒体のボリューム情報とエレメントアドレスを関連付けている情報を持ち、ライブラリ管理ソフトウェアがライブラリコントローラ1に情報収集のコマンドを発行して、検索させる方法がある。一般には、前者の方法が採用されることが多い。
【0087】
[3]コマンドの発行:
ライブラリ管理ソフトウェアは、まず、LUN1に対するMOVEコマンドをライブラリコントローラ1に発行する。このコマンドにより、DAU0のアドレス1000にある記録媒体を、アドレスFF04の仮想された運搬エレメント41を利用して、アドレスFF02にあるDAU0からTAU0への仮想された投入/排出エレメント44に移動させる動作が指示される。
【0088】
次に、ライブラリ管理ソフトウェアは、LUN2に対するMOVEコマンドを発行する。このコマンドにより、TAU0のアドレス1001の仮想された投入/排出エレメント44にある記録媒体を、アドレス1004の運搬エレメント41を利用して、アドレス0001のMTU4に移動させる動作が指示される。
【0089】
[4]ライブラリコントローラの動作:
ライブラリコントローラ1は、最初のMOVEコマンドを受領すると、DAU0のアドレス1000にある記録媒体をアドレスFF02の投入/排出エレメント44に移動させたものと仮定する。そして、2番目のMOVEコマンドを受領すると、ライブラリ装置22を実際に動かして、記録媒体を移動させる。このとき、RAUまたはLAUにあるACC6を動作させて、DAU0のアドレス1000にある記録媒体をTAU0のアドレス0001のMTU4にマウントする。
【0090】
上記[1]〜[4]に示した第1の動作例においては、仮想された運搬エレメント41と投入/排出エレメント44を利用して、隣り合う論理ユニット間での記録媒体の移動を実現している。
【0091】
また、ライブラリ管理ソフトウェアは、ライブラリ装置22が論理的に分割されていることを意識して、記録媒体の操作に必要な複数の連携したコマンドをライブラリコントローラ1に発行し、ホスト計算機21上のアプリケーションによる媒体操作を可能にしている。そして、ライブラリコントローラ1は、受け取った複数のコマンドを連携させて処理することで、分割されたライブラリ装置22を制御している。
【0092】
さらに、隣り合う論理ユニット間の記録媒体の移動ではなく、離れた位置にある論理ユニット間の記録媒体の移動に際しては、複数のコマンドを連携させて、隣り合う論理ユニットに順番に記録媒体を受け渡していき、最終的に離れた論理ユニットに移動させることができる。
【0093】
あるいはまた、離れた論理ユニット間を直接結びつける投入/排出エレメント44を利用することで、直接的に移動を指示することも可能である。後者の方が、前者に比べてコマンドの数が削減されるので、より効果的である。
【0094】
次に、第2の動作例として、フレームRAUのアドレス0002にあるボリューム‘YYYYYY’をフレームTAU0のアドレス0001のMTU4にマウントする場合を想定する。この場合の動作を、上記動作概要に沿って説明すると次のようになる。
【0095】
[1]アプリケーションによる指示:
アプリケーション・プログラムは、ボリューム‘YYYYYY’をMTU4にマウントするようにライブラリ管理ソフトウェアに通知する。このとき、移動先エレメントアドレスは明示されないものとする。
【0096】
[2]ライブラリ管理ソフトウェアの動作:
ライブラリ管理ソフトウェアは、ボリューム‘YYYYYY’がLUN0のアドレス0002に格納されていることを検索して、空いているMTU4を探し、TAU0のアドレス0001のMTU4にマウントすることを決定する。この場合の検索方法も、上述の第1の動作例と同様である。
【0097】
[3]コマンドの発行:
ライブラリ管理ソフトウェアは、LUN0に対するMOVEコマンドをライブラリコントローラ1に発行する。このコマンドにより、RAUのアドレス0002にある記録媒体を、アドレス0000の運搬エレメント(ACC)6を利用して、アドレス0104の仮想されたデータ転送エレメント43に移動させる動作が指示される。
【0098】
[4]ライブラリコントローラの動作:
ライブラリコントローラ1は、上記MOVEコマンドを受領すると、図11のアドレス対応表を参照して、アドレス0104のデータ転送エレメント43がLUN2(TAU0)のアドレス0001にあるMTU4に対応することを確認する。そして、RAUのACC6を動作させて、RAUのアドレス0002にある記録媒体をTAU0のアドレス0001のMTU4にマウントする。
【0099】
上記[1]〜[4]に示した第2の動作例においては、仮想されたデータ転送エレメント43を利用することで、MTU4を持たない論理ユニットからMTU4を持つ論理ユニットへの記録媒体の移動を、1つのコマンドで実現している。また、特定のMTU4が使用中の時は、対応する各データ転送エレメント43にも使用中のフラグを立てることで、空いているデータ転送エレメント43を容易に探し出すことが可能になる。
【0100】
同様にして、CAS5を持たない論理ユニットに投入/排出エレメント42を仮想することで、その論理ユニットとCAS5を持つ論理ユニットとの間の記録媒体の移動を実現することが可能になる。例えば、第2の動作例におけるRAUの一般セル7からTAU0のMTU4への記録媒体の移動を、DAU0のDEE2からRAU(あるいはLAU)のCAS5への記録媒体の移動に置き換えれば、このような動作を説明することができる。
そこで、第3の動作例として、フレームDAU0のアドレス0000にあるボリューム‘ZZZZZZ’をCAS5から排出する場合を想定する。この場合の動作を、上記動作概要に沿って説明すると次のようになる。
【0101】
[1]アプリケーションによる指示:
アプリケーション・プログラムは、ボリューム‘ZZZZZZ’をCAS5に移動させるようにライブラリ管理ソフトウェアに通知する。このとき、移動先エレメントアドレスは明示されないものとする。
【0102】
[2]ライブラリ管理ソフトウェアの動作:
ライブラリ管理ソフトウェアは、ボリューム‘ZZZZZZ’がDAU0のアドレス0000に格納されていることを検索して、空いているCAS5を探し、RAUのアドレス0001のCAS5に移動させることを決定する。この場合の検索方法も、上述の第1の動作例と同様である。
【0103】
[3]コマンドの発行:
ライブラリ管理ソフトウェアは、LUN1に対するMOVEコマンドをライブラリコントローラ1に発行する。このコマンドにより、DAU0のアドレス0000にある記録媒体を、アドレスFF04の仮想された運搬エレメント41を利用して、アドレスFF05の仮想された投入/排出エレメント42に移動させる動作が指示される。
【0104】
[4]ライブラリコントローラの動作:
ライブラリコントローラ1は、上記MOVEコマンドを受領すると、LUN1のアドレスFF05の投入/排出エレメント42がRAUのアドレス0001のCAS5に対応することを確認する。そして、RAUのACC6を動作させて、DAU0のアドレス0000にある記録媒体をRAUのCAS5に移動させる。
【0105】
次に、第4の動作例として、フレームDAU0のDEE2を利用した、オペレータ(作業員)による記録媒体の投入/排出動作を説明する。この場合の動作は次のようになる。
【0106】
[1]オペレータが、DEE2上に設けられたスイッチ等を操作して、DAU0のオフラインを指示する。
[2]ライブラリコントローラ1は、DAU0がオフラインを指示されたことを検出すると、LUN1をNot Ready 状態に移行させ、オフラインの間はDAU0がホスト計算機21からのコマンドを実行できないようにする。しかし、他のフレームRAU、TAU0、LAUはReady 状態であり、動作可能である。
【0107】
[3]ライブラリコントローラ1がオフラインを許可したことにより、DEE2の扉3の開閉が可能になる。オペレータは、扉3を開いて、記録媒体の大量投入/排出の作業を行う。
【0108】
[4]オペレータがスイッチ等により作業の終了を知らせると、ライブラリコントローラ1は、LUN1をReady 状態に移行させる。
第4の動作例では、各論理ユニット単位でオンライン/オフラインの制御が行えるため、SCSIのインタフェース上で、特定の論理ユニットが明確に利用不可能な状態にあることを示すことができる。したがって、ライブラリ装置22の活性保守や一部分だけをオフラインにした分割保守を実現することが可能になる。
【0109】
さらに、本実施形態では、ライブラリ装置22のセルの増設をフレーム単位で行う場合、ライブラリコントローラ1は、既存のフレームのLUNを固定したまま、増設したフレームのLUNを新たに管理情報に加えればよい。このため、一義的な装置アドレスを振り直す必要はない。
【0110】
例えば、DAU0と同一構成のフレームDAU1を増設する場合は、それを新たにLUN4として定義して、既存の各LUNと連携する仮想エレメントを追加することにより、同様の制御が可能となる。このとき、実在するエレメントのアドレスは、ホスト計算機21のライブラリ管理ソフトウェアにとって変化していない。したがって、フレームの増設時における既存アドレスの再設定を行う必要がない。
【0111】
また、各フレームを独立した論理ユニットとみなして制御することにより、ライブラリ装置22の中でフレームがどこに設置されてもよいことになるので、製造時にフレーム内で定義されるエレメントアドレスを表示することが可能である。このフレーム内アドレスの表示は、モデルが異なっても変更する必要がなく、またフレームが増設されても変更する必要がない。
【0112】
次に、図12から図36までを参照しながら、ライブラリコントローラ1による制御処理プログラムの一例を詳細に説明する。図12は、仮想された投入/排出エレメント44の制御のための制御データを格納するテーブルを示している。このテーブルはライブラリコントローラ1のメモリ33に保持される。
【0113】
図12のテーブルにおいては、互いに対応する2つの投入/排出エレメント44が1組として管理される。例えば、1番目の制御データ‘RAU−DAU0’は、RAUとDAU0の間の記録媒体の移動に関し、RAU(LUN0)のアドレス0100の投入/排出エレメント44と、DAU0(LUN1)のアドレスFF01の投入/排出エレメント44とを1組とみなして制御するために用いられる。
【0114】
ホスト計算機21がこれらの投入/排出エレメント44のアドレスのうち一方を移動先として含むMOVEコマンドを発行すると、ライブラリコントローラ1は、制御データ‘RAU−DAU0’のビット19のフラグをセットする。そして、ビット18−0に、そのコマンドのLUN(3ビット)と移動元エレメントアドレス(16ビット)を書き込む。これにより、ライブラリコントローラ1は、RAUとDAU0の間で記録媒体を移動する指示が行われたことを認識する。
【0115】
そして、対応するもう一方のアドレスを移動元として含むMOVEコマンドを受け取ったとき、ライブラリコントローラ1はその制御データのフラグをリセットする。そして、制御データに書き込まれたLUNとアドレス、および、そのコマンドのLUNと移動先エレメントアドレスを用いて、実際の動作をライブラリ装置22に指示する。ライブラリコントローラ1は、例えばフラグに値‘1’を書き込むことでフラグをセットし、値‘0’を書き込むことでフラグをリセットする。
【0116】
同様にして、2番目の制御データ‘RAU−TAU0’は、RAUのアドレス0101の投入/排出エレメント44と、TAU0(LUN2)のアドレス1003の投入/排出エレメント44との組を管理し、3番目の制御データ‘RAU−LAU’は、RAUのアドレス0102の投入/排出エレメント44と、LAU(LUN3)のアドレス0102の投入/排出エレメント44との組を管理する。
【0117】
また、4番目の制御データ‘DAU0−TAU0’は、DAU0のアドレスFF02の投入/排出エレメント44と、TAU0のアドレス1001の投入/排出エレメント44との組を管理し、5番目の制御データ‘DAU0−LAU’は、DAU0のアドレスFF03の投入/排出エレメント44と、LAUのアドレス0101の投入/排出エレメント44との組を管理する。
【0118】
また、6番目の制御データ‘TAU0−LAU’は、TAU0のアドレス1002の投入/排出エレメント44と、LAUのアドレス0100の投入/排出エレメント44との組を管理する。
【0119】
図13は、ライブラリコントローラ1の全体処理のフローチャートである。処理が開始され、ホスト計算機21から1つのSCSIコマンドを受け取ると(ステップS11)、ライブラリコントローラ1は、まずコマンドに書かれたLUNが0かどうかを判定する(ステップS12)。LUNが0であれば、次に、LUN0がReady 状態かどうかを確認する(ステップS13)。
【0120】
LUN0がReady 状態であれば、LUN0の処理を行って(ステップS15)、そのコマンドを終了し(ステップS27)、LUN0がReady 状態でなければ、ホスト計算機21に対してNot Ready 応答を返して(ステップS14)、そのコマンドを終了する(ステップS27)。
【0121】
コマンドのLUNが0でなければ、次に、LUNが1かどうかを判定する(ステップS16)。LUNが1であれば、次に、LUN1がReady 状態かどうかを確認する(ステップS17)。LUN1がReady 状態であれば、LUN1の処理を行って(ステップS18)、コマンドを終了し(ステップS27)、LUN1がReady 状態でなければ、Not Ready 応答を返して(ステップS14)、コマンドを終了する(ステップS27)。
【0122】
コマンドのLUNが1でなければ、次に、LUNが2かどうかを判定する(ステップS19)。LUNが2であれば、次に、LUN2がReady 状態かどうかを確認する(ステップS20)。LUN2がReady 状態であれば、LUN2の処理を行って(ステップS21)、コマンドを終了し(ステップS27)、LUN2がReady 状態でなければ、Not Ready 応答を返して(ステップS14)、コマンドを終了する(ステップS27)。
【0123】
コマンドのLUNが2でなければ、次に、LUNが3かどうかを判定する(ステップS22)。LUNが3であれば、次に、LUN3がReady 状態かどうかを確認する(ステップS23)。LUN3がReady 状態であれば、LUN3の処理を行って(ステップS24)、コマンドを終了し(ステップS27)、LUN3がReady 状態でなければ、Not Ready 応答を返して(ステップS14)、コマンドを終了する(ステップS27)。
【0124】
コマンドのLUNが3でもなければ、対応する論理ユニットが存在しないので、エラー処理を行う(ステップS25)。エラー処理において、ライブラリコントローラ1は、例えばホスト計算機21にエラーを通知する。そして、エラー回復処理を行った後(ステップS26)、コマンドを終了する(ステップS27)。1つのコマンドが終了すると、ライブラリコントローラ1は、次のコマンドをホスト計算機21から受け取って、同様の処理を行う。
【0125】
図14から図16までは、ステップS15におけるLUN0の処理のフローチャートであり、図17から図26までは、ステップS18におけるLUN1の処理のフローチャートである。また、図27から図33までは、ステップS21におけるLUN2の処理のフローチャートであり、図34から図36までは、ステップS24におけるLUN3の処理のフローチャートである。
【0126】
まず、LUN0の処理について説明する。処理が開始されると、ライブラリコントローラ1は、まずコマンドの移動元エレメントアドレスが0100より小さいかどうかを判定する(図14、ステップS31)。移動元エレメントアドレスが0100より小さければ、次に、移動先エレメントアドレスが0100より小さいかどうかを判定する(ステップS32)。そして、移動先エレメントアドレスが0100より小さければ、そのコマンドはRAU内で閉じているので、RAU内で記録媒体を移動させ(ステップS33)、処理を終了する。
【0127】
ステップS32において、移動先エレメントアドレスが0100以上であれば、次に、それが0100かどうかを判定する(ステップS34)。移動先エレメントアドレスが0100であれば、このコマンドはRAUからDAU0への記録媒体の移動を表す。そこで、コマンドのLUNと移動元エレメントアドレスとを制御データ‘RAU−DAU0’に格納し(ステップS35)、そのフラグをセットして(ステップS36)、処理を終了する。
【0128】
ステップS34において、移動先エレメントアドレスが0100でなければ、次に、それを0101と比較する(ステップS37)。移動先エレメントアドレスが0101であれば、このコマンドはRAUからTAU0への記録媒体の移動を表す。そこで、コマンドのLUNと移動元エレメントアドレスとを制御データ‘RAU−TAU0’に格納し(ステップS38)、そのフラグをセットして(ステップS39)、処理を終了する。
【0129】
ステップS37において、移動先エレメントアドレスが0101でなければ、次に、それを0102と比較する(ステップS40)。移動先エレメントアドレスが0102であれば、このコマンドはRAUからLAUへの記録媒体の移動を表す。そこで、コマンドのLUNと移動元エレメントアドレスとを制御データ‘RAU−LAU’に格納し(ステップS41)、そのフラグをセットして(ステップS42)、処理を終了する。
【0130】
ステップS40において、移動先エレメントアドレスが0102でなければ、次に、それが0103以上かつ010A以下であるかどうかを判定する(ステップS43)。移動先エレメントアドレスがこの範囲の場合は、移動先はTAU0のMTU4に対応する。そこで、図11のアドレス対応表を参照して、RAUからTAU0のMTU4へ記録媒体を移動させ(ステップS44)、処理を終了する。
【0131】
ステップS43において、移動先エレメントアドレスが0103より小さいか、または010Aより大きい場合は、対応するアドレスがRAU内に存在しないことになる。そこで、ステップS25と同様のエラー処理を行い(図16、ステップS67)、エラー回復処理を行って(ステップS68)、処理を終了する。
【0132】
また、ステップS31において、移動元エレメントアドレスが0100以上であれば、次に、それが0100かどうかを判定する(図15、ステップS51)。そして、移動元エレメントアドレスが0100であれば、次に、移動先エレメントアドレスを0100と比較する(ステップS52)。移動先エレメントアドレスが0100より小さければ、次に、制御データ‘RAU−DAU0’のフラグがセットされているかどうかを確認する(ステップS53)。
【0133】
そのフラグがセットされていれば、このコマンドはDAU0からRAUへの記録媒体の移動を表すことが分かる。そこで、制御データ‘RAU−DAU0’のフラグをリセットし(ステップS54)、その制御データに格納されたLUNの移動元エレメントアドレスからRAU内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS55)、処理を終了する。
【0134】
また、ステップS52において移動先エレメントアドレスが0100以上である場合、および、ステップS53においてフラグがセットされていない場合は、図16のステップS67以降の処理を行う。
【0135】
ステップS51において、移動元エレメントアドレスが0100でなければ、次に、それを0101と比較する(ステップS56)。そして、移動元エレメントアドレスが0101であれば、次に、移動先エレメントアドレスを0100と比較する(ステップS57)。移動先エレメントアドレスが0100より小さければ、次に、制御データ‘RAU−TAU0’のフラグがセットされているかどうかを確認する(ステップS58)。
【0136】
そのフラグがセットされていれば、このコマンドはTAU0からRAUへの記録媒体の移動を表すことが分かる。そこで、制御データ‘RAU−TAU0’のフラグをリセットし(ステップS59)、その制御データに格納されたLUNの移動元エレメントアドレスからRAU内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS55)、処理を終了する。
【0137】
また、ステップS57において移動先エレメントアドレスが0100以上である場合、および、ステップS58においてフラグがセットされていない場合は、図16のステップS67以降の処理を行う。
【0138】
ステップS56において、移動元エレメントアドレスが0101でなければ、次に、それを0102と比較する(図16、ステップS61)。そして、移動元エレメントアドレスが0102であれば、次に、移動先エレメントアドレスを0100と比較する(ステップS62)。移動先エレメントアドレスが0100より小さければ、次に、制御データ‘RAU−LAU’のフラグがセットされているかどうかを確認する(ステップS63)。
【0139】
そのフラグがセットされていれば、このコマンドはLAUからRAUへの記録媒体の移動を表すことが分かる。そこで、制御データ‘RAU−LAU’のフラグをリセットし(ステップS69)、その制御データに格納されたLUNの移動元エレメントアドレスからRAU内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS55)、処理を終了する。
【0140】
また、ステップS62において移動先エレメントアドレスが0100以上である場合、および、ステップS63においてフラグがセットされていない場合は、ステップS67以降の処理を行う。
【0141】
ステップS61において、移動元エレメントアドレスが0102でなければ、次に、それが0103以上かつ010A以下であるかどうかを判定する(ステップS64)。移動元エレメントアドレスがこの範囲の場合は、移動元はTAU0のMTU4に対応する。
【0142】
そこで、次に、移動先エレメントアドレスを0100と比較する(ステップS65)。移動先エレメントアドレスが0100より小さければ、図11のアドレス対応表を参照して、TAU0のMTU4からRAUへ記録媒体を移動させ(ステップS66)、処理を終了する。ステップS65において、移動先エレメントアドレスが0100以上である場合は、ステップS67以降の処理を行う。
【0143】
ステップS64において、移動元エレメントアドレスが0103より小さいか、または010Aより大きい場合は、対応するアドレスがRAU内に存在しないことになるので、ステップS67以降の処理を行う。
【0144】
次に、LUN1の処理について説明する。処理が開始されると、ライブラリコントローラ1は、まずコマンドの移動元エレメントアドレスがFF00以下かどうかを判定する(図17、ステップS71)。移動元エレメントアドレスがFF00以下であれば、図18のステップS81以降の処理を行い、それがFF00より大きければ、次に、それをFF01と比較する(ステップS72)。
【0145】
そして、移動元エレメントアドレスがFF01であれば、図19のステップS101以降の処理を行い、それがFF01でなければ、次に、それをFF02と比較する(ステップS73)。そして、移動元エレメントアドレスがFF02であれば、図21のステップS131以降の処理を行い、それがFF02でなければ、次に、それをFF03と比較する(ステップS74)。
【0146】
そして、移動元エレメントアドレスがFF03であれば、図23のステップS151以降の処理を行い、それがFF03でなければ、次に、それをFF05と比較する(ステップS75)。そして、移動元エレメントアドレスがFF05であれば、図25のステップS171以降の処理を行い、それがFF05でなければ、次に、それがFF06以上かつFF0D以下かどうかを判定する(ステップS76)。
【0147】
そして、移動元エレメントアドレスがその範囲内であれば、図26のステップS181以降の処理を行う。それがFF06より小さいか、またはFF0Dより大きい場合は、対応するアドレスがDAU0内に存在しないことになるので、LUN0の場合と同様のエラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0148】
ステップS71において、移動元エレメントアドレスがFF00以下であれば、次に、移動先エレメントアドレスがFF00以下かどうかを判定する(図18、ステップS81)。移動先エレメントアドレスがFF00以下であれば、そのコマンドはDAU0内で閉じているので、DAU0内で記録媒体を移動させ(ステップS82)、処理を終了する。
【0149】
ステップS81において、移動先エレメントアドレスがFF00より大きければ、次に、それがFF01かどうかを判定する(ステップS83)。移動先エレメントアドレスがFF01であれば、このコマンドはDAU0からRAUへの記録媒体の移動を表す。そこで、制御データ‘RAU−DAU0’のフラグをセットし(ステップS84)、コマンドのLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS85)、処理を終了する。
【0150】
ステップS83において、移動先エレメントアドレスがFF01でなければ、次に、それをFF02と比較する(ステップS86)。移動先エレメントアドレスがFF02であれば、このコマンドはDAU0からTAU0への記録媒体の移動を表す。そこで、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS87)、コマンドのLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS85)、処理を終了する。
【0151】
ステップS86において、移動先エレメントアドレスがFF02でなければ、次に、それをFF03と比較する(ステップS88)。移動先エレメントアドレスがFF03であれば、このコマンドはDAU0からLAUへの記録媒体の移動を表す。そこで、制御データ‘DAU0−LAU’のフラグをセットし(ステップS89)、コマンドのLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS85)、処理を終了する。
【0152】
ステップS88において、移動先エレメントアドレスがFF03でなければ、次に、それをFF05と比較する(ステップS90)。移動先エレメントアドレスがFF05であれば、移動先はRAUまたはLAUのCAS5に対応する。そこで、記録媒体をCAS5へ移動させ(ステップS91)、処理を終了する。
【0153】
このとき、RAUとLAUのいずれのCAS5を使用するかは、ライブラリコントローラ1の初期設定に依存する。例えば、ライブラリ装置22が特定のCAS5を使用するように、あらかじめユーザが設定しておき、そのCAS5に障害が発生した場合のみ、自動的にもう一方のCAS5を使用することが考えられる。
【0154】
また、どちらのCAS5でも構わない場合もある。その場合は、ライブラリコントローラ1が、RAUとLAUのいずれのACC6を使用すれば記録媒体の移動がより高速になるかを判断して、そのACC6を含むフレームのCAS5を使用する。
【0155】
ステップS90において、移動先エレメントアドレスがFF05でなければ、次に、それがFF06以上かつFF0D以下であるかどうかを判定する(ステップS92)。移動先エレメントアドレスがこの範囲の場合は、移動先はTAU0のMTU4に対応する。そこで、図11のアドレス対応表を参照して、DAU0からTAU0のMTU4へ記録媒体を移動させ(ステップS93)、処理を終了する。
【0156】
ステップS92において、移動先エレメントアドレスがFF06より小さいか、またはFF0Dより大きい場合は、対応するアドレスがDAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0157】
また、ステップS72において、移動元エレメントアドレスがFF01であれば、次に、制御データ‘RAU−DAU0’のフラグがセットされているかどうかを確認する(図19、ステップS101)。そのフラグがセットされていなければ、移動元フレームが不明なので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0158】
制御データ‘RAU−DAU0’のフラグがセットされていれば、次に、移動先エレメントアドレスがFF00以下かどうかを判定する(ステップS102)。移動先エレメントアドレスがFF00以下であれば、移動先はDAU0内のDEE2または一般セル7に対応する。
【0159】
そこで、制御データ‘RAU−DAU0’のフラグをリセットし(ステップS102′)、その制御データに格納されたLUNの移動元エレメントアドレスからDAU0内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS103)、処理を終了する。
【0160】
ステップS102において、移動先エレメントアドレスがFF00より大きければ、次に、それをFF01と比較する(ステップS104)。移動先エレメントアドレスがFF01であれば、これは移動元エレメントアドレスと同じなので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0161】
移動先エレメントアドレスがFF01でなければ、次に、それをFF02と比較する(ステップS105)。移動先エレメントアドレスがFF02であれば、このコマンドは、DAU0を経由するTAU0への記録媒体の移動を表す。
【0162】
そこで、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS106)、制御データ‘RAU−DAU0’のフラグをリセットする(ステップS107)。そして、制御データ‘RAU−DAU0’のLUNと移動元エレメントアドレスとを、制御データ‘DAU0−TAU0’にコピーして(ステップS108)、処理を終了する。
【0163】
ステップS105において、移動先エレメントアドレスがFF02でなければ、次に、それをFF03と比較する(ステップS109)。移動先エレメントアドレスがFF03であれば、このコマンドは、DAU0を経由するLAUへの記録媒体の移動を表す。
【0164】
そこで、制御データ‘DAU0−LAU’のフラグをセットし(ステップS110)、制御データ‘RAU−DAU0’のフラグをリセットする(ステップS111)。そして、制御データ‘RAU−DAU0’のLUNと移動元エレメントアドレスとを、制御データ‘DAU0−LAU’にコピーして(ステップS108)、処理を終了する。
【0165】
ステップS109において、移動先エレメントアドレスがFF03でなければ、次に、それをFF05と比較する(図20、ステップS121)。移動先エレメントアドレスがFF05であれば、このコマンドは、DAU0を経由するCAS5への記録媒体の移動を表す。
【0166】
そこで、制御データ‘RAU−DAU0’のフラグをリセットし(ステップS122)、その制御データのLUNの移動元エレメントアドレスからCAS5へ記録媒体を移動させて(ステップS123)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0167】
ステップS121において、移動先エレメントアドレスがFF05でなければ、次に、それがFF06以上かつFF0D以下であるかどうかを判定する(ステップS124)。移動先エレメントアドレスがこの範囲の場合は、このコマンドは、DAU0を経由するTAU0のMTU4への記録媒体の移動を表す。
【0168】
そこで、制御データ‘RAU−DAU0’のフラグをリセットし(ステップS125)、図11のアドレス対応表を参照して、その制御データのLUNの移動元エレメントアドレスからTAU0のMTU4へ記録媒体を移動させ(ステップS126)、処理を終了する。
【0169】
ステップS124において、移動先エレメントアドレスがFF06より小さいか、またはFF0Dより大きい場合は、対応するアドレスがDAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0170】
また、ステップS73において、移動元エレメントアドレスがFF02であれば、次に、制御データ‘DAU0−TAU0’のフラグがセットされているかどうかを確認する(図21、ステップS131)。そのフラグがセットされていなければ、移動元フレームが不明なので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0171】
制御データ‘DAU0−TAU0’のフラグがセットされていれば、次に、移動先エレメントアドレスがFF00以下かどうかを判定する(ステップS132)。移動先エレメントアドレスがFF00以下であれば、移動先はDAU0内のDEE2または一般セル7に対応する。
【0172】
そこで、制御データ‘DAU0−TAU0’のフラグをリセットし(ステップS132′)、その制御データに格納されたLUNの移動元エレメントアドレスからDAU0内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS103)、処理を終了する。
【0173】
ステップS132において、移動先エレメントアドレスがFF00より大きければ、次に、それをFF01と比較する(ステップS133)。移動先エレメントアドレスがFF01であれば、このコマンドは、DAU0を経由するRAUへの記録媒体の移動を表す。
【0174】
そこで、制御データ‘RAU−DAU0’のフラグをセットし(ステップS134)、制御データ‘DAU0−TAU0’のフラグをリセットする(ステップS135)。そして、制御データ‘DAU0−TAU0’のLUNと移動元エレメントアドレスとを、制御データ‘RAU−DAU0’にコピーして(ステップS108)、処理を終了する。
【0175】
ステップS133において、移動先エレメントアドレスがFF01でなければ、次に、それをFF02と比較する(ステップS136)。移動先エレメントアドレスがFF02であれば、これは移動元エレメントアドレスと同じなので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0176】
ステップS136において、移動先エレメントアドレスがFF02でなければ、次に、それをFF03と比較する(ステップS137)。移動先エレメントアドレスがFF03であれば、このコマンドは、DAU0を経由するLAUへの記録媒体の移動を表す。
【0177】
そこで、制御データ‘DAU0−LAU’のフラグをセットし(ステップS138)、制御データ‘DAU0−TAU0’のフラグをリセットする(ステップS139)。そして、制御データ‘DAU0−TAU0’のLUNと移動元エレメントアドレスとを、制御データ‘DAU0−LAU’にコピーして(ステップS108)、処理を終了する。
【0178】
ステップS137において、移動先エレメントアドレスがFF03でなければ、次に、それをFF05と比較する(図22、ステップS141)。移動先エレメントアドレスがFF05であれば、このコマンドは、DAU0を経由するCAS5への記録媒体の移動を表す。
【0179】
そこで、制御データ‘DAU0−TAU0’のフラグをリセットし(ステップS142)、その制御データのLUNの移動元エレメントアドレスからCAS5へ記録媒体を移動させて(ステップS143)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0180】
ステップS141において、移動先エレメントアドレスがFF05でなければ、次に、それがFF06以上かつFF0D以下であるかどうかを判定する(ステップS144)。移動先エレメントアドレスがこの範囲の場合は、このコマンドは、DAU0を経由するTAU0のMTU4への記録媒体の移動を表す。
【0181】
そこで、制御データ‘DAU0−TAU0’のフラグをリセットし(ステップS145)、図11のアドレス対応表を参照して、その制御データのLUNの移動元エレメントアドレスからTAU0のMTU4へ記録媒体を移動させ(ステップS146)、処理を終了する。
【0182】
ステップS144において、移動先エレメントアドレスがFF06より小さいか、またはFF0Dより大きい場合は、対応するアドレスがDAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0183】
また、ステップS74において、移動元エレメントアドレスがFF03であれば、次に、制御データ‘DAU0−LAU’のフラグがセットされているかどうかを確認する(図23、ステップS151)。そのフラグがセットされていなければ、移動元フレームが不明なので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0184】
制御データ‘DAU0−LAU’のフラグがセットされていれば、次に、移動先エレメントアドレスがFF00以下かどうかを判定する(ステップS152)。移動先エレメントアドレスがFF00以下であれば、移動先はDAU0内のDEE2または一般セル7に対応する。
【0185】
そこで、制御データ‘DAU0−LAU’のフラグをリセットし(ステップS152′)、その制御データに格納されたLUNの移動元エレメントアドレスからDAU0内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS103)、処理を終了する。
【0186】
ステップS152において、移動先エレメントアドレスがFF00より大きければ、次に、それをFF01と比較する(ステップS153)。移動先エレメントアドレスがFF01であれば、このコマンドは、DAU0を経由するRAUへの記録媒体の移動を表す。
【0187】
そこで、制御データ‘RAU−DAU0’のフラグをセットし(ステップS154)、制御データ‘DAU0−LAU’のフラグをリセットする(ステップS155)。そして、制御データ‘DAU0−LAU’のLUNと移動元エレメントアドレスとを、制御データ‘RAU−DAU0’にコピーして(ステップS108)、処理を終了する。
【0188】
ステップS153において、移動先エレメントアドレスがFF01でなければ、次に、それをFF02と比較する(ステップS156)。移動先エレメントアドレスがFF02であれば、このコマンドは、DAU0を経由するTAU0への記録媒体の移動を表す。
【0189】
そこで、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS157)、制御データ‘DAU0−LAU’のフラグをリセットする(ステップS158)。そして、制御データ‘DAU0−LAU’のLUNと移動元エレメントアドレスとを、制御データ‘DAU0−TAU0’にコピーして(ステップS108)、処理を終了する。
【0190】
ステップS156において、移動先エレメントアドレスがFF02でなければ、次に、それをFF03と比較する(図24、ステップS161)。移動先エレメントアドレスがFF03であれば、これは移動元エレメントアドレスと同じなので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0191】
ステップS161において、移動先エレメントアドレスがFF03でなければ、次に、それをFF05と比較する(ステップS162)。移動先エレメントアドレスがFF05であれば、このコマンドは、DAU0を経由するCAS5への記録媒体の移動を表す。
【0192】
そこで、制御データ‘DAU0−LAU’のフラグをリセットし(ステップS163)、その制御データのLUNの移動元エレメントアドレスからCAS5へ記録媒体を移動させて(ステップS164)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0193】
ステップS162において、移動先エレメントアドレスがFF05でなければ、次に、それがFF06以上かつFF0D以下であるかどうかを判定する(ステップS165)。移動先エレメントアドレスがこの範囲の場合は、このコマンドは、DAU0を経由するTAU0のMTU4への記録媒体の移動を表す。
【0194】
そこで、制御データ‘DAU0−LAU’のフラグをリセットし(ステップS166)、図11のアドレス対応表を参照して、その制御データのLUNの移動元エレメントアドレスからTAU0のMTU4へ記録媒体を移動させ(ステップS167)、処理を終了する。
【0195】
ステップS165において、移動先エレメントアドレスがFF06より小さいか、またはFF0Dより大きい場合は、対応するアドレスがDAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0196】
また、ステップS75において、移動元エレメントアドレスがFF05であれば、移動元はCAS5に対応するので、RAUとLAUのいずれかのCAS5に記録媒体が存在するかどうかを確認する(図25、ステップS171)。CAS5に記録媒体が存在しなければ、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0197】
CAS5に記録媒体が存在すれば、次に、移動先エレメントアドレスがFF00以下かどうかを判定する(ステップS172)。移動先エレメントアドレスがFF00以下であれば、移動先はDAU0内のDEE2または一般セル7に対応する。そこで、CAS5からDAU0内の移動先エレメントアドレスへ記録媒体を移動させ(ステップS173)、処理を終了する。
【0198】
ステップS172において、移動先エレメントアドレスがFF00より大きければ、次に、それをFF01と比較する(ステップS174)。移動先エレメントアドレスがFF01であれば、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0199】
移動先エレメントアドレスがFF01でなければ、次に、それをFF02と比較する(ステップS175)。移動先エレメントアドレスがFF02であれば、移動先はTAU0に対応するので、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS176)、CAS5のLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS85)、処理を終了する。
【0200】
ステップS175において、移動先エレメントアドレスがFF02でなければ、次に、それをFF03と比較する(ステップS177)。移動先エレメントアドレスがFF03であれば、移動先はLAUに対応するので、制御データ‘DAU0−LAU’のフラグをセットし(ステップS178)、CAS5のLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS85)、処理を終了する。
【0201】
ステップS177において、移動先エレメントアドレスがFF03でなければ、次に、それをFF05と比較する(ステップS179)。移動先エレメントアドレスがFF05であれば、これは移動元エレメントアドレスと同じなので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0202】
ステップS179において、移動先エレメントアドレスがFF05でなければ、次に、それがFF06以上かつFF0D以下であるかどうかを判定する(ステップS180)。移動先エレメントアドレスがこの範囲の場合は、このコマンドは、移動先はTAU0のMTU4に対応する。そこで、図11のアドレス対応表を参照して、CAS5からTAU0のMTU4へ記録媒体を移動させ(ステップS181)、処理を終了する。
【0203】
ステップS180において、移動先エレメントアドレスがFF06より小さいか、またはFF0Dより大きい場合は、対応するアドレスがDAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0204】
また、ステップS76において、移動元エレメントアドレスがFF06以上かつFF0D以下であれば、移動元はTAU0のMTU4に対応する。そこで、図11のアドレス対応表を参照して、対応するMTU4に記録媒体が存在するかどうかを確認する(図26、ステップS191)。そのMTU4に記録媒体が存在しなければ、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0205】
そのMTU4に記録媒体が存在すれば、次に、移動先エレメントアドレスがFF00以下かどうかを判定する(ステップS192)。移動先エレメントアドレスがFF00以下であれば、移動先はDAU0内のDEE2または一般セル7に対応する。そこで、MTU4からDAU0内の移動先エレメントアドレスへ記録媒体を移動させ(ステップS193)、処理を終了する。
【0206】
ステップS192において、移動先エレメントアドレスがFF00より大きければ、次に、それをFF01と比較する(ステップS194)。移動先エレメントアドレスがFF01であれば、移動先はRAUに対応するので、制御データ‘DAU0−RAU’のフラグをセットし(ステップS195)、MTU4のLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS85)、処理を終了する。
【0207】
ステップS194において、移動先エレメントアドレスがFF01でなければ、次に、それをFF02と比較する(ステップS196)。移動先エレメントアドレスがFF02であれば、これは移動元と同じフレームTAU0に対応するので、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0208】
ステップS196において、移動先エレメントアドレスがFF02でなければ、次に、それをFF03と比較する(ステップS197)。移動先エレメントアドレスがFF03であれば、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
【0209】
ステップS197において、移動先エレメントアドレスがFF03でなければ、次に、それをFF05と比較する(ステップS198)。移動先エレメントアドレスがFF05であれば、移動先はCAS5に対応するので、MTU4からCAS5へ記録媒体を移動させ(ステップS199)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0210】
ステップS198において、移動先エレメントアドレスがFF05でなければ、エラー処理を行い(ステップS77)、エラー回復処理を行って(ステップS78)、処理を終了する。
次に、LUN2の処理について説明する。処理が開始されると、ライブラリコントローラ1は、まずコマンドの移動元エレメントアドレスが1000以下かどうかを判定する(図27、ステップS201)。移動元エレメントアドレスが1000以下であれば、図28のステップS211以降の処理を行い、それが1000より大きければ、次に、それを1001と比較する(ステップS202)。
【0211】
そして、移動元エレメントアドレスが1001であれば、図29のステップS231以降の処理を行い、それが1001でなければ、次に、それを1002と比較する(ステップS203)。そして、移動元エレメントアドレスが1002であれば、図31のステップS251以降の処理を行い、それが1002でなければ、次に、それを1003と比較する(ステップS204)。
【0212】
そして、移動元エレメントアドレスが1003であれば、図32のステップS271以降の処理を行い、それが1003でなければ、次に、それを1005と比較する(ステップS205)。そして、移動元エレメントアドレスが1005であれば、図33のステップS291以降の処理を行う。
【0213】
移動元エレメントアドレスが1005でなければ、対応するアドレスがTAU0内に存在しないことになる。そこで、LUN0の場合と同様のエラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0214】
ステップS201において、移動元エレメントアドレスが1000以下であれば、次に、移動先エレメントアドレスが1000以下かどうかを判定する(図28、ステップS211)。移動先エレメントアドレスが1000以下であれば、そのコマンドはTAU0内で閉じているので、TAU0内で記録媒体を移動させ(ステップS212)、処理を終了する。
【0215】
ステップS211において、移動先エレメントアドレスが1000より大きければ、次に、それが1001と比較する(ステップS213)。移動先エレメントアドレスが1001であれば、このコマンドはTAU0からDAU0への記録媒体の移動を表す。そこで、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS214)、コマンドのLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS215)、処理を終了する。
【0216】
ステップS213において、移動先エレメントアドレスが1001でなければ、次に、それを1002と比較する(ステップS216)。移動先エレメントアドレスが1002であれば、このコマンドはTAU0からLAUへの記録媒体の移動を表す。そこで、制御データ‘TAU0−LAU’のフラグをセットし(ステップS217)、コマンドのLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS215)、処理を終了する。
【0217】
ステップS216において、移動先エレメントアドレスが1002でなければ、次に、それを1003と比較する(ステップS218)。移動先エレメントアドレスが1003であれば、このコマンドはTAU0からRAUへの記録媒体の移動を表す。そこで、制御データ‘RAU−TAU0’のフラグをセットし(ステップS219)、コマンドのLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS215)、処理を終了する。
【0218】
ステップS218において、移動先エレメントアドレスが1003でなければ、次に、それを1005と比較する(ステップS220)。移動先エレメントアドレスが1005であれば、移動先はRAUまたはLAUのCAS5に対応する。そこで、記録媒体をCAS5へ移動させ(ステップS221)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0219】
ステップS220において、移動先エレメントアドレスが1005でなければ、対応するアドレスがTAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0220】
また、ステップS202において、移動元エレメントアドレスが1001であれば、次に、制御データ‘DAU0−TAU0’のフラグがセットされているかどうかを確認する(図29、ステップS231)。そのフラグがセットされていなければ、移動元フレームが不明なので、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0221】
制御データ‘DAU0−TAU0’のフラグがセットされていれば、次に、移動先エレメントアドレスが1000以下かどうかを判定する(ステップS232)。移動先エレメントアドレスが1000以下であれば、移動先はTAU0内の一般セル7またはMTU4に対応する。
【0222】
そこで、制御データ‘DAU0−TAU0’のフラグをリセットし(ステップS233)、その制御データに格納されたLUNの移動元エレメントアドレスからTAU0内の移動先エレメントアドレスへ記録媒体を移動させ(ステップS234)、処理を終了する。
【0223】
ステップS232において、移動先エレメントアドレスが1000より大きければ、次に、それを1001と比較する(ステップS235)。移動先エレメントアドレスが1001であれば、これは移動元エレメントアドレスと同じなので、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0224】
移動先エレメントアドレスが1001でなければ、次に、それを1002と比較する(ステップS236)。移動先エレメントアドレスが1002であれば、このコマンドは、TAU0を経由するLAUへの記録媒体の移動を表す。
【0225】
そこで、制御データ‘TAU0−LAU’のフラグをセットし(ステップS237)、制御データ‘DAU0−TAU0’のフラグをリセットする(ステップS238)。そして、制御データ‘DAU0−TAU0’のLUNと移動元エレメントアドレスとを、制御データ‘TAU0−LAU’にコピーして(ステップS239)、処理を終了する。
【0226】
ステップS236において、移動先エレメントアドレスが1002でなければ、次に、それを1003と比較する(図30、ステップS241)。移動先エレメントアドレスが1003であれば、このコマンドは、TAU0を経由するRAUへの記録媒体の移動を表す。
【0227】
そこで、制御データ‘RAU−TAU0’のフラグをセットし(ステップS242)、制御データ‘DAU0−TAU0’のフラグをリセットする(ステップS243)。そして、制御データ‘DAU0−TAU0’のLUNと移動元エレメントアドレスとを、制御データ‘RAU−TAU0’にコピーして(ステップS239)、処理を終了する。
【0228】
ステップS241において、移動先エレメントアドレスが1003でなければ、次に、それを1005と比較する(ステップS244)。移動先エレメントアドレスが1005であれば、このコマンドは、TAU0を経由するCAS5への記録媒体の移動を表す。
【0229】
そこで、制御データ‘DAU0−TAU0’のフラグをリセットし(ステップS245)、その制御データのLUNの移動元エレメントアドレスからCAS5へ記録媒体を移動させて(ステップS246)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0230】
ステップS121において、移動先エレメントアドレスが1005でなければ、対応するアドレスがTAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0231】
また、ステップS203において、移動元エレメントアドレスが1002であれば、次に、制御データ‘TAU0−LAU’のフラグがセットされているかどうかを確認する(図31、ステップS251)。そのフラグがセットされていなければ、移動元フレームが不明なので、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0232】
制御データ‘TAU0−LAU’のフラグがセットされていれば、次に、移動先エレメントアドレスが1000以下かどうかを判定する(ステップS252)。移動先エレメントアドレスが1000以下であれば、移動先はTAU0内の一般セル7またはMTU4に対応する。
【0233】
そこで、制御データ‘TAU0−LAU’のフラグをリセットし(ステップS253)、その制御データに格納されたLUNの移動元エレメントアドレスからTAU0内の移動先エレメントアドレスへ記録媒体を移動させ(ステップS254)、処理を終了する。
【0234】
ステップS252において、移動先エレメントアドレスが1000より大きければ、次に、それを1001と比較する(ステップS255)。移動先エレメントアドレスが1001であれば、このコマンドは、TAU0を経由するDAU0への記録媒体の移動を表す。
【0235】
そこで、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS256)、制御データ‘TAU0−LAU’のフラグをリセットする(ステップS257)。そして、制御データ‘TAU0−LAU’のLUNと移動元エレメントアドレスとを、制御データ‘DAU0−TAU0’にコピーして(ステップS239)、処理を終了する。
【0236】
ステップS255において、移動先エレメントアドレスが1001でなければ、次に、それを1002と比較する(ステップS258)。移動先エレメントアドレスが1002であれば、これは移動元エレメントアドレスと同じなので、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0237】
ステップS258において、移動先エレメントアドレスが1002でなければ、次に、それを1003と比較する(ステップS259)。移動先エレメントアドレスが1003であれば、このコマンドは、TAU0を経由するRAUへの記録媒体の移動を表す。
【0238】
そこで、制御データ‘RAU−TAU0’のフラグをセットし(ステップS260)、制御データ‘TAU0−LAU’のフラグをリセットする(ステップS261)。そして、制御データ‘TAU0−LAU’のLUNと移動元エレメントアドレスとを、制御データ‘RAU−TAU0’にコピーして(ステップS239)、処理を終了する。
【0239】
ステップS259において、移動先エレメントアドレスが1003でなければ、次に、それを1005と比較する(ステップS262)。移動先エレメントアドレスが1005であれば、このコマンドは、TAU0を経由するCAS5への記録媒体の移動を表す。
【0240】
そこで、制御データ‘TAU0−LAU’のフラグをリセットし(ステップS263)、その制御データのLUNの移動元エレメントアドレスからCAS5へ記録媒体を移動させて(ステップS264)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0241】
ステップS262において、移動先エレメントアドレスが1005でなければ、対応するアドレスがTAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0242】
また、ステップS204において、移動元エレメントアドレスが1003であれば、次に、制御データ‘RAU−TAU0’のフラグがセットされているかどうかを確認する(図32、ステップS271)。そのフラグがセットされていなければ、移動元フレームが不明なので、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0243】
制御データ‘RAU−TAU0’のフラグがセットされていれば、次に、移動先エレメントアドレスが1000以下かどうかを判定する(ステップS272)。移動先エレメントアドレスが1000以下であれば、移動先はTAU0内の一般セル7またはMTU4に対応する。
【0244】
そこで、制御データ‘RAU−TAU0’のフラグをリセットし(ステップS273)、その制御データに格納されたLUNの移動元エレメントアドレスからTAU0内の移動先エレメントアドレスへ記録媒体を移動させ(ステップS274)、処理を終了する。
【0245】
ステップS272において、移動先エレメントアドレスが1000より大きければ、次に、それを1001と比較する(ステップS275)。移動先エレメントアドレスが1001であれば、このコマンドは、TAU0を経由するDAU0への記録媒体の移動を表す。
【0246】
そこで、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS276)、制御データ‘RAU−TAU0’のフラグをリセットする(ステップS277)。そして、制御データ‘RAU−TAU0’のLUNと移動元エレメントアドレスとを、制御データ‘DAU0−TAU0’にコピーして(ステップS239)、処理を終了する。
【0247】
ステップS275において、移動先エレメントアドレスが1001でなければ、次に、それを1002と比較する(ステップS278)。移動先エレメントアドレスが1002であれば、このコマンドは、TAU0を経由するLAUへの記録媒体の移動を表す。
【0248】
そこで、制御データ‘TAU0−LAU’のフラグをセットし(ステップS279)、制御データ‘RAU−TAU0’のフラグをリセットする(ステップS280)。そして、制御データ‘RAU−TAU0’のLUNと移動元エレメントアドレスとを、制御データ‘TAU0−LAU’にコピーして(ステップS239)、処理を終了する。
【0249】
ステップS278において、移動先エレメントアドレスが1002でなければ、次に、それを1003と比較する(ステップS281)。移動先エレメントアドレスが1003であれば、これは移動元エレメントアドレスと同じなので、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0250】
ステップS281において、移動先エレメントアドレスが1003でなければ、次に、それを1005と比較する(ステップS282)。移動先エレメントアドレスが1005であれば、このコマンドは、TAU0を経由するCAS5への記録媒体の移動を表す。
【0251】
そこで、制御データ‘RAU−TAU0’のフラグをリセットし(ステップS283)、その制御データのLUNの移動元エレメントアドレスからCAS5へ記録媒体を移動させて(ステップS284)、処理を終了する。このとき、RAUとLAUのいずれのCAS5を使用するかは、図18のステップS91と同様である。
【0252】
ステップS282において、移動先エレメントアドレスが1005でなければ、対応するアドレスがTAU0内に存在しないことになる。そこで、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0253】
また、ステップS205において、移動元エレメントアドレスが1005であれば、次に、移動先エレメントアドレスが1000以下かどうかを判定する(図33、ステップS291)。移動先エレメントアドレスが1000以下であれば、移動先はTAU0内の一般セル7またはMTU4に対応する。そこで、CAS5からDAU0内の移動先エレメントアドレスへ記録媒体を移動させ(ステップS292)、処理を終了する。
【0254】
ステップS291において、移動先エレメントアドレスが1000より大きければ、次に、それを1001と比較する(ステップS293)。移動先エレメントアドレスが1001であれば、移動先はDAU0に対応するので、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS294)、CAS5のLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS215)、処理を終了する。
【0255】
ステップS293において、移動先エレメントアドレスが1001でなければ、次に、それを1002と比較する(ステップS295)。移動先エレメントアドレスが1002であれば、移動先はLAUに対応するので、制御データ‘TAU0−LAU’のフラグをセットし(ステップS296)、CAS5のLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS215)、処理を終了する。
【0256】
ステップS295において、移動先エレメントアドレスが1002でなければ、次に、それを1003と比較する(ステップS297)。移動先エレメントアドレスが1003であれば、移動先はRAUに対応するので、制御データ‘RAU−TAU0’のフラグをセットし(ステップS298)、CAS5のLUNと移動元エレメントアドレスとをその制御データに格納して(ステップS215)、処理を終了する。
【0257】
ステップS297において、移動先エレメントアドレスが1003でなければ、エラー処理を行い(ステップS206)、エラー回復処理を行って(ステップS207)、処理を終了する。
【0258】
次に、LUN3の処理について説明する。LUN3の処理は、基本的にLUN0の処理と同様である。処理が開始されると、ライブラリコントローラ1は、まずコマンドの移動元エレメントアドレスが0100より小さいかどうかを判定する(図34、ステップS301)。移動元エレメントアドレスが0100より小さければ、次に、移動先エレメントアドレスが0100より小さいかどうかを判定する(ステップS302)。そして、移動先エレメントアドレスが0100より小さければ、そのコマンドはLAU内で閉じているので、LAU内で記録媒体を移動させ(ステップS303)、処理を終了する。
【0259】
ステップS302において、移動先エレメントアドレスが0100以上であれば、次に、それが0100かどうかを判定する(ステップS304)。移動先エレメントアドレスが0100であれば、このコマンドはLAUからTAU0への記録媒体の移動を表す。そこで、コマンドのLUNと移動元エレメントアドレスとを制御データ‘TAU0−LAU’に格納し(ステップS305)、そのフラグをセットして(ステップS306)、処理を終了する。
【0260】
ステップS304において、移動先エレメントアドレスが0100でなければ、次に、それを0101と比較する(ステップS307)。移動先エレメントアドレスが0101であれば、このコマンドはLAUからDAU0への記録媒体の移動を表す。そこで、コマンドのLUNと移動元エレメントアドレスとを制御データ‘DAU0−LAU’に格納し(ステップS308)、そのフラグをセットして(ステップS309)、処理を終了する。
【0261】
ステップS307において、移動先エレメントアドレスが0101でなければ、次に、それを0102と比較する(ステップS310)。移動先エレメントアドレスが0102であれば、このコマンドはLAUからRAUへの記録媒体の移動を表す。そこで、コマンドのLUNと移動元エレメントアドレスとを制御データ‘RAU−LAU’に格納し(ステップS311)、そのフラグをセットして(ステップS312)、処理を終了する。
【0262】
ステップS310において、移動先エレメントアドレスが0102でなければ、次に、それが0103以上かつ010A以下であるかどうかを判定する(ステップS313)。移動先エレメントアドレスがこの範囲の場合は、移動先はTAU0のMTU4に対応する。そこで、図11のアドレス対応表を参照して、LAUからTAU0のMTU4へ記録媒体を移動させ(ステップS314)、処理を終了する。
【0263】
ステップS313において、移動先エレメントアドレスが0103より小さいか、または010Aより大きい場合は、対応するアドレスがLAU内に存在しないことになる。そこで、LUN0の場合と同様のエラー処理を行い(図36、ステップS337)、エラー回復処理を行って(ステップS338)、処理を終了する。
【0264】
また、ステップS301において、移動元エレメントアドレスが0100以上であれば、次に、それが0100かどうかを判定する(図35、ステップS321)。そして、移動元エレメントアドレスが0100であれば、次に、移動先エレメントアドレスを0100と比較する(ステップS322)。移動先エレメントアドレスが0100より小さければ、次に、制御データ‘TAU0−LAU’のフラグがセットされているかどうかを確認する(ステップS323)。
【0265】
そのフラグがセットされていれば、このコマンドはTAU0からLAUへの記録媒体の移動を表すことが分かる。そこで、制御データ‘TAU0−LAU’のフラグをリセットし(ステップS324)、その制御データに格納されたLUNの移動元エレメントアドレスからLAU内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS325)、処理を終了する。
【0266】
また、ステップS322において移動先エレメントアドレスが0100以上である場合、および、ステップS323においてフラグがセットされていない場合は、図36のステップS337以降の処理を行う。
【0267】
ステップS321において、移動元エレメントアドレスが0100でなければ、次に、それを0101と比較する(ステップS326)。そして、移動元エレメントアドレスが0101であれば、次に、移動先エレメントアドレスを0100と比較する(ステップS327)。移動先エレメントアドレスが0100より小さければ、次に、制御データ‘DAU0−LAU’のフラグがセットされているかどうかを確認する(ステップS328)。
【0268】
そのフラグがセットされていれば、このコマンドはDAU0からLAUへの記録媒体の移動を表すことが分かる。そこで、制御データ‘DAU0−LAU’のフラグをリセットし(ステップS329)、その制御データに格納されたLUNの移動元エレメントアドレスからLAU内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS325)、処理を終了する。
【0269】
また、ステップS327において移動先エレメントアドレスが0100以上である場合、および、ステップS328においてフラグがセットされていない場合は、図36のステップS337以降の処理を行う。
【0270】
ステップS326において、移動元エレメントアドレスが0101でなければ、次に、それを0102と比較する(図36、ステップS331)。そして、移動元エレメントアドレスが0102であれば、次に、移動先エレメントアドレスを0100と比較する(ステップS332)。移動先エレメントアドレスが0100より小さければ、次に、制御データ‘RAU−LAU’のフラグがセットされているかどうかを確認する(ステップS333)。
【0271】
そのフラグがセットされていれば、このコマンドはRAUからLAUへの記録媒体の移動を表すことが分かる。そこで、制御データ‘RAU−LAU’のフラグをリセットし(ステップS339)、その制御データに格納されたLUNの移動元エレメントアドレスからLAU内の移動先エレメントアドレスへ記録媒体を移動させて(ステップS325)、処理を終了する。
【0272】
また、ステップS332において移動先エレメントアドレスが0100以上である場合、および、ステップS333においてフラグがセットされていない場合は、ステップS337以降の処理を行う。
【0273】
ステップS331において、移動元エレメントアドレスが0102でなければ、次に、それが0103以上かつ010A以下であるかどうかを判定する(ステップS334)。移動元エレメントアドレスがこの範囲の場合は、移動元はTAU0のMTU4に対応する。
【0274】
そこで、次に、移動先エレメントアドレスを0100と比較する(ステップS335)。移動先エレメントアドレスが0100より小さければ、図11のアドレス対応表を参照して、TAU0のMTU4からLAUへ記録媒体を移動させ(ステップS336)、処理を終了する。ステップS335において、移動先エレメントアドレスが0100以上である場合は、ステップS337以降の処理を行う。
【0275】
ステップS334において、移動元エレメントアドレスが0103より小さいか、または010Aより大きい場合は、対応するアドレスがLAU内に存在しないことになるので、ステップS337以降の処理を行う。
【0276】
ここで、上述した第1から第4までの動作例を、図13から図36までのフローチャートに沿って説明すると、次のようになる。第1の動作例では、ライブラリコントローラ1は、まず、LUN1に対するMOVEコマンドを受け取り(図13、ステップS11)、LUN1の処理を開始する(ステップS18)。
【0277】
このコマンドの移動元エレメントアドレスは1000であるので、図17のステップS71の判定結果がYESとなる。また、移動先エレメントアドレスはFF02であるので、図18のステップS86の判定結果がYESとなる。そこで、ライブラリコントローラ1は、制御データ‘DAU0−TAU0’のフラグをセットし(ステップS87)、その制御データにLUN=1と移動元エレメントアドレス1000とを書き込む。
【0278】
次に、ライブラリコントローラ1は、LUN2に対するMOVEコマンドを受け取り(ステップS11)、LUN2の処理を開始する(ステップS21)。このコマンドの移動元エレメントアドレスは1001であるので、図27のステップS202の判定結果がYESとなる。また、移動先エレメントアドレスは0001であるので、図29のステップS232の判定結果がYESとなる。
【0279】
そこで、ライブラリコントローラ1は、制御データ‘DAU0−TAU0’のフラグをリセットする(ステップS233)。そして、その制御データに書き込まれたLUNと移動元エレメントアドレスを参照し、DAU0のアドレス1000にある記録媒体をTAU0のアドレス0001のMTU4にマウントするように、ACC6に指示する(ステップS234)。
【0280】
第2の動作例では、ライブラリコントローラ1は、LUN0に対するMOVEコマンドを受け取り(ステップS11)、LUN0の処理を開始する(ステップS15)。このコマンドの移動元エレメントアドレスは0002であるので、図14のステップS31の判定結果がYESとなる。また、移動先エレメントアドレスは0104であるので、ステップS43の判定結果がYESとなる。
【0281】
そこで、ライブラリコントローラ1は、図11のアドレス対応表を参照し、RAUのアドレス0002にある記録媒体をTAU0のアドレス0001のMTU4にマウントするように、ACC6に指示する(ステップS44)。
【0282】
第3の動作例では、ライブラリコントローラ1は、LUN1に対するMOVEコマンドを受け取り(ステップS11)、LUN1の処理を開始する(ステップS18)。このコマンドの移動元エレメントアドレスは0000であるので、図17のステップS71の判定結果がYESとなる。また、移動先エレメントアドレスはFF05であるので、図18のステップS90の判定結果がYESとなる。
【0283】
そこで、ライブラリコントローラ1は、DAU0のアドレス0000にある記録媒体をRAUのCAS5に移動させるように、ACC6に指示する(ステップS91)。
【0284】
第4の動作例では、オペレータがDAU0をオフラインにした後に、ライブラリコントローラ1がLUN1に対するMOVEコマンドを受け取ると(ステップS11)、ステップS17の判定結果がNOとなる。そこで、ライブラリコントローラ1は、Not Ready 応答をホスト計算機21に返す(ステップS14)。
【0285】
しかし、LUN1以外のReady 状態の論理ユニットに対するMOVEコマンドを受け取った場合は、その論理ユニットの処理を行う(ステップS15、S21、S24)。
【0286】
以上の動作例では、MOVEコマンドの移動元エレメントアドレスと移動先エレメントアドレスのうち少なくとも一方は、実在するエレメントに対応している。これに対して、移動元エレメントアドレスと移動先エレメントアドレスがともに仮想エレメントに対応するのは、例えば、DAU0を仮想的な仲介フレームとして、RAUからTAU0へ記録媒体を移動させるような場合である。
【0287】
また、ACC6が記録媒体を保持したままエラーで停止したような場合、リカバリ処理において、CAS5のアドレス0001や、運搬エレメント42のアドレスFF05、1005を移動元エレメントアドレスに指定することもできる。さらに、これらのアドレスを移動先エレメントアドレスとして用いることもあり得る。
【0288】
以上説明した実施形態において、ライブラリ装置22をフレーム単位で論理分割するものとしたが、これに限らず、任意の分割単位を論理ユニットとして定義することができる。また、図6に示した仮想エレメントをすべて用いる必要はなく、任意の仮想エレメントを削除/追加することが可能である。
【0289】
さらに、本発明の制御対象は必ずしもライブラリ装置に限られるものではなく、論理的に分割可能な他の装置、システム等に対しても、同様の制御方法が適用され得る。
【0290】
【発明の効果】
本発明によれば、SCSIのような汎用インタフェースを利用して、ライブラリ装置を制御することが可能になる。特に、SCSIによりライブラリ装置を制御する際に、次のような効果が得られる。
【0291】
2バイトを越えるアドレスを含む大規模なライブラリ装置を仮想的に分割することで、ANSIにより定義されているSCSI標準のMedium Changer Device のコマンドを利用した制御が可能となる。
【0292】
また、SCSIのインタフェースでは、ライブラリ装置全体を1つの論理ユニットとして制御すると、ライブラリ装置の部分的なNot Ready 状態を定義することができないが、仮想的に分割することによって、論理ユニット単位でNot Ready 状態を定義できるようになる。
【0293】
また、ライブラリ装置のフレームを増設する場合、増設フレームを新しい論理ユニットとして定義することにより、既存エレメントのアドレスを含む記録媒体情報の変更が不要になる。
【0294】
さらに、エレメントのアドレスがLUN(フレーム)毎に管理されるため、モデル等のフレームの設置条件によらず一義的にアドレスを定義できる。したがって、製造時にエレメントアドレスを装置に表示することが可能になる。
【図面の簡単な説明】
【図1】本発明のライブラリ制御装置の原理図である。
【図2】複数の論理ユニットの制御処理のフローチャートである。
【図3】制御システムの構成図である。
【図4】ライブラリコントローラの構成図である。
【図5】SCSIの媒体移動コマンドを示す図である。
【図6】仮想エレメントを示す図である。
【図7】LUN0のエレメントアドレスを示す図である。
【図8】LUN1のエレメントアドレスを示す図である。
【図9】LUN2のエレメントアドレスを示す図である。
【図10】LUN3のエレメントアドレスを示す図である。
【図11】データ転送エレメントのアドレス対応表を示す図である。
【図12】制御データテーブルを示す図である。
【図13】ライブラリコントローラの処理フローチャートである。
【図14】LUN0の処理フローチャート(その1)である。
【図15】LUN0の処理フローチャート(その2)である。
【図16】LUN0の処理フローチャート(その3)である。
【図17】LUN1の処理フローチャート(その1)である。
【図18】LUN1の処理フローチャート(その2)である。
【図19】LUN1の処理フローチャート(その3)である。
【図20】LUN1の処理フローチャート(その4)である。
【図21】LUN1の処理フローチャート(その5)である。
【図22】LUN1の処理フローチャート(その6)である。
【図23】LUN1の処理フローチャート(その7)である。
【図24】LUN1の処理フローチャート(その8)である。
【図25】LUN1の処理フローチャート(その9)である。
【図26】LUN1の処理フローチャート(その10)である。
【図27】LUN2の処理フローチャート(その1)である。
【図28】LUN2の処理フローチャート(その2)である。
【図29】LUN2の処理フローチャート(その3)である。
【図30】LUN2の処理フローチャート(その4)である。
【図31】LUN2の処理フローチャート(その5)である。
【図32】LUN2の処理フローチャート(その6)である。
【図33】LUN2の処理フローチャート(その7)である。
【図34】LUN3の処理フローチャート(その1)である。
【図35】LUN3の処理フローチャート(その2)である。
【図36】LUN3の処理フローチャート(その3)である。
【図37】ライブラリ装置の外観図である。
【図38】ライブラリ装置の構成図である。
【符号の説明】
1 ライブラリコントローラ
2 DEE
3 扉
4 MTU
5 CAS
6 ACC
7 一般セル
11 記憶手段
12 制御手段
21 ホスト計算機
22 ライブラリ装置
31、34 インタフェース部
32 処理装置
33 メモリ
41 仮想運搬エレメント
42、44 仮想投入/排出エレメント
43 仮想データ転送エレメント
Claims (19)
- 複数の記録媒体をそれぞれ格納し、該記録媒体の移動元または移動先となる実在エレメントと、仮想投入/排出エレメントと、アクセッサまたは仮想運搬エレメントをそれぞれ有し、互いに独立に制御可能な複数の論理ユニットに分割されたライブラリ装置の構成を表す論理構成情報であって、それぞれの論理ユニットの識別情報、第1の論理ユニットが有する第1の実在エレメントおよび第1の仮想投入/排出エレメントのアドレス情報、第2の論理ユニットが有する第2の実在エレメントのアドレス情報、該第1の仮想投入/排出エレメントのアドレス情報に対応付けられた、該第2の論理ユニットが有する第2の仮想投入/排出エレメントのアドレス情報、該アクセッサのアドレス情報、および該アクセッサのアドレス情報に対応付けられた該仮想運搬エレメントのアドレス情報を含む、論理構成情報を記憶する記憶手段と、
移動元エレメントアドレスとして前記第1の実在エレメントのアドレス情報が指定され、移動先エレメントアドレスとして前記第1の仮想投入/排出エレメントのアドレス情報が指定された第1のコマンドが、前記第1の論理ユニットに対して発行され、移動元エレメントアドレスとして前記第2の仮想投入/排出エレメントのアドレス情報が指定され、移動先エレメントアドレスとして前記第2の実在エレメントのアドレス情報が指定された第2のコマンドが、前記第2の論理ユニットに対して発行されたとき、前記論理構成情報を用いて、該第1のコマンドの移動先エレメントアドレスが該第2のコマンドの移動元エレメントアドレスに対応するものと解釈して、前記アクセッサにより該第1のコマンドの移動元エレメントアドレスに対応する該第1の実在エレメントから記録媒体を該第2のコマンドの移動先エレメントアドレスに対応する該第2の実在エレメントに移動させるように、前記ライブラリ装置を制御する制御手段と
を備えることを特徴とするライブラリ制御装置。 - 前記記憶手段は、前記ライブラリ装置を構成する各フレームを前記論理ユニットとして定義した前記論理構成情報を記憶し、該ライブラリ装置に含まれるエレメントのアドレスをフレーム毎に独立に管理することを特徴とする請求項1記載のライブラリ制御装置。
- 前記制御手段は、前記論理ユニット単位でレディー/ノット・レディー状態を設定することを特徴とする請求項1記載のライブラリ制御装置。
- 前記記憶手段は、前記複数の論理ユニットをスモール・コンピュータ・セット・インタフェースの論理ユニットとして定義した前記論理構成情報を記憶し、前記制御手段は、スモール・コンピュータ・セット・インタフェースのコマンドとして発行された前記第1および第2のコマンドを前記論理構成情報を用いて解釈することを特徴とする請求項1記載のライブラリ制御装置。
- 前記記憶手段は、前記複数の論理ユニットをスモール・コンピュータ・セット・インタフェースの媒体チェンジャデバイスとして定義した前記論理構成情報を記憶することを特徴とする請求項1記載のライブラリ制御装置。
- 前記記憶手段は、隣り合う2つの論理ユニットの間で記録媒体を受け渡しするための仮想投入/排出エレメントのアドレス情報を含む、前記論理構成情報を記憶することを特徴とする請求項5記載のライブラリ制御装置。
- 前記記憶手段は、離れた位置にある2つの論理ユニットの間で記録媒体を受け渡しするための仮想投入/排出エレメントのアドレス情報を含む、前記論理構成情報を記憶することを特徴とする請求項5記載のライブラリ制御装置。
- 前記記憶手段は、記録媒体を投入/排出するための仮想投入/排出エレメントのアドレス情報を含む、前記論理構成情報を記憶し、前記制御手段は、該仮想投入/排出エレメントを用いて前記ライブラリ装置を制御することを特徴とする請求項5記載のライブラリ制御装置。
- 前記記憶手段は、記録媒体を駆動するための仮想データ転送エレメントのアドレス情報を含む、前記論理構成情報を記憶し、前記制御手段は、該仮想データ転送エレメントを用いて前記ライブラリ装置を制御することを特徴とする請求項5記載のライブラリ制御装置。
- 前記制御手段は、前記ライブラリ装置に接続されたホストシステムから複数のコマンドを受け取り、該複数のコマンドを連携させて処理することを特徴とする請求項5記載のライブラリ制御装置。
- 複数の記録媒体をそれぞれ格納し、該記録媒体の移動元または移動先となる実在エレメントと、仮想投入/排出エレメントと、アクセッサまたは仮想運搬エレメントをそれぞれ有し、互いに独立に制御可能な複数の論理ユニットに分割された格納手段と、
前記格納手段の構成を表す論理構成情報であって、それぞれの論理ユニットの識別情報、第1の論理ユニットが有する第1の実在エレメントおよび第1の仮想投入/排出エレメントのアドレス情報、第2の論理ユニットが有する第2の実在エレメントのアドレス情報、該第1の仮想投入/排出エレメントのアドレス情報に対応付けられた、該第2の論理ユニットが有する第2の仮想投入/排出エレメントのアドレス情報、該アクセッサのアドレス情報、および該アクセッサのアドレス情報に対応付けられた該仮想運搬エレメントのアドレス情報を含む、論理構成情報を記憶する記憶手段と、
移動元エレメントアドレスとして前記第1の実在エレメントのアドレス情報が指定され、移動先エレメントアドレスとして前記第1の仮想投入/排出エレメントのアドレス情報が指定された第1のコマンドが、前記第1の論理ユニットに対して発行され、移動元エレメントアドレスとして前記第2の仮想投入/排出エレメントのアドレス情報が指定され、移動先エレメントアドレスとして前記第2の実在エレメントのアドレス情報が指定された第2のコマンドが、前記第2の論理ユニットに対して発行されたとき、前記論理構成情報を用いて、該第1のコマンドの移動先エレメントアドレスが該第2のコマンドの移動元エレメントアドレスに対応するものと解釈して、前記アクセッサにより該第1のコマンドの移動元エレメントアドレスに対応する該第1の実在エレメントから記録媒体を該第2のコマンドの移動先エレメントアドレスに対応する該第2の実在エレメントに移動させるように、前記格納手段を制御する制御手段と
を備えることを特徴とするライブラリ装置。 - 複数の記録媒体をそれぞれ格納し、該記録媒体の移動元または移動先となる実在エレメントと、仮想投入/排出エレメントと、アクセッサまたは仮想運搬エレメントをそれぞれ有し、互いに独立に制御可能な複数の論理ユニットに分割されたライブラリ装置の構成を表す論理構成情報であって、それぞれの論理ユニットの識別情報、第1の論理ユニットが有する第1の実在エレメントおよび第1の仮想投入/排出エレメントのアドレス情報、第2の論理ユニットが有する第2の実在エレメントのアドレス情報、該第1の仮想投入/排出エレメントのアドレス情報に対応付けられた、該第2の論理ユニットが有する第2の仮想投入/排出エレメントのアドレス情報、該アクセッサのアドレス情報、および該アクセッサのアドレス情報に対応付けられた該仮想運搬エレメントのアドレス情報を含む、論理構成情報を記憶する記憶手段と、
移動元エレメントアドレスとして前記第1の実在エレメントのアドレス情報が指定され、移動先エレメントアドレスとして前記第1の仮想投入/排出エレメントのアドレス情報が指定された第1のコマンドを、前記第1の論理ユニットに対して発行し、移動元エレメントアドレスとして前記第2の仮想投入/排出エレメントのアドレス情報が指定され、移動先エレメントアドレスとして前記第2の実在エレメントのアドレス情報が指定された第2のコマンドを、前記第2の論理ユニットに対して発行するコマンド発行手段と
を備えることを特徴とするホストシステム。 - アプリケーション・プログラムを実行する実行手段をさらに備え、前記コマンド発行手段は、該アプリケーション・プログラムからの指示に基づいて、互いに連携した複数のコマンドを発行することを特徴とする請求項12記載のホストシステム。
- 複数の記録媒体をそれぞれ格納し、該記録媒体の移動元または移動先となる実在エレメントと、仮想投入/排出エレメントと、アクセッサまたは仮想運搬エレメントをそれぞれ有し、互いに独立に制御可能な複数の論理ユニットに分割されたライブラリ装置の制御手段が、
移動元エレメントアドレスとして第1の論理ユニットが有する第1の実在エレメントのアドレス情報が指定され、移動先エレメントアドレスとして該第1の論理ユニットが有する第1の仮想投入/排出エレメントのアドレス情報が指定された第1のコマンドが、該第1の論理ユニットに対して発行され、移動元エレメントアドレスとして第2の論理ユニットが有する第2の仮想投入/排出エレメントのアドレス情報が指定され、移動先エレメントアドレスとして該第2の論理ユニットが有する第2の実在エレメントのアドレス情報が指定された第2のコマンドが、該第2の論理ユニットに対して発行されたとき、それぞれの論理ユニットの識別情報、該第1および第2の実在エレメントのアドレス情報、該第1の仮想投入/排出エレメントのアドレス情報、該第1の仮想投入/排出エレメントのアドレス情報に対応付けられた該第2の仮想投入/排出エレメントのアドレス情報、前記アクセッサのアドレス情報、および該アクセッサのアドレス情報に対応付けられた前記仮想運搬エレメントのアドレス情報を含み、前記ライブラリ装置の構成を表す論理構成情報を用いて、該第1のコマンドの移動先エレメントアドレスが該第2のコマンドの移動元エレメントアドレスに対応するものと解釈し、
前記アクセッサにより該第1のコマンドの移動元エレメントアドレスに対応する該第1の実在エレメントから記録媒体を該第2のコマンドの移動先エレメントアドレスに対応する該第2の実在エレメントに移動させるように、前記ライブラリ装置を制御する
ことを特徴とするライブラリ制御方法。 - 前記複数の論理ユニットはスモール・コンピュータ・セット・インタフェースの媒体チェンジャデバイスとして定義されることを特徴とする請求項14記載のライブラリ制御方法。
- 前記制御手段は、隣り合う2つの論理ユニットの間で記録媒体を受け渡しするための仮想投入/排出エレメントのアドレス情報を含む、前記論理構成情報を用いて、前記ライブラリ装置を制御することを特徴とする請求項15記載のライブラリ制御方法。
- 前記制御手段は、離れた位置にある2つの論理ユニットの間で記録媒体を受け渡しするための仮想投入/排出エレメントのアドレス情報を含む、前記論理構成情報を用いて、前記ライブラリ装置を制御することを特徴とする請求項15記載のライブラリ制御方法。
- 前記制御手段は、記録媒体を投入/排出するための仮想投入/排出エレメントのアドレス情報を含む、前記論理構成情報を用いて、該仮想投入/排出エレメントが該記録媒体を投入/排出するように仮想して、前記ライブラリ装置を制御することを特徴とする請求項15記載のライブラリ制御方法。
- 前記制御手段は、記録媒体を駆動するための仮想データ転送エレメントのアドレス情報を含む、前記論理構成情報を用いて、該仮想データ転送エレメントが該記録媒体を駆動するように仮想して、前記ライブラリ装置を制御することを特徴とする請求項15記載のライブラリ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03093597A JP3998289B2 (ja) | 1997-02-14 | 1997-02-14 | ライブラリ装置を論理的に分割して制御するライブラリ制御装置および方法 |
EP97308684A EP0859308A1 (en) | 1997-02-14 | 1997-10-30 | Library control device for logically dividing and controlling library device and method thereof |
US08/962,392 US6604165B1 (en) | 1997-02-14 | 1997-10-31 | Library control device for logically dividing and controlling library device and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03093597A JP3998289B2 (ja) | 1997-02-14 | 1997-02-14 | ライブラリ装置を論理的に分割して制御するライブラリ制御装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10228352A JPH10228352A (ja) | 1998-08-25 |
JP3998289B2 true JP3998289B2 (ja) | 2007-10-24 |
Family
ID=12317543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03093597A Expired - Fee Related JP3998289B2 (ja) | 1997-02-14 | 1997-02-14 | ライブラリ装置を論理的に分割して制御するライブラリ制御装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6604165B1 (ja) |
EP (1) | EP0859308A1 (ja) |
JP (1) | JP3998289B2 (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000041063A1 (fr) * | 1998-12-28 | 2000-07-13 | Asaca Corporation | Systeme de bibliotheque |
US7082462B1 (en) | 1999-03-12 | 2006-07-25 | Hitachi, Ltd. | Method and system of managing an access to a private logical unit of a storage system |
JP3837953B2 (ja) * | 1999-03-12 | 2006-10-25 | 株式会社日立製作所 | 計算機システム |
US6976229B1 (en) * | 1999-12-16 | 2005-12-13 | Ricoh Co., Ltd. | Method and apparatus for storytelling with digital photographs |
JP2002288108A (ja) * | 2001-03-28 | 2002-10-04 | Hitachi Ltd | 外部記憶装置 |
US7831575B2 (en) | 2001-08-02 | 2010-11-09 | Bridge Works, Ltd | Library virtualisation module |
US6675260B2 (en) * | 2001-10-31 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Virtual electronic data library supporting mixed drive types using virtual libraries within a single library |
US7082497B2 (en) | 2001-12-28 | 2006-07-25 | Hewlett-Packard Development Company, L.P. | System and method for managing a moveable media library with library partitions |
US6715031B2 (en) | 2001-12-28 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | System and method for partitioning a storage area network associated data library |
US6839824B2 (en) | 2001-12-28 | 2005-01-04 | Hewlett-Packard Development Company, L.P. | System and method for partitioning a storage area network associated data library employing element addresses |
US8788611B2 (en) | 2001-12-28 | 2014-07-22 | Hewlett-Packard Development Company, L.P. | Method for using partitioning to provide capacity on demand in data libraries |
US6845431B2 (en) | 2001-12-28 | 2005-01-18 | Hewlett-Packard Development Company, L.P. | System and method for intermediating communication with a moveable media library utilizing a plurality of partitions |
US7000085B2 (en) | 2001-12-28 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | System and method for securing drive access to data storage media based on medium identifiers |
US20030126225A1 (en) * | 2001-12-28 | 2003-07-03 | Camble Peter Thomas | System and method for peripheral device virtual functionality overlay |
US6999999B2 (en) * | 2001-12-28 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | System and method for securing fiber channel drive access in a partitioned data library |
US7062614B2 (en) | 2001-12-28 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | System and method for managing access to multiple devices in a partitioned data library |
US7363425B2 (en) | 2001-12-28 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | System and method for securing drive access to media based on medium identification numbers |
US6922709B2 (en) | 2002-02-19 | 2005-07-26 | International Business Machines Corporation | Method for maintaining consistent dual copies of vital product data in a dual accessor library of portable data storage media |
US6772272B2 (en) * | 2002-04-25 | 2004-08-03 | International Business Machines Corporation | Apparatus and method for writing information to a designated information storage medium with an allocated data storage device using a specified information recording format |
US7505980B2 (en) * | 2002-11-08 | 2009-03-17 | Crossroads Systems, Inc. | System and method for controlling access to multiple physical media libraries |
US7421420B2 (en) * | 2003-05-13 | 2008-09-02 | International Business Machines Corporation | Method for device selection |
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 |
US7010387B2 (en) | 2003-08-28 | 2006-03-07 | Spectra Logic Corporation | Robotic data storage library comprising a virtual port |
JP2005122843A (ja) * | 2003-10-20 | 2005-05-12 | Fujitsu Ltd | ライブラリ装置に接続されたシステム間でのデータ移行方法およびライブラリ装置 |
JP2005267008A (ja) | 2004-03-17 | 2005-09-29 | Hitachi Ltd | ストレージ管理方法およびストレージ管理システム |
US7454565B1 (en) | 2004-06-29 | 2008-11-18 | Crossroads Systems, Inc | System and method for distributed partitioned library mapping |
US7428613B1 (en) | 2004-06-29 | 2008-09-23 | Crossroads Systems, Inc. | System and method for centralized partitioned library mapping |
US7346733B2 (en) * | 2004-09-09 | 2008-03-18 | Hitachi, Ltd. | Storage apparatus, system and method using a plurality of object-based storage devices |
US7971006B2 (en) * | 2005-01-28 | 2011-06-28 | Crossroads Systems, Inc. | System and method for handling status commands directed to partitioned media library |
US7370173B2 (en) * | 2005-01-28 | 2008-05-06 | Crossroads Systems, Inc. | Method and system for presenting contiguous element addresses for a partitioned media library |
US7451291B2 (en) * | 2005-01-28 | 2008-11-11 | Crossroads Systems, Inc. | System and method for mode select handling for a partitioned media library |
US7962645B2 (en) * | 2005-01-31 | 2011-06-14 | International Business Machines Corporation | Apparatus, system, and method for automatically mapping a tape library system |
US7788413B1 (en) | 2005-04-29 | 2010-08-31 | Crossroads Systems, Inc. | Method and system for handling commands requesting movement of a data storage medium between physical media libraries |
US7647469B2 (en) * | 2005-07-22 | 2010-01-12 | International Business Machines Corporation | Method of assigning virtual import/export element addresses |
US9158467B2 (en) | 2006-02-21 | 2015-10-13 | Spectra Logic Corporation | Optional data encryption by partition for a partitionable data storage library |
US7681048B2 (en) | 2006-04-27 | 2010-03-16 | Matthew Thomas Starr | Data encryption using a key and moniker for mobile storage media adapted for library storage |
US9632728B2 (en) | 2008-03-28 | 2017-04-25 | International Business Machines Corporation | Apparatus and method to establish a logical configuration for a data storage library |
US8767334B2 (en) | 2010-09-30 | 2014-07-01 | International Business Machines Corporation | System, method, and computer program product for creating a single library image from multiple independent tape libraries |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0734173B2 (ja) * | 1985-04-10 | 1995-04-12 | 富士通株式会社 | デバイス制御装置 |
US4857902A (en) * | 1987-05-14 | 1989-08-15 | Advanced Interaction, Inc. | Position-dependent interactivity system for image display |
JPH01309118A (ja) * | 1988-06-07 | 1989-12-13 | Nec Corp | ファイル・装置管理方式 |
JPH0296964A (ja) * | 1988-10-03 | 1990-04-09 | Hitachi Ltd | 記憶媒体自動ライブラリ方式 |
JPH02161676A (ja) * | 1988-12-13 | 1990-06-21 | Mitsubishi Electric Corp | ボリューム管理方式 |
GB2232524A (en) * | 1989-03-10 | 1990-12-12 | Next Technology Corp Limited | Information storage and retrieval |
US5166939A (en) * | 1990-03-02 | 1992-11-24 | Micro Technology, Inc. | Data storage apparatus and method |
JPH03260719A (ja) * | 1990-03-09 | 1991-11-20 | Fujitsu Ltd | ライブラリ装置 |
JP2831087B2 (ja) * | 1990-03-19 | 1998-12-02 | 株式会社日立製作所 | データ記憶システム |
DE69232704T2 (de) * | 1991-03-07 | 2002-11-28 | Fujitsu Ltd., Kawasaki | Speicherbibliothek |
US5287459A (en) * | 1991-10-03 | 1994-02-15 | International Business Machines Corporation | Method and apparatus for reducing response time in automated library data retrieval systems |
JPH05224822A (ja) * | 1992-02-12 | 1993-09-03 | Hitachi Ltd | 集合型記憶装置 |
US5305438A (en) * | 1992-05-19 | 1994-04-19 | Sony Electronics Inc. | Video storage, processing, and distribution system using recording format independent hierarchical storages and processors |
JPH06131233A (ja) * | 1992-10-20 | 1994-05-13 | Hitachi Ltd | マルチファイル型記憶媒体のアクセス方法およびライブラリ装置 |
WO1995012165A1 (en) * | 1993-10-22 | 1995-05-04 | Gestalt Technologies, Incorporated | Distributed management in a partitioned memory system |
JP3431972B2 (ja) * | 1993-11-29 | 2003-07-28 | 株式会社日立製作所 | 仮想ディスクシステム |
JPH07220374A (ja) * | 1994-02-02 | 1995-08-18 | Fujitsu Ltd | ライブラリ装置 |
JPH07234759A (ja) * | 1994-02-22 | 1995-09-05 | Nikon Corp | 記憶装置 |
JPH07271704A (ja) * | 1994-03-31 | 1995-10-20 | Matsushita Electric Ind Co Ltd | デバイス制御装置 |
US5583561A (en) * | 1994-06-07 | 1996-12-10 | Unisys Corporation | Multi-cast digital video data server using synchronization groups |
JPH08152973A (ja) * | 1994-11-30 | 1996-06-11 | Toshiba Corp | 光磁気ディスク装置 |
JP3279854B2 (ja) * | 1995-01-25 | 2002-04-30 | 松下電器産業株式会社 | 記録再生装置 |
JPH08328761A (ja) * | 1995-05-31 | 1996-12-13 | Fujitsu Ltd | 光ディスクライブラリ装置 |
JPH09185465A (ja) | 1995-12-27 | 1997-07-15 | Fujitsu Ltd | ライブラリ装置、及び、情報処理システム、及び、制御モジュール |
-
1997
- 1997-02-14 JP JP03093597A patent/JP3998289B2/ja not_active Expired - Fee Related
- 1997-10-30 EP EP97308684A patent/EP0859308A1/en not_active Withdrawn
- 1997-10-31 US US08/962,392 patent/US6604165B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0859308A1 (en) | 1998-08-19 |
JPH10228352A (ja) | 1998-08-25 |
US6604165B1 (en) | 2003-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3998289B2 (ja) | ライブラリ装置を論理的に分割して制御するライブラリ制御装置および方法 | |
US6356977B2 (en) | System and method for on-line, real time, data migration | |
US8762672B2 (en) | Storage system and storage migration method | |
US7269667B2 (en) | Disk array system and method for migrating from one storage system to another | |
US6832299B2 (en) | System and method for assigning storage in a storage network in accordance with stored management information | |
JPH03129552A (ja) | ホストプロセッサによりアクセスされるシャドーセットの管理方法及び装置 | |
JPH0551929B2 (ja) | ||
US20070174566A1 (en) | Method of replicating data in a computer system containing a virtualized data storage area | |
US20070079098A1 (en) | Automatic allocation of volumes in storage area networks | |
CN102209952A (zh) | 存储***和用于操作存储***的方法 | |
JP2006330895A (ja) | ストレージシステム及びストレージシステムの運用方法 | |
US6912632B2 (en) | Storage system, storage system control method, and storage medium having program recorded thereon | |
JP3283724B2 (ja) | ミラーディスク制御方法およびミラーディスク装置 | |
US20060253670A1 (en) | Methods for creating hierarchical copies | |
KR20050088172A (ko) | 분산형 시스템의 백업 펌웨어 | |
JP5272185B2 (ja) | 計算機システム及びストレージシステム | |
US20060253683A1 (en) | Data storage methods for hierarchical copies | |
CN100440213C (zh) | 验证信息存储和检索***的配置的方法和*** | |
JP3119992B2 (ja) | データ格納装置 | |
US8006049B2 (en) | Export of logical volumes by pools | |
CN101373418A (zh) | 存储***和访问方法 | |
JP2000222258A (ja) | データベースの構造を変更する方法、データベース・アクセス要求の制御方法、オンラインシステム、データベース運用支援ミドルウエアを格納する記憶媒体、及び、移行ユーティリティを格納する記憶媒体 | |
CN115686363B (zh) | 一种基于Ceph分布式存储的IBM大型机的磁带模拟网关*** | |
JP7377339B2 (ja) | ストレージシステム及びストレージシステムの制御方法 | |
JP2022020926A (ja) | ストレージシステム及び処理移行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070327 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070524 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070807 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100817 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110817 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120817 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120817 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130817 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |