(57)【特許請求の範囲】
【請求項１】
第１のテープ・データ・ストレージ・デバイスを備えるプライマリ・データ・ストレージ・デバイスが、ストレージ・エリア・ネットワーク（ＳＡＮ）を介して当該ＳＮＡに接続する第１の通信ポートから、ホスト・データ処理システムからの入出力（Ｉ／Ｏ）操作要求を受信するステップと、
前記プライマリ・データ・ストレージ・デバイスが、前記Ｉ／Ｏ操作要求を処理するステップと、
前記プライマリ・データ・ストレージ・デバイスが、前記処理と同時に、前記ＳＮＡに接続する、前記プライマリ・データ・ストレージ・デバイスの第２の通信ポートから、第２のテープ・データ・ストレージ・デバイスを含むセカンダリ・データ・ストレージ・デバイスに前記Ｉ／Ｏ操作要求を移送するステップと、
を含む方法。
【請求項２】
前記第２のテープ・データ・ストレージ・デバイスが、前記ホスト・データ処理システムによってＩ／Ｏ操作用にリザーブされる、請求項１に記載の方法。
【請求項３】
前記セカンダリ・データ・ストレージ・デバイスが固定ディスク、ダイレクト・アクセス・ストレージ・ドライブを含む、請求項１または２に記載の方法。
【請求項４】
前記プライマリ・データ・ストレージ・デバイスによる前記移送するステップが、
前記Ｉ／Ｏ操作要求に関連する特定のデータまたはメタデータ要素をエンコードするステップと、
前記エンコードするステップに応じて、前記Ｉ／Ｏ操作要求に関連する前記特定のデータまたはメタデータ要素を移送するステップと、を含む請求項１に記載の方法。
【請求項５】
前記エンコードするステップが、前記Ｉ／Ｏ操作に関連する前記特定のデータまたはメタデータ要素を圧縮するステップ、および前記Ｉ／Ｏ操作に関連する前記特定のデータまたはメタデータ要素を暗号化するステップの少なくとも１つを含む、請求項４に記載の方法。
【請求項６】
ストレージ・エリア・ネットワーク（ＳＡＮ）を介して当該ＳＮＡに接続する、第１のテープ・データ・ストレージ・デバイスを備えるプライマリ・データ・ストレージ・デバイスの第１の通信ポートから、ホスト・データ処理システムからの入出力（Ｉ／Ｏ）操作要求を受信する手段と、
前記Ｉ／Ｏ操作要求を処理する手段と、
前記処理と同時に、前記ＳＮＡに接続する、前記プライマリ・データ・ストレージ・デバイスの第２の通信ポートから、第２のテープ・データ・ストレージ・デバイスを含むセカンダリ・データ・ストレージ・デバイスに前記Ｉ／Ｏ操作要求を移送する手段と、
を含む装置。
【請求項７】
前記第２のテープ・データ・ストレージ・デバイスが、前記ホスト・データ処理システムによってＩ／Ｏ操作用にリザーブされる、請求項６に記載の装置。
【請求項８】
前記セカンダリ・データ・ストレージ・デバイスが固定ディスク、ダイレクト・アクセス・ストレージ・ドライブを備える、請求項６に記載の装置。
【請求項９】
前記処理する手段が、前記Ｉ／Ｏ操作要求に関連する特定のデータまたはメタデータ要素をエンコードする手段を含み、
前記移送する手段が、前記Ｉ／Ｏ操作要求に関連する前記特定のデータまたはメタデータ要素のエンコーディングに応じて、前記Ｉ／Ｏ操作要求に関連する前記特定のデータまたはメタデータ要素を移送する手段を含む、請求項６に記載の装置。
【請求項１０】
前記エンコードする手段が、前記Ｉ／Ｏ操作に関連する前記特定のデータまたはメタデータ要素を圧縮する手段、および前記Ｉ／Ｏ操作に関連する前記特定のデータまたはメタデータ要素を暗号化する手段の少なくとも１つを含む、請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般的にデータのストレージおよび管理に関し、特にシーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して、入出力（Ｉ／Ｏ）操作を移送（ｒｅ−ｃｏｎｖｅｙｉｎｇ）する方法、システム、および装置に関する。
【背景技術】
【０００２】
データ処理システムの使用がますます普及するにつれ、このようなデータ処理システムによって生成されるデータを保存および管理する技術が発展してきた。このようなデータを保存したり、データへのアクセスを提供したり、データの処理を行なったりするメカニズムがデータ・ストレージ・サブシステムである。データ・ストレージ・サブシステムには、データ・ストレージ・コントローラまたはホスト・バス・アダプタあるいはその両方、データ・ストレージ・デバイス、および１つ以上のシステムにデータ・ストレージ・サービスを提供するために使用される必要な制御ソフトウェアが統合されたものが含まれる。データ・ストレージ・サブシステムは、単純または複雑、大規模または小規模（物理的な構造またはストレージ容量あるいはその両方の点において）であることができ、単一のデータ・ストレージ・デバイスからインテリジェント・ストレージ・アレイ、ストレージ・エリア・ネットワークまたはそのストレージ・ドメインにまで及ぶ。従来のデータ・ストレージ・デバイスは、固定式、リムーバブル式、磁気式、光学式、ランダム／ダイレクト・アクセス式、またはシーケンシャル・アクセス式あるいはその任意の組み合わせであり得るマシン可読媒体（例えば、固定ディスク、ＣＤ／ＤＶＤ−ＲＯＭ、テープ、固体メモリなど）、ならびにこのような媒体のアクセスに使用されるメディアローダおよびロボットを備えている。
【０００３】
シーケンシャルアクセス・データ・ストレージ・デバイス（例えば、テープ・データ・ストレージ・デバイス）では、データがとりまとめられ、Ｉ／Ｏの操作がシーケンシャルな方法で行なわれる。つまり、データが、受信された順に逐次書き込まれ（ｗｒｉｔｔｅｎ  ｓｅｑｕｅｎｔｉａｌｌｙ  ｉｎ  ｔｈｅ  ｏｒｄｅｒ）、関連するシーケンシャルアクセス・データ・ストレージ媒体に格納された順に逐次読み出される（ｒｅａｄ  ｓｅｑｕｅｎｔｉａｌｌｙ  ｉｎ  ｔｈｅ  ｏｒｄｅｒ）ように、個々のＩ／Ｏ操作（例えば、読み出しおよび書き込み操作）が行なわれ、Ｉ／Ｏ操作がシリアルで動作するようにデバイス・アクセスが行なわれる。多くのシーケンシャルアクセス・データ・ストレージ・デバイスでは、スモール・コンピュータ・システム・インターフェース（ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ：ＳＣＳＩ）またはファイバ・チャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ：ＦＣ）ポートのような単一の半二重通信ポートを介して、データのアクセスが提供される。シーケンシャルアクセス・データ・ストレージ・デバイスはごく最近、さらなる通信ポートが追加されて提供されているが、これらの追加されたポートは、これまでフェイルオーバ／リダンダンシのためにのみ使用されるか、あるいはシーケンシャルおよびシリアル・データ・アクセスを提供するために使用されてきた。
【０００４】
データ・ストレージ・サブシステムが開発されるにつれて、これまでホスト・データ処理システム（例えば、サーバ）によって管理または実行されていた機能の多くが、データ・ストレージ・デバイスおよびストレージ・サブシステム・インフラストラクチャにオフロードされる（ｏｆｆ−ｌｏａｄｅｄ）ようになってきた。この機能移行の１つの例として、「サーバレス」または「サーバフリー」バックアップの使用が挙げられる。
【０００５】
サーバレス・バックアップでは、ストレージ・ネットワーク・インダストリ・アソシエーション（Ｓｔｏｒａｇｅ  Ｎｅｔｗｏｒｋ  Ｉｎｄｕｓｔｒｙ  Ａｓｓｏｃｉａｔｉｏｎ：ＳＮＩＡ）によって提供されたサードパーティ・コピー・プロトコル（Ｔｈｉｒｄ  Ｐａｒｔｙ  Ｃｏｐｙ  Ｐｒｏｔｏｃｏｌ）または非特許文献１に記載されたような拡張コピー・コマンド（Ｅｘｔｅｎｄｅｄ  Ｃｏｐｙ（Ｘ  Ｃｏｐｙ）Ｃｏｍｍａｎｄ）のような既存のプロシージャまたはプロトコルが、データ転送用のサーバ・データ処理システムを用いずに、第１のデータ・ストレージ・デバイスから第２のデータ・ストレージ・デバイスへのコピーまたはバックアップに使用される。一般に、サーバレス・バックアップは、ＳＡＮの再分配ノード（例えば、ＦＣスイッチ）またはインテリジェント・ストレージ・デバイス（例えば、ディスク・ストレージ・アレイ、テープ・データ・ストレージ・ドライブ、テープ・ライブラリなど）を用いて行なわれる。
【０００６】
これらのデータ・ストレージ構造およびアクセス・メカニズムの結果として、従来のシーケンシャル・アクセス・データ・ストレージ・デバイス内に格納されたデータを「読み出し」または「書き込み」タイプの入出力（Ｉ／Ｏ）操作を介してアクセスし得る速度、およびサーバレス・バックアップのような更に複雑なデータ・ストレージおよび管理操作を行ない得る速度が、他のデータ・ストレージ・デバイスのタイプ（例えば、固定ディスク、ダイレクト・アクセス・ストレージ・デバイス）と比べ、比較的遅くなってしまう。
【０００７】
【非特許文献１】Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−ＳＣＳＩ  Ｐｒｉｍａｒｙ  Ｃｏｍｍａｎｄｓ−４（ＳＰＣ−４），Ｗｏｒｋｉｎｇ  Ｄｒａｆｔ，Ｒｅｖｉｓｉｏｎ０２，Ｔ１０，ａ  Ｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｔｔｅｅ  ｏｆ  ｔｈｅ  Ａｃｃｒｅｄｉｔｅｄ  Ｓｔａｎｄａｒｄｓ  Ｃｏｍｍｉｔｔｅｅ  ｏｆ  ｔｈｅ  Ｎａｔｉｏｎａｌ  Ｃｏｍｍｉｔｔｅｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  Ｓｔａｎｄａｒｄｓ（ＮＣＩＴＳ）），Ｓｅｐｔｅｍｂｅｒ１５，２００５
【発明の開示】
【発明が解決しようとする課題】
【０００８】
シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力（Ｉ／Ｏ）操作を移送する方法、システム、および装置を提供する。
【課題を解決するための手段】
【０００９】
シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力（Ｉ／Ｏ）操作を移送する方法、システム、および装置が本発明によって提供される。本発明の一実施形態によれば、プライマリ・データ・ストレージ・デバイスの第１の通信ポートを介して入出力（Ｉ／Ｏ）操作要求を受信するステップと、プライマリ・データ・ストレージ・デバイスを用いてＩ／Ｏ操作要求を処理するステップと、この処理と実質的に同時に、プライマリ・データ・ストレージ・デバイスの第２の通信ポートを介して、セカンダリ・データ・ストレージ・デバイスにＩ／Ｏ操作要求を移送するステップとを含む方法が提供される。上記実施形態において、プライマリ・データ・ストレージ・デバイスはシーケンシャル・アクセス・データ・ストレージ・デバイスを備える。
【００１０】
上記は概要であり、よって必然的に、細部を簡略化、一般化、および省略化している。したがって、この概要は単に例として示すものであり、何ら制限をするものではないことは当業者なら理解するであろう。また、当業者には自明なことであるが、本願明細書で開示された操作は、ハードウェア、ソフトウェア、またはそれらの組み合わせのインプリメンテーション等の多くの方法によって実施することもでき、このような変更および変形は、本発明およびそのより広い態様から逸脱することなく行なうこともできる。特許請求の範囲によって専ら定義される本発明の他の態様、発明的特徴、および利点は以下で説明される制限されない詳細な説明により明らかになるであろう。
【発明を実施するための最良の形態】
【００１１】
添付の図面を参照することによって、当業者は本発明およびその多くの機能および利点をさらに理解できるであろう。
【００１２】
添付の図面において、同一または同様の参照符号は同一または同様の項目を示している。
【００１３】
以下は、本願明細書に記載された１つ以上のシステム、デバイス、または処理あるいはその任意の組み合わせを実行する少なくとも最良の形態の詳細を説明するものである。この説明は、例として示すものであり、制限するものではない。
【００１４】
以下の詳細な説明において、特定の方法の順序、構造、エレメント、および接続などの多数の特定な詳細事項が説明されている。しかし、これらおよび他の特定の詳細事項は、本発明の実施形態を実施するために用いなくてもよいことを理解されたい。別の状況においては、周知の構造、エレメントまたは接続については省略されているか、説明が徒に不明瞭になることを避けるために特に詳細に説明されていない。
【００１５】
本願明細書中の「一実施形態」、「実施形態」、または複数の「実施形態」という表現は、実施形態に関連して説明される特別な機能、構造または特徴が、本発明の少なくとも１つの実施形態に含まれることを示そうとするものである。本願明細書中にこれらの表現が様々な箇所に見られるが、これらは必ずしもすべてが同一の実施形態を示しているわけではなく、また他の実施形態を互いに除外する独立した、または別の実施形態を必ずしも示しているわけでもない。さらに、ある実施形態では示すことができるが、別の実施形態では示すことができない様々な機能も記載されている。同様に、ある実施形態では要件とすることができるが、別の実施形態では要件とすることができない様々な要件も記載されている。
【００１６】
本発明の実施形態は、シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力（Ｉ／Ｏ）操作を移送または複製する方法、システムおよび装置を提供する。ＳＣＳＩおよびＳＣＳＩ用ファイバ・チャネル・プロトコル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  ＳＣＳＩ：ＦＣＰ）において規定されているように、通信ポート（例えば、ＦＣまたはＳＣＳＩポート）は、データ転送操作の中でターゲットまたはイニシエータのいずれかの役割を担うことができる。例えば、サーバレス・バックアップ・プロシージャが実行されるとき、ＳＣＳＩのＸＣｏｐｙコマンドが、（例えば、サーバ・データ処理システムの）プライマリ・イニシエータ・ポートから（例えば、テープ・データ・ストレージ・ドライブの）プライマリ・ターゲット・ポートへ送信され、これによって、プライマリ・ターゲット・ポートと（例えば、ディスク・ストレージ・アレイの）セカンダリ・ターゲット・ポート間の転送データ・シーケンスが設定及び許可される。これが許可されると、プライマリ・ターゲット・ポートは、テンポラリ・イニシエータとして動作し、セカンダリ・ターゲット・ポートにコマンドを送ったり、ＸＣｏｐｙ操作および関連するデータ転送を管理したりする。これが完了すると、プライマリ・ターゲット・ポートはターゲットの役割を再開し、プライマリ・イニシエータ・ポートにステータス・データを返す。本発明の実施形態は、ＸＣｏｐｙ操作について説明したアーキテクチャと同様であって、データ・ストレージ・デバイスの１つ以上のセカンダリ通信ポートを介して、Ｉ／Ｏ操作が実質的に同時にデータ・ストレージ・デバイスによって受信および処理されるよう、データのストレージおよび管理（例えば、Ｉ／Ｏ操作を実行する要求など）を拡張する、アーキテクチャを使用する。よって、高度な操作または改善されたパフォーマンスあるいはその両方が可能となる。
【００１７】
本発明の実施形態は、プライマリ・イニシエータ・ポートからのＩ／Ｏ操作を行なう要求がデータ・ストレージ・デバイスのプライマリ・ターゲット・ポートで受信されたとき、他の通信可能に接続されたデバイス（例えばＳＡＮ上）へ、または他の通信可能に接続されたデバイスからＩ／Ｏ操作要求を移送するイニシエータとして、データ・ストレージ・デバイスのセカンダリ通信ポート（１つまたは複数）を使用する環境を提供する。Ｉ／Ｏ操作が移送される他の（セカンダリ・ターゲット）デバイスとして、シーケンシャル・アクセスまたはダイレクト・アクセス・データ・ストレージ・デバイス（例えば、テープ・データ・ストレージ・デバイス、ディスク・データ・ストレージ・デバイスなど）を含むことができる。
【００１８】
図１は、本発明の実施形態によるシーケンシャル・アクセス・データ・ストレージ・デバイスを含むエンタープライズを示す高レベル・ブロック図である。図１のエンタープライズ１００は、図に示されているように、第１のネットワーク相互接続（ローカル・エリア・ネットワークすなわちＬＡＮ相互接続１０６）を介して通信可能に接続される多くのホスト・データ処理システム（例えば、サーバ・データ処理システム１０２および関連するクライアント・データ処理システム１０４）を備えている。図示された実施形態のサーバ・データ処理システム１０２はさらに、多くのデータ・ストレージ・デバイスおよび第２のネットワーク相互接続（ストレージ・エリア・ネットワークすなわちＳＡＮ相互接続１１４）を備えるストレージ・サブシステム１０８に接続されている。
【００１９】
図１に例として示される実施形態において、ストレージ・サブシステム１０８は、共に通信可能に接続された、第１のシーケンシャル・アクセス・データ・ストレージ・デバイス（テープ・データ・ストレージ・デバイス１１０Ａ）、第２のシーケンシャル・アクセス・データ・ストレージ・デバイス（テープ・データ・ストレージ・デバイス１１０Ｂ）、およびダイレクト・アクセス・データ・ストレージ・デバイス（ディスク・ストレージ・アレイ１１２）を備え、さらにＦＣスイッチ、スイッチ・ファブリック、アービトレート型ループなどのようなストレージ相互接続（ＳＡＮ相互接続１１４）を介して、サーバ・データ処理システム１０２に接続されている。図１の実施形態のサーバ・データ処理システム１０２Ａは、１つ以上のクライアント・データ・処理システム１０４Ａ〜１０４Ｎ（Ｎは正の整数）に、中核となる動作機能を提供するアプリケーション・サーバ（例えば、データ・ベース・サーバ）備え、サーバ・データ処理システム１０２Ｂは、別のサーバ（例えば、クラスタ・フェイルオーバ・サーバ、ロード・バランシング・サーバ、バックアップ・サーバなど）を備えている。
【００２０】
図示された実施形態のテープ・データ・ストレージ・デバイス１１０Ａは、示されているように、第１の通信リンク１１６Ａおよび第２の通信リンク１１６Ｂを介して、ＳＡＮ相互接続１１４に接続されている。各通信リンクは、ＳＡＮ相互接続１１４とテープ・データ・ストレージ・デバイス１１０Ａの通信ポートとの間に、１つ以上の電気的、光学的または音響伝搬的信号あるいはその任意の組み合わせを送信することが可能な、任意の数多くの通信媒体（例えば、銅線、光ファイバ・ケーブル）を備えることができる。
【００２１】
図示された実施形態において、第１の通信リンク１１６Ａを介して、テープ・データ・ストレージ・デバイス１１０Ａの第１の通信ポート（例えば、ＦＣまたはＳＣＳＩポートのような物理インターフェースまたはその抽象化）で受信されるＩ／Ｏ操作は、実質的に同時に第２の通信リンク１１６Ｂを介して、テープ・データ・ストレージ・デバイス１１０Ａによって処理され、別のストレージ・デバイス（例えば、テープ・データ・ストレージ・デバイス１１０Ａまたはディスク・ストレージ・アレイ１１２あるいはその両方）またはホスト・データ処理システム（例えば、サーバ・データ処理システム１０２Ａ）に移送される。これについては、本願明細書でさらに詳細に説明する。
【００２２】
図１の実施形態では、従来のＳＡＮタイプの相互接続（ＳＡＮ相互接続１１４）を特に示したが、本発明の他の実施形態において、他の相互接続（例えば、直接接続、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、またはワイド・エリア・ネットワークあるいはその任意の組み合わせ）および他のプロトコル（例えば、ＦＩＣＯＮ、ＥＳＣＯＮ、ＳＳＡなど）を使用することもできる。さらに、図１のエンタープライズ１００についてエレメントの特別な数および構成を示したが、本発明の実施形態は、本願明細書で明示的に引用された以外の、特定の数、タイプ、または構成のコンポーネントを有する、エンタープライズ、システム、またはデータ・ストレージ・デバイスに限定されず、多種多様なシステムのタイプ、アーキテクチャ、およびフォーム・ファクタを包含できることを理解すべきである。
【００２３】
図２は、本発明の実施形態による、シーケンシャル・アクセス・データ・ストレージ・デバイス、特にテープ・データ・ストレージ・デバイス２００を示すブロック図である。図示された実施形態において、テープ・データ・ストレージ・デバイス２００は、リムーバブル・データ・ストレージ・テープ・カートリッジ２０２および通信チャネル・インターフェース（例えば、通信ポート・インターフェース２０６）を備えている。この通信チャネル・インターフェースは、１つ以上の備えられた通信ポート２０４Ａおよび２０４Ｂを介して、テープ・データ・ストレージ・デバイス２００を１つ以上のホスト・データ処理システムまたは関連する通信チャネル（例えば、ＳＡＮ相互接続１１４）に通信可能に接続する。
【００２４】
図２の実施形態において、通信ポート・インターフェース２０６は、通信ポート２０４Ａを介して、入出力（Ｉ／Ｏ）操作要求（例えば、「読み出し」または「書き込み」要求）を受信し、受信されたＩ／Ｏ操作要求を処理するのと実質的に同時に、通信ポート２０４Ｂを介して、このＩ／Ｏ操作要求を他のデータ・ストレージ・デバイスに移送するように構成されている。
【００２５】
図示された実施形態のデータ・ストレージ・テープ・カートリッジ２０２は、示されているように、メディア・転送リール２１２および２１４ならびに１つ以上のメディア転送モータ２１６を用いて、テープ・アクセス（例えば、読み出し／書き込み）ヘッド２１０に近接して引き回されるテープ・データ・ストレージ・メディア２０８（例えば、磁気テープ）を備える。図示された実施形態において、テープ・アクセス・ヘッド２１０は、テープ・データ・ストレージ・メディア２０８にデータを読み書きし、且つ、このようなデータをバッファ２１８（例えば、１つ以上の先読みまたはステージング・バッファ）内に一時的に格納または「ステージ」するように構成されている。
【００２６】
図２の実施形態において、テープ・データ・ストレージ・デバイス２００は、さらにコントローラすなわち制御ユニット２２０を備えている。制御ユニット２２０は、本発明の実施形態の１つ以上の方法または処理、あるいはその操作を実行するため、１つ以上の通信ポート・インターフェース２０６、バッファ２１８、またはメディア転送モータ２１６あるいはその任意の組み合わせに対して出される制御信号を介して、データ・フロー、フォーマッティング、およびデータ・ストレージ・サブシステムの操作を制御および管理する。別の実施形態において、このような制御機能は、通信ポート・インターフェース２０６、制御ユニット２２０および通信ポート２０４のうちの１つまたはそれ以上の中に組み込むこともできる。
【００２７】
本発明の一実施形態において、Ｉ／Ｏ操作（例えば、書き込み操作）は、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを用いて、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスからセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに移送（ｒｅ−ｃｏｎｖｅｙ）される。上記の実施形態では、２つのターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスがネットワーク相互接続（例えば、図１のＳＡＮ相互接続１１４）に通信可能に接続されていれば、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスと物理的に離れていてもよい。
【００２８】
この方法を使用して、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに書き込まれたデータのセカンダリ（重複（ｄｕｐｕｌｅｘ））コピーが、同時にセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスにおいても生成される。Ｉ／Ｏ操作のこのような複製は、ホスト・データ処理システムが制御する、またはホスト・データ処理システムに透過的である方法で行なうことができる。図３（図３Ａおよび図３Ｂを含む）は、本発明の実施形態による、ホスト制御されたＩ／Ｏ操作の複製を行なう処理を示す流れ図である。
【００２９】
図３Ａの実施形態では、本発明の実施形態による、ホスト制御されたＩ／Ｏ複製を行なうホスト・データ処理システムの操作処理を示す流れ図を示している。図示された処理の実施形態では、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、（例えば、ホスト・データ処理システム・プライマリ・イニシエータによって）リザーブ、マウントおよび構成される（処理ブロック３０２）。
【００３０】
従来のストレージ・サブシステムでは、各プライマリ・ターゲット・データ・ストレージ・デバイスが、すべての通信ポートがデフォルトで共通の論理ユニット（すなわち、単一のターゲット）へのアクセスを与えるようになっている。これに対し、図３Ａの実施形態では、本願明細書に記載されているように、セカンダリ通信ポートを個別にリザーブし第三者の操作を許可する構成メカニズムが提供される。一実施形態において、このような構成メカニズムは、１つ以上の通信ポートをそれらの関連するデバイス（例えば、ＬＵＮ）から個別にリザーブするために、ＳＣＳＩの「Ｒｅｓｅｒｖｅ」コマンドの拡張を介してソフトウェアを用いてインプリメントされる。別の実施形態では、このような構成は、重要プロダクト・データ（ｖｉｔａｌ  ｐｒｏｄｕｃｔ  ｄａｔａ：ＶＰＤ）を操作するソフトウェアを使用して、またはデバイスの操作パネル制御の直接または自動操作を介して実現される。
【００３１】
デバイスの構成は、本発明の様々な実施形態において静的または動的に行なうことができる。動的構成が実施された場合には、受信したＩ／Ｏ操作要求を移送するように最初に構成されたポートを従来の（例えば、フェイルオーバ）機能を行なうように実質的に再構成することもできる。既に述べたリザーブ、マウントおよび構成の一部として、プライマリ・ターゲット・ストレージ・デバイスに向けられたＩ／Ｏ操作の自動「ミラーリング」または移送が可能になる。本発明の１つ以上の実施形態において、このような機能は、全体のマウントに対して交互にアクティブ化されるメカニズム（例えば、モード選択パラメータ）を介して、または（例えば、Ｉ／Ｏ操作コマンドの中にパラメータとして組み込まれた）低レベルの粒度で提供され、一部のＩ／Ｏ操作書き込みデータのみがセカンダリ・ターゲットにミラーリングされるような選択的なＩ／Ｏ操作の複製を可能とさせる。
【００３２】
次いで、図示された処理の実施形態において、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、（例えば、ホスト・データ処理システム・プライマリ・イニシエータによって）リザーブされ、マウントされ、構成される（処理ブロック３０４）。プライマリおよびセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのリザーブ、マウントおよび構成は、図３Ａにおいてはシリアルで行なうように示されているが、本発明の別の実施形態においては、これらの操作をパラレルまたはインターリーブ方式あるいはその両方で行なうこともできる。
【００３３】
ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが適切に構成されると、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに対して、Ｉ／Ｏ操作（例えば、書き込み操作）を実行する要求が発行される（処理ブロック３０６）。各Ｉ／Ｏ操作要求（例えば、書き込み操作コマンドおよび関連するデータ（ａｓｓｏｃｉａｔｅｄ  ｄａｔａ））が受信されると、セカンダリ通信ポート（例えば、物理的なファイバ・ポート）を介して、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスにこの要求が移送される。このＩ／Ｏ操作の移送（ｒｅ−ｃｏｎｖｅｙａｎｃｅ）または再送信（ｒｅｔｒａｎｓｍｉｓｓｉｏｎ）は、様々な実施形態において多くの技術を利用して行なうことができる。そのような一実施形態において、各受信されたデータグラム（例えば、ファイバ・チャネル・フレーム）は、セカンダリ・シーケンシャル・アクセス・データ・ストレージ・デバイスを再びターゲットとするために、一時的にバッファリングされ、変更される。別の実施形態では、関連するＩ／Ｏ操作特定のペイロード・データが各受信データグラムから（例えば、ファイバ・チャネル・インターフェース・ハードウェアを用いて）取り出され、続いて、例えば異なる送受信識別子および関連する制御情報／メタデータを有する新しく生成されたデータグラムの中にカプセル化される。
【００３４】
次いで、要求されたＩ／Ｏ操作の結果を特定するＩ／Ｏ操作ステータス・データが受信される（処理ブロック３０８）。要求されたＩ／Ｏ操作が失敗に終わったことを要求されたＩ／Ｏ操作ステータス・データが示す場合、要求されたＩ／Ｏ操作が正常に行なわれるまで、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに対して失敗したＩ／Ｏ操作が再発行される（処理ブロック３１０）。要求されたＩ／Ｏ操作が正常に行なわれると、図に示されているように、次のＩ／Ｏ操作要求を発行することができる。
【００３５】
本発明の１つ以上の実施形態において、上記Ｉ／Ｏ操作ステータス・データは、「結合された」完了ステータス（"ｃｏｍｂｉｎｅｄ"  ｃｏｍｐｌｅｔｉｏｎ  ｓｔａｔｕｓ）またはプライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイス上のみで行なわれるＩ／Ｏ操作の完了ステータスあるいはその両方を意味することができる。結合された完了ステータスが提供される場合、上記ステータス・データは、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスへのＩ／Ｏ操作とセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスへ移送された／重複した（ｄｕｐｌｉｃａｔｅ）Ｉ／Ｏ操作との両方の完了ステータスを示す。このような実施形態において、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、Ｉ／Ｏ操作がローカルで正常に完了し、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスからも正常な完了を示すステータス・データを受信した際に、このようなＩ／Ｏ操作の正常な完了を示すステータス・データを（例えば、ホスト・データ処理システムのプライマリ・イニシエータに対して）一度だけ発行する。
【００３６】
プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのみの完了ステータスが示される場合、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、自身のデータ・バッファを非同期的に用いて、必要に応じてＩ／Ｏ操作コマンドを再駆動／発行し、且つエラー回復シーケンスを生成して、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスへのＩ／Ｏ操作ステータスを管理する。このような実施形態では、完了Ｉ／Ｏ操作ステータスはＩ／Ｏ操作要求のシーケンスの最後で（例えば、一連の書き込みコマンドの後に巻き戻しコマンドが発行されるとき）同期される、または１つにまとめられる。Ｉ／Ｏ操作の再発行が図３Ａの実施形態に示されているが、本発明の別の実施形態においては、このような操作は行なわれなくてもよい。完了Ｉ／Ｏ操作コマンド・シーケンスが完了すると、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ・ポートを用いて確保されたセカンダリ・ターゲットに関連するすべてのリザベーションおよび制御が解除される。次いで、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、イニシエータとしての動作をやめ、再び「ターゲット」動作モードまたはターゲット状態になる。
【００３７】
図３Ｂの実施形態では、本発明の実施形態による、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのホスト制御されたＩ／Ｏ操作複製（Ｉ／Ｏ  ｏｐｅｒａｔｉｏｎ  ｒｅｐｌｉｃａｔｉｏｎ）を行なう操作処理の流れ図が示されている。図示された処理の実施形態によれば、第１の（例えば、プライマリ）通信ポートを介して、Ｉ／Ｏ操作要求／コマンドが最初に受信される（処理ブロック３１２）。次いで、受信されたＩ／Ｏ操作要求は、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスによって処理され（処理ブロック３１６）、実質的に同時にＩ／Ｏ操作要求の複製が、第２の（例えば、セカンダリ）通信ポートを介してセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに移送される（処理ブロック３１４）。
【００３８】
受信されたＩ／Ｏ操作要求が、図に示されているように処理され移送されると、結合されたＩ／Ｏ操作要求処理ステータス・データが生成される（処理ブロック３１８）。前述したように、図３Ｂの実施形態には結合されたステータス・データが示されているが、本発明の別の実施形態おいて、このようなステータス・データは、プライマリ・ストレージ・デバイスのみの処理状態を反映するものであってもよい。しかし生成された場合、次のＩ／Ｏ操作が処理されるために受信される前に、Ｉ／Ｏ操作要求処理ステータス・データはプライマリ・イニシエータへ戻される（処理ブロック３２０）。
【００３９】
本発明の別の実施形態において、Ｉ／Ｏ操作複製は、ホスト制御ではなくホスト透過方式で行なうこともできる。
【００４０】
ホスト「透過」モードの動作では、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、Ｉ／Ｏ操作要求を受信する前に、自身のセカンダリ通信ポートを管理でき、セカンダリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートの暗黙リザベーションを保持することのできるモードで（例えば、ＶＰＤまたはライブラリ・インターフェース手段を介して）構成される。上記実施形態では、セカンダリ・ターゲットが同様に構成される。プライマリおよびセカンダリ・ターゲット・ストレージ・デバイスのこのような構成は、一実施形態において、動的構成によって実現される。
【００４１】
セカンダリ・ターゲット・ストレージ・デバイスのマウント操作は、本願明細書で説明するようなＩ／Ｏ操作要求が移送される「重複（ｄｕｐｌｅｘ）」Ｉ／Ｏ操作を行なうためにあらかじめ配置された利用可能なボリュームの事前に定義されたスクラッチ・プールを使用して行なわれる。プライマリ・ターゲット・データ・ストレージ・デバイスにマウントされたプライマリ・ボリュームに対するセカンダリの「重複の対（ｄｕｐｌｅｘ−ｍａｔｅ）」ボリュームが存在する場合、既存のセカンダリ重複カートリッジがセカンダリ・ターゲット・ボリュームにマウントされる。プライマリ・ターゲット・データ・ストレージ・デバイスは、Ｉ／Ｏ操作要求の受信または処理に対してセカンダリ・ターゲット・ストレージ・デバイスも「レディ状態」になるまでは、レディ状態であることを示さない。続いて、プライマリ・ターゲット・データ・ストレージ・デバイスに対して、Ｉ／Ｏ操作要求が従来の単信方式で発行される。プライマリ・ターゲット・データ・ストレージ・デバイスは、Ｉ／Ｏ操作のソース・イニシエータに対して透過的な方法で、セカンダリ・ターゲットでの重複Ｉ／Ｏ操作の実行を順に管理し、さらにリトライ、エラー、およびステータスの併合も管理する。
【００４２】
完了Ｉ／Ｏ操作（例えば、書き込み）コマンド・シーケンスが完了すると、例えば、巻き戻し／アンロード・シーケンス・コマンドが発行され、プライマリ・ターゲットデータ・ストレージ・デバイスがこれらと同じコマンドをセカンダリ・ターゲット・ストレージ・デバイスに移送または「ミラー（ｍｉｒｒｏｒｓ）」し、セカンダリ・ターゲット・ストレージ・デバイスでのＩ／Ｏ操作を終了させる（例えば、ドライブを停止し、テープをアンロードする）。次いで、最終のＩ／Ｏ操作ステータスが、２つのデバイスからのステータス・データの結合によって生成される。
【００４３】
本発明の別の実施形態では、Ｉ／Ｏ操作要求の移送をすることによって、シーケンシャル・アクセス・ストレージ・デバイスを共有ダイレクト・アクセス・ストレージ・アレイ・バッファへアクセスさせる。よって、シーケンシャル・アクセス・ストレージ・デバイス自身の内部バッファがある場合にはその使用可能なバッファの容量が増える。上記の実施形態では、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、「アドバンスト・バッファ」モードで動作するために自身のセカンダリ通信ポートを用いるように構成され、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス（例えば、ミラーされた共有ディスク・アレイ）が、不揮発性共有バッファとして用いられる。
【００４４】
上記の実施形態においては、セカンダリ・ターゲット・ストレージ・デバイスのディスク・アレイ・バッファが、プライマリ・ターゲット・ストレージ・デバイスに通信可能に接続され、且つプライマリ・ターゲット・ストレージ・デバイスがアクセス可能な任意の場所（例えば、プライマリ・ターゲット・データ・ストレージ・デバイスが通信可能に接続されたネットワーク・セグメント内の任意の場所）に位置することができる。エラー回復の目的のため、同じホスト・データ処理システムに取り付けられた他のストレージ・デバイスが、同様の方法で共有ディスク・バッファをアクセスし、共有バッファ上のデータに関連する特定のメタデータ（例えば、ホスト・データ処理システムＩＤ、ドライブＩＤ、ボリュームの所有権など）を識別する共通のタグ付きファイル・システムを共有する。このようにして、事前にバッファリングされたデータを修復させる場合およびドライブ障害を開始する（例えば、書き込みする）場合に、エラー回復が可能となる。この場合、開始ホスト・データ処理システムは、別のドライブ・パスを介して接続したり、共有バッファからデータを回復したりする。
【００４５】
本発明の一実施形態において、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイス（例えば、テープ・デバイス）がセカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス（例えば、ディスク・ドライブまたはアレイ）を管理する。これは、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスによって提供されるさらなる仮想バッファおよびすべての関連する操作（例えば、ファイル管理、プロトコル管理、エラー回復管理など）が、開始ホストに対して透過的であるような方法で行なわれる。別の実施形態では、プライマリとセカンダリ・データ・ストレージ・デバイス間の通信リンク／接続が失敗に終わった場合、またはセカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスの動作で特定のエラー状態が検出された場合に、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスは通常の動作に戻り、そのようなバッファ機能の提供を中止する。
【００４６】
本願明細書において前述したように、前述のプライマリおよびセカンダリ・ターゲット・データ・ストレージ・デバイスのようなデバイスの構成は、ＶＰＤ／操作・パネル／ユーザ入力手段、ライブラリ・インターフェース手段、またはホスト手段を介して達成することができる。本発明の一実施形態において、共有バッファに接続するように許可および構成された各プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスもまた共通のステータス領域をアクセスできるようになっている。この共通のステータス領域は、ダイレクト・アクセス・ストレージ・デバイス「ドライブ」プールへのバッファ領域の割り当て、または共有のセカンダリ・ターゲット・データ・ストレージ・デバイスバッファ内に格納されたデータに関連するファイル構造を指定するメタデータの格納あるいはその両方を行なうための管理に用いられる。セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス内のバッファ割り当ては、本願明細書では静的に行なわれるように記載されているが、他の実施形態においては、このようなバッファ・ストレージ領域の動的割り当ても考慮される。
【００４７】
このようなダイレクト・アクセスまたは「ディスク」ストレージ・アレイ・バッファを用いると、回復可能な方法でＩ／Ｏ操作（例えば、書き込みコマンド）を効率的に不揮発性ストレージにバッファリングすることができ、シーケンシャル・アクセス・データ・ストレージ・デバイスが実際にアクセスを行なっていない場合でも、各Ｉ／Ｏ操作またはコマンドの完了ステータスを指定するステータス・データを同期イベントの発生時に提供することができる。本発明の実施形態によって、提供されるバッファ・データ・ストレージ容量が増えることで、一般にシーケンシャル・アクセス・データ・ストレージ・デバイス内に設けられる半導体バッファと比べ、Ｉ／Ｏ操作パフォーマンス、データ・ストリーミング・スループット、およびストレージ容量を強化できる。さらに、追加のバッファリングおよび結果として生じる強化された「先読み（ｒｅａｄ−ａｈｅａｄ）」機能によって、特定の操作（例えば、ショート・ホップ・ロケート（ｓｈｏｒｔ−ｈｏｐ  ｌｏｃａｔｅ）・コマンド、複数の前送り（ｍｕｌｔｉｐｌｅ  ｆｏｒｗａｒｄ  ｓｐａｃｅ）コマンドなど）をさらに効果的に行なうことができるようになる。本発明の別の実施形態では、さらなる帯域幅を増やすために、追加の通信ポートを使用して、このような特定の操作を独立させる。
【００４８】
Ｉ／Ｏ操作に関連するデータのストレージについて、一実施形態では、共有バッファ全体のデータの保全性を有効なものとするため、共有バッファがプライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのバッファの拡張であるかのように、特定のデータまたはメタデータ要素（例えば、巡回冗長検査コード（ｃｙｃｌｉｃ  ｒｅｄｕｎｄａｎｃｙ  ｃｈｅｃｋ  ｃｏｄｅｓ）またはチェックサム）が他のＩ／Ｏ操作データと共に共有バッファに保持される。別の実施形態では、Ｉ／Ｏ関連データのさらなるコピーを生成してこのようなＩ／Ｏ操作データを第３のストレージ・デバイスへ移送するため、セカンダリ・ターゲット・ダイレクト・アクセス・ストレージ・デバイス内のセカンダリ通信ポートが使用される。このように共有されたダイレクト・アクセス・ストレージ・デバイスのデータ・バッファは、Ｉ／Ｏ操作要求を複数のターゲット・ストレージ・デバイスに複製するまたは移送する重複操作のための中間領域（ｓｔａｇｉｎｇ  ａｒｅａ）として使用することもできる。
【００４９】
図４は、本発明の実施形態による、ダイレクト・アクセス・ストレージ・デバイスのバッファを使用してシーケンシャル・アクセス・ストレージ・デバイスへの書き込み操作を行なう処理を示した流れ図である。図示された処理の実施形態において、ホスト・データ処理システム・プライマリ・イニシエータが、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスをリザーブ、マウント、および構成する（図示せず）。上記処理のマウント操作の一部として、プライマリ・ターゲット・データ・ストレージ・デバイスは、共有バッファをアクセスし、割り当てバッファ領域を作成し、この割り当てバッファ領域に関連するメタデータ・エントリを生成する。
【００５０】
プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが適切に構成されると、ホスト・データ処理システム・プライマリ・イニシエータは、プライマリ・ターゲット・ストレージ・デバイスに対するＩ／Ｏ操作要求またはコマンド（例えば、書き込み操作要求）の発行を開始することができる。プライマリ・ターゲットは、各書き込み操作要求が発行されると、これを受信する（処理ブロック４０２）。続いて、共有バッファ機能を提供するために使用される、関連するセカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス内に格納されたデータの量が、所定のしきい値に達したかどうかを判断する（処理ブロック４０４）。
【００５１】
上記バッファのデータ・ストレージしきい値に達した（または超えた）と判断された場合、Ｉ／Ｏ操作データは、セカンダリ・ターゲット・データ・ストレージ・デバイスから（例えば、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのバッファ・メモリ内に）読み戻され、続いてプライマリ・データ・ストレージ・デバイスの物理ストレージ媒体（例えば、テープ）に格納される（処理ブロック４０６）。次いで、あるいは、所定のデータ・ストレージしきい値に達していない／超えていないと判断された場合、受信されたＩ／Ｏ操作要求は、プライマリ・ターゲットのセカンダリ通信ポートを介して、共有バッファ（すなわち、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス）に複製される（処理ブロック４０８）。本発明の別の実施形態において、プライマリおよびセカンダリ・データ・ストレージ・デバイスへの、またはプライマリおよびセカンダリ・データ・ストレージ・デバイスからのＩ／Ｏ操作要求および関連するデータの適用（ａｐｐｌｉｃａｔｉｏｎ）は、シリアルもしくはパラレルまたは１つの通信ポート上での時分割多重式で行なうか、さらなる帯域幅を提供する専用のポート上で独立して行なうかあるいはその両方で行なうこともできる。
【００５２】
上記Ｉ／Ｏ操作が図示されているように移送されると、Ｉ／Ｏ操作の完了ステータスを指定するステータス・データが生成される（処理ブロック４１０）。一実施形態において、このようなステータス・データは、バッファリングされたコマンドに対して関連するデータがプライマリ・ターゲット・データ・ストレージ・デバイスで受信されるのに応じて生成される。別の実施形態では、このようなステータス・データは、Ｉ／Ｏ操作要求に関連するデータが（例えば、イベントを同期するために）共有バッファに正常に格納されたときに、生成される／戻される。
【００５３】
ある特定の状況では（巻き戻し／アンロードまたは他の再配置コマンドが発行されたとき）、コマンドが完了していると示される前に、セカンダリ・ターゲット・データ・ストレージ・デバイスの、Ｉ／Ｏ操作要求関連のデータを含む共有バッファの一部が、プライマリ・データ・ストレージ・デバイスの物理ストレージ媒体（例えば、テープ）に書き込まれる。従来のシーケンシャル・アクセス・データ・ストレージ・デバイスでよくあるように、データが比較的高速で転送される場合（例えば、＞１００ＭＢ／ｓ）、実際的な限界は、例えば、媒体の「ｕｎｌｏａｄ」コマンドなどに受付け不能な時間遅延（ｕｎａｃｃｅｐｔａｂｌｅ  ｔｉｍｅ  ｄｅｌａｙ）が付与される前に書き込むことができるデータのおおよその量までバッファリングされ得るデータの最大量に課される。本発明の一実施形態において、バッファリングされ得るデータの最大量はおよそ１０〜２０ギガバイトで、およそ１〜２分の間の遅延期間がさらに追加される。
【００５４】
図５は、本発明の実施形態によるダイレクト・アクセス・ストレージ・デバイスのバッファを用いて、シーケンシャル・アクセス・ストレージ・デバイスからの読み出し操作を行なう処理を示す流れ図である。図示された処理の実施形態において、ホスト・データ処理システム・プライマリ・イニシエータが、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスをリザーブ、マウント、および構成する（図示せず）。上記処理のマウント操作の一部として、プライマリ・ターゲット・データ・ストレージ・デバイスは、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスによって提供される共有バッファをアクセスし、割り当てバッファ領域を作成し、この割り当てバッファ領域に関連するメタデータ・エントリを生成する。
【００５５】
プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが適切に構成されると、ホスト・データ処理システム・プライマリ・イニシエータは、プライマリ・ターゲット・ストレージ・デバイスに対するＩ／Ｏ操作要求またはコマンド（例えば、読み出し操作要求）の発行を開始することができる。プライマリ・ターゲット・データ・ストレージ・デバイスは、各読み出し操作要求が発行されると、これを受信する（処理ブロック５０２）。続いて、要求されたデータが、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスの共有バッファに格納されているかどうかを判断する（処理ブロック５０４）。要求された読み出し操作が、共有データ・バッファのデータを使用して行なわれていないであろうと判断された場合、受信された読み出し操作要求はプライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスでローカルに処理される（処理ブロック５０６）。図示された処理の実施形態において、プライマリ・ターゲット・ストレージ・デバイスは、レイテンシを最小限にするため、共有バッファを介さずに、読み出しデータを直接プライマリ・イニシエータに返す。
【００５６】
各読み出し操作要求が処理され、関連するデータが読み出されてプライマリ・イニシエータに提供されると、「先読み」操作が行なわれる。この操作では、さらなるデータ（現在の読み出し操作によって要求されるデータのさらに先のデータ）がプライマリ・ターゲット・データ・ストレージ・デバイスのストレージ媒体から読み出され、プライマリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートをイニシエータとして使用してセカンダリ・データ・ストレージ・デバイスの共有バッファ内に格納される（処理ブロック５０８）。現在の読み出し操作の要求されたデータがセカンダリ・データ・ストレージ・デバイス内に格納またはバッファリングされていると判断された場合、プライマリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートを用いて、要求されたブロックが共有バッファから読み戻され、プライマリ・イニシエータに提供される（処理ブロック５１０）。一実施形態において、このような「先読み」動作は、共有バッファに現在の読み出しブロックアドレスに関連づけられたデータをロードするために、空間的局所性によって連続して行なわれる。したがって、読み出しおよび書き込みＩ／Ｏ操作の両方が、プライマリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートを介して共有バッファを使用して行なうことができる。
【００５７】
図３〜図５に示された操作は、特定のシステム・エレメントについて記載されているが、このような操作を行なうために使用される実際のエレメントは、本発明の実施形態を処理する上で重要ではない。さらに、別の実施形態において、このような操作はどんなデータ・ストレージ・デバイスまたはそのサブコンポーネントによっても行なうこともできる。同様に、上記の流れ図は特別な順および特定の処理操作の粒度を示しているが、別の実施形態においては、図示された順は変えられてもよく（例えば、処理操作を別の順に行なうか、実質的にパラレルで行なってもよい）、１つ以上の処理操作が結合される、または断片化されてもよい。同様に、本発明の別の実施形態において、必要に応じて処理操作を追加してもよい。
【００５８】
本発明の実施形態は、さらにここで説明するソフトウェア、情報処理ハードウェアおよび様々な処理操作含むことができる。様々な発明の実施形態の機能および処理操作は、データ処理システム・メモリ、ストレージ・デバイス、または通信デバイスもしくは媒体のようなマシン可読媒体において具現化される実行可能命令によって具現化されてもよい。マシン可読媒体は、データをマシン（例えば、データ処理システム）が読み取ることのできる形式で提供（すなわち、格納または送信あるいはその両方）するどんなメカニズムを備えていてもよい。
【００５９】
例えば、マシン可読媒体として、ランダム・アクセス・メモリ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＲＡＭ）、リード・オンリ・メモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：ＲＯＭ）、磁気ストレージ媒体、光学ストレージ媒体、フラッシュ・メモリ・デバイス、電気的または光学的または音響伝搬的信号（例えば、搬送波、赤外線信号、デジタル信号など）あるいはその任意の組み合わせ等が挙げられるが、これらに限定されない。上記の実行可能命令を用いると、これらの命令を使ってプログラミングされた汎用または特殊目的プロセッサに、本発明の操作、方法、または処理を実行させることができる。あるいは、本発明の機能または操作を、このような操作を実行するためのハードワイヤード・ロジックを含む特定のハードウェア・コンポーネントによって、またはプログラミングされたデータ処理コンポーネントおよびカスタム・ハードウェア・コンポーネントの組み合わせによって、実行することもできる。
【００６０】
以上、完全な機能データ処理システムを照らし合わせながら本発明を説明したが、本発明はプログラム製品として様々な形式で配布されることができ、信号保持媒体の特定のタイプに関わらずこの配布の実施に一様に適用することができることは、当業者であれば理解できるであろう。このような信号保持媒体の例として、フレキシブル・ディスクおよびＣＤ−ＲＯＭなどの記録可能媒体、デジタルおよびアナログ通信リンクのような伝送型媒体、ならびに今後開発されるメディア・ストレージおよび配布システム等が挙げられる。同様に、本発明の実施形態は、特定の操作及びタスクを実行するために用いられるソフトウェア・モジュールを使用して実施されてもよい。上記のソフトウェア・モジュールは、スクリプト、バッチ、または他の実行可能ファイルとすることができ、マシン可読またはコンピュータ可読媒体に格納することができる。よって、これらのモジュールを、データ処理またはコンピュータ・システムがソフトウェア・モジュールの１つ以上の機能を実行するように構成するために、コンピュータ・システム・メモリに格納することができる。また、本願明細書で述べたモジュールの格納には、他の新規および様々なタイプのマシンまたはコンピュータ可読記憶媒体を使用することもできる。
【００６１】
本発明の特定の実施形態を示し説明してきたが、本発明およびそのより広い態様から逸脱することなく、本願明細書の教示に基づいて変更および変形が行なわれ得ることは、当業者には明らかであろう。したがって、添付の特許請求の範囲は、このような本発明の真の趣旨および範囲内のすべての変更および変形をその範囲に包含するものであり、本発明の実施形態は、すべての点における均等物を完全に考慮し、添付の特許請求の範囲によってのみ制限される。
【図面の簡単な説明】
【００６２】
【図１】本発明の一実施形態によるシーケンシャル・アクセス・データ・ストレージ・デバイスを含むエンタープライズを示す高レベル・ブロック図である。
【図２】本発明の一実施形態によるシーケンシャル・アクセス・データ・ストレージ・デバイスを示すブロック図である。
【図３】図３Ａは、本発明の一実施形態によるホスト制御されたＩ／Ｏ操作複製を行なう処理を示す流れ図で、Ｉ／Ｏ操作の再発行を示す。図３Ｂは、本発明の実施形態による、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのホスト制御されたＩ／Ｏ操作複製を行なう操作処理の流れ図である。
【図４】本発明の一実施形態によるダイレクト・アクセス・ストレージ・デバイスのバッファを使用して、シーケンシャル・アクセス・データ・ストレージ・デバイスに書き込み操作を行なう処理を示す流れ図である。
【図５】本発明の一実施形態によるダイレクト・アクセス・ストレージ・デバイスのバッファを使用して、シーケンシャル・アクセス・データ・ストレージ・デバイスから読み出し操作を行なう処理を示す流れ図である。
【符号の説明】
【００６３】
１００  エンタープライズ
１０２Ａ、１０２Ｂ  サーバ・データ処理システム
１０４Ａ、１０４Ｂ、１０４Ｎ  クライアント・データ・処理システム
１０６  ＬＡＮ相互接続
１０８  ストレージ・サブシステム
１１０Ａ  第１のシーケンシャル・アクセス・データ・ストレージ・デバイス
１１０Ｂ  第２のシーケンシャル・アクセス・データ・ストレージ・デバイス
１１２  ディスク・ストレージ・アレイ
１１４  ＳＡＮ相互接続
１１６Ａ  第１の通信リンク
１１６Ｂ  第２の通信リンク
【図１】
0005385508.tif 000002
【図２】
0005385508.tif 000003
【図３】
0005385508.tif 000004
【図４】
0005385508.tif 000005
【図５】
0005385508.tif 000006