(57)【要約】テープ・ドライブ内に装着されたテープ・カートリッジをエミュレートするためのシステム及び動作方法。エミュレートされたテープ・ドライブは、アドレス可能な範囲を定義しているインターフェース・プロトコルにより、クライアントと通信する。エミュレートされたテープ・カートリッジは、インターフェース・プロトコル内に定義されているアドレス可能な範囲と同じか、それより広い。１つ又はそれ以上の記憶装置が、テープ・ドライブ及び複数の仮想ボリュームをエミュレートする。クライアントと記憶装置との間に位置する、インターフェース・マネージャが、エミュレートされたテープ・カートリッジをアセンブルするために、必要に応じて、仮想ボリュームを装着する。
2004510243.tif 000002
【特許請求の範囲】
【請求項１】
テープ・ドライブ内に装着されているテープ・カートリッジをエミュレートするためのシステムであって、
前記テープ・ドライブ、及び前記テープ・ドライブ内に装着することができる複数の仮想ボリュームをエミュレートするために動作することができる少なくとも１つの記憶装置と、
複数のアドレスを定義するインターフェース・プロトコルにより、前記少なくとも１つの記憶装置と通信し、前記クライアントと通信するインターフェース・マネージャとを備え、前記インターフェース・マネージャが、前記テープ・ドライブ内に装着されている前記テープ・カートリッジをエミュレートするために、前記テープ・ドライブ内で前記複数の仮想ボリュームの装着を制御するために動作することができ、前記テープ・カートリッジは、前記インターフェース・プロトコルが定義する複数のアドレスに少なくとも等しい複数の仮想アドレスを持つシステム。
【請求項２】
前記インターフェース・マネージャが、
前記インターフェース・プロトコルにより前記クライアントと通信しているクライアント・コントローラと、
前記クライアント・コントローラ及び少なくとも１台の記憶装置と通信していて、前記テープ・ドライブ内に装着されている前記テープ・カートリッジをエミュレートする目的で、前記テープ・ドライブ内で前記複数の仮想ボリュームの装着を制御するために動作することができる記憶装置コントローラと、
を備える請求項１に記載のシステム。
【請求項３】
前記インターフェース・マネージャが、さらに、前記クライアント・コントローラ及び前記記憶装置コントローラと通信しているアドレス・マップを備え、前記アドレス・マップが、前記インターフェース・プロトコルにより定義された前記複数のアドレスを前記テープ・カートリッジの前記複数の仮想アドレスにマッピングするために動作する、請求項２に記載のシステム。
【請求項４】
前記複数の仮想アドレスの数が、前記インターフェース・プロトコルにより定義された前記複数のアドレスの数より多く、前記インターフェース・マネージャが、さらに、前記アドレス・マップ及び前記クライアント・コントローラと通信している上書きコントローラを備え、前記上書きコントローラが、前記テープ・カートリッジが前記選択したアドレスのところに、現在のデータをすでに記憶している場合に、前記複数のアドレスの中の選択したアドレスを持つ書込メッセージを受信した場合に応答し、現在のデータを保存するために、前記複数のアドレスの中の任意のアドレスに対して、マッピングされていない前記複数の仮想アドレスの中の１つの仮想アドレスに前記選択したアドレスを再マッピングする、請求項３に記載のシステム。
【請求項５】
前記インターフェース・マネージャが、さらに、前記複数のアドレスの中の再マッピングされた各アドレスに対する前記現在のデータに戻ることができるように、再マッピング動作を記録するために、前記上書きコントローラと通信しているログ・ファイルを備える、請求項４に記載のシステム。
【請求項６】
前記少なくとも１つの記憶装置が、第２のインターフェース・プロトコルにより通信し、前記インターフェース・マネージャが、さらに、前記インターフェース・プロトコルと前記第２のインターフェース・プロトコルとの間で変換を行うために、前記クライアント・コントローラと前記記憶装置コントローラとの間で通信するプロトコル変換器を備える、請求項２に記載のシステム。
【請求項７】
前記インターフェース・マネージャが、さらに、前記記憶装置コントローラと通信しているポリシー・コントローラを備え、前記ポリシー・コントローラが、前記クライアントに種々のレベルのサービスを提供するためにエミュレートされている前記テープ・ドライブ及び前記テープ・カートリッジの少なくとも１つの性能パラメータを制御するために動作する、請求項２に記載のシステム。
【請求項８】
前記少なくとも１つの記憶装置が、実際のテープ・ドライブにより前記テープ・ドライブをエミュレートする、請求項１に記載のシステム。
【請求項９】
前記少なくとも１つの記憶装置が、少なくとも１つの実際のテープ・カートリッジにより前記複数の仮想ボリュームをエミュレートする、請求項１に記載のシステム。
【請求項１０】
複数のアドレスを定義するインターフェース・プロトコルを持つテープ・ドライブをエミュレートするステップと、
記憶容量を供給するために、前記テープ・ドライブ内に装着することができる複数の仮想ボリュームをエミュレートするステップと、
前記テープ・ドライブ内に装着されているテープ・カートリッジをエミュレートするために、前記テープ・ドライブ内に、一度に１つずつ前記複数の仮想ボリュームを装着するステップと、
を含み、
前記テープ・カートリッジが、前記複数の仮想ボリュームのエミュレート動作に応じて、前記インターフェース・プロトコル内に定義されている前記複数のアドレスと少なくとも同数の複数の仮想アドレスを備える動作方法。
【請求項１１】
さらに、前記複数のアドレスの各アドレスを前記複数の仮想アドレスの中の各１つの仮想アドレスにリンクするために、前記インターフェース・プロトコルにより定義された前記複数のアドレスを前記複数の仮想アドレスにそれぞれマッピングするステップを含む、請求項１０に記載の方法。
【請求項１２】
さらに、前記テープ・カートリッジのどの部分が、前記クライアントによりアドレスされているのかを識別するために、前記クライアントからの前記選択したアドレスを受信した場合、それに応じて、前記複数のアドレスの中の１つの選択したアドレスにマッピングされている前記複数の仮想アドレスの第１の仮想アドレスに関連する前記複数の仮想ボリュームの中の第１の仮想ボリュームを決定するステップを含む、請求項１１に記載の方法。
【請求項１３】
さらに、前記テープ・カートリッジが、前記選択したアドレスのところで、前記クライアントにアクセスすることができるようにするために、前記第１の仮想アドレスに関連する前記第１の仮想ボリュームの決定に応じて、前記複数の仮想ボリュームの中の前記第１の仮想ボリュームを装着するステップを含む、請求項１２に記載の方法。
【請求項１４】
前記複数の仮想アドレスの数が、前記インターフェース・プロトコルにより定義された前記複数のアドレスの数より多く、さらに、現在のデータを保存するために、前記テープ・カートリッジが、前記選択したアドレスのところに現在のデータをすでに記憶している場合に、前記選択したアドレスを持つ書込メッセージを受信した場合に、それに応じて、前記複数のアドレスの中の任意のアドレスに対して、マッピングされていない前記複数の仮想アドレスの中の１つの仮想アドレスに前記選択したアドレスを再マッピングするステップを含む、請求項１３に記載の方法。
【請求項１５】
さらに、再マッピングされた各アドレスに対する前記現在のデータを発見することができるように、前記選択したアドレスの再度のマッピングに応じて、前記選択したアドレスの再マッピングをログするステップを含む、請求項１４に記載の方法。
【請求項１６】
前記テープ・ドライブ及び前記複数の仮想ボリュームのエミュレーションが、第２のインターフェース・プロトコルにより通信する少なくとも１台の記憶装置により実行され、さらに、前記クライアントから前記第２のプロトコルを分離するために、前記インターフェース・プロトコルと前記第２のインターフェース・プロトコルとの間で変換を行うステップを含む、請求項１０に記載の方法。
【請求項１７】
さらに、前記クライアントに種々のレベルのサービスを提供するために、エミュレートされている前記テープ・ドライブ及び前記テープ・カートリッジの少なくとも１つの性能パラメータを制御するステップを含む、請求項１０に記載の方法。
【請求項１８】
前記テープ・ドライブのエミュレーションが、少なくとも１つの実際のテープ・カートリッジを提供する、請求項１０に記載の方法。
【請求項１９】
前記複数の仮想ボリュームのエミュレーションが、少なくとも１つの実際のテープ・カートリッジを提供する、請求項１０に記載の方法。
【発明の詳細な説明】
【０００１】
［技術分野］
本発明は、仮想磁気テープ・ボリューム記憶デバイス及び動作方法の分野に関する。
【０００２】
［発明の背景］
通常の磁気テープ記憶環境の場合には、多くのテープ・カートリッジ、テープ・ドライブ、及びライブラリ・デバイスが、種々のクライアントの間に分散している。これらのクライアントは、１台のユーザ・ワークステーションであっても、ワーク・グループであっても、ある部門のサーバであっても、又は大型の多重ユーザ・プラットフォームであってもよい。これらの環境の管理の複雑さは、データの記憶量及び計算環境の異質性の関数として増大する。記憶管理コストは、情報技術予算の有意の部分を占めていて、オープン・システムと呼ばれる新たに出現中のマーケットにおいては、特に有意の部分を占めている。オープン・システム・ショップは、ＵＮＩＸ、ＮＴサーバ等のようなネットワーク・オペレーティング・システムをベースとするショップである。
【０００３】
オープン・システム・マーケットの場合には、磁気テープ技術の主な使用目的は、データの機密保護であり、特にデータのバックアップ、修復及び災害復旧である。いくつかの要因の絡み合いが、他の用途に磁気テープを採用する際の障害になっている。これらの要因の１つは、管理が複雑なことである。自動テープ・ライブラリ及び階層記憶テープ・システムにより、膨大なデータの記憶をローコストで行うことができるが、このようなライブラリ及びシステムは、かなり管理が複雑である。
【０００４】
特にテープ用途の場合には、クライアントのニーズとシステム管理のニーズとの間に一般的な対立があった。例えば、ライブラリ・リソースとテープ・デバイス・リソースが中央に位置している場合には、多くの場合、クライアントは、定義によりリソースを最適状態以下の状態で使用するリソース分割スキームと競合しなければならない。各部分に対して、個々のスクラッチ・テープ・プールを維持しなければならないのがその一例である。別な方法としては、集中リソースのクライアントによる使用のスケジュールは、順番に、リソースの共通のプールを使用する各クライアントにより作成することができる。このことは、成長を続ける情報技術リソースのニーズ、及び周期的な作業量を特徴とする環境においては困難な問題であり、集中式リソース管理とクライアントとの間の通信がうまくいっていないために、問題はますます難しいものになっている。多くの場合、仮想テープ技術は、状況をさらに困難なものにしている。例えば、クライアントが他の物理的な場所に移動させるために、データ・セットをバックアップしたい場合に、多数の仮想テープ・ラベルとその本当の相手の仮想テープとの間の不一致により、回復プロセスの際にエラーが発生する恐れがある。
【０００５】
仮想磁気テープ、記憶エリア・ネットワーク通信、及び集中システム管理ツールのようないくつかの技術は、データ記憶管理の難問を解決するために、多年にわたって進歩してきた。これら各技術は、管理の問題のある部分を解決した。例えば、仮想テープ技術により、テープ・ドライブを非常に効率的に使用するために、テープのバッファリング及びデータ転送速度の整合が可能になった。記憶エリア・ネットワークにより、記憶デバイス及びクライアントの同一場所への設置に関する非常に多くの問題が解決し、それにより、オープン・システムは、中央に位置することができるようになり、集中的に記憶リソースを管理できるようになった。最後に、システム管理ツールにより、種々の環境でデータ管理をするための共通のツールが提供できる見通しができた。
【０００６】
しかし、これら各技術は、問題の中のいくつかを解決したに過ぎない。例えば、仮想テープ・ボリュームは、多くの場合、実テープ・カートリッジをエミュレートするように設計される。カートリッジの視点から見ると、実テープ・カートリッジを使用する場合と比較した場合、仮想テープ・ボリュームを使用しても管理上の利点は何もない。クライアントは、依然として、どの仮想テープ・ボリュームに必要なデータが記憶されているのかを知らなければならないし、また、クライアントは、仮想テープ・ボリュームを装着したり、取り外したりするために、記憶装置を制御しなければならない。他の例の場合には、システム管理ツールは、すべてのデータ記憶システムを均等にサポートしない傾向がある。ある販売業者の記憶装置のクライアントによる管理は、通常、ある点で、他の販売業者の第２の記憶装置と互換性を持たない。
【０００７】
クライアントが、自分達の用途のために、磁気テープを好適な媒体としてもっと進んで受け入れてくれるようにするためには、テープ記憶システムを簡単に使用することができ、何時でも入手することができるようにする必要がある。理想的には、テープ記憶システムは、クライアントから見た場合、クライアントのコンピュータの背後に直接接続していて、専用テープ・ドライブ内に何時でも装着されている１つのテープ・カートリッジのように見え、しかも集中管理の利点を実現するものであってほしい。このテープ・カートリッジの容量は、クライアントの要件及び予算に適合するように調整できるものでなければならない。容量の上限は、高度のエンド・ユーザに対しては、仮想上制限のないものでなければならない。
【０００８】
［発明の開示］
本発明は、テープ・ドライブ内に装着されているテープ・カートリッジ及びシステムの管理方法をエミュレートするシステムである。エミュレートされるテープ・ドライブとクライアントとの間の通信は、インターフェース・プロトコルにより行われる。エミュレートされるテープ・カートリッジのアドレス指定可能な範囲は、テープ・カートリッジを、実際に無制限の容量を持つように見せているインターフェース・プロトコルが定義しているアドレス指定可能な範囲と一致するか、又はそれ以上になる。動作中、１つ又はそれ以上の記憶装置が、テープ・ドライブ及び複数の仮想テープ・ボリュームをエミュレートする。インターフェース・マネージャが、テープ・ドライブ内の複数の仮想テープ・ボリュームの装着を制御するので、複数の仮想テープ・ボリュームは、ユーザから見た場合、１つの大型のテープ・カートリッジのように見える。
【０００９】
インターフェース・マネージャは、インターフェース・プロトコルが定義するアドレスを複数の仮想テープ・ボリュームが使用する種々の仮想アドレスにマッピングするアドレス・マップ機能を含む。他の実施形態の場合には、新しいデータを現在のデータ上に上書きする代わりに、テープ・カートリッジの他の場所の未使用のブロックにマッピングすることにより、データの現在のブロックを保存するために、アドレス・マッピングを使用することができる。第２の他の実施形態の場合には、インターフェース・マネージャは、クライアントと通信するために使用するインターフェース・プロトコルと、記憶装置と通信するために使用する第２のプロトコルとの間で変換を行うプロトコル変換器を含むことができる。第３の実施形態は、エミュレートされるテープ・ドライブ、又はクライアントのサービス・レベルに基づくテープ・カートリッジに対する、１つ又はそれ以上の性能パラメータを設定するポリシー・コントローラを含む。
【００１０】
従って、本発明の１つの目的は、テープ・ドライブ内に装着されたテープ・カートリッジをエミュレートするシステム及び方法を提供することである。この場合、クライアントは、インターフェース・プロトコルを通してエミュレートされるテープ・ドライブと通信し、テープ・カートリッジの容量は、インターフェース・プロトコルが定義するアドレス指定可能な範囲と一致するか、又はそれ以上になる。
【００１１】
上記及び他の目的、機能及び利点は、添付の図面を参照しながら以下の詳細な説明を読めば、容易に理解することができるだろう。
【００１２】
［発明を実施するための最良の形態］
図１は、クライアント９０ａ−ｃに接続している本発明１００のブロック図である。１人又はそれ以上のクライアント９０ａ−ｃは、ファイバ・チャネル−仲裁ループ（ＦＣ−ＡＬ）ファイバ９２を通してインターフェース・マネージャ１０２と通信する。ＦＣ−ＡＬファイバ９２は、米国規格協会（ＡＮＳＩ）（ニューヨーク州ニューヨーク）規格ＡＮＳＩ　Ｘ３．２７２−１９９６により定義されている。インターフェース・マネージャ１０２は、ＦＣ−ＡＬファイバ９２に接続しているホストとしてのサーバ１０６の制御下で動作する。複数の記憶装置１０８も、ＦＣ−ＡＬファイバ９２を通してインターフェース・マネージャ１０２と通信する。インターフェース・マネージャ１０２は、各クライアント９０ａ−ｃが記憶装置１０８と通信する一種のゲートウェイとして機能する。インターフェース・マネージャ１０２も、記憶装置１０８を管理し、通信を変更する。そのため、クライアントの視点から見た場合、記憶装置１０８は、図２に示すように、各クライアント９０に直接接続しているエミュレートされたテープ・ドライブ１１２内に装着されている１つの大型のエミュレートされたテープ・カートリッジ１１０のように見える。
【００１３】
記憶装置１０８においては、種々の技術を使用することができる。上記技術は、自動テープ・ライブラリ、自動ディスク・ライブラリ、冗長で安価なデバイス（ＲＡＩＤ）システム、ディスク・ファーム等を含むが、これらに制限されない。必要なことは、記憶装置１０８が、エミュレートされたテープ・ドライブ１１２及び複数の仮想ボリューム１１４（極細線で示す）を供給することができることである。この時点で、実際のテープ・ドライブをエミュレートされたテープ・ドライブ１１２として使用し、１つ又はそれ以上の実際のテープ・カートリッジを１つ又はそれ以上の仮想ボリューム１１４として使用することによりエミュレーションを行うことができる。サーバ１０６に対する記憶装置１０８の物理的位置は重要ではない。この場合、ＦＣ−ＡＬファイバ９２を通してインターフェース・マネージャ１０２へのチャネルを確立しさえすればよい。そうすることにより、サーバ１０６を、例えば、クライアント９０ａ−ｃの近くの別の場所に位置させる一方で、記憶装置１０８を、制御及び保守のソースの近くに位置させることができる。
【００１４】
図３は、２つのエミュレートされたテープ・カートリッジ１１０ａ−ｂの仮想ボリューム１１４を複数の記憶装置１０８ａ−ｃ内にマッピングする方法を示す。第１のエミュレートされたテープ・カートリッジ１１０ａは、８つの仮想ボリューム１１４ａ−ｈを持つ。第１の仮想ボリューム１１４ａは、第１の記憶装置１０８ａ内の第１の実媒体１１５ａ上に物理的に位置している。第２及び第３の仮想ボリューム１１４ｂ−ｃは、第１の記憶装置１０８ａ内の第２の実媒体１１５ｂ上に、相互に隣接して物理的に位置している。同様に、第４及び第５の仮想ボリューム１１４ｄ−ｅは、第２の記憶装置１０８ｂ内の第３及び第４の実媒体１１５ｃ及び１１５ｄ上にそれぞれ物理的に位置している。第６及び第７の仮想ボリューム１１４ｆ−ｇは、第３の記憶装置１０８ｃ内の第５及び第６の実媒体１１５ｅ−ｆ上にそれぞれ位置している。最後に、第８の仮想ボリューム１１４ｈは、第１の記憶装置１０８ａ内の第１の実媒体１１５ａ上に位置している。同様な方法で、第２のエミュレートされたテープ・カートリッジ１１０ｂを備える種々の仮想ボリューム１１４は、記憶装置１０８ａ−ｃ内の種々の実媒体１１５ａ−ｇ上に物理的に位置している。
【００１５】
エミュレートされたテープ・カートリッジ１１０内の仮想ボリューム１１４の順序と記憶装置１０８内の実媒体１１５との間でマッピングするためのアルゴリズムは、多くの要因及びポリシーを考慮に入れることができる。例えば、エミュレートされたテープ・カートリッジ１１０の多くのシーケンシャルな仮想ボリューム１１４が、１つの実媒体１１５にマッピングされる場合には、データを再度呼び出す間の装着待ち時間を短縮することができる。仮想ボリューム１１４を、第一／最善の使用することができる記憶装置１０８内の第一／最善の使用することができる実媒体１１５内にマッピングする場合には、データ書込み中の装着待ち時間を短縮することができる。ポリシーを考慮することにより、同じ実媒体１１５上の１人のクライアント９０ａに属するデータを競合クライアント９０ｂに属するデータとして記憶しないですますことができる。災害復旧の要件により、オフサイトの位置に周期的にバックアップされる実媒体１１５にマッピングを行う場合もあるし、又は、異なる場所の複数の記憶装置１０８に冗長に書き込まなければならない場合もある。履歴上重要なデータの場合には、不注意による消去等を防止するために、仮想ボリューム１１４を追記型の実媒体１１５にマッピングしなければならない場合がある。
【００１６】
ＦＣ−ＡＬファイバ９２は、本発明用の好適なネットワーク通信技術である。ＦＣ−ＡＬファイバ９２を使用することにより、クライアント９０とインターフェース・マネージャ１０２との間、インターフェース・マネージャ１０２と記憶装置１０８との間に「チャネル」を確立することができる。チャネルは、ＦＣ−ＡＬファイバ９２のノードの間に確立することができる特殊な目的の通信リンクである。チャネルは、ＦＣ−ＡＬファイバ９２を横切ってデータを送信するために、低いレベルのソフトウェアと小さなオーバーヘッドしか必要としない。その結果、チャネルは、ノード間で高速の通信を行うことができる。本発明の場合には、ＦＣ−ＡＬファイバ９２の代わりに、他のタイプのネットワークを使用することもできる。例えば、幾人かのクライアント９０ａ−ｂ及びサーバ１０６は、イーサネットをベースとするローカル・エリア・ネットワーク（ＬＡＮ）９４上に接続することができるし、一方、記憶装置１０８及び他のクライアント９０ｃは、図４に示すように、サーバ１０６にアクセスすることができる、記憶エリア・ネットワーク（ＳＡＮ）９６の一部である。他の例の場合には、サーバ１０６は、インターネット、ワイド・エリア・ネットワーク、企業ネットワーク、又は任意の類似のネットワーク技術により記憶装置１０８に接続することができる。
【００１７】
図２に戻って説明すると、クライアント９０とエミュレートされたテープ・ドライブ１１２との間の図示のインターフェースが、工業標準規格プロトコルに適合していると便利である。好適なインターフェース・プロトコルは、小型コンピュータ用周辺機器インターフェース−２（ＳＣＳＩ−２）規格である。ＳＣＳＩ−２は、ＡＮＳＩ規格ＡＮＳＩ　Ｘ３．１３１−１９９４により定義される。この規格は、パーソナル・コンピュータ、ワークステーション、サーバ、テープ・ドライブ、ディスク・ドライブ、他の計算及び記憶デバイス用のもので、コンピュータ業界で共通に使用される。ＳＣＳＩ−２は、また、ＦＣ−ＡＬフレーム内に透明に内蔵させることができ、ＡＦ−ＡＬファイバ内の他のノードに送ることができる標準インターフェース・プロトコルの中の１つである。そのため、クライアント９０は、ＦＣ−ＡＬファイバ９２の存在を意識しないですむ。クライアント９０は、ＳＣＳＩ−２バス上の論理装置アドレスの１つのところに装着され、エミュレートされたテープ・カートリッジ１１０を含む、エミュレートされたテープ・ドライブ１１２を意識するだけである。他の実施形態の場合には、ＳＣＳＩ−２プロトコルにより、８つの論理装置をＳＣＳＩ−２バスに接続することができる。クライアント９０は、通常、最後の論理装置番号を使用しているので、エミュレートされたテープ・カートリッジ１１０を含む、最大７つまでのエミュレートされたテープ・ドライブ１１２を、本発明の好適な実施形態により、同時に生成することができる。そうすることにより、クライアント９０は、異なる目的のためのいくつかのエミュレートされたテープ・ドライブ１１２、及びエミュレートされたテープ・カートリッジ１１０を使用することができる。例えば、１つのエミュレートされたテープ・ドライブ１１２、エミュレートされたテープ・カートリッジ１１０をワーク・グループ内の共有ファイルに割り当てることができる。第２のエミュレートされたテープ・ドライブ１１２、及びエミュレートされたテープ・カートリッジ１１０は、個人ファイルの安全な場所として使用することができる。第３のエミュレートされたテープ・ドライブ１１２、及びエミュレートされたテープ・カートリッジ１１０は、ローカル・サーバの毎晩のバックアップ用に使用することができる。以下同じ。
【００１８】
インターフェース・マネージャ１０２をクライアント９０に接続するために、ＦＣ−ＡＬファイバ９２を使用した場合のもう１つの利点は、ＦＣ−ＡＬファイバ９２が、多くの異なるインターフェース・プロトコルの透明な移送をサポートすることである。ＳＣＳＩ−２の他に、ＦＣ−ＡＬファイバ９２は、また、インテリジェント周辺装置インターフェース（ＩＰＩ）、高性能並列インターフェース（ＨＩＰＰＩ）フレーム・プロトコル、インターネット・プロトコル（ＩＰ）、コンピュータ・データ用のＡＴＭ適応層（ＡＡＬ５）、リンク・カプセル収容（ＦＣ−ＬＥ）、単一バイト・コマンド・コード・セット・マッピング（ＳＢＣＣＳ）、及びＩＥＥＥ（ニュージャージー州ピスカタウェイ所在の、米国電気電子技術者協会）８０２．２プロトコルをサポートする。これらの規格の中の任意のものを、他の類似の工業規格と一緒に本発明で使用することもできる。
【００１９】
図１に戻って説明すると、インターフェース・マネージャ１０２は、好適な実施形態で、ＦＣ−ＡＬファイバ９２に接続しているホストとしてのサーバ１０６の制御下で動作する。他の実施形態の場合には、インターフェース・マネージャ１０２は、他の場所において、ホストの制御下で動作することができる。１つの重要な位置は、ある記憶装置１０８のインターフェース・マネージャ１０２をホストとして制御する位置である。ほとんどすべての記憶システム（記憶装置１０８）は、記憶リソースを管理し、制御するための少なくとも１台のコンピュータを備える。これらコンピュータの中の１台は、インターフェース・マネージャ１０２に対して、適当なホストとしての働きをする。このような構成になっているので、販売業者は、本発明を自蔵パッケージとして提供することができる。例えば、図５に示すように、（仮想ボリューム１１４用の）３０の３５ギガバイトの磁気テープ・カートリッジ１３４と、（エミュレートされたテープ・ドライブ１１２用の）実テープ・ドライブ１３６を含み、インターフェース・マネージャ１０２をホストとして制御するラック装着自動テープ・ライブラリ１１６（あるタイプの記憶装置１０８）は、クライアント９０から見ると、１テラバイトの容量を持つ１つのエミュレートされたテープ・カートリッジ１１０のように見える。
【００２０】
インターフェース・マネージャ１０２をホストとして制御するためのもう１つの可能な物理的な位置は、クライアント９０ａ−ｃ内の位置である。この方法の１つの利点は、クライアント９０ａ−ｃとインターフェース・マネージャ１０２との間の通信が、もはや、ＳＣＳＩ−２規格又はハードウェアの速度制限により制約を受けないということである。インターフェース管理ソフトウェア用のさらにもう１つ可能なホストとしては、ＬＡＮサーバ、代理サーバ、ファイヤウォール・サーバ、及びクライアント９０ａ−ｃを、直接ネットワークの外側で通信することができるようにする類似のゲートウェイ等がある。
【００２１】
インターフェース・マネージャ１０２は、いくつかの機能を実行する。図６は、図１のシステムの機能の流れのブロック図である。インターフェース・プロトコルによるクライアント９０ａ−ｃとの通信は、クライアント・コントローラ１１８により提供される。好適な実施形態の場合には、このことは、クライアント・コントローラ１１８が、ＳＣＳＩ−２規格により、クライアント９０ａ−ｃとの間でメッセージを送受信することを意味する。クライアント・ノードのところで、ＦＣ−ＡＬファイバ９２からのＳＣＳＩメッセージを挿入したり、除去したりするために、クライアント９０ａ−ｃとクライアント・コントローラ１１８との間に、ＦＣ−ＡＬアダプタ９８ａ−ｃへのいくつかのＳＣＳＩ−２が設置されている。
【００２２】
記憶装置コントローラ１２０は、記憶装置１０８（図には１つだけを示してある）と通信するために、インターフェース・マネージャ１０２の他方の端部のところに常駐している。記憶装置コントローラ１２０は、エミュレートされたテープ・ドライブ１１２及び仮想ボリューム１１４を形成するために、記憶装置１０８が必要とするすべての初期化、装着、取り外し、エミュレーション、及び種々の記憶装置特有の制御機能を提供する。記憶装置コントローラ１２０は、また、仮想ボリューム１１４を論理的に一緒に追加する能力を持っているので、仮想ボリュームは、エミュレートされたテープ・カートリッジ１１０のように見える。記憶装置コントローラ１２０が、記憶装置１０８と通信するために、クライアント・コントローラ１１８が、クライアント９０ａ−ｃと通信するのに使用しているのと同じインターフェース・プロトコルを使用している場合には、記憶装置コントローラ１２０及びクライアント・コントローラ１１８は、点線１２２で示すように、いくつかのアドレス指定のないＳＣＳＩ−２メッセージを相互間で直接伝送することができる。
【００２３】
ＳＣＳＩ−２規格を使用すれば、記憶媒体を、２５６の区画（２８）に分割することができる。各区画は、最高６５，５３６（２１６）区画単位の区画サイズにフォーマットすることができる。この場合、各区画単位は、現在、最高１メガバイト（２２０）に選択することができる。（ＳＣＳＩ−２規格は、１つの区画サイズ単位を定義するために、２つのビットを割り当てる。２進法の１０が、１メガバイトの区画単位サイズとして定義される。２進法の１１は、この規格では未使用である。）これにより、最大区画フォーマットのサイズは、約６８．８ギガバイト（２３６）になり、フォーマットした全媒体容量は、約１７．６テラバイト（２４４）になる。区画内のブロック・アドレス指定は、３２ビットのフィールドで供給され、その場合、通常のテープ・ブロックのサイズは、約３２キロバイト（２１５）である。このことは、１つの区画内のアドレス指定可能な範囲は、理論的には、１４０テラバイト（２４７）にもなり、その結果、１つの区画内で現在使用されているアドレス範囲（２３６）よりもアドレス範囲は広くなる。未使用の２進法の１１を、例えば、２ギガバイト（２３１）のような、もっと大きい区画サイズとして定義することにより、１つの区画のフォーマットされたサイズを、その区画内のアドレス指定可能な範囲（２４７）と一致させることができる。
【００２４】
現在の磁気テープ・カートリッジ、及びその仮想磁気テープ・カートリッジは、最大３５ギガバイトの容量を持つ。このことは、ＳＣＳＩ−２規格を使用することにより、本発明は、クライアント９０に、仮想ボリューム１１４／実テープ・カートリッジ当り、３５ギガバイトにおいて、４，０００の仮想ボリューム１１４／実テープ・カートリッジと等価の、エミュレートされたテープ・カートリッジ１１０を提供することができることを意味する。４，０００又はそれ以上の仮想ボリューム１１４の間にＳＣＳＩ−２規格の３２ビットのブロック・アドレス指定範囲をマッピングするために、インターフェース・マネージャ１０２内にアドレス・マップ１２４機能が提供される。
【００２５】
図７は、８ビットアドレス指定空間１２６がエミュレートされたテープ・カートリッジ１１０を形成するために論理的に追加される５つの仮想ボリューム１１４ａ−ｅ内にマッピングされるマッピング・スキームの略図である。この例の場合には、インターフェース・プロトコルは、００ｈｅｘからＦＦｈｅｘまでのアドレスを定義する。仮想ボリューム１１４ａ、１１４ｂ及び１１４ｅは、それぞれ、００ｈｅｘから３Ｆｈｅｘまでの仮想アドレスを持つ。仮想ボリューム１１４ｃは、００ｈｅｘから４Ｆｈｅｘまでの、もっと長い仮想アドレス空間を持つ。仮想ボリューム１１４は、００ｈｅｘから僅か１Ｆｈｅｘまでの、もっと短い仮想アドレス空間を持つ。（仮想ボリューム１１４ｃ及び１１４ｄが、仮想ボリューム１１４ａ、１１４ｂ及び１１４ｅのコピーであった場合には、８ビット・インターフェース・プロトコルの各アドレスを仮想ボリューム１１４ａ−ｄの１つの仮想アドレスにマッピングすることができる。仮想ボリューム１１４ｅは、それにマッピングされた８ビット・インターフェース・プロトコルを全然持たなくてもよいし、又はそれどころか、仮想ボリューム１１４ｅは存在しなくてもよい。）
【００２６】
図８について説明すると、クライアント９０が始動させた通常の読取メッセージは、ブロック８００に示すように、実ブロック・アドレスを含む。読取メッセージを受信した場合には、ブロック８０２に示すように、クライアント・コントローラ１１８は、アドレス・マップ１２４に実ブロック・アドレスを転送し、記憶装置コントローラ１２０に読取メッセージを転送する。アドレス・マップ１２４は、ブロック８０４に示すように、実ブロック・アドレスを仮想ブロック・アドレスにマッピングする。次に、ブロック８０５に示すように、この仮想ブロック・アドレスに関連する特定の仮想ボリューム１１４が決定される。次に、必要な場合には、記憶装置コントローラ１２０は、特定の仮想ボリューム１１４を装着するために、記憶装置１０８にコマンドを送信し、ブロック８０６に示すように、読取メッセージ内の実ブロック・アドレスの代わりに、仮想テープ・アドレスを使用する。特定の仮想ボリューム１１４が装着された後で、ブロック８０８に示すように、記憶装置コントローラ１２０は、仮想アドレスを持つ読取メッセージを記憶装置１０８に転送する。記憶装置１０８は、ブロック８１０に示すように、特定の仮想ボリューム１１４から読み取ったデータで応答する。記憶装置コントローラ１２０は、ブロック８１２に示すように、データをクライアント・コントローラ１１８に送る。最後に、クライアント・コントローラ１１８は、ブロック８１４に示すように、データをクライアント９０に返送する。
【００２７】
インターフェース・マネージャ１０２が提供することができる、オプションとしての機能は、現在のデータが、同じブロック・アドレスを持つ、新しいデータにより上書きされるのを防止するための上書き保護機能である。図９について説明すると、上書きコントローラ１２８は、ブロック９００及び９０２に示すように、書込メッセージに対して、クライアント９０からクライアント・コントローラ１１８が受信した各メッセージをチェックする。メッセージがデータを書き込むためのものでない場合には、判断ブロック９０２の「いいえ」ブランチは、スタートに戻って、クライアント９０からの次のメッセージを受信するために待機状態になる。書込メッセージを受信した場合には、上書きコントローラ１２８は、判断ブロック９０４に示すように、実ブロック・アドレスに、以前書込みが行われたことがあるかどうかをチェックするために、書込メッセージ内の実ブロック・アドレスをチェックする。このメッセージが、その実ブロック・アドレスへ書き込むための最初の試みである場合には、判断ブロック９０４の「いいえ」ブランチに進み、次に、上書きコントローラ１２８は、ブロック９０６に示すように、実ブロック・アドレスが現在のデータを持っていることを示すフラグをセットする。そのメッセージが、実ブロック・アドレスへ書き込むための２回目の試みである場合には、判断ブロック９０４の「はい」ブランチに進み、アドレス・マップ１２４機能は、ブロック９０８に示すように、実ブロック・アドレスを、新しい未使用の仮想ブロック・アドレスに再マッピングするようにとの命令を受ける。この再マッピングにより、実ブロック・アドレスのところに、前に書き込まれた現在のデータが保存される。最後に、この再マッピング・イベントは、ブロック９１０に示すように、現在のデータに戻ることができる状態を保存するために、ログ・ファイル１３０内に記録される。
【００２８】
上書きコントローラ１２８は、エミュレートされたテープ・カートリッジ１１０に、インターフェース・プロトコルにより、クライアント９０がアドレス指定することができるよりも、もっと多くのデータを持たせることができる。クライアント９０が、何らかの方法で、古いデータにアドレスすることができるようにするためには、ＳＣＳＩ−２規格を変更しなければならない場合もあるし、又は、クライアント９０が、データのすべてのバージョンをアドレスすることができるようにするためには、もっと広いアドレス指定範囲を持つ第２のインターフェース・プロトコルを使用しなければならない場合もある。ＳＣＳＩ−２規則への変更の一例としては、バージョン・バイトとして、読取メッセージ内に８つの予約ビットを定義するという例がある。００ｈｅｘの値は、その実ブロック・アドレスのところに書き込まれた最も新しいデータの読取りと見なされる。０１ｈｅｘの値は、その実ブロック・アドレスに書き込まれた、２番目に最も新しい古いデータの読取りと見なされる。０２ｈｅｘの値は、その実ブロック・アドレスに書き込まれた、３番目に最も新しい古いデータの読取りと見なされる。以下同じ。古いデータの各バージョンの正しい仮想アドレス及び仮想ボリューム１１４は、ログ・ファイル１３０から入手することができる。もう１つの例は、各エミュレートされたテープ・カートリッジ１１０をアドレスするための、２つの論理装置番号の使用である。第１の論理装置番号は、以前のように、エミュレートされたテープ・カートリッジ１１０をアドレスするために使用することができ、一方、第２の論理装置番号は、そのデータのバージョンに制御アクセスするために使用することができる。この場合、このアドレス、又は第２の論理装置番号に関連するアドレスの一部は、第１の論理装置番号に関連する実ブロック・アドレスのところで読み取られているデータのバージョンを定義する。
【００２９】
アドレス・ブロックが定期的に上書きされる環境の場合には、ログ・ファイル１３０は、非常に大きいものになる場合があることは明らかである。図６について説明すると、ログ・ファイル１３０ａは、図に示すように、インターフェース・マネージャ１０２内に位置する。他の実施形態の場合には、ログ・ファイル１３０ｂは、極細線で示すように、記憶容量がもっと大きい１つの記憶装置１０８に物理的に記憶することができる。ログ・ファイル１３０ｂは、仮想ボリューム１１４のうちの１つのボリューム上に、又は適当な大きさの他の記憶ボリューム上に書き込むことができる。
【００３０】
種々のクライアント９０ａ−ｃ及び種々の記憶装置１０８を収容するために、インターフェース・コントローラは、第２のインターフェース・プロトコルによりデータ装置と通信しなければならない場合がでてくる。本発明の場合には、クライアント・コントローラ１１８と記憶装置コントローラ１２０との間に、プロトコル変換器１３１を設置することにより、このような事態に対処している。プロトコル変換器１３１機能は、２方向に動作するものでなければならない。クライアント９０ａ−ｃから受信したインターフェース・プロトコル・メッセージは、記憶装置１０８に送られた第２のインターフェース・プロトコル・メッセージに変換しなければならない。同様に、記憶装置１０８から受信した第２のインターフェース・プロトコル・メッセージを、クライアント９０ａ−ｃに送られるインターフェース・プロトコル・メッセージに変換しなければならない。ある場合には、変換は、元の（狭い）ＳＣＳＩ−２規格で使用する８ビット幅のデータ・バイトと、広帯域ＳＣＳＩ−２規格で使用する１６ビット幅のデータ語との間の変換のように簡単な場合がある。ほかの場合には、変換は、２つの完全に異なるインターフェース・プロトコル規格間の変換を必要とする場合がある。
【００３１】
インターフェース・マネージャ１０２が提供することができる他の機能は、エミュレートされたテープ・ドライブ１１２、及びエミュレートされたテープ・カートリッジ１１０の性能パラメータを制御するポリシーを実行することができることである。図６に示すように、記憶装置コントローラ１２０と通信しているポリシー・コントローラ１３２は、記憶装置１０８に動作するように命令することができる。例えば、ＦＣ−ＡＬファイバ９２（クライアント）のいくつかのノードだけが、エミュレートされたテープ・カートリッジ１１０に対して読取り及び書込みできるようにするために、アクセスを制御することができる。他のノード（クライアント）は、読取専用の特権を持つことができる。エミュレートされたテープ・カートリッジ１１０の全容量は、種々のクライアント９０ａ−ｃに対する記憶コストを最低限度に低減するために、必要に応じて、クライアント毎に異なる。異なるタイプの記憶装置１０８への仮想ボリューム１１４の割当ては、広い帯域幅データ転送を必要とするクライアント９０ａ−ｃが、高速記憶装置１０８に割り当てられるように管理することができる。信頼性の高いデータ記憶を必要とするクライアント９０ａ−ｃは、ＲＡＩＤ３及びＲＡＩＤ５タイプの記憶装置１０８に割り当てることができる。他のクライアント９０ａ−ｃは、エージング・アルゴリズムにより、高価な記憶装置１０８から安価な記憶装置１０８に自動的に移動するデータを持つことができる。上記以外の種々のポリシーも、１つ又はそれ以上の性能パラメータを制御するために、本発明により実行することができる。
【００３２】
今迄、本発明の実施形態を図示し、説明してきたが、これらの実施形態は、本発明のすべての可能な形態を図示し、説明するためのものではない。それどころか、本明細書で使用した用語は、本発明を制限するためのものではなく、本発明を説明するためのものであり、本発明の精神及び範囲から逸脱することなしに、種々の変更を行うことができることを理解されたい。
【図面の簡単な説明】
【図１】クライアントに接続している、本発明を実行するシステムのブロック図である。
【図２】クライアントの視点から見た本発明のブロック図である。
【図３】記憶装置内の実媒体に対する仮想ボリュームのマッピングを示すブロック図である。
【図４】クライアントの接続している、本発明を実行するためのシステムの他の実施形態のブロック図である。
【図５】クライアントの接続している、本発明を実行するためのシステムのもう１つ他の実施形態のブロック図である。
【図６】好適な実施形態の機能の流れを示すブロック図である。
【図７】インターフェース・プロトコル・アドレスの、仮想アドレスへのマッピングを示す略図である。
【図８】クライアントからの読取メッセージを管理する方法のフローチャートである。
【図９】上書きから現在のデータを保護するための方法のフローチャートである。
【図１】
2004510243.tif 000003
【図２】
2004510243.tif 000004
【図３】
2004510243.tif 000005
【図４】
2004510243.tif 000006
【図５】
2004510243.tif 000007
【図６】
2004510243.tif 000008
【図７】
2004510243.tif 000009
【図８】
2004510243.tif 000010
【図９】
2004510243.tif 000011
【国際公開パンフレット】
2004510243.tif 000012
2004510243.tif 000013
2004510243.tif 000014
2004510243.tif 000015
2004510243.tif 000016
2004510243.tif 000017
2004510243.tif 000018
2004510243.tif 000019
2004510243.tif 000020
2004510243.tif 000021
2004510243.tif 000022
2004510243.tif 000023
2004510243.tif 000024
2004510243.tif 000025
2004510243.tif 000026
2004510243.tif 000027
2004510243.tif 000028
2004510243.tif 000029
2004510243.tif 000030
2004510243.tif 000031
2004510243.tif 000032
2004510243.tif 000033
2004510243.tif 000034
2004510243.tif 000035
2004510243.tif 000036
【国際調査報告】
2004510243.tif 000037
2004510243.tif 000038