JP2008234532A - キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム - Google Patents

キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム Download PDF

Info

Publication number
JP2008234532A
JP2008234532A JP2007076247A JP2007076247A JP2008234532A JP 2008234532 A JP2008234532 A JP 2008234532A JP 2007076247 A JP2007076247 A JP 2007076247A JP 2007076247 A JP2007076247 A JP 2007076247A JP 2008234532 A JP2008234532 A JP 2008234532A
Authority
JP
Japan
Prior art keywords
cache
page
cache page
pseudo
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007076247A
Other languages
English (en)
Other versions
JP4770766B2 (ja
Inventor
Tadashi Orihara
直史 織原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007076247A priority Critical patent/JP4770766B2/ja
Publication of JP2008234532A publication Critical patent/JP2008234532A/ja
Application granted granted Critical
Publication of JP4770766B2 publication Critical patent/JP4770766B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】ディスクキャッシュにおいて、キャッシュページの排他制御を行うことによって生じるライトI/O命令完了応答の遅延を軽減し、常にキャッシュヒットライトの応答性能を保証する。
【解決手段】キャッシュメモリ240がキャッシュページ0〜Nとは別に擬似キャッシュページA〜Jを有し、キャッシュメモリ管理手段231がキャッシュページ0〜Nの1つに競合し且つキャッシュページ排他制御手段233により退けられたライトI/O命令を受け入れてデータを擬似キャッシュページA〜Jの1つに書き込む機能を備え、完了通知手段232が擬似キャッシュページA〜Jの1つにデータが書き込まれたタイミングでI/O命令の完了通知を出力する機能を備えている。
【選択図】図1

Description

本発明は、上位装置からのメイン記憶装置に対するI/O命令に応じてデータを一時格納し転送するキャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラムに関し、特に、キャッシュメモリのI/O命令に対する排他制御を実行するキャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラムに関する。
従来、ディスクアレイ装置では、I/O命令を高速に処理するためのキャッシュメモリを搭載し、ホストからのリードI/O命令に対してキャッシュヒットすれば、低速のディスクアレイにアクセスせずにデータをホストへ出力することで高速レスポンスを可能とし、ホストからのライトI/O命令に対しても、キャッシュメモリにデータを書き込んだ時点でライトI/O命令の完了を出力し、そのデータを非同期でディスクアレイに転送し格納することで高速レスポンスを可能としている。
このような従来技術を用いたものとして、例えば、キャッシュメモリ上の管理情報をローカルメモリ内にも記録して2元管理することでさらに高速レスポンスを可能としている記憶制御装置が特許文献1に開示されている。
また、特許文献2には、コントローラを多重化した記憶サブシステムであって、コントローラごとに使用するキャッシュ領域を個別に割り当てることにより、別々のコントローラからのI/O命令がキャッシュメモリに競合することをなくし、レスポンスの遅延を軽減した記憶サブシステムが開示されている。
また、特許文献3には、複数のホストディレクタとこれらホストディレクタに共有されたディスクキャッシュの共有メモリを搭載したディスクアレイ装置であって、共有メモリ内のキャッシュページのオープン/クローズ処理について示す管理情報を、共有メモリ内に記録せずに、各ホストディレクタのローカルメモリに記録してキャッシュページは定常オープン状態にしておくことで、キャッシュページの管理情報へのアクセス時間を短縮したディスクアレイ装置が開示されている。
特開2001‐166993号公報 特開平9‐146842号公報 特開2003‐228461号公報
しかしながら、これら開示された従来技術では、キャッシュメモリ使用における同一キャッシュページへのI/O命令競合時の排他制御によるレスポンス遅延については改善されていないという課題があった。
例えば、図11に示すような、キャッシュメモリ240のデータ格納領域241を固定長区画のキャッシュページ0〜Nに区切ってメモリ使用の排他制御を行う主制御部250を備えた従来のストレージ装置は、ホスト側のサーバ100からライトI/O命令を入力すると、I/O長を処理可能な数のキャッシュページ1を取得してデータを受け取り、そのデータを用いてRAID処理を行いディスクエンクロージャ300内の物理ディスク(PD)へ書き込みを行っていた。
このような従来の装置において、キャッシュページ0〜Nを1ページあたり64セクタ(32KB)の固定長と仮定すると、ホスト側のサーバ100から1セクタのシーケンシャルライトI/O命令が連続で発行された場合、最初の1セクタを処理するためのキャッシュページ1が選択され、この1セクタを処理して物理ディスク(PD)に書き終えるまでこのキャッシュページ1は排他され、次の1セクタのライトI/O命令が待機状態になる。
このキャッシュページ単位の排他制御は、使用中のキャッシュページに対して、別のI/O命令がアクセスしたり、追い出し処理を実行したりするのを防ぐための処理であるが、この排他制御によるライトI/O命令の待機によってレスポンスの遅延が生じてしまい、さらに悪化するとI/Oエラーとなってしまうという問題があった。
[目的]
そこで、本発明は、上記従来技術の問題を改善し、ディスクキャッシュにおいて、キャッシュページの排他制御によって生じるライトI/O命令完了応答の遅延を軽減し、常にキャッシュヒットライトの応答性能を保証することを、その目的とする。
上記目的を達成するため、本発明のキャッシュメモリ装置は、上位装置とメインメモリとの間で入出力されるデータを一時格納するキャッシュメモリを備え、このキャッシュメモリが幾つかのキャッシュページで分割されたキャッシュ領域を有したキャッシュメモリ装置であり、上位装置からのメインメモリに対するライトI/O命令に従ってデータを対応するキャッシュページに書き込み非同期でメインメモリに転送するキャッシュメモリ管理手段と、キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を上位装置へ出力する完了通知手段と、上位装置からのI/O命令の処理中にこの処理に係るキャッシュページが別のI/O命令によるアクセスを受けないようにキャッシュページを排他制御するキャッシュページ排他制御手段とを備え、上記のキャッシュメモリがキャッシュ領域とは別の記憶領域である擬似キャッシュページを有し、キャッシュメモリ管理手段が、キャッシュページの1つに競合し且つキャッシュページ排他制御手段により退けられたライトI/O命令を受け入れて擬似キャッシュページにデータを書き込む機能を備え、完了通知手段が、擬似キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を出力する機能を備えたことを特徴とする。
このようなキャッシュメモリ装置によれば、キャッシュメモリがキャッシュページとは別の記憶領域として擬似キャッシュページを有し、キャッシュページの1つに競合し且つキャッシュページ排他制御手段により退けられたライトI/O命令を、キャッシュメモリ管理手段が受け入れて擬似キャッシュページにデータを書き込み、擬似キャッシュページにデータが書き込まれたタイミングで完了通知手段がI/O命令の完了通知を出力するので、キャッシュページの排他制御によって生じるライトI/O命令完了応答の遅延を軽減できる。
また、上記のキャッシュメモリ装置において、上述したキャッシュメモリ管理手段が、擬似キャッシュページに記憶されたデータを、対応するキャッシュページの排他状態がキャッシュページ排他制御手段により解除されるタイミングで当該キャッシュページへ書き込む機能を備えてもよい。
このようにすると、擬似キャッシュページは、キャッシュページがI/O処理を完了するまでの時間のみデータを記憶しておけばよいので、記憶容量を小さくすることができる。
また、上記のキャッシュメモリ装置において、上述した擬似キャッシュページがキャッシュページと同様の固定長区画であってもよい。このようにすると、擬似キャッシュページをキャッシュページの1つにリンクさせることができ、対応するキャッシュページに容易にデータを転送することができる。
また、上記のキャッシュメモリ装置において、上述したキャッシュメモリ管理手段が、擬似キャッシュページにデータを書き込むタイミングでこの擬似キャッシュページを当該データに対応するキャッシュページに対応付ける機能を備えてもよい。このようにすると、データを格納している擬似キャッシュページにキャッシュページをリンクさせることができ、擬似キャッシュページ内のデータをそのまま対応するキャッシュページへ転送することができる。
また、上記のキャッシュメモリ装置において、上述したキャッシュメモリ管理手段が、排他状態のキャッシュページに対して新たにライトI/O命令が競合した場合にそのキャッシュページに対応付けられた擬似キャッシュページにデータを書き込み当該擬似キャッシュページ内のデータを統合する機能を備えてもよい。このようにすれば、排他状態のキャッシュページに対していくらライトI/O命令が競合しても、完了応答の遅延を生じることはない。
次に、本発明のキャッシュ管理方法は、上位装置とメインメモリとの間で入出力されるデータを一時格納するキャッシュメモリを備え、このキャッシュメモリが幾つかのキャッシュページで分割されたキャッシュ領域を有したキャッシュメモリ装置にあって、上位装置からのI/O命令の処理中にこの処理に係るキャッシュページが別のI/O命令によるアクセスを受けないようにキャッシュページを排他制御するキャッシュ管理方法であり、上位装置からのメインメモリに対するライトI/O命令を入力するライトI/O入力ステップと、このライトI/O命令が指定するキャッシュページが排他状態に設定されている場合に、キャッシュメモリの記憶領域のうちキャッシュページとは別に確保された領域である擬似キャッシュページにライトI/O命令が示すデータを書き込む擬似キャッシュページ書込ステップと、擬似キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を上位装置へ出力する擬似完了通知ステップを設けたことを特徴とする。
また、上記のキャッシュ管理方法においては、上述した完了通知ステップ後に、擬似キャッシュページに記憶されたデータを、対応するキャッシュページの排他状態が解除されるタイミングで当該キャッシュページへ書き込むキャッシュページ書込ステップを設けてもよい。
また、上記のキャッシュ管理方法において、上述した擬似キャッシュページがキャッシュページと同様の固定長区画であってもよい。
また、上記のキャッシュ管理方法においては、擬似キャッシュページにデータを書き込むタイミングでこの擬似キャッシュページを当該データに対応するキャッシュページに対応付ける擬似キャッシュページ対応付けステップを設けてもよい。
また、上記のキャッシュ管理方法においては、排他状態のキャッシュページに対して新たにライトI/O命令が競合した場合には、そのキャッシュページに対応付けられた擬似キャッシュページにデータを書き込み当該擬似キャッシュページ内のデータを統合するデータ統合ステップを設けてもよい。
このようなキャッシュ管理方法によれば、ライトI/O命令が指定するキャッシュページが排他状態である場合に、予めキャッシュメモリ内に確保された擬似キャッシュページにライトI/O命令が示すデータを書き込み、擬似キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を出力するので、上述したキャッシュメモリ装置と同様に、キャッシュページの排他制御によって生じるライトI/O命令完了応答の遅延を軽減できる。
次に、本発明のキャッシュ管理用プログラムは、上位装置とメインメモリとの間で入出力されるデータを一時格納するキャッシュメモリを備え、このキャッシュメモリが幾つかのキャッシュページで分割されたキャッシュ領域を有したキャッシュメモリ装置の動作を制御するコンピュータに、上位装置からのメインメモリに対するライトI/O命令を入力するI/O命令入力処理と、このライトI/O命令に従ってデータを対応するキャッシュページに書き込むデータ書込処理と、キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を上位装置へ出力する完了通知処理と、このキャッシュページに記憶されたデータを非同期でメインメモリに転送するデータ転送処理と、上位装置からのI/O命令の処理中にこの処理に係るキャッシュページが別のI/O命令によるアクセスを受けないようにキャッシュページを排他制御するキャッシュページ排他制御処理とを実行させると共に、キャッシュページの1つに競合し且つキャッシュページ排他制御処理により退けられたライトI/O命令を受け入れて、キャッシュメモリの記憶領域のうちキャッシュページとは別に確保された領域である擬似キャッシュページにデータを書き込む擬似キャッシュページ書込処理と、擬似キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を出力する擬似完了通知処理とを実行させることを特徴とする。
また、上記のキャッシュ管理用プログラムにおいては、擬似キャッシュページに記憶されたデータを、対応するキャッシュページの排他状態がキャッシュページ排他制御処理により解除されるタイミングで当該キャッシュページへ書き込むキャッシュページ書込処理をコンピュータに実行させてもよい。
また、上記のキャッシュ管理用プログラムにおいて、上述した擬似キャッシュページをキャッシュページと同様の固定長区画としてもよい。
また、上記のキャッシュ管理用プログラムにおいては、擬似キャッシュページにデータを書き込むタイミングでこの擬似キャッシュページを当該データに対応するキャッシュページに対応付ける擬似キャッシュページ対応付け処理をコンピュータに実行させてもよい。
また、上記のキャッシュ管理用プログラムにおいて、排他状態のキャッシュページに対して新たにライトI/O命令が競合した場合に、そのキャッシュページに対応付けられた擬似キャッシュページにデータを書き込み当該擬似キャッシュページ内のデータを統合するデータ統合処理をコンピュータに実行させてもよい。
このようなキャッシュ管理用プログラムによれば、キャッシュページの1つに競合し且つキャッシュページ排他制御処理により退けられたライトI/O命令を受け入れて、キャッシュメモリの記憶領域のうちキャッシュページとは別に確保された領域である擬似キャッシュページにデータを書き込み、擬似キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を出力するので、上述したキャッシュメモリ装置と同様に、キャッシュページの排他制御によって生じるライトI/O命令完了応答の遅延を軽減できる。
本発明は以上のように構成され機能するため、これにより、キャッシュページの1つに競合し且つ排他制御により退けられたライトI/O命令を待機させずに受け入れて、キャッシュメモリの記憶領域のうちキャッシュページとは別に確保された領域である擬似キャッシュページにデータを書き込み、この擬似キャッシュページにデータが書き込まれたタイミングでI/O命令の完了通知を出力するので、キャッシュページの排他制御を行うことによって生じるライトI/O命令完了応答の遅延をなくし、常にキャッシュヒットライトの応答性能を保証することができる。
以下、本発明における一実施形態を、図面を参照して説明する。
図1は、本実施形態のキャッシュメモリ装置の構成を示すブロック図である。本実施形態のキャッシュメモリ装置200は、図1に示すように、上位装置であるサーバ100と接続されたストレージ装置400内に搭載され、メインメモリに相当するデスクアレイを搭載したディスクエンクロージャ300とディスクアダプタ402を介して接続しており、ホストアダプタ401を介してサーバ100と接続している。
本実施形態のキャッシュメモリ装置200は、キャッシュメモリ装置200の動作を制御する主制御部230と、サーバ100とディスクエンクロージャ300との間で入出力されるデータを一時格納するキャッシュメモリ240とを備えて構成されている。
キャッシュメモリ240は、固定長のキャッシュページ0〜Nで分割されたキャッシュ領域241を有し、このキャッシュページ0〜Nを管理するためのコントロールデータ240Aを記憶している。そしてさらに、キャッシュメモリ240は、固定長の擬似キャッシュページA〜Jからなる擬似キャッシュ領域242をキャッシュページ0〜Nとは別に有し、この擬似キャッシュページA〜Jを管理するための擬似キャッシュコントロールデータ240Bを記憶している。
主制御部230は、サーバ100からのディスクエンクロージャ300に対するライトI/O命令に従ってキャッシュページ0〜Nのうち対応するページにデータを書き込み非同期で対応する論理ディスクに書き込むためにディスクエンクロージャ300へ転送するキャッシュメモリ管理手段231と、キャッシュページ0〜Nにデータが書き込まれたタイミングでI/O命令の完了通知をサーバ100へ出力する完了通知手段232と、サーバ100からのI/O命令の処理中にこの処理に係るキャッシュページ0〜Nの1つが別のI/O命令によるアクセスを受けないようにキャッシュページ0〜Nを排他制御するキャッシュページ排他制御手段233とを備えている。
キャッシュメモリ管理手段231は、キャッシュページ0〜Nのうちの1つに競合し且つキャッシュページ排他制御手段233により退けられたライトI/O命令を受け入れて擬似キャッシュページA〜Jのいずれかにデータを書き込む機能と、擬似キャッシュページA〜Jの1つにデータを書き込んだタイミングでこの擬似キャッシュページA〜Jの1つを対応するキャッシュページ0〜Nの1つに対応付ける機能と、キャッシュページ0〜Nのうち排他状態のページに対して新たにライトI/O命令が競合した場合にそのページに対応付けられた擬似キャッシュページA〜Jの1つにデータを書き込みこの擬似キャッシュページ内のデータを統合する機能と、擬似キャッシュ領域242の擬似キャッシュページA〜Jの1つに記憶されたデータをその擬似キャッシュページA〜Jの1つに対応付けられたキャッシュページの排他状態がキャッシュページ排他制御手段233により解除されるタイミングでそのキャッシュページへ書き込む機能とを備えている。
また、完了通知手段232は、擬似キャッシュ領域242にデータが書き込まれたタイミングでI/O命令の完了通知を出力する機能を備えている。
キャッシュメモリ240内のキャッシュページ0〜N及び擬似キャッシュページA〜Jは、それぞれが固定長のブロック領域であり、本実施形態では、この固定長を64セクタ(32KB)に設定している。キャッシュメモリ240に記憶されているコントロールデータ240Aは、図2に示すように、キャッシュページ0〜Nそれぞれに対して、関連付けされている論理ディスク番号(LDN),関連付けされている先頭論理セクタアドレス(LSN),書き込まれているデータの格納範囲を示す論理セクタアドレス(Dirty),転送済みデータの格納範囲を示す論理セクタアドレス(Clean),排他状態に設定されているか否かを表す情報(Seize)であり、キャッシュメモリ管理手段231によってキャッシュページ0〜Nのいずれかにデータが記録されるのに同期して該当する項目が書き換えられる。
また、擬似キャッシュコントロールデータ240Bは、図3に示すように、擬似キャッシュページA〜Jそれぞれに対して、関連付けされている論理ディスク番号,関連付けされている先頭論理セクタアドレス,書き込まれているデータの格納範囲を示す論理セクタアドレス,対応しているキャッシュページ番号を対応付けた情報であり、キャッシュメモリ管理手段231によって擬似キャッシュページA〜Jのいずれかにデータが記録されるのに同期して該当する項目が書き換えられることで、その擬似キャッシュページがキャッシュページ0〜Nのいずれかと対応付けられる。また、キャッシュメモリ管理手段231によって擬似キャッシュページA〜Jのいずれかに格納されたデータが対応するキャッシュページに転送されるのに同期して擬似キャッシュコントロールデータ240Bはリセットされる。
ここで、上述した主制御部230、すなわち、キャッシュメモリ管理手段231,完了通知手段232,キャッシュページ排他制御手段233については、その機能内容をプログラム化しコンピュータに実行させるように構成してもよい。
次に、本実施形態の全体の動作について説明する。ここで、キャッシュ管理方法についてもその各ステップを示して同時に説明する。
図4は、本実施形態のキャッシュメモリ装置200の動作を示すフローチャートである。図5〜10は、キャッシュメモリ装置200が管理している論理ディスクに対して、ホストサーバ100から、1セクタずつのライトI/O命令が連続で発行された場合を例にして、本実施形態のキャッシュメモリ装置200の処理動作について示す説明図である。
まず、図5の[手順1]に示すように、ホストサーバ100から、論理ディスク番号4の論理セクタアドレス0×210から1セクタずつのライトI/O命令が連続で発行される。キャッシュメモリ装置200が、このライトI/O命令を入力すると(図4のステップS1のイエス,I/O命令入力ステップ)、図5の[手順2]に示すように、キャッシュメモリ装置200のキャッシュメモリ管理手段231が、コントロールデータ240Aを参照し、論理ディスクの論理セクタアドレス0×200から64セクタに関連付けられているキャッシュページを検索する(図4のステップS2)。
検索した結果、関連付けられたキャッシュページが見つかりそのキャッシュページが他のタスクで使用されていない状態だった場合、もしくは関連付けられたページが無く新たに関連付けたキャッシュページを作成する場合のキャッシュヒットライト可能な場合は(図4のステップS3のノー)、関連付けられたキャッシュページをそのまま取得する。本実施形態においては、キャッシュページ1を取得する。
キャッシュページ1の取得が完了したら、図6の[手順3]に示すように、キャッシュメモリ管理手段231は、サーバ100からのデータをキャッシュページ1へ格納すると共に、コントロールデータ240Aの書き込み範囲アドレスと排他状態情報とを更新する(図4のステップS4)。
そして、図6の[手順4]に示すように、キャッシュメモリ装置200の完了通知手段232が、サーバ100へライト処理完了を通知し(図4のステップS5)、その後、キャッシュページ1に格納されたデータを対応する論理ディスクへ書き込むために、キャッシュメモリ管理手段231がデータをディスクエンクロージャ300へ転送する(図4のステップS6)。
一方で、キャッシュページ0〜Nを検索した結果、関連付けられたキャッシュページ1が見つかり、そのキャッシュページ1を他のタスクが使用中、すなわち、キャッシュページ1が排他状態に設定されていた場合(図4のステップS3のイエス)、従来のディスクアレイ装置では、図7に示すように、キャッシュページ1の解放待ちを行う必要があるが、本実施形態では、ここで解放待ちを行わず、図8の[手順8]に示すように、キャッシュメモリ管理手段231が、擬似キャッシュページA〜Jのうち擬似キャッシュページAを取得する。
擬似キャッシュページA〜Jは、キャッシュページ0〜Nと同様に固定長の領域であり、排他状態にあるキャッシュページ0〜Nの1つが解放されるまで一時的に使用される。図8の[手順9]に示すように、キャッシュメモリ管理手段231が、擬似キャッシュページAへデータを格納し(図4のステップS9,擬似キャッシュページ書込ステップ)、擬似キャッシュページコントロールデータを更新して擬似キャッシュページAにキャッシュページ1を対応付ける(擬似キャッシュページ対応付けステップ)。そして、完了通知手段232がサーバ100へライト処理完了を通知する(図4のステップS10,擬似完了通知ステップ)。これにより、常にキャッシュヒットライト状態の応答性能を保証する。
擬似キャッシュページAのデータはキャッシュページ1の排他状態がキャッシュページ排他制御手段233によって解放されるまで保持される。図9の[手順11]に示すように、キャッシュページ1が解放される前に、さらに競合するライトI/O命令が発行され受信した場合(図4のステップS8のイエス)、キャッシュメモリ管理手段231は、擬似キャッシュページAにデータを書き込み、擬似キャッシュページA内でデータをマージ(統合)する(図4のステップS14,データ統合ステップ)。
そして、図10の[手順13]に示すように、キャッシュページ排他制御手段233によってキャッシュページ1が解放されるタイミングで(図4のステップS11)、キャッシュメモリ管理手段231は、擬似キャッシュページAのデータをキャッシュページ1へ入れ替える(図4のステップS12,キャッシュページ書込ステップ)。そして、キャッシュメモリ管理手段231は、擬似キャッシュページA内のデータをキャッシュページ1へ格納すると、コントロールデータ240Aの書き込み範囲アドレスと排他状態情報とを更新する。その後、キャッシュページ1に格納されたデータを対応する論理ディスクへの書き込むために、キャッシュメモリ管理手段231がデータをディスクエンクロージャ300へ転送する(図4のステップS13)。
本実施形態のキャッシュメモリ装置200は、以上のように構成し動作するので、同一キャッシュページへのI/O命令競合による応答遅延が発生しなくなり、常にキャッシュヒットライトの応答性能を保証することができる。
ここで、本実施形態におけるキャッシュメモリ装置200は、サーバ100からのデータを記憶するストレージ装置400内に搭載されている構成であるが、上位とメインメモリとの間のキャッシュを担う構成であれば、これに限らず、クライアント端末など情報処理端末内に搭載されてもよい。
本発明における一実施形態のキャッシュメモリ装置の構成を示すブロック図である。 図1に開示された実施形態におけるコントロールデータを示す図である。 図1に開示された実施形態における擬似コントロールデータを示す図である。 図1に開示された実施形態のキャッシュメモリ装置の動作を示すフローチャートである。 図1に開示された実施形態の全体動作の一例の一部分を示す説明図である。 図1に開示された実施形態の全体動作の一例の一部分を示す説明図である。 図1に開示された実施形態の全体動作の一例の一部分を示す説明図である。 図1に開示された実施形態の全体動作の一例の一部分を示す説明図である。 図1に開示された実施形態の全体動作の一例の一部分を示す説明図である。 図1に開示された実施形態の全体動作の一例の一部分を示す説明図である。 従来のストレージ装置を示すブロック図である。
符号の説明
0〜N キャッシュページ
100 サーバ
110 ホストバスアダプタ
200 キャッシュメモリ装置
230 主制御部
231 キャッシュメモリ管理手段
232 完了通知手段
233 キャッシュページ排他制御手段
240 キャッシュメモリ
240A コントロールデータ
240B 擬似キャッシュコントロールデータ
241 キャッシュ領域
242 擬似キャッシュ領域
300 ディスクエンクロージャ
400 ストレージ装置
401 ホストアダプタ
402 ディスクアダプタ
A〜J 擬似キャッシュページ

Claims (15)

  1. 上位装置とメインメモリとの間で入出力されるデータを一時格納するキャッシュメモリを備え、このキャッシュメモリが幾つかのキャッシュページで分割されたキャッシュ領域を有したキャッシュメモリ装置において、
    前記キャッシュメモリが前記上位装置からの前記メインメモリに対するライトI/O命令に従って前記データを対応するキャッシュページに書き込み非同期で前記メインメモリに転送するキャッシュメモリ管理手段と、前記キャッシュページに前記データが書き込まれたタイミングで前記I/O命令の完了通知を前記上位装置へ出力する完了通知手段と、前記上位装置からのI/O命令の処理中にこの処理に係るキャッシュページが別のI/O命令によるアクセスを受けないように前記キャッシュページを排他制御するキャッシュページ排他制御手段とを備え、
    前記キャッシュメモリが前記キャッシュ領域とは別の記憶領域である擬似キャッシュページを有し、前記キャッシュメモリ管理手段が、前記キャッシュページの1つに競合し且つ前記キャッシュページ排他制御手段により退けられたライトI/O命令を受け入れて前記擬似キャッシュページにデータを書き込む機能を備え、前記完了通知手段が、前記擬似キャッシュページに前記データが書き込まれたタイミングで前記I/O命令の完了通知を出力する機能を備えたことを特徴とするキャッシュメモリ装置。
  2. 前記請求項1に記載のキャッシュメモリ装置において、
    前記キャッシュメモリ管理手段が、前記擬似キャッシュページに記憶されたデータを、対応するキャッシュページの排他状態が前記キャッシュページ排他制御手段により解除されたタイミングで当該キャッシュページへ書き込む機能を備えたことを特徴とするキャッシュメモリ装置。
  3. 前記請求項1又は2に記載のキャッシュメモリ装置において、
    前記擬似キャッシュページが前記キャッシュページと同様の固定長区画であることを特徴とするキャッシュメモリ装置。
  4. 前記請求項1乃至3のいずれか一項に記載のキャッシュメモリ装置において、
    前記キャッシュメモリ管理手段が、前記擬似キャッシュページに前記データを書き込むタイミングでこの擬似キャッシュページを当該データにかかるキャッシュページに対応付ける機能を有したことを特徴とするキャッシュメモリ装置。
  5. 前記請求項1乃至4のいずれか一項に記載のキャッシュメモリ装置において、
    前記キャッシュメモリ管理手段が、前記排他状態のキャッシュページに対してさらにライトI/O命令が競合した場合にそのキャッシュページに対応付けられた擬似キャッシュページにデータを書き込み当該擬似キャッシュページ内のデータを統合する機能を備えたことを特徴とするキャッシュメモリ装置。
  6. 上位装置とメインメモリとの間で入出力されるデータを一時格納するキャッシュメモリを備え、このキャッシュメモリが幾つかのキャッシュページで分割されたキャッシュ領域を有したキャッシュメモリ装置にあって、前記上位装置からのI/O命令の処理中にこの処理に係るキャッシュページが別のI/O命令によるアクセスを受けないように前記キャッシュページを排他制御するキャッシュ管理方法において、
    前記上位装置からの前記メインメモリに対するライトI/O命令を入力するライトI/O入力ステップと、
    このライトI/O命令が指定するキャッシュページが排他状態に設定されている場合に、前記キャッシュメモリの記憶領域のうち前記キャッシュページとは別に確保された領域である擬似キャッシュページに前記ライトI/O命令に係るデータを書き込む擬似キャッシュページ書込ステップと、
    前記擬似キャッシュページに前記データが書き込まれたタイミングで前記I/O命令の完了通知を前記上位装置へ出力する擬似完了通知ステップを設けたことを特徴とするキャッシュ管理方法。
  7. 前記請求項6に記載のキャッシュ管理方法において、
    前記擬似完了通知ステップ後に、前記擬似キャッシュページに記憶されたデータを、対応するキャッシュページの排他状態が解除されたタイミングで当該キャッシュページへ書き込むキャッシュページ書込ステップを設けたことを特徴とするキャッシュ管理方法。
  8. 前記請求項6又は7に記載のキャッシュ管理方法において、
    前記擬似キャッシュページが前記キャッシュページと同様の固定長区画であることを特徴とするキャッシュ管理方法。
  9. 前記請求項6乃至8のいずれか一項に記載のキャッシュ管理方法において、
    前記擬似キャッシュページに前記データを書き込むタイミングでこの擬似キャッシュページを当該データにかかるキャッシュページに対応付ける擬似キャッシュページ対応付けステップを設けたことを特徴とするキャッシュ管理方法。
  10. 前記請求項6乃至9のいずれか一項に記載のキャッシュ管理方法において、
    前記排他状態のキャッシュページに対してさらにライトI/O命令が競合した場合には、そのキャッシュページに対応付けられた擬似キャッシュページにデータを書き込み当該擬似キャッシュページ内のデータを統合するデータ統合ステップを設けたことを特徴とするキャッシュ管理方法。
  11. 上位装置とメインメモリとの間で入出力されるデータを一時格納するキャッシュメモリを備え、このキャッシュメモリが幾つかのキャッシュページで分割されたキャッシュ領域を有したキャッシュメモリ装置の動作を制御するコンピュータに、
    前記上位装置からの前記メインメモリに対するライトI/O命令を入力するI/O命令入力処理と、このライトI/O命令に従って前記データを対応するキャッシュページに書き込むデータ書込処理と、前記キャッシュページに前記データが書き込まれたタイミングで前記I/O命令の完了通知を前記上位装置へ出力する完了通知処理と、このキャッシュページに記憶されたデータを非同期で前記メインメモリに転送するデータ転送処理と、前記上位装置からのI/O命令の処理中にこの処理に係るキャッシュページが別のI/O命令によるアクセスを受けないように前記キャッシュページを排他制御するキャッシュページ排他制御処理とを実行させると共に、
    前記キャッシュページの1つに競合し且つ前記キャッシュページ排他制御処理により退けられたライトI/O命令を受け入れて、前記キャッシュメモリの記憶領域のうち前記キャッシュページとは別に確保された領域である擬似キャッシュページにデータを書き込む擬似キャッシュページ書込処理と、前記擬似キャッシュページに前記データが書き込まれたタイミングで前記I/O命令の完了通知を出力する擬似完了通知処理とを実行させることを特徴とするキャッシュ管理用プログラム。
  12. 前記請求項11に記載のキャッシュ管理用プログラムにおいて、
    前記擬似キャッシュページに記憶されたデータを、対応するキャッシュページの排他状態が前記キャッスページ排他制御処理により解除されたタイミングで当該キャッシュページへ書き込むキャッシュページ書込処理を前記コンピュータに実行させることを特徴とするキャッシュ管理用プログラム。
  13. 前記請求項10又は12に記載のキャッシュ管理用プログラムにおいて、
    前記擬似キャッシュページを前記キャッシュページと同様の固定長区画とすることを特徴とするキャッシュ管理用プログラム。
  14. 前記請求項10乃至13のいずれか一項に記載のキャッシュ管理用プログラムにおいて、
    前記擬似キャッシュページに前記データを書き込むタイミングでこの擬似キャッシュページを当該データにかかるキャッシュページに対応付ける擬似キャッシュページ対応付け処理を前記コンピュータに実行させることを特徴とするキャッシュ管理用プログラム。
  15. 前記請求項10乃至14のいずれか一項に記載のキャッシュ管理用プログラムにおいて、
    前記排他状態のキャッシュページに対してさらにライトI/O命令が競合した場合に、そのキャッシュページに対応付けられた擬似キャッシュページにデータを書き込み当該擬似キャッシュページ内のデータを統合するデータ統合処理を前記コンピュータに実行させることを特徴とするキャッシュ管理用プログラム。
JP2007076247A 2007-03-23 2007-03-23 キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム Expired - Fee Related JP4770766B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007076247A JP4770766B2 (ja) 2007-03-23 2007-03-23 キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007076247A JP4770766B2 (ja) 2007-03-23 2007-03-23 キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム

Publications (2)

Publication Number Publication Date
JP2008234532A true JP2008234532A (ja) 2008-10-02
JP4770766B2 JP4770766B2 (ja) 2011-09-14

Family

ID=39907199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007076247A Expired - Fee Related JP4770766B2 (ja) 2007-03-23 2007-03-23 キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム

Country Status (1)

Country Link
JP (1) JP4770766B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165280A (ja) * 2009-01-19 2010-07-29 Nec Corp 補助記憶装置
JP2012168722A (ja) * 2011-02-14 2012-09-06 Toshiba Corp 調停装置、記憶装置、情報処理装置およびプログラム
JP2015026263A (ja) * 2013-07-26 2015-02-05 株式会社日立製作所 計算機システム、キャッシュ管理方法、及び計算機

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275111A (ja) * 1997-03-27 1998-10-13 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びその制御方法
JP2004326162A (ja) * 2003-04-21 2004-11-18 Internatl Business Mach Corp <Ibm> ネットワークシステム、サーバ、データ処理方法及びプログラム
JP2006065402A (ja) * 2004-08-24 2006-03-09 Fujitsu Ltd アクセス制御方法、ディスク制御装置及び記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275111A (ja) * 1997-03-27 1998-10-13 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びその制御方法
JP2004326162A (ja) * 2003-04-21 2004-11-18 Internatl Business Mach Corp <Ibm> ネットワークシステム、サーバ、データ処理方法及びプログラム
JP2006065402A (ja) * 2004-08-24 2006-03-09 Fujitsu Ltd アクセス制御方法、ディスク制御装置及び記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165280A (ja) * 2009-01-19 2010-07-29 Nec Corp 補助記憶装置
JP2012168722A (ja) * 2011-02-14 2012-09-06 Toshiba Corp 調停装置、記憶装置、情報処理装置およびプログラム
JP2015026263A (ja) * 2013-07-26 2015-02-05 株式会社日立製作所 計算機システム、キャッシュ管理方法、及び計算機

Also Published As

Publication number Publication date
JP4770766B2 (ja) 2011-09-14

Similar Documents

Publication Publication Date Title
US4466059A (en) Method and apparatus for limiting data occupancy in a cache
JP5536658B2 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
US9053019B2 (en) Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices
US9069474B2 (en) Retention based defecting in a hybrid memory system
KR20100132244A (ko) 메모리 시스템 및 메모리 시스템 관리 방법
JP2006277737A (ja) アドレス予測機能をもつ不揮発性記憶装置
JP3236287B2 (ja) マルチプロセッサシステム
JPH06259197A (ja) アレイ型ディスクシステムの制御方式
US7149922B2 (en) Storage system
JP4892812B2 (ja) キャッシュ制御およびデータ処理システム並びにその処理プログラム
JP4770766B2 (ja) キャッシュメモリ装置及びそのキャッシュ管理方法,キャッシュ管理用プログラム
JP2007102436A (ja) ストレージ制御装置およびストレージ制御方法
JPH0115903B2 (ja)
JP2012123551A (ja) 情報記憶装置
JP4506292B2 (ja) キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
JP2000285022A (ja) ディスク制御装置
JP4579998B2 (ja) リストア管理プログラム、リストア管理方法およびリストア管理装置
JP2010146056A (ja) データ記憶装置、及び、その故障回復方法
JP2854667B2 (ja) ディスク・キャッシュ制御方式
JP5228935B2 (ja) 補助記憶装置
JP4750620B2 (ja) 階層型ストレージ装置のデータリード方法及びシステム
JP2776388B2 (ja) 記憶制御方法及び記憶装置
JP2003263276A (ja) ディスクシステムおよびディスクアクセス方法
JPH02161514A (ja) 空き記憶ブロックの管理処理方式
JPH04291642A (ja) キャッシュ制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110606

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4770766

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees