(57)【要約】【課題】ターゲット機能のみを有するディスクアレイ装置からイニシエータ機能のみを有する情報処理装置もコマンドの発行を行うことができるコマンドの発行方法を提供すること。【解決手段】情報処理装置はディスクアレイ装置に、装置状態を確認するための状態確認メッセージを送信するポーリング工程と、ディスクアレイ装置は、状態確認メッセージを受信すると、実行したい処理のコマンドを要求するリクエストを状態確認メッセージに対する応答メッセージに添付して情報処理装置へ送信するリクエスト添付工程と、情報処理装置は、応答メッセージに添付されているリクエストに基づくコマンドを生成してディスクアレイ装置に対して送信するコマンド送信工程と、を含む。【選択図】        図８
2006146713.tif 000002
【特許請求の範囲】
【請求項１】
命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置と、命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置とが通信回線を介して接続されたシステムにおけるターゲット側からイニシエータ側へのコマンド発行方法であって、
前記情報処理装置は前記ディスクアレイ装置に、装置状態を確認するための状態確認メッセージを送信するポーリング工程と、
前記ディスクアレイ装置は、前記状態確認メッセージを受信すると、実行したい処理のコマンドを要求するリクエストを前記状態確認メッセージに対する応答メッセージに添付して前記情報処理装置へ送信するリクエスト添付工程と、
前記情報処理装置は、前記応答メッセージに添付されているリクエストに基づくコマンドを生成して前記ディスクアレイ装置に対して送信するコマンド送信工程と、
を含むことを特徴とするターゲット側からイニシエータ側へのコマンド発行方法。
【請求項２】
前記リクエスト添付工程で、前記ディスクアレイ装置は、前記状態確認メッセージの受信時に実行したい処理のコマンドを要求するリクエストがない場合に、所定の時間待ち状態となり、その時間内に実行したい処理のコマンドを要求するリクエストが発生した場合に、該リクエストを前記応答メッセージに添付して前記情報処理装置へ送信することを特徴とする請求項１に記載のターゲット側からイニシエータ側へのコマンド発行方法。
【請求項３】
前記ディスクアレイ装置は、自装置内で実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成工程をさらに含むことを特徴とする請求項１または２に記載のターゲット側からイニシエータ側へのコマンド発行方法。
【請求項４】
命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置に通信回線を介して接続され、命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置において、
実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成手段と、
前記生成したリクエストを、前記情報処理装置からポーリングされる状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理手段と、
を備えることを特徴とするディスクアレイ装置。
【請求項５】
前記コマンド応答処理手段によって前記応答メッセージに添付されたリクエストを格納する通知済みリクエスト格納手段と、
前記情報処理装置からのコマンドを監視し、前記コマンドが前記通知済みリクエスト格納手段に格納されているリクエストに対応する場合に、そのリクエストを前記通知済みリクエスト格納手段から削除する実行コマンド確認手段と、
をさらに備えることを特徴とする請求項４に記載のディスクアレイ装置。
【請求項６】
前記リクエスト生成手段によって生成されたリクエストを格納する生成リクエスト格納手段と、
前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されている場合に、前記リクエストを添付した前記応答メッセージをすぐに送信することを特徴とする請求項４に記載のディスクアレイ装置。
【請求項７】
前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されていない場合に、前記状態確認メッセージを受信してから前記情報処理装置がタイムアウトを検出するよりも短い所定の時間待ち状態とし、その間に前記生成リクエスト格納手段にリクエストが格納された場合には該リクエストを添付した前記応答メッセージをすぐに送信し、前記所定の時間内に前記リクエスト格納手段にリクエストが格納されない場合には、前記所定の時間経過後にリクエストを添付しない前記応答メッセージを送信することを特徴とする請求項５または６に記載のディスクアレイ装置。
【請求項８】
命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置に通信回線を介して接続され、前記ディスクアレイ装置に対して命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置において、
前記ディスクアレイ装置の状態を確認する状態確認メッセージを送信するポーリング処理手段と、
前記状態確認メッセージに対する前記ディスクアレイ装置の応答メッセージに、前記ディスクアレイ装置の実行したいリクエストが添付されている場合に、そのリクエストに対応するコマンドを生成するメッセージ処理手段と、
前記メッセージ処理手段によって生成されたコマンドを前記ディスクアレイ装置に送信するコマンド送信手段と、
を備えることを特徴とする情報処理装置。
【請求項９】
複数の磁気ディスク装置からなるディスクアレイ部と、このディスクアレイ部を制御するディスクアレイ制御部とを有し、ホストコンピュータに接続される一次記憶装置と、
前記一次記憶装置よりも記憶容量の大きい二次記憶装置と、
前記一次記憶装置と前記二次記憶装置との間に配置され、前記二次記憶装置に格納されるデータから所定の基準によって選択されるデータを前記一次記憶装置に格納するデータの階層管理を行う階層管理サーバと、
を備え、前記一次記憶装置は命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有し、前記階層管理サーバは命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有するデータ管理システムであって、
前記一次記憶装置は、
実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成手段と、
前記生成したリクエストを、前記階層管理サーバから送信される状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理手段と、
を備え、
前記階層管理サーバは、
前記一次記憶装置の状態を確認する状態確認メッセージを送信するポーリング処理手段と、
前記応答メッセージにリクエストが添付されている場合に、そのリクエストに対応するコマンドを生成するメッセージ処理手段と、
前記メッセージ処理手段によって生成されたコマンドを前記一次記憶装置に送信するコマンド送信手段と、
を備えることを特徴とするデータ管理システム。
【請求項１０】
命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置に通信回線を介して接続され、命令を受け取り実行するターゲット機能のみを備えるディスクアレイ装置のチャンネルアダプタにおけるコマンド発行プログラムであって、
前記チャンネルアダプタに、
実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成工程と、
前記生成したリクエストを、前記情報処理装置からポーリングされる状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理工程と、
を実行させることを特徴とするコマンド発行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ターゲット機能しか有さないディスクアレイ装置と、イニシエータ機能しか有さない情報処理装置との間におけるターゲット側からイニシエータ側へのコマンドの発行方法およびコマンド発行プログラムに関するものである。また、この方法で使用されるディスクアレイ装置と情報処理装置にも関するものである。さらに、ターゲット側からイニシエータ側へのコマンドの発行方法を適用したターゲット機能しか有さないディスクアレイ装置とイニシエータ機能しか有さない情報処理装置とを有するデータ管理システムにも関するものである。
【背景技術】
【０００２】
従来、ホストコンピュータに接続された外部記憶装置において、大量に格納されているデータへ高速にアクセスするとともに、故障時におけるデータの冗長性を持たせて信頼性を向上させたディスクアレイ装置（ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置ともいう）が提案されている（たとえば、特許文献１参照）。ディスクアレイ装置は、そのデータアクセスの速さとデータの冗長性の段階に応じて一般的にＲＡＩＤ１〜５の５段階のレベルに分類される。図９は、従来のディスクアレイ装置の概略構成を模式的に示すブロック図である。ディスクアレイ装置は、ハードディスク装置からなる複数の磁気ディスク装置２０１ａ，２０１ｂ，２０１ｃ，・・・，２０１ｘ，２０１ｙと、これらの磁気ディスク装置２０１ａ〜２０１ｙの制御を行うディスクアレイ制御装置２０２とを備えて構成される。
【０００３】
磁気ディスク装置２０１ａ〜２０１ｙは、ＲＡＩＤのレベルによって異なるが、たとえばデータを格納する磁気ディスク装置と、この磁気ディスク装置に格納されたデータをミラーリングするための磁気ディスク装置と、磁気ディスク装置に格納されたデータに対して作成されたパリティデータを格納するための磁気ディスク装置というように、ＲＡＩＤのレベルに対応してそれぞれの用途が分かれている。ディスクアレイ制御装置２０２は、ホストコンピュータ２１０のホストバスアダプタ（図中、ＨＢＡと表記）２１１と接続され、ホストコンピュータ２０１に対するインタフェース制御を行うチャンネルアダプタ２０３と、磁気ディスク装置２０１ａ〜２０１ｙと接続され、データのリード／ライト時の各種制御を行うディスクアレイコントローラ２０４と、データのリード／ライト時にディスクアレイコントローラ２０４の指示に基づいてそれぞれの磁気ディスク装置２０１ａ〜２０１ｙに対する制御を行うデバイスアダプタ２０５ａ，２０５ｂ，２０５ｃ，・・・，２０５ｘ，２０５ｙと、を備えて構成される。
【０００４】
これらのチャンネルアダプタ２０３やホストバスアダプタ２１１は、たとえば米国規格協会（ＡＮＳＩ; American National Standard Institute）で規格化されているＳＣＳＩ（Small Computer System Interface）装置で構成され、ホストコンピュータ２１０のＳＣＳＩ装置（ホストバスアダプタ２１１）には、コマンドを発行する機能（以下、イニシエータ機能という）のみを実装させ、ディスクアレイ装置のＳＣＳＩ装置（チャンネルアダプタ２０３）にはコマンドを受け取り実行する機能（以下、ターゲット機能という）のみを実装させているものもある。このような構成のディスクアレイ装置の場合、イニシエータ機能のみのＳＣＳＩ装置を有するホストコンピュータ２１０が、ターゲット機能のみのＳＣＳＩ装置を有するディスクアレイ装置へＳＣＳＩの規格にしたがった通信を行うことによって、双方向のデータ通信を行っている。たとえば、チャンネルアダプタ２０３が、ホストバスアダプタ２１１からリード（読込み）のコマンド（命令）を受けると、そのコマンドに基づいた処理、つまりデバイスアダプタ２０５ａ〜２０５ｙを介した磁気ディスク装置２０１ａ〜２０１ｙへの読込み処理のみを行って、その結果をホストバスアダプタ２１１に返す処理を行う（たとえば、特許文献２参照）。この場合、ターゲット機能のみを有するディスクアレイ装置では、イニシエータ機能のみを有するホストコンピュータがコマンドを出した場合にのみ、そのコマンドに対する応答のみを行うことができる。
【０００５】
【特許文献１】特開２００４−１６４６７５号公報
【特許文献２】特開平９−１６７１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、最近では、ホストコンピュータの外部記憶装置として、従来のディスクアレイ装置よりもさらに記憶容量が大きく、高速にアクセスできるものが求められている。このような要求対して、ディスクアレイ装置と、光ディスクなどの大容量の記憶装置と、ディスクアレイ装置に記憶するデータと大容量の記憶装置に記憶するデータについて階層管理を行う階層管理装置とを有するデータ管理システムが提案されている。このようなデータ管理システムでは、たとえば、大容量の記憶装置に格納されているデータのうち使用頻度の高いデータについてはディスクアレイ装置に配置するなどの階層管理を行うことで、ホストコンピュータからのデータへのアクセスをスムーズに行っている。ただし、このようなデータ管理システムの場合、ディスクアレイ装置と階層管理装置との間では、データの削除や書き込みなどの処理が必要なために、双方向でコマンドのやり取りなどの通信が行われる。
【０００７】
しかしながら、上述したようにターゲット機能しか備えていないディスクアレイ装置が現在までに多数使用されている。このような構成のディスクアレイ装置では、データ管理システムにおいてディスクアレイ装置側からイニシエータ機能を有するホストコンピュータや階層管理装置へメッセージを送ることはできない。そのため、ディスクアレイ装置と階層管理装置との間で双方向のデータのやり取りが頻繁に行われる上記したデータ管理システムには、ターゲット機能のみしか有さない既存のディスクアレイ装置を用いることができない。そのため、イニシエータ機能とターゲット機能をあわせもつチャンネルアダプタを備えるディスクアレイ装置、ホストコンピュータおよび階層管理装置を用いる必要がある。つまり、ディスクアレイ装置のチャンネルアダプタと階層管理装置やホストコンピュータのホストバスアダプタの両方が、イニシエータ機能とターゲット機能を有するように、それぞれの装置のアダプタを変更しなければならないという問題点があった。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、イニシエータ機能のみを有するホストアダプタを備える情報処理装置と、ターゲット機能のみを有するチャンネルアダプタを備えるディスクアレイ装置とを有するシステムにおいて、イニシエータ側からターゲット側へのコマンド発行だけでなく、ターゲット側からイニシエータ側へもコマンドの発行を要求することができるディスクアレイ装置、情報処理装置およびデータ管理システムを提供することを目的とする。また、このようなシステムにおいてターゲット側からイニシエータ側へもコマンドを発行することができるターゲット側からイニシエータ側へのコマンドの発行方法およびコマンド発行プログラムにも関するものである。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかるターゲット側からイニシエータ側へのコマンド発行方法は、命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置と、命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置とが通信回線を介して接続されたシステムにおけるターゲット側からイニシエータ側へのコマンド発行方法であって、前記情報処理装置は前記ディスクアレイ装置に、装置状態を確認するための状態確認メッセージを送信するポーリング工程と、前記ディスクアレイ装置は、前記状態確認メッセージを受信すると、実行したい処理のコマンドを要求するリクエストを前記状態確認メッセージに対する応答メッセージに添付して前記情報処理装置へ送信するリクエスト添付工程と、前記情報処理装置は、前記応答メッセージに添付されているリクエストに基づくコマンドを生成して前記ディスクアレイ装置に対して送信するコマンド送信工程と、を含むことを特徴とする。
【００１０】
この請求項１の発明によれば、ターゲット機能のみを備えるディスクアレイ装置に実行したい処理が生じた場合に、その処理を実行してもらうためのリクエストが、イニシエータ機能のみを備える情報処理装置が行うポーリングを用いて、情報処理装置に対して通知される。
【００１１】
また、請求項２の発明にかかるターゲット側からイニシエータ側へのコマンド発行方法は、請求項１の発明において、前記リクエスト添付工程で、前記ディスクアレイ装置は、前記状態確認メッセージの受信時に実行したい処理のコマンドを要求するリクエストがない場合に、所定の時間待ち状態となり、その時間内に実行したい処理のコマンドを要求するリクエストが発生した場合に、該リクエストを前記応答メッセージに添付して前記情報処理装置へ送信することを特徴とする。
【００１２】
この請求項２の発明によれば、ターゲット機能のみを備えるディスクアレイ装置は、実行したい処理がない場合に、情報処理装置からポーリングされた状態確認メッセージに対する応答メッセージをすぐに返さずに、情報処理装置がタイムアウトを検出する時間よりも短い時間まで待つようにしている。
【００１３】
さらに、請求項３の発明にかかるターゲット側からイニシエータ側へのコマンド発行方法は、請求項１または２の発明において、前記ディスクアレイ装置は、自装置内で実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成工程をさらに含むことを特徴とする。
【００１４】
この請求項３の発明によれば、ターゲット機能のみを備えるディスクアレイ装置は、自装置で実行したい処理をイニシエータ機能のみを備える情報処理装置に伝えるためのリクエストとして生成するようにしている。
【００１５】
また、上述した課題を解決し、目的を達成するため、請求項４の発明にかかるディスクアレイ装置は、命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置に通信回線を介して接続され、命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置において、実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成手段と、前記生成したリクエストを、前記情報処理装置からポーリングされる状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理手段と、を備えることを特徴とする。
【００１６】
この請求項４の発明によれば、ターゲット機能のみを有するディスクアレイ装置でも、自装置で実行したい処理の内容として生成したリクエストを、イニシエータ機能のみを有する情報処理装置からのポーリングに対する応答メッセージに添付して送信することで、ディスクアレイ装置で実行したい処理の内容を確実に情報処理装置へと伝えることができる。
【００１７】
さらに、請求項５の発明にかかるディスクアレイ装置は、請求項４の発明において、前記コマンド応答処理手段によって前記応答メッセージに添付されたリクエストを格納する通知済みリクエスト格納手段と、前記情報処理装置からのコマンドを監視し、前記コマンドが前記通知済みリクエスト格納手段に格納されているリクエストに対応する場合に、そのリクエストを前記通知済みリクエスト格納手段から削除する実行コマンド確認手段と、をさらに備えることを特徴とする。
【００１８】
この請求項５の発明によれば、生成リクエスト格納手段には、情報処理装置から状態確認メッセージがポーリングされるまでの間に生成されたリクエストを格納しておくことができる。また、通知済みリクエスト格納手段には、生成されたリクエストのうち情報処理装置に対して返信した応答メッセージに添付したリクエストを分けて管理することができる。そして、実行コマンド確認手段は、情報処理装置によって実行されたコマンドに対応するリクエストを通知済みリクエスト格納手段から削除して、実行されたリクエストの管理を行うことができる。
【００１９】
また、請求項６の発明にかかるディスクアレイ装置は、請求項５の発明において、前記リクエスト生成手段によって生成されたリクエストを格納する生成リクエスト格納手段と、前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されている場合に、前記リクエストを添付した前記応答メッセージをすぐに送信することを特徴とする。
【００２０】
この請求項６の発明によれば、ディスクアレイ装置は、情報処理装置からポーリングされる状態確認メッセージの受信時に、実行したい処理のリクエストがある場合にはすぐにそのリクエストを添付した応答メッセージを情報処理装置に対して送信するようにしている。
【００２１】
さらに、請求項７の発明にかかるディスクアレイ装置は、請求項５または６の発明において、前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されていない場合に、前記状態確認メッセージを受信してから前記情報処理装置がタイムアウトを検出するよりも短い所定の時間待ち状態とし、その間に前記生成リクエスト格納手段にリクエストが格納された場合には該リクエストを添付した前記応答メッセージをすぐに送信し、前記所定の時間内に前記リクエスト格納手段にリクエストが格納されない場合には、前記所定の時間経過後にリクエストを添付しない前記応答メッセージを送信することを特徴とする。
【００２２】
この請求項７の発明によれば、ディスクアレイ装置は、情報処理装置からポーリングされる状態確認メッセージの受信時に、実行したい処理のリクエストがない場合にはすぐに応答メッセージを返さず、情報処理装置がタイムアウトを検出する時間よりもわずかに短い時間の間だけ待って、応答メッセージを返すようにしている。そして、この待ち時間の間に、リクエストが生成された場合には、そのリクエストを添付した応答メッセージをすぐに情報処理装置に送信するようにしている。
【００２３】
また、上述した課題を解決し、目的を達成するため、請求項８の発明にかかる情報処理装置は、命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置に通信回線を介して接続され、前記ディスクアレイ装置に対して命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置において、前記ディスクアレイ装置の状態を確認する状態確認メッセージを送信するポーリング処理手段と、前記状態確認メッセージに対する前記ディスクアレイ装置の応答メッセージに、前記ディスクアレイ装置の実行したいリクエストが添付されている場合に、そのリクエストに対応するコマンドを生成するメッセージ処理手段と、前記メッセージ処理手段によって生成されたコマンドを前記ディスクアレイ装置に送信するコマンド送信手段と、を備えることを特徴とする。
【００２４】
この請求項８の発明によれば、情報処理装置は、ターゲット機能しか有さないディスクアレイ装置に対して、ディスクアレイ装置に実行して欲しい処理があるか否かを確認する状態確認メッセージを送信するとともに、ディスクアレイ装置からコマンドのリクエストがある場合にはポーリング処理とは別にその処理を実行するためのコマンドを作成して送信するようにしている。
【００２５】
さらに、上述した課題を解決し、目的を達成するため、請求項９の発明にかかるデータ管理システムは、複数の磁気ディスク装置からなるディスクアレイ部と、このディスクアレイ部を制御するディスクアレイ制御部とを有し、ホストコンピュータに接続される一次記憶装置と、前記一次記憶装置よりも記憶容量の大きい二次記憶装置と、前記一次記憶装置と前記二次記憶装置との間に配置され、前記二次記憶装置に格納されるデータから所定の基準によって選択されるデータを前記一次記憶装置に格納するデータの階層管理を行う階層管理サーバと、を備え、前記一次記憶装置は命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有し、前記階層管理サーバは命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有するデータ管理システムであって、前記一次記憶装置は、実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成手段と、前記生成したリクエストを、前記階層管理サーバから送信される状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理手段と、を備え、前記階層管理サーバは、前記一次記憶装置の状態を確認する状態確認メッセージを送信するポーリング処理手段と、前記応答メッセージにリクエストが添付されている場合に、そのリクエストに対応するコマンドを生成するメッセージ処理手段と、前記メッセージ処理手段によって生成されたコマンドを前記一次記憶装置に送信するコマンド送信手段と、を備えることを特徴とする。
【００２６】
この請求項９の発明によれば、ホストコンピュータからのアクセスによって、二次記憶装置に記憶されるデータを一次記憶装置に記憶させるように階層管理サーバでデータの管理を行うデータ管理システムにおいても、ターゲット機能しか有さないディスクアレイ装置を一次記憶装置に使用することが可能となる。つまり、一次記憶装置が、階層管理サーバからポーリングされる状態確認メッセージに対する応答メッセージに、一次記憶装置が実行したい処理をリクエストとして添付して階層管理サーバに返信することで、そのリクエストを階層管理サーバに伝えて実行させることができる。
【００２７】
また、請求項１０の発明にかかるコマンド発行プログラムは、命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置に通信回線を介して接続され、命令を受け取り実行するターゲット機能のみを備えるディスクアレイ装置のチャンネルアダプタにおけるコマンド発行プログラムであって、前記チャンネルアダプタに、実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成工程と、前記生成したリクエストを、前記情報処理装置からポーリングされる状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理工程と、を実行させることを特徴とする。
【００２８】
この請求項１０の発明によれば、ターゲット機能のみを有するディスクアレイ装置でも、自装置で実行したい処理の内容として生成したリクエストを、イニシエータ機能のみを有する情報処理装置からのポーリングに対する応答メッセージに添付して送信する処理がプログラムで記述される。
【発明の効果】
【００２９】
請求項１の発明によれば、受信した命令の実行しか行わないターゲット機能のみを有するディスクアレイ装置において実行したい処理が生じた場合でも、その処理内容を命令を発行するイニシエータ機能のみを有する情報処理装置に確実に伝えて、その処理を実行させることができるという効果を奏する。これにより、ディスクアレイ装置と情報処理装置との間で実質的に双方向での通信が可能となる。
【００３０】
また、請求項２の発明によれば、情報処理装置からポーリングされる状態確認メッセージを受信時に実行したい処理のリクエストがない場合に、つぎに送信される状態確認メッセージを受信するまでの間にリクエストが生成された場合でも、そのリクエストをすぐに情報処理装置に伝えることができるという効果を奏する。
【００３１】
さらに、請求項３の発明によれば、ディスクアレイ装置内で実行したい処理を生成することができるという効果を有する。
【００３２】
また、請求項４の発明によれば、命令を受け取り実行するターゲット機能のみを備えるディスクアレイ装置であっても、自装置で実行したい処理をリクエストとして情報処理装置に伝えることで、その処理を確実に実行することができるという効果を有する。
【００３３】
さらに、請求項５の発明によれば、既に通知したリクエストと通知していないリクエストを区別して管理することができるとともに、通知したリクエストのうち実行されたリクエストも管理することができ、既に通知したリクエストを再度通知するという無駄な処理を省くことができるという効果を有する。
【００３４】
また、請求項６の発明によれば、ディスクアレイ装置が実行したい処理がある場合に、その処理内容を情報処理装置へとすばやく伝え、対応するコマンドを確実にそしてすばやく実行することができるという効果を有する。
【００３５】
さらに、請求項７の発明によれば、リクエストが生成されない場合にはタイムアウトが検出されるよりも短い時間の間で応答メッセージを返さないので、情報処理装置にかかるポーリング処理の負荷を抑制することができるという効果を有する。また、リアルタイムに実行して欲しいリクエストを情報処理装置に通知することができるという効果も有する。
【００３６】
また、請求項８の発明によれば、ターゲット機能のみしか有さないディスクアレイ装置が実行したい処理内容をすばやく把握して、ディスクアレイ装置において所望される処理をすばやくそして確実に実行することができるという効果を有する。
【００３７】
さらに、請求項９の発明によれば、既存のターゲット機能しか有さない一時記憶装置でも、自装置で処理したい内容を階層管理サーバにリクエストという形で通知してイニシエータ機能を有する階層管理サーバでそのリクエストに対応するコマンドを送信してもらうことで、その処理をすばやくそして確実に実行することができる。これにより、既存のターゲット機能のみしか有さないディスクアレイ装置を一次記憶装置として用いて、データを複数の記憶装置で階層的に管理するデータ管理システムを構築することができる。つまり、既存のディスクアレイ装置を有効に活用することができるという効果を有する。
【００３８】
また、請求項１０の発明によれば、命令を受け取り実行するターゲット機能のみを備えるディスクアレイ装置であっても、自装置で実行したい処理をリクエストとして情報処理装置に伝えることで、その処理を確実に実行することができるという効果を有する。また、磁気ディスク装置にこのプログラムを読み込ませて実行させることによって、既存のターゲット機能のみしか有さないディスクアレイ装置でも、実質的に双方向の通信を行うことができるという効果も有する。
【発明を実施するための最良の形態】
【００３９】
以下に添付図面を参照して、この発明にかかるディスクアレイ装置、情報処理装置、データ管理システム、およびターゲット側からイニシエータ側へのコマンドの発行方法ならびにコマンド発行プログラムの好適な実施例を詳細に説明する。
【実施例】
【００４０】
図１は、本発明にかかるデータ管理システムの概略構成の一例を模式的に示すブロック図である。このデータ管理システムは、一次記憶装置１０と、一次記憶装置１０よりも大容量のデータを保存することができる二次記憶装置４０と、一次記憶装置１０と二次記憶装置４０との間に配置され、一次記憶装置１０に格納される二次記憶装置４０上のデータを管理する階層管理サーバ６０とが、ＦＣ（Fibre Channel）ケーブルやＳＣＳＩケーブルなどの通信回線を介して接続されて構成される。なお、図１では、データ管理システムの基本的な構成を模式的に示すものであり、複数の階層管理サーバ６０や複数の二次記憶装置４０を設けるように構成してもよい。また、このデータ管理システムには、ホストコンピュータ７０が接続され、このホストコンピュータ７０の外部記憶装置として使用される。ホストコンピュータ７０は、パーソナルコンピュータやサーバ装置などの情報処理端末であり、たとえば、ネットワークに接続されるクライアント端末でもよいし、ネットワークに設けられる実験データ管理サーバ、文書データ管理サーバまたは画像データ管理サーバなどのデータ管理を行うサーバ装置でもよい。なお、この実施例では、ホストコンピュータ７０は、外部記憶装置としてのデータ管理システムにリードやライトなどのアクセスを行った際に、目的が達成されるまで繰り返しアクセスを行う機能を有しているものとする。また、このホストコンピュータ７０は、特許請求の範囲における情報処理装置とホストコンピュータに対応するものである。
【００４１】
二次記憶装置４０は、後述する一次記憶装置１０の記憶容量よりも大きな記憶容量を有するストレージデバイスであり、実験データや文書データ、静止画や動画などの画像データなどのデータを格納したたとえばテープや光ディスク、光磁気ディスクなどの記憶媒体を格納、再生する記憶媒体再生装置によって構成される。記憶容量の大きさとしては、たとえば一次記憶装置１０が、テラ（１０12）バイト単位の記憶容量を有する場合に、二次記憶装置４０はペタ（１０15）バイト以上の記憶容量を有する。さらに、一次記憶装置１０に対して格段の大きさの記憶容量を有するものとする。二次記憶装置４０では、それぞれの物理セクタを識別するために付された論理ブロックアドレス（ＬＢＡ）と、連続的な論理ブロックの集合体に付された論理ユニット番号（ＬＵＮ）によってデータを管理している。
【００４２】
一次記憶装置１０は、データを格納するディスクアレイ部３０と、ディスクアレイ部３０の制御を行うディスクアレイ制御部２０と、を備えて構成される。図２は、一次記憶装置の概略構成を示すブロック図である。ディスクアレイ部３０は、複数の磁気ディスク装置（ハードディスク装置）３１ａ，３１ｂ，・・・，３１ｘからなり、上記したＲＡＩＤのレベルによって構成がそれぞれ異なるが、たとえば、データを格納する機能を有する磁気ディスク装置、該データをミラーリングする機能を有する磁気ディスク装置、格納されるデータのパリティデータを格納する機能を有する磁気ディスク装置などから構成される。このディスクアレイ部３０に格納されるデータは、二次記憶装置４０に格納されているデータのうちホストコンピュータ７０からアクセスのあったデータである。なお、この一次記憶装置１０は、特許請求の範囲におけるディスクアレイ装置と一次記憶装置に対応するものである。
【００４３】
ディスクアレイ制御部２０は、階層管理サーバ６０に対するインタフェース制御を行う第１のチャンネルアダプタ２１と、ホストコンピュータ７０に対するインタフェース制御を行う第２のチャンネルアダプタ２２と、ディスクアレイ部３０の制御を行うディスクアレイコントローラ２３と、ディスクアレイ部３０を構成する個々の磁気ディスク装置３１ａ〜３１ｘを制御するデバイスアダプタ２４と、一次記憶装置１０で生じた処理したいコマンドを実行できるように処理するリクエスト通知処理部２５と、を備えて構成される。
【００４４】
第１と第２のチャンネルアダプタ２１，２２は、コマンドを受け取り実行するターゲット機能のみを有するアダプタであり、それぞれ階層管理サーバ６０とホストコンピュータ７０が発行したコマンドを受信し、そのコマンドをリクエスト通知処理部２５に転送する制御を行うとともに、外部装置（階層管理サーバ６０やホストコンピュータ７０）からのコマンドに対してディスクアレイ制御部２０の各処理部で生成された応答をその外部装置に対して送信する機能を有する。ディスクアレイコントローラ２３は、第１と第２のチャンネルアダプタ２２を介して送られてくるコマンドがデータのリード（読み込み）／ライト（書き込み）コマンドやその他所定のコマンドである場合の各種制御や処理を行う機能を有する。デバイスアダプタ２４は、ディスクアレイコントローラ２３の指示により各磁気ディスク装置３１ａ〜３１ｘを制御する機能を有する。なお、このディスクアレイコントローラ２３とデバイスアダプタ２４は、従来公知のディスクアレイ装置を制御するディスクアレイ制御装置とデバイスアダプタと同じ機能を有するものである。
【００４５】
図３は、ディスクアレイ制御部のリクエスト通知処理部の機能構成を模式的に示すブロック図である。この図に示されるように、リクエスト通知処理部２５は、格納データ情報格納部５１、アドレス確認部５２、リクエスト生成部５３、生成リクエスト格納部５４、コマンド応答処理部５５、通知済リクエスト格納部５６および実行コマンド確認部５７を備えて構成される。
【００４６】
格納データ情報格納部５１は、一次記憶装置１０のディスクアレイ部３０に格納されている二次記憶装置４０内のデータの格納位置である論理領域とアドレスを示す格納データ情報を格納している。具体的には、二次記憶装置４０ではデータを論理ユニット番号と論理ブロックアドレスで管理しているので、格納データ情報には、ディスクアレイ部３０に格納されているデータについて二次記憶装置４０の格納位置を示す論理ユニット番号と論理ブロックアドレスが含まれる。
【００４７】
アドレス確認部５２は、階層管理サーバ６０またはホストコンピュータ７０からの第１または第２のチャンネルアダプタ２２を介して送られてくるコマンドによってアクセスされるデータについて、一次記憶装置１０のディスクアレイ部３０に格納されているデータか否かを、格納データ情報格納部５１に格納される格納データ情報を用いて判定する機能を有する。つまり、コマンドに含まれるアクセス先の論理ユニット番号と論理ユニットアドレスが、格納データ情報格納部５１の格納データ情報に含まれるか否かを判定する。判定の結果、アクセスされるデータがディスクアレイ部３０に格納されている場合には、コマンドをディスクアレイコントローラ２３に渡し、ディスクアレイコントローラ２３による通常のコマンド処理が実行される。また、アクセスされるデータがディスクアレイ部３０に格納されていない場合には、コマンドをディスクアレイコントローラ２３に渡すとともにその判定結果をリクエスト生成部５３に出力する。
【００４８】
リクエスト生成部５３は、一次記憶装置１０で必要とするコマンドをリクエストとして生成し、生成リクエスト格納部５４に格納する機能を有する。一次記憶装置１０で必要とするコマンドとは、一次記憶装置１０が自発的に必要とするコマンドであってもよいし、階層管理サーバ６０やホストコンピュータ７０からの入力に対する処理によって必要となったコマンドであってもよい。前者の場合には、一次記憶装置１０が立上げ時にデータ管理システムの一次記憶装置１０として機能するためのシステムの構成情報を得る必要があるが、その情報を得るためのコマンドを例示することができる。また、後者の場合には、たとえばアドレス確認部５２によってホストコンピュータ７０から要求されるデータが一次記憶装置１０に格納されていないとの判定結果を受けた際に、そのデータに対応する情報を二次記憶装置４０から一次記憶装置１０へコピーするためのコマンドを例示することができる。
【００４９】
生成リクエスト格納部５４は、リクエスト生成部５３によって生成されたリクエストを格納する機能を有する。リクエストは生成順に格納されるのが好ましい。
【００５０】
コマンド応答処理部５５は、後述する階層管理サーバ６０からポーリングされる一次記憶装置１０の状態（一次記憶装置１０がリクエストを有しているか否か）を確認するための状態確認メッセージに対して応答する機能を有する。具体的には、生成リクエスト格納部５４にリクエストが格納されている場合には、状態確認メッセージに対する応答メッセージにリクエストを添付して階層管理サーバ６０に送信する。また、生成リクエスト格納部５４にリクエストが格納されていない場合には、状態確認メッセージを受信して、階層管理サーバ６０に設定されているタイムアウトの検出となる時間よりも短い所定の時間の間、応答メッセージを返信しない待ち状態となる。この所定の時間内に、リクエストが生成リクエスト格納部５４に格納されるか否かを監視し、所定の時間内に生成リクエスト格納部５４にメッセージが格納された場合にはそのリクエストを応答メッセージに添付してすぐに階層管理サーバ６０に送信し、所定の時間内に生成リクエスト格納部５４にリクエストが格納されなかった場合には、所定の時間経過後に通常の応答メッセージを送信する。応答メッセージに添付するリクエストの数は特に限定されるものではなく、複数のリクエストを添付するようにしてもよい。また、応答メッセージに添付したリクエストは、生成リクエスト格納部５４から削除されるとともに、通知済リクエスト格納部５６に格納される。
【００５１】
これにより、生成リクエスト格納部５４にリクエストが格納されている場合には、状態確認メッセージの受信後すぐにリクエストを添付した応答メッセージを返すので、階層管理サーバ６０によって該当する一次記憶装置１０の所望するリクエストがすぐに実行される。また、生成リクエスト格納部５４にリクエストが格納されていない場合には、すぐに応答メッセージを返さず、階層管理サーバ６０によってタイムアウトと判定される時間よりもわずかに短い所定の時間の間待ってから応答メッセージを返し、応答メッセージを返すまでの待ち時間にリクエストが生成リクエスト格納部５４に格納された場合には、それを添付した応答メッセージをすぐに返すので、生成リクエストをほぼリアルタイムに階層管理サーバ６０側へと送信することができる。
【００５２】
通知済リクエスト格納部５６は、応答メッセージに添付した生成リクエスト格納部５４内のリクエストの内容である通知済みリクエスト情報を格納する機能を有する。つまり、階層管理サーバ６０に対して送信したリクエストが格納される。
【００５３】
実行コマンド確認部５７は、通知済リクエスト格納部５６に格納された通知済みリクエスト情報、すなわち応答メッセージに添付されたリクエストが、階層管理サーバ６０によって実行されたか否かを監視する機能を有する。つまり、第１のチャンネルアダプタ２１を経て得られたコマンドを確認し、通知済みリクエスト情報に含まれるリクエストである場合には、通知済リクエスト格納部５６の通知済みリクエスト情報から該当するリクエストを削除する。
【００５４】
階層管理サーバ６０は、二次記憶装置４０に格納されているデータのうち一次記憶装置１０に格納するデータを選択して一次記憶装置１０に格納したり、このときに一次記憶装置１０に格納されているデータの削除を行ったりする階層管理機能を有するサーバ装置である。図４は、階層管理サーバ６０の概略構成を模式的に示すブロック図である。このような機能を有する階層管理サーバ６０は、一次記憶装置１０に対するインタフェース制御を行うホストバスアダプタ６１と、一次記憶装置１０の状態を確認する状態確認メッセージをポーリングするポーリング処理部６２と、ポーリングに対する一次記憶装置１０からの応答メッセージを処理するメッセージ処理部６３と、リクエストされたコマンドを格納する受信メッセージ格納部６４と、リード／ライトなどのコマンドやリクエストされたコマンドを一次記憶装置１０に対して送信するコマンド送信部６５と、階層管理サーバ６０と一次および二次記憶装置４０のデータを階層管理するのに必要なその他の処理を行う管理処理部６６と、これらの各処理部を制御する制御部６７と、を備えて構成される。なお、この階層管理サーバ６０は、特許請求の範囲における情報処理装置と階層管理サーバとに対応するものである。
【００５５】
ホストバスアダプタ６１は、コマンドを発行するイニシエータ機能のみを有するアダプタであり、ポーリング処理部６２によって発行される状態確認メッセージや、コマンド送信部６５によって発行された一次記憶装置１０を制御するコマンドを送信する機能を有する。階層管理サーバ６０は、一次記憶装置１０と二次記憶装置４０の両方に接続されるため、２つのホストバスアダプタ６１を備えている。
【００５６】
ポーリング処理部６２は、一次記憶装置１０の状態、具体的には一次記憶装置１０がイニシエータ機能を有する階層管理サーバ６０に対して要求するメッセージ（リクエスト）を保持しているか否か、を確認する状態確認メッセージを発行する機能を有する。また、状態確認メッセージは最初に一次記憶装置１０に対して送信された後、一次記憶装置１０から応答メッセージを受信した後すぐにつぎの状態確認メッセージが送信されるが、本実施例では、一次記憶装置１０でリクエストがない場合に階層管理サーバ６０がタイムアウトを検出するよりも短い所定の時間待ってから応答メッセージを送信するようにしているので、階層管理サーバ６０にかかる負荷を抑制することが可能となる。
【００５７】
メッセージ処理部６３は、ポーリング処理部６２によって一次記憶装置１０に送信した状態確認メッセージに対する応答によって階層管理サーバ６０が行う処理を管理する機能を有する。具体的には、ポーリング処理部６２によって一次記憶装置１０に状態確認メッセージを送信してから所定の時間が経過しても該メッセージに対する応答メッセージを受信しない場合には、タイムアウトとして、一次記憶装置１０に何らかの障害が発生した状態にあると判定する。また、所定の時間内に応答メッセージを受信した場合には、該応答メッセージにリクエストが添付されているか否かを判定し、添付されているときにはそのリクエストに対応するコマンドを生成して受信メッセージ格納部６４に格納する。なお、応答メッセージにリクエストが添付されていない場合には、何も処理を行わない。
【００５８】
受信メッセージ格納部６４は、ポーリング処理部６２によって送信された状態確認メッセージに対する一次記憶装置１０の応答メッセージに添付されたリクエストに基づいて生成されたコマンドを格納する。つまり、受信メッセージ格納部６４には、一次記憶装置１０にとって実行して欲しいコマンドが格納される。この受信メッセージ格納部６４に格納されるコマンドも、受信した順番に格納されることが望ましい。
【００５９】
コマンド送信部６５は、一次記憶装置１０に対してリード／ライトなどの処理を実行するためのコマンドを発行する機能を有する。受信メッセージ格納部６４にコマンドが格納されている場合には、そのコマンドを発行する。ここでも、受信メッセージ格納部６４に格納されている順（つまり、古く格納された順）にコマンドを発行するのが望ましい。
【００６０】
管理処理部６６は、階層管理サーバ６０の行う本実施例とは直接関わりのない処理、たとえば二次記憶装置４０の管理など、を行う機能を有するものである。
【００６１】
このようなデータ管理システムの構成によって、ターゲット機能しか持たないチャンネルアダプタ２１，２２を有する一次記憶装置１０と、イニシエータ機能しか持たないホストバスアダプタ６１を有する階層管理サーバ６０とが接続されたシステムにおいても、一次記憶装置１０側が実行して欲しいコマンドを実行させることが可能となる。
【００６２】
以下では、このような構成のデータ管理システムにおける、（１）データ管理システムによるコマンドの実行処理、（２）階層管理サーバ６０によるポーリング処理、（３）一次記憶装置１０によるリクエスト生成処理、そして（４）データ管理システムによるコマンド発行処理、の各処理について順に説明する。
【００６３】
まず、データ管理システムによるコマンドの実行処理の一例について、図５のフローチャートを参照しながら説明する。ホストコンピュータ７０は、外部記憶装置に格納されているデータに対して、たとえばユーザからの要求によるリードコマンドやライトコマンドなどのコマンドを送信する（ステップＳ１１）。このコマンドは、ホストバスアダプタ６１を介して一次記憶装置１０で受信される（ステップＳ１２）。一次記憶装置１０のディスクアレイ制御部２０のリクエスト通知処理部２５のアドレス確認部５２では、受信したコマンドに含まれるアクセス先がディスクアレイ部３０に格納されているデータか否かを論理ユニット番号と論理ブロックアドレスを用いて判定した後に、ディスクアレイコントローラ２３へコマンドを渡す。ディスクアレイコントローラ２３では、渡されたコマンドが実行される（ステップＳ１３）。そして、その結果をディスクアレイコントローラ２３は第２のチャンネルアダプタ２２を介してホストコンピュータ７０に送信し（ステップＳ１４）、一次記憶装置１０側の処理が終了する。
【００６４】
ホストコンピュータ７０では、コマンドを送信してから所定時間内に一次記憶装置１０から応答があったか否かを判定する（ステップＳ１５）。所定時間内に応答があった場合（ステップＳ１５でＹｅｓの場合）には、ホストコンピュータ７０は、その実行結果を得て送信したコマンドに関する処理を終了する。また、コマンドを送信してから所定時間内に応答がなかった場合（ステップＳ１５でＮｏの場合）には、ホストコンピュータ７０は、タイムアウトを検出し（ステップＳ１６）、送信したコマンドに関する処理を終了する。なお、タイムアウトを認識した後の処理は任意に設定可能であり、ステップＳ１１で発行されたコマンドを再び一次記憶装置１０に送信してもよい。
【００６５】
つぎに、階層管理サーバ６０によるポーリング処理について、図６のフローチャートを参照しながら説明する。なお、ここでは階層管理サーバ６０によるポーリング処理のみを説明し、このポーリング処理で生じる可能性のあるコマンド発行処理の手順については後述するためにその説明を省いている。最初に、階層管理サーバ６０のポーリング処理部６２は、一次記憶装置１０の状態を確認するための状態確認メッセージをホストバスアダプタ６１を介して送信する（ステップＳ３１）。一次記憶装置１０のディスクアレイ制御部２０のリクエスト通知処理部２５のコマンド応答処理部５５は、受信した状態確認メッセージに対する応答メッセージを作成して階層管理サーバ６０に対して送信する。また、一次記憶装置１０に障害が発生した場合などでは、状態確認メッセージに対する応答メッセージを返信することができないので、階層管理サーバ６０から見ると状態確認メッセージに対する応答がない状態が続いていることになる。
【００６６】
階層管理サーバ６０のメッセージ処理部６３は、一次記憶装置１０に何らかの障害が発生したと判断する基準となる時間内に、一次記憶装置１０から応答メッセージを受信したか否かを判定する（ステップＳ３２）。基準となる時間内に応答メッセージを受信しなかった場合（ステップＳ３２でＮｏの場合）、すなわちタイムアウトを検出した場合には、メッセージ処理部６３は一次記憶装置１０に何らかの障害が発生したものと判定し（ステップＳ３３）、データ管理システムの管理者などに障害の発生を通知するなどの必要な処理を行って、ポーリング処理が終了する。
【００６７】
また、基準となる時間内に応答メッセージを受信した場合（ステップＳ３２でＹｅｓの場合）には、ステップＳ３１に戻ってポーリング処理部６２は、再び上述した処理を繰り返し、一次記憶装置１０の状態を取得する処理を実行する。つまり、応答メッセージを受信すると即座につぎに状態確認メッセージを送信する。また、階層管理サーバは、このとき応答メッセージに添付されているリクエストの処理をバックグラウンドで起動する。このように、ポーリング処理部６２は、タイムアウトを検出されるよりもわずかに短い時間待って返信される一次記憶装置１０からの応答メッセージを受信するとすぐに、状態確認メッセージを送信することで、階層管理サーバ６０にかかる負荷を抑えている。
【００６８】
つぎに、この発明にかかるデータ管理システムの一次記憶装置１０によるリクエスト生成処理の手順の一例を、図７のフローチャートを参照しながら説明する。なお、ここではコマンドを受信した際に生じるリクエスト生成処理のみを説明する。最初に、ホストコンピュータ７０からデータ管理システムに対してデータの書き込みや読み込みなどのアクセスを行うためのライトコマンドやリードコマンドなどが発行されると、一次記憶装置１０のディスクアレイ制御部２０の第２のチャンネルアダプタ２２はそのコマンドを受信し（ステップＳ５１）、リクエスト通知処理部２５に渡す。
【００６９】
リクエスト通知処理部２５のアドレス確認部５２は、受け取ったコマンドのアクセス先アドレスが、一次記憶装置１０に含まれるものか否かを格納データ情報格納部５１に格納される格納データ情報と比較して判定する（ステップＳ５２）。つまり、アクセス先アドレスである論理ユニット番号と論理ブロックアドレスが一次記憶装置１０のディスクアレイ部３０に格納されているものか否かについて、格納データ情報を用いて判定する。コマンドのアクセス先アドレスが一次記憶装置１０に格納されていない場合（ステップＳ５２でＮｏの場合）には、リクエスト生成部５３は、受け取ったコマンドに含まれるアクセス先アドレスを含むデータを二次記憶装置４０から一次記憶装置１０に書き込むコマンドを要求するリクエストを生成し（ステップＳ５３）、生成リクエスト格納部５４に格納する（ステップＳ５４）。そして、一次記憶装置１０によるリクエストの生成処理が終了する。このリクエストは、たとえば一次記憶装置１０のディスクの容量に空き容量がないときには、一次記憶装置１０に格納されているデータのうち最も使用頻度の低いものを削除するコマンドと、削除した位置にアクセス先アドレスを含む二次記憶装置４０から抽出した新たなデータを書き込むコマンドなどを含むものである。なお、コマンドはこの後にディスクアレイコントローラ２３へと送られる。
【００７０】
一方、コマンドのアクセス先アドレスが一次記憶装置１０に格納されている場合（ステップＳ５２でＹｅｓの場合）には、リクエスト通知処理部２５は受け取ったコマンドをディスクアレイコントローラ２３に渡し、生成するリクエストがないので、そのままリクエスト生成処理を終了する。なお、この後ディスクアレイコントローラ２３は、上述した図５に示されるように、ディスクアレイ部３０からコマンドに含まれるアクセス先アドレスに基づいて、ホストコンピュータ７０によって指定されたデータへのアクセス処理を行い、その結果をホストコンピュータ７０に返す処理を行う。
【００７１】
また、図７では、ホストコンピュータ７０からのコマンドを受信し、そのコマンドの内容に応じてリクエストを生成する場合について説明したが、一次記憶装置１０によるリクエスト生成はこの場合に限られるものではない。たとえば、階層管理サーバ６０からコマンドを受信した場合にもリクエストが生成されるし、データ管理システムの起動時に、ディスクアレイ制御部２０がデータ管理システムの構成情報などを自発的に取得する必要がある際に、その情報を取得するコマンドを要求する場合にもリクエスト生成部５３によってリクエストが生成される。
【００７２】
最後に、この発明にかかるデータ管理システムにおける一次記憶装置１０から階層管理サーバ６０へのコマンド発行の処理手順の一例を、図８のフローチャートを参照しながら説明する。最初に、階層管理サーバ６０のポーリング処理部６２は、上述したように状態確認メッセージを、ホストバスアダプタ６１を介して一次記憶装置１０に対して送信する（ステップＳ７１）。一次記憶装置１０のディスクアレイ制御部２０の第１のチャンネルアダプタ２１は、階層管理サーバ６０から状態確認メッセージを受信すると（ステップＳ７２）、コマンド応答処理部５５に受信した状態確認メッセージを渡す。コマンド応答処理部５５は、生成リクエスト格納部５４にリクエストが格納されているか否かを判定する（ステップＳ７３）。
【００７３】
生成リクエスト格納部５４にリクエストが格納されていない場合（ステップＳ７３でＮｏの場合）には、コマンド応答処理部５５は、状態確認メッセージを受信してから所定時間経過したか否かをさらに判定し（ステップＳ７４）、所定時間が経過していない場合（ステップＳ７４でＮｏの場合）にはステップＳ７３へと戻る。この所定時間は、階層管理サーバ６０によって一次記憶装置１０が何らかの障害が発生したと判断される基準となる時間よりも短い時間に設定される。また、状態確認メッセージを受信してから所定時間が経過した場合（ステップＳ７４でＹｅｓの場合）には、状態確認メッセージに対する応答メッセージを第１のチャンネルアダプタ２１を介して階層管理サーバ６０に送信し（ステップＳ７５）、一次記憶装置１０でのリクエストが格納されていない場合のコマンド発行処理は終了する。
【００７４】
また、ステップＳ７３で生成リクエスト格納部５４にリクエストが格納されている場合（ステップＳ７３でＹｅｓの場合）には、コマンド応答処理部５５は、生成リクエスト格納部５４に格納されているリクエストを、状態確認メッセージに対する応答メッセージに添付して、すぐに第１のチャンネルアダプタ２１を介して階層管理サーバ６０に送信する（ステップＳ７６）。また、このときコマンド応答処理部５５は、応答メッセージに添付したリクエストを、生成リクエスト格納部５４から削除し（ステップＳ７７）、通知済リクエスト格納部５６に格納する（ステップＳ７８）。
【００７５】
階層管理サーバ６０はホストバスアダプタ６１を介して応答メッセージを受信すると（ステップＳ７９）、メッセージ処理部６３に受信した応答メッセージを渡す。メッセージ処理部６３は、応答メッセージにリクエストが添付されているか否かを判定する（ステップＳ８０）。
【００７６】
応答メッセージにリクエストが添付されている場合（ステップＳ８０でＹｅｓの場合）には、メッセージ処理部６３は、添付されているリクエストに基づいてコマンドを作成し、その作成したコマンドを受信メッセージ格納部６４に格納する（ステップＳ８１）。その後、コマンド送信部６５は、受信メッセージ格納部６４に格納されているコマンドを、ホストバスアダプタ６１を介して一次記憶装置１０に対して送信し（ステップＳ８２）、リクエストが添付されている場合の階層管理サーバ６０におけるコマンド発行処理が終了する。
【００７７】
一次記憶装置１０は、コマンドを受信すると（ステップＳ８３）、ディスクアレイコントローラ２３にコマンドを渡して実行する（ステップＳ８４）。また、ディスクアレイ制御部２０のリクエスト通知処理部２５の実行コマンド確認部５７は、ディスクアレイコントローラ２３によって実行されたコマンドを監視し、実行されたコマンドが通知済リクエスト格納部５６に格納されているリクエストの内容に対応するものである場合に、通知済リクエスト格納部５６から該当するリクエストを削除し（ステップＳ８５）、リクエストが格納されている場合の一次記憶装置１０によるコマンド発行処理が終了する。なお、ステップＳ８１〜Ｓ８５で実行されるコマンドは、図６に示されるポーリング処理のバックグラウンドで実行される。
【００７８】
また、階層管理サーバ６０におけるステップＳ８０での処理で、応答メッセージにリクエストが添付されていない場合（ステップＳ８０でＮｏの場合）には、メッセージ処理部６３は、一次記憶装置１０が通常の状態にあり、要求する処理がないことを認識し、リクエストが添付されていない場合の階層管理サーバ６０におけるコマンド発行処理が終了する。
【００７９】
なお、以上のターゲット側からイニシエータ側へのコマンド発行方法は、その処理手順を格納したプログラムをコンピュータに読み取り可能な記憶媒体に記憶しておくことができ、ディスクアレイ装置内のプログラムの処理機能を有する演算処理部がそのプログラムを読み出して実行することによって実現することができる。たとえば、このコマンド発行プログラムは、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk - Read Only Memory）、光磁気ディスク、ＤＶＤ（Digital Versatile Disk）、ＩＣ（Integrated Circuit）カードなどの可搬型記憶媒体の他に、コンピュータの内外に備えられるハードディスクドライブや、ＲＡＭ（Random Access Memory）、ＲＯＭなどの固定型記憶媒体、さらにモデムを介して接続される公衆回線や、ＬＡＮ（Local Area Network）／ＷＡＮ（Wide Area Network）などのように、プログラムの送信に際して短期にプログラムを保持する通信媒体などを含むものである。
【００８０】
上述してきたように、本実施例では、ターゲット機能しか持たないチャンネルアダプタを有する一次記憶装置１０と、イニシエータ機能しか持たないホストバスアダプタ６１を有するサーバ装置（階層管理サーバ６０）とを用いても、双方向に情報のやり取り、より具体的にはコマンドの発行を行うことが可能なデータ管理システムを構築することができる。これにより、ターゲット機能を有するディスクアレイ制御部２０で実行したいコマンドを、ほぼリアルタイムにサーバ装置側に伝えて確実に実行することが可能となる。
【００８１】
また、実際の運用にあたっては、従来から使用されていたターゲット機能しか持たない一次記憶装置１０のチャンネルアダプタの機能を一部変更するだけで、双方向のデータ通信ができるようになるとともに、一次記憶装置１０よりも記憶容量の大きい二次記憶装置４０とサーバ装置（階層管理サーバ６０）とを組み合わせてさらに大記憶容量のデータ管理システムを構築する場合に、既存の資源を有効利用することができる。これにより、双方向のデータ通信ができるように、一次記憶装置１０のディスクアレイ制御部２０と階層管理サーバ６０の双方のアダプタにイニシエータ機能とターゲット機能を併せ持たせる必要がなくなる。その結果、双方のアダプタにイニシエータ機能とターゲット機能を持たせる場合にかかる費用に比しても、本実施例のターゲット機能を有する側のディスクアレイ制御部２０の一部の仕様の変更のみで済むので、コストを抑えることができるという効果も有する。
【００８２】
（付記１）命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置と、命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置とが通信回線を介して接続されたシステムにおけるターゲット側からイニシエータ側へのコマンド発行方法であって、
前記情報処理装置は、前記ディスクアレイ装置に、装置状態を確認するための状態確認メッセージを送信するポーリング工程と、
前記ディスクアレイ装置は、前記状態確認メッセージを受信すると、実行したい処理のコマンドを要求するリクエストを前記状態確認メッセージに対する応答メッセージに添付して前記情報処理装置へ送信するリクエスト添付工程と、
前記情報処理装置は、前記応答メッセージに添付されているリクエストに基づくコマンドを生成して前記ディスクアレイ装置に対して送信するコマンド送信工程と、
を含むことを特徴とするターゲット側からイニシエータ側へのコマンド発行方法。
【００８３】
（付記２）前記リクエスト添付工程で、前記ディスクアレイ装置は、前記状態確認メッセージの受信時に実行したい処理のコマンドを要求するリクエストがない場合に、所定の時間待ち状態となり、その時間内に実行したい処理のコマンドを要求するリクエストが発生した場合に、該リクエストを前記応答メッセージに添付して前記情報処理装置へ送信することを特徴とする付記１に記載のターゲット側からイニシエータ側へのコマンド発行方法。
【００８４】
（付記３）前記ディスクアレイ装置は、自装置内で実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成工程をさらに含むことを特徴とする付記１または２に記載のターゲット側からイニシエータ側へのコマンド発行方法。
【００８５】
（付記４）命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置に通信回線を介して接続され、命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置において、
実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成手段と、
前記生成したリクエストを、前記情報処理装置からポーリングされる状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理手段と、
を備えることを特徴とするディスクアレイ装置。
【００８６】
（付記５）前記コマンド応答処理手段によって前記応答メッセージに添付されたリクエストを格納する通知済みリクエスト格納手段と、
前記情報処理装置からのコマンドを監視し、前記コマンドが前記通知済みリクエスト格納手段に格納されているリクエストに対応する場合に、そのリクエストを前記通知済みリクエスト格納手段から削除する実行コマンド確認手段と、
をさらに備えることを特徴とする付記４に記載のディスクアレイ装置。
【００８７】
（付記６）前記リクエスト生成手段によって生成されたリクエストを格納する生成リクエスト格納手段と、
前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されている場合に、前記リクエストを添付した前記応答メッセージをすぐに送信することを特徴とする付記４に記載のディスクアレイ装置。
【００８８】
（付記７）前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されていない場合に、前記状態確認メッセージを受信してから前記情報処理装置がタイムアウトを検出するよりも短い所定の時間待ち状態とし、その間に前記生成リクエスト格納手段にリクエストが格納された場合には該リクエストを添付した前記応答メッセージをすぐに送信し、前記所定の時間内に前記リクエスト格納手段にリクエストが格納されない場合には、前記所定の時間経過後にリクエストを添付しない前記応答メッセージを送信することを特徴とする付記５または６に記載のディスクアレイ装置。
【００８９】
（付記８）命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置に通信回線を介して接続され、前記ディスクアレイ装置に対して命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置において、
前記ディスクアレイ装置の状態を確認する状態確認メッセージを送信するポーリング処理手段と、
前記状態確認メッセージに対する前記ディスクアレイ装置の応答メッセージに、前記ディスクアレイ装置の実行したいリクエストが添付されている場合に、そのリクエストに対応するコマンドを生成するメッセージ処理手段と、
前記メッセージ処理手段によって生成されたコマンドを前記ディスクアレイ装置に送信するコマンド送信手段と、
を備えることを特徴とする情報処理装置。
【００９０】
（付記９）複数の磁気ディスク装置からなるディスクアレイ部と、このディスクアレイ部を制御するディスクアレイ制御部とを有し、ホストコンピュータに接続される一次記憶装置と、
前記一次記憶装置よりも記憶容量の大きい二次記憶装置と、
前記一次記憶装置と前記二次記憶装置との間に配置され、前記二次記憶装置に格納されるデータから所定の基準によって選択されるデータを前記一次記憶装置に格納するデータの階層管理を行う階層管理サーバと、
を備え、前記一次記憶装置は命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有し、前記階層管理サーバは命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有するデータ管理システムであって、
前記一次記憶装置は、
実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成手段と、
前記生成したリクエストを、前記階層管理サーバから送信される状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理手段と、
を備え、
前記階層管理サーバは、
前記一次記憶装置の状態を確認する状態確認メッセージを送信するポーリング処理手段と、
前記応答メッセージにリクエストが添付されている場合に、そのリクエストに対応するコマンドを生成するメッセージ処理手段と、
前記メッセージ処理手段によって生成されたコマンドを前記一次記憶装置に送信するコマンド送信手段と、
を備えることを特徴とするデータ管理システム。
【００９１】
（付記１０）前記一時記憶装置は、
前記リクエスト生成手段によって生成されたリクエストを格納する生成リクエスト格納手段と、
前記コマンド応答処理手段によって前記応答メッセージに添付されたリクエストを格納する通知済みリクエスト格納手段と、
前記階層管理サーバからのコマンドを監視し、前記コマンドが前記通知済みリクエスト格納手段に格納されているリクエストに対応する場合に、そのリクエストを前記通知済みリクエスト格納手段から削除する実行コマンド確認手段と、
をさらに備えることを特徴とする付記９に記載のデータ管理システム。
【００９２】
（付記１１）前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されている場合に、前記リクエストを添付した前記状態確認メッセージに対する応答メッセージをすぐに送信することを特徴とする付記１０に記載のデータ管理システム。
【００９３】
（付記１２）前記コマンド応答処理手段は、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されていない場合に、前記状態確認メッセージを受信してから前記階層管理サーバがタイムアウトを検出するよりも短い所定の時間待ち状態とし、その間に前記生成リクエスト格納手段にリクエストが格納された場合には該リクエストを添付した前記応答メッセージをすぐに送信し、前記所定の時間内に前記リクエスト格納手段にリクエストが格納されない場合には、リクエストを添付しない前記応答メッセージを送信することを特徴とする付記１０または１１に記載のデータ管理システム。
【００９４】
（付記１３）前記一時記憶装置では、
前記ディスクアレイ部に格納されるデータの前記二次記憶装置内での格納位置である格納データ情報を格納する格納データ情報格納手段と、
受信したコマンドに含まれるアクセス先アドレスが前記ディスクアレイ部に格納されるデータか否かを前記格納データ情報に基づいて判定するアドレス確認手段と、
をさらに備え、
前記リクエスト生成手段は、前記アドレス確認手段によって前記アクセス先アドレスが前記ディスクアレイ部にない場合に、前記アクセス先アドレスが含まれるデータを前記二次記憶装置から抽出して前記ディスクアレイ部にコピーするリクエストを生成することを特徴とする付記９〜１２のいずれか１つに記載のデータ管理システム。
【００９５】
（付記１４）命令を発行するイニシエータ機能のみを備えるホストバスアダプタを有する情報処理装置に通信回線を介して接続され、命令を受け取り実行するターゲット機能のみを備えるディスクアレイ装置のチャンネルアダプタにおけるコマンド発行プログラムであって、
前記チャンネルアダプタに、
実行したい処理が発生すると、その処理を実行するリクエストを生成するリクエスト生成工程と、
前記生成したリクエストを、前記情報処理装置からポーリングされる状態確認メッセージに対する応答メッセージに添付して送信するコマンド応答処理工程と、
を実行させることを特徴とするコマンド発行プログラム。
【００９６】
（付記１５）前記コマンド応答処理工程では、前記ディスクアレイ装置の通知済みリクエスト格納手段に前記応答メッセージに添付したリクエストを格納する処理をさらに行い、
前記情報処理装置から送信されるコマンドを監視し、前記コマンドが前記通知済みリクエスト格納手段に格納されているリクエストに対応する場合に、そのリクエストを前記通知済みリクエスト格納手段から削除する実行コマンド確認工程をさらに実行させることを特徴とする付記１４に記載のコマンド発行プログラム。
【００９７】
（付記１６）前記リクエスト生成工程では、前記ディスクアレイ装置の生成リクエスト格納手段に前記生成したリクエストを格納する処理をさらに行い、
前記コマンド応答処理工程では、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されている場合に、前記リクエストを添付した前記応答メッセージをすぐに送信することを特徴とする付記１４に記載のコマンド発行プログラム。
【００９８】
（付記１７）前記リクエスト生成工程では、前記ディスクアレイ装置の生成リクエスト格納手段に前記生成したリクエストを格納する処理をさらに行い、
前記コマンド応答処理工程では、前記状態確認メッセージの受信時に前記生成リクエスト格納手段にリクエストが格納されていない場合に、前記状態確認メッセージを受信してから前記情報処理装置がタイムアウトを検出するよりも短い所定の時間待ち状態とし、その間に前記生成リクエスト格納手段にリクエストが格納された場合には該リクエストを添付した応答メッセージをすぐに送信し、前記所定の時間内に前記リクエスト格納手段にリクエストが格納されない場合には、前記所定の時間の経過後にリクエストを添付しない前記応答メッセージを送信することを特徴とする付記１４に記載のコマンド発行プログラム。
【００９９】
（付記１８）命令を受け取り実行するターゲット機能のみを備えるチャンネルアダプタを有するディスクアレイ装置に通信回線を介して接続され、前記ディスクアレイ装置に対して命令を発行するイニシエータ機能のみを備える情報処理装置のホストバスアダプタにおけるコマンド発行プログラムであって、
前記ホストバスアダプタに、
前記ディスクアレイ装置の状態を確認する状態確認メッセージを送信するポーリング処理工程と、
前記状態確認メッセージに対する前記ディスクアレイ装置の応答メッセージに、前記ディスクアレイ装置の実行したいリクエストが添付されている場合に、そのリクエストに対応するコマンドを生成するメッセージ処理工程と、
前記メッセージ処理工程で生成されたコマンドを前記ディスクアレイ装置に送信するコマンド送信工程と、
を実行させることを特徴とするコマンド発行プログラム。
【産業上の利用可能性】
【０１００】
以上のように、本発明にかかるデータ管理システムは、従来から使用していたターゲット機能のみを有する記憶装置とこの記憶装置を管理するイニシエータ機能のみを有する情報処理装置との間で、双方向に通信を行いたい場合に有用であり、特に、ターゲット機能のみしか有さない記憶装置側で実行したい処理内容を、イニシエータ機能のみを有する情報処理装置側に伝えてその処理を実行させる場合に適している。
【図面の簡単な説明】
【０１０１】
【図１】本発明によるデータ管理システムの概略構成を示すブロック図である。
【図２】一次記憶装置の概略構成を示すブロック図である。
【図３】ディスクアレイ制御部のリクエスト通知処理部の機能構成を模式的に示すブロック図である。
【図４】階層管理サーバの概略構成を示すブロック図である。
【図５】コマンドの実行処理の一例を示すフローチャートである。
【図６】ポーリング処理の一例を示すフローチャートである。
【図７】リクエスト生成処理の一例を示すフローチャートである。
【図８】データ管理システムにおけるコマンド発行の手順の一例を示すフローチャートである。
【図９】従来のディスクアレイ装置の概略構成を示すブロック図である。
【符号の説明】
【０１０２】
１０    一次記憶装置
２０    ディスクアレイ制御部
２１    第１のチャンネルアダプタ
２２    第２のチャンネルアダプタ
２３    ディスクアレイコントローラ
２４    デバイスアダプタ
２５    リクエスト通知処理部
３０    ディスクアレイ部
３１ａ〜３１ｘ    磁気ディスク装置
４０    二次記憶装置
５１    格納データ情報格納部
５２    アドレス確認部
５３    リクエスト生成部
５４    生成リクエスト格納部
５５    コマンド処理応答部
５６    通知済リクエスト格納部
５７    実行コマンド確認部
６０    階層管理サーバ
６１    ホストバスアダプタ
６２    ポーリング処理部
６３    メッセージ処理部
６４    受信メッセージ格納部
６５    コマンド送信部
６６    管理処理部
６７    制御部
７０    ホストコンピュータ
【図１】
2006146713.tif 000003
【図２】
2006146713.tif 000004
【図３】
2006146713.tif 000005
【図４】
2006146713.tif 000006
【図５】
2006146713.tif 000007
【図６】
2006146713.tif 000008
【図７】
2006146713.tif 000009
【図８】
2006146713.tif 000010
【図９】
2006146713.tif 000011