JP4916714B2 - ストレージ・アクセス要求を処理するための方法およびプログラム - Google Patents

ストレージ・アクセス要求を処理するための方法およびプログラム Download PDF

Info

Publication number
JP4916714B2
JP4916714B2 JP2005367652A JP2005367652A JP4916714B2 JP 4916714 B2 JP4916714 B2 JP 4916714B2 JP 2005367652 A JP2005367652 A JP 2005367652A JP 2005367652 A JP2005367652 A JP 2005367652A JP 4916714 B2 JP4916714 B2 JP 4916714B2
Authority
JP
Japan
Prior art keywords
control unit
storage control
controller
request
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005367652A
Other languages
English (en)
Other versions
JP2006195977A (ja
Inventor
ケネス・ウェイン・ボイド
ケネス・フェアクロー・デイIii世
チャールズ・ウィリアム・リッケル
ジョン・ジェイ・ウォルフガング
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 JP2006195977A publication Critical patent/JP2006195977A/ja
Application granted granted Critical
Publication of JP4916714B2 publication Critical patent/JP4916714B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques

Landscapes

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

Description

本発明は、ストレージ・アクセス要求をリダイレクトするための方法、システム、および製品(article of manufacture)に関する。
ホスト・サーバは、1次ストレージ・コントローラの障害の場合に、バックアップまたは2次ストレージ・コントローラに対してデータ・アクセス動作を実行し続けることができる。たとえば、IBMの*HyperSwap*構成では、ホスト・サーバは1次および2次ストレージ・コントローラにアクセスすることができる。(IBMおよびHyperSwapはインターナショナル・ビジネス・マシーンズ社の商標または登録商標である。)ホスト・サーバは1次ストレージ・コントローラに対してすべてのストレージ・アクセスを振り向けることができ、2つのストレージ・コントローラは、同一データが両方に保管されることを保証するために協力して動作することができる。ホスト・サーバ上のHyperSwapソフトウェアは、1次ストレージ・コントローラで障害が発生した時期を決定することができ、すべてのストレージ・アクセスを2次ストレージ・コントローラに自動的にリダイレクトすることができる。
1次および2次ストレージ・コントローラは、ピアツーピア・リモート・コピー(PPRC:Peer-to-Peer Remote Copy)機能を使用して、1次ストレージ・コントローラから2次ストレージ・コントローラにデータをコピーすることができる。PPRC用の同期タイプの動作、すなわち、同期PPRCでは、1次ストレージ・コントローラ側のローカル・ストレージ・ボリュームに対してホスト・アプリケーションによって実行される更新は、2次ストレージ・コントローラ側のリモート・ストレージ・ボリュームに対して同期的にシャドーイングされる。同期PPRCは同期コピー・ソリューションであるので、ホスト・アプリケーションに関して書込みが完了したと見なされるよりも前での、両方のコピー(ローカルおよびリモート・ストレージ・ボリューム)についての書込み更新が保証される。同期PPRCでは、ローカルおよびリモート・ボリュームの両方で更新が同期的に実行されるまで、ホスト・アプリケーションは「書込み完了」条件を取得しない。したがって、ホスト・サーバ上のホスト・アプリケーションの見地から見ると、2次ストレージ・コントローラ側のリモート・ボリュームのデータは1次ストレージ・コントローラ側のローカル・ボリュームのデータと同等であり、障害のある1次ストレージ・コントローラの代わりに2次ストレージ・コントローラを使用することができる。
本発明は、コントローラが複数のホストのうちの1つから要求を受信する方法、システム、および製品を提供する。
コントローラは、そのコントローラに結合された1次ストレージ・コントロール・ユニットが動作可能(operational)であるかどうかを判定する。1次ストレージ・コントロール・ユニットが動作可能であると判定したことに応答して、1次ストレージ・コントロール・ユニットにアクセスすることにより、応答が生成される。この応答は、1次ストレージ・コントロール・ユニットが動作可能ではないと判定したことに応答して、2次ストレージ・コントローラにアクセスすることにより生成され、データは1次ストレージ・コントロール・ユニットから2次ストレージ・コントロール・ユニットに同期的に複製される。
特定の諸実施形態では、コントローラはキャッシュを含み、書込みキャッシュ(write caching)がコントローラ内で使用可能(enabled)であるかどうかの判定が行われる。2次ストレージ・コントロール・ユニットにアクセスすることにより応答を生成する前に、2次ストレージ・コントロール・ユニットはキャッシュの内容で更新される。
追加の諸実施形態では、コントローラはキャッシュを含み、書込みキャッシュはコントローラ内で使用可能であり、要求は書込み要求であり、書込み要求を受信したことに応答して、データがキャッシュに書き込まれる。そこから書込み要求が受信された複数のホストのうちの1つに対して応答が行われ、その応答は書込み要求が実行されたことを示し、キャッシュに書き込まれたデータは、1次ストレージ・コントロール・ユニットが動作可能であると判定したことに応答して1次ストレージ・コントロール・ユニットに、1次ストレージ・コントロール・ユニットが動作可能ではないと判定したことに応答して2次ストレージ・コントロール・ユニットに、定期的にデステージされる。
他の諸実施形態では、複数のホストは、どのストレージ・コントロール・ユニットがそのホストからの要求を満足するかを複数のホストに対して示す通知なしに動作する。
さらに他の諸実施形態では、コントローラはキャッシュを含み、書込みキャッシュは使用可能であり、要求は読取り要求であり、読取り要求をキャッシュから満足できると判定したことに応答して、読取り要求はキャッシュから満足される。読取り要求をキャッシュから満足できないと判定したことに応答して、1次ストレージ・コントロール・ユニットが動作可能である場合に読取り要求は1次ストレージ・コントロール・ユニットから満足される。1次ストレージ・コントロール・ユニットが動作可能ではない場合に2次ストレージ・コントロール・ユニットはキャッシュの内容で更新される。2次ストレージ・コントロール・ユニットの更新の後で読取り要求は2次ストレージ・コントロール・ユニットから満足される。
さらに他の諸実施形態では、1次ストレージ・コントロール・ユニットに対する更新が2次ストレージ・コントロール・ユニットにコピーされた後で1次ストレージ・コントロール・ユニットを介してコントローラに完了通知を送信することにより、データは1次ストレージ・コントロール・ユニットと2次ストレージ・コントロール・ユニットとの間で同期的に複製され、データが同期的に複製された後で1次ストレージ・コントロール・ユニットおよび2次ストレージ・コントロール・ユニットは同一データを含む。
追加の諸実施形態では、複数のオペレーティング・システムは複数のホスト上で実行され、コントローラ内の単一アプリケーションは複数のホストが1次ストレージ・コントロール・ユニットおよび2次ストレージ・コントロール・ユニットに保管されたデータにアクセスできるようにし、1次ストレージ・コントロール・ユニットが動作可能である場合に1次ストレージ・コントロール・ユニットは複数のホストによって生成されたデータ転送要求を処理するために使用可能である。
さらに追加の諸実施形態では、コントローラは、1次および2次ストレージ・コントロール・ユニット内のストレージ・ボリュームを制御するストレージ・エリア・ネットワーク・ボリューム・コントローラであり、1次ストレージ・コントロール・ユニットは1次ストレージ・コントローラであり、2次ストレージ・コントロール・ユニットは2次ストレージ・コントローラであり、ストレージ・エリア・ネットワーク・ボリューム・コントローラ上のリダイレクト・アプリケーションは、受信、判定、1次ストレージ・コントローラにアクセスすることによる応答生成、および2次ストレージ・コントローラにアクセスすることによる応答生成を実行する。
次に図面を参照すると、同様の参照番号は図面全体を通して対応する部分を表している。
以下の説明では、本明細書の一部を形成し、いくつかの諸実施形態を図示する添付図面を参照する。その他の諸実施形態を使用することができ、構造上および動作上の変更を行うことができることは言うまでもない。
図1は、複数のホスト102a、102b、・・・、102nと、リダイレクト・コントローラ104と、1次ストレージ・コントローラ106と、2次ストレージ・コントローラ108とを含むコンピューティング環境100を示している。特定の諸実施形態では、ホスト102a・・・102nはデータ・インターフェース・チャネル110a、110b、・・・、110nを介してリダイレクト・コントローラ104に結合され、リダイレクト・コントローラ104はデータ・インターフェース・チャネル112、114を介して1次および2次ストレージ・コントローラ106、108に結合されている。データ・インターフェース・チャネル110a・・・110n、112、114は、エンタープライズ・システム接続(ESCON)*チャネルまたはファイバ・チャネル、ストレージ・エリア・ネットワーク(SAN)相互接続などの任意のその他の適切なデータ・インターフェース・メカニズムを含むことができる。(ESCONはインターナショナル・ビジネス・マシーンズ社の商標または登録商標である。)
ホスト102a・・・102nは、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、ハンドヘルド・コンピュータ、パームトップ・コンピュータ、電話通信装置、ブレード・コンピュータ、ネットワーク・アプライアンスなど、当技術分野で現在知られているものを含む、任意の適切な計算装置を有することができる。ホスト102a・・・102nは、IBMのOS/390*オペレーティング・システム、Microsoft*のWindows*オペレーティング・システムなどの任意の適切なオペレーティング・システム(図示せず)を含むことができる。(OS/390はインターナショナル・ビジネス・マシーンズ社の商標または登録商標であり、MicrosoftおよびWindowsはマイクロソフト社の商標または登録商標である。)また、ホスト102a・・・102nは、リダイレクト・コントローラ104に入出力(I/O)要求を送信するホスト・アプリケーション116a、116b、・・・、116nも含むことができる。
リダイレクト・コントローラ104は、計算装置、コントローラ、IBMのTotalStorage* SANボリューム・コントローラ、アプライアンスなど、当技術分野で現在知られているものを含む、任意の適切なデバイスを有することができる。(TotalStorageはインターナショナル・ビジネス・マシーンズ社の商標または登録商標である。)リダイレクト・コントローラ104は、リダイレクト・アプリケーション118とキャッシュ120とを含むことができる。リダイレクト・アプリケーション118は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せで実現することができる。
リダイレクト・アプリケーション118は、ホスト・アプリケーション116a・・・116nから入出力要求を受信し、1次ストレージ・コントローラ106にアクセスすることにより受信した入出力要求に応答することができる。1次ストレージ・コントローラ106の障害の場合、リダイレクト・アプリケーション118は、2次ストレージ・コントローラ108にアクセスすることにより受信した入出力要求に応答することができる。
1次および2次ストレージ・コントローラ106、108は、互いに同期通信距離の範囲内にある可能性がある。2つのストレージ・コントローラ間の同期通信距離は、2つのストレージ・コントローラ間で同期通信が実行可能な距離である。ストレージ・コントローラ106、108、すなわち、ストレージ・コントロール・ユニットはストレージ・ボリューム(図示せず)を制御し、ストレージ・ボリュームは、直接アクセス・ストレージ・デバイス(DASD)、1つまたは複数の冗長ディスク・アレイ(RAID)、単純ディスク束(JBOD)、または当技術分野で知られている任意の他のデータ・リポジトリ・システムとして構成することができる。
データ・インターフェース・チャネル122は、1次ストレージ・コントローラ106を2次ストレージ・コントローラ108に結合することができる。1次ストレージ・コントローラ106内のデータは2次ストレージ・コントローラ108に同期的にコピーすることができる(参照番号124)。同期コピーの結果として、1次ストレージ・コントローラ106によって制御されるデータに対する変更が2次ストレージ・コントローラ108にコピーされるまで、リダイレクト・アプリケーション118から1次ストレージ・コントローラ106への要求は完了しない。特定の諸実施形態では、データを同期的にコピーする同期コピー動作124は同期PPRC動作にすることができる。
図1は、リダイレクト・コントローラ104上のリダイレクト・アプリケーション118がホスト・アプリケーション116a・・・116nから動作可能な1次ストレージ・コントローラ106に入出力要求をリダイレクトする、特定の諸実施形態を示している。1次ストレージ・コントローラ106が動作可能ではない場合、リダイレクト・アプリケーション118はホスト・アプリケーション116a・・・116nから2次ストレージ・コントローラ108に入出力要求をリダイレクトする。特定の諸実施形態では、複数のオペレーティング・システムは複数のホスト102a・・・102n上で実行され、リダイレクト・コントローラ104内の単一リダイレクト・アプリケーション118は複数のホスト102a・・・102nが1次ストレージ・コントローラ106および2次ストレージ・コントローラ108に保管されたデータにアクセスできるようにする。
図2は、特定の諸実施形態により、書込みキャッシュがリダイレクト・コントローラ104内で使用不可(disabled)であるときにストレージ・アクセスをリダイレクトするための動作を示している。特定の諸実施形態では、この動作はリダイレクト・アプリケーション118で実現することができる。
特定の諸実施形態では、書込みキャッシュはリダイレクト・コントローラ104内で使用不可である。書込みキャッシュの使用不可化(disablement)は、リダイレクト・アプリケーション118によるかまたは他のアプリケーションにより実行することができる。書込みキャッシュが使用不可であるときに、リダイレクト・アプリケーション118は、動作可能な1次ストレージ・コントローラ106に書き込むことにより、ホスト・アプリケーション116a・・・116nから受信した書込み動作を実行する。1次ストレージ・コントローラ106が動作可能ではない場合、リダイレクト・アプリケーション118は、2次ストレージ・コントローラ108に書き込むことにより、書込み動作を実行する。書込みキャッシュが使用不可であるときに、キャッシュ120は書込み動作を実行するために使用されない。
制御はブロック200から始まり、そこで書込みキャッシュが使用不可であると判定されたときに、リダイレクト・アプリケーション118はホスト・アプリケーション116a・・・116nのうちの1つから入出力要求を受信する。リダイレクト・アプリケーション118は(ブロック202で)、1次ストレージ・コントローラ106が動作可能であるかどうか、すなわち、1次ストレージ・コントローラ106に障害が発生していないかどうかを判定する。
1次ストレージ・コントローラ106が動作可能であるとリダイレクト・アプリケーション118が(ブロック202で)判定した場合、リダイレクト・アプリケーション118は(ブロック204で)実行のために1次ストレージ・コントローラ106に入出力要求を送信する。たとえば、書込み要求は1次ストレージ・コントローラ106によって制御されるストレージ・ボリュームにデータを書き込むことができ、読取り要求は1次ストレージ・コントローラ106によって制御されるストレージ・ボリュームからデータを読み取ることができる。
リダイレクト・アプリケーション118は(ブロック206で)1次ストレージ・コントローラ106から応答を受信し、その応答は送信された要求の実行の結果である。たとえば、その応答は、読取り要求によって要求されたデータを提供することができる。1次ストレージ・コントローラ106は2次ストレージ・コントローラ108と同期PPRC関係にあるので、1次および2次ストレージ・コントローラ106、108内のデータが同一になった後でのみ、応答がリダイレクト・アプリケーション118によって受信される。
リダイレクト・アプリケーション118は(ブロック208で)、そこからリダイレクト・アプリケーション118が入出力要求を受信したホスト・アプリケーションに応答を送信する。制御はブロック200に戻り、そこでリダイレクト・アプリケーション118はホスト・アプリケーション116a・・・116nのうちの1つから他の入出力要求を受信する。特定の諸実施形態では、ホスト・アプリケーション116a・・・116nからの入出力要求は処理のためにすでにリダイレクト・コントローラ104内にバッファリングされている可能性があり、制御はブロック202に移行する。
1次ストレージ・コントローラ106が動作可能ではないとリダイレクト・アプリケーション118が(ブロック202で)判定した場合、リダイレクト・アプリケーション118は(ブロック210で)実行のために2次ストレージ・コントローラ108に入出力要求を送信する。2次ストレージ・コントローラ108は入出力要求を処理し、リダイレクト・アプリケーション118は(ブロック212で)2次ストレージ・コントローラ108から応答を受信する。2次ストレージ・コントローラ108は1次ストレージ・コントローラの障害の時点で1次ストレージ・コントローラ106と同じデータを持っているので、2次ストレージ・コントローラ108からの応答は正確である。リダイレクト・アプリケーション118は(ブロック208で)、そこからリダイレクト・アプリケーション118が入出力要求を受信したホスト・アプリケーションに受信した応答を送信し、複数のホスト・アプリケーション116a・・・116nからの追加の入出力要求を処理するために制御はブロック200に戻る。特定の代替諸実施形態では、1次ストレージ・コントローラ106に障害が発生していない場合でも、2次ストレージ・コントローラ108に入出力要求を送信することができる。たとえば、特定の諸実施形態では、1次ストレージ・コントローラ106について保守またはその他のアクティビティが実行されている場合、1次ストレージ・コントローラ106にスイッチバックする前のある期間の間、2次ストレージ・コントローラ108からデータを供給することができる。ホスト・アプリケーション116a・・・116nのうちの1つまたは複数によって生成された入出力要求を処理するために1次ストレージ・コントローラが使用可能であるときに、1次ストレージ・コントローラ106は動作可能であると見なすことができる。
図2は、リダイレクト・アプリケーション118が複数のホスト102a・・・102nから入出力要求を受信し、1次ストレージ・コントローラ106が動作可能である場合に実行のために入出力要求を1次ストレージ・コントローラ106に振り向ける、一実施形態を示している。1次ストレージ・コントローラ106が動作可能ではない場合、1次ストレージ・コントローラ106の障害の時点で2次ストレージ・コントローラ108が1次ストレージ・コントローラ106と同期PPRC関係にあった場合、リダイレクト・アプリケーション118は実行のために入出力要求を2次ストレージ・コントローラ108に振り向ける。
図3は、特定の諸実施形態により、書込みキャッシュがリダイレクト・コントローラ104内で使用可能であるときにストレージ・アクセスをリダイレクトするための動作を示している。特定の諸実施形態では、この動作はリダイレクト・アプリケーション118で実現することができる。
特定の諸実施形態では、書込みキャッシュはリダイレクト・コントローラ104内で使用可能である。書込みキャッシュの使用可能化(enablement)は、リダイレクト・アプリケーション118によるかまたは他のアプリケーションにより実行することができる。書込みキャッシュが使用可能であるときに、リダイレクト・アプリケーション118は、書込み要求に応答して、キャッシュ120にデータを書き込むことができ、キャッシュ120に保管されたデータによりホスト・アプリケーション116a・・・116nからの特定の入出力要求に応答することができる。リダイレクト・アプリケーション118がキャッシュ120に保管されたデータにより入出力要求に応答できない場合、リダイレクト・アプリケーション118はその要求をストレージ・コントローラに転送することができる。キャッシュ120内のデータは、入出力要求を満足するためにリダイレクト・アプリケーション118によって使用されるストレージ・コントローラに定期的間隔でデステージされる。ストレージ・コントローラへのキャッシュ120内のデータのデステージは、ストレージ・コントローラによって制御されるボリュームにキャッシュ120の内容をコピーまたは移動することを含むことができる。ストレージ・コントローラ106、108からのデータを保護することとは対照的に、データがキャッシュ120内で使用可能であるときに応答をより高速で生成することができるので、書込みキャッシュの使用可能化の結果、ホスト102a・・・102nからの入出力要求に対する応答がより高速になる可能性がある。
制御はブロック300から始まり、そこで書込みキャッシュが使用可能であると判定されたときに、リダイレクト・アプリケーション118は複数のホスト・アプリケーション116a・・・116nのうちの1つから入出力要求を受信する。リダイレクト・アプリケーション118は(ブロック302で)、入出力要求が書込み要求であるかどうかを判定する。そうである場合、リダイレクト・アプリケーション118は(ブロック304で)書込み要求に対応するデータをキャッシュ120に書き込み、制御はブロック300に戻り、そこでホスト102a・・・102nからの次の入出力要求が処理される。定期的に(参照番号306)、リダイレクト・アプリケーション118または他の何らかのアプリケーションのいずれか一方が(ブロック308で)デステージ動作を実行し、そこで実行のためにリダイレクト・アプリケーション118によってそれに対して入出力要求が転送されているストレージ・コントローラにキャッシュ120の内容の一部または全部が書き込まれる。
入出力要求が書き込み要求ではないとリダイレクト・アプリケーション118が(ブロック302で)判定した場合、リダイレクト・アプリケーション118は(ブロック310で)要求がキャッシュ120から満足できるかどうか、すなわち、要求を処理するためのデータがキャッシュ120内で使用可能であるかどうかを判定する。そうである場合、リダイレクト・アプリケーション118は(ブロック312で)キャッシュ120に保管されたデータを使用することにより、そこから入出力要求が受信されたホスト・アプリケーションに対する応答を生成する。したがって、そのデータがキャッシュ120内で使用可能である読取り要求は、キャッシュ120を使用することによって満足される。
入出力要求がキャッシュ120から満足できないとリダイレクト・アプリケーション118が(ブロック310で)判定した場合、リダイレクト・アプリケーション118は(ブロック314で)1次ストレージ・コントローラ106が動作可能であるかどうかを判定する。
1次ストレージ・コントローラ106が動作可能であるとリダイレクト・アプリケーション118が(ブロック314で)判定した場合、リダイレクト・アプリケーション118は(ブロック316で)実行のために1次ストレージ・コントローラ106に入出力要求を送信する。
リダイレクト・アプリケーション118は(ブロック318で)1次ストレージ・コントローラ106から応答を受信し、その応答は要求の実行の結果である。リダイレクト・アプリケーション118は(ブロック320で)、そこからリダイレクト・アプリケーション118が入出力要求を受信したホスト・アプリケーションに応答を送信する。1次ストレージ・コントローラ106は2次ストレージ・コントローラ108と同期PPRC関係にあるので、1次および2次ストレージ・コントローラ106、108内のデータが同一になった後でのみ、応答がリダイレクト・アプリケーション118によって受信される。制御はブロック300に戻り、そこでリダイレクト・アプリケーション118はホスト・アプリケーション116a・・・116nのうちの1つから他の入出力要求を受信する。
1次ストレージ・コントローラ106が動作可能ではないとリダイレクト・アプリケーション118が(ブロック314で)判定した場合、リダイレクト・アプリケーション118は(ブロック322で)キャッシュ120の内容で2次ストレージ・コントローラ108を更新する。1次ストレージ・コントローラ106の障害の時点で1次および2次ストレージ・コントローラ106、108が同期PPRC関係にあるが、キャッシュ120内のデータは1次ストレージ・コントローラ106にデステージされていない可能性がある。したがって、2次ストレージ・コントローラ108側で入出力要求を処理する前に、キャッシュ120の内容を使用して、2次ストレージ・コントローラ108のストレージ・ボリュームを更新しなければならない。
リダイレクト・アプリケーション118は(ブロック324で)実行のために2次ストレージ・コントローラ108に入出力要求を送信する。2次ストレージ・コントローラ108は入出力要求を処理し、リダイレクト・アプリケーション118は(ブロック326で)2次ストレージ・コントローラ108から応答を受信する。2次ストレージ・コントローラ108は、1次ストレージ・コントローラの障害の時点で1次ストレージ・コントローラ106と同じデータを有し、1次ストレージ・コントローラ106の障害の時点のキャッシュ120の内容を有するので、2次ストレージ・コントローラ108からの応答は正確である。リダイレクト・アプリケーション118は(ブロック320で)、そこからリダイレクト・アプリケーション118が入出力要求を受信したホスト・アプリケーションに受信した応答を送信し、複数のホスト・アプリケーション116a・・・116nからの追加の入出力要求を処理するために制御はブロック300に戻る。
図3は、リダイレクト・コントローラ104がキャッシュ120を含み、書込みキャッシュがリダイレクト・コントローラ104内で使用可能である一実施形態を示している。1次および2次ストレージ・コントローラ106、108が同期PPRC関係に保持されているだけでなく、1次ストレージ・コントローラ106の障害の場合に、実行のために2次ストレージ・コントローラ108に入出力要求を送信する前に、2次ストレージ・コントローラ108がキャッシュ120の内容で更新される。
特定の諸実施形態では、障害のある1次ストレージ・コントローラ106が動作可能になると、ストレージ・コントローラ106、108は2次ストレージ・コントローラ108から1次ストレージ・コントローラ106への任意の更新データを同期させることができ、リダイレクト・コントローラ104は、入出力要求を満足するためにもう一度、1次ストレージ・コントローラ106を使用し始めることができる。
特定の諸実施形態では、複数のホスト102a・・・102nを単一リダイレクト・コントローラ104によって同時に処理することができ、その単一リダイレクト・コントローラ104は複数のホスト102a・・・102nからの入出力要求をストレージ・コントローラ106、108にリダイレクトする。したがって、複数のホスト102a・・・102nのために、種々のオペレーティング・システムに適合された複数バージョンのリダイレクト・アプリケーション118は不要である。ホスト102a・・・102n上のオペレーティング・システムが同一である場合でも、リダイレクト・コントローラ104がない場合、各ホストは、ストレージ・コントローラ106、108により直接入出力要求を実行するためにインストール済みアプリケーションが必要になるであろう。したがって、特定の諸実施形態は、単一リダイレクト・アプリケーション118が複数のホスト102a・・・102nからの入出力要求を処理できることを保証する。特定の諸実施形態では、ストレージ・コントローラ106、108により入出力動作を実行するために、リダイレクト・アプリケーション118上にプログラムを1回インストールするだけで十分である。
特定の諸実施形態では、複数のホスト102a・・・102nは、どのストレージ・コントローラ106、108が複数のホスト102a・・・102nからの入出力要求を満足するかを示す任意の通知を受信せずに動作する。したがって、1次ストレージ・コントローラ106の障害は、複数のホスト102a・・・102nではなくリダイレクト・コントローラ104によって処理される。
特定の諸実施形態では、リダイレクト・コントローラ104は、IBMのTotalStorage SANボリューム・コントローラなどの特殊アプライアンスである。特定の諸実施形態では、このような特殊アプライアンスは、各ホストがストレージ・コントローラ106、108による入出力動作を直接実行するコンピューティング環境より、コンピューティング環境100のパフォーマンスを改善することができる。
特定の諸実施形態は、1次ストレージ・コントローラ106に障害が発生した場合でも、複数のホスト102a・・・102nからのすべてのデータ・アクセスを受信し満足し続けるリダイレクト・コントローラ104を提供する。書込みキャッシュがリダイレクト・コントローラ104内で使用可能であるかどうかに基づいて、リダイレクト・コントローラ104は異なる動作を実行することができる。複数のホスト102a・・・102nは、1次ストレージ・コントローラ106の障害からの回復方法を把握している必要はない。したがって、ストレージ・コントローラの障害の場合でも、複数のホスト102a・・・102nのうちのいずれについても再構成は不要である。
追加の実施形態の詳細
上述の技法は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア、またはそれらの任意の組合せを伴う方法、装置、または製品として実現することができる。本明細書で使用する「製品」という用語は、回路(たとえば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、ASICなど)あるいはコンピュータ可読媒体(たとえば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープなどの磁気記憶媒体)、光ディスク・ストレージ(たとえば、CD−ROM、DVD−ROM、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえば、電気的消去可能プログラマブル読取り専用メモリ(EEPROM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、ランダム・アクセス・メモリ(RAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、フラッシュ、ファームウェア、プログラマブル・ロジックなど)またはそれらの組合せで実現されたプログラム命令、コード、あるいは論理またはそれらの組合せを指す。コンピュータ可読媒体内のコードは、プロセッサなどのマシンによってアクセスおよび実行することができる。特定の諸実施形態では、諸実施形態がなされるコードはさらに、伝送媒体によるかまたはネットワークを介してファイル・サーバからアクセス可能なものにすることができる。このようなケースでは、コードが実現される製品は、ネットワーク伝送回線、ワイヤレス伝送媒体、空間を伝搬する信号、電波、赤外線信号などの伝送媒体を有することができる。当然のことながら、当業者であれば、諸実施形態の範囲を逸脱せずに多くの変更を行うことができ、製品は当技術分野で知られている任意の情報伝送媒体を有することができることを認識するであろう。たとえば、製品は、マシンによって実行されたときに結果的に動作が実行される命令をそこに保管している記憶媒体を有する。
図4は、特定の諸実施形態を実現することができるシステム400のブロック図を示している。特定の諸実施形態では、リダイレクト・コントローラ104、ホスト102a・・・102n、およびストレージ・コントローラ106、108は、システム400により実現することができる。システム400は、特定の諸実施形態ではプロセッサ404を含む可能性がある回路402を含むことができる。また、システム400は、メモリ406(たとえば、RAMなどの揮発性メモリ・デバイス)およびストレージ408も含むことができる。システム400の特定の要素は、リダイレクト・コントローラ104、ホスト102a・・・102n、およびストレージ・コントローラ106、108に見られる場合もあれば見られない場合もある。ストレージ408は、不揮発性メモリ・デバイス(たとえば、EEPROM、ROM、PROM、フラッシュ、ファームウェア、プログラマブル・ロジックなど)、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなどを含むことができる。ストレージ408は、内部ストレージ・デバイス、付加ストレージ・デバイス、あるいはネットワーク・アクセス可能ストレージ・デバイス、またはこれらの組合せを有することができる。システム400は、メモリ406内にロードし、プロセッサ404または回路402によって実行することができるコード412を含むプログラム・ロジック410を含むことができる。特定の諸実施形態では、コード412を含むプログラム・ロジック410はストレージ408に保管することができる。特定の他の諸実施形態では、プログラム・ロジック410は回路402で実現することができる。したがって、図4はプログラム・ロジック410を他の要素から分離して示しているが、プログラム・ロジック410はメモリ406あるいは回路402またはその両方で実現することができる。
特定の諸実施形態は、コンピューティング・システムにコンピュータ可読コードを統合する人または自動処理によりコンピューティング・インフラストラクチャを配備するための方法を対象とすることができ、そのコードはコンピューティング・システムと協力して、上述の諸実施形態の動作を実行するために使用可能である。
図2、図3の動作のうちの少なくともいくつかは、並行してならびに順次、実行することができる。代替諸実施形態では、その動作のいくつかは、異なる順序で実行するか、変更または除去することもできる。
さらに、ソフトウェア、ハードウェア、およびファームウェア・コンポーネントの多くは、例示のために個別のモジュールとして記載されている。このようなコンポーネントは、より少数のコンポーネントに統合するかまたはより多数のコンポーネントに分割することができる。さらに、特定のコンポーネントによって実行されるものとして記載されている特定の動作は他のコンポーネントによって実行することができる。
図1〜4に図示し参照されているデータ構造およびコンポーネントは、特定のタイプの情報を有するものとして記載されている。代替諸実施形態では、このデータ構造およびコンポーネントは、異なるように構造化することができ、これらの図に図示し参照されているものより少数あるいは多数またはそれらとは異なるフィールドまたは異なる機能を有することができる。
したがって、上記の諸実施形態の記述は、例示および説明のために提示されたものである。これは、網羅的なものではなく、開示された正確な形式に諸実施形態を限定するためのものでもない。上記の教示を考慮すると、多くの変更および変形が可能である。
特定の諸実施形態によるコンピューティング環境のブロック図である。 特定の諸実施形態により、書込みキャッシュがリダイレクト・コントローラ内で使用不可であるときにストレージ・アクセスをリダイレクトするための動作を示す図である。 特定の諸実施形態により、書込みキャッシュがリダイレクト・コントローラ内で使用可能であるときにストレージ・アクセスをリダイレクトするための動作を示す図である。 特定の諸実施形態が実現される例示的なシステムを示す図である。
符号の説明
100:コンピューティング環境
102a:ホスト
102b:ホスト
102n:ホスト
104:リダイレクト・コントローラ(コントローラ、計算装置、SANボリューム・コントローラ、アプライアンスなど)
106:1次ストレージ・コントローラ(1次ストレージ・コントロール・ユニット)
108:2次ストレージ・コントローラ(2次ストレージ・コントロール・ユニット)
110a:データ・インターフェース・チャネル
110b:データ・インターフェース・チャネル
110n:データ・インターフェース・チャネル
112:データ・インターフェース・チャネル
114:データ・インターフェース・チャネル
116a:ホスト・アプリケーション
116b:ホスト・アプリケーション
116n:ホスト・アプリケーション
118:リダイレクト・アプリケーション
120:キャッシュ
122:データ・インターフェース・チャネル
124:同期コピー動作

Claims (7)

  1. ストレージ・アクセス要求を処理するための方法であって、
    (A)コントローラで、複数のホストのうちの1つのホストからストレージ・アクセス要求を受信するステップを有し、
    前記コントローラが、1次ストレージ・コントロール・ユニットおよび2次ストレージ・コントロール・ユニットに結合され、前記コントローラが、前記1次および前記2次ストレージ・コントロール・ユニット内のストレージ・ボリュームを制御するストレージ・エリア・ネットワーク・ボリューム・コントローラであり、前記コントローラが、キャッシュを含み、前記1次ストレージ・コントロール・ユニットに対する更新が前記2次ストレージ・コントロール・ユニットにコピーされた後で、前記1次ストレージ・コントロール・ユニットにより、前記コントローラに完了通知を送信することで、データが、前記1次ストレージ・コントロール・ユニットと前記2次ストレージ・コントロール・ユニットとの間で同期的に複製され、前記データが同期的に複製された後で、前記1次ストレージ・コントロール・ユニットおよび前記2次ストレージ・コントロール・ユニットが同一データを含んでおり、
    (B)書込みキャッシュが前記コントローラ内で使用可能であるかどうかを判定するステップと、
    (C)書込みキャッシュが前記コントローラ内で使用不可であると判定したことに応答して、前記1次ストレージ・コントロール・ユニットが動作可能である場合は、前記要求を前記1次ストレージ・コントロール・ユニットに送信し、前記1次ストレージ・コントロール・ユニットが動作可能ではない場合は、前記要求を前記2次ストレージ・コントロール・ユニットに送信するステップと、
    (D)書込みキャッシュが前記コントローラ内で使用可能であると判定したことに応答して、前記要求が書込み要求である場合は、(a)前記書込み要求を受信したことに応答して、前記データを前記キャッシュに書き込むとともに、(b)前記書込み要求の発信元である前記1つのホストに対して、前記書込み要求が実行されたことを応答するステップとをさらに有し、
    前記キャッシュに書き込まれた前記データが、(i)前記1次ストレージ・コントロール・ユニットが動作可能である場合は、前記1次ストレージ・コントロール・ユニットに定期的にデステージされ、(ii)前記1次ストレージ・コントロール・ユニットが動作可能ではない場合は、前記2次ストレージ・コントロール・ユニットに定期的にデステージされるようにした、方法。
  2. 書込みキャッシュが前記コントローラ内で使用可能であると判定したことに応答して、前記2次ストレージ・コントロール・ユニットにアクセスすることにより前記応答を生成する前に、前記2次ストレージ・コントロール・ユニットを前記キャッシュの内容で更新するステップをさらに有する、請求項1に記載の方法。
  3. 前記複数のホストが、どのストレージ・コントロール・ユニットが前記ホストからの要求を満足するかを前記複数のホストに対して示す通知なしに動作する、請求項1に記載の方法。
  4. 書込みキャッシュが前記コントローラ内で使用可能であると判定され且つ前記要求が読取り要求である場合は、
    前記読取り要求を前記キャッシュから満足できると判定したことに応答して、前記読取り要求を前記キャッシュから満足するステップと、
    前記読取り要求を前記キャッシュから満足できないと判定され且つ前記1次ストレージ・コントロール・ユニットが動作可能である場合は、前記読取り要求を前記1次ストレージ・コントロール・ユニットから満足するステップと、
    前記読取り要求を前記キャッシュから満足できないと判定され且つ前記1次ストレージ・コントロール・ユニットが動作可能ではない場合は、前記2次ストレージ・コントロール・ユニットを前記キャッシュの内容で更新するステップと、
    前記2次ストレージ・コントロール・ユニットの更新の後で、前記読取り要求を前記2次ストレージ・コントロール・ユニットから満足するステップとをさらに有する、請求項1に記載の方法。
  5. 複数のオペレーティング・システムが前記複数のホスト上で実行され、前記コントローラ上の単一のリダイレクト・アプリケーションにより、前記複数のホストが前記1次ストレージ・コントロール・ユニットおよび前記2次ストレージ・コントロール・ユニットに保管されたデータにアクセスできるようにし、前記1次ストレージ・コントロール・ユニットが動作可能である場合は、前記1次ストレージ・コントロール・ユニットが前記複数のホストによって発信されたストレージ・アクセス要求を処理するために使用可能である、請求項1に記載の方法。
  6. 前記1次ストレージ・コントロール・ユニットが、1次ストレージ・コントローラであり、前記2次ストレージ・コントロール・ユニットが、2次ストレージ・コントローラであり、前記コントローラ上のリダイレクト・アプリケーションが、前記ステップ(A)、前記ステップ(B)、前記ステップ(C)、および前記ステップ(D)を実行する、請求項1に記載の方法。
  7. 請求項1ないし請求項の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
JP2005367652A 2005-01-14 2005-12-21 ストレージ・アクセス要求を処理するための方法およびプログラム Expired - Fee Related JP4916714B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/035916 2005-01-14
US11/035,916 US7366846B2 (en) 2005-01-14 2005-01-14 Redirection of storage access requests

Publications (2)

Publication Number Publication Date
JP2006195977A JP2006195977A (ja) 2006-07-27
JP4916714B2 true JP4916714B2 (ja) 2012-04-18

Family

ID=36685284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005367652A Expired - Fee Related JP4916714B2 (ja) 2005-01-14 2005-12-21 ストレージ・アクセス要求を処理するための方法およびプログラム

Country Status (3)

Country Link
US (2) US7366846B2 (ja)
JP (1) JP4916714B2 (ja)
CN (1) CN100378679C (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7697554B1 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array by replacing virtual names
US7685395B1 (en) * 2005-12-27 2010-03-23 Emc Corporation Spanning virtual arrays across multiple physical storage arrays
US7697515B2 (en) 2005-12-27 2010-04-13 Emc Corporation On-line data migration of a logical/virtual storage array
US9348530B2 (en) 2005-12-27 2016-05-24 Emc Corporation Presentation of virtual arrays using n-port ID virtualization
JP2007272357A (ja) * 2006-03-30 2007-10-18 Toshiba Corp ストレージクラスタシステム、データ処理方法、及びプログラム
US8583861B1 (en) 2006-06-29 2013-11-12 Emc Corporation Presentation of management functionality of virtual arrays
US8539177B1 (en) 2006-06-29 2013-09-17 Emc Corporation Partitioning of a storage array into N-storage arrays using virtual array non-disruptive data migration
US8533408B1 (en) 2006-06-29 2013-09-10 Emc Corporation Consolidating N-storage arrays into one storage array using virtual array non-disruptive data migration
US8452928B1 (en) 2006-06-29 2013-05-28 Emc Corporation Virtual array non-disruptive migration of extended storage functionality
US7757059B1 (en) 2006-06-29 2010-07-13 Emc Corporation Virtual array non-disruptive management data migration
JP4861480B2 (ja) * 2006-09-22 2012-01-25 オーセ プリンティング システムズ ゲゼルシャフト ミット ベシュレンクテル ハフツング 印刷データの自動的な伝送、特に印刷ジョブのミラーリングのための方法及びシステム
US7930481B1 (en) 2006-12-18 2011-04-19 Symantec Operating Corporation Controlling cached write operations to storage arrays
US9098211B1 (en) 2007-06-29 2015-08-04 Emc Corporation System and method of non-disruptive data migration between a full storage array and one or more virtual arrays
US9063896B1 (en) 2007-06-29 2015-06-23 Emc Corporation System and method of non-disruptive data migration between virtual arrays of heterogeneous storage arrays
CN103176881B (zh) * 2007-08-28 2016-08-10 Commvault系统公司 如数据存储操作的自适应能耗管理的数据处理资源的能耗管理
CN101162960B (zh) * 2007-11-13 2012-03-07 中兴通讯股份有限公司 一种主备控制单元信号同步的方法
US8392610B2 (en) 2008-01-30 2013-03-05 International Business Machines Corporation Method, apparatus and system to dynamically manage logical path resources
US8996841B2 (en) * 2008-02-06 2015-03-31 Compellent Technologies Hypervolume data storage object and method of data storage
US8307240B2 (en) * 2008-12-15 2012-11-06 Netapp, Inc. Small computer system interface input output (SCSI IO) referral
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
CN102511031B (zh) * 2009-09-24 2015-11-25 国际商业机器公司 使用位图的数据存储
US9256367B2 (en) 2009-09-25 2016-02-09 International Business Machines Corporation Data storage and moving of relatively infrequently accessed data among storage of different types
US8793448B2 (en) * 2010-07-29 2014-07-29 International Business Machines Corporation Transparent data migration within a computing environment
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US8886596B2 (en) * 2010-10-11 2014-11-11 Sap Se Method for reorganizing or moving a database table
US9519555B2 (en) 2011-05-23 2016-12-13 Microsoft Technology Licensing, Llc Synchronous replication in a distributed storage environment
US9251021B2 (en) 2011-05-23 2016-02-02 Bradley Gene Calder Asynchronous replication in a distributed storage environment
US8707085B2 (en) 2011-06-30 2014-04-22 International Business Machines Corporation High availability data storage systems and methods
US8966172B2 (en) 2011-11-15 2015-02-24 Pavilion Data Systems, Inc. Processor agnostic data storage in a PCIE based shared storage enviroment
US8689044B2 (en) * 2011-11-16 2014-04-01 Hewlett-Packard Development Company, L.P. SAS host controller cache tracking
US8935476B2 (en) * 2012-01-17 2015-01-13 International Business Machines Corporation Managing caching of extents of tracks in a first cache, second cache and storage
US9652182B2 (en) 2012-01-31 2017-05-16 Pavilion Data Systems, Inc. Shareable virtual non-volatile storage device for a server
US8694826B2 (en) * 2012-02-29 2014-04-08 Hewlett-Packard Development Company, L.P. SAS host cache control
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US8909985B2 (en) * 2012-07-12 2014-12-09 International Business Machines Corporation Multiple hyperswap replication sessions
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
CN105446913B (zh) * 2014-09-29 2018-08-14 华为数字技术(成都)有限公司 一种数据访问方法及装置
US9565269B2 (en) 2014-11-04 2017-02-07 Pavilion Data Systems, Inc. Non-volatile memory express over ethernet
US9712619B2 (en) 2014-11-04 2017-07-18 Pavilion Data Systems, Inc. Virtual non-volatile memory express drive
US9542320B2 (en) * 2015-01-12 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Multi-node cache coherency with input output virtualization
US20220147365A1 (en) * 2015-01-21 2022-05-12 Pure Storage, Inc. Accelerating Segment Metadata Head Scans For Storage System Controller Failover
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
WO2017216887A1 (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 情報処理システム
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
CN108319432A (zh) * 2018-01-23 2018-07-24 维沃移动通信有限公司 一种应用运行方法及终端
US10372378B1 (en) * 2018-02-15 2019-08-06 Western Digital Technologies, Inc. Replacement data buffer pointers
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
CN111245873B (zh) * 2018-11-28 2023-09-05 北京京东尚科信息技术有限公司 服务降级方法、装置、设备及存储介质
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11366723B2 (en) 2019-04-30 2022-06-21 Commvault Systems, Inc. Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments
US11269734B2 (en) 2019-06-17 2022-03-08 Commvault Systems, Inc. Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US20210011816A1 (en) 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US11656792B2 (en) * 2021-06-29 2023-05-23 International Business Machines Corporation Mirroring data in write caches of a controller of a non-volatile memory

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051887A (en) * 1987-08-25 1991-09-24 International Business Machines Corporation Maintaining duplex-paired storage devices during gap processing using of a dual copy function
US5633999A (en) * 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US6304980B1 (en) * 1996-03-13 2001-10-16 International Business Machines Corporation Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device
US5870537A (en) * 1996-03-13 1999-02-09 International Business Machines Corporation Concurrent switch to shadowed device for storage controller and device errors
US5761705A (en) * 1996-04-04 1998-06-02 Symbios, Inc. Methods and structure for maintaining cache consistency in a RAID controller having redundant caches
US5996088A (en) * 1997-01-22 1999-11-30 Oracle Corporation High-speed database checkpointing through sequential I/O to disk
US6289419B1 (en) * 1998-03-06 2001-09-11 Sharp Kabushiki Kaisha Consistency control device merging updated memory blocks
JP3214452B2 (ja) * 1998-07-03 2001-10-02 日本電気株式会社 磁気ディスク制御装置
US6353878B1 (en) * 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US6128656A (en) * 1998-09-10 2000-10-03 Cisco Technology, Inc. System for updating selected part of configuration information stored in a memory of a network element depending on status of received state variable
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6725392B1 (en) * 1999-03-03 2004-04-20 Adaptec, Inc. Controller fault recovery system for a distributed file system
US6625750B1 (en) * 1999-11-16 2003-09-23 Emc Corporation Hardware and software failover services for a file server
US6615375B1 (en) * 2000-02-03 2003-09-02 International Business Machines Corporation Method and apparatus for tolerating unrecoverable errors in a multi-processor data processing system
US6735717B1 (en) * 2000-04-13 2004-05-11 Gnp Computers, Inc. Distributed computing system clustering model providing soft real-time responsiveness and continuous availability
US6567893B1 (en) * 2000-11-17 2003-05-20 International Business Machines Corporation System and method for distributed caching of objects using a publish and subscribe paradigm
EP1360796B1 (en) 2001-01-26 2009-12-23 American Power Conversion Corporation Method and system for a set of network appliances which can be connected to provide enhanced collaboration, scalability, and reliability
US6986018B2 (en) * 2001-06-26 2006-01-10 Microsoft Corporation Method and apparatus for selecting cache and proxy policy
US7197614B2 (en) * 2002-05-08 2007-03-27 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
US7181581B2 (en) * 2002-05-09 2007-02-20 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
US7814050B2 (en) * 2002-10-22 2010-10-12 Brocade Communications Systems, Inc. Disaster recovery
US20040205297A1 (en) * 2003-04-14 2004-10-14 Bearden Brian S. Method of cache collision avoidance in the presence of a periodic cache aging algorithm
US7185222B2 (en) * 2003-11-14 2007-02-27 International Business Machines Corporation Apparatus, system, and method for maintaining data in a storage array
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
US7461101B2 (en) * 2004-07-13 2008-12-02 International Business Machines Corporation Method for reducing data loss and unavailability by integrating multiple levels of a storage hierarchy
JP2006065697A (ja) * 2004-08-27 2006-03-09 Hitachi Ltd 記憶デバイス制御装置
JP4438582B2 (ja) * 2004-09-22 2010-03-24 株式会社日立製作所 データ移行方法

Also Published As

Publication number Publication date
CN1804810A (zh) 2006-07-19
JP2006195977A (ja) 2006-07-27
US20060161700A1 (en) 2006-07-20
CN100378679C (zh) 2008-04-02
US7788453B2 (en) 2010-08-31
US20080071999A1 (en) 2008-03-20
US7366846B2 (en) 2008-04-29

Similar Documents

Publication Publication Date Title
JP4916714B2 (ja) ストレージ・アクセス要求を処理するための方法およびプログラム
US8055865B2 (en) Managing write requests to data sets in a primary volume subject to being copied to a secondary volume
US7043665B2 (en) Method, system, and program for handling a failover to a remote storage location
US8209282B2 (en) Method, system, and article of manufacture for mirroring data at storage locations
US7251743B2 (en) Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller
US7133986B2 (en) Method, system, and program for forming a consistency group
US7137033B2 (en) Method, system, and program for synchronizing subtasks using sequence numbers
US7627775B2 (en) Managing failures in mirrored systems
DK3179359T3 (en) PROCEDURE FOR SENDING DATA, PROCEDURE FOR RECEIVING DATA AND STORAGE UNIT
US10146646B1 (en) Synchronizing RAID configuration changes across storage processors
US7822892B2 (en) Managing the copying of writes from primary storages to secondary storages across different networks
US20010049774A1 (en) Apparatus system and method for n-way raid controller having improved performance and fault tolerance
US7185157B2 (en) Method, system, and article of manufacture for generating a copy of a first and a second set of volumes in a third set of volumes
KR20060017789A (ko) 저장 장치 카피 방법, 시스템 및 제조품
US7376859B2 (en) Method, system, and article of manufacture for data replication
JP2005190455A (ja) 記憶制御装置及び記憶制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120104

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120125

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

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees