JP4195180B2 - データ・セットをアクセスする方法、システム、及び製造物 - Google Patents

データ・セットをアクセスする方法、システム、及び製造物 Download PDF

Info

Publication number
JP4195180B2
JP4195180B2 JP2000340337A JP2000340337A JP4195180B2 JP 4195180 B2 JP4195180 B2 JP 4195180B2 JP 2000340337 A JP2000340337 A JP 2000340337A JP 2000340337 A JP2000340337 A JP 2000340337A JP 4195180 B2 JP4195180 B2 JP 4195180B2
Authority
JP
Japan
Prior art keywords
data set
storage device
storage devices
virtual tape
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000340337A
Other languages
English (en)
Other versions
JP2001188710A (ja
Inventor
トーマス・ウィリアム・ビッシュ
グレゴリィ・タッド・キシ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2001188710A publication Critical patent/JP2001188710A/ja
Application granted granted Critical
Publication of JP4195180B2 publication Critical patent/JP4195180B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データのコピーを維持する2つのストレージ装置の1つからデータをアクセスするシステム、方法、及びプログラムに関し、さらに具体的には、データ・セットをリコール(recall)するストレージ装置の1つを選択するシステム、方法、及びプログラムに関する。
【0002】
【従来の技術】
従来技術において、バーチャル・テープ・ストレージ・システム、即ちハード・ディスク・ドライブ・ストレージが、テープ・ドライブ及びテープ・カートリッジをエミュレートするために使用される。この方法では、テープに関して入力/出力(I/O)動作を実行しているホスト・システムは、実際にはテープ・ストレージをエミュレートしている一組のハード・ディスク・ドライブに関してI/O動作を実行している。従来技術のIBMマグスター・バーチャル・テープ・サーバ(International Business Machines Magstar Virtual Tape Server)では、1つ又は複数のバーチャル・テープ・サーバは、それぞれ、多くのテープ・カートリッジ、テープ・ドライブを含むテープ・ライブラリ、及び多くの相互接続されたハード・ディスク・ドライブから構成される直接アクセス記憶装置(DASD)と統合されている。バーチャル・テープ・サーバは、ホストに対してトランスペアレントである。ホストは、テープ・ボリュームをアクセスするリクエストを出す。バーチャル・テープ・サーバは、テープ・リクエストを傍受し、DASD内のボリュームをアクセスする。もしボリュームがDASD内になければ、バーチャル・テープ・サーバはボリュームをテープ・ドライブからDASDへリコールする。バーチャル・テープ・サーバは、データのリクエストにテープ・ドライブから応答するよりも、DASDから応答する方が、テープ・カートリッジ内のボリュームに対するホストのリクエストに実質的に早く応答することができる。このように、DASDは、テープ・カートリッジ・ライブラリ内のボリュームについて、テープ・ボリューム・キャッシュとして機能する。
【0003】
従来技術において、それぞれ別個のテープ・ドライブに統合された2つのバーチャル・テープ・サーバは、同じデータ・ボリュームについてアクセス及び記憶を提供することができる。2つのバーチャル・テープ・サーバ及び2つのライブラリを設けることによって、もし1つのバーチャル・テープ・サーバ及びテープ・ライブラリからファイルをリコールする動作が失敗すれば、ファイルは他のバーチャル・テープ・サーバ及びテープ・ライブラリから依然としてリコールされてよい。この冗長アーキテクチャは、1つのシステムのテープが損傷を受けた場合に、データ及びテープのより大きな利用可能性及び改善されたデータ・シャドーイング(data shadowing)を提供する。従来技術のシステムでは、エンタープライズ・システム・コネクション(ESCON)**チャネルが、多くのホストからバーチャル・テープ・サーバへ通信を提供することができる。システム内の各々のESCONチャネルは、ホストI/Oリクエストを処理するためにバーチャル・テープ・サーバを選択する1つ又は複数のバーチャル・テープ・コントローラを有する。
【0004】
従来技術において、各々のバーチャル・テープ・サーバはトークン・データベースを含み、このトークン・データベースは、テープ・ライブラリ内の各々のボリュームについて制御情報を含む。トークン・データベースは、各々のボリュームについてデータ・レベルを示し、且つボリュームが有効であるかどうかを示す。動作中に、バーチャル・テープ・サーバは、双方のバーチャル・テープ・サーバがデータの最新バージョンを含むことを確実にするため、同期化動作を実行する。ボリュームへのアップデートを受け取る従来技術のバーチャル・テープ・サーバは、更新されたボリュームについてトークン内のデータ・レベルを増進する。従って、アップデートを受け取った従来技術のバーチャル・テープ・サーバは、アップデートを受け取らなかったバーチャル・テープ・サーバよりも高いレベルを、ボリュームについて有する。更新動作の間に、双方のバーチャル・テープ・サーバのトークンの中にあるボリューム有効フラグは、ボリュームが更新されている間のボリュームへのアクセスを防止するため無効へ設定される。もしバーチャル・テープ・コントローラがホストのデータ・リクエストを受け取り、1つのバーチャル・テープ・サーバが、要求されたファイルについて、他のサーバよりも高いデータ・レベルのバージョンを有するならば、バーチャル・テープ・コントローラは、最高のデータ・レベルを有するバーチャル・テープ・サーバを選択する。従来技術において、バーチャル・テープ・サーバの間でデータが同期させられた後、バーチャル・テープ・サーバの各々は同じデータを含み、データ・レベルを等しく設定され、有効なフラグを設定されている。
【0005】
従来技術の手法は、時には、有効なデータへのアクセスを提供することができる可能性が最も高いバーチャル・テープ・サーバを選択しない。従って、2つのバーチャル・データ・サーバが使用されるとき、データへのアクセスを提供する改善されたメカニズムの必要性が、当技術分野に存在する。
【0006】
【発明が解決しようとする課題】
前述した従来技術の制約を克服するために、好ましい実施形態は、2つのストレージ装置の1つからデータ・セットをアクセスする方法、システム、及びプログラムを開示する。
【0007】
【課題を解決するための手段】
各々のストレージ装置は、データ・セットのコピーを含む。ストレージ装置からデータ・セットをアクセスする先行の試みが失敗したかどうかを示すフラグが、各々のストレージ装置について維持される。ストレージ装置からデータ・セットをアクセスする1つの先行の試みが失敗したことを、他のストレージ装置のフラグが示すならば、アクセスの先行の試みが失敗しなかったことを示すフラグを有するストレージ装置が選択される。データ・セットは、選択されたストレージ装置からアクセスされる。
【0008】
更なる実施形態において、もしデータ・セットが第3及び第4のストレージ装置の1つにあるならば、第3及び第4のストレージ装置の1つからデータ・セットがアクセスされる。そのような場合、もしデータ・セットが第3及び第4のストレージ装置の1つになければ、第1及び第2のストレージ装置の1つを選択して第1及び第2のストレージ装置の1つからデータをアクセスするステップが起こる。第1のストレージ装置からデータ・セットをアクセスしているとき、第1のストレージ装置からのデータ・セットが第3のストレージ装置へコピーされ、第2のストレージ装置からデータをアクセスしているとき、第2のストレージ装置からのデータ・セットが第4のストレージ装置へコピーされる。
【0009】
なお、更なる実施形態において、データ・セットをアクセスするステップは、データ・セットをリコールすることを含み、フラグは、データをリコールする試みが失敗したかどうかを示す。第3のストレージ装置から第1のストレージ装置へデータ・セットをコピーする動作がスケジュールされる。動作をスケジュールした後、データ・セットをアクセスするリクエストが受け取られる。もしスケジュールされた動作が、要求されたデータ・セットを第1のストレージ装置へまだコピーしていなければ、データ・セットは第3のストレージ装置からリコールされる。そのような場合、もし第1のストレージ装置に対するデータ・セットのスケジュールされた動作が完了していれば、データ・セットをアクセスするため第1及び第2のストレージ装置の1つを選択してデータ・セットをアクセスするステップが起こる。
【0010】
好ましい実施形態は、データ・セットをアクセスするため、アクセス・リクエストを成功裏に完了する可能性が最も大きい1つのストレージ装置を多数のストレージ装置の中から選択するプログラム・メカニズムを提供する。この目的のために、ストレージ装置でデータ・セットをアクセスする試みが失敗したかどうかを示すフラグが、各々のストレージ装置、及びその中のデータ・セット、例えばボリューム、ファイルなどについて維持される。もし1つのストレージ装置のフラグが、アクセスの試みが失敗しなかったことを示し、データ・セットについて、他のストレージ装置のフラグが、アクセスの試みが失敗したことを示すならば、システムは、失敗しなかったストレージ装置からデータ・セットをアクセスする。このようにして、好ましい実施形態は、要求されたアクセスの試み、例えばテープ・カートリッジからボリュームをリコールする試みを成功裏に実行する可能性が最も大きい1つのストレージ装置を多数のストレージ装置の中から選択するプログラム・メカニズムを提供する。
【0011】
【発明の実施の形態】
以下の説明で、説明の一部を形成し本発明の幾つかの実施形態を例示する添付の図面を参照する。他の実施形態が使用されてよいこと、及び本発明の範囲から逸脱することなく構造及び動作上の変更がなされてよいことを理解されたい。
【0012】
従来技術のシステムは、どのようにしてリコール試行の失敗を処理するか
2つのバーチャル・テープ・サーバ・システムを含む従来技術のIBMシステムにおいて、もしバーチャル・テープ・サーバがテープ・ライブラリからリコールされなければならないファイルのリクエストを受け取り、テープが失敗すると、ホストのプロセスは、その動作を継続するためにデータを必要とするかも知れないので、ホストはデータの獲得を再び試みるか、リコール動作を再び駆動する。もし双方のバーチャル・テープ・サーバにおける双方のボリュームが、同じデータ・レベルを有するならば、バーチャル・テープ・コントローラは、リコール・リクエストを失敗したことのない他のバーチャル・テープ・サーバではなく、リコール・リクエストを以前に失敗した同じバーチャル・テープ・サーバを選択する可能性がある。もしリコール・リクエストの失敗が、テープ・ライブラリに特有の問題の結果であれば、リコール・リクエストを失敗したことのない他のバーチャル・テープ・サーバのテープ・ライブラリからファイルを即時にアクセスできる可能性が非常に高い。しかし、従来技術は、失敗したバーチャル・テープ・サーバからボリュームをリコールする試みを継続し、リコールの試みをまだ失敗したことのない他のバーチャル・テープ・サーバを介してリコールする試みをしない可能性がある。
【0013】
従って、リコール・リクエストを失敗する可能性が少ないバーチャル・テープ・サーバを選択する改善された方法、システム、及びプログラムの必要性が、当技術分野に存在する。
【0014】
好ましい実施形態
図1は、2つのバーチャル・テープ・サーバを使用するコンピューティング環境を例示する。複数のホスト・システム2a,2bは、ESCONチャネルを介してバーチャル・テープ・コントローラ4a,4b,4c,4dへ接続される。バーチャル・テープ・コントローラ4a,4b,4c,4dは、ホスト2a,2bからバーチャル・テープ・サーバ6a又は6bへI/Oリクエストを送る。バーチャル・テープ・サーバ6a及び6bは、それぞれ直接アクセス記憶装置(DASD)8a及び8b、並びにテープ・ライブラリ10a及び10bへのアクセスを制御する。各々のDASD8a,8bは、多くの相互接続されたハード・ディスク・ドライブを含む。各々のテープ・ライブラリ10a,10bは、バーチャル・テープ・サーバ6a,6bがアクセスするテープ・ドライブへ機械的にロードされる多くのテープ・カートリッジを含む。ホストは、IBM OS/390オペレーティング・システムのようなオペレーティング・システム,又は当技術分野で知られた任意の他のオペレーティング・システムを含んでよい。バーチャル・テープ・サーバ6a又は6bは、テープ・ライブラリをエミュレートするソフトウェアを含むサーバ・システム、例えばIBM Magstarバーチャル・テープ・サーバを含んでよい。例えば、バーチャル・テープ・サーバ6a,6b及びバーチャル・テープ・コントローラ4a,4b,4c,4dは、IBMRS/6000プロセッサ、IBM AIXオペレーティング・システム、及びIBM ADSTAR 分散管理(Distributed Management)(ADSM)ソフトウェア,又はティヴォリ・ストレージ・マネージャ(Tivoli Storage Manager )を含む別個のコンピュータで実現され、ホスト2a,2b、DASD8a,8b、及びテープ・ライブラリ10a,10bの間でデータの移動動作を実行してよい。**テープ・ライブラリは、Magstar3494テープ・ライブラリのようなIBM Magstarテープ・ライブラリ、又は当技術分野で知られた任意の他のテープ・ライブラリ・システムを含んでよい。
【0015】
DASD8a,8bはテープ・ボリューム・キャッシュを提供する。テープ・ボリューム・キャッシュは、テープ・ライブラリ10a、10b内のボリュームをアクセスするためにディスク・キャッシュのパフォーマンス利益を拡張し、ホストI/OリクエストがDASD8a,8bからサービスされることを可能にすることによってパフォーマンスを改善する。バーチャル・テープ・サーバ6a,6bは、ホスト2a,2bに対して、テープ・データ・ボリュームを含むバーチャル・テープ・ドライブとして現れる。ホスト2a,2bは、バーチャル・ボリュームを実際のテープ・ボリュームとして考え、マウント(mount)のようなテープ管理コマンドを出し、さもなければバーチャル・テープ・サーバ6a,6bをテープ制御装置としてアドレスする。好ましい実施形態が実現されるバーチャル・テープ・サーバ技術の更なる詳細は、IBMの刊行物「拡張IBM Magstarバーチャル・テープ・サーバ: 実現ガイド」(Enhanced IBM Magstar Virtual Tape Server: Implementation Guide)、IBMドキュメント番号SG24−2229−02(Copyright IBM, April, 1999)に説明されている。この刊行物は、参照してその全体を組み込まれる。
【0016】
テープ・ライブラリ10a,10b内のテープ・カートリッジの中に維持されるボリュームは、論理ボリュームである。バーチャル・テープ・サーバ6a,6b内の論理ボリュームのコピーは、バーチャル・ボリュームと呼ばれる。DASD8a,8bの空間使用が閾値に達した後、バーチャル・テープ・サーバ6a,6bは、DASD8a,8b内のバーチャル・ボリュームをテープ・ライブラリ10a,10bへデステージ(destage)するようにスケジュールする。一度、ボリュームがデステージをスケジュールされると、それはクローズ(close)されるか、事実上ディスマウント(dismount)される。デステージをスケジュールされた後、バーチャル・テープ・サーバ6a,6b内のバーチャル・ボリュームは、それがテープへコピーされるまで上書きされることはできない。もしホスト2a,2bが、テープだけに存在するボリュームを要求すると、論理ボリュームがリコールされ、テープからDASD8a,8b内のバーチャル・ボリュームへコピーされなければならない。リコール動作は数分を必要とする場合があり、ストレージ・セルからテープ・カートリッジにアクセスしてテープ・ドライブへ挿入し、テープ・カートリッジをマウントし、テープを巻き戻すなどのために、ロボット・アームの使用に関して機械動作を含むかも知れない。好ましい実施形態において、テープ・ライブラリ10a,10bは同じデータ・ボリュームを含み、従って、相互に投影している。しかし、各々のバーチャル・テープ・サーバ6a,6bは独立して動作し、各々は異なったボリュームをDASD内にキャッシュしてよい。例えば、バーチャル・テープ・サーバ6a,6bは、バーチャル・ボリュームをテープ・ライブラリ10a,10bへ書き込む異なったスケジュールの結果として、異なったバーチャル・ボリュームを有してよい。
【0017】
もしバーチャル・ボリュームがデステージをスケジュールされ、次に、短い時間内に再びアクセスされると、バーチャル・ボリュームは依然としてDASD8a,8bに存在し、DASD8a,8bからテープ・ライブラリ10a,10bへコピーされるのを待っている。ボリュームは事実上ディスマウントされているが、バーチャル・テープ・サーバ6a,6bは、依然としてDASD8a,8bに残っていてクローズされているボリュームを、依然として事実上マウントすることができる。ボリュームがマウントされ、DASD8a,8bから読み取られるようにすることによって、テープの巻き戻し、ロボット・アームの運動に関連した遅延時間、及びマウントのロード時間が回避される。DASD8a,8bに残っているクローズされたボリュームのバーチャル・マウントを実行することは、キャッシュ・ヒットと呼ばれる。なぜなら、ボリュームはテープ・バーチャル・キャッシュ(DASD8a,8b)からマウントされてよいからである。
【0018】
各々のバーチャル・テープ・サーバ6a,6bは、テープ・ライブラリ10a,10b内の全てのボリュームについてトークン又はレコードのデータベースを含む。図2は、各々のボリューム・トークンの中に維持されるフィールド又はデータを例示する。ボリュームID52は、ボリュームのアイデンティティを含む。ロケーション・フィールド54は、ボリュームがバーチャル・テープ・サーバ6a,6bの中にあるか、テープ・ライブラリ10a,10bの中だけにあるかを示す。ロケーション・フィールド54は、ボリュームがデステージをスケジュールされていても、それがDASD8a,8bの中にあることを示すであろう。有効フラグは、データが有効であることを示す。有効フラグ56は、もし他のバーチャル・テープ・サーバ6bがDASD8b内のボリュームを更新していれば、1つのバーチャル・テープ・サーバ6a内のそのボリュームについて「無効」へ設定される。ボリュームが1つのバーチャル・テープ・サーバ6aで更新された後、有効フラグは再び「有効」又は「オン」へ設定される。データ・レベル58は、DASD8a,8b内のボリュームが同期させられた最後の時間の後にファイルが更新された回数を示す。データがバーチャル・ボリュームへ更新される度に、レベル・フィールド58が増進されて、特定のDASD8a,8b内のボリュームが更新された回数を示す。最高のデータ・レベルを有するDASD8a,8b内のボリュームは、アップデートの最も近時のバージョンを含む。この理由によって、データの最も近時のバージョン、即ち最高レベルを有するバーチャル・テープ・サーバ6a,6bが、ボリュームに関してI/O動作を実行しているときに選択されるであろう。品質フラグ60は、ボリュームをリコールする試みが、特定のバーチャル・テープ・サーバ6a,6bについて失敗したかどうかを示す。
【0019】
図3は、バーチャル・テープ・サーバを選択してマウント・リクエスト及び後続のI/Oリクエストを処理するため、ディレクタ(director)4a,4b,4c,4dで実現されるロジックを例示する。制御はブロック100で始まり、1つのバーチャル・テープ・コントローラ4a,4b,4c,又は4dが、1つのホスト2a,2bからマウント・リクエストを受け取る。バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、要求されたボリュームがバーチャル・テープ・キャッシュ(DASD8a,8b)の中にあるかどうかを決定するため、各々のバーチャル・テープ・サーバ6a,6b(VTS)の中のボリューム・トークンを処理する(ブロック102)。説明したように、バーチャル・ボリュームは、テープ・ライブラリ10a,10bへ書き込まれる前に、DASD8a,8bの中でマウントされないで残っており、クローズされているかも知れない。バーチャル・テープ・サーバ6a,6bの双方におけるデータ・レベルが有効でないか、同一でなければ(ブロック104)、バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、最高のデータ・レベルを有するバーチャル・テープ・サーバ6a又は6bへマウントを出す(ブロック108)。もしトークンが有効でなければ、マウントは失敗する。別の状況では、もしバーチャル・テープ・サーバ6a,6bの双方におけるデータ・レベルが同一且つ有効であれば、バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、マウントすべきボリュームが1つのバーチャル・テープ・サーバ6a,6b、即ちキャッシュの中に存在するかどうかを決定する(ブロック106)。もし存在すれば、バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、キャッシュされたボリュームを有するバーチャル・テープ・サーバ6a,6bへマウントを出す(ブロック110)。もしバーチャル・テープ・サーバ6a,6bの双方が、キャッシュされたボリュームを有するならば,バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、ロード・バランシング(例えば、バーチャル・テープ・サーバの最小ビジー)、ラウンド・ロビンなどの選択規準を使用して、ボリュームをマウントすべき1つのバーチャル・テープ・サーバ6a,6bを選択してよい。そのような選択規準は、フラグの値に無関係である。
【0020】
もしボリュームがいずれのキャッシュにもなければ、バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、バーチャル・テープ・サーバ6a,6bの双方が「高」の品質フラグ60を有するかどうかを決定する(ブロック112)。もし有するならば、バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、フラグ値に無関係の選択規準に基づいて、バーチャル・テープ・サーバ6a,6bのいずれかへマウントを出す(ブロック114)。別の状況では、もしバーチャル・テープ・サーバ6a,6bの双方が「高」の品質フラグ60を有しないならば、バーチャル・テープ・サーバ6a又は6bの1つが「高」の品質フラグ60の値を有するかどうかが決定される(ブロック116)。もし1つのバーチャル・テープ・サーバ6a又は6bが「高」の品質フラグ60の値を有するならば、バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、「高」の品質フラグ60の値を有するバーチャル・テープ・サーバ6a又は6bへマウント・リクエストを出す(ブロック118)。別の状況では、もしバーチャル・テープ・サーバ6a又は6bのいずれも「高」の品質フラグ60の値を有しないならば、制御はブロック114へ進み、フラグに無関係の規準、例えばロード・バランシング、ラウンド・ロビンなどに従ってバーチャル・テープ・サーバ6a,6bを選択する。
【0021】
図4は、ボリュームへのリコール・リクエストを処理するためにバーチャル・テープ・サーバ6a,6bで実現されるロジックを例示する。制御はブロック150で始まり、1つのバーチャル・テープ・サーバ6a又は6bがマウント・リクエストを受け取る。次に、バーチャル・テープ・サーバ6a又は6bは、リコールすべきボリュームが依然としてDASD8a又は8bの中にあるかどうか、即ちクローズされ事実上ディスマウントされているかどうか、しかし、まだテープ・ライブラリ10a又は10bへ書き込まれていないかどうかを決定する(ブロック152)。もしボリュームがDASD8a又は8bの中にあれば、バーチャル・テープ・サーバ6a又は6bは、DASD8a又は8bからボリュームのバーチャル・マウントを実行し(ブロック154)、ボリュームがマウントされた旨のリターン・メッセージをホスト2a,2bへ送る(ブロック156)。
【0022】
もしボリュームがDASD8a又は8bの中になければ、バーチャル・テープ・サーバ6a又は6bは、テープ・ライブラリ10a又は10bからボリュームをリコールするためリコール動作を開始する(ブロック158)。もしリコールが失敗すれば(ブロック160)、バーチャル・テープ・サーバ6a又は6bは、バーチャル・テープ・サーバ6a又は6b内でバーチャル・ボリュームについて品質フラグ60を低へ設定し(ブロック162)、リコール失敗のメッセージをホストへ返す。リコールは、カートリッジの使用不能、例えば、テープ・ライブラリ10aの予想されたストレージ・セル内にないこと、又はパーマネントの読み取りエラーを有することの結果として、失敗するかも知れない。もしリコールが成功したならば、バーチャル・テープ・サーバ6a又は6bは、リコールされた論理ボリュームを、DASD8a又は8b内のバーチャル・ボリュームへコピーする(ブロック164)。ボリュームをリコールした後、バーチャル・テープ・サーバ6a又は6bは、ロケーション・フィールド54をバーチャル・テープ・サーバへ設定し、品質フラグ60を「高」へ設定する。次に、ボリュームをリコールしているバーチャル・テープ・サーバ6a又は6bは、他のバーチャル・テープ・サーバ6a又は6bと同期させられ、リコールされたボリュームをバーチャル・テープ・サーバ6a又は6bへコピーしてよい。
【0023】
更に、もしDASD8a,8bからボリュームをリコールする試みが、ディスク・ドライブ内の読み取りエラーの結果として失敗したならば、バーチャル・テープ・サーバ6a,6bは、バーチャル・テープ・コントローラ4a,4b,4c,4dに、ボリュームを成功裏にリコールする可能性がより高い他のバーチャル・テープ・サーバ6a,6bからリコールを再試行させるため、ボリュームの品質フラグを「低」へ設定してよい。
【0024】
図3及び図4のロジックでは、もし最初のリコールの試みが失敗すると、失敗したバーチャル・テープ・サーバ、例えば6aの品質フラグ60が「低」へ設定される。これは、高の品質フラグを有するバーチャル・テープ・サーバ、例えば6bを、バーチャル・テープ・コントローラ4a,4b,4c,4dに選択させる。次にリコールが試みられたとき、ディレクタは、まだリコールを失敗したことがなく且つリコールを成功裏に完了する可能性が非常に高いバーチャル・テープ・サーバを選択する。なぜなら、リコールが双方のテープ・ライブラリ・システムで失敗する確率は低いからである。従って、好ましいロジックは、品質フラグがない場合に、他のバーチャル・テープ・サーバが失敗しなかったとき、失敗したリコールを発生したバーチャル・テープ・サーバ6aをディレクタがランダムに選択し続けるかも知れない状況を回避する。そのような状況の代わりに、好ましい実施形態では、バーチャル・テープ・コントローラ4a,4b,4c,又は4dは、失敗したリコールを経験した他のバーチャル・テープ・サーバ6aではなく、「高」の品質フラグ60を有するバーチャル・テープ・サーバ6bを選択する。もし双方の品質フラグ60が同一、即ち「低」又は「高」であれば、バーチャル・テープ・サーバ6a及び6bの1つを選択することに利点はない。なぜなら、双方は、リコールを完了する可能性に関して同じ状況にあるからである。そのような場合、ロード・バランシング、ラウンド・ロビン、最後にアクセスされたバーチャル・テープ・サーバなどの規準、又は他の規準を使用してバーチャル・テープ・サーバが選択されるか、テープ・サーバがランダムに選択される。従って、好ましい実施形態は、成功したリコールを実行することのできる可能性が最も高いバーチャル・テープ・サーバ6a又は6bを確実に選択するソフトウェア・メカニズムを提供する。失敗したリコールは、テープの使用不可能、テープ・ライブラリ10a,10bの機械的問題、テープのパーマネント・エラーなどの結果として起こるかも知れない。
【0025】
バーチャル・ボリュームをマウントした後、マウントを実行したバーチャル・テープ・サーバ6a又は6bは、バーチャル・ボリュームへの後続の読み取り/書き込み動作を処理する。
【0026】
図5は、更新リクエストを処理するためバーチャル・テープ・サーバ6a,6b内で実現されるロジックを例示する。制御はブロック250で始まり、図3のロジックに従って選択されたバーチャル・テープ・サーバ6a,6bが、マウントされたバーチャル・ボリュームへのアップデートを受け取る。次に、バーチャル・テープ・サーバ6a又は6bは、選択されなかったバーチャル・テープ・サーバ6a,6bのボリューム・トークンについて有効フラグ56を「オフ」に設定し(ブロック254)、選択されたバーチャル・テープ・サーバ6a又は6bでボリュームを更新する(ブロック256)。次に、バーチャル・テープ・サーバ6a又は6bは、レベル・フラグ58を増進し(ブロック258)、選択されたバーチャル・テープ・サーバ6a又は6bのボリューム・トークンの有効フラグを「オン」に設定する(ブロック260)。有効フラグ56は、アップデートが他のバーチャル・テープ・サーバ6a又は6bで同期させられるまで、選択されなかったバーチャル・テープ・サーバ6a又は6bについて「オフ」のままである。1つのDASD8a又は8b内のボリュームへのアップデートが、他のボリュームへコピーされない時間の間、レベルは異なったままであろう。
【0027】
読み取り動作は、図5のロジックを使用して、バーチャル・テープ・コントローラ4a,4b,4c,4dにバーチャル・テープ・サーバ6a又は6bを選択させ、読み取り動作を処理することによって進行する。その場合、選択されたバーチャル・テープ・サーバ6a又は6bは、要求されたデータをホスト2a,2bへ返すためにバーチャル・テープ・コントローラ4a,4b,4c,又は4dへ返す。
【0028】
好ましい実施形態は、2つの異なったバーチャル・テープ・サーバ6a,6bのボリューム状況を示すため、ボリューム・トークンを提供する。このトークンは、バーチャル・テープ・サーバ6a,6bを選択してアクセス動作を実行するために使用される。更に、このトークンは品質フィールドを含み、この品質フィールドはバーチャル・テープ・コントローラ4a,4b,4c,4dにバーチャル・テープ・サーバ6a,6bを選択させて、テープ・ライブラリ10a,10bからボリュームを成功裏にリコールする可能性が最も高いリコール動作をテープ・カートリッジから実行させる。これは、バーチャル・テープ・サーバ6a又は6bの1つがリコールを失敗したにも拘わらず、アップデートを処理するためにバーチャル・テープ・サーバ6a,6bをランダムに選択し続ける現在の方法に対する改善である。
【0029】
結論
ここで、本発明の好ましい実施形態の説明を終了する。以下は、本発明を達成する幾つかの代替の実施形態を説明したものである。好ましい実施形態は、ソフトウェア、ファームウェア、ハードウェア,又はこれらの組み合わせを作り出すため標準のプログラミング及び、又はエンジニアリング手法を使用する方法、装置,又は製造物として実現されてよい。ここで使用される「製造物」(又は代替として「コンピュータ・プログラム製品」)の用語は、1つ又は複数のコンピュータ読み取り可能装置、キャリヤ、又は媒体、例えば磁気記憶媒体、「フロッピー・ディスク」、CD−ROM、ネットワーク伝送線を介してプログラムへのアクセスを提供するファイル・サーバ、ホログラフィック装置などからアクセス可能な1つ又は複数のコンピュータ・プログラム及びデータ・ファイルを包含するように意図されている。もちろん、本発明の範囲から逸脱することなく、多くの変更がこの構成へなされてよいことを、当業者は認識するであろう。
【0030】
好ましい実施形態は、IBMバーチャル・テープ・サーバ・システムに関して説明された。しかし、低速ストレージ・システムからのデータをキャッシュするために磁気ストレージ又はメモリを含む高速ストレージ・システムが使用される任意のバーチャル・ストレージ・システムへ、好ましいロジックを応用することができよう。例えば、キャッシュはメモリ装置を含み、ストレージ装置はハード・ディスク・ドライブの集合を含んでよく、ハード・ディスク・ドライブのデータ・セットは、対応するメモリ・セットへページングされて、高速アクセス・キャッシュを介するデータ・セットへのアクセスが提供される。
【0031】
好ましい実施形態は、リコール、マウント、及びデータ・ボリュームのトークン管理に関して説明された。しかし、任意のデータ・セット又はデータ記憶単位、例えばファイル、トラック、固定ブロックなどが、リコール及びマウント動作の対象となることができよう。ここで使用されている「データ・セット」の用語は、任意のデータ記憶単位を意味する。
【0032】
好ましい実施形態において、バーチャル・テープ・サーバを選択してリコール又はI/Oアクセス動作を処理するために、バーチャル・テープ・コントローラが使用された。代替の実施形態では、ホストがそのような選択を行うか、バーチャル・テープ・サーバが、使用するバーチャル・テープ・サーバを決定して、リコール又はアクセス動作を処理してよい。
【0033】
好ましい実施形態は、リコール・リクエストを処理するため、選択すべきバーチャル・テープ・システムを決定することに関して説明された。代替の実施形態では、データ・アクセス・リクエストは、リコール・リクエスト以外のアクセス・リクエストを含んでよい。
【0034】
要するに、好ましい実施形態は、2つのストレージ装置の1つからデータ・セットをアクセスするシステム、方法、及びプログラムを開示する。各々のストレージ装置は、データ・セットのコピーを含む。各々のストレージ装置について、ストレージ装置からデータ・セットをアクセスする先行の試みが失敗したかどうかを示すフラグが維持される。もしストレージ装置からデータ・セットをアクセスする1つの先行の試みが失敗したことを、他のストレージ装置のフラグが示すならば、アクセスの先行の試みが失敗しなかったことを示すフラグを有するストレージ装置が選択される。データ・セットは、選択されたストレージ装置からアクセスされる。
【0035】
本発明の好ましい実施形態の前記の記述は、例示及び説明の目的で呈示された。余すところがないこと、又は開示された正確な形式へ本発明を限定することは意図されていない。前記の教示に照らして、多くの変更及びバリエーションが可能である。本発明の範囲は、この詳細な説明によって限定されるのではなく、ここに付加された請求の範囲によって限定されることが意図されている。前記の仕様、例、及びデータは、本発明の構成の製造及び使用について完全な説明を提供する。本発明の趣旨及び範囲から逸脱することなく、本発明の多くの実施形態を実現できるから、本発明は、付加された請求の範囲に存在する。
【0036】
** AIX、ESCON、Magstar、及びRS/6000は、IBMの登録商標である。
【0037】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)2つのストレージ装置の1つからデータ・セットをアクセスする方法であって、各々はデータ・セットのコピーを含み、
ストレージ装置からデータ・セットをアクセスする先行の試みが失敗したかどうかを示すフラグを、各々のストレージ装置について維持し、
もしストレージ装置からデータ・セットをアクセスする1つの先行の試みが失敗したことを他のストレージ装置のフラグが示すならば、アクセスの先行の試みが失敗しなかったことを示すフラグを有するストレージ装置を選択し、
選択されたストレージ装置からデータ・セットをアクセスする
ことを含む方法。
(2)更に、もし双方のストレージ装置のフラグが同じ値を有するならば、フラグの値に無関係の選択規準を使用して第1及び第2のストレージ装置の1つをアクセスすることを含む、上記(1)に記載の方法。
(3)更に、選択されたストレージ装置からデータ・セットをアクセスした後に、第1及び第2のストレージ装置の双方にあるデータ・セットを同期させることを含む、上記(1)に記載の方法。
(4)フラグが、第1及び第2のストレージ装置における各々のデータ・セットについて維持され、第1及び第2のストレージ装置が同じデータ・セットを有する、上記(1)に記載の方法。
(5)更に、もしデータ・セットが第3及び第4のストレージ装置の1つにあれば、第3及び第4のストレージ装置の1つからデータ・セットをアクセスし、ここで、もしデータ・セットが第3及び第4のストレージ装置の1つになければ、第1及び第2のストレージ装置の1つを選択して第1及び第2のストレージ装置の1つからデータ・セットをアクセスするステップが起こり、
第1のストレージ装置からデータ・セットをアクセスするとき、第1のストレージ装置から第3のストレージ装置へデータ・セットをコピーし、
第1のストレージ装置からデータ・セットをアクセスするとき、第2のストレージ装置から第4のストレージ装置へデータ・セットをコピーする
ことを含む、上記(1)に記載の方法。
(6)データ・セットをアクセスするステップが、データ・セットをリコールすることを含み、データをリコールする試みが失敗したかどうかをフラグが示し、更に、
第3のストレージ装置から第1のストレージ装置へデータ・セットをコピーする書き込み動作をスケジュールし、
書き込み動作をスケジュールした後に、データ・セットをアクセスするリクエストを受け取り、
もしスケジュールされた書き込み動作が、要求されたデータ・セットを第1のストレージ装置へまだコピーしていなければ、第3のストレージ装置からデータ・セットをリコールし、ここで、もし第1のストレージ装置へのデータ・セットのスケジュールされた書き込み動作が完了していれば、データ・セットをアクセスするため第1及び第2のストレージ装置の1つを選択してデータ・セットをアクセスするステップが起こる
ことを含む、上記(5)に記載の方法。
(7)更に、もし要求されたデータ・セットが、スケジュールされた書き込み動作の結果として第1及び第2のストレージ装置へコピーされており、また、もし双方のストレージ装置のフラグが同じ値を有するならば、データ・セットをリコールする第1及び第2のストレージ装置の1つをランダムに選択することを含む、上記(6)に記載の方法。
(8)第3及び第4のストレージ装置の双方におけるデータ・セットについて、データ・セットのバージョンを示すデータ・レベルが維持され、更に、データ・セットが第3及び第4のストレージ装置の双方にあるかどうかを決定することを含み、ここで、第3及び第4のストレージ装置の1つからデータ・セットをアクセスすることが、データ・セットについて最高のデータ・レベルを有する第3及び第4のストレージ装置の1つからデータ・セットをアクセスすることを含む、上記(5)に記載の方法。
(9)更に、もし第3及び第4のストレージ装置の双方におけるデータ・セットのデータ・レベルが同じ値を有するならば、データ・セットをアクセスする第3及び第4のストレージ装置の1つをランダムに選択することを含む、上記(8)に記載の方法。
(10)2つのストレージ装置の1つからデータ・セットをアクセスするシステムであって、各々はデータ・セットのコピーを含み、
ストレージ装置からデータ・セットをアクセスする先行の試みが失敗したかどうかを示すフラグを、各々のストレージ装置について維持する手段と、
もしストレージ装置からデータ・セットをアクセスする1つの先行の試みが失敗したことを他のストレージ装置のフラグが示すならば、アクセスの先行の試みが失敗しなかったことを示すフラグを有するストレージ装置を選択する手段と、
選択されたストレージ装置からデータ・セットをアクセスする手段と
を含むシステム。
(11)更に、もし双方のストレージ装置のフラグが同じ値を有するならば、フラグの値に無関係の選択規準を使用して第1及び第2のストレージ装置の1つをアクセスする手段を含む、上記(10)に記載のシステム。
(12)更に、選択されたストレージ装置からデータ・セットをアクセスした後に、第1及び第2のストレージ装置の双方にあるデータ・セットを同期させる手段を含む、上記(10)に記載のシステム。
(13)フラグが、第1及び第2のストレージ装置における各々のデータ・セットについて維持され、第1及び第2のストレージ装置が同じデータ・セットを有する、上記(10)に記載のシステム。
(14)更に、もしデータ・セットが第3及び第4のストレージ装置の1つにあれば、第3及び第4のストレージ装置の1つからデータ・セットをアクセスする手段と、ここで、もしデータ・セットが第3及び第4のストレージ装置の1つになければ、第1及び第2のストレージ装置の1つを選択して第1及び第2のストレージ装置の1つからデータ・セットをアクセスする手段が起こり、
第1のストレージ装置からデータ・セットをアクセスするとき、第1のストレージ装置から第3のストレージ装置へデータ・セットをコピーする手段と、
第1のストレージ装置からデータ・セットをアクセスするとき、第2のストレージ装置から第4のストレージ装置へデータ・セットをコピーする手段と
を含む、上記(10)に記載のシステム。
(15)データ・セットをアクセスする手段が、データ・セットをリコールすることを含み、データをリコールする試みが失敗したかどうかをフラグが示し、更に、
第3のストレージ装置から第1のストレージ装置へデータ・セットをコピーする書き込み動作をスケジュールする手段と、
書き込み動作をスケジュールした後に、データ・セットをアクセスするリクエストを受け取る手段と、
もしスケジュールされた書き込み動作が、要求されたデータ・セットを第1のストレージ装置へまだコピーしていなければ、第3のストレージ装置からデータ・セットをリコールする手段と、ここで、もし第1のストレージ装置へのデータ・セットのスケジュールされた書き込み動作が完了していれば、データ・セットをアクセスするため第1及び第2のストレージ装置の1つを選択してデータ・セットをアクセスするステップが起こる
ことを含む、上記(14)に記載のシステム。
(16)更に、もし要求されたデータ・セットが、スケジュールされた書き込み動作の結果として第1及び第2のストレージ装置へコピーされており、また、もし双方のストレージ装置のフラグが同じ値を有するならば、データ・セットをリコールする第1及び第2のストレージ装置の1つをランダムに選択する手段を含む、上記(15)に記載のシステム。
(17)第3及び第4のストレージ装置の双方におけるデータ・セットについて、データ・セットのバージョンを示すデータ・レベルが維持され、更に、データ・セットが第3及び第4のストレージ装置の双方にあるかどうかを決定する手段を含み、ここで、第3及び第4のストレージ装置の1つからデータ・セットをアクセスする手段が、データ・セットについて最高のデータ・レベルを有する第3及び第4のストレージ装置の1つからデータ・セットをアクセスすることを含む、上記(14)に記載のシステム。
(18)更に、もし第3及び第4のストレージ装置の双方におけるデータ・セットのデータ・レベルが同じ値を有するならば、データ・セットをアクセスする第3及び第4のストレージ装置の1つをランダムに選択する手段を含む、上記(17)に記載のシステム。
(19)2つのストレージ装置の1つからデータ・セットをアクセスするため処理装置のプログラミングに使用される製造物であって、各々はデータ・セットのコピーを含み、製造物はコンピュータ読み取り可能記憶媒体を含み、該コンピュータ読み取り可能記憶媒体は、
ストレージ装置からデータ・セットをアクセスする先行の試みが失敗したかどうかを示すフラグを、各々のストレージ装置について維持し、
もしストレージ装置からデータ・セットをアクセスする1つの先行の試みが失敗したことを他のストレージ装置のフラグが示すならば、アクセスの先行の試みが失敗しなかったことを示すフラグを有するストレージ装置を選択し、
選択されたストレージ装置からデータ・セットをアクセスする
ことを処理装置に実行させる少なくとも1つのコンピュータ・プログラムを、その中に埋め込まれている製造物。
(20)更に、もし双方のストレージ装置のフラグが同じ値を有するならば、フラグの値に無関係の選択規準を使用して第1及び第2のストレージ装置の1つをアクセスすることを含む、上記(19)に記載の製造物。
(21)更に、選択されたストレージ装置からデータ・セットをアクセスした後に、第1及び第2のストレージ装置の双方にあるデータ・セットを同期させることを含む、上記(19)に記載の製造物。
(22)フラグが、第1及び第2のストレージ装置における各々のデータ・セットについて維持され、第1及び第2のストレージ装置が同じデータ・セットを有する、上記(19)に記載の製造物。
(23)更に、もしデータ・セットが第3及び第4のストレージ装置の1つにあれば、第3及び第4のストレージ装置の1つからデータ・セットをアクセスし、ここで、もしデータ・セットが第3及び第4のストレージ装置の1つになければ、第1及び第2のストレージ装置の1つを選択して第1及び第2のストレージ装置の1つからデータ・セットをアクセスするステップが起こり、
第1のストレージ装置からデータ・セットをアクセスするとき、第1のストレージ装置から第3のストレージ装置へデータ・セットをコピーし、
第1のストレージ装置からデータ・セットをアクセスするとき、第2のストレージ装置から第4のストレージ装置へデータ・セットをコピーする
ことを含む、上記(19)に記載の製造物。
(24)データ・セットをアクセスするステップが、データ・セットをリコールすることを含み、データをリコールする試みが失敗したかどうかをフラグが示し、更に、
第3のストレージ装置から第1のストレージ装置へデータ・セットをコピーする書き込み動作をスケジュールし、
書き込み動作をスケジュールした後に、データ・セットをアクセスするリクエストを受け取り、
もしスケジュールされた書き込み動作が、要求されたデータ・セットを第1のストレージ装置へまだコピーしていなければ、第3のストレージ装置からデータ・セットをリコールし、ここで、もし第1のストレージ装置へのデータ・セットのスケジュールされた書き込み動作が完了していれば、データ・セットをアクセスするため第1及び第2のストレージ装置の1つを選択してデータ・セットをアクセスするステップが起こる
ことを含む、上記(23)に記載の製造物。
(25)更に、もし要求されたデータ・セットが、スケジュールされた書き込み動作の結果として第1及び第2のストレージ装置へコピーされており、また、もし双方のストレージ装置のフラグが同じ値を有するならば、データ・セットをリコールする第1及び第2のストレージ装置の1つをランダムに選択することを含む、上記(24)に記載の製造物。
(26)第3及び第4のストレージ装置の双方におけるデータ・セットについて、データ・セットのバージョンを示すデータ・レベルが維持され、更に、データ・セットが第3及び第4のストレージ装置の双方にあるかどうかを決定することを含み、ここで、第3及び第4のストレージ装置の1つからデータ・セットをアクセスすることが、データ・セットについて最高のデータ・レベルを有する第3及び第4のストレージ装置の1つからデータ・セットをアクセスすることを含む、上記(23)に記載の製造物。
(27)更に、もし第3及び第4のストレージ装置の双方におけるデータ・セットのデータ・レベルが同じ値を有するならば、データ・セットをアクセスする第3及び第4のストレージ装置の1つをランダムに選択することを含む、上記(19)に記載の製造物。
【図面の簡単な説明】
【図1】 好ましい実施形態が実現されるコンピューティング環境を示すブロック図である。
【図2】 本発明の好ましい実施形態に従ってデータをアクセスするために使用されるトークン・データベース・レコードを示す図である。
【図3】 本発明の好ましい実施形態に従ってボリュームをマウントするリクエストを処理するロジックを示す図である。
【図4】 本発明の好ましい実施形態に従ってボリュームをリコールするロジックを示す図である。
【図5】 本発明の好ましい実施形態に従ってボリュームのデータを更新するロジックを示す図である。
【符号の説明】
2a,2b ホスト・システム
4a,4b,4c,4d バーチャル・テープ・コントローラ(ディレクタ)
6a,6b バーチャル・テープ・サーバ
8a,8b 直接アクセス記憶装置(DASD)
10a,10b テープ・ライブラリ
52 ボリュームID
54 ロケーション・フィールド
56 有効フラグ
58 データ・レベル
60 品質フラグ

Claims (7)

  1. 各々がDASDとテープライブラリを含む2つのストレージ装置の1つからデータ・セットをアクセスする方法であって、各々のDASDは複数のデータ・セットのコピーを含み、
    前記ストレージ装置の前記テープライブラリから前記DASDへデータ・セットに対応するボリュームをリコール(コピー)する先行の試みが失敗したかどうかを示す品質フラグを、前記ストレージ装置について維持し、
    もし前記ストレージ装置からデータ・セットをアクセスする1つの先行の試みが失敗したことを他のストレージ装置の品質フラグが示すならば、アクセスの先行の試みが失敗しなかったことを示す品質フラグを有するストレージ装置を選択し、
    前記各々のストレージ装置の品質フラグの双方が同一であれば、ロード・バランシング、ラウンド・ロビン、最後にアクセスされたバーチャル・テープ・サーバ、ランダムに選択されたバーチャル・テープ・サーバなどの規準、又は他の規準を使用してストレージ装置を選択し、
    選択された前記ストレージ装置からデータ・セットをアクセスする
    ことを含む方法。
  2. 更に、選択されたストレージ装置からデータ・セットをアクセスした後に、第1及び第2のストレージ装置の双方にあるデータ・セットを同期させることを含む、請求項1に記載の方法。
  3. フラグが、第1及び第2のストレージ装置における各々のデータ・セットについて維持され、第1及び第2のストレージ装置が同じデータ・セットを有する、請求項1に記載の方法。
  4. 更に、もしデータ・セットが各々がDASDとテープライブラリを含む第3及び第4のストレージ装置の1つにあれば、第3及び第4のストレージ装置の1つからデータ・セットをアクセスし、ここで、もしデータ・セットが第3及び第4のストレージ装置の1つになければ、第1及び第2のストレージ装置の1つを選択して第1及び第2のストレージ装置の1つからデータ・セットをアクセスするステップが起こり、
    第1のストレージ装置からデータ・セットをアクセスするとき、第1のストレージ装置から第3のストレージ装置へデータ・セットをコピーし、
    第2のストレージ装置からデータ・セットをアクセスするとき、第2のストレージ装置から第4のストレージ装置へデータ・セットをコピーする
    ことを含む、請求項1に記載の方法。
  5. 第3及び第4のストレージ装置の双方におけるデータ・セットについて、データ・セットのバージョンを示すデータ・レベルが維持され、更に、データ・セットが第3及び第4のストレージ装置の双方にあるかどうかを決定することを含み、ここで、第3及び第4のストレージ装置の1つからデータ・セットをアクセスすることが、データ・セットについて最高のデータ・レベルを有する第3及び第4のストレージ装置の1つからデータ・セットをアクセスすることを含む、請求項に記載の方法。
  6. 更に、もし第3及び第4のストレージ装置の双方におけるデータ・セットのデータ・レベルが同じ値を有するならば、データ・セットをアクセスする第3及び第4のストレージ装置の1つをランダムに選択することを含む、請求項に記載の方法。
  7. 各々がDASDとテープライブラリを含む2つのストレージ装置の1つからデータ・セットをアクセスするシステムであって、各々のDASDは複数のデータ・セットのコピーを含み、
    ストレージ装置の前記テープライブラリから前記DASDへデータ・セットに対応するボリュームをリコール(コピー)する先行の試みが失敗したかどうかを示す品質フラグを、各々のストレージ装置について維持する手段と、
    前記ストレージ装置からデータ・セットをアクセスする1つの先行の試みが失敗したことを他のストレージ装置の品質フラグが示すならば、アクセスの先行の試みが失敗しなかったことを示す品質フラグを有するストレージ装置を選択する手段と、
    前記各々のストレージ装置の品質フラグの双方が同一であれば、ロード・バランシング、ラウンド・ロビン、最後にアクセスされたバーチャル・テープ・サーバ、ランダムに選択されたバーチャル・テープ・サーバなどの規準、又は他の規準を使用してストレージ装置を選択する手段と、
    選択された前記ストレージ装置からデータ・セットをアクセスする手段と
    を含むシステム。
JP2000340337A 1999-11-09 2000-11-08 データ・セットをアクセスする方法、システム、及び製造物 Expired - Fee Related JP4195180B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/436506 1999-11-09
US09/436,506 US7039657B1 (en) 1999-11-09 1999-11-09 Method, system, and program for accessing data from storage systems

Publications (2)

Publication Number Publication Date
JP2001188710A JP2001188710A (ja) 2001-07-10
JP4195180B2 true JP4195180B2 (ja) 2008-12-10

Family

ID=23732690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000340337A Expired - Fee Related JP4195180B2 (ja) 1999-11-09 2000-11-08 データ・セットをアクセスする方法、システム、及び製造物

Country Status (3)

Country Link
US (1) US7039657B1 (ja)
JP (1) JP4195180B2 (ja)
KR (1) KR100380587B1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002248158A1 (en) * 2000-11-02 2002-08-12 Pirus Networks Tcp/udp acceleration
US7865596B2 (en) * 2000-11-02 2011-01-04 Oracle America, Inc. Switching system for managing storage in digital networks
US7958199B2 (en) * 2001-11-02 2011-06-07 Oracle America, Inc. Switching systems and methods for storage management in digital networks
US7103727B2 (en) * 2002-07-30 2006-09-05 Hitachi, Ltd. Storage system for multi-site remote copy
TWI265453B (en) * 2003-05-12 2006-11-01 Auto Tools Group Co Ltd Apparatus and method for data refreshing
JP4559046B2 (ja) * 2003-08-04 2010-10-06 株式会社日立製作所 仮想テープライブラリ装置
US20050262296A1 (en) * 2004-05-20 2005-11-24 International Business Machines (Ibm) Corporation Selective dual copy control of data storage and copying in a peer-to-peer virtual tape server system
JP2006059110A (ja) * 2004-08-19 2006-03-02 Fujitsu Ltd ライブラリ制御方法、ライブラリ制御装置、及びライブラリ制御プログラム
JP4392338B2 (ja) * 2004-12-20 2009-12-24 富士通株式会社 データ管理方法及び装置並びに階層型記憶装置
JP4572857B2 (ja) * 2006-03-30 2010-11-04 日本電気株式会社 テープ仮想化システム、テープ仮想化方法およびテープ仮想化プログラム
JP4636270B2 (ja) * 2006-04-27 2011-02-23 日本電気株式会社 仮想ライブラリ装置と仮想テープの排出、投入方法
US8140788B2 (en) * 2007-06-14 2012-03-20 International Business Machines Corporation Apparatus, system, and method for selecting an input/output tape volume cache
US7689759B2 (en) * 2007-08-29 2010-03-30 International Business Machines Corporation Method and apparatus for providing continuous access to shared tape drives from multiple virtual tape servers within a data storage system
US7933866B2 (en) * 2007-09-06 2011-04-26 International Business Machines Corporation Systems, methods and software programs for data synchronization
US8205138B2 (en) * 2008-08-07 2012-06-19 International Business Machines Corporation Memory controller for reducing time to initialize main memory
US8370569B2 (en) * 2008-09-17 2013-02-05 Netapp, Inc. Method for remote data back up with de-duplication and recovery from clustered secondary storage arrays
JP5152006B2 (ja) * 2009-01-22 2013-02-27 富士通株式会社 記憶装置、記憶装置のデータ転送方法
US8494674B2 (en) 2011-08-24 2013-07-23 International Business Machines Corporation Fast-access self-repairing tape library using mobile robots
JP5828287B2 (ja) * 2012-02-02 2015-12-02 富士通株式会社 仮想テープ装置およびテープマウント制御方法
US9263082B2 (en) * 2013-01-30 2016-02-16 International Business Machines Corporation High density hybrid storage system
US11231866B1 (en) 2020-07-22 2022-01-25 International Business Machines Corporation Selecting a tape library for recall in hierarchical storage

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS57146361A (en) * 1981-03-06 1982-09-09 Hitachi Ltd Decentralized processing method
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
JPH01161566A (ja) * 1987-12-18 1989-06-26 Hitachi Ltd 分散処理システムにおけるデータ処理方式
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
JPH0740247B2 (ja) * 1989-06-20 1995-05-01 松下電器産業株式会社 キャッシュメモリ装置
US5325505A (en) * 1991-09-04 1994-06-28 Storage Technology Corporation Intelligent storage manager for data storage apparatus having simulation capability
CA2071346A1 (en) * 1991-10-18 1993-04-19 Claus William Mikkelsen Method and means for time zero backup copy of data
US5542064A (en) * 1991-11-21 1996-07-30 Hitachi, Ltd. Data read/write method by suitably selecting storage units in which multiple copies of identical data are stored and apparatus therefor
JPH06236608A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd ライブラリシステムおよびその制御方法
US5765172A (en) 1996-01-23 1998-06-09 Dsc Communications Corporation System and method for verifying integrity of replicated databases
US6041394A (en) * 1997-09-24 2000-03-21 Emc Corporation Disk array write protection at the sub-unit level
US6272605B1 (en) * 1998-06-01 2001-08-07 International Business Machines Corporation System using priority data of a host recall request to determine whether to release non-volatile storage with another host before processing further recall requests
US6493796B1 (en) * 1999-09-01 2002-12-10 Emc Corporation Method and apparatus for maintaining consistency of data stored in a group of mirroring devices

Also Published As

Publication number Publication date
KR100380587B1 (ko) 2003-04-26
KR20010051535A (ko) 2001-06-25
JP2001188710A (ja) 2001-07-10
US7039657B1 (en) 2006-05-02

Similar Documents

Publication Publication Date Title
JP4195180B2 (ja) データ・セットをアクセスする方法、システム、及び製造物
JP3808007B2 (ja) 記憶装置のキャッシング方法およびシステム
US6438661B1 (en) Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US6981102B2 (en) Method and system for managing meta data
US7111134B2 (en) Subsystem and subsystem processing method
US7051174B2 (en) Method, system, and program for restoring data in cache
JP3870063B2 (ja) データ・フラグメントを利用して、移動可能な格納ボリュームを効率的にインポート/エクスポートする方法およびシステム
EP0405926B1 (en) Method and apparatus for managing a shadow set of storage media
US6549992B1 (en) Computer data storage backup with tape overflow control of disk caching of backup data stream
EP0566964B1 (en) Method and system for sidefile status polling in a time zero backup copy process
US7124128B2 (en) Method, system, and program for managing requests to tracks subject to a relationship
US6779058B2 (en) Method, system, and program for transferring data between storage devices
US6978325B2 (en) Transferring data in virtual tape server, involves determining availability of small chain of data, if large chain is not available while transferring data to physical volumes in peak mode
US7249218B2 (en) Method, system, and program for managing an out of available space condition
US6782416B2 (en) Distributed and geographically dispersed quorum resource disks
JP3209634B2 (ja) 計算機システム
EP0566968A2 (en) Method and system for concurrent access during backup copying of data
US6425050B1 (en) Method, system, and program for performing read operations during a destage operation
US5210865A (en) Transferring data between storage media while maintaining host processor access for I/O operations
US7024530B2 (en) Method, system, and program for establishing and using a point-in-time copy relationship
US20030182350A1 (en) Method,system, and program for allocating tasks to a plurality of processors
JPH0683687A (ja) データ処理システム及びその方法
JPH08305500A (ja) 記憶制御装置、それを含むデータ記憶システムおよび二重ペア抑止方法
US20050262296A1 (en) Selective dual copy control of data storage and copying in a peer-to-peer virtual tape server system
US20130031320A1 (en) Control device, control method and storage apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040318

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050606

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080814

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080925

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: 20111003

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131003

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees