(57)【要約】【課題】本発明の目的は、ストレージエリアネットワーク環境でＦｉｂｒｅ Ｃｈａｎｎｅｌにて接続されたディスクアレイ装置でコントローラ当たり１プロセッサにて制御される１ポート又は複数ポートを備えている時、１ポート、１プロセッサにおいても、オンライン業務とバックアップ業務をオンラインの負荷を考慮して同時実現可能な装置を提供することにある。【解決手段】本発明では、ポート制御部にホストからの要求を受けるだけでなく、他の記憶制御装置に対し、要求を発行できる機能を合わせ持つことによりオンライン／バックアップ同時処理を可能とする。また、複数ポート時は負荷に応じたポート選択やスケジューリングを行う事によりバックアップによるオンライン業務へのパフォーマンスの劣化の割合を低減する。【選択図】図１
2007193839.tif 000002
【特許請求の範囲】
【請求項１】
第１のストレージ装置と第２のストレージ装置を有するストレージシステムであって、
前記第１のストレージ装置は、前記第２のストレージ装置とデータの送受信を行うポートを有し、
前記第１のストレージ装置が有する前記ポートを介して、前記第２のストレージ装置へデータを送信する第１の処理と、前記第２のストレージ装置からデータを受信する第２の処理を時分割で実行することを特徴とするストレージシステム。
【請求項２】
請求項１記載のストレージシステムであって、
前記第１のストレージ装置は、更にディスクアレイ制御部を有し、
前記ディスクアレイ制御部は、ポート制御部の負荷率を保持するメモリと、前記メモリに記憶された前記負荷率に応じてバックアップ処理を前記ポート制御部に実行させるプロセッサを有していることを特徴とするストレージシステム。
【請求項３】
第１のストレージ装置と第２のストレージ装置を有するストレージシステムであって、
前記第１のストレージ装置は、ディスクアレイ制御部と前記第２のストレージ装置とデータの送受信を行うポートを複数有するコントローラを複数有し、
前記各コントローラの前記各ディスクアレイ制御部が相互に接続され、  
前記第１のストレージ装置が有する前記ポートを介して、前記第２のストレージ装置へデータを送信する第１の処理と、前記第２のストレージ装置からデータを受信する第２の処理を時分割で実行することを特徴とするストレージシステム。
【請求項４】
請求項３記載のストレージシステムであって、
前記各コントローラは更にメモリを有し、
自コントローラ内に具備する前記負荷率と、前記他のコントローラに具備する前記メモリに記憶されている負荷率とを参照し、バックアップ処理を実行すべきポート制御部を選択し実行させることを特徴とするストレージシステム。
【請求項５】
請求項３記載のストレージシステムであって、
前記各コントローラは更に自コントローラで発生した障害を検知する障害制御部を有し、
前記障害制御部は自コントローラの前記ディスクアレイ制御部と他のコントローラ内の前記障害制御部とを接続し、
前記他のコントローラ内の前記障害制御部より伝達された障害検知情報を前記ディスクアレイ制御部に伝達し、前記ディスクアレイ制御部は、前記他のコントローラで実行していたバックアップ処理を自コントローラに引き継ぐことを特徴とするストレージシステム。
【請求項６】
第１のストレージ装置と第２のストレージ装置を有し、前記第１のストレージ装置が前記第２のストレージ装置とデータの送受信を行うポートを含むストレージシステムにおけるデータ送受信方法であって、
前記第１のストレージ装置が有する前記ポートを介して、前記第２のストレージ装置へデータを送信する第１のステップと、
前記第２のストレージ装置からデータを受信する第２のステップと
前記第１のステップと前記第２のステップを時分割で実行するよう前記ポートを制御するステップを含むことを特徴とするストレージシステムにおけるデータ送受信方法。
【請求項７】
請求項６記載のストレージシステムにおけるデータ送受信方法であって、
前記第１のストレージ装置は更にポート制御部を有し、
前記第１のストレージ装置は更にディスクアレイ制御部とメモリを有するものであって、
前記ポート制御部の負荷率をメモリに保持するステップと、前記ディスクアレイ制御部が前記メモリに記憶された前記負荷率に応じてバックアップ処理をポート制御部に実行させるステップを有していることを特徴とするストレージシステムにおけるデータ送受信方法。
【請求項８】
第１のストレージ装置と第２のストレージ装置を有し、
前記第１のストレージ装置がディスクアレイ制御部と、前記第２のストレージ装置とデータの送受信を行うポートを複数有するコントローラを複数含み、
前記各コントローラの前記各ディスクアレイ制御部が相互に接続されるストレージシステムにおけるデータ送受信方法であって、
前記第１のストレージ装置が有する前記ポートを介して、前記第２のストレージ装置へデータを送信する第１のステップと、
前記第２のストレージ装置からデータを受信する第２のステップと
前記第１のステップと前記第２のステップを時分割で実行するよう前記ポートを制御するステップを含むことを特徴とするストレージシステムにおけるデータ送受信方法。
【請求項９】
請求項８記載のストレージシステムにおけるデータ送受信方法であって、
前記各コントローラは更にメモリを含むものであって、
前記コントローラが自コントローラ内に具備する前記メモリに記憶されている負荷率と、前記他のコントローラに具備する前記メモリに記憶されている前記負荷率を参照するステップと、
前記コントローラが前記負荷率の参照結果に従いバックアップ処理を実行すべきポート制御部を選択し実行させるステップを含むことを特徴とするストレージシステムにおけるデータ送受信方法。
【請求項１０】
請求項８記載のストレージシステムにおけるデータ送受信方法であって、
前記各コントローラは更に自コントローラで発生した障害を検知する障害制御部を有し、
前記障害制御部は自コントローラの前記ディスクアレイ制御部と他のコントローラ内の障害制御部とを接続するものであり、
前記障害制御部が、前記他のコントローラ内の前記障害制御部より伝達された障害検知情報を前記ディスクアレイ制御部に伝達するステップと、
前記伝達された障害検知情報に従って、前記ディスクアレイ制御部が前記他のコントローラで実行していたバックアップ処理を自コントローラに引き継ぐことを特徴とするストレージシステムにおけるデータ送受信方法。
【請求項１１】
第１のストレージシステムと第２のストレージシステムとホストコンピュータを有するシステムであって、
前記第１のストレージシステムは、
前記ホストコンピュータからのオンライン処理と、前記第２のストレージ対応へのデータ転送とを時分割で実行することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システムに関し、特に高可用性を求められるコンピュータシステムに接続される。
【背景技術】
【０００２】
今般の計算機システムは、電子商取引との融合により３６５日２４時間稼動といった長時間稼動が必要となり、また保持する情報量も年々増加しているため、データの保全策も検討する必要があった。その中で特に装置障害等によるデータ喪失があってもすぐに復旧できるよう、データのバックアップは重要な処理として位置付けられている。
【０００３】
一般にハードディスク等のコンピュータの外部記憶装置（記憶システム）に記録されたデータは、装置の障害、ソフトウェアの欠陥、誤操作等によりデータを喪失した場合に、喪失データを回復できる様に定期的にテープなどにコピーして保存(バックアップ)する。このとき、バックアップデータは、採取した時点でのデータ記憶イメージで保存させる必要があり、かつバックアップ処理を実行しながら、通常のオンライン処理も実行させなければならない。そのために、オンライン処理でアクセスしているデータをデュプレックスし、バックアップ処理はデュプレックスされた一方のボリュームに対して実施し、バックアップ処理実行中のオンライン処理は、他方のボリュームに対して更新データを保持させながら行うことで実現されている。
【０００４】
従来、このようなバックアップの管理はホストコンピュータ側のプログラムにより行われていた。
【０００５】
例えば、米国特許５６４９１５２号公報に示されている技術では、あるデータの二重化の管理、任意時点のデータの保存、データの他記憶装置へのバックアップ転送指示等、全てホストコンピュータ内のバックアップ管理プログラムにて行われていた。
【０００６】
また、米国特許５０５１８８７号公報では、ホストコンピュータの管理により常に制御装置側にデータを二重に書き込んだ技術が示されている。この方式では、ホスト−制御装置間のデータ転送経路等に多大な負荷がかかっていた。
【０００７】
また、外部記憶装置によるデータの二重化による方法としては、例えば、コンピュータ内のプログラムが行っていたバックアップ管理を外部記憶装置内で行う技術がある。この例として、米国特許５８４５２９５号公報に示されている。
これに示される技術では、二重化の管理、データの保存は外部記憶装置内で実現可能だが、実際にバックアップを行う時はホストコンピュータが外部記憶装置に対してＲＥＡＤ要求（以下ＲＤと記す）を行い、データを吸い上げ、他の記憶装置に対し、当該データのＷＲＩＴＥ要求（以下ＷＲと記す）を行うことにより実現していた。つまり、外部記憶装置としては、ホストからの指示に従い、ホストに対し、データを転送しているにすぎなかった。
【０００８】
その後ホストからの指示ではなく、外部記憶装置が直接他の記憶装置に対してデータコピーを実現する方法が米国特許５７４２７９２号公報において提案された。これは、オンライン処理を実施しながらバックグランドでデータのコピーを行うものである。この技術はバックアップとしても利用可能であり、これにより長時間連続稼動するなかでデータのバックアップ処理を実行できるようになった。
【特許文献１】米国特許５６４９１５２号公報
【特許文献２】米国特許５０５１８８７号公報
【特許文献３】米国特許５８４５２９５号公報
【特許文献４】米国特許５７４２７９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来技術で示したとおり、長時間連続稼動のなかでのデータバックアップ処理を同時に連続稼動させる技術は確立しているが、これらの技術で開示されている外部記憶装置は主に大型外部記憶装置に適した技術である。データバックアップ処理とオンライン処理を実施する際、大型外部記憶装置のデータ転送口、すなわち、ホストとの接続口と、バックアップ装置との接続口（以下ポートとよぶ）を別々のハードウェアで実施することで実現されている。これは、大型外部記憶装置が冗長度を持たせるために複数のハードウエアを実装しているからである。こうした大型外部記憶装置の場合に、従来技術は適用可能である。
【００１０】
ところが、ワークステーションやパーソナルコンピュータなどに接続された小型外部記憶装置の場合には、冗長度を持たせることでコストがかかり、小型としてのメリットが活かせない問題がある。小型外部記憶装置も、大型外部記憶装置と同様、長時間連続稼動中の同時バックアップ処理を実現する要求が高まっており、如何に少ないハードウエアで実現するかが第１の課題であった。
【００１１】
また、従来のホスト指示によるバックアップ方式では、二重化処理中にデータ更新を行うと、外部記憶装置とホストとの転送が４回(二重化により２回分ＷＲ（Ｗｒｉｔｅ）、バックアップ処理にてＲＤ（Ｒｅａｄ）、そして他記憶装置へのＷＲ（Ｗｒｉｔｅ）)発生することになり、ホスト−記憶装置間のバスの負荷が増大し、通常のアプリケーションのパフォーマンスにまで影響せざるを得なかった。
【００１２】
特に、大量のデータをバックアップする際には、外部記憶装置内のプロセッサ処理能力がバックアップ処理に割かれるため、バックアップ終了までの長時間にわたり性能が低下する。最近、外部記憶装置内での二重化の機能が普及しているが、当該機能だけでは、バックアップの際の通常のオンライン処理に対するパフォーマンスの低下は防止できない。また、オープン向けの中小規模ディスクアレイ制御装置等では、コントローラとホストとのデータ転送経路は１つしか存在せず、この１つの経路がバスであった場合、バックアップを実現するためには、通常のオンライン処理を停止させるしかなかった。
【００１３】
本発明の第一の目的は、ホストとバックアップ用外部記憶装置との接続口であるポートを１つにし、かつ１つのポートでバックアップ処理と通常のオンライン処理とを同時にまたは切り替えながら実行することのできるポート制御部を有した外部記憶装置を実現することにある。
【００１４】
本発明の第２の目的は、オンライン処理のパフォーマンスを劣化させることなくバックアップ処理を実行可能な記憶制御装置を提供することにある。
【００１５】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１６】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００１７】
本発明に関わるストレージシステムは第１のストレージ装置と第２のストレージ装置を有し、この第１のストレージ装置は、第２のストレージ装置とデータの送受信を行うポートを有し、第１のストレージ装置が有するこのポートを介して、第２のストレージ装置へデータを送信する第１の処理と、第２のストレージ装置からデータを受信する第２の処理を時分割で実行することを特徴とする。
【００１８】
このストレージシステムの第１のストレージ装置は、更にディスクアレイ制御部を有し、ディスクアレイ制御部は、ポート制御部の負荷率を保持するメモリと、メモリに記憶された負荷率に応じてバックアップ処理をポート制御部に実行させるプロセッサを有してもよい。
【００１９】
本発明に関わるストレージシステムは第１のストレージ装置と第２のストレージ装置を有し、第１のストレージ装置は、ディスクアレイ制御部と第２のストレージ装置とデータの送受信を行うポートを複数有するコントローラを複数有し、各コントローラの前記各ディスクアレイ制御部が相互に接続され、第１のストレージ装置が有するポートを介して、第２のストレージ装置へデータを送信する第１の処理と、第２のストレージ装置からデータを受信する第２の処理を時分割で実行することを特徴とする。
【００２０】
このストレージシステムの各コントローラは更にメモリを有し、自コントローラ内に具備する負荷率と、他のコントローラに具備するメモリに記憶されている負荷率とを参照し、バックアップ処理を実行すべきポート制御部を選択し実行させることを特徴としてもよい。
【００２１】
またこのストレージシステムの各コントローラは更に自コントローラで発生した障害を検知する障害制御部を有し、この障害制御部は自コントローラのディスクアレイ制御部と他のコントローラ内の障害制御部とを接続し、他のコントローラ内の障害制御部より伝達された障害検知情報をディスクアレイ制御部に伝達し、ディスクアレイ制御部は、他のコントローラで実行していたバックアップ処理を自コントローラに引き継ぐことを特徴としてもよい。
【００２２】
本発明に関わるストレージシステムにおけるデータ送受信方法は、第１のストレージ装置と第２のストレージ装置を有し、前記第１のストレージ装置が前記第２のストレージ装置とデータの送受信を行うポートを含むストレージシステムに関するものであって、第１のストレージ装置が有するポートを介して、第２のストレージ装置へデータを送信する第１のステップと、第２のストレージ装置からデータを受信する第２のステップと第１のステップと第２のステップを時分割で実行するようポートを制御するステップを含むことを特徴とする。
【００２３】
このストレージシステムにおけるデータ送受信方法に関する第１のストレージ装置は更にディスクアレイ制御部とメモリを有するものであって、ポート制御部の負荷率をメモリに保持するステップと、ディスクアレイ制御部がメモリに記憶された負荷率に応じてバックアップ処理をポート制御部に実行させるステップを有していることを特徴とする。
【００２４】
本発明に関わるストレージシステムにおけるデータ送受信方法は、第１のストレージ装置と第２のストレージ装置を有し、この第１のストレージ装置がディスクアレイ制御部と、前記第２のストレージ装置とデータの送受信を行うポートを複数有するコントローラを複数含み、各コントローラの各ディスクアレイ制御部が相互に接続されるストレージシステムに対し、第１のストレージ装置が有する前記ポートを介して、第２のストレージ装置へデータを送信する第１のステップと、第２のストレージ装置からデータを受信する第２のステップと、第１のステップと第２のステップを時分割で実行するよう前記ポートを制御するステップを含むことを特徴とする。
【００２５】
このデータ送受信方法を適用するストレージシステムの各コントローラは更にメモリを含み、このデータ送受信方法はコントローラが自コントローラ内に具備するメモリに記憶されている負荷率と、他のコントローラに具備するメモリに記憶されている負荷率を参照するステップと、コントローラが負荷率の参照結果に従いバックアップ処理を実行すべきポート制御部を選択し実行させるステップを含むことを特徴としてもよい。
【００２６】
このデータ送受信方法を適用するストレージシステムの各コントローラは更に自コントローラで発生した障害を検知し、自コントローラのディスクアレイ制御部と他のコントローラ内の障害制御部とを接続する障害制御部を有するものであって、
前記障害制御部が、前記他のコントローラ内の前記障害制御部より伝達された障害検知情報を前記ディスクアレイ制御部に伝達するステップと、
このデータ送受信方法は伝達された障害検知情報に従って、ディスクアレイ制御部が他のコントローラで実行していたバックアップ処理を自コントローラに引き継ぐことを特徴としてもよい。
【００２７】
本発明に関わるシステムは、第１のストレージシステムと第２のストレージシステムとホストコンピュータを有するものであって、この第１のストレージシステムはホストコンピュータからのオンライン処理と、第２のストレージシステムへのデータ転送とを時分割で実行することを特徴とする。
【発明の効果】
【００２８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００２９】
本発明によれば、ストレージエリアネットワークに代表されるネットワーク環境にてＦｉｂｒｅ Ｃｈａｎｎｅｌにて接続されたディスクアレイ制御装置に於いて、１ポート構成に於いても、オンライン処理とバックアップ処理を同時実行が可能な制御装置を提供可能である。又、負荷に応じたバックアップ処理や指定時間でのバックアップ処理等が可能であり、オンライン処理へのパフォーマンスを維持することが可能である。さらにコントローラ障害、ポート障害時でもバックアップ処理を他のポート、及び他のコントローラが継続することが可能である。
【００３０】
コピー処理とバックアップ処理を同時に制御でき、これらの組み合わせをユーザが設定・実行可能とすることができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の１実施例を図面を用いて説明する。
【００３２】
図１は、本実施例に関するディスクアレイ装置を含むシステム全体の１構成例である。図１に於いて、１０、２０、３０はホストコンピュータ（上位装置）であり、５０００、６０００はディスクアレイ装置（上位装置に対しての外部記憶装置（記憶システム））であり、各々のホスト及びディスクアレイ装置はＦａｂｒｉｃ ＳｗｉｔｃｈによりＦｉｂｒｅ Ｃｈａｎｎｅｌで接続され、ストレージエリアネットワーク(ＳＡＮ)４０を構成する。ディスクアレイ装置５０００、６０００は、ホストからのオンライン処理を各々実行してもいいし、ディスクアレイ装置６０００は、ディスクアレイ装置５０００のバックアップ用装置としてもよい。
【００３３】
本実施例ではディスクアレイ制御装置５０００がホストからのオンライン処理を実行しながら、データをデュプレックスし、ディスクアレイ制御装置６０００にバックアップデータを転送するものとする。尚、バックアップデータを受領する外部記憶装置（記憶システム）は、ディスクアレイ装置以外でもかまわない。例えば、バックアップ装置は、磁気テープライブラリ、及び光ディスク装置でもよい。
【００３４】
図２は、ディスクアレイ装置の構成を示す。ディスクアレイ装置５０００は、デュアル構成をとるコントローラＡ部１０００、コントローラＢ部２０００、ホストからのデータを格納するディスク装置群４０００、コントローラ内のポート制御部の動作の指定等を行うＰＣ／ＷＳ（３０００）から構成される。ディスク装置群４０００は、アレイ構成であることが多い。
【００３５】
次に、コントローラＡ，Ｂについて説明する。コントローラＡ、Ｂとも同じ構成であり、コントローラＡについて以下説明する。
【００３６】
コントローラＡは、それぞれ、キャッシュメモリ５００と、データ転送を行うポートＡ（１０１）および当該ポートＡを制御するポートＡ制御部１００と、データ転送を行うポートＢ（１０２）および当該ポートＢを制御するポートＢ制御部２００とを備える。これらポートは、Ｆｉｂｒｅ Ｃｈａｎｎｅｌに接続されＦａｂｒｉｃ  Ｓｗｉｔｃｈによりネットワークを構成している。
【００３７】
更に、コントローラＡは、コントローラＡ全体を制御するディスクアレイ制御部３００を有し、さらにディスクアレイ制御部３００は、当該コントローラを制御するための各種情報を格納するＲＡＭ４００を有する。また、ディスクアレイ制御部３００は、タイマー機能を併せ持っている（図２には図示しない）。
【００３８】
なお、前述のキャッシュメモリ５００は不揮発メモリであることが多い。また、本実施例では、キャッシュメモリ５００内のデータは、コントローラＢのキャッシュメモリに２重書きされる。キャッシュメモリ５００はホストからのデータを一時的に貯えるデータ部以外にデータの情報、状態を管理する管理情報６００を持つ。
【００３９】
更に、コントローラＡは、ディスク装置群４０００を制御するディスク装置制御部（ドライブ制御部）７００、８００を有する。ディスク装置制御部は、ディスク装置群内のディスク装置とのデータ転送を行う。ディスク装置は、データを記憶する記憶ドライブとこれを制御するドライブ制御部からなり、ＳＣＳＩインターフェース、又はＦｉｂｒｅ Ｃｈａｎｎｅｌにてディスク制御装置と接続される。
【００４０】
本実施例では、コントローラＡは上位装置（ホストコンピュータ）とＦｉｂｒｅ Ｃｈａｎｎｅｌを経由して接続されており、コントローラ当たり２つのポートを持つ。障害制御部９００はコントローラＡ内の回復不可能な障害を検出すると、コントローラＢに検出した障害を通知する機能を持つ。報告を受けた、コントローラＢは、キャッシュメモリ内のデータ・管理情報を引き継ぎ、コントローラＡで行われていた処理を引き継ぐ。
【００４１】
図３にディスク装置群の構成を示す。ディスク装置群はアレイ構成をとり、複数の論理ボリュームを割り当てることができる。また、バックアップ用に割り当てられる論理ユニットの副ボリュームは論理ボリューム(正)毎に設定されていてもいいし、あるボリューム群がワークとして割り当てられていて、その部分を２重化する時に使用してもよい。
【００４２】
図４にポート制御部１００、２００とディスクアレイ制御部３００間のＩ／Ｆ（インタフェース）情報を示す。Ｉ／Ｆ情報は、ポート毎に他の記憶制御装置への転送を指示する転送指示情報４１０（ポートＡ用）、４３０（ポートＢ用）と、ホストからのＩ／Ｏ要求をディスクアレイ制御部３００に伝えるホスト要求情報４２０（ポートＡ用）、４４０（ポートＢ用）から構成される。各情報は、ポートＩＤ（４１１）、コマンド４１２、キャッシュＡＤＲ（ＡＤＤＲＥＳＳ）情報４１３から構成される。ポートＩＤ４１１は、転送指示情報の場合はストレージエリアネットワーク上のどの装置に対するデータ転送要求かを識別する情報であり、ホスト要求情報の場合はどの装置からのデータ転送要求なのかを識別する情報である。ポートＩＤは、具体的には、Ｆｉｂｒｅ  ＣｈａｎｎｅｌのＡＬ−ＰＡ（Ｆｉｂｒｅ   Ｃｈａｎｎｎｅｌ  Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ ｏｒ ＦＣ−ＡＬ）に相当する物である。また、コマンド４１２は、ＲＤ／ＷＲ等を識別する情報であり、キャッシュＡＤＲ情報４１３は、記憶装置内での当該データの格納位置、又は転送位置を指示する情報から構成される。これら情報は、ＲＡＭ内で管理される。
【００４３】
ポートＡホスト要求情報４２０は、ポートＡ制御部が、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌにて受領したホストからのＩ／Ｏ要求を受信したとき、ディスクアレイ制御部３００にＩ／Ｏ要求を伝えるために設定される。ポートＢホスト要求情報４４０は、ポートＡホスト要求情報４２０と同様に、ポートＢ制御部によって設定される。ディスクアレイ制御部は４２０、４４０の情報を参照し、ＲＡＭ４００、キャッシュメモリ５００を制御し、当該Ｉ／Ｏ要求を実行する。
【００４４】
一方、ポートＡ転送指示情報４１０は、ディスク装置群４０００の論理ボリューム（副）からのバックアップデータを他記憶制御装置に転送する時に設定される。ポートＡ制御部１００は、本情報４１０を参照し、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌを介してコマンドを発行する。他記憶装置へコマンドを発行する場合は、ポートＩＤに、他記憶装置のポートＩＤを指定する値が設定されることになる。他記憶制御装置は本コマンドを受領し、実行することにより、バックアップデータを記憶媒体に格納することができる。ポートＢ転送指示情報４３０も、ポートＡ転送指示情報４１０の場合と同様に、ポートＢ制御部２００により使用される。
【００４５】
ポートＡ転送指示情報４１０、およびポートＡホスト要求情報４２０が、ホストおよびバックアップ装置とのデータ通信において、ポート制御部１００とディスクアレイ制御部とのＩ／Ｆで利用される点について説明した。この２つの情報は、単に別装置からのアクセス要求があった場合にポートＡホスト要求情報４２０を利用し、ディスクアレイ制御部が別装置に対してアクセス要求したい場合に、ポートＡ転送指示情報４１０を利用するにすぎない。したがって、仮にディスクアレイ制御部がホストに対して転送指示をする場合は、ポートＡ転送指示情報４１０を利用することになる。つまり、ホストのポートＩＤを指定することで、ポート制御部１００は、ホストに対して転送する。逆に、バックアップ装置からアクセス要求があった場合は、ポートＡホスト要求情報４２０を利用する。このように、ポート制御部１００は、ポートＡ転送指示情報４１０で指定されたポートＩＤがホストであったりバックアップ装置であったりと切り替わりながら通信することとなる。
【００４６】
図５にポート毎の負荷情報を示す。ポート負荷情報４５０はポートＡに対しての情報であり、ポート負荷情報４６０はポートＢに対しての情報であり、それぞれ採取される。本情報は、一定期間内のトータルのＩ／Ｏ回数を示すＩ／Ｏ数４５１、転送量４５２、アクセス情報４５３から構成される。当該ディスクアレイ装置がホストからのＩ／Ｏ要求を受領し、ディスクアレイ制御部３００がこの受領をホスト要求情報から認識した際に、コマンド４１２からデータ転送長とコマンドが取得される。データ転送量に関し、ＲＤ（Ｒｅａｄ）の場合は転送長はそのまま、ＷＲ（Ｗｒｉｔｅ）の場合は、４倍の転送長とする（デュプレックス中でのデータ更新処理に伴うデータ転送回数を考慮して４倍としている）。又、前回のコマンド情報をＲＡＭ４００内に覚えておいて、今回のコマンドと比較し、連続アクセス（シーケンシャル）か、ランダムアクセスなのかを判断する。
【００４７】
そして、Ｉ／Ｏ数４５１をプラスし、転送量４５２にデータ転送量をプラスし、シーケンシャルかランダムかをアクセス情報４５３に書き込む。尚、本情報は一定時間毎にクリアされ、単位時間当たりの情報が採取されている。一定時間毎の管理はディスクアレイ制御部３００内にあるタイマー機能により実現される。尚、本情報はＲＡＭ４００に存在する。
【００４８】
図６のコントローラＡ負荷情報６１０のそれぞれは、コントローラＡ内のポートＡ負荷情報とコントローラＡ内のポートＢ負荷情報の合計した数値が値であり、キャッシュメモリ５００の管理情報６００内に存在する。本コントローラＡ負荷情報もコマンド受領時にディスクアレイ制御部３００が設定する。コントローラＢ負荷情報６２０も、コントローラＡ負荷情報６１０と同様である。
【００４９】
図７のバックアップ進捗情報６３０は、キャッシュメモリ５００の管理情報６００内に存在し、バックアップの対象である論理ボリュームの番号（対象ＬＵ番号）６３１、どこまでバックアップが進んでいるかを示すバックアップ実行ポインタ６３２により構成される。本情報もホストよりバックアップ指示を受領したディスクアレイ制御装置３００が、バックアップ対象となった論理ボリュームの番号を６３１に書き込み、又、バックアップの要求をポート制御部１００又は２００に行うとともにバックアップ実行ポインタ６３２の情報を更新する。
【００５０】
コピー実行ポインタ６３３は、データデュプレックスの処理を実行する際に使用する。コピー実行ポインタ６３３は、データデュプレックス処理がどこまでデータをデュプレックスしたのかを記録する。データデュプレックス処理はデュプレックスの終わった個所を逐次更新する。これは、バックアップ処理がさらに同時に実行する際、バックアップ処理がコピー実行ポインタ６３３を参照し、当該ポインタを超えない範囲のデータをバックアップするように制御する。これにより、デュプレックスされた部分を追いかけるようにバックアップ処理をすることが可能である。
【００５１】
図８のユーザ指定ポート情報６４０は、キャッシュメモリ５００内の管理情報６００に存在し、ユーザがＰＣ／ＷＳ３０００により設定したポートの利用方法を格納しておく。具体的には、当該ポートをバックアップ専用、オンライン専用、またはオンライン／バックアップ共用のいずれかの値を設定する。尚、バックアップ要求があった場合、ディスクアレイ制御部３００が本情報を参照し、バックアップポートを検索し、当該ポートのポート制御部に対し、要求を発行する。
【００５２】
図９のコピー／バックアップタイミング指示情報６５０は、キャッシュメモリ５００内の管理情報６００に存在し、ユーザがＰＣ／ＷＳ３０００により設定した２重化の為のコピーとそれに続くバックアップの実行契機を設定する。尚、ＰＣ／ＷＳはコントローラにＬＡＮ等で接続されることが多い。
【００５３】
図１０のスケジューリング情報６６０は、キャッシュメモリ５００内の管理情報６００に存在し、前記図９のコピー／バックアップタイミング指示情報６５０が時間指定であった場合、当該時間情報を時間監視指示情報６６０に設定する。
【００５４】
図１１は、優先度情報６７０のテーブルを示す。これは、ディスクアレイ制御装置がオンライン処理を優先するか、またはバックアップ処理を優先するかを表す値が保持されている。これは、予めユーザがＰＣ／ＷＳ３０００を使用して設定する。バックアップ開始時点でディスクアレイ制御部３００は当該情報を参照し、バックアップ優先であれば、あるデータ量までは占有して実行し、当該処理が終了したら、オンライン要求があるかを判断する。なければ、又一定量のデータ量をバックアップ処理する。逆にオンライン処理優先であれば、一定時間はオンライン処理のみを行い、その後、一定量のバックアップデータを転送し、その後又一定時間はオンライン処理を実行する。バックアップの一定量が大きければその分バックアップの優先度は高くなり、オンライン処理に占有する一定時間が長くなればその分だけオンライン処理の優先度は高くなる。以上、コントローラＡを例に説明したがコントローラＢも同様な構成を持つ。
【００５５】
次にディスクアレイ制御装置の基本的なＲＤ（Ｒｅａｄ）／ＷＲ（Ｗｒｉｔｅ）動作について説明する。ホストからのＲＤ要求時、ポート制御部１００が前記要求を受領した時、ポートＡホスト要求情報４２０に設定する。ディスクアレイ制御部３００は上記情報４２０を参照し、ＲＤ要求であることを認識し、要求ＡＤＲとデータ長を認識する。当該対象データがキャッシュメモリ５００内に存在する場合、当該キャッシュＡＤＲ情報をポートＡ制御部に知らせ、ＲＤ要求したホストへの転送の指示を行う。又、キャッシュメモリ上に存在しない場合は対象となるデータをディスク装置群４０００より読みだし、キャッシュメモリ５００に格納し、転送する。
【００５６】
ホストからのＷＲ要求時、ポート制御部１００が前記要求を受領した時、ポートＡホスト要求情報４２０に設定する。ディスクアレイ制御部３００は上記４２０情報を参照し、ＷＲ要求であることを認識し、要求ＡＤＲとデータ長を認識する。そして、キャッシュメモリ５００に転送したところでポートＡ制御部に終了報告をするよう伝える。その後、キャッシュメモリ５００より、非同期にディスク装置群に掃出し処理（書き込み処理）を行う。
【００５７】
次に本発明の基本機能である、１ポートでのオンライン処理とバックアップ処理の並行動作について説明する。尚、以下で説明するホスト要求は通常のコマンドの一部としてホストから指示されてもいいし、ＰＣ／ＷＳよりユーザが指示してもかまわない。
【００５８】
まず、図１２において、ポート制御部１００を用いてオンライン処理とバックアップ処理を並行して処理するための、通信処理について説明する。なお、図１２以降では、ポート制御部１００がＦｉｂｒｅで接続されていることを前提に説明する。
【００５９】
Ｆｉｂｒｅ接続の場合、例えばＥｍｕｌｅｘ社のチップセットを利用することが考えら得る。このチップセットの中には２４１００２０と呼ばれるチップがあり、Ｆｉｂｒｅプロトコル制御を主に処理することができる。これらのチップセットは、通信処理を多重化することが可能で、例えばホストとの間のオンライン処理とバックアップ装置との間のバックアップ処理の２つを、時分割により同時処理が可能となる。このチップセットを利用した通信多重処理を図１２以降のフローチャートで説明する。
【００６０】
図１２は、イニシエータタスクとターゲットタスクの生成を制御するフローチャートである。ステップ１１０１では、ディスクアレイ制御装置３００からイニシエータタスクの生成要求があるかどうかをポートＡ制御部１００がポートＡ転送指示情報４１０を参照することで確認する。例えば、バックアップ処理を実施する場合、ディスクアレイ制御装置３００は、イニシエータタスクの生成を要求するためにポートＡ転送指示情報４１０に転送内容を設定する。ポートＡ制御部１００がこの転送要求を認識した場合、次のステップ１１０２を実行する。
【００６１】
ステップ１１０２は、要求されたデータ転送を実施するためのイニシエータタスクを生成する。ここでイニシエータタスクと呼んでいるのは、あくまでもポートＡ転送指示情報で指定されている処理を実行する、という意味で使用する。したがって、本タスクは実際にはデータの送信だけでなく受信も行う。バックアップ装置へのバックアップ処理の場合、送信先のバックアップ装置の情報をパラメータとしてイニシエータタスクを生成する。
【００６２】
一方、ステップ１１０２で転送要求がなければ、他のホストからの接続要求があるかどうかを確認するステップ１１０３を実行する。ステップ１１０３は、ポートＡ制御部１００が他の記憶装置またはホストから転送要求があるかどうかをチェックする。転送要求とは、例えば、相手装置からのＬｏｇｉｎ要求である。相手装置からの転送要求があれば、ステップ１１０４を実施する。ステップ１１０４は、転送要求に対する転送処理を実施するターゲットタスクを生成する。ここでいうターゲットタスクとは、他の装置からのアクセスに基づいて処理を実行する、という意味で使用する。したがって、本タスクは実際にはデータの受信だけでなく送信も行う。このフローチャートでは、イニシエータタスクとターゲットタスクが各々生成された時点で、ステップ１１０１へ戻る。したがって、生成されたタスク処理の完了を待たず、次の転送要求を待つことになる。以上より、イニシエータタスクとターゲットタスクとは、時分割ではあるがほぼ同時に実行する場合がある。このとき、接続先であるＦｉｂｒｅ  ｃｈａｎｎｅｌは、時分割でパケットデータを送出することができるので、ポートＡ制御部１００が同時に２つ以上のタスクを処理してもＦｉｂｒｅ  ｃｈａｎｎｅｌネットワークでのデータ送受信が可能となる。
【００６３】
図１３は、イニシエータタスクの処理を表したフローチャートである。イニシエータタスクは、たとえばバックアップ処理のためディスクアレイ制御装置３００が他の記憶装置へデータ転送するための通信タスクである。具体的には、ステップ１２０１で相手の装置へ接続要求であるＬｏｇｉｎコマンドを発行する。ステップ１２０２はＬｏｇｉｎが認証された場合、実のデータを相手方へ送信する処理である。データ転送では主に送信を行うが、相互のデータ転送のための認証処理等により送受信処理を行っている。データ転送の完了後、ステップ１２０３にてＬｏｇｏｕｔを発行する。
【００６４】
図１４は、ターゲットタスクの処理を表したフローチャートである。ターゲットタスクとは、例えばホストからのオンライン処理のように、ホストからのデータＩ／Ｏを送受信する場合の処理が該当する。この場合、ホストからのＲＥＡＤコマンドのように、コマンドを受信した後にディスクアレイ装置３００がホストへデータ送出することが考えられる。
【００６５】
ステップ１３０１は、相手装置からのＬｏｇｉｎに対して認証を行う。認証とは、正しい相手かどうかをチェックすることである。正しい相手かどうかはキャッシュメモリ５００内の管理情報６００を参照する。この管理情報６００に、接続許可するホストの識別子、または接続許可する他外部記憶装置の識別子が保持されている。この情報を参照して決定する。正しい相手であると認証した場合、次のステップ１３０２を実行するが、不正な相手であればエラー応答し、処理を中断する。ステップ１３０２は、相手からのデータ転送要求を処理する。データ転送では主に受信を行うが、相互のデータ転送のための認証処理等により送受信処理を行っている。データ転送完了後、ステップ１３０３にてＬｏｇｏｕｔを発行する。ステップ１３０３は、相手装置とのデータ転送終了後、相手装置からＬｏｇｏｕｔが発行されるので、Ｌｏｇｏｕｔを検知した場合、それを認証するステップである。
【００６６】
以上のフローチャートにより、イニシエータタスクとターゲットタスクを多重処理でき、１ポートであってもオンライン処理およびバックアップ処理を同時に処理することが可能となる。
【００６７】
次に、ポートが２つ以上あった場合について言及する。
【００６８】
この場合は、ポートが２つ以上存在するので、オンライン処理とバックアップ処理を行うポートを各々１つのポートに割り付けることができる。その際、各ポートの付加状況に応じてどのポートを選択すべきかを判断する必要がある。以下に、２つのコントローラＡ，Ｂから構成するディスクアレイ装置５０００を用いて、その論理を説明する。
【００６９】
まず、ディスクアレイ制御部３００は、コントローラＡ負荷情報６１０およびコントローラＢ負荷情報６２０の各々の負荷情報６１０，６２０に含まれる転送量６１２を比較する。転送量の大きい方を負荷が高いコントローラとして判断する。もし単位時間当たりの転送量が両方ともあまり高くない場合はＩ／Ｏ数６１１で負荷を判断する。ここで仮に、コントローラＡの方が負荷が高いと判断された場合、ディスクアレイ制御部３００は、コントローラＡ内のＲＡＭ４００に格納されているポート負荷情報を参照する。
【００７０】
具体的には、ポートＡ負荷情報４５０内のアクセス情報４５３参照する。アクセス情報４５３は、ホストからのＩ／Ｏがシーケンシャルかランダムかのどちらかを示している。ホストからのＩ／Ｏがシーケンシャルであった場合当該ポートの負荷が高いと判断する。両方シーケンシャルであった場合、転送量４５２を比較して負荷を判断する。両方ランダムであった場合も同様、転送量４５２で比較する。このようにして、負荷の少ないポートを選択することで、他のオンライン処理等への影響を抑えることができる。
【００７１】
次に、バックアップ処理がシーケンシャル処理である点を考慮したポートの選択論理について説明する。ここでは、１コントローラあたり２ポート構成かつ２つのコントローラが実装されているディスクアレイ装置５０００の場合について説明する。この場合、ポートは全部で４つ実装されていることになる。
【００７２】
ディスクアレイ装置５０００において、３つのポートでシーケンシャル処理、残りの１つのポートでランダム処理が行われていた場合を想定する。バックアップ処理はシーケンシャル処理であるため、同じシーケンシャル処理を実施しているポートを選ぶと、負荷が余計にかかってしまう。そこで、シーケンシャルに使用しているポートではなく、ランダムアクセスであるポートをバックアップ処理用に使用する。これにより、バックアップ処理も効率よく実施でき、またオンライン処理にも影響を与えないですむ。
【００７３】
次に、ポートの負荷状況に応じたバックアップ処理の引継ぎ論理について説明する。ポートの負荷は逐次変化するので、ポートの負荷状況に応じて、ある時点でのポートの負荷状況を把握して、バックアップ処理を実行していたポートよりも負荷の低いポートを探索し、当該ポートに対してバックアップ処理を引き継がせるのである。ポートの選択方法は次のとおりである。一定時間単位に上記負荷情報を参照し以前選択したポート以外に負荷の低いポートを選択する。バックアップ処理の引継ぎ方法は、次のとおりである。引き継ぐ前のポートは、バックアップ実行中にバックアップ進捗情報６３０を更新する。バックアップ処理を別のポートに引き継がせた場合、当該ポートはバックアップ進捗情報６３０を参照し、対象ＬＵ番号６３１とコピー実行ポインタ６３２を得ることで、前のポートが行ってきたバックアップの進捗状況を引き継ぐ。又、夜間等複数のポートの負荷が低いと判断した場合、複数のポートでバックアップ処理を分散して行うことも可能である。具体的には、キャッシュ内にあるバックアップ進捗情報を参照、更新し処理を行う。このようにポートの引継ぎ機能を応用することで、バックアップ処理の効率化を図ることができ、夜間集中バックアップ処理、土日のバックアップ集中処理等、ユーザ要求の高いバックアップ処理を実現することが可能となる。
【００７４】
また、バックアップの開始指示は、ホストからの指示だけではなく、ＰＣ／ＷＳから指示することも可能である。ＰＣ／ＷＳは、バックアップ処理の起動指示をディスクアレイ制御部３００に対して行う。このとき、ユーザがバックアップ処理を実行するポートを直接指定することも可能である。また、ＰＣ／ＷＳからポート毎に、ポートに割り付ける処理の種類を指定することも可能である。例えばオンライン処理専用、バックアップ専用、オンライン／バックアップ両用等である。本情報をディスクアレイ制御部が参照し、バックアップ処理を行うポートを選択する。さらに、ユーザはオンライン処理を優先してバックアップ処理を行うよう指示することもできる。又、劣化の割合も、ユーザが指定することが可能である。
【００７５】
さらに、バックアップ指示をユーザが行うのではなく、予めバックアップ開始時刻を設定し、設定された時刻にＰＣ／ＷＳが自動的にバックアップ指示を行うことも可能である。
【００７６】
以上のように、ポートの選択処理、バックアップ処理の引継ぎ処理およびユーザからのバックアップ操作について説明した。次に、バックアップ処理が障害で中断した場合、またはオンライン処理とは別のボリュームコピー処理を実行させた場合の、バックアップ処理について説明する。
【００７７】
まず、バックアップ処理中障害が発生した場合について説明する。
【００７８】
コントローラ障害時、障害制御部９００が他系コントローラの障害を認識し、キャッシュメモリ５００内のバックアップ進捗情報６３０を参照し、バックアップ処理を継続する。これにより、障害の発生したコントローラをディスクアレイ装置より切り離すことができるので、障害発生個所のコントローラを交換して障害回復させることができる。障害回復後、先に説明したバックアップ処理の引継ぎ処理を行うことも可能となる。
【００７９】
次に、ボリュームコピー処理との同時実行について説明する。ボリュームコピー処理とは、対象となる論理ボリュームデータをコピーしてデュプレックスする処理である。任意の論理ボリュームに対してボリュームコピー処理を実行すると、正（コピー元）と副（コピー先）の２つの論理ボリュームが物理ディスク装置群内に存在することになる。このとき、コピー元の正論理ボリュームに対してホストからのＩ／Ｏがあると、その結果を副側に反映させることで二重状態を維持させる。
【００８０】
この機能はバックアップ処理において次のように利用される。つまり、オンライン処理をコピー元である正論理ボリュームに対して実施し、副論理ボリュームに対してバックアップ処理を行う。バックアップ処理中、二重状態を一度中断させることで、中断時点での副論理ボリュームに記録されているデータをバックアップすることが可能となる。
【００８１】
このとき、正論理ボリューム容量が増大するとデュプレックス処理が高負荷となりオンライン処理に多大な影響を与えてしまう場合がある。また、デュプレックス処理の終了後にバックアップ処理が行われる為、バックアップ処理が長時間かかってしまう。そこで、本発明ではボリュームコピー処理とバックアップ処理を同時実行することにより、バックアップデータ採集時間の短縮と、サブシステム内の負荷を減少し、パフォーマンスの劣化を防ぐことが可能である。
【００８２】
元来、通常の正論理ボリュームからキャッシュメモリへのステージング、キャッシュメモリから副論理ボリュームへの書き込み、副論理ボリュームからのバックアップデータ転送の為のキャッシュメモリへのステージング、キャッシュメモリからのＦｉｂｒｅ Ｃｈａｎｎｅｌへのデータ転送、とコントローラ内のキャッシュメモリ５００を介した転送路を何度もデータが転送される。これにより、内部バスの負荷が増大し、システムとしてオンライン処理のパフォーマンスが劣化する。
【００８３】
負荷を低減させる為には、正論理ボリュームからデュプレックスのためのデータをキャッシュメモリ５００へステージングした時、当該ステージングデータをそのまま、バックアップデータとして転送することで実現できる。これにより、バスの負荷を低減し、オンライン処理のパフォーマンスの劣化を防ぐことができる。論理ボリュームのデュプレックス処理とバックアップ処理を同時に行うことができるので、全体としてのバックアップ処理が短時間で行えるようになる。
【００８４】
これらのボリュームコピー処理とバックアップ処理との組み合わせから様々な利用方法が考えられ、要求・運用も多岐にわたる。例えば、あるアプリケーションは、あるタイミングでの論理ボリュームのデータのレプリカが必要で、かつ、バックアップのタイミングは週末が望ましいといった要求である。本発明では、そのような様々な要求に満たすべくコピーのタイミングとバックアップのタイミングをユーザがＰＣ／ＷＳを通じて指定できるようにする。デュプレックスの指示があった時、コピー／バックアップタイミング指示情報６５０の情報をディスクアレイ制御部３００が参照し、同時指定されていれば上述方法にて同時制御を行う。同時指定されていなければ、コピー処理を行う。尚、バックアップのタイミングで時間指定、例えば、夜間２４時を過ぎたらバックアップ処理を開始する等、時間監視指示情報６６０に設定することも可能である。本情報はディスクアレイ制御部が一定時間毎に現時刻と参照し、当該指示時間になったら、バックアップ処理を開始することにより実現される。
【００８５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施例であるネットワーク環境の構成図である。
【図２】本発明の実施例であるディスクアレイ制御装置の構成図である。
【図３】本発明の実施例であるディスク装置群の構成図の一例である。
【図４】本発明の実施例であるポート制御部ディスク制御部間Ｉ／Ｆ情報の一例である。
【図５】本発明の実施例であるポート負荷情報の一例である。
【図６】本発明の実施例であるコントローラ負荷情報の一例である。
【図７】本発明の実施例であるバックアップ進捗情報一例である。
【図８】本発明の実施例であるユーザ指定ポート情報の一例である。
【図９】本発明の実施例であるコピー／バックアップタイミング指示情報の一例である。
【図１０】本発明の実施例であるスケジューリング情報の一例である。
【図１１】本発明の実施例である優先度情報の一例である。
【図１２】本発明の実施例であるポート制御部内のイニシエータタスクまたはターゲットタスクを生成するフローチャートである。
【図１３】本発明の実施例であるポート制御部内のイニシエータタスクのフローチャートである。
【図１４】本発明の実施例であるポート制御部内のターゲットタスクのフローチャートである。
【符号の説明】
【００８７】
１０、２０、３０…ホストコンピュータ、４０…Ｆｉｂｒｅ Ｃｈａｎｎｅｌ(ＦａｂｒｉｃＳＷ)、１００、２００…ポート制御部、３００…ディスクアレイ制御部、
４００…ＲＡＭ、５００…キャッシュメモリ、６００…キャッシュメモリ内管理情報、７００、８００…ドライブ制御部、９００…障害制御部、１０００、２０００…コントローラ部、３０００…ＰＣ／ＷＳ、４０００…ディスク装置群、５０００、６０００…ディスクアレイ装置
【図１】
2007193839.tif 000003
【図２】
2007193839.tif 000004
【図３】
2007193839.tif 000005
【図４】
2007193839.tif 000006
【図５】
2007193839.tif 000007
【図６】
2007193839.tif 000008
【図７】
2007193839.tif 000009
【図８】
2007193839.tif 000010
【図９】
2007193839.tif 000011
【図１０】
2007193839.tif 000012
【図１１】
2007193839.tif 000013
【図１２】
2007193839.tif 000014
【図１３】
2007193839.tif 000015
【図１４】
2007193839.tif 000016