(57)【要約】【課題】  キャッシュメモリ上のデータが長時間ライトバックされない状態を防止する。【解決手段】  ディスクキャッシュ装置１は、ホストコンピュータ２からライト要求があると、ライトキャッシュ制御手段３２が、データをキャッシュ記憶手段１０のキャッシュブロックに書き込み、このキャッシュブロックをダーティリンクに登録し、計時手段３３の時間情報を格納する。モニタライトバックリンク登録手段３４は、データがダーティデータとなってからの経過時間を算出し、算出された経過時間が所定の経過時間を超えている場合にはこのキャッシュブロックをモニタライトバックリンクへ登録する。ライトバック制御手段３５は、モニタライトバックリンクに登録されたキャッシュブロックのデータをディスク装置３にライトバックする。【選択図】  図１
2005190385.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュを備え、上位装置からのアクセス要求に応じてディスク装置のデータの読み書きを制御するディスクキャッシュ装置において、
前記ディスク装置に格納されたデータの一部を記憶するキャッシュ記憶手段と、
前記キャッシュ記憶手段を所定の単位で分割したキャッシュブロックごとにその使用状況を含むキャッシュ管理情報を記憶するキャッシュ管理情報記憶手段と、
所定の時間を計時する計時手段と、
前記上位装置からのライト要求に応じて前記キャッシュ記憶手段にデータを書き込み、前記キャッシュ管理情報を更新するとともに、前記ディスク装置に書き戻しが行われていないダーティデータを格納するキャッシュブロックを登録順にリンクするダーティリンクにデータ書き込みが行われたキャッシュブロックを登録するライトキャッシュ制御手段と、
前記ダーティリンクに登録された前記キャッシュブロックごとに、前記計時手段が計時した時間に基づいて前記キャッシュブロックに前記ダーティデータが格納されてからの経過時間を算出し、ライトバックの対象となるキャッシュブロックをリンクするモニタライトバックリンクに所定の経過時間を超えた前記キャッシュブロックを登録するモニタライトバックリンク登録手段と、
前記モニタライトバックリンクに基づいて、前記モニタライトバックリンクに登録された前記キャッシュブロックのデータを前記ディスク装置へライトバックするライトバック制御手段、
を具備することを特徴とするディスクキャッシュ装置。
【請求項２】
前記計時手段は、所定の間隔でカウンタ値を加算するカウンタであり、
前記ライトキャッシュ制御手段は、前記ダーティデータを格納する前記キャッシュブロックに対応する前記キャッシュ管理情報に前記計時手段が設定した前記ダーティデータが最初に格納された時点のカウンタ値を登録し、
前記モニタライトバックリンク登録手段は、前記キャッシュ管理情報記憶手段に格納された前記ダーティデータが格納された時点のカウンタ値と、前記計時手段の設定した現時のカウンタ値との差分によって前記経過時間を算出することを特徴とする請求項１記載のディスクキャッシュ装置。
【請求項３】
前記ライトバック制御手段は、前記上位装置からのアクセス要求に対するデータが前記キャッシュ記憶手段に存在し、かつ前記データが格納された前記キャッシュブロックが前記モニタライトバックリンクに登録されていた場合、前記キャッシュブロックのライトバックが終了した後、前記上位装置からのアクセス要求に対する処理を許可することを特徴とする請求項１記載のディスクキャッシュ装置。
【請求項４】
前記モニタライトバックリンク登録手段は、前記ダーティリンクに基づき、最新にデータ書き込みが行われた前記キャッシュブロックから登録順に前記経過時間を調べることを特徴とする請求項１記載のディスクキャッシュ装置。
【請求項５】
前記モニタライトバックリンク登録手段は、前記ダーティリンクの登録順に準じて前記モニタライトバックリンクにライトバック対象の前記キャッシュブロックを登録し、
前記ライトバック制御手段は、前記モニタライトバックリンクの登録順に応じて、最新にデータ書き込みが行われた前記キャッシュブロックから順にライトバック処理を行うことを特徴とする請求項１記載のディスクキャッシュ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスクキャッシュ装置に関し、特にキャッシュを備え、上位装置からのアクセス要求に応じてディスク装置のデータの読み書きを制御するディスクキャッシュ装置に関する。
【背景技術】
【０００２】
従来、ストレージシステムでは、ホストからのリードあるいはライト要求を高速に処理するため、ホストとディスク装置との間にディスクキャッシュ装置を設けている。ディスクキャッシュ装置では、高速アクセスが可能な半導体メモリなどのキャッシュメモリ上にディスク装置の一部のデータを置き、キャッシュメモリをリードまたはライトすることでアクセスを高速化している。
【０００３】
このようなディスクキャッシュ装置におけるライト処理では、ホストからのライト要求に対してキャッシュメモリに書き込んだ時点でライト終了とし、後でディスクに書き戻すライトバック方式が採られている。ライトバック方式のディスクキャッシュ制御では、データを管理するＬＲＵ（Least Recently Used）リンクを用いて、最新に使用されたキャッシュブロックをＬＲＵリンクの最上位に登録していき、ある時点でＬＲＵリンクを参照し、最下位にあるキャッシュブロック、すなわち、その時点で最もアクセスされていないキャッシュブロックのデータをディスク装置へ書き戻す。
【０００４】
しかしながら、ユーザの運用形態あるいはディスクアレイの構成は多岐に渡り、求められるキャッシュ制御機能はシステムごとに異なる。たとえば、キャッシュメモリに格納できるデータ量が大きく取れない場合やライト要求が頻繁に発行されるような運用形態では、新規の書き込みデータを格納するために古いデータをディスク装置にライトバックしてキャッシュメモリを開放する必要が多く発生し、ライトバック処理によりホストからの新たな処理が実行できないという事態が起こる。また、ディスクアレイ装置は、その動作形態によって、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）１〜５に分類されている。そこで、ＲＡＩＤ型で動作形態が分類されたディスクアレイ装置に対するディスクキャッシュ機能の最適化を図り、ユーザの運用形態とディスクアレイに適合して最適化されたディスクキャッシュ動作を行うディスクキャッシュ装置が提案されている（たとえば、特許文献１参照。）。
【特許文献１】特開平７−１１０７８８号公報（段落番号〔００３３〕〜〔０１１６〕、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来のディスクキャッシュ装置では、頻繁にアクセスされるデータはライトバックが行われないという問題点があった。
従来のＬＲＵリンクを用いたディスクキャッシュ制御では、キャッシュメモリへのライトごとに、使用されたキャッシュブロックがＬＲＵリンクの最上位に登録されており、制御領域など頻繁にアクセスされるデータは、常にＬＲＵリンクの上位に位置していた。
【０００６】
一方、ディスク装置へのライトバック処理は、ＬＲＵリンクの下位にあるキャッシュブロックのデータに対して行われていた。このため、常にＬＲＵリンクの上位に位置するキャッシュブロックのデータは、ディスク装置へのライトバックが行われていないという問題があった。このようなキャッシュブロックのデータは、長時間経過してもディスク装置へライトバックされることはなく、結果として、ディスク装置に格納されたデータとキャッシュブロックのデータとが一致しない状態が長時間継続されてしまっていた。このため、停電やディスクキャッシュの故障などによりキャッシュブロックのデータが失われてしまうと、復元することは難しく、信頼性を損ねる要因となっていた。
【０００７】
また、ユーザの運用形態とディスクアレイに適合させたディスクキャッシュ動作を行うディスクキャッシュ装置では、たとえば、ライトバック処理によりホストからの新たな処理が実行できない状態にならないよう、キャッシュメモリ上に一定量の空き空間が残るように管理されている。しかしながら、このような場合でも登録が抹消され、ライトバックされるのはＬＲＵリンクの下位のものであり、上記の問題点は解決されない。
【０００８】
本発明はこのような点に鑑みてなされたものであり、キャッシュメモリ上の書き込みデータがディスク装置に長時間ライトバックされない状態を防止し、信頼性を向上させることが可能なディスクキャッシュ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では上記課題を解決するために、図1に示すようなディスクキャッシュ装置１が提供される。本発明にかかるディスクキャッシュ装置１は、上位装置であるホストコンピュータ２とディスク装置３との間に設けられ、ディスクキャッシュ制御を行うことによって、ホストコンピュータ２からディスク装置３へのリード／ライト要求を処理する。
【００１０】
ディスクキャッシュ装置１は、ディスク装置３に格納されたデータの一部を記憶するキャッシュ記憶手段１０、キャッシュ記憶手段１０を所定の単位で分割したキャッシュブロックごとにその使用状況を含むキャッシュ管理情報を記憶するキャッシュ管理情報記憶手段２０およびディスクキャッシュ制御を行うキャッシュ制御手段３０を具備する。また、キャッシュ制御手段は、データの書き込みを制御するライトキャッシュ制御手段３２、所定の時間を計時する計時手段３３、モニタライトバックリンクへの登録を行うモニタライトバックリンク登録手段（図では、モニタＷＢリンク登録手段）３４およびライトバックを制御するライトバック制御手段３５を有する。ここで、ライトキャッシュ制御手段３２は、ホストコンピュータ２からのライト要求に応じてキャッシュ記憶手段１０にデータを書き込むとともに、書き込みが行われ、まだディスク装置３に書き戻しが行われていないダーティデータを格納するキャッシュブロックをリンクするダーティリンクに該当するキャッシュブロックを登録する。モニタライトバックリンク登録手段３４は、計時手段３３の計時する時間に基づいて、キャッシュブロックにダーティデータが最初に格納されてからの経過時間を算出し、算出された経過時間が所定の経過時間を超えている場合には、該当するキャッシュブロックをモニタライトバックリンクに登録する。ライトバック制御手段３５は、モニタライトバックリンクに基づいて、該当するキャッシュブロックのデータをディスク装置３にライトバックする。
【００１１】
このような構成のディスクキャッシュ装置１は、上位装置であるホストコンピュータ２からライト要求があると、ライトキャッシュ制御手段３２が、データをキャッシュ記憶手段１０のキャッシュブロックに書き込み、キャッシュ管理情報を更新する。このデータは、まだこの時点ではディスク装置３に書き戻しされないため、ダーティデータになり、このキャッシュブロックはダーティリンクに登録される。モニタライトバックリンク登録手段３４は、ダーティリンクに登録されたキャッシュブロックについて、キャッシュブロックにダーティデータが格納されてからの経過時間を計時手段３３の計時する時間情報を用いて算出し、算出された経過時間が所定の経過時間を超えている場合にはこのキャッシュブロックをモニタライトバックリンクへ登録する。ライトバック制御手段３５は、モニタライトバックリンクに登録されたキャッシュブロックのデータをディスク装置３にライトバックする。
【００１２】
これにより、ライトバックが行われていない状態が所定の経過時間を超えたキャッシュブロックのデータは、ディスク装置３にライトバックされるようになり、予め決められた時間が経過した書き込みデータはすべてディスク装置３に書き戻されているということが保証される。
【発明の効果】
【００１３】
本発明のディスクキャッシュ装置では、上位装置からライト要求に応じてダーティデータが格納されたキャッシュブロックについて、ダーティデータを格納してからの経過時間を監視し、予め決められた所定の経過時間を超えてディスク装置へのデータの書き戻しが行われていないキャッシュブロックをモニタライトバックリンクに登録し、順にライトバック処理を行う。
【００１４】
これにより、キャッシュメモリ上のデータがディスク装置に長時間ライトバックされない状態を防止し、予め決められた時間が経過したキャッシュメモリ上のデータはすべてディスク装置にライトバックされるということが保証される。この結果、ディスクキャッシュ装置の信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、本発明の実施の形態に適用される発明の概念図である。
【００１６】
本発明にかかるディスクキャッシュ装置１は、上位装置であるホストコンピュータ２と、データを格納するディスク装置３との間に設けられ、ホストコンピュータ２からのアクセス要求に応じてディスクキャッシュ制御を行い、ディスク装置３に格納されるデータのリードおよびライト処理を行う。
【００１７】
ディスクキャッシュ装置１は、ディスク装置３に格納されたデータの一部を記憶するキャッシュ記憶手段１０、キャッシュ管理情報を記憶するキャッシュ管理情報記憶手段２０、ホストコンピュータ２からのアクセス要求に応じてディスクキャッシュ制御を行うキャッシュ制御手段３０、およびディスク装置３へのリード／ライト処理を制御するディスク装置制御手段４０を有する。また、キャッシュ制御手段３０は、ホストコンピュータ２からのリード要求に応じた処理を制御するリードキャッシュ制御手段３１、同様にライト要求に応じた処理を制御するライトキャッシュ制御手段３２、時間を計時する計時手段３３、モニタライトバックリンク（以下、モニタＷＢリンクとする）の登録を行うモニタＷＢリンク登録手段３４、ライトバック処理を制御するライトバック制御手段３５を具備する。
【００１８】
キャッシュ記憶手段１０は、ディスク装置３に格納されたデータの一部を記憶する記憶装置で、たとえば高速アクセスが可能な半導体メモリなどにより構成される。キャッシュ記憶手段１０は、キャッシュ記憶手段１０を所定の単位で分割したキャッシュブロックごとに管理されており、ディスク装置３から読み出したデータの格納と削除、およびディスク装置３へ書き込むデータの格納とディスク装置３へのライトバックは、キャッシュブロック単位で行われる。
【００１９】
キャッシュ管理情報記憶手段２０は、キャッシュブロックの管理に用いるキャッシュ管理情報を格納する記憶装置である。キャッシュ管理情報は、キャッシュブロックごとに、使用の有無、リードあるいはライトのどちらで使用しているか、対応するディスク装置３の領域などのほか、キャッシュを効率的に使用するためのリンク情報とデータの書き込みが行われたデータ書き込み時間が登録されている。リンク情報には、全体を管理するリンクで、最新に使用されたキャッシュブロックを最上位にリンクしていくＬＲＵリンク、リード要求処理ごとに最新に使用されたキャッシュブロックを最上位にリンクしていくリードリンク、ライト要求処理ごとに最新に使用されたキャッシュブロックを最上位にリンクしていくダーティリンクなどがある。なお、ホストコンピュータ２からのライト要求に応じて、キャッシュ記憶手段１０にデータが書き込まれ、ディスク装置３に書き戻しがされていない状態のデータはダーティデータと呼ばれ、ダーティデータを格納するキャッシュブロックを登録順にリンクしたものがダーティリンクである。ダーティリンクにリンクされたキャッシュブロックのライトバックが行われると、このキャッシュブロックはダーティリンクから削除され、リードリンクにリンクされる。本発明では、さらに、ダーティリンクにリンクされ、所定の期間ディスク装置３にライトバックが行われなかったキャッシュブロックをダーティリンクの登録順に準じてリンクしていくモニタＷＢリンクがある。
【００２０】
リードキャッシュ制御手段３１は、ホストコンピュータ２からのリード要求に対し、要求データがキャッシュ記憶手段１０に存在するか否かを判定し、存在する場合には、キャッシュ記憶手段１０からデータを読み出し、ホストコンピュータ２へ転送する。存在しない場合には、ディスク装置３からステージングした後にホストコンピュータ２に転送する。このとき、キャッシュブロックに対応するキャッシュ管理情報を更新し、リードリンクの最上位にリード処理を行ったキャッシュブロックを登録する。
【００２１】
ライトキャッシュ制御手段３２は、ホストコンピュータ２からのライト要求に対し、ライト要求のあったデータをキャッシュ記憶手段１０に格納し、格納したキャッシュブロックに対応するキャッシュ管理情報を更新する。書き込まれたデータはダーティデータとなり、ダーティリンクの最上位にライト処理を行ったキャッシュブロックを登録する。また、このデータを最初にキャッシュブロックに書き込む場合には、ダーティデータが最初に格納された時間として、計時手段３３の計時する時間情報を取得し、キャッシュ管理情報に格納する。なお、同一のキャッシュブロックに対し再びライト要求があった場合には、時間情報はキャッシュ管理情報に格納されない。すなわち、キャッシュ管理情報に格納されるのは、このキャッシュブロックに最初にダーティデータが格納された時点を示す時間情報になる。
【００２２】
計時手段３３は、所定の時間を計時する。計時した時間情報は、キャッシュ制御手段３０内の各手段から参照することができる。
モニタＷＢリンク登録手段３４は、所定の間隔で起動され、ダーティリンクに登録されたキャッシュブロックのうち、ダーティデータを格納してから所定の時間が経過したものをモニタＷＢリンクへ登録する。すなわち、ダーティリンクにリンクされたキャッシュブロックのキャッシュ管理情報に格納されている最初にダーティデータが格納された時点を示す時間情報と、計時手段３３の計時した現時の時間情報とを比較し、書き込みが行われてからライトバックされない状態がどのくらい経過しているのかを算出する。そして、算出された経過時間が所定の値を超えていた場合、そのキャッシュブロックをモニタＷＢリンクに登録し、ダーティリンクから消去する。モニタＷＢリンクは、ダーティリンクに準じ、最新にアクセスのあったキャッシュブロックが最上位にリンクされる。また、ダーティリンクに登録されるキャッシュブロックのチェックがすべて終了した後、モニタＷＢリンクに登録されたキャッシュブロックに関するログ情報としてモニタライトバック検出ログを取得し、保存しておく。モニタライトバック検出ログとして、たとえば、検出された時刻やそのキャッシュブロックなどの情報が取得される。
【００２３】
ライトバック制御手段３５は、モニタＷＢリンクを参照し、登録に従って最新にアクセスのあったキャッシュブロックから順に、データをディスク装置３に書き戻す処理を行う。ライトバック終了により、モニタＷＢリンクから該当のキャッシュブロックを消去する。また、ライトバックを行ったキャッシュブロックに関するログ情報としてモニタライトバック実施ログを取得し、保存しておく。モニタライトバック実施ログとして、たとえば、ライトバックを実施した時刻や、そのキャッシュブロックなどの情報が取得される。
【００２４】
ディスク装置制御手段４０は、キャッシュ制御手段３０からのリード／ライト要求に応じて、ディスク装置制御手段４０のデータの読み出しおよび書き込み処理を制御する。
このような構成のディスクキャッシュ装置１の動作について説明する。
【００２５】
ホストコンピュータ２からアクセス要求が入力されると、キャッシュ制御手段３０が起動し、リード要求の場合にはリードキャッシュ制御手段３１、ライト要求の場合にはライトキャッシュ制御手段３２によって要求された処理が実行される。
【００２６】
リード要求の場合、リードキャッシュ制御手段３１は、リード要求データの存在するキャッシュブロックまたはディスク装置３からステージングされたキャッシュブロックのデータをホストコンピュータ２に転送する。リード処理を行ったキャッシュブロックに対応するキャッシュ管理情報を更新し、このキャッシュブロックをリードリンクの最上位およびＬＲＵリンクの最上位に登録する。
【００２７】
ライト要求の場合、ライトキャッシュ制御手段３２は、ライト要求されたデータをキャッシュ記憶手段１０のキャッシュブロックに書き込むとともに、ライト処理を行ったキャッシュブロックに対応するキャッシュ管理情報を更新し、このキャッシュブロックをダーティリンクの最上位およびＬＲＵリンクの最上位に登録する。また、初回のダーティデータが格納であれば、キャッシュ管理情報に計時手段３３の計時した時間情報を格納する。これが、書き込みが行われてからライトバックされない状態が継続した時間を算出するための起点になる。
【００２８】
以上の処理により、ＬＲＵリンクの最上位には、最新にアクセスされたキャッシュブロックが位置し、最下位には最も古いキャッシュブロックが位置する。同様に、リードリンクの最上位には最新にリードされたキャッシュブロックが位置し、最下位には最も古いキャッシュブロックが位置する。また、ダーティリンクの最上位には最新にライトされたキャッシュブロックが位置し、最下位には最も古いキャッシュブロックが位置する。
【００２９】
なお、一定期間アクセスがないなど、予め設定された条件が成立すると、キャッシュブロックがダーティリンクにリンクされている場合には、このときにディスク装置３へのライトバックが行われる。
【００３０】
キャッシュ制御手段３０では、たとえば一定期間が経過したなど、予め決められた条件が成立したとき、モニタＷＢリンク登録手段３４が起動される。モニタＷＢリンク登録手段３４は、ダーティリンクの最上位から順に、キャッシュ管理情報を抽出し、その時間情報を読み出す。そして、計時手段３３の計時する現時の時間情報を用いて、書き込みが行われてからの経過時間を算出する。経過時間が所定の値を超えていた場合には、このキャッシュブロックをモニタＷＢリンクに登録し、ダーティリンクから削除する。さらに、すべてのキャッシュブロックにチェック終了後、どのようなデータが検出され、モニタＷＢリンクにリンクされたかを示すモニタライトバック検出ログを取得し、保存する。ライトバック制御手段３５は、モニタＷＢリンクの登録後、あるいは、他の処理が行われていない状態などのタイミングで起動され、モニタＷＢリンクを参照し、リンクされているキャッシュブロックのデータをディスク装置３に書き戻すライトバック処理を行う。ライトバック処理が完了したら、モニタＷＢリンクから該当キャッシュブロックを削除する。なお、このキャッシュブロックはリード用のキャッシュブロックとして用いることができるので、このキャッシュブロックは、リードリンクに登録する。また、ライトバックの実施時刻を含むライトバックされたデータの情報などのモニタライトバック実施ログも保存しておく。
【００３１】
以上の処理により、ダーティリンクにリンクされたキャッシュブロックのライトバックがされない状態が所定の時間経過した場合、このキャッシュブロックをモニタＷＢリンクにリンクし、ライトバック処理を実行する。
【００３２】
これにより、一定時間が経過したデータは、ディスク装置３への書き戻しが行われていることが保証され、信頼性を向上させることができる。
以下、本発明の実施の形態を、ＲＡＩＤ構成のストレージシステムに適用した場合を例に図面を参照して詳細に説明する。
【００３３】
図２は、本発明の実施の形態のストレージシステムの構成図である。
本発明の実施の形態のストレージシステムは、ストレージシステム全体を制御するコントロールモジュール（Controller Module；以下、ＣＭとする）１００ａ、１００ｂと、ディスク装置３００ａ、３００ｂと、ＣＭ１００ａ、１００ｂとホストコンピュータを接続するチャネルアダプタ（Channel Adapter；以下、ＣＡとする）１２１、１２２、１２３、１２４と、ＣＭ１００ａ、１００ｂとディスク装置３００ａ、３００ｂを接続するデバイスアダプタ（Device Adapter；以下、ＤＡとする）１３１、１３２、１３３、１３４を具備する。
【００３４】
ＣＭ１００ａ、１００ｂは、ストレージシステム全体の動作を制御する機能モジュールで、本発明にかかるディスクキャッシュ装置を構成する。
ＣＡ１２１、１２２、１２３、１２４は、ストレージシステムと各種サーバとを接続するための機能モジュールで、サーバとの間のインタフェースの種類によって、適宜選択される。
【００３５】
ＤＡ１３１、１３２、１３３、１３４は、ＣＭ１００ａ、１００ｂとディスク装置３００ａ、３００ｂを構成するディスクドライブ３０１との通信を制御するための機能モジュールである。
【００３６】
ディスク装置３００ａ、３００ｂは、複数のディスクドライブ３０１が配列されるＲＡＩＤ構成をとっており、複数のディスクドライブに並列にアクセスすることによって、高速化を図り、信頼性を高めている。
【００３７】
ここで、ＣＭ１００ａのハードウェア構成について説明する。ＣＭ１００ａは、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御され、ＣＡ１２１、１２２、１２３、１２４を介して入力されるホストコンピュータからのアクセス要求に応じて、ディスクキャッシュ制御を行っている。ＣＰＵ１０１には、バス１０５を介して、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、キャッシュメモリ１０４などが接続されている。
【００３８】
ＲＯＭ１０２には、ＣＰＵ１０１に実行させるプログラムが格納される。ＲＡＭ１０３には、ＣＰＵ１０１による処理に必要な各種データ、たとえばキャッシュ管理情報が格納される。ＲＡＭ１０３には、ＣＰＵ１０１に実行させるプログラムの一部が一時的に格納されてもよい。また、各種データの一部は、必要に応じて、不揮発性メモリに格納しておくこともできる。
【００３９】
キャッシュメモリ１０４には、ディスク装置３００ａ、３００ｂのデータの一部が一時的に格納される。また、ＣＰＵ１０１は、バス１０５を介してＣＡ１２１、１２２、１２３、１２４およびＤＡ１３１、１３２、１３３、１３４に接続する。
【００４０】
このようなハードウェア構成によって、図１に示した各手段を実現し、本実施の形態の処理機能を行うことができる。なお、ＣＭ１００ｂのハードウェア構成も同様である。
ここで、キャッシュメモリ１０４の構成と、対応するキャッシュ管理情報について説明する。図３は、本発明の実施の形態のキャッシュメモリの構成とキャッシュ管理情報の構成を示した図である。（Ａ）は、キャッシュメモリ構成、（Ｂ）はキャッシュ管理情報構成を表す。
【００４１】
前述のように、キャッシュメモリ１０４は、所定の単位のキャッシュブロックに分割されて、管理される。図の例では、キャッシュメモリ１０４は、６５Ｋバイトを単位とするキャッシュブロック、ＣＢ１（１０４−１）、ＣＢ２（１０４−２）、・・・、ＣＢｎ（１０４−ｎ）から構成される。ここで、ｎは、任意の整数を表す。
【００４２】
一方、キャッシュ管理情報は、キャッシュブロックに対応して設けられる。以下、キャッシュ管理情報をＣＢＥ（Cache Bundle Control Element）と呼ぶ。図の例では、ＣＢＥ３００は、ＣＢ１（１０４−１）に対応するＣＢＥ１（３００−１）、ＣＢ２（１０４−２）に対応するＣＢＥ２（３００−２）、・・・、ＣＢｎ（１０４−ｎ）に対応するＣＢＥｎ（３００−ｎ）から構成される。
【００４３】
個々のＣＢＥの構成について説明する。図４は、キャッシュブロックごとのキャッシュ管理情報の構成図である。
ＣＢＥは、ディスク装置３００ａ、３００ｂとのデータ交換などで参照するＤＡ参照域と、キャッシュ制御で用いるキャッシュ専用域とを有する。
【００４４】
ＤＡ参照域には、対象となるディスクドライブのＬＵＮ（Logical Unit Number）３１１や、このＣＢＥによって管理されるキャッシュメモリの先頭アドレスを示すキャッシュアドレス３１２などの情報が格納される。
【００４５】
キャッシュ専用域には、キャッシュを管理するためのリンクポインタと、モニタＷＢリンク登録時に用いるモニタＷＢカウンタ情報などが格納される。
リンクタイプ３２１は、このキャッシュブロックが何にリンクされているかを示す情報で、リンクされていない状態、リードリンクに登録されている状態、ダーティリンクに登録されている状態、モニタＷＢリンクに登録されている状態のいずれかの状態を表す情報が格納される。
【００４６】
リンクポインタは、このキャッシュブロックの前後にリンクされるキャッシュブロックを指し示す情報である。以下、リンクの最上位（最新にアクセスされたキャッシュブロックに対応）をＭＲＵ（Most Recent Use）、リンクの最下位（最も古くにアクセスされたキャッシュブロックに対応）をＬＲＵ（Least Recent Use）として説明する。また、ＣＢＥのリンクは、キャッシュブロックのリンクと同義であるとする。
【００４７】
次ＬＲＵリンクポインタ３２２、前ＬＲＵリンクポインタ３２３は、ＬＲＵリンクを示すポインタである。次ＬＲＵリンクポインタ３２２は、ＬＲＵリンクのＭＲＵ方向へのリンクを示し、前ＬＲＵリンクポインタ３２３は、ＬＲＵリンクのＬＲＵ方向へのリンクを示す。たとえば、次ＬＲＵリンクポインタ３２２を参照すれば、このＣＢＥの上位にリンクされるＣＢＥがわかる。
【００４８】
次リード／ライトリンクポインタ３２４、前リード／ライトリンクポインタ３２５は、リンクタイプ３２１によって指定されるリンクを示すポインタである。次リード／ライトリンクポインタ３２４は、このリンクのＭＲＵ方向へのリンクを示し、前リード／ライトリンクポインタ３２５は、ＬＲＵリンクのＬＲＵ方向へのリンクを示す。たとえば、リンクタイプ３２１が、ダーティリンクである場合、次リード／ライトリンクポインタ３２４を参照すれば、ダーティリンクにおいて、このＣＢＥの上位にリンクされるＣＢＥがわかる。
【００４９】
なお、本発明では、モニタＷＢリンク登録手段３４は、ダーティリンクにリンクされ、所定の時間が経過してもライトバックされないキャッシュブロックをモニタＷＢリンクにリンクする際に、ダーティリンクから削除する。また、ライトバック制御手段３５は、ライトバック処理が完了したキャッシュブロックは、モニタＷＢリンクから削除し、リードリンクにリンクする。このように複数のリンクに同時にリンクされる状態は発生しないため、同一のポインタを用いることができる。これにより、ＣＢＥに必要なメモリ領域を削減することができる。
【００５０】
モニタＷＢカウンタ３２６は、キャッシュブロックに書き込みが行われた時間を示すカウンタを格納する。本発明の実施の形態では、計時手段３３は、定周期で起動され、カウンタ値をインクリメントするカウンタで構成される。カウンタは、メモリ上に用意され、他の各手段から参照可能である。以下、このカウンタをグローバルカウンタと呼ぶ。このようにカウンタを用いれば、時計機能を具備する場合に比べて、容易に計時機能を実現することができる。
【００５１】
なお、上記の説明では、ＣＢＥ内にリンクポインタの格納領域を設けて、リンク管理を行うとしたが、リンクテーブルを用意するなど、他の形式でリンク情報を持つようにすることもできる。
【００５２】
次に、このようなＣＢＥを用いたディスクキャッシュ制御の動作について説明する。図５は、本発明の実施の形態のディスクキャッシュ制御におけるある時点のリンクの状態を示した図である。
【００５３】
図の例では、ＬＲＵリンク４１０によって、ＭＲＵから順に、ＣＢＥ（Ｄｉｒｔｙ）４０１、ＣＢＥ（Ｄｉｒｔｙ）４０２、ＣＢＥ（Ｄｉｒｔｙ）４０３、ＣＢＥ（Ｒｅａｄ）４０４、ＣＢＥ（Ｄｉｒｔｙ）４０５、ＣＢＥ（Ｒｅａｄ）４０６、ＣＢＥ（Ｄｉｒｔｙ）４０７、ＣＢＥ（Ｒｅａｄ）４０８がリンクされている。ここで、ＣＢＥ（Ｄｉｒｔｙ）はダーティであるＣＢＥを示し、このキャッシュブロックは、ダーティリンクにリンクされている状態にある。ＣＢＥ（Ｒｅａｄ）はリードにリンクされているＣＢＥを示す。
【００５４】
図では、ダーティリンクは点線で示されており、ダーティリンク４２１は、ＣＢＥ（Ｄｉｒｔｙ）４０１とＣＢＥ（Ｄｉｒｔｙ）４０２をリンクする。このとき、ＣＢＥ（Ｄｉｒｔｙ）４０１のリンクタイプはダーティリンクで、前リード／ライトリンクポインタは、ＣＢＥ（Ｄｉｒｔｙ）４０２を指す。また、ＣＢＥ（Ｄｉｒｔｙ）４０２の次リード／ライトリンクポインタは、ＣＢＥ（Ｄｉｒｔｙ）４０１を指す。同様に、ＣＢＥ（Ｄｉｒｔｙ）４０２とＣＢＥ（Ｄｉｒｔｙ）４０３がダーティリンク４２２で、ＣＢＥ（Ｄｉｒｔｙ）４０３とＣＢＥ（Ｄｉｒｔｙ）４０５がダーティリンク４２３で、ＣＢＥ（Ｄｉｒｔｙ）４０５とＣＢＥ（Ｄｉｒｔｙ）４０７がダーティリンク４２４でリンクされている。
【００５５】
一方、リードリンクは一点鎖線で示されており、リードリンク４３１は、ＣＢＥ（Ｒｅａｄ）４０４とＣＢＥ（Ｒｅａｄ）４０６をリンクし、リードリンク４３２は、ＣＢＥ（Ｒｅａｄ）４０６とＣＢＥ（Ｒｅａｄ）４０８をリンクしている。
【００５６】
このような状態で、モニタＷＢリンク登録処理が起動されると、ダーティリンクのＭＲＵから順に、リンクされたＣＢＥがチェックされる。図の例では、ＣＢＥ（Ｄｉｒｔｙ）４０１のＣＢＥのモニタＷＢカウンタが抽出され、現時のグローバルカウンタとの差分から、ライトバックされていない状態の経過時間を算出する。算出された経過時間は、予め決められた所定の経過時間と比較し、これを超えていた場合には、このＣＢＥをモニタＷＢリンクにリンクする。以下、同様の処理をダーティリンクに沿って繰り返し行う。
【００５７】
ダーティリンクのＭＲＵから順にチェックを行うことにより、アクセス頻度の高いＣＢＥから順にモニタＷＢリンクに登録されるようになる。
図６は、本発明の実施の形態のディスクキャッシュ制御におけるモニタＷＢリンク登録処理終了後のリンクの状態を示した図である。図５と同じものには同じ番号を付し、説明は省略する。
【００５８】
図では、モニタＷＢリンクは実線で示されている。図の例では、図５のＣＢＥ（Ｄｉｒｔｙ）４０１とＣＢＥ（Ｄｉｒｔｙ）４０２をリンクするダーティリンク４２１がモニタＷＢリンク４３１に置き換わり、ＣＢＥ（Ｄｉｒｔｙ）４０２とＣＢＥ（Ｄｉｒｔｙ）４０３をリンクするダーティリンク４２２がモニタＷＢリンク４３２に置き換わっている。すなわち、モニタＷＢリンク登録処理により、ＣＢＥ（Ｄｉｒｔｙ）４０１、４０２、４０３について、ライトバックされない状態が所定の経過時間を超えたので、強制的にライトバックを行うためのモニタＷＢリンクにリンクされたことを示している。なお、モニタＷＢリンクのＭＲＵには、最も上位のダーティリンクに位置するＣＢＥが登録される。これにより、アクセス頻度の高いキャッシュブロックのデータから順にライトバック処理を行うようにすることができる。
【００５９】
次に、ライトバック処理におけるリンク状態の遷移について説明する。図７は、本発明の実施の形態のライトバック処理前のリンク状態を示した図であり、図８は、本発明の実施の形態のライトバック処理後のリンク状態を示した図である。
【００６０】
図７は、図６のリードリンクとモニタＷＢリンクを抜き出したものである。
リードリンク４３１、４３２によって、ＭＲＵから順にＣＢＥ（Ｒｅａｄ）４０４、４０６、４０８がリンクされている。同様に、モニタＷＢリンク４３１、４３２により、ＭＲＵから順にＣＢＥ（Ｄｉｒｔｙ）４０１、４０２、４０３がリンクされている。
【００６１】
ライトバック処理では、モニタＷＢリンクのＭＲＵ（最新にアクセスされたもの）からライトバック処理が行われる。図の例では、モニタＷＢリンクのＭＲＵに位置するＣＢＥ（Ｄｉｒｔｙ）４０１のライトバック処理が行われ、データがディスク装置に書き戻される。ライトバック処理完了で、ＣＢＥ（Ｄｉｒｔｙ）４０１はダーティリンクから削除され、リードリンクにリンクされる。
【００６２】
これにより、図８に示したように、ＣＢＥ（Ｄｉｒｔｙ）４０１は、ＣＢＥ（Ｒｅａｄ）４０１になり、リードリンク４３３によって、リードリンクのＭＲＵにリンクされる。
なお、上記の説明では、モニタＷＢリンクのＭＲＵには、最新にアクセスのあったキャッシュブロックが登録されるとしたが、モニタＷＢリンク登録処理において、ダーティリンクのＭＲＵに位置するキャッシュブロックから順にモニタＷＢリンクへの登録を判定し、登録が判定されたキャッシュブロックを順にモニタＷＢリンクの最上位にリンクしていくこともできる。この場合、最新にアクセスのあったキャッシュブロックは、モニタＷＢリンクのＬＲＵに登録されることになり、ライトバック処理は、モニタＷＢリンクのＬＲＵから実行される。
【００６３】
また、モニタＷＢリンク登録処理では、モニタＷＢリンクに登録されたキャッシュブロックに関するモニタライトバック検出ログが取得され、保存される。モニタライトバック検出ログには、たとえば、検出された時刻やそのキャッシュブロックなど情報が抽出される。同様に、ライトバック処理では、ライトバック処理を行ったキャッシュブロックに関するモニタライトバック実施ログが取得され、保存される。モニタライトバック実施ログには、たとえば、ライトバックが実行された時刻やそのキャッシュブロックなどの情報が抽出される。これらのログは、メンテナンス機能により、保守ツールから参照される。
【００６４】
図９は、本発明の実施の形態のログ表示画面の一例である。
ログ表示画面５０２は、たとえば、保守ツール画面５００の保守情報項目から、ログ／構成採取５０１を選択することによって表示される。
【００６５】
図の例のログ表示画面５０２では、採取された各種ログ情報が時系列に表示されており、その中にモニタＷＢ処理が開始されたことを示す「ＭｏｎｉｔｅｒＷＢ開始」５０３のログが含まれている。
【００６６】
このように、ログを採取し、ログ情報として表示可能とすることにより、管理者は、いつの時点でライトバック処理が行われたのかを把握することができるようになる。ライトバック処理の状況を把握できることで、管理作業および保守作業を容易にすることができる。
【００６７】
ところで、本発明にかかるモニタＷＢリンクにＣＢＥが登録されている状態で、ホストコンピュータからこのキャッシュブロックにアクセス要求を受ける場合が想定される。本発明では、このような場合、モニタライトバックを優先し、該当データをディスク装置に書き戻した後、ホストコンピュータからのアクセス要求を受け付ける。このように、モニタライトバックを優先させることによって、より高い信頼性を確保することができる。
【００６８】
次に、本発明にかかるディスクキャッシュ制御方法におけるモニタライトバック処理手順について、フローチャートを用いて説明する。
図１０は、本発明の実施の形態のモニタライトバック処理の手順を示したフローチャートである。
【００６９】
モニタライトバック処理は、一定周期ごとに起動される。周期は、ディスクへの書き戻しが行われたことが保証する時間に応じてシステムごとに設定される。たとえば、３０分以上前の書き込みデータは、ディスクへの書き戻しが行われていることを保証したい場合には、この保証が可能な周期に設定する。
【００７０】
［ステップＳ０１］  所定の周期が経過しているので、グローバルカウンタをインクリメントする。
［ステップＳ０２］  モニタライトバック処理のポインタをダーティリンクのＭＲＵに位置するＣＢＥに設定する。
【００７１】
［ステップＳ０３］  ＣＢＥ登録が存在するか否かを判定する。存在しない場合は、処理をステップＳ１０へ進める。
［ステップＳ０４］  ＣＢＥ登録が存在する場合、ポインタの示すＣＢＥの情報を抽出する。
【００７２】
［ステップＳ０５］  ＣＢＥの前リード／ライトリンクポインタに格納されるＬＲＵ側にリンクされるＣＢＥの情報を退避する。
［ステップＳ０６］  ＣＢＥ内のモニタＷＢカウンタとグローバルカウンタとの差分を算出し、ＣＢＥがダーティになってからの経過時間を求める。
【００７３】
［ステップＳ０７］  算出された差分値と予め決められた設定値ｎを比較し、差分値がｎ以上であるかどうか、すなわち、ダーティになってから所定の設定時間を経過したかどうかを判定する。ｎ以下で設定時間を経過していない場合、処理をステップＳ０９へ進める。
【００７４】
［ステップＳ０８］  差分値がｎ以上、すなわち、ダーティになってから所定の設定時間を超えている場合、ＣＢＥをモニタＷＢリンクへ登録し、リンクカウントをインクリメントする。このリンクカウントは、モニタＷＢリンクへ登録されたＣＢＥの個数を算出するカウンタである。また、モニタＷＢリンクへの登録に合わせて、ＣＢＥの情報を更新する。
【００７５】
［ステップＳ０９］  ステップＳ０５において退避していたポインタを取り出し、処理するＣＢＥを指すポインタに設定し、処理をステップＳ０２に進める。これにより、モニタライトバック処理の対象が次のＣＢＥに移り、処理が開始される。
【００７６】
［ステップＳ１０］  ステップＳ０３においてＣＢＥ登録が検出されなかった場合、ダーティリンクにリンクされたすべてのＣＢＥの処理が完了したと見なす。そして、ＣＢＥがモニタＷＢリンクにリンクされるごとにカウントアップされるリンクカウンタが０であるかどうか、すなわち、モニタＷＢリンクにリンクされているＣＢＥがあるかどうかを判定する。ない場合は、モニタライトバック処理を終了する。
【００７７】
［ステップＳ１１］  リンクカウンタが０でない場合、モニタＷＢリンクにリンクされたＣＢＥが存在するとみなし、ライトバック処理を開始し、ログを取得する。
以上の処理手順により、ライトバック処理が実行され、一定時間以上経過したダーティデータは、必ずディスク装置へ書き戻しが行われるようになる。また、その処理の記録は、ログとして残る。
【００７８】
次に、ライトバック処理について説明する。
図１１は、本発明の実施の形態のモニタＷＢリンクに基づくライトバック処理の手順を示したフローチャートである。
【００７９】
モニタＷＢリンクに基づくライトバック処理は、モニタＷＢリンク登録の後のほか、ホストコンピュータからのアクセス処理の合間をぬって、適宜起動される。
［ステップＳ２１］  ライトバック処理のポインタをモニタＷＢリンクのＭＲＵに設定する。
【００８０】
［ステップＳ２２］  ポインタによって示されたＣＢＥの情報を抽出する。
［ステップＳ２３］  ＣＢＥの前リード／ライトリンクポインタに格納されるＬＲＵ側にリンクされるＣＢＥの情報を退避する。
【００８１】
［ステップＳ２４］  ＣＢＥに対応するキャッシュブロックのデータを対応するディスク装置にライトバックする。
［ステップＳ２５］  ＣＢＥをモニタＷＢリンクから削除し、リードリンクへ登録する。
【００８２】
［ステップＳ２６］  モニタＷＢリンクに登録されたＣＢＥの数を示すリンクカウンタをディクリメントする。
［ステップＳ２７］  リンクカウンタが０でないかどうかを判定する。０であれば、モニタＷＢリンクにリンクされているＣＢＥはもう存在しないので、ステップＳ２９へ処理を進める。
【００８３】
［ステップＳ２８］  ステップＳ２３で退避していたポインタを取り出し、処理するＣＢＥを指すポインタに設定し、処理をステップＳ２２に進める。これにより、ライトバック処理の対象が次のＣＢＥに移り、書き戻し処理が開始される。
【００８４】
［ステップＳ２９］  ライトバック処理を行ったＣＢＥに関するログを取得し、保存する。
次に、キャッシュがヒットした場合の処理について説明する。図１２は、本発明の実施の形態のキャッシュがヒットの場合の処理の手順を示したフローチャートである。
【００８５】
ホストコンピュータからリード／ライト要求があった場合に処理が開始される。
［ステップＳ３１］  ホストコンピュータからアクセス要求されたデータがキャッシュに存在するか（Ｈｉｔ）、否か（Ｍｉｓｓ）を判定する。なお、Ｍｉｓｓの場合は、処理を終了する。
【００８６】
［ステップＳ３２］  アクセス要求のあったＣＢＥがモニタＷＢリンクにリンクされているＣＢＥであるかどうかを判定する。モニタＷＢリンクにリンクされているＣＢＥでない場合は、処理をステップＳ３４へ進める。
【００８７】
［ステップＳ３３］  モニタＷＢリンクにリンクされているＣＢＥであった場合、このＣＢＥのデータをディスク装置へライトバックする。
［ステップＳ３４］  ホストコンピュータからのアクセス要求のあったキャッシュへローケートする。
【００８８】
［ステップＳ３５］  ホストコンピュータからライトまたはリード処理が行われる。
以上の処理手順が実行されることにより、キャッシュヒットしたＣＢＥがモニタＷＢリンクにリンクされていた場合には、該当ＣＢＥのライトバックを先に実行し、その後ホストコンピュータからのアクセス要求を受け付ける。これにより、ホストコンピュータのアクセスしたデータは、一定時間内にディスク装置に書き戻しが行われていることが保証され、信頼性をより高くすることができる。
【００８９】
（付記１）  キャッシュを備え、上位装置からのアクセス要求に応じてディスク装置のデータの読み書きを制御するディスクキャッシュ装置において、
前記ディスク装置に格納されたデータの一部を記憶するキャッシュ記憶手段と、
前記キャッシュ記憶手段を所定の単位で分割したキャッシュブロックごとにその使用状況を含むキャッシュ管理情報を記憶するキャッシュ管理情報記憶手段と、
所定の時間を計時する計時手段と、
前記上位装置からのライト要求に応じて前記キャッシュ記憶手段にデータを書き込み、前記キャッシュ管理情報を更新するとともに、前記ディスク装置に書き戻しが行われていないダーティデータを格納するキャッシュブロックを登録順にリンクするダーティリンクにデータ書き込みが行われたキャッシュブロックを登録するライトキャッシュ制御手段と、
前記ダーティリンクに登録された前記キャッシュブロックごとに、前記計時手段が計時した時間に基づいて前記キャッシュブロックに前記ダーティデータが格納されてからの経過時間を算出し、ライトバックの対象となるキャッシュブロックをリンクするモニタライトバックリンクに所定の経過時間を超えた前記キャッシュブロックを登録するモニタライトバックリンク登録手段と、
前記モニタライトバックリンクに基づいて、前記モニタライトバックリンクに登録された前記キャッシュブロックのデータを前記ディスク装置へライトバックするライトバック制御手段、
を具備することを特徴とするディスクキャッシュ装置。
【００９０】
（付記２）  前記計時手段は、所定の間隔でカウンタ値を加算するカウンタであり、
前記ライトキャッシュ制御手段は、前記ダーティデータを格納する前記キャッシュブロックに対応する前記キャッシュ管理情報に前記計時手段が設定した前記ダーティデータが最初に格納された時点のカウンタ値を登録し、
前記モニタライトバックリンク登録手段は、前記キャッシュ管理情報記憶手段に格納された前記ダーティデータが格納された時点のカウンタ値と、前記計時手段の設定した現時のカウンタ値との差分によって前記経過時間を算出することを特徴とする付記１記載のディスクキャッシュ装置。
【００９１】
（付記３）  前記ライトバック制御手段は、前記上位装置からのアクセス要求に対するデータが前記キャッシュ記憶手段に存在し、かつ前記データが格納された前記キャッシュブロックが前記モニタライトバックリンクに登録されていた場合、前記キャッシュブロックのライトバックが終了した後、前記上位装置からのアクセス要求に対する処理を許可することを特徴とする付記１記載のディスクキャッシュ装置。
【００９２】
（付記４）  前記モニタライトバックリンク登録手段は、前記ダーティリンクに基づき、最新にデータ書き込みが行われた前記キャッシュブロックから登録順に前記経過時間を調べることを特徴とする付記１記載のディスクキャッシュ装置。
【００９３】
（付記５）  前記モニタライトバックリンク登録手段は、前記ダーティリンクの登録順に準じて前記モニタライトバックリンクにライトバック対象の前記キャッシュブロックを登録し、
前記ライトバック制御手段は、前記モニタライトバックリンクの登録順に応じて、最新にデータ書き込みが行われた前記キャッシュブロックから順にライトバック処理を行うことを特徴とする付記１記載のディスクキャッシュ装置。
【００９４】
（付記６）  前記モニタライトバックリンク登録手段は、前記モニタライトバックリンクに登録する前記キャッシュブロックに関する情報をモニタライトバック検出ログとして残すことを特徴とする付記１記載のディスクキャッシュ装置。
【００９５】
（付記７）  前記ライトバック制御手段は、前記ディスク装置へライトバックした前記キャッシュブロックに関する情報をモニタライトバック実施ログとして残すことを特徴とする付記１記載のディスクキャッシュ装置。
【００９６】
（付記８）  前記モニタライトバックリンク登録手段は、前記キャッシュブロックを前記モニタライトバックリンクに登録した場合は、前記ダーティリンクから前記モニタライトバックリンクに登録した前記キャッシュブロックを削除することを特徴とする付記１記載のディスクキャッシュ装置。
【００９７】
（付記９）  キャッシュを備え、上位装置からのアクセス要求に応じてディスク装置のデータの読み書きを制御するディスクキャッシュ制御方法において、
前記ディスク装置に格納されたデータの一部を記憶するキャッシュ記憶手段を所定の単位で分割したキャッシュブロックごとにその使用状況を含むキャッシュ管理情報をキャッシュ管理情報記憶手段に保持し、
ライトキャッシュ制御手段が、前記上位装置からのアクセス要求がライト要求である場合に前記キャッシュ記憶手段にデータを書き込み、前記キャッシュ管理情報を更新するとともに、前記ディスク装置に書き戻しが行われていないダーティデータを格納するキャッシュブロックを登録順にリンクするダーティリンクにデータ書き込みが行われた前記キャッシュブロックを登録し、
モニタライトバックリンク登録手段が、前記ダーティリンクに登録された前記キャッシュブロックごとに、所定の時間を計時する計時手段によって計時された時間に基づいて前記キャッシュブロックに前記ダーティデータが格納されてからの経過時間を算出し、ライトバックの対象となる前記キャッシュブロックをリンクするモニタライトバックリンクに所定の経過時間を超えた前記キャッシュブロックを登録し、
ライトバック制御手段が、前記モニタライトバックリンクに登録された前記キャッシュブロックのデータを前記ディスク装置へライトバックする、
ことを特徴とするディスクキャッシュ制御方法。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施の形態に適用される発明の概念図である。
【図２】本発明の実施の形態のストレージシステムの構成図である。
【図３】本発明の実施の形態のキャッシュメモリの構成とキャッシュ管理情報の構成を示した図である。
【図４】キャッシュブロックごとのキャッシュ管理情報の構成図である。
【図５】本発明の実施の形態のディスクキャッシュ制御におけるある時点のリンクの状態を示した図である。
【図６】本発明の実施の形態のディスクキャッシュ制御におけるモニタＷＢリンク登録処理終了後のリンクの状態を示した図である。
【図７】本発明の実施の形態のライトバック処理前のリンク状態を示した図である。
【図８】本発明の実施の形態のライトバック処理後のリンク状態を示した図である。
【図９】本発明の実施の形態のログ表示画面の一例である。
【図１０】本発明の実施の形態のモニタライトバック処理の手順を示したフローチャートである。
【図１１】本発明の実施の形態のモニタＷＢリンクに基づくライトバック処理の手順を示したフローチャートである。
【図１２】本発明の実施の形態のキャッシュがヒットの場合の処理の手順を示したフローチャートである。
【符号の説明】
【００９９】
１  ディスクキャッシュ装置
２  ホストコンピュータ
３  ディスク装置
１０  キャッシュ記憶手段
２０  キャッシュ管理情報記憶手段
３０  キャッシュ制御手段
３１  リードキャッシュ制御手段
３２  ライトキャッシュ制御手段
３３  計時手段
３４  モニタＷＢリンク登録手段
３５  ライトバック制御手段
４０  ディスク装置制御手段
【図１】
2005190385.tif 000003
【図２】
2005190385.tif 000004
【図３】
2005190385.tif 000005
【図４】
2005190385.tif 000006
【図５】
2005190385.tif 000007
【図６】
2005190385.tif 000008
【図７】
2005190385.tif 000009
【図８】
2005190385.tif 000010
【図９】
2005190385.tif 000011
【図１０】
2005190385.tif 000012
【図１１】
2005190385.tif 000013
【図１２】
2005190385.tif 000014