(57)【要約】【課題】ストレージシステムの有する資源の割当量を動的に変化させること。【解決手段】ホストＩＦ部１０１と、ドライブＩＦ部１０２と、ディスクドライブ１０３と、データ転送エンジン部１０５と、キャッシュメモリ１０７および制御プロセッサ部１０９を含む資源を分割対象の資源として、制御プロセッサ部１０９のプロセッサ３０１は、分割対象の資源を論理的に分割して、複数の論理区画を作成し、各論理区画に分割する割合を、ホスト計算機からのアクセス量に応じて変化させるように、構成されている。【選択図】図１
2008257572.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶デバイスを備える記憶部と、上位計算機からのデータの入出力要求に応答して前記記憶部に対するデータ入出力処理を制御する複数のプロセッサと、各々のプロセッサと前記記憶部とをそれぞれ接続してデータの入出力を行うデータ伝送部と、を備えているストレージシステムにおいて、
前記プロセッサは、前記記憶部と前記データ転送部と前記プロセッサを論理的に分割して複数の論理区画を作成し、各々の論理区画がそれぞれ独立した個別のストレージシステムとして動作させるように制御し、前記各論理区画に分割する割合を前記上位計算機からのアクセス量に応じて変化させるように構成されてなる、ことを特徴とするストレージシステム。
【請求項２】
前記プロセッサは、前記各論理区画が前記記憶部と前記データ転送部と前記プロセッサを使用している割合に応じて前記各論理区画に対する前記記憶部と前記データ転送部と前記プロセッサの分割割合を変化させる、ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記プロセッサは、前記各論理区画が前記記憶部と前記データ転送部と前記プロセッサを使用している割合を観測し、この観測結果を基に前記使用している割合が予め定める設定範囲を超えたときには、前記使用している割合に対し予め定める一定の比率だけ前記記憶部と前記データ転送部と前記プロセッサの新たに分割する量を追加する、ことを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記プロセッサは、前記各論理区画が前記記憶部と前記データ転送部と前記プロセッサを使用している割合を観測し、この観測結果を基に前記使用している割合が予め設定範囲を下回ったときには、前記使用している割合に対し予め定める一定の比率だけ前記記憶部と前記データ転送部と前記プロセッサの分割する量を削減する、ことを特徴とする請求項２に記載のストレージシステム。
【請求項５】
上位計算機と接続する２個以上のホストＩＦ部と、
２個以上のディスクドライブと、
前記ディスクドライブに接続し、前記ディスクドライブを制御する２個以上のドライブＩＦ部と、
前記ディスクドライブから読み込みまたは前記ディスクドライブへ書き込むデータを一時的に蓄えるキャッシュメモリと、
前記ホストＩＦ部と前記キャッシュメモリまたは前記ドライブＩＦ部と前記キャッシュメモリの間でデータの転送を行う２個以上のデータ転送エンジン部と、
前記ホストＩＦ部と前記ディスクＩＦ部と前記データ転送エンジン部の間を接続する伝送スイッチと、
前記データ転送エンジン部と前記キャッシュメモリを接続するキャッシュスイッチと、
２個以上の制御プロセッサと、
前記データ転送エンジンと前記制御プロセッサの間の制御信号線を切り替える制御信号スイッチを備えるストレージシステムであって、
前記制御プロセッサは、前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサを論理的に分割して複数の論理区画を作成し、各々の論理区画がそれぞれ独立した個別のストレージシステムとして動作させるように制御し、前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサの前記各論理区画に分割する割合を前記上位計算機からのアクセス量に応じて変化させるように構成されてなる、ことを特徴とするストレージシステム。
【請求項６】
前記プロセッサは、前記各論理区画が前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサを使用している割合に応じて前記各論理区画に対する前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサの分割する割合を変化させる、ことを特徴とする請求項５に記載のストレージシステム。
【請求項７】
前記プロセッサは、前記各論理区画が前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサを使用している割合を観測し、この観測結果を基に前記使用している割合が予め定める設定範囲を超えたときには、前記使用している割合に対し予め定める一定の比率だけ前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサを新たに分割する量を追加する、ことを特徴とする請求項６に記載のストレージシステム。
【請求項８】
前記プロセッサは、前記各論理区画が前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサを使用している割合を観測し、この観測結果を基に前記使用している割合が予め定める設定範囲を下回ったときには、前記使用している割合に対し予め定める一定の比率だけ前記ホストIF部と前記ディスクドライブと前記キャッシュメモリと前記データ転送部と前記プロセッサを分割する量を削減する、ことを特徴とする請求項６に記載のストレージシステム。
【請求項９】
上位計算機と接続する２個以上のホストＩＦ部と、２個以上のディスクドライブと、前記ディスクドライブに接続し、前記ディスクドライブを制御する２個以上のドライブＩＦ部と、前記ディスクドライブから読み込みまたは前記ディスクドライブへ書き込むデータを一時的に蓄えるキャッシュメモリと、前記ホストＩＦ部と前記キャッシュメモリまたは前記ドライブＩＦ部と前記キャッシュメモリの間でデータの転送を行う２個以上のデータ転送エンジン部と、２個以上の制御プロセッサを備えるストレージシステムを論理的に分割する方法であって、
前記制御プロセッサは、前記上位計算機のアクセスの対象となる資源を論理的に分割して複数の論理区画を作成する第１工程と、前記各論理区画を独立に動作させる第２工程と、前記各論理区画に分割する割合を前記上位計算機からのアクセス量に応じて変化させる第３工程と、を実行する、ことを特徴とするストレージシステムの論理分割方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関し、特に、ストレージシステムにおける資源を論理区画に分割する技術に関する。
【背景技術】
【０００２】
近年、ストレージシステムの導入コストや運用コストの削減を目的としたストレージ・コンソリデーションのニーズが高まっている。今後、ストレージ・コンソリデーションの技術によって、１台のストレージシステムに独立した複数の部署や企業のデータが格納されることが予想される。この場合、１台のストレージシステム内で管理や性能の干渉が発生しないよう、１台のストレージシステムを複数の仮想ストレージシステムとして提供できる技術、具体的には、ストレージシステムの論理パーティション技術が求められる。ストレージシステムに論理パーティション（論理区画）を設定する場合、ＩＯ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）性能（データ転送能力、トランザクション処理能力）やキャッシュ容量については、静的に割当てる方法が提案されている（特許文献１参照）。
【０００３】
【特許文献１】特開２００６−２４４０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術では、ストレージシステムに論理パーティションを設定するに際して、割当量を変更することは行っているが、予めスケジュールを決めたり、ホスト計算機から特別なコマンドを入力したりする必要があり、オンライン中に動的に資源の割当量を変更することは困難であった。このため、ＩＯ性能やキャッシュ容量については、初めから最大必要になる資源量を割当てることが余儀なくされていた。すなわち、システムの運用当初やホスト計算機からの負荷の変動がある場合にも、初めから各論理パーティションに対して必要最大の資源量をそれぞれ割当てることが必要であり、トータルとして、使用されない資源があっても有効に活用できないことが危惧される。
【０００５】
そこで、この発明は、ストレージシステムの有する資源の割当量を動的に変化させることを目的とするものである。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明は、ストレージシステムの有する資源であって、上位計算機のアクセスの対象となる資源の分割割合を上位計算機からのアクセスに応じて動的に変化させることを特徴とするものである。
【０００７】
すなわち、本発明は、複数の記憶デバイスを備える記憶装置と、上位計算機からのデータの入出力要求に応答して前記記憶装置に対するデータ入出力処理を行う複数のプロセッサと、各々のプロセッサと前記記憶装置とをそれぞれ接続してデータの入出力を制御する伝送制御装置と、を備えているストレージシステムにおいて、前記プロセッサは、前記上位計算機のアクセスの対象となる資源を論理的に分割して複数の論理区画を作成し、前記各論理区画に分割する割合を前記上位計算機からのアクセス量に応じて変化させるように構成されてなる、ことを特徴とする。
【０００８】
本発明の好適な形態は、さらに以下の特徴を備える。前記プロセッサは、前記各論理区画が使用している割合に応じて前記各論理区画に対する分割割合を変化させる、ことを特徴とする。前記プロセッサは、前記各論理区画が使用している割合を観測し、この観測結果を基に前記使用している割合が予め定める設定範囲を超えたときには、前記使用している割合に対し予め定める一定の比率だけ新たに分割する量を追加する、ことを特徴とする。前記プロセッサは、前記各論理区画が使用している割合を観測し、この観測結果を基に前記使用している割合が予め定める設定範囲を下回ったときには、前記使用している割合に対して予め定める一定の比率だけ分割する量を削減する、ことを特徴とする。前記資源は、前記記憶装置と前記プロセッサおよび前記伝送制御装置を含む、ことを特徴とする。
【０００９】
また他の発明は、上位計算機と接続する２個以上のホストＩＦ部と、２個以上のディスクドライブと、前記ディスクドライブに接続し、前記ディスクドライブを制御する２個以上のドライブＩＦ部と、前記ディスクドライブから読み込みまたは前記ディスクドライブへ書き込むデータを一時的に蓄えるキャッシュメモリと、前記ホストＩＦ部と前記キャッシュメモリまたは前記ドライブＩＦ部と前記キャッシュメモリの間でデータの転送を行う２個以上のデータ転送エンジン部と、  前記ホストＩＦ部と前記ディスクＩＦ部と前記データ転送エンジン部の間を接続する伝送スイッチと、前記データ転送エンジン部と前記キャッシュメモリを接続するキャッシュスイッチと、２個以上の制御プロセッサと、前記データ転送エンジンと前記制御プロセッサの間の制御信号線を切り替える制御信号スイッチを備えるストレージシステムであって、前記制御プロセッサは、前記上位計算機のアクセスの対象となる資源を論理的に分割して複数の論理区画を作成し、前記各論理区画を独立に動作させるとともに、前記各論理区画に分割する割合を前記上位計算機からのアクセス量に応じて変化させるように構成されてなる、ことを特徴とする。
【００１０】
本発明の好適な形態においては、前記プロセッサは、前記各論理区画が使用している割合に応じて前記各論理区画に対する分割割合を変化させる、ことを特徴とする。前記プロセッサは、前記各論理区画が使用している割合を観測し、この観測結果を基に前記使用している割合が予め定める設定範囲を超えたときには、前記使用している割合に対し予め定める一定の比率だけ新たに分割する量を追加する、ことを特徴とする。前記プロセッサは、前記各論理区画が使用している割合を観測し、この観測結果を基に前記使用している割合が予め定める設定範囲を下回ったときには、前記使用している割合に対し予め定める一定の比率だけ分割する量を削減する、ことを特徴とする。前記資源は、前記ホストＩＦ部と、前記ディスクドライブと、前記キャッシュメモリと、前記データ転送エンジン部及び前記制御プロセッサを含む、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ストレージシステムの有する資源の分割割合を示す割当量を動的に変化させることができる。
【発明を実施するための最良の形態】
【００１２】
次に、本発明の実施形態を、図面を用いて説明する。図1は、本発明の実施形態が適用されるストレージシステム１のブロック構成図である。
【００１３】
図１において、ストレージシステム１は、複数のホストＩＦ（Ｉｎｔｅｒｆａｃｅ）部１０１と、複数のドライブＩＦ部１０２と、複数のディスクドライブ１０３と、伝送スイッチ１０４と、複数のデータ転送エンジン部１０５と、キャッシュスイッチ１０６と、複数のキャッシュメモリ１０７と、制御信号スイッチ１０８と、複数の制御プロセッサ部１０９を備えており、各ホストＩＦ部１０１が通信ネットワーク２を介してホスト計算機（上位計算機）（図１中に図示していない）に接続されている。
【００１４】
各ホストＩＦ部１０１は、通信ネットワーク２を介してホスト計算機とデータの授受を行うインターフェイス部として構成されており、伝送スイッチ１０４を介して各ドライブＩＦ１０２と各データ転送エンジン部１０５に接続されている。各ドライブＩＦ部１０２には、複数の記憶デバイスを構成する記憶装置としてのディスクドライブ１０３が接続されている。
【００１５】
伝送スイッチ１０４は、ホストＩＦ部１０１とデータ転送エンジン部１０５間のデータ転送のスイッチングを行うとともに、ドライブＩＦ部１０２とデータ転送エンジン部１０５間のデータ転送のスイッチングを行うように構成されている。
【００１６】
各データ転送エンジン部１０５は、キャッシュスイッチ１０６を介して各キャッシュメモリ１０７に接続されているとともに、制御信号スイッチ１０８を介して各制御プロセッサ部１０９に接続されている。データ転送エンジン部１０５は、各キャッシュメモリ１０７とホストＩＦ部１０１間のデータ転送を、キャッシュスイッチ１０６を介して行うとともに、キャッシュメモリ１０７とドライブＩＦ１０２との間のデータ転送を伝送スイッチ１０４またはキャッシュスイッチ１０６を介して行うように構成されている。
【００１７】
具体的には、データ転送エンジン部１０５は、図２に示すように、キャッシスイッチ１０６を介してキャッシュメモリ１０７に対するデータの読み書きを制御するＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）制御部２０１と、伝送スイッチ１０４に対するデータの転送を制御する転送制御部２０２と、転送制御部２０２と送受するデータをキャッシュスイッチ１０６を介してキャッシュメモリ１０７に転送するため、一時的に格納する転送バッファ２０３を備えて構成されている。
【００１８】
キャッシュスイッチ１０６は、各データ転送エンジン部１０５と各キャッシュメモリ１０７とを結ぶ接続経路を切り替えるスイッチとして構成されている。キャッシュメモリ１０７は、ディスクドライブ１０３から読み込んだデータまたはディスクドライブ１０３へ書き込むためのデータを一時的に蓄える記憶デバイスとして構成されている。制御信号スイッチ１０８は、各データ転送エンジン部１０５と各制御プロセッサ部１０９との間の制御信号のスイッチングを行うように構成されている。
【００１９】
制御プロセッサ部１０９は、図３に示すように、プログラムにしたがって各種の演算処理を行うとともに、各種の制御を行うプロセッサ（制御プロセッサ）３０１と、各種処理プログラムや各種データを格納するプロセッサメモリ３０２と、制御信号スイッチ１０８を介して制御信号の授受を制御するためのＩＯ制御ＩＦ３０３を備えて構成されている。
【００２０】
各制御プロセッサ部１０９は、各データ転送エンジン部１０５を制御するとともに、ホストＩＦ部１０１・キャッシュメモリ１０７間のデータ転送やドライブＩＦ１０２・キャッシュメモリ１０７間のデータ転送を制御し、さらに、ストレージシステム１の有する資源であって、ホスト計算機のアクセスの対象となる資源を論理的に分割して複数の論理区画（論理パーティション）に分け、各論理区画を仮想的なストレージシステムとして動作させるようになっている。
【００２１】
この際、プロセッサ３０１は、ホストＩＦ部１０１、ドライブＩＦ部１０２、ディスクドライブ１０３、データ転送エンジン部１０５、キャッシュメモリ１０７、プロセッサ３０１を含む資源を論理的に分割して論理区画を作成し、各論理区画に分割する割合を、ホスト計算機からのアクセス量に応じて変化させることとしている。例えば、プロセッサ３０１は、各論理区画が使用している割合に応じて各論理区画に対する分割割合を変化させることとしている。このとき、プロセッサ３０１は、各論理区画が使用している割合を観測し、この観測結果を基に、使用している割合が予め定める設定範囲を超えたときには一定の比率だけ新たに分割量を追加し、使用している割合が予め定める設定範囲を下回ったときには一定の比率だけ分割する量を削減することとしている。
【００２２】
ストレージシステム１の有する資源を論理的に分割して、複数の論理区画（論理パーティション）に分けるに際しては、資源割当制御を行うための制御プログラムをハイパバイザと呼び、各プロセッサ３０１上で実行することとしている。
【００２３】
例えば、図４（ａ）に示すように、プロセッサ３０１をプロセッサａ〜ｘで構成し、各論理区画で動作するストレージ制御プログラムが組込み型でＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がない場合には、資源割当制御を行うためのハイパバイザは、直接ハードウエアを制御するドライバプログラムを呼び出して、資源を構成するハードウエアを操作することになる。すなわち、ハイパバイザを用いて資源の論理分割を行う場合、ハイパバイザは、各論理区画のストレージ制御プログラムに対して、その論理区画に割当てられたハードウエアを管理し、それぞれのストレージ制御プログラムからの要求に応じて、割当てられたハードウエアの当該部分を制御するようになっている。
【００２４】
また、図４（ｂ）に示すように、各論理区画で動作するストレージ制御プログラムにＯＳがある場合、各論理区画において、ストレージ制御プログラムとハイパバイザとの間にＯＳが入ることになる。ストレージ制御プログラムは，ストレージハードウェアの制御のためにOSを呼び出す。ＯＳは、ストレージ制御プログラムからの要求内容を処理して、ハードウエアを直接制御するドライバプログラムの代りにハイパバイザを呼び出すことになる。このとき、ドライバプログラムの役割をハイパバイザが行うことになる。即ち、ハイパバイザは各OSにはドライバプログラムの役割を行いながら各論理区画への資源割り当て制御を行い，さらにハードウエアを制御するためにハイパバイザ内でドライバプログラムを呼び出す。
【００２５】
次に、本発明に係る資源割当・解放を行うときの方法を図５のフローチャートにしたがって説明する。この処理の対象となる資源の各論理区画に対する割合（割当量）は、例えば、キャッシュメモリ１０７の各論理区画への割当容量、データ転送エンジン部１０５の各論理区画への割当量、例えば、使用個数とそれぞれの使用時間割合、制御プロセッサ部１０９の各論理区画への割当量、例えば、使用プロセッサ数、各プロセッサの使用時間割合であり、資源を各論理区画に分割する一連の動作は、ハイパバイザの処理によって実現される。
【００２６】
まず、ハイパバイザは、各パーティションのストレージ装置としての資源使用量として、ＩＯ制御資源に関するトランザクション性能、スループット性能を観測するとともに、キャッシュ容量を観測し（Ｓ５０１）、各論理パーティション（論理区画）に割当てた資源量と各論理パーティションの資源使用量とを比較し（Ｓ５０２）、両者の間に余裕があるか、例えば、１０％程度の余裕があるか否かの判定を行う（Ｓ５０３）。
【００２７】
ステップＳ５０３において、余裕ありと判定したときには、ハイパバイザは、次に、大きな余裕、例えば、５０％ぐらいの余裕があるか否かを判定し（Ｓ５０４）、大きな余裕がないときには、このルーチンでの処理を終了し、大きな余裕があるときには、余裕のある資源を解放して、資源プールに戻し（Ｓ５０５）、このルーチンでの処理を終了する。すなわち、ステップＳ５０４、５０５においては、資源割当量と解放すべき量との間に差があるときには、一旦割当てた資源を、資源使用量の小さな変動ですぐ解放することなく、割当・開放の制御オーバヘッドを減少させることとしている。
【００２８】
一方、ステップＳ５０３において、余裕ないと判定したときには、ハイパバイザは、各パーティション毎に、それぞれのユーザボリュームに設定された設定資源量の合計と各パーティションに割当てた資源量とを比較し（Ｓ５０６）、設定資源量が割当量よりも大きいか否かを判定する（Ｓ５０７）。このとき、設定資源量が割当量よりも大きいときには、ハイパバイザは、資源プールに資源があるか否かの判定を行い（Ｓ５０８）、資源プールに資源があるときには、資源プールから新たな資源を割当て（Ｓ５０９）、資源プールに余裕があるか否かを判定し（Ｓ５１０）、資源プールに余裕があるときにはこのルーチンでの処理を終了し、資源プールに余裕がないときには、資源枯渇予告を出力し（Ｓ５１１）、このルーチンでの処理を終了する。また、ステップＳ５０８で資源プールに資源が無いと判定したときには、ハイパバイザは、資源枯渇警告を出力し（Ｓ５１２）、このルーチンでの処理を終了する。
【００２９】
ここで、資源の割当または解放を行うに際しては、例えば、図６に示すように、最低割当量をｂとし、１回の割当または解放の単位量をｅとした場合、割当を行う余裕を現在の使用量＋１０％（１．１倍）とし、解放を行う大きな余裕を現在の使用量の２倍としたときに、使用している割合が設定範囲を超えたときには一定の比率だけ新たに分割する量を追加するときの特性は、グラフＧ１で表わされる。また、使用している割合が設定範囲を下回り、一定の比率だけ分割する量を削減するとき、例えば、現在の資源割当量が現在の資源割当量の１／２を切るときに、資源を１単位解放するときの特性は、グラフＧ２で表わされる。
【００３０】
また、資源の割当・解放を安定して行うに際して、最低の割当量をｂとし、１回の資源の割当・解放の単位量ｅとし、資源の割当の契機となる余裕をα倍、資源の解放を行う大きな余裕をβ倍とするときには、次の関係が、
（ｂ＋ｅ）＜（ｂ／α）β      ∴（β／α）＞（１＋ｅ／ｂ）
成立する。
【００３１】
すなわち、新規の割当または解放が発生するのは、そのときの割当単位数をｎとすれば、使用量が（ｂ＋ｎｅ）/αを超えれば、新たな割当が発生し、（ｂ＋ｎｅ）／βを下回れば新たな解放が行われる。安定した割当・解放が行われるためには、割当てた直後に解放が行われたり、解放した直後に割当が行われたりしない必要がある。したがって、
（ｂ＋ｎｅ）／α＞（ｂ＋ｎｅ＋ｅ）／βまたは（ｂ＋ｎｅ）／β＜（ｂ＋ｎｅ−ｅ）／α
∴β／α＞（ｂ＋ｎｅ＋ｅ）／（ｂ＋ｎｅ）（ｎ＝０，１，２・・・）またはβ／α＞（ｂ＋ｎｅ）／（ｂ＋ｎｅ−ｅ）（ｎ＝１，２，３，・・・）
【００３２】
上記各式で、ｎとして、右辺が最も大きくなる値を取れば、両式とも、  β／α＞１＋（ｅ／ｂ）となる。
【００３３】
なお、ここでは、各資源の１回当たりの割当・解放の単位ｅは、各資源ごとに定まる一定値であるとした。
【００３４】
本実施形態では、各パーティションの資源使用量と各パーティションに対する資源の割当量とを比較しながら、資源の割当・解放を行うようにしているので、ストレージシステム１の有する資源の分割割合を示す割当量を動的に変化させることができる。
【００３５】
次に、資源の割当・解放を行うときの他の方法を図７のフローチャートにしたがって説明する。ここでの処理も、ハイパバイザによって行われ、ステップＳ７０１〜Ｓ７１１までの処理は、ステップＳ５０１〜Ｓ５１１までの処理と同一であるので、ステップＳ７１２以降の処理についてのみ説明する。
【００３６】
ステップＳ７０８において資源プールに資源がないと判定したときに、ハイパバイザは、余裕のあるパーティションを検索し（Ｓ７１２）、余裕のあるパーティションがあるか否かを、例えば１．５倍の余裕のあるパーティションがあるか否かを判定し（Ｓ７１３）、ないときには資源枯渇警告を出力し（Ｓ７１４）、このルーチンでの処理を終了し、余裕があるときには、余裕のあるパーティションより資源を解放し（Ｓ７１５）、強制開放発生を出力し（Ｓ７１６）、ステップＳ７０８の処理に戻り、ステップＳ７０８からＳ７１６までの処理を繰り返す。
【００３７】
本実施形態では、各パーティションの資源使用量と各パーティションに対する資源の割当量とを比較しながら、資源の割当・解放を行うようにしているので、ストレージシステム１の有する資源の分割割合を示す割当量を動的に変化させることができる。また、資源プールに資源が無いと判定したときでも、余裕のパーティションを検索し、余裕のあるパーティションがあるときには、余裕のあるパーティションより資源を解放し、解放されたパーティションに新たな資源を割当るようにしているので、資源をより有効に活用することができる。
【００３８】
次に、複数の資源を動的に割当てるときの方法を図８のフローチャートにしたがって説明する。この処理はハイパバイザによって実現される。まず、ハイパバイザは、ホスト計算機からの要求到着率を観測し（Ｓ８０１）、観測結果と当該パーティションの制御プロセッサ割当能力とを比較し（Ｓ８０２）、制御プロセッサの割当量に余裕があるか否かを判定し（Ｓ８０３）、余裕がないときには、当該パーティションの制御プロセッサ割当能力を増加して次の処理に移行し（Ｓ８０４）、余裕があるときには、大きな余裕があるか否かを判定し（Ｓ８０５）、大きな余裕があるときには当該パーティションの制御プロセッサ割当能力を削減し（Ｓ８０６）、大きな余裕がないときと同様に、次の処理に移行する。
【００３９】
この後、ハイパバイザは、ホスト計算機のデータ転送速度を観測し（Ｓ８０７）、ホスト計算機に対するデータ転送速度と当該パーティションのデータ転送エンジン部割当能力とを比較し（Ｓ８０８）、両者の間に余裕があるか否かを判定し（Ｓ８０９）、余裕がないときには当該パーティションのデータ転送エンジン部割当能力を増加して次の処理に移行し、余裕があるときには大きな余裕があるか否かを判定し（Ｓ８１１）、大きな余裕があるときには当該パーティションのデータ転送エンジン部割当能力を削減し（Ｓ８１２）、大きな余裕がないときと同様に、次の処理に移行する。
【００４０】
次に、ハイパバイザは、当該パーティションのキャッシュ使用量を観測し（Ｓ８１３）、当該パーティションのキャッシュ使用量と当該パーティションのキャッシュ割当量とを比較し（Ｓ８１４）、両者の間に余裕があるか否かを判定し（Ｓ８１５）、余裕がないときには、当該パーティションのキャッシュ割当量を増加して、このルーチンでの処理を終了し、余裕があるときには大きな余裕があるか否かを判定し（Ｓ８１７）、大きな余裕があるときには、当該パーティションのキャッシュ割当量を削減し（Ｓ８１８）、大きな余裕がないときと同様に、このルーチンでの処理を終了する。
【００４１】
本実施形態によれば、ホスト計算機からの要求到着率を基に各資源に対する割当量と各資源の割当能力とを比較し、この比較結果を基に各資源に対する割当能力を増加したり、削減したりすることで、ホスト計算機からの要求到着率を基に各資源に対する割当能力を動的に変化させることができる。
【００４２】
各実施形態において、ハイパバイザは、実際には、各制御プロセッサにおいて、ハードウエアに最も近い階層のソフトウエアとなる。オペレーティングシステムがある場合には、オペレーティングシステムはハイパバイザの上位で動作し、オペレーティングシステムには、ハイパバイザがハードウエアとのインターフェイスを仮想化して見えることになる。したがって、各論理区画（論理パーティション）では、オペレーティングシステムが稼動している場合においては、それぞれのオペレーティングシステムは、ハイパバイザの存在や論理区画の存在を意識しないで動作することになる。
【００４３】
各制御プロセッサでハイパバイザを実行させる方法としては、例えば、システムで予め定める一定時間割合だけ、各制御プロセッサに対してハイパバイザが稼動するように、一定時間ごとに各制御プロセッサに割り込みを発生させる方法を採用することができる。また制御プロセッサで動作する各論理区画ごとにストレージ制御プログラムが各論理区画ごとにホスト計算機からの要求到着率やホスト計算機との単位時間当たりのデータ転送量、あるいはキャッシュメモリの使用量を観測し、各資源に関する観測結果と現在利用可能な各資源とを比較して、あまり余裕がないとき、あるいは大きな余裕が発生したときに、ハイパバイザに個別に起動要求を行い、資源割当、解放処理を行うようにすることもできる。
【００４４】
資源の割当を行うときの余裕および資源の解放を行う大きな余裕については、次の通り規定される。例えば、１回の資源の割当・解放は、予め定める一定の資源量として、資源の割当を発生させる余裕は、資源を一定量割当てたあと、直ちに大きな余裕が発生しないように小さく定める。しかし、割当量を過小な値に定めると、資源の使用量の変動に応じて資源の割当てを行う頻度が頻繁に高まり、ハイパバイザの処理時間が増大して、システムの効率が低下する。
【００４５】
また、資源の解放を発生させる大きな余裕は、資源の解放を行ったあと、直ちに資源が不足して直ちに再割当が発生しないように大きく定める。この場合、余裕を過大な値に定めると、資源の解放が行われないので、全体の資源使用率が低下し、システムの効率が低下する。したがって、資源の割当を行うための余裕は、資源の割当を行ったあと、直ちに、資源の解放が発生しない範囲で、できるだけ大きな値とすることが望ましく、資源の解放を行う余裕は、資源の解放を行ったあとに直ちに資源の再割当が発生しない範囲で、できるだけ小さな値とすることが望ましい。
【００４６】
また、資源の割当を行う余裕を使用量の１．１倍、資源の解放を行う大きな余裕を使用量の２倍とした場合、２／１．１＝１．８１８１…となるので、１回の資源の割当単位は、各論理区画への最小割当の約８０％程度までにすることが可能になる。
【００４７】
また、動的に資源を増加したり減少させたりするに際して、観測された資源使用量は、現在の割当量と常時比較されるので、この比較結果を基に、資源使用量が現在の割当量を超えそうになったとき、すなわち余裕がなくなったときには、割当てられる資源がある限りにおいて、新たな割当が発生させることが必要である。ただし、使用量が現在の割当量よりも十分少なくなったとき、すなわち大きな余裕が生じたときには、新たな資源の解放を発生させることが必要となる。
【００４８】
具体的には、制御プロセッサは、ホスト計算機からの要求到着率を常時観測し、ホスト計算機からの要求到着率と現時点におけるプロセッサの当該論理区画への割当量とを比較する。プロセッサの当該論理区画への割当量は、この場合、ホスト計算機からの要求を単位時間に処理する能力で規定される。すなわち、プロセッサの単位時間当たりの、ホスト計算機からの要求を処理する能力をみて、現在の当該論理区画へのプロセッサの割当時間の増減を行う。
【００４９】
また、データ転送エンジン部に関して、制御プロセッサは、各論理区画毎に、ホスト計算機に対する現在の単位時間当たりのデータ転送量を観測し、現時点における各論理区画へのデータ転送エンジン部当たりのデータ転送量を観測し、観測結果と現在の各論理区画へのデータ転送エンジン部の割当量とを比較する。この場合、データ転送エンジン部に対する割当量は、単位時間当たりのデータ転送能力で規定される。すなわち、データ転送エンジン部の単位時間当たりのデータ転送能力をみて、現在の当該論理区画へのデータ転送エンジン部の割当時間の増減を行う。
【００５０】
また、キャッシュメモリに関して、制御プロセッサは、各論理区画で実際に使用されているキャッシュメモリ量を観測し、観測結果と現在のキャッシュメモリの割当とを比較して、キャッシュメモリに対する割当量の増減を行う。
【００５１】
また、制御プロセッサにより、新たな割当を行うときに、割当てられる資源がなかった場合、論理区画ごとに優先順位を付け、低い優先順位の論理区画の資源を強制的に解放させて割当直すこともできる。
【図面の簡単な説明】
【００５２】
【図１】本発明に係るストレージシステムの一実施形態を示すブロック構成図である。
【図２】データ転送エンジン部のブロック構成図である。
【図３】制御プロセッサ部のブロック構成図である。
【図４】ハイパバイザとオペレーティングシステムの論理概念を説明するための図であって、（ａ）は、ストレージ制御プログラムが組込み型でＯＳが無い場合の論理概念図、（ｂ）は、ストレージ制御プログラムが組込み型でＯＳがある場合の論理概念図である。
【図５】本発明に係る資源割当・解放の制御方法を説明するためのフローチャートである。
【図６】資源割当量と資源使用量との関係を説明するための特性図である。
【図７】本発明に係る資源割当・解放の他の制御方法を説明するためのフローチャートである。
【図８】複数の資源をそれぞれ割当てるときの処理を説明するためのフローチャートである。
【符号の説明】
【００５３】
１  ストレージシステム、１０１  ホストＩＦ部、１０２  ドライブＩＦ部、１０３  ディスクドライブ、１０４  伝送スイッチ、１０５  データ転送エンジン部、１０６  キャッシュスイッチ、１０７  キャッシュメモリ、１０８  制御信号スイッチ、１０９  制御プロセッサ部
【図１】
2008257572.tif 000003
【図２】
2008257572.tif 000004
【図３】
2008257572.tif 000005
【図４】
2008257572.tif 000006
【図５】
2008257572.tif 000007
【図６】
2008257572.tif 000008
【図７】
2008257572.tif 000009
【図８】
2008257572.tif 000010