JP3779257B2 - 記憶装置間の通信路を反転させる方法 - Google Patents
記憶装置間の通信路を反転させる方法 Download PDFInfo
- Publication number
- JP3779257B2 JP3779257B2 JP2002330684A JP2002330684A JP3779257B2 JP 3779257 B2 JP3779257 B2 JP 3779257B2 JP 2002330684 A JP2002330684 A JP 2002330684A JP 2002330684 A JP2002330684 A JP 2002330684A JP 3779257 B2 JP3779257 B2 JP 3779257B2
- Authority
- JP
- Japan
- Prior art keywords
- volume
- storage device
- destination
- data
- source
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータ記憶(ストレージ)装置に関し、特に記憶装置間の通信に関する。
【0002】
【従来の技術】
ホストプロセッサシステムは、複数のホストインターフェースユニット(ホストアダプタ)、ディスクドライブおよびディスクインタフェースユニット(ディスクアダプタ)を含む記憶装置を使用して、データを格納し保存して取り出すことができる。このような記憶装置は、例えば、米国マサチューセッツ州ホプキントン(Hopkinton)のEMC社(EMC Corporation)によって提供されており、Yanaiらの米国特許第5,206,939号明細書(特許文献1)、Galtzurらの米国特許第5,778,394号明細書(特許文献2)、Vishlitzkyらの米国特許第5,845,147号明細書(特許文献3)、およびOfekの米国特許第5,857,208号明細書(特許文献4)に開示されている。
【0003】
ホストシステムは、ホストシステム上に設けられた複数のチャネルを介して、記憶装置にアクセスする。ホストシステムは、チャネルを通して記憶装置にデータおよびアクセス制御情報を与え、記憶装置もまた、チャネルを通してホストシステムにデータを提供する。ホストシステムは、記憶装置のディスクドライブを、直接、アドレス指定するのではなく、むしろホストシステムにとって複数の論理ディスクユニットとして見えるものに対して、アクセスする。論理ディスクユニットは、実際のディスクドライブに対応しても対応していなくてもよい。多数のホストシステムが1個の記憶装置ユニットにアクセスすることを可能にすることで、これらのホストシステムは、その記憶装置ユニットに格納されたデータを共有できる。
【0004】
ある状況では、1個の記憶装置から別の記憶装置にデータをコピーすることが望ましい場合がある。例えば、ホストが第1の記憶装置にデータを書き込む場合に、第1の記憶装置が動作不能になるような災害が発生した場合に、そのホスト(あるいは別のホスト)が第2の記憶装置のデータを使用して動作を再開できるように、異なる場所に設けられた第2の記憶装置にそのデータをコピーすることが望ましい。このような能力は、例えば、米国マサチューセッツ州ホプキントンのEMC社によって提供されるリモートデータ機構(remote data facility:RDF、以下RDFと呼ぶ)製品によって実現できる。RDFでは、ユーザは、第1の記憶装置をマスタ記憶装置とし、第2の記憶装置をスレーブ記憶装置として示してもよい。RDFの他の実現例は、ローカル記憶装置とリモート記憶装置との間のピア・ツー・ピア関係を備えていてもよい。ホストは、ローカル記憶装置に、直接、作用するが、ローカル記憶装置に対してなされたデータ変更のすべては、RDFを使用してリモート記憶装置へ自動的に出力される。ローカル記憶装置とリモート記憶装置とは、エスコンリンク(ESCON link)あるいはファイバチャネルリンク(Fiber Channel link)のようなデータリンクによって接続することができる。このRDF機能は、それぞれの記憶装置に備えられたRDFアダプタ(RA)でさらに有効に活用ができる。
【0005】
【特許文献1】
米国特許第5,206,939号明細書
【特許文献2】
米国特許第5,778,394号明細書
【特許文献3】
米国特許第5,845,147号明細書
【特許文献4】
米国特許第5,857,208号明細書
【0006】
【発明が解決しようとする課題】
ある状況では、RDFの構成システムに修正を加えた方が好ましい場合がある。しかし多くの場合、このような修正には、特殊なソフトウェアを取り扱える熟練した専門家やローカル記憶装置への標準でない接続を必要とする。RDF構成の変更プロセスを自動化して、ホストがRDFの構成を修正できるようにすることが望ましい。さらに、RDF構成中の個々の装置が動的な構成情報にアクセスする必要がある場合に、RDF構成を動的に変更することが記憶装置の動作に影響を与えないことが望ましい。
【0007】
【課題を解決するための手段】
この発明によれば、第1および第2の記憶装置の間の通信路を動的に確立することは、第1の記憶装置上のソースボリュームヘの接続を確立し、ソース(送り手)ボリュームは通信路上にデータを送信する準備がまだできていないこと(ノットレディ状態)を示すことと、ソースボリュームへの接続の確立の成功後に、第2の記憶装置上のデスティネーション(受け手)ボリュームへの接続を確立し、デスティネーションボリュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示すことと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができていること(レディ状態)を示すことと、を含む。第1および第2の記憶装置の間の通信路を動的に確立することは、また、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成することを含んでもよい。ソースボリュームヘの接続の確立は、第1の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでいてもよい。デスティネーションボリュームヘの接続の確立は、第2の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでいてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、デスティネーションボリュームヘの接続の確立が失敗した後に、ソースボリュームヘの接続を無効化(destroy)することをさらに含んでいてもよく、その場合には、エラーが返されてもよい。デスティネーションボリュームの部分は有効なデータを含んでいないことが最初に示されてもよく、その場合は、第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上にデータを送信する準備ができたことを示した後、ソースボリュームからデスティネーションボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでもよい。ソースボリュームの部分は有効なデータを含んでいないことが最初に示されてもよく、その場合、第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後に、デスティネーションボリュームからソースボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでもよい。ホストは、ソースボリュームの特定の部分に対してI/O操作を実行してもよく、その場合、第1および第2の記憶装置の間の通信路を動的に確立することは、無効データ(invalid data)を含むと示された特定の部分に応答して、I/O操作を完了する前に、その特定の部分に対応するデータをデスティネーションボリュームからソースボリュームにコピーすることをさらに含んでもよい。
【0008】
さらに、この発明によれば、第1および第2の記憶装置の間の通信路を動的に確立することは、第1の記憶装置上のデスティネーションボリュームヘの接続を確立することと、デスティネーションボリュームへの接続の確立の成功後に、第2の記憶装置上のソースボリュームへの接続を確立し、ソースボリュームは通信路上にデータを送信する準備がまだできていないことを示し、デスティネーションボリュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示すことと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができていることを示すことと、を含む。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成することをさらに含んでもよい。デスティネーションボリュームヘの接続の確立は、第1の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでもよい。ソースボリュームヘの接続の確立は、第2の記憶装置に関する構成情報を含んでいるテーブルを修正することを含んでもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームヘの接続の確立が失敗した後に、デスティネーションボリュームヘの接続を無効化することをさらに含んでもよく、その場合には、エラー表示が返されてもよい。デスティネーションボリュームの部分は有効なデータを含んでいないことが最初に示されてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後、ソースボリュームからデスティネーションボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでいてもよい。ソースボリュームの部分は有効なデータを含んでいないことが最初に示されてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後に、デスティネーションボリュームからソースボリュームにデータをコピーするバックグラウンドコピー操作を開始することをさらに含んでいてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、ソースボリュームの特定の部分に対してI/O操作を実行するホストをさらに含んでいてもよい。第1および第2の記憶装置の間の通信路を動的に確立することは、無効データを含むと示された特定の部分に応答して、I/O操作を完了する前に、その特定の部分に対応するデータをデスティネーションボリュームからソースボリュームにコピーすることをさらに含んでいてもよい。
【0009】
さらに、この発明によれば、第1および第2の記憶装置の間の通信路を確立するコンピュータプログラム製品は、第1の記憶装置上のソースボリュームヘの接続を確立し、ソースボリュームは通信路上でデータを送信する準備がまだできていないことを示す、実行可能なコードと、ソースボリュームヘの接続の確立の成功後に、第2の記憶装置上のデスティネーションボリュームへの接続を確立し、デスティネーションボリュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示す、実行可能なコードと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができたことを示す、実行可能なコードと、を含む。コンピュータプログラム製品は、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成する実行可能なコードをさらに含んでいてもよい。ソースボリュームヘの接続を確立する実行可能なコードは、ソースボリュームヘの接続を確立する実行可能なコードは、第1の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。デスティネーションボリュームへの接続を確立する実行可能なコードは、第2の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。コンピュータプログラム製品は、デスティネーションボリュームヘの接続の確立が失敗した後にソースボリュームヘの接続を無効化する実行可能なコードをさらに含んでいてもよく、その場合、エラー表示が返されてもよい。コンピュータプログラム製品は、有効なデータを含んでいないものとしてソースボリュームの部分が最初に示されるようにする実行可能なコードをさらに含んでいてもよい。コンピュータプログラム製品は、ソースボリュームが通信路上でデータを送信する準備ができたことを示した後に、デスティネーションボリュームからソースボリュームにデータをコピーするバックグラウンドコピー操作を開始する実行可能なコードをさらに含んでいてもよい。コンピュータプログラム製品は、無効データを含むと表示された要求部分に応答してI/O操作を完了する前に、要求部分に対応するデータをデスティネーションボリュームからソースボリュームにコピーする実行可能なコードをさらに含んでいてもよい。
【0010】
さらに、この発明によれば、第1および第2の記憶装置の間の通信路を動的に確立するコンピュータプログラム製品は、第1の記憶装置上のデスティネーションボリュームヘの接続を確立する実行可能なコードと、デスティネーションボリュームへの接続の確立の成功後に、第2の記憶装置上のソースボリュームヘの接続を確立し、ソースボリュームが通信路上でデータを送信する準備がまだできていないことを示し、デスティネーションボリュームがソースボリュームからのデータを受け入れて、デスティネーションボリュームとソースボリュームのうちの一方のどの部分も有効なデータのコピーを含んでいないことを最初に示する実行可能なコードと、ソースボリュームおよびデスティネーションボリュームへの接続の確立の成功後、ソースボリュームは通信路上でデータを送信する準備ができたことを表示する実行可能なコードと、を含む。コンピュータプログラム製品は、ソースボリュームおよびデスティネーションボリュームの少なくとも1個を生成する実行可能なコードをさらに含んでもよい。ソースボリュームヘの接続を確立する実行可能なコードは、第1の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。デスティネーションボリュームヘの接続を確立する実行可能なコードは、第2の記憶装置に関する構成情報を含んでいるテーブルを修正してもよい。コンピュータプログラム製品は、ソースボリュームヘの接続の確立が失敗した後に、デスティネーションボリュームヘの接続を無効化する実行可能なコードをさらに含んでいてもよく、その場合は、エラー表示が返されてもよい。
【0011】
この発明によれば、第1の記億装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転することは、記憶装置の他のボリュームの動作を維持しつつ第1および第2のボリュームの間の通信を保留(サスペンド)にすることと、第1のボリュームを無効化することなく第1のボリュームをソースボリュームからデスティネーションボリュームに変更することと、第2のボリュームを無効化することなく第2のボリュームをデスティネーションボリュームからソースボリュームに変更することと、第1および第2のボリュームの間の通信を再開することと、を含む。第1のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第1の記憶装置に関するテーブルを修正することを含んでいてもよい。第2のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第2の記憶装置に関するテーブルを修正することを含んでいてもよい。通信を保留にすることは、第1のボリュームを準備できていない状態に設定することを含んでいてもよい。通信を再開することは、第2のボリュームを準備できた状態に設定することを含んでいてもよい。第1の記億装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転することは、通信路の反転の成功を示す結果を返すことをさらに含んでもよい。
【0012】
さらに、この発明によれば、記憶装置上のボリュームを管理することは、第1の記憶装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路の反転を要求するコマンドを受信することと、記憶装置の他のボリュームの動作を維持しつつ第1および第2のボリュームの間の通信を保留にすることと、第1のボリュームを無効化することなく第1のボリュームをソースボリュームからデスティネーションボリュームに変更することと、第2のボリュームを無効化することなく第2のボリュームをデスティネーションボリュームからソースボリュームに変更することと、第1および第2のボリュームの間の通信を再開することと、を含む。コマンドは、第1および第2の記憶装置上で動作が実行される単一のマルチホップ多重実行コマンドであってもよい。第1のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第1の記憶装置に関するテーブルを修正することを含んでもよい。第2のボリュームをソースボリュームからデスティネーションボリュームへ変更することは、第2の記憶装置に関するテーブルを修正することを含んでもよい。通信を保留にすることは、第1のボリュームを準備できていない状態に設定することを含んでもよい。通信を再開することは、第2のボリュームを準備できた状態に設定することを含んでもよい。記憶装置上のボリュームを管理することは、通信路の反転の成功を示す結果を返すことをさらに含んでもよい。
【0013】
さらに、本発明によれば、第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のボリュームとの間の通信路を反転させるコンピュータプログラム製品は、また、通信路の反転の成功を示す結果を返す実行可能なコードを含んでよい。
【0014】
この発明によれば、装置特性の決定は、第1のグローバルアクセス可能な値を得ることと、第1のグローバルアクセス可能な値が保存された第1の値に対応する場合に、比較的高速なメモリから装置特性データを得ることと、第1のグローバルアクセス可能な値が保存された第1の値に対応しない場合に、第2のグローバルアクセス可能な値を得ることと、第2のグローバルアクセス可能な値が保存された第2の値に対応する場合に、比較的高速なメモリから装置特性データを得ることと、第2のグローバルアクセス可能な値が保存された第2の値に対応しない場合に、比較的低速なメモリから装置特性データを得て、比較的高速なメモリ、保存された第1の値、および保存された第2の値を更新することと、を含む。第1のグローバルアクセス可能な値は装置のI/O情報を含んでいてもよい。グローバルアクセス可能な値は、複数のプロセッサにとってアクセス可能なグローバルメモリに保存されていてもよい。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、第1および第2の保存された値にアクセスするプロセッサに対してローカルであってもよい。第2の保存された値は、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。
【0015】
さらに、この発明によれば、装置へのアクセスは、装置にどのようにアクセスするかを示すステータス情報を得ることと、装置の構成が変化していたかどうかを判定するために、ステータス情報の少なくとも一部分を検査することと、装置の構成が変化していなかった場合に、比較的高速なメモリにアクセスし保存された構成データ(コンフィギュレーションデータ)を参照することと、装置の構成が変化していた場合に、比較的低速なメモリにアクセスし新規な構成情報を参照し、新規な構成情報によって保存された構成データを更新することと、を含む。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、その高速なメモリにアクセスするプロセッサに対してローカルであってもよい。保存された構成データは、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。ステータス情報の少なくとも一部分を検査することは、ステータス情報のその部分が第1の保存された値に等しいかどうかを判定することを含んでよい。装置へのアクセスは、また、ステータス情報のその部分が第1の保存された値に等しくない場合に、付加的なステータス情報を得て、付加的なステータス情報の部分が第2の保存された値に等しいかどうかを判定することをさらに含んでもよい。装置へのアクセスは、また、保存された構成データを更新した後、第1および第2の保存された値を更新することを含んでもよい。
【0016】
さらに、この発明によれば、装置特性を決定するコンピュータプログラム製品は、第1のグローバルアクセス可能な値を得る実行可能なコードと、第1のグローバルアクセス可能な値が保存された第1の値に対応する場合に、比較的高速なメモリから装置特性データを得る実行可能なコードと、第1のグローバルアクセス可能な値が保存された第1の値に対応しない場合に、第2のグローバルアクセス可能な値を得る実行可能なコードと、第2のグローバルアクセス可能な値が保存された第2の値に対応する場合に、比較的高速なメモリから装置特性データを得る実行可能なコードと、第2のグローバルアクセス可能な値が保存された第2の値に対応しない場合に、比較的低速なメモリから装置特性データを得て、比較的高速なメモリ、保存された第1の値、および保存された第2の値を更新する実行可能なコードと、を含む。第1のグローバルアクセス可能な値は、装置のI/O情報を含んでいてもよい。第2の保存された値は、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。
【0017】
さらに、この発明によれば、装置にアクセスするコンピュータプログラム製品は、装置にどのようにアクセスするかを示すステータス情報を得る実行可能なコードと、装置の構成が変化していたかどうかを判定するために、ステータス情報の少なくとも一部分を検査する実行可能なコードと、装置の構成が変化していなかった場合に、比較的高速なメモリにアクセスし保存された構成データを参照する実行可能なコードと、装置の構成が変化していた場合に、比較的低速なメモリにアクセスし新規な構成情報を参照し、新規な構成情報によって保存された構成データを更新する実行可能なコードと、を含む。保存された構成データは、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。ステータス情報の少なくとも一部分を検査する実行可能なコードは、ステータス情報のその部分が第1の保存された値に等しいかどうかを判定する実行可能なコードを含んでもよい。装置にアクセスするコンピュータプログラム製品は、また、ステータス情報のその部分が第1の保存された値に等しくない場合に、付加的なステータス情報を得て、付加的なステータス情報の部分が第2の保存された値に等しいかどうか判定する実行可能なコードを含んでいてもよい。装置にアクセスするコンピュータプログラム製品は、また、保存された構成データを更新した後、第1および第2の保存された値を更新する実行可能なコードを含んでいてもよい。
【0018】
さらに、この発明によれば、装置特性を決定する機構は、第1のグローバルアクセス可能な値を得る手段と、第1のグローバルアクセス可能な値が保存された第1の値に対応する場合に、比較的高速なメモリから装置特性データを得る手段と、第1のグローバルアクセス可能な値が保存された第1の値に対応しない場合に、第2のグローバルアクセス可能な値を得る手段と、第2のグローバルアクセス可能な値が保存された第2の値に対応する場合に、比較的高速なメモリから装置特性データを得る手段と、第2のグローバルアクセス可能な値が保存された第2の値に対応しない場合に、比較的低速なメモリから装置特性データを得て、比較的高速なメモリ、保存された第1の値、および保存された第2の値を更新する手段と、を含む。第1のグローバルアクセス可能な値は装置のI/O情報を含んでもよい。グローバルアクセス可能な値は、複数のプロセッサにとってアクセス可能なグローバルメモリに保存されてもよい。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、第1および第2の保存された値にアクセスするプロセッサに対してローカルであってもよい。第2の保存された値は、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。
【0019】
さらに、この発明によれば、装置にアクセスする機構は、装置にどのようにアクセスするかを示すステータス情報を得る手段と、装置の構成が変化していたかどうかを判定するために、ステータス情報の少なくとも一部分を検査する手段と、装置の構成が変化していなかった場合に、比較的高速なメモリにアクセスし保存された構成データを参照する手段と、装置の構成が変化していた場合に、比較的低速なメモリにアクセスし新規な構成情報を参照し、新規な構成情報によって保存された構成データを更新する手段と、含む。比較的低速なメモリは、複数のプロセッサにとってアクセス可能なグローバルメモリであってもよい。比較的高速なメモリは、高速なメモリにアクセスするプロセッサに対してローカルであってもよい。保存された構成データは、リモートデータ通信リンク中で装置がデータに対してソースであるかデスティネーションであるかを示してもよい。ステータス情報の少なくとも一部分を検査する手段は、ステータス情報のその部分が第1の保存された値に等しいかどうかを判定する手段を含んでいてもよい。機構は、ステータス情報のその部分が第1の保存された値に等しくない場合に、付加的なステータス情報を得て、付加的なステータス情報の部分が第2の保存された値に等しいかどうかを決定する手段をさらに含んでいてもよい。機構は、保存された構成データを更新した後、第1および第2の保存された値を更新する手段をさらに含んでいてもよい。
【0020】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態を説明する。
【0021】
図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製品を使用して容易に実現できる。
【0022】
ローカル記憶装置24は、RDFアダプタユニット(RA)30を含み、また、リモート記憶装置26はRA32を含む。RA30、32は、RDFリンク29に接続されており、ホストアダプタ28に類似しているが、記憶装置24、26の間でデータを転送するために使用される。RA30、32に関して使用されるソフトウェアについては、以下に詳細に述べる。
【0023】
記憶装置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の間ではコピーしないようにすることが可能で、その場合には、それらのデータは同一にはならない。
【0024】
それぞれのディスク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の間に存在する。
【0025】
ローカル記憶装置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の使用については、以下により詳細に説明する。
【0026】
ディスク33a〜33cに対応するローカル記憶装置24中の記憶空間は、複数のボリュームや論理装置へ細分化される。論理装置は、ディスク33a〜33cの物理記憶空間に一致していても一致していなくてもよい。これにより、例えば、ディスク33aが複数の論理装置を含んでいてもよいし、あるいは、単一の論理装置がディスク33a、33bの両方にまたがっていてもよい。同様に、ディスク34a〜34cを備えるリモート記憶装置26の記憶空間は、複数のボリュームまたは論理装置へ細分化されてもよく、それぞれの論理装置は、ディスク34a〜34cの1または2個以上に対応していても対応していなくてもよい。
【0027】
ローカル記憶装置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ボリュームへのデータの自動コピーと更新とを処理する。
【0028】
ある状況では、ホスト22がシステムの動作中にRDFボリュームの生成(create)と無効化(destroy)とを実行できるようにすることが、有益である。RDFボリュームは、R1/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ボリュームの生成することを含む。
【0029】
さらに、ある状況では、1または2個以上の既存のボリュームにRDF接続を確立することが有効であろう。このようにして、例えば、既存のソース(送り手)ボリュームを、RDFを使用して新規に生成されたデスティネーション(受け手)ボリュームに接続してもよい。したがって、これからの議論においては、ボリュームの生成との言及には、既存のボリュームヘの接続の生成も含まれる、と理解できる。同様に、ボリュームの無効化への言及には、RDF接続を単に無効化することが含まれる、と適切に理解できる。新しいボリュームを生成するかあるいは無効化する場合と、単に既存のボリュームヘの接続を生成または無効化する場合のいずれの場合も、RDF接続データを含んだ同じテーブル(以下に述べる)が修正されることは注意を要する。
【0030】
図2について説明すると、フローチャート50は、R1/R2対の生成または無効化に関して実行されるステップを示している。処理は、無効化コマンドが発行されているかどうか判断する第1のステップ52で開始する。ある実施形態では、生成コマンドか無効化コマンドかいずれかのみが発行される。したがって、コマンドが無効化コマンドでない場合、そのコマンドは生成コマンドである。ステップ52において無効化コマンドが発行されたと判断される場合、制御は、ステップ52から、バックグラウンドコピーのようなバックグラウンドI/O(入出力)動作が保留(サスペンド)されるステップ54へ移行する。R1/R2対を無効化にする前に、最初に、すべてのバックグラウンドI/Oを保留にすることが有効である。他の実施形態では、ボリュームの無効化はバックグラウンドI/O(そしてR1/R2対に関連する他の動作)を自動的に終了させるので、ステップ54は不要となり実行されない。
【0031】
ステップ54に続くのは、R1ボリュームに対応する記憶装置上のアロケーション(割付け)テーブルを修正するステップ56である。アロケーションテーブルは、記憶装置のRDF構成に関する動的情報を含む。アロケーションテーブルは、論理装置識別子(例えば数字)および論理装置のそれぞれのミラー番号によって索引付けられた2次元の配列を含んでいてもよい。ある実施形態では、それぞれの装置が最大4個のミラーを持つこともある。他の実施形態では、4個を越えるミラーを採用する。アロケーションテーブルヘのエントリは、装置のためのミラーがローカルミラー、R1ボリューム、R2ボリューム、あるいはBCV(ビジネスコンティニュアンスボリューム)やRAID(Redundant Array of Independant Disks)ミラーのような他のタイプのミラーかどうかを示す。
【0032】
ステップ56で、R1ボリュームを含んでいる記憶装置上のアロケーションテーブルは、R1ボリュームを削除するよう修正される。ステップ56に続くステップ58では、R2ボリュームを含む記憶装置上のアロケーションテーブルは、R2ボリュームを削除するよう修正される。ステップ58に続くステップ60では、以前に実行された操作の結果(例えば成功または失敗)が返される。ステップ60が終わると処理は完了する。
【0033】
ステップ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が終わると処理は、完了する。
【0034】
テストステップ64で、ステップ62でのR1ボリュームまたはR2ボリュームの生成が成功したと判断された場合は、ステップ64から、制御は、場合に応じて、第2のサイトでR1ボリュームまたはR2ボリュームを生成するステップ68へ移行する。第2のサイトでの生成は、適切なアロケーションテーブルを修正することを含む。第2のサイトは、コマンドを受け取る第2の記憶装置でもよい。ここに示された実施形態では、第2のサイトは、ローカル記憶装置24を通してホスト22からコマンドを受け取るリモート記憶装置26である。
【0035】
ステップ68に続くテストステップ70では、ステップ68での生成が成功かどうかが判断される。テストステップ70で、第2のサイトでの生成が成功しなかったと判断された場合には、ステップ70から、制御は、生成された第1のサイトを無効化するステップ72に移行する。RlボリュームとR2ボリュームとは、第2のサイトでいずれか1個のボリュームの生成に失敗すると、第1のサイトで生成に成功したボリュームはステップ72で無効化にされるように、対をなして生成されることに注意が必要である。ステップ72の次のステップ74では、上述のようにステップ66でエラーを返したのと同様に、エラーがホスト22に返される。ステップ74が終わると、処理は完了する。
【0036】
テストステップ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のホストからデータを受信する能力を指すものではないということは、注意を要する。データは、トラック以外のユニット内で構成でき、この場合、ここで開示された操作は、使用するトラック以外のいかなるユニット上でも実行されるであろうということに、注意を要する。
【0037】
ステップ78に続きステップ79では、操作が成功したことを示す信号がホスト22に返される。ステップ79が終わると、処理は完了する。上述した無効トラックの設定と、デバイスノットレディ状態の設定および解除とは、設定が生成動作中およびそれ以降には適切な状態で維持されるという条件の下で、図2や上記の説明に示された順番と異なった順番でも実行できることに注意を要する。
【0038】
ある実施形態においては、ボリュームの生成(create)と無効化(destroy)とを特別の順序で行うことが有効である。例えば、まずR2ボリュームを生成し、続いてR1ボリュームを生成することは有効である。同様に、まずR1ボリュームを無効化し、次にR2ボリュームを無効化することも有効である。代わりに、前記ボリュームはどんな順番でも生成、無効化してもよいが、一方、動作は、R1ボリュームに対するノットレディインジケータをセットすることで制御され、そしてR1ボリュームに対するノットレディインジケータは、操作を実行するかどうかを制御する。このように、R1ボリュームおよびR2のボリュームはどんな順番で生成してもよいが、R1ボリュームに対するノットレディインジケータは、R1とR2の両方が生成されない限りそして生成されるまで、レディを表示するように設定されない。同様に、第1のステップとしてR1に対するノットレディ指標を設定することは、R1とR2を無効化する後続のステップがどのような順番にでも実行できるようにする。
【0039】
ある実施形態においては、R1/R2対を生成するコマンドが、R1ボリュームとR2ボリュームの両方に使用される特別のボリュームを示すようにすることが有効である。すなわち、ホスト22は、Rlボリュームとしてローカル記憶装置24から既存の論理装置を選択し、さらに、R2ボリュームとしてリモート記憶装置26から既存の論理装置を選択することができる。代わりの実施形態では、R2ボリュームとして未使用のいかなる論理装置もリモート記憶装置26に選択させることも可能である。また一方、システムコマンドがR2ボリュームのために特定のボリューム識別を望む場合には、記憶装置24、26および/またはホスト22の1つにアプリケーションプログラムインタフェース(Application Program Interface:API)を重ねて、R2ボリュームを選択することも可能である。
【0040】
さらに、新しく生成されたR1/R2対のための初期データがR2ボリューム上で見つかる場合があることに、注意を要する。例えば、リモート記憶装置26がそこに接続されたホスト(不図示)が機能しない場合、ローカル記憶装置24に接続しているホスト22からシステムを再起動することが有効である。しかしながら、その場合、起動するための初期データは、R2ボリューム上(つまりリモート記憶装置26上)にあってもよい。このようにして、起動時、初期データは、R2装置からR1装置にコピーされ、そののちホスト22は、ローカル記憶装置24にあるR1装置およびリモート記憶装置26にあるR2装置について、通常のRDF動作を継続する。R2装置からR1装置への(あるいはR1装置からR2装置への)コピーは、バックグラウンドコピーにより行われてもよい。
【0041】
図3を参照すると、フローチャート80は、R1/R2対が初期化された後ではあるがバックグラウンドコピーの完了前のシステムの動作を示している。ホスト22は、バックグラウンドコピーが完了していなくても、R1ボリュームに対する読出しおよび書込みを行うことに注意を要する。
【0042】
処理は、R2ボリュームが初期データを含んでいるかどうかが判断される初期テストステップ82から始まる。初期データを含んでいない場合には、次に、制御は、テストステップ82から、R1がホスト22によって要求された読出しおよび書込みに使用されるステップ84まで進む。
【0043】
テストステップ82においてR2ボリュームが初期データを含むと判断された場合は、制御は、テストステップ82から、書込まれたか読出されたトラックが無効かどうかの判断が行われるテストステップ86に進む。無効トラックは、R2ボリュームにある初期データがR1ボリュームにまだコピーされていないことを示す。無効トラックの設定に関しては、図1に基づいてすでに上述した。このようにして、テストステップ86において、ホスト22によって書込みあるいは読出しが実行されたトラックが無効であると判断された場合、制御は、ステップ86から、R2ボリュームがRDFにより読出しあるいは書込み操作のために使用されるステップ88まで進む。ある状況では、全体ではなく一部のトラックのみがホストによって書込まれる場合があることに注意を要する。このようにして、R2が初期データを含む場合における無効トラックにとって、ホスト22からのデータをR2ボリュームに送信することは有効である。ステップ88の後、処理は完了する。一方、ステップ86において、読出されあるいは書込まれたトラックが無効ではないと判断された場合には、制御は、テストステップ86から、R1ボリュームが従来の方法で使用されるステップ84まで進む。ステップ84の後、処理は完了する。
【0044】
図4を参照すると、このブロック図は、ローカル記憶装置24のメモリ37あるいはリモート記憶装置26のメモリ38を表わすグローバルメモリを示している。グローバルメモリは、上述したように、静的(static)構成(configuration)データ92のためのメモリ位置と、アロケーションテーブル(DAT)のような動的(dynamic)構成データ94のためのメモリ位置とを含む。静的構成データ92は、工場あるいは技術者によってセットアップされる記憶装置用の構成情報を含む。静的構成データ92は、グローバル半導体メモリに読み込まれるファイルで提供されるか、または半導体メモリの不揮発性部分として提供される。
【0045】
動的構成データ94は、静的構成データ92から修正された対応するシステムの構成を表わす。したがって、例えば、静的構成データ92は、R1/R2のRDF対を形成する特定のボリュームを示してもよく、一方、動的構成データ94は、その特定のRl/R2 RDF対が引き続いて無効化されたことを示すことで、静的構成データ92をオーバーライドする。動的構成データ94は、ディスク上に格納されてさらに電子メモリに読み込まれてもよいし、および/または、不揮発性である電子メモリに格納されてもよい。ある実施形態では、動的構成データ94は、静的構成データ92をオーバーライドしてもよい。他の実施形態では、動的構成データ94は、単に付加的なものであり、あるアイテムに対応した静的構成データ92に何らエントリがない場合に使用されてもよい。
【0046】
図5を参照すると、フローチャート100は、特定の論理装置の構成の判定法を示している。論理装置に対するそれぞれの読出しあるいは書込みアクセスは、装置の構成についての知見を利用して、装置がR1/R2対の一部であるかどうかを判断することに、注意を要する。
【0047】
処理は、動的構成データ94に論理装置に対するエントリ入力があるかどうかが判断されるステップ102から始まる。エントリがない場合、制御は、ステップ102から、静的構成データ92を調べて装置の構成を判断するステップ104に移行する。定義により静的構成データ92は変化しないので、個々の論理装置は、静的構成データ92の容易にアクセス可能であるローカルコピーを持つことができることに注意を要する。ステップ104の後、処理は完了する。
【0048】
テストステップ102において、動的構成データ94に論理装置に対するエントリがあると判断された場合、制御は、テストステップ102から、動的構成データ94を用いて論理装置の構成を決定するステップ106に移行する。あるいは、最初に静的構成データ92をチェックし、次に、オーバーライドするエントリが動的構成データ94に存在するかどうかをチェックすることも可能であることに、注意を要する。
【0049】
図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のそれぞれは、ホスト(不図示)に接続される接続部を含む。
【0050】
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が、入力データを処理するためにボリュームの構成情報にアクセスすることは、有効である。
【0051】
したがって、HA112〜114、DA116〜118およびRA126が、記憶装置110上のボリュームのセットアップ構成を示す正確な情報にアクセスすることができることは、有効である。情報を得る1つの方法は、それぞれの読出しまたは書込み操作に対して、グローバルメモリ124から動的構成データ94を読出すことであり、その時、もし照会された装置が動的構成データ94の中に見つからない場合には、静的構成データ92にアクセスすることである。しかしながら、すべてのI/O操作に対してグローバルメモリヘアクセスすることは、逆に記憶装置110の性能に悪い影響を与える。したがって、記憶装置110の装置構成を決定するより効率的なメカニズムが準備されている。
【0052】
図7を説明すると、説明図150は、構成データを判断するために使用するグローバルメモリヘのアクセス回数を減少させるメカニズムを示している。レディバッファ152は、入出力(I/O)が実行されるごとにアクセスされるデータに相当する。レディバッファ152は、装置の状態および/またはシステムの状態のような、I/Oに関連する有効な情報を表示する。このようにして、レディバッファ152は、それぞれのI/O操作のためにアクセスされる。
【0053】
レディバッファ152は、ある実施形態では、装置構成が変更されるごとにインクリメントされる1バイトデータのリビジョン(改訂)数フィールド154を含む。かくして、I/Oを実行する装置は、リビジョン数フィールド154を調べ、さらなる照会が必要かどうか決定することができる。
【0054】
バイトの集合156は、リビジョン数フィールド154の変更に応じてアクセスされてもよい。バイトの集合156の特定のバイト158は、記憶装置に対する動的RDF構成における変更を示すために使用できるだろう。このようにして、レディバッファ152およびバイトの集合156の組合せを、I/Oが実行されるごとにグローバルメモリ124へのアクセスを最小限にするために、使用することができる。
【0055】
図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の後で、処理は完了する。
【0056】
テストステップ172においてリビジョン数フィールド154が変化したと判断された場合は、制御は、ステップ172から、バイトの集合156がフェッチされるステップ176まで移行する。バイトの集合156は、例えばグローバルメモリ124の仲に、あるいは、不揮発性の電子メモリやディスクなどの他のメモリの中に、格納できる。
【0057】
ステップ176に続くのはステップ178であり、テストステップ178では、バイトの集合156中のRDF構成変化に対応するバイト158が修正された(例えば、インクリメントされた)かどうかの判断がなされる。修正されていない場合には、前述のごとく、制御は、ステップ178から、構成データのローカルに保存されたコピーがRDF構成を判断するために使用されるステップ174に移行する。ステップ174の後で、処理は完了する。
【0058】
テストステップ178においてRDF構成が変更されたと判断された場合、制御は、ステップ178から、グローバルメモリ124中の動的構成データ94がアクセスされるステップ180まで移行する。ステップ180に続くステップ182では、構成データのローカルに保存されたコピーが、グローバルメモリ124からの新バージョンのデータにより更新される。ステップ182に続き、ステップ174では、構成データのローカルに保存されたバージョン(更新されたばかりのもの)が、RDF構成を決定する装置により使用される。ステップ174の後で、処理は完了する。
【0059】
ある実施形態では、アロケーションテーブルから定期的に動的構成データにアクセスし、各装置に対する記憶装置中の構成データのローカルコピーを更新するバックグラウンドメカニズムを含むことも可能である。かくして、各装置は、最初にI/Oを実行せずにこのバックグラウンドタスクで更新されてもよい。
【0060】
システムのRDF構成を決定する場合、グローバルメモリヘのアクセスを制御するためにリビジョン番号を使用するためのここで述べたメカニズムは、BCV(ビジネス・コンティニュアンス・ボリューム;Business Continuance Volume)構成のような他のシステムパラメータにも同様に適用できることに注意を要する。BCVは、例えば、ホストアプリケーションとともに使用するよう構成された別の装置からのデータの一貫し同期したコピーを含むことができる。データのBCVコピーは、他の装置に対して継続的なデータ操作をホストに実行させつつ、データコピーに作用する別のアプリケーションで独立して使用されてもよい。
【0061】
図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に移行する。
【0062】
テストステップ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の後で、処理は完了する。
【0063】
ここに開示された前記システムについては、ホスト22は、スタンドアロンのコンピュータ装置、ネットワークの一部、別の記憶装置、ある程度の記憶能力を有するコンピュータ、および/または、ここに開示された機能性を備えるいかなる装置でもよいということに注意を要する。同様に、ここに開示されたシステムは、ローカル記憶装置24をエミュレートするか、そうでなければ、ここに開示された機能を備えるよう構成された、別のコンピュータ装置、ネットワーク接続などを含む、ローカル記憶装置24として使用されるすべての適切な装置で実施できる。
【図面の簡単な説明】
【図1】ここで説明するシステムに関連して使用されるホスト、ローカル記憶装置およびリモートデータ記憶装置の概念図である。
【図2】ここで説明するシステムの動作を示すフローチャートである。
【図3】ここで説明するシステムの読出しおよび書込み操作にのどのボリュームが使用されるかを決定する処理を示すフローチャートである。
【図4】ここで説明するシステムにおける記憶装置に対するグローバルメモリを示す図である。
【図5】ここで説明するシステムにおける装置のRDF構成の評価に関連して、静的構成データまたは動的構成データを使用するかどうか判定する階層を示すフローチャートである。
【図6】ここで説明するシステムに関連して使用される記憶装置とそのコンポーネントとを詳細に示す概念図である。
【図7】ここで説明するシステムに関連して使用されるレディバッファとバイトの集合とを示す図である。
【図8】図7に示したレディバッファとバイトの集合へのアクセスに関連して実行される工程を示すフローチャートである。
【図9】ここで説明するシステムの別の実施形態を示すフローチャートである。
【符号の説明】
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 (19)
- 第1の記憶装置上の第1のボリュームと第2の記憶装置上の第2ボリュームとの間の通信路を反転させる方法であって、
前記記憶装置の他のボリュームの動作を維持しつつ前記第1および第2のボリュームの間の通信を保留にする段階と、
前記第1のボリュームを無効化することなく前記第1のボリュームをソースボリュームからデスティネーションボリュームに変更する段階と、
前記第2のボリュームを無効化することなく前記第2のボリュームをデスティネーションボリュームからソースボリュームに変更する段階と、
前記第1のボリュームをソースボリュームからデスティネーションボリュームに変更し前記第2のボリュームをデスティネーションボリュームからソースボリュームに変更したのちに、前記ソースボリュームから前記デスティネーションボリュームへのバックグラウンドコピーを開始する段階と、
前記バックグラウンドコピーの完了とは独立に前記第1および第2のボリュームに対するデータアクセス動作を再開する段階であって、前記データアクセス動作では、前記第2のボリュームへのデータ書き込み動作と前記第1のボリュームのみに有効なデータが存在することとに対応して、前記第2のボリュームへの前記書き込み動作は、前記第1のボリュームのみにデータを書き込むことによって満たされる、段階と、
を備える方法。 - 前記第1のボリュームを前記ソースボリュームから前記デスティネーションボリュームへ変更する段階は、前記第1の記憶装置に関するテーブルを修正することを含む、請求項1に記載の方法。
- 前記第2のボリュームを前記ソースボリュームから前記デスティネーションボリュームへ変更する段階は、前記第2の記憶装置に関するテーブルを修正することを含む、請求項2に記載の方法。
- 前記通信を保留にする段階は、前記第1のボリュームを準備できていない状態に設定することを含む、請求項1に記載の方法。
- 前記通信を再開する段階は、前記第2のボリュームを準備できた状態に設定することを含む、請求項4に記載の方法。
- 前記通信路の反転の成功を示す結果を返すことをさらに備える、請求項1に記載の方法。
- 記憶装置上のボリュームを管理する方法であって、
第1の記憶装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路の反転を要求するコマンドを受信する段階と、
前記記憶装置の他のボリュームの動作を維持しつつ前記第1および第2のボリューム間の通信を保留にする段階と、
前記第1のボリュームを無効化することなく前記第1のボリュームをソースボリュームからデスティネーションボリュームに変更する段階と、
前記第2のボリュームを無効化することなく前記第2のボリュームをデスティネーションボリュームからソースボリュームに変更する段階と、
前記第1のボリュームをソースボリュームからデスティネーションボリュームに変更し前記第2のボリュームをデスティネーションボリュームからソースボリュームに変更したのちに、前記ソースボリュームから前記デスティネーションボリュームへのバックグラウンドコピーを開始する段階と、
前記バックグラウンドコピーの完了とは独立に前記第1および第2のボリュームに対するデータアクセス動作を再開する段階であって、前記データアクセス動作では、前記第2のボリュームへのデータ書き込み動作と前記第1のボリュームのみに有効なデータが存在することとに対応して、前記第2のボリュームへの前記書き込み動作は、前記第1のボリュームのみにデータを書き込むことによって満たされる、段階と、
を備える方法。 - 前記コマンドは、前記第1および第2の記憶装置上で動作が実行される単一のマルチホップ多重実行コマンドである、請求項7に記載の方法。
- 前記第1のボリュームを前記ソースボリュームから前記デスティネーションボリュームへ変更する段階は、前記第1の記憶装置に関するテーブルを修正することを含む、請求項7に記載の方法。
- 前記第2のボリュームを前記ソースボリュームから前記デスティネーションボリュームへ変更する段階は、前記第2の記憶装置に関するテーブルを修正することを含む、請求項9に記載の方法。
- 前記通信を保留にする段階は、前記第1のボリュームを準備できていない状態に設定することを含む、請求項7に記載の方法。
- 前記通信を再開する段階は、前記第2のボリュームを準備できた状態に設定することを含む、請求項11に記載の方法。
- 前記通信路の反転の成功を示す結果を返すことをさらに備える、請求項7に記載の方法。
- 第1の記憶装置上の第1のボリュームと第2の記憶装置上の第2のボリュームとの間の通信路を反転させるコンピュータプログラム製品であって、
前記記憶装置の他のボリュームの動作を維持しながら前記第1および第2のボリューム間の通信を保留にする実行可能なコードと、
前記第1のボリュームを無効化することなく前記第1のボリュームをソースボリュームからデスティネーションボリュームに変更する実行可能なコードと、
前記第2のボリュームを無効化することなく前記第2のボリュームをデスティネーションボリュームからソースボリュームに変更する実行可能なコードと、
前記第1のボリュームをソースボリュームからデスティネーションボリュームに変更し前記第2のボリュームをデスティネーションボリュームからソースボリュームに変更したのちに、前記ソースボリュームから前記デスティネーションボリュームへのバックグラウンドコピーを開始する実行可能なコードと、
前記バックグラウンドコピーの完了とは独立に前記第1および第2のボリュームに対するデータアクセス動作を再開する実行可能なコードであって、前記データアクセス動作では、前記第2のボリュームへのデータ書き込み動作と前記第1のボリュームのみに有効なデータが存在することとに対応して、前記第2のボリュームへの前記書き込み動作は前記第1のボリュームのみにデータを書き込むことによって満たされる、実行可能なコードと、
を備えるコンピュータプログラム製品。 - 前記ソースボリュームから前記デスティネーションボリュームへ前記第1のボリュームを変更する実行可能なコードは、前記第1の記憶装置に関するテーブルを修正する、請求項14に記載のコンピュータプログラム製品。
- 前記ソースボリュームから前記デスティネーションボリュームへ前記第2のボリュームを変更する実行可能なコードは、前記第2の記憶装置に関するテーブルを修正する、請求項15に記載のコンピュータプログラム製品。
- 前記通信を保留にする実行可能なコードは、前記第1のボリュームを準備できていない状態に設定する、請求項14に記載のコンピュータプログラム製品。
- 前記通信を再開する実行可能なコードは、前記第2のボリュームを準備できた状態に設定する、請求項17に記載のコンピュータプログラム製品。
- 前記通信路の反転の成功を示す結果を返す実行可能なコードをさらに備える、請求項14に記載のコンピュータプログラム製品。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33299101P | 2001-11-14 | 2001-11-14 | |
US60/332991 | 2001-11-14 | ||
US09/998,683 US6976139B2 (en) | 2001-11-14 | 2001-11-30 | Reversing a communication path between storage devices |
US09/998683 | 2001-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003167685A JP2003167685A (ja) | 2003-06-13 |
JP3779257B2 true JP3779257B2 (ja) | 2006-05-24 |
Family
ID=26988494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002330684A Expired - Lifetime JP3779257B2 (ja) | 2001-11-14 | 2002-11-14 | 記憶装置間の通信路を反転させる方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US6976139B2 (ja) |
EP (1) | EP1313017B1 (ja) |
JP (1) | JP3779257B2 (ja) |
DE (2) | DE60212922T2 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7864758B1 (en) * | 2001-09-28 | 2011-01-04 | Emc Corporation | Virtualization in a storage system |
US7219201B2 (en) * | 2003-09-17 | 2007-05-15 | Hitachi, Ltd. | Remote storage disk control device and method for controlling the same |
JP2005157712A (ja) * | 2003-11-26 | 2005-06-16 | Hitachi Ltd | リモートコピーネットワーク |
JP4488807B2 (ja) * | 2004-06-25 | 2010-06-23 | 株式会社日立製作所 | ボリューム提供システム及び方法 |
JP4830562B2 (ja) * | 2006-03-17 | 2011-12-07 | 株式会社日立製作所 | 情報処理システムのデータ入出力方法及び情報処理システム |
JP4842720B2 (ja) | 2006-06-29 | 2011-12-21 | 株式会社日立製作所 | ストレージシステム及びデータ複製方法 |
US8122209B1 (en) | 2008-03-27 | 2012-02-21 | Emc Corporation | Diskless storage device |
US8135929B1 (en) | 2008-03-27 | 2012-03-13 | Emc Corporation | Cascaded remote data facility system having diskless intermediate RDF site providing logical storage device functionality |
US8589645B1 (en) | 2008-03-27 | 2013-11-19 | Emc Corporation | Remote read for storage devices |
US8335899B1 (en) | 2008-03-31 | 2012-12-18 | Emc Corporation | Active/active remote synchronous mirroring |
US8566549B1 (en) | 2008-12-31 | 2013-10-22 | Emc Corporation | Synchronizing performance requirements across multiple storage platforms |
US9606870B1 (en) | 2014-03-31 | 2017-03-28 | EMC IP Holding Company LLC | Data reduction techniques in a flash-based key/value cluster storage |
US10324635B1 (en) | 2016-03-22 | 2019-06-18 | EMC IP Holding Company LLC | Adaptive compression for data replication in a storage system |
US10565058B1 (en) | 2016-03-30 | 2020-02-18 | EMC IP Holding Company LLC | Adaptive hash-based data replication in a storage system |
US10409520B1 (en) | 2017-04-27 | 2019-09-10 | EMC IP Holding Company LLC | Replication of content-based storage using address space slices |
US10503609B1 (en) | 2017-04-27 | 2019-12-10 | EMC IP Holding Company LLC | Replication link smoothing using historical data |
US10853221B2 (en) | 2018-05-04 | 2020-12-01 | EMC IP Holding Company LLC | Performance evaluation and comparison of storage systems |
US10705753B2 (en) | 2018-05-04 | 2020-07-07 | EMC IP Holding Company LLC | Fan-out asynchronous replication logical level caching |
US11360688B2 (en) | 2018-05-04 | 2022-06-14 | EMC IP Holding Company LLC | Cascading snapshot creation in a native replication 3-site configuration |
US10860239B2 (en) | 2018-05-04 | 2020-12-08 | EMC IP Holding Company LLC | Fan-out asynchronous replication caching |
US11048722B2 (en) | 2018-07-31 | 2021-06-29 | EMC IP Holding Company LLC | Performance optimization for data persistency in asynchronous replication setups |
US10613793B1 (en) | 2018-11-01 | 2020-04-07 | EMC IP Holding Company LLC | Method to support hash based xcopy synchronous replication |
US10719249B1 (en) | 2019-01-31 | 2020-07-21 | EMC IP Holding Company LLC | Extent lock resolution in active/active replication |
US10853200B2 (en) | 2019-02-01 | 2020-12-01 | EMC IP Holding Company LLC | Consistent input/output (IO) recovery for active/active cluster replication |
US11194666B2 (en) | 2019-04-26 | 2021-12-07 | EMC IP Holding Company LLC | Time addressable storage in a content addressable storage system |
US10719257B1 (en) | 2019-04-29 | 2020-07-21 | EMC IP Holding Company LLC | Time-to-live (TTL) license management in an active/active replication session |
US11216388B2 (en) | 2019-04-30 | 2022-01-04 | EMC IP Holding Company LLC | Tiering between storage media in a content aware storage system |
US11301138B2 (en) | 2019-07-19 | 2022-04-12 | EMC IP Holding Company LLC | Dynamic balancing of input/output (IO) operations for a storage system |
US10908828B1 (en) | 2019-07-25 | 2021-02-02 | EMC IP Holding Company LLC | Enhanced quality of service (QoS) for multiple simultaneous replication sessions in a replication setup |
US11238063B2 (en) | 2019-07-25 | 2022-02-01 | EMC IP Holding Company LLC | Provenance-based replication in a storage system |
US11429493B2 (en) | 2020-01-20 | 2022-08-30 | EMC IP Holding Company LLC | Remote rollback of snapshots for asynchronous replication |
US11281407B1 (en) | 2020-09-23 | 2022-03-22 | EMC IP Holding Company LLC | Verified write command in active-active replication |
US11593396B2 (en) | 2020-09-23 | 2023-02-28 | EMC IP Holding Company LLC | Smart data offload sync replication |
Family Cites Families (32)
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 |
US5241668A (en) * | 1992-04-20 | 1993-08-31 | International Business Machines Corporation | Method and system for automated termination and resumption in a time zero backup copy process |
JPH07104945A (ja) | 1993-10-07 | 1995-04-21 | Hitachi Ltd | 複写処理方法 |
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 |
US5809224A (en) * | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | On-line disk array reconfiguration |
US6405294B1 (en) * | 1995-12-29 | 2002-06-11 | Mci Communications Corporation | Data center migration method and system using data mirroring |
US5852715A (en) * | 1996-03-19 | 1998-12-22 | Emc Corporation | System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions |
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 |
US6052797A (en) * | 1996-05-28 | 2000-04-18 | Emc Corporation | Remotely mirrored data storage system with a count indicative of data consistency |
US5933653A (en) * | 1996-05-31 | 1999-08-03 | Emc Corporation | Method and apparatus for mirroring data in a remote data storage system |
US6101497A (en) * | 1996-05-31 | 2000-08-08 | Emc Corporation | Method and apparatus for independent and simultaneous access to a common data set |
US6092066A (en) * | 1996-05-31 | 2000-07-18 | Emc Corporation | Method and apparatus for independent operation of a remote data facility |
US6341333B1 (en) | 1997-10-06 | 2002-01-22 | Emc Corporation | Method for transparent exchange of logical volumes in a disk array storage device |
US6145066A (en) * | 1997-11-14 | 2000-11-07 | Amdahl Corporation | Computer system with transparent data migration between storage volumes |
US6157991A (en) * | 1998-04-01 | 2000-12-05 | Emc Corporation | Method and apparatus for asynchronously updating a mirror of a source device |
JP2000132343A (ja) | 1998-08-20 | 2000-05-12 | Hitachi Ltd | 記憶装置システム |
US6529944B1 (en) * | 1999-01-06 | 2003-03-04 | Emc Corporation | Host system for remote control of mass storage volumes using cascading commands |
US6209002B1 (en) * | 1999-02-17 | 2001-03-27 | Emc Corporation | Method and apparatus for cascading data through redundant data storage units |
DE60044409D1 (de) | 1999-03-19 | 2010-07-01 | Hitachi Ltd | System um Daten zu duplizieren |
JP2000330730A (ja) | 1999-05-21 | 2000-11-30 | Nec Corp | ディスクアレイ装置の差分コピー方式 |
US6539462B1 (en) * | 1999-07-12 | 2003-03-25 | Hitachi Data Systems Corporation | Remote data copy using a prospective suspend command |
US6446175B1 (en) * | 1999-07-28 | 2002-09-03 | Storage Technology Corporation | Storing and retrieving data on tape backup system located at remote storage system site |
JP3606797B2 (ja) | 1999-09-30 | 2005-01-05 | 富士通株式会社 | 記憶装置のデータ領域間の複写処理方法、記憶システム、及びその記憶媒体 |
US6757797B1 (en) * | 1999-09-30 | 2004-06-29 | Fujitsu Limited | Copying method between logical disks, disk-storage system and its storage medium |
US6401178B1 (en) | 1999-12-23 | 2002-06-04 | Emc Corporatiion | Data processing method and apparatus for enabling independent access to replicated data |
US6499112B1 (en) * | 2000-03-28 | 2002-12-24 | Storage Technology Corporation | Automatic stand alone recovery for peer to peer remote copy (PPRC) operations |
JP2001337790A (ja) | 2000-05-24 | 2001-12-07 | Hitachi Ltd | 記憶システム及びその階層管理制御方法 |
US6457109B1 (en) * | 2000-08-18 | 2002-09-24 | Storage Technology Corporation | Method and apparatus for copying data from one storage system to another storage system |
US6594745B2 (en) * | 2001-01-31 | 2003-07-15 | Hewlett-Packard Development Company, L.P. | Mirroring agent accessible to remote host computers, and accessing remote data-storage devices, via a communcations medium |
US6701392B1 (en) * | 2001-11-14 | 2004-03-02 | Emc Corporation | Hierarchical approach to indentifying changing device characteristics |
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 |
-
2001
- 2001-11-30 US US09/998,683 patent/US6976139B2/en not_active Expired - Lifetime
-
2002
- 2002-11-07 EP EP02024813A patent/EP1313017B1/en not_active Expired - Lifetime
- 2002-11-07 DE DE60212922T patent/DE60212922T2/de not_active Expired - Lifetime
- 2002-11-07 DE DE60224598T patent/DE60224598T2/de not_active Expired - Lifetime
- 2002-11-14 JP JP2002330684A patent/JP3779257B2/ja not_active Expired - Lifetime
-
2005
- 2005-11-07 US US11/268,158 patent/US8782357B2/en active Active
-
2014
- 2014-06-05 US US14/296,501 patent/US9037816B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1313017B1 (en) | 2006-07-05 |
US20060064543A1 (en) | 2006-03-23 |
DE60224598T2 (de) | 2008-12-24 |
US9037816B1 (en) | 2015-05-19 |
DE60212922T2 (de) | 2007-02-15 |
DE60224598D1 (de) | 2008-02-21 |
US20030172227A1 (en) | 2003-09-11 |
US8782357B2 (en) | 2014-07-15 |
EP1313017A1 (en) | 2003-05-21 |
JP2003167685A (ja) | 2003-06-13 |
DE60212922D1 (de) | 2006-08-17 |
US6976139B2 (en) | 2005-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3779257B2 (ja) | 記憶装置間の通信路を反転させる方法 | |
JP4322260B2 (ja) | 装置特性の変化を識別する階層的な方法及び装置 | |
JP2003167682A (ja) | 動的リモートデータ機構 | |
US7024525B2 (en) | Distributed background track processing | |
US6910075B2 (en) | Dynamic RDF groups | |
US5680640A (en) | 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 | |
US7409510B2 (en) | Instant virtual copy to a primary mirroring portion of data | |
JP5263902B2 (ja) | ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびコンピュータ・プログラム | |
JP2001520778A (ja) | データセットコピー中の書き込み通知を提供するためのシステム | |
US8024534B2 (en) | Replication engine communicating with a splitter to split writes between a storage controller and replication engine | |
US20060221721A1 (en) | Computer system, storage device and computer software and data migration method | |
EP1507207B1 (en) | Hierarchical approach to identifying changing device characteristics | |
EP1684178B1 (en) | Reversing a communication path between storage devices | |
US20160357479A1 (en) | Storage control apparatus | |
JP2000293488A (ja) | データ処理装置、データ処理システム、データ処理方法、及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050629 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050928 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050928 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051227 |
|
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: 20060201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060301 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3779257 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090310 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140310 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |