JP2004510243A - テラバイト容量のボリュームを有する仮想テープ - Google Patents
テラバイト容量のボリュームを有する仮想テープ Download PDFInfo
- Publication number
- JP2004510243A JP2004510243A JP2002530975A JP2002530975A JP2004510243A JP 2004510243 A JP2004510243 A JP 2004510243A JP 2002530975 A JP2002530975 A JP 2002530975A JP 2002530975 A JP2002530975 A JP 2002530975A JP 2004510243 A JP2004510243 A JP 2004510243A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- addresses
- client
- tape
- address
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims description 14
- 239000000835 fiber Substances 0.000 description 19
- 238000007726 management method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
テープ・ドライブ内に装着されたテープ・カートリッジをエミュレートするためのシステム及び動作方法。エミュレートされたテープ・ドライブは、アドレス可能な範囲を定義しているインターフェース・プロトコルにより、クライアントと通信する。エミュレートされたテープ・カートリッジは、インターフェース・プロトコル内に定義されているアドレス可能な範囲と同じか、それより広い。1つ又はそれ以上の記憶装置が、テープ・ドライブ及び複数の仮想ボリュームをエミュレートする。クライアントと記憶装置との間に位置する、インターフェース・マネージャが、エミュレートされたテープ・カートリッジをアセンブルするために、必要に応じて、仮想ボリュームを装着する。
Description
【0001】
[技術分野]
本発明は、仮想磁気テープ・ボリューム記憶デバイス及び動作方法の分野に関する。
【0002】
[発明の背景]
通常の磁気テープ記憶環境の場合には、多くのテープ・カートリッジ、テープ・ドライブ、及びライブラリ・デバイスが、種々のクライアントの間に分散している。これらのクライアントは、1台のユーザ・ワークステーションであっても、ワーク・グループであっても、ある部門のサーバであっても、又は大型の多重ユーザ・プラットフォームであってもよい。これらの環境の管理の複雑さは、データの記憶量及び計算環境の異質性の関数として増大する。記憶管理コストは、情報技術予算の有意の部分を占めていて、オープン・システムと呼ばれる新たに出現中のマーケットにおいては、特に有意の部分を占めている。オープン・システム・ショップは、UNIX、NTサーバ等のようなネットワーク・オペレーティング・システムをベースとするショップである。
【0003】
オープン・システム・マーケットの場合には、磁気テープ技術の主な使用目的は、データの機密保護であり、特にデータのバックアップ、修復及び災害復旧である。いくつかの要因の絡み合いが、他の用途に磁気テープを採用する際の障害になっている。これらの要因の1つは、管理が複雑なことである。自動テープ・ライブラリ及び階層記憶テープ・システムにより、膨大なデータの記憶をローコストで行うことができるが、このようなライブラリ及びシステムは、かなり管理が複雑である。
【0004】
特にテープ用途の場合には、クライアントのニーズとシステム管理のニーズとの間に一般的な対立があった。例えば、ライブラリ・リソースとテープ・デバイス・リソースが中央に位置している場合には、多くの場合、クライアントは、定義によりリソースを最適状態以下の状態で使用するリソース分割スキームと競合しなければならない。各部分に対して、個々のスクラッチ・テープ・プールを維持しなければならないのがその一例である。別な方法としては、集中リソースのクライアントによる使用のスケジュールは、順番に、リソースの共通のプールを使用する各クライアントにより作成することができる。このことは、成長を続ける情報技術リソースのニーズ、及び周期的な作業量を特徴とする環境においては困難な問題であり、集中式リソース管理とクライアントとの間の通信がうまくいっていないために、問題はますます難しいものになっている。多くの場合、仮想テープ技術は、状況をさらに困難なものにしている。例えば、クライアントが他の物理的な場所に移動させるために、データ・セットをバックアップしたい場合に、多数の仮想テープ・ラベルとその本当の相手の仮想テープとの間の不一致により、回復プロセスの際にエラーが発生する恐れがある。
【0005】
仮想磁気テープ、記憶エリア・ネットワーク通信、及び集中システム管理ツールのようないくつかの技術は、データ記憶管理の難問を解決するために、多年にわたって進歩してきた。これら各技術は、管理の問題のある部分を解決した。例えば、仮想テープ技術により、テープ・ドライブを非常に効率的に使用するために、テープのバッファリング及びデータ転送速度の整合が可能になった。記憶エリア・ネットワークにより、記憶デバイス及びクライアントの同一場所への設置に関する非常に多くの問題が解決し、それにより、オープン・システムは、中央に位置することができるようになり、集中的に記憶リソースを管理できるようになった。最後に、システム管理ツールにより、種々の環境でデータ管理をするための共通のツールが提供できる見通しができた。
【0006】
しかし、これら各技術は、問題の中のいくつかを解決したに過ぎない。例えば、仮想テープ・ボリュームは、多くの場合、実テープ・カートリッジをエミュレートするように設計される。カートリッジの視点から見ると、実テープ・カートリッジを使用する場合と比較した場合、仮想テープ・ボリュームを使用しても管理上の利点は何もない。クライアントは、依然として、どの仮想テープ・ボリュームに必要なデータが記憶されているのかを知らなければならないし、また、クライアントは、仮想テープ・ボリュームを装着したり、取り外したりするために、記憶装置を制御しなければならない。他の例の場合には、システム管理ツールは、すべてのデータ記憶システムを均等にサポートしない傾向がある。ある販売業者の記憶装置のクライアントによる管理は、通常、ある点で、他の販売業者の第2の記憶装置と互換性を持たない。
【0007】
クライアントが、自分達の用途のために、磁気テープを好適な媒体としてもっと進んで受け入れてくれるようにするためには、テープ記憶システムを簡単に使用することができ、何時でも入手することができるようにする必要がある。理想的には、テープ記憶システムは、クライアントから見た場合、クライアントのコンピュータの背後に直接接続していて、専用テープ・ドライブ内に何時でも装着されている1つのテープ・カートリッジのように見え、しかも集中管理の利点を実現するものであってほしい。このテープ・カートリッジの容量は、クライアントの要件及び予算に適合するように調整できるものでなければならない。容量の上限は、高度のエンド・ユーザに対しては、仮想上制限のないものでなければならない。
【0008】
[発明の開示]
本発明は、テープ・ドライブ内に装着されているテープ・カートリッジ及びシステムの管理方法をエミュレートするシステムである。エミュレートされるテープ・ドライブとクライアントとの間の通信は、インターフェース・プロトコルにより行われる。エミュレートされるテープ・カートリッジのアドレス指定可能な範囲は、テープ・カートリッジを、実際に無制限の容量を持つように見せているインターフェース・プロトコルが定義しているアドレス指定可能な範囲と一致するか、又はそれ以上になる。動作中、1つ又はそれ以上の記憶装置が、テープ・ドライブ及び複数の仮想テープ・ボリュームをエミュレートする。インターフェース・マネージャが、テープ・ドライブ内の複数の仮想テープ・ボリュームの装着を制御するので、複数の仮想テープ・ボリュームは、ユーザから見た場合、1つの大型のテープ・カートリッジのように見える。
【0009】
インターフェース・マネージャは、インターフェース・プロトコルが定義するアドレスを複数の仮想テープ・ボリュームが使用する種々の仮想アドレスにマッピングするアドレス・マップ機能を含む。他の実施形態の場合には、新しいデータを現在のデータ上に上書きする代わりに、テープ・カートリッジの他の場所の未使用のブロックにマッピングすることにより、データの現在のブロックを保存するために、アドレス・マッピングを使用することができる。第2の他の実施形態の場合には、インターフェース・マネージャは、クライアントと通信するために使用するインターフェース・プロトコルと、記憶装置と通信するために使用する第2のプロトコルとの間で変換を行うプロトコル変換器を含むことができる。第3の実施形態は、エミュレートされるテープ・ドライブ、又はクライアントのサービス・レベルに基づくテープ・カートリッジに対する、1つ又はそれ以上の性能パラメータを設定するポリシー・コントローラを含む。
【0010】
従って、本発明の1つの目的は、テープ・ドライブ内に装着されたテープ・カートリッジをエミュレートするシステム及び方法を提供することである。この場合、クライアントは、インターフェース・プロトコルを通してエミュレートされるテープ・ドライブと通信し、テープ・カートリッジの容量は、インターフェース・プロトコルが定義するアドレス指定可能な範囲と一致するか、又はそれ以上になる。
【0011】
上記及び他の目的、機能及び利点は、添付の図面を参照しながら以下の詳細な説明を読めば、容易に理解することができるだろう。
【0012】
[発明を実施するための最良の形態]
図1は、クライアント90a−cに接続している本発明100のブロック図である。1人又はそれ以上のクライアント90a−cは、ファイバ・チャネル−仲裁ループ(FC−AL)ファイバ92を通してインターフェース・マネージャ102と通信する。FC−ALファイバ92は、米国規格協会(ANSI)(ニューヨーク州ニューヨーク)規格ANSI X3.272−1996により定義されている。インターフェース・マネージャ102は、FC−ALファイバ92に接続しているホストとしてのサーバ106の制御下で動作する。複数の記憶装置108も、FC−ALファイバ92を通してインターフェース・マネージャ102と通信する。インターフェース・マネージャ102は、各クライアント90a−cが記憶装置108と通信する一種のゲートウェイとして機能する。インターフェース・マネージャ102も、記憶装置108を管理し、通信を変更する。そのため、クライアントの視点から見た場合、記憶装置108は、図2に示すように、各クライアント90に直接接続しているエミュレートされたテープ・ドライブ112内に装着されている1つの大型のエミュレートされたテープ・カートリッジ110のように見える。
【0013】
記憶装置108においては、種々の技術を使用することができる。上記技術は、自動テープ・ライブラリ、自動ディスク・ライブラリ、冗長で安価なデバイス(RAID)システム、ディスク・ファーム等を含むが、これらに制限されない。必要なことは、記憶装置108が、エミュレートされたテープ・ドライブ112及び複数の仮想ボリューム114(極細線で示す)を供給することができることである。この時点で、実際のテープ・ドライブをエミュレートされたテープ・ドライブ112として使用し、1つ又はそれ以上の実際のテープ・カートリッジを1つ又はそれ以上の仮想ボリューム114として使用することによりエミュレーションを行うことができる。サーバ106に対する記憶装置108の物理的位置は重要ではない。この場合、FC−ALファイバ92を通してインターフェース・マネージャ102へのチャネルを確立しさえすればよい。そうすることにより、サーバ106を、例えば、クライアント90a−cの近くの別の場所に位置させる一方で、記憶装置108を、制御及び保守のソースの近くに位置させることができる。
【0014】
図3は、2つのエミュレートされたテープ・カートリッジ110a−bの仮想ボリューム114を複数の記憶装置108a−c内にマッピングする方法を示す。第1のエミュレートされたテープ・カートリッジ110aは、8つの仮想ボリューム114a−hを持つ。第1の仮想ボリューム114aは、第1の記憶装置108a内の第1の実媒体115a上に物理的に位置している。第2及び第3の仮想ボリューム114b−cは、第1の記憶装置108a内の第2の実媒体115b上に、相互に隣接して物理的に位置している。同様に、第4及び第5の仮想ボリューム114d−eは、第2の記憶装置108b内の第3及び第4の実媒体115c及び115d上にそれぞれ物理的に位置している。第6及び第7の仮想ボリューム114f−gは、第3の記憶装置108c内の第5及び第6の実媒体115e−f上にそれぞれ位置している。最後に、第8の仮想ボリューム114hは、第1の記憶装置108a内の第1の実媒体115a上に位置している。同様な方法で、第2のエミュレートされたテープ・カートリッジ110bを備える種々の仮想ボリューム114は、記憶装置108a−c内の種々の実媒体115a−g上に物理的に位置している。
【0015】
エミュレートされたテープ・カートリッジ110内の仮想ボリューム114の順序と記憶装置108内の実媒体115との間でマッピングするためのアルゴリズムは、多くの要因及びポリシーを考慮に入れることができる。例えば、エミュレートされたテープ・カートリッジ110の多くのシーケンシャルな仮想ボリューム114が、1つの実媒体115にマッピングされる場合には、データを再度呼び出す間の装着待ち時間を短縮することができる。仮想ボリューム114を、第一/最善の使用することができる記憶装置108内の第一/最善の使用することができる実媒体115内にマッピングする場合には、データ書込み中の装着待ち時間を短縮することができる。ポリシーを考慮することにより、同じ実媒体115上の1人のクライアント90aに属するデータを競合クライアント90bに属するデータとして記憶しないですますことができる。災害復旧の要件により、オフサイトの位置に周期的にバックアップされる実媒体115にマッピングを行う場合もあるし、又は、異なる場所の複数の記憶装置108に冗長に書き込まなければならない場合もある。履歴上重要なデータの場合には、不注意による消去等を防止するために、仮想ボリューム114を追記型の実媒体115にマッピングしなければならない場合がある。
【0016】
FC−ALファイバ92は、本発明用の好適なネットワーク通信技術である。FC−ALファイバ92を使用することにより、クライアント90とインターフェース・マネージャ102との間、インターフェース・マネージャ102と記憶装置108との間に「チャネル」を確立することができる。チャネルは、FC−ALファイバ92のノードの間に確立することができる特殊な目的の通信リンクである。チャネルは、FC−ALファイバ92を横切ってデータを送信するために、低いレベルのソフトウェアと小さなオーバーヘッドしか必要としない。その結果、チャネルは、ノード間で高速の通信を行うことができる。本発明の場合には、FC−ALファイバ92の代わりに、他のタイプのネットワークを使用することもできる。例えば、幾人かのクライアント90a−b及びサーバ106は、イーサネットをベースとするローカル・エリア・ネットワーク(LAN)94上に接続することができるし、一方、記憶装置108及び他のクライアント90cは、図4に示すように、サーバ106にアクセスすることができる、記憶エリア・ネットワーク(SAN)96の一部である。他の例の場合には、サーバ106は、インターネット、ワイド・エリア・ネットワーク、企業ネットワーク、又は任意の類似のネットワーク技術により記憶装置108に接続することができる。
【0017】
図2に戻って説明すると、クライアント90とエミュレートされたテープ・ドライブ112との間の図示のインターフェースが、工業標準規格プロトコルに適合していると便利である。好適なインターフェース・プロトコルは、小型コンピュータ用周辺機器インターフェース−2(SCSI−2)規格である。SCSI−2は、ANSI規格ANSI X3.131−1994により定義される。この規格は、パーソナル・コンピュータ、ワークステーション、サーバ、テープ・ドライブ、ディスク・ドライブ、他の計算及び記憶デバイス用のもので、コンピュータ業界で共通に使用される。SCSI−2は、また、FC−ALフレーム内に透明に内蔵させることができ、AF−ALファイバ内の他のノードに送ることができる標準インターフェース・プロトコルの中の1つである。そのため、クライアント90は、FC−ALファイバ92の存在を意識しないですむ。クライアント90は、SCSI−2バス上の論理装置アドレスの1つのところに装着され、エミュレートされたテープ・カートリッジ110を含む、エミュレートされたテープ・ドライブ112を意識するだけである。他の実施形態の場合には、SCSI−2プロトコルにより、8つの論理装置をSCSI−2バスに接続することができる。クライアント90は、通常、最後の論理装置番号を使用しているので、エミュレートされたテープ・カートリッジ110を含む、最大7つまでのエミュレートされたテープ・ドライブ112を、本発明の好適な実施形態により、同時に生成することができる。そうすることにより、クライアント90は、異なる目的のためのいくつかのエミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110を使用することができる。例えば、1つのエミュレートされたテープ・ドライブ112、エミュレートされたテープ・カートリッジ110をワーク・グループ内の共有ファイルに割り当てることができる。第2のエミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110は、個人ファイルの安全な場所として使用することができる。第3のエミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110は、ローカル・サーバの毎晩のバックアップ用に使用することができる。以下同じ。
【0018】
インターフェース・マネージャ102をクライアント90に接続するために、FC−ALファイバ92を使用した場合のもう1つの利点は、FC−ALファイバ92が、多くの異なるインターフェース・プロトコルの透明な移送をサポートすることである。SCSI−2の他に、FC−ALファイバ92は、また、インテリジェント周辺装置インターフェース(IPI)、高性能並列インターフェース(HIPPI)フレーム・プロトコル、インターネット・プロトコル(IP)、コンピュータ・データ用のATM適応層(AAL5)、リンク・カプセル収容(FC−LE)、単一バイト・コマンド・コード・セット・マッピング(SBCCS)、及びIEEE(ニュージャージー州ピスカタウェイ所在の、米国電気電子技術者協会)802.2プロトコルをサポートする。これらの規格の中の任意のものを、他の類似の工業規格と一緒に本発明で使用することもできる。
【0019】
図1に戻って説明すると、インターフェース・マネージャ102は、好適な実施形態で、FC−ALファイバ92に接続しているホストとしてのサーバ106の制御下で動作する。他の実施形態の場合には、インターフェース・マネージャ102は、他の場所において、ホストの制御下で動作することができる。1つの重要な位置は、ある記憶装置108のインターフェース・マネージャ102をホストとして制御する位置である。ほとんどすべての記憶システム(記憶装置108)は、記憶リソースを管理し、制御するための少なくとも1台のコンピュータを備える。これらコンピュータの中の1台は、インターフェース・マネージャ102に対して、適当なホストとしての働きをする。このような構成になっているので、販売業者は、本発明を自蔵パッケージとして提供することができる。例えば、図5に示すように、(仮想ボリューム114用の)30の35ギガバイトの磁気テープ・カートリッジ134と、(エミュレートされたテープ・ドライブ112用の)実テープ・ドライブ136を含み、インターフェース・マネージャ102をホストとして制御するラック装着自動テープ・ライブラリ116(あるタイプの記憶装置108)は、クライアント90から見ると、1テラバイトの容量を持つ1つのエミュレートされたテープ・カートリッジ110のように見える。
【0020】
インターフェース・マネージャ102をホストとして制御するためのもう1つの可能な物理的な位置は、クライアント90a−c内の位置である。この方法の1つの利点は、クライアント90a−cとインターフェース・マネージャ102との間の通信が、もはや、SCSI−2規格又はハードウェアの速度制限により制約を受けないということである。インターフェース管理ソフトウェア用のさらにもう1つ可能なホストとしては、LANサーバ、代理サーバ、ファイヤウォール・サーバ、及びクライアント90a−cを、直接ネットワークの外側で通信することができるようにする類似のゲートウェイ等がある。
【0021】
インターフェース・マネージャ102は、いくつかの機能を実行する。図6は、図1のシステムの機能の流れのブロック図である。インターフェース・プロトコルによるクライアント90a−cとの通信は、クライアント・コントローラ118により提供される。好適な実施形態の場合には、このことは、クライアント・コントローラ118が、SCSI−2規格により、クライアント90a−cとの間でメッセージを送受信することを意味する。クライアント・ノードのところで、FC−ALファイバ92からのSCSIメッセージを挿入したり、除去したりするために、クライアント90a−cとクライアント・コントローラ118との間に、FC−ALアダプタ98a−cへのいくつかのSCSI−2が設置されている。
【0022】
記憶装置コントローラ120は、記憶装置108(図には1つだけを示してある)と通信するために、インターフェース・マネージャ102の他方の端部のところに常駐している。記憶装置コントローラ120は、エミュレートされたテープ・ドライブ112及び仮想ボリューム114を形成するために、記憶装置108が必要とするすべての初期化、装着、取り外し、エミュレーション、及び種々の記憶装置特有の制御機能を提供する。記憶装置コントローラ120は、また、仮想ボリューム114を論理的に一緒に追加する能力を持っているので、仮想ボリュームは、エミュレートされたテープ・カートリッジ110のように見える。記憶装置コントローラ120が、記憶装置108と通信するために、クライアント・コントローラ118が、クライアント90a−cと通信するのに使用しているのと同じインターフェース・プロトコルを使用している場合には、記憶装置コントローラ120及びクライアント・コントローラ118は、点線122で示すように、いくつかのアドレス指定のないSCSI−2メッセージを相互間で直接伝送することができる。
【0023】
SCSI−2規格を使用すれば、記憶媒体を、256の区画(28)に分割することができる。各区画は、最高65,536(216)区画単位の区画サイズにフォーマットすることができる。この場合、各区画単位は、現在、最高1メガバイト(220)に選択することができる。(SCSI−2規格は、1つの区画サイズ単位を定義するために、2つのビットを割り当てる。2進法の10が、1メガバイトの区画単位サイズとして定義される。2進法の11は、この規格では未使用である。)これにより、最大区画フォーマットのサイズは、約68.8ギガバイト(236)になり、フォーマットした全媒体容量は、約17.6テラバイト(244)になる。区画内のブロック・アドレス指定は、32ビットのフィールドで供給され、その場合、通常のテープ・ブロックのサイズは、約32キロバイト(215)である。このことは、1つの区画内のアドレス指定可能な範囲は、理論的には、140テラバイト(247)にもなり、その結果、1つの区画内で現在使用されているアドレス範囲(236)よりもアドレス範囲は広くなる。未使用の2進法の11を、例えば、2ギガバイト(231)のような、もっと大きい区画サイズとして定義することにより、1つの区画のフォーマットされたサイズを、その区画内のアドレス指定可能な範囲(247)と一致させることができる。
【0024】
現在の磁気テープ・カートリッジ、及びその仮想磁気テープ・カートリッジは、最大35ギガバイトの容量を持つ。このことは、SCSI−2規格を使用することにより、本発明は、クライアント90に、仮想ボリューム114/実テープ・カートリッジ当り、35ギガバイトにおいて、4,000の仮想ボリューム114/実テープ・カートリッジと等価の、エミュレートされたテープ・カートリッジ110を提供することができることを意味する。4,000又はそれ以上の仮想ボリューム114の間にSCSI−2規格の32ビットのブロック・アドレス指定範囲をマッピングするために、インターフェース・マネージャ102内にアドレス・マップ124機能が提供される。
【0025】
図7は、8ビットアドレス指定空間126がエミュレートされたテープ・カートリッジ110を形成するために論理的に追加される5つの仮想ボリューム114a−e内にマッピングされるマッピング・スキームの略図である。この例の場合には、インターフェース・プロトコルは、00hexからFFhexまでのアドレスを定義する。仮想ボリューム114a、114b及び114eは、それぞれ、00hexから3Fhexまでの仮想アドレスを持つ。仮想ボリューム114cは、00hexから4Fhexまでの、もっと長い仮想アドレス空間を持つ。仮想ボリューム114は、00hexから僅か1Fhexまでの、もっと短い仮想アドレス空間を持つ。(仮想ボリューム114c及び114dが、仮想ボリューム114a、114b及び114eのコピーであった場合には、8ビット・インターフェース・プロトコルの各アドレスを仮想ボリューム114a−dの1つの仮想アドレスにマッピングすることができる。仮想ボリューム114eは、それにマッピングされた8ビット・インターフェース・プロトコルを全然持たなくてもよいし、又はそれどころか、仮想ボリューム114eは存在しなくてもよい。)
【0026】
図8について説明すると、クライアント90が始動させた通常の読取メッセージは、ブロック800に示すように、実ブロック・アドレスを含む。読取メッセージを受信した場合には、ブロック802に示すように、クライアント・コントローラ118は、アドレス・マップ124に実ブロック・アドレスを転送し、記憶装置コントローラ120に読取メッセージを転送する。アドレス・マップ124は、ブロック804に示すように、実ブロック・アドレスを仮想ブロック・アドレスにマッピングする。次に、ブロック805に示すように、この仮想ブロック・アドレスに関連する特定の仮想ボリューム114が決定される。次に、必要な場合には、記憶装置コントローラ120は、特定の仮想ボリューム114を装着するために、記憶装置108にコマンドを送信し、ブロック806に示すように、読取メッセージ内の実ブロック・アドレスの代わりに、仮想テープ・アドレスを使用する。特定の仮想ボリューム114が装着された後で、ブロック808に示すように、記憶装置コントローラ120は、仮想アドレスを持つ読取メッセージを記憶装置108に転送する。記憶装置108は、ブロック810に示すように、特定の仮想ボリューム114から読み取ったデータで応答する。記憶装置コントローラ120は、ブロック812に示すように、データをクライアント・コントローラ118に送る。最後に、クライアント・コントローラ118は、ブロック814に示すように、データをクライアント90に返送する。
【0027】
インターフェース・マネージャ102が提供することができる、オプションとしての機能は、現在のデータが、同じブロック・アドレスを持つ、新しいデータにより上書きされるのを防止するための上書き保護機能である。図9について説明すると、上書きコントローラ128は、ブロック900及び902に示すように、書込メッセージに対して、クライアント90からクライアント・コントローラ118が受信した各メッセージをチェックする。メッセージがデータを書き込むためのものでない場合には、判断ブロック902の「いいえ」ブランチは、スタートに戻って、クライアント90からの次のメッセージを受信するために待機状態になる。書込メッセージを受信した場合には、上書きコントローラ128は、判断ブロック904に示すように、実ブロック・アドレスに、以前書込みが行われたことがあるかどうかをチェックするために、書込メッセージ内の実ブロック・アドレスをチェックする。このメッセージが、その実ブロック・アドレスへ書き込むための最初の試みである場合には、判断ブロック904の「いいえ」ブランチに進み、次に、上書きコントローラ128は、ブロック906に示すように、実ブロック・アドレスが現在のデータを持っていることを示すフラグをセットする。そのメッセージが、実ブロック・アドレスへ書き込むための2回目の試みである場合には、判断ブロック904の「はい」ブランチに進み、アドレス・マップ124機能は、ブロック908に示すように、実ブロック・アドレスを、新しい未使用の仮想ブロック・アドレスに再マッピングするようにとの命令を受ける。この再マッピングにより、実ブロック・アドレスのところに、前に書き込まれた現在のデータが保存される。最後に、この再マッピング・イベントは、ブロック910に示すように、現在のデータに戻ることができる状態を保存するために、ログ・ファイル130内に記録される。
【0028】
上書きコントローラ128は、エミュレートされたテープ・カートリッジ110に、インターフェース・プロトコルにより、クライアント90がアドレス指定することができるよりも、もっと多くのデータを持たせることができる。クライアント90が、何らかの方法で、古いデータにアドレスすることができるようにするためには、SCSI−2規格を変更しなければならない場合もあるし、又は、クライアント90が、データのすべてのバージョンをアドレスすることができるようにするためには、もっと広いアドレス指定範囲を持つ第2のインターフェース・プロトコルを使用しなければならない場合もある。SCSI−2規則への変更の一例としては、バージョン・バイトとして、読取メッセージ内に8つの予約ビットを定義するという例がある。00hexの値は、その実ブロック・アドレスのところに書き込まれた最も新しいデータの読取りと見なされる。01hexの値は、その実ブロック・アドレスに書き込まれた、2番目に最も新しい古いデータの読取りと見なされる。02hexの値は、その実ブロック・アドレスに書き込まれた、3番目に最も新しい古いデータの読取りと見なされる。以下同じ。古いデータの各バージョンの正しい仮想アドレス及び仮想ボリューム114は、ログ・ファイル130から入手することができる。もう1つの例は、各エミュレートされたテープ・カートリッジ110をアドレスするための、2つの論理装置番号の使用である。第1の論理装置番号は、以前のように、エミュレートされたテープ・カートリッジ110をアドレスするために使用することができ、一方、第2の論理装置番号は、そのデータのバージョンに制御アクセスするために使用することができる。この場合、このアドレス、又は第2の論理装置番号に関連するアドレスの一部は、第1の論理装置番号に関連する実ブロック・アドレスのところで読み取られているデータのバージョンを定義する。
【0029】
アドレス・ブロックが定期的に上書きされる環境の場合には、ログ・ファイル130は、非常に大きいものになる場合があることは明らかである。図6について説明すると、ログ・ファイル130aは、図に示すように、インターフェース・マネージャ102内に位置する。他の実施形態の場合には、ログ・ファイル130bは、極細線で示すように、記憶容量がもっと大きい1つの記憶装置108に物理的に記憶することができる。ログ・ファイル130bは、仮想ボリューム114のうちの1つのボリューム上に、又は適当な大きさの他の記憶ボリューム上に書き込むことができる。
【0030】
種々のクライアント90a−c及び種々の記憶装置108を収容するために、インターフェース・コントローラは、第2のインターフェース・プロトコルによりデータ装置と通信しなければならない場合がでてくる。本発明の場合には、クライアント・コントローラ118と記憶装置コントローラ120との間に、プロトコル変換器131を設置することにより、このような事態に対処している。プロトコル変換器131機能は、2方向に動作するものでなければならない。クライアント90a−cから受信したインターフェース・プロトコル・メッセージは、記憶装置108に送られた第2のインターフェース・プロトコル・メッセージに変換しなければならない。同様に、記憶装置108から受信した第2のインターフェース・プロトコル・メッセージを、クライアント90a−cに送られるインターフェース・プロトコル・メッセージに変換しなければならない。ある場合には、変換は、元の(狭い)SCSI−2規格で使用する8ビット幅のデータ・バイトと、広帯域SCSI−2規格で使用する16ビット幅のデータ語との間の変換のように簡単な場合がある。ほかの場合には、変換は、2つの完全に異なるインターフェース・プロトコル規格間の変換を必要とする場合がある。
【0031】
インターフェース・マネージャ102が提供することができる他の機能は、エミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110の性能パラメータを制御するポリシーを実行することができることである。図6に示すように、記憶装置コントローラ120と通信しているポリシー・コントローラ132は、記憶装置108に動作するように命令することができる。例えば、FC−ALファイバ92(クライアント)のいくつかのノードだけが、エミュレートされたテープ・カートリッジ110に対して読取り及び書込みできるようにするために、アクセスを制御することができる。他のノード(クライアント)は、読取専用の特権を持つことができる。エミュレートされたテープ・カートリッジ110の全容量は、種々のクライアント90a−cに対する記憶コストを最低限度に低減するために、必要に応じて、クライアント毎に異なる。異なるタイプの記憶装置108への仮想ボリューム114の割当ては、広い帯域幅データ転送を必要とするクライアント90a−cが、高速記憶装置108に割り当てられるように管理することができる。信頼性の高いデータ記憶を必要とするクライアント90a−cは、RAID3及びRAID5タイプの記憶装置108に割り当てることができる。他のクライアント90a−cは、エージング・アルゴリズムにより、高価な記憶装置108から安価な記憶装置108に自動的に移動するデータを持つことができる。上記以外の種々のポリシーも、1つ又はそれ以上の性能パラメータを制御するために、本発明により実行することができる。
【0032】
今迄、本発明の実施形態を図示し、説明してきたが、これらの実施形態は、本発明のすべての可能な形態を図示し、説明するためのものではない。それどころか、本明細書で使用した用語は、本発明を制限するためのものではなく、本発明を説明するためのものであり、本発明の精神及び範囲から逸脱することなしに、種々の変更を行うことができることを理解されたい。
【図面の簡単な説明】
【図1】クライアントに接続している、本発明を実行するシステムのブロック図である。
【図2】クライアントの視点から見た本発明のブロック図である。
【図3】記憶装置内の実媒体に対する仮想ボリュームのマッピングを示すブロック図である。
【図4】クライアントの接続している、本発明を実行するためのシステムの他の実施形態のブロック図である。
【図5】クライアントの接続している、本発明を実行するためのシステムのもう1つ他の実施形態のブロック図である。
【図6】好適な実施形態の機能の流れを示すブロック図である。
【図7】インターフェース・プロトコル・アドレスの、仮想アドレスへのマッピングを示す略図である。
【図8】クライアントからの読取メッセージを管理する方法のフローチャートである。
【図9】上書きから現在のデータを保護するための方法のフローチャートである。
[技術分野]
本発明は、仮想磁気テープ・ボリューム記憶デバイス及び動作方法の分野に関する。
【0002】
[発明の背景]
通常の磁気テープ記憶環境の場合には、多くのテープ・カートリッジ、テープ・ドライブ、及びライブラリ・デバイスが、種々のクライアントの間に分散している。これらのクライアントは、1台のユーザ・ワークステーションであっても、ワーク・グループであっても、ある部門のサーバであっても、又は大型の多重ユーザ・プラットフォームであってもよい。これらの環境の管理の複雑さは、データの記憶量及び計算環境の異質性の関数として増大する。記憶管理コストは、情報技術予算の有意の部分を占めていて、オープン・システムと呼ばれる新たに出現中のマーケットにおいては、特に有意の部分を占めている。オープン・システム・ショップは、UNIX、NTサーバ等のようなネットワーク・オペレーティング・システムをベースとするショップである。
【0003】
オープン・システム・マーケットの場合には、磁気テープ技術の主な使用目的は、データの機密保護であり、特にデータのバックアップ、修復及び災害復旧である。いくつかの要因の絡み合いが、他の用途に磁気テープを採用する際の障害になっている。これらの要因の1つは、管理が複雑なことである。自動テープ・ライブラリ及び階層記憶テープ・システムにより、膨大なデータの記憶をローコストで行うことができるが、このようなライブラリ及びシステムは、かなり管理が複雑である。
【0004】
特にテープ用途の場合には、クライアントのニーズとシステム管理のニーズとの間に一般的な対立があった。例えば、ライブラリ・リソースとテープ・デバイス・リソースが中央に位置している場合には、多くの場合、クライアントは、定義によりリソースを最適状態以下の状態で使用するリソース分割スキームと競合しなければならない。各部分に対して、個々のスクラッチ・テープ・プールを維持しなければならないのがその一例である。別な方法としては、集中リソースのクライアントによる使用のスケジュールは、順番に、リソースの共通のプールを使用する各クライアントにより作成することができる。このことは、成長を続ける情報技術リソースのニーズ、及び周期的な作業量を特徴とする環境においては困難な問題であり、集中式リソース管理とクライアントとの間の通信がうまくいっていないために、問題はますます難しいものになっている。多くの場合、仮想テープ技術は、状況をさらに困難なものにしている。例えば、クライアントが他の物理的な場所に移動させるために、データ・セットをバックアップしたい場合に、多数の仮想テープ・ラベルとその本当の相手の仮想テープとの間の不一致により、回復プロセスの際にエラーが発生する恐れがある。
【0005】
仮想磁気テープ、記憶エリア・ネットワーク通信、及び集中システム管理ツールのようないくつかの技術は、データ記憶管理の難問を解決するために、多年にわたって進歩してきた。これら各技術は、管理の問題のある部分を解決した。例えば、仮想テープ技術により、テープ・ドライブを非常に効率的に使用するために、テープのバッファリング及びデータ転送速度の整合が可能になった。記憶エリア・ネットワークにより、記憶デバイス及びクライアントの同一場所への設置に関する非常に多くの問題が解決し、それにより、オープン・システムは、中央に位置することができるようになり、集中的に記憶リソースを管理できるようになった。最後に、システム管理ツールにより、種々の環境でデータ管理をするための共通のツールが提供できる見通しができた。
【0006】
しかし、これら各技術は、問題の中のいくつかを解決したに過ぎない。例えば、仮想テープ・ボリュームは、多くの場合、実テープ・カートリッジをエミュレートするように設計される。カートリッジの視点から見ると、実テープ・カートリッジを使用する場合と比較した場合、仮想テープ・ボリュームを使用しても管理上の利点は何もない。クライアントは、依然として、どの仮想テープ・ボリュームに必要なデータが記憶されているのかを知らなければならないし、また、クライアントは、仮想テープ・ボリュームを装着したり、取り外したりするために、記憶装置を制御しなければならない。他の例の場合には、システム管理ツールは、すべてのデータ記憶システムを均等にサポートしない傾向がある。ある販売業者の記憶装置のクライアントによる管理は、通常、ある点で、他の販売業者の第2の記憶装置と互換性を持たない。
【0007】
クライアントが、自分達の用途のために、磁気テープを好適な媒体としてもっと進んで受け入れてくれるようにするためには、テープ記憶システムを簡単に使用することができ、何時でも入手することができるようにする必要がある。理想的には、テープ記憶システムは、クライアントから見た場合、クライアントのコンピュータの背後に直接接続していて、専用テープ・ドライブ内に何時でも装着されている1つのテープ・カートリッジのように見え、しかも集中管理の利点を実現するものであってほしい。このテープ・カートリッジの容量は、クライアントの要件及び予算に適合するように調整できるものでなければならない。容量の上限は、高度のエンド・ユーザに対しては、仮想上制限のないものでなければならない。
【0008】
[発明の開示]
本発明は、テープ・ドライブ内に装着されているテープ・カートリッジ及びシステムの管理方法をエミュレートするシステムである。エミュレートされるテープ・ドライブとクライアントとの間の通信は、インターフェース・プロトコルにより行われる。エミュレートされるテープ・カートリッジのアドレス指定可能な範囲は、テープ・カートリッジを、実際に無制限の容量を持つように見せているインターフェース・プロトコルが定義しているアドレス指定可能な範囲と一致するか、又はそれ以上になる。動作中、1つ又はそれ以上の記憶装置が、テープ・ドライブ及び複数の仮想テープ・ボリュームをエミュレートする。インターフェース・マネージャが、テープ・ドライブ内の複数の仮想テープ・ボリュームの装着を制御するので、複数の仮想テープ・ボリュームは、ユーザから見た場合、1つの大型のテープ・カートリッジのように見える。
【0009】
インターフェース・マネージャは、インターフェース・プロトコルが定義するアドレスを複数の仮想テープ・ボリュームが使用する種々の仮想アドレスにマッピングするアドレス・マップ機能を含む。他の実施形態の場合には、新しいデータを現在のデータ上に上書きする代わりに、テープ・カートリッジの他の場所の未使用のブロックにマッピングすることにより、データの現在のブロックを保存するために、アドレス・マッピングを使用することができる。第2の他の実施形態の場合には、インターフェース・マネージャは、クライアントと通信するために使用するインターフェース・プロトコルと、記憶装置と通信するために使用する第2のプロトコルとの間で変換を行うプロトコル変換器を含むことができる。第3の実施形態は、エミュレートされるテープ・ドライブ、又はクライアントのサービス・レベルに基づくテープ・カートリッジに対する、1つ又はそれ以上の性能パラメータを設定するポリシー・コントローラを含む。
【0010】
従って、本発明の1つの目的は、テープ・ドライブ内に装着されたテープ・カートリッジをエミュレートするシステム及び方法を提供することである。この場合、クライアントは、インターフェース・プロトコルを通してエミュレートされるテープ・ドライブと通信し、テープ・カートリッジの容量は、インターフェース・プロトコルが定義するアドレス指定可能な範囲と一致するか、又はそれ以上になる。
【0011】
上記及び他の目的、機能及び利点は、添付の図面を参照しながら以下の詳細な説明を読めば、容易に理解することができるだろう。
【0012】
[発明を実施するための最良の形態]
図1は、クライアント90a−cに接続している本発明100のブロック図である。1人又はそれ以上のクライアント90a−cは、ファイバ・チャネル−仲裁ループ(FC−AL)ファイバ92を通してインターフェース・マネージャ102と通信する。FC−ALファイバ92は、米国規格協会(ANSI)(ニューヨーク州ニューヨーク)規格ANSI X3.272−1996により定義されている。インターフェース・マネージャ102は、FC−ALファイバ92に接続しているホストとしてのサーバ106の制御下で動作する。複数の記憶装置108も、FC−ALファイバ92を通してインターフェース・マネージャ102と通信する。インターフェース・マネージャ102は、各クライアント90a−cが記憶装置108と通信する一種のゲートウェイとして機能する。インターフェース・マネージャ102も、記憶装置108を管理し、通信を変更する。そのため、クライアントの視点から見た場合、記憶装置108は、図2に示すように、各クライアント90に直接接続しているエミュレートされたテープ・ドライブ112内に装着されている1つの大型のエミュレートされたテープ・カートリッジ110のように見える。
【0013】
記憶装置108においては、種々の技術を使用することができる。上記技術は、自動テープ・ライブラリ、自動ディスク・ライブラリ、冗長で安価なデバイス(RAID)システム、ディスク・ファーム等を含むが、これらに制限されない。必要なことは、記憶装置108が、エミュレートされたテープ・ドライブ112及び複数の仮想ボリューム114(極細線で示す)を供給することができることである。この時点で、実際のテープ・ドライブをエミュレートされたテープ・ドライブ112として使用し、1つ又はそれ以上の実際のテープ・カートリッジを1つ又はそれ以上の仮想ボリューム114として使用することによりエミュレーションを行うことができる。サーバ106に対する記憶装置108の物理的位置は重要ではない。この場合、FC−ALファイバ92を通してインターフェース・マネージャ102へのチャネルを確立しさえすればよい。そうすることにより、サーバ106を、例えば、クライアント90a−cの近くの別の場所に位置させる一方で、記憶装置108を、制御及び保守のソースの近くに位置させることができる。
【0014】
図3は、2つのエミュレートされたテープ・カートリッジ110a−bの仮想ボリューム114を複数の記憶装置108a−c内にマッピングする方法を示す。第1のエミュレートされたテープ・カートリッジ110aは、8つの仮想ボリューム114a−hを持つ。第1の仮想ボリューム114aは、第1の記憶装置108a内の第1の実媒体115a上に物理的に位置している。第2及び第3の仮想ボリューム114b−cは、第1の記憶装置108a内の第2の実媒体115b上に、相互に隣接して物理的に位置している。同様に、第4及び第5の仮想ボリューム114d−eは、第2の記憶装置108b内の第3及び第4の実媒体115c及び115d上にそれぞれ物理的に位置している。第6及び第7の仮想ボリューム114f−gは、第3の記憶装置108c内の第5及び第6の実媒体115e−f上にそれぞれ位置している。最後に、第8の仮想ボリューム114hは、第1の記憶装置108a内の第1の実媒体115a上に位置している。同様な方法で、第2のエミュレートされたテープ・カートリッジ110bを備える種々の仮想ボリューム114は、記憶装置108a−c内の種々の実媒体115a−g上に物理的に位置している。
【0015】
エミュレートされたテープ・カートリッジ110内の仮想ボリューム114の順序と記憶装置108内の実媒体115との間でマッピングするためのアルゴリズムは、多くの要因及びポリシーを考慮に入れることができる。例えば、エミュレートされたテープ・カートリッジ110の多くのシーケンシャルな仮想ボリューム114が、1つの実媒体115にマッピングされる場合には、データを再度呼び出す間の装着待ち時間を短縮することができる。仮想ボリューム114を、第一/最善の使用することができる記憶装置108内の第一/最善の使用することができる実媒体115内にマッピングする場合には、データ書込み中の装着待ち時間を短縮することができる。ポリシーを考慮することにより、同じ実媒体115上の1人のクライアント90aに属するデータを競合クライアント90bに属するデータとして記憶しないですますことができる。災害復旧の要件により、オフサイトの位置に周期的にバックアップされる実媒体115にマッピングを行う場合もあるし、又は、異なる場所の複数の記憶装置108に冗長に書き込まなければならない場合もある。履歴上重要なデータの場合には、不注意による消去等を防止するために、仮想ボリューム114を追記型の実媒体115にマッピングしなければならない場合がある。
【0016】
FC−ALファイバ92は、本発明用の好適なネットワーク通信技術である。FC−ALファイバ92を使用することにより、クライアント90とインターフェース・マネージャ102との間、インターフェース・マネージャ102と記憶装置108との間に「チャネル」を確立することができる。チャネルは、FC−ALファイバ92のノードの間に確立することができる特殊な目的の通信リンクである。チャネルは、FC−ALファイバ92を横切ってデータを送信するために、低いレベルのソフトウェアと小さなオーバーヘッドしか必要としない。その結果、チャネルは、ノード間で高速の通信を行うことができる。本発明の場合には、FC−ALファイバ92の代わりに、他のタイプのネットワークを使用することもできる。例えば、幾人かのクライアント90a−b及びサーバ106は、イーサネットをベースとするローカル・エリア・ネットワーク(LAN)94上に接続することができるし、一方、記憶装置108及び他のクライアント90cは、図4に示すように、サーバ106にアクセスすることができる、記憶エリア・ネットワーク(SAN)96の一部である。他の例の場合には、サーバ106は、インターネット、ワイド・エリア・ネットワーク、企業ネットワーク、又は任意の類似のネットワーク技術により記憶装置108に接続することができる。
【0017】
図2に戻って説明すると、クライアント90とエミュレートされたテープ・ドライブ112との間の図示のインターフェースが、工業標準規格プロトコルに適合していると便利である。好適なインターフェース・プロトコルは、小型コンピュータ用周辺機器インターフェース−2(SCSI−2)規格である。SCSI−2は、ANSI規格ANSI X3.131−1994により定義される。この規格は、パーソナル・コンピュータ、ワークステーション、サーバ、テープ・ドライブ、ディスク・ドライブ、他の計算及び記憶デバイス用のもので、コンピュータ業界で共通に使用される。SCSI−2は、また、FC−ALフレーム内に透明に内蔵させることができ、AF−ALファイバ内の他のノードに送ることができる標準インターフェース・プロトコルの中の1つである。そのため、クライアント90は、FC−ALファイバ92の存在を意識しないですむ。クライアント90は、SCSI−2バス上の論理装置アドレスの1つのところに装着され、エミュレートされたテープ・カートリッジ110を含む、エミュレートされたテープ・ドライブ112を意識するだけである。他の実施形態の場合には、SCSI−2プロトコルにより、8つの論理装置をSCSI−2バスに接続することができる。クライアント90は、通常、最後の論理装置番号を使用しているので、エミュレートされたテープ・カートリッジ110を含む、最大7つまでのエミュレートされたテープ・ドライブ112を、本発明の好適な実施形態により、同時に生成することができる。そうすることにより、クライアント90は、異なる目的のためのいくつかのエミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110を使用することができる。例えば、1つのエミュレートされたテープ・ドライブ112、エミュレートされたテープ・カートリッジ110をワーク・グループ内の共有ファイルに割り当てることができる。第2のエミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110は、個人ファイルの安全な場所として使用することができる。第3のエミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110は、ローカル・サーバの毎晩のバックアップ用に使用することができる。以下同じ。
【0018】
インターフェース・マネージャ102をクライアント90に接続するために、FC−ALファイバ92を使用した場合のもう1つの利点は、FC−ALファイバ92が、多くの異なるインターフェース・プロトコルの透明な移送をサポートすることである。SCSI−2の他に、FC−ALファイバ92は、また、インテリジェント周辺装置インターフェース(IPI)、高性能並列インターフェース(HIPPI)フレーム・プロトコル、インターネット・プロトコル(IP)、コンピュータ・データ用のATM適応層(AAL5)、リンク・カプセル収容(FC−LE)、単一バイト・コマンド・コード・セット・マッピング(SBCCS)、及びIEEE(ニュージャージー州ピスカタウェイ所在の、米国電気電子技術者協会)802.2プロトコルをサポートする。これらの規格の中の任意のものを、他の類似の工業規格と一緒に本発明で使用することもできる。
【0019】
図1に戻って説明すると、インターフェース・マネージャ102は、好適な実施形態で、FC−ALファイバ92に接続しているホストとしてのサーバ106の制御下で動作する。他の実施形態の場合には、インターフェース・マネージャ102は、他の場所において、ホストの制御下で動作することができる。1つの重要な位置は、ある記憶装置108のインターフェース・マネージャ102をホストとして制御する位置である。ほとんどすべての記憶システム(記憶装置108)は、記憶リソースを管理し、制御するための少なくとも1台のコンピュータを備える。これらコンピュータの中の1台は、インターフェース・マネージャ102に対して、適当なホストとしての働きをする。このような構成になっているので、販売業者は、本発明を自蔵パッケージとして提供することができる。例えば、図5に示すように、(仮想ボリューム114用の)30の35ギガバイトの磁気テープ・カートリッジ134と、(エミュレートされたテープ・ドライブ112用の)実テープ・ドライブ136を含み、インターフェース・マネージャ102をホストとして制御するラック装着自動テープ・ライブラリ116(あるタイプの記憶装置108)は、クライアント90から見ると、1テラバイトの容量を持つ1つのエミュレートされたテープ・カートリッジ110のように見える。
【0020】
インターフェース・マネージャ102をホストとして制御するためのもう1つの可能な物理的な位置は、クライアント90a−c内の位置である。この方法の1つの利点は、クライアント90a−cとインターフェース・マネージャ102との間の通信が、もはや、SCSI−2規格又はハードウェアの速度制限により制約を受けないということである。インターフェース管理ソフトウェア用のさらにもう1つ可能なホストとしては、LANサーバ、代理サーバ、ファイヤウォール・サーバ、及びクライアント90a−cを、直接ネットワークの外側で通信することができるようにする類似のゲートウェイ等がある。
【0021】
インターフェース・マネージャ102は、いくつかの機能を実行する。図6は、図1のシステムの機能の流れのブロック図である。インターフェース・プロトコルによるクライアント90a−cとの通信は、クライアント・コントローラ118により提供される。好適な実施形態の場合には、このことは、クライアント・コントローラ118が、SCSI−2規格により、クライアント90a−cとの間でメッセージを送受信することを意味する。クライアント・ノードのところで、FC−ALファイバ92からのSCSIメッセージを挿入したり、除去したりするために、クライアント90a−cとクライアント・コントローラ118との間に、FC−ALアダプタ98a−cへのいくつかのSCSI−2が設置されている。
【0022】
記憶装置コントローラ120は、記憶装置108(図には1つだけを示してある)と通信するために、インターフェース・マネージャ102の他方の端部のところに常駐している。記憶装置コントローラ120は、エミュレートされたテープ・ドライブ112及び仮想ボリューム114を形成するために、記憶装置108が必要とするすべての初期化、装着、取り外し、エミュレーション、及び種々の記憶装置特有の制御機能を提供する。記憶装置コントローラ120は、また、仮想ボリューム114を論理的に一緒に追加する能力を持っているので、仮想ボリュームは、エミュレートされたテープ・カートリッジ110のように見える。記憶装置コントローラ120が、記憶装置108と通信するために、クライアント・コントローラ118が、クライアント90a−cと通信するのに使用しているのと同じインターフェース・プロトコルを使用している場合には、記憶装置コントローラ120及びクライアント・コントローラ118は、点線122で示すように、いくつかのアドレス指定のないSCSI−2メッセージを相互間で直接伝送することができる。
【0023】
SCSI−2規格を使用すれば、記憶媒体を、256の区画(28)に分割することができる。各区画は、最高65,536(216)区画単位の区画サイズにフォーマットすることができる。この場合、各区画単位は、現在、最高1メガバイト(220)に選択することができる。(SCSI−2規格は、1つの区画サイズ単位を定義するために、2つのビットを割り当てる。2進法の10が、1メガバイトの区画単位サイズとして定義される。2進法の11は、この規格では未使用である。)これにより、最大区画フォーマットのサイズは、約68.8ギガバイト(236)になり、フォーマットした全媒体容量は、約17.6テラバイト(244)になる。区画内のブロック・アドレス指定は、32ビットのフィールドで供給され、その場合、通常のテープ・ブロックのサイズは、約32キロバイト(215)である。このことは、1つの区画内のアドレス指定可能な範囲は、理論的には、140テラバイト(247)にもなり、その結果、1つの区画内で現在使用されているアドレス範囲(236)よりもアドレス範囲は広くなる。未使用の2進法の11を、例えば、2ギガバイト(231)のような、もっと大きい区画サイズとして定義することにより、1つの区画のフォーマットされたサイズを、その区画内のアドレス指定可能な範囲(247)と一致させることができる。
【0024】
現在の磁気テープ・カートリッジ、及びその仮想磁気テープ・カートリッジは、最大35ギガバイトの容量を持つ。このことは、SCSI−2規格を使用することにより、本発明は、クライアント90に、仮想ボリューム114/実テープ・カートリッジ当り、35ギガバイトにおいて、4,000の仮想ボリューム114/実テープ・カートリッジと等価の、エミュレートされたテープ・カートリッジ110を提供することができることを意味する。4,000又はそれ以上の仮想ボリューム114の間にSCSI−2規格の32ビットのブロック・アドレス指定範囲をマッピングするために、インターフェース・マネージャ102内にアドレス・マップ124機能が提供される。
【0025】
図7は、8ビットアドレス指定空間126がエミュレートされたテープ・カートリッジ110を形成するために論理的に追加される5つの仮想ボリューム114a−e内にマッピングされるマッピング・スキームの略図である。この例の場合には、インターフェース・プロトコルは、00hexからFFhexまでのアドレスを定義する。仮想ボリューム114a、114b及び114eは、それぞれ、00hexから3Fhexまでの仮想アドレスを持つ。仮想ボリューム114cは、00hexから4Fhexまでの、もっと長い仮想アドレス空間を持つ。仮想ボリューム114は、00hexから僅か1Fhexまでの、もっと短い仮想アドレス空間を持つ。(仮想ボリューム114c及び114dが、仮想ボリューム114a、114b及び114eのコピーであった場合には、8ビット・インターフェース・プロトコルの各アドレスを仮想ボリューム114a−dの1つの仮想アドレスにマッピングすることができる。仮想ボリューム114eは、それにマッピングされた8ビット・インターフェース・プロトコルを全然持たなくてもよいし、又はそれどころか、仮想ボリューム114eは存在しなくてもよい。)
【0026】
図8について説明すると、クライアント90が始動させた通常の読取メッセージは、ブロック800に示すように、実ブロック・アドレスを含む。読取メッセージを受信した場合には、ブロック802に示すように、クライアント・コントローラ118は、アドレス・マップ124に実ブロック・アドレスを転送し、記憶装置コントローラ120に読取メッセージを転送する。アドレス・マップ124は、ブロック804に示すように、実ブロック・アドレスを仮想ブロック・アドレスにマッピングする。次に、ブロック805に示すように、この仮想ブロック・アドレスに関連する特定の仮想ボリューム114が決定される。次に、必要な場合には、記憶装置コントローラ120は、特定の仮想ボリューム114を装着するために、記憶装置108にコマンドを送信し、ブロック806に示すように、読取メッセージ内の実ブロック・アドレスの代わりに、仮想テープ・アドレスを使用する。特定の仮想ボリューム114が装着された後で、ブロック808に示すように、記憶装置コントローラ120は、仮想アドレスを持つ読取メッセージを記憶装置108に転送する。記憶装置108は、ブロック810に示すように、特定の仮想ボリューム114から読み取ったデータで応答する。記憶装置コントローラ120は、ブロック812に示すように、データをクライアント・コントローラ118に送る。最後に、クライアント・コントローラ118は、ブロック814に示すように、データをクライアント90に返送する。
【0027】
インターフェース・マネージャ102が提供することができる、オプションとしての機能は、現在のデータが、同じブロック・アドレスを持つ、新しいデータにより上書きされるのを防止するための上書き保護機能である。図9について説明すると、上書きコントローラ128は、ブロック900及び902に示すように、書込メッセージに対して、クライアント90からクライアント・コントローラ118が受信した各メッセージをチェックする。メッセージがデータを書き込むためのものでない場合には、判断ブロック902の「いいえ」ブランチは、スタートに戻って、クライアント90からの次のメッセージを受信するために待機状態になる。書込メッセージを受信した場合には、上書きコントローラ128は、判断ブロック904に示すように、実ブロック・アドレスに、以前書込みが行われたことがあるかどうかをチェックするために、書込メッセージ内の実ブロック・アドレスをチェックする。このメッセージが、その実ブロック・アドレスへ書き込むための最初の試みである場合には、判断ブロック904の「いいえ」ブランチに進み、次に、上書きコントローラ128は、ブロック906に示すように、実ブロック・アドレスが現在のデータを持っていることを示すフラグをセットする。そのメッセージが、実ブロック・アドレスへ書き込むための2回目の試みである場合には、判断ブロック904の「はい」ブランチに進み、アドレス・マップ124機能は、ブロック908に示すように、実ブロック・アドレスを、新しい未使用の仮想ブロック・アドレスに再マッピングするようにとの命令を受ける。この再マッピングにより、実ブロック・アドレスのところに、前に書き込まれた現在のデータが保存される。最後に、この再マッピング・イベントは、ブロック910に示すように、現在のデータに戻ることができる状態を保存するために、ログ・ファイル130内に記録される。
【0028】
上書きコントローラ128は、エミュレートされたテープ・カートリッジ110に、インターフェース・プロトコルにより、クライアント90がアドレス指定することができるよりも、もっと多くのデータを持たせることができる。クライアント90が、何らかの方法で、古いデータにアドレスすることができるようにするためには、SCSI−2規格を変更しなければならない場合もあるし、又は、クライアント90が、データのすべてのバージョンをアドレスすることができるようにするためには、もっと広いアドレス指定範囲を持つ第2のインターフェース・プロトコルを使用しなければならない場合もある。SCSI−2規則への変更の一例としては、バージョン・バイトとして、読取メッセージ内に8つの予約ビットを定義するという例がある。00hexの値は、その実ブロック・アドレスのところに書き込まれた最も新しいデータの読取りと見なされる。01hexの値は、その実ブロック・アドレスに書き込まれた、2番目に最も新しい古いデータの読取りと見なされる。02hexの値は、その実ブロック・アドレスに書き込まれた、3番目に最も新しい古いデータの読取りと見なされる。以下同じ。古いデータの各バージョンの正しい仮想アドレス及び仮想ボリューム114は、ログ・ファイル130から入手することができる。もう1つの例は、各エミュレートされたテープ・カートリッジ110をアドレスするための、2つの論理装置番号の使用である。第1の論理装置番号は、以前のように、エミュレートされたテープ・カートリッジ110をアドレスするために使用することができ、一方、第2の論理装置番号は、そのデータのバージョンに制御アクセスするために使用することができる。この場合、このアドレス、又は第2の論理装置番号に関連するアドレスの一部は、第1の論理装置番号に関連する実ブロック・アドレスのところで読み取られているデータのバージョンを定義する。
【0029】
アドレス・ブロックが定期的に上書きされる環境の場合には、ログ・ファイル130は、非常に大きいものになる場合があることは明らかである。図6について説明すると、ログ・ファイル130aは、図に示すように、インターフェース・マネージャ102内に位置する。他の実施形態の場合には、ログ・ファイル130bは、極細線で示すように、記憶容量がもっと大きい1つの記憶装置108に物理的に記憶することができる。ログ・ファイル130bは、仮想ボリューム114のうちの1つのボリューム上に、又は適当な大きさの他の記憶ボリューム上に書き込むことができる。
【0030】
種々のクライアント90a−c及び種々の記憶装置108を収容するために、インターフェース・コントローラは、第2のインターフェース・プロトコルによりデータ装置と通信しなければならない場合がでてくる。本発明の場合には、クライアント・コントローラ118と記憶装置コントローラ120との間に、プロトコル変換器131を設置することにより、このような事態に対処している。プロトコル変換器131機能は、2方向に動作するものでなければならない。クライアント90a−cから受信したインターフェース・プロトコル・メッセージは、記憶装置108に送られた第2のインターフェース・プロトコル・メッセージに変換しなければならない。同様に、記憶装置108から受信した第2のインターフェース・プロトコル・メッセージを、クライアント90a−cに送られるインターフェース・プロトコル・メッセージに変換しなければならない。ある場合には、変換は、元の(狭い)SCSI−2規格で使用する8ビット幅のデータ・バイトと、広帯域SCSI−2規格で使用する16ビット幅のデータ語との間の変換のように簡単な場合がある。ほかの場合には、変換は、2つの完全に異なるインターフェース・プロトコル規格間の変換を必要とする場合がある。
【0031】
インターフェース・マネージャ102が提供することができる他の機能は、エミュレートされたテープ・ドライブ112、及びエミュレートされたテープ・カートリッジ110の性能パラメータを制御するポリシーを実行することができることである。図6に示すように、記憶装置コントローラ120と通信しているポリシー・コントローラ132は、記憶装置108に動作するように命令することができる。例えば、FC−ALファイバ92(クライアント)のいくつかのノードだけが、エミュレートされたテープ・カートリッジ110に対して読取り及び書込みできるようにするために、アクセスを制御することができる。他のノード(クライアント)は、読取専用の特権を持つことができる。エミュレートされたテープ・カートリッジ110の全容量は、種々のクライアント90a−cに対する記憶コストを最低限度に低減するために、必要に応じて、クライアント毎に異なる。異なるタイプの記憶装置108への仮想ボリューム114の割当ては、広い帯域幅データ転送を必要とするクライアント90a−cが、高速記憶装置108に割り当てられるように管理することができる。信頼性の高いデータ記憶を必要とするクライアント90a−cは、RAID3及びRAID5タイプの記憶装置108に割り当てることができる。他のクライアント90a−cは、エージング・アルゴリズムにより、高価な記憶装置108から安価な記憶装置108に自動的に移動するデータを持つことができる。上記以外の種々のポリシーも、1つ又はそれ以上の性能パラメータを制御するために、本発明により実行することができる。
【0032】
今迄、本発明の実施形態を図示し、説明してきたが、これらの実施形態は、本発明のすべての可能な形態を図示し、説明するためのものではない。それどころか、本明細書で使用した用語は、本発明を制限するためのものではなく、本発明を説明するためのものであり、本発明の精神及び範囲から逸脱することなしに、種々の変更を行うことができることを理解されたい。
【図面の簡単な説明】
【図1】クライアントに接続している、本発明を実行するシステムのブロック図である。
【図2】クライアントの視点から見た本発明のブロック図である。
【図3】記憶装置内の実媒体に対する仮想ボリュームのマッピングを示すブロック図である。
【図4】クライアントの接続している、本発明を実行するためのシステムの他の実施形態のブロック図である。
【図5】クライアントの接続している、本発明を実行するためのシステムのもう1つ他の実施形態のブロック図である。
【図6】好適な実施形態の機能の流れを示すブロック図である。
【図7】インターフェース・プロトコル・アドレスの、仮想アドレスへのマッピングを示す略図である。
【図8】クライアントからの読取メッセージを管理する方法のフローチャートである。
【図9】上書きから現在のデータを保護するための方法のフローチャートである。
Claims (19)
- テープ・ドライブ内に装着されているテープ・カートリッジをエミュレートするためのシステムであって、
前記テープ・ドライブ、及び前記テープ・ドライブ内に装着することができる複数の仮想ボリュームをエミュレートするために動作することができる少なくとも1つの記憶装置と、
複数のアドレスを定義するインターフェース・プロトコルにより、前記少なくとも1つの記憶装置と通信し、前記クライアントと通信するインターフェース・マネージャとを備え、前記インターフェース・マネージャが、前記テープ・ドライブ内に装着されている前記テープ・カートリッジをエミュレートするために、前記テープ・ドライブ内で前記複数の仮想ボリュームの装着を制御するために動作することができ、前記テープ・カートリッジは、前記インターフェース・プロトコルが定義する複数のアドレスに少なくとも等しい複数の仮想アドレスを持つシステム。 - 前記インターフェース・マネージャが、
前記インターフェース・プロトコルにより前記クライアントと通信しているクライアント・コントローラと、
前記クライアント・コントローラ及び少なくとも1台の記憶装置と通信していて、前記テープ・ドライブ内に装着されている前記テープ・カートリッジをエミュレートする目的で、前記テープ・ドライブ内で前記複数の仮想ボリュームの装着を制御するために動作することができる記憶装置コントローラと、
を備える請求項1に記載のシステム。 - 前記インターフェース・マネージャが、さらに、前記クライアント・コントローラ及び前記記憶装置コントローラと通信しているアドレス・マップを備え、前記アドレス・マップが、前記インターフェース・プロトコルにより定義された前記複数のアドレスを前記テープ・カートリッジの前記複数の仮想アドレスにマッピングするために動作する、請求項2に記載のシステム。
- 前記複数の仮想アドレスの数が、前記インターフェース・プロトコルにより定義された前記複数のアドレスの数より多く、前記インターフェース・マネージャが、さらに、前記アドレス・マップ及び前記クライアント・コントローラと通信している上書きコントローラを備え、前記上書きコントローラが、前記テープ・カートリッジが前記選択したアドレスのところに、現在のデータをすでに記憶している場合に、前記複数のアドレスの中の選択したアドレスを持つ書込メッセージを受信した場合に応答し、現在のデータを保存するために、前記複数のアドレスの中の任意のアドレスに対して、マッピングされていない前記複数の仮想アドレスの中の1つの仮想アドレスに前記選択したアドレスを再マッピングする、請求項3に記載のシステム。
- 前記インターフェース・マネージャが、さらに、前記複数のアドレスの中の再マッピングされた各アドレスに対する前記現在のデータに戻ることができるように、再マッピング動作を記録するために、前記上書きコントローラと通信しているログ・ファイルを備える、請求項4に記載のシステム。
- 前記少なくとも1つの記憶装置が、第2のインターフェース・プロトコルにより通信し、前記インターフェース・マネージャが、さらに、前記インターフェース・プロトコルと前記第2のインターフェース・プロトコルとの間で変換を行うために、前記クライアント・コントローラと前記記憶装置コントローラとの間で通信するプロトコル変換器を備える、請求項2に記載のシステム。
- 前記インターフェース・マネージャが、さらに、前記記憶装置コントローラと通信しているポリシー・コントローラを備え、前記ポリシー・コントローラが、前記クライアントに種々のレベルのサービスを提供するためにエミュレートされている前記テープ・ドライブ及び前記テープ・カートリッジの少なくとも1つの性能パラメータを制御するために動作する、請求項2に記載のシステム。
- 前記少なくとも1つの記憶装置が、実際のテープ・ドライブにより前記テープ・ドライブをエミュレートする、請求項1に記載のシステム。
- 前記少なくとも1つの記憶装置が、少なくとも1つの実際のテープ・カートリッジにより前記複数の仮想ボリュームをエミュレートする、請求項1に記載のシステム。
- 複数のアドレスを定義するインターフェース・プロトコルを持つテープ・ドライブをエミュレートするステップと、
記憶容量を供給するために、前記テープ・ドライブ内に装着することができる複数の仮想ボリュームをエミュレートするステップと、
前記テープ・ドライブ内に装着されているテープ・カートリッジをエミュレートするために、前記テープ・ドライブ内に、一度に1つずつ前記複数の仮想ボリュームを装着するステップと、
を含み、
前記テープ・カートリッジが、前記複数の仮想ボリュームのエミュレート動作に応じて、前記インターフェース・プロトコル内に定義されている前記複数のアドレスと少なくとも同数の複数の仮想アドレスを備える動作方法。 - さらに、前記複数のアドレスの各アドレスを前記複数の仮想アドレスの中の各1つの仮想アドレスにリンクするために、前記インターフェース・プロトコルにより定義された前記複数のアドレスを前記複数の仮想アドレスにそれぞれマッピングするステップを含む、請求項10に記載の方法。
- さらに、前記テープ・カートリッジのどの部分が、前記クライアントによりアドレスされているのかを識別するために、前記クライアントからの前記選択したアドレスを受信した場合、それに応じて、前記複数のアドレスの中の1つの選択したアドレスにマッピングされている前記複数の仮想アドレスの第1の仮想アドレスに関連する前記複数の仮想ボリュームの中の第1の仮想ボリュームを決定するステップを含む、請求項11に記載の方法。
- さらに、前記テープ・カートリッジが、前記選択したアドレスのところで、前記クライアントにアクセスすることができるようにするために、前記第1の仮想アドレスに関連する前記第1の仮想ボリュームの決定に応じて、前記複数の仮想ボリュームの中の前記第1の仮想ボリュームを装着するステップを含む、請求項12に記載の方法。
- 前記複数の仮想アドレスの数が、前記インターフェース・プロトコルにより定義された前記複数のアドレスの数より多く、さらに、現在のデータを保存するために、前記テープ・カートリッジが、前記選択したアドレスのところに現在のデータをすでに記憶している場合に、前記選択したアドレスを持つ書込メッセージを受信した場合に、それに応じて、前記複数のアドレスの中の任意のアドレスに対して、マッピングされていない前記複数の仮想アドレスの中の1つの仮想アドレスに前記選択したアドレスを再マッピングするステップを含む、請求項13に記載の方法。
- さらに、再マッピングされた各アドレスに対する前記現在のデータを発見することができるように、前記選択したアドレスの再度のマッピングに応じて、前記選択したアドレスの再マッピングをログするステップを含む、請求項14に記載の方法。
- 前記テープ・ドライブ及び前記複数の仮想ボリュームのエミュレーションが、第2のインターフェース・プロトコルにより通信する少なくとも1台の記憶装置により実行され、さらに、前記クライアントから前記第2のプロトコルを分離するために、前記インターフェース・プロトコルと前記第2のインターフェース・プロトコルとの間で変換を行うステップを含む、請求項10に記載の方法。
- さらに、前記クライアントに種々のレベルのサービスを提供するために、エミュレートされている前記テープ・ドライブ及び前記テープ・カートリッジの少なくとも1つの性能パラメータを制御するステップを含む、請求項10に記載の方法。
- 前記テープ・ドライブのエミュレーションが、少なくとも1つの実際のテープ・カートリッジを提供する、請求項10に記載の方法。
- 前記複数の仮想ボリュームのエミュレーションが、少なくとも1つの実際のテープ・カートリッジを提供する、請求項10に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/546,312 US6834324B1 (en) | 2000-04-10 | 2000-04-10 | System and method for virtual tape volumes |
PCT/US2001/012350 WO2002027462A1 (en) | 2000-04-10 | 2001-04-10 | Terabyte capacity virtual tape volumes |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004510243A true JP2004510243A (ja) | 2004-04-02 |
Family
ID=24179832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002530975A Pending JP2004510243A (ja) | 2000-04-10 | 2001-04-10 | テラバイト容量のボリュームを有する仮想テープ |
Country Status (5)
Country | Link |
---|---|
US (1) | US6834324B1 (ja) |
EP (1) | EP1221084A1 (ja) |
JP (1) | JP2004510243A (ja) |
AU (1) | AU5706001A (ja) |
WO (1) | WO2002027462A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007115270A (ja) * | 2006-12-13 | 2007-05-10 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
US8065466B2 (en) | 2007-08-10 | 2011-11-22 | Fujitsu Limited | Library apparatus, library system and method for copying logical volume to disk volume in cache disk with smallest access load |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001272B2 (en) | 2000-10-25 | 2011-08-16 | Syniverse Icx Corporation | Obtaining a valid international destination address |
US7403970B1 (en) * | 2000-10-25 | 2008-07-22 | Verisign, Inc. | Method and apparatus for assigning a virtual address to and text-messaging to multiple text-capable destination entities |
US6957291B2 (en) * | 2001-03-29 | 2005-10-18 | Quantum Corporation | Removable disk storage array emulating tape library having backup and archive capability |
US7454529B2 (en) | 2002-08-02 | 2008-11-18 | Netapp, Inc. | Protectable data storage system and a method of protecting and/or managing a data storage system |
US7882081B2 (en) | 2002-08-30 | 2011-02-01 | Netapp, Inc. | Optimized disk repository for the storage and retrieval of mostly sequential data |
US7437387B2 (en) | 2002-08-30 | 2008-10-14 | Netapp, Inc. | Method and system for providing a file system overlay |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US7191225B1 (en) * | 2002-11-27 | 2007-03-13 | Veritas Operating Corporation | Mechanism to provide direct multi-node file system access to files on a single-node storage stack |
US7567993B2 (en) | 2002-12-09 | 2009-07-28 | Netapp, Inc. | Method and system for creating and using removable disk based copies of backup data |
US8024172B2 (en) * | 2002-12-09 | 2011-09-20 | Netapp, Inc. | Method and system for emulating tape libraries |
JP2004192105A (ja) * | 2002-12-09 | 2004-07-08 | Hitachi Ltd | 記憶装置の接続装置およびそれを含むコンピュータシステム |
US20040153614A1 (en) | 2003-02-05 | 2004-08-05 | Haim Bitner | Tape storage emulation for open systems environments |
US7447714B1 (en) * | 2003-02-25 | 2008-11-04 | Storage Technology Corporation | Management of multiple virtual data copies |
US6973369B2 (en) | 2003-03-12 | 2005-12-06 | Alacritus, Inc. | System and method for virtual vaulting |
US7747816B1 (en) * | 2003-03-31 | 2010-06-29 | Ultera Systems, Inc. | Virtual tape stacker |
US7237021B2 (en) * | 2003-04-04 | 2007-06-26 | Bluearc Uk Limited | Network-attached storage system, device, and method supporting multiple storage device types |
US7437492B2 (en) | 2003-05-14 | 2008-10-14 | Netapp, Inc | Method and system for data compression and compression estimation in a virtual tape library environment |
US7814338B2 (en) * | 2003-06-09 | 2010-10-12 | Johnson R Brent | System and method for virtual tape management with creation and management options |
US7127575B2 (en) * | 2003-07-10 | 2006-10-24 | Hitachi, Ltd. | Offsite management using disk based tape library and vault system |
JP4559046B2 (ja) * | 2003-08-04 | 2010-10-06 | 株式会社日立製作所 | 仮想テープライブラリ装置 |
WO2005017686A2 (en) * | 2003-08-05 | 2005-02-24 | Sepaton, Inc. | Emulated storage system |
JP2005190036A (ja) * | 2003-12-25 | 2005-07-14 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
US7559088B2 (en) | 2004-02-04 | 2009-07-07 | Netapp, Inc. | Method and apparatus for deleting data upon expiration |
US7783606B2 (en) | 2004-02-04 | 2010-08-24 | Netapp, Inc. | Method and system for remote data recovery |
US7315965B2 (en) | 2004-02-04 | 2008-01-01 | Network Appliance, Inc. | Method and system for storing data using a continuous data protection system |
US7904679B2 (en) | 2004-02-04 | 2011-03-08 | Netapp, Inc. | Method and apparatus for managing backup data |
US7325159B2 (en) | 2004-02-04 | 2008-01-29 | Network Appliance, Inc. | Method and system for data recovery in a continuous data protection system |
US7406488B2 (en) | 2004-02-04 | 2008-07-29 | Netapp | Method and system for maintaining data in a continuous data protection system |
US7720817B2 (en) | 2004-02-04 | 2010-05-18 | Netapp, Inc. | Method and system for browsing objects on a protected volume in a continuous data protection system |
US7490103B2 (en) | 2004-02-04 | 2009-02-10 | Netapp, Inc. | Method and system for backing up data |
US7426617B2 (en) | 2004-02-04 | 2008-09-16 | Network Appliance, Inc. | Method and system for synchronizing volumes in a continuous data protection system |
US7761284B2 (en) * | 2004-08-30 | 2010-07-20 | Overland Storage, Inc. | Tape emulating disk based storage system and method with automatically resized emulated tape capacity |
US8028135B1 (en) | 2004-09-01 | 2011-09-27 | Netapp, Inc. | Method and apparatus for maintaining compliant storage |
JP4574315B2 (ja) * | 2004-10-07 | 2010-11-04 | 株式会社日立製作所 | ストレージ装置およびストレージ装置における構成管理方法 |
US7558839B1 (en) | 2004-12-14 | 2009-07-07 | Netapp, Inc. | Read-after-write verification for improved write-once-read-many data storage |
US7774610B2 (en) | 2004-12-14 | 2010-08-10 | Netapp, Inc. | Method and apparatus for verifiably migrating WORM data |
US7581118B2 (en) | 2004-12-14 | 2009-08-25 | Netapp, Inc. | Disk sanitization using encryption |
US7526620B1 (en) | 2004-12-14 | 2009-04-28 | Netapp, Inc. | Disk sanitization in an active file system |
EP1686451A1 (en) * | 2005-01-31 | 2006-08-02 | Hitachi, Ltd. | Virtual tape library device |
US8291160B2 (en) * | 2005-02-17 | 2012-10-16 | Overland Storage, Inc. | Tape library emulation with automatic configuration and data retention |
US7401198B2 (en) | 2005-10-06 | 2008-07-15 | Netapp | Maximizing storage system throughput by measuring system performance metrics |
US7752401B2 (en) | 2006-01-25 | 2010-07-06 | Netapp, Inc. | Method and apparatus to automatically commit files to WORM status |
US7650533B1 (en) | 2006-04-20 | 2010-01-19 | Netapp, Inc. | Method and system for performing a restoration in a continuous data protection system |
US7606845B2 (en) * | 2006-07-13 | 2009-10-20 | International Business Machines Corporation | Apparatus, systems, and method for concurrent storage to an active data file storage pool, copy pool, and next pool |
US20080016390A1 (en) * | 2006-07-13 | 2008-01-17 | David Maxwell Cannon | Apparatus, system, and method for concurrent storage pool migration and backup |
US8161222B1 (en) * | 2007-07-23 | 2012-04-17 | Augmentix Corporation | Method and system and apparatus for use in data storage |
US7913025B1 (en) | 2007-07-23 | 2011-03-22 | Augmentix Corporation | Method and system for a storage device |
US9575684B2 (en) * | 2011-12-30 | 2017-02-21 | Oracle International Corporation | Logically partitioning remote virtual library extensions for use in disaster recovery of production data |
US9171178B1 (en) * | 2012-05-14 | 2015-10-27 | Symantec Corporation | Systems and methods for optimizing security controls for virtual data centers |
JP6089856B2 (ja) * | 2013-03-26 | 2017-03-08 | 富士通株式会社 | 仮想テープ装置、テープ制御装置、およびテープ制御方法 |
US10152530B1 (en) | 2013-07-24 | 2018-12-11 | Symantec Corporation | Determining a recommended control point for a file system |
US10496305B2 (en) | 2014-04-28 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Transfer of a unique name to a tape drive |
US9760297B2 (en) | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA892798A (en) | 1972-02-08 | F. Smith Perrin | Data storage method and apparatus | |
US3130387A (en) | 1958-02-06 | 1964-04-21 | Int Standard Electric Corp | Buffer system for transferring data between two asynchronous data stores |
US3292153A (en) | 1962-10-01 | 1966-12-13 | Burroughs Corp | Memory system |
US3406380A (en) | 1965-11-26 | 1968-10-15 | Burroughs Corp | Input-output data service computer |
US3723973A (en) | 1970-09-30 | 1973-03-27 | Honeywell Inf Systems | Data communication controller having dual scanning |
US3654617A (en) | 1970-10-01 | 1972-04-04 | Ibm | Microprogrammable i/o controller |
US3699533A (en) | 1970-10-29 | 1972-10-17 | Rca Corp | Memory system including buffer memories |
CS164932B2 (ja) | 1971-09-07 | 1975-11-28 | ||
US3806888A (en) | 1972-12-04 | 1974-04-23 | Ibm | Hierarchial memory system |
GB1443777A (en) | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
US3928857A (en) | 1973-08-30 | 1975-12-23 | Ibm | Instruction fetch apparatus with combined look-ahead and look-behind capability |
FR2253428A5 (ja) | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
FR111576A (ja) | 1973-12-13 | 1900-01-01 | ||
US3909799A (en) | 1973-12-18 | 1975-09-30 | Honeywell Inf Systems | Microprogrammable peripheral processing system |
US3909800A (en) | 1973-12-18 | 1975-09-30 | Honeywell Inf Systems | Improved microprogrammed peripheral processing system |
US4021782A (en) | 1974-01-07 | 1977-05-03 | Hoerning John S | Data compaction system and apparatus |
US4040026A (en) | 1974-05-08 | 1977-08-02 | Francois Gernelle | Channel for exchanging information between a computer and rapid peripheral units |
JPS5118409A (ja) | 1974-08-07 | 1976-02-14 | Hitachi Ltd | |
US3949377A (en) | 1974-09-03 | 1976-04-06 | Ultronic Systems Corporation | Data storage and processing apparatus including processing of spacer characters |
US3976977A (en) | 1975-03-26 | 1976-08-24 | Honeywell Information Systems, Inc. | Processor for input-output processing system |
GB1515376A (en) | 1975-07-09 | 1978-06-21 | Int Computers Ltd | Data storage systems |
US4035778A (en) | 1975-11-17 | 1977-07-12 | International Business Machines Corporation | Apparatus for assigning space in a working memory as a function of the history of usage |
US4077059A (en) | 1975-12-18 | 1978-02-28 | Cordi Vincent A | Multi-processing system with a hierarchial memory having journaling and copyback |
JPS52106641A (en) | 1976-03-05 | 1977-09-07 | Hitachi Ltd | Data record storage for high-speed sequential access |
US4054951A (en) | 1976-06-30 | 1977-10-18 | International Business Machines Corporation | Data expansion apparatus |
US4096567A (en) | 1976-08-13 | 1978-06-20 | Millard William H | Information storage facility with multiple level processors |
JPS5322331A (en) | 1976-08-13 | 1978-03-01 | Fujitsu Ltd | Dynamic address conversion s ystem |
JPS5362945A (en) | 1976-11-17 | 1978-06-05 | Toshiba Corp | Disc address system |
US4091455A (en) | 1976-12-20 | 1978-05-23 | Honeywell Information Systems Inc. | Input/output maintenance access apparatus |
US4075686A (en) | 1976-12-30 | 1978-02-21 | Honeywell Information Systems Inc. | Input/output cache system including bypass capability |
JPS5398741A (en) | 1977-02-08 | 1978-08-29 | Nec Corp | High level recording and processing system |
US4080651A (en) | 1977-02-17 | 1978-03-21 | Xerox Corporation | Memory control processor |
US4084234A (en) | 1977-02-17 | 1978-04-11 | Honeywell Information Systems Inc. | Cache write capacity |
US4126894A (en) | 1977-02-17 | 1978-11-21 | Xerox Corporation | Memory overlay linking system |
US4110823A (en) | 1977-02-17 | 1978-08-29 | Xerox Corporation | Soft display word processing system with multiple autonomous processors |
US4080652A (en) | 1977-02-17 | 1978-03-21 | Xerox Corporation | Data processing system |
US4158235A (en) | 1977-04-18 | 1979-06-12 | Burroughs Corporation | Multi port time-shared associative buffer storage pool |
US4310883A (en) | 1978-02-13 | 1982-01-12 | International Business Machines Corporation | Method and apparatus for assigning data sets to virtual volumes in a mass store |
US4189770A (en) | 1978-03-16 | 1980-02-19 | International Business Machines Corporation | Cache bypass control for operand fetches |
US4228501A (en) | 1978-06-21 | 1980-10-14 | Data General Corporation | Data transfer technique for use with peripheral storage devices |
US4246637A (en) | 1978-06-26 | 1981-01-20 | International Business Machines Corporation | Data processor input/output controller |
US4276595A (en) | 1978-06-30 | 1981-06-30 | International Business Machines Corporation | Microinstruction storage units employing partial address generators |
US4318184A (en) | 1978-09-05 | 1982-03-02 | Millett Ronald P | Information storage and retrieval system and method |
US4241420A (en) | 1978-11-01 | 1980-12-23 | Bank Computer Network Corporation | Disk data control |
US4327408A (en) | 1979-04-17 | 1982-04-27 | Data General Corporation | Controller device with diagnostic capability for use in interfacing a central processing unit with a peripheral storage device |
JPS5918747B2 (ja) | 1979-04-24 | 1984-04-28 | 富士通株式会社 | セクタ・フアイル制御方式 |
US4276927A (en) | 1979-06-04 | 1981-07-07 | The Trane Company | Plate type heat exchanger |
US4298932A (en) | 1979-06-11 | 1981-11-03 | International Business Machines Corporation | Serial storage subsystem for a data processor |
US4467421A (en) | 1979-10-18 | 1984-08-21 | Storage Technology Corporation | Virtual storage system and method |
NL8004884A (nl) | 1979-10-18 | 1981-04-22 | Storage Technology Corp | Virtueel stelsel en werkwijze voor het opslaan van gegevens. |
US4412285A (en) | 1981-04-01 | 1983-10-25 | Teradata Corporation | Multiprocessor intercommunication system and method |
US4414644A (en) | 1981-04-03 | 1983-11-08 | International Business Machines Corporation | Method and apparatus for discarding data from a buffer after reading such data |
US4533995A (en) | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
JP2818687B2 (ja) | 1990-06-18 | 1998-10-30 | 古河電気工業株式会社 | ヒューズ配列検査装置 |
US5546557A (en) * | 1993-06-14 | 1996-08-13 | International Business Machines Corporation | System for storing and managing plural logical volumes in each of several physical volumes including automatically creating logical volumes in peripheral data storage subsystem |
US5899994A (en) * | 1997-06-26 | 1999-05-04 | Sun Microsystems, Inc. | Flexible translation storage buffers for virtual address translation |
US5946685A (en) * | 1997-06-27 | 1999-08-31 | Sun Microsystems, Inc. | Global mount mechanism used in maintaining a global name space utilizing a distributed locking mechanism |
US6496791B1 (en) * | 1997-07-09 | 2002-12-17 | Neville Yates | Interfaces for an open systems server providing tape drive emulation |
US6389503B1 (en) | 1997-08-04 | 2002-05-14 | Exabyte Corporation | Tape drive emulation by removable disk drive and media formatted therefor |
US6029179A (en) | 1997-12-18 | 2000-02-22 | International Business Machines Corporation | Automated read-only volume processing in a virtual tape server |
US6260110B1 (en) * | 1998-04-02 | 2001-07-10 | Emc Corporation | Virtual tape system with variable size |
US6070224A (en) * | 1998-04-02 | 2000-05-30 | Emc Corporation | Virtual tape system |
JP3618552B2 (ja) * | 1998-06-30 | 2005-02-09 | 富士通株式会社 | 記憶装置 |
US6289425B1 (en) * | 1998-07-01 | 2001-09-11 | Storage Technology Corporation | Method for verifying availability of data space in virtual tape system |
US6324497B1 (en) * | 1998-07-15 | 2001-11-27 | Sutmyn Storage Corporation | Tape drive emulation system including tape library interface |
-
2000
- 2000-04-10 US US09/546,312 patent/US6834324B1/en not_active Expired - Lifetime
-
2001
- 2001-04-10 WO PCT/US2001/012350 patent/WO2002027462A1/en not_active Application Discontinuation
- 2001-04-10 AU AU5706001A patent/AU5706001A/xx active Pending
- 2001-04-10 JP JP2002530975A patent/JP2004510243A/ja active Pending
- 2001-04-10 EP EP01930532A patent/EP1221084A1/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007115270A (ja) * | 2006-12-13 | 2007-05-10 | Hitachi Ltd | 記憶制御装置及び記憶制御装置の制御方法 |
US8065466B2 (en) | 2007-08-10 | 2011-11-22 | Fujitsu Limited | Library apparatus, library system and method for copying logical volume to disk volume in cache disk with smallest access load |
Also Published As
Publication number | Publication date |
---|---|
AU5706001A (en) | 2002-04-08 |
WO2002027462A1 (en) | 2002-04-04 |
EP1221084A1 (en) | 2002-07-10 |
US6834324B1 (en) | 2004-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004510243A (ja) | テラバイト容量のボリュームを有する仮想テープ | |
US7082497B2 (en) | System and method for managing a moveable media library with library partitions | |
US7275050B2 (en) | Storage system, a method of file data backup and method of copying of file data | |
US6845431B2 (en) | System and method for intermediating communication with a moveable media library utilizing a plurality of partitions | |
US8620640B2 (en) | Emulated storage system | |
US7308528B2 (en) | Virtual tape library device | |
US6816957B1 (en) | Management of virtual tape volumes using data page atomic units | |
US8612697B2 (en) | Apparatus and method for virtualizing data storage media, such as for use in a data storage library providing resource virtualization | |
US8397046B2 (en) | Method and apparatus for deploying virtual hard disk to storage system | |
US6857059B2 (en) | Storage virtualization system and methods | |
JP7097379B2 (ja) | ストリームを使用するデータの割り振りエリアへの選択的記憶 | |
KR100615794B1 (ko) | 소형 컴퓨터 시스템 인터페이스 타입 메모리 장치의 에뮬레이트 방법, 컴퓨터 시스템 및 컴퓨터 독출 가능 저장 매체 | |
US20080120303A1 (en) | Dynamically changeable virtual mapping scheme | |
US7136981B2 (en) | Method and apparatus for creating a virtual storage volume with a file size independent of a file size limitation | |
JP2005535962A (ja) | ファイルシステム上に仮想ディスクオブジェクトを階層化することによるストレージ仮想化 | |
US6591356B2 (en) | Cluster buster | |
US20090119452A1 (en) | Method and system for a sharable storage device | |
Sacks | Demystifying storage networking das, san, nas, nas gateways, fibre channel, and iscsi | |
US7610295B2 (en) | Method and apparatus for generating persistent path identifiers | |
US20210103400A1 (en) | Storage system and data migration method | |
EP1686451A1 (en) | Virtual tape library device | |
JP2002055862A (ja) | 計算機システム | |
Wilson et al. | Finding Value in Storage Technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060614 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061107 |