(57)【特許請求の範囲】
【請求項１】
複数の物理記憶装置から構成される論理記憶装置を提供するストレージシステムに接続された計算機が、前記ストレージシステムの前記論理記憶装置からデータを読み出す方法であって、
前記ストレージシステムは、前記複数の物理記憶装置から構成される複数の論理記憶装置を提供し、
前記計算機は、前記ストレージシステムが提供する複数の論理記憶装置を、まとめて論理ボリュームとして管理し、
前記計算機は、所定の条件が成立したときに、前記ストレージシステムの前記物理記憶装置のアドレスと、前記論理記憶装置のアドレスの対応関係を示す第１のマッピング情報を取得するステップと、
前記計算機は、前記所定の条件が成立したときに、前記論理記憶装置のアドレスと前記論理ボリュームのアドレスとを対応付ける第３のマッピング情報を参照するステップと、
前記取得した第１のマッピング情報と前記第３のマッピング情報に基づいて、前記計算機が認識する前記論理ボリュームのアドレスと前記ストレージシステム内の複数の物理記憶装置のアドレスとを対応付ける第２のマッピング情報を構築するステップと、
前記計算機が、前記第２のマッピング情報に基づいて、前記複数の物理記憶装置ごとのキューを構築するステップと、
前記計算機が複数の読出し要求を受け付けたとき、前記第２のマッピング情報に基づいて前記複数の読出し要求に対応する前記物理記憶装置を特定し、前記特定した物理記憶装置ごとのキューに前記読出し要求を蓄積するステップと、
前記物理記憶装置ごとのキューに蓄積した複数の読出し要求を、前記物理記憶装置のデータ読出し時間を短縮する所定の順序で並べ替えた後に、前記キューから前記ストレージシステムに前記複数の読出し要求を発行するステップと、を含み、
前記所定の条件は、
所定の時間間隔の経過、または前記ストレージシステム内のデータの動的な移動に関する通知の受信であることを特徴とするデータ読出し方法。
【請求項２】
前記論理記憶装置のアドレスの対応関係を示す第１のマッピング情報を取得するステップは、
前記計算機が、前記第１のマッピング情報の取得要求を送信するステップと、
前記ストレージシステムが、前記計算機から前記第１のマッピング情報の取得要求を受け付けるステップと、
前記ストレージシステムが、前記取得要求に基づいて、前記計算機に前記第１のマッピング情報を送信するステップと、
を含むことを特徴とする請求項１に記載のデータ読出し方法。
【請求項３】
前記計算機と前記ストレージシステムとに接続され、前記第１のマッピング情報を有する第２の計算機をさらに備え、
前記計算機が、前記第１のマッピング情報の取得要求を送信するステップと、
前記第２の計算機が、前記計算機から前記第１のマッピング情報の取得要求を受け付けるステップと、
前記第２の計算機が、前記取得要求に基づいて、前記計算機に前記第１のマッピング情報を送信するステップと、
を含むことを特徴とする請求項１に記載のデータ読出し方法。
【請求項４】
前記所定の条件は、所定の時間間隔の経過であって、
前記計算機は、前記第１のマッピング情報を取得する前記所定の時間間隔の入力を受け付けるインタフェースを提供し、
前記インタフェースで受け付けた入力に基づいて、前記所定の時間間隔を設定することを特徴とする請求項１に記載のデータ読出し方法。
【請求項５】
前記論理記憶装置のアドレスの対応関係を示す第１のマッピング情報を取得するステップは、
前記計算機が、前記第１のマッピング情報の識別情報を取得し、前記取得した識別情報が前回に取得した識別情報と異なる場合に、前記第１のマッピング情報を取得することを特徴とする請求項１に記載のデータ読出し方法。
【請求項６】
前記論理記憶装置のアドレスの対応関係を示す第１のマッピング情報を取得するステップは、
前記計算機が、前記ストレージシステム内のデータの動的な移動に関する通知を受信したときには、前記データの動的な移動に関連する第１のマッピング情報を部分的に取得することを特徴とする請求項１に記載のデータ読出し方法。
【請求項７】
前記ストレージシステム内のデータの動的な移動に関する通知は、データの動的な移動の開始に関する通知と、データの動的な移動の完了に関する通知の何れか一方を含み、
前記キューから前記ストレージシステムに前記複数の読出し要求を発行するステップは、
前記計算機が、前記ストレージシステム内のデータの動的な移動の開始に関する通知を受けたときに、データ移動元及びデータ移動先の物理記憶装置に対応するキューに所定の数まで読出し要求を蓄積してから発行するよう設定するステップと、
前記データ移動元及びデータ移動先の物理記憶装置に格納されたデータへの複数の読出し要求を受け付けたとき、前記設定に基づいて、前記所定の数まで読出し要求を蓄積してから発行するステップと、
前記計算機がデータの動的な移動の完了に関する通知を受けたとき、前記設定を解除するステップと、
を含むことを特徴とする請求項１に記載のデータ読出し方法。
【請求項８】
前記計算機は、前記読出し要求を蓄積する所定の数の入力を受け付けるインタフェースを提供し、
前記インタフェースで受け付けた入力に基づいて、前記所定の数を設定することを特徴とする請求項７に記載のデータ読出し方法。
【請求項９】
前記ストレージシステム内のデータの動的な移動は、
前記データの配置換え、または、前記データの複製処理、または、障害が発生した物理記憶装置に格納されたデータの回復処理、の何れかであることを特徴とする請求項６または請求項７に記載のデータ読出し方法。
【請求項１０】
複数の物理記憶装置から構成される論理記憶装置を提供するストレージシステムと、
前記ストレージシステムに接続されて前記論理記憶装置からデータを読み出す計算機と、を備えたデータ管理システムであって、
前記ストレージシステムは、前記複数の物理記憶装置から構成される複数の論理記憶装置を提供し、
前記計算機は、
問合せを受け付け、前記問合せに応じたデータ読出し要求を生成する問合せ処理部と、
所定の条件が成立したときに、前記ストレージシステムの複数の物理記憶装置のアドレスと、前記論理記憶装置のアドレスとを対応付ける第１のマッピング情報を取得するマッピング管理部と、
前記問合せ処理部で生成された複数のデータ読出し要求を受け付け、前記論理記憶装置を介して、前記ストレージシステムの複数の物理記憶装置に格納されたデータを読出す要求を発行する読出し要求制御部と、
前記ストレージシステムが提供する複数の論理記憶装置を、まとめて論理ボリュームとして管理する論理ボリューム管理部と、
を備え、
前記マッピング管理部は、
所定の条件が成立したときに、前記論理記憶装置のアドレスと前記論理ボリュームのアドレスとを対応付ける第３のマッピング情報を参照し、前記取得した第１のマッピング情報と前記第３のマッピング情報に基づいて、前記計算機が認識する論理ボリュームのアドレスと前記ストレージシステムの複数の物理記憶装置のアドレスとを対応付ける第２のマッピング情報を構築し、
前記読出し要求制御部は、
前記マッピング管理部が構築した前記第２のマッピング情報に基づいて、前記複数の物理記憶装置ごとのキューを構築し、
前記問合せ処理部で生成された複数の読出し要求を受け付けたとき、前記第２のマッピング情報に基づいて、前記複数の読出し要求に対応する前記物理記憶装置を特定し、前記特定した物理記憶装置ごとのキューに前記読出し要求を蓄積し、
前記物理記憶装置ごとのキューに蓄積した複数の読出し要求を、前記物理記憶装置のデータ読出し時間を短縮する所定の順序で並べ替えた後に、前記キューから前記ストレージシステムに前記複数の読出し要求を発行し、
前記所定の条件は、
所定の時間間隔の経過、または前記ストレージシステム内のデータの動的な移動に関する通知の受信であることを特徴とするデータ管理システム。
【請求項１１】
前記マッピング管理部は、
前記ストレージシステムに対して前記第１のマッピング情報の取得要求を送信し、
前記ストレージシステムは、
前記取得要求を受け付けて、前記第１のマッピング情報を送信する制御部を備えたことを特徴とする請求項１０に記載のデータ管理システム。
【請求項１２】
前記計算機と前記ストレージシステムとに接続され、前記第１のマッピング情報を有する第２の計算機をさらに備え、
前記計算機のマッピング管理部が、
前記第１のマッピング情報の取得要求を送信し、
前記第２の計算機が、
前記計算機から前記第１のマッピング情報の取得要求を受け付けて、当該取得要求に基づいて前記計算機に前記第１のマッピング情報を送信することを特徴とする請求項１０に記載のデータ管理システム。
【請求項１３】
前記所定の条件は、所定の時間間隔の経過であって、
前記計算機は、前記第１のマッピング情報を取得する前記所定の時間間隔の入力を受け付けるインタフェースを提供し、
前記インタフェースで受け付けた入力に基づいて、前記所定の時間間隔を設定することを特徴とする請求項１０に記載のデータ管理システム。
【請求項１４】
前記マッピング管理部は、
前記第１のマッピング情報の識別情報を取得し、前記取得した識別情報が前回に取得した識別情報と異なる場合に、前記第１のマッピング情報を取得することを特徴とする請求項１０に記載のデータ管理システム。
【請求項１５】
前記マッピング管理部は、
前記ストレージシステム内のデータの動的な移動に関する通知を受信したときには、前記データの動的な移動に関連する第１のマッピング情報を部分的に取得することを特徴とする請求項１０に記載のデータ管理システム。
【請求項１６】
前記ストレージシステム内のデータの動的な移動に関する通知は、データの動的な移動開始に関する通知と、データの動的な移動完了に関する通知の何れか一方を含み、
前記読出し要求制御部は、
前記ストレージシステム内のデータの動的な移動の開始に関する通知を受けたときに、データ移動元及びデータ移動先の物理記憶装置に対応するキューに所定の数まで読出し要求を蓄積してから発行するよう設定し、
前記データ移動元及びデータ移動先の物理記憶装置に格納されたデータへの複数の読出し要求を受け付けたとき、前記設定に基づいて、前記所定の数まで読出し要求を蓄積してから発行し、
前記データの動的な移動の完了に関する通知を受けたとき、前記設定を解除することを特徴とする請求項１０に記載のデータ管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機がストレージシステムに格納されたデータを読み出す技術に関する。
【背景技術】
【０００２】
企業活動において、大量に生じる業務データの活用は不可欠になっている。そのため、大量の業務データをデータベース（以下、「ＤＢ」）に蓄積し、それを多次元的に解析するシステムが広く普及している。この解析処理において、データベース管理システム（以下、「ＤＢＭＳ」）は、問合せを受け付け、ＤＢを格納するストレージシステムに多重のデータ読出し要求を発行する。
【０００３】
多重のデータ読出し処理を効率的に実行する従来技術の一つにＩ／Ｏスケジューリング技術がある。Ｉ／Ｏスケジューリング技術とは、ＤＢＭＳなどのアプリケーションプログラム（以下、「ＡＰ」）もしくはオペレーティングシステム（以下、「ＯＳ」）がＩ／Ｏ要求をキューイングする。そして、キューイングした複数のＩ／Ｏ要求ごとにアクセス先の論理ブロックアドレス（以下、「ＬＢＡ」）を特定し、ストレージシステム内の物理ディスク装置のシーク時間または回転待ち時間が短くなるように出力順序を変更する技術である（非特許文献１参考）。
【非特許文献１】Daniel P. Bovet他著、「Understanding the LINUX KERNEL」 THIRD EDITION、O’REILLY社  刊、2005年11月  発行、第５８０頁〜５８３頁
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ストレージシステムやＯＳでは、記憶領域を仮想化する機能が一般的に用いられている。具体的に、ストレージシステムの仮想化機能としては、システム内の複数の物理ディスク装置を組み合わせて冗長化・高速化を実現するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）機能である。ＯＳの仮想化機能では、ＯＳが認識する記憶領域をまとめて論理的な記憶領域を構成したり、更新される前のデータを別の記憶領域に退避してある瞬間のバックアップであるスナップショットを実現したりする論理ボリューム管理機能である。
【０００５】
これらの仮想化機能では、内部的に動的なデータの移動が起こる。ストレージシステムのＲＡＩＤ機能では、データの鮮度や重要度に応じてデータ配置を動的に変更するデータライフサイクル管理に基づくデータ移動である。またＯＳの論理ボリューム管理機能では、更新前のデータを退避してスナップショットを維持するためのデータ移動である。このような仮想化機能での動的データ移動により、ＤＢＭＳなどのＡＰが認識する静的なデータ配置とは無関係に物理ディスク装置上でのデータ配置は変わりうる。
【０００６】
ここで、上記Ｉ／Ｏスケジューリング技術では、ＡＰやＯＳが認識する静的なデータ配置に基づいて読出し要求をキューイングし並べ替えて発行する。そのため本従来技術では、上記のような仮想化機能ごとの内部的な動的データ移動により生じるデータ配置において、物理ディスク装置ごとに最適な読出し要求とならない。つまり、ＡＰやＯＳがデータの配置を認識した後にデータの配置が変更されると、キューイングした読出し要求を並べ替えても、物理ディスク装置のヘッドのシーク時間やヘッドの回転待ち時間が短縮されない、という問題が生じていた。
【０００７】
本発明の目的は、ストレージシステムやＯＳの仮想化機能を利用することで、ストレージシステム内部の動的なデータ移動で生じるデータ配置の変更に係わらず、物理ディスク装置ごとに読出し要求を最適化するデータ読出し方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の代表的な一形態では、複数の物理記憶装置から構成される論理記憶装置を提供するストレージシステムに接続された計算機が、前記ストレージシステムの前記論理記憶装置からデータを読み出す方法であって、前記ストレージシステムは、前記複数の物理記憶装置から構成される複数の論理記憶装置を提供し、前記計算機は、前記ストレージシステムが提供する複数の論理記憶装置を、まとめて論理ボリュームとして管理し、前記計算機は、所定の条件が成立したときに、前記ストレージシステムの前記物理記憶装置のアドレスと、前記論理記憶装置のアドレスの対応関係を示す第１のマッピング情報を取得するステップと、前記計算機は、前記所定の条件が成立したときに、前記論理記憶装置のアドレスと前記論理ボリュームのアドレスとを対応付ける第３のマッピング情報を参照するステップと、前記取得した第１のマッピング情報と前記第３のマッピング情報に基づいて、前記計算機が認識する前記論理ボリュームのアドレスと前記ストレージシステム内の複数の物理記憶装置のアドレスとを対応付ける第２のマッピング情報を構築するステップと、前記計算機が、前記第２のマッピング情報に基づいて、前記複数の物理記憶装置ごとのキューを構築するステップと、前記計算機が複数の読出し要求を受け付けたとき、前記第２のマッピング情報に基づいて前記複数の読出し要求に対応する前記物理記憶装置を特定し、前記特定した物理記憶装置ごとのキューに前記読出し要求を蓄積するステップと、前記物理記憶装置ごとのキューに蓄積した複数の読出し要求を、前記物理記憶装置のデータ読出し時間を短縮する所定の順序で並べ替えた後に、前記キューから前記ストレージシステムに前記複数の読出し要求を発行するステップと、を含み、前記所定の条件は、所定の時間間隔の経過したとき、または前記ストレージシステム内のデータの動的な移動に関する通知の受信である。
【発明の効果】
【０００９】
したがって、本発明によれば、ストレージシステム内でデータの物理的な位置が動的に変更されても、物理的な位置を変更した後のデータ配置に応じた最適なデータ読出し要求を発行でき、ストレージシステムへのデータの問合せ時間の短縮化及び安定化を図ることができる。
【発明を実施するための最良の形態】
【００１０】
以下に図面を参照しながら本発明の実施の形態を説明する。なお、以下の説明により本発明が限定されるものではない。
【００１１】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の情報処理システムのハードウェア構成を示すブロック図である。
【００１２】
図１の情報処理システムは、ホスト１、ストレージシステム２、管理端末３、ネットワーク４、及びネットワーク５を備える。
【００１３】
ホスト１は、パーソナルコンピュータ、ワークステーション、メインフレームなどの計算機である。ホスト１では、その計算機の種類に応じたオペレーティングシステム（以下、「ＯＳ」）と、業務データを蓄積し管理するデータベース管理システム（以下、「ＤＢＭＳ」）、及びＤＢＭＳに問合せを発行するアプリケーションプログラム（以下、「ＡＰ」）が動作する。ＯＳ、ＤＢＭＳ及びＡＰについては、図２にて後述する。
【００１４】
ホスト１は、プロセッサ１０、メモリ１１、ローカル記憶装置１２、ホストバスアダプタ１３、及びネットワークアダプタ１４を備える。
【００１５】
プロセッサ１０は、ＯＳ、ＤＢＭＳ、及びＡＰなどのプログラムを実行する。メモリ１１は、プロセッサ１０によって実行されるプログラム、及びプログラムが使用するデータを一時的に格納する。ローカル記憶装置１２は、ＡＰやＤＢＭＳなどのプログラム、及びプログラムが使用するデータを格納する。ホストバスアダプタ１３は、ネットワーク４とホスト１とを接続する。ネットワークアダプタ１４は、ネットワーク５とホスト１とを接続する。
【００１６】
なお、ホスト１は、冗長性確保のため、プロセッサ１０などの構成を複数備えていてもよい。また、ホスト１は図示しない入力装置と表示装置を備える。
【００１７】
ストレージシステム２は、ディスク装置などの単体の記憶装置、又は、ディスクアレイなどのように複数の記憶装置を備えるシステムである。また、ストレージシステム２は、ホスト１が使用するデータ及びプログラムを格納する。そして、ホスト１からの入出力（以下、「Ｉ／Ｏ」）処理要求を受信し、Ｉ／Ｏ処理要求に対応した処理を実行し、処理結果をホスト１に送信する。
【００１８】
ストレージシステム２は、制御装置２０、接続インタフェース２７、及び物理記憶装置２８ａ〜２８ｅを備える。なお、以下の説明において、物理記憶装置２８ａ〜２８ｅの全体を指す場合には、物理記憶装置２８と表記する。
【００１９】
物理記憶装置２８は、ホスト１によって使用されるデータ及びプログラムを格納する。物理記憶装置２８は、不揮発性の記憶媒体であって、例えば磁気ディスクと磁気ヘッドによって構成されるハードディスクドライブなどで構成される。接続インタフェース２７は、物理記憶装置２８と制御装置２０とを相互に接続する。
【００２０】
制御装置２０は、ホスト１からのＩ／Ｏ処理要求の処理、及び物理記憶装置２８の制御を実行する。制御装置２０は、プロセッサ２１、不揮発性メモリ２４、キャッシュメモリ２６、物理記憶装置アダプタ２５、ネットワークアダプタ２２、及びネットワークアダプタ２３を備える。
【００２１】
プロセッサ２１は、所定のプログラムを実行する。不揮発性メモリ２４は、プロセッサによって実行されるプログラム、プログラムの実行に必要な情報、ストレージシステム２の設定情報及び構成情報を格納する。キャッシュメモリ２６は、ストレージシステム２にホスト１から入力されるデータ、又は、ストレージシステム２からホスト１に転送されるデータ、又は、ストレージシステム２内で入出力されるデータを一時的に格納する。
【００２２】
物理記憶装置アダプタ２５は、接続インタフェース２７を介して物理記憶装置２８と接続する。ネットワークアダプタ２２は、ストレージシステム２とネットワーク４とを接続する。ネットワークアダプタ２３は、ストレージシステム２とネットワーク５とを接続する。
【００２３】
なお、ストレージシステム２は、制御装置２０を複数備えていてもよい。また、ストレージシステム２は、冗長性を確保するために、不揮発性メモリ２４、キャッシュメモリ２６、物理記憶装置アダプタ２５、及び接続インタフェース２７などのシステム内の各構成を、２重化した冗長構成になっていてもよい。
【００２４】
管理端末３は、ストレージシステム２の構成の管理や、ホスト１及びホスト１で動作するプログラムを管理するために使用される計算機である。情報処理システムの管理者は、ストレージシステム２の構成管理、及びホスト１を管理する場合に、管理端末３に設定情報を入力する。管理端末３は、ネットワーク５を介してストレージシステム２及びホスト１に管理者が入力した内容を送信する。なお、ストレージシステム２を管理する計算機とホスト１を管理する計算機は別々であってもよい。
【００２５】
管理端末３は、図示していないが、ホスト１と同様、プロセッサ、メモリ、ローカル記憶装置、及びネットワークアダプタを備える。また、管理端末３は図示しない入力装置と表示装置を備える。
【００２６】
ネットワーク４は、ホスト１とストレージシステム２とを接続し、ホスト１からストレージシステム２にＩ／Ｏの処理要求などを伝送するために使用される。ネットワーク４には、光ファイバ及び銅線などが用いられる。また、ネットワーク４では、ファイバチャネル、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などの通信プロトコルが使用される。
【００２７】
ネットワーク５は、ホスト１、ストレージシステム２、及び管理端末３を接続する。ネットワーク５は、ストレージシステム２、ホスト１及び管理端末３の間で、ストレージシステム２の構成情報、及びホスト１の管理情報を通信するために使用される。ネットワーク５に使用されるケーブル及び通信プロトコルは、ネットワーク４と同一であっても良いし、あるいはネットワーク４と異なっていてもよい。
【００２８】
図２は、本発明の第１の実施の形態のホスト１及びストレージシステム２の論理的な構成を示すブロック図である。
【００２９】
ストレージシステム２は、単数又は複数の物理記憶装置２８（図２では点線で表示）を組み合わせ、冗長性を有するパリティグループ３０を構成する。パリティグループ３０は、ホスト１で使用されるデータを格納する物理記憶装置２８、及び、２つ以上の物理記憶装置２８の同じ位置にあるデータから作成されるパリティデータを格納する物理記憶装置２８の組である。
【００３０】
ストレージシステム２は、パリティグループ３０を構成することによって、物理記憶装置２８に障害が発生してもデータを復元可能なＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成を実現する。具体的には、パリティグループ３０内の１つの物理記憶装置２８が故障した場合であっても、故障していない残りの物理記憶装置２８に格納されたデータ及び対応するパリティデータによって、障害が発生した物理記憶装置２８に格納されたデータを復元することができる。
【００３１】
なお、パリティグループ３０のＲＡＩＤ構成は、物理記憶装置２８の内容を別の物理記憶装置２８に同時にコピーするミラーリング構成であってもよい。
【００３２】
ストレージシステム２は、ホスト１に対して、パリティグループ３０を構成する複数の物理記憶装置２８によって作成される記憶領域空間から、論理的な記憶領域を論理記憶装置３１として提供する。
【００３３】
データベース３５（以下、「ＤＢ３５」）は、後述するホスト１で動作するＤＢＭＳ４１によって管理されるデータであり、ホスト１で認識される論理記憶装置３１を介して複数の物理記憶装置２８に格納されている。ＤＢ３５は、複数の表や索引などから構成される。
【００３４】
制御装置２０は、ストレージシステム２の処理を制御するために、コマンド処理部３２及びデバイス管理部３３を構成するプログラムを不揮発性メモリ２４に有する。制御装置２０は、これらのプログラムをプロセッサ２１で実行することによって、以下に説明する処理を制御する。
【００３５】
制御装置２０は、ホスト１からのＩ／Ｏ処理要求を、ネットワークアダプタ２２を経由して受信すると、コマンド処理部３２を構成するプログラムを実行する。
【００３６】
コマンド処理部３２は、受信したＩ／Ｏ処理要求がデータの書込み処理要求の場合、ホスト１から転送されるデータをキャッシュメモリ２６又は物理記憶装置２８の所定の領域に書き込む処理などを実行する。
【００３７】
コマンド処理部３２は、データの読出し処理要求を受信した場合には、読出し処理要求に対応するデータを、キャッシュメモリ２６又は物理記憶装置２８の所定の領域から読み出してホスト１に転送する処理などを実行する。
【００３８】
また制御装置２０は、データの読出し又は書込み以外の処理要求を受信した場合にもコマンド処理部３２を動作させ、要求された処理を実行する。具体的には、ＳＣＳＩのＩｎｑｕｉｒｙコマンド（デバイスサーチを指示するコマンド）などである。
【００３９】
デバイス管理部３３を構成するプログラムは、ストレージマッピング情報３４を管理するために制御装置２０により実行される。ストレージマッピング情報３４は、論理記憶装置３１のアドレスと物理記憶装置２８のアドレスとの対応関係を示すマッピング情報で構成される。ストレージマッピング情報３４の詳細は、図４にて後述する。
【００４０】
制御装置２０は、デバイス管理部３３を動作させ、ホスト１や管理端末３からの要求に対応する。具体的には、管理端末３等からの要求に応じてデバイス管理部３３は論理記憶装置３１の定義や設定、ストレージマッピング情報３４の送信などを実行する。
【００４１】
また制御装置２０は、Ｉ／Ｏ処理を実行するために、デバイス管理部３３を構成するプログラムを実行する。デバイス管理部３３は、Ｉ／Ｏ処理要求が指定する領域の論理記憶装置３１のアドレスに対応する物理記憶装置２８のアドレスをストレージマッピング情報３４に基づいて計算する。そして、制御装置２０は、当該計算結果に基づいて物理記憶装置２８にアクセスする。
【００４２】
制御装置２０は、ストレージシステム２の内部で動的にデータを移動する場合に、コマンド処理部３２及びデバイス管理部３３を構成するプログラムを実行する。
【００４３】
動的なデータの移動処理として、データの鮮度や重要度に応じて動的にデータ配置を変更するデータライフサイクル管理に基づくデータの配置換え処理や、バックアップ作成のためのデータ複製処理や、障害が起きた物理記憶装置２８のデータの復元処理などが挙げられる。これら動的データ移動の多くは、ホスト１に意識されることなく、バックグラウンドで処理される。
【００４４】
制御装置２０は、所定の条件が成立したとき、条件に合致したストレージシステム２の内部のデータを動的に移動することを決定する。制御装置２０は、コマンド処理部３２を動作させ、移動元の物理記憶装置２８のデータをキャッシュメモリ２６に読み出し、読み出したデータを移動先の物理記憶装置２８に書き込む。また制御装置２０は、デバイス管理部３３を動作させ、データ移動に伴うストレージマッピング情報３４の変更を適用する。なお、制御装置２０は、データの移動中にも、移動対象を含む全てのデータについてＩ／Ｏ処理要求を受け付けることができる。
【００４５】
ホスト１は、ＯＳ４０と、ＤＢ３５を管理するＤＢＭＳ４１、及びＤＢＭＳ４１に問合せを発行するＡＰ４６の各種プログラム及びプログラムの実行に必要な情報をメモリ１１やローカル記憶装置１２に有する。なお、ＡＰ４６は、ＤＢＭＳ４１が動作するホスト１ではなく、ネットワーク５に接続される別の計算機で動作しても良い。その場合、ＤＢＭＳ４１は、ＡＰ４６からの問合せをネットワーク５経由で受け付ける。
【００４６】
ＯＳ４０は、メモリ１１やローカル記憶装置１２の管理など、計算機全体を制御する。またホスト１のＯＳ４０は、図２に示すように、ストレージシステム２から提供される２つの論理記憶装置３１の存在を認識する。
【００４７】
ＤＢＭＳ４１は、データマッピング管理部４４、問合せ処理部４２、読出し要求制御部４３から構成される。
【００４８】
データマッピング管理部４４は、論理物理マッピング情報４５を構築し、管理する。論理物理マッピング情報４５は、ＯＳ４０に認識される論理記憶装置３１のアドレスと、論理記憶装置３１を介してＤＢ３５を格納した物理記憶装置２８のアドレスとの対応関係を示す。論理物理マッピング情報４５の詳細は、図６にて後述する。
【００４９】
問合せ処理部４２は、ＡＰ４６から問合せを受け付け、受け付けた問合せに応じた複数のデータベース処理を実行し、実行結果をＡＰ４６に返す。問合せ処理部４２は、データベース処理の実行中において、ＤＢ３５からデータの読出しが必要になれば、データ読出し要求を読出し要求制御部４３に発行する。
【００５０】
読出し要求制御部４３は、問合せ処理部４２から複数のデータ読出し要求を受け付け、ＯＳ４０を介してストレージシステム２にデータ読出し要求を発行する。
【００５１】
なお、ＤＢＭＳ４１は、メモリ１１やローカル記憶装置１２の一部を利用して、データを一時的に格納するデータベースバッファ（以下、「ＤＢバッファ」）を構築することもできる。また、論理物理マッピング情報４５を有するデータマッピング管理部４４、及び読出し要求制御部は、ＤＢＭＳ４１内ではなくＯＳ４０内で動作してもよい。
【００５２】
以上が本発明の第１の実施の形態の構成である。以下、本発明の第１の実施の形態の処理について説明する。
【００５３】
まず、本発明の第１の実施の形態の処理概要について説明する。
【００５４】
ホスト１のデータマッピング管理部４４は、所定の時間間隔おきに、または、ストレージシステム２から内部のデータの動的な移動に関する通知を受けたときに、ストレージシステム２にストレージマッピング情報３４の取得要求を出し、ストレージマッピング情報３４を取得する。そして、データマッピング管理部４４はストレージシステム２から取得したストレージマッピング情報３４に基づき論理物理マッピング情報４５をホスト１に構築する。なお、データマッピング管理部４４は、構築した論理物理マッピング情報４５をホスト１のメモリ１１などに格納する。
【００５５】
読出し要求制御部４３は、論理物理マッピング情報４５に基づき、論理記憶装置３１を構築する複数の物理記憶装置２８ａ〜２８ｅのそれぞれに対応する複数のキュー４３１を構築し、管理する。図２において、キュー４３１は、ストレージシステム２の論理記憶装置３１を構成する５つの物理記憶装置２８ａ〜２８ｅに対応して、キュー４３１ａ〜４３１ｅを設定した例を示す。なお、これらのキュー４３１ａ〜４３１ｅは、例えば、メモリ１１などに格納することができる。
【００５６】
読出し要求制御部４３は、問合せ処理部４２から複数のデータ読出し要求を受け付けたときに、要求先に対応する物理記憶装置２８ごとのキュー４３１に蓄積する。そして、物理記憶装置２８ａ〜２８ｅごとのキュー４３１ａ〜４３１ｅに蓄積した複数の読出し要求を、当該物理記憶装置２８のデータ読出し時間の総和を短縮化する順序で並べ替えてストレージシステム２に発行する。すなわち、読出し要求制御部４３は、各キュー４３１ａ〜４３１ｅ毎に、論理物理マッピング情報４５を参照して、上記受け付けたデータ読出し要求のＯＳ４０が認識する論理アドレスを、ストレージシステム２が物理記憶装置２８ａ〜２８ｅ毎に管理する物理的なアドレス（例えば、ブロックアドレス）に変換する。そして、読出し要求制御部４３は、各キュー４３１ａ〜４３１ｅ毎のデータ読出し要求を、物理的なアドレスに基づいて並べ替えを行う。この物理的なアドレスに基づく並べ替えは、上記従来例のような公知または周知の手法を用いることができ、各物理記憶装置２８の磁気ヘッドのシーク時間が最短で、かつ、磁気ヘッドの回転待ち時間が最短となるようにデータ読出し要求を並べ替える。
【００５７】
これにより、ストレージシステム内部の動的なデータ移動で生じるデータ配置において、ＤＢＭＳ４１は、物理記憶装置２８ａ〜２８ｅごとにデータ読出し要求を最適化してから発行することができる。
【００５８】
以下、本発明の第１の実施の形態の処理及びデータ構造の詳細を説明する。
【００５９】
図３は、本発明の第１の実施の形態においてデータマッピング管理部４４が論理物理マッピング情報４５を構築する処理の手順を示すフローチャートである。
【００６０】
ＤＢＭＳ４１のデータマッピング管理部４４は、イベント（１）〜（３）のうち少なくとも１つが発生するのを待つ（Ｓ１）。ここで、イベント（１）とは、ＤＢＭＳ４１の起動である。イベント（２）とは、所定時間の経過である。イベント（３）とは、ストレージシステム２または管理端末３からストレージシステム内部の動的なデータ移動に関する通知の受信である。なお、イベント（２）の所定時間値は、メモリ１１もしくはローカル記憶装置１２に記憶される値であり、ＤＢＭＳ４１の管理者（以下、「ＤＢ管理者」）が管理端末３等から所望の値に設定することができる。
【００６１】
データマッピング管理部４４は、上記イベント（１）〜（３）のうちいずれかが発生した場合、どのイベントが発生したか判別する（Ｓ２）。すなわち、データマッピング管理部４４は所定の条件が成立するとＳ２へ処理を進める。
【００６２】
データマッピング管理部４４は、イベント（１）またはイベント（２）の発生を判別した場合（Ｓ２の結果が「Ｙ」）、ストレージシステム２にストレージマッピング情報３４の識別情報の取得要求を出す。ここで、ストレージマッピング情報３４の識別情報とは、最終更新日時情報、バージョン情報、チェックサム情報などである。これら識別情報は、ストレージマッピング情報３４が変更されると更新されるものである。なお、バージョン情報はストレージシステム２が管理するシリアル値などで構成することができる。
【００６３】
ストレージシステム２の制御装置２０は、ホスト１のＤＢＭＳ４１から要求を受け、ストレージマッピング情報３４の識別情報をホスト１に送信する。こうしてデータマッピング管理部４４は、ストレージマッピング情報３４の識別情報を取得する（Ｓ３）。
【００６４】
データマッピング管理部４４は、取得したストレージマッピング情報３４の識別情報と、メモリ１１もしくはローカル記憶装置１２に記憶していた直前回に取得した識別情報とが異なるか否かを判定する（Ｓ４）。データマッピング管理部４４は、この判定によりストレージマッピング情報３４に変更があったか否かを判断できる。なお、データマッピング管理部４４は、判定後、次回の判定に用いるためにストレージマッピング情報３４の識別情報をメモリ１１もしくはローカル記憶装置１２に記憶する。
【００６５】
データマッピング管理部４４は、ストレージマッピング情報３４の識別情報が直前回に取得した同情報と同じであると判定した場合（Ｓ４の結果が「Ｎ」）、ストレージマッピング情報３４に変更はなく、ストレージシステム２内部のデータ配置に変更なしと判断し、処理を終了する。なおこのとき、読出し要求制御部４３は、イベント（１）のＤＢ起動時であり、かつ物理記憶装置２８に対応するキュー４３１を構築していなければ、後述するＳ７の処理を実行し、物理記憶装置２８ごとにキュー４３１を構築することができる。
【００６６】
データマッピング管理部４４は、ストレージマッピング情報３４の識別情報が直前回に取得した同情報と異なると判定した場合（Ｓ４の結果が「Ｙ」）、ストレージシステム２にストレージマッピング情報３４全体の取得要求を発行する。ストレージシステム２の制御装置２０は、上記要求を受け、ストレージマッピング情報３４全体をホスト１に送信する。こうしてデータマッピング管理部４４は、更新されたストレージマッピング情報３４全体を取得する（Ｓ５）。なお、データマッピング管理部４４は、ストレージマッピング情報３４全体を一度に取得してもよいし、複数回に分けて取得してもよい。また、データマッピング管理部４４は、取得したストレージマッピング情報３４をメモリ１１やローカル記憶装置１２へ格納する。
【００６７】
データマッピング管理部４４は、イベント（３）の発生を判別した場合（Ｓ２の結果が「Ｎ」）、ストレージシステム２の内部のデータ移動元と移動先に関する情報を取得可能か否か判定する（Ｓ８）。具体的には、例えば、受信したデータ移動に関する通知に、データ移動元と移動先に関する情報が含まれるか否かを判定する。
【００６８】
データマッピング管理部４４は、データ移動元と移動先に関する情報を取得可能ではないと判定した場合（Ｓ８の結果が「Ｎ」）、Ｓ５の処理に進み、ストレージマッピング情報３４全体を取得する。
【００６９】
データマッピング管理部４４は、データ移動元と移動先に関する情報を取得可能であると判定した場合（Ｓ８の結果が「Ｙ」）、データ移動元と移動先に関する情報を取得する（Ｓ９）。例えば、受信したデータ移動に関する通知から、データ移動元及び移動先となる物理記憶装置２８の識別情報とアクセス先アドレス、移動するデータのサイズを含んだ情報を取得する。
【００７０】
続いてデータマッピング管理部４４は、取得したデータ移動元と移動先に関する情報に基づき、データ移動により変更される部分のストレージマッピング情報３４の取得要求をストレージシステム２へ発行する。部分的なストレージマッピング情報３４の取得要求には、例えば、物理記憶装置２８の識別情報や物理記憶装置２８のアドレス範囲を指定する。ストレージシステム２の制御装置２０は、上記要求を受け、要求に応じたストレージマッピング情報３４の部分的情報をホスト１に送信する。データマッピング管理部４４は、こうしてストレージマッピング情報３４のデータ移動に伴う変更部分を取得する（Ｓ１０）。なお、データマッピング管理部４４は、所望部分のストレージマッピング情報３４を一度に取得してもよいし、複数回に分けて取得してもよい。
【００７１】
データマッピング管理部４４は、Ｓ５またはＳ１０により取得したストレージマッピング情報３４に基づいて、ＤＢＭＳ４１からアクセスする論理記憶装置３１のアドレスと、ストレージシステム２内の物理記憶装置２８のアドレスとを対応付ける論理物理マッピング情報４５を構築する（Ｓ６）。データマッピング管理部４４は、Ｓ１０により部分的なストレージマッピング情報３４を取得した場合、論理物理マッピング情報４５の該当部分のみを更新する。
【００７２】
データマッピング管理部４４は、論理物理マッピング情報４５の更新を読出し要求制御部４３に通知する。読出し要求制御部４３は、論理物理マッピング情報４５に基づき、論理記憶装置３１を構築する複数の物理記憶装置２８ａ〜２８ｅに対応する複数のキュー４３１ａ〜４３１ｅを構築し、処理を終了する（Ｓ７）。読出し要求制御部４３は、Ｓ６で論理物理マッピング情報４５を部分的に変更した場合、変更に関連する物理記憶装置２８のキュー４３１のみ更新する。
【００７３】
なお、読出し要求制御部４３は、データ移動に関連する、既にキュー４３１に蓄積されているデータ読出し要求について、当該読出し要求の発行前であれば、移動元の物理記憶装置２８に対応するキュー４３１から読出し要求を取り出し、移動先の物理記憶装置２８に対応するキュー４３１に取り出した読出し要求を挿入しなおすことができる。
【００７４】
以上のようにデータマッピング管理部４４は、まず、ストレージシステム２のストレージマッピング情報３４の識別情報を読み込んで、メモリ１１等へ格納しておいた前回の識別情報と比較することで、ストレージシステム２にデータの更新または移動があったか否かを判定し、ストレージシステム２のデータ配置が更新されたときのみ、ストレージマッピング情報３４を取得する。これにより、ホスト１とストレージシステム２の間のデータ転送量が過大になるのを防ぐことができる。また、ストレージシステム２の内部でデータの移動があったときには、データマッピング管理部４４が変更された部分のストレージマッピング情報３４を取得する。これにより、上記と同様にホスト１とストレージシステム２間のデータ転送量が過大になるのを防ぐことができる。
【００７５】
図４は、本発明の第１の実施の形態のストレージマッピング情報３４の一例を示す図である。ストレージマッピング情報３４は、ホスト論理記憶装置番号４９、ホスト論理記憶装置内アドレス５０、論理記憶装置番号５１、論理記憶装置内アドレス５２、物理記憶装置番号５３、物理記憶装置内アドレス５４、及びパリティグループ番号５５を含む。
【００７６】
ホスト論理記憶装置番号４９は、ホスト１に提供される論理記憶装置３１を識別する番号である。ホスト論理記憶装置内アドレス５０は、ホスト論理記憶装置番号４９で特定される論理記憶装置３１内のアドレスであり、ホスト１からアクセスされる論理的なアドレスである。
【００７７】
論理記憶装置番号５１は、ホスト論理記憶装置番号４９で特定される論理記憶装置３１を、ストレージシステム２内で統一的に管理する番号である。論理記憶装置内アドレス５２は、論理記憶装置番号５１で特定される論理記憶装置３１内の、ストレージシステム２の内部的なアドレスである。
【００７８】
物理記憶装置番号５３は、論理記憶装置番号５１及び論理記憶装置内アドレス５２によって特定される論理的な記憶領域を構成する物理記憶装置２８の識別番号である。物理記憶装置内アドレス５４は、物理記憶装置番号５３で特定される物理記憶装置２８内のアドレスである。
【００７９】
パリティグループ番号５５は、物理記憶装置番号５３で特定される物理記憶装置２８が属するパリティグループ３０を識別する番号である。
【００８０】
上述のとおり、ストレージマッピング情報３４は、ホスト１に提供される論理記憶装置３１のアドレスと、論理記憶装置３１を構成する物理記憶装置２８のアドレスとの対応関係を格納する。
【００８１】
ここで、動的なデータ移動に伴うストレージマッピング情報３４の変更方法を説明する。図４ではレコード中の括弧内に変更内容の一例を示した。例えば、論理記憶装置番号「０１」、論理記憶装置内アドレス「６４Ｋ〜１２８Ｋ」、物理記憶装置番号「０１」、物理記憶装置内アドレス「０〜６４Ｋ」、パリティグループ番号「００」で示されるデータを、論理記憶装置番号「０３」、論理記憶装置内アドレス「６４Ｋ〜１２８Ｋ」、物理記憶装置番号「２０」、物理記憶装置内アドレス「６４Ｋ〜１２８Ｋ」、パリティグループ番号「０２」の記憶領域に内部的に移動するとする。デバイス管理部３３は、図４の上から２番目の該当レコードについて、論理記憶装置番号「０１」を「０３」に、論理記憶装置内アドレス「６４Ｋ〜１２８Ｋ」を「６４Ｋ〜１２８Ｋ」に、物理記憶装置番号「０１」を「２０」に、物理記憶装置内アドレス「０〜６４Ｋ」を「６４Ｋ〜１２８Ｋ」に、パリティグループ番号「００」を「０２」に変更する。このときデバイス管理部３３は、ホスト論理記憶装置番号４９とホスト論理記憶装置内アドレス５０は変更しない。この物理的なデータ移動が、ホスト１に意識されない、ストレージシステム２内部の動的な移動のためである。
【００８２】
図５は、本発明の第１の実施の形態の論理物理マッピング情報４５の一例を示す図である。ホスト１のＤＢＭＳ４１が保持する論理物理マッピング情報４５は、ホスト論理記憶装置番号５６、ホスト論理記憶装置内アドレス５７、物理記憶装置番号５８、及び物理記憶装置内アドレス５９を含む。
【００８３】
ホスト論理記憶装置番号５６は、ホスト１が認識する論理記憶装置３１をホスト１内で識別する番号である。本番号５６は、図４のストレージマッピング情報３４におけるホスト論理記憶装置番号４９に相当し、それと同じであってもよい。ホスト論理記憶装置内アドレス５７は、ホスト論理記憶装置番号５６によって特定される論理記憶装置３１のホスト１内におけるアドレスである。本アドレス５７は、図４のホスト論理記憶装置内アドレス５０に相当し、それと同じであってもよい。
【００８４】
物理記憶装置番号５８は、ホスト論理記憶装置番号５６及びホスト論理記憶装置内アドレス５７によって特定されるホスト１内の論理的な記憶領域を構成する物理記憶装置２８の識別番号であり、図４の物理記憶装置番号５３と同じである。物理記憶装置内アドレス５９は、先のホスト１内の論理的な記憶領域を構成する物理記憶装置２８内のアドレスであり、図４の物理記憶装置内アドレス５４と同じである。
【００８５】
このように、論理物理マッピング情報４５は、ホスト１内の論理記憶装置３１のアドレスと、論理記憶装置３１を構成する物理記憶装置２８のアドレスとの対応関係を格納する。
【００８６】
ここで、ＤＢＭＳ４１のデータマッピング管理部４４が、ストレージシステム２内の動的なデータ移動に伴い変更されたストレージマッピング情報３４を取得した場合の、論理物理マッピング情報４５の変更方法を簡単に述べる。例えば、図４のレコード中括弧内で示される変更があったストレージマッピング情報３４を取得した場合、図５のとおりレコード中の括弧内で示す変更を論理物理マッピング情報４５に適用する。したがって、ＤＢＭＳ４１は、ストレージシステム２内の動的なデータ移動に伴う物理的なデータ配置の変更を把握することができる。
【００８７】
図６は、本発明の第１の実施の形態のストレージマッピング情報３４の取得及び管理端末３等における表示画面の一例を示す図である。本画面は、ストレージシステム２のストレージマッピング情報３４を取得するためのユーザインタフェースであり、制御装置２０によりホスト１または管理端末３に表示される。なお、制御装置２０は、コマンドラインの形でストレージマッピング情報３４を取得するインタフェースを提供することも可能である。
【００８８】
管理端末３（またはホスト１）を操作するＤＢ管理者は、本画面を用いて、所望の条件を満たすストレージマッピング情報３４の取得要求をストレージシステム２に発行し、ＤＢＭＳ４１にストレージマッピング情報３４を取得させることができる。具体的には、チェックボックス６０を選択し、「取得」ボタンを操作することによって、ＤＢＭＳ４１はストレージマッピング情報３４の識別情報（例えば最終更新日時）を取得することができる。
【００８９】
また、ＤＢ管理者がチェックボックス６１を選択し、「取得」ボタンを操作することによって、ＤＢＭＳ４１はストレージマッピング情報３４の全体を取得することができる。
【００９０】
更に、ＤＢ管理者がチェックボックス６２を選択し、文字入力フィールド６３、６４、６５のいずれかに所望の値を入力し、「取得」ボタンを操作することによって、ＤＢＭＳ４１は入力値に応じたストレージマッピング情報３４を部分的に取得することができる。文字入力フィールド６３、６４、６５には、それぞれ所望のホスト論理記憶装置番号、物理記憶装置番号、論理記憶装置または物理記憶装置のアドレス範囲を入力する。ＤＢ管理者は、「クリア」ボタンを操作することで、入力途中の文字入力フィールド６３、６４、６５の値を削除することができる。
【００９１】
なお、制御装置２０は、取得されたストレージマッピング情報３４に関して表示部６６に表示してもよい。また、制御装置２０は、文字入力フィールド６３、６４、６５の他に、パリティグループ番号を入力させる文字入力フィールドを表示し、入力値に応じたストレージマッピング情報３４を送信することもできる。
【００９２】
図７は、本発明の第１の実施の形態のストレージマッピング情報３４の取得時間間隔の設定画面の一例を示す図である。本画面は、ストレージマッピング情報３４の取得時間間隔を設定するためのユーザインタフェースであり、ＤＢＭＳ４１によりホスト１または管理端末３に表示される。なお、ＤＢＭＳ４１は、コマンドラインの形でストレージマッピング情報３４の取得時間間隔を設定するインタフェースを提供することも可能である。
【００９３】
管理端末３（またはホスト１）を操作するＤＢ管理者は、文字入力フィールド６７に所望の時間値を入力し、「設定」ボタンを操作することによって、ＤＢＭＳ４１はストレージマッピング情報３４の取得時間間隔を入力時間値に設定する。なお、ＤＢＭＳ４１は、現在設定されているストレージマッピング情報３４の取得時間間隔を表示部６８に表示してもよい。
【００９４】
図８は、本発明の第１の実施の形態の問合せ処理部４２の処理手順を示すフローチャートである。この処理はＤＢＭＳ４１がＡＰ４６から問い合わせを受信したときに実行されるものである。
【００９５】
ＤＢＭＳ４１の問合せ処理部４２は、ＡＰ４６から問合せを受け付け（Ｓ１１）、受け付けた問合せに応じた複数（または単数）のデータベース処理を実行する（Ｓ１２）。ここで、ＡＰ４６からの問合せは、例えばＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）で行われる。
【００９６】
問合せ処理部４２は、データベース処理の実行中において、必要に応じてＤＢ３５のデータの取得要求を行う（Ｓ１３）。
【００９７】
問合せ処理部４２は、ＤＢバッファにアクセスし、過去にストレージシステム２から読み出されたデータが残っているなどの理由により、ＤＢバッファに要求対象のデータが存在しているか判定する（Ｓ１４）。
【００９８】
問合せ処理部４２は、ＤＢバッファに要求対象のデータが存在していると判定した場合（Ｓ１４の結果が「Ｙ」）、そのデータをＤＢバッファから取得し、データベース処理を実行する（Ｓ１８）。
【００９９】
問合せ処理部４２は、ＤＢバッファに要求対象のデータが存在していないと判定した場合（Ｓ１４の結果が「Ｎ」）、実行するデータベース処理自体の内容、または、問合せ応答に対する性能要件に基づき、問合せが即時応答の必要性があるか否かを判定する（Ｓ１５）。問合せ応答に対する性能要件として、具体的には、オンライントランザクション処理（ＯｎＬｉｎｅ  Ｔｒａｎｓａｃｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ：ＯＬＴＰ）であれば高い応答速度が要求され、オンライン分析処理（ＯｎＬｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ：ＯＬＡＰ）であれば応答速度は低くてもよい。
【０１００】
問合せ処理部４２は、問合せが即時応答の必要性がないと判定した場合（Ｓ１５の結果が「Ｎ」）、必要なデータの読出し要求を生成し、その読出し要求にキューイングフラグを設定する（Ｓ１６）。なお、読出し要求に付加するキューイングフラグは、この読出し要求をキュー４３１へ格納するための識別子である。問合せ処理部４２は、データ読出し要求を読出し要求制御部４３に発行し、読出し要求制御部４３によるデータ読出し要求発行処理を実行する（Ｓ１７）。データ読出し要求発行処理の詳細は、図９にて後述する。ここで、問い合わせ処理部４２が発行するデータ読出し要求には、ＤＢＭＳ４１からのアクセス先である論理記憶装置３１の識別番号とアドレスとが指定される。
【０１０１】
問合せ処理部４２は、問合せが即時応答の必要性があると判定した場合（Ｓ１５の結果が「Ｙ」）、キューイングフラグを設定せずデータ読出し要求を読出し要求制御部４３に発行する（Ｓ１７）。
【０１０２】
問合せ処理部４２は、ストレージシステム２からＯＳ４０を介して読出し要求で要求したデータが読み出されるまで待つ。問合せ処理部４２は、要求データが読み出されると、そのデータをＤＢバッファに格納して、データベース処理を実行する（Ｓ１８）。なお、問合せ処理部４２は、要求データの読出しを待つ間、Ｓ１２の処理に戻って別のデータベース処理を実行することもできる。
【０１０３】
そして、問合せ処理部４２は、受け付けた問合せに応じたデータベース処理を全て実行し終えたか判定する（Ｓ１９）。データベース処理がまだ残っている場合（Ｓ１９の結果が「Ｎ」）、Ｓ１２の処理に戻り、以降の処理を繰り返す。
【０１０４】
データベース処理を全て実行し終え、問合せ結果の生成が完了していると判定した場合（Ｓ１９の結果が「Ｙ」）、生成した問合せ結果をＡＰ４６に返し、処理を終了する（Ｓ２０）。
【０１０５】
上記処理では、ＤＢＭＳ４１が生成する読出し要求のうち、即時応答の必要がない読出し要求については、一旦キュー４３１へ格納してから読出し要求の処理を行い、即時応答の必要がある場合には、読出し要求をキュー４３１へ格納することなく処理することになる。
【０１０６】
図９は、本発明の第１の実施の形態のデータ読出し要求発行処理の手順を示すフローチャートである。このフローチャートは、図８のＳ１７で実行される処理である。
【０１０７】
ＤＢＭＳ４１の読出し要求制御部４３は、問合せ処理部４２からデータ読出し要求を受け付け（Ｓ２１）、その要求にキューイングフラグが設定されているか否かを判定する（Ｓ２２）。
【０１０８】
読出し要求制御部４３は、受け付けたデータ読出し要求にキューイングフラグが設定されていないと判定した場合（Ｓ２２の結果が「Ｎ」）、そのデータ読出し要求を、ＯＳシステムコールを用いて即時にストレージシステム２に発行し、処理を終了する（Ｓ２５）。
【０１０９】
読出し要求制御部４３は、受け付けたデータ読出し要求にキューイングフラグが設定されていると判定した場合（Ｓ２２の結果が「Ｙ」）、そのデータ読出し要求に指定された論理記憶装置３１の識別番号とアドレス、また論理物理マッピング情報４５とに基づいて、読出し要求先の物理記憶装置２８ａ〜２８ｅを判別する（Ｓ２３）。
【０１１０】
そして、読出し要求制御部４３は、判別した読出し要求先となる物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅにデータ読出し要求を挿入し、処理を終了する（Ｓ２４）。なお、挿入するキュー４３１内の位置は、任意の位置でよい。
【０１１１】
読出し要求制御部４３は、図９のデータ読出し要求発行処理を終えたら、問合せ処理部４２に処理を戻す。
【０１１２】
図１０は、本発明の第１の実施の形態の蓄積したデータ読出し要求の発行処理手順を示すフローチャートである。この処理は、読出し要求制御部４３が、所定の周期で実行する。
【０１１３】
読出し要求制御部４３は、複数の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅそれぞれについて、次の条件１または条件２のどちらかの条件が成立するのを待つ（Ｓ２６）。ここで、条件１とは、所定時間の経過である。条件２とは、キュー４３１内の読出し要求数の閾値超過である。なお、条件１、２の所定時間値および閾値は、メモリ１１もしくはローカル記憶装置１２に予め記憶される値であり、管理端末３等からＤＢ管理者が所望の値に設定することができる。
【０１１４】
読出し要求制御部４３は、ある物理記憶装置２８に対応するキュー４３１について上記条件１または条件２のどちらかが成立した場合、そのキュー４３１に存在する複数の読出し要求を、当該物理記憶装置２８のデータ読出し時間の総和を短縮化する順序で並べ替える（Ｓ２７）。具体的には、読出し要求に指定された論理記憶装置３１の識別番号とアドレス、また論理物理マッピング情報４５とに基づいて、読出し先となる物理記憶装置２８の物理的なアドレスを特定し、特定した物理的なアドレスを利用して当該キュー４３１内の複数の読出し要求を並び替える。なお、並べ替えの内容は上述のとおり公知または周知の手法を用いればよい。
【０１１５】
読出し要求制御部４３は、並び替えた複数の読出し要求を、当該キュー４３１から取り出して、ＯＳ４０を介してストレージシステム２に発行し、処理を終了する（Ｓ２８）。
【０１１６】
このように読出し要求制御部４３は、物理記憶装置２８ａ〜２８ｅごとに最適なデータ読出し要求を発行することができる。つまり、ＤＢＭＳ４１は、刻々と変わりうるストレージシステム２の物理データ配置においても、最適なデータ読出し要求を行うことができ、問合せ時間の短縮化及び安定化を実現可能である。
【０１１７】
ここで、Ｓ２７の要求並べ替え処理について簡単な具体例を用いて説明する。例えば、物理記憶装置２８ａに対応するキュー４３１ａに、読出し要求を受信した順に、当該物理記憶装置２８ａのアドレス「１」、「３」、「２」のそれぞれにアクセスする３つの読出し要求が蓄積されているとする。読出し要求制御部４３は、キュー４３１ａに対して、例えば、これら３つの要求をアドレス「１」、「２」、「３」の昇順に並び替える。そして並び替えた順に３つの要求をストレージシステム２へ発行することにより、物理記憶装置２８ａでは物理的に連続した領域に順にアクセスでき、当該物理記憶装置２８ａ（例えばハードディスクドライブ）のデータ読出しにかかる回転待ち時間及びシーク時間を最小化できる。
【０１１８】
図１１は、本発明の第１の実施の形態の動的データ移動開始または完了通知受付時における読出し要求発行条件の変更処理手順を示すフローチャートである。この処理は、ＤＢＭＳ４１のデータマッピング管理部４４で実行されるものである。
【０１１９】
なお、本処理の一部は、図３の論理物理マッピング情報構築処理のイベント（３）発生時における処理の一部と同じである。よって、本処理は、図３の論理物理マッピング情報構築処理のイベント（３）発生時の処理と並列に実行されてもよい。
【０１２０】
ＤＢＭＳ４１のデータマッピング管理部４４は、ストレージシステム２または管理端末３から、ストレージシステム２の内部の動的なデータ移動開始または移動完了に関する通知を受けると（Ｓ２９）、ストレージシステム２の内部の動的なデータ移動元と移動先に関する情報を取得可能か否か判定する（Ｓ３０）。
【０１２１】
データマッピング管理部４４は、データ移動元と移動先に関する情報を取得可能ではないと判定した場合（Ｓ３０の結果が「Ｎ」）、処理を終了する。
【０１２２】
データマッピング管理部４４は、データ移動元と移動先に関する情報を取得可能であると判定した場合（Ｓ３０の結果が「Ｙ」）、データ移動元と移動先に関する情報をストレージシステム２から取得する（Ｓ３１）。データマッピング管理部４４は、例えば、ストレージシステム２から受信したデータ移動開始に関する通知から、データ移動元及び移動先となる物理記憶装置２８の識別情報とアクセス先アドレス、移動するデータのサイズを含んだ情報を取得する。
【０１２３】
なお、Ｓ３０とＳ３１の処理は、図３の論理物理マッピング情報構築処理のイベント（３）発生時の処理Ｓ８とＳ９にそれぞれ対応する。
【０１２４】
データマッピング管理部４４は、受け付けた通知がデータ移動の開始に関するものか完了に関するものか判定する（Ｓ３２）。
【０１２５】
データマッピング管理部４４は、データ移動開始に関する通知であると判定した場合（Ｓ３２の結果が「Ｙ」）、読出し要求制御部４３に、データ移動元と移動先の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅの読出し要求の発行条件を変更するよう指示する。読出し要求制御部４３は、データマッピング管理部４４からの指示に従い、データ移動元と移動先の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅの読出し要求発行条件として以下の条件３を設定し、処理を終了する（Ｓ３４）。条件３とは、キュー４３１内の読出し要求数が所定値を超過した場合を示す。
【０１２６】
言い換えると、読出し要求制御部４３は、データ移動元と移動先の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅについてのみ、図１０の蓄積したデータ読出し要求の発行処理における要求発行条件である「条件１または条件２の成立」を解除し、「条件３」を新たに設定する。なお、条件３の所定値は、メモリ１１もしくはローカル記憶装置１２に記憶される値であり、ＤＢ管理者が所望の値に設定することができる。条件３の所定値は、条件２の閾値より大きい値に設定することができる。
【０１２７】
一方、データマッピング管理部４４は、ストレージシステム２から受け付けた通知が、データ移動完了に関する通知であると判定した場合（Ｓ３２の結果が「Ｎ」）、読出し要求制御部４３に、データ移動元と移動先の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅの要求発行条件を元に戻すよう指示する。読出し要求制御部４３は、データ移動元と移動先の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅの読出し要求発行条件として、図１０の「条件１または条件２の成立」を設定し、処理を終了する（Ｓ３３）。なお、読出し要求制御部４３は、データ移動完了に関する通知を受けなくとも、一定時間経過したらＳ３３の処理を行うこともできる。
【０１２８】
ここで、ストレージシステム２の内部の動的なデータ移動の種別とアクセス特性について説明する。動的なデータ移動処理の種別として、前述したとおり例えば、データの鮮度や重要度に応じて動的にデータ配置を変更するデータライフサイクル管理に基づくデータ配置換え処理や、バックアップ作成のためのデータ複製処理、障害が起きた物理記憶装置２８のデータの復元処理が挙げられる。これら動的なデータ移動のアクセス特性は、多くの場合、連続した物理領域にアクセスするシーケンシャル読出し及びシーケンシャル書込みとなる。
【０１２９】
図１１の読出し要求発行条件の変更処理によって、読出し要求制御部４３は、ストレージシステム２が動的データ移動の実行中に、ＤＢ管理者が許容できる所定値までデータ移動に関わる物理記憶装置２８へのデータ読出し要求を蓄積し、蓄積した要求をまとめて発行する。これにより、読出し要求制御部４３が要求を蓄積する間、シーケンシャルアクセスであるストレージシステム２内の動的データ移動を優先的に実行できる。また、蓄積した所定数の要求を最小のデータ読出し時間で実行できる。すなわち、図１１の処理により、動的なデータの移動中に、データ移動に関連する物理記憶装置２８ａ〜２８ｅのデータ読出し処理を最適化できる。
【０１３０】
図１２は、本発明の第１の実施の形態の要求キューイング数の設定画面の一例を示す図である。ここで要求キューイング数とは、図１１の読出し要求発行条件の変更処理における、条件３の所定値のことである。
【０１３１】
本画面は、要求キューイング数を設定するためのユーザインタフェースであり、ＤＢＭＳ４１によりホスト１または管理端末３に表示される。なお、ＤＢＭＳ４１は、コマンドラインの形で要求キューイング数を設定するインタフェースを提供することも可能である。
【０１３２】
管理端末３（またはホスト１）を操作するＤＢ管理者は、文字入力フィールド７０に所望の数値を入力し、「設定」ボタンを操作することによって、ＤＢＭＳ４１は要求キューイング数を入力値に設定する。
【０１３３】
なお、ＤＢＭＳ４１は、現在設定されている要求キューイング数を表示部７１に表示してもよい。また、ＤＢＭＳ４１は、要求キューイング数を設定した場合の機能又は効果を示すメッセージを、表示部７２に表示してもよい。例えば、図１２に示すように、機能として、ストレージシステム２内部の動的なデータ移動の実行中に要求キューイング数までデータ読出し要求を蓄積してからまとめて発行する旨を、効果として、シーケンシャルアクセスであるストレージシステム内部の動的データ移動を優先させ結果的にデータ読出し時間を短縮化できる旨を表示することができる。
【０１３４】
以上のように、本発明の第１の実施の形態によれば、ＤＢＭＳ４１が適宜ストレージマッピング情報３４をストレージシステム２から取得して、論理物理マッピング情報４５とストレージシステム２内の複数の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅとを構築する。そして、複数のデータ読出し要求を要求先の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅに蓄積し、これらの蓄積した複数の読出し要求を物理記憶装置２８ａ〜２８ｅごとのデータ読出し時間の総和を短縮化する順序で並べ替えてストレージシステム２に発行する。これにより、ストレージシステム２の内部で刻々と変わりうる物理データ配置に応じた最適なデータ読出し要求を行うことができ、問合せ時間の短縮化及び安定化を実現可能である。
【０１３５】
更に、本発明の第１の実施の形態によれば、複数の物理記憶装置２８ａ〜２８ｅに対応するキュー４３１ａ〜４３１ｅごとに独立した要求発行条件を設けているため、いくつかの物理記憶装置２８ａ〜２８ｅに負荷が集中しても他の物理記憶装置２８ａ〜２８ｅにも要求を発行でき、複数の物理記憶装置２８に対して負荷を分散することができる。
【０１３６】
（第２の実施の形態）
以下、本発明の第２の実施の形態を説明する。なお、第１の実施の形態との相違点を主に説明し、第１の実施の形態と同様の機能を果たす構成には同一の符号を付して重複する説明を適宜省略する。
【０１３７】
第１の実施の形態では、ストレージシステム２の内部で動的なデータ移動が行われる情報処理システムに本発明を適用する実施の形態について説明した。第２の実施の形態では、ストレージシステム２に加え、ホスト１のＯＳ４０の内部でも動的なデータ移動が行われる情報処理システムに本発明を適用する実施の形態について説明する。
【０１３８】
図１３は、本発明の第２の実施の形態のホスト１の論理的構成を示すブロック図である。第２の実施の形態における、情報処理システムのハードウェア構成及びストレージシステム２の論理的構成は、第１の実施の形態と同じである。このため、図１３においてストレージシステム２の図示は省略した。
【０１３９】
ホスト１は、第１の実施の形態の論理的構成に加え、ＯＳ４０が論理ボリューム管理機能８０を備える。
【０１４０】
論理ボリューム管理機能８０は、ＯＳ４０が認識する論理記憶装置３１をまとめて論理ボリューム８１として管理する機能である。論理ボリューム管理機能８０は、論理ボリューム８１を上位のＤＢＭＳ４１などに提供する。
【０１４１】
また、論理ボリューム管理機能８０は、複数の論理記憶装置３１から構成する論理ボリューム８１を、ある瞬間のバックアップであるスナップショットとして提供することもできる。その場合、論理ボリューム管理機能８０は、一方の論理記憶装置３１を現用の記憶装置（運用ボリューム）として用い、他方の論理記憶装置３１を運用ボリュームで更新されるデータを退避し格納する記憶装置（差分ボリューム）として用いる。そして、運用ボリュームと差分ボリュームのデータを組み合わせて論理ボリューム８１を構成することでスナップショットを実現する。
【０１４２】
論理ボリューム管理機能８０は、論理ボリューム８１を構成するために論理ボリュームマッピング情報８２を管理する。論理ボリュームマッピング情報８２は、論理ボリューム８１のアドレスとＯＳ４０が認識する論理記憶装置３１のアドレスとの対応関係を示す。論理ボリュームマッピング情報８２の詳細は、図１５にて後述する。
【０１４３】
論理ボリューム管理機能８０は、本機能の内部で動的にデータを移動することができる。動的なデータ移動処理として、例えば、データライフサイクル管理に基づくデータ配置換え処理や、スナップショットを維持するために更新されるデータを退避する処理などが挙げられる。これら動的データ移動の多くは、ＤＢＭＳ４１などの上位のＡＰに意識されることなく、バックグラウンドで処理される。
【０１４４】
論理ボリューム管理機能８０は、所定の条件が成立したとき、条件に合致した論理ボリューム８１内部のデータを動的に移動することを決定する。論理ボリューム管理機能８０は、移動元となる論理記憶装置３１内のデータをストレージシステム２から読み出し、読み出したデータを移動先となる論理記憶装置３１に書き込む。また論理ボリューム管理機能８０は、データ移動に伴う論理ボリュームマッピング情報８２の変更を適用する。なお、論理ボリューム管理機能８０は、データの移動中にも、移動対象を含む全てのデータについてＩ／Ｏ処理要求を受け付けることができる。
【０１４５】
本発明の第２の実施の形態では、ＤＢ３５は、論理ボリューム８１を介してストレージシステム２内の複数の物理記憶装置２８に格納されている。すなわち、ＤＢＭＳ４１の読出し要求制御部４３は、物理記憶装置２８に格納されたＤＢ３５へのデータ読出し要求を、論理ボリューム８１を介してストレージシステム２に発行する。
【０１４６】
また、本発明の第２の実施の形態では、論理物理マッピング情報４５は、ＤＢＭＳ４１からアクセスする論理ボリューム８１のアドレスと、論理記憶装置３１を介して論理ボリューム８１を構成するストレージシステム２の物理記憶装置２８のアドレスとの対応関係を格納する。
【０１４７】
なお、本発明の第２の実施の形態では、簡単のため、論理ボリューム８１を１つ記載しているが、１つ以上の論理記憶装置３１から構成される論理ボリューム８１はいくつあってもよい。
【０１４８】
以上、説明した構成に基づいて、本発明の第２の実施の形態の処理概要を説明する。
【０１４９】
データマッピング管理部４４は、所定の時間間隔おきに、ストレージシステム２からストレージマッピング情報３４を、また論理ボリューム管理機能８０から論理ボリュームマッピング情報８２を取得する。また、データマッピング管理部４４は、ストレージシステム２内部のデータの動的な移動に関する通知を受けたときに、ストレージマッピング情報３４を取得する。更に、論理ボリューム８１内のデータの動的な移動に関する通知を受けたときに、論理ボリュームマッピング情報８２を取得する。そして、データマッピング管理部４４は、取得した情報に基づき論理物理マッピング情報４５を構築する。
【０１５０】
読出し要求制御部４３の処理は、本発明の第１の実施の形態と同様である。すなわち、読出し要求制御部４３は、論理物理マッピング情報４５に基づき、論理記憶装置３１を構築する複数の物理記憶装置２８ａ〜２８ｅそれぞれに対応する複数のキュー４３１ａ〜４３１ｅを構築する。そして、複数のデータ読出し要求を受け付け、要求先に対応する物理記憶装置２８ａ〜２８ｅごとのキュー４３１ａ〜４３１ｅに蓄積し、蓄積した複数の読出し要求を、物理記憶装置２８ａ〜２８ｅごとのデータ読出し時間の総和を短縮化する順序で並べ替えてストレージシステム２に発行する。
【０１５１】
これにより、ストレージシステム２内部及びホスト１のＯＳ４０内部の動的なデータ移動で生じるデータ配置において、物理記憶装置２８ａ〜２８ｅごとにデータ読出し要求を最適化することができる。
【０１５２】
以下、本発明の第２の実施の形態の処理及びデータ構造の詳細を説明する。
【０１５３】
図１４は、本発明の第２の実施の形態の論理ボリューム８１内部の動的データ移動時における論理物理マッピング情報構築処理の手順を示すフローチャートである。なお、本発明の第２の実施の形態の論理物理マッピング情報構築処理は、本処理と、本発明の第１の実施の形態の図３に対応する処理とを合わせたものである。
【０１５４】
まず、本発明の第２の実施の形態の論理物理マッピング情報構築処理において、図３のイベント（１）またはイベント（２）が発生した場合の処理を説明する。
【０１５５】
ＤＢＭＳ４１のデータマッピング管理部４４は、ストレージシステム２からストレージマッピング情報３４の識別情報を取得する。更に、論理ボリューム管理機能８０から論理ボリュームマッピング情報８２の識別情報を取得する（図３のＳ３相当）。ここで、論理ボリュームマッピング情報８２の識別情報とは、最終更新日時情報、バージョン情報、チェックサム情報などである。これら識別情報は、論理ボリュームマッピング情報８２が変更されるとＯＳ４０により更新されるものである。
【０１５６】
データマッピング管理部４４は、ストレージマッピング情報３４の識別情報と直前回に取得した同情報とが異なるか否かを判定する。同じように、論理ボリュームマッピング情報８２の識別情報と直前回に取得した同情報とが異なるか否かを判定する（図３のＳ４相当）。
【０１５７】
データマッピング管理部４４は、ストレージマッピング情報３４の識別情報または論理ボリュームマッピング情報８２の識別情報それぞれが直前回に取得した同情報と同じであると判定した場合（図３のＳ４相当の結果が「Ｎ」）、ストレージマッピング情報３４と論理ボリュームマッピング情報８２の双方に変更はなく、ストレージシステム２内部と論理ボリューム８１内のデータ配置に変更なしと判断し、処理を終了する。
【０１５８】
データマッピング管理部４４は、ストレージマッピング情報３４の識別情報が直前回に取得した同情報と異なると判定した場合、ストレージシステム２からストレージマッピング情報３４全体を取得する。また、論理ボリュームマッピング情報８２の識別情報が直前回に取得した同情報と異なると判定した場合、論理ボリューム管理機能８０から論理ボリュームマッピング情報８２の全体を取得する（図３のＳ５相当）。
【０１５９】
そして、データマッピング管理部４４は、取得したストレージマッピング情報３４もしくは論理ボリュームマッピング情報８２に基づいて、ＤＢＭＳ４１からアクセスする論理ボリューム８１のアドレスと、ストレージシステム２内の物理記憶装置２８のアドレスとを対応付ける論理物理マッピング情報４５を構築する（Ｓ６相当）。ストレージマッピング情報３４を取得せず、論理ボリュームマッピング情報８２のみを取得した場合は、ここで処理を終了する。
【０１６０】
ストレージマッピング情報３４を取得した場合、読出し要求制御部４３は、論理物理マッピング情報４５に基づき、論理ボリューム８１を構成する複数の物理記憶装置２８ａ〜２８ｅに対応する複数のキュー４３１ａ〜４３１ｅを構築し、処理を終了する（Ｓ７相当）。
【０１６１】
次に、本発明の第２の実施の形態の論理物理マッピング情報構築処理において、図３のイベント（３）が発生した場合、図３と同様の処理が行われる。ここでは説明を省略する。
【０１６２】
最後に、本発明の第２の実施の形態の論理物理マッピング情報構築処理において、論理ボリューム内部の動的データ移動時の処理である図１４について説明する。
【０１６３】
データマッピング管理部４４は、イベント（４）の発生を待つ（Ｓ４０）。イベント（４）とは、論理ボリューム管理機能８０または管理端末３から論理ボリューム８１内の動的なデータ移動に関する通知の受信である。
【０１６４】
データマッピング管理部４４は、イベント（４）の論理ボリューム８１内の動的なデータ移動に関する通知をＯＳ４０から受けると、論理ボリューム８１内のデータ移動元と移動先に関する情報を取得可能か否か判定する（Ｓ４１）。具体的には、例えば、受信したデータ移動に関する通知に、データ移動元と移動先に関する情報が含まれるか否かを判定する。
【０１６５】
データマッピング管理部４４は、データ移動元と移動先に関する情報を取得可能ではないと判定した場合（Ｓ４１の結果が「Ｎ」）、論理ボリューム管理機能８０に論理ボリュームマッピング情報８２全体の取得要求を発行する。論理ボリューム管理機能８０は、要求を受け、論理ボリュームマッピング情報８２全体をＤＢＭＳ４１に送信する。こうしてデータマッピング管理部４４は、論理ボリュームマッピング情報８２全体を取得する（Ｓ４２）。なお、データマッピング管理部４４は、論理ボリュームマッピング情報８２全体を一度に取得してもよいし、複数回に分けて取得してもよい。
【０１６６】
データマッピング管理部４４は、データ移動元と移動先に関する情報を取得可能であると判定した場合（Ｓ４１の結果が「Ｙ」）、その情報を取得する（Ｓ４３）。例えば、受信したデータ移動に関する通知から、論理ボリューム内でのデータ移動元及び移動先となる論理記憶装置３１の識別情報とアクセス先アドレス、移動するデータのサイズを含んだ情報を取得する。
【０１６７】
続いてデータマッピング管理部４４は、取得したデータ移動元と移動先に関する情報に基づき、データ移動により変更される部分の論理ボリュームマッピング情報８２の取得要求を論理ボリューム管理機能８０へ発行する。論理ボリューム管理機能８０は、要求を受け、要求に応じた論理ボリュームマッピング情報８２の部分的情報をＤＢＭＳ４１に送信する。データマッピング管理部４４は、こうして論理ボリュームマッピング情報８２のデータ移動に伴う変更部分を取得する（Ｓ４４）。なお、データマッピング管理部４４は、所望部分の論理ボリュームマッピング情報８２を一度に取得してもよいし、複数回に分けて取得してもよい。
【０１６８】
データマッピング管理部４４は、Ｓ４２またはＳ４４により取得した論理ボリュームマッピング情報８２に基づいて、ＤＢＭＳ４１からアクセスする論理記憶装置３１のアドレスと、ストレージシステム２内の物理記憶装置２８のアドレスとを対応付ける論理物理マッピング情報４５を更新し、処理を終了する（Ｓ４５）。
【０１６９】
なお、本処理では、論理ボリューム８１を構成する複数の物理記憶装置２８に対応する複数のキュー４３１を再構築する処理は行わない。論理ボリューム８１内部の動的データ移動では、ストレージシステム２内の物理記憶装置２８の構成は変わらないためである。
【０１７０】
図１５は、本発明の第２の実施の形態の論理ボリュームマッピング情報８２の一例を示す図である。論理ボリュームマッピング情報８２は、論理ボリューム番号９０、論理ボリューム内アドレス９１、ホスト論理記憶装置番号９２、及びホスト論理記憶装置内アドレス９３を含む。
【０１７１】
論理ボリューム番号９０は、ホスト１内で論理ボリューム８１を識別する番号である。論理ボリューム内アドレス９１は、論理ボリューム番号９０で特定される論理ボリューム８１内のアドレスであり、ＤＢＭＳ４１などの上位ＡＰに提供される論理的なアドレスである。
【０１７２】
ホスト論理記憶装置番号９２は、ＯＳ４０が認識する論理記憶装置３１を識別する番号である。ホスト論理記憶装置内アドレス９３は、ホスト論理記憶装置番号４９で特定される論理記憶装置３１内のアドレスであり、ＯＳ４０内でアクセスされる論理的なアドレスである。
【０１７３】
このように、論理ボリュームマッピング情報８２は、上位ＡＰに提供される論理ボリューム８１のアドレスとＯＳ４０が認識する論理記憶装置３１のアドレスとの対応関係を示す。
【０１７４】
ここで、論理ボリューム８１内での動的なデータ移動に伴う論理ボリュームマッピング情報８２の変更方法を説明する。図１５ではレコード中の括弧内に変更内容を示した。例えば、ホスト論理記憶装置番号「０１」、ホスト論理記憶装置内アドレス「１２８Ｋ〜２５６Ｋ」のデータを、ホスト論理記憶装置番号「０２」、論理記憶装置内アドレス「０〜１２８Ｋ」の記憶領域に内部的に移動するとする。論理ボリューム管理機能８０は、図の上から２番目の該当レコードについて、ホスト論理記憶装置番号「０１」を「０２」に、論理記憶装置内アドレス「１２８Ｋ〜２５６Ｋ」を「０〜１２８Ｋ」に変更する。このとき論理ボリューム番号と論理ボリューム内アドレスは変更しない。このデータ移動が、上位ＡＰに意識されない、ＯＳ４０の仮想化機能（論理ボリューム管理機能８０）による論理ボリューム８１内の動的なデータ移動のためである。
【０１７５】
図１６は、本発明の第２の実施の形態の論理物理マッピング情報４５の一例を示す図である。論理物理マッピング情報４５は、論理ボリューム番号９４、論理ボリューム内アドレス９５、物理記憶装置番号９６、及び物理記憶装置内アドレス９７を含む。
【０１７６】
論理ボリューム番号９４は、ホスト１内で論理ボリューム８１を識別する番号である。図１５の論理ボリューム番号９０と同じである。論理ボリューム内アドレス９５は、論理ボリューム番号９４で特定される論理ボリューム８１内のアドレスである。図１５の論理ボリューム内アドレス９１と同じである。
【０１７７】
物理記憶装置番号９６は、論理ボリューム番号９０及び論理ボリューム内アドレス９５によって特定されるホスト１内の論理的な記憶領域を構成する物理記憶装置２８ａ〜２８ｅの識別番号である。本発明の第１の実施の形態の図４の物理記憶装置番号５３と同じである。物理記憶装置内アドレス９７は、先のホスト１内の論理的な記憶領域を構成する物理記憶装置２８内の物理的なアドレスである。本発明の第１の実施の形態の図４の物理記憶装置内アドレス５４と同じである。
【０１７８】
このように、論理物理マッピング情報４５は、ＤＢＭＳ４１からアクセスする論理ボリューム８１のアドレスと、論理記憶装置３１を介して論理ボリューム８１を構成する物理記憶装置２８のアドレスとの対応関係を格納する。
【０１７９】
ここで、データマッピング管理部４４が、動的なデータ移動に伴い変更されたストレージマッピング情報３４及び論理ボリュームマッピング情報８２を取得した場合の、論理物理マッピング情報４５の変更方法を簡単に述べる。最初に論理ボリューム８１内で動的なデータ移動が起こり、続いてストレージシステム２内で動的データ移動が起こったとする。例えば、本発明の第１の実施の形態の図４のレコード中括弧内で示される変更があったストレージマッピング情報３４と、図１５のレコード中括弧内で示される変更があった論理ボリュームマッピング情報８２とを取得した場合、図１６のとおりレコード中の括弧内で示す変更を論理物理マッピング情報４５に適用する。図１６では、論理ボリューム８１内のデータ移動を「⇒」で示し、ストレージシステム２内でのデータ移動を「→」で示した。
【０１８０】
以上のように、本発明の第２の実施の形態によれば、本発明の第１の実施の形態の処理に加え、ＤＢＭＳ４１が適宜論理ボリュームマッピング情報８２を取得して、論理物理マッピング情報４５を構築し利用する。これにより、ストレージシステム２内部やＯＳ４０内で動的に変わる物理データ配置に応じた最適なデータ読出し要求を行うことができ、ストレージシステム２とＯＳ４０の双方で記憶領域の仮想化機能を利用した場合でも、ストレージシステム２に対する問合せ時間の短縮化及び安定化を実現することができる。
【０１８１】
（第３の実施の形態）
以下、本発明の第３の実施の形態を説明する。なお、第１及び第２の実施の形態との相違点を主に説明し、第１及び第２の実施の形態と同様の機能を果たす構成には同一の符号を付して重複する説明を適宜省略する。
【０１８２】
第１の実施の形態では、ＤＢＭＳ４１がストレージマッピング情報３４をストレージシステム２から取得して読出し要求を物理記憶装置２８の物理的なアドレスで並べ替える例を示した。また、第２の実施の形態では、論理ボリュームマッピング情報８２をホスト１内の論理ボリューム管理機能８０から取得し、読出し要求を物理記憶装置２８の物理的なアドレスで並べ替える例を示した。第３の実施の形態では、管理端末３がストレージマッピング情報３４及び論理ボリューム管理情報を保持し、ＤＢＭＳ４１がこれらの情報を管理端末３から取得する形態について説明する。
【０１８３】
図１７は、本発明の第３の実施の形態の管理端末３の論理的構成を示すブロック図である。第３の実施の形態の情報処理システムのハードウェア構成は第１及び第２の実施の形態と同じである。また、第３の実施の形態のホスト１及びストレージシステム２の論理的構成は、第２の実施の形態と同じである。
【０１８４】
管理端末３は、計算機を制御するＯＳ１００、ストレージ管理プログラム１０１、及び論理ボリューム管理プログラム１０２の各種プログラム及びプログラムの実行に必要な情報を、メモリやローカル記憶装置に有する。
【０１８５】
ストレージ管理プログラム１０１は、ストレージシステム２の構成を管理する。また、ストレージ管理プログラム１０１は、論理記憶装置３１のアドレスと物理記憶装置２８のアドレスとの対応関係を管理するストレージマッピング情報３４を有する。ストレージマッピング情報３４は、ストレージシステム２内にある図２のストレージマッピング情報３４と同じである。ストレージ管理プログラム１０１は、定期的に、もしくは、ストレージマッピング情報３４が更新されるときに、ストレージシステム２から同情報を取得する。
【０１８６】
論理ボリューム管理プログラム１０２は、論理ボリューム８１の構成を管理する。また、論理ボリューム管理プログラム１０２は、論理ボリューム８１のアドレスとＯＳ４０が認識する論理記憶装置３１のアドレスとの対応関係を示す論理ボリュームマッピング情報８２を有する。論理ボリュームマッピング情報８２は、ホスト１の論理ボリューム管理機能８０が有する同情報と同じである。論理ボリューム管理プログラム１０２は、定期的に、もしくは、論理ボリュームマッピング情報８２が更新されるときに、ホスト１の論理ボリューム管理機能８０から同情報を取得する。
【０１８７】
以上、説明した構成に基づいて、本発明の第３の実施の形態の処理を説明する。
【０１８８】
データマッピング管理部４４は、所定の時間間隔おきに、管理端末３からストレージマッピング情報３４及び論理ボリュームマッピング情報８２を取得する。また、データマッピング管理部４４は、ストレージシステム２内部のデータの動的な移動に関する通知を受けたときに、管理端末３からストレージマッピング情報３４を取得する。更に、論理ボリューム８１内のデータの動的な移動に関する通知を受けたときに、管理端末３から論理ボリュームマッピング情報８２を取得する。そして、データマッピング管理部４４は、取得した情報に基づき論理物理マッピング情報４５を構築する。
【０１８９】
上述した本発明の第３の実施の形態の論理物理マッピング情報構築処理は、本発明の第１の実施の形態の図３相当の処理、及び本発明の第２の実施の形態の図１４の処理を合わせたものである。本発明の第１及び第２の実施の形態との違いは、ストレージマッピング情報３４及び論理ボリュームマッピング情報８２の取得先が管理端末３であることである。
【０１９０】
読出し要求制御部４３の処理は、本発明の第１及び第２の実施の形態と同様である。すなわち、読出し要求制御部４３は、論理物理マッピング情報４５に基づき、論理記憶装置３１を構築する複数の物理記憶装置２８ａ〜２８ｅそれぞれに対応する複数のキュー４３１ａ〜４３１ｅを構築する。そして、複数のデータ読出し要求を受け付け、要求先に対応する物理記憶装置２８ａ〜２８ｅごとのキュー４３１ａ〜４３１ｅに蓄積し、蓄積した複数の読出し要求を、物理記憶装置２８ａ〜２８ｅごとのデータ読出し時間の総和を短縮化する順序で並べ替えてストレージシステム２に発行する。
【０１９１】
本発明の第３の実施の形態によれば、本発明の第２の実施の形態と同じく、ストレージシステム２内部やＯＳ４０内で動的に変わる物理データ配置に応じた最適なデータ読出し要求を行うことができ、問合せ時間の短縮化及び安定化を実現することができる。
【０１９２】
更に、本発明の第３の実施の形態によれば、ＤＢＭＳ４１が管理端末３からストレージマッピング情報３４及び論理ボリュームマッピング情報８２を取得するため、その取得処理に関してストレージシステム２及びホスト１の論理ボリューム管理機能８０の負荷を低減できる。
【０１９３】
＜補足＞
前記計算機は、前記読出し要求を蓄積する所定の数の入力を受け付けるインタフェースを提供し、前記インタフェースで受け付けた入力に基づいて、前記所定の数を設定することを特徴とする請求項１８に記載のデータ管理システム。
【０１９４】
また、前記計算機は、前記ストレージシステムに格納されたデータベースの読み出しを行うデータベース管理システムを備えたことを特徴とする請求項１１に記載のデータ管理システム。
【図面の簡単な説明】
【０１９５】
【図１】第１の実施の形態の情報処理システムのハードウェア構成を示すブロック図である。
【図２】第１の実施の形態のホスト１及びストレージシステム２の論理的構成を示すブロック図である。
【図３】第１の実施の形態のデータマッピング管理部が論理物理マッピング情報構築処理の手順を示すフローチャートである。
【図４】第１の実施の形態のストレージマッピング情報３４の一例を示す図である。
【図５】第１の実施の形態の論理物理マッピング情報４５の一例を示す図である。
【図６】第１の実施の形態のストレージマッピング情報の取得及び表示画面の一例を示す画面イメージである。
【図７】第１の実施の形態のストレージマッピング情報取得時間間隔の設定画面の一例を示す画面イメージである。
【図８】第１の実施の形態の問合せ処理部４２の処理手順を示すフローチャートである。
【図９】第１の実施の形態のデータ読出し要求発行処理の手順を示すフローチャートである。
【図１０】第１の実施の形態のキューに蓄積したデータ読出し要求の発行処理手順を示すフローチャートである。
【図１１】第１の実施の形態の動的データ移動開始または完了通知受付時における読出し要求発行条件の変更処理手順を示すフローチャートである。
【図１２】第１の実施の形態の要求キューイング数の設定画面の一例を示す画面イメージである。
【図１３】第２の実施の形態のホスト１の論理的構成を示すブロック図である。
【図１４】第２の実施の形態の論理ボリューム内部の動的データ移動時における論理物理マッピング情報構築処理の手順を示すフローチャートである。
【図１５】第２の実施の形態の論理ボリュームマッピング情報８２の一例を示す図である。
【図１６】第２の実施の形態の論理物理マッピング情報４５の一例を示す図である。
【図１７】第３の実施の形態の管理端末３の論理的構成を示すブロック図である。
【符号の説明】
【０１９６】
１  ホスト
２  ストレージシステム
３  管理端末
２０  制御装置
２８  物理記憶装置
３０  パリティグループ
３１  論理記憶装置
３２  コマンド処理部
３３  デバイス管理部
３４  ストレージマッピング情報
３５  データベース
４０  オペレーティングシステム
４１  データベース管理システム
４２  問合せ処理部
４３  読出し要求制御部
４４  データマッピング管理部
４５  論理物理マッピング情報
４６  アプリケーションプログラム
８０  論理ボリューム管理機能
８１  論理ボリューム
８２  論理ボリュームマッピング情報
１０１  ストレージ管理プログラム
１０２  論理ボリューム管理プログラム
【図１】
0005154200.tif 000002
【図２】
0005154200.tif 000003
【図３】
0005154200.tif 000004
【図４】
0005154200.tif 000005
【図５】
0005154200.tif 000006
【図８】
0005154200.tif 000007
【図９】
0005154200.tif 000008
【図１０】
0005154200.tif 000009
【図１１】
0005154200.tif 000010
【図１３】
0005154200.tif 000011
【図１４】
0005154200.tif 000012
【図１５】
0005154200.tif 000013
【図１６】
0005154200.tif 000014
【図１７】
0005154200.tif 000015
【図６】
0005154200.tif 000016
【図７】
0005154200.tif 000017
【図１２】
0005154200.tif 000018