JP2007287152A - シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力操作を移送する方法、装置、およびプログラム - Google Patents

シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力操作を移送する方法、装置、およびプログラム Download PDF

Info

Publication number
JP2007287152A
JP2007287152A JP2007105342A JP2007105342A JP2007287152A JP 2007287152 A JP2007287152 A JP 2007287152A JP 2007105342 A JP2007105342 A JP 2007105342A JP 2007105342 A JP2007105342 A JP 2007105342A JP 2007287152 A JP2007287152 A JP 2007287152A
Authority
JP
Japan
Prior art keywords
storage device
data storage
data
primary
operation request
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.)
Granted
Application number
JP2007105342A
Other languages
English (en)
Other versions
JP5385508B2 (ja
Inventor
James Mitchell Karp
ジェームス・ミッチェル・カープ
Paul M Greco
ポール・メリル・グレコ
Glen Alan Jaquette
グレン・アラン・ジャケット
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007287152A publication Critical patent/JP2007287152A/ja
Application granted granted Critical
Publication of JP5385508B2 publication Critical patent/JP5385508B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力(I/O)操作を移送する。
【解決手段】シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力(I/O)操作を移送する方法、システム、および装置が開示される。プライマリ・データ・ストレージ・デバイスの第1の通信ポートを介して入出力(I/O)操作要求を受信するステップと、プライマリ・データ・ストレージ・デバイスを用いてI/O操作要求を処理するステップと、この処理と実質的に同時に、プライマリ・データ・ストレージ・デバイスの第2の通信ポートを介して、セカンダリ・データ・ストレージ・デバイスにI/O操作要求を移送するステップとを含む方法が提供される。プライマリ・データ・ストレージ・デバイスはシーケンシャル・アクセス・データ・ストレージ・デバイスを備える。
【選択図】図1

Description

本発明の実施形態は、一般的にデータのストレージおよび管理に関し、特にシーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して、入出力(I/O)操作を移送(re−conveying)する方法、システム、および装置に関する。
データ処理システムの使用がますます普及するにつれ、このようなデータ処理システムによって生成されるデータを保存および管理する技術が発展してきた。このようなデータを保存したり、データへのアクセスを提供したり、データの処理を行なったりするメカニズムがデータ・ストレージ・サブシステムである。データ・ストレージ・サブシステムには、データ・ストレージ・コントローラまたはホスト・バス・アダプタあるいはその両方、データ・ストレージ・デバイス、および1つ以上のシステムにデータ・ストレージ・サービスを提供するために使用される必要な制御ソフトウェアが統合されたものが含まれる。データ・ストレージ・サブシステムは、単純または複雑、大規模または小規模(物理的な構造またはストレージ容量あるいはその両方の点において)であることができ、単一のデータ・ストレージ・デバイスからインテリジェント・ストレージ・アレイ、ストレージ・エリア・ネットワークまたはそのストレージ・ドメインにまで及ぶ。従来のデータ・ストレージ・デバイスは、固定式、リムーバブル式、磁気式、光学式、ランダム/ダイレクト・アクセス式、またはシーケンシャル・アクセス式あるいはその任意の組み合わせであり得るマシン可読媒体(例えば、固定ディスク、CD/DVD−ROM、テープ、固体メモリなど)、ならびにこのような媒体のアクセスに使用されるメディアローダおよびロボットを備えている。
シーケンシャルアクセス・データ・ストレージ・デバイス(例えば、テープ・データ・ストレージ・デバイス)では、データがとりまとめられ、I/Oの操作がシーケンシャルな方法で行なわれる。つまり、データが、受信された順に逐次書き込まれ(written sequentially in the order)、関連するシーケンシャルアクセス・データ・ストレージ媒体に格納された順に逐次読み出される(read sequentially in the order)ように、個々のI/O操作(例えば、読み出しおよび書き込み操作)が行なわれ、I/O操作がシリアルで動作するようにデバイス・アクセスが行なわれる。多くのシーケンシャルアクセス・データ・ストレージ・デバイスでは、スモール・コンピュータ・システム・インターフェース(small computer system interface:SCSI)またはファイバ・チャネル(Fibre Channel:FC)ポートのような単一の半二重通信ポートを介して、データのアクセスが提供される。シーケンシャルアクセス・データ・ストレージ・デバイスはごく最近、さらなる通信ポートが追加されて提供されているが、これらの追加されたポートは、これまでフェイルオーバ/リダンダンシのためにのみ使用されるか、あるいはシーケンシャルおよびシリアル・データ・アクセスを提供するために使用されてきた。
データ・ストレージ・サブシステムが開発されるにつれて、これまでホスト・データ処理システム(例えば、サーバ)によって管理または実行されていた機能の多くが、データ・ストレージ・デバイスおよびストレージ・サブシステム・インフラストラクチャにオフロードされる(off−loaded)ようになってきた。この機能移行の1つの例として、「サーバレス」または「サーバフリー」バックアップの使用が挙げられる。
サーバレス・バックアップでは、ストレージ・ネットワーク・インダストリ・アソシエーション(Storage Network Industry Association:SNIA)によって提供されたサードパーティ・コピー・プロトコル(Third Party Copy Protocol)または非特許文献1に記載されたような拡張コピー・コマンド(Extended Copy(X Copy)Command)のような既存のプロシージャまたはプロトコルが、データ転送用のサーバ・データ処理システムを用いずに、第1のデータ・ストレージ・デバイスから第2のデータ・ストレージ・デバイスへのコピーまたはバックアップに使用される。一般に、サーバレス・バックアップは、SANの再分配ノード(例えば、FCスイッチ)またはインテリジェント・ストレージ・デバイス(例えば、ディスク・ストレージ・アレイ、テープ・データ・ストレージ・ドライブ、テープ・ライブラリなど)を用いて行なわれる。
これらのデータ・ストレージ構造およびアクセス・メカニズムの結果として、従来のシーケンシャル・アクセス・データ・ストレージ・デバイス内に格納されたデータを「読み出し」または「書き込み」タイプの入出力(I/O)操作を介してアクセスし得る速度、およびサーバレス・バックアップのような更に複雑なデータ・ストレージおよび管理操作を行ない得る速度が、他のデータ・ストレージ・デバイスのタイプ(例えば、固定ディスク、ダイレクト・アクセス・ストレージ・デバイス)と比べ、比較的遅くなってしまう。
Information Technology−SCSI Primary Commands−4(SPC−4),Working Draft,Revision02,T10,a Technical Committee of the Accredited Standards Committee of the National Committee for Information Technology Standards(NCITS)),September15,2005
シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力(I/O)操作を移送する方法、システム、および装置を提供する。
シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力(I/O)操作を移送する方法、システム、および装置が本発明によって提供される。本発明の一実施形態によれば、プライマリ・データ・ストレージ・デバイスの第1の通信ポートを介して入出力(I/O)操作要求を受信するステップと、プライマリ・データ・ストレージ・デバイスを用いてI/O操作要求を処理するステップと、この処理と実質的に同時に、プライマリ・データ・ストレージ・デバイスの第2の通信ポートを介して、セカンダリ・データ・ストレージ・デバイスにI/O操作要求を移送するステップとを含む方法が提供される。上記実施形態において、プライマリ・データ・ストレージ・デバイスはシーケンシャル・アクセス・データ・ストレージ・デバイスを備える。
上記は概要であり、よって必然的に、細部を簡略化、一般化、および省略化している。したがって、この概要は単に例として示すものであり、何ら制限をするものではないことは当業者なら理解するであろう。また、当業者には自明なことであるが、本願明細書で開示された操作は、ハードウェア、ソフトウェア、またはそれらの組み合わせのインプリメンテーション等の多くの方法によって実施することもでき、このような変更および変形は、本発明およびそのより広い態様から逸脱することなく行なうこともできる。特許請求の範囲によって専ら定義される本発明の他の態様、発明的特徴、および利点は以下で説明される制限されない詳細な説明により明らかになるであろう。
添付の図面を参照することによって、当業者は本発明およびその多くの機能および利点をさらに理解できるであろう。
添付の図面において、同一または同様の参照符号は同一または同様の項目を示している。
以下は、本願明細書に記載された1つ以上のシステム、デバイス、または処理あるいはその任意の組み合わせを実行する少なくとも最良の形態の詳細を説明するものである。この説明は、例として示すものであり、制限するものではない。
以下の詳細な説明において、特定の方法の順序、構造、エレメント、および接続などの多数の特定な詳細事項が説明されている。しかし、これらおよび他の特定の詳細事項は、本発明の実施形態を実施するために用いなくてもよいことを理解されたい。別の状況においては、周知の構造、エレメントまたは接続については省略されているか、説明が徒に不明瞭になることを避けるために特に詳細に説明されていない。
本願明細書中の「一実施形態」、「実施形態」、または複数の「実施形態」という表現は、実施形態に関連して説明される特別な機能、構造または特徴が、本発明の少なくとも1つの実施形態に含まれることを示そうとするものである。本願明細書中にこれらの表現が様々な箇所に見られるが、これらは必ずしもすべてが同一の実施形態を示しているわけではなく、また他の実施形態を互いに除外する独立した、または別の実施形態を必ずしも示しているわけでもない。さらに、ある実施形態では示すことができるが、別の実施形態では示すことができない様々な機能も記載されている。同様に、ある実施形態では要件とすることができるが、別の実施形態では要件とすることができない様々な要件も記載されている。
本発明の実施形態は、シーケンシャルアクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力(I/O)操作を移送または複製する方法、システムおよび装置を提供する。SCSIおよびSCSI用ファイバ・チャネル・プロトコル(Fibre Channel Protocol for SCSI:FCP)において規定されているように、通信ポート(例えば、FCまたはSCSIポート)は、データ転送操作の中でターゲットまたはイニシエータのいずれかの役割を担うことができる。例えば、サーバレス・バックアップ・プロシージャが実行されるとき、SCSIのXCopyコマンドが、(例えば、サーバ・データ処理システムの)プライマリ・イニシエータ・ポートから(例えば、テープ・データ・ストレージ・ドライブの)プライマリ・ターゲット・ポートへ送信され、これによって、プライマリ・ターゲット・ポートと(例えば、ディスク・ストレージ・アレイの)セカンダリ・ターゲット・ポート間の転送データ・シーケンスが設定及び許可される。これが許可されると、プライマリ・ターゲット・ポートは、テンポラリ・イニシエータとして動作し、セカンダリ・ターゲット・ポートにコマンドを送ったり、XCopy操作および関連するデータ転送を管理したりする。これが完了すると、プライマリ・ターゲット・ポートはターゲットの役割を再開し、プライマリ・イニシエータ・ポートにステータス・データを返す。本発明の実施形態は、XCopy操作について説明したアーキテクチャと同様であって、データ・ストレージ・デバイスの1つ以上のセカンダリ通信ポートを介して、I/O操作が実質的に同時にデータ・ストレージ・デバイスによって受信および処理されるよう、データのストレージおよび管理(例えば、I/O操作を実行する要求など)を拡張する、アーキテクチャを使用する。よって、高度な操作または改善されたパフォーマンスあるいはその両方が可能となる。
本発明の実施形態は、プライマリ・イニシエータ・ポートからのI/O操作を行なう要求がデータ・ストレージ・デバイスのプライマリ・ターゲット・ポートで受信されたとき、他の通信可能に接続されたデバイス(例えばSAN上)へ、または他の通信可能に接続されたデバイスからI/O操作要求を移送するイニシエータとして、データ・ストレージ・デバイスのセカンダリ通信ポート(1つまたは複数)を使用する環境を提供する。I/O操作が移送される他の(セカンダリ・ターゲット)デバイスとして、シーケンシャル・アクセスまたはダイレクト・アクセス・データ・ストレージ・デバイス(例えば、テープ・データ・ストレージ・デバイス、ディスク・データ・ストレージ・デバイスなど)を含むことができる。
図1は、本発明の実施形態によるシーケンシャル・アクセス・データ・ストレージ・デバイスを含むエンタープライズを示す高レベル・ブロック図である。図1のエンタープライズ100は、図に示されているように、第1のネットワーク相互接続(ローカル・エリア・ネットワークすなわちLAN相互接続106)を介して通信可能に接続される多くのホスト・データ処理システム(例えば、サーバ・データ処理システム102および関連するクライアント・データ処理システム104)を備えている。図示された実施形態のサーバ・データ処理システム102はさらに、多くのデータ・ストレージ・デバイスおよび第2のネットワーク相互接続(ストレージ・エリア・ネットワークすなわちSAN相互接続114)を備えるストレージ・サブシステム108に接続されている。
図1に例として示される実施形態において、ストレージ・サブシステム108は、共に通信可能に接続された、第1のシーケンシャル・アクセス・データ・ストレージ・デバイス(テープ・データ・ストレージ・デバイス110A)、第2のシーケンシャル・アクセス・データ・ストレージ・デバイス(テープ・データ・ストレージ・デバイス110B)、およびダイレクト・アクセス・データ・ストレージ・デバイス(ディスク・ストレージ・アレイ112)を備え、さらにFCスイッチ、スイッチ・ファブリック、アービトレート型ループなどのようなストレージ相互接続(SAN相互接続114)を介して、サーバ・データ処理システム102に接続されている。図1の実施形態のサーバ・データ処理システム102Aは、1つ以上のクライアント・データ・処理システム104A〜104N(Nは正の整数)に、中核となる動作機能を提供するアプリケーション・サーバ(例えば、データ・ベース・サーバ)備え、サーバ・データ処理システム102Bは、別のサーバ(例えば、クラスタ・フェイルオーバ・サーバ、ロード・バランシング・サーバ、バックアップ・サーバなど)を備えている。
図示された実施形態のテープ・データ・ストレージ・デバイス110Aは、示されているように、第1の通信リンク116Aおよび第2の通信リンク116Bを介して、SAN相互接続114に接続されている。各通信リンクは、SAN相互接続114とテープ・データ・ストレージ・デバイス110Aの通信ポートとの間に、1つ以上の電気的、光学的または音響伝搬的信号あるいはその任意の組み合わせを送信することが可能な、任意の数多くの通信媒体(例えば、銅線、光ファイバ・ケーブル)を備えることができる。
図示された実施形態において、第1の通信リンク116Aを介して、テープ・データ・ストレージ・デバイス110Aの第1の通信ポート(例えば、FCまたはSCSIポートのような物理インターフェースまたはその抽象化)で受信されるI/O操作は、実質的に同時に第2の通信リンク116Bを介して、テープ・データ・ストレージ・デバイス110Aによって処理され、別のストレージ・デバイス(例えば、テープ・データ・ストレージ・デバイス110Aまたはディスク・ストレージ・アレイ112あるいはその両方)またはホスト・データ処理システム(例えば、サーバ・データ処理システム102A)に移送される。これについては、本願明細書でさらに詳細に説明する。
図1の実施形態では、従来のSANタイプの相互接続(SAN相互接続114)を特に示したが、本発明の他の実施形態において、他の相互接続(例えば、直接接続、ローカル・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、またはワイド・エリア・ネットワークあるいはその任意の組み合わせ)および他のプロトコル(例えば、FICON、ESCON、SSAなど)を使用することもできる。さらに、図1のエンタープライズ100についてエレメントの特別な数および構成を示したが、本発明の実施形態は、本願明細書で明示的に引用された以外の、特定の数、タイプ、または構成のコンポーネントを有する、エンタープライズ、システム、またはデータ・ストレージ・デバイスに限定されず、多種多様なシステムのタイプ、アーキテクチャ、およびフォーム・ファクタを包含できることを理解すべきである。
図2は、本発明の実施形態による、シーケンシャル・アクセス・データ・ストレージ・デバイス、特にテープ・データ・ストレージ・デバイス200を示すブロック図である。図示された実施形態において、テープ・データ・ストレージ・デバイス200は、リムーバブル・データ・ストレージ・テープ・カートリッジ202および通信チャネル・インターフェース(例えば、通信ポート・インターフェース206)を備えている。この通信チャネル・インターフェースは、1つ以上の備えられた通信ポート204Aおよび204Bを介して、テープ・データ・ストレージ・デバイス200を1つ以上のホスト・データ処理システムまたは関連する通信チャネル(例えば、SAN相互接続114)に通信可能に接続する。
図2の実施形態において、通信ポート・インターフェース206は、通信ポート204Aを介して、入出力(I/O)操作要求(例えば、「読み出し」または「書き込み」要求)を受信し、受信されたI/O操作要求を処理するのと実質的に同時に、通信ポート204Bを介して、このI/O操作要求を他のデータ・ストレージ・デバイスに移送するように構成されている。
図示された実施形態のデータ・ストレージ・テープ・カートリッジ202は、示されているように、メディア・転送リール212および214ならびに1つ以上のメディア転送モータ216を用いて、テープ・アクセス(例えば、読み出し/書き込み)ヘッド210に近接して引き回されるテープ・データ・ストレージ・メディア208(例えば、磁気テープ)を備える。図示された実施形態において、テープ・アクセス・ヘッド210は、テープ・データ・ストレージ・メディア208にデータを読み書きし、且つ、このようなデータをバッファ218(例えば、1つ以上の先読みまたはステージング・バッファ)内に一時的に格納または「ステージ」するように構成されている。
図2の実施形態において、テープ・データ・ストレージ・デバイス200は、さらにコントローラすなわち制御ユニット220を備えている。制御ユニット220は、本発明の実施形態の1つ以上の方法または処理、あるいはその操作を実行するため、1つ以上の通信ポート・インターフェース206、バッファ218、またはメディア転送モータ216あるいはその任意の組み合わせに対して出される制御信号を介して、データ・フロー、フォーマッティング、およびデータ・ストレージ・サブシステムの操作を制御および管理する。別の実施形態において、このような制御機能は、通信ポート・インターフェース206、制御ユニット220および通信ポート204のうちの1つまたはそれ以上の中に組み込むこともできる。
本発明の一実施形態において、I/O操作(例えば、書き込み操作)は、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを用いて、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスからセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに移送(re−convey)される。上記の実施形態では、2つのターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスがネットワーク相互接続(例えば、図1のSAN相互接続114)に通信可能に接続されていれば、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスと物理的に離れていてもよい。
この方法を使用して、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに書き込まれたデータのセカンダリ(重複(dupulex))コピーが、同時にセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスにおいても生成される。I/O操作のこのような複製は、ホスト・データ処理システムが制御する、またはホスト・データ処理システムに透過的である方法で行なうことができる。図3(図3Aおよび図3Bを含む)は、本発明の実施形態による、ホスト制御されたI/O操作の複製を行なう処理を示す流れ図である。
図3Aの実施形態では、本発明の実施形態による、ホスト制御されたI/O複製を行なうホスト・データ処理システムの操作処理を示す流れ図を示している。図示された処理の実施形態では、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、(例えば、ホスト・データ処理システム・プライマリ・イニシエータによって)リザーブ、マウントおよび構成される(処理ブロック302)。
従来のストレージ・サブシステムでは、各プライマリ・ターゲット・データ・ストレージ・デバイスが、すべての通信ポートがデフォルトで共通の論理ユニット(すなわち、単一のターゲット)へのアクセスを与えるようになっている。これに対し、図3Aの実施形態では、本願明細書に記載されているように、セカンダリ通信ポートを個別にリザーブし第三者の操作を許可する構成メカニズムが提供される。一実施形態において、このような構成メカニズムは、1つ以上の通信ポートをそれらの関連するデバイス(例えば、LUN)から個別にリザーブするために、SCSIの「Reserve」コマンドの拡張を介してソフトウェアを用いてインプリメントされる。別の実施形態では、このような構成は、重要プロダクト・データ(vital product data:VPD)を操作するソフトウェアを使用して、またはデバイスの操作パネル制御の直接または自動操作を介して実現される。
デバイスの構成は、本発明の様々な実施形態において静的または動的に行なうことができる。動的構成が実施された場合には、受信したI/O操作要求を移送するように最初に構成されたポートを従来の(例えば、フェイルオーバ)機能を行なうように実質的に再構成することもできる。既に述べたリザーブ、マウントおよび構成の一部として、プライマリ・ターゲット・ストレージ・デバイスに向けられたI/O操作の自動「ミラーリング」または移送が可能になる。本発明の1つ以上の実施形態において、このような機能は、全体のマウントに対して交互にアクティブ化されるメカニズム(例えば、モード選択パラメータ)を介して、または(例えば、I/O操作コマンドの中にパラメータとして組み込まれた)低レベルの粒度で提供され、一部のI/O操作書き込みデータのみがセカンダリ・ターゲットにミラーリングされるような選択的なI/O操作の複製を可能とさせる。
次いで、図示された処理の実施形態において、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、(例えば、ホスト・データ処理システム・プライマリ・イニシエータによって)リザーブされ、マウントされ、構成される(処理ブロック304)。プライマリおよびセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのリザーブ、マウントおよび構成は、図3Aにおいてはシリアルで行なうように示されているが、本発明の別の実施形態においては、これらの操作をパラレルまたはインターリーブ方式あるいはその両方で行なうこともできる。
ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが適切に構成されると、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに対して、I/O操作(例えば、書き込み操作)を実行する要求が発行される(処理ブロック306)。各I/O操作要求(例えば、書き込み操作コマンドおよび関連するデータ(associated data))が受信されると、セカンダリ通信ポート(例えば、物理的なファイバ・ポート)を介して、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスにこの要求が移送される。このI/O操作の移送(re−conveyance)または再送信(retransmission)は、様々な実施形態において多くの技術を利用して行なうことができる。そのような一実施形態において、各受信されたデータグラム(例えば、ファイバ・チャネル・フレーム)は、セカンダリ・シーケンシャル・アクセス・データ・ストレージ・デバイスを再びターゲットとするために、一時的にバッファリングされ、変更される。別の実施形態では、関連するI/O操作特定のペイロード・データが各受信データグラムから(例えば、ファイバ・チャネル・インターフェース・ハードウェアを用いて)取り出され、続いて、例えば異なる送受信識別子および関連する制御情報/メタデータを有する新しく生成されたデータグラムの中にカプセル化される。
次いで、要求されたI/O操作の結果を特定するI/O操作ステータス・データが受信される(処理ブロック308)。要求されたI/O操作が失敗に終わったことを要求されたI/O操作ステータス・データが示す場合、要求されたI/O操作が正常に行なわれるまで、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに対して失敗したI/O操作が再発行される(処理ブロック310)。要求されたI/O操作が正常に行なわれると、図に示されているように、次のI/O操作要求を発行することができる。
本発明の1つ以上の実施形態において、上記I/O操作ステータス・データは、「結合された」完了ステータス("combined" completion status)またはプライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイス上のみで行なわれるI/O操作の完了ステータスあるいはその両方を意味することができる。結合された完了ステータスが提供される場合、上記ステータス・データは、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスへのI/O操作とセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスへ移送された/重複した(duplicate)I/O操作との両方の完了ステータスを示す。このような実施形態において、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、I/O操作がローカルで正常に完了し、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスからも正常な完了を示すステータス・データを受信した際に、このようなI/O操作の正常な完了を示すステータス・データを(例えば、ホスト・データ処理システムのプライマリ・イニシエータに対して)一度だけ発行する。
プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのみの完了ステータスが示される場合、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、自身のデータ・バッファを非同期的に用いて、必要に応じてI/O操作コマンドを再駆動/発行し、且つエラー回復シーケンスを生成して、セカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスへのI/O操作ステータスを管理する。このような実施形態では、完了I/O操作ステータスはI/O操作要求のシーケンスの最後で(例えば、一連の書き込みコマンドの後に巻き戻しコマンドが発行されるとき)同期される、または1つにまとめられる。I/O操作の再発行が図3Aの実施形態に示されているが、本発明の別の実施形態においては、このような操作は行なわれなくてもよい。完了I/O操作コマンド・シーケンスが完了すると、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ・ポートを用いて確保されたセカンダリ・ターゲットに関連するすべてのリザベーションおよび制御が解除される。次いで、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、イニシエータとしての動作をやめ、再び「ターゲット」動作モードまたはターゲット状態になる。
図3Bの実施形態では、本発明の実施形態による、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのホスト制御されたI/O操作複製(I/O operation replication)を行なう操作処理の流れ図が示されている。図示された処理の実施形態によれば、第1の(例えば、プライマリ)通信ポートを介して、I/O操作要求/コマンドが最初に受信される(処理ブロック312)。次いで、受信されたI/O操作要求は、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスによって処理され(処理ブロック316)、実質的に同時にI/O操作要求の複製が、第2の(例えば、セカンダリ)通信ポートを介してセカンダリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスに移送される(処理ブロック314)。
受信されたI/O操作要求が、図に示されているように処理され移送されると、結合されたI/O操作要求処理ステータス・データが生成される(処理ブロック318)。前述したように、図3Bの実施形態には結合されたステータス・データが示されているが、本発明の別の実施形態おいて、このようなステータス・データは、プライマリ・ストレージ・デバイスのみの処理状態を反映するものであってもよい。しかし生成された場合、次のI/O操作が処理されるために受信される前に、I/O操作要求処理ステータス・データはプライマリ・イニシエータへ戻される(処理ブロック320)。
本発明の別の実施形態において、I/O操作複製は、ホスト制御ではなくホスト透過方式で行なうこともできる。
ホスト「透過」モードの動作では、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスは、I/O操作要求を受信する前に、自身のセカンダリ通信ポートを管理でき、セカンダリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートの暗黙リザベーションを保持することのできるモードで(例えば、VPDまたはライブラリ・インターフェース手段を介して)構成される。上記実施形態では、セカンダリ・ターゲットが同様に構成される。プライマリおよびセカンダリ・ターゲット・ストレージ・デバイスのこのような構成は、一実施形態において、動的構成によって実現される。
セカンダリ・ターゲット・ストレージ・デバイスのマウント操作は、本願明細書で説明するようなI/O操作要求が移送される「重複(duplex)」I/O操作を行なうためにあらかじめ配置された利用可能なボリュームの事前に定義されたスクラッチ・プールを使用して行なわれる。プライマリ・ターゲット・データ・ストレージ・デバイスにマウントされたプライマリ・ボリュームに対するセカンダリの「重複の対(duplex−mate)」ボリュームが存在する場合、既存のセカンダリ重複カートリッジがセカンダリ・ターゲット・ボリュームにマウントされる。プライマリ・ターゲット・データ・ストレージ・デバイスは、I/O操作要求の受信または処理に対してセカンダリ・ターゲット・ストレージ・デバイスも「レディ状態」になるまでは、レディ状態であることを示さない。続いて、プライマリ・ターゲット・データ・ストレージ・デバイスに対して、I/O操作要求が従来の単信方式で発行される。プライマリ・ターゲット・データ・ストレージ・デバイスは、I/O操作のソース・イニシエータに対して透過的な方法で、セカンダリ・ターゲットでの重複I/O操作の実行を順に管理し、さらにリトライ、エラー、およびステータスの併合も管理する。
完了I/O操作(例えば、書き込み)コマンド・シーケンスが完了すると、例えば、巻き戻し/アンロード・シーケンス・コマンドが発行され、プライマリ・ターゲットデータ・ストレージ・デバイスがこれらと同じコマンドをセカンダリ・ターゲット・ストレージ・デバイスに移送または「ミラー(mirrors)」し、セカンダリ・ターゲット・ストレージ・デバイスでのI/O操作を終了させる(例えば、ドライブを停止し、テープをアンロードする)。次いで、最終のI/O操作ステータスが、2つのデバイスからのステータス・データの結合によって生成される。
本発明の別の実施形態では、I/O操作要求の移送をすることによって、シーケンシャル・アクセス・ストレージ・デバイスを共有ダイレクト・アクセス・ストレージ・アレイ・バッファへアクセスさせる。よって、シーケンシャル・アクセス・ストレージ・デバイス自身の内部バッファがある場合にはその使用可能なバッファの容量が増える。上記の実施形態では、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが、「アドバンスト・バッファ」モードで動作するために自身のセカンダリ通信ポートを用いるように構成され、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス(例えば、ミラーされた共有ディスク・アレイ)が、不揮発性共有バッファとして用いられる。
上記の実施形態においては、セカンダリ・ターゲット・ストレージ・デバイスのディスク・アレイ・バッファが、プライマリ・ターゲット・ストレージ・デバイスに通信可能に接続され、且つプライマリ・ターゲット・ストレージ・デバイスがアクセス可能な任意の場所(例えば、プライマリ・ターゲット・データ・ストレージ・デバイスが通信可能に接続されたネットワーク・セグメント内の任意の場所)に位置することができる。エラー回復の目的のため、同じホスト・データ処理システムに取り付けられた他のストレージ・デバイスが、同様の方法で共有ディスク・バッファをアクセスし、共有バッファ上のデータに関連する特定のメタデータ(例えば、ホスト・データ処理システムID、ドライブID、ボリュームの所有権など)を識別する共通のタグ付きファイル・システムを共有する。このようにして、事前にバッファリングされたデータを修復させる場合およびドライブ障害を開始する(例えば、書き込みする)場合に、エラー回復が可能となる。この場合、開始ホスト・データ処理システムは、別のドライブ・パスを介して接続したり、共有バッファからデータを回復したりする。
本発明の一実施形態において、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイス(例えば、テープ・デバイス)がセカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス(例えば、ディスク・ドライブまたはアレイ)を管理する。これは、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスによって提供されるさらなる仮想バッファおよびすべての関連する操作(例えば、ファイル管理、プロトコル管理、エラー回復管理など)が、開始ホストに対して透過的であるような方法で行なわれる。別の実施形態では、プライマリとセカンダリ・データ・ストレージ・デバイス間の通信リンク/接続が失敗に終わった場合、またはセカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスの動作で特定のエラー状態が検出された場合に、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスは通常の動作に戻り、そのようなバッファ機能の提供を中止する。
本願明細書において前述したように、前述のプライマリおよびセカンダリ・ターゲット・データ・ストレージ・デバイスのようなデバイスの構成は、VPD/操作・パネル/ユーザ入力手段、ライブラリ・インターフェース手段、またはホスト手段を介して達成することができる。本発明の一実施形態において、共有バッファに接続するように許可および構成された各プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスもまた共通のステータス領域をアクセスできるようになっている。この共通のステータス領域は、ダイレクト・アクセス・ストレージ・デバイス「ドライブ」プールへのバッファ領域の割り当て、または共有のセカンダリ・ターゲット・データ・ストレージ・デバイスバッファ内に格納されたデータに関連するファイル構造を指定するメタデータの格納あるいはその両方を行なうための管理に用いられる。セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス内のバッファ割り当ては、本願明細書では静的に行なわれるように記載されているが、他の実施形態においては、このようなバッファ・ストレージ領域の動的割り当ても考慮される。
このようなダイレクト・アクセスまたは「ディスク」ストレージ・アレイ・バッファを用いると、回復可能な方法でI/O操作(例えば、書き込みコマンド)を効率的に不揮発性ストレージにバッファリングすることができ、シーケンシャル・アクセス・データ・ストレージ・デバイスが実際にアクセスを行なっていない場合でも、各I/O操作またはコマンドの完了ステータスを指定するステータス・データを同期イベントの発生時に提供することができる。本発明の実施形態によって、提供されるバッファ・データ・ストレージ容量が増えることで、一般にシーケンシャル・アクセス・データ・ストレージ・デバイス内に設けられる半導体バッファと比べ、I/O操作パフォーマンス、データ・ストリーミング・スループット、およびストレージ容量を強化できる。さらに、追加のバッファリングおよび結果として生じる強化された「先読み(read−ahead)」機能によって、特定の操作(例えば、ショート・ホップ・ロケート(short−hop locate)・コマンド、複数の前送り(multiple forward space)コマンドなど)をさらに効果的に行なうことができるようになる。本発明の別の実施形態では、さらなる帯域幅を増やすために、追加の通信ポートを使用して、このような特定の操作を独立させる。
I/O操作に関連するデータのストレージについて、一実施形態では、共有バッファ全体のデータの保全性を有効なものとするため、共有バッファがプライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのバッファの拡張であるかのように、特定のデータまたはメタデータ要素(例えば、巡回冗長検査コード(cyclic redundancy check codes)またはチェックサム)が他のI/O操作データと共に共有バッファに保持される。別の実施形態では、I/O関連データのさらなるコピーを生成してこのようなI/O操作データを第3のストレージ・デバイスへ移送するため、セカンダリ・ターゲット・ダイレクト・アクセス・ストレージ・デバイス内のセカンダリ通信ポートが使用される。このように共有されたダイレクト・アクセス・ストレージ・デバイスのデータ・バッファは、I/O操作要求を複数のターゲット・ストレージ・デバイスに複製するまたは移送する重複操作のための中間領域(staging area)として使用することもできる。
図4は、本発明の実施形態による、ダイレクト・アクセス・ストレージ・デバイスのバッファを使用してシーケンシャル・アクセス・ストレージ・デバイスへの書き込み操作を行なう処理を示した流れ図である。図示された処理の実施形態において、ホスト・データ処理システム・プライマリ・イニシエータが、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスをリザーブ、マウント、および構成する(図示せず)。上記処理のマウント操作の一部として、プライマリ・ターゲット・データ・ストレージ・デバイスは、共有バッファをアクセスし、割り当てバッファ領域を作成し、この割り当てバッファ領域に関連するメタデータ・エントリを生成する。
プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが適切に構成されると、ホスト・データ処理システム・プライマリ・イニシエータは、プライマリ・ターゲット・ストレージ・デバイスに対するI/O操作要求またはコマンド(例えば、書き込み操作要求)の発行を開始することができる。プライマリ・ターゲットは、各書き込み操作要求が発行されると、これを受信する(処理ブロック402)。続いて、共有バッファ機能を提供するために使用される、関連するセカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス内に格納されたデータの量が、所定のしきい値に達したかどうかを判断する(処理ブロック404)。
上記バッファのデータ・ストレージしきい値に達した(または超えた)と判断された場合、I/O操作データは、セカンダリ・ターゲット・データ・ストレージ・デバイスから(例えば、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのバッファ・メモリ内に)読み戻され、続いてプライマリ・データ・ストレージ・デバイスの物理ストレージ媒体(例えば、テープ)に格納される(処理ブロック406)。次いで、あるいは、所定のデータ・ストレージしきい値に達していない/超えていないと判断された場合、受信されたI/O操作要求は、プライマリ・ターゲットのセカンダリ通信ポートを介して、共有バッファ(すなわち、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイス)に複製される(処理ブロック408)。本発明の別の実施形態において、プライマリおよびセカンダリ・データ・ストレージ・デバイスへの、またはプライマリおよびセカンダリ・データ・ストレージ・デバイスからのI/O操作要求および関連するデータの適用(application)は、シリアルもしくはパラレルまたは1つの通信ポート上での時分割多重式で行なうか、さらなる帯域幅を提供する専用のポート上で独立して行なうかあるいはその両方で行なうこともできる。
上記I/O操作が図示されているように移送されると、I/O操作の完了ステータスを指定するステータス・データが生成される(処理ブロック410)。一実施形態において、このようなステータス・データは、バッファリングされたコマンドに対して関連するデータがプライマリ・ターゲット・データ・ストレージ・デバイスで受信されるのに応じて生成される。別の実施形態では、このようなステータス・データは、I/O操作要求に関連するデータが(例えば、イベントを同期するために)共有バッファに正常に格納されたときに、生成される/戻される。
ある特定の状況では(巻き戻し/アンロードまたは他の再配置コマンドが発行されたとき)、コマンドが完了していると示される前に、セカンダリ・ターゲット・データ・ストレージ・デバイスの、I/O操作要求関連のデータを含む共有バッファの一部が、プライマリ・データ・ストレージ・デバイスの物理ストレージ媒体(例えば、テープ)に書き込まれる。従来のシーケンシャル・アクセス・データ・ストレージ・デバイスでよくあるように、データが比較的高速で転送される場合(例えば、>100MB/s)、実際的な限界は、例えば、媒体の「unload」コマンドなどに受付け不能な時間遅延(unacceptable time delay)が付与される前に書き込むことができるデータのおおよその量までバッファリングされ得るデータの最大量に課される。本発明の一実施形態において、バッファリングされ得るデータの最大量はおよそ10〜20ギガバイトで、およそ1〜2分の間の遅延期間がさらに追加される。
図5は、本発明の実施形態によるダイレクト・アクセス・ストレージ・デバイスのバッファを用いて、シーケンシャル・アクセス・ストレージ・デバイスからの読み出し操作を行なう処理を示す流れ図である。図示された処理の実施形態において、ホスト・データ処理システム・プライマリ・イニシエータが、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスをリザーブ、マウント、および構成する(図示せず)。上記処理のマウント操作の一部として、プライマリ・ターゲット・データ・ストレージ・デバイスは、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスによって提供される共有バッファをアクセスし、割り当てバッファ領域を作成し、この割り当てバッファ領域に関連するメタデータ・エントリを生成する。
プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスが適切に構成されると、ホスト・データ処理システム・プライマリ・イニシエータは、プライマリ・ターゲット・ストレージ・デバイスに対するI/O操作要求またはコマンド(例えば、読み出し操作要求)の発行を開始することができる。プライマリ・ターゲット・データ・ストレージ・デバイスは、各読み出し操作要求が発行されると、これを受信する(処理ブロック502)。続いて、要求されたデータが、セカンダリ・ターゲット・ダイレクト・アクセス・データ・ストレージ・デバイスの共有バッファに格納されているかどうかを判断する(処理ブロック504)。要求された読み出し操作が、共有データ・バッファのデータを使用して行なわれていないであろうと判断された場合、受信された読み出し操作要求はプライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスでローカルに処理される(処理ブロック506)。図示された処理の実施形態において、プライマリ・ターゲット・ストレージ・デバイスは、レイテンシを最小限にするため、共有バッファを介さずに、読み出しデータを直接プライマリ・イニシエータに返す。
各読み出し操作要求が処理され、関連するデータが読み出されてプライマリ・イニシエータに提供されると、「先読み」操作が行なわれる。この操作では、さらなるデータ(現在の読み出し操作によって要求されるデータのさらに先のデータ)がプライマリ・ターゲット・データ・ストレージ・デバイスのストレージ媒体から読み出され、プライマリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートをイニシエータとして使用してセカンダリ・データ・ストレージ・デバイスの共有バッファ内に格納される(処理ブロック508)。現在の読み出し操作の要求されたデータがセカンダリ・データ・ストレージ・デバイス内に格納またはバッファリングされていると判断された場合、プライマリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートを用いて、要求されたブロックが共有バッファから読み戻され、プライマリ・イニシエータに提供される(処理ブロック510)。一実施形態において、このような「先読み」動作は、共有バッファに現在の読み出しブロックアドレスに関連づけられたデータをロードするために、空間的局所性によって連続して行なわれる。したがって、読み出しおよび書き込みI/O操作の両方が、プライマリ・ターゲット・データ・ストレージ・デバイスのセカンダリ通信ポートを介して共有バッファを使用して行なうことができる。
図3〜図5に示された操作は、特定のシステム・エレメントについて記載されているが、このような操作を行なうために使用される実際のエレメントは、本発明の実施形態を処理する上で重要ではない。さらに、別の実施形態において、このような操作はどんなデータ・ストレージ・デバイスまたはそのサブコンポーネントによっても行なうこともできる。同様に、上記の流れ図は特別な順および特定の処理操作の粒度を示しているが、別の実施形態においては、図示された順は変えられてもよく(例えば、処理操作を別の順に行なうか、実質的にパラレルで行なってもよい)、1つ以上の処理操作が結合される、または断片化されてもよい。同様に、本発明の別の実施形態において、必要に応じて処理操作を追加してもよい。
本発明の実施形態は、さらにここで説明するソフトウェア、情報処理ハードウェアおよび様々な処理操作含むことができる。様々な発明の実施形態の機能および処理操作は、データ処理システム・メモリ、ストレージ・デバイス、または通信デバイスもしくは媒体のようなマシン可読媒体において具現化される実行可能命令によって具現化されてもよい。マシン可読媒体は、データをマシン(例えば、データ処理システム)が読み取ることのできる形式で提供(すなわち、格納または送信あるいはその両方)するどんなメカニズムを備えていてもよい。
例えば、マシン可読媒体として、ランダム・アクセス・メモリ(random access memory:RAM)、リード・オンリ・メモリ(read only memory:ROM)、磁気ストレージ媒体、光学ストレージ媒体、フラッシュ・メモリ・デバイス、電気的または光学的または音響伝搬的信号(例えば、搬送波、赤外線信号、デジタル信号など)あるいはその任意の組み合わせ等が挙げられるが、これらに限定されない。上記の実行可能命令を用いると、これらの命令を使ってプログラミングされた汎用または特殊目的プロセッサに、本発明の操作、方法、または処理を実行させることができる。あるいは、本発明の機能または操作を、このような操作を実行するためのハードワイヤード・ロジックを含む特定のハードウェア・コンポーネントによって、またはプログラミングされたデータ処理コンポーネントおよびカスタム・ハードウェア・コンポーネントの組み合わせによって、実行することもできる。
以上、完全な機能データ処理システムを照らし合わせながら本発明を説明したが、本発明はプログラム製品として様々な形式で配布されることができ、信号保持媒体の特定のタイプに関わらずこの配布の実施に一様に適用することができることは、当業者であれば理解できるであろう。このような信号保持媒体の例として、フレキシブル・ディスクおよびCD−ROMなどの記録可能媒体、デジタルおよびアナログ通信リンクのような伝送型媒体、ならびに今後開発されるメディア・ストレージおよび配布システム等が挙げられる。同様に、本発明の実施形態は、特定の操作及びタスクを実行するために用いられるソフトウェア・モジュールを使用して実施されてもよい。上記のソフトウェア・モジュールは、スクリプト、バッチ、または他の実行可能ファイルとすることができ、マシン可読またはコンピュータ可読媒体に格納することができる。よって、これらのモジュールを、データ処理またはコンピュータ・システムがソフトウェア・モジュールの1つ以上の機能を実行するように構成するために、コンピュータ・システム・メモリに格納することができる。また、本願明細書で述べたモジュールの格納には、他の新規および様々なタイプのマシンまたはコンピュータ可読記憶媒体を使用することもできる。
本発明の特定の実施形態を示し説明してきたが、本発明およびそのより広い態様から逸脱することなく、本願明細書の教示に基づいて変更および変形が行なわれ得ることは、当業者には明らかであろう。したがって、添付の特許請求の範囲は、このような本発明の真の趣旨および範囲内のすべての変更および変形をその範囲に包含するものであり、本発明の実施形態は、すべての点における均等物を完全に考慮し、添付の特許請求の範囲によってのみ制限される。
本発明の一実施形態によるシーケンシャル・アクセス・データ・ストレージ・デバイスを含むエンタープライズを示す高レベル・ブロック図である。 本発明の一実施形態によるシーケンシャル・アクセス・データ・ストレージ・デバイスを示すブロック図である。 図3Aは、本発明の一実施形態によるホスト制御されたI/O操作複製を行なう処理を示す流れ図で、I/O操作の再発行を示す。図3Bは、本発明の実施形態による、プライマリ・ターゲット・シーケンシャル・アクセス・データ・ストレージ・デバイスのホスト制御されたI/O操作複製を行なう操作処理の流れ図である。 本発明の一実施形態によるダイレクト・アクセス・ストレージ・デバイスのバッファを使用して、シーケンシャル・アクセス・データ・ストレージ・デバイスに書き込み操作を行なう処理を示す流れ図である。 本発明の一実施形態によるダイレクト・アクセス・ストレージ・デバイスのバッファを使用して、シーケンシャル・アクセス・データ・ストレージ・デバイスから読み出し操作を行なう処理を示す流れ図である。
符号の説明
100 エンタープライズ
102A、102B サーバ・データ処理システム
104A、104B、104N クライアント・データ・処理システム
106 LAN相互接続
108 ストレージ・サブシステム
110A 第1のシーケンシャル・アクセス・データ・ストレージ・デバイス
110B 第2のシーケンシャル・アクセス・データ・ストレージ・デバイス
112 ディスク・ストレージ・アレイ
114 SAN相互接続
116A 第1の通信リンク
116B 第2の通信リンク

Claims (15)

  1. シーケンシャル・アクセス・ストレージ・デバイスを備えるプライマリ・データ・ストレージ・デバイスの第1の通信ポートを介して、入出力(I/O)操作要求を受信するステップと、
    前記プライマリ・データ・ストレージ・デバイスを用いて前記I/O操作要求を処理するステップと、
    前記処理と実質的に同時に、前記プライマリ・データ・ストレージ・デバイスの第2の通信ポートを介して、セカンダリ・データ・ストレージ・デバイスに前記I/O操作要求を移送するステップと、
    を含む方法。
  2. 前記プライマリ・データ・ストレージ・デバイスが第1のテープ・データ・ストレージ・デバイスを含み、
    前記セカンダリ・データ・ストレージ・デバイスが第2のテープ・データ・ストレージ・デバイスを含み、
    前記受信するステップがホスト・データ処理システムから前記I/O操作要求を受信するステップを含み、
    前記第2のテープ・データ・ストレージ・デバイスが前記ホスト・データ処理システムを使用してI/O操作用にリザーブされる、
    請求項1に記載の方法。
  3. 前記プライマリ・データ・ストレージ・デバイスが第1のテープ・データ・ストレージ・デバイスを含み、
    前記セカンダリ・データ・ストレージ・デバイスが第2のテープ・データ・ストレージ・デバイスを含み、
    前記第2のテープ・データ・ストレージ・デバイスが前記第1のテープ・データ・ストレージ・デバイスを使用してI/O操作用にリザーブされる、
    請求項1に記載の方法。
  4. 前記セカンダリ・データ・ストレージ・デバイスがサーバ・データ処理システムを含む、請求項1に記載の方法。
  5. 前記セカンダリ・データ・ストレージ・デバイスが固定ディスク、ダイレクト・アクセス・ストレージ・ドライブを含む、請求項1に記載の方法。
  6. 前記移送するステップが、
    前記I/O操作要求に関連するデータをエンコードするステップと、
    前記エンコードするステップに応じて、前記I/O操作要求に関連する前記データを移送するステップと、
    を含む請求項1に記載の方法。
  7. 前記エンコードするステップが、前記I/O操作に関連する前記データを圧縮するステップ、および前記I/O操作に関連する前記データを暗号化するステップの少なくとも1つを含む、請求項6に記載の方法。
  8. シーケンシャル・アクセス・ストレージ・デバイスを備えるプライマリ・データ・ストレージ・デバイスの第1の通信ポートを介して、入出力(I/O)操作要求を受信する手段と、
    前記プライマリ・データ・ストレージ・デバイスを用いて前記I/O操作要求を処理する手段と、
    前記処理と実質的に同時に、前記プライマリ・データ・ストレージ・デバイスの第2の通信ポートを介して、セカンダリ・データ・ストレージ・デバイスに前記I/O操作要求を移送する手段と、
    を含む装置。
  9. 前記プライマリ・データ・ストレージ・デバイスが第1のテープ・データ・ストレージ・デバイスを含み、
    前記セカンダリ・データ・ストレージ・デバイスが第2のテープ・データ・ストレージ・デバイスを含み、
    前記受信する手段がホスト・データ処理システムから前記I/O操作要求を受信する手段を含み、
    前記第2のテープ・データ・ストレージ・デバイスが前記ホスト・データ処理システムを使用してI/O操作用にリザーブされる、
    請求項8に記載の装置。
  10. 前記プライマリ・データ・ストレージ・デバイスが第1のテープ・データ・ストレージ・デバイスを含み、
    前記セカンダリ・データ・ストレージ・デバイスが第2のテープ・データ・ストレージ・デバイスを含み、
    前記第2のテープ・データ・ストレージ・デバイスが前記第1のテープ・データ・ストレージ・デバイスを使用してI/O操作用にリザーブされる、
    請求項8に記載の装置。
  11. 前記セカンダリ・データ・ストレージ・デバイスがサーバ・データ処理システムを備える、請求項8に記載の装置。
  12. 前記セカンダリ・データ・ストレージ・デバイスが固定ディスク、ダイレクト・アクセス・ストレージ・ドライブを備える、請求項8に記載の装置。
  13. 前記処理および移送する手段が、
    前記I/O操作要求に関連するデータをエンコードする手段と、
    前記I/O操作要求に関連する前記データのエンコーディングに応じて、前記I/O操作要求に関連する前記データを移送する手段と、
    を含む請求項8に記載の装置。
  14. 前記エンコードする手段が、前記I/O操作に関連する前記データを圧縮する手段、および前記I/O操作に関連する前記データを暗号化する手段の少なくとも1つを含む、請求項13に記載の装置。
  15. コンピュータに、
    シーケンシャル・アクセス・ストレージ・デバイスを備えるプライマリ・データ・ストレージ・デバイスの第1の通信ポートを介して、入出力(I/O)操作要求を受信するステップと、
    前記プライマリ・データ・ストレージ・デバイスを用いて前記I/O操作要求を処理するステップと、
    前記処理と実質的に同時に、前記プライマリ・データ・ストレージ・デバイスの第2の通信ポートを介して、セカンダリ・データ・ストレージ・デバイスに前記I/O操作要求を移送するステップと、
    を実行させるプログラム。
JP2007105342A 2006-04-18 2007-04-12 シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力操作を移送する方法、装置、およびプログラム Expired - Fee Related JP5385508B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/405,796 US9383938B2 (en) 2006-04-18 2006-04-18 Method, system, and apparatus for re-conveying input/output operations utilizing a sequential-access data storage device secondary communication port
US11/405796 2006-04-18

Publications (2)

Publication Number Publication Date
JP2007287152A true JP2007287152A (ja) 2007-11-01
JP5385508B2 JP5385508B2 (ja) 2014-01-08

Family

ID=38758811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007105342A Expired - Fee Related JP5385508B2 (ja) 2006-04-18 2007-04-12 シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力操作を移送する方法、装置、およびプログラム

Country Status (3)

Country Link
US (1) US9383938B2 (ja)
JP (1) JP5385508B2 (ja)
CN (1) CN100541462C (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2524561A (en) * 2014-03-27 2015-09-30 St Microelectronics Res & Dev Methods and apparatus for storing content
US10241685B2 (en) * 2016-08-17 2019-03-26 Oracle International Corporation Externally managed I/O starvation avoidance in a computing device
CN107132996B (zh) * 2017-04-12 2020-02-21 杭州宏杉科技股份有限公司 基于智能精简配置的存储方法、模块及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141798A (ja) * 1992-08-21 1995-06-02 Mitsubishi Electric Corp ディジタル・データ複写方法および映像記録装置
JPH07249263A (ja) * 1994-03-08 1995-09-26 Sony Corp 情報信号の内容情報複製方式
JP2002007304A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法
JP2003162379A (ja) * 2001-11-28 2003-06-06 Nec Corp 磁気テープアレイ制御装置及びこれによる書き込みデータの復旧方法
JP2004030254A (ja) * 2002-06-26 2004-01-29 Hitachi Ltd リモートsi制御方式
JP2004118406A (ja) * 2002-09-25 2004-04-15 Hitachi Ltd ディスクアレイ装置、及びその制御方法
JP2005018509A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd 記憶システム、バックアップシステム及びバックアップ方法
JP2006011581A (ja) * 2004-06-23 2006-01-12 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
JP2006059260A (ja) * 2004-08-23 2006-03-02 Hitachi Ltd 情報処理システム、管理計算機及びリモートコピー方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6549992B1 (en) * 1999-12-02 2003-04-15 Emc Corporation Computer data storage backup with tape overflow control of disk caching of backup data stream
US7111189B1 (en) * 2000-03-30 2006-09-19 Hewlett-Packard Development Company, L.P. Method for transaction log failover merging during asynchronous operations in a data storage network
US6658540B1 (en) * 2000-03-31 2003-12-02 Hewlett-Packard Development Company, L.P. Method for transaction command ordering in a remote data replication system
US20010047412A1 (en) * 2000-05-08 2001-11-29 Weinman Joseph B. Method and apparatus for maximizing distance of data mirrors
DE10053016A1 (de) * 2000-10-17 2002-04-25 Libelle Informatik Gmbh Vorrichtung und Verfahren zur Datenspiegelung
US6718352B1 (en) * 2001-03-20 2004-04-06 Emc Corporation Methods and apparatus for managing a data set stored on a data storage device
US6728848B2 (en) * 2001-06-11 2004-04-27 Hitachi, Ltd. Method and system for backing up storage system data
JP2003076592A (ja) * 2001-09-04 2003-03-14 Hitachi Ltd データ格納システム
CN100354843C (zh) * 2002-05-24 2007-12-12 皇家飞利浦电子股份有限公司 具有停顿装置的伪多端口数据存储器
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
JP2004334434A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 双方向コピー制御機能を有する記憶装置システム
JP4419460B2 (ja) * 2003-08-04 2010-02-24 株式会社日立製作所 リモートコピーシステム
US8239552B2 (en) * 2003-08-21 2012-08-07 Microsoft Corporation Providing client access to devices over a network
JP4386694B2 (ja) 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
US7266653B2 (en) * 2003-09-29 2007-09-04 International Business Machines Corporation Remote data mirroring with acknowledgment upon writing copied data to volatile cache memory
US7237056B2 (en) * 2003-11-17 2007-06-26 Hewlett-Packard Development Company, L.P. Tape mirror interface
JP2005165444A (ja) * 2003-11-28 2005-06-23 Hitachi Ltd ディスクアレイ装置、及びディスクアレイ装置の制御方法
JP4387261B2 (ja) 2004-07-15 2009-12-16 株式会社日立製作所 計算機システム、および、記憶装置システムの移行方法
JP2006119745A (ja) * 2004-10-19 2006-05-11 Hitachi Ltd コンピュータシステム及びコンピュータシステムの制御方法
JP2007122531A (ja) * 2005-10-31 2007-05-17 Hitachi Ltd 負荷分散システム及び方法
JP4813872B2 (ja) * 2005-11-21 2011-11-09 株式会社日立製作所 計算機システム及び計算機システムのデータ複製方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141798A (ja) * 1992-08-21 1995-06-02 Mitsubishi Electric Corp ディジタル・データ複写方法および映像記録装置
JPH07249263A (ja) * 1994-03-08 1995-09-26 Sony Corp 情報信号の内容情報複製方式
JP2002007304A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法
JP2003162379A (ja) * 2001-11-28 2003-06-06 Nec Corp 磁気テープアレイ制御装置及びこれによる書き込みデータの復旧方法
JP2004030254A (ja) * 2002-06-26 2004-01-29 Hitachi Ltd リモートsi制御方式
JP2004118406A (ja) * 2002-09-25 2004-04-15 Hitachi Ltd ディスクアレイ装置、及びその制御方法
JP2005018509A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd 記憶システム、バックアップシステム及びバックアップ方法
JP2006011581A (ja) * 2004-06-23 2006-01-12 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
JP2006059260A (ja) * 2004-08-23 2006-03-02 Hitachi Ltd 情報処理システム、管理計算機及びリモートコピー方法

Also Published As

Publication number Publication date
CN101059781A (zh) 2007-10-24
JP5385508B2 (ja) 2014-01-08
US9383938B2 (en) 2016-07-05
US20080005412A1 (en) 2008-01-03
CN100541462C (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
US10606715B2 (en) Efficient high availability for a SCSI target over a fibre channel
US7930497B2 (en) Using multiple sidefiles to buffer writes to primary storage volumes to transfer to corresponding secondary storage volumes in a mirror relationship
US7971011B2 (en) Remote copy method and storage system
US9304901B2 (en) System and method for handling I/O write requests
US8521685B1 (en) Background movement of data between nodes in a storage cluster
US6148414A (en) Methods and systems for implementing shared disk array management functions
US7266706B2 (en) Methods and systems for implementing shared disk array management functions
US7971013B2 (en) Compensating for write speed differences between mirroring storage devices by striping
JP4931581B2 (ja) オープン・システム環境用のテープ・ストレージ・エミュレーション
US9715433B2 (en) Reconciliation in sync replication
US9229829B2 (en) Synchronous mode replication to multiple clusters
US9734028B2 (en) Reverse resynchronization by a secondary data source when a data destination has more recent data
JP2006227964A (ja) ストレージシステム、処理方法及びプログラム
JP2012507788A (ja) ストレージ・エリア・ネットワークを使用してコンピュータシステムを復旧するための方法およびシステム
US10585763B2 (en) Rebuild rollback support in distributed SDS systems
US10007467B2 (en) Storage system
JP5385508B2 (ja) シーケンシャル・アクセス・データ・ストレージ・デバイスのセカンダリ通信ポートを使用して入出力操作を移送する方法、装置、およびプログラム
US8972634B2 (en) Storage system and data transfer method
US10289501B2 (en) Storage aggregate restoration
US11249667B2 (en) Storage performance enhancement
JPH1074129A (ja) ディスクアレイ装置
US7447852B1 (en) System and method for message and error reporting for multiple concurrent extended copy commands to a single destination device
CN112748881B (zh) 一种面向虚拟化场景的存储容错方法和集群系统
JP5772443B2 (ja) ストレージ装置及びプログラム
US10331358B1 (en) High performance and low-latency replication using storage mirroring

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120229

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120301

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120906

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120913

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20121214

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131004

R150 Certificate of patent or registration of utility model

Ref document number: 5385508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees