JP4703738B2 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
JP4703738B2
JP4703738B2 JP2009065340A JP2009065340A JP4703738B2 JP 4703738 B2 JP4703738 B2 JP 4703738B2 JP 2009065340 A JP2009065340 A JP 2009065340A JP 2009065340 A JP2009065340 A JP 2009065340A JP 4703738 B2 JP4703738 B2 JP 4703738B2
Authority
JP
Japan
Prior art keywords
storage device
buffer
copy
communication
copy 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 - Fee Related
Application number
JP2009065340A
Other languages
English (en)
Other versions
JP2010218320A (ja
Inventor
成浩 大海
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009065340A priority Critical patent/JP4703738B2/ja
Priority to US12/722,770 priority patent/US8850117B2/en
Publication of JP2010218320A publication Critical patent/JP2010218320A/ja
Application granted granted Critical
Publication of JP4703738B2 publication Critical patent/JP4703738B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/2058Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using more than 2 mirrored copies
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • G06F2212/262Storage comprising a plurality of storage devices configured as RAID
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Description

本発明は、ストレージ装置に係り、特にリモート・イクイバレント・コピー(REC:Remote Equivalent Copy)モード(Mode)等のリモートコピー機能を有するストレージ装置に関する。
RAID(Redundant Array of Independent Disks)装置間のバックアップやミラーリングを行うため、アドバンスト・コピー(Advanced Copy)において順序性を保障したRECコンシステンシ・モード(Consistency Mode)機能をサポートする分散キャッシュメモリ型のストレージ装置が提案されている。アドバンスト・コピーとは、ストレージ装置が任意の時点でデータ(ソースボリューム)をコピーして別のボリューム(コピーボリューム)を同じストレージ装置内で作成する機能を言う。
リモートミラーリングには、同期モードと非同期モードがある。同期モードでは、書き込み要求に対する完了報告はデータのコピー先への書き込みが完了するまで行われない。一方、非同期モードでは、書き込み要求に対する完了報告はデータのコピー先への書き込みの完了を待たずに行われる。非同期モードには、リモートミラーリング用のコンシステンシ・モードと、リモートバックアップ用のスタックモードがあり、コンシステンシ・モードでは書き込み順序性が保証される。
RECモード自体は周知であり、例えば開始(Start)、停止(Stop)、中止(Suspend)、強制停止(Forced Stop)、強制中止(Forced Suspend)、再開(Resume)等のコマンドに従ったミラーリングを行う。開始コマンドは、ミラーリングされたボリュームの作成と同期処理の開始を指示する。停止コマンドは、ミラーリングの解除、ミラーリングされたボリュームの破棄、この停止コマンドが発行される以前に書き込まれた全てのデータをこの停止コマンドが終了するまでコピーボリュームに転送することを指示する。中止コマンドは、ミラーリングを解除するがミラーリングされたボリュームは保持し、この中止コマンドが発行される以前に書き込まれた全てのデータをこの停止コマンドが終了するまでコピーボリュームに転送することを指示するものであり、保持されたミラーリングされたボリュームは再開コマンドにより再同期可能である。強制停止コマンドは、ミラーリングの解除、ミラーリングされたボリュームの破棄を指示し、この強制停止コマンドが発行される以前に書き込まれたデータはコピーボリュームに転送する必要はない。強制中止コマンドは、ミラーリングを解除するがミラーリングされたボリュームは保持し、この強制中止コマンドが発行される以前に書き込まれたデータはコピーボリュームに転送する必要はなく、一方、保持されたミラーリングされたボリュームは再開コマンドにより再同期可能である。再開コマンドは、中止コマンドの後の再同期を指示するものであり、再同期は中止状態で書き込まれたデータを転送することで実行される。
図1は、従来の分散キャッシュメモリ型のストレージ装置の一例を説明する図である。図1において、ストレージ装置1は、ネットワーク2を介して接続されたコピー元の記憶装置(以下、コピー元装置と言う)3−1及びコピー先の記憶装置(以下、コピー先装置と言う)3−2を有する。コピー元装置3−1及びコピー先装置3−2は、例えば複数の制御モジュール11を備えた同じ構成を有する。各制御モジュール11は、中央処理装置(CPU:Central Processing Unit)等のプロセッサ、記録用バッファ12及びディスク装置13を有する。
図1に示す如きストレージ装置1では、論理ボリュームのデータのリード及び/又はライト(以下、単にリード/ライトと言う)処理を制御モジュール11毎に実行している。又、例えばアドバンスト・コピーでの順序性を保障したRECコンシステンシ・モード機能のように、非同期モードでリモートコピーを行う際の書き込み順序性が保証された場合は、コピー元装置3−1内においてディスク装置13のディスクに格納されたデータをコピー元装置3−1内のバッファ12に格納し、バッファ12がフルになるか、若しくは、データの格納開始から一定時間経過すると、コピー元装置3−1のバッファ12内のデータをまとめてネットワーク2を介して接続されたコピー先装置3−2へ送信する。コピー先装置3−2では、データの受信を全て完了すると、受信して記録用バッファ12内に格納されたデータをまとめてコピー先のディスク装置13のディスクへ展開して格納する。このように、RECコンシステンシ・モード機能を実行するには、コピー元装置3−1及びコピー先装置3−2の夫々において、バッファ12の設定が必要となる。
図2は、RECコンシステンシ・モードで用いられるバッファ12のバッファ領域新規設定手順の一例を説明する図である。図2中、(a)はRECコンシステンシ・モード機能を実行するために一例として3台の記憶装置3−1〜3−3を用意した状態、(b)は各記憶装置3−1〜3−3をケーブル又はネットワーク5で接続した状態を示す。ここでは説明の便宜上、記憶装置3−1,3−2がグループG1を形成し、記憶装置3−1,3−3がグループG2を形成するものとする。図2中、(c)は各記憶装置3−1〜3−3にどの記憶装置と接続するべきかを各記憶装置3−1〜3−3のストレージ管理パーソナルコンピュータ(PC:Personal Computer)6から設定する経路設定を行う状態を示す。図2中、(d)はグループG1に対してRECコンシステンシ・モード機能を実行するためのバッファ12の新規設定を、記憶装置3−1,3−2のストレージ管理PC6から行う状態を示し、図2(e)はグループG2に対してRECコンシステンシ・モード機能を実行するためのバッファ12の新規設定を、記憶装置3−1,3−3のストレージ管理PC6から行う状態を示す。
このように、バッファ12の新規設定は、コピー元装置3−1及びコピー先装置3−2,3−3の夫々で対応するストレージ管理PC6から行う必要がある。このため、バッファ12の新規設定をするには、コピー元装置3−1及びコピー先装置3−2,3−3の夫々において新規設定を行う必要がある。又、コピー元装置3−1及びコピー先装置3−2,3−3の夫々でストレージ管理PC6が必要となる。
更に、コピー元装置3−1及びコピー先装置3−2,3−3の各記憶装置毎の新規設定になり、相手側記憶装置のバッファ12が正常に新規設定されているかを知るためにも、コピー元装置3−1及びコピー先装置3−2,3−3の夫々のストレージ管理PC6からの確認が必要となる。つまり、コピー元装置3−1のストレージ管理PC6は、相手側記憶装置である各コピー先装置3−2,3−3のバッファ12が正常に新規設定されているか否かを確認する必要があり、各コピー先装置3−2,3−3のストレージ管理PC6は、相手側記憶装置であるコピー元装置3−1のバッファ12が正常に新規設定されているか否かを確認する必要がある。
特開2005−122235号公報
従来のストレージ装置では、例えばRECコンシステンシ・モードのように非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能で用いられるバッファの新規設定を簡単に行うことはできないという問題があった。
そこで、本発明は、非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能で用いられるバッファの新規設定を簡単に行うことのできる記憶装置を提供することを目的とする。
本発明の一観点によれば、非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能をサポートする分散キャッシュメモリ型のストレージ装置であって、ネットワークを介して接続された複数の記憶装置を備え、コピー元の記憶装置は、受領した一括バッファ新規設定コマンドに含まれるパラメータをチェックし、一括バッファ新規設定する記憶装置のグループ及びコピー先の記憶装置を確認して前記コピー先の指定された記憶装置と通信を行って前記パラメータを前記指定された記憶装置へ送信する手段を有し、前記指定された記憶装置は、前記コピー元の記憶装置からの前記パラメータに基づいて前記指定された記憶装置内のバッファ新規設定処理を行って前記コピー元の記憶装置へ前記バッファ新規設定処理の結果を通知する手段を有し、前記パラメータは、前記グループ数、前記コピー先の記憶装置を識別する装置識別子、バッファサイズ、及び指定する記憶装置がコピー元であるかコピー先であるかを示すバッファ使用用途を含むストレージ装置が提供される。
開示の記憶装置によれば、非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能で用いられるバッファの新規設定を簡単に行うことができる。
従来の分散キャッシュメモリ型のストレージ装置の一例を説明する図である。 RECコンシステンシ・モードで用いられるバッファのバッファ領域新規設定手順の一例を説明する図である。 本発明の一実施例において、分散キャッシュメモリ型のストレージ装置のRECコンシステンシ・モードで用いられるバッファのバッファ領域新規設定手順の一例を説明する図である。 REC一括バッファ新規設定コマンドのパラメータの一例を示す図である。 パラメータチェック処理を説明するフローチャートである。 通信処理を説明するフローチャートである。 ステップS25で取得されるパラメータの一例を示す図である。 処理ST3を説明するフローチャートである。 処理ST4を説明するフローチャートである。 RECバッファテーブルの一例を示す図である。 処理ST5を説明するフローチャートである。 処理ST6を説明するフローチャートである。 ストレージ装置のハードウェア構成の一例を示すブロック図である。
開示のストレージ装置は、例えばリモート・イクイバレント・コピー(REC)コンシステンシ・モード機能のように非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能をサポートする分散キャッシュメモリ型であり、ネットワークを介して接続された複数の記憶装置を備える。コピー元の記憶装置は、受領した一括バッファ新規設定コマンドに含まれるパラメータをチェックし、一括バッファ新規設定する記憶装置のグループ及びコピー先の記憶装置を確認して指定された記憶装置と通信を行ってパラメータを指定された記憶装置へ送信する手段を有する。一方、指定された記憶装置は、コピー元の記憶装置からのパラメータに基づいて指定された記憶装置内のバッファ新規設定処理を行ってコピー元の記憶装置へバッファ新規設定処理の結果を通知する手段を有する。パラメータは、グループ数、コピー先の記憶装置を識別する装置識別子、バッファサイズ、及び指定する記憶装置がコピー元であるかコピー先であるかを示すバッファ使用用途を含む。
つまり、例えばRECコンシステンシ・モードのように非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能を実現させるのに必要なバッファの設定を、記憶装置間を繋ぐ経路を利用して一括新規設定をする。このようにして、RECコンシステンシ・モード機能のように非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能に対する拡張機能を提供可能となる。
以下に、本発明のストレージ装置の各実施例を、図3以降と共に説明する。
図3は、本発明の一実施例において、分散キャッシュメモリ型のストレージ装置のRECコンシステンシ・モードで用いられる記憶装置内の記録用バッファのバッファ領域新規設定手順の一例を説明する図である。ストレージ装置21は、ネットワークを介して接続されたコピー元の記憶装置(以下、コピー元装置と言う)23−1及び一又は複数のコピー先の記憶装置(以下、コピー先装置と言う)23−2,23−3を有する。コピー元装置23−1及びコピー先装置23−2,23−3の各々は、例えば図1の場合と同様に複数の制御モジュールを備えた同じ構成を有しても、或いは、少なくとも1つの制御モジュールを備えたものであっても良い。制御モジュールは、CPU等のプロセッサ、記録用バッファ及びディスク装置を有する。尚、各記憶装置23−1〜23−3内に設けられる制御モジュールの数は同じである必要はない。
図3中、(a)はRECコンシステンシ・モード機能を実行するために一例として3台の記憶装置23−1〜23−3を用意した状態、(b)は各記憶装置23−1〜23−3をケーブル又はネットワーク25で接続した状態を示す。ここでは説明の便宜上、記憶装置23−1,23−2がグループG1を形成し、記憶装置23−1,23−3がグループG2を形成するものとする。図3中、(c)は各記憶装置23−1〜23−3にどの記憶装置と接続するべきかを各記憶装置23−1〜23−3のストレージ管理パーソナルコンピュータ(PC:Personal Computer)26、或いは、図示を省略したホストサーバ(以下、単にストレージ管理PC26と言う)から設定する経路設定を行う状態を示す。尚、ストレージ管理PC26とホストサーバは、共に設けられていても良い。図3中、(d)は複数のグループG1,G2に対してRECコンシステンシ・モード機能を実行するためのバッファの新規設定を、記憶装置23−1のストレージ管理PC26から一括で行う状態を示す。
このように、バッファの新規設定は、コピー元装置23−1の筐体のストレージ管理PC26から一又は複数のコピー先装置23−2,23−3に対して一括で行えば良い。このため、バッファの新規設定をするのに、コピー先装置23−2,23−3の夫々において新規設定を行う必要はない。又、バッファの新規設定のために、コピー先装置23−2,23−3でストレージ管理PC26を必要とすることはない。
更に、相手側記憶装置のバッファが正常に新規設定されているかを知るために、コピー元装置3−1のストレージ管理PC26から確認する必要はない。
つまり、バッファの新規設定を行う時に記憶装置間において設定済みである経路、即ち、ケーブル又はネットワーク25を経由して、相手側記憶装置と通信を行い、相手側記憶装置のバッファの新規設定を一括で行うようにする。又、相手側記憶装置と通信を行い、この通信に対する応答に基づいて相手側記憶装置のバッファの新規設定を確認することが可能となる。
相手側記憶装置へ新規設定のための通信を行い、記憶装置間の経路の切断や相手側記憶装置の電源断等で通信が失敗して相手側記憶装置への新規設定が失敗した際は、自記憶装置において通信が失敗したことを記憶し、相手側記憶装置への経路が再度繋がった際に自動的に相手側記憶装置へ通信を行ってバッファの新規設定を行う。このように、一方の記憶装置に対する新規設定コマンドで、元先両記憶装置のバッファが一括で新規設定できる。
次に、本実施例において各記憶装置の制御モジュール内のCPUが実行する処理ST1〜ST6について説明する。処理ST1〜ST6を実行するCPUは、後述する図13に示すCPU15に相当し、各処理ST1〜ST6を実行する各手段(又は、機能部)を形成する。処理ST1は、記憶装置においてストレージ管理PC6より一括でバッファ新規設定を行うための命令(以下、REC一括バッファ新規設定コマンドと言う)を受領する処理である。処理ST2は、記憶装置において受領したREC一括バッファ新規設定コマンドのパラメータをチェックし、新規設定するグループ及び相手側記憶装置を確認して指定された相手側記憶装置と通信を行う処理である。処理ST3は、指定された相手側記憶装置でREC一括バッファ新規設定コマンドのパラメータに基づいた一括バッファ新規設定を行う処理である。処理ST4は、記憶装置において指定した相手側記憶装置との通信の成否を判断する処理である。処理ST5は、REC一括バッファ新規設定コマンドを受領した記憶装置側で複数のグループの一括バッファ新規設定を行う処理である。処理ST6は、記憶装置間の通信が失敗した後、経路復旧した時にバッファ新規設定を自動的に継続させる処理である。
(1)処理ST1:
処理ST1では、通信元(例えば、コピー元)の記憶装置がストレージ管理PC26より一括バッファ新規設定を行うためのREC一括バッファ新規設定コマンドを受領する。処理ST1が終了すると、処理は後述する処理ST2へ進む。
図4は、REC一括バッファ新規設定コマンドのパラメータの一例を示す図である。図4に示すように、パラメータには、新規設定グループ数SGN、相手装置識別子SI1〜SIn(nは2以上の自然数)、RECバッファサイズBS1〜BSn及びRECバッファ使用用途BU1〜BUnが含まれる。新規設定グループ数SGNは、受領したREC一括バッファ新規設定コマンドで一括バッファ新規設定する記憶装置のグループの数を示す。相手装置識別子SI1〜SInは、一括バッファ新規設定を行う対となる記憶装置を識別する識別子を示し、記憶装置内のバッファやディスク装置等の記憶部に設定されている経路情報より取得する。経路情報は、上記の経路設定を示す情報である。RECバッファサイズBS1〜BSnは、使用するバッファサイズを示す。RECバッファ使用用途BU1〜BUnは、指定する記憶装置が送信側(即ち、通信元又はコピー元)であるか受信側(即ち、通信先又はコピー先)であるかを示す。
(2)処理ST2:
処理ST2では、通信元の記憶装置が処理ST1で受領したREC一括バッファ新規設定コマンドのパラメータをパラメータチェック処理でチェックし、一括バッファ新規設定する記憶装置のグループ及び相手側記憶装置を確認して指定された相手側記憶装置との通信を通信処理で行う。処理ST2は、グループ内の各相手側記憶装置に対して行われる。
図5は、パラメータチェック処理を説明するフローチャートである。図5において、ステップS21では、通信元の記憶装置が処理ST1で受領したREC一括バッファ新規設定コマンドのパラメータから、指定された相手側記憶装置(例えば、コピー先の記憶装置)の装置識別子SIがREC一括バッファ新規設定コマンドを受領した記憶装置内の記憶部に設定されている経路情報に存在するか否かを判定する。ステップS21の判定結果がYESであると、ステップS22では、指定された相手側記憶装置においてRECバッファサイズBSで指定されたバッファサイズを新規設定可能であるか否かを判定する。ステップS22の判定結果がYESであれば、処理は終了して図6と共に後述する通信処理へ進む。一方、ステップS21又はステップS22の判定結果がNOであると、ステップS23ではREC一括バッファ新規設定コマンドの実行が失敗したと判断し、指定された相手側記憶装置の経路情報がない(ステップS21でNO)又は指定されたバッファサイズのバッファ獲得が失敗した(ステップS22でNO)ことを示すコマンド失敗をREC一括バッファ新規設定コマンドの発行元である通信元の記憶装置のストレージ管理PC26へ通知する。
図6は、通信処理を説明するフローチャートである。図6において、ステップS25では、通信元の記憶装置がRECバッファ一括新規設定コマンドで指定されたパラメータ及びREC一括バッファ新規設定コマンドを受領した記憶装置内の記憶部に設定されている経路情報に基づいて、各相手側記憶装置に送信するべきパラメータを作成する。
図7は、ステップS25で取得されるパラメータの一例を示す図である。図7に示すように、取得されるパラメータには、通信元の記憶装置の装置識別子(以下、通信元装置識別子という)SIs、RECバッファサイズBS及びRECバッファ使用用途BUが含まれる。通信元装置識別子SIsは、通信元の記憶装置を識別する識別子を設定するものであり、REC一括バッファ新規設定コマンドを受領した記憶装置内の記憶部に設定されている経路情報に基づいて設定する。RECバッファサイズBSは、使用するバッファサイズを設定する。RECバッファ使用用途BUは、指定する相手側記憶装置が送信側であるか受信側であるかを設定する。
ステップS26では、取得したパラメータを相手側記憶装置へ送信する。ステップS27では、一括バッファ新規設定する記憶装置のグループ内の全ての記憶装置へのパラメータの送信が完了したか否かを判定する。ステップS27の判定結果がNOであると処理はステップS25へ戻り、YESであると処理は終了して後述する処理ST3へ進む。
(3)処理ST3:
処理ST3では、指定された相手側記憶装置、即ち、通信先(例えば、コピー先)の記憶装置において、指定されたパラメータによるバッファ新規設定処理を行う。処理ST3は、グループ内の各相手側記憶装置において行われる。
図8は、処理ST3を説明するフローチャートである。図8において、ステップS31では、指定された相手側記憶装置において、RECバッファサイズBSで指定されたバッファサイズを新規設定可能であるか否かを判定する。ステップS31の判定結果がYESであると、ステップS32では、指定された相手側記憶装置において、RECバッファサイズBSで指定されたバッファサイズのバッファを獲得し、獲得したバッファに関する情報を含むRECバッファテーブルを作成して指定された相手側記憶装置内の記憶部に格納すると共に、通信元の記憶装置へ処理ST3の正常終了を通知する。RECバッファテーブルについては後述する。ステップS32の後、処理は終了して図9と共に後述する処理ST4へ進む。
一方、ステップS31の判定結果がNOであると、ステップS33では、指定された相手側記憶装置において、REC一括バッファ新規設定コマンドの実行が失敗したと判断し、指定されたバッファサイズのバッファの獲得が失敗したことを示すコマンド失敗をREC一括バッファ新規設定コマンドの発行元、即ち、通信元の記憶装置へ通知することで通信元の記憶装置のストレージ管理PC26へ通知する。
(4)処理ST4:
処理ST4では、通信元の記憶装置と指定した相手側記憶装置(又は、通信先の記憶装置)との通信の成否を通信成否判断処理で判断する。処理ST4は、グループ内の各相手側記憶装置に対して行われる。
図9は、処理ST4を説明するフローチャートである。図9において、ステップS41では、通信元の記憶装置において、相手側記憶装置の一括バッファ新規設定が成功したか否かを判定する。コマンド失敗の通知がなくステップS41の判定結果がYESであると、ステップS42では、通信元の記憶装置において、相手側記憶装置への通信が成功したか否かを判定する。相手側記憶装置から処理ST3の正常終了の通知がなくステップS42の判定結果がNOであると、ステップS43では、RECバッファテーブルに通信失敗を示す通信成否判断フラグCJFを立てて、処理はステップS44へ進む。
相手側記憶装置から処理ST3の正常終了の通知がありステップS42の判定結果がYESであるか、或いは、ステップS43の後、ステップS44では、一括バッファ新規設定する記憶装置のグループ内の全ての記憶装置との通信が完了したか否かを判定する。ステップS44の判定結果がNOであると処理はステップS41へ戻り、YESであると処理は終了して後述する処理ST5へ進む。
一方、指定されたバッファサイズのバッファ獲得が失敗したことを示すコマンド失敗が相手側記憶装置から通知されてステップS41の判定結果がNOであると、ステップS45ではREC一括バッファ新規設定コマンドの実行が失敗したと判断し、コマンド失敗をREC一括バッファ新規設定コマンドの発行元である通信元の記憶装置のストレージ管理PC26へ通知する。
図10は、RECバッファテーブルの一例を示す図である。図10に示すように、RECバッファテーブルには、相手装置識別子SI1〜SIn、RECバッファサイズBS1〜BSn、RECバッファ使用用途BU1〜BUn及び通信成否判断フラグCFJ1〜CFJnが含まれる。尚、本実施例では、相手側記憶装置から正常終了の通知がないと通信失敗を示す通信成否判断フラグCJFを立てているが、相手側記憶装置から正常終了の通知があると通信成功を示す通信成否フラグCFJを立てるようにしても良いことは言うまでもない。要は、通信成否フラグCFJで通信の成否を示すことができれば良い。
(5)処理ST5:
処理ST5は、REC一括バッファ新規設定コマンドを受領した通信元の記憶装置で複数のグループの一括バッファ新規設定処理を行う。処理ST5は、グループ内の各相手側記憶装置に対して行われる。
図11は、処理ST5を説明するフローチャートである。図11において、ステップS51では、通信元の記憶装置において、各相手側記憶装置から獲得された、指定されたバッファサイズのバッファに関する情報を新規設定グループ数SGN分のRECバッファテーブルに格納することで一括バッファ新規設定を行う。各新規設定グループに対応するRECバッファテーブルに格納される、指定されたバッファサイズのバッファに関する情報には、相手装置識別子SI1〜SIn、RECバッファサイズBS1〜BSn、RECバッファ使用用途BU1〜BUn及び通信成否判断フラグCFJ1〜CFJnが含まれる。ステップS52では、全てのグループ内の全ての記憶装置との通信が完了したか否かを判定する。ステップS52の判定結果がNOであると処理はステップS51へ戻り、YESであると処理はステップS53へ進む。
ステップS53では、REC一括バッファ新規設定コマンドの発行元がストレージ管理PC26であるか否かを判定する。例えば、通信元の記憶装置にストレージ管理PC26が設けられており、且つ、この通信元の記憶装置にホストサーバも接続されている場合、REC一括バッファ新規設定コマンドの発行元がストレージ管理PC26であればステップS53の判定結果がYESとなり、発行元がホストサーバであればステップS53の判定結果がNOとなる。ステップS53の判定結果がNOであると、ステップS54では、一括バッファ新規設定の正常終了をホストサーバへ通知し、処理は終了する。一方、ステップS53の判定結果がYESであると、ステップS55では、一括バッファ新規設定の正常終了をストレージ管理PC26へ通知し、処理は終了する。
(6)処理ST6:
処理ST6は、記憶装置間の通信が記憶装置間の経路の閉塞により失敗した後、経路の復旧した時に一括バッファ新規設定を自動的に継続させる経路開通処理を行うものであり、図6に示す通信処理の変形例に相当する。処理ST6のステップS61〜S63,S65〜S69は、グループ内の各相手側記憶装置に対して行われ、ステップS164はグループ内の各相手側記憶装置において行われる。ここでは説明の便宜上、通信元の記憶装置の相手側(通信先の)記憶装置に対する一括バッファ新規設定が通信元の記憶装置と相手側記憶装置との間の経路の閉塞により失敗すると、通信元の記憶装置内の記憶部に経路の閉塞を示す閉塞フラグが立てられるものとする。この閉塞フラグは、図10と共に説明したRECバッファテーブルに通信成否フラグCFJ1〜CFJnと同様に設定されるものであっても良い。
図12は、処理ST6を説明するフローチャートである。図12において、ステップS61では、通信元の記憶装置において、相手側記憶装置との通信がこの相手側記憶装置への経路の閉塞により失敗しているか否かを閉塞フラグに基づいて判定する。ステップS61の判定結果がYESであると、ステップS62では、図6のステップS25と同様にして相手側記憶装置に送信するべきパラメータを作成する。ステップS63では、図6のステップS26と同様に作成したパラメータを相手側記憶装置に送信する。
ステップS164では、相手側記憶装置において図8に示す処理ST3と同様のバッファ新規設定処理が行われる。
ステップS65では、通信元の記憶装置において、相手側記憶装置への送信の完了を確認し、ステップS66では、図9のステップS42と同様にして相手側記憶装置への通信が成功したか否かを判定する。ステップS66の判定結果がNOであると、ステップS67では、RECバッファテーブルに通信失敗を示す通信成否判断フラグCJFを立てて、処理はステップS68へ進む。ステップS68では、RECバッファテーブルに、通信成否判断フラグCJFを立てられた相手側記憶装置への経路に対する閉塞フラグを立てる経路閉塞処理を行う。
一方、ステップS61の判定結果がNO、或いは、ステップS66の判定結果がYESであると、処理はステップS69へ進む。ステップS69では、相手側記憶装置への経路に対する閉塞フラグを解除する経路開通処理を行う。
このようにして、処理ST3で各グループの相手側記憶装置への通信が相手側記憶装置への経路の閉塞により失敗してその後経路が開通した際、相手側記憶装置に対する一括バッファ新規設定中に経路の閉塞によりバッファ新規設定が失敗していた場合には、経路開通処理の延長で相手側記憶装置に対する一括バッファ新規設定を再開させることができる。
図13は、ストレージ装置21のハードウェア構成の一例を示すブロック図である。図13中、図1及び図3と同一部分には同一符号を付し、その説明は省略する。図13の例では、コピー元の記憶装置23−1には単一の制御モジュール(CM:Control Module)11が設けられ、コピー先の記憶装置23−2には2つのCM11が設けられているが、上記の如く、CM11の数はこれに限定されるものではない。又、説明の便宜上、ストレージ管理PC26は、記憶装置23−1に対するもののみを示す。更に、ホストサーバ301は、ストレージ装置21の一部を形成するものであっても、ストレージ装置21に外部接続されるものであっても良い。ホストサーバ301自体は、汎用コンピュータで形成可能である。
記憶装置23−1は、CM11及びディスク装置13に加え、ストレージ管理PC26と記憶装置23−1との間のインタフェース制御部を形成するCGI(Common Gateway Interface)231、記憶装置23−1とホストサーバ301との間のインタフェース制御部を形成するCA(Channel Adapter)232、記憶装置23−1と記憶装置23−2との間のインタフェース制御部を形成するRA(Remote Adapter)233を有する。CM11は、バッファ(又は、キャッシュメモリ)12に加え、CPU15及びFC(Fiber Channel)16を有する。FC16は、CM11とディスク装置13との間のインタフェース制御部を形成する。尚、RECバッファテーブルを格納するためのメモリ(図示せず)を、CM11内又はCM11外に設けても良い。
記憶装置23−2は、CM11が2つ設けられている点を除けば、基本的には記憶装置23−1と同様の構成を有する。ただし、図13では、バッファの新規設定のためにコピー先の記憶装置23−2でストレージ管理PC26を必要とすることはないので、記憶装置23−2のストレージ管理PC26の図示は省略してある。
ディスク装置13は、磁気ディスク装置に限定されず、光ディスク装置や光磁気ディスク装置であっても良い。又、ディスク装置13の代わりに各種記録媒体を用いる記録装置を使用可能であることは言うまでもない。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能をサポートする分散キャッシュメモリ型のストレージ装置であって、
ネットワークを介して接続された複数の記憶装置を備え、
コピー元の記憶装置は、受領した一括バッファ新規設定コマンドに含まれるパラメータをチェックし、一括バッファ新規設定する記憶装置のグループ及びコピー先の記憶装置を確認して前記コピー先の指定された記憶装置と通信を行って前記パラメータを前記指定された記憶装置へ送信する手段を有し、
前記指定された記憶装置は、前記コピー元の記憶装置からの前記パラメータに基づいて前記指定された記憶装置内のバッファ新規設定処理を行って前記コピー元の記憶装置へ前記バッファ新規設定処理の結果を通知する手段を有し、
前記パラメータは、前記グループ数、前記コピー先の記憶装置を識別する装置識別子、バッファサイズ、及び指定する記憶装置がコピー元であるかコピー先であるかを示すバッファ使用用途を含む、ストレージ装置。
(付記2)
前記一括バッファ新規設定コマンドは、前記コピー元の記憶装置内、或いは、前記コピー元の記憶装置に外部接続されたコンピュータから発行される、付記1記載のストレージ装置。
(付記3)
前記コピー元の記憶装置は、前記指定した記憶装置との通信の成否を判断し、前記パラメータの少なくとも一部を格納したバッファテーブルに判断結果を示す通信成否判断フラグを格納する手段を有する、付記1又は2記載のストレージ装置。
(付記4)
前記コピー元の記憶装置は、複数のグループの一括バッファ新規設定処理を行う手段を有する、付記1乃至3のいずれか1項記載のストレージ装置。
(付記5)
前記コピー元の記憶装置は、前記指定された記憶装置との間の通信が経路の閉塞により失敗した後、経路の復旧した時に一括バッファ新規設定を自動的に継続させる手段を有する、付記1乃至4のいずれか1項記載のストレージ装置。
(付記6)
前記指定された記憶装置は、前記パラメータに基づいて指定されたバッファサイズのバッファを獲得し、獲得したバッファに関する情報を含むバッファテーブルを作成して前記指定された記憶装置内の記憶部に格納すると共に、前記コピー元の記憶装置へバッファ新規設定処理の正常終了を通知する手段を有する、付記1乃至5のいずれか1項記載のストレージ装置。
(付記7)
非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能をサポートする分散キャッシュメモリ型のストレージ装置の記憶装置であって、
受領した一括バッファ新規設定コマンドに含まれるパラメータをチェックし、一括バッファ新規設定する記憶装置のグループ及びコピー先の記憶装置を確認して指定された記憶装置と通信を行って前記パラメータを前記指定された記憶装置へ送信する手段と、
前記パラメータに基づく前記指定された記憶装置内のバッファ新規設定処理の結果の通知を受信する手段を有し、
前記パラメータは、前記グループ数、記憶装置を識別する装置識別子、バッファサイズ、及び指定する記憶装置がコピー元であるかコピー先であるかを示すバッファ使用用途を含む、ストレージ装置。
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
11 制御モジュール
12 バッファ
15 CPU
21 ストレージ装置
23−1〜23−3 記憶装置
25 ネットワーク
26 ストレージ管理PC
301 ホストサーバ

Claims (5)

  1. 非同期モードでリモートコピーを行う際の書き込み順序性が保証された機能をサポートする分散キャッシュメモリ型のストレージ装置であって、
    ネットワークを介して接続された複数の記憶装置を備え、
    コピー元の記憶装置は、受領した一括バッファ新規設定コマンドに含まれるパラメータをチェックし、一括バッファ新規設定する記憶装置のグループ及びコピー先の記憶装置を確認して前記コピー先の指定された記憶装置と通信を行って前記パラメータを前記指定された記憶装置へ送信する手段を有し、
    前記指定された記憶装置は、前記コピー元の記憶装置からの前記パラメータに基づいて前記指定された記憶装置内のバッファ新規設定処理を行って前記コピー元の記憶装置へ前記バッファ新規設定処理の結果を通知する手段を有し、
    前記パラメータは、前記グループ数、前記コピー先の記憶装置を識別する装置識別子、バッファサイズ、及び指定する記憶装置がコピー元であるかコピー先であるかを示すバッファ使用用途を含む、ストレージ装置。
  2. 前記一括バッファ新規設定コマンドは、前記コピー元の記憶装置内、或いは、前記コピー元の記憶装置に外部接続されたコンピュータから発行される、請求項1記載のストレージ装置。
  3. 前記コピー元の記憶装置は、前記指定した記憶装置との通信の成否を判断し、前記パラメータの少なくとも一部を格納したバッファテーブルに判断結果を示す通信成否判断フラグを格納する手段を有する、請求項1又は2記載のストレージ装置。
  4. 前記コピー元の記憶装置は、複数のグループの一括バッファ新規設定処理を行う手段を有する、請求項1乃至3のいずれか1項記載のストレージ装置。
  5. 前記コピー元の記憶装置は、前記指定された記憶装置との間の通信が経路の閉塞により失敗した後、経路の復旧した時に一括バッファ新規設定を自動的に継続させる手段を有する、請求項1乃至4のいずれか1項記載のストレージ装置。
JP2009065340A 2009-03-18 2009-03-18 ストレージ装置 Expired - Fee Related JP4703738B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009065340A JP4703738B2 (ja) 2009-03-18 2009-03-18 ストレージ装置
US12/722,770 US8850117B2 (en) 2009-03-18 2010-03-12 Storage apparatus and method maintaining at least an order of writing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009065340A JP4703738B2 (ja) 2009-03-18 2009-03-18 ストレージ装置

Publications (2)

Publication Number Publication Date
JP2010218320A JP2010218320A (ja) 2010-09-30
JP4703738B2 true JP4703738B2 (ja) 2011-06-15

Family

ID=42738619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009065340A Expired - Fee Related JP4703738B2 (ja) 2009-03-18 2009-03-18 ストレージ装置

Country Status (2)

Country Link
US (1) US8850117B2 (ja)
JP (1) JP4703738B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9208001B2 (en) 2012-03-08 2015-12-08 Blackberry Limited Object mediated data transfer between electronic devices
EP2637098B1 (en) * 2012-03-08 2018-09-19 BlackBerry Limited Object mediated data transfer between electronic devices
US10033810B2 (en) * 2015-12-03 2018-07-24 International Business Machines Corporation Recovery point objective via dynamic usage of bind segments in a global mirror environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736651A (ja) * 1993-07-16 1995-02-07 Mitsubishi Electric Corp コマンドショートカットボタンのカスタマイズ方法
JPH1091372A (ja) * 1996-09-18 1998-04-10 Canon Inc 画像処理装置及びその制御方法
JP2001518218A (ja) * 1997-03-21 2001-10-09 カナル プラス ソシエテ アノニム コンピュータメモリ編成
JP2003173295A (ja) * 2001-12-05 2003-06-20 Hitachi Ltd ディスク制御装置のキャッシュメモリ配置構成
JP2005275537A (ja) * 2004-03-23 2005-10-06 Fujitsu Ltd コピー制御装置および方法
JP2006260292A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd リモートコピー方法及びストレージシステム
JP2007509439A (ja) * 2003-10-22 2007-04-12 インテル コーポレイション 相互接続ネットワークでの効率的な順序保存用の方法及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6954799B2 (en) * 2000-02-01 2005-10-11 Charles Schwab & Co., Inc. Method and apparatus for integrating distributed shared services system
JP4056768B2 (ja) * 2002-03-04 2008-03-05 富士通株式会社 マイクロコンピュータ、キャッシュメモリ制御方法及びクロック制御方法
JP4291664B2 (ja) * 2003-10-14 2009-07-08 株式会社日立製作所 通信バッファ予約機能を備えるストレージ装置およびシステム
US20050198411A1 (en) * 2004-03-04 2005-09-08 International Business Machines Corporation Commingled write cache in dual input/output adapter
US7640415B2 (en) * 2005-03-25 2009-12-29 Hitachi, Ltd. Storage system having a first computer, a second computer connected to the first computer via a network, and a storage device system that is accessed by the second computer
JP2007047892A (ja) * 2005-08-08 2007-02-22 Hitachi Ltd 計算機システム及び計算機システムの状態管理方法
US8069321B2 (en) * 2006-11-13 2011-11-29 I365 Inc. Secondary pools

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0736651A (ja) * 1993-07-16 1995-02-07 Mitsubishi Electric Corp コマンドショートカットボタンのカスタマイズ方法
JPH1091372A (ja) * 1996-09-18 1998-04-10 Canon Inc 画像処理装置及びその制御方法
JP2001518218A (ja) * 1997-03-21 2001-10-09 カナル プラス ソシエテ アノニム コンピュータメモリ編成
JP2003173295A (ja) * 2001-12-05 2003-06-20 Hitachi Ltd ディスク制御装置のキャッシュメモリ配置構成
JP2007509439A (ja) * 2003-10-22 2007-04-12 インテル コーポレイション 相互接続ネットワークでの効率的な順序保存用の方法及び装置
JP2005275537A (ja) * 2004-03-23 2005-10-06 Fujitsu Ltd コピー制御装置および方法
JP2006260292A (ja) * 2005-03-17 2006-09-28 Fujitsu Ltd リモートコピー方法及びストレージシステム

Also Published As

Publication number Publication date
US20100241817A1 (en) 2010-09-23
US8850117B2 (en) 2014-09-30
JP2010218320A (ja) 2010-09-30

Similar Documents

Publication Publication Date Title
US8266377B2 (en) Computer system and control method for the computer system
JP3718471B2 (ja) 完全な再ミラーリングのないクラッシュリカバリ
JP4148722B2 (ja) オンラインデータ移行方法
JP4738941B2 (ja) ストレージシステム及びストレージシステムの管理方法
JP4842703B2 (ja) ストレージシステム及びそのリカバリボリューム作成方法
US6363462B1 (en) Storage controller providing automatic retention and deletion of synchronous back-up data
US7971011B2 (en) Remote copy method and storage system
US8381029B2 (en) Processing method, storage system, information processing apparatus, and computer-readable storage medium storing program
JP4842720B2 (ja) ストレージシステム及びデータ複製方法
JP2002014777A (ja) データ移行方法並びにプロトコル変換装置及びそれを用いたスイッチング装置
JP5090022B2 (ja) 計算機システム、アクセス制御方法及び管理計算機
US20030177322A1 (en) Synchronization and resynchronization of loosely-coupled copy operations between a primary and a remote secondary DASD volume under concurrent updating
JP2007122117A (ja) ストレージシステム及び記憶制御方法
JP2005044010A (ja) ストレージシステム及びストレージシステムの書込みを高速化する方法
JP2008033829A (ja) バックアップシステム及びバックアップ方法
JP5409799B2 (ja) リモートコピーシステム及びリモートコピー制御方法
JP4703738B2 (ja) ストレージ装置
JP5216376B2 (ja) リモートコピーシステム及び確認方法
JP2007310448A (ja) 計算機システム、管理計算機、および、ストレージシステム管理方法
JP4433372B2 (ja) データアクセスシステム及び方法
JP2006092535A (ja) ストレージネットワークにおける内部ミラーオペレーション
JP2005293469A (ja) データコピーシステムおよびデータコピー方法
JP2006155202A (ja) 遠隔バックアップシステム及び方法
JP2004513418A (ja) 標準デバイス・インタフェース
JP2007148520A (ja) 情報通知方法及び計算機システム

Legal Events

Date Code Title Description
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: 20110208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110308

R150 Certificate of patent or registration of utility model

Ref document number: 4703738

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees