(57)【特許請求の範囲】
【請求項１】
複数の記憶領域からなるデータ記憶部と前記記憶領域のデータを一時的に保持するキャッシュ手段とを有するストレージ装置と、このストレージ装置に対して入出力処理要求を行う入出力装置とを備えた記憶情報配置システムであって、
前記ストレージ装置は、
前記各記憶領域における入出力処理の負荷を検出する負荷検出手段と、
前記記憶領域間で予め設定された値以上の負荷偏差が検出された場合に、負荷の高い記憶領域を移動元記憶領域に設定すると共に当該移動元記憶領域に予め対応して設定された記憶領域を移動先記憶領域に設定する配置領域設定手段と、
前記入出力処理要求に先立って前記移動元記憶領域の処理対象データを前記キャッシュ手段に読込む入出力制御手段と、
前記キャッシュ手段内で入出力処理された処理対象データを前記移動先記憶領域に格納する再配置手段と、
を備えると共に、
前記移動元記憶領域から前記キャッシュ手段に読込まれた処理対象データが前記移動先領域に格納されていれば配置済、格納されていなければ未配置であると論理ブロックごとに判断する再配置進捗監視手段を前記ストレージ装置に備え、
前記入出力制御手段が、前記再配置進捗監視手段で前記配置済と判定されたブロックの個数と予め与えられた規定値Ｎ／２とを比較し、前記配置済と判定されたブロックの個数が前記規定値Ｎ／２以上である場合には前記移動先記憶領域からＮ個の連続論理ブロックを前記キャッシュ手段に読み込んだ後で前記移動元記憶領域から前記未配置と判定されたブロックを読み込んで前記キャッシュ手段上の対応する領域に上書きし、前記配置済と判定されたブロックの個数が前記規定値Ｎ／２未満である場合には前記移動元記憶領域からＮ個の連続論理ブロックを前記キャッシュ手段に読み込んだ後で前記移動先記憶領域から前記配置済と判定されたブロックを読み込んで前記キャッシュ手段上の対応する領域に上書きすることを特徴とする記憶情報配置システム。
【請求項２】
前記請求項１に記載の記憶情報配置システムにおいて、
前記データ記憶部は、複数の記憶領域からなる記憶領域群により構成され、
前記配置領域設定手段は、前記移動元および移動先記憶領域をそれぞれ異なる記憶領域群内に設定する機能を備えたことを特徴とする記憶情報配置システム。
【請求項３】
前記請求項２に記載の記憶情報配置システムにおいて、
前記再配置手段は、前記キャッシュ手段でアクセスされたデータを前記監視結果に基づき前記移動元記憶領域又は移動先記憶領域の何れに格納するかを決定する書き戻し先選択機能を有することを特徴とした記憶情報配置システム。
【請求項４】
前記請求項２に記載の記憶情報配置システムにおいて、
前記入出力制御手段は、前記入出力要求に先立ち前記移動元又は移動先記憶領域に連続して格納されたデータ群を予め設定された長さで前記キャッシュ手段に読込む連続格納データ先読み機能と、前記再配置進捗の監視結果に基づき前記移動元又は移動先記憶領域から前記キャッシュ手段にデータを読込み前記キャッシュ手段内のデータを更新するキャッシュデータ更新機能とを備えたことを特徴とする記憶情報配置システム。
【請求項５】
前記請求項３又は４に記載の記憶情報配置システムにおいて、
前記相互に対応する移動元および移動先記憶領域にデータが格納されている場合に、前記入出力制御手段は、前記移動元記憶領域に対する入出力処理要求に対して前記入出力処理要求に対応した処理対象データを前記移動先記憶領域から前記キャッシュ手段に読込む移動先読込み機能を備えたことを特徴とする記憶情報配置システム。
【請求項６】
複数の記憶領域からなるデータ記憶部と前記記憶領域のデータを一時的に保持するキャッシュ手段と前記各記憶領域における処理負荷を検出する負荷検出手段とを有するストレージ装置にあって、前記データに対する入出力処理要求に応じて入出力処理を行うと共にデータ記憶部内のデータ再配置を行う記憶情報配置方法において、
前記各記憶領域における処理負荷を監視する負荷監視工程と、前記記憶領域に対する入出力処理にかかる処理負荷の偏りを検知する処理負荷偏差検知工程と、前記記憶領域間で予め設定された値以上の負荷偏差が検出された場合に、負荷の高い記憶領域を移動元記憶領域に設定すると共に当該移動元記憶領域に予め対応して設定された記憶領域を移動先記憶領域に設定する記憶領域設定工程と、前記入出力処理要求に先立って前記移動元記憶領域の処理対象データを前記キャッシュ手段に読込む領域先読み工程と、入出力処理要求に応じて前記移動元記憶領域から処理対象データを読込むキャッシュ読み込み工程と、前記キャッシュ手段で入出力処理が行われた処理対象データを前記移動先記憶領域に格納するデータ再配置工程と、前記移動元記憶領域から前記キャッシュ手段に読込まれた処理対象データが前記移動先領域に格納されていれば配置済、格納されていなければ未配置であると論理ブロックごとに判断する再配置進捗監視工程とを備えると共に、
前記データ再配置工程が、前記再配置進捗監視工程で前記配置済と判定されたブロックの個数と予め与えられた規定値Ｎ／２とを比較し、前記配置済と判定されたブロックの個数が前記規定値Ｎ／２以上である場合には前記移動先記憶領域からＮ個の連続論理ブロックを前記キャッシュ手段に読み込んだ後で前記移動元記憶領域から前記未配置と判定されたブロックを読み込んで前記キャッシュ手段上の対応する領域に上書きし、前記配置済と判定されたブロックの個数が前記規定値Ｎ／２未満である場合には前記移動元記憶領域からＮ個の連続論理ブロックを前記キャッシュ手段に読み込んだ後で前記移動先記憶領域から前記配置済と判定されたブロックを読み込んで前記キャッシュ手段上の対応する領域に上書きすることを特徴とする記憶情報配置方法。
【請求項７】
複数の記憶領域からなるデータ記憶部と前記記憶領域のデータを一時的に保持するキャッシュ手段と前記各記憶領域の処理負荷を検出する負荷検出手段とを有するストレージ装置にあって、前記データに対する入出力処理要求に応じて入出力処理を行うと共にデータ記憶部内におけるデータ再配置を行うための記憶情報配置プログラムにおいて、
前記各記憶領域の処理負荷を監視する負荷監視機能、前記入出力処理要求および入出力処理に伴う処理負荷の偏りを検知する処理負荷偏差検知機能、前記記憶領域間で予め設定された値以上の負荷偏差が検出された場合に、負荷の高い記憶領域を移動元記憶領域に設定すると共に当該移動元記憶領域に予め対応して設定された記憶領域を移動先記憶領域に設定する記憶領域設定機能と、前記入出力処理要求に先立って前記移動元記憶領域の処理対象データを前記キャッシュ手段に読込む領域先読み機能と、入出力処理要求に応じて前記移動元記憶領域から処理対象データを読込むキャッシュ読み込み機能と、前記キャッシュ手段で入出力処理が行われた処理対象データを前記移動先記憶領域に格納するデータ再配置機能と、前記移動元記憶領域から前記キャッシュ手段に読込まれた処理対象データが前記移動先領域に格納されていれば配置済、格納されていなければ未配置であると論理ブロックごとに判断する再配置進捗監視機能とを前記ストレージ装置に備えられたコンピュータに実行させると共に、
前記データ再配置機能が、前記再配置進捗監視機能で前記配置済と判定されたブロックの個数と予め与えられた規定値Ｎ／２とを比較し、前記配置済と判定されたブロックの個数が前記規定値Ｎ／２以上である場合には前記移動先記憶領域からＮ個の連続論理ブロックを前記キャッシュ手段に読み込んだ後で前記移動元記憶領域から前記未配置と判定されたブロックを読み込んで前記キャッシュ手段上の対応する領域に上書きし、前記配置済と判定されたブロックの個数が前記規定値Ｎ／２未満である場合には前記移動元記憶領域からＮ個の連続論理ブロックを前記キャッシュ手段に読み込んだ後で前記移動先記憶領域から前記配置済と判定されたブロックを読み込んで前記キャッシュ手段上の対応する領域に上書きすることを特徴とした記憶情報配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージのデータ処理負荷分散方法に関し、特に複数のディスクにより構成されるＲＡＩＤのようなストレージを含んだシステムボリュームにおけるデータ移動を制御する記憶情報配置システム、記憶情報配置方法、および記憶情報配置プログラムに関する。
【背景技術】
【０００２】
複数のRAID（Redundant Array Inexpensive Disks）グループから構成されているディスクアレイ装置において、同一RAIDグループ上に構成された論理ボリュームに対し入出力処理が集中する場合、この入出力処理にかかる負荷(以下「処理負荷」という)が装置内の一部の磁気ディスクに偏るため、上記入出力処理が集中した磁気ディスクの動作がボトルネックとなり、ディスクアレイ装置全体に処理性能低下が発生してしまうという不都合があった。
このため、ディスクアレイサブシステム設計時、入出力処理が同じRAIDグループに集中しないよう、データの配置に配慮しなければならない。しかしながら、ディスクアレイの構成が大規模になると、最適なデータ配置を実現するために多大な経験及び知識が必要となる。さらには、業務要件が変化した場合、それ以前のデータ配置ではシステムを有効に利用することができなくなるという不都合があった。
【０００３】
これに対する関連技術として、RAIDグループ間の磁気ディスク負荷状況に応じて自動的にディスクアレイ装置内のデータ再配置を行い、入出力処理がひとつのRAIDグループに集中しないようにRAIDグループ間の処理負荷状況に応じて自動的にデータ再配置を行う手法が開示されている(特許文献１)。
この関連技術は、RAIDグループ上で構築された論理ボリューム群ごとに、１つ以上の論理ボリュームを予備ボリュームとして予め用意し、論理ボリューム群の間で負荷の偏りを検知した場合、負荷の大きいボリューム群内の論理ボリュームのデータを負荷の小さいボリューム群にある予備の論理ボリュームへコピーし、コピーを完了したら再配置元と再配置先のボリュームを交換する方式である。
【０００４】
【特許文献１】特開２００５−２０９０５５公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の関連技術では、再配置時はデータを順次コピーするため、再配置元の論理ボリュームに対するコピー処理(入出力処理)が多量に発生し、通常の業務処理と同時に行うと再配置元の論理ボリューム群の負荷がさらに大きくなってしまう。
このため、再配置元の論理ボリューム群の処理負荷が高いと検出できた場合であっても、再配置元の論理ボリューム群における処理負荷が下がるまで再配置処理を始めることができないという不都合があった。
又、データ再配置処理が完了するまで、再配置先の論理ボリュームが業務処理に利用できないという不都合があり、このため、データ再配置による負荷分散処理の効果がすぐに現れないという不都合がある。
【０００６】
［発明の目的］
本発明は、上記関連技術の有する不都合を改善し、処理にかかる負荷を軽減すると共に迅速で且つ安定した動作を行う記憶情報配置システム、記憶情報配置方法、および記憶情報配置プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る記憶情報配置システムでは、複数の記憶領域からなるデータ記憶部と記憶領域のデータを一時的に保持するキャッシュ手段とを有するストレージ装置と、このストレージ装置に対して入出力処理要求を行う入出力装置とを備えた記憶情報配置システムであって、ストレージ装置は、各記憶領域における入出力処理の負荷を検出する負荷検出手段と、記憶領域間で予め設定された値以上の負荷偏差が検出された場合に、負荷の高い記憶領域を移動元記憶領域に設定すると共に当該移動元記憶領域に予め対応して設定された記憶領域を移動先記憶領域に設定する配置領域設定手段と、入出力処理要求に先立って移動元記憶領域の処理対象データをキャッシュ手段に読込む入出力制御手段と、キャッシュ手段内で入出力処理された処理対象データを移動先記憶領域に格納する再配置手段とを備えると共に、移動元記憶領域からキャッシュ手段に読込まれた処理対象データが移動先領域に格納されていれば配置済、格納されていなければ未配置であると論理ブロックごとに判断する再配置進捗監視手段をストレージ装置に備え、入出力制御手段が、再配置進捗監視手段で配置済と判定されたブロックの個数と予め与えられた規定値Ｎ／２とを比較し、配置済と判定されたブロックの個数が規定値Ｎ／２以上である場合には移動先記憶領域からＮ個の連続論理ブロックをキャッシュ手段に読み込んだ後で移動元記憶領域から未配置と判定されたブロックを読み込んでキャッシュ手段上の対応する領域に上書きし、配置済と判定されたブロックの個数が規定値Ｎ／２未満である場合には移動元記憶領域からＮ個の連続論理ブロックをキャッシュ手段に読み込んだ後で移動先記憶領域から配置済と判定されたブロックを読み込んでキャッシュ手段上の対応する領域に上書きする構成となっている。
【０００８】
又、本発明にかかる記憶情報配置方法は、複数の記憶領域からなるデータ記憶部と記憶領域のデータを一時的に保持するキャッシュ手段と各記憶領域における処理負荷を検出する負荷検出手段とを有するストレージ装置にあって、データに対する入出力処理要求に応じて入出力処理を行うと共にデータ記憶部内のデータ再配置を行う記憶情報配置方法において、各記憶領域における処理負荷を監視する負荷監視工程と、記憶領域に対する入出力処理にかかる処理負荷の偏りを検知する処理負荷偏差検知工程と、記憶領域間で予め設定された値以上の負荷偏差が検出された場合に、負荷の高い記憶領域を移動元記憶領域に設定すると共に当該移動元記憶領域に予め対応して設定された記憶領域を移動先記憶領域に設定する記憶領域設定工程と、入出力処理要求に先立って移動元記憶領域の処理対象データをキャッシュ手段に読込む領域先読み工程と、入出力処理要求に応じて移動元記憶領域から処理対象データを読込むキャッシュ読み込み工程と、キャッシュ手段で入出力処理が行われた処理対象データを移動先記憶領域に格納するデータ再配置工程と、移動元記憶領域からキャッシュ手段に読込まれた処理対象データが移動先領域に格納されていれば配置済、格納されていなければ未配置であると論理ブロックごとに判断する再配置進捗監視工程とを備えると共に、データ再配置工程が、再配置進捗監視工程で配置済と判定されたブロックの個数と予め与えられた規定値Ｎ／２とを比較し、配置済と判定されたブロックの個数が規定値Ｎ／２以上である場合には移動先記憶領域からＮ個の連続論理ブロックをキャッシュ手段に読み込んだ後で移動元記憶領域から未配置と判定されたブロックを読み込んでキャッシュ手段上の対応する領域に上書きし、配置済と判定されたブロックの個数が規定値Ｎ／２未満である場合には移動元記憶領域からＮ個の連続論理ブロックをキャッシュ手段に読み込んだ後で移動先記憶領域から配置済と判定されたブロックを読み込んでキャッシュ手段上の対応する領域に上書きすることを特徴とする。
【０００９】
更に、本発明にかかる記憶情報配置プログラムは、複数の記憶領域からなるデータ記憶部と記憶領域のデータを一時的に保持するキャッシュ手段と各記憶領域の処理負荷を検出する負荷検出手段とを有するストレージ装置にあって、データに対する入出力処理要求に応じて入出力処理を行うと共にデータ記憶部内におけるデータ再配置を行うための記憶情報配置プログラムにおいて、各記憶領域の処理負荷を監視する負荷監視機能、入出力処理要求および入出力処理に伴う処理負荷の偏りを検知する処理負荷偏差検知機能、記憶領域間で予め設定された値以上の負荷偏差が検出された場合に、負荷の高い記憶領域を移動元記憶領域に設定すると共に当該移動元記憶領域に予め対応して設定された記憶領域を移動先記憶領域に設定する記憶領域設定機能と、入出力処理要求に先立って移動元記憶領域の処理対象データをキャッシュ手段に読込む領域先読み機能と、入出力処理要求に応じて移動元記憶領域から処理対象データを読込むキャッシュ読み込み機能と、キャッシュ手段で入出力処理が行われた処理対象データを移動先記憶領域に格納するデータ再配置機能と、移動元記憶領域からキャッシュ手段に読込まれた処理対象データが移動先領域に格納されていれば配置済、格納されていなければ未配置であると論理ブロックごとに判断する再配置進捗監視機能とをストレージ装置に備えられたコンピュータに実行させると共に、データ再配置機能が、再配置進捗監視機能で配置済と判定されたブロックの個数と予め与えられた規定値Ｎ／２とを比較し、配置済と判定されたブロックの個数が規定値Ｎ／２以上である場合には移動先記憶領域からＮ個の連続論理ブロックをキャッシュ手段に読み込んだ後で移動元記憶領域から未配置と判定されたブロックを読み込んでキャッシュ手段上の対応する領域に上書きし、配置済と判定されたブロックの個数が規定値Ｎ／２未満である場合には移動元記憶領域からＮ個の連続論理ブロックをキャッシュ手段に読み込んだ後で移動先記憶領域から配置済と判定されたブロックを読み込んでキャッシュ手段上の対応する領域に上書きすることを特徴としている。
【発明の効果】
【００１０】
本発明は、以上のように構成され機能するので、これによると、記憶領域間の負荷の偏在を自動的に分散させることができ、且つ記憶領域全体に対するアクセスの最適化を行うことができる。
【発明を実施するための最良の形態】
【００１１】
［実施形態］
本発明の実施形態は、図１に示すように、例えばクライアントとして機能する処理装置（ホスト装置）１０と、この処理装置１０から送りこまれる入出力要求に応じて入出力処理を行うディスクアレイ装置１００とにより構成される。
ディスクアレイ装置１００は、例えばRAIDのような記憶装置としての物理的な記憶ディスク１０１と、この記憶ディスク１０１に格納されたデータおよび上記入出力処理を制御するディスク制御部５０とにより構成される。
また、ディスク制御部５０は、記憶ディスク１０１に格納されたデータ(ボリューム)のアクセス制御を行う入出力制御部１２０と、入出力処理部１２０およびホスト装置(入出力装置)に接続され処理対象データを一時的に記憶するキャッシュ手段１１０と、記憶ディスク１０１を構成する論理ボリューム群間の負荷の偏りを監視する負荷監視部１２１と、このデータ再配置処理に必要となる情報が記録されたボリューム管理テーブル１３０、再配置対象テーブル１３１および再配置進捗テーブル１３２を記憶するメモリ１２５とを有する。
更に、上記記憶ディスク１０１は、複数の磁気ディスクから複数(例えば２つ)のRAIDグループにより構成され、各RAIDグループ上に複数の論理ボリューム群が構築されている。
本実施形態では、2つのRAIDグループ上に、論理ボリューム群１１１と論理ボリューム群１１２が構成される。
論理ボリューム群１１１と論理ボリューム群１１２それぞれのボリューム群は、複数の論理ボリュームからなり、論理ボリューム群ごとに１つ以上の論理ボリュームを予備ボリュームとして予め設定する。
【００１２】
ホスト装置１０から送り込まれる複数の入出力要求に対して、各論理ボリュームへアクセスが分散して行われる場合は性能的な問題は起こらないが、特定の論理ボリュームまたは論理ボリューム群にアクセスが集中するとディスク装置の性能を十分発揮することができなくなる。
【００１３】
本実施形態では、論理ボリューム群１１１中に、負荷が集中している論理ボリューム(以下「業務ボリューム」という)を含む論理ボリューム１１３が、設定され、また、論理ボリューム群１１２内に前記業務ボリュームに対応した予備ボリュームを含む論理ボリューム１１４が設定された構成となっている。
【００１４】
以下、これを詳説する。
処理装置１０は、例えばクライアント機として機能するホスト計算装置であり、ディスクアレイ装置１００に対して入出力要求を行うと共に、ディスクアレイ装置１００から送られる入出力処理されたデータを受信しデータ処理を行う。
【００１５】
記憶ディスク１０１は、複数の磁気ディスク、ここでは２つのRAIDグループを構築し、RAIDグループ上に複数の論理ボリュームが設定された構成となっている。具体的には、２つのRAIDグループ上に、論理ボリューム群１１１と論理ボリューム群１１２が構成されている。
又、論理ボリューム群１１１と論理ボリューム群１１２は、複数の論理ボリュームの集合であり、各論理ボリュームは論理ブロックにより構成されている。
尚、各論理ブロックは論理ブロックIDが予め設定されており、この論理ブロックIDを指定することで対応する論理ブロックにアクセスすることができる。
更に、上述のように、同一RAIDグループ上に構成された論理ボリューム群ごとに１つ以上の論理ボリュームが予備ボリュームとして予め設定されている。
【００１６】
メモリ１２５は、上述のように、データ再配置処理に必要となる情報の記録されたボリューム管理テーブル１３０、再配置対象テーブル１３１および再配置進捗テーブル１３２を記憶している。
【００１７】
ここで、記憶されている各テーブルの内容を説明する。
ボリューム管理テーブル１３０は、図２に示すように、各論理ボリューム群に対応して１つ存在し、論理ボリューム群を構成する各論理ボリュームの容量および用途（業務または予備）が記録されている。
【００１８】
再配置対象テーブル１３１は、図３に示すように、再配置処理実行中の再配置元ボリュームと配置先ボリュームの情報をペアで記録するテーブルであり、ディスクアレイ装置１００中に1つ設定される。
【００１９】
再配置進捗テーブル１３２は、図４に示すように、論理ブロック単位でデータの再配置が完了したか否かを記録するテーブルであり、再配置元ボリュームおよび再配置先ボリュームの各ペア(図１の(※))に対応して1つ存在する。これにより、再配置進捗テーブル132は、各論理ブロックに対応する最新データが再配置元ボリュームと再配置先ボリュームのどちらにあるのかを示す。
【００２０】
入出力制御部１２０は、負荷監視部１２１が処理負荷の偏りを検知した場合に、この負荷監視部１２１からの指示により、ある論理ボリューム群１１１内の業務ボリュームを別の論理ボリューム群１１２にある予備ボリュームにコピーし移動することにより行うデータ(ボリューム)の再配置処理を制御する。
【００２１】
入出力制御部１２０は、図５に示すように、論理ボリュームの再配置処理を制御する再配置管理手段１４０と、この再配置管理手段１４０からの指示に従い処理を行う書込み制御手段１４２および読出し制御手段１４３と、キャッシュ手段１１０に接続され処理対象データの読込みを制御するキャッシュ制御手段１４１と、再配置処理後の論理ブロックの再配置処理を行う後処理手段１４４とを備えた構成となっている。
【００２２】
ここで、入出力制御部１２０の構成手段について詳説する。
再配置管理手段１４０は、入出力要求のアクセス先の論理ボリュームが再配置対象テーブル１３１に登録されているか否かを判定する入出力要求登録判定機能を備えている。
また、再配置管理手段１４０は、アクセス先の論理ボリュームが再配置対象テーブル１３１に登録されていると判定された場合、入出力要求の種別が出力要求のときは、読出し制御手段１４３に対して読出し処理要求信号を通知し、一方、入出力要求の種別が入力要求のときは、書込み制御手段１４２に対して書込み要求信号を通知する処理要求通知機能を備えている。
【００２３】
更に、再配置管理手段１４０は、データ再配置処理に必要な情報をメモリおよび負荷監視部１２１から取得し、キャッシュ制御手段１４１に通知する情報通知機能を備えている。
尚、再配置対象テーブル１３１に登録されていない場合は対象の論理ボリュームは再配置の対象ではないため、入出力制御部１２０は、通常の入出力処理のみを行う。
【００２４】
キャッシュ制御手段１４１は、ホスト装置１０からアクセスされる可能性のあるデータを、入出力処理要求を受信するのに先立って、対象論理ボリュームからキャッシュ手段１１０に読み込むデータ先読み取得機能を有する。
このとき、キャッシュ制御手段１４１は、再配置進捗テーブル１３２を参照し、Ｎ個の論理ブロックを論理ボリュームのＩＤに基づいて、各論理ボリュームの再配置状態をチェックする機能を備えている。
【００２５】
又、キャッシュ制御手段１４１は上記再配置元および再配置先ボリュームからキャッシュ手段１１０に処理対象ボリューム(データ)を読み込むデータ読み込み機能および配置先データ読み込み機能を有する。
キャッシュ制御手段１４１は、読み書きの対象の論理ボリューム群を選択する入出力処理対象ボリューム選択機能を備えている。
【００２６】
ここで、ホスト装置１０から認識できる業務ボリュームは１つしか存在しないが、再配置処理中は、論理ボリュームの一部は再配置元および再配置先ボリュームの２つのボリューム上に格納されている。
このため、キャッシュ制御手段１４１は、後述するように、キャッシュ手段１１０内の各論理ブロック(データ)の再配置状態に基づき、当該データに対応する再配置元または再配置先ボリュームの何れからキャッシュ手段１１０にデータの読み込みを行うかを決定する読込元選択機能を備えている。
【００２７】
又、キャッシュ制御手段１４１は上記再配置元および再配置先ボリュームからキャッシュ手段１１０に処理対象ボリューム(データ)を読み込むデータ読込み機能および配置先データ読み込み機能を有する。
これにより、再配置処理の実施中に再配置元ボリュームに対してデータの読み込み要求が発生した場合でも、再配置が完了したデータを再配置先ボリュームからキャッシュ手段へ読み込むことができる。
【００２８】
ここで、キャッシュ制御手段１４１は、論理ボリュームからキャッシュ手段１１０への１回の先読み処理で必ず予め設定されたN個（N=既定値）の連続論理ブロックを読み込む。
又、キャッシュ制御手段１４１は、そのＮ個の論理ブロックのＩＤをキーに基づいて再配置進捗テーブル１３２参照し、各論理ブロックの再配置状態をチェックする再配置状態判定機能を備えている。
【００２９】
具体的には、Ｎ個の論理ブロックのうち、再配置状態が“１”（配置済）に設定された論理ブロックがＮ／２以上占める場合に、そのN個の連続論理ブロックを再配置先ボリュームからキャッシュ１１０に読み込み、次いで、再配置状態が“０”（未配置）に設定された論理ブロックを再配置元ボリュームから読み込む。このとき、キャッシュ手段１１０条に既に読込まれた論理ブロック(論理テーブル)の対応するキャッシュ領域に対して上書き格納する。これにより、キャッシュ領域１１０内に読込まれ格納されたボリューム(データ)は最新にデータ内容に更新される。
【００３０】
一方、再配置状態が“０”となっている論理ブロックがＮ／２以上占める場合、そのＮ個の連続論理ブロックを再配置元ボリュームからキャッシュ１１０に読み込み、次いで、再配置状態が“１”となっている論理ブロックを再配置先ボリュームから読み込むと共に、対応するキャッシュ領域に上書き格納する。
これによって、入出力処理の対象ボリューム(データ)の連続性が最大限保証され、且つ論理ボリュームに対する入出力処理およびアクセスの回数を最小限に抑制することができるため、論理ボリュームにかかる入出力処理負荷を抑制することができる。
【００３１】
更に、キャッシュ制御手段１４１は、キャッシュ手段１１０上に保持されている論理ブロックの再配置状態をチェックする再配置状態判定機能を有する。
又、キャッシュ制御手段１４１は、再配置状態が“０”(未配置)となっている論理ブロックについては、更新があった論理ブロックと同様に再配置先の論理ボリュームへ定期的に格納する書き戻し機能を備えている。ここで、キャッシュ制御手段１４１は、再配置先の論理ボリュームへ格納処理(書き戻し)が完了した後、対応する論理ブロックの再配置状態を“１”に設定する。
【００３２】
更に、キャッシュ制御手段１４１は、全ての論理ブロックの再配置状態が“１”になったか否かを判定する再配置状態判定機能と、再配置処理が完了となった場合、再配置先ボリュームを業務ボリュームに設定すると共に再配置元ボリュームを予備ボリュームに設定するボリュームモード変換設定機能を備えている。
又、キャッシュ制御手段１４１は、再配置対象テーブル１３１から再配置済論理ボリュームの登録を削除する再配置対象初期化機能を備えている。
【００３３】
書込み制御手段１４２は、ＷＲＩＴＥ要求の開始および終了アドレスをボリュームの論理ブロックＩＤ(開始アドレス及び終了アドレスを含む)に変換するＷＲＩＴＥアドレス変換機能と、変換されたアドレスに対応する論理ブロックがキャッシュ手段１１０上に存在するか否かの判定を行う書込みブロック読込み判定機能を有する。
ここで、書込み制御手段１４２対応する論理ブロックがキャッシュ手段１１０内に存在する場合は当該論理ブロックのデータに対する書込み処理を実行することにより上書きを行う。
一方、変換されたアドレスに対応する論理ブロックがキャッシュ手段１１０上に存在しない場合は、未使用キャッシュ領域へ書込み処理データを格納し、そのキャッシュ領域(アドレス)をキャッシュ制御手段１４１に通知する。
【００３４】
読出し制御手段１４３は、入出力要求(READ要求)に含まれる開始および終了アドレスを論理ボリュームの論理ブロックＩＤ(開始アドレス及び終了アドレスを含む)に変換するＲＥＡＤアドレス変換機能と、対応する論理ブロックがキャッシュ手段１１０上に存在するか否かの判定を行うＲブロック読込み判定機能を有する。
ここで、対応する論理ブロックがキャッシュ手段１１０内に存在する場合は当該論理ブロックのデータをキャッシュ手段１１０から読み出し処理を行う。
又、対応する論理ブロックがキャッシュ手段１１０内に存在しない場合は、キャッシュ制御手段１４１に、読み込み対象の論理ブロックＩＤを指示する。
【００３５】
後処理手段１４４は、ディスクアレイ１００全体の負荷が、予め設定された値以下となった場合に、再配置進捗テーブル１３２を検索し、再配置状態が“０”となっている論理ブロックを抽出する論理ブロック抽出機能を備えている。
又、後処理手段１４４は、抽出された論理ブロックのデータを順次再配置先ボリュームへコピーするボリューム複製配置機能を備えている。尚、このとき再配置進捗テーブル１３２の再配置状態を“１”にする。
更に、後処理手段１４４は、抽出された論理ブロックの再配置状態が全て“１”になったか否かを判定する再配置完了判別機能と、再配置完了と判定された場合に再配置先ボリュームを業務ボリュームに、再配置元ボリュームを予備ボリュームと設定すると共に再配置対象テーブル１３１から再配置済ボリュームの登録を削除するボリューム再設定機能を備えている。
これにより、一度もアクセスされていないデータについて、全体負荷が一定程度下がった後に再配置先のボリュームへ移動し、すべてのデータを移動した後に、再配置先ボリュームを業務ボリュームに、再配置元ボリュームを予備ボリュームに設定することができる。
【００３６】
負荷監視部１２１は、各論理ボリュームにおける入出力処理にかかる負荷を分析し入出力処理負荷値を検出する負荷値検出機能と、検出された処理負荷値(および更新された値)を予め設定されたボリューム管理テーブル１３０に登録する処理負荷値登録機能を備えている。
又、負荷監視部１２１は、各論理ボリューム群にかかる処理負荷値を監視すると共に、論理ボリューム群間における処理負荷の偏差を検知する処理負荷偏差検知機能を有する。
更に、負荷監視部１２１は、予め設定された処理負荷偏差の閾値を越えた処理負荷偏差が検知された場合に、処理負荷の高い論理ボリューム(業務ボリューム)を特定すると共に、当該論理ボリュームに対応した論理ボリューム(業務ボリューム)を再配置元ボリュームに設定する再配置対象設定機能を備えている。
【００３７】
具体的には、処理負荷の高い論理ボリューム群１１１を特定すると共に、ボリューム管理テーブル１３０を検索し最も処理負荷が高い業務ボリュームを特定し当該ボリュームを再配置元ボリュームとして設定する。
また、負荷が低い論理ボリューム群１１２に対応したボリューム管理テーブル１３０を検索し、設定された再配置元ボリュームと同容量の予備ボリュームがあるか否かの判定を行い、同容量ボリュームがある場合には、その予備ボリュームを再配置先ボリュームに設定する。
【００３８】
又、負荷監視部１２１は、上記設定された再配置元ボリュームに対応して同容量の予備ボリュームが無い場合には、当該再配置元ボリュームのデータは再配置処理を不可能と判定し、次に処理負荷の高い業務ボリュームを選出し、処理負荷の低い論理ボリューム群に業務ボリュームに対応する予備ボリュームがあるか否かを判定する機能を備えている。ここで、対応する予備ボリュームがある場合は、当該予備ボリュームを再配置先ボリュームに設定する。
【００３９】
［実施形態の動作説明］
次に、上記実施形態の動作について説明する。
先ず、負荷監視部１２１が、各記憶領域の処理負荷を監視する(負荷監視工程)。入出力処理に伴う処理負荷の偏りを検知する(処理負荷偏差検知工程)。処理負荷の高い記憶領域から処理対象データを読込み(キャッシュ読み込み工程)、入出力処理が行われた処理対象データを前記キャッシュ手段で処理服負荷の低い記憶領域に格納する(データ再配置工程)。
【００４０】
ここで、上記負荷監視工程、処理負荷偏差検知工程、キャッシュ読み込み工程、およびデータ再配置工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
【００４１】
次に、上記実施形態のディスクアレイ装置１００の負荷監視部１２１の動作について図６のフローチャートに基づいて説明する。
【００４２】
まず、負荷監視部１２１は常時動作しており、ディスクアレイ装置１００中の各論理ボリュームの入出力処理負荷を分析し、ボリューム管理テーブル１３０へ記録している（ステップＳ１０１：負荷監視工程）。論理ボリューム群１１１および１１２間に処理負荷の偏差(予め設定された閾値を超過した偏差)が検知された場合に（ステップＳ１０２：処理負荷偏差検知工程）、負荷監視部１２１が、再配置対象の論理ボリュームの選定を行う。
【００４３】
具体的には、処理負荷の高い論理ボリューム群１１１のボリューム管理テーブルを検索し、最も処理負荷が高い業務ボリュームを再配置元ボリュームとして選択する（ステップＳ１０３）。
次に、負荷が低い論理ボリューム群１１２のボリューム管理テーブル１３０を検索し、再配置元ボリュームと同容量の予備ボリュームがあるか否かの判定を行う（ステップＳ１０４）。
【００４４】
ここで、論理ボリューム群１１２に前記再配置元ボリュームと同容量の予備ボリュームがある場合、この予備ボリュームを再配置先ボリュームとして設定する（ステップＳ１０５）。
【００４５】
次いで、負荷監視部１２１は、再配置元および再配置先ボリュームを再配置対象テーブル１３１に登録すると共に当該二つのペアボリューム(図１(※))に対応する再配置進捗テーブル１３２を新規作成する（ステップＳ１０６）。
【００４６】
次いで、ボリューム管理テーブル１３０の「用途」フィールドを「再配置中」に更新設定する（ステップＳ１０７）。
一方、ステップS１０４で、同容量の予備ボリュームがないと判定された場合は、当該再配置元ボリュームを再配置不可とし、次に負荷が高い業務ボリュームを再配置元ボリュームに設定し、Ｓ１０３〜Ｓ１０４を再度実施する。
【００４７】
次に、入出力制御部１２０の再配置管理手段１４０の動作について図７のフローチャートに基づいて説明する。この再配置管理手段１４０は、ホスト装置１０から入出力要求が送り込まれるのに応じて動作する。
【００４８】
先ず、入出力処理要求のアクセス先ボリュームが、再配置対象テーブル１３１に登録されているかチェックする（ステップＳ１２１）。登録されている場合は、入出力要求の種別に基づいて、入力(書込み)要求(WRITE要求)の場合は書込み制御手段１４２に（ステップＳ１２２）、出力要求(READ要求)の場合は読出し制御手段１４３に（ステップＳ１２３）通知することにより入力処理または出力処理を起動する。
【００４９】
次に、書込み制御手段１４２の動作について図８のフローチャートに基づいて説明する。この書込み制御手段１４２は、再配置管理手段１４０から通知される起動信号によって動作する。
【００５０】
まず、送り込まれた入力要求の開始および終了アドレスを論理ボリュームの論理ブロックIDへと変換する（ステップＳ１３１）。
次に、対応する論理ブロックがキャッシュ手段１１０上に存在するか否かチェックを行い（ステップＳ１３２）、存在する場合は対応するキャッシュ領域を上書きする（ステップＳ１３３）。
対応する論理ブロックがキャッシュ上に存在しない場合は、未使用キャッシュ領域にデータを書き(読み)込み(ステップＳ１３４)、そのキャッシュ領域(アドレス)をキャッシュ制御手段１４１に通知する(ステップＳ１３５)。
【００５１】
次に、入出力制御部１２０の読出し制御手段１４３の動作について図９のフローチャートに基づいて説明する。この読出し制御手段１４３は、再配置管理手段１４０から呼び出されることによって動作する。
【００５２】
まず、読出し(READ)要求の開始および終了アドレスをボリュームの論理ブロックＩＤに変換する（ステップＳ１４１）。次に、対応する論理ブロックがキャッシュ手段１１０上に存在するか否かチェックを行い(ステップＳ１４２)、存在する場合は対応するキャッシュ領域からデータを読み出す(ステップＳ１４３)。
対応する論理ブロックがキャッシュ上に存在しない場合は、キャッシュ制御手段１４１に、必要となるデータの論理ブロックＩＤに通知する(ステップＳ１５４)。
【００５３】
次に、キャッシュ制御手段１４１の動作について図１０のフローチャートに基づいて説明する。
【００５４】
ホスト装置１０からの入出力要求に先立って、キャッシュ制御手段１４１は、負荷監視部１２１の検出した結果に基づき、業務ボリュームをキャッシュ手段１１０に読込む(ステップS１５１)。
【００５５】
このとき、１回の先読み処理では必ずN個（N=既定値）の連続論理ブロックをキャッシュに読み込み、次いで、キャッシュ制御手段１４１は、そのＮ個の論理ブロックのＩＤに基づいて再配置進捗テーブル１３２を参照し各論理ブロックの再配置状態をチェックする（ステップＳ１５２）。
【００５６】
ここで、再配置状態が“１”（配置済）に設定された論理ブロックがN／2以上を占める場合に、そのN個の連続論理ブロックを再配置先ボリュームからキャッシュ１１０に読み込む（ステップＳ１５３）。
次に、再配置状態が“０”（未配置）に設定された論理ブロックを再配置元ボリュームから読み込むと共に、再配置先ボリュームが読込まれた対応するキャッシュ領域に上書き格納する（ステップＳ１５４）。
【００５７】
一方、再配置状態が“０”となっている論理ブロックがN/2以上占める場合、そのＮ個の連続論理ブロックを再配置元ボリュームからキャッシュ手段１１０に読み込む（ステップＳ１５５）。
次に、再配置状態が“１”となっている論理ブロックを再配置先ボリュームから読み込むと共に、再配置元ボリュームが読込まれた対応するキャッシュ領域に上書き格納する（ステップＳ１５６）。
これによって、入出力の連続性が最大限保証され、入出力処理の回数を最小限に抑制することができる。
【００５８】
尚、ホスト装置１０からの入出力要求を受信した後に業務ボリュームをキャッシュ手段１１０に読込む場合、キャッシュ制御手段１４１は、書き込み制御手段１４２または読出し制御手段１４３から通知された論理ブロックIDに基づいて業務ボリューム(処理対象ボリューム)をキャッシュ手段１１０に読込むようにしてもよい。
【００５９】
これにより、設定された再配置元ボリュームと再配置先ボリュームとのペアに対し、データをキャッシュ領域１１０に先読みすると共に再配置元ボリューム上のデータを再配置先ボリュームへ移動する、または、ホスト装置１０からの入出力要求を契機にして再配置元ボリューム上のアクセスされているデータを再配置先のボリュームへ移動することができる。
【００６０】
次に、キャッシュ制御手段１４１は、キャッシュ１１０上に保持されている論理ブロックの再配置状態をチェックし（ステップＳ１５７）、再配置状態が“０”(未配置)となっている論理ブロックについては、更新があった論理ブロックと同様に再配置先のボリュームへ定期的に書き戻す（ステップＳ１５８）。
【００６１】
次いで、書き戻しが完了した後、対応する論理ブロックの再配置状態を“１”にする（ステップＳ１５９）。全ての論理ブロックの再配置状態が“１”になったら、再配置が完了となり、再配置先ボリュームを業務ボリュームとし、再配置元ボリュームを予備ボリュームとすると共に、再配置対象テーブル１３１から再配置済ボリュームの登録を削除する（ステップＳ１６０）。
【００６２】
最後に、入出力制御部１２０の後処理手段１４４の動作について、図１１に示すフローチャートに基づいて説明する。後処理手段１４４は、ディスクアレイ全体の負荷が一定程度以下となった時（例えば、業務休止時）に実行される。
【００６３】
先ず、後処理手段１４４は、再配置進捗テーブル１３２を検索し、再配置状態が“０”となっている論理ブロックを抽出する（ステップＳ１７１）。抽出された論理ブロックのデータを順次再配置先ボリュームへコピーし（ステップＳ１７２）、再配置進捗テーブル１３２の再配置状態を“１”にする（ステップＳ１７３）。全ての論理ブロックの再配置状態が“１”になったら、再配置が完了となり、再配置先ボリュームを業務ボリュームに、再配置元ボリュームを予備ボリュームと設定すると共に、再配置対象テーブル１３１から再配置済のボリュームの登録を削除する（ステップＳ１７４）。
【００６４】
尚、上記実施形態では、RAIDグループが2つ存在するが、RAIDグループが３つ以上存在する場合でも、再配置元のボリュームと再配置先のボリュームを違うRAID グループから選択することにより、同様な方法で再配置制御をおこなうことができる。
【００６５】
以上のように、上記実施形態では、複数のRAIDグループから構成されているディスクアレイ装置において、同一RAIDグループ上に構成された論理ボリュームに対し入出力処理が集中する場合に処理負荷が装置内の一部の磁気ディスクに偏るため生じる性能低下を、RAIDグループ間の磁気ディスク負荷状況に応じて、自動的にデータ再配置を行うことにより、軽減することができる。
これにより、オンライン業務中などの常時データアクセスが予想される状況においても業務に影響を与えずにデータの自動再配置をおこなうことができる。
【００６６】
又、再配置元ボリュームに対し余分なコピーのための読み出し処理にかかる負荷が発生することがなく、キャッシュ手段内の最新データを再配置先ボリュームへ書き戻すことでデータの再配置を行うため、再配置元の論理ボリューム群へ負荷を掛けることなくデータ再配置を実現できる。
【００６７】
更に、本発明では、再配置処理が全て終わっていなくても、全ての書込みと一部の読出し処理が再配置先ボリュームへリダイレクトされるため、再配置開始直後から再配置先ボリュームが業務に利用することができ、これによりデータ再配置の開始直後から業務ボリューム(再配置元ボリューム)に対する負荷分散を分散することができる。
【００６８】
データの先読みやホスト装置からの入出力処理など、ボリュームに対するアクセスが発生するたびに、データがキャッシュ手段に格納されるため、キャッシュ手段内の最新データを再配置先ボリュームへ書き戻すことでデータの再配置を実現することができる。
【産業上の利用可能性】
【００６９】
本発明は、オンライン業務にかかるデータベースシステムのデータ自動再配置に利用することができる。
【図面の簡単な説明】
【００７０】
【図１】本発明による記憶情報配置システムの一実施例の全体を示す概略構成図である。
【図２】図１に開示した記憶情報配置システムにおけるボリューム管理テーブルの一例を示す説明図である。
【図３】図１に開示した記憶情報配置システムにおける再配置対象テーブルの一例を示す説明図である。
【図４】図１に開示した記憶情報配置システムにおける再配置進捗テーブルの一例を示す説明図である。
【図５】図１に開示した記憶情報配置システムにおける入出力制御部の一例を示す概略構成図である。
【図６】図１に開示した記憶情報配置システムにおける負荷監視部の動作処理ステップを示したフローチャートである。
【図７】図１に開示した記憶情報配置システムにおける再配置管理手段の動作処理ステップを示したフローチャートである。
【図８】図１に開示した記憶情報配置システムにおける書込み制御手段の動作処理ステップを示したフローチャートである。
【図９】図１に開示した記憶情報配置システムにおける読出し制御手段の動作処理ステップを示したフローチャートである。
【図１０】図１に開示した記憶情報配置システムにおけるキャッシュ制御手段の動作処理ステップを示したフローチャートである。
【図１１】図１に開示した記憶情報配置システムにおける後処理手段の動作処理ステップを示したフローチャートである。
【符号の説明】
【００７１】
１０  ホスト装置
５０  ディスク制御部
１００  ディスクアレイ装置
１０１  記憶ディスク
１１０  キャッシュ部
１１１、１１２  論理ボリューム群
１１３、１１４  論理ボリューム
１２０  入出力制御部
１２１  負荷監視部
１２５  メモリ
１３０  ボリューム管理テーブル
１３１  再配置対象テーブル
１３２  再配置進捗テーブル
１４０  再配置監視手段
１４１  キャッシュ制御手段
１４２  書込み制御手段
１４３  読出し制御手段
１４４  後処理手段
【図１】
0004900203.tif 000002
【図２】
0004900203.tif 000003
【図３】
0004900203.tif 000004
【図４】
0004900203.tif 000005
【図５】
0004900203.tif 000006
【図６】
0004900203.tif 000007
【図７】
0004900203.tif 000008
【図８】
0004900203.tif 000009
【図９】
0004900203.tif 000010
【図１０】
0004900203.tif 000011
【図１１】
0004900203.tif 000012