(57)【特許請求の範囲】
【請求項１】
データをコピー元のストレージ装置からコピー先のストレージ装置にコピーするデータコピー処理システムにおいて、
前記データが記録された第１ストレージドライブと、前記第１ストレージドライブを制御する第１コントローラを有するコピー元の第１ストレージ装置と、
前記第１ストレージ装置のデータのコピーが書き込まれる第２ストレージドライブと、  前記第２ストレージドライブを制御する第２コントローラを有するコピー先の第２ストレージ装置と、
前記第１ストレージ装置と接続されているホスト装置と、を備え、
前記ホスト装置は、
ユーザにより前記第２ストレージ装置が接続されたことを認識後、ユーザによりコピー要求が入力されると、コピー処理モードを設定後、前記第２ストレージ装置にコピーコマンドを発行し、
前記コピー処理モードのときに、ユーザによりライト要求が入力されると、前記第１ストレージ装置にライトコマンドを発行し、
前記ライトコマンドに対する正常完了報告を前記第１ストレージ装置から受信すると、前記第２ストレージ装置に更新コマンドを発行し、
前記第２ストレージ装置から前記コピーコマンドに対するコピー処理の完了報告を受信すると、前記コピー処理モードを解除するとともに前記第１ストレージ装置との接続を切り離し、 
前記第１コントローラは、
前記第２コントローラから発行されたリードコマンドに基づいて前記第１ストレージドライブに指示してアドレス順に全データを読出し、前記第２ストレージ装置に読出されたデータを出力する制御を行い、
前記ホスト装置から前記ライトコマンドを受信すると、指定された領域のデ−タを更新し、正常に完了すると、正常完了報告を送信し、
前記第２コントローラは、
前記ホスト装置から前記コピーコマンドを受信すると、前記リードコマンドを前記第１ストレージ装置に発行して前記第１ストレージドライブから読み出されたデータを読出しアドレス順に順次取得して前記第２ストレージドライブに書き込む制御を行い、
前記更新コマンドを受信すると、前記更新コマンドで指定された領域のデータがコピー済みか否かを判断して、コピー済みと判断した場合には、前記第１ストレージ装置にリードコマンドを発行して前記更新されたデータを取得し、更新対象領域のコピー済みのデータを前記更新データに更新する更新処理を行う
ことを特徴とするデータコピー処理システム。
【請求項２】
データコピー処理の実行中に、前記第１ストレージ装置が前記ホスト装置からのリードコマンドを受信した場合に、前記第１コントローラは、前記リードコマンドによって指定された領域からデータを読出すリード処理を行うことを特徴とする請求項１に記載のデータコピー処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、データコピー処理システム、ストレージ装置、及びデータコピー処理方法に関する。
【背景技術】
【０００２】
現在、情報インフラの発達により、企業等で取り扱うデータ量が日々増加し続けており、顧客データや発注データなど重要な情報を保存する手段として、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）／ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）方式のストレージ装置が急速に普及している。
【０００３】
ストレージ装置は、複数のハードディスクドライブ（ＨＤＤ）が搭載された大容量の記憶装置を備え、サーバ等のホストシステムからの要求に従って各ＨＤＤに対してデータの読出しや書き込みを行うものである。
【０００４】
このようなストレージ装置は、社会システムなどの情報基盤インフラの構築に欠かせないものである。そのため、データ量の増大に応じて、より大容量のストレージ装置への交換が行われている。
【０００５】
しかしながら、この交換作業には、移行元ストレージ装置に記録されたデータを移行先ストレージ装置にコピーする作業をともなう為、高速で確実にデータコピーを行うことが要求される。また、ノンストップ運用を続けながらストレージ装置の交換ができるデータコピー処理システムを実現することが望まれている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−３１５７９号公報
【特許文献２】特開２００６−１１３９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
開示の技術は、運用中にストレージ装置のデータコピー処理を実行可能にするデータコピー処理システム、ストレージ装置、及びデータコピー処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
開示の技術の一側面によると、データをコピー元のストレージ装置からコピー先のストレージ装置にコピーするデータコピー処理システムにおいて、データが記録された第１ストレージドライブと、第１ストレージドライブを制御する第１コントローラを有するコピー元の第１ストレージ装置と、第１ストレージ装置のデータのコピーが書き込まれる第２ストレージドライブと、第２ストレージドライブを制御する第２コントローラを有するコピー先の第２ストレージ装置と、第１ストレージ装置と接続されているホスト装置と、を備え、ホスト装置は、ユーザにより第２ストレージ装置が接続されたことを認識後、ユーザによりコピー要求が入力されると、コピー処理モードを設定後、第２ストレージ装置にコピーコマンドを発行し、コピー処理モードのときに、ユーザによりライト要求が入力されると、第１ストレージ装置にライトコマンドを発行し、ライトコマンドに対する正常完了報告を第１ストレージ装置から受信すると、第２ストレージ装置に更新コマンドを発行し、第２ストレージ装置からコピーコマンドに対するコピー処理の完了報告を受信すると、第１ストレージ装置との接続を切り離し、第１コントローラは、第２コントローラから発行されたリードコマンドに基づいて第１ストレージドライブに指示してアドレス順に全データを読出し、第２ストレージ装置に読出されたデータを出力する制御を行い、ホスト装置からライトコマンドを受信すると、指定された領域のデ−タを更新し、正常に完了すると、正常完了報告を送信し、第２コントローラは、ホスト装置からコピーコマンドを受信すると、リードコマンドを第１ストレージ装置に発行して第１ストレージドライブから読み出されたデータを読出しアドレス順に順次取得して第２ストレージドライブに書き込む制御を行い、更新コマンドを受信すると、更新コマンドで指定された領域のデータがコピー済みか否かを判断して、コピー済みと判断した場合には、第１ストレージ装置にリードコマンドを発行して更新されたデータを取得し、更新対象領域のコピー済みのデータを更新データに更新する更新処理を行う。
【発明の効果】
【０００９】
開示の技術は、運用中にストレージ装置のデータコピー処理を実行可能にするデータコピー処理システム、ストレージ装置、及びデータコピー処理方法を提供する。
【図面の簡単な説明】
【００１０】
【図１】データコピー処理システムのブロック図である。
【図２】仮想ディスクと物理ディスクの関係を説明するための図である。
【図３】コピー制御部によるコピー制御を説明するためのフロー図である。
【図４】コピー処理実行部によるコピー処理を説明するためのフロー図である。
【図５】データコピー処理システムにおけるデータコピー処理を説明するための図である。
【図６】コピー処理モード時のリード／ライト制御を説明するためのフロー図である。
【図７】データコピー処理システムにおけるリード処理を説明するための図である。
【図８】第２ストレージ装置の更新処理を説明するためのフロー図である。
【図９】更新対象領域の更新処理要否判定を説明するためのフロー図である。
【図１０】データコピー処理システムにおけるライト処理及び更新処理を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して実施の形態を詳細に説明する。図１は、データコピー処理システムのブロック図である。データコピー処理システム１は、サーバ装置２及び第１ストレージ装置（コピー元）２０のコンピュータシステムに、第２ストレージ装置（コピー先）３０が接続されたものである。
【００１２】
サーバ装置２は、ホスト装置の一例であり、中央演算処理装置（ＣＰＵ）３、メモリ４、第１及び第２ホストバスアダプタ５ａ、５ｂ等を含む。メモリ４には、アプリケーションソフトウェアやコピー制御プログラム等の各種プログラム６が格納される。また、モードフラグ１５等の管理情報もメモリに格納される。
【００１３】
第１及び第２ホストバスアダプタ５ａ、５ｂは、サーバ装置２と外部装置を接続し、通信を行うインターフェース機器である。ホストインターフェースの一例として、ファイバチャネルインターフェースが挙げられる。
【００１４】
ＣＰＵ３は、メモリ４に格納された各種プログラムを実行する。接続装置認識部１１は、外部装置に対応したコマンド発行やデータ転送を行う為に、第１及び第２ホストバスアダプタ５ａ、５ｂに接続された外部装置から装置情報を取得する。装置情報は、外部装置の種別、データ転送速度、データ転送量等の情報である。接続装置認識部１１は、外部装置との接続の解除（切断）を行う。
【００１５】
ＣＰＵ３は、メモリ４に格納されたアプリケーションソフトウェアの実行により構築されたアプリケーション実行部１２を含む。アプリケーションソフトウェアは、ユーザがコンピュータ上で実行したい作業を実施するためのソフトウェアであり、アプリケーション実行部１２で処理される。
【００１６】
ＣＰＵ３は、メモリ４に格納されたコピー制御プログラムの実行により構築されたコピー制御部１３を備える。なお、コピー制御プログラムは、ストレージ装置のデバイスドライバに組み込まれてユーザに提供され、サーバ装置にインストールされる。モード設定部１４は、コピー制御部１３からの指示を受けて通常処理モードとコピー処理モードを切り替える。
【００１７】
通常処理モードは、ストレージ装置に対するアクセス要求に応じた制御を行うモードである。コピー処理モードは、ストレージ装置のデータコピー（データ移行）又は交換要求を受けて、コピー制御プログラムを起動してコピー制御を実行するモードである。なお、サーバ装置２は、コピー処理モードに切り替わっても、ストレージ装置に対するアクセス要求に応じた制御を継続する。
【００１８】
また、ＣＰＵ３は、コマンド発行部１６を備える。コマンド発行部１６は、各種コマンドを接続された外部装置に発行する。コマンド発行部１６は、コピー制御部１３からの指示を受けてコピー元の第１ストレージ装置２０のデータコピーの開始を指示するコピーコマンドをコピー先の第２ストレージ装置３０に発行する。
【００１９】
第１ストレージ装置２０は、コピー元ストレージ装置である。第１ストレージ装置２０は、第１コントローラモジュール２１と、複数のストレージドライブ２７を備える第１ストレージドライブ群２８を含む。コントローラモジュール２１は、チャネルアダプタ２２、第１コントローラ２３、メモリ２４、キャッシュメモリ２５、デバイスアダプタ２６を含む。
【００２０】
チャネルアダプタ２２は、ホスト装置とケーブルを介してそれぞれ接続し、通信を行うホストインターフェース機器である。チャネルアダプタ２２は、サーバ装置２のホストバスアダプタ５ａ及び第２ストレージ装置３０のチャネルアダプタ３２とケーブルを介して接続され、チャネルアダプタ２２を経由してコマンドやデータの送受信が行われる。従って、第１ストレージ装置２０のホスト装置は、サーバ装置２及び第２ストレージ装置３０である。
【００２１】
第１コントローラ２３は、第１ストレージドライブ群２８に対するリード／ライト制御等を行うものであり、コマンド処理部４１ａやドライブ制御部４５ａを含む。コマンド処理部４１ａは、チャネルアダプタ２２から受信したコマンドを処理して、ドライブ制御部４５ａに指示する。
【００２２】
ドライブ制御部４５ａは、アクセス対象のストレージドライブ２７に対してリード／ライト要求を出力し、アクセス対象のストレージドライブ２７からの応答を受信する。そして、ドライブ制御部４５ａからコマンド処理部４１ａにこの応答を通知し、コマンド処理部４１ａはホスト装置に対して正常終了した旨を示す完了報告又はエラー終了した旨を示す異常報告を出力する。
【００２３】
メモリ２４は、各種プログラム２４ａや第１コントローラ２３が使用する管理情報等を格納する。なお、各種プログラム２４ａとしてコピー処理プログラム等を含んでいても良いが、第１ストレージ装置２０がコピー元装置になる場合は第１コントローラ２３がコピー処理プログラムを実行する必要はない。
【００２４】
キャッシュメモリ２５は、サーバ装置２から送信されたライトデータや第１ストレージドライブ群２８から出力されたリードデータを一時的に格納する。キャッシュメモリ２５によって、ホストインターフェースとデバイスインターフェースとの間の性能差の緩和を図っている。
【００２５】
デバイスアダプタ２６は、第１コントローラモジュール２１と複数のストレージドライブ２７を接続し、通信を行うインターフェース機器である。第１ストレージドライブ群２８は、ストレージドライブとして複数のＨＤＤの他に、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を含んでいても良い。
【００２６】
また、第２ストレージ装置３０は、コピー先ストレージ装置であり、第１ストレージ装置と交換する為にサーバ装置２及び第１ストレージ装置２０に接続される。第２ストレージ装置３０も同様に、第２コントローラモジュール３１と、複数のストレージドライブ３７を備える第２ストレージドライブ群３８を含む。
【００２７】
第２コントローラモジュール３１は、チャネルアダプタ３２、第２コントローラ３３、メモリ３４、キャッシュメモリ３５、デバイスアダプタ３６を含む。チャネルアダプタ３２は、ホスト装置とケーブルを介してそれぞれ接続し、通信を行うホストインターフェース機器である。チャネルアダプタ３２は、サーバ装置２のホストバスアダプタ５ｂ及び第１ストレージ装置２０のチャネルアダプタ２２とケーブルを介して接続され、チャネルアダプタ３２を経由してコマンドやデータの送受信が行われる。
【００２８】
第２コントローラ３３は、接続装置認識部３９を含む。接続装置認識部３９は、チャネルアダプタ３２に外部装置が接続されると、接続先の装置情報を取得する。また、第２コントローラ３３は、通常動作モード時に、第２ストレージドライブ群３８に対するリード／ライト制御等を行い、コマンド処理部４１ｂやドライブ制御部４５ｂを含む。
【００２９】
コマンド処理部４１ｂは、チャネルアダプタ３２から受信したコマンドを処理して、ドライブ制御部４５ｂに指示する。ドライブ制御部４５ｂは、アクセス対象のストレージドライブ３７に対してリード／ライト要求を出力し、アクセス対象のストレージドライブ３７からの応答を受信する。
【００３０】
そして、ドライブ制御部４５ｂからコマンド処理部４１ｂにこの応答を通知し、コマンド処理部４１ｂはサーバ装置２に対して正常終了した旨を示す完了報告又はエラー終了した旨を示す異常報告を出力する。
【００３１】
第２コントローラ３３は、コピー処理モード時に、コピー処理プログラムの実行によって構築されたコピー処理実行部４２、更新命令処理部４４を含む。これらの動作の詳細は後述する。
【００３２】
第２コントローラ３３は、モード設定部４３を含む。モード設定部４３は、コピー処理実行部４２からの要求を受けて通常処理モードとコピー処理モードを切り替える。通常処理モードは、サーバ装置２からの第２ストレージドライブ群３８に対するアクセス要求に応じた制御を行うモードである。コピー処理モードは、サーバ装置２からコピーコマンドを受信すると、コピー処理プログラムを起動してコピー処理を実行するモードである。
【００３３】
メモリ３４は、各種プログラム３４ａ、モードフラグ３４ｂ、及び第２コントローラ３３が使用する管理情報等を格納する。また、各種プログラム３４ａは、後述するコピー処理プログラムを含む。キャッシュメモリ３５は、サーバ装置２から送信されたライトデータや第２ストレージドライブ群３８から出力されたリードデータを一時的に格納するためのものである。
【００３４】
デバイスアダプタ３６は、第２コントローラモジュール３１と複数のストレージドライブ２７を接続し、通信を行うインターフェース機器である。第２ストレージドライブ群３８には、ストレージドライブとして複数のＨＤＤの他に、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）が含まれていても良い。
【００３５】
第１ストレージ装置２０を第１ストレージ装置２０よりも大容量の第２ストレージ装置３０に交換する為に、ユーザが第２ストレージ装置３０をサーバ装置２及び第１ストレージ装置２０にそれぞれ接続する。
【００３６】
サーバ装置２の接続装置認識部１１は、第２ストレージ装置３０の接続を認識すると、第２ストレージ装置３０から装置情報を取得する。なお、第１ストレージ装置２０の装置情報は第１ストレージ装置２０の接続時に取得済みである。
【００３７】
また、第２ストレージ装置３０の接続装置認識部３９も、サーバ装置２及び第１ストレージ装置２０の装置情報を取得する。その後、ユーザによって入力されたデータコピー要求（データ移行要求）を受けて、アプリケーション実行部１２はコピー制御プログラム１０を実行し、コピー制御部１３を構築する。なお、サーバ装置２のアプリケーションからのアクセス要求は全て仮想ディスクに対して行われる。そのため、仮想ディスクが作成される。
【００３８】
図２（Ａ）、（Ｂ）は、仮想ディスクと物理ディスクの関係を説明するための図である。サーバ装置２は、図２（Ａ）に示すように、第１ストレージ装置２０が接続されると、仮想ディスク（ＶＤＩＳＫ）５０を作成する。そして、仮想ディスク（ＶＤＩＳＫ）５０に第１ストレージ装置２０の物理ディスク（ＰＤＩＳＫ１）６０が割り当てられる。
【００３９】
その後、サーバ装置２に第２ストレージ装置３０がコピー先として接続されると、この仮想ディスク（ＶＤＩＳＫ）５０に第２ストレージ装置３０の物理ディスク（ＰＤＩＳＫ２）７０が追加され割り当てられる。
【００４０】
具体的には、コピー制御部１３は、図２（Ｂ）に示すように、第１ストレージ装置２０の論理ユニット番号０の物理ディスク（ＰＤＩＳＫ１）６０と第２ストレージ装置３０の論理ユニット番号０の物理ディスク（ＰＤＩＳＫ２）７０の組み合わせ（並列のペア）にして、仮想ディスク（ＶＤＩＳＫ）５０に割り当てる。
【００４１】
なお、この組み合わせは、ユーザが設定した組み合わせ情報に基づいて決定することもできる。このようにして、仮想ディスク（ＶＤＩＳＫ）５０へのアクセスが来た場合に、コピー制御部１３が物理ディスク（ＰＤＩＳＫ１）６０と物理ディスク（ＰＤＩＳＫ２）７０へのアクセスに割り振ることができる。つまり、コピー制御部１３は、コピー元とコピー先に対してアクセスを行うことができる。
【００４２】
図３は、コピー制御部によるコピー制御を説明するためのフロー図である。アプリケーション実行部１２がユーザによって入力されたデータコピー要求を受信する（Ｓ１０１）。アプリケーション実行部１２はメモリ４に格納されたコピー制御プログラム１０を実行し、コピー制御部１３を構築する。
【００４３】
コピー制御部１３は、モード設定部１４に指示してサーバ装置２をコピー処理モードに切り替えて、モードフラグ１５をコピー処理モードに設定する（Ｓ１０２）。また、コピー制御部１３は、前述したように、仮想ディスク（ＶＤＩＳＫ）５０にコピー先の第２ストレージ装置３０の物理ディスク（ＰＤＩＳＫ２）７０を割り当てて、アクセス設定の変更を行う。
【００４４】
コピー制御部１３は、コマンド発行部１６に指示してコピー先の第２ストレージ装置３０にコピーコマンドを発行する（Ｓ１０３）。コピーコマンドは、コピー元の第１ストレージ装置２０のデータのコピーを第２ストレージ装置３０に実行させる為のコマンドである。そして、第２ストレージ装置３０にてコピー処理が実行される。
【００４５】
その後、コピー制御部１３は、第２ストレージ装置３０からコピー処理が完了した旨のコピー処理の完了報告を受信する（Ｓ１０４）と、コピー処理モードを解除する。また、コピー制御部１３は、モード設定部１４に指示してサーバ装置２のコピー処理モードを解除してモードフラグ１５を通常処理モードに設定する（Ｓ１０５）。
【００４６】
そして、コピー制御部１３は、接続装置認識部１１に指示してコピー元の第１ストレージ装置２０のインターフェース接続を切断する。従って、コピー元の第１ストレージ装置２０は、サーバ装置２から切り離される（Ｓ１０６）。
【００４７】
図４は、コピー処理実行部によるコピー処理を説明するためのフロー図である。コピー先の第２ストレージ装置３０は、サーバ装置２からコピーコマンドを受信する（Ｓ２０１）。そして、コマンド処理部４１ｂは、コピーコマンドに基づいて、メモリ３４に格納されたコピー処理プログラムを実行する。
【００４８】
コピー処理プログラムの実行によって、コピー処理実行部４２及び更新命令処理部４４が第２コントローラ３３に構築される。そして、コピー処理実行部４２は、モード設定部４３に指示して第２ストレージ装置３０をコピー処理モードに切り替え、モードフラグ３４ｂをコピー処理モードに設定する（Ｓ２０２）。
【００４９】
コピー処理実行部４２は、コピー元の第１ストレージ装置２０にリードコマンドを発行し、全データをアドレス順に読出す指示を行う（Ｓ２０３）。リードデータを第１ストレージ装置２０から順次受信し、キャッシュメモリ３５に読出しアドレス順に一時的に格納する。そして、キャッシュメモリ３５に格納されたリードデータは、第２ストレージドライブ群３８に出力され、各ストレージドライブ３７に記憶される。
【００５０】
このようにして、全データのコピーが完了する（Ｓ２０４）と、コピー処理実行部４２は、コマンド処理部４１ｂに指示してサーバ装置２へコピー処理の完了報告を出力する（Ｓ２０５）。そして、コピー処理実行部４２は、モード設定部４３に指示して第２ストレージ装置３０のコピー処理モードを解除し、モードフラグ３４ｂを通常処理モードに設定する（Ｓ２０６）。
【００５１】
図５は、データコピー処理システムにおけるデータコピー処理を説明するための図である。第２ストレージ装置３０がサーバ装置２及び第１ストレージ装置２０に接続されると、サーバ装置２の接続装置認識部１１は、第２ストレージ装置３０から装置情報を取得する。また、第２ストレージ装置３０の接続装置認識部３９は、サーバ装置２及び第１ストレージ装置２０の装置情報を取得する（１）。
【００５２】
アプリケーション実行部１２はユーザによって入力されたデータコピー要求を受けて、コピー制御プログラム１０を実行し、コピー制御部１３を構築する（２）。コピー制御部１３は、モード設定部１４に指示して、サーバ装置２をコピー処理モードに切り替え、モードフラグ１５を１（コピー処理モード）に設定する（３）。
【００５３】
コピー制御部１３は、コピー元ディスクとコピー先ディスクを１台のストレージ装置としてまとめてアクセス可能にする為に仮想ディスクの物理ディスクの組み合わせを変更する。コピー制御部１３は、コマンド発行部１６に指示して、コピーコマンドを第２ストレージ装置３０に発行する（４）。第２ストレージ装置３０は、サーバ装置２からコピーコマンドを受信すると、コピー処理プログラムを実行する。
【００５４】
コピー処理プログラムによって構築されたコピー処理実行部４２は、モード設定部４３に指示して、第２ストレージ装置３０をコピー処理モードに切り替え、モードフラグ３４ｂを１（コピー処理モード）に設定する（５）。
【００５５】
コピー処理実行部４２は、コピー元の第１ストレージ装置２０にリードコマンドを発行し、全データをアドレス（論理ブロックアドレス：ＬＢＡ）順に読出す指示を行う（６）。リードコマンドの指示に当たって、コピー処理実行部４２は、第１ストレージ装置２０の装置情報を前もって取得しておき、第１ストレージ装置２０にリードコマンドを発行する。
【００５６】
このリードコマンドは、先頭ＬＢＡから最終ＬＢＡまでを、第１ストレージ装置２０が処理可能なデータ転送量（例えば１０２４Ｂ単位）毎に分割した複数のリードコマンドであり、この複数のリードコマンドがアドレスの順番に発行される。
【００５７】
第１ストレージ装置２０のコマンド処理部４１ａは、これら複数のリードコマンドを順番に受信し、ドライブ制御部４５ａに指示して、第１ストレージドライブ群２８のリード対象のストレージドライブ２７にリード要求を出力する。そして、リード対象のストレージドライブ２７から読出されたリードデータを第２ストレージ装置３０にチャネルアダプタ２２を経由して出力する。
【００５８】
第２ストレージ装置３０は、リードデータを第１ストレージ装置２０から順次受信し、キャッシュメモリ３５に読出しアドレス順（ＬＢＡ順）に一時的に格納する。そして、キャッシュメモリ３５に格納されたリードデータは、ドライブ制御部４５ｂによって第２ストレージドライブ群３８に出力され、各ストレージドライブ３７に記憶される。
【００５９】
このようにして、全データのコピーが完了すると、コピー処理実行部４２は、コマンド処理部４１ｂに指示してサーバ装置２へコピー処理の完了報告を出力する（７）。そして、コピー処理実行部４２は、モード設定部４３に指示して第２ストレージ装置３０のコピー処理モードを解除し、モードフラグ３４ｂを通常処理モードに設定する（８）。
【００６０】
また、サーバ装置２のコピー制御部１３は、第２ストレージ装置３０からコピー処理の完了報告を受信すると、モード設定部１４に指示してサーバ装置２のコピー処理モードを解除してモードフラグ１５を通常処理モードに設定する（９）。
【００６１】
そして、コピー制御部１３は、接続装置認識部１１に指示してコピー元の第１ストレージ装置２０のインターフェース接続を切断する。従って、コピー元の第１ストレージ装置２０は、サーバ装置２から切り離される。
【００６２】
図６は、コピー処理モード時のリード／ライト制御を説明するためのフロー図である。サーバ装置２のアプリケーション実行部１２がユーザによって入力されたリード／ライト要求を受信する（Ｓ３０１）と、モードフラグ１５を参照して、コピー処理モードか否かを判定する（Ｓ３０２）。モードフラグ１５がコピー処理モードで無ければ（Ｓ３０２、ＮＯ）、通常処理モードであり、アプリケーション実行部１２は、通常のコマンド処理を行う（Ｓ３０３）。
【００６３】
モードフラグ１５がコピー処理モードであれば（Ｓ３０２、ＹＥＳ）、コピー制御部１３は、ライト要求か否かを判定する（Ｓ３０４）。入力された要求がライト要求であれば（Ｓ３０４、ＹＥＳ）、コピー制御部１３は、コマンド発行部１６に指示してコピー元の第１ストレージ装置２０にライトコマンドを発行する（Ｓ３０５）。
【００６４】
このライトコマンドによって、コピー制御部１３は、第１ストレージ装置２０にライト対象領域（１又は複数のアドレス）に対するライト処理を実行させる。ライト成功であれば（Ｓ３０６、ＹＥＳ）、コピー制御部１３は、第１ストレージ装置２０から完了報告を受信する。
【００６５】
そして、コピー制御部１３は、コマンド発行部１６に指示してコピー先の第２ストレージ装置３０に更新コマンドを発行する（Ｓ３０７）。この更新コマンドによって、コピー制御部１３は、ライト対象領域（１又は複数のアドレス）に対応する更新対象領域（１又は複数のアドレス）のデータの更新処理を第２ストレージ装置３０に実行させる。ライト処理がライト不成功であれば（Ｓ３０６、ＮＯ）、コピー制御部１３は、第１ストレージ装置２０から異常報告を受信する（Ｓ３０９）。
【００６６】
更新コマンドは、ライト対象領域に対応する第２ストレージ装置３０のコピー済みデータをライトデータに置き換える為のコマンドである。第２ストレージ装置３０は、この更新コマンドによって、第１ストレージ装置２０のライト対象領域のデータが書き換えられたことを把握することができる。
【００６７】
コピー制御部１３は、第２ストレージ装置３０から更新処理の完了報告を受信する（Ｓ３０８）。このようにして、コピー処理モード時のライト制御が実行される。
【００６８】
入力された要求がライト要求でなければ（Ｓ３０４、ＮＯ）、コピー制御部１３は、リード要求と判定する（Ｓ３１０）。そして、コピー制御部１３は、コマンド発行部１６に指示してコピー元の第１ストレージ装置２０にリードコマンドを発行する（Ｓ３１１）。
【００６９】
このリードコマンドによって、コピー制御部１３は、第１ストレージ装置２０にリード対象領域（１又は複数のアドレス）に対するリード処理を実行させる。その後、コピー制御部１３は、第１ストレージ装置２０からリード処理の完了報告を受信する（Ｓ３１２）。このようにして、コピー処理モード時のリード制御が実行される。
【００７０】
図７は、データコピー処理システムにおけるリード処理を説明するための図である。コピー制御部１３は、アプリケーション実行部１２からリード要求を受信する（１）。そして、コピー制御部１３は、コマンド発行部１６に指示してコピー元の第１ストレージ装置２０にリードコマンドを発行する（２）。
【００７１】
第１ストレージ装置２０は、サーバ装置２からのリードコマンドを受信する。この時、第１ストレージ装置２０は、第２ストレージ装置３０からのリードコマンドも受信して処理している。リード対象アドレスから読出されたリードデータがキャシュメモリ２５に保存されている場合は、コマンド処理部４１ａはこのキャシュメモリ２５からリードデータを読出す。そして、コマンド処理部４１ａはこのリードデータをサーバ装置２に出力する。
【００７２】
リードデータがキャシュメモリ２５に保存されていない場合は、コマンド処理部４１ａはドライブ制御部４５ａに指示して第１ストレージドライブ群２８の目的のストレージドライブ２７からデータを読出す。そして、コマンド処理部４１ａはこのリードデータをサーバ装置２に出力する。
【００７３】
第１ストレージ装置２０は、コマンド処理部４１ａに指示してサーバ装置２へリード処理の完了報告を出力する（３）。このようにして、データコピー処理システムにおいてコピー処理中であってもアプリケーションからのリ−ド要求に応答してリード処理を実行することができる。
【００７４】
図８は、第２ストレージ装置の更新処理を説明するためのフロー図である。第２ストレージ装置３０は、サーバ装置２からコマンドを受信すると、コマンド処理部４１ｂは、モードフラグ３４ｂを参照して、コピー処理モードか否かを判定する（Ｓ４０１）。
【００７５】
モードフラグ３４ｂがコピー処理モードで無ければ（Ｓ４０１、ＮＯ）、通常処理モードであり、コマンド処理部４１ｂは通常のコマンド処理を行う（Ｓ４０２）。モードフラグ３４ｂがコピー処理モードであれば（Ｓ４０１、ＹＥＳ）、コピー処理実行部４３は、受信したコマンドが更新コマンドか否かを判定する（Ｓ４０３）。
【００７６】
コマンドが更新コマンドで無ければ（Ｓ４０３、ＮＯ）、コピー処理実行部４４は、他の処理を実行する（Ｓ４０４）。コマンドが更新コマンドであれば（Ｓ４０３、ＹＥＳ）、更新命令処理部４４は、更新コマンドによって指定された更新対象領域が第１ストレージ装置２０からデータ取得済み（リード済み）領域に含まれるか否かを判定する（Ｓ４０５）。
【００７７】
更新対象領域がリード済み領域に含まれていれば（Ｓ４０５、ＹＥＳ）、更新命令処理部４４は、コマンド処理部４１ｂに指示してコピー元の第１ストレージ装置２０にリードコマンドを発行する（Ｓ４０９）。更新対象領域がリード済み領域に含まれていなければ（Ｓ４０５、ＮＯ）、更新命令処理部４４は、更新対象領域が未リード領域に含まれるか否かを判定する（Ｓ４０６）。
【００７８】
更新対象領域が未リード領域に含まれていれば（Ｓ４０６、ＹＥＳ）、更新命令処理部４４は、コマンド処理部４１ｂに指示して更新処理を行う必要が無い為、サーバ装置２に更新処理の完了報告を出力する（Ｓ４１２）。
【００７９】
更新対象領域が未リード領域に含まれていなければ（Ｓ４０６、ＮＯ）、現在リード中であり、更新命令処理部４４は、コピー処理実行部４３で管理しているリード済みアドレス情報ポインタのアドレス情報（ＬＢＡ）の更新を待つ（Ｓ４０７）。
【００８０】
更新命令処理部４４は、リードコマンドによって、第１ストレージ装置２０に対して更新対象領域のリード処理を実行させる。その後、第２ストレージ装置３０は、第１ストレージ装置２０から更新対象領域のリードデータを受信する（Ｓ４１０）。
【００８１】
そして、更新命令処理部４４は、このリードデータを用いてコピー済みのデータの更新処理を行う（Ｓ４１１）。更新処理が完了すると、更新命令処理部４４は、コマンド処理部４１ｂに指示してサーバ装置２に更新処理の完了報告を出力する（Ｓ４１２）。従って、コピー処理中のライト処理に対応して、第２ストレージ装置３０にコピーされたデータをライトデータに更新することができる。
【００８２】
なお、リード済み領域とは、コピー処理の為のリードコマンドに対応して第１ストレージ装置２０からデータを取得済みの領域である。未リード領域は、まだ、第１ストレージ装置２０からデータを取得していない、つまり第１ストレージ装置によるリード処理が完了していない領域である。リード済み領域でも未リード領域でもない領域は、第１ストレージ装置によって現在リード処理が行われているリード中の領域である。
【００８３】
図９は、更新対象領域の更新処理要否判定を説明するためのフロー図である。更新命令処理部４４は、更新対象領域が第１ストレージ装置２０からデータ取得済み（リード済み）であるか否かを判定する。Ｕ−ＬＢＡ１は、更新対象領域の先頭の論理ブロックアドレスである。Ｕ−ＬＢＡ２は、更新対象領域の最終の論理ブロックアドレスである。
【００８４】
更新命令処理部４４は、データコピー処理によるリード済みアドレス情報ポインタのアドレス（ＬＢＡ）情報から現在リード中の領域のアドレスを取得する（Ｓ５０１）。
【００８５】
リード中の領域は、判定時点において、コピー処理実行部４２が発行したリードコマンドによるリードデータ取得処理中の領域である。Ｃ−ＬＢＡ１は、リード中の領域の先頭の論理ブロックアドレスである。Ｃ−ＬＢＡ２は、リード中の領域の最終の論理ブロックアドレスである。
【００８６】
Ｕ−ＬＢＡ１の方がＣ−ＬＢＡ２より大であれば（Ｓ５０２、ＹＥＳ）、更新対象領域は未リードと判定する（Ｓ５０３）。従って、リード（コピー）していない為、更新命令処理部４４は更新処理を行わないと判定する。
【００８７】
Ｕ−ＬＢＡ２の方がＣ−ＬＢＡ１より小であれば（Ｓ５０４、ＹＥＳ）、更新対象領域はリード済みと判定する（Ｓ５０５）。従って、リード済み（コピー済み）の為、更新命令処理部４４は更新処理を行うと判定する。
【００８８】
その他であれば（Ｓ５０４、ＮＯ）、つまり、Ｃ−ＬＢＡ１≦Ｕ−ＬＢＡ１≦Ｃ−ＬＢＡ２またはＣ−ＬＢＡ１≦Ｕ−ＬＢＡ２≦Ｃ−ＬＢＡ２であれば（Ｓ５０６）、更新対象アドレス（Ｕ−ＬＢＡ）は現在リード中と判定する（Ｓ５０７）。従って、リード中の領域のリード処理が完了してから、更新命令処理部４４は更新処理を行うと判定する。
【００８９】
図１０は、データコピー処理システムにおけるライト処理及び更新処理を説明するための図である。コピー制御部１３は、アプリケーション実行部１２からライト要求を受信する（１）。そして、コピー制御部１３は、コマンド発行部１６に指示してコピー元の第１ストレージ装置２０にライトコマンドを発行する（２）。
【００９０】
第１ストレージ装置２０は、サーバ装置２からのライトコマンドを受信する。この時、第１ストレージ装置２０は第２ストレージ装置３０からのリードコマンドも受信して処理している。ライト対象アドレスから読出されたデータがキャシュメモリ２５に保存されている場合は、コマンド処理部４１ａはこのキャシュメモリ２５のライトデータを書き換える。
【００９１】
ライト対象アドレスから読出されたデータがキャシュメモリ２５に保存されていない場合は、コマンド処理部４１ａはドライブ制御部４５ａに指示してライト対象のストレージドライブ２７にライトデータを書き込む。第２ストレージ装置３０は、コマンド処理部４１ｂに指示してサーバ装置２へライト処理の完了報告を出力する（３）。
【００９２】
ライトコマンドが正常終了した場合は、コピー制御部１３は、コマンド発行部１６に指示してコピー先の第２ストレージ装置３０に更新コマンドを発行する（４）。なお、ライトコマンドが異常終了した場合は、サーバ装置２は更新コマンドを発行しない。
【００９３】
第２ストレージ装置３０の更新命令処理部４４は、サーバ装置２から更新コマンドを受信すると、図９で説明したように、更新対象領域が第１ストレージ装置２０からデータを取得済み（リード済み）であるか否かを判定する。
【００９４】
更新対象領域がリード済みまたは現在リード中の場合に、更新命令処理部４４は、更新処理を実行する為に、コマンド処理部４１ｂに指示してコピー元の第１ストレージ装置２０にリードコマンドを発行する（５）。なお、未リードの場合は、更新する必要がないので更新処理は行わない。
【００９５】
第１ストレージ装置２０は、更新命令処理部４４からのリードコマンドで指定されたアドレスのデータがキャシュメモリ２５に保存されている場合は、キャシュメモリ２５からデータを読出して第２ストレージ装置３０に出力する。
【００９６】
データがキャシュメモリ２５に保存されていない場合は、第１ストレージドライブ群２８の目的のストレージドライブ２７からデータを読出して第２ストレージ装置３０に出力する。そして、更新命令処理部４４は、この読出されたリードデータを用いてコピー済みのデータの更新処理を行う（６）。
【００９７】
更新処理が完了すると、更新命令処理部４４は、コマンド処理部４１ｂに指示してサーバ装置２に更新処理の完了報告を出力する（７）。このようにして、データコピー処理システムにおいて、コピー処理中であってもアプリケーションからのライト要求に応答してライト処理を実行することができる。
【００９８】
以上のように、コピー元ストレージ装置の仕様に関わらず、サーバ装置２とコピー先ストレージ装置によって、データコピー（データ移行）を行うことができる。また、コピー先ストレージ装置は、ファイバチャネル等の公知のインターフェース仕様におけるリードコマンドを利用してコピー元ストレージ装置からデータをアドレス順に読出すので、複雑な設定やプログラムを必要とせず、簡単にコピー処理を行うことができる。
【００９９】
また、アドレス順にデータコピーを行う為、コピーの進捗管理を容易に行うことができ、コピー処理中にライトコマンドに対応するライト処理を実行しても、コピー先ストレージ装置のデータ更新の必要性を容易に判断することができる。
【０１００】
その為、コピー元ストレージ装置はコピー処理中であってもサーバ装置２からのリード／ライトコマンドを処理することができる。従って、本実施の形態のデータコピー処理システムは、運用中にストレージ装置のデータコピー処理を実行することができる。
【０１０１】
本発明は上記実施の形態に限定されるものではない。矛盾のない限りにおいて、複数の実施の形態を組み合わせても構わない。上記実施形態は例示であり、本発明の特許請求の範囲に記載された技術的思想と実質的に同一な構成を有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲に包含される。
【０１０２】
以上の実施形態に関して、さらに以下の付記を開示する。
（付記１）
データをコピー先のストレージ装置にコピーするデータコピー処理システムにおいて、
前記データが記録された第１ストレージドライブと、前記第１ストレージドライブを制御する第１コントローラを有するコピー元の第１ストレージ装置と、
前記第１ストレージ装置のデータのコピーが書き込まれる第２ストレージドライブと、
前記第２ストレージドライブを制御する第２コントローラを有するコピー先の第２ストレージ装置と、を備え、
前記第１コントローラは、前記第２コントローラから発行されたリードコマンドに基づいて前記第１ストレージドライブに指示してアドレス順に全データを読出し、前記第２ストレージ装置に読出されたデータを出力する制御を行い、
前記第２コントローラは、前記読出しデータを読出しアドレス順に前記第２ストレージドライブに書き込む制御を行う、
ことを特徴とするデータコピー処理システム。
（付記２）
データコピー処理の実行中に、前記第１ストレージ装置がホスト装置からのライトコマンドを受信した場合に、前記第１コントローラは、前記ライトコマンドで指定された領域に対するライトデータの書き込みを行い、
前記ライトコマンドで指定された領域のデータがコピー済みの場合に、前記第２コントローラは、前記第１ストレージ装置にリードコマンドを発行して前記ライトデータを取得し、更新対象領域のコピー済みのデータを前記ライトデータに更新する更新処理を行うことを特徴とする付記１に記載のデータコピー処理システム。
（付記３）
前記リードコマンドに基づく前記第１ストレージ装置からのデータの読出し中の領域のアドレスと前記更新対象領域のアドレスを比較した結果に基づいて、前記第２コントローラは前記更新対象領域に対する更新処理を実行することを特徴とする付記２に記載のデータコピー処理システム。
（付記４）
前記ライトコマンドで指定された領域に対するデータの書き込みが成功した場合に、前記第２コントローラは、前記更新対象領域に対する更新処理を実行することを特徴とする付記２または付記３に記載のデータコピー処理システム。
（付記５）
前記第２コントローラは、前記ホスト装置からの更新コマンドに基づいて前記更新処理を行い、
前記ライトコマンドで指定された領域に対するデータの書き込みが成功した場合に、前記ホスト装置は、前記更新コマンドを前記第２ストレージ装置に発行することを特徴とする付記２乃至付記４のいずれか１つに記載のデータコピー処理システム。
（付記６）
データコピー処理の実行中に、前記第１ストレージ装置が前記ホスト装置からのリードコマンドを受信した場合に、前記第１コントローラは、前記リードコマンドによって指定された領域からデータを読出すリード処理を行うことを特徴とする付記１乃至付記５のいずれか一つに記載のデータコピー処理システム。
（付記７）
コピー元ストレージ装置のデータをコピーするストレージ装置において、
前記コピー元ストレージ装置との通信を行うインターフェースと、
前記データのコピーが書き込まれるストレージドライブと、
前記コピー元ストレージ装置に前記インターフェースを経由してリードコマンドを発行し、アドレス順に全データを読出させ、読出しデータを読出しアドレス順に前記ストレージドライブに書き込む制御を行うコントローラと、
を備えることを特徴とするストレージ装置。
（付記８）
コピー元の第１ストレージ装置に書き込まれたデータをコピー先の第２ストレージ装置にコピーするデータコピー処理方法において、
前記第２ストレージ装置の第２コントローラが、前記第１ストレージ装置からアドレス順に全データを読出すように前記第１ストレージ装置にリードコマンドを発行する第１工程と、
前記第１ストレージ装置の第１コントローラが、前記リードコマンドに基づいて前記第１ストレージドライブに指示して全データをアドレス順に読出し、読出しデータを前記第２ストレージ装置に出力する第２工程と、
前記第２ストレージ装置の前記第２コントローラが、前記第２ストレージ装置内の第２ストレージドライブに対して読出しアドレス順に前記読出しデータの書き込みを行う第３工程と、
を備えることを特徴とするデータコピー処理方法。
（付記９）
前記第１工程は、前記第２ストレージ装置がホスト装置からコピーコマンドを受信する工程と、
前記コピーコマンドに基づいて、前記第２コントローラが前記第１ストレージ装置に前記リードコマンドを発行する工程を含むことを特徴とする付記８記載のデータコピー処理方法。
（付記１０）
データコピー処理の実行中に、前記第１ストレージ装置が前記ホスト装置からのライトコマンドを受信した場合に、前記第１コントローラは前記ライトコマンドで指定された領域に対するライトデータの書き込みを行う第４工程と、
前記ライトコマンドで指定された領域のデータがコピー済みの場合に、前記第２コントローラは前記第１ストレージ装置にリードコマンドを発行して前記ライトデータを取得し、更新対象領域のコピー済みのデータを前記ライトデータに更新する更新処理を行う第５工程と、
をさらに備えることを特徴とする付記８または付記９に記載のデータコピー処理方法。
（付記１１）
前記第５工程は、
前記リードコマンドに基づく前記第１ストレージ装置からのデータの読出し中の領域のアドレスと前記更新対象領域のアドレスを比較した結果に基づいて、前記第２コントローラが前記更新対象領域に対する更新処理を実行する工程を含むことを特徴とする付記１０に記載のデータコピー処理方法。
（付記１２）
前記第５工程は、
前記ライトコマンドで指定された領域に対するデータの書き込みが成功した場合に、前記第２コントローラが、前記更新対象領域に対する更新処理を実行する工程を含むことを特徴とする付記１０または付記１１に記載のデータコピー処理方法。
（付記１３）
前記第５工程は、
前記第２コントローラが、前記ホスト装置からの更新コマンドに基づいて前記更新処理を行い、
前記ライトコマンドで指定された領域に対するデータの書き込みが成功した場合に、前記ホスト装置が、前記更新コマンドを前記第２ストレージ装置に発行する工程を含むことを特徴とする付記１０乃至付記１２のいずれか１つに記載のデータコピー処理方法。
（付記１４）
データコピー処理の実行中に、前記第１ストレージ装置がホスト装置からのリードコマンドを受信した場合に、前記第１コントローラが前記リードコマンドによって指定された領域からデータを読出すリード処理を行う第６工程を含むことを特徴とする付記８乃至付記１３のいずれか一つに記載のデータコピー処理方法。
【符号の説明】
【０１０３】
１      データコピー処理システム
２      サーバ装置
３      中央演算処理装置（ＣＰＵ）
４      メモリ
５ａ、５ｂ  ホストバスアダプタ
１０    コピー制御プログラム
１１    接続装置認識部
１２    アプリケーション実行部
１３    コピー制御部
１４    モード設定部
１５    モードフラグ
１６    コマンド発行部
２０    第１ストレージ装置（コピー元）
２１    第１コントローラモジュール
２２    チャネルアダプタ
２３    第１コントローラ
２４    メモリ
２４ａ  各種プログラム
２５    キャッシュメモリ
２６    デバイスアダプタ
２７    ストレージドライブ
２８    第１ストレージドライブ群
３０    第２ストレージ装置（コピー先）
３１    第２コントローラモジュール
３２    チャネルアダプタ
３３    第２コントローラ
３４    メモリ
３４ａ  各種プログラム
３４ｂ  モードフラグ
３５    キャッシュメモリ
３６    デバイスアダプタ
３７    ストレージドライブ
３８    第２ストレージドライブ群
３９    接続装置認識部
４１ａ、４１ｂ  コマンド処理部
４２    コピー処理実行部
４３    モード設定部
４４    更新命令処理部
４５ａ、４５ｂ  ドライブ制御部
５０    仮想ディスク（ＶＤＩＳＫ）
６０    物理ディスク（ＰＤＩＳＫ１）
７０    物理ディスク（ＰＤＩＳＫ２）
【図１】
0005838652.tif 000002
【図２】
0005838652.tif 000003
【図３】
0005838652.tif 000004
【図４】
0005838652.tif 000005
【図５】
0005838652.tif 000006
【図６】
0005838652.tif 000007
【図７】
0005838652.tif 000008
【図８】
0005838652.tif 000009
【図９】
0005838652.tif 000010
【図１０】
0005838652.tif 000011