【手続補正書】
【提出日】平成18年6月30日(2006.6.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】        明細書
【発明の名称】記憶システム
【特許請求の範囲】
【請求項１】
互いに性能及び又は特性の異なる複数の記憶装置群と、前記記憶装置群にデータを読み書きする上位ホストと、いずれかの前記記憶装置群に書き込まれたデータを前記複数の記憶装置群間で移動させるように、対応する前記記憶装置群を制御する階層制御機構とを有する記憶システムにおいて、
上位ホストに対するユーザからの処理の要求であるジョブの運用管理を行うジョブ運用管理部が管理するユーザプログラムを実行するためのスケジュールから、事前に前記ユーザプログラムが使用するデータを割り出し、前記階層制御機構を制御して、当該データをより高速な記憶装置へ再配置させる階層制御部と
を備えることを特徴とする記憶システム。
【請求項２】
前記上位ホストは、
前記ジョブ運用管理部が管理するユーザプログラムを実行するためのスケジュールから、事前に前記ユーザプログラムが使用するデータを割り出し、前記階層制御機構を制御して、当該データをより高速な記憶装置へ再配置させるための階層制御部を備える
ことを特徴とする請求項１記載の記憶システム。
【請求項３】
前記階層制御機構は、
前記階層制御部の指示に従って、データを前記複数の記憶装置群の間で移動させる
ことを特徴とする請求項２記載の記憶システム。
【請求項４】
互いに性能及び又は特性の異なる複数の記憶装置群と、前記記憶装置群にデータを読み書きする上位ホストと、いずれかの前記記憶装置群に書き込まれたデータを前記複数の記憶装置群間で移動させるように、対応する前記記憶装置群を制御する階層制御機構とを有する記憶システムを制御するプログラムにおいて、
前記上位ホストに対するユーザからの処理の要求であるジョブの運用管理を行うジョブ運用管理部が管理するユーザプログラムを実行するためのスケジュールから、今後実行される予定のジョブのジョブ名を抽出し、
当該ジョブ名を基にオペレーティングシステムが管理する一定の規則に従ってジョブを制御するジョブ制御言語を格納したファイルを参照して、前記ジョブが使用するファイル名及び又はボリューム名を割り出し、
当該ファイル名及び又はボリュームが格納されたデータをより高速な記憶階層に再配置させることを前記階層制御機構に指示する
処理を前記上位ホストに実行させることを特徴とするプログラム。
【請求項５】
互いに性能及び又は特性の異なる複数の記憶装置群と、前記記憶装置群にデータを読み書きする上位ホストと、いずれかの前記記憶装置群に書き込まれたデータを前記複数の記憶装置群間で移動させるように、対応する前記記憶装置群を制御する階層制御機構とを有する記憶システムにおいて、
前記上位ホストは、
前記上位ホストに対するユーザからの処理の要求であるジョブの運用管理を行うジョブ運用管理部と、
前記運用管理部が管理するユーザプログラムを実行するためのスケジュールに基づいて前記階層制御機構を制御する階層制御部と
を有し、
前記階層制御部は、
前記ユーザプログラムを実行するためのスケジュールから、今後実行される予定のジョブの識別情報を抽出し、
当該識別情報を基にオペレーティングシステムが管理する一定の規則に従ってジョブを制御するジョブ制御言語を格納したファイルを参照して、前記ジョブが使用するファイルが格納された第１のボリュームを検出し、
当該第１のボリュームに格納されたデータの移動先として、未使用の第２のボリュームを割り当て、
当該第２のボリュームのアクセス処理性能が、前記第１のボリュームのアクセス処理性能よりも高速か否かを判定し、
前記第２のボリュームのアクセス処理性能が、前記第１のボリュームのアクセス処理性能よりも高速であったときには、前記第１のボリュームに格納されたデータを前記第２のボリュームに移動させるように前記階層制御機構を制御する一方、前記第２のボリュームのアクセス処理性能が、前記第１のボリュームのアクセス処理性能よりも高速でなかったときには、前記第１のボリュームに格納されたデータの移動先として、他の未使用のボリュームを割り当てる
ことを特徴とする記憶システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は処理速度や記憶容量の異なる記憶装置を組み合わせて記憶の階層構造を形成し、各階層間でのデータの移動を制御することで、記憶装置の使用効率の向上を図った階層制御型記憶システムに関するものである。
【０００２】
【従来の技術】
特開平０５−０７３２１３号公報では、複数の処理速度や記憶容量の異なる外部記憶装置を上位ホストが仮想的な記憶装置の記憶空間として階層に分け定義し、直接ホストからはアクセスすることが少ないデータを、処理速度の比較的低い記憶装置に再配置する制御方式の技術を開示している。
【０００３】
また特開平０９−２７４５４４号公報では、ディスクアレイサブシステムに代表される様な記憶装置内に、複数の処理速度や記憶容量の異なるディスクドライブを搭載している場合の階層制御においては、当該記憶装置に対してホストから要求のあったI/Oのアクセス頻度の統計情報を記憶装置内部で履歴として管理し、当該情報を基にI/Oのアクセス頻度の高いデータを、より高性能な記憶装置へ移動させるための技術を開示している。
【０００４】
何れの階層制御方式によっても、過去にアクセス頻度の高かったデータは将来もアクセス頻度が高いものと想定し、より高速な記憶階層へデータを配置する。同様に過去アクセス頻度の低かったデータは将来もアクセス頻度が低いものと想定し、低速な記憶階層へデータを配置する方式を採用している。すなわち、従来技術ではアクセス頻度の統計的な情報を基に処理効率の改善を図る方式を採用している。
【０００５】
【発明が解決しようとする課題】
前記の様に従来技術では、アクセス頻度の統計情報から、過去にアクセス頻度の高かったデータは将来もアクセス頻度が高いものと想定し、より高速な記憶階層へデータを移動させる。同様に過去アクセス頻度の低かったデータは将来もアクセス頻度が低いものと想定し、低速な記憶階層へデータを移動させる手段を採っている。
【０００６】
しかし、実際の業務処理ではアクセス頻度は一定ではなく、ある時間帯にアクセス頻度が高いデータは別の時間帯ではアクセス頻度が低くなり、逆にアクセス頻度が低いデータは別の時間帯ではアクセス頻度が高くなるといった様に、時間に応じてアクセス頻度は変化していく。こうした実環境に従来方式を適用した場合、高速な記憶階層上に存在したデータが、アクセス頻度が低くなったことで低速な記憶階層へ移動させたが、ある時間に上位ホストから当該データへのアクセス要求があった場合は、かえって性能が劣化する。
【０００７】
このように、従来の方式ではユーザプログラムを実行するに当たって、ホストから要求されるデータが常時、高性能な記憶装置上に存在するとは限らず、あくまでデータが高速にアクセスできる記憶装置に存在する確率を高めることで処理効率向上を図っている事に留まっている。
【０００８】
そこで本発明の目的は、ホストから要求されるデータをユーザプログラム実行前に高性能な記憶装置上へ事前にデータを配置することで、ジョブスケジュールの実行手順に従ったユーザプログラムを実行した時は、確実にユーザプグラムが使用するデータの処理効率の向上を実現する手段を提供する事にある。
【０００９】
【課題を解決するための手段】
本発明は、互いに性能及び又は特性の異なる複数の記憶装置群と、前記記憶装置群にデータを読み書きする上位ホストと、いずれかの前記記憶装置群に書き込まれたデータを前記複数の記憶装置群間で移動させるように、対応する前記記憶装置群を制御する階層制御機構とを有する記憶システムと、上位ホストに対するユーザからの処理の要求であるジョブの運用管理を行うジョブ運用管理部が管理するユーザプログラムを実行するためのスケジュールから、事前に前記ユーザプログラムが使用するデータを割り出し、前記階層制御機構を制御して、当該データをより高速な記憶装置へ再配置させる階層制御部とにより実現される。
【００１０】
これによって、ユーザプログラムを実行する以前に、当該プログラムがアクセスの対象とするデータを記憶システムが高速な記憶階層へ配置する為、ジョブスケジュールの実行手順に従ったユーザプログラム実行時は、確実にアクセス処理の対象となるデータが高速な記憶階層へ配置されており、当該ジョブに関する処理効率の確実な向上を図ることが可能である。
【００１１】
【発明の実施の形態】
以下、図面を参照しながら本発明を汎用コンピュータシステムに適用した場合の一例について説明する。但し、本方式により本発明が限定されるわけではない。
【００１２】
図１は、本発明における記憶システムを汎用コンピュータシステムのディスクアレイサブシステムに適用した場合のシステム構成例を示したものである。図１において、１０は中央処理装置であるホスト、２０はユーザがある業務に必要な一連のジョブをホストへ依頼する時に予めジョブの実行手順を定義したスケジュールを管理するジョブ運用管理ソフトウェアプログラム、３０はジョブ運用管理ソフトウェアプログラムで定義したジョブ名からボリューム名を割り出す階層制御ユティリティ、４０は複数の記憶装置７０，９０及び１１０から構成される性能または容量の異なる複数の記憶階層６０，８０及び１００と、特性の異なる記憶装置間でデータの移動を制御可能な階層制御機構５０から成るディスクサブシステムである。ここで記憶装置７０，９０及び１１０はオペレーティングシステム（ＯＳ）からアクセス処理として認識可能な論理ディスクに相当するものであり、記憶階層とは、性能や容量の等しい複数の論理ディスクをまとめたものである。そして特性の異なる各記憶階層６０，８０及び１００間では、性能によるランクを設けており、第１記憶階層６０は各記憶階層６０，８０及び１００の中で最も高速なアクセス処理を実行することが可能な階層として位置付ける。これより数字が大きくなるほど、より性能の低い記憶階層となる。
【００１３】
また最近のディスクアレイサブシステムでは、よりアクセス処理速度を向上させる手段として制御装置内にディスクより高速なキャッシュを搭載している。これによりホストからの要求のある可能性の高いデータをキャッシュ上に配置することで、従来キャッシュを搭載していなかったディスクサブシステムよりも高速な処理を実施できる。このようにディスクアレイサブシステム４０では、キャッシュとディスクを使用したハードウェア単体の階層制御を行っているが、この制御は公知の技術であり、本実施形態では、ディスクアレイサブシステム４０内で、複数の特性の異なるディスク間でデータを移動させる例を示すものであり、第１記憶階層の記憶装置としてキャッシュを使用した階層制御方法は、ここでは言及しない。
【００１４】
次に図２において、本実施形態における階層制御の処理を説明するが、その前に汎用コンピュータシステムにおいて、通常ユーザが、ある業務処理をホストに依頼する方法について説明する。ホストに対するユーザの処理の要求はジョブとして受け付けられる。ジョブとは一般に、ユーザが用意する一つのまとまった仕事をホストに要求する単位であり、ユーザはジョブの指示を一定の規則に従ったジョブ制御言語（以下、ＪＣＬという）で記述したものをホストに与える。ＪＣＬではジョブの実行に必要な実行方法や、データセット（ファイル）名やデータセットが格納されたボリューム名などを指示する必要がある。但し、日々の業務処理を行う上で、ユーザがプログラムを実行するたびにジョブを入力していたのでは処理効率が悪い為、日々の業務の中で定型化された複数のジョブを処理（バッチ）する場合には、これらジョブの処理手順をホストに対して予め登録し、ジョブ運用管理ソフトウェアによって、ジョブの実行を行い監視させる手段が一般的に採られている。これを踏まえ本発明の実施形態では、ユーザが予めジョブをホストに登録しており、ジョブ運用管理ソフトウェア２０によって一連のジョブの実行順序をスケジュールした場合について説明する。
【００１５】
まず図２において階層制御ユティリティ３０の起動に際し、事前に当該階層制御ユティリティ３０の初期設定を行う（処理ステップ３０１）。本設定は後で詳細を述べる。初期設定を実施した階層制御ユティリティ３０は、起動してから、まずジョブ運用管理ソフトウェア２０にユーザが予め登録した一連のジョブ群の実行順序が定義されているジョブスケジュールのファイルを読み出す。読み出したジョブスケジュールには、ジョブの実行順序に従って記述された一連のジョブ群の名称が登録されており、階層制御ユティリティ３０は、これらジョブ名称をジョブスケジュールの順序に従って抽出する（処理ステップ３０２）。本実施形態で抽出するジョブ名称は、例えば翌日のバッチ処理としてジョブスケジュールに定義した分を読み込むものとし、初期設定時に階層制御ユティリティ３０に登録しておく。また当該階層制御ユティリティ３０の開始は、予めジョブ運用管理ソフトウェア２０に定義して自動実行させても構わないものとする。次に抽出した一連のジョブは各々、ＪＣＬで記述されたジョブ制御文としてホスト１０に登録されており、該当するジョブ制御分を読み出し、その中に記述されているボリューム通し番号（以下、VOLSER）を全て収集する（処理ステップ３０３）。VOLSERは、ＯＳが個々のボリューム（論理ディスク）を識別するための番号であり、本実施形態では複数のボリュームの中からジョブを実行する上で必要なデータを格納しているボリュームの格納場所を特定するために必要な情報である。これ以降では、ＪＣＬに記述された全てのVOLSERに対応する論理ディスクを当該VOLSERが属する記憶階層６０，８０又は１００より上位の記憶階層６０，８０に搭載される高速な論理ディスク群へ移動させる対象とする（以下、移動対象ＶＯＬと略称する）。
【００１６】
次に階層制御ユティリティ３０は、管理テーブルの移動対象VOLの属性を”使用予定”にセットする（処理ステップ３０４）。この管理テーブルとは、図３に示すように当該ユティリティが独自にVOLSERに対応した論理ディスクのアドレス（DEVA）と記憶階層レベル及び属性を管理したテーブルである。またDEVAは汎用コンピュータシステムにおいてＯＳがVOLSERに対応する論理ディスクへアクセスする時に必要なアドレスであり、属性とは移動対象VOLであるか否かを示すものである。移動対象VOL以外の属性は”未使用”である。また当該テーブルのVOLSERに対応するDEVAの登録並びに記憶階層レベルは初期設定の段階においてユーザ側で定義しておく。ここで記憶階層レベルは、論理ディスクの性能特性を決定づける物理ディスクの回転数並びにシーク時間による物理ディスク単体の性能や、複数の物理ディスクを論理的にまとめて冗長データを付加したＲＡＩＤレベルによる性能特性によって決定する。
【００１７】
次に階層制御ユティリティ３０は属性が”使用予定”としてセットされた移動対象VOLの全てを、図４に示した再配置指示キューの移動元キューへ接続する（処理ステップ３０５）。この時の格納順序は記憶階層レベル２の移動対象VOLから順に下位記憶階層レベルの移動対象VOLへと、より高速な記憶階層レベルの移動対象VOLを優先して接続していく。そして記憶階層レベル１以外の移動対象VOL全てを移動元のキューに接続後、次に階層制御ユティリティ３０は、まず記憶階層レベル１で属性が”未使用”の論理ボリューム全てを再配置指示キューの移動先キューに接続する（処理ステップ３０６）。
【００１８】
次に階層制御ユティリティ３０は、ディスクサブシステム４０内の階層制御機構５０へコマンドを発行する。当該コマンドでは、移動元キューの先頭にある移動元ボリュームのDEVAと移動先キューの先頭にある移動先ボリュームのDEVAを指定する形式をとり、移動元ボリュームのDEVAに対して発行するコマンドである。また当該キューは、移動元のキュー及び移動先のキューに最初に接続されたものから順番に処理する待ち行列であり、階層制御ユティリティ３０は、移動元及び移動先のキューに接続された先頭のDEVAから順番にコマンドへセットする（処理ステップ３０７）。次に当該コマンドを発行する前に、コマンドへセットした移動元及び移動先のDEVAに対応する論理ボリュームの記憶階層レベルが同一、もしくは移動元の記憶階層レベルが移動先より高速であるか否かをチェックする（処理ステップ３０８）。移動先の記憶階層レベルが移動元より高速である場合は当該コマンドを階層制御機構５０へ発行する（処理ステップ３０９）。仮に当該条件を満足していない場合は、当該コマンドの発行を取り消し、同時に再配置指示キューの移動元及び移動先から該当する論理ボリュームを外し、次に接続されている論理ボリュームを先頭に繰り上げる（処理ステップ３１１）。
【００１９】
コマンドを受領した階層制御機構５０は、コマンドによって指定された移動元及び移動先のDEVAに対応した両論理ボリュームのデータを入れ替える（処理ステップ５０１のデータ再配置処理）。ここでディスクサブシステム４０は、ホストとは独立して独自に論理ボリュームを移動させることが可能な機能を既に装備していることを前提とする。また、このハードウェア単体での階層制御機能は公知の技術であり、本発明の新規性によるものではないため、本実施形態では一例としての概要に留め、詳細な説明は省略する。
【００２０】
次に階層制御機構５０がデータの再配置処理を実行した後、コマンドの完了報告を階層制御ユティリティ３０へ行う。完了報告を受領した階層制御ユティリティ３０は、管理テーブルの両論理ボリュームの記憶階層レベルを入れ替え（処理ステップ３１０）、当該コマンドにより指示された移動元キュー及び移動先キューの両論理ボリュームをキューから外す（処理ステップ３１１）。次に階層制御ユティリティ３０は、再配置指示キューを参照し、移動元のキューに接続された論理ボリュームが残っているか否かを判断し（処理ステップ３１２）、残っていなければ管理テーブルの移動元キューの論理ボリュームに対応した属性を”使用予定”から”未使用”に変更（処理ステップ３１７）し、データの再配置処理を終了する。もし移動元のキューに接続された論理ボリュームが残っていた場合は、移動先のキューを参照し（処理ステップ３１３）、当該キューに論理ボリュームが接続されている場合は、前述の階層制御機構５０へコマンドを発行するため、処理ステップ３０８への処理に戻る。もし当該キューに論理ボリュームが接続されていない場合は、移動先キューへの接続を対象とした論理ボリュームが属する記憶階層レベルを１つ下げ、当該記憶階層レベルで属性が”未使用”である論理ボリュームがあるか判断する（処理ステップ３１４）。そして当該論理ボリュームがあった場合は、その論理ボリュームを移動先キューへ接続（処理ステップ３１５）し、前述の階層制御機構５０へコマンドを発行するため、処理ステップ３０８への処理に戻る。これら”未使用”の論理ボリュームを移動先キューへ接続する処理は、移動元のキューに論理ボリュームが存在し続けるか、最下位の記憶階層内の”未使用”論理ボリュームを全て移動先キューへ接続するまで（処理ステップ３１６）、継続する。
【００２１】
以上の実施形態に記載の方式によって、図５に示すように階層制御ユティリティプログラム３０はジョブ運用管理ソフトウェア２０に登録されたジョブのスケジュールから、事前にジョブが実行される論理ディスクを特定し、階層制御機構５０へ当該ディスクのデータをより高速な記憶階層へ移動させる指示を行うことで、ユーザプログラムの実行時間を短縮することが可能である。
【００２２】
【発明の効果】
本発明の階層制御ユティリティ及びデータを記憶装置間で移動させるための制御機構を有する記憶システムによれば、スケジュール化されたジョブの実行時は、当該ジョブのアクセス対象となるデータを高速な記憶装置へ事前に移動させている為、処理効率の確実な向上を図ることが可能である。
【図面の簡単な説明】
【００２３】
【図１】本発明によるホストを含む記憶システムの構成図。
【図２】本発明の処理フロー図。
【図３】階層制御ユティリティプログラムが管理する管理テーブルを示す図。
【図４】階層制御ユティリティプログラムが管理する再配置指示キューを説明する図。
【図５】本発明の処理概要図。
【符号の説明】
【００２４】
１０…ホスト、２０…ジョブ運用管理ソフトウェアプログラム、３０…階層制御ユティリティプログラム、４０…ディスクサブシステム、５０…階層制御機構、６０…第１記憶階層、７０…高速記憶装置、８０…第２記憶階層、９０…中速記憶装置、１００…第ｎ記憶階層、１１０…低速記憶装置。