(57)【特許請求の範囲】
【請求項１】
異なる階層レベルを有する複数の階層に分けられたプール領域を有するプールを提供する複数の物理ストレージデバイスと、
プロセッサ及びメモリを有し、前記複数の物理ストレージデバイスを制御し、少なくとも１つの仮想ボリュームを提供するコントローラと、
を備え、
前記プールの各階層は、前記物理ストレージデバイスの１つ以上のＲＡＩＤグループを含み、
各々の前記階層は、当該階層を提供する物理ストレージデバイスの必要条件を定めたルールであって当該階層に含まれる前記１つ以上のＲＡＩＤグループをグループ化するために必要な構成が示された階層構成ルールに従って構成され、
前記仮想ボリュームには前記階層レベルが少なくとも１つ設定され、
前記コントローラは、
前記階層の階層構成ルールが変更された場合に、当該階層を構成する前記プール領域を変更し、
前記仮想ボリュームに割り当てられた前記プール領域が当該仮想ボリュームに設定された階層レベルを満たさない場合には、当該プール領域を有する前記プールに属する他の前記物理ストレージデバイスのうち当該仮想ボリュームに設定された階層レベルに一致する物理ストレージデバイスから、新しい前記プール領域を当該仮想ボリュームに割り当て、以前に割り当てられたプール領域から新しく割り当てられたプール領域にデータをコピーする
ことを特徴とするストレージシステム。
【請求項２】
前記複数の物理ストレージデバイスが、前記複数の階層に分けられた前記プールにおける複数のＲＡＩＤグループに配置され、
前記プールの少なくとも１つのＲＡＩＤグループが、２つ以上の前記複数の階層に分割された物理ストレージデバイスを含む
ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記階層構成ルールが変更されて、前記仮想ボリュームに割り当てられたプール領域が当該仮想ボリュームに設定された階層レベルを満たさなくなった場合に、前記コントローラは、管理端末からの入力に応じた前記物理ストレージデバイスに対する前記階層構成ルールの変更に基づいて、新しいプール領域を前記複数の仮想ボリュームに割り当てる
ことを特徴とする請求項１または２の何れか１項に記載のストレージシステム。
【請求項４】
前記プールが、複数のシン・プロビジョニング・プールを含み、
前記コントローラが、２つ以上の前記シン・プロビジョニング・プールを１つの仮想ボリュームに割り当てるための入力を受信し、前記２つ以上のシン・プロビジョニング・プールを、前記１つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする
ことを特徴とする請求項１から３のうちの何れか１項に記載のストレージシステム。
【請求項５】
前記コントローラは、前記ストレージシステムの階層負荷を監視して、仮想ボリュームに割り当てられるプール領域が当該階層負荷に基づいて決定されるように、前記階層負荷を示す情報を外部に提示させ、外部から入力された前記物理ストレージデバイスに対する前記階層構成ルールの変更に基づいて、前記プール領域を前記複数の仮想ボリュームに割り当てる
ことを特徴とする請求項１から４のうちの何れか１項に記載のストレージシステム。
【請求項６】
前記コントローラが、前記階層構成ルール及び前記仮想ボリュームの特徴に基づいて、プール領域を複数の仮想ボリュームに割り当て、
前記プールが、複数のシン・プロビジョニング・プールを含み、
前記コントローラが、２つ以上の前記シン・プロビジョニング・プールを１つの仮想ボリュームに割り当てるための入力を受信し、前記２つ以上のシン・プロビジョニング・プールを、前記１つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする
ことを特徴とする請求項１から５のうちの何れか１項に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明は一般に、階層化ストレージシステムの管理及び構成に関し、特に、動的ページ再配置ストレージシステム管理の方法及び装置に関する。
【背景技術】
【０００２】
０００２    ストレージシステムは、例えば、ＳＳＤ（ソリッドステートディスク）、ＳＡＳ（シリアルアタッチド）ＨＤＤ、ＳＡＴＡ（シリアルＡＴＡ）ＨＤＤを含む複数のタイプのディスクを使用することができる。これらのディスクは、性能、容量、信頼性及びコストが異なっている。ストレージユーザがストレージボリュームを取得する場合、ユーザは、ＲＯＩ（投資利益率）を最大化するために目的及び要求に従って多様なタイプのディスクから選択する。これら目的及び要求は、時の経過と共に変化し得る。その場合、最適化のためにディスク構成を調整する必要がある。１つのアプローチは、高いＲＯＩを維持するために階層化ストレージ管理を使用することである。さらに、プール構成を設計することは難しいので、最大化されたＲＯＩを保持するために、階層化ストレージ構成を動的に調整する必要があるかもしれない。
【０００３】
０００３    階層化ストレージ環境を管理するための既存の技術が存在している。例えば、米国特許出願公開第２００７／００５５７１３（Ａ１）号明細書は、ボリュームが容量の拡張を必要とする時に、ストレージシステムがその用途と必要な性能によって適切なディスクを選択する、ボリューム容量のプロビジョニング方法を開示している。米国特許出願公開第２００８／０１８４０００（Ａ１）号明細書は、１つのプールの中の複数の階層の間のシン・プロビジョニング（ページ単位でスライスされた）ボリュームマイグレーション方法を開示している。ストレージシステムは、低アクセスボリュームを選択し、このボリュームを、シームレスに別のストレージモジュールの低レイテンシーの階層に移動する。米国特許出願公開第２００７／０１９２５６０（Ａ１）号明細書は、ストレージシステムがシステム構成に応じて適切なプールにディスクをインストールする際に従う、シン・プロビジョニング・プールのためのディスクインストール制御方法を開示する。米国特許出願公開第２００７／００５５７１３（Ａ１）号明細書及び米国特許出願公開第２００７／０１９２５６０（Ａ１）号明細書は、ボリューム階層構成のチューニングに有用である。米国特許出願公開第２００８／０１８４０００（Ａ１）号明細書は、階層に対する容量インストールに有用である。これらの開示は、参照によって組み込まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００７／００５５７１３号
【特許文献２】米国特許出願公開第２００８／０１８４０００号
【特許文献３】米国特許出願公開第２００７／０１９２５６０号
【特許文献４】米国特許出願公開第２００７／００５５７１３号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
０００４    本発明の実施形態は、動的ページ再配置ストレージシステム管理の方法及び装置を提供する。ストレージユーザが階層化ストレージ環境でストレージを管理する場合、プール構成を設計することは難しい。ストレージは階層負荷を示し、ユーザは、階層負荷で階層構成を調整する。階層構成は動的に変化する。本発明は、ストレージが現在の階層負荷を示し、ストレージユーザが階層構成ルールを変更することができ、ストレージがストレージユーザによって設定された階層構成ルールに従って階層構成を再構成することができる技術を提供する。このようにしてストレージシステムは、実際の階層負荷に従ってストレージユーザからの入力に基づいて階層構成を動的に変更することができる。
【課題を解決するための手段】
【０００６】
０００５    本発明の一態様によると、階層化ストレージ環境におけるストレージ管理のためのストレージシステムは、異なる階層レベルを有する複数の階層に分けられたプール領域を有するプールを提供する複数の物理ストレージデバイスと、プロセッサ及びメモリを有し、前記複数の物理ストレージデバイスを制御し、少なくとも１つの仮想ボリュームを提供するコントローラと、を備え、前記プールの各階層は、前記物理ストレージデバイスの１つ以上のＲＡＩＤグループを含み、各々の前記階層は、当該階層を提供する物理ストレージデバイスの必要条件を定めたルールであって当該階層に含まれる前記１つ以上のＲＡＩＤグループをグループ化するために必要な構成が示された階層構成ルールに従って構成され、前記仮想ボリュームには前記階層レベルが少なくとも１つ設定され、前記コントローラは、前記階層の階層構成ルールが変更された場合に、当該階層を構成する前記プール領域を変更し、前記仮想ボリュームに割り当てられた前記プール領域が当該仮想ボリュームに設定された階層レベルを満たさない場合には、当該プール領域を有する前記プールに属する他の前記物理ストレージデバイスのうち当該仮想ボリュームに設定された階層レベルに一致する物理ストレージデバイスから、新しい前記プール領域を当該仮想ボリュームに割り当て、以前に割り当てられたプール領域から新しく割り当てられたプール領域にデータをコピーすることを特徴とする。
【０００７】
０００６    いくつかの実施形態では、プールの各階層は、物理ストレージデバイスの１つ以上のＲＡＩＤグループを含む。複数の物理ストレージデバイスは、複数の階層に分けられたプールの中の複数のＲＡＩＤグループに配置され、プールの中の少なくとも１つのＲＡＩＤグループは、複数の階層の２つ以上の階層に分割された物理ストレージデバイスを含む。プールが、有効であった階層構成ルールを満たさない場合、コントローラは、管理端末からの入力に応じた物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てる。プールは、複数のシン・プロビジョニング・プールを含む。コントローラは、シン・プロビジョニング・プールの２つ以上を１つの仮想ボリュームに割り当てるために入力を受信し、２つ以上のシン・プロビジョニング・プールを、１つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする。複数の仮想ボリュームのうち少なくとも１つの仮想ボリュームは、コントローラによる階層構成の変更に従って、その中の階層レベルを設定することができる１つ以上の指定領域を有する。プールが、有効であった階層構成ルールを満たさない場合、コントローラは、外部入力なしに自動的に生じる、物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てる。コントローラは、ストレージシステムの階層負荷を監視し、ストレージシステムの階層負荷に基づいて決定されるように、物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに割り当てる。
【０００８】
０００７    本発明の他の態様によると、階層化ストレージ環境におけるストレージ管理のためのストレージシステムは、異なる階層レベルを有する複数の階層に分けられるプールの中の複数のストレージボリュームであって、当該各階層は階層構成ルールに従って組織されており、ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含むコントローラとを含む。コントローラは、階層構成ルールが変更された場合、ストレージボリュームの階層の階層構成を変更するものであって、当該階層構成は階層レベルを含む。コントローラは、物理ストレージデバイスに対する階層レベルの変化に基づいて、プールを複数の仮想ボリュームに動的に割り当てる。複数の物理ストレージデバイスは、複数の階層に分けられるプールの中の複数のＲＡＩＤグループに配置される。プールの中の少なくとも１つのＲＡＩＤグループは、２つ以上の複数の階層に分割された物理ストレージデバイスを含む。
【０００９】
０００８    本発明の別の態様によれば、階層化ストレージ環境におけるストレージ管理のためのストレージシステムは、異なる階層レベルを有する複数の階層に分けられるプールの中の複数のストレージボリュームであって、当該各階層は階層構成ルールに従って組織されており、ストレージシステムの複数の物理ストレージデバイスによって提供される、複数のストレージボリュームと、複数の物理ストレージデバイスを制御するコントローラであって、プロセッサ及びメモリを含むコントローラとを含む。コントローラは、階層構成ルールが変更された場合、ストレージボリュームの階層の階層構成を変更するものであり、当該階層構成は階層レベルを含む。コントローラは、階層構成ルール及び仮想ボリュームの特徴に基づいてプールを複数の仮想ボリュームに割り当てる。プールは、複数のシン・プロビジョニング・プールを含む。コントローラは、２つ以上のシン・プロビジョニング・プールを１つの仮想ボリュームに割り当てるための入力を受信し、２つ以上のシン・プロビジョニング・プールを、１つの仮想ボリュームに割り当てられる集約されたシン・プロビジョニング・プールにマージする。
【発明の効果】
【００１０】
０００９    本発明の上記及びその他の特徴及び効果は、以下における特定の実施形態の詳細な説明を考慮して、当業者にとって明らかとなるであろう。
【図面の簡単な説明】
【００１１】
【図１】００１０    図１は、本発明の方法及び装置が適用され得るシステムのハードウェア構成を示す。
【図２】００１１    図２は、本発明の第１の実施形態に従った図１のストレージサブシステムのメモリの一例を示す。
【図３】００１２    図３は、図２のメモリのディスク管理テーブルの一例を示す。
【図４】００１３    図４は、図２のメモリのディスク情報テーブルの一例を示す。
【図５】００１４    図５は、図２のメモリのＲＡＩＤグループ管理テーブルの一例を示す。
【図６】００１５    図６は、図２のメモリの仮想ボリューム管理テーブルの一例を示す。
【図７】００１６    図７は、図２のメモリの階層管理テーブルの一例を示す。
【図８】００１７    図８は、図２のメモリの仮想ボリュームページ管理テーブルの一例を示す。
【図９】００１８    図９は、図２のメモリの容量プールチャンク管理テーブルの一例を示す。
【図１０】００１９    図１０は、図２のメモリの容量プールページ管理テーブルの一例を示す。
【図１１】００２０    図１１は、図２のメモリのキャッシュ管理テーブルの一例を示す。
【図１２】００２１    図１２は、第１の実施形態に従ったストレージサブシステムの論理ストレージ構成の概要を示す。
【図１３】００２２    図１３は、図２のメモリのキャッシュの論理構造の一例を示す。
【図１４】００２３    図１４は、第１の実施形態に従った容量プールチャンクの論理構造の一例を示す。
【図１５】００２４    図１５は、容量プールに対するテーブル参照構造の一例を示す。
【図１６】００２５    図１６は、仮想ボリュームに対するテーブル参照構造の一例を示す。
【図１７】００２６    図１７は、図２のメモリの書込みＩ／Ｏ制御のプロセスフローの一例を示す。
【図１８】００２７    図１８は、図２のメモリの読取Ｉ／Ｏ制御のプロセスフローの一例を示す。
【図１９】００２８    図１９は、図２のメモリのステージング制御のプロセスフローの一例を示す。
【図２０】００２９    図２０は、図２のメモリのデステージング制御のプロセスフローの一例を示す。
【図２１】００３０    図２１は、図２のメモリのフラッシュ制御のプロセスフローの一例を示す。
【図２２】００３１    図２２は、図２のメモリのキャッシュ制御のプロセスフローの一例を示す。
【図２３】００３２    図２３は、図２のメモリのボリューム・プロビジョニング制御のプロセスフローの一例を示す。
【図２４】００３３    図２４は、図２のメモリのボリューム階層制御のプロセスフローの一例を示す。
【図２５】００３４    図２５は、図２のメモリの仮想ボリューム負荷モニタ制御のプロセスフローの一例を示す。
【図２６】００３５    図２６は、図２のメモリのディスクインストール制御のプロセスフローの一例を示す。
【図２７】００３６    図２７は、図２のメモリの階層構成制御のプロセスフローの一例を示す。
【図２８】００３７    図２８は、図２のメモリの階層登録制御のプロセスフローの一例を示す。
【図２９】００３８    図２９は、図２のメモリの仮想ボリューム負荷モニタ制御のプロセスフローの一例を示す。
【図３０】００３９    図３０は、図２のメモリのページマッピング制御のプロセスフローの一例を示す。
【図３１】００４０    図３１は、図２のメモリのページマイグレーション制御のプロセスフローの一例を示す。
【図３２】００４１    図３２は、ＲＡＩＤグループインストールの表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。
【図３３】００４２    図３３は、プール変更の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。
【図３４】００４３    図３４は、プール集約の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。
【図３５】００４４    図３５は、仮想ボリューム・プロビジョニング及び階層再構成の表示及び操作イメージを示す仮想ボリュームウィンドウの一例を示す。
【図３６】００４５    図３６は、仮想ボリューム負荷モニタの表示イメージの一例を示す。
【図３７】００４６    図３７は、階層負荷モニタの表示イメージの一例を示す。
【図３８】００４７    図３８は、第１の実施形態に従ったプール作成及びディスクインストールの一連のステップの一例を示す。
【図３９】００４８    図３９は、階層構成不可プールを階層構成可能プールに変更する一連のステップの一例を示す。
【図４０】００４９    図４０は、２つのストレージプールを集約する一連のステップの一例を示す。
【図４１】００５０    図４１は、仮想ボリューム・プロビジョニング及びトランザクションの一連のステップの一例を示す。
【図４２】００５１    図４２は、仮想ボリューム階層再構成の一連のステップの一例を示す。
【図４３】００５２    図４３は、プール階層再構成の一連のステップの一例を示す。
【図４４】００５３    図４４は、本発明の第２の実施形態に従った図１のストレージサブシステムのメモリの一例を示す。
【図４５】００５４    図４５は、第２の実施形態に従った図４４のメモリのＲＡＩＤグループ管理テーブルの一例を示す。
【図４６】００５５    図４６は、第２の実施形態に従った図４４のメモリの階層管理テーブルの一例を示す。
【図４７】００５６    図４７は、第２の実施形態に従ったストレージサブシステムの論理ストレージ構成の概要を示す。
【図４８】００５７    図４８は、第２の実施形態に従った容量プールチャンクの論理構造の一例を示す。
【図４９】００５８    図４９は、本発明の方法及び装置が適用され得る、第３の実施形態に従ったシステムのハードウェア構成を示す。
【図５０】００５９    図５０は、第３の実施形態に従った図４９のストレージサブシステムのメモリの一例を示す。
【図５１】００６０    図５１は、第３の実施形態に従った図５０のメモリの仮想ボリューム管理テーブルの一例を示す。
【図５２】００６１    図５２は、第３の実施形態に従ったストレージサブシステムの論理ストレージ構成の概要を示す。
【図５３】００６２    図５３は、第３の実施形態に従った図４９の管理端末のメモリのアプリケーション管理テーブルの一例を示す。
【図５４】００６３    図５４は、第３の実施形態に従ったアプリケーション操作の一連のステップの一例を示す。
【図５５】００６４    図５５は、本発明の第４の実施形態に従った図１のストレージサブシステムのメモリの一例を示す。
【図５６】００６５    図５６は、図５５のメモリの仮想ボリューム管理テーブルの一例を示す。
【図５７】００６６    図５７は、ＲＡＩＤグループインストールの表示及び操作イメージの一例を示す。
【図５８】００６７    図５８は、仮想ボリュームＩ／Ｏ分布モニタを示すフロー図の一例を示す。
【図５９】００６８    図５９は、ローレンツ曲線を計算する式である。
【図６０】００６９    図６０は、アプリケーション操作の一連のステップの一例を示す。
【発明を実施するための形態】
【００１２】
００７０    本発明についての以下の詳細な説明では、開示の一部を形成するとともに、それによって本発明が実施され得るところの例示的実施形態が制限ではなく実例とし示される、添付の図面を参照する。これらの図面において、同様の符号は複数の図面を通してほぼ同様の構成要素を示す。さらに、注記すべきこととして、以下に説明する通り、また図面で示される通り、詳細な説明では様々な例示的実施形態を提供するが、本発明は本明細書で説明されかつ示される実施形態に限定されるものではなく、当業者にとって周知であろう又は周知のものとなるであろうその他の実施形態にも及び得る。本明細書における「一実施形態」「本実施形態」又は「これらの実施形態」への言及は、当該実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一つの実施形態に含まれることを意味し、本明細書中においてこれらの文言が様々な場所で使われていても、必ずしもすべてが同一の実施形態に言及するものとは限らない。さらに、以下の詳細な説明では、本発明を十分に理解するために多くの具体的な詳細を記載している。但し、これらの具体的な詳細のすべてが本発明の実施のために必要なわけではないということは、当業者にとっては明らかであろう。その他の状況において、不必要に本発明を曖昧にしないように、周知の構造、材料、回路、プロセス及びインタフェースについては詳細に説明されておらず、かつ／又はブロック図で示されていないかもしれない。
【００１３】
００７１    さらに、以下の詳細な説明のいくつかの部分は、コンピュータ内の動作のアルゴリズム及び象徴的な代表例に関して示されている。これらのアルゴリズムの記述及び象徴的な代表例は、データ処理分野の技術における当業者によって、彼らの新しい技法のエッセンスをその他の当業者らに最も効果的に伝えるために用いられる手段である。アルゴリズムは、望ましい最終状態又は結果をもたらすための一連の定義されたステップである。本発明において、実施されるステップは、有形の結果を達成するための有形の数量を物理的に操作することを必要としない。通常は（必ずしもそうとは限らないが）、上記の数量は、記憶され、転送され、組み合わせられ、比較され、又はその他の態様で操作されることが可能な電気又は磁気の信号又は命令の形態をとる。主に一般的使用の理由のために、ビット、価値、要素、シンボル、文字、用語、数、命令等として上記の信号を参照することが、時には都合が良いということが証明されている。但し、上記の用語及び類似の用語は、適切な物理的数量と関連付けられることとなり、かつ単にこれらの数量に適用される都合の良いラベルにすぎないということを留意すべきである。特に別段の記載がない限り、以下の考察より明らかな通り、説明全体に亘って「処理」「演算」「計算」「判定」「表示」等の用語を用いた考察は、コンピュータシステムのレジスタ及びメモリ内の物理的（電子的）数量として表わされるデータを操作し、かつ当該データを、コンピュータシステムのメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置内の物理数量として同様に表わされるその他のデータに変換させる、コンピュータ装置又はその他の情報処理装置の動作及びプロセスを含み得るものと理解される。
【００１４】
００７２    以下により詳細に説明する本発明の例示的な実施形態は、動的ページ再配置ストレージシステム管理のための装置、方法、及びコンピュータプログラムを提供する。
【００１５】
００７３    第１の実施形態
【００１６】
００７４    １．システム構成
【００１７】
００７５    図１は、本発明の方法及び装置が適用され得るシステムのハードウェア構成を示す。データを格納するためのストレージサブシステム１００は、ストレージネットワークを介してホストコンピュータ３００に接続される。ストレージ管理端末４００は、ストレージサブシステム１００に接続される。
【００１８】
００７６    ストレージサブシステム１００は、ＣＰＵ１１１と、メモリ１１２と、ストレージインタフェース１１３と、ローカルネットワークインタフェース１１４と、ＳＡＳ／ＩＦ及びＳＡＴＡ／ＩＦを含み得るディスクインタフェース１１５とを有するストレージコントローラ１１０を含む。ＣＰＵ１１１は、ストレージサブシステム１００を制御し、メモリ１１２に格納されたプログラム及びテーブルを読み取る。ストレージインタフェース１１３は、ストレージネットワーク２００を介してホストコンピュータ３００に接続する。ローカルネットワークインタフェース１１４は、ストレージ管理端末４００に接続する。ディスクインタフェース１１５（１１５ａ、１１５ｂ等）は、ディスク１２１に接続する。ディスクユニット１２０は、ＳＡＳ  ＳＳＤ（フラッシュメモリ）と、ＳＡＳ  ＨＤＤと、ＳＡＴＡ  ＨＤＤとを含み得る、データを格納するための複数のディスク１２１（１２１ａ、１２１ｂ等）を含む。
【００１９】
００７７    ホストコンピュータ３００は、ストレージネットワーク２００を介してストレージサブシステム１００にＩ／Ｏ要求を送信し、ストレージネットワーク２００を介してストレージサブシステム１００からデータを送受信する。
【００２０】
００７８    ストレージ管理端末４００は、ストレージサブシステム１００の可用性／信頼性の情報を示す。端末４００は、メモリ４１２に格納されたプログラム及びテーブルを読み取るＣＰＵ４１１を含む。ローカルネットワークインタフェース４１４は、ストレージサブシステム１００に接続する。ディスプレイ４１９は、ストレージサブシステム１００の可用性／信頼性の情報を示す。
【００２１】
００７９    図２は、本発明の第１の実施形態に従った図１のストレージサブシステム１００のメモリ１１２の一例を示す。ストレージ管理テーブル１１２―１１は、ディスク１２１及びそのグループについての物理構造管理のためのＲＡＩＤグループ管理テーブル１１２−１１−１（図５）と、ボリューム構成管理のための仮想ボリューム管理テーブル１１２−１１−２（図６）と、ディスク１２１のディスク構成管理のためのディスク管理テーブル１１２−１１−３（図３）と、ディスク情報データベースを提供するためのディスク情報テーブル１１２−１１−４（図４）と、各容量プール階層が階層構成ルール（図７の構成ルール１１２−１１−５−５を参照）に従って組織される容量プール階層管理のための階層管理テーブル１１２−１１−５（図７）と、仮想ボリュームのパーティションから容量プールのパーティションへの参照管理のための仮想ボリュームページ管理テーブル１１２−１１−６（図８）と、容量プールのリソース管理及び容量プールページから仮想ボリュームページへの参照管理のための容量プールチャンク管理テーブル１１２−１１−７（図９）と、容量プールチャンクのリソース管理のための容量プールページ管理テーブル１１２−１１−８（図１０）とを含む。メモリ１１２はさらに、メモリ１１２に格納されたキャッシュデータ領域１１２−３０の管理及びＬＲＵ／ＭＲＵ管理のためのキャッシュ管理テーブル１１２−１４（図１１）を含む。
【００２２】
００８０    ボリュームＩ／Ｏ制御１１２−２１は、書込みＩ／Ｏ制御１１２−２１−１（図１７）と、読取Ｉ／Ｏ制御１１２−２１−２（図１８）とを含む。Ｉ／Ｏ制御１１２−２１−１は、書込みＩ／Ｏ要求によって稼動し、書込みデータを受信し、かつチャネルインタフェース１１３を介してキャッシュデータ領域１１２−３０に書込みデータを格納する。読取Ｉ／Ｏ制御１１２−２１−２は、読取Ｉ／Ｏ要求によって稼動し、チャネルインタフェース１１３を介してキャッシュデータ領域１１２−３０から読取データを送信する。物理ディスク制御１１２−２２は、ディスク１２１からキャッシュデータ領域１１２−３０にデータを転送するためのステージング制御１１２−２２−１（図１９）と、キャッシュデータ領域１１２−３０からディスク１２１にデータを転送するためのデステージング制御１１２−２２−２（図２０）とを含む。フラッシュ制御１１２−２３（図２１）は、キャッシュデータ領域１１２−３０のダーティーデータをディスク１２１に周期的にフラッシュする。
【００２３】
００８１    ボリューム構成制御１１２−２５は、新しい仮想ボリュームを提供するためのボリューム・プロビジョニング制御１１２−２５−１（図２３）と、ボリュームの構成を変更するためのボリューム階層制御１１２−２５−２（図２４）と、仮想ボリューム負荷ステータスを出力するためのボリューム負荷モニタ制御１１２−２５−３（図２５）とを含む。プール構成制御１１２−２６は、新しいディスク１２１をインストールし、かつＲＡＩＤグループを構成するためのディスクインストール制御１１２−２６−１（図２６）と、構成ルールが変更された場合に階層構成を変更するための階層構成制御１１２−２６−２（図２７）と、階層構成（図７の構成ルール１１２−１１−５−５を参照）に従って階層に容量プールチャンクを登録するための階層登録制御１１２−２６−３（図２８）と、階層負荷ステータスを出力するための階層負荷モニタ制御１１２−２６−４（図２９）とを含む。当技術分野で周知のように、階層負荷は、（ｉ）階層の各ＲＡＩＤグループ（又はディスク）に対する負荷の総和及び／又は（ｉｉ）階層の各ＲＡＩＤグループ（又はディスク）に対する最大負荷に基づいて測定及び計算することができる。階層負荷は、平均待ち時間については「ｍｓ」又は「ｍｓｅｃ」、処理可能なトランザクションについては「ＩＯＰＳ」と表現されることが多い。ページ制御１１２−２７は、新しい容量プールページを仮想ボリュームページに割り当てるか、又は仮想ページがリンクする容量プールページを検索するためのページマッピング制御１１２−２７−１（図３０）と、容量プールページを別の容量プールページにコピーし、かつ仮想ボリュームページと容量プールページとの間のリンクを変更するためのページマイグレーション制御１１２−２７−２（図３１）とを含む。キャッシュ制御１１２−２８（図２２）は、キャッシュデータ領域１１２−３０にキャッシュされたデータを見つけ、キャッシュデータ領域１１２−３０に新しいキャッシュ領域を割り当てる。カーネル１１２−４０は、プログラムを実行するスケジュールを制御する。キャッシュデータ領域１１２−３０は、読取及び書込みキャッシュデータを格納し、複数のキャッシュスロットに分けられる。
【００２４】
００８２    ２．テーブル構造
【００２５】
００８３    図３は、図２のメモリ１１２のディスク管理テーブル１１２−１１−３の一例を示す。ディスク管理テーブル１１２−１１−３は、ディスク１２１のＩＤを含むディスク番号１１２−１１−３−１の欄と、ディスク１２１が属するＲＡＩＤグループのＩＤを含むＲＡＩＤグループ番号１１２−１１−３−２の欄と、ディスク１２１のモデル番号を含むモデル情報１１２−１１−３−３の欄とを含む。
【００２６】
００８４    図４は、図２のメモリ１１２のディスク情報テーブル１１２−１１−４の一例を示す。ディスク情報テーブル１１２−１１−４は、ディスクモデルのモデル番号を含むモデル情報１１２−１１−４−１の欄と、ディスクモデルのデータ格納タイプ（例えばＨＤＤ又はＳＤＤ）を含むディスクタイプ情報１１２−１１−４−２の欄と、ＨＤＤの１分間当たりの回転数の情報を含むＲＰＭ情報１１２−１１−４−３の欄（モデルがＨＤＤでない場合は、この構成要素は「−」を格納する）と、ＳＤＤのセルタイプの情報を含むセル情報１１２−１１−４−４の欄（モデルがＳＤＤでない場合は、この構成要素は「−」を格納する）と、ディスクモデルのインタフェースタイプを含むインタフェース情報１１２−１１−４−５の欄と、ディスクモデルのプラッタの容量を含むプラッタ容量情報１１２−１１−４−６の欄（モデルがＨＤＤでない場合は、この構成要素は「−」を格納する）と、ディスクデモルの容量を含む物理容量情報１１２−１１−４−７の欄とを含む。
【００２７】
００８５    図５は、図２のメモリ１１２のＲＡＩＤグループ管理テーブル１１２−１１−１の一例を示す。ＲＡＩＤグループ管理テーブル１１２−１１−１は、ＲＡＩＤグループのＩＤを含むＲＡＩＤグループ番号１１２−１１−１−１の欄と、ＲＡＩＤグループの構造を含むＲＡＩＤレベル１１２−１１−１−２の欄とを含む。「Ｎ（＝１０、５、６等）」は、「ＲＡＩＤレベルがＮである」ことを意味する。「Ｎ／Ａ」は、ＲＡＩＤグループが存在しないことを意味する。テーブル１１２−１１−１はさらに、ＲＡＩＤグループに属するディスク１２１のＩＤリストを含むディスク番号１１２−１１−１−３の欄と、冗長領域を除くＲＡＩＤグループの総容量を含むＲＡＩＤグループ容量１１２−１１−１−４の欄と、ＲＡＩＤグループが属する階層番号を含む階層番号１１２−１１−１−５の欄と、ＲＡＩＤグループへのアクセスカウンタを含むアクセスカウンタ１１２−１１−１−６の欄と、未使用のシン・プロビジョニング・チャンクを管理するための変数を含むフリーチャンクキューインデックス１１２−１１−１−７の欄と、使用シン・プロビジョニング・チャンクを管理するための変数を含む使用チャンクキューインデックス１１２−１１−１−８の欄とを含む。
【００２８】
００８６    図６は、図２のメモリ１１２の仮想ボリューム管理テーブル１１２−１１−２の一例を示す。仮想ボリューム管理テーブル１１２−１１−２は、ボリュームのＩＤを含むボリューム番号１１２−１１−２−１の欄と、ボリュームの容量を含むボリューム容量１１２−１１−２−２（「Ｎ／Ａ」はボリュームが存在しないことを意味する）の欄と、ボリュームが現在使用しているＲＡＩＤグループＩＤを含む使用ＲＡＩＤグループ番号１１２−１１−２−３の欄と、仮想ボリュームが現在使用しているチャンクＩＤを含む使用チャンク番号１１２−１１−２−５の欄と、仮想ボリュームがそこから容量プールページを割り当てるところの階層ＩＤを含む階層番号１１２−１１−２−６の欄とを含む。
【００２９】
００８７    図７は、図２のメモリ１１２の階層管理テーブル１１２−１１−５の一例を示す。階層管理テーブル１１２−１１−５は、ボリュームのＩＤを含む階層番号１１２−１１−５−１の欄と、層のＲＡＩＤグループの総容量を含む総容量１１２−１１−５−２の欄と、層の総使用容量プールページを含む使用容量１１２−１１−５−３の欄と、層のＲＡＩＤグループＩＤリストを含むＲＡＩＤグループリスト１１２−１１−５−４の欄と、層をグループ化するための構成ルールを含む構成ルール１１２−１１−５−５の欄とを含む。階層のＲＡＩＤグループは、構成ルールに一致する。構成ルールは、ディスクタイプ、ディスクインタフェース、性能、ＲＡＩＤレベル、ディスクの数等の要因に基づく。
【００３０】
００８８    図８は、図２のメモリ１１２の仮想ボリュームページ管理テーブル１１２−１１−６の一例を示す。仮想ボリュームページ管理テーブル１１２−１１−６は、仮想ボリュームページのトップアドレスを含む仮想ボリュームページインデックス１１２−１１−６−１の欄と、仮想ボリュームページが属するＲＡＩＤグループＩＤを含むＲＡＩＤグループ番号１１２−１１−６−２（「Ｎ／Ａ」は容量プールページが仮想ボリュームページに割り当てられないことを意味する）の欄と、仮想ボリュームページが参照する容量プールページのトップアドレスを含む容量プールページインデックス１１２−１１−６−３の欄と、仮想ボリュームページのディスクへのアクセスカウンタを含むＩ／Ｏカウンタ１１２−１１−６−４の欄と、アクセスカウントの開始時間を含むカウンタクリア時間の欄とを含む。
【００３１】
００８９    図９は、図２のメモリ１１２の容量プールチャンク管理テーブル１１２−１１−７の一例を示す。容量プールチャンク管理テーブル１１２−１１−７は、容量プールチャンクのＩＤを含む容量プールチャンク番号１１２−１１−７−１の欄と、それによって容量プールチャンクが参照されるところの仮想ボリュームのＩＤを含む仮想ボリューム番号１１２−１１−７−２の欄と、容量プールチャンクの使用容量を含む使用容量１１２−１１−７−３の欄と、領域が使用された時に、容量プールチャンクの取り除かれた容量を含む削除済み容量１１２−１１−７−４の欄と、キュー管理のための前チャンクポインタを含む前チャンク番号１１２−１１−７−５（「ＮＵＬＬ」はキューの先頭であることを意味する）の欄と、キュー管理のための次チャンクポインタを含む次チャンク番号１１２−１１−７−６（「ＮＵＬＬ」はキューの末尾であることを意味する）の欄とを含む。
【００３２】
００９０    図１０は、図２のメモリ１１２の容量プールページ管理テーブル１１２−１１−８の一例を示す。容量プールページ管理テーブル１１２−１１−８は、容量プールページのＩＤを含む容量プールページインデックス１１２−１１−８−１（「Ｎ／Ａ」は容量プールページが未使用であることを意味する）の欄と、それによって容量プールページが参照されるところの仮想ボリュームページのＩＤを含む仮想ボリュームページ番号１１２−１１−８−２の欄とを含む。「ＮＵＬＬ」は、容量プールページが未使用であることを意味する。
【００３３】
００９１    図１１は、図２のメモリ１１２のキャッシュ管理テーブル１１２−１４の一例を示す。キャッシュ管理テーブル１１２−１４は、キャッシュデータ領域１１２−３０のキャッシュスロットのＩＤを含むキャッシュスロット番号１１２−１４−１の欄と、キャッシュスロットがデータを格納するボリューム（ディスク又は仮想ボリューム）のＩＤを含むボリューム番号１１２−１４−２の欄と、キャッシュスロットがデータを格納するディスクアドレス（例えばＬＢＡ）を含むディスクアドレス１１２−１４−３の欄と、キュー管理のために次キャッシュスロット番号を含む次スロットポインタ１１２−１４−４（「ＮＵＬＬ」はキューの末尾であることを意味する）の欄と、キャッシュスロットのためのＩ／Ｏカウンタを含むＩ／Ｏカウンタ１１２−１４−７の欄とを含む。キューの種類の情報１１２−１４−５の欄は、キャッシュスロットキューの種類を含む。「フリー」は、未使用のキャッシュスロットを有するキューを意味する。「クリーン」は、ディスクスロットと同じデータを格納するキャッシュスロットを有するキューを意味する。「ダーティー」は、ディスクスロットのデータとは異なるデータを格納するキャッシュスロットを有するキューを意味し、ストレージコントローラ１１０が将来キャッシュスロットデータをディスクスロットにフラッシュする必要があることを示す。キューインデックスポインタ１１２−１４−６の欄は、キャッシュスロットキューインデックスを含む。
【００３４】
００９２    ３．論理構造
【００３５】
００９３    図１２は、第１の実施形態に従ったストレージサブシステム１００の論理ストレージ構成の概要を示す。ストレージサブシステム１００は、ホストコンピュータ３００によってアクセスできる仮想ボリューム１４１を含む。各仮想ボリューム１４１は、複数の仮想ボリュームページ１４１−２を有する。各仮想ボリュームページ１４１−２は、容量プールの容量プールページ１２１−２を参照する。容量プールは、複数のＲＡＩＤグループ１２１−４を有する。各ＲＡＩＤグループ１２１−４は、ディスク１２１のグループを含む。ストレージサブシステム１００は、ＲＡＩＤグループのタイプに基づいて複数の層（階層１、階層２、階層３）にグループ化又は分類されるいくつかのタイプのＲＡＩＤグループ１２１−４ａ、１２１−４ｂ、１２１−４ｃを有する。これらの階層は、容量プールに属する。仮想ボリューム１４１は同様に、層によって識別される。
【００３６】
００９４    図１３は、図２のメモリ１１２のキャッシュ領域１１２−３０の論理構造の一例を示す。矢印の線は、オブジェクトがポインタで参照することを意味する破線の矢印と、オブジェクトが計算で参照することを意味する実線の矢印とを含む。キャッシュデータ領域１１２−３０は、複数のキャッシュスロット１１２−３０−１に分割される。キャッシュスロット１１２−３０−１のサイズは、容量プールストライプ１２１−３のサイズ及び仮想ボリュームロット１４１−３のサイズと等しい。キャッシュ管理テーブル１１２−１８とキャッシュスロット１１２−３０−１は、１対１対応の関係である。キャッシュ管理テーブル１１２−１８は、仮想ボリュームロット１４１−３を参照し、ＲＡＩＤグループ管理テーブル１１２−１１−１を使用することによって、容量プールストライプ１２１−３を解決することができる。
【００３７】
００９５    図１４は、第１の実施形態に従った容量プールチャンク１２１−１の論理構造の一例を示す。矢印の線は、オブジェクトがポインタによって参照することを意味する実線の矢印と、オブジェクトが計算によって参照することを意味する破線の矢印とを含む。階層については、階層管理テーブル１１２−１１−５は、ＲＡＩＤグループ管理テーブル１１２−１１−１を参照する。ＲＡＩＤグループについては、ＲＡＩＤグループ管理テーブル１１２−１１−１は、階層管理テーブル１１２−１１−５を参照し、それに属するディスクのディスク管理テーブル１１２−１１−３を参照し、かつフリーチャンクキュー１１２−１５−０３及び使用チャンクキュー１１２−１５−０４によって容量プールチャンク管理テーブル１１２−１１−７を参照する。容量プールチャンク１２１−１については、容量プールチャンク１２１−１と容量プールチャンク管理テーブル１１２−１１−７の関係は固定されている。
【００３８】
００９６    図１５は、容量プールに向けてのテーブル参照構造の一例を示す。矢印の線は、オブジェクトがポインタによって参照することを意味する実線の矢印と、オブジェクトが計算によって参照することを意味する破線の矢印とを含む。仮想ボリューム１４１については、仮想ボリューム１４１と仮想ボリューム管理テーブル１１２−１１−２は、１対１対応の関係である。仮想ボリューム管理テーブル１１２−１１−２は、現在使用中の容量プールページ１２１−２を参照する。仮想ボリュームページ１４１−２については、仮想ボリュームページ１４１−２と仮想ボリュームページ管理テーブル１１２−１１−６は、１対１対応の関係である。仮想ボリュームページ管理テーブル１１２−１１−６は、ページが割り当てられる場合に、容量プールページ１２１−２のストライプを参照する。ＲＡＩＤグループについては、ＲＡＩＤグループとＲＡＩＤグループ管理テーブル１１２−１１−１は、１対１対応の関係である。ＲＡＩＤグループ管理テーブル１１２−１１−１は、使用済み及び未使用の容量プールチャンク１１２−１を参照する。
【００３９】
００９７    図１６は、仮想ボリューム１４１に向けてのテーブル参照構造の一例を示す。矢印の線は、オブジェクトがポイントで参照することを意味する実線の矢印と、オブジェクトが計算によって参照することを意味する破線の矢印とを含む。容量プールチャンク１２１−１については、容量プールチャンク１２１−１と容量プールチャンク管理テーブル１１２−１１−７は、１対１対応の関係である。容量プールチャンク管理テーブル１１２−１１−７は、仮想ボリューム１４１を参照する。容量プールページ１２１−２については、容量プールページ管理テーブル１１２−１１−８は、仮想ボリュームページ１４１−２を参照する。
【００４０】
００９８    ４．プロセスフロー図
【００４１】
００９９    図１７は、図２のメモリ１１２の書込みＩ／Ｏ制御１１２−２１−１のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２１−１−１で開始する。ステップ１１２−２１−１−２において、プログラムは、キャッシュ制御１１２−２８を呼び出して、キャッシュスロット１１２−３０−１を検索する。ステップ１１２−２１−１−３において、プログラムは、ホストコンピュータ３００から書込みＩ／Ｏデータを受信し、これを上述のキャッシュスロット１１２−３０−１に格納する。プログラムは、ステップ１１２−２１−１−５で終了する。
【００４２】
０１００    図１８は、図２のメモリ１１２の読取Ｉ／Ｏ制御１１２−２１−２のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２１−２−１で開始する。ステップ１１２−２１−２−２において、プログラムは、キャッシュ制御１１２−２８を呼び出して、キャッシュスロット１１２−３０−１を検索する。ステップ１１２−２１−２−３において、プログラムは、上述のキャッシュスロット１１２−３０−１のステータスをチェックして、データが既にそこに格納されたか否かを判断する。ステップ１１２−２１−２−４において、プログラムは、ステージング制御１１２−２２−１を呼び出す（図１９参照）。ステップ１１２−２１−２−５において、プログラムは、キャッシュスロット１１２−３０−１のデータをホストコンピュータ３００に転送する。プログラムは、ステップ１１２−２１−２−６で終了する。
【００４３】
０１０１    図１９は、図２のメモリ１１２のステージング制御のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２２−１−１で開始する。ステップ１１２−２２−１−２において、プログラムは、ページマッピング制御１１２−２７−１を呼び出して、仮想ボリュームページの容量プールページ１２１−２を検索する。ステップ１１２−２２−１−３において、プログラムは、データをディスク１２１のスロットから読み取り、これをキャッシュデータ領域１１２−３０に格納する。ステップ１１２−２２−１−４において、プログラムは、データ転送が終了するのを待つ。プログラムは、ステップ１１２−２２−１−５で終了する。
【００４４】
０１０２    図２０は、図２のメモリ１１２のデステージング制御のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２２−２−１で開始する。ステップ１１２−２２−２−２において、プログラムは、ページマッピング制御１１２−２７−１を呼び出して、仮想ボリュームページのために容量プールページ１２１−２を検索又は割り当てる。ステップ１１２−２２−２−３において、プログラムは、キャッシュデータ領域１１２−３０のスロットからデータを読み取り、これをディスク１２１に格納する。ステップ１１２−２２−２−４において、プログラムは、データ転送が終了するのを待つ。プログラムは、ステップ１１２−２２−２−５で終了する。
【００４５】
０１０３    図２１は、図２のメモリ１１２のフラッシュ制御１１２−２３のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２３−１で開始する。ステップ１１２−２３−２において、プログラムは、キャッシュ管理テーブル１１２−１４の「ダーティーキュー」を読み出す。ステップ１１２−２３−３において、プログラムは、デステージング制御１１２−２２−２を呼び出して、見つかったダーティーキャッシュスロットをデステージする。プログラムは、ダーティーキャッシュスロットが見つからない場合は、ステップ１１２−２３−３をスキップする。プログラムは、ステップ１１２−２３−４で終了する。
【００４６】
０１０４    図２２は、図２のメモリ１１２のキャッシュ制御１１２−２８のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２８−１で開始する。ステップ１１２−２８−２において、プログラムは、指定アドレスのキャッシュスロットを検索する。キャッシュスロットが見つかった場合、プログラムは、ステップ１１２−２８−６に進む。キャッシュスロットが見つからなかった場合、プログラムは、ステップ１１２−２８−３に進む。ステップ１１２−２８−３において、プログラムは、フリーキャッシュスロットが残っているか否かを判断するためのチェックを行う。フリーキャッシュスロットがある場合は、プログラムは、ステップ１１２−２８−４で指定アドレスに対してフリーキューから新しいキャッシュスロットを取得する。フリーキャッシュスロットがない場合、プログラムは、ステップ１１２−２８−５において、クリーンキャッシュスロットを選択し、クリーンキャッシュスロットの仮想ボリュームページのＩ／Ｏカウンタを総計し、クリーンスロットをパージし、指定アドレスに対してキャッシュスロットを割り当てる。最後に、ステップ１１２−２８−６において、プログラムは、アクセスカウンタ１１２−１４−７のＩ／Ｏカウンタを総計する。プログラムは、ステップ１１２−２８−７で終了する。
【００４７】
０１０５    図２３は、図２のメモリ１１２のボリューム・プロビジョニング制御１１２−２５−１のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２５−１−１で開始する。ステップ１１２−２５−１−２において、プログラムは、仮想ボリューム情報を仮想ボリューム管理テーブル１１２−１１−２に登録する。仮想ボリューム情報は、ボリューム番号と、ボリューム容量と、ボリューム階層番号とを含む。プログラムは、ステップ１１２−２５−１−３で終了する。
【００４８】
０１０６    図２４は、図２のメモリ１１２のボリューム階層制御１１２−２５−２のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２５−２−１で開始する。ステップ１１２−２５−２−２において、プログラムは、仮想ボリューム管理テーブル１１２−１１−２の仮想ボリューム階層情報を変更する。プログラムは、ステップ１１２−２５−２−３で終了する。
【００４９】
０１０７    図２５は、図２のメモリ１１２の仮想ボリューム負荷モニタ制御１１２−２５−３のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２５−３−１で開始する。ステップ１１２−２５−３−２において、プログラムは、欄１１２−１１−６−４のＩ／Ｏカウンタ及び仮想ボリュームページ管理テーブル１１２−１１−６の欄１１２−１１−６−５のクリア時間の情報（Ｉ／Ｏカウンタをクリアした後の現在時間）を、管理端末４００に送信する。ステップ１１２−２５−３−３において、プログラムは、Ｉ／Ｏカウンタをクリアし、現在時間をクリア時間として登録する。プログラムは、ステップ１１２−２５−３−４で終了する。
【００５０】
０１０８    図２６は、図２のメモリ１１２のディスクインストール制御１１２−２６−１のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２６−１−１で開始する。ステップ１１２−２６−１−２において、プログラムは、ディスクのためにＲＡＩＤグループを作り、インストールしたディスク情報をディスク管理テーブル１１２−１１−３に登録する。ステップ１１２−２６−１−３において、プログラムは、ＲＡＩＤグループをフォーマットする。ステップ１１２−２６−１−４において、プログラムは、階層登録制御１１２−２６−３（図２８参照）を呼び出して、ＲＡＩＤグループの階層情報をＲＡＩＤグループ管理テーブル１１２−１１−１に登録する。プログラムは、ステップ１１２−２６−１−５で終了する。
【００５１】
０１０９    図２７は、図２のメモリ１１２の階層構成制御１１２−２６−２のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２６−２−１で開始する。ステップ１１２−２６−２−２において、プログラムは、階層構成ルールを設定するために、構成ルールを階層管理テーブル１１２−１１−５に登録する。ステップ１１２−２６−２−３において、プログラムは、容量プールのＲＡＩＤグループを選択する。階層構成を登録するためのステップ１１２−２６−２−４において、プログラムは、階層登録制御１１２−２６−３（図２８参照）を呼び出して、登録された構成ルールに従ってＲＡＩＤグループの階層を変更する。ステップ１１２−２６−２−５において、プログラムは、すべてのＲＡＩＤグループが処理されるまで、ループバックしてステップ１１２−２６−２−３〜１１２−２６−２−５を繰り返す。プログラムは、ステップ１１２−２６−２−６で終了する。
【００５２】
０１１０    図２８は、図２のメモリ１１２の階層登録制御１１２−２６−３のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２６−３−１で開始する。ステップ１１２−２６−３−２では、プログラムは、ディスク管理テーブル１１２−１１−３及びディスク情報テーブル１１２−１１−４からＲＡＩＤグループのディスク情報を取得する。ステップ１１２−２６−３−３では、プログラムは、階層管理テーブル１１２−１１−５の構成ルールをチェックし、構成ルールに一致することによってＲＡＩＤグループのために一致した階層を選択する。容量プールチャンクを階層に登録するためのステップ１１２−２６−３−４において、プログラムは、階層情報をＲＡＩＤグループ管理テーブル１１２−１１−１に登録する。プログラムは、ステップ１１２−２６−３−５で終了する。
【００５３】
０１１１    図２９は、図２のメモリ１１２の階層負荷モニタ制御１１２−２６−４のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２６−４−１で開始する。ステップ１１２−２６−４−２において、プログラムは、ＲＡＩＤグループ管理テーブル１１２−１１−１の欄１１２−１１−１−６のＩ／Ｏカウンタ又はアクセスカウンタを、管理端末４００に送信する。ステップ１１２−２６−４−３において、プログラムは、Ｉ／Ｏカウンタをクリアする。プログラムは、ステップ１１２−２６−４−４で終了する。
【００５４】
０１１２    図３０は、図２のメモリ１１２のページマッピング制御１１２−２７−１のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２７−１−１で開始する。ステップ１１２−２７−１−２において、プログラムは、指定された仮想ページが既に容量プールページ１２１−２を割り当てられたか否かをチェックする。階層構成を満たす階層を選択するためのステップ１１２−２７−１−３において、プログラムは、仮想ボリュームページのために必要な階層を選択する。ステップ１１２−２７−１−４において、プログラムは、選択した階層がフリー又は未使用の容量プールページを有するか否かを判断するためのチェックを行う。フリーページがある場合は、プログラムは、ステップ１１２−２７−１−６において、選択された階層のＲＡＩＤグループからの仮想ボリュームページに新しい容量プールページを割り当てる。フリーページがない場合は、プログラムは、ステップ１１２−２７−１−６に進む前に、まずステップ１１２−２７−１−５において別の（容量が残っている）階層を選択する。ステップ１１２−２７−１−７において、プログラムは、割り当てられたか又は見つけられた容量プールページ情報を返送する。プログラムは、ステップ１１２−２７−１−８で終了する。
【００５５】
０１１３    図３１は、図２のメモリ１１２のページマイグレーション制御のプロセスフローの一例を示す。このプログラムは、ステップ１１２−２７−２−１で開始する。ステップ１１２−２７−２−２において、プログラムは、容量プールページ１２１−２を選択し、階層番号を含む情報を取得する。ステップ１１２−２７−２−３において、プログラムは、容量プールページが既に使用されているか否かを判断するためにチェックする。未使用の場合は、プログラムは、ステップ１１２−２７−２−２に戻る。容量プールページ１２１−２が未使用の場合は、プログラムは、仮想ボリュームページの階層構成を参照することによって、ステップ１１２−２７−２−４で容量プールページの仮想ボリュームページ情報を取得する。ステップ１１２−２７−２−５において、プログラムは、容量プールページ１２１−２が、一致した階層構成を有する正しい（構成された）階層に属するか否かを判断するためにチェックする。上記のとおり属する場合は、プログラムは、ステップ１１２−２７−２−２に戻る。上記のとおり属さない場合は、プログラムは、ステップ１１２−２７−２−６において、一致した階層構成を有する正しい階層に属するＲＡＩＤグループから新しい容量プールページを割り当てる。ステップ１１２−２７−２−７において、プログラムは、データを、現在の容量プールページから新たに割り当てられた容量プールページにコピーする。ステップ１１２−２７−２−８において、プログラムは、コピー操作の間に仮想ボリュームページに書込みＩ／Ｏが生じたか否かをチェックする。生じた場合は、プログラムは、ステップ１１２−２７−２−２に戻る。生じなかった場合は、プログラムは、ステップ１１２−２７−２−９において、新たに割り当てられたプールページのために、仮想ボリュームページと容量プールページとの間のリンク又はマッピングを変更する。
【００５６】
０１１４    ５．ヒューマンインタフェース
【００５７】
０１１５    図３２は、ＲＡＩＤグループインストールの表示及び操作イメージを示すプールマネージャウィンドウ４１９−２の一例を示す。プールマネージャウィンドウ４１９−２は、プール管理及びＲＡＩＤグループインストールのインタフェースを提供する。カーソル４１９−１−１は、ユーザが構成要素を選択及びクリックするために使用できるヒューマン入力デバイスポインタである。適用ボタン４１９−２−４をクリックすると、構成はストレージサブシステム１００にフラッシュされる。キャンセルボタン４１９−２−５をクリックすると、表示は現在の構成に復元される。プール管理ツリー４１９−１−４は、プールの構造を示す。「シン・プロビジョニング・プール」は、階層構成不可プールである。「動的ページ再配置プール」は、階層構成可能プールである。プール管理ツリー４１９−１−４は、プールと階層との関係、並びに階層とルールとの関係を示す。ユーザは、このツリーに新しいプールを作成することができる。ユーザは、このツリーから構成ルールを変更することもできる。プール情報４１９−１−５は、例えば、プールＩＤ、状態、総容量、使用容量、使用率、警告閾値、階層の数等を含む、選択されたプール情報を示す。ＲＡＩＤグループリスト４１９−２−１は、ＲＡＩＤグループ及び選択されたプールの構造のリストを示す。利用可能なＲＡＩＤグループリスト４１９−２−２は、未使用のＲＡＩＤグループのリストを示し、そこから、ユーザは、追加ボタン４１９−２−３及び適用ボタン４１９−２−４をクリックすることによって、ＲＡＩＤグループを指定されたプールに選択及び追加することができる。追加ボタン４１９−２−３をクリックすることによって、ユーザは、選択したＲＡＩＤグループを、選択したプールに追加することができる。キャンセルボタン４１９−２−５は、選択をキャンセルするために利用できる。
【００５８】
０１１６    図３３は、プール変更の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。ユーザがシン・プロビジョニング・プールをプール管理ツリー４１９−１−４内の動的ページ再配置ツリーにドラッグアンドドロップすると、操作されたプールは、階層構成可能プール（ツリー下のプール３）に変わる。
【００５９】
０１１７    図３４は、プール集約の表示及び操作イメージを示すプールマネージャウィンドウの一例を示す。ユーザがシン・プロビジョニング・プールをプール管理ツリー４１９−１−４内の動的ページ再配置プールにドラッグアンドドロップすると、操作されたプールが集約され（プール４とプール１０）、階層構成ルールが適用される。
【００６０】
０１１８    図３５は、仮想ボリューム・プロビジョニング及び階層再構成の表示及び操作イメージを示す仮想ボリュームウィンドウの一例を示す。仮想ボリュームマネージャウィンドウ４１９−３は、プール管理及び仮想ボリューム管理のインタフェースを提供する。仮想ボリュームリスト４１９−３−１は、選択されたプールの仮想ボリュームリストを表示する。ユーザが新しい仮想ボリューム情報を記述すると、新しい仮想ボリュームが用意される。ユーザが既存の仮想ボリュームの階層構成を変更すると、仮想ボリューム階層が変化する。
【００６１】
０１１９    図３６は、仮想ボリューム負荷モニタの表示イメージの一例を示す。仮想ボリューム負荷モニタウィンドウ４１９−４は、仮想ボリュームのＩ／Ｏトランザクション負荷、及び指定された仮想ボリュームの領域を示す。横軸４１９−４−１は時間を示し、縦軸４１９−４−２はトランザクション回数を示す。トランザクション履歴４１９−４−３及びトランザクション履歴４１９−４−４は、それぞれトランザクションの履歴を示す。
【００６２】
０１２０    図３７は、階層負荷モニタの表示イメージの一例を示す。階層負荷モニタウィンドウ４１９−５は、指定された階層のＲＡＩＤグループのＩ／Ｏトランザクション負荷を示す。横軸４１９−５−１は時間を示し、縦軸４１９−５−２はトランザクション回数を示す。トランザクション履歴４１９−５−３は、トランザクションの履歴を示す。最大論理負荷４１９−５−４は、現在の階層構成の最大論理負荷を示す。イベント４１９−５−５は、イベントが階層に生じる時間を示す（例えば、ＲＡＩＤグループインストール）。
【００６３】
０１２１    ６．シーケンス
【００６４】
０１２２    図３８は、第１の実施形態に従ったプール作成及びディスクインストールの一連のステップの一例を示す。ステップＩ１０００において、管理者は、新しいプールを作成し、かつストレージ管理端末４００上のプールマネージャウィンドウ４１９−２で構成ルールを設定する。ステップＩ１００１において、ストレージ管理端末４００は、新しいプール及び階層の情報をストレージサブシステム１００に送信する。ステップＩ１００２において、ストレージサブシステム１００のＣＰＵ１１１は、受信したプール及び階層の情報を登録する。ステップＩ１０１０において、管理者は、ストレージサブシステム１００にディスクをインストールする。管理者は、ストレージ管理端末４００でインストールされたディスクのＲＡＩＤグループ情報を設定する。ステップＩ１０１１において、ストレージサブシステム１００は、管理者に対して、ディスクインストールが終了したことを報告する。ステップＩ１０１２において、ストレージ管理端末４００は、ＲＡＩＤグループ情報をストレージサブシステム１００に送信する。ステップＩ１０１３において、ストレージサブシステム１００のＣＰＵ１１１は、ＲＡＩＤグループ情報を登録し、ディスクをフォーマットする。ステップＩ１０１４において、ストレージサブシステム１００のキャッシュ領域１１２−３０は、フォーマットされたデータを生成し、ディスクに転送する。ステップＩ１０１５において、ディスク１２１は、データを受信し、かつ格納する。ステップＩ１０２０において、管理者は、ストレージ管理端末４００上のプールマネージャウィンドウ４１９−２で、フォーマットされたＲＡＩＤグループをプールにインストールする（図３２を参照）。ステップＩ１０２１において、ストレージ管理端末４００は、インストール情報をストレージサブシステム１００に送信する。ステップＩ１０２２において、ＣＰＵ１１１は、現在の階層構成ルールに従ってＲＡＩＤグループを登録する。
【００６５】
０１２３    図３９は、階層構成不可プール（すなわち従来のシン・プロビジョニング・プール）を階層構成可能プールに変更する一連のステップの一例を示す。ステップＩ２０００において、管理者は、プールタイプを変更するように命令し、かつストレージ管理端末４００上のプールマネージャウィンドウ４１９−２で階層構成ルールを設定する（図３３を参照）。ステップＩ２００１において、ストレージ管理端末４００は、情報をストレージサブシステム１００に送信する。ステップＩ２００２において、ＣＰＵ１１１は、現在の階層構成ルールに従って、ＲＡＩＤグループの階層構成を変更する。
【００６６】
０１２４    図４０は、２つのストレージプールを集約する一連のステップの一例を示す。ステップＩ３０００において、管理者は、ストレージ管理端末４００上のプールマネージャウィンドウ４１９−２でプールを集約するように命令する（図３４を参照）。ステップＩ３００１において、ストレージ管理端末４００は、情報をストレージサブシステム１００に送信する。ステップＩ３００２において、ストレージサブシステム１００のＣＰＵ１１１は、現在の階層構成ルールに従ってＲＡＩＤグループの階層構成を変更する。
【００６７】
０１２５    図４１は、仮想ボリュームのプロビジョニング及びトランザクションの一連のステップの一例を示す。ステップＰ１０００において、管理者は、ストレージ管理端末４００上の仮想ボリュームマネージャウィンドウ４１９−３でプールを集約するように命令する。ステップＰ１００１において、ストレージ管理端末４００は、ストレージサブシステム１００に情報を送信する。ステップＰ１００２において、ストレージサブシステム１００のＣＰＵ１１１は、仮想ボリューム情報を登録する。ステップＴ１０００において、ホストコンピュータ３００は、書込みＩ／Ｏを仮想ボリュームに送信する。ステップＴ１００１において、ＣＰＵ１１１は、書込みＩ／Ｏデータをキャッシュ領域１１２−３０に格納する。ステップＴ１００２において、キャッシュ領域１１２−３０は、データをダーティーキャッシュスロットとして格納する。ステップＴ１０１０において、ＣＰＵ１１１は、ダーティーキャッシュスロットを見つけ、デステージするように命令する。ステップＴ１０１１において、キャッシュ領域１１２−３０は、ダーティーキャッシュデータをディスクに転送し、キャッシュスロットのステータスを「クリーン」に変更する。ステップＴ１０１２において、ディスク１２１は、受信したデータを格納する。ステップＴ１０２０において、ホストコンピュータ３００は、読取Ｉ／Ｏを仮想ボリュームに送信し、データを受信する。ステップＴ１０２１において、ＣＰＵ１１１は、キャッシュデータを検索し、データをディスクからキャッシュに転送し、データをキャッシュからホストコンピュータ３００に転送する。ステップＴ１０２２において、キャッシュ領域１１２−３０は、データをディスク１２１から受信する。ステップＴ１０２３において、ディスク１２１は、データをキャッシュ領域１１２−３０に送信する。
【００６８】
０１２６    図４２は、仮想ボリュームの階層再構成の一連のステップの一例を示す。ステップＲ１０００において、ストレージ管理端末４００は、仮想ボリュームの負荷情報がストレージサブシステム１００に提供されることを要求する。ステップＲ１００１において、ストレージサブシステム１００のＣＰＵ１１１は、仮想ボリュームの負荷情報をストレージ管理端末４００に送信する。ステップＲ１０１０において、管理者は、ストレージ管理端末４００上の仮想ボリューム負荷モニタウィンドウ４１９−４をチェックする。ステップＲ１０１１において、ストレージ管理端末４００は、仮想ボリューム負荷情報を仮想ボリューム負荷モニタウィンドウ４１９−４に示す。ステップＲ１０２０において、管理者は、仮想ボリュームマネージャウィンドウ４１９−３で仮想ボリュームの階層を変更する。ステップＲ１０２１において、ストレージ管理端末４００は、構成をストレージサブシステム１００に送信する。ステップＲ１０２２において、ＣＰＵ１１１は、仮想ボリューム階層構成を変更する。ステップＭ１０００において、ＣＰＵ１１１は、一致しない階層の容量プールページを使用して、仮想ボリュームを見つける。ＣＰＵ１１１は、キャッシュ領域１１２−３０を使用して、容量プールページを、新しく割り当てられた容量プールページにコピーする。ステップＭ１００１において、キャッシュ領域１１２−３０は、データを１つのディスク１２１ｃから受信し、これを別のディスク１２１ｂに転送する。ステップＭ１００２において、ディスク１２１は、データをキャッシュ領域１１２−３０に送信する。ステップＭ１００３において、ディスク１２１は、キャッシュ領域１１２−３０からの受信データを格納する。
【００６９】
０１２７    図４３は、プール階層再構成の一連のステップの一例を示す。ステップＳ１０００において、ストレージ管理端末４００は、階層負荷情報がストレージサブシステム１００によって提供されることを要求する。ステップＳ１００１において、ストレージサブシステム１００のＣＰＵ１１１は、階層負荷情報をストレージ管理端末４００に送信する。ステップＳ１０１０において、管理者は、ストレージ管理端末４００上の階層負荷モニタウィンドウ４１９−５をチェックする。ステップＳ１０１１において、ストレージ管理端末４００は、階層負荷情報を階層負荷モニタウィンドウ４１９−５に示す。ステップＳ１０２０において、管理者は、プールマネージャウィンドウ４１９−２で階層構成ルールを変更する。ステップＳ１０２１において、ストレージ管理端末４００は、構成をストレージサブシステム１００に送信する。ステップＳ１０２２において、ＣＰＵ１１１は、階層構成を変更する。
【００７０】
０１２８    第２の実施形態
【００７１】
０１２９    図４４〜図４８は、本発明の第２の実施形態を示す。第１の実施形態との差異のみについて説明する。
【００７２】
０１３０    システム構成に関して、図４４は、本発明の第２の実施形態に従った図１のストレージサブシステム１００のメモリ１１２の一例を示す。第１の実施形態の図２と比較すると、図４４のストレージ管理テーブル１１２−１１は、ＲＡＩＤグループ管理テーブル１１２−１１−１’と階層管理テーブル１１２−１１−５’について異なるテーブル構造を有する。
【００７３】
０１３１    図４５は、第２の実施形態に従った図４４のメモリのＲＡＩＤグループ管理テーブル１１２−１１−１’の一例を示す。第１の実施形態の図５と比較すると、第２の実施形態のＲＡＩＤグループは、複数の階層を有することができる。ＲＡＩＤグループについて、ＲＡＩＤグループ管理テーブル１１２−１１−１’は、冗長領域を除くＲＡＩＤグループの総容量を含むＲＡＩＤグループ容量１１２−１１−１−４’と、ＲＡＩＤグループが属する階層番号を含む階層番号１１２−１１−１−５’と、ＲＡＩＤグループへのアクセスカウンタを含むアクセスカウンタ１１２−１１−１−６’と、未使用のシン・プロビジョニング・チャンクを管理するためのフリーチャンクキューインデックス１１２−１１−１−７’と、使用済みシン・プロビジョニング・チャンクを管理するための使用チャンクキューインデックス１１２−１１−１−８’との複数の列を有する。
【００７４】
０１３２    図４６は、第２の実施形態に従った図４４のメモリの階層管理テーブル１１２−１１−５’の一例を示す。第１の実施形態の図７と比較すると、図４４の階層管理テーブル１１２−１１−５’は、ＲＡＩＤグループが複数の階層を有するので、階層をグループ化するための構成ルールを含む構成ルール１１２−１１−５−５’の別の欄を有する。階層のＲＡＩＤグループは、構成ルールと一致する。構成ルールは、ディスクタイプ、ディスクインタフェースタイプ、性能、ＲＡＩＤレベル、ディスクの数等に加えて、ディスクの領域及び確保容量等の要因に基づく。
【００７５】
０１３３    論理構造に関して、図４７は、第２の実施形態に従ったストレージサブシステム１００の論理ストレージ構成の概要を示す。第１の実施形態の図１２と比較して、第２の実施形態のＲＡＩＤグループ１２１−４は、複数の階層に分割することができる。図４７において、１つのＲＡＩＤグループは、階層２と階層３に分割されている。
【００７６】
０１３４    図４８は、第２の実施形態に従った容量プールチャンクの論理構造の一例を示す。第１の実施形態の図１４と比較して、第２の実施形態のＲＡＩＤグループは、複数の階層を有することができる。図４８でわかるように、ＲＡＩＤグループ管理テーブル１１２−１１−１は、１つ以上の階層管理テーブル１１２−１１−５’を参照し、並びにグループに属するディスクのディスク管理テーブル１１２−１１−３を、そしてフリーチャンクキュー１１２−１１−１−７及び使用チャンクキュー１１２−１１−１−８によって容量プールチャンク管理テーブル１１２−１１−７を参照する。
【００７７】
０１３５    第３の実施形態
【００７８】
０１３６    図４９は、本発明の方法及び装置が適用され得る第３の実施形態に従ったシステムのハードウェア構成を示す。第３の実施形態と第１の実施形態の差異のみを説明する。図４９において、追加のローカルネットワークは、システム管理端末５００をストレージサブシステム１００及びホスト３００に接続する。システム管理端末５００は、ストレージサブシステム１００及びホストコンピュータ３００の可用性／信頼性の情報を示す。システム管理端末５００は、メモリ５１２に格納されたプログラム及びテーブルを読み取るＣＰＵ５１１と、ローカルエリアネットワークに接続するローカルネットワークインタフェース５１４と、ストレージサブシステム１００の可用性／信頼性の情報を示すディスプレイ５１９とを含む。
【００７９】
０１３７    図５０は、第３の実施形態に従った図４９のストレージサブシステム１００におけるメモリ１１２の一例を示す。第１の実施形態の図２と比較して、図５０のストレージ管理テーブル１１２−１１は、異なる仮想ボリューム管理テーブル１１２−１１−２”を有する。
【００８０】
０１３８    図５１は、第３の実施形態に従った図５０のメモリにおける仮想ボリューム管理テーブル１１２−１１−２”の一例を示す。第３の実施形態において、仮想ボリュームの指定領域は、階層情報を設定することができる。第１の実施形態の図６と比較して、仮想ボリューム管理テーブル１１２−１１−２”は、仮想ボリュームの範囲を含むアドレス範囲１１２−１１−２−７”の追加欄を含む。各範囲について、仮想ボリューム管理テーブル１１２−１１−２”は、ボリュームが現在使用しているＲＡＩＤグループＩＤを含む使用ＲＡＩＤグループ番号１１２−１１−２−３”の欄と、仮想ボリュームが現在使用しているチャンクＩＤを含む使用チャンク番号１１２−１１−２−５”の欄と、仮想ボリュームが容量プールページを割り当てる階層ＩＤを含む階層番号１１２−１１−２−６”の欄とを含む。
【００８１】
０１３９    論理構造に関して、図５２は、第３の実施形態に従ったストレージサブシステム１００の論理ストレージ構成の概要を示す。仮想ボリューム１４１の各指定領域は、階層を設定することができる。第１の実施形態の図１２と比較して、図５２は、階層１及び階層２の領域を備えた１つの仮想ボリューム１４１と、階層１及び階層３の領域を備えた別の仮想ボリュームとを示す。
【００８２】
０１４０    図５３は、第３の実施形態に従った図４９の管理端末５００のメモリ５１２の中のアプリケーション管理テーブル５１２−１の一例を示す。これは、アプリケーションと、ホストと、仮想ボリューム領域との関係のテーブル構造である。アプリケーション管理テーブル５１２−１は、アプリケーションのＩＤを含むアプリケーション番号の欄と、アプリケーションが稼動しているホストのＩＤを含むホスト番号の欄と、アプリケーションデータが格納されている仮想ボリュームのＩＤを含むボリューム番号の欄と、アプリケーションデータが仮想ボリュームに格納されている範囲を含む領域（例えばデータのＬＢＡ範囲））の欄とを含む。
【００８３】
０１４１    シーケンスに関して、図５４は、第３の実施形態に従ったアプリケーション操作の一連のステップの一例を示す。ステップＲ２０００において、ホストコンピュータ３００は、アプリケーションを使用しており、システム管理端末５００を介して管理者から端末の要求を受信する。ステップＲ２００１において、管理者は、システム管理端末５００でアプリケーションを終了する必要がある。ステップＲ２００２において、システム管理端末５００は、終了要求をホストコンピュータ３００に送信し、かつアプリケーションデータが格納されている領域について、階層変更の要求をストレージサブシステム１００に送信する。ステップＲ２００３において、ストレージサブシステム１００のＣＰＵ１１１は、指定された仮想ボリュームの指定領域の階層を変更する。
【００８４】
０１４２    第４の実施形態
【００８５】
０１４３    １．ハードウェア
【００８６】
０１４４    図５５は、本発明の第４の実施形態に従った図１のストレージサブシステムにおけるメモリの一例を示す。第４の実施形態と第１の実施形態の差異のみを説明する。図５５において、ストレージ管理テーブル１１２−１１は、仮想ボリューム管理テーブル１１２−１１−２’’’を有する。
【００８７】
０１４５    ２．テーブル構造
【００８８】
０１４６    図５６は、図５５のメモリにおける仮想ボリューム管理テーブル１１２−１１−２’’’の一例を示す。図５１の仮想ボリューム管理テーブルと比較すると、アドレス範囲１１２−１１−２−７”の欄が除去され、トランザクション条件１１２−１１−２−８’’’の欄が追加されている。トランザクション条件１１２−１１−２−８’’’の欄は、仮想ボリューム（指定領域）に属するページの階層条件を提供する。この欄のエントリに「Ｎ／Ａ」が格納されている場合は、階層が仮想ボリュームに使用されていないことを意味する。仮想ボリュームの指定領域は、階層情報を設定することができる。
【００８９】
０１４７    ３．ヒューマンインタフェース
【００９０】
０１４８    図５７は、ＲＡＩＤグループインストールの表示及び操作イメージの一例を示す。仮想ボリュームＩ／Ｏ分布モニタ４１９−５’’’は、「ローレンツ曲線」グラフを使用してＩ／Ｏ局所性情報を示す。グラフのＸ軸４１９−５’’’−１は、仮想ボリュームの「トランザクションの％」を示す。グラフのＹ軸４１９−５’’’−２は、容量を割り当てられた仮想ボリューム領域の「容量の％」を示す。累積分布曲線４１９−５’’’−３は、Ｉ／Ｏ局所性を示す「ローレンツ曲線」である。点４１９−５’’’−４は、ローレンツ曲線上の指定された点のＩ／Ｏ量を示す。関与トランザクション率情報４１９−５’’’−５は、２つの点４１９−５’’’−４のトランザクション率の差異であり、これは階層による可能トランザクション量を意味する。関与容量率情報４１９−５’’’−６は、２つの点４１９−５’’’−４の容量率の差異であり、これは関与トランザクション率情報４１９−５’’’−５のトランザクション量をカバーするために階層に必要な容量を意味する。
【００９１】
０１４９    図５８は、仮想ボリュームＩ／Ｏ分布モニタ４１９−５’’’を示すフロー図の一例を示す。このプログラムは、ステップ４１９−５’’’−Ｓ−１で開始する。ステップ４１９−５’’’−Ｓ−２において、プログラムは、ストレージサブシステム１００の仮想ボリュームページ管理テーブル１１２−１１−６から、トランザクションカウンタデータを受信する。ステップ４１９−５’’’−Ｓ−３において、プログラムは、受信したトランザクションデータを降順でソートする。ステップ４１９−５’’’−Ｓ−４において、プログラムは、図５９の式４１９−５’’’−Ｆ−２及び４１９−５’’’−Ｆ−３を使用して累積分布を計算し、その結果をモニタ４１９に示す。プログラムは、ステップ４１９−５’’’−Ｓ−５で終了する。
【００９２】
０１５０    図５９は、ローレンツ曲線を計算するための式を示す。式４１９−５’’’−Ｆ−１は、ローレンツ曲線の基本的な式である。式４１９−５’’’−Ｆ−２は、中間媒介変数としてｊを使用してｘデータを定める。この値は、Ｔ０からＴjの合計のトランザクション量率を意味する。式４１９−５’’’−Ｆ−３は、中間媒介変数としてｊを使用してｙデータを定める。この値は、Ｔ０からＴjへの合計の容量率を意味する。関数４１９−５’’’−Ｖ−１は、ローレンツ曲線の関数である。変数４１９−５’’’−Ｖ−２は、ｘjに対するｙの値である。変数４１９−５’’’−Ｖ−３は、ｘjの値である。変数４１９−５’’’−Ｖ−４は、仮想ボリュームで割り当てられたページの合計数である。変数４１９−５’’’−Ｖ−５は、ページのＩＤを意味する中間媒介変数である。変数４１９−５’’’−Ｖ−６は、ページｊのトランザクション量である。
【００９３】
０１５１    ４．シーケンス
【００９４】
０１５２    図６０は、アプリケーション操作の一連のステップの一例を示す。階層の変更は、ユーザとホストコンピュータ３００の介入なしで、ストレージサブシステム１００によって自動的に操作される。ステップＴ１００１〜Ｔ１０２３は、図４１のステップと同じである。ステップＭ１０００〜Ｍ１００３は、チャンクマイグレーションに関与し、ページマイグレーションに関わる図４３のステップに類似している。
【００９５】
０１５３    上記より、本発明が動的ページ再配置ストレージシステム管理のための方法、装置、及びそのためのコンピュータ読取可能媒体に記憶されたプログラムを提供することが明らかであろう。さらには、本明細書では特定の実施形態が例示されかつ説明されているが、同じ目的を達成するために計算されたアレンジメントが、開示された特定の実施形態に取って代わり得るということを、当業者は理解する。本開示は、本発明のあらゆる適合又はバリエーションをカバーすることを意図したものであり、以下の請求項で使用される用語が、本発明を本明細書で開示されている特定の実施形態に限定するものと解釈されるべきではないことが理解されるべきである。むしろ、本発明の範囲は、以下の請求項によって全て決定されるべきものであり、以下の請求の範囲は、当該請求項が権利を有する均等物の全範囲に従って、確立されている請求項解釈の原則に従って解釈されるべきものである。
【図１】
0005495828.tif 000002
【図２】
0005495828.tif 000003
【図３】
0005495828.tif 000004
【図４】
0005495828.tif 000005
【図５】
0005495828.tif 000006
【図６】
0005495828.tif 000007
【図７】
0005495828.tif 000008
【図８】
0005495828.tif 000009
【図９】
0005495828.tif 000010
【図１０】
0005495828.tif 000011
【図１１】
0005495828.tif 000012
【図１２】
0005495828.tif 000013
【図１３】
0005495828.tif 000014
【図１４】
0005495828.tif 000015
【図１５】
0005495828.tif 000016
【図１６】
0005495828.tif 000017
【図１７】
0005495828.tif 000018
【図１８】
0005495828.tif 000019
【図１９】
0005495828.tif 000020
【図２０】
0005495828.tif 000021
【図２１】
0005495828.tif 000022
【図２２】
0005495828.tif 000023
【図２３】
0005495828.tif 000024
【図２４】
0005495828.tif 000025
【図２５】
0005495828.tif 000026
【図２６】
0005495828.tif 000027
【図２７】
0005495828.tif 000028
【図２８】
0005495828.tif 000029
【図２９】
0005495828.tif 000030
【図３０】
0005495828.tif 000031
【図３１】
0005495828.tif 000032
【図３２】
0005495828.tif 000033
【図３３】
0005495828.tif 000034
【図３４】
0005495828.tif 000035
【図３５】
0005495828.tif 000036
【図３６】
0005495828.tif 000037
【図３７】
0005495828.tif 000038
【図３８】
0005495828.tif 000039
【図３９】
0005495828.tif 000040
【図４０】
0005495828.tif 000041
【図４１】
0005495828.tif 000042
【図４２】
0005495828.tif 000043
【図４３】
0005495828.tif 000044
【図４４】
0005495828.tif 000045
【図４５】
0005495828.tif 000046
【図４６】
0005495828.tif 000047
【図４７】
0005495828.tif 000048
【図４８】
0005495828.tif 000049
【図４９】
0005495828.tif 000050
【図５０】
0005495828.tif 000051
【図５１】
0005495828.tif 000052
【図５２】
0005495828.tif 000053
【図５３】
0005495828.tif 000054
【図５４】
0005495828.tif 000055
【図５５】
0005495828.tif 000056
【図５６】
0005495828.tif 000057
【図５７】
0005495828.tif 000058
【図５８】
0005495828.tif 000059
【図５９】
0005495828.tif 000060
【図６０】
0005495828.tif 000061