(57)【要約】      （修正有）【課題】シンプロビジョニングシステムにおいて、ファイルが使用する記憶領域用の階層を変更することにより他のファイルの性能が低下することを防ぐ。【解決手段】階層変更コマンドで特定された階層と、ターゲット記憶領域と現在関連付けられている階層とに基づいて階層を変更する。システム及び方法のページはさらに、各ページにつき１ファイルに制限得る。【選択図】図２３
2013089225.tif 000002
【特許請求の範囲】
【請求項１】
ストレージサブシステム内の特定された記憶領域の階層を、特定された階層に変更するためのコマンドを受信し、前記特定された階層とは異なる階層に割り当てられたファイルを含むページのための前記特定された記憶領域をチェックし、かつ前記チェックの結果に基づいて前記コマンドを実行するか否かを判断するＣＰＵを備える、ストレージサブシステム。
【請求項２】
前記異なる階層が前記特定された階層より低い場合、前記ストレージサブシステムは前記コマンドを実行し、前記異なる階層が前記特定された階層より低くない場合、前記ストレージサブシステムは前記コマンドを実行しない、請求項１に記載のシステム。
【請求項３】
前記ストレージサブシステムは、異なる記憶装置を前記ページに割り当てることによって、前記階層を変更するための前記コマンドを実行する、請求項１に記載のシステム。
【請求項４】
前記ストレージサブシステムは、前記階層を変更するための前記コマンドを拒否することによって、第１の階層に割り当てられる前記ファイルを維持する、請求項１に記載のシステム。
【請求項５】
前記階層を変更するための前記コマンドを前記ストレージサブシステムに送信するアプリケーションサーバをさらに備える前記システムであって、
前記ストレージサブシステムが、前記アプリケーションサーバから前記ストレージサブシステム内の位置についてのステータス問い合わせコマンドを受信した場合、前記ストレージサブシステムは、前記位置に対応する割り当てられた階層情報を前記アプリケーションサーバに送信する、請求項１に記載のシステム。
【請求項６】
前記アプリケーションサーバが、前記位置に対応する前記割り当てられた階層情報を受信した場合、前記アプリケーションサーバは、前記ストレージシステムに格納されるファイルを前記ページに位置調整する前記ストレージ位置の領域を決定する、請求項５に記載のシステム。
【請求項７】
前記異なる階層が前記特定された階層より高い場合、前記ストレージサブシステムは前記コマンドを実行し、前記異なる階層が前記特定された階層より高くない場合、前記ストレージサブシステムは前記コマンドを実行しない、請求項１に記載のシステム。
【請求項８】
前記ストレージサブシステムは、複数のストレージボリュームを備え、前記特定された記憶領域は、前記複数のストレージボリュームのうちの一つのストレージボリュームのストレージボリュームＩＤ及びストレージアドレスによって特定される、請求項１に記載のシステム。
【請求項９】
中央演算装置（ＣＰＵ）によって実行される命令を格納するコンピュータ読取可能媒体であって、
前記ストレージサブシステム内の特定された記憶領域の階層を、特定された階層に変更するためのコマンドを受信することと、
前記特定された階層とは異なる階層に割り当てられたファイルを含むページのための前記特定された記憶領域をチェックするために、前記ストレージサブシステムのＣＰＵを使用することと、
前記チェックの結果に基づいて前記コマンドを実行するか否かを判断することと
を含む、コンピュータ読取可能媒体。  
【請求項１０】
前記異なる階層が前記特定された階層より低い場合に、前記コマンドを実行し、前記異なる階層が前記特定された階層より低くない場合に、前記コマンドを実行しないことをさらに備える、請求項９に記載のコンピュータ読取可能媒体。
【請求項１１】
異なる記憶装置を前記ページに割り当てることによって、前記階層を変更するための前記コマンドを実行することをさらに備える、請求項９に記載のコンピュータ読取可能媒体。
【請求項１２】
前記階層を変更するための前記コマンドを拒否することによって、第１の階層に割り当てられる前記ファイルを維持することをさらに含む、請求項９に記載のコンピュータ読取可能媒体。
【請求項１３】
アプリケーションサーバからの前記ストレージサブシステム内の位置についてのステータス問い合わせコマンドを受信することと、
前記アプリケーションサーバに、前記位置に対応する割り当てられた階層情報を送信することと
をさらに含む、請求項９に記載のコンピュータ読取可能媒体。
【請求項１４】
前記異なる階層が前記特定された階層より高い場合に、前記コマンドを実行し、前記異なる階層が前記特定された階層より高くない場合に、前記コマンドを実行しないことをさらに含む、請求項９に記載のコンピュータ読取可能媒体。
【請求項１５】
前記アプリケーションサーバから前記ストレージサブシステム内の位置についてのステータス問い合わせコマンドを受信し、かつ前記位置に対応する割り当てられた階層情報を前記アプリケーションサーバに送信するＣＰＵを備える、ストレージサブシステム。
【請求項１６】
前記ストレージサブシステムは、前記ストレージサブシステム内の特定された記憶領域の階層を、特定された階層に変更するためのコマンドを受信し、かつ前記異なる階層が前記特定された階層よりも低い場合に、前記コマンドを実行し、前記異なる階層が前記特定された階層より低くない場合に、前記コマンドを実行しない、請求項１５に記載のシステム。
【請求項１７】
前記ストレージサブシステムは、異なる記憶装置を前記ページに割り当てることによって、前記階層を変更するための前記コマンドを実行する、請求項１６に記載のシステム。
【請求項１８】
前記ストレージサブシステムは、前記階層を変更するための前記コマンドを拒否することによって、第１の階層に割り当てられる前記ファイルを維持する、請求項１６に記載のシステム。
【請求項１９】
前記アプリケーションサーバが前記位置に対応する前記割り当てられた階層情報を受信した場合、前記アプリケーションサーバは、前記ストレージシステムに格納されるファイルを前記ページに位置調整する前記ストレージ位置の領域を決定する、請求項１５に記載のシステム。
【請求項２０】
前記ストレージサブシステムは、前記ストレージサブシステム内の特定された記憶領域の階層を、特定された階層に変更するためのコマンドを受信し、かつ前記異なる階層が前記特定された階層より高い場合は、前記コマンドを実行し、前記異なる階層が前記特定された階層より高くない場合は、前記コマンドを実行しない、請求項１５に記載のシステム。
【請求項２１】
前記ストレージサブシステムは、複数のストレージボリュームを備え、かつ前記特定された記憶領域は、前記複数のストレージボリュームのうちの一つのストレージボリュームのストレージボリュームＩＤ及びストレージアドレスによって特定される、請求項１６に記載のシステム。
【請求項２２】
階層変更コマンドをストレージサブシステムに発行するＣＰＵを備えるアプリケーションサーバを備えるシステムであって、前記コマンドは、特定された階層情報と、条件を満たす階層を有する前記ストレージシステム内の記憶領域に移動されるファイルのストレージ位置とを含む、システム。
【請求項２３】
前記アプリケーションサーバは、前記ストレージシステム内の前記ストレージ位置についてのステータス問い合わせコマンドを発行し、かつ前記ストレージ位置に対応する割り当てられた階層情報を受信する、請求項２１に記載のシステム。
【請求項２４】
前記アプリケーションサーバは、前記ストレージシステム内で移動される前記ファイルをページに位置調整する前記ストレージ位置の領域を決定する、請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
０１    例示的実施形態の態様は、概して、データストレージ環境におけるシンプロビジョニング及び階層管理に関し、特に、シンプロビジョニングシステムにおいてページを割り当てる方法及び装置に関する。
【背景技術】
【０００２】
０２    シンプロビジョニングとは、ライトコマンドを受信するストレージサブシステムの領域を、仮想ボリュームの未割り当て領域に割り当てるための方法である。ページは、割り当て領域の単位である。コマンドは、仮想ボリューム及びページサイズのステータスを取得するために使用することができる。このようなステータスが通知されると、アプリケーションは、いずれかの領域が割り当てられているか否かを判断することができる。ストレージサブシステムは、数種類の媒体を仮想ボリュームの未割り当て領域に割り当てることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
０３    図１及び図２は、領域のための階層を変更することができるアプリケーションプログラムのためのファイルと、仮想ボリュームと、論理ボリュームとの間の関係を示す例示的な図である。ファイルＡは、ページ０及びページ１にマップされる。仮想ボリュームのページ０は、論理ボリュームのページ１００にマップされる。論理ボリュームのページ１００及びページ１０１は階層１であり、論理ボリュームのページ２００及びページ２０１は階層２である。ファイル階層ポリシー情報４０５は、階層７０２によって特定された階層を有する領域に格納されるべきファイル名７０１によって特定されたファイルを示す。アプリケーションプログラムは、ファイル階層ポリシー情報４０５に基づいて階層を変更し、このファイル階層ポリシー情報４０５は、ファイル名と階層を関連付けるテーブルである。従って、論理ボリュームのページ０及びページ１は、図１の論理ボリュームの階層１にマップされる。
【０００４】
０４    図２に示されるように、アプリケーションプログラムがファイルＢの階層を階層２に変更するので、ページ１及びページ２は階層２にマップされ、ファイルＡの一部は階層２に格納される。階層２は階層１よりも低性能の媒体なので、ファイルＡの性能が低下し、このことは、性能上の理由で階層１にファイルＡが置かれた場合に弊害をもたらし得る。
【課題を解決するための手段】
【０００５】
０５    例示的実施形態の態様は、ストレージサブシステムを伴うシステムを含み、ストレージサブシステムは、当該ストレージサブシステム内の特定された記憶領域の階層を、特定された階層に変更するためのコマンドを受信し、前記特定された階層とは異なる階層に割り当てられたファイルを含むページのための前記特定された記憶領域をチェックし、かつ前記チェックの結果に基づいて前記コマンドを実行するか否かを判断するＣＰＵを備える。
【０００６】
０６    例示的実施形態の追加の態様は、中央演算装置（ＣＰＵ）によって実行される命令を格納するコンピュータ読取可能媒体をさらに含み、当該コンピュータ読取可能媒体は、前記ストレージサブシステム内の特定された記憶領域の階層を、異なる特定された階層に変更するためのコマンドを受信することと、前記特定された階層とは異なる階層に割り当てられたファイルを含むページのための前記特定された記憶領域をチェックすることと、前記チェックの結果に基づいて前記コマンドを実行するか否かを判断することとを含む。
【０００７】
０７    例示的実施形態の追加の態様は、ストレージサブシステムを伴うシステムをさらに含み、ストレージサブシステムは、前記アプリケーションサーバから前記ストレージサブシステム内の位置についてのステータス問い合わせコマンドを受信した場合、前記ストレージサブシステムは、前記位置に対応する割り当てられた階層情報を前記アプリケーションサーバに送信する。
【０００８】
０８    例示的実施形態の追加の態様はさらに、階層変更コマンドをストレージシステムに発行するアプリケーションサーバを伴うシステムをさらに含み、前記コマンドは、特定された階層情報と、条件を満たす階層を有する前記ストレージシステム内の記憶領域に移動されるファイルのストレージ位置とを含む。
【０００９】
０９    上記及び／又はその他の態様は、添付の図面とともに以下の実施形態の説明から容易に理解されるであろう。
【図面の簡単な説明】
【００１０】
【図１】１０    図１は、シンプロビジョニングシステムのための、ファイルと、仮想ボリュームと、論理ボリュームとの間の関係を示す例示的な図を示す。
【図２】１１    図２は、シンプロビジョニングシステムのための、ファイルと、仮想ボリュームと、論理ボリュームとの間の関係を示す例示的な別の図を示す。
【図３】１２    図３は、一例示的実施形態に従った情報システムのハードウェア構成を示す。
【図４】１３    図４は、一例示的実施形態に従ったアプリケーションサーバのメモリを示す。
【図５】１４    図５は、一例示的実施形態に従ったストレージサブシステムのメモリを示す。
【図６】１５    図６は、一例示的実施形態に従ったファイル位置情報を示す。
【図７】１６    図７は、一例示的実施形態に従ったファイル階層ポリシー情報を示す。
【図８】１７    図８は、一例示的実施形態に従ったＲＡＩＤグループ情報を示す。
【図９】１８    図９は、一例示的実施形態に従ったテーブル形式の論理ボリューム情報を示す。
【図１０】１９    図１０は、一例示的実施形態に従ったテーブル形式のプール情報を示す。
【図１１】２０    図１１は、一例示的実施形態に従ったテーブル形式の仮想ボリューム情報を示す。
【図１２】２１    図１２は、一例示的実施形態に従ったテーブル形式の階層定義情報を示す。
【図１３】２２    図１３は、一例示的実施形態に従ったテーブル形式の階層定義情報を示す。
【図１４】２３    図１４は、一例示的実施形態に従ったファイルライトコマンドを示す。
【図１５】２４    図１５は、一例示的実施形態に従ったリードコマンドを示す。
【図１６】２５    図１６は、一例示的実施形態に従ったライトコマンドを示す。
【図１７】２６    図１７は、一例示的実施形態に従った割り当てコマンドを示す。
【図１８】２７    図１８は、第１の例示的実施に従ったファイル制御プログラムの流れ図を示す。
【図１９】２８    図１９は、第１の例示的実施に従ったファイル制御プログラムの流れ図の他の一例を示す。
【図２０】２９    図２０は、第１の例示的実施に従ったディスク制御プログラムの流れ図を示す。
【図２１】３０    図２１は、第２の例示的実施に従ったステータス取得コマンドを示す。
【図２２】３１    図２２は、第２の例示的実施に従ったステータス取得コマンド応答を示す。
【図２３】３２    図２３は、第２の例示的実施に従った仮想ボリューム情報におけるファイルと、仮想ボリュームと、論理ボリュームとの間の関係を示す図を示す。
【図２４】３３    図２４は、第２の例示的実施に従ったファイル制御プログラムの流れ図の他の例を示す。
【図２５】３４    図２５は、第２の例示的実施に従ったディスク制御プログラムの流れ図を示す。
【発明を実施するための形態】
【００１１】
３５    本シンプロビジョニング方法は、各ページに位置づけられた複数のファイルを有するため、本シンプロビジョニング方法は、システムの領域の階層を変更するためのアプリケーションプログラムを有さない。また、アプリケーションプログラムがページの境界を知るための方法は存在しない。例示的実施形態は概して、記憶領域が、シンプロビジョニングを用いるストレージシステムの階層を変更することを可能にするシステム及び方法を提供することを対象とする。例示的実施形態では、ストレージサブシステムは、アプリケーションプログラムからのコマンドに基づいて領域の階層を変更する。
【００１２】
３６    一例示的実施では、アプリケーションプログラムは、ストレージサブシステムからページサイズを取得する。ストレージサブシステムのページは、各ページに１ファイルのみを含むことに制限される。よって、アプリケーションサーバは、ページサイズに基づいて１ファイルだけ及びその対応するページを探し出し、階層を変更するためのコマンドを送信する。
【００１３】
３７    図３は、一例示的実施形態に従った情報システムのハードウェア構成を示す。このシステムは、アプリケーションサーバ３００、ＳＡＮ（ストレージエリアネット枠）３２０、ＬＡＮ（ローカルエリアネットワーク）３４０、及びストレージサブシステム３６０を含む。アプリケーションサーバ３００は、ＣＰＵ（中央演算装置）３０１、メモリ３０２、ＨＤＤ（ハードディスクドライブ）３０３、ＳＡＮインタフェース３０４、及びＬＡＮインタフェース３０５を含む。ＣＰＵ３０１は、メモリ３０２からプログラムを読み出し、プログラムを実行する。メモリ３０２は、アプリケーションサーバ３００が開始した時にＨＤＤ３０３からプログラム及びデータを読み出し、プログラム及びデータを格納する。ＨＤＤ３０３は、プログラム及びデータを格納する。
【００１４】
３８    ＳＡＮインタフェース３０４は、アプリケーションサーバ３００とＳＡＮ３２０を接続する。ＬＡＮインタフェース３０５は、アプリケーションサーバ３００とＬＡＮ３４０を接続する。ＳＡＮ３２０は、アプリケーションサーバ３００とストレージサブシステム３６０を接続する。アプリケーションサーバ３００は、アプリケーションデータを送受信するためにストレージサブシステム３６０と相互作用するためにＳＡＮ３２０を使用する。アプリケーションサーバ３００は、管理データを送受信するためにストレージサブシステムと相互作用するためにＬＡＮ３４０を使用する。ＬＡＮ３４０は、アプリケーションサーバ３００とストレージサブシステム３６０を接続する。
【００１５】
３９    ストレージサブシステム３６０は、ＳＡＮインタフェース３６１、ＬＡＮインタフェース３６２、ＣＰＵ３６３、メモリ３６４、ディスクインタフェース３６５、一つ以上のＨＤＤ３６６、及び一つ以上のＳＳＤ（ソリッドステートドライブ）３６７を含む。ＳＡＮインタフェース３６１は、ストレージサブシステム３６０とＳＡＮ３２０を接続する。ＬＡＮインタフェース３６２は、ストレージサブシステム３６０とＬＡＮ３４０を接続する。ＣＰＵ３６３は、メモリ３６４からプログラムを読み出し、プログラムを実行する。ストレージサブシステム３６０が開始し、プログラム及びデータを格納する時に、メモリ３６４は、ＨＤＤ３６６及びＳＳＤ３６７からプログラム及びデータを読み出す。ディスクインタフェース３６５は、ＨＤＤ３６６及びＳＳＤ３６７をストレージシステム３６０の他の構成要素と接続する。ＨＤＤ３６６及びＳＳＤは、プログラム及びデータを格納する。
【００１６】
４０    メモリ３０２は、コンピュータ読取可能媒体の形式であってよく、これは、命令を実行するために命令をＣＰＵ３０１に提供することに関与するあらゆる媒体であり得る。メモリ３０２はさらに、取り外し可能な記憶装置（ポータブルハードドライブ、光媒体（ＣＤ又はＤＶＤ）、ディスク媒体、又はコンピュータが実行可能コードを読み出すことができるその他あらゆる媒体など）であってもよい。
【００１７】
４１    図４は、一例示的実施形態に従った図３のアプリケーションサーバ３００のメモリ３０２を示す。メモリ３０２は、オペレーティングシステム（ＯＳ）プログラム４０１、アプリケーションプログラム４０２、ファイル制御プログラム４０３、ファイル位置情報４０４、及びファイル階層ポリシー情報４０５を含む。ＯＳプログラム４０１は、アプリケーションプログラム４０２を実行する。アプリケーションプログラム４０２（例えば、データベース操作を制御するための命令）は、ストレージサブシステム３６０からデータを読み出すためにファイルリードコマンド及びファイルライトコマンドをファイル制御プログラム４０３に送信し、リードデータを処理し、かつ結果をストレージサブシステム３６０に書き込む。ファイル制御プログラム４０３は、ファイルを管理する。
【００１８】
４２    ファイル制御プログラム４０３がアプリケーションプログラム４０２からファイルリードコマンドを受信した場合、ファイル制御プログラム４０３は、ストレージサブシステム３６０からデータを読み出し、結果をアプリケーションプログラム４０２に送信する。ファイル制御プログラム４０３がアプリケーションプログラム４０２からファイルライトコマンドを受信した場合、ファイル制御プログラム４０３は、データをストレージサブシステム３６０に書き込み、結果をアプリケーションプログラム４０２に送信する。
【００１９】
４３    図５は、一例示的実施形態に従った図３のストレージサブシステム３６０のメモリ３６４を示す。メモリ３６４は、ディスク制御プログラム５０１、ＲＡＩＤ（Redundant Array of Inexpensive/Independent Disks）グループ情報５０２、論理ボリューム情報５０３、プール情報５０４、仮想ボリューム情報５０５、及び階層定義情報５０６を含む。ディスク制御プログラム５０１は、アプリケーションサーバ３００からリードコマンド及びライトコマンドを受信し、一つ以上のＨＤＤ３６６及び一つ以上のＳＳＤ３６７からデータを読み出し、ＲＡＩＤグループ情報５０２、論理ボリューム情報５０３、プール情報５０４、仮想ボリューム情報５０５、及び階層定義情報５０６を使用してデータを一つ以上のＨＤＤ３６６及び一つ以上のＳＳＤ３６７に書き込む。
【００２０】
４４    図６は、一例示的実施形態に従ってファイル位置情報４０４を示す。ファイル位置情報４０４は、ファイル名６０１、ファイルアドレス６０２、ボリューム名６０３、及びボリュームアドレス６０４用のエントリのための行（例えば、６０５、６０６、６０７）を有するテーブルを含む。ファイル位置情報４０４は、ファイル名６０１及びファイルアドレス６０２によって特定されたデータを示す。このデータは、ボリューム名６０３及びボリュームアドレス６０４によって特定された領域に格納される。
【００２１】
４５    図７は、一例示的実施形態に従ったファイル階層ポリシー情報４０５を示す。ファイル階層ポリシー情報４０５は、ファイル名７０１及び階層７０２用のエントリのための行（例えば、７０３、７０４、７０５）を有する第１のテーブルを含む。ファイル階層ポリシー情報４０５は、ボリューム名７１１及び優先度７１２用のエントリのための行７１３、７１４を有する第２のテーブルを含む。ファイル階層ポリシー情報４０５は、第１のテーブルについて、ファイル名７０１によって特定されたファイルが、対応する階層７０２を有する領域に格納されるべきであることを示す。第２のテーブルでは、二つ以上のファイルが一つのページに位置する場合、優先度７１２は、どのボリューム名７１１がより高い又はより低い優先度の階層を有するかを示す。管理者又はアプリケーションプログラム４０２は、ファイル階層ポリシー情報４０５を編集することができる。
【００２２】
４６    図８は、一例示的実施形態に従ったＲＡＩＤグループ情報５０２を示す。ＲＡＩＤグループ情報５０２は、ＲＡＩＤグループ名８０１、媒体名８０２、ＲＡＩＤレベル８０３、媒体タイプ８０４、及び容量８０５用のエントリのための行（例えば、８０６、８０７、８０８）を有するテーブルを含む。例えば、行８０６は、ＲＡＩＤグループ「ＲＧＡ」が媒体「ＳＳＤ Ａ」、「ＳＳＤ Ｂ」、及び「ＳＳＤ Ｃ」、ＲＡＩＤレベル「ＲＡＩＤ５」、媒体タイプ「ＳＳＤ  ＳＬＣ」、及び容量「１００」を含むことを示す。
【００２３】
４７    図９は、一例示的実施形態に従った論理ボリューム情報５０３を示す。論理ボリューム情報５０３は、論理ボリューム名９０１、論理ボリュームアドレス９０２、ＲＡＩＤグループ名９０３、及びＲＡＩＤグループアドレス９０４用のエントリのための行（例えば、９０５、９０６、９０７）を有するテーブルを含む。例えば、行９０５は、「Ｌ−ＶＯＬ  Ａ」のアドレス「０」〜「９９」が、ＲＡＩＤグループ「ＲＧＡ」のアドレス「０」〜「９９」にマップされていることを示す。
【００２４】
４８    図１０は、一例示的実施形態に従ったプール情報５０４を示す。プール情報５０４は、プール名１００１、論理ボリューム名１００２、仮想ボリューム名１００３、及び容量１００４用のエントリのための行（例えば、１００５、１００６）を有するテーブルを含む。例えば、行１００５は、プール「ＰＯＯＬ  Ａ」が、論理ボリューム「Ｌ−ＶＯＬ  Ａ」、「Ｌ−ＶＯＬ  Ｂ」、及び「Ｌ−ＶＯＬ  Ｃ」を含み、「ＰＯＯＬ  Ａ」の領域が「Ｖ−ＶＯＬ  Ａ」によって使用され、「Ｖ−ＶＯＬ  Ａ」の容量が「３００」であることを示す。
【００２５】
４９    図１１は、一例示的実施形態に従った仮想ボリューム情報５０５を示す。仮想ボリューム情報５０５は、仮想ボリュームページ番号１１０１、仮想ボリューム名１１０２、仮想ボリュームアドレス１１０３、論理ボリュームページ番号１１０４、論理ボリューム名１１０５、及び論理ボリュームアドレス１１０６用のエントリのための行（例えば、１１０７、１１０８、１１０９、１１１０、１１１１）を有するテーブルを含む。図１１の例では、ページサイズは１０である。例えば、行１１０７は、「ページ０」のアドレスが「Ｖ−ＶＯＬ  Ａ」の「０」〜「９」であり、「ページ１００」のアドレスが「Ｌ−ＶＯＬ  Ａ」の「０」〜「９」であり、「ページ０」が「ページ１００」にマップされていることを示す。
【００２６】
５０    図１２は、一例示的実施形態に従って階層定義情報５０６を示す。階層定義情報５０６は、階層１２０１、媒体タイプ１２０２、及びデフォルト階層１２０３用のエントリのための行（例えば、１２０４、１２０５、１２０６）を有するテーブルを含む。例えば、行１２０４は、階層「１」の媒体タイプが「ＳＳＤ  ＳＬＣ」であり、階層「１」がデフォルト階層ではないことを示し、行１２０５は、階層「２」の媒体タイプが「ＨＤＤ  ＳＡＳ１５,０００ｒｐｍ」であり、階層「２」がデフォルトの階層であることを示す。
【００２７】
５１    図１３は、一例示的実施形態に従ったファイルリードコマンド１３００を示す。ファイルリードコマンド１３００は、コマンドタイプ１３０１、ファイル名１３０２、及びファイルアドレス１３０３を含む。ファイルリードコマンド１３００は、アプリケーションプログラム４０２からファイル制御プログラム４０３に送信される。
【００２８】
５２    図１４は、一例示的実施形態に従ったファイルライトコマンド１４００を示す。ライトコマンド１４００は、コマンドタイプ１４０１、ファイル名１４０２、ファイルアドレス１４０３、及びデータ１４０４を含む。ファイルライトコマンド１６００は、アプリケーションプログラム４０２からファイル制御プログラム４０３に送信される。
【００２９】
５３    図１５は、一例示的実施形態に従ったリードコマンド１５００を示す。リードコマンド１５００は、コマンドタイプ１５０１、ボリューム名１５０２、及びボリュームアドレス１５０３を含む。リードコマンド１５００は、ファイル制御プログラム４０３からストレージサブシステム３６０に送信される。
【００３０】
５４    図１６は、一例示的実施形態に従ったライトコマンド１６００を示す。ライトコマンド１６００は、コマンドタイプ１６０１、ボリューム名１６０２、ボリュームアドレス１６０３、及びデータ１６０４を含む。ライトコマンド１６００は、ファイル制御プログラム４０３からストレージサブシステム３６０に送信される。
【００３１】
５５    図１７は、一例示的実施形態に従った割り当てコマンド１７００を示す。割り当てコマンド１７００は、コマンドタイプ１７０１、ボリューム名１７０２、ボリュームアドレス１７０３、及び階層１７０４を含む。割り当てコマンド１７００は、ファイル制御プログラム４０３からストレージサブシステム３６０に送信される。
【００３２】
５６    第１の例示的実施
【００３３】
５７    第１の例示的実施では、アプリケーションプログラムは、特定された記憶領域の階層を変更するためのコマンドを送信する。特定された記憶領域がページの一部である場合、及びコマンドによって特定された階層が、特定された領域に現在割り当てられている階層よりも低い場合は、ストレージサブシステムは、階層を変更しない。コマンドによって特定された階層が、特定された領域に現在割り当てられている階層よりも低くない場合は、ストレージサブシステムは、コマンドに基づいて特定された記憶領域の階層を変更する。明確にする目的で、上述の図面からの構成要素に言及する。
【００３４】
５８    ファイル制御プログラム４０３は、アプリケーションプログラム４０２からファイルリードコマンド１３００又はファイルライトコマンド１４００を受信し、リードコマンド１５００又はライトコマンド１６００をストレージサブシステム３６０に送信し、読み出し又は書き込みの結果をアプリケーションプログラム４０２に送信する。図１８は、第１の例示的実施に従って、ファイルリードコマンド１３００又はファイルライトコマンド１４００が受信された場合のアプリケーションサーバ３００のファイル制御プログラム４０３の流れ図を示す。
【００３５】
５９    操作１８０１では、ファイル制御プログラム４０３は、アプリケーションプログラム４０２からファイルリードコマンド１３００又はファイルライトコマンド１４００を受信する。操作１８０２では、操作１８０１から受信されたコマンドがファイルライトコマンド１４００である場合は、プロセスは、下記のように操作１８０３に進む。そうでない場合は、プロセスは、下記のように操作１８１０に進む。
【００３６】
６０    操作１８０３では、ファイルライトコマンド１４００のファイル名１４０２によって特定されたファイル名が、ファイル位置情報４０４のファイル名６０１にリストされている場合は、プロセスは、操作１８０６に進む。そうでない場合は、プロセスは、操作１８０４に進む。操作１８０４では、ファイル制御プログラム４０３は、ファイルライトコマンド１４００のファイル名１４０２によって特定されたファイル階層ポリシー情報４０５から階層７０２を取得する。操作１８０５では、ファイル制御プログラム４０３は、ファイル位置情報４０４からの任意のファイルのための未割り当て領域を検索し、未割り当て領域に対応するボリュームアドレス１７０３及び操作１８０４で選択された階層に対応する階層１７０４を示す割り当てコマンド１７００をストレージサブシステム３６０に送信し、ファイル位置情報４０４を更新する。
【００３７】
６１    操作１８０６では、ファイルライトコマンド１４００のボリュームアドレス１４０３によって特定された領域が、ファイル位置情報４０４のファイルアドレス６０２に割り当てられている場合は、プロセスは、操作１８０９に進む。そうでない場合は、プロセスは、操作１８０７に進む。操作１８０７では、ファイル制御プログラム４０３は、ファイルライトコマンド１４００のファイル名１４０２によって特定されたファイル階層ポリシー情報４０５から階層７０２を取得する。操作１８０８では、ファイル制御プログラム４０３は、ファイル位置情報４０４からの任意のファイルのための未割り当て領域を検索し、未割り当て領域に対応するボリュームアドレス１７０３及び操作１８０７で選択された階層に対応する階層１７０４を示す割り当てコマンド１７００をストレージサブシステム３６０に送信し、ファイル位置情報４０４を更新する。
【００３８】
６２    操作１８０９では、ファイル制御プログラム４０３は、ボリュームアドレス１６０３がファイルライトコマンド１４００及びファイル位置情報４０４によって特定されるライトコマンド１６００をストレージサブシステム３６０に送信し、書き込みの結果をアプリケーションプログラム４０２に送信する。
【００３９】
６３    操作１８１０では、ファイル制御プログラム４０３は、ファイル名６０１及びファイルアドレス６０２が、ファイルリードコマンド１３００のファイル名１３０２及びファイルアドレス１３０３によって特定される、ボリューム名６０３及びボリュームアドレス６０４を取得する。操作１８１１では、ファイル制御プログラム４０３は、ボリューム名１５０２及びボリュームアドレス１５０３が、操作１８１０で取得されたボリューム名６０３及びボリュームアドレス６０４である、リードコマンド１５００を送信する。
【００４０】
６４    図１９は、ファイル階層ポリシー情報４０５が第１の例示的実施に従って修正された場合に階層を変更するためのアプリケーションサーバ３００のファイル制御プログラム４０３の例示的な流れ図を示す。
【００４１】
６５    ファイル階層ポリシー情報４０５が変更された場合に、ファイル制御プログラム４０３は、ファイルのための階層を異なる階層に変更する。アプリケーションプログラム４０２及び管理者は、ファイル階層ポリシー情報４０５を修正することができる。
【００４２】
６６    操作１９０１では、アプリケーションプログラム４０２又は管理者がファイル階層ポリシー情報４０５を修正した場合に、ファイル制御プログラム４０３は、ファイル階層ポリシー情報４０５を取得する。操作１９０２では、ファイル制御プログラム４０３は、階層を操作１９０１で受信されたファイル階層ポリシー情報４０５によって特定された階層に変更するために、割り当てコマンド１７００をストレージサブシステム３６０に送信する。
【００４３】
６７    図２０は、第１の例示的実施に従ったストレージサブシステム３６０のためのディスク制御プログラム５０１の例示的な流れ図を示す。
【００４４】
６８    ディスク制御プログラム５０１は、ファイル制御プログラム４０３からリードコマンド１５００、ライトコマンド１６００、又は割り当てコマンド１７００を受信し、ディスク制御プログラム５０１は、リード又はライトコマンドの結果を送信する。
【００４５】
６９    操作２００１では、ディスク制御プログラム５０１は、ファイル制御プログラム４０３からリードコマンド１５００、ライトコマンド１６００、又は割り当てコマンド１７００を受信する。操作２００２では、操作１４０１でディスク制御プログラム５０１が受信したコマンドがライトコマンド１６００である場合、プロセスは、操作２００３に進む。そうでない場合は、プロセスは操作２００６に進む。
【００４６】
７０    操作２００３では、ライトコマンド１６００のボリューム名１６０２及びボリュームアドレス１６０３によって特定された領域が仮想ボリューム情報５０５に割り当てられている場合は、プロセスは操作２００５に進む。そうでない場合は、プロセスは、操作２００４に進む。操作２００４では、ディスク制御プログラム５０１は、媒体タイプが階層定義情報５０６のデフォルト階層１２０３によって特定された論理ボリュームの未割り当て領域を、ボリューム名１６０２及びボリュームアドレス１６０３によって特定された仮想ボリュームに割り当て、かつ仮想ボリューム情報５０５を更新する。操作２００５では、ディスク制御プログラム５０１は、ライトコマンド１６００からボリューム名１６０２及びボリュームアドレス１６０３を取得し、仮想ボリューム情報５０５から論理ボリューム名１１０５及び論理ボリュームアドレス１１０６を取得し、論理ボリューム情報５０３からＲＡＩＤグループ名９０３及びＲＡＩＤグループアドレス９０４を取得し、ライトコマンド１６００のデータ１６０４をＲＡＩＤグループ名９０３及びＲＡＩＤグループアドレス９０４によって特定された領域に書き込む。
【００４７】
７１    操作２００６では、操作２００１でディスク制御プログラム５０１が受信したコマンドがリードコマンド１５００である場合、プロセスは操作２００７に進む。そうでない場合は、プロセスは操作２０１０に進む。
【００４８】
７２    操作２００７では、リードコマンド１５００のボリューム名１５０２及びボリュームアドレス１５０３によって特定された領域が仮想ボリューム情報５０５に割り当てられている場合は、プロセスは操作２００９に進む。そうでない場合は、プロセスは操作２００８に進む。操作２００８では、ボリューム名１５０２及びボリュームアドレス１５０３によって特定された領域が書き込みされていないので、ディスク制御プログラム５０１は、アプリケーションサーバ３００に「０」を戻す。操作２００９では、ディスク制御プログラム５０１は、リードコマンド１５００からボリューム名１５０２及びボリュームアドレス１５０３を取得し、仮想ボリューム情報５０５から論理ボリューム名１１０５及び論理ボリュームアドレス１１０６を取得し、論理ボリューム情報５０３からＲＡＩＤグループ名９０３及びＲＡＩＤグループアドレス９０４を取得し、ＲＡＩＤグループ名９０３及びＲＡＩＤグループアドレス９０４によって特定された領域を読み出し、データを戻す。
【００４９】
７３    操作２０１０では、割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定された領域を含むページが仮想ボリューム情報５０５に割り当てられている場合は、プロセスは操作２０１２に進む。そうでない場合は、プロセスは操作２０１１に進む。
【００５０】
７４    操作２０１１では、ディスク制御プログラム５０１は、サイズがページサイズと同じであり、かつ階層が仮想ボリューム情報５０５及び論理ボリューム情報５０３からの割り当てコマンド１７００内の階層１７０４によって特定される未割り当て領域を検索し、割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定された領域を含む領域にページを割り当て、仮想ボリューム情報５０５を更新する。ディスク制御プログラム５０１が操作２００４の領域へのライトコマンド１６００を受信した場合、ディスク制御プログラム５０１は、割り当てるべき階層１７０４によって特定された階層の領域を予約し、階層１７０４によって特定された階層の領域を割り当ててもよい。
【００５１】
７５    操作２０１２では、割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定された領域がページの一部である場合は、プロセスは操作２０１３に進む。そうでない場合は、プロセスは操作２０１４に進む。
【００５２】
７６    操作２０１３では、ディスク制御プログラム５０１は、特定されたボリューム名１７０２をファイル階層ポリシー情報のボリューム名７１１と比較し、特定されたボリューム名１７０２の対応する優先度７１２をチェックする。優先度７１２が「高階層」であり、特定された階層１７０４が、割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定されたアドレスを有するページの階層より高い場合は、プロセスは操作２０１４に進む。優先度７１２が「低階層」であり、特定された階層１７０４が、割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定されたアドレスを含むページの階層より低い場合は、プロセスは操作２０１４に進む。そうでない場合は、プロセスは終了する。
【００５３】
７７    操作２０１３では、特定された階層１７０４が、割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定されたアドレスを有するページの階層より高い場合は、プロセスは操作２０１４に進む。そうでない場合は、プロセスは終了する。
【００５４】
７８    操作２０１４では、ディスク制御プログラム５０１は、仮想ボリューム情報５０５及び論理ボリューム情報５０３からの割り当てコマンド１７００の階層１７０４によって特定されたのと同じページサイズ、及び同じ階層を有する未割り当て領域を検索し、見つかったページを割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定された領域に割り当てる。操作２０１５では、ディスク制御プログラム５０１は、割り当てコマンド１７００のボリューム名１７０２及びボリュームアドレス１７０３によって特定された領域を含むページに格納されたデータを、操作２０１３で割り当てられたページにコピーし、仮想ボリューム情報５０５を更新する。操作２０１６では、ボリューム名１７０２及びボリュームアドレス１７０３によって特定された領域を有するページのすべてが処理された場合、プロセスは終了する。そうでない場合は、プロセスは操作２０１０に進む。
【００５５】
７９    第２の例示的実施
【００５６】
８０    第２の例示的実施では、ストレージシステムは、各ページが一つのファイルのみを格納するだけのようにセットアップされる。第１の例示的実施では、少なくとも一つのファイルが各ページに格納され、複数のファイルがページに格納される可能性を許容する。上述の図面からの構成要素に言及し、第１の例示的実施において既に説明した構成要素については、明確にする目的で省略する。
【００５７】
８１    図２１は、第２の例示的実施に従ったステータス取得コマンド２１００を示す。ステータス取得コマンド２１００は、コマンドタイプ２１０１、ボリューム名２１０２、及びボリュームアドレス２１０３を含む。ファイル制御プログラム４０３が開始した時、ステータス取得コマンド２１００は、ファイル制御プログラム４０３からストレージサブシステム３６０に送信される。
【００５８】
８２    図２２は、第２の例示的実施に従ったステータス取得コマンド応答２２００を示す。ステータス取得コマンド応答２２００は、応答タイプ２２０１、ボリューム名２２０２、ボリュームアドレス２２０３、割り当て階層２２０４、ページサイズ２２０５、及び階層の数２２０６を含む。ステータス取得コマンド応答２２００は、ステータス取得コマンド２１００の応答としてストレージサブシステム３６０からファイル制御プログラム４０３に送信される。割り当て階層２２０４は、ボリューム名２２０２及びボリュームアドレス２２０３によって特定された領域に割り当てられた階層を示す。ボリューム名２２０２及びボリュームアドレス２２０３によって特定された領域が割り当てられていない場合は、「未割り当て」が戻される。ページサイズ２２０５は、ボリューム名２２０３によって特定されたボリュームのページのサイズを示す。階層の数２２０６は、ボリューム名２２０３によって特定されたボリュームの階層の数を示す。
【００５９】
８３    図２３は、第２の例示的実施に従った仮想ボリューム情報５０５におけるファイルと、仮想ボリュームと、論理ボリューとの間の関係を示す図を示す。ファイル制御プログラムが、ステータス取得コマンド応答２２００のページサイズ２２０５に基づいたページ境界について通知されるので、第２の例示的実施では各ページにつき一つのファイルだけが割り当てられる。
【００６０】
８４    図２４は、第２の例示的実施に従ったファイル制御プログラム４０３の例示的な流れ図を示す。ファイル制御プログラム４０３は、アプリケーションプログラム４０２からファイルリードコマンド１３００又はファイルライトコマンド１４００を受信し、リードコマンド１５００又はライトコマンド１６００をストレージサブシステム３６０に送信し、読み出し又は書き込みの結果をアプリケーションプログラム４０２に送信する。
【００６１】
８５    操作２４０１は、第１の例示的実施の操作１８０５に類似している。しかし、操作２４０１では、一つのファイルだけが各ページに割り当てられる。操作１８０５では、一つ以上のファイルを各ページに割り当てることができる。
【００６２】
８６    操作２４０２は、第１の例示的実施の操作１８０８に類似している。しかし、操作２４０２では、一つのファイルだけが各ページに割り当てられる。操作１８０８では、一つ以上のファイルを各ページに割り当てることができる。
【００６３】
８７    図２５は、第２の例示的実施に従ったディスク制御プログラム５０１のための例示的な流れ図を示す。第２の例示的実施では、１ページだけが各ページに割り当てられるので、操作２０１２及び操作２０１３は省略される。ディスク制御プログラム５０１は、ファイル制御プログラム４０３からリードコマンド１５００、ライトコマンド１６００、又は割り当てコマンド１７００を受信し、ディスク制御プログラム５０１は、リード又はライトコマンドの結果を送信する。
【００６４】
８８    さらに、本明細書及び本明細書に開示された本発明の実行を考慮すれば、本発明のその他の実施は当業者にとっては明らかであろう。説明した実施形態の様々な態様及び／又は構成要素は、階層の変更を記憶領域に許可するコンピュータ化ストレージシステムにおいて単独で又はあらゆる組み合わせで使用し得る。本明細書及び実施例は、単に例示的なものと見なされることが意図されており、本発明の真の範囲及び精神は、以下の請求項によって示される。
【図１】
2013089225.tif 000003
【図２】
2013089225.tif 000004
【図３】
2013089225.tif 000005
【図４】
2013089225.tif 000006
【図５】
2013089225.tif 000007
【図６】
2013089225.tif 000008
【図７】
2013089225.tif 000009
【図８】
2013089225.tif 000010
【図９】
2013089225.tif 000011
【図１０】
2013089225.tif 000012
【図１１】
2013089225.tif 000013
【図１２】
2013089225.tif 000014
【図１３】
2013089225.tif 000015
【図１４】
2013089225.tif 000016
【図１５】
2013089225.tif 000017
【図１６】
2013089225.tif 000018
【図１７】
2013089225.tif 000019
【図１８】
2013089225.tif 000020
【図１９】
2013089225.tif 000021
【図２０】
2013089225.tif 000022
【図２１】
2013089225.tif 000023
【図２２】
2013089225.tif 000024
【図２３】
2013089225.tif 000025
【図２４】
2013089225.tif 000026
【図２５】
2013089225.tif 000027
【外国語明細書】
2013089225000001.pdf