(57)【要約】【課題】  記憶装置のデータ読み出し性能を向上させる。【解決手段】  計算機毎の特定のアクセス履歴を保存し、管理計算機に計算機によるファイルアクセスの種類を予告させ、計算機からのファイルアクセスが始まる前から前もって、記憶装置のキャッシュメモリに情報を読み込ませておくことにより、ファイル読込み性能を向上させる。【選択図】  図１
2005157711.tif 000002
【特許請求の範囲】
【請求項１】
制御部、キャッシュメモリ及びディスク装置とを有する記憶装置であって、
前記制御部は、所定の情報にしたがって、該記憶装置からデータを読み出す計算機毎に、そのデータ読出し場所を履歴として記録し、
前記履歴を指定する情報及び該記憶装置を使用する計算機を指定する情報を含むコマンドに基づいて、前記計算機が使用するデータを予め前記ディスク装置から前記キャッシュメモリに読み出すことを特徴とする記憶装置。
【請求項２】
前記所定の情報とは、前記計算機を指定する情報及び前記記録される履歴を指定するための情報であり、
前記制御部は、前記履歴を前記履歴を指定するための情報及び前記計算機を指定する情報と関連付けて記録し、前記計算機を指定する情報及び前記履歴を指定する情報を含む前記コマンドを受信した際に、前記コマンドに含まれる前記計算機を指定する情報及び前記履歴を指定する情報に関連付けられた前記履歴に基づいて前記ディスク装置からデータを前記キャッシュメモリに読み出すことを特徴とする請求項１記載の記憶装置。
【請求項３】
前記所定の情報には、時間に関する情報が含まれており、
前記制御部は、前記指定された時間まで、前記履歴を前記履歴を指定するための情報及び前記計算機を指定する情報と関連付けて記録することを特徴とする請求項２記載の記憶装置。
【請求項４】
前記所定の情報には、前記ディスク装置のデータ格納場所を指定する情報が含まれており、
前記制御部は、前記指定された前記ディスク装置のデータ格納場所に格納されたデータを前記計算機を指定するための情報で指定される計算機が読み出した時点から、前記履歴を前記履歴を指定するための情報及び前記計算機を指定する情報と関連付けて記録することを特徴とする請求項３記載の記憶装置。
【請求項５】
前記履歴の記録を停止するコマンドを受信すると前記履歴の記録を停止することを特徴とする請求項４記載の記憶装置。
【請求項６】
前記制御部は、前記コマンドを受信する際に前記ディスク装置のデータ格納場所を指定する情報を受信し、前記指定された前記ディスク装置のデータ格納場所に格納されたデータを前記計算機を特定するための情報で指定される計算機が読み出した時点から、前記コマンドに含まれる前記計算機を指定する情報及び前記履歴を指定する情報に関連付けられた前記履歴に基づいて前記ディスク装置からデータを前記キャッシュメモリに読み出すことを特徴とする請求項５記載の記憶装置。
【請求項７】
前記ディスク装置のデータ格納場所を指定する情報で指定される場所には、前記指定された計算機で使用されるオペレーティングシステムプログラムが格納されていることを特徴とする請求項４記載の記憶装置。
【請求項８】
前記ディスク装置のデータ格納場所を指定する情報で指定される場所には、前記指定された計算機で使用されるオペレーティングシステムプログラムが格納されていることを特徴とする請求項６記載の記憶装置。
【請求項９】
ディスク装置及びキャッシュメモリを有する記憶装置、管理計算機並びに複数の計算機を有するシステムであって、
前記管理計算機は前記複数の計算機のうちいずれかを指定する情報及び履歴を指定するための情報を含む第一のコマンドを前記記憶装置に送信し、
前記記憶装置は、前記第一のコマンドで特定される計算機が該記憶装置からデータを読み出す際に、読み出されるデータの前記ディスク装置における格納場所を履歴として前記第一のコマンドに含まれる履歴を指定するための情報及び前記特定される計算機の情報と対応付けて記録し、
更に前記管理計算機は、前記複数の計算機のうちのいずれかを指定する情報及び前記履歴を指定する情報を含む第二のコマンドを前記記憶装置に送信し、
前記記憶装置は、前記管理計算機から受信した前記第二のコマンドに基づいて、前記ディスク装置から前記履歴で特定されるデータを前記キャッシュメモリに読み出すことを特徴とするシステム。
【請求項１０】
前記管理計算機は前記記憶装置に送信する指示のスケジュールについての情報を有しており、前記管理計算機は、前記スケジュールに基づいて前記記憶装置に前記第一のコマンド又は前記第二のコマンドを送信することを特徴とする請求項９記載のシステム。
【請求項１１】
前記管理計算機は、前記第二のコマンドを前記記憶装置に送信した後に、前記指定される計算機の起動を前記指定された計算機に指示することを特徴とする請求項１０記載のシステム。
【請求項１２】
記憶装置における先読み方法であって、
記憶装置を使用する計算機及び先読みに使用する履歴を特定する情報を含む第一のコマンドを記憶装置に送信し、
前記記憶装置で、
前記指定された計算機が前記記憶装置からデータを読み出す際に、前記コマンドに含まれる前記履歴を指定する情報及び前記計算機を指定する情報と関連付けて、前記データが読み出される場所を履歴として記録し、
前記記憶装置に計算機を指定する情報及び前記履歴を指定する情報を含む第二のコマンドを送信し、
前記記憶装置で、
前記第二のコマンドに含まれる前記計算機を指定する情報及び前記履歴を指定する情報に対応する前記記録された履歴に基づいて、前記記憶装置が有する記憶媒体からデータを先読みすることを特徴とする先読み方法。
【請求項１３】
時間に関する情報を前記記憶装置に送信し、
前記記憶装置で、前記時間に関する情報で指定される時間まで前記履歴を記録することを特徴とする請求項１２記載の先読み方法。
【請求項１４】
時間に関する情報に基づいて、
前記記憶装置で、前記時間に関する情報で指定される時間から前記履歴を記録することを特徴とする請求項１２記載の先読み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機に使用される記憶装置に於ける、ディスク装置から計算機への情報の読み出し方法、読み出しを指示する方法及びその指示方法を実行する計算機に関する。
【背景技術】
【０００２】
従来の記憶装置でデータ転送の速度を向上させる技術として、特許文献１に記載された先読みの技術が考案されている。ここで先読みとは、外部装置から読出しの指示を受けそうなデータを記憶装置が予めある記憶媒体から別の記憶媒体に読み出すことを指す。例えば、特許文献１には、計算機等からデータの読み出し命令を受けた際に、読み出し命令で指定されたデータが格納されているディスク装置等の記憶媒体の物理位置から所定の長さ、例えば数ブロック分の連続したデータを指定されたデータとともに読み出すことが開示されている。記憶装置は、読み出したデータを、ディスク装置等より読み出し速度が速いキャッシュメモリに格納する。
【０００３】
先読みが実行されることにより、一旦キャッシュメモリに格納されたデータを読み出す場合にはディスク装置等からデータを読み出す必要が無く、かつキャッシュメモリからデータが読み出されることでデータ転送速度が向上する。
【０００４】
また、先読みの性能向上と先読みに用いられる記憶媒体の効率的な使用とを可能とする技術として、特許文献２に記載された技術がある。本技術では、先読みする際、記憶装置が所定回数のアクセス履歴を元に、記憶装置を使用する計算機等のアクセスパターンがシーケンシャルリードアクセスかランダムリードアクセスかを判別する。そして、アクセスパターンが先読みの効果が上がりやすいシーケンシャルリードアクセスと判別されたときに記憶装置は先読み処理を行う。これにより、シーケンシャルリードアクセスにおける先読みの性能の向上と、先読みに使用される記憶媒体の効率的な使用が可能になる。
【０００５】
さらに、記憶装置のファイル先読み性能の向上を図るための技術として、特許文献３に記載された技術がある。本技術では、記憶装置がファイル読み出しの際の物理位置履歴情報を記録しておき、この履歴情報を利用してシーケンシャルリードアクセスでなくランダムリードアクセスであっても記憶装置がファイルの先読みを行う。
【０００６】
更に、端末毎に先読みを制御するために、ファイルサーバ装置に複数の先読みバッファを設ける技術が特許文献４に開示されている。
【０００７】
【特許文献１】特開平０１−０８２２３９号公報
【０００８】
【特許文献２】特開平０３−１０２４４３号公報
【特許文献３】特開平１０-０９１４９７号公報
【特許文献４】特開平０８−８７４３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来技術では、記憶装置は、計算機からのアクセス内容をアクセス履歴を用いて判断し、シーケンシャルリードアクセスの際、先読みを行う。
また、従来技術では、記憶装置は、ランダムリードアクセスであっても、ファイル読み出しコマンドと記憶装置内に記録された物理位置履歴情報を比較して、先読みが可能であると判定した場合に、先読みを行う。
【００１０】
しかし、上述の従来技術では、１台の記憶装置を複数の計算機が共有して使用するような場合、記憶装置におけるアクセス履歴や物理位置履歴情報だけでは、複数の計算機からアクセスがあった場合、記憶装置はどの計算機からのアクセスかを区別してアクセス履歴等を管理することができない。即ち、複数の計算機がランダムリードアクセスパターンのアクセスを要求したとしても、記憶装置では全ての計算機のアクセスを区別せずにアクセス履歴を取得しているので、そのアクセス履歴からランダムアクセスパターンのアクセスであると判定することが難しい。
【００１１】
特許文献４では、この問題点を解消するために、ファイルサーバ装置内部にアクセス履歴を収集するプロセッサ又はバッファを端末毎に設けて、アクセス履歴を収集する方法を開示している。しかし、ファイルサーバ装置や記憶装置内に多数のプロセッサ又はバッファを搭載することは記憶装置の価格を上昇させることとなり、好ましくない。
【００１２】
また、ランダムリードアクセスの物理位置履歴情報を収集する従来技術では、履歴情報収集の開始や終了を記憶装置に指示する方法を持たない場合、記憶装置が膨大な履歴を収集し、その中から共通する履歴を検出するという非常に負荷の高い処理をする必要があった。
【００１３】
更に、従来技術では、シーケンシャルな、または履歴のあるアクセスが記憶装置に要求されて初めて、記憶装置が先読みを開始する。しかし、従来技術では、計算機の起動時やジョブ管理ソフトウェアによるアプリケーションプログラムの起動時などの場合については先読みを考慮していなかった。
【課題を解決するための手段】
【００１４】
そこで本発明では、上記課題を解決するため、計算機を識別する情報と履歴を指定する情報を記憶装置に送付し、記憶装置は、送付された情報で指定される計算機のアクセス履歴を履歴を指定する情報と関連付けて記録する構成とする。そして、その後記憶装置に計算機を識別する情報及び履歴を指定する情報を送信した際に、記憶装置が、送信された情報に対応する履歴に基づいて、データの先読みを行う構成とする。
【００１５】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【発明の効果】
【００１６】
本発明によれば、記憶装置におけるアクセス履歴管理負荷の削減、アクセス履歴管理領域の削減、読み出し性能の向上という効果が得られる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態について説明する。
図１は、本発明を適用した記憶装置を有するシステムの一実施形態の構成例を示す図である。
【００１８】
図１に示すシステムは、記憶装置１０１、管理計算機１０８、ネットワークサーバ１１０、システムの使用者が使用する複数の計算機１１１を有し、これらの各装置は、ネットワーク１０９を介して相互に接続されている。
計算機１１１及び管理用計算機１０８は、プロセッサ、メモリ、入出力部等を有する一般の計算機である。
【００１９】
複数の計算機１１１は記憶装置１０１を共用している。したがって、複数の計算機１１１は、記憶装置１０１に格納されたデータやアプリケーションソフトウエア、さらにはオペレーティングシステムソフトウエアを読み出して使用する。
【００２０】
記憶装置１０１は、複数のディスク装置１０４、複数のディスク装置１０４（以下「ディスク群」）を制御するプロセッサ１０２、プロセッサとディスク群との間のデータの転送を制御するディスクインターフェース１０３、計算機１１１と情報を交換するためにネットワーク１０９と接続されるネットワークインターフェース１０５、ディスク装置１０４から読み出されたあるいはディスク装置１０４に格納されるデータを保持するキャッシュメモリ１０７及びキャッシュメモリ１０７を制御する情報が格納されるキャッシュ制御部１０６を有する。
記憶装置１０１はネットワーク１０９を介して、管理計算機１０８、ネットワークサーバ１１０及び計算機１１１との情報交換を行う。
【００２１】
本実施形態では、記憶装置１０１は、計算機１１１毎の記憶装置１０１からのデータ読出し等のアクセス履歴を取得してキャッシュ制御部１０６に格納し、そのアクセス履歴に基づいてディスク群１０４からキャッシュメモリ１０７へデータの先読みを行う。なお、記憶装置１０１の構成は、上述した構成に限定されるものではなく、少なくとも制御部、ディスク装置及びキャッシュメモリ１０７を有するものであればよい。
【００２２】
本実施形態では、記憶装置１０１のキャッシュメモリ１０７の制御を、キャッシュ制御部１０６に格納される管理情報と管理プログラムに基づいて、プロセッサ１０２が行う。
【００２３】
また、本実施形態では、キャッシュ制御部１０６は不揮発性半導体メモリで、キャッシュメモリ１０７は揮発性半導体メモリでそれぞれ構成される。ただし、キャッシュメモリ１０７に格納されるデータの損失を防ぐために、キャッシュメモリ１０７を不揮発性のメモリにするあるいは常時電源を確保する構成（例えば予備電源）を揮発性のキャッシュメモリ１０７に付加しても良い。
【００２４】
図２は、本実施形態における履歴情報格納テーブルの構成例を示す図である。履歴情報格納テーブルには、計算機１１１毎のアクセス履歴に関する情報が格納される。また、履歴情報格納テーブルは、キャッシュ制御部１０６に格納される。履歴情報格納テーブルは、履歴情報管理表３０１と履歴情報格納リスト３０２とを有する。
【００２５】
記憶装置１０１は、計算機１１１からアクセスがあるたびに、そのアクセスが管理計算機１０８から履歴収集の指示を受けている計算機１１１のアクセスかどうかを判断し、履歴収集に該当するアクセスである場合には、そのアクセスの内容を新たなアクセス履歴として履歴情報格納リスト３０２に追加する。この際、記憶装置１０１のプロセッサ１０２は、履歴情報管理表３０１と追加したアクセス履歴とを関連付ける。履歴情報格納リスト３０２は、履歴情報管理表３０１で管理される。
【００２６】
履歴情報管理表３０１は、記憶装置１０１を使用する計算機１１１毎に異なるエントリを有する。各エントリは、エントリに対応する計算機１１１に割り当てられた計算機IDを登録するフィールド、エントリに対応する計算機１１１に割り当てられた実ネットワークIDを登録するフィールド及び履歴IDを登録する複数のフィールドを有する。ここで、計算機IDとは、管理計算機１０８が計算機１１１に割り振る識別子である。本実施形態では、計算機IDとして計算機に固有に割り当てられたMACアドレス又はWorld Wide Nameを用いるものとするが、計算機IDはこれに限られない。
【００２７】
実ネットワークIDとは、計算機１１１が本実施形態におけるシステム内のネットワークにおいて与えられる識別子である。実ネットワークIDの例としては、インターネットプロトコルで使用されるIPアドレス、計算機１１１毎に個別に予め付与されているWorld Wide Name又はMACアドレスがある。尚、これら例示した識別子は、計算機１１１が起動される毎に他の計算機、たとえばネットワークサーバ１１０から動的に付与される場合もある。この場合、動的付与があるごとに、記憶装置１０１は、履歴情報管理表３０１の実ネットワークIDの情報を更新する。
【００２８】
履歴IDとは、計算機１１１の記憶装置１０１へのアクセスパターン、例えばシーケンシャルアクセスやランダムアクセス、あるいは計算機１１１の起動時における記憶装置１０１へのアクセスパターンを識別するために個々のアクセスパターンに割り振られる識別子である。複数の計算機１１１が同じアクセスパターンを示すこともあるので、履歴情報管理表３０１の別々のエントリの履歴IDを登録するフィールドに同じ履歴IDが登録されることもある。
【００２９】
ここで、履歴情報管理表３０１の各計算機１１１に対応するエントリは、履歴IDを登録するフィールドを複数有する。これは、計算機１１１の記憶装置１０１へのアクセスパターンが複数あることを想定し、その各々を管理するためである。
【００３０】
履歴情報格納リスト３０２は、複数のアクセス履歴が登録されたリストである。個々のアクセス履歴は、具体的にはそのアクセスを記憶装置１０１が受信した際に、記憶装置１０１がディスク群１０４からデータを読み出したそのアクセス位置を示す情報を含んでいる。
【００３１】
履歴情報管理リスト３０２に格納されたアクセス履歴は、履歴情報管理表３０１のそのアクセス履歴に対応する履歴IDが登録されるフィールドとリンク構造等を用いて関連付けられている。これにより、記憶装置１０１は、履歴情報管理リスト３０２に登録されたアクセス履歴が、どの計算機１１１のどのアクセスパターンに対応しているかを履歴IDを用いて管理することができる。このリンク付けは、上述したように、各計算機１１１から記憶装置１０１があるアクセス要求を受取った際に、記憶装置１０１が履歴情報管理リスト３０２にアクセス履歴を登録するとともに、対応する計算機１１１の対応する履歴IDのフィールドと履歴情報管理リスト３０２に登録されるアクセス履歴とをリンク付けすることで行われる。
【００３２】
図３は、本実施形態における記憶装置１０１と管理計算機１０８との間でやりとりされるコマンドの例を示した図である。管理計算機１０８を使用する者、例えばこのシステムの管理者は、管理計算機１０８からこれらのコマンドを記憶装置１０１に送信することで、記憶装置１０１におけるアクセス履歴収集の開始、終了、先読み開始等の動作を制御することができる。以下、各コマンドについて簡単に説明する。
【００３３】
StartRecは、計算機ID及び履歴IDを指定して、計算機IDで指定された計算機１１１のアクセス履歴収集開始を記憶装置１０１に指示するためのコマンドである。この際収集されたアクセス履歴に指定された履歴IDが付加される。
EndRecは、計算機ID及び履歴IDを指定して、計算機IDで指定された計算機１１１のアクセス履歴収集停止を記憶装置１０１に指示するためのコマンドである。
【００３４】
TimeoutRecは、計算機ID、履歴ID及び時間を指定して、計算機ID及び履歴IDで指定されたアクセス履歴収集に対する、アクセス開始から一定時間を経過した場合に自動的にアクセス履歴収集を停止する時間、あるいはアクセス開始後一定時間アクセスが途絶えた場合アクセス履歴収集を停止する時間といった制限時間を記憶装置１０１に指定するためのコマンドである。
PointRecは、計算機ID、履歴ID及び、たとえば記憶装置の特定の位置に対する読み込みや書き込み、または特定の複数箇所への連続した読み込みの発生といった、履歴収集を開始する条件を指定して、指定された履歴収集開始条件を満たせば、管理計算機１０８からのStartRecコマンドなしに、計算機IDで指定された計算機１１１のアクセス履歴収集を開始することを記憶装置１０１に指示するためのコマンドである。
【００３５】
FlushRecは、計算機ID及び履歴IDを指定して、指定された計算機ID及び履歴IDで特定される、キャッシュ制御部１０６に保存された履歴情報格納リスト３０２に登録されたアクセス履歴の消去を記憶装置１０１に指示するためのコマンドである。
StartReadは、計算機ID及び履歴IDを指定して、指定された計算機ID及び履歴IDに対応する計算機１１１のアクセスパターンに基づくディスク群からキャッシュメモリ１０７への先読みを記憶装置１０１に指示するコマンドである。
【００３６】
PointReadは、計算機ID、履歴ID及び先読みを開始する条件を指定して、先読み開始条件を満たせば、管理計算機１０８からのStartReadコマンドなしに、指定された計算機１１１のアクセスパターンに基づくディスク群からキャッシュメモリ１０７へのデータの先読みを開始することを記憶装置１０１に指示するためのコマンドである。
【００３７】
RegistIDは、DHCPなどを利用して計算機１１１の実ネットワークIDが動的に変更される場合に、管理用計算機１０８が、計算機１１１に一意に対応する計算機IDに対応する計算機１１１の新しい実ネットワークIDを記憶装置１０１に通知する際に使用されるコマンドである。なお、記憶装置１０１が計算機IDと実ネットワークIDを対応付けるほかの方法としては、記憶装置１０１のプロセッサ１０２が、ネットワークインターフェース１０５を介してDHCPのプロトコルを監視し、計算機１１１による実ネットワークIDの獲得を検知してその実ネットワークIDを取得する方法がある。
【００３８】
尚、ルータを経由して通信を行う必要が無いような狭いネットワーク範囲の場合、動的に変更されないMACアドレスやWorld Wide Nameなどを計算機ID及び実ネットワークIDとしても良い。ただし、ルータを経由した場合、計算機１１１の有するMACアドレスやWorld Wide Nameの情報は記憶装置１０１に届かないので、MACアドレス等を実ネットワークIDに採用することは出来ない。
【００３９】
図４は、本実施形態における、計算機１１１の起動時におけるアクセス履歴収集の手順例を示すフローチャートである。尚、ここでは計算機１１１を起動する際にアクセス履歴を収集する手順について説明するが、アクセス履歴収集のタイミングは任意であり、上述したように、記憶装置１０１は、管理計算機１０８からStartRecコマンドを受信すれば、以下に説明するアクセス履歴の収集処理を行う。したがって、計算機１１１の起動前に記憶装置１０１に対してその計算機１１１のアクセス履歴の取得開始を指示することもできる。
【００４０】
ただし、計算機１１１に実ネットワークIDが動的に割り当てられる場合には、実ネットワークIDの付与が終了しないと記憶装置１０１が計算機１１１が特定できないので、アクセス履歴の収集は実ネットワークIDの付与後となる。
【００４１】
又、管理者等は、管理計算機１０８を用いて予めTimeoutRecコマンドを記憶装置１０１に送信しておき、特定の計算機ID及び履歴IDに対応するアクセス履歴収集の制限時間、言い換えるとアクセス履歴の収集を完了する時間を記憶装置１０１に指定しておくことが可能である。例えば、計算機１１１が起動にかかる時間を予め測定しておき、その起動終了までの間の時間を計算機１１１の起動前に記憶装置１０１に指定することで、記憶装置１０１は、計算機１１１の起動時のみのアクセス履歴を取得することが出来る。
【００４２】
更に管理者等は、PointRecコマンドを利用して、図４に示す手順の任意の段階において特定の計算機IDを持つ計算機１１１のアクセス履歴収集開始条件を満たせば、指定した履歴IDで指定されるアクセスパターンに対応するアクセス履歴の収集を記憶装置１０１に開始させることも可能である。例えば、計算機１１１がオペレーティングシステムを読み出し始めた時や特定のアプリケーションプログラムを読み出し始めた時等を指定することができる。
【００４３】
ただし計算機１１１に対する実ネットワークIDが計算機起動後動的に割り当てられる場合には、図４に示す手順において、計算機１１１の計算機IDに対応する実ネットワークIDが決定され、記憶装置１０１がその情報を取得した後、記憶装置１０１が履歴収集の開始条件を満たすかどうかの判定を行うことで、PointRecコマンドで指定された処理の実行が開始される。以下、手順の詳細を説明する。
【００４４】
最初、記憶装置１０１のプロセッサ１０２は待機状態にあり、既に管理計算機１０８から指定された履歴収集開始や先読み開始条件を満たす計算機１１１がないか、また、場合によってはネットワーク１０９を監視して、実ネットワークIDを取得する計算機１１１がないかを監視している（ステップ５０１）。
管理計算機１０８は、計算機IDに対応する計算機１１１を起動する信号をネットワーク１０９を介して送信する（ステップ５０２）。
【００４５】
起動信号を受信した計算機１１１は、起動処理を開始する（ステップ５０３）。
起動される計算機１１１の実ネットワークIDが動的に決定される場合で、かつ計算機１１１がその起動時から記憶装置１０１を利用する場合、計算機１１１はネットワークサーバ１１０から実ネットワークIDを取得する。この際、記憶装置１０１がこの計算機１１１への実ネットワークIDの付与を監視している場合は、記憶装置１０１は、観測された実ネットワークIDを履歴情報管理表３０１に実ネットワークIDを取得する計算機１１１の計算機IDと対応付けて登録する（ステップ５０４）。
【００４６】
計算機１１１の実ネットワークIDが動的に決定される場合、管理計算機１０８は、ネットワークサーバ１１０から計算機１１１に割り当てられた実ネットワークIDを取得する。その後、管理計算機１０８は、取得した実ネットワークIDと実ネットワークIDが割り振られている計算機１１１の計算機IDとの関係を自身が有するメモリに記録する（ステップ５０５）。
【００４７】
記憶装置１０１が計算機１１１に対する実ネットワークIDの付与を監視しない場合、管理計算機１０８がRegistIDコマンドを利用して記憶装置１０１に計算機IDに対応する実ネットワークIDを通知する（ステップ５０６）。
【００４８】
その後、必要に応じて管理者等は、管理計算機１０８を介して、記憶装置１０１に対し、StartRecコマンドにより計算機ID及び履歴IDを指定してアクセス履歴収集開始を指示する（ステップ５０８）。ここで、アクセス履歴取得開始のステップを図４では５０８の位置に記載したが、履歴情報収集の開始は１回とは限らず、異なる計算機IDを有する計算機１１１に対する履歴情報収集開始指示は任意の段階で発生する。
【００４９】
履歴収集開始が指示されると、記憶装置１０１のプロセッサ１０２は、収集を指示された計算機IDに対応する実ネットワークIDを利用して、記憶装置１０１が受信するディスク群への全てのアクセス要求の中から、その実ネットワークIDを持つ計算機１１１からのアクセス要求を選別し、履歴情報リスト３０２に保存する。この際、履歴収集開始時に指定された履歴IDと履歴情報リスト３０２に保存されるアクセス内容とが関連付けられる。
【００５０】
図６に示すように、計算機１１１からのアクセス要求のパケット中に、アクセス要求送付元の計算機１１１を示す実ネットワークID７０２が含まれているため、記憶装置１０１では、アクセス要求の選別が可能となる。履歴収集対象となっていない計算機IDに対応する実ネットワークIDをもつ計算機１１１からのアクセス要求は保存されない（ステップ５０９）。
【００５１】
プロセッサ１０２は、履歴収集の制限時間が設定されている場合、実行しているアクセス履歴収集が指定された制限時間を超過しているかどうかを判定し（ステップ５１０）、超過している場合、対象となる計算機IDに対応する履歴情報収集を終了する（ステップ５１４）。
【００５２】
制限時間を超過していない場合、プロセッサ１０２は、管理計算機１０８から履歴収集停止コマンドEndRecが発行されていないかを検査する（ステップ５１１）。発行されていれば、プロセッサ１０２は、対象となる計算機IDに対応する履歴情報収集を終了する（ステップ５１４）。発行されていない場合には、プロセッサ１０２はステップ５０９以降の処理を繰り返す。
【００５３】
ステップ５１４で履歴収集を停止した後、プロセッサ１０２は、全ての履歴情報収集が停止状態かどうかを確認し、全ての履歴情報収集が停止されていれば待機状態に移行し、そうでなければステップ５０９以降の処理を繰り返す（ステップ５１２）。
【００５４】
尚、実ネットワークIDの動的変更が発生しない場合、一度実ネットワークIDの情報取得までの処理（ステップ５０２〜５０７）が終わった後にアクセス履歴収集を再度記憶装置１０１に指示する時は、上述した手順のうち、ステップ５０７以降が実施される。一方、実ネットワークIDの動的変更が発生する場合、履歴情報収集を再度記憶装置１０１に指示する時は、上述した手順のうち、ステップ５０４以降が実施される。
【００５５】
更に予め実ネットワークIDが設定されている（動的ではない）場合は、履歴情報収集の指示はステップ５０６の処理から実行されてもよい。
更に、記憶装置１０１には複数の履歴収集の指示を与えることができる。この場合、記憶装置１０１は複数のアクセス履歴（一つの計算機でも複数の計算機でも構わない）を並行して収集する。又、記憶装置１０１がある計算機１１１のアクセス履歴を収集中に他の計算機１１１が起動された場合、新たに起動された計算機１１１に対する図６で示された処理がアクセス履歴の収集と並行して行われる。
【００５６】
図５は、履歴収集結果を利用して、計算機１１１起動時に記憶装置１０１がディスク装置１０４からキャッシュメモリ１０７への先読みをするように管理計算機１０８から指示する手順を示すフローチャートである。ステップ６０１〜ステップ６０６までは履歴情報収集時のステップ５０１〜ステップ５０６までと同一である。
【００５７】
管理者は、管理計算機１０８を介して、先読み開始を指示するコマンドStartRecを記憶装置１０１に送信し、履歴IDを指定して先読み開始を指示する（ステップ６０７）。
【００５８】
記憶装置１０１は、履歴情報管理表３０１を参照し、指定された履歴IDに対応する履歴情報リスト３０２のアクセス履歴を利用してディスク群からキャッシュメモリ１０７への先読みを行う。具体的には、記憶装置１０１は、指定された計算機ID及び履歴IDと関連付けられた履歴情報リスト３０２のアクセス履歴を検索し、検索された各アクセス履歴に登録されているディスク群１０４へのアクセス位置（具体的にはアドレス）からデータを読み出して、キャッシュメモリ１０７へ保存する。履歴IDに対応するアクセス履歴が複数ある場合には、記憶装置１０１は、それらのアクセス履歴に対応するデータを順次キャッシュメモリへ読み出す（ステップ６０８）。
【００５９】
指示された履歴IDに対応するアクセス履歴が無い（全て読み出した、あるいはそもそも登録されていない）場合、記憶装置１０１は先読み処理を終了し、待機状態に戻る（ステップ６０９）。
【００６０】
尚、システムの管理者等は、管理計算機１０８を用いて計算機１１１の起動時以外にも先読みの指示を記憶装置１０１に対して指示することも出来る。この場合、実ネットワークIDが動的に変更されていないあるいは動的でないのであれば、先読みの指示の手順は上述した手順のステップ６０７から実行される。実ネットワークIDが動的に変更される場合は、先読みの指示の手順は、ステップ６０４から実行される。
【００６１】
又、システムの管理者等は記憶装置に対して複数の先読みの指示を送ることが出来る。この場合、記憶装置１０１は、指定された複数の先読みの指示に対応するアクセス履歴に基づいてデータの先読みを実施する。
【００６２】
ここまでは、システムの管理者等は履歴IDや計算機IDを直接管理計算機１０８に入力すると仮定して説明した。しかし、記憶装置１０１を使用する計算機１１１が増加すると、管理者が履歴IDや計算機IDを直接管理計算機１０８に入力することは現実的ではない。以下、これらの履歴IDや計算機IDをより簡単にシステムの管理者等が管理するための実施形態について説明する。
【００６３】
本実施形態では、アクセス履歴管理を簡略化して管理者の負担を軽減するため、管理計算機１０８は履歴管理プログラムを有する。管理計算機１０８は履歴管理プログラムを実行することで、計算機IDや履歴IDの情報の管理、記憶装置１０１への履歴IDを指示することによる先読みのスケジュール管理等を行う。
【００６４】
図７は、記憶装置１０１を使用する計算機１１１を管理するために管理計算機１０８が有する情報例を示す図である。
ここでは、情報はテーブル（以下「管理テーブル」）という形態で管理されている。システムの管理者等は、管理計算機１０８が有する入力インターフェース（入力画面等）を介して、記憶装置１０１を使用する計算機１１１を指定する情報、ここでは計算機名と計算機IDを入力する。管理計算機１０８は、入力された計算機ID及び計算機名に実ネットワークIDを対応付けて管理テーブルに登録する。この際、管理計算機１０８は、重複した計算機名や計算機IDが入力された場合、入力者に対して警告を表示しても良い。
【００６５】
さらに、管理用計算機１０８がネットワークサーバから計算機IDと実ネットワークIDの対応情報などを入手して管理用計算機１０８が有する画面に表示し、システムの管理者等がその表示から計算機IDと実ネットワークIDとを選択して対応する計算機名を入力する方法もある。
【００６６】
更に管理者は、複数の計算機１１１を幾つかのグループに区分して管理しやすいようにすることもできる。この場合、管理者は、複数の計算機名とそれを一括して管理するための計算機グループ名を管理用計算機１０８に入力する。管理計算機１０８は、計算機グループ名毎に識別子（計算機グループID）を割り当て、計算機グループID、計算機グループ名、そのグループに含まれる計算機名及びその計算機IDを関連付けて管理テーブルに登録する。尚、管理者等は、管理計算機１０８が有する表示画面等で既に管理テーブルに登録された計算機名の一覧を表示させ、そこから適当な計算機名を選択して一つの計算機グループとして登録することもできる。
【００６７】
上述のようにして一つ又は複数の計算機１１１をシステムの管理者等が覚えやすい名前で管理することで、管理者が記憶装置１０１へ先読みの指示や履歴情報収集の指示をする際の計算機指定の労力が減る。又、複数の計算機１１１に対する先読み指示を一括して行うこともできる。
【００６８】
図８は、記憶装置に指定する履歴IDを管理するために管理計算機１０８が有する情報例を示す図である。ここでも、情報はテーブル（以下「履歴IDテーブル」）の形態で管理されている。
管理者等は、収集されるアクセスパターンを識別しやすい名前（履歴名）でアクセスパターンを登録する。管理計算機１０８は、入力された履歴名に履歴IDを割り振り、履歴名と履歴IDを関連付けて履歴IDテーブルに登録する。尚、重複する履歴名が入力された場合、管理計算機１０８は入力者に対して警告を通知しても良い。更に、管理計算機１０８は、管理者等からの履歴名又は計算機名の入力及びこれらを削除する指示の入力を受け付けて、これらの情報を削除することも出来る。
【００６９】
上述のようにして履歴IDをシステムの管理者等が履歴IDに対応するアクセスパターンを具体的に示す名前で管理することで、管理者が記憶装置１０１へ先読みの指示や履歴情報収集の指示をする際のアクセスパターン指定の労力が減る。
【００７０】
上述した二つのテーブルにより、管理者は、計算機名（又は計算機グループ名）及び履歴名を管理計算機１０８に入力することで容易に特定の計算機１１１に関する記憶装置１０１の先読みの指示、又は履歴の収集を指示することが出来る。
【００７１】
図９は、一連の先読み指示等の処理群を記憶装置１０１に指示するスケジュールを管理計算機１０８が管理するために管理計算機１０８が有するジョブ管理テーブルの例を示す図である。管理者等は、記憶装置１０１に指示したい一連の指示内容について、管理計算機１０８に入力する。内容の具体例としては、例えば先読みさせたいアクセスパターンを示す履歴ID、そのアクセスパターンを実行させたい時間、対象となる計算機１１１（又は計算機グループ）を示す計算機ID等である。ここで、計算機ID等の代わりに計算機名や履歴名が用いられても良い。
【００７２】
これらの指示内容を入力された管理計算機１０８は、図９に示すように、入力された指示内容にジョブIDという識別子を対応付けて一つのジョブと定義し、ジョブ管理テーブルに記録する。この場合、複数の指示内容が一度に入力された場合は、複数の指示内容に同じジョブIDが付与されても良い。そうすると、システムの管理者等は、一つのジョブIDで複数の指示内容を記憶装置１０１へ指示することができる。
【００７３】
ジョブ管理テーブルは、一つのジョブごとに対応するエントリを有する。各エントリは、複数のフィールドを有する。具体的には、エントリに対応するジョブのジョブIDが登録されるフィールド、ジョブで指定される計算機ID又は計算機グループIDが登録されるフィールド、ジョブで指定される履歴IDが登録されるフィールド、ジョブの開始条件が登録されるフィールド、ジョブの開始時間が登録されるフィールド、そのジョブの対象となる計算機１１１を起動するかどうかを示す情報が入力されるフィールドを有する。
【００７４】
ここで例えば、ジョブ管理テーブルのジョブ開始条件のフィールドが「手動」に設定されているジョブの場合、管理者からのジョブ開始指示によってジョブが実行、すなわち管理計算機１０８からジョブで指定される指示内容が記憶装置１０１に指示される。一方、ジョブ開始条件のフィールドに時刻が指定されている場合、管理計算機１０８は指定された時刻になったらジョブに対応する指示内容を記憶装置１０１に指示する。
【００７５】
又、ジョブの内容として、ジョブで指定されるデータの先読み後に、対応する計算機１１１を起動する条件が指定されている場合、具体的には「有（３分後）」と指定されている場合、管理計算機１０８は、先読みを記憶装置１０１に指示した時点から３分後に、対応する計算機１１１に起動指示を送る。
【００７６】
尚、上述では、一つのエントリが一つのジョブに対応するとして説明したが、複数の指示内容に一つのジョブが対応する場合、複数のエントリが一つのジョブに対応するとしても良いし、一つのエントリが一つのジョブに対応し、各フィールドに複数の対象を指定する情報、例えば複数の履歴ID又は複数の計算機IDが登録されても良い。更に、ジョブ管理テーブルは、ジョブIDに対応するジョブ名を登録するフィールドを有し、管理者がジョブ名のみを登録すれば管理計算機１０８がそのジョブを検索できるようにしても良い。この際、管理者等は、ジョブの内容を入力する際に合わせてジョブ名を入力してジョブを登録する。
【００７７】
更に、ジョブ実行条件が登録されるフィールドには、「手動」、「時間」以外の情報が登録されていても良い。例えば、PointReadの対象となるアドレスと時間とを登録することで、管理計算機１０８が、特定のアプリケーションの読出しを記憶装置１０１が感知したら先読み処理を開始するように記憶装置１０１へ指示するジョブを作成することもできる。
【００７８】
図１０は、管理計算機１０８が履歴管理プログラムを実行することで、記憶装置１０１にジョブの実行を指示する手順例を示す図である。待機状態にある管理計算機１０８は（ステップ１１０１）、管理者からのジョブ開始指示またはジョブ管理テーブルの開始条件に示された時刻になった場合、ジョブを開始する。したがって、管理計算機１０８は、現在時刻が常にジョブ管理テーブルに登録されたジョブの開始時刻に到達したかどうかを確認している（ステップ１１０２）。
【００７９】
ジョブ開始指示又は所定時間の到達を検出した管理計算機１０８は、管理者によって指定されたジョブのジョブIDまたは開始時刻になったジョブのジョブIDをジョブ管理テーブルから取得する（ステップ１１０３）。その後、管理計算機１０８は、取得したジョブIDに対応するジョブ管理テーブルの計算機ID及び履歴IDを取得し、取得した計算機ID及び履歴IDを指定して記憶装置１０１に対し先読み開始を指示する（ステップ１１０４）。
【００８０】
記憶装置１０１は、管理計算機１０８から指定された計算機ID及び履歴IDに対応するアクセス履歴を履歴情報リスト３０２から選択し、履歴に基づいてキャッシュメモリへの先読みを実施する。ここで、複数の計算機ID又は履歴IDが含まれるジョブの場合、記憶装置１０１は、これら複数の履歴ID又は計算機IDに対応するアクセス履歴に基づいて先読みを実施する（ステップ１１０５）。
【００８１】
尚、管理計算機１０８は、ジョブ管理テーブルの計算機起動の有無で、計算機の起動が有に指定された場合、指定時間経過後、計算機グループIDに所属する計算機IDを計算機グループテーブルから取得し、それぞれの計算機１１１に対し、起動信号を送信する（ステップ１１０６）。
【００８２】
上述のように、管理者等は一度先読み指示の手順を設定しておけば、管理計算機１０８が自動的に記憶装置１０１に先読みを指示する。これにより、管理者等は先読み指示の手間を省くことが出来る。
【００８３】
尚、上述の例では、管理計算機１０８はスケジュールされた先読みの指示のみを行ったが、スケジュールの中には、アクセス履歴の収集の指示が含まれていても良い。この場合、ジョブ管理テーブルには新たな項目として、記憶装置１０１に指示する内容、例えばアクセス履歴収集の開始指示等を登録するフィールドが追加される。
【図面の簡単な説明】
【００８４】
【図１】実施形態であるシステムの構成例を示す図である。
【図２】履歴情報格納テーブルの例を示す図である。
【図３】記憶装置１０１と管理計算機１０８との間で遣り取りされるコマンドの例を示す図である。
【図４】計算機起動時のアクセス履歴収集手順を示すフローチャートである。
【図５】計算機起動時の先読み手順を示すフローチャートである。
【図６】ネットワークパケットの例を示す図である。
【図７】計算機グループ格納テーブルの例を示す図である。
【図８】履歴管理テーブルの例を示す図である。
【図９】ジョブ管理テーブルの例を示す図である。
【図１０】自動化された先読み手順を示すフローチャートである。
【符号の説明】
【００８５】
１０１…記憶装置、１０２…プロセッサ、１０３…ディスクインターフェース、１０４…ディスク装置、１０５…ネットワークインターフェース、１０６…キャッシュ制御部、１０７…キャッシュメモリ、１０８…管理計算機、１０９…ネットワーク、１１０…ネットワークサーバ、１１１…計算機。
【図１】
2005157711.tif 000003
【図２】
2005157711.tif 000004
【図３】
2005157711.tif 000005
【図４】
2005157711.tif 000006
【図５】
2005157711.tif 000007
【図６】
2005157711.tif 000008
【図７】
2005157711.tif 000009
【図８】
2005157711.tif 000010
【図９】
2005157711.tif 000011
【図１０】
2005157711.tif 000012