JP2007172643A - 動的リモートデータ機構 - Google Patents

動的リモートデータ機構 Download PDF

Info

Publication number
JP2007172643A
JP2007172643A JP2007032171A JP2007032171A JP2007172643A JP 2007172643 A JP2007172643 A JP 2007172643A JP 2007032171 A JP2007032171 A JP 2007032171A JP 2007032171 A JP2007032171 A JP 2007032171A JP 2007172643 A JP2007172643 A JP 2007172643A
Authority
JP
Japan
Prior art keywords
volume
data
source volume
destination
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007032171A
Other languages
English (en)
Inventor
Mark J Halstead
ジェイ. ハルステッド マーク
Dan Arnon
アーノン ダン
Adi Ofer
オフェル アディ
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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Publication of JP2007172643A publication Critical patent/JP2007172643A/ja
Pending legal-status Critical Current

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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • 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
    • 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
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

【課題】RDF(リモートデータ機構)の構成の変更プロセスを自動化して、ホストがRDFの構成を修正できるようにする。
【解決手段】第1の記憶装置上の第1のボリュームと第2の記憶装置上のミラーリングされた第2のボリュームとの間の通信路を反転した後に、ミラーリングされたデータにアクセスする方法は、ミラーリングされたデータの同期化に先立ってそのデータへのアクセスを許すことと、ミラーリングされたデータの初期バージョンが第1のボリューム上にある場合に、第1のボリューム上のそのデータにアクセスすることと、初期バージョンが第2のボリューム上にあり、その初期バージョンが第2のボリュームから第1のボリュームにコピーされている場合に、第1のボリューム上のミラーリングされたデータにアクセスすることと、第2のボリューム上のミラーリングされたデータにアクセスすることと、を有する。
【選択図】 図1

Description

本発明は、コンピュータ記憶(ストレージ)装置に関し、特に記憶装置間の通信に関する。
ホストプロセッサシステムは、複数のホストインターフェースユニット(ホストアダプタ)、ディスクドライブおよびディスクインタフェースユニット(ディスクアダプタ)を含む記憶装置を使用して、データを格納し保存して取り出すことができる。このような記憶装置は、例えば、米国マサチューセッツ州ホプキントン(Hopkinton)のEMC社(EMC Corporation)によって提供されており、Yanaiらの米国特許第5,206,939号明細書(特許文献1)、Galtzurらの米国特許第5,778,394号明細書(特許文献2)、Vishlitzkyらの米国特許第5,845,147号明細書(特許文献3)、およびOfekの米国特許第5,857,208号明細書(特許文献4)に開示されている。
ホストシステムは、ホストシステム上に設けられた複数のチャネルを介して、記憶装置にアクセスする。ホストシステムは、チャネルを通して記憶装置にデータおよびアクセス制御情報を与え、記憶装置もまた、チャネルを通してホストシステムにデータを提供する。ホストシステムは、記憶装置のディスクドライブを、直接、アドレス指定するのではなく、むしろホストシステムにとって複数の論理ディスクユニットとして見えるものに対して、アクセスする。論理ディスクユニットは、実際のディスクドライブに対応しても対応していなくてもよい。多数のホストシステムが1個の記憶装置ユニットにアクセスすることを可能にすることで、これらのホストシステムは、その記憶装置ユニットに格納されたデータを共有できる。
ある状況では、1個の記憶装置から別の記憶装置にデータをコピーすることが望ましい場合がある。例えば、ホストが第1の記憶装置にデータを書き込む場合に、第1の記憶装置が動作不能になるような災害が発生した場合に、そのホスト(あるいは別のホスト)が第2の記憶装置のデータを使用して動作を再開できるように、異なる場所に設けられた第2の記憶装置にそのデータをコピーすることが望ましい。このような能力は、例えば、米国マサチューセッツ州ホプキントンのEMC社によって提供されるリモートデータ機構(remote data facility:RDF、以下RDFと呼ぶ)製品によって実現できる。RDFでは、ユーザは、第1の記憶装置をマスタ記憶装置とし、第2の記憶装置をスレーブ記憶装置として示してもよい。RDFの他の実現例は、ローカル記憶装置とリモート記憶装置との間のピア・ツー・ピア関係を備えていてもよい。ホストは、ローカル記憶装置に、直接、作用するが、ローカル記憶装置に対してなされたデータ変更のすべては、RDFを使用してリモート記憶装置へ自動的に出力される。ローカル記憶装置とリモート記憶装置とは、エスコンリンク(ESCON link)あるいはファイバチャネルリンク(Fiber Channel link)のようなデータリンクによって接続することができる。このRDF機能は、それぞれの記憶装置に備えられたRDFアダプタ(RA)でさらに有効に活用ができる。
米国特許第5,206,939号明細書 米国特許第5,778,394号明細書 米国特許第5,845,147号明細書 米国特許第5,857,208号明細書
ある状況では、RDFの構成システムに修正を加えた方が好ましい場合がある。しかし
多くの場合、このような修正には、特殊なソフトウェアを取り扱える熟練した専門家やローカル記憶装置への標準でない接続を必要とする。RDF構成の変更プロセスを自動化して、ホストがRDFの構成を修正できるようにすることが望ましい。さらに、RDF構成中の個々の装置が動的な構成情報にアクセスする必要がある場合に、RDF構成を動的に変更することが記憶装置の動作に影響を与えないことが望ましい。
この発明によれば、第1の記憶装置上の第1のボリュームと第2の記憶装置上のミラーリングされた第2のボリュームとの間の通信路を反転した後に、ミラーリングされたデータにアクセスする方法は、であって、第1のボリュームと第2のボリュームの間でミラーリングされたデータを同期化することに先立ってミラーリングされたデータへのアクセスを許すことと、ミラーリングされたデータの初期バージョンが第1のボリューム上に用意されている場合に、第1のボリューム上のミラーリングされたデータにアクセスすることと、ミラーリングされたデータの初期バージョンが第2のボリューム上に用意され、かつミラーリングされたデータの初期バージョンが第2のボリュームから第1のボリュームにコピーされている場合に、第1のボリューム上のミラーリングされたデータにアクセスすることと、ミラーリングされたデータの初期バージョンが第2のボリューム上に用意され、かつミラーリングされたデータの初期バージョンが第2のボリュームから第1のボリュームにコピーされている場合に、第2のボリューム上のミラーリングされたデータにアクセスすることと、を有する。
この発明によれば、コンピュータ記憶媒体内に格納され、第1の記憶装置上の第1のボリュームと第2の記憶装置上のミラーリングされた第2のボリュームとの間の通信路を反転した後に、ミラーリングされたデータにアクセスするコンピュータソフトウェアは、第1のボリュームと第2のボリュームの間でミラーリングされたデータを同期化することに先立ってミラーリングされたデータへのアクセスを許す実行可能なコードと、ミラーリングされたデータの初期バージョンが第1のボリューム上に用意されている場合に、第1のボリューム上のミラーリングされたデータにアクセスする実行可能なコードと、ミラーリングされたデータの初期バージョンが第2のボリューム上に用意され、かつミラーリングされたデータの初期バージョンが第2のボリュームから第1のボリュームにコピーされている場合に、第1のボリューム上のミラーリングされたデータにアクセスする実行可能なコードと、ミラーリングされたデータの初期バージョンが第2のボリューム上に用意され、かつミラーリングされたデータの初期バージョンが第2のボリュームから第1のボリュームにコピーされている場合に、第2のボリューム上のミラーリングされたデータにアクセスする実行可能なコードと、を有する。
この発明によれば、記憶装置は、グローバルメモリと、グローバルメモリに接続された複数のホストインタフェースユニットと、グローバルメモリに接続された複数のディスクインタフェースユニットと、複数のディスクインタフェースユニットに接続された複数のディスクドライブと、グローバルメモリに接続された少なくとも1つのリモートアダプタユニットと、記憶装置内で実行されるコンピュータプログラムであって、記憶装置の第1のボリューム上のミラーリングされたデータへの、第1のボリュームと記憶装置に接続された別体の他の記憶装置の第2のボリュームとの間でミラーリングされたデータを同期化することに先立つアクセスを許可する実行可能なコードと、ミラーリングされたデータの初期バージョンが第1のボリューム上に用意されている場合に、第1のボリューム上のミラーリングされたデータにアクセスする実行可能なコードと、ミラーリングされたデータの初期バージョンが第2のボリューム上に用意され、かつミラーリングされたデータの初期バージョンが第2のボリュームから第1のボリュームにコピーされている場合に、第1のボリューム上のミラーリングされたデータにアクセスする実行可能なコードと、ミラーリングされたデータの初期バージョンが第2のボリューム上に用意され、かつミラーリン
グされたデータの初期バージョンが第2のボリュームから第1のボリュームにコピーされている場合に、第2のボリューム上のミラーリングされたデータにアクセスする実行可能なコードと、を有するコンピュータプログラムと、を備える。
この発明によれば、第1および第2の記憶装置の間の通信路を動的に確立することは、第1の記憶装置上のソースボリュームヘの接続を確立し、ソース(送り手)ボリュームは通信路上にデータを送信する準備がまだできていないこと(ノットレディ状態)を示すことと、ソースボリュームへの接続の確立の成功後に、第2の記憶装置上のデスティネーション(受け手)ボリュームへの接続を確立し、デスティネーションボリュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示すことと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができていること(レディ状態)を示すことと、を含む。第1および第2の記憶装置の間の通信路を動的に確立することは、また、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成することを含んでもよい。ソースボリュームヘの接続の確立は、第1の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでいてもよい。デスティネーションボリュームヘの接続の確立は、第2の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでいてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、デスティネーションボリュームヘの接続の確立が失敗した後に、ソースボリュームヘの接続を無効化(destroy)することをさらに含んでいてもよく、その場合には、エラー
が返されてもよい。デスティネーションボリュームの部分は有効なデータを含んでいないことが最初に示されてもよく、その場合は、第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上にデータを送信する準備ができたことを示した後、ソースボリュームからデスティネーションボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでもよい。ソースボリュームの部分は有効なデータを含んでいないことが最初に示されてもよく、その場合、第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後に、デスティネーションボリュームからソースボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでもよい。ホストは、ソースボリュームの特定の部分に対してI/O操作を実行してもよく、その場合、第1および第2の記憶装置の間の通信路を動的に確立することは、無効データ(invalid data)を含むと示された特定の部分に応答して、I/O操作を完了する前に、その特定の部分に対応するデータをデスティネーションボリュームからソースボリュームにコピーすることをさらに含んでもよい。
さらに、この発明によれば、第1および第2の記憶装置の間の通信路を動的に確立することは、第1の記憶装置上のデスティネーションボリュームヘの接続を確立することと、デスティネーションボリュームへの接続の確立の成功後に、第2の記憶装置上のソースボリュームへの接続を確立し、ソースボリュームは通信路上にデータを送信する準備がまだできていないことを示し、デスティネーションボリュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示すことと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができていることを示すことと、を含む。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成することをさらに含んでもよい。デスティネーションボリュームヘの接続の確立は、第1の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでもよい。ソースボリュームヘの接続の確立は、第2の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでもよい。第1および第2
の記憶装置の間の通信路を動的に確立することは、ソースボリュームヘの接続の確立が失敗した後に、デスティネーションボリュームヘの接続を無効化することをさらに含んでもよく、その場合には、エラー表示が返されてもよい。デスティネーションボリュームの部分は有効なデータを含んでいないことが最初に示されてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後、ソースボリュームからデスティネーションボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでいてもよい。ソースボリュームの部分は有効なデータを含んでいないことが最初に示されてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後に、デスティネーションボリュームからソースボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでいてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームの特定の部分に対してI/O操作を実行するホストをさらに含んでいてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、無効データを含むと示された特定の部分に応答して、I/O操作を完了する前に、その特定の部分に対応するデータをデスティネーションボリュームからソースボリュームにコピーすることをさらに含んでいてもよい。
さらに、この発明によれば、第1および第2の記憶装置の間の通信路を確立するコンピュータプログラム製品は、第1の記憶装置上のソースボリュームヘの接続を確立し、ソースボリュームは通信路上でデータを送信する準備がまだできていないことを示す、実行可能なコードと、ソースボリュームヘの接続の確立の成功後に、第2の記憶装置上のデスティネーションボリュームへの接続を確立し、デスティネーションボリュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示す、実行可能なコードと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができたことを示す、実行可能なコードと、を含む。コンピュータプログラム製品は、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成する実行可能なコードをさらに含んでいてもよい。ソースボリュームヘの接続を確立する実行可能なコードは、ソースボリュームヘの接続を確立する実行可能なコードは、第1の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。デスティネーションボリュームへの接続を確立する実行可能なコードは、第2の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。コンピュータプログラム製品は、デスティネーションボリュームヘの接続の確立が失敗した後にソースボリュームヘの接続を無効化する実行可能なコードをさらに含んでいてもよく、その場合、エラー表示が返されてもよい。コンピュータプログラム製品は、有効なデータを含んでいないものとしてソースボリュームの部分が最初に示されるようにする実行可能なコードをさらに含んでいてもよい。コンピュータプログラム製品は、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後に、デスティネーションボリュームからソースボリュームにデータをコピーするバックグラウンドコピー操作を開始する実行可能なコードをさらに含んでいてもよい。コンピュータプログラム製品は、無効データを含むと表示された要求部分に応答してI/O操作を完了する前に、要求部分に対応するデータをデスティネーションボリュームからソースボリュームにコピーする実行可能なコードをさらに含んでいてもよい。
さらに、この発明によれば、第1および第2の記憶装置の間の通信路を動的に確立するコンピュータプログラム製品は、第1の記憶装置上のデスティネーションボリュームヘの接続を確立する実行可能なコードと、デスティネーションボリュームへの接続の確立の成功後に、第2の記憶装置上のソースボリュームヘの接続を確立し、ソースボリュームが通信路上でデータを送信する準備がまだできていないことを示し、デスティネーションボリ
ュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示する実行可能なコードと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができたことを表示する実行可能なコードと、を含む。コンピュータプログラム製品は、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成する実行可能なコードをさらに含んでもよい。ソースボリュームヘの接続を確立する実行可能なコードは、第1の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。デスティネーションボリュームヘの接続を確立する実行可能なコードは、第2の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。コンピュータプログラム製品は、ソースボリュームヘの接続の確立が失敗した後に、デスティネーションボリュームヘの接続を無効化する実行可能なコードをさらに含んでいてもよく、その場合は、エラー表示が返されてもよい。
この発明によれば、第1の記億装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転することは、記憶装置の他のボリュームの動作を維持しつつ第1および第2のボリュームの間の通信を保留(サスペンド)にすることと、第1のボリュームを無効化することなく第1のボリュームをソースボリュームからデスティネーションボリュームに変更することと、第2のボリュームを無効化することなく第2のボリュームをデスティネーションボリュームからソースボリュームに変更することと、第1および第2のボリュームの間の通信を再開することと、を含む。第1のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第1の記憶装置に関するテーブルを修正することを含んでいてもよい。第2のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第2の記憶装置に関するテーブルを修正することを含んでいてもよい。通信を保留にすることは、第1のボリュームを準備できていない状態に設定することを含んでいてもよい。通信を再開することは、第2のボリュームを準備できた状態に設定することを含んでいてもよい。第1の記億装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転することは、通信路の反転の成功を示す結果を返すことをさらに含んでもよい。
さらに、この発明によれば、記憶装置上のボリュームを管理することは、第1の記憶装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路の反転を要求するコマンドを受信することと、記憶装置の他のボリュームの動作を維持しつつ第1および第2のボリュームの間の通信を保留にすることと、第1のボリュームを無効化することなく第1のボリュームをソースボリュームからデスティネーションボリュームに変更することと、第2のボリュームを無効化することなく第2のボリュームをデスティネーションボリュームからソースボリュームに変更することと、第1および第2のボリュームの間の通信を再開することと、を含む。コマンドは、第1および第2の記憶装置上で動作が実行される単一のマルチホップ多重実行コマンドであってもよい。第1のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第1の記憶装置に関するテーブルを修正することを含んでもよい。第2のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第2の記憶装置に関するテーブルを修正することを含んでもよい。通信を保留にすることは、第1のボリュームを準備できていない状態に設定することを含んでもよい。通信を再開することは、第2のボリュームを準備できた状態に設定することを含んでもよい。記憶装置上のボリュームを管理することは、通信路の反転の成功を示す結果を返すことをさらに含んでもよい。
さらに、本発明によれば、第1の記億装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転させるコンピュータプログラム製品は、記憶装置の他のボリュームの動作を維持しながら第1および第2のボリュームの間の通信を保留に
する実行可能なコードと、第1のボリュームを無効化することなく第1のボリュームをソースボリュームからデスティネーションボリュームに変更する実行可能なコードと、第2のボリュームを無効化することなく第2のボリュームをデスティネーションボリュームからソースボリュームに変更する実行可能なコードと、第1および第2のボリュームの間の通信を再開する実行可能なコードと、を含む。ソースボリュームからデスティネーションボリュームへ第1のボリュームを変更する実行可能なコードは、第1の記憶装置に関するテーブルを修正してもよい。ソースボリュームからデスティネーションボリュームへ第2のボリュームを変更する実行可能なコードは、第2の記憶装置に関するテーブルを修正してもよい。通信を保留にする実行可能なコードは、第1のボリュームを準備できていない状態に設定してもよい。通信を再開する実行可能なコードは、第2のボリュームを準備できた状態に設定してもよい。第1の記億装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転させるコンピュータプログラム製品は、また、通信路の反転の成功を示す結果を返す実行可能なコードを含んでもよい。第1の記憶装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転させるコンピュータプログラム製品は、また、通信路の反転の成功を示す結果を返す実行可能なコードを含んでよい。
この発明によれば、装置特性の決定は、第1のグローバルアクセス可能な値を得ることと、第1のグローバルアクセス可能な値が保存された第1の値に対応する場合に、比較的高速なメモリから装置特性データを得ることと、第1のグローバルアクセス可能な値が保存された第1の値に対応しない場合に、第2のグローバルアクセス可能な値を得ることと、第2のグローバルアクセス可能な値が保存された第2の値に対応する場合に、比較的高速なメモリから装置特性データを得ることと、第2のグローバルアクセス可能な値が保存された第2の値に対応しない場合に、比較的低速なメモリから装置特性データを得て、比較的高速なメモリ、保存された第1の値、および保存された第2の値を更新することと、を含む。第1のグローバルアクセス可能な値は装置のI/O情報を含んでいてもよい。グローバルアクセス可能な値は、複数のプロセッサにとってアクセス可能なグローバルメモリに保存されていてもよい。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、第1および第2の保存された値にアクセスするプロセッサに対してローカルであってもよい。第2の保存された値は、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。
さらに、この発明によれば、装置へのアクセスは、装置にどのようにアクセスするかを示すステータス情報を得ることと、装置の構成が変化していたかどうかを判定するために、ステータス情報の少なくとも一部分を検査することと、装置の構成が変化していなかった場合に、比較的高速なメモリにアクセスし保存された構成データ(コンフィギュレーションデータ)を参照することと、装置の構成が変化していた場合に、比較的低速なメモリにアクセスし新規な構成情報を参照し、新規な構成情報によって保存された構成データを更新することと、を含む。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、その高速なメモリにアクセスするプロセッサに対してローカルであってもよい。保存された構成データは、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。ステータス情報の少なくとも一部分を検査することは、ステータス情報のその部分が第1の保存された値に等しいかどうかを判定することを含んでよい。装置へのアクセスは、また、ステータス情報のその部分が第1の保存された値に等しくない場合に、付加的なステータス情報を得て、付加的なステータス情報の部分が第2の保存された値に等しいかどうかを判定することをさらに含んでもよい。装置へのアクセスは、また、保存された構成データを更新した後、第1および第2の保存された値を更新することを含んでもよい。
さらに、この発明によれば、装置特性を決定するコンピュータプログラム製品は、第1のグローバルアクセス可能な値を得る実行可能なコードと、第1のグローバルアクセス可能な値が保存された第1の値に対応する場合に、比較的高速なメモリから装置特性データを得る実行可能なコードと、第1のグローバルアクセス可能な値が保存された第1の値に対応しない場合に、第2のグローバルアクセス可能な値を得る実行可能なコードと、第2のグローバルアクセス可能な値が保存された第2の値に対応する場合に、比較的高速なメモリから装置特性データを得る実行可能なコードと、第2のグローバルアクセス可能な値が保存された第2の値に対応しない場合に、比較的低速なメモリから装置特性データを得て、比較的高速なメモリ、保存された第1の値、および保存された第2の値を更新する実行可能なコードと、を含む。第1のグローバルアクセス可能な値は、装置のI/O情報を含んでいてもよい。第2の保存された値は、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。
さらに、この発明によれば、装置にアクセスするコンピュータプログラム製品は、装置にどのようにアクセスするかを示すステータス情報を得る実行可能なコードと、装置の構成が変化していたかどうかを判定するために、ステータス情報の少なくとも一部分を検査する実行可能なコードと、装置の構成が変化していなかった場合に、比較的高速なメモリにアクセスし保存された構成データを参照する実行可能なコードと、装置の構成が変化していた場合に、比較的低速なメモリにアクセスし新規な構成情報を参照し、新規な構成情報によって保存された構成データを更新する実行可能なコードと、を含む。保存された構成データは、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。ステータス情報の少なくとも一部分を検査する実行可能なコードは、ステータス情報のその部分が第1の保存された値に等しいかどうかを判定する実行可能なコードを含んでもよい。装置にアクセスするコンピュータプログラム製品は、また、ステータス情報のその部分が第1の保存された値に等しくない場合に、付加的なステータス情報を得て、付加的なステータス情報の部分が第2の保存された値に等しいかどうか判定する実行可能なコードを含んでいてもよい。装置にアクセスするコンピュータプログラム製品は、また、保存された構成データを更新した後、第1および第2の保存された値を更新する実行可能なコードを含んでいてもよい。
さらに、この発明によれば、装置特性を決定する機構は、第1のグローバルアクセス可能な値を得る手段と、第1のグローバルアクセス可能な値が保存された第1の値に対応する場合に、比較的高速なメモリから装置特性データを得る手段と、第1のグローバルアクセス可能な値が保存された第1の値に対応しない場合に、第2のグローバルアクセス可能な値を得る手段と、第2のグローバルアクセス可能な値が保存された第2の値に対応する場合に、比較的高速なメモリから装置特性データを得る手段と、第2のグローバルアクセス可能な値が保存された第2の値に対応しない場合に、比較的低速なメモリから装置特性データを得て、比較的高速なメモリ、保存された第1の値、および保存された第2の値を更新する手段と、を含む。第1のグローバルアクセス可能な値は装置のI/O情報を含んでもよい。グローバルアクセス可能な値は、複数のプロセッサにとってアクセス可能なグローバルメモリに保存されてもよい。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、第1および第2の保存された値にアクセスするプロセッサに対してローカルであってもよい。第2の保存された値は、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。
さらに、この発明によれば、装置にアクセスする機構は、装置にどのようにアクセスするかを示すステータス情報を得る手段と、装置の構成が変化していたかどうかを判定するために、ステータス情報の少なくとも一部分を検査する手段と、装置の構成が変化してい
なかった場合に、比較的高速なメモリにアクセスし保存された構成データを参照する手段と、装置の構成が変化していた場合に、比較的低速なメモリにアクセスし新規な構成情報を参照し、新規な構成情報によって保存された構成データを更新する手段と、含む。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、高速なメモリにアクセスするプロセッサに対してローカルであってもよい。保存された構成データは、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。ステータス情報の少なくとも一部分を検査する手段は、ステータス情報のその部分が第1の保存された値に等しいかどうかを判定する手段を含んでいてもよい。機構は、ステータス情報のその部分が第1の保存された値に等しくない場合に、付加的なステータス情報を得て、付加的なステータス情報の部分が第2の保存された値に等しいかどうかを決定する手段をさらに含んでいてもよい。機構は、保存された構成データを更新した後、第1および第2の保存された値を更新する手段をさらに含んでいてもよい。
次に、図面を参照して本発明の実施の形態を説明する。
図1を参照すると、ブロック図20は、ホスト22とローカル記憶装置24とリモート記憶装置26との関係を示す。ホスト22は、ホスト22とローカル記憶装置24の間のインタフェース機能を提供するホストアダプタ(HA)28によって、ローカル記憶装置24からのデータの読出し及びローカル記憶装置24へのデータの書込みを行う。リモート記憶装置26上のデータをローカル記憶装置24上のデータと同一にするために、ローカル記憶装置24からのデータは、RDFリンク29を介してリモート記憶装置26にコピーされる。ローカル記憶装置24からリモート記憶装置26へのデータの転送に時間遅延があり得るので、リモート記憶装置26は、ある時点では、ローカル記憶装置24上のデータと同一でないデータを含むことがあることは注意を要する。データ記憶装置間、あるいはEMC杜のSymmetrixTM(シンメトリックス(商標名))データ記憶システムのようなシステムの間の通信は、例えば、EMC社から提供されるRDF製品を使用して容易に実現できる。
ローカル記憶装置24は、RDFアダプタユニット(RA)30を含み、また、リモート記憶装置26はRA32を含む。RA30、32は、RDFリンク29に接続されており、ホストアダプタ28に類似しているが、記憶装置24、26の間でデータを転送するために使用される。RA30、32に関して使用されるソフトウェアについては、以下に詳細に述べる。
記憶装置24、26は、それぞれ1あるいはそれ以上のディスクを含んでおり、おのおののディスクは、記憶装置24,26のそれぞれに格納されたデータの異なる部分を含んでいる。図1は、記憶装置24が複数のディスク33a、33b、33cを含み、記憶装置26が複数のディスク34a、34c、34bを含んでいることを示している。。ここで説明したRDF機能を適用して、ローカル記憶装置24のディスク33a〜33cの少なくとも一部分のデータが、RDFを使用して、リモート記憶装置26のディスク34a〜34cの少なくとも一部分にコピーされる。記憶装置24、26の他のデータは、記憶装置24、26の間ではコピーしないようにすることが可能で、その場合には、それらのデータは同一にはならない。
それぞれのディスク33a〜33cは、ディスク33a〜33cの対応する1つにデータを出力し、ディスク33a〜33cの対応する1つからデータを受信するディスクアダプタユニット(DA)35a、35b、35cに接続している。同様に、リモート記憶装置26の複数のDA36a、36b、36cは、ディスク34a〜34cの対応する1つ
にデータを供給するために使用され、ディスク34a〜34cの対応する1つからデータを受信する。データ伝送路は、ローカル記憶装置24のDA35a〜35c、HA28およびRA30の間に存在する。同様に、データ伝送路は、リモート記憶装置のDA36a〜36cおよびRA32の間に存在する。
ローカル記憶装置24は、また、DA35a〜35c、HA28およびRA30の間でデータが転送されるのを促進するグローバル(大域)メモリ37を含む。メモリ37は、システムコールからのパラメータと、DA35a〜35c、HA28およびRA30うちの1または2以上のもので実行されるべきタスクと、ディスク33a〜33cの1または2個以上からフェッチされたデータのためのキャッシュとを含んでもよい。同様に、リモート記憶装置26は、システムコールからのパラメータと、DA36a〜36cおよびRA32のうちの1または2個以上で実行されるべきタスクと、ディスク34a〜34cのうちの1または2個以上からフェッチされたデータのためのキャッシュとを含んでもよいグローバルメモリ38を有する。メモリ37、38の使用については、以下により詳細に説明する。
ディスク33a〜33cに対応するローカル記憶装置24中の記憶空間は、複数のボリュームや論理装置へ細分化される。論理装置は、ディスク33a〜33cの物理記憶空間に一致していても一致していなくてもよい。これにより、例えば、ディスク33aが複数の論理装置を含んでいてもよいし、あるいは、単一の論理装置がディスク33a、33bの両方にまたがっていてもよい。同様に、ディスク34a〜34cを備えるリモート記憶装置26の記憶空間は、複数のボリュームまたは論理装置へ細分化されてもよく、それぞれの論理装置は、ディスク34a〜34cの1または2個以上に対応していても対応していなくてもよい。
ローカル記憶装置24の部分とリモート記憶装置26の部分との間のRDFマッピングを設定することは、ローカル記憶装置24上の論理装置に対するリモートミラーであるリモート記憶装置26上の論理装置をセットアップすることを含む。ホスト22は、ローカル記憶装置24上の論理装置に対してデータの読出しと書込みを行う。RDFマッピングにより、RA30、32およびRDFリンク29を使用して、ローカル記憶装置24からリモート記憶装置26へ修正されたデータが転送される。定常状態の動作では、リモート記憶装置26上の論理装置は、ローカル記憶装置24上の論理装置のデータと同一のデータを含む。ホスト22によってアクセスされるローカル記憶装置24上の論理装置は、「R1ボリューム」(あるいは単に「R1」)と呼ばれ、一方、R1ボリューム上のデータのコピーを含むリモート記憶装置26上の論理装置は、「R2ボリューム」(あるいは単に「R2」)と呼ばれる。このようにして、ホストは、R1ボリュームに対してデータの読出しおよび書込みを行い、RDFは、R1ボリュームからR2ボリュームへのデータの自動コピーと更新とを処理する。
ある状況では、ホスト22がシステムの動作中にRDFボリュームの生成(create)と無効化(destroy)とを実行できるようにすることが、有益である。RDFボリュームは、R
1/R2の対が無効化されまたはR1/R2の対が生成されるように、対で生成されてあるいは無効化されてもよいことには、注意が必要である。R1/R2対の生成または無効化は、ホスト22によって起動される。ホストは、データ記憶装置に、マルチホップ(multihop)/多重実行(multiexecute)システムコマンドを送信する。マルチホップ/多重実行システムコマンドは、多数の記憶装置に送られそれらの多数の記憶装置が実行すべき動作を示す、単一のシステムコマンドである。このコマンドは、ホストコンピュータが、他のデータ記憶装置のレイヤを通して、間接的に1または2個以上のデータ記憶装置にリモートシステムコールを発行することを可能にする。このコマンドは、1または2個以上のいずれかのデータ記憶装置にそのコマンドを実行することを示してもよい。例えば、R1ボ
リュームがローカル記憶装置24上にあり、R2ボリュームがリモート記憶装置26上にあるときに、ホスト22は、RDFボリュームの設定と管理とを支配するためにそれぞれの記憶装置24、26によって内部で使用されているテーブル(下記に詳述する)をそれぞれの記憶装置24、26にローカルに修正させることによって、特定のR1/R2対を無効化することを要求するマルチホップ/多重実行システムコマンドを送信することができる。R1/R2対の生成は、1つの記憶装置上にR1ボリュームを生成し、他の記憶装置上にR2ボリュームの生成することを含む。
さらに、ある状況では、1または2個以上の既存のボリュームにRDF接続を確立することが有効であろう。このようにして、例えば、既存のソース(送り手)ボリュームを、RDFを使用して新規に生成されたデスティネーション(受け手)ボリュームに接続してもよい。したがって、これからの議論においては、ボリュームの生成との言及には、既存のボリュームヘの接続の生成も含まれる、と理解できる。同様に、ボリュームの無効化への言及には、RDF接続を単に無効化することが含まれる、と適切に理解できる。新しいボリュームを生成するかあるいは無効化する場合と、単に既存のボリュームヘの接続を生成または無効化する場合のいずれの場合も、RDF接続データを含んだ同じテーブル(以下に述べる)が修正されることは注意を要する。
図2について説明すると、フローチャート50は、R1/R2対の生成または無効化に関して実行されるステップを示している。処理は、無効化コマンドが発行されているかどうか判断する第1のステップ52で開始する。ある実施形態では、生成コマンドか無効化コマンドかいずれかのみが発行される。したがって、コマンドが無効化コマンドでない場合、そのコマンドは生成コマンドである。ステップ52において無効化コマンドが発行されたと判断される場合、制御は、ステップ52から、バックグラウンドコピーのようなバックグラウンドI/O(入出力)動作が保留(サスペンド)されるステップ54へ移行する。R1/R2対を無効化にする前に、最初に、すべてのバックグラウンドI/Oを保留にすることが有効である。他の実施形態では、ボリュームの無効化はバックグラウンドI/O(そしてR1/R2対に関連する他の動作)を自動的に終了させるので、ステップ54は不要となり実行されない。
ステップ54に続くのは、R1ボリュームに対応する記憶装置上のアロケーション(割付け)テーブルを修正するステップ56である。アロケーションテーブルは、記憶装置のRDF構成に関する動的情報を含む。アロケーションテーブルは、論理装置識別子(例えば数字)および論理装置のそれぞれのミラー番号によって索引付けられた2次元の配列を含んでいてもよい。ある実施形態では、それぞれの装置が最大4個のミラーを持つこともある。他の実施形態では、4個を越えるミラーを採用する。アロケーションテーブルヘのエントリは、装置のためのミラーがローカルミラー、R1ボリューム、R2ボリューム、あるいはBCV(ビジネスコンティニュアンスボリューム)やRAID(Redundant Array
of Independant Disks)ミラーのような他のタイプのミラーかどうかを示す。
ステップ56で、R1ボリュームを含んでいる記憶装置上のアロケーションテーブルは、R1ボリュームを削除するよう修正される。ステップ56に続くステップ58では、R2ボリュームを含む記憶装置上のアロケーションテーブルは、R2ボリュームを削除するよう修正される。ステップ58に続くステップ60では、以前に実行された操作の結果(例えば成功または失敗)が返される。ステップ60が終わると処理は完了する。
ステップ52で、無効化コマンドが発行されてない(したがって、生成コマンドが発行されている)と判断される場合、制御は、ステップ52から、R1ボリュームまたはR2ボリュームが第1のサイトで生成されるステップ62まで移行する。ある実施形態では、ホストは、ローカル記憶装置24のような第1の記憶装置へマルチホップ/多重実行コマ
ンドを発行するが、その場合、第1のサイトは、ローカル記憶装置24(すなわちコマンドを受け取る第1のサイト)であろう。ここに示された実施形態では、R1/R2対の生成が試行される第1のサイトは、ホスト22に直接接続したローカル記憶装置24である。第1サイトでの生成は、適切なアロケーションテーブルを修正することを含む。ステップ62に続くテストステップ64では、ステップ62でのR1ボリュームまたはR2ボリュームの生成が成功したかどうかが判断される。成功でない場合、制御は、ステップ64から、エラー通知をホスト22に返すステップ66まで移行する。ステップ66が終わると処理は、完了する。
テストステップ64で、ステップ62でのR1ボリュームまたはR2ボリュームの生成が成功したと判断された場合は、ステップ64から、制御は、場合に応じて、第2のサイトでR1ボリュームまたはR2ボリュームを生成するステップ68へ移行する。第2のサイトでの生成は、適切なアロケーションテーブルを修正することを含む。第2のサイトは、コマンドを受け取る第2の記憶装置でもよい。ここに示された実施形態では、第2のサイトは、ローカル記憶装置24を通してホスト22からコマンドを受け取るリモート記憶装置26である。
ステップ68に続くテストステップ70では、ステップ68での生成が成功かどうかが判断される。テストステップ70で、第2のサイトでの生成が成功しなかったと判断された場合には、ステップ70から、制御は、生成された第1のサイトを無効化するステップ72に移行する。RlボリュームとR2ボリュームとは、第2のサイトでいずれか1個のボリュームの生成に失敗すると、第1のサイトで生成に成功したボリュームはステップ72で無効化にされるように、対をなして生成されることに注意が必要である。ステップ72の次のステップ74では、上述のようにステップ66でエラーを返したのと同様に、エラーがホスト22に返される。ステップ74が終わると、処理は完了する。
テストステップ70で、ステップ68での第2のサイトでのR1ボリュームまたはR2ボリュームの生成が成功したと判断された場合には、制御は、ステップ70から、記憶装置24と26のそれぞれの無効トラック(invalid track)がセットされるステップ75ま
で移行する。無効トラックは、R1ボリュームとR2ボリュームの間の相違を示すために使用される。R1ボリュームが初期データを含んでいる場合には、R1ボリュームのすべてのトラックは、R1データのすべてがR2データと一致しないことを示す無効(invalid)に設定され、この結果、R1ボリュームのすべてのトラックは、R1からR2へのコピ
ーが必要となる。R2ボリュームが、使用されるべき初期データを含んでいる場合、R2ボリュームのトラックはすべて無効にされ(invalidated)、また、シンク(Sync)コマンド
が、R1ボリュームを含んでいる記憶装置に送られて、R1ボリュームに対応するローカルミラーのトラックを無効にし、それによりR2からR1へのデータのバックグラウンドコピーを開始させる。ステップ75に続きステップ78では、R1ボリュームに対するノットレディ(not ready)インジケータがクリアされ、R1とR2との間のRDF動作を開
始できることを示す。ノットレディインジケータは、R1/R2リンクを指すのであって、必ずしもR1および/またはR2のホストからデータを受信する能力を指すものではないということは、注意を要する。データは、トラック以外のユニット内で構成でき、この場合、ここで開示された操作は、使用するトラック以外のいかなるユニット上でも実行されるであろうということに、注意を要する。
ステップ78に続きステップ79では、操作が成功したことを示す信号がホスト22に返される。ステップ79が終わると、処理は完了する。上述した無効トラックの設定と、デバイスノットレディ状態の設定および解除とは、設定が生成動作中およびそれ以降には適切な状態で維持されるという条件の下で、図2や上記の説明に示された順番と異なった順番でも実行できることに注意を要する。
ある実施形態においては、ボリュームの生成(create)と無効化(destroy)とを特別の順
序で行うことが有効である。例えば、まずR2ボリュームを生成し、続いてR1ボリュームを生成することは有効である。同様に、まずR1ボリュームを無効化し、次にR2ボリュームを無効化することも有効である。代わりに、前記ボリュームはどんな順番でも生成、無効化してもよいが、一方、動作は、R1ボリュームに対するノットレディインジケータをセットすることで制御され、そしてR1ボリュームに対するノットレディインジケータは、操作を実行するかどうかを制御する。このように、R1ボリュームおよびR2のボリュームはどんな順番で生成してもよいが、R1ボリュームに対するノットレディインジケータは、R1とR2の両方が生成されない限りそして生成されるまで、レディを表示するように設定されない。同様に、第1のステップとしてR1に対するノットレディ指標を設定することは、R1とR2を無効化する後続のステップがどのような順番にでも実行できるようにする。
ある実施形態においては、R1/R2対を生成するコマンドが、R1ボリュームとR2ボリュームの両方に使用される特別のボリュームを示すようにすることが有効である。すなわち、ホスト22は、Rlボリュームとしてローカル記憶装置24から既存の論理装置を選択し、さらに、R2ボリュームとしてリモート記憶装置26から既存の論理装置を選択することができる。代わりの実施形態では、R2ボリュームとして未使用のいかなる論理装置もリモート記憶装置26に選択させることも可能である。また一方、システムコマンドがR2ボリュームのために特定のボリューム識別を望む場合には、記憶装置24、26および/またはホスト22の1つにアプリケーションプログラムインタフェース(Application Program Interface:API)を重ねて、R2ボリュームを選択することも可能
である。
さらに、新しく生成されたR1/R2対のための初期データがR2ボリューム上で見つかる場合があることに、注意を要する。例えば、リモート記憶装置26がそこに接続されたホスト(不図示)が機能しない場合、ローカル記憶装置24に接続しているホスト22からシステムを再起動することが有効である。しかしながら、その場合、起動するための初期データは、R2ボリューム上(つまりリモート記憶装置26上)にあってもよい。このようにして、起動時、初期データは、R2装置からR1装置にコピーされ、そののちホスト22は、ローカル記憶装置24にあるR1装置およびリモート記憶装置26にあるR2装置について、通常のRDF動作を継続する。R2装置からR1装置への(あるいはR1装置からR2装置への)コピーは、バックグラウンドコピーにより行われてもよい。
図3を参照すると、フローチャート80は、R1/R2対が初期化された後ではあるがバックグラウンドコピーの完了前のシステムの動作を示している。ホスト22は、バックグラウンドコピーが完了していなくても、R1ボリュームに対する読出しおよび書込みを行うことに注意を要する。
処理は、R2ボリュームが初期データを含んでいるかどうかが判断される初期テストステップ82から始まる。初期データを含んでいない場合には、次に、制御は、テストステップ82から、R1がホスト22によって要求された読出しおよび書込みに使用されるステップ84まで進む。
テストステップ82においてR2ボリュームが初期データを含むと判断された場合は、制御は、テストステップ82から、書込まれたか読出されたトラックが無効かどうかの判断が行われるテストステップ86に進む。無効トラックは、R2ボリュームにある初期データがR1ボリュームにまだコピーされていないことを示す。無効トラックの設定に関しては、図1に基づいてすでに上述した。このようにして、テストステップ86において、
ホスト22によって書込みあるいは読出しが実行されたトラックが無効であると判断された場合、制御は、ステップ86から、R2ボリュームがRDFにより読出しあるいは書込み操作のために使用されるステップ88まで進む。ある状況では、全体ではなく一部のトラックのみがホストによって書込まれる場合があることに注意を要する。このようにして、R2が初期データを含む場合における無効トラックにとって、ホスト22からのデータをR2ボリュームに送信することは有効である。ステップ88の後、処理は完了する。一方、ステップ86において、読出されあるいは書込まれたトラックが無効ではないと判断された場合には、制御は、テストステップ86から、R1ボリュームが従来の方法で使用されるステップ84まで進む。ステップ84の後、処理は完了する。
図4を参照すると、このブロック図は、ローカル記憶装置24のメモリ37あるいはリモート記憶装置26のメモリ38を表わすグローバルメモリを示している。グローバルメモリは、上述したように、静的(static)構成(configuration)データ92のためのメモリ
位置と、アロケーションテーブル(DAT)のような動的(dynamic)構成データ94のた
めのメモリ位置とを含む。静的構成データ92は、工場あるいは技術者によってセットアップされる記憶装置用の構成情報を含む。静的構成データ92は、グローバル半導体メモリに読み込まれるファイルで提供されるか、または半導体メモリの不揮発性部分として提供される。
動的構成データ94は、静的構成データ92から修正された対応するシステムの構成を表わす。したがって、例えば、静的構成データ92は、R1/R2のRDF対を形成する特定のボリュームを示してもよく、一方、動的構成データ94は、その特定のRl/R2
RDF対が引き続いて無効化されたことを示すことで、静的構成データ92をオーバーライドする。動的構成データ94は、ディスク上に格納されてさらに電子メモリに読み込まれてもよいし、および/または、不揮発性である電子メモリに格納されてもよい。ある実施形態では、動的構成データ94は、静的構成データ92をオーバーライドしてもよい。他の実施形態では、動的構成データ94は、単に付加的なものであり、あるアイテムに対応した静的構成データ92に何らエントリがない場合に使用されてもよい。
図5を参照すると、フローチャート100は、特定の論理装置の構成の判定法を示している。論理装置に対するそれぞれの読出しあるいは書込みアクセスは、装置の構成についての知見を利用して、装置がR1/R2対の一部であるかどうかを判断することに、注意を要する。
処理は、動的構成データ94に論理装置に対するエントリ入力があるかどうかが判断されるステップ102から始まる。エントリがない場合、制御は、ステップ102から、静的構成データ92を調べて装置の構成を判断するステップ104に移行する。定義により静的構成データ92は変化しないので、個々の論理装置は、静的構成データ92の容易にアクセス可能であるローカルコピーを持つことができることに注意を要する。ステップ104の後、処理は完了する。
テストステップ102において、動的構成データ94に論理装置に対するエントリがあると判断された場合、制御は、テストステップ102から、動的構成データ94を用いて論理装置の構成を決定するステップ106に移行する。あるいは、最初に静的構成データ92をチェックし、次に、オーバーライドするエントリが動的構成データ94に存在するかどうかをチェックすることも可能であることに、注意を要する。
図6を参照すると、このブロック図は記憶装置110をより詳細に示している。記憶装置110は、複数のホストアダプタ(HA)112〜114、および複数のディスクアダプタ(DA)116〜118を含む。ディスクアダプタ116〜118のそれぞれは、複
数のディスク120〜122のうちに関連する1個に接続される。記憶装置110は、さらにグローバルメモリ124と、RDFアダプタ(RA)126と、RA126に対する外部接続部128とを含む。バス130は、HA112〜114、DA116〜118、グローバルメモリ124およびRA126を接続する。HA112〜114のそれぞれは、ホスト(不図示)に接続される接続部を含む。
HA112〜114のうちの1個に接続された、ホストのうちの1個が実行するすべての読出しおよび書き込み操作に対し、HA112〜114のうちの対応する1個が、データの配置場所を決定する。例えば、記憶装置110がR1/R2対のローカルボリュームを含む場合、ホストからデータを受け取るHA112〜114の特定の1個は、R1ボリュームにデータを送るためにディスクアダプタ116〜118の適切な1個にデータを送ることができ、別の記憶装置(不図示)上のR2ボリュームにデータを送信するRA126へ適切にデータを送ることができる必要がある。さらに、バックグラウンドコピー操作に関して、DA116〜118は、データの送り手及び受け手を示す情報にアクセスする。したがって、例えば、R1/R2対が記憶装置110と別のリモート記憶装置(不図示)との間でセットアップされる場合、DA116〜118は、初期データを含むボリューム(R1またはR2)から他方のボリュームへのデータのバックグラウンドコピーに参加するだろう。そのような場合、DA116〜118は、どこにデータが行きべきか(つまり、どのボリュームが、R1/R2対のボリュームの1個に対応するか)を示す情報にアクセスする。同様に、例えば、RA126が、入力データを処理するためにボリュームの構成情報にアクセスすることは、有効である。
したがって、HA112〜114、DA116〜118およびRA126が、記憶装置110上のボリュームのセットアップ構成を示す正確な情報にアクセスすることができることは、有効である。情報を得る1つの方法は、それぞれの読出しまたは書込み操作に対して、グローバルメモリ124から動的構成データ94を読出すことであり、その時、もし照会された装置が動的構成データ94の中に見つからない場合には、静的構成データ92にアクセスすることである。しかしながら、すべてのI/O操作に対してグローバルメモリヘアクセスすることは、逆に記憶装置110の性能に悪い影響を与える。したがって、記憶装置110の装置構成を決定するより効率的なメカニズムが準備されている。
図7を説明すると、説明図150は、構成データを判断するために使用するグローバルメモリヘのアクセス回数を減少させるメカニズムを示している。レディバッファ152は、入出力(I/O)が実行されるごとにアクセスされるデータに相当する。レディバッファ152は、装置の状態および/またはシステムの状態のような、I/Oに関連する有効な情報を表示する。このようにして、レディバッファ152は、それぞれのI/O操作のためにアクセスされる。
レディバッファ152は、ある実施形態では、装置構成が変更されるごとにインクリメントされる1バイトデータのリビジョン(改訂)数フィールド154を含む。かくして、I/Oを実行する装置は、リビジョン数フィールド154を調べ、さらなる照会が必要かどうか決定することができる。
バイトの集合156は、リビジョン数フィールド154の変更に応じてアクセスされてもよい。バイトの集合156の特定のバイト158は、記憶装置に対する動的RDF構成における変更を示すために使用できるだろう。このようにして、レディバッファ152およびバイトの集合156の組合せを、I/Oが実行されるごとにグローバルメモリ124へのアクセスを最小限にするために、使用することができる。
図8について説明すると、フローチャート170は、レディバッファ152およびバイ
トの集合156の使用に関して実行されるステップを示している。処理は、I/Oを実行する装置が、レディバッファのフィールド154が変化した(例えば、インクリメントされた)かどうかを判断する、ステップ172で始まる。ステップ172においてレディバッファのフィールドが変化しなかったと判断された場合、制御は、ステップ172からステップ174に移行し、ステップ174では、HA112〜114の1個、DA116〜118の1個、および/またはRA126のような装置が、ローカルに保存されたデータを使用して、構成情報を判断する。つまり、以前に観測されたバージョンのリビジョン数フィールド154と等しいリビジョン数フィールド154は、RDF構成にはなんらの変更がなかったことを示す。このようにして、制御は、ステップ172からステップ174に移行し、ステップ174では、I/Oを実行する装置は、特定のデータをどのように処理するかを決定するために、ローカルに保存された構成データのコピーを使用できる。ステップ174の後で、処理は完了する。
テストステップ172においてリビジョン数フィールド154が変化したと判断された場合は、制御は、ステップ172から、バイトの集合156がフェッチされるステップ176まで移行する。バイトの集合156は、例えばグローバルメモリ124の仲に、あるいは、不揮発性の電子メモリやディスクなどの他のメモリの中に、格納できる。
ステップ176に続くのはステップ178であり、テストステップ178では、バイトの集合156中のRDF構成変化に対応するバイト158が修正された(例えば、インクリメントされた)かどうかの判断がなされる。修正されていない場合には、前述のごとく、制御は、ステップ178から、構成データのローカルに保存されたコピーがRDF構成を判断するために使用されるステップ174に移行する。ステップ174の後で、処理は完了する。
テストステップ178においてRDF構成が変更されたと判断された場合、制御は、ステップ178から、グローバルメモリ124中の動的構成データ94がアクセスされるステップ180まで移行する。ステップ180に続くステップ182では、構成データのローカルに保存されたコピーが、グローバルメモリ124からの新バージョンのデータにより更新される。ステップ182に続き、ステップ174では、構成データのローカルに保存されたバージョン(更新されたばかりのもの)が、RDF構成を決定する装置により使用される。ステップ174の後で、処理は完了する。
ある実施形態では、アロケーションテーブルから定期的に動的構成データにアクセスし、各装置に対する記憶装置中の構成データのローカルコピーを更新するバックグラウンドメカニズムを含むことも可能である。かくして、各装置は、最初にI/Oを実行せずにこのバックグラウンドタスクで更新されてもよい。
システムのRDF構成を決定する場合、グローバルメモリヘのアクセスを制御するためにリビジョン番号を使用するためのここで述べたメカニズムは、BCV(ビジネス・コンティニュアンス・ボリューム;Business Continuance Volume)構成のような他のシステ
ムパラメータにも同様に適用できることに注意を要する。BCVは、例えば、ホストアプリケーションとともに使用するよう構成された別の装置からのデータの一貫し同期したコピーを含むことができる。データのBCVコピーは、他の装置に対して継続的なデータ操作をホストに実行させつつ、データコピーに作用する別のアプリケーションで独立して使用されてもよい。
図9について説明すると、フローチャート50’は、図2のフローチャート50に関して述べた実施形態の代替実施形態を示す。図2のフローチャート50は、「生成」と「無効化」の2個のコマンドがあるシステムを示す。図9のフローチャート50’に図示され
たシステムは、上述の「生成」と「無効化」のコマンドに加え、R1とR2をスワップ(交換)する3番目のコマンドを備える。R1とR2の入替えは、R1ボリュームをR2ボリュームにし、R2ボリュームをR1ボリュームにする単一のコマンドを使用して実行できる。これは、例えば、ローカル記憶装置に接続したホストを、対応するリモート記憶装置に接続された別のホストと交換する場合において有効である。コマンドはホストに備えられるようにしてもよい。さらに、別記するように、ホストは、マルチホップ/多重実行システムコマンドを出力してもよい。処理は、無効化コマンドが発行されたかどうかが判断されるステップ52’で始まる。無効化コマンドが発行された場合は、制御は、ステップ52’から、図2のフローチャート50に関して上述したステップ54に移行する。一方、ステップ52’において無効化コマンドが発行されていないと判断された場合は、制御は、ステップ52’から、生成コマンドが発行されたかどうかを判断するステップ53に移行する。生成コマンドが発行されていた場合は、制御は、ステップ53から、図2のフローチャート50に関して上述したステップ62に移行する。
テストステップ53において生成コマンドが発行されていないと判断した場合、R1/R2のスワップコマンドが発行される。すなわち、3個のコマンドを有するシステムにおいて、消去のプロセスは、無効化するコマンドが発行されてないとステップ52’において判断した場合、かつ、生成コマンドが発行されていないとステップ53において判断した場合に、R1/R2のスワップコマンドが発行されたと規定する。あるいは、コードの特定の部分は、R1/R2のスワップコマンドかもしれない受信したコマンドに基づいて実行されてもよい。R1/R2のスワップコマンドに関し、制御は、ステップ53から、R1に対してデバイスノットレディフラグ(device not ready flag)をセットするステッ
プ192まで移行する。R1に対してデバイスノットレディフラグを設定することは、R1/R2対に対するRDF操作を停止させる。ステップ192に続くのはステップ194であり、ステップ194では、R1ボリュームを含む記憶装置に対応するアロケーションテーブルヘのエントリ、および、R2ボリュームを含む記憶装置に対応するアロケーションテーブルヘのエントリが両方とも修正され、R1ボリュームがR2ボリュームになり、またその逆も起こる。ステップ194に続くのはステップ196であり、ここでは、デバイスノットレディビットは新しいR1装置のためにクリアされる。ステップ196においてR1ボリューム用のデバイスノットレディビットをクリアすることにより、RDF操作は再開できる。しかしながら、RDF操作が再開したとき、以前のR2ボリュームは今やR1ボリュームであり、また、以前のR1ボリュームはR2ボリュームである。ステップ196に続くステップ198では、R1とR2をスワップするコマンドに対応する操作の結果(例えば、成功または失敗)が、ホストに返される。ステップ198の後で、処理は完了する。
ここに開示された前記システムについては、ホスト22は、スタンドアロンのコンピュータ装置、ネットワークの一部、別の記憶装置、ある程度の記憶能力を有するコンピュータ、および/または、ここに開示された機能性を備えるいかなる装置でもよいということに注意を要する。同様に、ここに開示されたシステムは、ローカル記憶装置24をエミュレートするか、そうでなければ、ここに開示された機能を備えるよう構成された、別のコンピュータ装置、ネットワーク接続などを含む、ローカル記憶装置24として使用されるすべての適切な装置で実施できる。
ここで説明するシステムに関連して使用されるホスト、ローカル記憶装置およびリモートデータ記憶装置の概念図である。 ここで説明するシステムの動作を示すフローチャートである。 ここで説明するシステムの読出しおよび書込み操作にのどのボリュームが使用されるかを決定する処理を示すフローチャートである。 ここで説明するシステムにおける記憶装置に対するグローバルメモリを示す図である。 ここで説明するシステムにおける装置のRDF構成の評価に関連して、静的構成データまたは動的構成データを使用するかどうか判定する階層を示すフローチャートである。 ここで説明するシステムに関連して使用される記憶装置とそのコンポーネントとを詳細に示す概念図である。 ここで説明するシステムに関連して使用されるレディバッファとバイトの集合とを示す図である。 図7に示したレディバッファとバイトの集合へのアクセスに関連して実行される工程を示すフローチャートである。 ここで説明するシステムの別の実施形態を示すフローチャートである。
符号の説明
22 ホスト
24 ローカル記憶装置
26 リモート記憶装置
28、112〜114 ホストアダプタ
30、32、126 RDFアダプタユニット
33a〜33c、34a〜34c、120〜122 ディスク
35a〜35c、36a〜36c、116〜118 ディスクアダプタユニット
92 静的構成データ
94 動的構成データ
110 記憶装置
124 グローバルメモリ

Claims (39)

  1. 第1の記憶装置と第2の記憶装置の間の通信路を動的に確立する方法であって、
    前記第1の記憶装置上のソースボリュームヘの接続を確立し、前記ソースボリュームは前記通信路上にデータを送信する準備がまだできていないことを示す段階と、
    前記ソースボリュームとデスティネーションボリュームのどちらに、前記ソースボリュームと前記デスティネーションボリュームの両方に格納されるべき初期データを含んでいるかを決定する段階と、
    前記ソースボリュームへの接続の確立の成功後に、前記第2の記憶装置上の前記デスティネーションボリュームへの接続を確立し、前記ソースボリュームと前記デスティネーションボリュームのどちらが前記初期データを含んでいるかに応じて、前記デスティネーションボリュームと前記ソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示す段階と、
    前記ソースボリュームおよび前記デスティネーションボリュームへの接続の確立の成功後、前記ソースボリュームは前記通信路上でデータを送信する準備ができていることを示す段階と、
    前記ソースボリューム及び前記デスティネーションボリュームの一方から前記ソースボリューム及び前記デスティネーションボリュームの他方に前記初期データを前記通信路を介して転送しながら、前記ソースボリュームに書き込まれたデータを前記ソースボリュームから前記デスティネーションボリュームに前記通信路を介して転送する段階と、
    を備える方法。
  2. 前記ソースボリュームおよび前記デスティネーションボリュームの少なくとも1個を生成することをさらに備える請求項1に記載の方法。
  3. 前記ソースボリュームヘの接続の確立は、前記第1の記憶装置に関する構成情報を含んでいるテーブルを修正することを含む、請求項1に記載の方法。
  4. 前記デスティネーションボリュームヘの接続の確立は、前記第2の記憶装置に関する構成情報を含んでいるテーブルを修正することを含む、請求項3に記載の方法。
  5. 前記デスティネーションボリュームヘの接続の確立が失敗した後に、前記ソースボリュームヘの接続を無効化することをさらに備える、請求項1に記載の方法。
  6. エラー表示を返すことをさらに備える請求項5に記載の方法。
  7. 前記デスティネーションボリュームの部分は有効なデータを含んでいないことが最初に示される、請求項1に記載の方法。
  8. 前記ソースボリュームが前記通信路上にデータを送信する準備ができたことを示した後、前記ソースボリュームから前記デスティネーションボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに備える、請求項7に記載の方法。
  9. 前記ソースボリュームの部分は有効なデータを含んでいないことが最初に示される、請求項1に記載の方法。
  10. 前記ソースボリュームが前記通信路上でデータを送信する準備ができたことを示した後に、前記デスティネーションボリュームから前記ソースボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに備える、請求項9記載の方法。
  11. 前記ソースボリュームの特定の部分に対してI/O操作を実行するホストをさらに備える請求項10に記載の方法。
  12. 無効データを含むと示された前記特定の部分に応答して、前記I/O操作を完了する前に、前記特定の部分に対応するデータを前記デスティネーションボリュームから前記ソースボリュームにコピーすることをさらに備える請求項11に記載の方法。
  13. 第1の記憶装置と第2の記憶装置の間の通信路を動的に確立する方法であって、
    前記第1の記憶装置上のデスティネーションボリュームヘの接続を確立する段階と、
    前記デスティネーションボリュームとソースボリュームのどちらに、前記ソースボリュームと前記デスティネーションボリュームの両方に格納されるべき初期データを含んでいるかを決定する段階と、
    前記デスティネーションボリュームへの接続の確立の成功後に、前記第2の記憶装置上の前記ソースボリュームへの接続を確立し、前記ソースボリュームは前記通信路上にデータを送信する準備がまだできていないことを示し、前記デスティネーションボリュームと前記ソースボリュームのどちらが前記初期データを含んでいるかに応じて、前記デスティネーションボリュームと前記ソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示す段階と、
    前記ソースボリュームおよび前記デスティネーションボリュームへの接続の確立の成功後、前記ソースボリュームは前記通信路上でデータを送信する準備ができていることを示す段階と、
    前記ソースボリューム及び前記デスティネーションボリュームの一方から前記ソースボリューム及び前記デスティネーションボリュームの他方に前記初期データを前記通信路を介して転送しながら、前記ソースボリュームに書き込まれたデータを前記ソースボリュームから前記デスティネーションボリュームに前記通信路を介して転送する段階と、
    を備える方法。
  14. 前記ソースボリュームおよび前記デスティネーションボリュームの少なくとも1個を生成することをさらに備える請求項13に記載の方法。
  15. 前記デスティネーションボリュームヘの接続の確立は、前記第1の記憶装置に関する構成情報を含んでいるテーブルを修正することを含む、請求項13に記載の方法。
  16. 前記ソースボリュームヘの接続の確立は、前記第2の記憶装置に関する構成情報を含んでいるテーブルを修正することを含む、請求項15に記載の方法。
  17. 前記ソースボリュームヘの接続の確立が失敗した後に、前記デスティネーションボリュームヘの接続を無効化することをさらに備える、請求項13に記載の方法。
  18. エラー表示を返すことをさらに備える請求項17に記載の方法。
  19. 前記デスティネーションボリュームの部分は有効なデータを含んでいないことが最初に示される、請求項13記載の方法。
  20. 前記ソースボリュームが前記通信路上でデータを送信する準備ができたことを示した後、前記ソースボリュームから前記デスティネーションボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに備える、請求項19記載の方法。
  21. 前記ソースボリュームの部分は有効なデータを含んでいないことが最初に示される、請求項13に記載の方法。
  22. 前記ソースボリュームが前記通信路上でデータを送信する準備ができたことを示した後に、前記デスティネーションボリュームから前記ソースボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに備える、請求項21記載の方法。
  23. 前記ソースボリュームの特定の部分に対してI/O操作を実行するホストをさらに備える請求項22に記載の方法。
  24. 無効データを含むと示された前記特定の部分に応答して、前記I/O操作を完了する前に、前記特定の部分に対応するデータを前記デスティネーションボリュームから前記ソースボリュームにコピーすることをさらに備える請求項23に記載の方法。
  25. 第1の記憶装置と第2の記憶装置の間の通信路を確立するためのコンピュータプログラムであって、
    前記第1の記憶装置上のソースボリュームヘの接続を確立し、前記ソースボリュームは前記通信路上でデータを送信する準備がまだできていないことを示す、実行可能なコードと、
    前記ソースボリュームとデスティネーションボリュームのどちらに、前記ソースボリュームと前記デスティネーションボリュームの両方に格納されるべき初期データを含んでいるかを決定する実行可能なコードと、
    前記ソースボリュームヘの接続の確立の成功後に、前記第2の記憶装置上の前記デスティネーションボリュームへの接続を確立し、前記ソースボリュームと前記デスティネーションボリュームのどちらが前記初期データを含んでいるかに応じて、前記デスティネーションボリュームと前記ソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示す、実行可能なコードと、
    前記ソースボリュームおよび前記デスティネーションボリュームへの接続の確立の成功後、前記ソースボリュームは前記通信路上でデータを送信する準備ができたことを示す、実行可能なコードと、
    前記ソースボリューム及び前記デスティネーションボリュームの一方から前記ソースボリューム及び前記デスティネーションボリュームの他方に前記初期データを前記通信路を介して転送しながら、前記ソースボリュームに書き込まれたデータを前記ソースボリュームから前記デスティネーションボリュームに前記通信路を介して転送する、実行可能なコードと、
    を備えるコンピュータプログラム。
  26. 前記ソースボリュームおよび前記デスティネーションボリュームの少なくとも1個を生成する実行可能なコードをさらに備える請求項25に記載のコンピュータプログラム。
  27. 前記ソースボリュームヘの接続を確立する実行可能なコードは、前記第1の記憶装置に関する構成情報を含んでいるテーブルを修正するコードである、請求項25に記載のコンピュータプログラム。
  28. 前記デスティネーションボリュームへの接続を確立する実行可能なコードは、前記第2の記憶装置に関する構成情報を含んでいるテーブルを修正するコードである、請求項27に記載のコンピュータプログラム。
  29. 前記デスティネーションボリュームヘの接続の確立が失敗した後に前記ソースボリュームヘの接続を無効化する実行可能なコードをさらに備える、請求項25に記載のコンピュータプログラム。
  30. エラー表示を返す実行可能なコードをさらに備える請求項25に記載のコンピュータプログラム。
  31. 有効なデータを含んでいないものとして前記ソースボリュームの部分が最初に示されるようにする実行可能なコードをさらに備える、請求項25に記載のコンピュータプログラム。
  32. 前記ソースボリュームが前記通信路上でデータを送信する準備ができたことを示した後に、前記デスティネーションボリュームから前記ソースボリュームにデータをコピーするバックグラウンドコピー操作を開始する実行可能なコードをさらに含む、請求項31に記載のコンピュータプログラム。
  33. 無効データを含むと表示された要求部分に応答してI/O操作を完了する前に、前記要求部分に対応するデータを前記デスティネーションボリュームから前記ソースボリュームにコピーする実行可能なコードをさらに備える、請求項32に記載のコンピュータプログラム。
  34. 第1の記憶装置と第2の記憶装置の間の通信路を動的に確立するためのコンピュータプログラムであって、
    前記第1の記憶装置上のデスティネーションボリュームヘの接続を確立する実行可能なコードと、
    前記デスティネーションボリュームとソースボリュームのどちらに、前記ソースボリュームと前記デスティネーションボリュームの両方に格納されるべき初期データを含んでいるかを決定する実行可能なコードと、
    前記デスティネーションボリュームへの接続の確立の成功後に、前記第2の記憶装置上の前記ソースボリュームヘの接続を確立し、前記ソースボリュームが前記通信路上でデータを送信する準備がまだできていないことを示し、前記デスティネーションボリュームと前記ソースボリュームのどちらが前記初期データを含んでいるかに応じて、前記デスティネーションボリュームと前記ソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示する実行可能なコードと、
    前記ソースボリュームおよび前記デスティネーションボリュームへの接続の確立の成功後、前記ソースボリュームは前記通信路上でデータを送信する準備ができたことを表示する実行可能なコードと、
    前記ソースボリューム及び前記デスティネーションボリュームの一方から前記ソースボリューム及び前記デスティネーションボリュームの他方に前記初期データを前記通信路を介して転送しながら、前記ソースボリュームに書き込まれたデータを前記ソースボリュームから前記デスティネーションボリュームに前記通信路を介して転送する、実行可能なコードと、
    を含むコンピュータプログラム。
  35. 前記ソースボリュームおよび前記デスティネーションボリュームの少なくとも1個を生成する実行可能なコードをさらに備える、請求項34に記載のコンピュータプログラム。
  36. 前記ソースボリュームヘの接続を確立する実行可能なコードは、前記第1の記憶装置に関する構成情報を含んでいるテーブルを修正するコードである、請求項34に記載のコンピュータプログラム。
  37. 前記デスティネーションボリュームヘの接続を確立する実行可能なコードは、前記第2の記憶装置に関する構成情報を含んでいるテーブルを修正するコードである、請求項34に記載のコンピュータプログラム。
  38. 前記ソースボリュームヘの接続の確立が失敗した後に、前記デスティネーションボリュームヘの接続を無効化する実行可能なコードをさらに備える、請求項34に記載のコンピュータプログラム。
  39. エラー表示を返す実行可能なコードをさらに備える請求項38に記載のコンピュータプログラム。
JP2007032171A 2001-11-14 2007-02-13 動的リモートデータ機構 Pending JP2007172643A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33299101P 2001-11-14 2001-11-14
US09/998,494 US6701392B1 (en) 2001-11-14 2001-11-30 Hierarchical approach to indentifying changing device characteristics

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006052397A Division JP4322260B2 (ja) 2001-11-14 2006-02-28 装置特性の変化を識別する階層的な方法及び装置

Publications (1)

Publication Number Publication Date
JP2007172643A true JP2007172643A (ja) 2007-07-05

Family

ID=26988493

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2002330916A Pending JP2003223349A (ja) 2001-11-14 2002-11-14 装置特性の変化を識別する階層的な方法及び装置
JP2006052397A Expired - Lifetime JP4322260B2 (ja) 2001-11-14 2006-02-28 装置特性の変化を識別する階層的な方法及び装置
JP2007032171A Pending JP2007172643A (ja) 2001-11-14 2007-02-13 動的リモートデータ機構
JP2007241406A Pending JP2007334920A (ja) 2001-11-14 2007-09-18 装置特性の変化を識別する階層的な方法及び装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2002330916A Pending JP2003223349A (ja) 2001-11-14 2002-11-14 装置特性の変化を識別する階層的な方法及び装置
JP2006052397A Expired - Lifetime JP4322260B2 (ja) 2001-11-14 2006-02-28 装置特性の変化を識別する階層的な方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007241406A Pending JP2007334920A (ja) 2001-11-14 2007-09-18 装置特性の変化を識別する階層的な方法及び装置

Country Status (4)

Country Link
US (2) US6701392B1 (ja)
EP (1) EP1313018B1 (ja)
JP (4) JP2003223349A (ja)
DE (1) DE60203773T2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862632B1 (en) * 2001-11-14 2005-03-01 Emc Corporation Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
US6976139B2 (en) * 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
US20050015407A1 (en) * 2003-07-17 2005-01-20 International Business Machines Corporation System and method of relational configuration mirroring
JP2005157712A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd リモートコピーネットワーク
JP4421385B2 (ja) 2004-06-09 2010-02-24 株式会社日立製作所 計算機システム
US20060168112A1 (en) * 2004-12-30 2006-07-27 Jie Weng Generic integration within an auto-id system
US7633876B2 (en) * 2005-08-22 2009-12-15 At&T Intellectual Property I, L.P. System and method for monitoring a switched metro ethernet network
WO2008090620A1 (ja) * 2007-01-25 2008-07-31 Fujitsu Limited 記憶装置、記録復旧方法、記録復旧プログラム
JP4866464B2 (ja) * 2007-07-26 2012-02-01 富士通株式会社 記憶部制御装置,記憶部制御システム,記憶部制御プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体
US8250326B2 (en) * 2008-08-29 2012-08-21 International Business Machines Corporation Data swapping in a storage system
CN110045924B (zh) * 2019-03-01 2022-02-11 平安科技(深圳)有限公司 分级存储方法、装置、电子设备及计算机可读存储介质
US11327744B2 (en) * 2019-05-29 2022-05-10 Red Hat, Inc. Equivalency of revisions on modern version control systems

Family Cites Families (15)

* 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
US5809525A (en) * 1993-09-17 1998-09-15 International Business Machines Corporation Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories
US5799323A (en) * 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
US5680640A (en) 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US6052797A (en) 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US6044444A (en) 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
US5933653A (en) 1996-05-31 1999-08-03 Emc Corporation Method and apparatus for mirroring data in a remote data storage system
US6092066A (en) 1996-05-31 2000-07-18 Emc Corporation Method and apparatus for independent operation of a remote data facility
US6101497A (en) 1996-05-31 2000-08-08 Emc Corporation Method and apparatus for independent and simultaneous access to a common data set
US5926830A (en) * 1996-10-07 1999-07-20 International Business Machines Corporation Data processing system and method for maintaining coherency between high and low level caches using inclusive states
US5895493A (en) * 1997-06-30 1999-04-20 Lsi Logic Corporation Method and apparatus for storage of multiple host storage management information on a storage subsystem
US6341333B1 (en) * 1997-10-06 2002-01-22 Emc Corporation Method for transparent exchange of logical volumes in a disk array storage device
US6157991A (en) 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6295575B1 (en) * 1998-06-29 2001-09-25 Emc Corporation Configuring vectors of logical storage units for data storage partitioning and sharing
US6209002B1 (en) 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units

Also Published As

Publication number Publication date
DE60203773D1 (de) 2005-05-25
DE60203773T2 (de) 2006-03-09
JP2006155662A (ja) 2006-06-15
JP2007334920A (ja) 2007-12-27
US6810447B2 (en) 2004-10-26
JP2003223349A (ja) 2003-08-08
EP1313018A1 (en) 2003-05-21
JP4322260B2 (ja) 2009-08-26
US20040133706A1 (en) 2004-07-08
EP1313018B1 (en) 2005-04-20
US6701392B1 (en) 2004-03-02

Similar Documents

Publication Publication Date Title
JP3779257B2 (ja) 記憶装置間の通信路を反転させる方法
JP4322260B2 (ja) 装置特性の変化を識別する階層的な方法及び装置
JP2003167682A (ja) 動的リモートデータ機構
US7409510B2 (en) Instant virtual copy to a primary mirroring portion of data
US7024525B2 (en) Distributed background track processing
JP5263902B2 (ja) ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびコンピュータ・プログラム
JPH10508967A (ja) オンライン、実時間、データ移送の技術分野のためのシステム及び方法
KR20100066398A (ko) 듀얼 노드 스토리지 컨트롤러에서 인-플라이트 데이터의 트래킹을 위한 효율적인 방법과 장치
US8024534B2 (en) Replication engine communicating with a splitter to split writes between a storage controller and replication engine
US7035978B2 (en) Method, system, and program for policies for improving throughput in remote mirroring systems
US11468091B2 (en) Maintaining consistency of asynchronous replication
EP1507207B1 (en) Hierarchical approach to identifying changing device characteristics
EP1684178B9 (en) Reversing a communication path between storage devices

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090708