(57)【要約】【課題】  ホストコンピュータに対する記憶領域の提供にかかる時間を短縮することが可能な技術を提供することを目的とする。【解決手段】  ホストコンピュータに提供するために予め準備された記憶領域である一時記憶領域を有する第１データ記憶部を備えるストレージシステムを用いる。ここで、記憶領域割り当て要求に応じて第２データ記憶部内に通常記憶領域を形成する処理が完了する前に、割り当て要求に応じて、ホストコンピュータが通常記憶領域にアクセスするためのアクセス先指定情報と、一時記憶領域と、を対応付け、さらに、通常記憶領域形成処理の完了の前に、ホストコンピュータからのアクセス先指定情報を指定したアクセス要求に応じて、一時記憶領域を対象とするアクセスを中継する。【選択図】  図３
2006331158.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムであって、
データを記憶する記憶領域をホストコンピュータに提供するストレージシステムを備え、
前記ストレージシステムは、
前記ホストコンピュータに提供するために予め準備された記憶領域である一時記憶領域を有する第１データ記憶部と、
与えられた記憶領域割り当て要求に応じて第２データ記憶部内に通常記憶領域を形成する処理が完了する前に、前記割り当て要求に応じて、前記ホストコンピュータが前記通常記憶領域にアクセスするためのアクセス先指定情報と、前記一時記憶領域と、を対応付ける記憶領域設定部と、
前記通常記憶領域形成処理の完了の前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域を対象とするアクセスを中継するデータ中継部と、
を備える、コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムであって、
前記ストレージシステムは、さらに、
前記通常記憶領域形成処理の完了の後に、前記一時記憶領域のデータを前記通常記憶領域へ移行させるデータ移行部を備え、
前記記憶領域設定部は、前記通常記憶領域形成処理の完了の後に、前記アクセス先指定情報と前記通常記憶領域とを対応付け、
前記データ中継部は、前記移行の完了後には、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記通常記憶領域を対象とするアクセスを中継する、
コンピュータシステム。
【請求項３】
請求項２に記載のコンピュータシステムであって、
前記ストレージシステムは、さらに、
前記通常記憶領域に格納されるべきデータの中の、前記一時記憶領域内に存在する前記移行前のデータを識別する移行データ情報と、前記通常記憶領域内に存在する前記移行中に更新されたデータを識別する更新データ情報とを、含む移行情報を格納する移行情報格納部を備え、
前記データ移行部は、前記移行において、前記移行データ情報を更新しながら、前記移行すべきデータを一部ずつ移行させ、
前記データ中継部は、前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ書き込み要求を受けたときには、前記通常記憶領域にデータを書き込むとともに、書き込んだデータを識別する情報を前記更新データ情報に追加し、
前記データ中継部は、前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ読み込み要求を受けたときには、前記移行情報を参照することによって前記読み込むべきデータである読み込み対象データに関する情報を取得し、さらに、
（ｉ）前記読み込み対象データが更新済みのデータである場合には、前記通常記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信し、
（ｉｉ）前記読み込み対象データが更新済みデータではなく、かつ、移行前のデータである場合には、前記一時記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信する、
コンピュータシステム。
【請求項４】
請求項２に記載のコンピュータシステムであって、
前記記憶領域設定部は、前記移行の完了後に、次の記憶領域割り当て要求を待たずに前記一時記憶領域を解放する、コンピュータシステム。
【請求項５】
請求項１に記載のコンピュータシステムであって、
前記ストレージシステムは、さらに、
前記記憶領域割り当て要求を待たずに、前記第１データ記憶部に前記一時記憶領域を形成する一時記憶領域形成部を備える、
コンピュータシステム。
【請求項６】
請求項１に記載のコンピュータシステムであって、
前記ストレージシステムは、さらに、前記第２データ記憶部との通信を行うためのインターフェースを備え、
前記記憶領域設定部は、前記第２データ記憶部との通信が可能となる前に、前記アクセス先指定情報と前記一時記憶領域とを対応付け、
前記データ中継部は、前記第２データ記憶部との通信が可能となる前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域を対象とするアクセスを中継する、
コンピュータシステム。
【請求項７】
請求項１に記載のコンピュータシステムであって、
前記ストレージシステムは、さらに、
前記記憶領域設定部に接続されるとともに、前記アクセス先指定情報と前記一時記憶領域との対応付けを実行する旨の指示を前記記憶領域設定部に送信する管理装置を備える、
コンピュータシステム。
【請求項８】
請求項１に記載のコンピュータシステムであって、さらに、
前記ホストコンピュータを備える、
コンピュータシステム。
【請求項９】
データを記憶する記憶領域をホストコンピュータに提供するストレージシステムであって、
ＣＰＵと、
前記ホストコンピュータに提供するために予め準備された記憶領域である一時記憶領域を有する一時記憶部と、
複数のディスク装置と、
前記ホストコンピュータとのデータ通信を行うためのホストインターフェースと、
を備え、
前記ＣＰＵは、前記一時記憶部と、前記複数のディスク装置と、前記ホストインターフェースとのそれぞれに接続されており、
前記ＣＰＵは、
与えられた記憶領域割り当て要求に応じて前記複数のディスク装置に通常記憶領域を形成する処理が完了する前に、前記割り当て要求に応じて、前記ホストコンピュータが前記通常記憶領域にアクセスするためのアクセス先指定情報と、前記一時記憶領域と、を対応付ける処理と、
前記通常記憶領域形成処理の完了の前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域にアクセスする処理と、を実行する、
ストレージシステム。
【請求項１０】
請求項９に記載のストレージシステムであって、
前記ＣＰＵは、さらに、
前記通常記憶領域形成処理の完了の後に、前記一時記憶領域のデータを前記通常記憶領域へ移行させる処理と、
前記通常記憶領域形成処理の完了の後に、前記アクセス先指定情報と前記通常記憶領域とを対応付ける処理と、
前記移行の完了後には、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記通常記憶領域にアクセスする処理と、
を実行する、ストレージシステム。
【請求項１１】
請求項１０に記載のストレージシステムであって、さらに、
前記通常記憶領域に格納されるべきデータの中の、前記一時記憶領域内に存在する前記移行前のデータを識別する移行データ情報と、前記通常記憶領域内に存在する前記移行中に更新されたデータを識別する更新データ情報とを、含む移行情報を格納する移行情報メモリを備え、
前記ＣＰＵは、さらに、
前記移行において、前記移行データ情報を更新しながら、前記移行すべきデータを一部ずつ移行させる処理と、
前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ書き込み要求を受けたときには、前記通常記憶領域にデータを書き込むとともに、書き込んだデータを識別する情報を前記更新データ情報に追加する処理と、
前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ読み込み要求を受けたときには、前記移行情報を参照することによって前記読み込むべきデータである読み込み対象データに関する情報を取得し、さらに、
（ｉ）前記読み込み対象データが更新済みのデータである場合には、前記通常記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信し、
（ｉｉ）前記読み込み対象データが更新済みデータではなく、かつ、移行前のデータである場合には、前記一時記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信する処理と、
を実行する、ストレージシステム。
【請求項１２】
請求項１０に記載のストレージシステムであって、
前記ＣＰＵは、前記移行の完了後に、次の記憶領域割り当て要求を待たずに前記一時記憶領域を解放する処理を実行する、ストレージシステム。
【請求項１３】
請求項９に記載のストレージシステムであって、
前記ＣＰＵは、前記記憶領域割り当て要求を待たずに、前記一時記憶部に前記一時記憶領域を形成する処理を実行する、ストレージシステム。
【請求項１４】
請求項９に記載のストレージシステムであって、さらに、
前記ホストコンピュータが利用するデータを格納する記憶領域を提供可能な別のストレージシステムとネットワークを介して接続され、前記別のストレージシステムとの通信を行うためのストレージインターフェースを備え、
前記ＣＰＵは、
前記別のストレージシステムが前記記憶領域を前記ストレージインターフェースを介して提供可能とする前に、前記アクセス先指定情報と前記一時記憶領域とを対応付ける処理と、
前記別のストレージシステムが前記記憶領域を前記ストレージインターフェースを介して提供可能とする前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域にアクセスする処理と、を実行することを特徴とする、
ストレージシステム。
【請求項１５】
請求項９に記載のストレージシステムであって、
前記一時記憶部は、ディスク装置である、ストレージシステム。
【請求項１６】
請求項９に記載のストレージシステムであって、
前記一時記憶部は、半導体メモリである、ストレージシステム。
【請求項１７】
ホストコンピュータに提供するために予め準備された記憶領域である一時記憶領域を有する第１データ記憶部を備えるストレージシステムを用いて、データを記憶する記憶領域を前記ホストコンピュータに提供する方法であって、
（Ａ）与えられた記憶領域割り当て要求に応じて第２データ記憶部内に通常記憶領域を形成する処理が完了する前に、前記割り当て要求に応じて、前記ホストコンピュータが前記通常記憶領域にアクセスするためのアクセス先指定情報と、前記一時記憶領域と、を対応付ける工程と、
（Ｂ）前記通常記憶領域形成処理の完了の前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域を対象とするアクセスを中継する工程と、
を備える、提供方法。
【請求項１８】
請求項１７に記載の提供方法であって、さらに、
（Ｃ）前記通常記憶領域形成処理の完了の後に、前記一時記憶領域のデータを前記通常記憶領域へ移行させる工程と、
（Ｄ）前記通常記憶領域形成処理の完了の後に、前記アクセス先指定情報と前記通常記憶領域とを対応付ける工程と、
（Ｅ）前記移行の完了後には、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記通常記憶領域を対象とするアクセスを中継する工程と、
を備える、提供方法。
【請求項１９】
請求項１８に記載の提供方法であって、
前記工程（Ｃ）は、前記通常記憶領域に格納されるべきデータの中の前記一時記憶領域内に存在する前記移行前のデータを識別する移行データ情報を更新しながら、前記移行すべきデータを一部ずつ移行させる工程を有し、
前記提供方法は、さらに、
（Ｆ）前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ書き込み要求を受けたときには、前記通常記憶領域にデータを書き込むとともに、書き込んだデータを識別する情報を、前記通常記憶領域内に存在する前記移行中に更新されたデータを識別する更新データ情報に追加する工程と、
（Ｇ）前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ読み込み要求を受けたときには、前記移行データ情報と前記更新データ情報とを参照することによって前記読み込むべきデータである読み込み対象データに関する情報を取得し、さらに、
（ｉ）前記読み込み対象データが更新済みのデータである場合には、前記通常記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信し、
（ｉｉ）前記読み込み対象データが更新済みデータではなく、かつ、移行前のデータである場合には、前記一時記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信する工程と、
を備える、提供方法。
【請求項２０】
請求項１８に記載の提供方法であって、さらに、
前記移行の完了後に、次の記憶領域割り当て要求を待たずに前記一時記憶領域を解放する工程を備える、提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの記憶領域をホストコンピュータに提供するストレージシステムに関するものである。
【背景技術】
【０００２】
近年、データの記憶領域をホストコンピュータに提供するストレージシステムが普及しつつある。このようなストレージシステムでは、ディスク装置の障害に関する信頼性の向上や、データ転送速度の向上を図るために、ＲＡＩＤ（Redundant Array of Inexpensive Disks）システムが用いられている（例えば、特許文献１参照）。ＲＡＩＤシステムには、データの記録方式が異なる種々の種類（「ＲＡＩＤレベル」とも呼ばれる）が存在する。
【０００３】
【特許文献１】米国特許出願公開第２００３／２２１０６３号明細書
【特許文献２】米国特許出願公開第２００４／２６０８６１号明細書
【特許文献３】米国特許第６１０８７４８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ストレージシステムは、ホストコンピュータの用途に合った記憶領域を提供するために、ホストコンピュータの要求に応じてＲＡＩＤレベル等の記憶領域の構成を決定し、それから記憶領域の形成を行う場合がある。その結果、ホストコンピュータに対する記憶領域の提供に時間がかかる場合があった。例えば、ＲＡＩＤ５システムを用いた記憶領域を形成する際には、パリティを書き込む処理を実行する。この場合には、パリティの書き込み処理の完了を待ってから、記憶領域を提供している。
【０００５】
なお、このような問題は、ＲＡＩＤ５システムを用いる場合に限らず、他のＲＡＩＤレベルのシステムを利用する場合に共通する問題であった。また、ＲＡＩＤシステムを利用するストレージシステムに限らず、データを書き込む処理を実行することによって記憶領域を形成するストレージシステムに共通する問題であった。
【０００６】
本発明は、上記の課題を解決するためになされたものであり、ホストコンピュータに対する記憶領域の提供にかかる時間を短縮することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題の少なくとも一部を解決するため、本発明の第１の態様に係るコンピュータシステムは、データを記憶する記憶領域をホストコンピュータに提供するストレージシステムを備え、前記ストレージシステムは、前記ホストコンピュータに提供するために予め準備された記憶領域である一時記憶領域を有する第１データ記憶部と、与えられた記憶領域割り当て要求に応じて第２データ記憶部内に通常記憶領域を形成する処理が完了する前に、前記割り当て要求に応じて、前記ホストコンピュータが前記通常記憶領域にアクセスするためのアクセス先指定情報と、前記一時記憶領域と、を対応付ける記憶領域設定部と、前記通常記憶領域形成処理の完了の前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域を対象とするアクセスを中継するデータ中継部と、を備える。
【０００８】
このコンピュータシステムによれば、通常記憶領域の形成が完了する前に、一時記憶領域をホストコンピュータに提供するので、ホストコンピュータに対する記憶領域の提供にかかる時間を短縮することが可能となる。
【０００９】
上記コンピュータシステムにおいて、前記ストレージシステムは、さらに、前記通常記憶領域形成処理の完了の後に、前記一時記憶領域のデータを前記通常記憶領域へ移行させるデータ移行部を備え、前記記憶領域設定部は、前記通常記憶領域形成処理の完了の後に、前記アクセス先指定情報と前記通常記憶領域とを対応付け、前記データ中継部は、前記移行の完了後には、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記通常記憶領域を対象とするアクセスを中継することが好ましい。
【００１０】
この構成によれば、一時記憶領域のデータが通常記憶領域に移行されるとともに、移行完了の後には、アクセス先指定情報を指定したアクセス要求に応じて、通常記憶領域を対象とするアクセスが中継されるので、アクセス先指定情報に対する記憶領域の切り替えを適切に行うことができる。
【００１１】
上記コンピュータシステムにおいて、前記ストレージシステムは、さらに、前記通常記憶領域に格納されるべきデータの中の、前記一時記憶領域内に存在する前記移行前のデータを識別する移行データ情報と、前記通常記憶領域内に存在する前記移行中に更新されたデータを識別する更新データ情報とを、含む移行情報を格納する移行情報格納部を備え、前記データ移行部は、前記移行において、前記移行データ情報を更新しながら、前記移行すべきデータを一部ずつ移行させ、前記データ中継部は、前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ書き込み要求を受けたときには、前記通常記憶領域にデータを書き込むとともに、書き込んだデータを識別する情報を前記更新データ情報に追加し、前記データ中継部は、前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ読み込み要求を受けたときには、前記移行情報を参照することによって前記読み込むべきデータである読み込み対象データに関する情報を取得し、さらに、（ｉ）前記読み込み対象データが更新済みのデータである場合には、前記通常記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信し、（ｉｉ）前記読み込み対象データが更新済みデータではなく、かつ、移行前のデータである場合には、前記一時記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信することとしてもよい。
【００１２】
この構成によれば、データの更新と移行との状況を反映した移行情報を参照することによって、読み込み対象となる記憶領域が選択されるので、移行中であっても、最新のデータを読み込むことが可能となる。
【００１３】
上記各コンピュータシステムにおいて、前記記憶領域設定部は、前記移行の完了後に、次の記憶領域割り当て要求を待たずに前記一時記憶領域を解放することが好ましい。
【００１４】
この構成によれば、一時記憶領域を再利用することが可能となる。
【００１５】
上記各コンピュータシステムにおいて、前記ストレージシステムは、さらに、前記記憶領域割り当て要求を待たずに、前記第１データ記憶部に前記一時記憶領域を形成する一時記憶領域形成部を備えることが好ましい。
【００１６】
この構成によれば、適切に一時記憶領域を準備することが可能となる。
【００１７】
上記各コンピュータシステムにおいて、前記ストレージシステムは、さらに、前記第２データ記憶部との通信を行うためのインターフェースを備え、前記記憶領域設定部は、前記第２データ記憶部との通信が可能となる前に、前記アクセス先指定情報と前記一時記憶領域とを対応付け、前記データ中継部は、前記第２データ記憶部との通信が可能となる前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域を対象とするアクセスを中継することとしてもよい。
【００１８】
この構成によれば、第２データ記憶部との通信が可能となる前であっても、一時記憶領域をホストコンピュータに提供するので、ホストコンピュータに対する記憶領域の提供にかかる時間を短縮することが可能となる。
【００１９】
上記コンピュータシステムにおいて、前記ストレージシステムは、さらに、前記記憶領域設定部に接続されるとともに、前記アクセス先指定情報と前記一時記憶領域との対応付けを実行する旨の指示を前記記憶領域設定部に送信する管理装置を備えることとしてもよい。
【００２０】
また、上記コンピュータシステムにおいて、さらに、前記ホストコンピュータを備えることとしてもよい。
【００２１】
また、本発明の第２の態様は、ストレージシステムを提供する。本発明の第２の態様に係るストレージシステムは、データを記憶する記憶領域をホストコンピュータに提供するストレージシステムであって、ＣＰＵと、前記ホストコンピュータに提供するために予め準備された記憶領域である一時記憶領域を有する一時記憶部と、複数のディスク装置と、前記ホストコンピュータとのデータ通信を行うためのホストインターフェースと、を備え、前記ＣＰＵは、前記一時記憶部と、前記複数のディスク装置と、前記ホストインターフェースとのそれぞれに接続されており、前記ＣＰＵは、与えられた記憶領域割り当て要求に応じて前記複数のディスク装置に通常記憶領域を形成する処理が完了する前に、前記割り当て要求に応じて、前記ホストコンピュータが前記通常記憶領域にアクセスするためのアクセス先指定情報と、前記一時記憶領域と、を対応付ける処理と、前記通常記憶領域形成処理の完了の前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域にアクセスする処理と、を実行する。
【００２２】
この第２の態様に係るストレージシステムにおいても、通常記憶領域の形成が完了する前に、一時記憶領域がホストコンピュータに提供されるので、ホストコンピュータに対する記憶領域の提供にかかる時間を短縮することが可能となる。
【００２３】
第２の態様に係るストレージシステムにおいて、前記ＣＰＵは、さらに、前記通常記憶領域形成処理の完了の後に、前記一時記憶領域のデータを前記通常記憶領域へ移行させる処理と、前記通常記憶領域形成処理の完了の後に、前記アクセス先指定情報と前記通常記憶領域とを対応付ける処理と、前記移行の完了後には、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記通常記憶領域にアクセスする処理と、を実行することとしてもよい。
【００２４】
第２の態様に係るストレージシステムにおいて、さらに、前記通常記憶領域に格納されるべきデータの中の、前記一時記憶領域内に存在する前記移行前のデータを識別する移行データ情報と、前記通常記憶領域内に存在する前記移行中に更新されたデータを識別する更新データ情報とを、含む移行情報を格納する移行情報メモリを備え、前記ＣＰＵは、さらに、前記移行において、前記移行データ情報を更新しながら、前記移行すべきデータを一部ずつ移行させる処理と、前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ書き込み要求を受けたときには、前記通常記憶領域にデータを書き込むとともに、書き込んだデータを識別する情報を前記更新データ情報に追加する処理と、前記移行の最中に、前記ホストコンピュータからの前記アクセス先指定情報を指定したデータ読み込み要求を受けたときには、前記移行情報を参照することによって前記読み込むべきデータである読み込み対象データに関する情報を取得し、さらに、（ｉ）前記読み込み対象データが更新済みのデータである場合には、前記通常記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信し、（ｉｉ）前記読み込み対象データが更新済みデータではなく、かつ、移行前のデータである場合には、前記一時記憶領域から前記読み込み対象データを読み込んで、前記読み込み対象データを前記ホストコンピュータへ送信する処理と、を実行することとしてもよい。
【００２５】
第２の態様に係るストレージシステムにおいて、前記ＣＰＵは、前記移行の完了後に、次の記憶領域割り当て要求を待たずに前記一時記憶領域を解放する処理を実行することとしてもよい。
【００２６】
第２の態様に係るストレージシステムにおいて、前記ＣＰＵは、前記記憶領域割り当て要求を待たずに、前記一時記憶部に前記一時記憶領域を形成する処理を実行することとしてもよい。
【００２７】
第２の態様に係るストレージシステムにおいて、さらに、前記ホストコンピュータが利用するデータを格納する記憶領域を提供可能な別のストレージシステムとネットワークを介して接続され、前記別のストレージシステムとの通信を行うためのストレージインターフェースを備え、前記ＣＰＵは、前記別のストレージシステムが前記記憶領域を前記ストレージインターフェースを介して提供可能とする前に、前記アクセス先指定情報と前記一時記憶領域とを対応付ける処理と、前記別のストレージシステムが前記記憶領域を前記ストレージインターフェースを介して提供可能とする前に、前記ホストコンピュータからの前記アクセス先指定情報を指定したアクセス要求に応じて、前記アクセス先指定情報に対応付けられた前記一時記憶領域にアクセスする処理と、を実行することとしてもよい。
【００２８】
第２の態様に係るストレージシステムにおいて、前記一時記憶部は、ディスク装置であることとしてもよい。また、前記一時記憶部が、半導体メモリであることとしてもよい。
【００２９】
なお、本発明は、種々の形態で実現することが可能であり、例えば、記憶領域の提供方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００３０】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．変形例：
【００３１】
Ａ．第１実施例：
Ａ１．システムの構成：
図１は、本発明の一実施例としてのデータ処理システムの構成を示す説明図である。このデータ処理システム９００は、業務サーバ１００と、管理サーバ２００と、ストレージシステム３００と、を有している。業務サーバ１００とストレージシステム３００とのそれぞれは、ストレージエリアネットワーク（Storage Area Network）ＳＡＮに接続されている。ストレージシステム３００には、管理用ネットワークＭＮを介して管理サーバ２００が接続されている。また、業務サーバ１００と管理サーバ２００とのそれぞれは、ローカルエリアネットワーク（Local Area Network）ＬＡＮに接続されている。
【００３２】
業務サーバ１００は、ストレージシステム３００によって提供されるデータ記憶領域（後述）を利用しつつ、所定の機能を実現する。業務サーバ１００の機能としては、例えば、データファイルをクライアント装置（図示せず）に提供するファイルサーバとしての機能や、種々のデータを管理するデータベースサーバとしての機能がある。
【００３３】
また、業務サーバ１００は、ＣＰＵ（中央演算処理装置）１１０と、メモリ１２０と、ローカルエリアネットワークＬＡＮとの接続のためのインターフェース１９０と、ストレージエリアネットワークＳＡＮとの接続のためのインターフェース１９２と、を有している。これらの各構成要素はバス１８０を介して互いに接続されている。業務サーバ１００の機能は、ＣＰＵ１１０がプログラムを実行することによって実現されている。メモリ１２０は、ＣＰＵ１１０が用いるデータとプログラムとを記憶する。特に、メモリ１２０は、ボリュームマネージャ１２２を有している。ボリュームマネージャ１２２は、ＣＰＵ１１０によって実行されるプログラムである（詳細は後述）。
【００３４】
管理サーバ２００は、ストレージシステム３００の動作を制御するための種々の機能（後述）を有している。ストレージシステム３００の管理者（オペレータ）は、この管理サーバ２００を操作することによって、ストレージシステム３００の動作の設定を行うことができる。なお、ストレージシステム３００と管理サーバ２００とは、広義の「ストレージ管理システム」と呼ぶことができる。
【００３５】
また、管理サーバ２００は、ＣＰＵ２１０と、メモリ２２０と、ローカルエリアネットワークＬＡＮとの接続のためのインターフェース２９０と、管理用ネットワークＭＮとの接続のためのインターフェース２９２と、を有している。これらの各構成要素はバス２８０を介して互いに接続されている。管理サーバ２００の機能は、ＣＰＵ２１０がプログラムを実行することによって実現されている。メモリ２２０は、ＣＰＵ２１０が用いるデータとプログラムとを記憶する。特に、メモリ２２０は、ストレージ管理モジュール２２２と、構成管理テーブル２２４と、を有している。ストレージ管理モジュール２２２は、ＣＰＵ２１０によって実行されるプログラムである。管理サーバ２００の詳細は後述する。
【００３６】
ストレージシステム３００は、業務サーバ１００にデータ記憶領域を提供する。ストレージシステム３００は、制御装置３０５と、ディスクアレイ３５０と、ストレージエリアネットワークＳＡＮとの接続のためのインターフェース３９０と、管理用ネットワークＭＮとの接続のためのインターフェース３９２と、を有している。これらの各構成要素はバス３８０を介して互いに接続されている。ディスクアレイ３５０は、複数のディスク装置を有している。制御装置３０５は、ＣＰＵ３１０と、メモリ３２０と、キャッシュメモリ３４０とを、有している。キャッシュメモリ３４０は、ディスクアレイ３５０と業務サーバ１００との間で転送されるデータを一時的に記憶するための半導体メモリであり、ＣＰＵ３１０専用のキャッシュメモリ（図示せず）とは別のものである。また、キャッシュメモリ３４０には、テンポラリボリュームが形成される（詳細は後述）。また、メモリ３２０は、ＣＰＵ３１０が種々の処理を実行する際に用いるデータとプログラムとを記憶する。
【００３７】
メモリ３２０は、領域確保モジュール３２１と、ボリューム形成モジュール３２２と、データ移行モジュール３２３と、データ中継モジュール３２４と、ボリュームマッピングテーブル３２５と、識別子変換テーブル３２６と、テンポラリボリューム用領域判別テーブル３２７と、を有している。各モジュールは、ＣＰＵ３１０によって実行されるプログラムである。各モジュールの機能と各テーブルとの詳細については、後述する。
【００３８】
Ａ２．記憶領域提供処理の概略：
図２は、ストレージシステム３００が業務サーバ１００に記憶領域を提供する処理の手順を示すフローチャートである。このフローチャートは、提供処理の概略を示している。
【００３９】
最初のステップＢ１００（図２）では、業務サーバ１００が、管理サーバ２００に、記憶領域の形成要求（「割り当て要求」に相当する）を送信する。この際、記憶領域のサイズ（以下「要求サイズ」と呼ぶ）とＲＡＩＤレベル（以下「要求ＲＡＩＤレベル」と呼ぶ）との指定を送信する。次のステップＭ２００では、管理サーバ２００が、ストレージシステム３００に、一時的な記憶領域であるテンポラリボリュームの確保要求を送信する。すると、ストレージシステム３００は、キャッシュメモリ３４０（図１）の空き領域の一部を、テンポラリボリュームＴＶ１として確保する（ステップＳｒ３００、Ｓｒ４００）。図３（Ａ）は、ストレージシステム３００がテンポラリボリュームＴＶ１を提供する様子を示す説明図である。
【００４０】
テンポラリボリュームＴＶ１は、ストレージシステム３００が提供する論理ボリュームの一種である。論理ボリュームとは、複数の論理ブロックを含むデータの記憶領域である。論理ブロックとは、論理ボリュームを対象とするデータ転送の最小単位である。１つの論理ボリューム内の論理ブロックは、各論理ブロック毎に固有な論理ブロックアドレス（以下「ＬＢＡ」とも呼ぶ）によって識別される。このＬＢＡは、論理ボリューム内のデータの格納位置を表していると考えることもできる。第１実施例では、ＬＢＡとして、「０」から始まる通し番号が用いられる。以下、論理ボリュームのことを、単に「ボリューム」とも呼ぶ。また、論理ブロックのことを、単に「ブロック」あるいは「セクタ」とも呼ぶ。また、ＬＢＡのことを「セクタ番号」とも呼ぶ。
【００４１】
次のステップＭ５００では、管理サーバ２００が、ストレージシステム３００にパス設定要求を送信する。パス設定とは、業務サーバ１００と論理ボリュームとの間のデータ転送経路を確立する処理である。ここで、業務サーバ１００が利用可能な論理ボリュームのことを「論理ユニット」と呼ぶ。このような論理ユニットは、各論理ユニット毎に固有な論理ユニット番号（以下「ＬＵＮ（Logical Unit Number）」とも呼ぶ）によって識別される。次のステップＳｒ６００では、ストレージシステム３００が、テンポラリボリュームＴＶ１を対象とするパス設定処理を実行する。この際、テンポラリボリュームＴＶ１にＬＵＮを割り当て、このＬＵＮ（以下「割当ＬＵＮ」とも呼ぶ）の通知を管理サーバ２００に送信する。
【００４２】
次のステップＭ５４０では、割当ＬＵＮの通知を受けた管理サーバ２００が、ボリュームの形成が完了した旨と、割当ＬＵＮとを、業務サーバ１００に送信する。すると、次のステップＢ７００で、業務サーバ１００は、割当ＬＵＮに応じたマウント処理を実行する。以後、業務サーバ１００は、割当ＬＵＮを指定することによって、記憶領域に対するアクセスをストレージシステム３００に要求することができる。なお、ステップＢ７００は、ステップＭ５４０が終了後なら、いつ実行してもよい。ステップＭ８００以降の説明は後述する。
【００４３】
図３（Ａ）は、業務サーバ１００が割当ＬＵＮを指定したアクセスをストレージシステム３００に要求する様子を示している。この段階では、割当ＬＵＮを指定したアクセス要求は、テンポラリボリュームＴＶ１を対象とするアクセス要求として、制御装置３０５によって中継される。
【００４４】
次に、ステップＭ８００（図２）では、管理サーバ２００が、ストレージシステム３００に、通常論理ボリューム（以下「通常ボリューム」とも呼ぶ）の形成指示を送信する。すると、次のステップＳｒ９００では、ストレージシステム３００は、通常ボリュームの形成処理を実行する。ここで、通常ボリュームとは、割当ＬＵＮに対応付けられたボリュームであり、また、一時的に利用されるテンポラリボリュームとは異なり、継続して利用される常用のボリュームである。
【００４５】
図３（Ｂ）は、ストレージシステム３００が通常ボリュームを形成する様子を示している。ステップＭ８００（図２）では、管理サーバ２００は、業務サーバ１００に指定された要求サイズと要求ＲＡＩＤレベルとを送信する。すると、次のステップＳｒ９００で、ストレージシステム３００は、要求ＲＡＩＤレベルと要求サイズとに従って、ディスクアレイ３５０（図１）に通常ボリュームを形成する。例えば、ＲＡＩＤ５が指定された場合には、パリティの書き込み処理を実行することによって、通常ボリュームを形成する。図３（Ｂ）の例では、第１論理ボリュームＬＶ１が形成されている。そして、この第１論理ボリュームＬＶ１の全体が、そのまま、通常ボリュームＮＶ１として用いられる。
【００４６】
次のステップＳｒ９５０（図２）では、ストレージシステム３００は、テンポラリボリュームＴＶ１に格納されているデータを第１論理ボリュームＬＶ１に移行させる。図３（Ｃ）は、第１論理ボリュームＬＶ１へのデータ移行完了後のストレージシステム３００を示している。データ移行が完了したら、ストレージシステム３００は、割当ＬＵＮに対応付けられた論理ボリュームを、テンポラリボリュームＴＶ１から第１論理ボリュームＬＶ１に切り替える。以後、業務サーバ１００からの割当ＬＵＮを指定したアクセス要求は、第１論理ボリュームＬＶ１を対象とするアクセスとして、制御装置３０５によって中継される。このように、ＬＵＮは、本発明における「アクセス先指定情報」に相当する。なお、制御装置３０５は、データ移行中であっても、アクセス要求を中継可能である。詳細については、後述する。
【００４７】
このように、第１実施例のストレージシステム３００は、通常ボリュームＮＶ１（第１論理ボリュームＬＶ１）の形成が完了する前に、業務サーバ１００にテンポラリボリュームＴＶ１を提供する。その結果、業務サーバ１００に対する記憶領域の提供にかかる時間を短縮することが可能となる。特に、大容量の記憶領域を提供する場合には、通常ボリュームの形成にかかる時間も長くなる場合が多い。このような場合であっても、ストレージシステム３００は、速やかに、業務サーバ１００に対する記憶領域の提供を開始することが可能である。
【００４８】
Ａ３．記憶領域提供処理の詳細：
図４は、図２のステップＢ１００で管理サーバ２００に送られる情報を示す説明図である。ステップＢ１００では、ボリュームマネージャ１２２（図１：業務サーバ１００）が、管理サーバ２００に対して、記憶領域の形成要求を送信する。この際、ボリューム情報ＶＩとサーバ情報ＳＩとを送信する。ボリューム情報ＶＩは、ＲＡＩＤレベルと、ボリュームサイズとを、含んでいる。サーバ情報ＳＩは、業務サーバ１００（インターフェース１９２）のＷＷＮ（World Wide Name）を含んでいる。ＷＷＮとは、ストレージエリアネットワークＳＡＮに接続された装置（より具体的には、インターフェース）を識別する番号である。ＳＡＮを介した通信では、相手を特定するために、このＷＷＮが用いられる。
【００４９】
図５は、図２のステップＭ２００、Ｓｒ３００、Ｓｒ４００の詳細な手順を示すフローチャートである。最初のステップＭ２１０では、ストレージ管理モジュール２２２（図１：管理サーバ２００）が、ボリュームマネージャ１２２（業務サーバ１００）からの記憶領域の形成要求を受信する。次のステップＭ２２０では、受信したサーバ情報とボリューム情報とを、構成管理テーブル２２４に格納する。図６は、構成管理テーブル２２４の一例を示す説明図である。この構成管理テーブル２２４は、業務サーバ（ホストコンピュータ）のＷＷＮと、ＲＡＩＤレベルと、ボリュームサイズと、ＬＵＮと、移行状態との、対応関係を格納する。ボリュームサイズの単位は「バイト」である。移行状態は「移行前」に設定される。ＬＵＮは後で設定される。以下、ストレージ管理モジュール２２２が、図６の例の１行目に示す形成要求Ｒ１を受信したこととして説明を行う。
【００５０】
次のステップＭ２３０では、ストレージ管理モジュール２２２（図１）は、ストレージシステム３００にキャッシュメモリ３４０の空き領域のサイズを問い合わせる。すると、領域確保モジュール３２１（ストレージシステム３００）が、ステップＳｒ３１０で、この問い合わせを受信し、次のステップＳｒ３２０で、キャッシュメモリ３４０の空き領域のサイズを取得する。
【００５１】
第１実施例では、テンポラリボリューム用領域判別テーブル３２７（図１、以下「判別テーブル３２７」とも呼ぶ）に、キャッシュメモリ３４０内の、テンポラリボリュームとして確保された領域に関する情報が格納されている（詳細は後述）。領域確保モジュール３２１は、判別テーブル３２７を参照することによって、空き領域のサイズを取得する。この際、他の用途（例えば、転送データの一時記憶）に使用されている領域の有無についても確認する。メモリ３２０には、このような、キャッシュメモリ３４０内のデータ格納位置と、使用中であるか否かを表す情報との、対応関係を表すキャッシュ利用状況情報が格納されている（図示省略）。空き領域サイズを確認したら、次のステップＳｒ３３０で、管理サーバ２００に空き領域サイズを送信する。
【００５２】
ステップＭ２４０（図５）では、ストレージ管理モジュール２２２（図１）が、空き領域サイズが、要求サイズ以上であるか否かを判定する。空き領域サイズが要求サイズよりも小さい場合には、ステップＭ２７０で、業務サーバ１００にエラー通知を送信して処理を終了する。ここで、業務サーバ１００の代わりに、オペレータにエラーを通知してもよい。例えば、管理サーバ２００のモニタ（図示せず）にエラーメッセージを表示させてもよく、管理サーバ２００のスピーカ（図示せず）に警告音を鳴らせても良い。こうすれば、オペレータが適切に対処することが可能となる。
【００５３】
空き領域サイズが要求サイズ以上である場合には、次のステップＭ２５０で、ストレージ管理モジュール２２２（図１）は、ストレージシステム３００に、テンポラリボリュームの確保要求を送信する。すると、領域確保モジュール３２１は、ステップＳｒ４１０で、確保要求を受信し、ステップＳｒ４２０で、テンポラリボリュームを確保する。具体的には、領域確保モジュール３２１は、キャッシュメモリ３４０の空き領域から、要求サイズの記憶領域を選択する。ここで、確保できなかった場合には（ステップＳｒ４３０：Ｎｏ）、次のステップＳｒ４６０で、管理サーバ２００にエラー通知を送信して、ステップＳｒ４００を終了する。確保できない場合としては、例えば、空き領域の確認（Ｓｒ３２０）の後に、データ転送のためにキャッシュメモリ３４０の空き領域が減少した場合がある。
【００５４】
要求サイズの記憶領域を選択したら、領域確保モジュール３２１は、次のステップＳｒ４４０で、選択した記憶領域（第１テンポラリボリュームＴＶ１）に関する情報を、判別テーブル３２７（図１）と識別子変換テーブル３２６と、ボリュームマッピングテーブル３２５とに、格納する。
【００５５】
図７は、判別テーブル３２７の一例を示す説明図である。判別テーブル３２７は、テンポラリボリュームに関する情報を格納している。具体的には、記憶領域の種類と、先頭セクタと、サイズとを、格納している。第１実施例では、記憶領域の種類には「キャッシュ」が設定される。これは、テンポラリボリュームがキャッシュメモリ３４０に形成されていることを意味する。また、先頭セクタとサイズとは、キャッシュメモリ３４０内におけるテンポラリボリュームの位置を表している。ところで、第１実施例では、キャッシュメモリ３４０の全体が、複数のセクタを含む記憶領域として扱われる。キャッシュメモリ３４０内のセクタは、各セクタ毎に固有なキャッシュセクタ番号で識別される。第１実施例では、キャッシュセクタ番号として「０」から始まる通し番号が用いられる。判別テーブル３２７における先頭セクタは、テンポラリボリュームの先頭セクタのキャッシュセクタ番号を表している。また、サイズの単位はバイトである。なお、通常は、キャッシュメモリ３４０内のデータ格納位置は、キャッシュセクタ番号とは異なるメモリアドレスによって管理されている。メモリ３２０には、このようなメモリアドレスとキャッシュセクタ番号との対応関係も格納されている（図示省略）。
【００５６】
領域確保モジュール３２１は、ステップＳｒ４４０で、ステップＳｒ４２０で選択した第１テンポラリボリュームＴＶ１に関する情報を判別テーブル３２７に格納する。図７の例では、第１テンポラリボリュームＴＶ１は、キャッシュメモリ３４０の第０番セクタから始まる５０Ｇバイト分の部分領域である。なお、図７の例では、第２テンポラリボリュームＴＶ２に関する情報も格納されている。この第２テンポラリボリュームＴＶ２は、他の記憶領域形成要求に応じて確保されたものである。第２テンポラリボリュームＴＶ２は、第１５００００００番セクタから始まる１５０Ｇバイト分の部分領域である。
【００５７】
図８は、識別子変換テーブル３２６の一例を示す説明図である。このテーブル３２６は、論理ボリュームと識別子とを対応付けるテーブルである。具体的には、この識別子変換テーブル３２６は、論理ボリュームを識別する識別子と、論理ボリュームの種類と、記憶領域の種類と、先頭セクタと、サイズとの、対応関係を格納している。論理ボリュームの種類は、「テンポラリ」と「通常」とのいずれかに設定される。記憶領域の種類は、そのボリュームが形成されている装置の種類を表している。先頭セクタとサイズとは、識別子で特定されるボリュームの位置を表している。サイズの単位はバイトである。
【００５８】
図８の例では、領域確保モジュール３２１は、第１テンポラリボリュームＴＶ１に、識別子「#1」を割り当てている。そして、識別子「#1」で特定される論理ボリュームに関する情報として、第１テンポラリボリュームＴＶ１の情報を格納する。具体的には、ボリュームの種類を「テンポラリ」に設定し、記憶領域の種類を「キャッシュ」に設定する。また、第１実施例では、記憶領域の種類が「キャッシュ」である場合には、先頭セクタは、先頭セクタのキャッシュセクタ番号を表す。そこで、先頭セクタを、判別テーブル３２７（図７）の値と同じ「０」に設定する。また、サイズを、判別テーブル３２７の値と同じ「５０Ｇ」に設定する。
【００５９】
なお、図８の例では、識別子「#A」で特定されるボリュームに関する情報が格納されているが、この情報は、後述するステップＳｒ９１０（図１２）で格納される情報である。
【００６０】
図９は、ボリュームマッピングテーブル３２５の一例を示す説明図である。このボリュームマッピングテーブル３２５は、テンポラリボリューム識別子と、通常ボリューム識別子と、データ移行状態と、ＬＵＮと、移行ポインタと、書き込み済みセクタとの、対応関係を格納する。ステップＳｒ４４０では、領域確保モジュール３２１は、テンポラリボリュームの識別子を追加し（図９の例では「#1」）、データ移行状態を「移行前」に設定する。他の情報は、後で設定される（詳細は後述）。
【００６１】
各テーブル３２５、３２６、３２７に、第１テンポラリボリュームＴＶ１に関する情報を追加したら、次のステップＳｒ４５０（図５）で、領域確保モジュール３２１（図１）は、領域確保完了通知を、管理サーバ２００へ送信する。ストレージ管理モジュール２２２は、領域確保完了通知を受信したら（ステップＭ２６０：Ｙｅｓ）、ステップＭ２００を終了する。領域確保完了通知を受信しない場合には（ステップＭ２６０：Ｎｏ）、ステップＭ２７０に移行して、エラー通知処理を実行する。
【００６２】
図１０は、図２のステップＭ５００、Ｓｒ６００の詳細な手順を示すフローチャートである。最初のステップＭ５１０では、ストレージ管理モジュール２２２（図１）が、ストレージシステム３００に、パス設定要求を送信する。すると、領域確保モジュール３２１は、要求を受信し（Ｓｒ６１０）、ステップＳｒ６２０で、ステップＳｒ４００（図２、図５）で確保したテンポラリボリュームＴＶ１にＬＵＮを割り当てる。この際、ボリュームマッピングテーブル３２５（図９）を参照することによって、使用されていないＬＵＮを検索して用いる。ここで、使用されていないＬＵＮを見つけることができなかった場合には（ステップＳｒ６３０：Ｎｏ）、ステップＳｒ６６０で、管理サーバ２００にエラー通知を送信して、ステップＳｒ６００を終了する。
【００６３】
領域確保モジュール３２１は、ＬＵＮを割り当てたら、次のステップＳｒ６４０で、割り当てたＬＵＮ（割当ＬＵＮ）をボリュームマッピングテーブル３２５（図９）に追加する。例えば、図９の例では、第１テンポラリボリュームＴＶ１（#1）のＬＵＮとして「００」が割り当てられている。
【００６４】
次のステップＳｒ６５０では、領域確保モジュール３２１は、パス設定完了通知を管理サーバ２００に送信する。この際、割当ＬＵＮも送信する。ストレージ管理モジュール２２２は、パス設定完了通知を受信しない場合には（ステップＭ５２０：Ｎｏ）、ステップＭ５５０に移行して、エラー通知処理を実行する。エラー通知処理としては、上述のステップＭ２７０（図５）と同じ処理を採用可能である。
【００６５】
パス設定完了通知を受信したら、ストレージ管理モジュール２２２は、ステップＭ５３０で、受信した割当ＬＵＮを構成管理テーブル２２４（図６）に格納する。さらに次のステップＭ５４０で、業務サーバ１００にボリューム形成完了通知を送信する。この際、割当ＬＵＮも送信する。こうしてストレージ管理モジュール２２２は、ステップＭ５００を終了する。
【００６６】
図１１は、図２のステップＢ７００の詳細な手順を示すフローチャートである。最初のステップＢ７１０では、ボリュームマネージャ１２２は、管理サーバ２００からボリューム形成完了通知を受信したか否かを判定する。完了通知を受信しない場合には、ステップＢ７００の処理を終了する。完了通知を受信した場合には、次のステップＳ７２０で、受信した割当ＬＵＮに応じたマウント処理を実行する。以後、業務サーバ１００は、ストレージシステム３００のＷＷＮと、割当ＬＵＮと、セクタ番号（ＬＢＡ）とを、指定することによって、ストレージシステム３００の記憶領域（この段階では、テンポラリボリュームＴＶ１）にアクセスすることが可能である。
【００６７】
図１２は、図２のステップＭ８００、Ｓｒ９００、Ｓｒ９５０の詳細な手順を示すフローチャートである。最初のステップＭ８１０では、ストレージ管理モジュール２２２（図１）が、ストレージシステム３００に、通常ボリューム形成指示を送信する。すると、領域確保モジュール３２１が、ステップＳｒ９０２で形成指示を受信し、ステップＳｒ９０４で、ディスクアレイ３５０に、要求サイズの論理ボリュームを形成可能な空き領域が有るか否かを判定する。メモリ３２０には、ディスクアレイ３５０内のデータ格納位置と、使用中であるか否かを表す情報との、対応関係を表すディスク利用状況情報が格納されている（図示せず）。空き領域のサイズが不足している場合には、ステップＳｒ９１２で管理サーバ２００にエラー通知を送信してステップＳｒ９５０の処理を終了する。
【００６８】
空き領域のサイズが十分である場合には、次のステップＳｒ９０６で、領域確保モジュール３２１が、ＲＡＩＤグループを作成する。具体的には、ＲＡＩＤシステムを構築するために、１以上のディスク装置を選択する。次のステップＳｒ９０８では、ボリューム形成モジュール３２２が、選択されたディスク装置を用いて、通常ボリュームを形成する。この際、要求ＲＡＩＤレベルに従って通常ボリュームを形成する。図３（Ｂ）の例では、第１論理ボリュームＬＶ１を形成している。そして、この第１論理ボリュームＬＶ１の全体が、そのまま、通常ボリュームとして利用される。以下、第１論理ボリュームＬＶ１を「通常ボリュームＮＶ１」とも呼ぶ。
【００６９】
通常ボリュームＮＶ１が形成されたら、ステップＳｒ９１０で、領域確保モジュール３２１は、その通常ボリュームＮＶ１に関する情報を、識別子変換テーブル３２６（図８）に追加する。図８の例では、通常ボリュームＮＶ１に識別子「#A」を割り当てている。そして、識別子「#A」で特定される論理ボリュームに関する情報として、通常ボリュームＬＶ１の情報を格納する。具体的には、ボリュームの種類を「通常」に設定し、記憶領域の種類を「ディスクアレイ（論理ボリューム番号＝１）」に設定する。ところで、ディスクアレイ３５０には、ＲＡＩＤシステムの構築によって、複数の論理ボリュームが形成され得る。ディスクアレイ３５０の各論理ボリュームは、各ボリューム毎に固有な論理ボリューム番号によって識別される。識別子変換テーブル３２６の「記憶領域種類」には、通常ボリュームＮＶ１の論理ボリューム番号（図８の例では「１」）も設定される。また、図８の例では、先頭セクタが「０」に設定され、サイズが「５０Ｇ」に設定されている。これは、識別子「#A」で特定される通常ボリュームＮＶ１が、第１論理ボリュームＬＶ１の第０番セクタから始まる５０Ｇバイト分の記憶領域であることを意味している。
【００７０】
ところで、ＲＡＩＤシステムを構築することによって形成された１つの論理ボリューム（以下「親ボリューム」とも呼ぶ）を複数の部分ボリュームに分割し、１つの部分ボリュームを通常ボリュームとして用いることも可能である。このような場合には、先頭セクタは、部分ボリュームの先頭セクタの、親ボリュームにおけるセクタ番号に、設定される。例えば、親ボリュームの１００００番セクタから始まる１０Ｇバイト分の部分ボリュームを通常ボリュームとして用いることが可能である。この場合には、先頭セクタが「１００００」に設定され、サイズが「１０Ｇ」に設定される。
【００７１】
いずれの場合も、テンポラリボリュームと通常ボリュームとのそれぞれに対するアクセスは、先頭セクタを「０番」とする相対的なセクタ番号を用いることによって行われる。このような、相対的なセクタ番号と、キャッシュメモリ３４０や親ボリュームにおけるセクタ番号との、対応関係は、メモリ３２０に格納されている（図示省略）。
【００７２】
さらに、ステップＳｒ９１０では、領域確保モジュール３２１は、通常ボリュームＮＶ１に関する情報を、ボリュームマッピングテーブル３２５（図９）に追加する。図９の例では、テンポラリボリューム識別子「#1」に対応する通常ボリューム識別子として「#A」を格納する。
【００７３】
領域確保モジュール３２１は、各テーブル３２５、３２６の情報を更新したら、形成完了通知を管理サーバ２００に送信する（Ｓｒ９１０）。ストレージ管理モジュール２２２は、完了通知を受信したら、次のステップＭ８２５で、構成管理テーブル２２４（図６）の割当ＬＵＮに対応付けられた移行状態を移行中に変更する。完了通知を受信しない場合には、ステップＭ８５０に移行して、エラー通知処理を実行する。エラー通知処理としては、上述のステップＭ２７０（図５）と同じ処理を採用可能である。
【００７４】
一方、ストレージシステム３００では、領域確保モジュール３２１が完了通知を送信したら、次に、データ移行モジュール３２３が、データ移行処理（Ｓｒ９５０）を開始する。
【００７５】
第１実施例では、データ移行モジュール３２３は、先頭のセクタから順番に、セクタ毎にデータ移行を行う。そこで、最初のステップＳｒ９５４では、データ移行モジュール３２３は、移行対象セクタを更新する。具体的には、データ移行モジュール３２３は、移行対象セクタの番号を「０」から１ずつ繰り上げつつ（ステップＳｒ９５４）、後述するステップＳｒ９５６〜Ｓｒ９６２の処理を繰り返し実行する。なお、第１実施例では、１つのセクタのデータサイズは、第１テンポラリボリュームＴＶ１と通常ボリュームＮＶ１（第１論理ボリュームＬＶ１）とで同じであることとしている。また、ここで用いられるセクタ番号は、第１テンポラリボリュームＴＶ１と通常ボリュームＮＶ１とに共通のセクタ番号であり、先頭セクタの番号を第０番としたときの相対的なセクタ番号である。
【００７６】
また、ステップＳｒ９５４では、データ移行モジュール３２３は、ボリュームマッピングテーブル３２５（図９）の移行対象通常ボリューム（識別子「#A」）に対応する移行ポインタの値を、移行対象のセクタの番号に設定する。ここで、データ移行済みのセクタは、移行ポインタが示すセクタ（移行対象セクタ）よりも前のセクタとなる。このように、移行ポインタは、移行済のデータ（セクタ）と移行前のデータ（セクタ）とを識別する情報として利用される（後述）。
【００７７】
さらに、１回目のステップＳｒ９５４では、領域確保モジュール３２１は、ボリュームマッピングテーブル３２５（図９）における、移行対象通常ボリューム（識別子「#A」）に対応する移行状態を「移行中」に変更する。
【００７８】
次のステップＳｒ９５６では、データ移行モジュール３２３は、移行対象セクタが、書き込み済みセクタであるか否かを判定する。書き込み済みセクタとは、移行前のセクタの中の、最新データが既に通常ボリュームＮＶ１に書き込まれているセクタを意味している。このような書き込み済みセクタは、データ移行の最中にデータの更新処理、すなわち、書き込み処理が実行された場合に生じ得る（詳細は後述）。また、このような書き込み済みセクタは、ボリュームマッピングテーブル３２５（図９）に記録されている。そこで、データ移行モジュール３２３は、ボリュームマッピングテーブル３２５を参照することによって、判定を行う。
【００７９】
移行対象セクタが書き込み済みセクタである場合には、データ移行モジュール３２３は、データ移行せずに（ステップＳｒ９５８）、ステップＳｒ９６２に移行する。移行対象セクタが書き込み済みセクタではない場合には、ステップＳｒ９６０で、移行対象セクタのデータを、テンポラリボリュームＴＶ１から読み込んで、通常ボリュームＮＶ１に書き込む。そして、ステップＳｒ９６２に移行する。
【００８０】
ステップＳｒ９６２では、データ移行モジュール３２３は、全てのセクタのデータ移行が完了したか否かを判定する。完了していない場合には、再び、ステップＳｒ９５４へ戻り、ステップＳｒ９５４〜Ｓｒ９６２の処理を繰り返し実行する。
【００８１】
全てのセクタのデータ移行が完了したら、次のステップＳｒ９６４で、領域確保モジュール３２１は、ボリュームマッピングテーブル３２５（図９）の、移行対象通常ボリューム（識別子「#A」）に対応する移行状態を「移行済」に変更する。さらに、移行完了通知を管理サーバ２００に送信する。
【００８２】
次のステップＳｒ９６６では、領域確保モジュール３２１が、使用されなくなった第１テンポラリボリュームＴＶ１を解放する。具体的には、識別子変換テーブル３２６（図８）と、判別テーブル３２７（図７）との、それぞれから、第１テンポラリボリュームＴＶ１に関する情報を削除する。その結果、キャッシュメモリ３４０内の第１テンポラリボリュームＴＶ１であった領域は、解放され、再び空き領域となる。そして、ストレージシステム３００が新たな記憶領域を提供すべき旨の要求を受けたときに、利用可能な状態となる。このように「記憶領域を解放する」とは、記憶領域の利用状況に関する設定を、使用中の状態から未使用状態に変更することを意味している。
【００８３】
一方、管理サーバ２００では、ストレージ管理モジュール２２２が、移行完了通知を受信したら、次のステップＭ８４０で、構成管理テーブル２２４（図６）の割当ＬＵＮに対応付けられた移行状態を移行済に変更する。移行完了通知を受信しない場合には、ステップＭ８５０に移行して、エラー通知処理を実行する。
【００８４】
Ａ４．移行中の書き込み処理（更新処理）：
図１３は、データ移行中の書き込み処理の手順を示すフローチャートである。業務サーバ１００（図１）からのデータ更新要求、すなわち、データ書き込み要求は、ストレージシステム３００のデータ中継モジュール３２４が中継する。データ中継モジュール３２４は、ボリュームマッピングテーブル３２５（図９）を参照し、業務サーバ１００に指定されたＬＵＮのデータ移行状態に応じた書き込み処理を実行する。具体的には、移行状態が移行前である場合には、テンポラリボリュームにデータを書き込む。移行状態が移行済である場合には、通常ボリュームにデータを書き込む。移行状態が移行中である場合には、図１３に示す手順に従って、データを書き込む。
【００８５】
図１４は、データ中継モジュール３２４が、移行中にデータを書き込む様子を示す概略図である。図１４には、第１テンポラリボリュームＴＶ１と、通常ボリュームＮＶ１と、ボリュームマッピングテーブル３２５とが、示されている。図１４は、業務サーバ１００によって「ＬＵＮ＝０」が指定され、さらに、指定されたＬＵＮの移行ポインタが１００である場合を示している。各ボリュームＴＶ１、ＮＶ１には、セクタ番号が付されている。このセクタ番号は、先頭セクタの番号を第０番としたときの相対的なセクタ番号である。また、このセクタ番号は、テンポラリボリュームと通常ボリュームとに共通の番号である。また、最終セクタ番号Ｅは、ボリュームのサイズ（第１実施例では要求サイズと同じ）と、１セクタのデータサイズとで、決まる。
【００８６】
最初のステップＳｒ１１１０（図１３）では、データ中継モジュール３２４は、業務サーバ１００からのデータ書き込み命令を受信する。業務サーバ１００は、ＬＵＮとセクタ番号と書き込みデータとを指定することによって、データの書き込み要求を行う。ここで指定されるセクタ番号は、図１４に示したセクタ番号と同じものである。
【００８７】
次のステップＳｒ１１２０（図１３）では、データ中継モジュール３２４は、指定されたセクタ番号が、移行ポインタ以上か否かを判定する。指定セクタ番号が移行ポインタ未満である場合には、指定セクタのデータは移行済である。そこで、ステップＳｒ１１４０に移行して、通常ボリュームの指定セクタにデータを書き込む。図１４には、データ中継モジュール３２４が、セクタ番号８０のデータを書き込む様子が示されている。セクタ番号８０は、移行ポインタ（１００）よりも小さいので、通常ボリュームＮＶ１にデータを書き込む。
【００８８】
一方、指定セクタ番号が移行ポインタ以上である場合には、指定セクタのデータは移行前である。そこで、データ中継モジュール３２４は、次のステップＳｒ１１３０で、ボリュームマッピングテーブル３２５の指定ＬＵＮに対応付けられた書き込み済みセクタに、指定セクタ番号を追加する。そして、次のステップＳｒ１１４０で、通常ボリュームの指定セクタにデータを書き込む。図１４には、データ中継モジュール３２４が、セクタ番号１５０のデータを書き込む様子が示されている。セクタ番号１５０は、移行ポインタ（１００）よりも大きいので、ボリュームマッピングテーブル３２５の書き込み済みセクタに、セクタ番号１５０を追加する（ステップＳｒ１１３０）。
【００８９】
以上のように、データ中継モジュール３２４は、移行中の書き込み処理を実行する。その結果、ボリュームマッピングテーブル３２５には、最新の書き込み済みセクタ情報が格納される。なお、業務サーバ１００から複数のセクタを指定する書き込み要求を受信した場合には、データ中継モジュール３２４は、セクタ毎に図１３の処理を繰り返し実行する。この際、業務サーバ１００から受信したデータを、一旦、キャッシュメモリ３４０に格納しておき、業務サーバ１００に書き込み終了の通知を送信した後に、図１３の処理を実行することとしてもよい。この際、データ中継モジュール３２４は、判別テーブル３２７（図７）を参照し、テンポラリボリュームとして利用されていない空き領域に、データを格納することとすればよい。
【００９０】
Ａ５．移行中の読み込み処理：
図１５は、データ移行中の読み込み処理の手順を示すフローチャートである。業務サーバ１００（図１）からのデータ読み込み要求は、ストレージシステム３００のデータ中継モジュール３２４が中継する。データ中継モジュール３２４は、ボリュームマッピングテーブル３２５（図９）を参照し、業務サーバ１００に指定されたＬＵＮのデータ移行状態に応じた読み込み処理を実行する。具体的には、移行状態が移行前である場合には、テンポラリボリュームからデータを読み込む。移行状態が移行済である場合には、通常ボリュームからデータを読み込む。移行状態が移行中である場合には、図１５に示す手順に従って、データを読み込む。
【００９１】
図１６は、データ中継モジュール３２４が、移行中にデータを読み込む様子を示す概略図である。図１６には、図１４と同様に、第１テンポラリボリュームＴＶ１と、通常ボリュームＮＶ１と、ボリュームマッピングテーブル３２５と、セクタ番号とが、示されている。また、図１６は、業務サーバ１００によって「ＬＵＮ＝０」が指定され、さらに、指定されたＬＵＮの移行ポインタが１００である場合を示している。
【００９２】
最初のステップＳｒ１０１０（図１５）では、データ中継モジュール３２４は、業務サーバ１００からのデータ読み込み要求を受信する。業務サーバ１００は、上述の書き込み要求を行う場合と同様に、ＬＵＮとセクタ番号とを指定することによって、データの読み込み要求を行う。
【００９３】
次のステップＳｒ１０２０では、データ中継モジュール３２４は、指定されたセクタ番号が、移行ポインタ以上か否かを判定する。指定セクタ番号が移行ポインタ未満である場合には、指定セクタのデータは移行済である。そこで、ステップＳｒ１０６０で、通常ボリュームの指定セクタからデータを読み込み、業務サーバ１００に送信する。図１６には、データ中継モジュール３２４がセクタ番号８０のデータを読み込む様子が示されている。セクタ番号８０は、移行ポインタ（１００）よりも小さいので、通常ボリュームＮＶ１からデータを読み込む（ステップＳｒ１０６０）。
【００９４】
一方、指定セクタ番号が移行ポインタ以上である場合には、データ中継モジュール３２４は、次のステップＳｒ１０３０で、指定セクタが書き込み済みセクタであるか否かを判定する。この判定は、ボリュームマッピングテーブル３２５（図１６）を参照することによって行われる。指定セクタが書き込み済みセクタである場合には、最新のデータが通常ボリュームに格納されている。そこで、データ中継モジュール３２４は、ステップＳｒ１０４０で通常ボリュームの指定セクタからデータを読み込み、業務サーバ１００に送信する。図１６には、データ中継モジュール３２４がセクタ番号１５０のデータを読み込む様子が示されている。セクタ番号１５０は、書き込み済みセクタに含まれている。そこで、データ中継モジュール３２４は、通常ボリュームＮＶ１からデータを読み込む（ステップＳｒ１０４０）。
【００９５】
指定セクタが書き込み済みセクタではない場合には、データ中継モジュール３２４は、次のステップＳｒ１０５０で、テンポラリボリュームの指定セクタからデータを読み込み、業務サーバ１００にデータを送信する。図１６には、データ中継モジュール３２４がセクタ番号１８０のデータを読み込む様子が示されている。セクタ番号１８０は、書き込み済みセクタに含まれていない。そこで、データ中継モジュール３２４は、テンポラリボリュームＴＶ１からデータを読み込む（ステップＳｒ１０５０）。
【００９６】
以上のように、データ中継モジュール３２４は、移行中の読み込み処理を実行する。ここで、データ中継モジュール３２４は、ボリュームマッピングテーブル３２５に格納された移行ポインタと書き込み済みセクタ情報とを参照することによって、各セクタの最新のデータがテンポラリボリュームと通常ボリュームとのいずれに格納されているかを判定することができる。従って、データ中継モジュール３２４は、移行中であっても、任意のセクタについて最新のデータを読み込むことが可能である。なお、業務サーバ１００から複数のセクタを指定する読み込み要求を受信した場合には、データ中継モジュール３２４は、セクタ毎に図１５の処理を繰り返し実行する。この際、読み出したデータを、一旦、キャッシュメモリ３４０に格納しておき、後でまとめて業務サーバ１００に送信することとしてもよい。この際、データ中継モジュール３２４は、判別テーブル３２７（図７）を参照し、テンポラリボリュームとして利用されていない空き領域に、データを格納することとすればよい。
【００９７】
ところで、第１実施例では、ストレージシステム３００（図１）のメモリ３２０は、ＬＵＮと、テンポラリボリュームと、通常ボリュームとを、対応付けるボリューム対応情報（ボリュームマッピングテーブル３２５（図９））を格納している。従って、データ中継モジュール３２４は、この対応情報を参照することによって、業務サーバ１００とストレージシステム３００との間のデータ転送経路（ＬＵＮを含む）を変更せずに、アクセス対象のボリュームを切り替えることができる。その結果、ボリュームの切り替えに伴う業務サーバ１００の負担が増大すること（例えば、業務サーバ１００がＬＵＮの再設定処理を要求されること）を抑制できる。
【００９８】
Ｂ．第２実施例：
図１７は、第２実施例におけるデータ処理システム９００ｂの構成を示す説明図である。図１に示すデータ処理システム９００との差異は、テンポラリボリュームが、通常ボリュームと同様に、ディスクアレイ３５０ｂに形成される点である。また、制御装置３０５ｂのメモリ３２０ｂに格納されている判別テーブル３２７ｂの形式が、図１の判別テーブル３２７と異なっている。ストレージシステム３００ｂの他の構成と動作とは、第１実施例のストレージシステム３００と同じである。
【００９９】
図１８は、第２実施例における判別テーブル３２７ｂの一例を示す説明図である。図７に示す判別テーブル３２７との際は、対応関係に識別番号が追加されている点である。この識別番号は、ディスクアレイ３５０ｂにおける論理ボリューム番号である。
【０１００】
図１８の判別テーブル３２７ｂは、ディスクアレイに形成された２つのテンポラリボリュームＴＶ３、ＴＶ４に関する情報を格納している。第３テンポラリボリュームＴＶ３は、第３論理ボリュームＬＶ３（図１７）の第０セクタから始まる１５０Ｇバイト分の記憶領域である。また、第４テンポラリボリュームＴＶ４は、第４論理ボリュームＬＶ４の第０セクタから始まる８００Ｇバイト分の記憶領域である。これらのテンポラリボリュームＴＶ３、ＴＶ４、すなわち、論理ボリュームＬＶ３、ＬＶ４は、割り当て要求よりも前に、予め、形成されたものである。
【０１０１】
なお、通常ボリュームと同様に、１つの論理ボリューム（親ボリューム）を複数の部分ボリュームに分割し、１つの部分ボリュームをテンポラリボリュームとして用いることも可能である。このような場合には、先頭セクタは、部分ボリュームの先頭セクタの、親ボリュームにおけるセクタ番号に、設定される。
【０１０２】
ところで、第２実施例では、領域確保モジュール３２１は、上述の第１実施例と同様に、図５に示す手順に従って、テンポラリボリュームを確保する。ステップＳｒ３３０では、キャッシュメモリ３４０の空き領域サイズに加えて、ディスクアレイ３５０ｂの空きディスクサイズを送信する。ここで、空きディスクサイズは、ディスクアレイ３５０ｂにおける使用されていないテンポラリボリュームの中の最大ボリュームのサイズである。領域確保モジュール３２１は、このような空きディスクサイズを、判別テーブル３２７ｂ（図１８）と、識別子変換テーブル３２６（図１９。詳細は後述）とを、参照することによって、取得する。識別子変換テーブル３２６には、現在使用中のボリュームに関する情報が格納されている。従って、判別テーブル３２７ｂに記録されているテンポラリボリュームの中の、識別子変換テーブル３２６に記録されていないボリュームが、空き領域となる。以下、図１８に示す２つのテンポラリボリュームＴＶ３、ＴＶ４の両方が使用されていないこととする。この場合には、空きディスクサイズは「８００Ｇバイト」となる。
【０１０３】
また、ステップＭ２４０（図５）では、ストレージ管理モジュール２２２（図１７）は、空き領域サイズと空きディスクサイズとの少なくとも一方が要求サイズよりも大きい場合に、「Ｙｅｓ」と判定する。
【０１０４】
さらに、ステップＳｒ４２０（図５）では、領域確保モジュール３２１は、キャッシュメモリ３４０とディスクアレイ３５０ｂとの中から、テンポラリボリュームを確保する。第２実施例では、キャッシュメモリ３４０の空き容量サイズが要求サイズよりも小さい場合に、ディスクアレイ３５０ｂのテンポラリボリュームを選択する。以下、要求サイズが１５０Ｇバイトであり、領域確保モジュール３２１が、第３テンポラリボリュームＴＶ３を選択したこととして、説明を行う。
【０１０５】
テンポラリボリュームを選択したら、領域確保モジュール３２１は、ステップＳｒ４４０で、選択した記憶領域（第３テンポラリボリュームＴＶ３）に関する情報を、識別子変換テーブル３２６（図１７）と、ボリュームマッピングテーブル３２５とに、格納する。
【０１０６】
図１９は、第２実施例における識別子変換テーブル３２６の一例を示す説明図である。図１９の識別子変換テーブル３２６には、第３テンポラリボリュームＴＶ３に関する情報が格納されている。第３テンポラリボリュームＴＶ３には、識別子「#2」が割り当てられ、他の情報は、判別テーブル３２７ｂ（図１８）に設定された第３テンポラリボリュームＴＶ３の情報と同じ値に設定されている。
【０１０７】
図２０は、第２実施例におけるボリュームマッピングテーブル３２５の一例を示す説明図である。図２０の例では、識別子「#2」が追加されている。
【０１０８】
さらに、領域確保モジュール３２１は、上述の第１実施例と同様に、図１０に示す手順に従って、パス設定を行う。図２０の例では、識別子「#2」（第３テンポラリボリュームＴＶ３）のＬＵＮとして「０１」が割り当てられている。また、業務サーバ１００は、図１１に示す手順に従って、ＬＵＮに応じたマウント処理を実行する。以後、業務サーバ１００は、このＬＵＮを指定することによって、記憶領域（この段階では、第３テンポラリボリュームＴＶ３）にアクセスすることが可能である。
【０１０９】
次に、ボリューム形成モジュール３２２（図１７）は、図１２に示す手順に従って、通常ボリュームを形成する（Ｓｒ９０８）。以下、ボリューム形成モジュール３２２は、第２論理ボリュームＬＶ２（図１７）を形成し、この第２論理ボリュームＬＶ２の全体を、通常ボリューム（以下「第２通常ボリュームＮＶ２」と呼ぶ）として用いることとする。次に、ステップＳｒ９１０で、領域確保モジュール３２１は、通常ボリュームに関する情報を、識別子変換テーブル３２６（図１９）と、ボリュームマッピングテーブル３２５（図２０）とに、追加する。
【０１１０】
図１９の例では、第２通常ボリュームＮＶ２には、識別子「#B」が割り当てられている。さらに、記憶領域の種類が「ディスクアレイ（論理ボリューム番号＝２）」に設定され、先頭セクタが「０」に設定され、サイズが「１５０Ｇ」に設定されている。また、図２０の例では、テンポラリボリューム識別子「#2」と通常ボリューム識別子「#B」とが対応付けられている。
【０１１１】
次に、データ移行モジュール３２３（図１７）は、図１２に示す手順に従って、データ移行処理（Ｓｒ９５０）を実行する。具体的には、第３テンポラリボリュームＴＶ３から第２通常ボリュームＮＶ２へデータを移行させる。データ移行が完了したら、データ中継モジュール３２４は、アクセス対象を、第３テンポラリボリュームＴＶ３から第２通常ボリュームＮＶ２に切り替える。
【０１１２】
また、データ移行が完了したら、ステップＳｒ９６６で、領域確保モジュール３２１は、識別子変換テーブル３２６（図１９）から、第３テンポラリボリュームＴＶ３に関する情報を削除する。その結果、第３テンポラリボリュームＴＶ３は、解放され、再び空き領域となる。そして、ストレージシステム３００ｂが新たな記憶領域を提供すべき旨の要求を受けたときに、利用可能な状態となる。なお、判別テーブル３２７ｂからは、第３テンポラリボリュームＴＶ３に関する情報は削除されず、解放された第３テンポラリボリュームＴＶ３は、そのまま、再利用される。ただし、判別テーブル３２７ｂからも第３テンポラリボリュームＴＶ３に関する情報を削除してもよい。この場合には、ディスクアレイ３５０ｂ内の第３テンポラリボリュームＴＶ３が形成されていた領域を、新たなＲＡＩＤシステムの構築に再利用することが可能となる。
【０１１３】
また、移行中の書き込み処理と、読み込み処理とは、上述の第１実施例（図１３〜図１６）と同じである。
【０１１４】
以上のように、第２実施例のストレージシステム３００ｂは、キャッシュメモリ３４０に加えて、ディスクアレイ３５０ｂを、テンポラリボリュームとして利用可能である。ここで、キャッシュメモリ３４０を利用せずに、ディスクアレイ３５０ｂのみを利用して、テンポラリボリュームを提供することとしてもよい。なお、テンポラリボリュームをディスク装置に形成する場合、テンポラリボリュームには安価なＳＡＴＡディスクを用い、通常ボリュームには信頼性の高いＦＣディスクを用いてもよい。通常ボリュームとテンポラリボリュームとを異なるディスク装置に形成することで、ボリューム使用時の利便性が増す。また、ストレージシステム内にユーザが希望するスペック（例えば、容量、ＲＡＩＤレベル）のディスクが無い場合、ひとまずストレージシステム内のディスク装置にテンポラリボリュームを形成して運用し、後からユーザが希望するスペックのディスク装置を追加し、そのディスク装置に通常ボリュームを形成することも可能である。また、通常ボリュームとテンポラリボリュームが異なるディスク装置に形成されている場合には、同一ディスク装置にＩ／Ｏが集中することを防ぐことも可能となる。
【０１１５】
なお、ディスクアレイ３５０ｂにテンポラリボリュームを形成するタイミングは、割り当て要求よりも前の任意のタイミングに設定可能である。例えば、ストレージシステム３００ｂの出荷前に予めテンポラリボリュームを形成しておくこととしてもよい。また、ストレージシステム３００ｂが最初に起動した時に、ボリューム形成モジュール３２２が自動的に所定のテンポラリボリュームを形成することとしてもよい。また、オペレータの指示に従ったタイミングで、ボリューム形成モジュール３２２がテンポラリボリュームを形成することとしてもよい。この場合には、ボリューム形成モジュール３２２が、本発明における「一時記憶領域形成部」に相当することとなる。なお、このような一時記憶領域形成部を、通常ボリュームを形成するボリューム形成モジュール３２２とは独立なモジュールとして設けても良い。
【０１１６】
Ｃ．第３実施例：
図２１は、第３実施例におけるデータ処理システム９００ｃの構成を示す説明図である。図１に示すデータ処理システム９００との差異は、ストレージシステム３００ｃに、外部ストレージシステム４００が接続されている点である。通常ボリュームは、この外部ストレージシステム４００に形成される。なお、ストレージシステム３００ｃと外部ストレージシステム４００とはストレージエリアネットワークＳＡＮｃを介して接続されている。
【０１１７】
ストレージシステム３００ｃは、外部ストレージシステム４００との通信のためのインターフェース３９４を備えている。また、制御装置３０５ｃのメモリ３２０ｃには、外部ボリューム対応テーブル３２８が格納されている。他の構成は、第１実施例のストレージシステム３００と同じである。
【０１１８】
外部ストレージシステム４００は、ＣＰＵ４１０と、メモリ４２０と、ディスクアレイ４５０と、ストレージシステム３００ｃとの通信のためのインターフェース４９０と、管理用ネットワークＭＮｃとの接続のためのインターフェース４９２と、を有している。これらの各構成要素は、バス４８０を介して互いに接続されている。ディスクアレイ４５０は、複数のディスク装置を有している。また、ディスクアレイ４５０には、論理ボリュームが形成される。外部ストレージシステム４００は、記憶領域（論理ボリューム）を提供する。外部ストレージシステム４００の機能は、ＣＰＵ４１０がプログラムを実行することによって実現されている。メモリ４２０は、ＣＰＵ４１０が用いるデータとプログラムとを記憶する。特に、メモリ４２０は、ボリューム形成モジュール４２２とボリュームテーブル４２６とを有している。ボリューム形成モジュール４２２は、ＣＰＵ４１０によって実行されるプログラムである。外部ストレージシステム４００の詳細については後述する。
【０１１９】
ストレージエリアネットワークＳＡＮｃは、スイッチ５００を有している。スイッチ５００は、複数のインターフェース（Ｉ／Ｆ）を有している。また、スイッチ５００は、各インターフェースに接続された機器の間を選択的に接続可能である。例えば、図２１の例では、業務サーバ１００（インターフェース１９２）とストレージシステム３００ｃ（インターフェース３９０）とを接続する。さらに、ストレージシステム３００ｃ（インターフェース３９４）と、外部ストレージシステム４００（インターフェース４９０）とを接続する。スイッチ５００は、各機器（インターフェース）のＷＷＮを用いて接続を行う。
【０１２０】
ところで、ストレージシステム３００ｃは、割り当て要求に応じて、まず、業務サーバ１００にテンポラリボリュームを提供する。テンポラリボリュームの提供の手順は、上述した第１実施例での手順（図２、図４、図５、図１０、図１１）と同じである。以下、第１テンポラリボリュームＴＶ１（図２１）を提供することとする。第１テンポラリボリュームＴＶ１の提供が開始されたら、管理サーバ２００は、外部ストレージシステム４００に通常ボリュームを形成させる。
【０１２１】
図２２は、通常ボリューム形成処理の手順を示すフローチャートである。管理サーバ２００のステップＭ８００ｃ（ステップＭ８１０ｃ、Ｍ８２０ｃ、Ｍ８５０ｃ）は、第１実施例のステップＭ８００（図１２）の前半部分（Ｍ８１０、Ｍ８２０、Ｍ８５０）の代わりに実行される。第１実施例との差異は、指示対象がストレージシステム３００の代わりに外部ストレージシステム４００である点だけである。一方、外部ストレージシステム４００のステップＳｒ９００ｃは、第１実施例のステップＳｒ９００（図１２）の代わりに実行される。図１２に示したステップＳ９００との差異は、ＬＵＮを割り当てる処理（ステップＳｒ９０９ｃ）が追加されている点だけであり、他の処理は同じである。
【０１２２】
最初のステップＭ８１０ｃでは、ストレージ管理モジュール２２２（図２１）が、外部ストレージシステム４００に通常ボリューム形成指示を送信する。この際、要求サイズと要求ＲＡＩＤレベルとを送信する。すると、ボリューム形成モジュール４２２（外部ストレージシステム４００）は、ステップＳｒ９０２ｃ〜Ｓｒ９０８ｃの処理を実行して通常ボリュームを形成する。これらの処理は、図１２の処理Ｓｒ９０２〜Ｓｒ９０８と同じである。ディスクアレイ４５０の空き容量が足りない場合には（ステップＳｒ９０４ｃ：Ｎｏ）、ステップＳｒ９１２ｃで、管理サーバ２００にエラー通知を送信してステップＳｒ９００ｃの処理を終了する。
【０１２３】
以下、ボリューム形成モジュール４２２が、第１論理ボリュームＥＬＶ１（図２１）を形成することとする。ここで、この第１論理ボリュームＥＬＶ１を「外部論理ボリュームＥＬＶ１」、あるいは、「外部ボリュームＥＬＶ１」とも呼ぶ。また、外部ボリュームＥＬＶ１の全体が、そのまま、通常ボリューム（以下「外部通常ボリュームＥＮＶ１」とも呼ぶ）として利用されることとする。
【０１２４】
次のステップＳｒ９０９ｃでは、ボリューム形成モジュール４２２が、外部通常ボリュームＥＮＶ１にＬＵＮを割り当てる。このＬＵＮは、外部ストレージシステム４００に対するアクセス要求で、外部通常ボリュームＥＮＶ１を指定するためのＬＵＮである。また、このＬＵＮは、ストレージシステム３００ｃとは独立に決定される。また、第３実施例では、ストレージシステム３００ｃが外部通常ボリュームＥＮＶ１にアクセスする際にこのＬＵＮを利用する。以下、このＬＵＮのことを外部ＬＵＮ（ＥＬＵＮ）とも呼ぶ。なお、ＥＬＵＮの設定処理は、図１０のステップＳｒ６２０と同様に行われる。メモリ４２０には、使用されているＬＵＮの一覧が格納されている（図示せず）。
【０１２５】
ＥＬＵＮを割り当てたら、次のステップＳｒ９１０ｃ（図２２）で、ボリューム形成モジュール４２２は、ボリュームテーブル４２６に、外部通常ボリュームＥＮＶ１に関する情報を格納する。
【０１２６】
図２３は、ボリュームテーブル４２６の一例を示す説明図である。このボリュームテーブル４２６は、ＬＵＮ（ＥＬＵＮ）と、記憶領域の種類と、先頭セクタと、サイズとの、対応関係を格納している。記憶領域の種類と、先頭セクタと、サイズとの、意味は、図８に示す識別子変換テーブル３２６と同じである。図２３の例では、外部通常ボリュームＥＮＶ１のＬＵＮとして「０３」が割り当てられている。また、外部通常ボリュームＥＮＶ１は、第１論理ボリュームＥＬＶ１の第０番セクタから始まる５０Ｇバイト分の記憶領域である。
【０１２７】
また、ステップＳｒ９１０ｃでは、ボリューム形成モジュール４２２が、形成完了通知を管理サーバ２００に送信する。この際、ＥＬＵＮも送信する。ストレージ管理モジュール２２２は、完了通知を受信したら、外部通常ボリュームＥＮＶ１のマッピング処理を実行する。
【０１２８】
図２４は、外部通常ボリュームＥＮＶ１のマッピング処理の手順を示すフローチャートである。管理サーバ２００のステップＭ８００ｃ（Ｍ８２５ｃ〜Ｍ８５０ｃ）は、第１実施例のステップＭ８００（図１２）の後半部分（Ｍ８２５〜Ｍ８５０）の代わりに実行される。一方、ストレージシステム３００のステップＳ９５０ｃは、第１実施例のステップＳｒ９５０（図１２）の代わりに実行される。図１２に示したステップＳｒ９５０との差異は、第１テンポラリボリュームＴＶ１からの移行先ボリュームが外部通常ボリュームＥＮＶ１である点である。
【０１２９】
まず、ストレージ管理モジュール２２２は、ステップＭ８２５ｃで、構成管理テーブル２２４（図６）の割当ＬＵＮ（第１テンポラリボリュームＴＶ１対応のＬＵＮ）に対応付けられた移行状態を移行中に変更する。そして、ステップＳｒ８２８ｃで、ストレージシステム３００に、外部通常ボリュームＥＮＶ１のマッピング指示を送信する。この際、ＥＬＵＮも送信する。
【０１３０】
次に、領域確保モジュール３２１は、マッピング指示を受信したら（Ｓｒ９５１ｃ）、外部通常ボリュームＥＮＶ１を、自己の通常ボリュームとしてマッピングする（Ｓｒ９５２ｃ）。具体的には、まず、外部ボリューム対応テーブル３２８（図２１）に、外部通常ボリュームＥＮＶ１に関する情報を格納する。
【０１３１】
図２５は、外部ボリューム対応テーブル３２８の一例を示す説明図である。この外部ボリューム対応テーブル３２８は、内部論理ボリューム番号と、外部ポートＷＷＮと、外部ストレージシステムＬＵＮ（ＥＬＵＮ）と、の対応関係を格納する。内部論理ボリューム番号は、ストレージシステム３００ｃ内における論理ボリューム番号である。外部ポートＷＷＮは、外部ストレージシステムを特定するためのＷＷＮである。外部ストレージシステムＬＵＮは、外部ストレージシステムのボリュームを特定するためのＬＵＮ（ＥＬＵＮ）である。ストレージシステム３００ｃは、外部ポートＷＷＮとＥＬＵＮとによって特定される外部のボリュームを、内部論理ボリューム番号で特定される仮想的な内部ボリュームとして利用する。
【０１３２】
図２５の例では、外部通常ボリュームＥＮＶ１の内部論理ボリューム番号として「５」が割り当てられている。すなわち、外部通常ボリュームＥＮＶ１が、ストレージシステム３００ｃの第５論理ボリュームＬＶ５（図２１）として利用される。例えば、データ中継モジュール３２４は、第５論理ボリュームＬＶ５に対するアクセス要求を受信したら、外部通常ボリュームＥＮＶ１にアクセスする。
【０１３３】
次に、領域確保モジュール３２１は、識別子変換テーブル３２６（図２１）に、第５論理ボリュームＬＶ５（外部通常ボリュームＥＮＶ１）に関する情報を追加する。図２６は、第３実施例における識別子変換テーブル３２６の一例を示す説明図である。図２６の例では、第５論理ボリュームＬＶ５に識別子「#C」を割り当てている。そして、識別子「#C」で特定されるボリュームに関する情報として、第５論理ボリュームＬＶ５の情報を格納する。ただし、先頭セクタとサイズとは利用されない。
【０１３４】
また、領域確保モジュール３２１は、ボリュームマッピングテーブル３２５（図２１）に、第５論理ボリュームＬＶ５（外部通常ボリュームＥＮＶ１）に関する情報を追加する。図２７は、第３実施例におけるボリュームマッピングテーブル３２５の一例を示す説明図である。図２７の例では、テンポラリボリューム識別子「#1」に対応する通常ボリューム識別子として「#C」を格納する。
【０１３５】
マッピングが完了したら、データ移行モジュール３２３が、第１テンポラリボリュームＴＶ１から外部通常ボリュームＥＮＶ１へのデータ移行処理を実行する。この移行処理（ステップＳｒ９５４ｃ〜Ｓｒ９６２ｃ）は、図１２の処理Ｓｒ９５４〜Ｓｒ９６２と同じである。ただし、移行先のボリュームは外部通常ボリュームＥＮＶ１である。
【０１３６】
全てのセクタの移行が完了したら、次のステップＳｒ９６４ｃで、領域確保モジュール３２１は、ボリュームマッピングテーブル３２５（図２７）の移行状態を「移行済」に変更し、移行完了通知を管理サーバ２００に送信する。次のステップＳｒ９６６ｃでは、領域確保モジュール３２１が、第１テンポラリボリュームＴＶ１を削除する。この削除処理は、図１２のステップＳｒ９６６と同じである。
【０１３７】
以後、データ中継モジュール３２４（図２１）は、業務サーバ１００からの割当ＬＵＮ（第１テンポラリボリュームＴＶ１に割り当てられたＬＵＮ。図２７の例では「００」）を指定したアクセス要求を、第５論理ボリュームＬＶ５、すなわち、外部通常ボリュームＥＮＶ１を対象とするアクセスとして、中継する。
【０１３８】
一方、管理サーバ２００では、ストレージ管理モジュール２２２が、移行完了通知の有無に応じた処理（図２４：Ｍ８３０ｃ〜Ｍ８５０ｃ）を実行する。これらの処理は、図１２の処理Ｍ８３０〜Ｍ８５０と同じである。
【０１３９】
以上のように、第３実施例では、ストレージシステム３００ｃは、外部ストレージシステム４００に形成されたボリュームを通常ボリュームとして利用可能である。従って、ストレージシステム３００ｃのディスクアレイ３５０の空き容量が少ない場合でも、外部ストレージシステム４００を接続すれば、容易に、通常ボリュームを提供することが可能となる。
【０１４０】
また、第３実施例では、ストレージシステム３００ｃ（図２１）のメモリ３２０ｃは、ＬＵＮと外部ボリュームとの対応関係（ボリュームマッピングテーブル３２５（図２７）と、識別子変換テーブル３２６（図２６）と、外部ボリューム対応テーブル３２８（図２５）との全体）を格納している。従って、データ中継モジュール３２４は、この対応関係を参照することによって、業務サーバ１００とストレージシステム３００ｃとの間のデータ転送経路（ＬＵＮを含む）を変更せずに、アクセス対象のボリュームを、ストレージシステム３００ｃのテンポラリボリュームから、外部ストレージシステム４００の通常ボリュームへ切り替えることができる。その結果、ボリュームの切り替えに伴う業務サーバ１００の負担が増大すること（例えば、業務サーバ１００がＬＵＮの再設定処理を要求されること）を抑制できる。
【０１４１】
ところで、第３実施例において、外部ストレージシステム４００がストレージエリアネットワークＳＡＮｃに接続される前や、外部ストレージシステム４００が起動する前に、ストレージシステム３００ｃがテンポラリボリュームを提供することとしてもよい。一般に、ストレージシステム３００ｃが、外部ストレージシステム４００との通信が可能となる前に、テンポラリボリュームを提供することとしてもよい。こうすれば、外部ストレージシステム４００の準備に時間がかかる場合であっても、業務サーバ１００は、外部ストレージシステム４００の準備を待たずにテンポラリボリュームを利用できる。その結果、業務サーバ１００に対する記憶領域の提供にかかる時間を短縮することが可能となる。ここで、ストレージシステム３００ｃは、外部ストレージシステム４００との通信が可能となった後に、データを移行すればよい。
【０１４２】
Ｄ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１４３】
変形例１：
データ移行中のアクセス方法としては、図１３〜図１６に示す方法に限らず、他の種々の方法を採用可能である。例えば、図１５、図１６の移行中のデータ読み込み処理において、指定セクタが移行済のセクタであっても、書き込み済みセクタではない場合には、テンポラリボリュームからデータを読み込むこととしてもよい。例えば、図１６の例で、セクタ番号８０のデータを、テンポラリボリュームＴＶ１から読み込むこととしてもよい。ただし、第１実施例のように、移行済のセクタについては、通常ボリュームＮＶ１からデータを読み込むこととすれば、テンポラリボリュームＴＶ１の移行済の部分領域を、移行中に、他の用途のために解放することが可能となる。
【０１４４】
また、移行中のアクセス方法としては、以下のような方法を採用可能である。例えば、移行中のデータ書き込み処理として、データ中継モジュール３２４（図１）が、常にテンポラリボリュームに書き込むとともに、移行済のセクタに関しては、さらに通常ボリュームにも書き込む処理を採用してもよい。ここで、移行中のデータ読み込み処理としては、データ中継モジュール３２４が、常にテンポラリボリュームから読み込む処理を採用すればよい。移行が完了した後は、上記各実施例と同様に、データ中継モジュール３２４は、通常ボリュームをアクセスの対象として用いればよい。ここで、テンポラリボリュームが形成される記憶装置として、通常ボリュームが形成される記憶装置（例えば、ハードディスク装置）よりも読み込み速度の速い装置（例えば、キャッシュメモリ（半導体メモリ））を用いれば、移行中であってもデータの読み込み速度が低下することを抑制できる。
【０１４５】
但し、上述の実施例のように、移行中の書き込み処理として、データ中継モジュール３２４が、通常ボリュームのみにデータを書き込む処理を採用してもよい。こうすれば、移行中の書き込み処理の速度が低下することを抑制できる。
【０１４６】
変形例２：
上記各実施例では、業務サーバ１００が割り当てを要求することとしているが（図２、図４：ステップＢ１００）、他の装置が割り当てを要求することとしてもよい。例えば、管理サーバ２００が、オペレータの指示に従って割り当てを要求することとしてもよい。ここで、オペレータが管理サーバ２００を操作することによって、図２のステップＭ２００以降の処理が実行されることとしてもよい。この際、要求サイズと要求ＲＡＩＤレベルとを、オペレータが指定することとしてもよい。また、これらの設定に限らず、ボリューム（テンポラリボリュームと通常ボリュームとを含む）に関する他の設定をオペレータが指定することとしてもよい。例えば、通常ボリュームやテンポラリボリュームの形成に利用するディスク装置をオペレータが指定してもよい。また、複数のテンポラリボリュームが利用可能な場合に、利用するテンポラリボリュームをオペレータが指定してもよい。
【０１４７】
変形例３：
上記各実施例において、テンポラリボリュームのサイズは、要求サイズと同じでなくてもよい。例えば、要求サイズよりも大きくてもよい。
【０１４８】
また、記憶領域に格納されるデータ量が、記憶領域の提供を開始した当初には、要求サイズよりも少ない場合がある。このような場合には、テンポラリボリュームのサイズが要求サイズよりも小さくてもよい。ここで、以下のように、テンポラリボリュームに対するアクセスを行うことができる。すなわち、データ中継モジュール３２４（図１、図１７、図２１）は、テンポラリボリュームに、書き込み要求されたセクタのデータのみを格納する。この際、業務サーバ１００（図１、図１７、図２１）から指定された書き込み用セクタ番号（以下「書き込み指定セクタ番号」と呼ぶ）と、テンポラリボリュームにおける実際のセクタ番号と、の対応関係（以下「セクタ対応関係」と呼ぶ）をメモリ３２０、３２０ｂ、３２０ｃに格納する。読み込み要求に対しては、セクタ対応関係を参照して、読み込むように指定されたセクタのデータを読み込む。また、データ移行モジュール３２３は、データを移行する際に、セクタ対応関係を参照して、テンポラリボリュームから読んだデータを、通常ボリュームの書き込み指定セクタ番号で特定されるセクタに格納する。なお、この場合は、書き込み要求されたデータ（セクタ）の量が、テンポラリボリュームのサイズを超える前に、通常ボリュームへの移行を完了することが好ましい。
【０１４９】
また、上記各実施例において、１つのセクタのデータサイズが、テンポラリボリュームと通常ボリュームとで異なっていても良い。この場合には、テンポラリボリュームのセクタと、通常ボリュームのセクタとの、対応関係を、予め、メモリ３２０、３２０ｂ、３２０ｃに格納しておけばよい。こうすれば、データ移行モジュール３２３とデータ中継モジュール３２４とは、この対応関係を参照することによって、適切にデータの読み書きを行うことができる。
【０１５０】
変形例４：
上記各実施例において、ストレージシステム３００、３００ｂ、３００ｃが、複数の業務サーバに論理ボリュームを提供する場合がある。このような場合には、業務サーバ毎にボリュームマッピングテーブル３２５（図９、図２０、図２７）を設けることが好ましい。ここで、ある業務サーバ用のボリュームマッピングテーブル３２５に登録されていない論理ボリュームについては、その業務サーバとの間のデータ転送を禁じることが好ましい。こうすれば、意図しない業務サーバとの間のデータ転送を防止することができる。
【０１５１】
変形例５：
上述の各実施例では、通常ボリュームの形成方法として、ＲＡＩＤ５システムを用いる方法を採用しているが、他のＲＡＩＤレベルのシステムを用いる方法を採用してもよい。また、ＲＡＩＤシステムを用いる方法に限らず、データを書き込む処理を実行することによってボリュームを形成する任意の方法を採用可能である。
【０１５２】
一方、テンポラリボリュームの形成方法としては、任意の方法を採用可能である。例えば、１つのディスク装置によって提供される記憶領域を、そのまま１つのテンポラリボリュームとして用いてもよい。また、上述の各実施例では、キャッシュメモリ３４０（図１、図１７、図２１）に形成されたテンポラリボリューム（例えば、テンポラリボリュームＴＶ１）は、データの冗長性を有していないが、この代わりに、データ冗長性を有することとしてもよい。例えば、ディスク装置を用いてＲＡＩＤシステムを構築する方法と同じ方法を用いて、キャッシュメモリ３４０にデータ冗長性を有するテンポラリボリュームを形成してもよい。
【０１５３】
また、通常ボリュームをＲＡＩＤシステム用いて形成する場合には、テンポラリボリュームも、同じＲＡＩＤレベルのＲＡＩＤシステムを用いて形成されていることが好ましい。こうすれば、データ移行を容易に行うことができる。ここで、テンポラリボリュームのＲＡＩＤレベルとしては、頻繁に利用される所定のＲＡＩＤレベル（例えば、ＲＡＩＤ５）に予め設定しておいてもよい。また、ＲＡＩＤレベルが互いに異なる複数のテンポラリボリュームを予め準備しておき、利用する際に、同じレベルのテンポラリボリュームを選択することとしてもよい。
【０１５４】
変形例６：
論理ボリュームを形成するためのデータ記憶装置としては、上述したディスク装置（ハードディスク装置とも呼ばれる）や、上述したキャッシュメモリ（半導体メモリ）に限らず、種々の記憶装置を利用可能である。例えば、フラッシュメモリ等の書き込み可能な種々の半導体メモリを用いてもよく、また、書き込み可能なＤＶＤや光磁気ディスクを用いてもよい。
【０１５５】
変形例７：
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。例えば、データ中継モジュール３２４（図１）の機能を、論理回路を有するハードウェア回路によって実現することとしてもよい。
【０１５６】
変形例８：
上記各実施例において、アクセス先指定情報としては、ＬＵＮに限らず、通常記憶領域を特定する情報となるべき任意の情報を採用可能である。また、アクセス先指定情報と記憶領域（一時記憶領域と通常記憶領域）との対応付けに利用される情報としては、上記各実施例で利用されている情報（例えば、判別テーブル３２７（図７）と、識別子変換テーブル３２６（図８）とボリュームマッピングテーブル３２５（図９）とに格納されている情報）に限らず、種々の情報を採用可能である。
【０１５７】
また、移行データ情報としては、移行ポインタ（図１４、図１６）に限らず、一時記憶領域内に存在する移行前のデータを識別する任意の情報を採用可能である。また、更新データ情報としては、書き込み済みセクタの番号（図１４、図１６）に限らず、通常記憶領域内に存在する移行中に更新されたデータを識別する任意の情報を採用可能である。
【０１５８】
変形例９：
上記各実施例において、管理サーバ２００（図１、図１７、図２１）の機能の一部、または、全部を、制御装置３０５、３０５ｂ、３０５ｃが実行することとしてもよい。さらに、管理サーバ２００を省略することとしてもよい。この場合には、業務サーバ１００が、ストレージシステム３００、３００ｂ、３００ｃ（制御装置３０５、３０５ｂ、３０５ｃ）に、割り当て要求を行う構成を採用可能である。また、オペレータが、ストレージシステム３００、３００ｂ、３００ｃを操作することによって、ストレージシステム３００、３００ｂ、３００ｃが記憶領域を提供する構成を採用することも可能である。
【０１５９】
変形例１０：
上記各実施例では、ストレージシステムと業務サーバとを用いてコンピュータシステムを構成しているが、ストレージシステムのみを用いてコンピュータシステムを構成することもできる。例えば、図１に示す第１実施例において、ストレージシステム３００と管理サーバ２００とのみを用いてコンピュータシステムを構成することができる。また、ストレージシステム３００のみを用いてコンピュータシステムを構成することもできる。この場合には、管理サーバ２００の機能の全部を制御装置３０５が実行することが好ましい。これらは、図１７に示す第２実施例についても同様である。また、図２１に示す第３実施例においては、ストレージシステム３００ｃと外部ストレージシステム４００と管理サーバ２００とのみを用いてコンピュータシステムを構成することができる。また、ストレージシステム３００ｃと管理サーバ２００とのみを用いてコンピュータシステムを構成することもできる。また、ストレージシステム３００ｃのみを用いてコンピュータシステムを構成することもできる。この場合には、管理サーバ２００の機能の全部を制御装置３０５ｃが実行することが好ましい。
【図面の簡単な説明】
【０１６０】
【図１】本発明の一実施例としてのデータ処理システムの構成を示す説明図。
【図２】ストレージシステム３００が記憶領域を提供する処理の手順を示すフローチャート。
【図３】ストレージシステム３００が記憶領域を提供する様子を示す説明図。
【図４】管理サーバ２００に送られるデータを示す説明図。
【図５】図２のステップＭ２００、Ｓｒ３００、Ｓｒ４００の詳細な手順を示すフローチャート。
【図６】構成管理テーブル２２４の一例を示す説明図。
【図７】判別テーブル３２７の一例を示す説明図。
【図８】識別子変換テーブル３２６の一例を示す説明図。
【図９】ボリュームマッピングテーブル３２５の一例を示す説明図。
【図１０】図２のステップＭ５００Ｓｒ６００の詳細な手順を示すフローチャート。
【図１１】図２のステップＢ７００の詳細な手順を示すフローチャート。
【図１２】図２のステップＭ８００Ｓｒ９００Ｓｒ９５０の詳細な手順を示すフローチャート。
【図１３】データ移行中の書き込み処理の手順を示すフローチャート。
【図１４】データ中継モジュール３２４が移行中にデータを書き込む様子を示す概略図。
【図１５】データ移行中の読み込み処理の手順を示すフローチャート。
【図１６】データ中継モジュール３２４が移行中にデータを読み込む様子を示す概略図。
【図１７】第２実施例におけるデータ処理システム９００ｂの構成を示す説明図。
【図１８】第２実施例における判別テーブル３２７ｂの一例を示す説明図。
【図１９】第２実施例における識別子変換テーブル３２６の一例を示す説明図。
【図２０】第２実施例におけるボリュームマッピングテーブル３２５の一例を示す説明図。
【図２１】第３実施例におけるデータ処理システム９００ｃの構成を示す説明図。
【図２２】通常ボリューム形成処理の手順を示すフローチャート。
【図２３】ボリュームテーブル４２６の一例を示す説明図。
【図２４】外部通常ボリュームＥＮＶ１のマッピング処理の手順を示すフローチャート。
【図２５】外部ボリューム対応テーブル３２８の一例を示す説明図。
【図２６】第３実施例における識別子変換テーブル３２６の一例を示す説明図。
【図２７】第３実施例におけるボリュームマッピングテーブル３２５の一例を示す説明図。
【符号の説明】
【０１６１】
１００...業務サーバ
１１０...ＣＰＵ
１２０...メモリ
１２２...ボリュームマネージャ
１９０、１９２...インターフェース
２００...管理サーバ
２１０...ＣＰＵ
２２０...メモリ
２２２...ストレージ管理モジュール
２２４...構成管理テーブル
２９０、２９２...インターフェース
３００、３００ｂ、３００ｃ...ストレージシステム
３０５、３０５ｂ、３０５ｃ...制御装置
３１０...ＣＰＵ
３２０、３２０ｂ、３２０ｃ...メモリ
３２１...領域確保モジュール
３２２...ボリューム形成モジュール
３２３...データ移行モジュール
３２４...データ中継モジュール
３２５...ボリュームマッピングテーブル
３２６...識別子変換テーブル
３２７、３２７ｂ...テンポラリボリューム用領域判別テーブル
３２８...外部ボリューム対応テーブル
３４０...キャッシュメモリ
３５０、３５０ｂ...ディスクアレイ
３９０、３９２、３９４...インターフェース
４００...外部ストレージシステム
４１０...ＣＰＵ
４２０...メモリ
４２２...ボリューム形成モジュール
４２６...ボリュームテーブル
４５０...ディスクアレイ
４８０...バス
４９０、４９２...インターフェース
５００...スイッチ
９００、９００ｂ、９００ｃ...データ処理システム
ＬＡＮ...ローカルエリアネットワーク
ＳＡＮ、ＳＡＮｃ...ストレージエリアネットワーク
ＭＮ、ＭＮｃ...管理用ネットワーク
【図１】
2006331158.tif 000003
【図２】
2006331158.tif 000004
【図３】
2006331158.tif 000005
【図４】
2006331158.tif 000006
【図５】
2006331158.tif 000007
【図６】
2006331158.tif 000008
【図７】
2006331158.tif 000009
【図８】
2006331158.tif 000010
【図９】
2006331158.tif 000011
【図１０】
2006331158.tif 000012
【図１１】
2006331158.tif 000013
【図１２】
2006331158.tif 000014
【図１３】
2006331158.tif 000015
【図１４】
2006331158.tif 000016
【図１５】
2006331158.tif 000017
【図１６】
2006331158.tif 000018
【図１７】
2006331158.tif 000019
【図１８】
2006331158.tif 000020
【図１９】
2006331158.tif 000021
【図２０】
2006331158.tif 000022
【図２１】
2006331158.tif 000023
【図２２】
2006331158.tif 000024
【図２３】
2006331158.tif 000025
【図２４】
2006331158.tif 000026
【図２５】
2006331158.tif 000027
【図２６】
2006331158.tif 000028
【図２７】
2006331158.tif 000029