JP3759048B2 - ディスクアレイ装置のディスクキャッシュ管理方法 - Google Patents

ディスクアレイ装置のディスクキャッシュ管理方法 Download PDF

Info

Publication number
JP3759048B2
JP3759048B2 JP2002026380A JP2002026380A JP3759048B2 JP 3759048 B2 JP3759048 B2 JP 3759048B2 JP 2002026380 A JP2002026380 A JP 2002026380A JP 2002026380 A JP2002026380 A JP 2002026380A JP 3759048 B2 JP3759048 B2 JP 3759048B2
Authority
JP
Japan
Prior art keywords
management information
local
cache page
information entry
shared
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.)
Expired - Fee Related
Application number
JP2002026380A
Other languages
English (en)
Other versions
JP2003228461A (ja
Inventor
篤史 桑田
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 JP2002026380A priority Critical patent/JP3759048B2/ja
Priority to US10/356,514 priority patent/US7032068B2/en
Publication of JP2003228461A publication Critical patent/JP2003228461A/ja
Application granted granted Critical
Publication of JP3759048B2 publication Critical patent/JP3759048B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明が属する技術分野】
本発明はディスクアレイ装置のディスクキャッシュ管理方法に関し、特に複数のホストディレクタ(ホストアダプタともいう)およびこれらホストディレクタから共有されディスクキャッシュの役目をするメモリ(以下、共有メモリという)を搭載するディスクアレイ装置のディスクキャッシュ管理方法に関する。
【0002】
【従来の技術】
複数のホストディレクタを搭載したディスクアレイ装置では、一般的に大容量の共有メモリを搭載し、これをディスクキャッシュとして使用する。ホストコンピュータ(以下、単にホストという)からリードコマンドを受領したとき、キャッシュヒットすれば、物理ディスクの機械的動作なしにホストにデータを転送ことができるので高速レスポンスが可能となる。また、ライトコマンドを受領したときも、ディスクキャッシュにデータを書き込んだ時点でライトコマンドを終了させ、そのデータを後で物理ディスクに書き込むことにより、やはり高速レスポンスが可能となる。
【0003】
【発明が解決しようとする課題】
しかしながら、上述した従来の技術では、高速レスポンスが可能であるといっても、それは物理ディスクの機械的動作と比較してのことであって、ホストのアプリケーションの負荷によってはさらに高速なレスポンスを望む場合も考えられる。
【0004】
キャッシュヒット時のレスポンス時間のうち、複数のホストディレクタおよび共有メモリを搭載したディスクアレイ装置特有の要素として、キャッシュページの排他処理時間が挙げられる。ホストからのリード/ライトコマンドを受領すると、ホストディレクタは、データ送受信に先立ってキャッシュページのオープン処理を行う。これは、データ送受信中に、当該キャッシュページを排他制御し、別のホストディレクタや当該ホストディレクタの別のタスク処理が、同一のキャッシュページにアクセスしたり、使用中のキャッシュページを追い出し処理したりするのを防ぐための処理である。逆に、データ転送が完了した後には、別のホストディレクタや当該ホストディレクタの別のタスク処理がアクセスできるように、また当該キャッシュページをLRU(Least Recently Used)制御の対象とするためにキャッシュページのクローズ処理を行う必要がある。
【0005】
キャッシュページのオープン処理およびクローズ処理は、共有メモリ上のキャッシュ管理情報を更新することによって行うが、共有メモリへのアクセス時間はディスクアレイ装置が大規模化しホストディレクタの数や共有メモリの容量が増加するたびにハードウェア的に必然的に延びざるを得ない一方で、ポート性能やディレクタ性能などが急速に向上していくので、それに比べて相対的に性能ネックとなりつつある。その結果、キャッシュヒット時のコマンド処理においてキャッシュページのオープン処理およびクローズ処理にかかる時間が無視できないほど大きくなってきている。
【0006】
本発明の目的は、キャッシュページのオープン処理およびクローズ処理に伴う共有メモリへのアクセス回数を省くことによって、性能ネックを解消しキャッシュページのアクセスレスポンス性能を大幅に向上させるようにしたディスクアレイ装置のディスクキャッシュ管理方法を提供することにある。
【0007】
なお、先行技術文献として、特開2000−267815がある。この公報に開示された「ディスクアレイ制御装置」は、ホストコンピュータ/ディスク装置との複数のインタフェース部と、各インタフェース部とそれぞれアクセスパスにより1対1に接続される2重化された共有メモリ部と、複数のインタフェース部に接続されるセレクタと、セレクタに接続されるキャッシュメモリとを設け、複数のインタフェース部とセレクタとの間のアクセスパスの本数をキャッシュメモリとセレクタとの間のアクセスパスの本数よりも多くし、複数のインタフェース部のプロセッサが、2重化された共有メモリ部に2重ライトを行うものである。しかし、この先行技術は、ローカルメモリにローカル検索テーブル,ローカル管理情報エントリ等をもたない点で、本発明と構成および作用が根本的に異なっている。
【0008】
【課題を解決するための手段】
本発明のディスクアレイ装置のディスクキャッシュ管理方法は、複数のホストディレクタと、これらホストディレクタから共有されディスクキャッシュの役目をする共有メモリとを搭載するディスクアレイ装置のディスクキャッシュ管理方法において、各ホストディレクタにローカルメモリを搭載し、各ローカルメモリに前記共有メモリ上の定常オープン状態のキャッシュページを使用中フラグおよび前記各ホストディレクタを識別する識別子に基づいて管理するローカルキャッシュ管理領域を設け、前記共有メモリ上のキャッシュページをオープン処理して使用し終わった後に前記ローカルキャッシュ管理領域上だけで当該キャッシュページの使用中の解除を行い、前記共有メモリ上では当該キャッシュページをクローズ処理せずにオープンしたままの定常オープン状態としておき、自ホストディレクタから前記共有メモリ上の定常オープン状態の当該キャッシュページへのアクセスが連続してあった場合に当該キャッシュページのオープン処理およびクローズ処理を省略することで、レスポンス性能を向上させることを特徴とする。
【0009】
また、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、複数のホストディレクタと、これらホストディレクタから共有されキャッシュページ領域およびキャッシュ管理領域を備える共有メモリとを搭載するディスクアレイ装置のディスクキャッシュ管理方法において、各ホストディレクタにローカルメモリを搭載し、各ローカルメモリに前記共有メモリ上の定常オープン状態のキャッシュページを管理するローカルキャッシュ管理領域を設け、ホストからのリード/ライトコマンドを受領したときに、当該キャッシュページが使用中でない場合には前記キャッシュ管理領域上の共有管理情報エントリで当該キャッシュページを使用中に設定するとともに前記ローカルキャッシュ管理領域上のローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが他のホストディレクタで使用中である場合には当該共有管理情報エントリの待ちキューに自ホストディレクタ識別子を蓄積し他のホストディレクタに当該キャッシュページのクローズ要求を送信した後に当該共有管理情報エントリで当該キャッシュページを使用中に設定するとともに当該ローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが自ホストディレクタで使用中である場合には当該共有管理情報エントリでの当該キャッシュページの使用中設定処理を省略して当該ローカル管理情報エントリで当該キャッシュページを使用中に設定するキャッシュページのオープン処理と、当該キャッシュページを使用し終わった後に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックし、競合がある場合には当該共有管理情報エントリでの当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除し、競合がない場合には当該共通管理情報エントリで当該キャッシュページの使用中を解除せずに当該ローカル管理情報エントリで当該キャッシュページの使用中を解除して当該キャッシュページをオープンしたままの定常オープン状態とするキャッシュページのクローズ処理と、他のホストディレクタから当該キャッシュページのクローズ要求を受信したときに当該キャッシュページが使用中でない場合には当該共有管理情報エントリで当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除するクローズ要求受信処理とを含むことを特徴とする。
【0010】
さらに、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、物理ディスクアレイと、1つ以上のディスクディレクタと、複数のホストディレクタと、これらディスクディレクタおよびホストディレクタから共有される共有メモリとを備え、前記共有メモリ上のキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応している共有管理情報エントリと、全共有管理情報エントリ中のキャッシュページに割り当てられている共有管理情報エントリをアドレスで検索可能にするようにリンクを形成する共有検索テーブルと、全共有管理情報エントリの中でキャッシュページに割り当てられているが使用中でない共有管理情報エントリを双方向にリンクする共有割り当てリンクを形成する起点となる共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタと、全共有管理情報エントリの中でキャッシュページに割り当てられていない共有管理情報エントリを双方向にリンクする共有未割り当てリンクを形成する起点となる共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタとが設けられているディスクアレイ装置のディスクキャッシュ管理方法において、各ホストディレクタにローカルメモリを搭載し、各ローカルメモリ上のローカルキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応しているローカル管理情報エントリと、全ローカル管理情報エントリ中のキャッシュページに割り当てられているローカル管理情報エントリをアドレスで検索可能にするようにリンクを形成するローカル検索テーブルと、全ローカル管理情報エントリの中でキャッシュページに割り当てられているが使用中でないローカル管理情報エントリを双方向にリンクするローカル割り当てリンクを形成する起点となるローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタと、全ローカル管理情報エントリの中でキャッシュページに割り当てられていないローカル管理情報エントリを双方向にリンクするローカル未割り当てリンクを形成する起点となるローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタとを設け、ホストからリード/ライトコマンドを受領したときに当該アドレスに対応する当該キャッシュページに共有管理情報エントリが割り当てられているかどうかを共有検索テーブルから検索する工程と、共有管理情報エントリが割り当てられていなかった場合に当該キャッシュページに共有管理情報エントリを割り当て、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、共有管理情報エントリが割り当てられていた場合に当該共有管理情報エントリで当該キャッシュページが使用中かどうかをチェックする工程と、当該キャッシュページが使用中でない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが他のホストディレクタで使用中である場合に、当該共有管理情報エントリの待ちキューに蓄積し、他のホストディレクタに当該キャッシュページのクローズを要求し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが自ホストディレクタで使用中である場合に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がある場合に当該共有管理情報エントリの待ちキューに蓄積し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用の競合をチェックする工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がある場合に当該ローカル管理情報エントリの待ちキューに蓄積し、当該ローカル管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定することなしに当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程とを含むキャッシュページのオープン処理と、ホストからのリード/ライトコマンド処理においてホスト,キャッシュページ領域間のデータ転送を完了したときに当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、使用の競合がある場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程と、使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用中を解除する工程とを含むキャッシュページのクローズ処理と、他のホストディレクタからキャッシュページのクローズ要求を受信したときに前記ローカル検索テーブルから当該ローカル管理情報エントリを検索する工程と、当該ローカル管理情報エントリが検索された場合に当該ローカル管理情報エントリで当該キャッシュページの使用中をチェックする工程と、当該キャッシュページが使用中でなかった場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程とを含むクローズ要求受信処理とからなること特徴とする。
【0011】
さらにまた、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、前記ローカルキャッシュ管理領域に、前記ローカル割り当てリンクにリンクされたローカル管理情報エントリの数をカウントするローカル割り当てリンクカウンタを設け、前記キャッシュページのクローズ処理において、前記ローカル割り当てリンクカウンタのカウント値が、前記共有管理情報エントリで使用中に設定され前記ローカル管理情報エントリで使用中を解除された定常オープン状態のキャッシュページの最大ページ数を超えた場合に、前記ローカル割り当てリンクから当該ローカル管理情報エントリをLRU制御で追い出して前記ローカル割り当てリンクにリンクインし、当該共有管理情報で当該キャッシュページの使用中を解除する工程を含むことを特徴とする。
【0012】
また、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、前記定常オープン状態のキャッシュページの最大ページ数が、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それを搭載されているホストディレクタの数で分割して決定することを特徴とする。
【0013】
さらに、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、前記定常オープン状態のキャッシュページの最大ページ数が、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それに全アクセス頻度に対する自ホストディレクタのアクセス頻度の割合をかけた値であることを特徴とする。
【0014】
さらにまた、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、前記定常オープン状態のキャッシュページの最大ページ数が、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それに全アクセス頻度に対する自ホストディレクタのアクセス頻度の割合をかけた値に、さらに優先度の重みをかけた値であることを特徴とする。
【0015】
また、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、前記共有管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、共有検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタまたは共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタを起点とする双方向リンクである共有割り当てリンクまたは共有未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびホストディレクタ識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他のホストディレクタのホストディレクタ識別子を蓄積する待ちキューとを含んでいることを特徴とする。
【0016】
また、本発明のディスクアレイ装置のディスクキャッシュ管理方法は、前記ローカル管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、当該キャッシュページのページ識別子と、ローカル検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、ローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタまたはローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタを起点とする双方向リンクであるローカル割り当てリンクまたはローカル未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびタスク識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他の処理タスクのタスク識別子を蓄積する待ちキューとを含んでいることを特徴とする。
【0017】
一方、本発明のディスクアレイ装置は、複数のホストディレクタと、これらホストディレクタから共有されディスクキャッシュの役目をする共有メモリとを搭載するディスクアレイ装置において、各ホストディレクタが、ホストと接続されるポートと、該ポートを介して前記ホストに接続されるとともにバスを介して前記共有メモリに接続されるコントローラと、該コントローラに接続され前記共有メモリ上の定常オープン状態のキャッシュページを使用中フラグおよび前記各ホストディレクタを識別する識別子に基づいて管理するローカルキャッシュ管理領域が設けられたローカルメモリとを備えることを特徴とする。
【0018】
また、本発明のディスクアレイ装置は、物理ディスクアレイと、1つ以上のディスクディレクタと、複数のホストディレクタと、これらディスクディレクタおよびホストディレクタから共有される共有メモリとを備え、前記共有メモリ上のキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応している共有管理情報エントリと、全共有管理情報エントリ中のキャッシュページに割り当てられている共有管理情報エントリをアドレスで検索可能にするようにリンクを形成する共有検索テーブルと、全共有管理情報エントリの中でキャッシュページに割り当てられているが使用中でない共有管理情報エントリを双方向にリンクする共有割り当てリンクを形成する起点となる共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタと、全共有管理情報エントリの中でキャッシュページに割り当てられていない共有管理情報エントリを双方向にリンクする共有未割り当てリンクを形成する起点となる共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタとが設けられているディスクアレイ装置において、各ホストディレクタにローカルメモリを搭載し、前記ローカルメモリ上のローカルキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応しているローカル管理情報エントリと、全ローカル管理情報エントリ中のキャッシュページに割り当てられているローカル管理情報エントリをアドレスで検索可能にするようにリンクを形成するローカル検索テーブルと、全ローカル管理情報エントリの中でキャッシュページに割り当てられているが使用中でないローカル管理情報エントリを双方向にリンクするローカル割り当てリンクを形成する起点となるローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタと、全ローカル管理情報エントリの中でキャッシュページに割り当てられていないローカル管理情報エントリを双方向にリンクするローカル未割り当てリンクを形成する起点となるローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタとを設けたことを特徴とする。
【0019】
さらに、本発明のディスクアレイ装置は、前記共有管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、共有検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタまたは共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタを起点とする双方向リンクである共有割り当てリンクまたは共有未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびホストディレクタ識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他のホストディレクタのホストディレクタ識別子を蓄積する待ちキューとを含んでいることを特徴とする。
【0020】
さらにまた、本発明のディスクアレイ装置は、前記ローカル管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、当該キャッシュページのページ識別子と、ローカル検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、ローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタまたはローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタを起点とする双方向リンクであるローカル割り当てリンクまたはローカル未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびタスク識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他の処理タスクのタスク識別子を蓄積する待ちキューとを含んでいることを特徴とする。
【0021】
他方、本発明のプログラムは、コンピュータに、ホストからのリード/ライトコマンドを受領したときに、当該キャッシュページが使用中でない場合には前記キャッシュ管理領域上の共有管理情報エントリで当該キャッシュページを使用中に設定するとともに前記ローカルキャッシュ管理領域上のローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが他のホストディレクタで使用中である場合には当該共有管理情報エントリの待ちキューに自ホストディレクタ識別子を蓄積し他のホストディレクタに当該キャッシュページのクローズ要求を送信した後に当該共有管理情報エントリで当該キャッシュページを使用中に設定するとともに当該ローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが自ホストディレクタで使用中である場合には当該共有管理情報エントリでの当該キャッシュページの使用中設定処理を省略して当該ローカル管理情報エントリで当該キャッシュページを使用中に設定するキャッシュページのオープン処理と、当該キャッシュページを使用し終わった後に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックし、競合がある場合には当該共有管理情報エントリでの当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除し、競合がない場合には当該共通管理情報エントリで当該キャッシュページの使用中を解除せずに当該ローカル管理情報エントリで当該キャッシュページの使用中を解除して当該キャッシュページをオープンしたままの定常オープン状態とするキャッシュページのクローズ処理と、他のホストディレクタから当該キャッシュページのクローズ要求を受信したときに当該キャッシュページが使用中でない場合には当該共有管理情報エントリで当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除するクローズ要求受信処理とを実行させることを特徴とする。
【0022】
また、本発明のプログラムは、コンピュータに、ホストからリード/ライトコマンドを受領したときに当該アドレスに対応する当該キャッシュページに共有管理情報エントリが割り当てられているかどうかを共有検索テーブルから検索する工程と、共有管理情報エントリが割り当てられていなかった場合に当該キャッシュページに共有管理情報エントリを割り当て、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、共有管理情報エントリが割り当てられていた場合に当該共有管理情報エントリで当該キャッシュページが使用中かどうかをチェックする工程と、当該キャッシュページが使用中でない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが他のホストディレクタで使用中である場合に、当該共有管理情報エントリの待ちキューに蓄積し、他のホストディレクタに当該キャッシュページのクローズを要求し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが自ホストディレクタで使用中である場合に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がある場合に当該共有管理情報エントリの待ちキューに蓄積し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用の競合をチェックする工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がある場合に当該ローカル管理情報エントリの待ちキューに蓄積し、当該ローカル管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定することなしに当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程とを含むキャッシュページのオープン処理と、ホストからのリード/ライトコマンド処理においてホスト,キャッシュページ領域間のデータ転送を完了したときに当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、使用の競合がある場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程と、使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用中を解除する工程とを含むキャッシュページのクローズ処理と、他のホストディレクタからキャッシュページのクローズ要求を受信したときに前記ローカル検索テーブルから当該ローカル管理情報エントリを検索する工程と、当該ローカル管理情報エントリが検索された場合に当該ローカル管理情報エントリで当該キャッシュページの使用中をチェックする工程と、当該キャッシュページが使用中でなかった場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程とを含むクローズ要求受信処理とを実行させることを特徴とする。
【0023】
本発明のディスクアレイ装置のディスクキャッシュ管理方法では、キャッシュページをオープン処理して使用し終わったデータ転送終了後でも当該キャッシュページをクローズ処理せずにオープンしたままの定常オープン状態としておき、次に同一のホストディレクタから当該キャッシュページへのアクセスがあった場合に当該キャッシュページがすでにオープンされているので、当該キャッシュページのオープン処理を省略できるようにする。これにより、アクセス時間の比較的長い共有メモリ上のキャッシュページのクローズ処理およびオープン処理が1回ずつ省略され、平均レスポンス時間が短縮される。
【0024】
上記を実現するために、各ホストディレクタがアクセス時間の短いローカルメモリ上に、定常オープン状態のキャッシュページを管理するローカルキャッシュ管理領域を持つ必要がある。ローカルキャッシュ管理領域は、定常オープン状態のキャッシュページに対応する十分な量のローカル管理情報エントリを持ち、これらローカル管理情報エントリがローカル割り当てリンクを形成できることが必要である。ホストディレクタは、ローカルキャッシュ管理領域を用いて定常オープン状態のキャッシュページのLRU管理を行う。すなわち、定常オープン状態のキャッシュページを新しく追加するときに、当該ホストディレクタによる定常オープン状態のキャッシュページのうち、アクセス履歴のもっとも古いキャッシュページを定常オープン状態から追い出していくことにより、定常オープン状態のキャッシュページを最大ページ数までに制限する。また、定常オープン状態のキャッシュページを他のホストディレクタが使いたいときのために、キャッシュページのクローズ要求を通信する手順が必要となる。定常オープン状態のキャッシュページの最大ページ数は、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それを搭載されているホストディレクタの数で分割して決定する必要がある。
【0025】
上記の構成により、ホストディレクタは、キャッシュページの使用後に、共有メモリ上の状態としては当該キャッシュページをクローズ処理せず、ローカルメモリ上のローカルキャッシュ管理領域でキャッシュメモリ上の当該キャッシュページの定常オープン状態を管理する。逆に、定常オープン状態のキャッシュページを使用するときには、共有メモリ上の状態としてはすでにオープンしているので共有メモリ上の状態は変更せず、ローカルメモリ上の状態だけの管理で、キャッシュページのオープン処理を完了する。また、定常オープン状態のキャッシュページの数が最大ページ数に収まるように、そして、定常オープン状態のキャッシュページのヒット率をより高くするために、定常オープン状態のキャッシュページのLRU制御を行う。これらの制御による結果、キャッシュヒット時の処理における共有メモリへのアクセス回数が削減されるため、平均レスポンス時間が短縮され、性能が向上する。
【0026】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0027】
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。このディスクアレイ装置は、複数(図示は3つ)のホスト11a,11b,11cがチャネル16a,16b,16cをそれぞれ介して接続された複数(図示は3つ)のホストディレクタ12a,12b,12cと、ホストディレクタ12a,12b,12cにバス17を介して接続された複数(図示は2つ)のディスクディレクタ13a,13bと、ディスクディレクタ13a,13bに接続された物理ディスクアレイ14と、バス17を介してホストディレクタ12a,12b,12cおよびディスクディレクタ13a,13bに接続された共有メモリ15とから、その主要部が構成されている。
【0028】
各ホストディレクタ12a,12b,12cは、ポート121a,121b,121cと、コントローラ122a,122b,122cと、ローカルメモリ123a,123b,123cとを含んで構成されている。
【0029】
ポート121a,121b,121cは、チャネル16a,16b,16cを介してホスト11a,11b,11cにそれぞれ接続されている。
【0030】
コントローラ122a,122b,122cは、マイクロコンピュータ,プログラムROM(Read Only Memory)等を内蔵して並列に処理を行うことができ、ポート121a,121b,121cおよびローカルメモリ123a,123b,123cに接続されているとともに、バス17を介して共有メモリ15に接続されている。このため、コントローラ122a,122b,122cは、ローカルメモリ123a,123b,123cを高速にアクセスすることができるとともに、共有メモリ15にバス17を介してアクセスすることができる。
【0031】
ローカルメモリ123a,123b,123cは、コントローラ122a,122b,122cにそれぞれ接続されている。
【0032】
共有メモリ15は、キャッシュページとしてデータを保持するキャッシュページ領域152と、キャッシュページ領域152上のキャッシュページを管理するためのキャッシュ管理領域151とを持つ。共有メモリ15は、すべてのホストディレクタ12a,12b,12cからアクセスすることができる一方で、ローカルメモリ123a,123b,123cに比べると必然的にアクセス速度が遅い。
【0033】
チャネル16a,16b,16cは、たとえば、SCSI(Small Computer System Interface),ファイバチャネル等で形成されている。
【0034】
バス17は、クロスバースイッチ,ファイバチャネル等で形成されている。
【0035】
図2は、共有メモリ15上のキャッシュ管理領域151の内容をより詳細に示す図である。キャッシュ管理領域151には、共有メモリ15上のキャッシュページ領域152にキャッシュインされるキャッシュページに1対1で対応している共有管理情報エントリ261〜269と、共有管理情報エントリ261〜269中の実際にキャッシュページに割り当てられている共有管理情報エントリ261〜266をアドレスで検索可能にするようにリンクを形成する共有検索テーブル21と、共有管理情報エントリ261〜269の中でキャッシュページに割り当てられているが使用中でない共有管理情報エントリ261〜265を双方向にリンクする共有割り当てリンク[22,…,23]を形成する起点となる共有割り当てリンクMRU(Most Recently Used)ポインタ22および共有割り当てリンクLRUポインタ23と、共有管理情報エントリ261〜269の中でキャッシュページに割り当てられていない共有管理情報エントリ267〜269を双方向にリンクする共有未割り当てリンク[24,…,25]を形成する起点となる共有未割り当てリンクMRUポインタ24および共有未割り当てリンクLRUポインタ25とが設けられている。
【0036】
各共有管理情報エントリ261〜269は、キャッシュページに物理ディスクアレイ14上のどのデータが割り当てられているかを示す割り当てアドレスと、共有検索テーブル21とリンクを張る順方向ポインタおよび逆方向ポインタと、共有割り当てリンクMRUポインタ22および共有割り当てリンクLRUポインタ23を起点とする双方向リンクである共有割り当てリンク[22,…,23]または共有未割り当てリンクMRUポインタ24および共有未割り当てリンクLRUポインタ25を起点とする双方向リンクである共有未割り当てリンク[24,…,25]を形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびホストディレクタ識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他のホストディレクタのホストディレクタ識別子を蓄積する待ちキューとを含んでいる。
【0037】
共有管理情報エントリ261〜269の中でキャッシュページに割り当てられているが使用中でない共有管理情報エントリ261〜265は、共有割り当てリンクMRUポインタ22および共有割り当てリンクLRUポインタ23を起点とする双方向リンクである共有割り当てリンク[22,…,23]を形成している。
【0038】
共有管理情報エントリ261〜269の中でキャッシュページに割り当てられていない共有管理情報エントリ267〜269は、共有未割り当てリンクMRUポインタ24および共有未割り当てリンクLRUポインタ25を起点とする双方向リンクである共有未割り当てリンク[24,…,25]を形成している。
【0039】
共有管理情報エントリ261〜269の中で実際にキャッシュページに割り当てられている共有管理情報エントリ261〜266は、共有検索テーブル21からリンクを形成し、アドレスでの検索が可能になっている。ただし、図2では、煩雑にならないように共有管理情報エントリ261のみを共有検索テーブル21から矢印でリンクが形成されていることを示している。実際には、共有管理情報エントリ262〜266も共有検索テーブル21からリンクを形成されている。共有管理情報エントリ266は、使用中である期間は、共有割り当てリンク[22,…,23]から外されることにより、追い出し処理の対象外となる。
【0040】
共有管理情報エントリ266の使用中情報には、当該キャッシュページが使用中のとき、使用フラグおよび使用中のホストディレクタのホストディレクタ識別子が登録される。ただし、共有管理情報エントリ266における使用中の状態は定常オープン状態も含んでおり、他のホストディレクタからみると使用中に見えるが、実際にコマンド処理で使用している最中であることを示すわけではない。
【0041】
待ちキューは、使用中のキャッシュページが割り当てられている共有管理情報エントリに対して、次に使用するために予約しているホストディレクタ識別子を蓄積する。当該キャッシュページを使用中のホストディレクタ12は、待ちキューのホストディレクタ識別子により、使用後の処理を選択する。
【0042】
図3は、ローカルメモリ123a,123b,123c上のローカルキャッシュ管理領域124a,124b,124cの内容をより詳細に示す図である。ローカルキャッシュ管理領域124a,124b,124cには、共有メモリ15上のキャッシュページ領域152にキャッシュインされるキャッシュページに1対1で対応しているローカル管理情報エントリ361〜369と、ローカル管理情報エントリ361〜369中の実際にキャッシュページに割り当てられているローカル管理情報エントリ361〜366をアドレスで検索可能にするようにリンクを形成するローカル検索テーブル31と、ローカル管理情報エントリ361〜369の中でキャッシュページに割り当てられているが使用中でないローカル管理情報エントリ361〜365を双方向にリンクするローカル割り当てリンク[32,…,33]を形成する起点となるローカル割り当てリンクMRUポインタ32およびローカル割り当てリンクLRUポインタ33と、ローカル管理情報エントリ361〜369の中でキャッシュページに割り当てられていないローカル管理情報エントリ367〜369を双方向にリンクするローカル未割り当てリンク[34,…,35]を形成する起点となるローカル未割り当てリンクMRUポインタ34およびローカル未割り当てリンクLRUポインタ35と、ローカル割り当てリンク[32,…,33]にリンクされているローカル管理情報エントリの数を常時管理しているローカル割り当てリンクカウンタ37とが設けられている。
【0043】
各ローカル管理情報エントリ361〜369は、共有メモリ15上のキャッシュページ領域152にキャッシュインされたキャッシュページのうち、当該ホストディレクタによる定常オープン状態のキャッシュページと動的に対応しており、キャッシュページに物理ディスクアレイ14上のどのデータが割り当てられているかを示す割り当てアドレスと、どのキャッシュページと対応しているかを示すページ識別子と、ローカル検索テーブル31とリンクを張る順方向ポインタおよび逆方向ポインタと、ローカル割り当てリンクMRUポインタ32およびローカル割り当てリンクLRUポインタ33を起点とする双方向リンクであるローカル割り当てリンク[32,…,33]またはローカル未割り当てリンクMRUポインタ34およびローカル未割り当てリンクLRUポインタ35を起点とする双方向リンクであるローカル未割り当てリンク[34,…,35]を形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびタスク識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他のタスク処理のタスク識別子を蓄積する待ちキューとを含んでいる。
【0044】
ローカル管理情報エントリ361〜369の中でキャッシュページに割り当てられているが使用中でないローカル管理情報エントリ361〜365は、ローカル割り当てリンクMRUポインタ32およびローカルリンクLRUポインタ33を起点とする双方向リンクであるローカル割り当てリンク[32,…,33]を形成している。ローカル割り当てリンク[32,…,33]に関しては、リンクされているローカル管理情報エントリの数をローカル割り当てリンクカウンタ37により常時管理している。
【0045】
ローカル管理情報エントリ361〜369の中でキャッシュページに割り当てられていないローカル管理情報エントリ367〜369は、ローカル未割り当てリンクMRUポインタ34およびローカル未割り当てリンクLRUポインタ35を起点とする双方向リンクであるローカル未割り当てリンク[34,…,35]を形成している。
【0046】
ローカル管理情報エントリ361〜369の中で実際にキャッシュページに割り当てられているローカル管理情報エントリ361〜366は、ローカル検索テーブル31からリンクを形成し、アドレスでの検索が可能になっている。ただし、図3では、煩雑にならないように、ローカル管理情報エントリ361のみをローカル検索テーブル31から矢印でリンクが形成されていることを示している。実際には、ローカル管理情報エントリ362〜366もローカル検索テーブル31からリンクを形成されている。ローカル管理情報エントリ366は、使用中である期間は、ローカル割り当てリンク[32,…,33]から外されることにより、追い出し処理の対象外となる。
【0047】
ローカル管理情報エントリ366の使用中情報には、当該キャッシュページが使用中のとき、使用フラグおよび使用中の処理タスクのタスク識別子が登録される。このとき、各ローカル管理情報エントリ361〜369の使用中情報により、当該キャッシュページが自ホストディレクタ内のある処理タスクにより実際に使用中であることを示す。
【0048】
待ちキューは、使用中のキャッシュページが割り当てられているローカル管理情報エントリ366に対して、次に使用するために予約する処理タスクのタスク識別子を蓄積する。当該キャッシュページを使用中の処理タスクは、待ちキューのタスク識別子に応じて、使用後の処理を選択する。
【0049】
図4は、第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置において、ホストからのリード/ライトコマンドを受領したときのホストディレクタにおけるキャッシュページのオープン処理を示すフローチャートである。このキャッシュページのオープン処理は、キャッシュページオープン処理開始ステップ411と、共有検索テーブル検索ステップ412と、共有管理情報エントリでの使用中チェックステップ413と、共有管理情報エントリでの競合チェックステップ414と、ローカル検索テーブル検索ステップ415と、ローカル管理情報エントリでの競合チェックステップ416と、ローカル管理情報エントリでの使用中設定処理ステップ417と、ローカル管理情報エントリ待ちキュー蓄積ステップ418と、ローカル管理情報エントリ使用中解除待ちステップ419と、共有管理情報エントリ待ちキュー蓄積ステップ420と、共有管理情報エントリ待ちキュー蓄積ステップ421と、クローズ要求送信ステップ422と、共有管理情報エントリでの使用中解除待ちステップ423と、共有管理情報エントリでの使用中設定処理ステップ424と、ローカル管理情報エントリ割り当て処理ステップ425と、共有管理情報エントリ割り当て処理ステップ426と、キャッシュページオープン処理完了ステップ427とからなる。
【0050】
図5は、データ転送終了後のキャッシュページのクローズ処理を示すフローチャートである。キャッシュページのクローズ処理は、キャッシュページクローズ処理開始ステップ511と、共有管理情報エントリでの競合チェックステップ512と、ローカル検索テーブル検索ステップ513と、ローカル管理情報エントリでの使用中解除処理ステップ514と、ローカル割り当てリンクカウンタチェックステップ515と、ローカル管理情報エントリ追い出し処理ステップ516と、共有管理情報エントリでの使用中解除処理ステップ517と、共有管理情報エントリでの使用中解除処理ステップ518と、ローカル管理情報エントリ割り当て解除処理ステップ519と、キャッシュページクローズ処理完了ステップ520とからなる。
【0051】
図6は、キャッシュページのクローズ要求を受信したときのクローズ要求受信処理を示すフローチャートである。このクローズ要求受信処理は、キャッシュページクローズ要求受信ステップ611と、ローカル検索テーブル検索ステップ612と、ローカル管理情報エントリでの使用中チェックステップ613と、共有管理情報エントリでの使用中解除処理ステップ614と、ローカル管理情報エントリ割り当て解除処理ステップ615と、キャッシュページクローズ処理完了ステップ616とからなる。
【0052】
次に、このように構成された第1の実施の形態に係るディスクアレイ装置のディスクキャッシュ管理方法の処理手順について、図1ないし図6を参照しながら説明する。以下、リード/ライトコマンドを送信するホストをホスト11a、リード/ライトコマンドを受領するホストディレクタをホストディレクタ12aとして説明する。
【0053】
(1) ホスト11aからのリード/ライトコマンドを受領したときのホストディレクタ12aにおけるキャッシュページのオープン処理(図4参照)
【0054】
ホストディレクタ12aは、ホスト11aからリード/ライトコマンドを受領すると、リード/ライトコマンドのアクセスアドレス(当該アドレス)に対応するキャッシュページのオープン処理を開始する(ステップ411)。
【0055】
まず、ホストディレクタ12aは、当該アドレスに対応するキャッシュページ(当該キャッシュページ)に共有管理情報エントリが割り当てられているかどうかを共有検索テーブル21から検索する(ステップ412)。この検索処理では、当該アドレスを所定のハッシュ関数でハッシュして得られたキーで共有検索テーブル21を索引し、得られた順方向ポインタおよび逆方向ポインタでリンクされる共有管理情報エントリを検索する。
【0056】
ステップ412の検索において当該キャッシュページに共有管理情報エントリが割り当てられておらずにミスヒットとなった場合、当該キャッシュページの物理ディスクアレイ14から共有メモリ15上のキャッシュページ領域152へのキャッシュイン後に、ホストディレクタ12aは、当該キャッシュページへの共有管理情報エントリの割り当て処理を行う(ステップ426)。この割り当て処理では、共有未割り当てリンク[24,…,25]に未割り当ての共有管理情報エントリがあれば、当該共有管理情報エントリを当該キャッシュページに割り当て、共有未割り当てリンク[24,…,25]に未割り当ての共有管理情報エントリがなければ、共有割り当てリンク[22,…,23]からの共有管理情報エントリの追い出し処理(LRU制御)により未割り当ての共有管理情報エントリを得て、当該共有管理情報エントリを共有検索テーブル21にリンクさせるとともに、当該共有管理情報エントリを共有割り当てリンク[22,…,23]にリンクインすることにより当該キャッシュページに当該共有管理情報エントリを割り当てる。この後、ホストディレクタ12aは、ステップ424に制御を移す。
【0057】
ステップ412の検索において当該キャッシュページに共有管理情報エントリがすでに割り当てられていてヒットした場合には、ホストディレクタ12aは、当該共有管理情報エントリの使用中情報における使用中フラグおよびホストディレクタ識別子に基づいて当該キャッシュページの使用中チェックを行う(ステップ413)。
【0058】
ステップ413の使用中チェックにおいて当該共有管理情報エントリの使用中情報に使用中フラグが登録されておらず当該キャッシュページが使用中でない場合、ホストディレクタ12aは、ステップ424に制御を移す。
【0059】
ステップ413の使用中チェックにおいて当該共有管理情報エントリの使用中情報に使用中フラグおよび他のホストディレクタ識別子が登録されていて当該キャッシュページが他のホストディレクタによって使用中である場合、ホストディレクタ12aは、当該共有管理情報エントリの待ちキューに自ホストディレクタ識別子を蓄積する(ステップ421)。実際には、待ちキューにすでに他のホストディレクタ識別子が蓄積されているので、その最後尾に蓄積する。
【0060】
次に、ホストディレクタ12aは、当該共有管理情報エントリの使用中情報に登録されているホストディレクタ識別子が示す当該キャッシュページを使用中のホストディレクタに当該キャッシュページのクローズ要求を送信する(ステップ422)。
【0061】
続いて、ホストディレクタ12aは、当該キャッシュページの使用中が解除されるのを待ち(ステップ423)、使用中が解除されたならばステップ424に制御を移す。
【0062】
ステップ413の使用中チェックにおいて当該共有管理情報エントリの使用中情報に使用中フラグおよび自ホストディレクタ識別子が登録されていて当該キャッシュページが自ホストディレクタ12aによって使用中である場合、ホストディレクタ12aは、当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合チェックを行う(ステップ414)。この競合チェックでは、当該共有管理情報エントリの待ちキューにホストディレクタ識別子が1つ以上蓄積されているかどうかをチェックする。
【0063】
ステップ414の競合チェックにおいて当該共有管理情報エントリの待ちキューにホストディレクタ識別子が1つ以上蓄積されていて当該キャッシュページの使用が競合している場合、ホストディレクタ12aは、当該共有管理情報エントリの待ちキューに自ホストディレクタ識別子を蓄積する(ステップ420)。実際には、待ちキューにすでに他のホストディレクタ識別子が蓄積されているので、その最後尾に蓄積する。
【0064】
次に、ホストディレクタ12aは、当該キャッシュページの使用中が解除されるのを待ち(ステップ423)、使用中が解除されたならばステップ424に制御を移す。
【0065】
ステップ424では、ホストディレクタ12aは、当該共有管理情報エントリが割り当てられている当該キャッシュページの使用中設定処理を行う。この使用中設定処理では、当該共有管理情報エントリの使用中情報に使用中フラグおよび自ホストディレクタ識別子を登録し、当該共有管理情報エントリを当該キャッシュページの使用中に追い出し処理されないように共有割り当てリンク[22,…,23]からリンクアウトする。
【0066】
次に、ホストディレクタ12aは、当該キャッシュページを新規に使用中に設定したので、当該キャッシュページのローカル管理情報エントリの割り当て処理を行う(ステップ425)。この割り当て処理では、ローカル未割り当てリンク[34,…,35]から未割り当てのローカル管理情報エントリを1つ獲得し、当該ローカル管理情報エントリに当該キャッシュページの割り当てアドレスおよびページ識別子をセットした上でローカル検索テーブル31にリンクインし、かつ当該ローカル管理情報エントリをローカル割り当てリンク[32,…,33]にリンクインする。
【0067】
続いて、ホストディレクタ12aは、当該キャッシュページのローカル管理情報エントリでの使用中設定処理を行い(ステップ417)、キャッシュページのオープン処理を完了する(ステップ427)。この使用中設定処理では、当該ローカル管理情報エントリの使用中情報に使用中フラグおよびタスク識別子を登録するとともに、当該ローカル管理情報エントリを当該キャッシュページの使用中に追い出し処理されないようにローカル割り当てリンク[32,…,33]からリンクアウトする。
【0068】
ステップ414の競合チェックにおいて当該共有管理情報エントリの待ちキューにホストディレクタ識別子が蓄積されておらず当該キャッシュページの使用が競合していない場合、ホストディレクタ12aは、当該キャッシュページにローカル管理情報エントリが割り当てられているかどうかをローカル検索テーブル31から検索する(ステップ415)。ここでは、当該キャッシュページは、定常オープン状態であるので、必ずヒットする。
【0069】
次に、ホストディレクタ12aは、当該ローカル管理情報エントリの待ちキューを参照して定常オープン状態の当該キャッシュページの使用の競合チェックを行う(ステップ416)。この競合チェックでは、当該ローカル管理情報エントリの待ちキューにタスク識別子が1つ以上蓄積されているかどうかをチェックする。
【0070】
ステップ416の競合チェックにおいて当該ローカル管理情報エントリの待ちキューにタスク識別子が1つ以上蓄積されていて他の処理タスクにより定常オープン状態の当該キャッシュページが使用中であり競合する場合、ホストディレクタ12aは、当該ローカル管理情報エントリの待ちキューに自タスク識別子を蓄積する(ステップ418)。実際には、待ちキューにはすでに他のタスク識別子が蓄積されているので、待ちキューの最後尾に蓄積する。
【0071】
次に、ホストディレクタ12aは、当該ローカル管理情報エントリの使用中解除を待ち(ステップ419)、使用中が解除されると、当該キャッシュページのローカル管理情報エントリでの使用中設定処理を行い(ステップ417)、キャッシュページのオープン処理を完了する(ステップ427)。この使用中設定処理では、当該ローカル管理情報エントリの使用中情報に使用中フラグおよびタスク識別子を登録するとともに、当該ローカル管理情報エントリを当該キャッシュページの使用中に追い出し処理されないようにローカル割り当てリンク[32,…,33]からリンクアウトする。
【0072】
ステップ416の競合チェックにおいて当該ローカル管理情報エントリの待ちキューにタスク識別子が蓄積されておらず定常オープン状態の当該キャッシュページの使用が競合しない場合、ホストディレクタ12aは、当該キャッシュページのローカル管理情報エントリでの使用中設定処理を行い(ステップ417)、キャッシュページのオープン処理を完了する(ステップ427)。この使用中設定処理では、当該ローカル管理情報エントリの使用中情報に使用中フラグおよびタスク識別子を登録するとともに、当該ローカル管理情報エントリを当該キャッシュページの使用中に追い出し処理されないようにローカル割り当てリンク[32,…,33]からリンクアウトする。ステップ417を行うケースでは、定常オープン状態のキャッシュページにヒットしたケースであり、ホストディレクタ12aは、ステップ412〜414までの最初のチェック処理以外は、共有メモリ15へのアクセスは行わない。
【0073】
(2) データ転送終了後のキャッシュページのクローズ処理(図5参照)
【0074】
ホストディレクタ12aは、ホスト11aからのリード/ライトコマンド処理においてホスト11a,キャッシュページ領域152間のデータ転送を完了すると、当該アドレスに対応するキャッシュページのクローズ処理を開始する(ステップ511)。
【0075】
まず、ホストディレクタ12aは、当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合チェックを行う(ステップ512)。この競合チェックでは、当該共有管理情報エントリの待ちキューにホストディレクタ識別子が1つ以上蓄積されているかどうかをチェックする。
【0076】
ステップ512の競合チェックにおいて当該共有管理情報エントリの待ちキューにホストディレクタ識別子が1つ以上蓄積されていて当該キャッシュページの使用が競合している場合、ホストディレクタ12aは、当該キャッシュページを定常オープン状態にはできないので、当該キャッシュページの使用中解除処理を行う(ステップ518)。この使用中解除処理では、当該共有管理情報エントリの使用中情報における使用中フラグおよびホストディレクタ識別子の登録解除(消去)と、当該共有管理情報エントリの共有割り当てリンク[22,…,23]へのリンクインとを行う。
【0077】
次に、ホストディレクタ12aは、当該ローカル管理情報エントリの割り当て解除処理を行い(ステップ519)、当該キャッシュページのクローズ処理を完了する(ステップ520)。この割り当て解除処理では、当該ローカル管理情報エントリの使用中情報における使用中フラグおよびタスク識別子の登録解除(消去)と、当該ローカル管理情報エントリのローカル割り当てリンク[32,…,33]へのリンクインとを行う使用中解除処理を行い、さらに当該ローカル管理情報エントリをローカル検索テーブル31およびローカル割り当てリンク[32,…,33]からリンクアウトしてローカル未割り当てリンク[34,…,35]にリンクインする。
【0078】
ステップ512の競合チェックにおいて当該共有管理情報エントリの待ちキューにホストディレクタ識別子が蓄積されておらず当該キャッシュページの使用が競合していない場合、ホストディレクタ12aは、当該キャッシュページにローカル管理情報エントリが割り当てられているかどうかをローカル検索テーブル31から検索する(ステップ513)。ここでは、当該キャッシュページは、定常オープン状態であるので、必ずヒットする。
【0079】
次に、ホストディレクタ12aは、当該ローカル管理情報エントリでの当該キャッシュページの使用中解除処理を行う(ステップ514)。この使用中解除処理では、当該ローカル管理情報エントリの使用中情報における使用中フラグおよびタスク識別子の登録解除(消去)と、当該ローカル管理情報エントリのローカル割り当てリンク[32,…,33]へのリンクインとを行う。ここでは、当該キャッシュページは、共有管理情報エントリでの使用解除処理を施されておらず、かつローカル管理情報エントリでのローカル割り当てリンク[32,…,33]からのリンクアウト処理を施されおらず、定常オープン状態となる。
【0080】
続いて、ホストディレクタ12aは、ローカル割り当てリンクカウンタ37のカウント値が所定の最大ページ数を超えたかどうかをチェックする(ステップ515)。
【0081】
ステップ515の最大ページ数のチェックにおいてローカル割り当てリンクカウンタ37のカウント値が最大ページ数を超えた場合、ホストディレクタ12aは、ローカル割り当てリンク[32,…,33]からの当該ローカル管理情報エントリの追い出し処理(LRU制御)を行う(ステップ516)。この追い出し処理では、ローカル割り当てリンク[32,…,33]から最後尾のローカル管理情報エントリを追い出し、ローカル未割り当てリンク[34,…,35]にリンクインする。
【0082】
次に、ホストディレクタ12aは、共有割り当てリンク[22,…,23]からの共有管理情報エントリの使用中解除処理を行い(ステップ517)、当該キャッシュページのクローズ処理を完了する(ステップ520)。この使用中解除処理では、当該共有管理情報エントリの使用中情報における使用中フラグおよびホストディレクタ識別子の登録解除(消去)と、当該共有管理情報エントリの共有未割り当てリンク[24,…,25]へのリンクインとを行う。
【0083】
ステップ515の最大ページ数のチェックにおいてローカル割り当てリンクカウンタ37のカウント値が最大ページ数を超えなかった場合、ホストディレクタ12aは、キャッシュページのクローズ処理を完了する(ステップ520)。
【0084】
第1の実施の形態では、上記のキャッシュページのオープン処理およびクローズ処理に加えて、キャッシュページのクローズ要求を受信したときのクローズ要求受信処理が必要となる。
【0085】
(3) キャッシュページのクローズ要求を受信したときのクローズ要求受信処理(図6参照)
【0086】
ホストディレクタ12aは、他のホストディレクタからキャッシュページのクローズ要求を受信すると、当該キャッシュページのクローズ処理を開始する(ステップ611)。
【0087】
まず、ホストディレクタ12aは、当該キャッシュページに割り当てられたローカル管理情報エントリをローカル検索テーブル31から検索する(ステップ612)。この検索処理では、当該アドレスを所定のハッシュ関数でハッシュして得られたキーでローカル検索テーブル31を索引し、得られた順方向ポインタおよび逆方向ポインタでリンクされる共有管理情報エントリを検索する。
【0088】
ステップ612の検索においてローカル管理情報エントリが検索されずミスヒットである場合、入れ違いですでに当該ローカル管理情報エントリが割り当て解除済みであることになるので、ホストディレクタ12aは、キャッシュページのクローズ処理を完了する(ステップ616)。
【0089】
ステップ612の検索においてローカル管理情報エントリが検索されてヒットした場合、ホストディレクタ12aは、当該ローカル管理情報エントリの使用中情報における使用中フラグに基づいて当該キャッシュページの使用中チェックを行う(ステップ613)。
【0090】
ステップ613の使用中チェックにおいて当該キャッシュページが使用中である場合、他のホストディレクタで当該キャッシュページが使用中であり、いますぐ当該ローカル管理情報エントリの当該キャッシュページへの割り当てを解除することはできないが、当該キャッシュページを使用中の他のホストディレクタが当該キャッシュページの使用後のタイミングで当該ローカル管理情報エントリの当該キャッシュページへの割り当てを解除するはずなので、当該キャッシュページのクローズ処理を完了する(ステップ616)。
【0091】
ステップ613の使用中チェックにおいて当該キャッシュページが使用中ではない場合、当該キャッシュページは定常オープン状態なので、ホストディレクタ12aは、実際に当該共有管理情報エントリの使用中解除処理を行う(ステップ614)。この使用中解除処理では、当該共有管理情報エントリの使用中情報における使用中フラグおよびホストディレクタ識別子の登録解除(消去)と、当該共有管理情報エントリの共有割り当てリンク[22,…,23]へのリンクインとを行う。
【0092】
次に、ホストディレクタ12aは、当該ローカル管理情報エントリの割り当て解除処理を行い(ステップ615)、当該キャッシュページのクローズ処理を完了する(ステップ616)。この割り当て解除処理では、当該ローカル管理情報エントリの使用中情報における使用中フラグおよびタスク識別子の登録解除(消去)と、当該ローカル管理情報エントリのローカル割り当てリンク[32,…,33]へのリンクインとを行う使用中解除処理を行い、さらに当該キャッシュページに割り当てられていたローカル管理情報エントリをローカル検索テーブル31およびローカル割り当てリンク[32,…,33]からリンクアウトしてローカル未割り当てリンク[34,…,35]にリンクインする。
【0093】
第1の実施の形態によれば、ホストからのリード/ライトコマンドにおいて、同一のホストディレクタを介したキャッシュヒット時のレスポンス性能を向上させることができる。なぜならば、同じキャッシュページへの数回のリード/ライトアクセスにおいて、それが同一のホストディレクタ経由であるときに限っては、共有メモリへのアクセス回数が少なくてキャッシュページのオープン/クローズを行うので、リード/ライトのアクセスレスポンスを短縮できるからである。
【0094】
[第2の実施の形態]
第1の実施の形態においては、定常オープン状態のキャッシュページの最大ページ数は、静的な基本的な値であることを前提としていたので、たとえば全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それをディスクアレイ装置に搭載されているホストディレクタの数で等分割した値が固定で使われている。しかしながら、複数のホストディレクタが搭載されるディスクアレイ装置においては、ホストディレクタによっては接続されていないものやあまり頻繁にリード/ライトコマンドがこないようなものもありうるし、接続ホストによって要求性能が異なるケースなどが考えられる。第2の実施の形態では、定常オープン状態のキャッシュページの最大ページ数を、あらかじめ設定された基準値でホストディレクタによって最大ページ数に差を付けたり、最近に実際に受領したコマンド数から動的に最大ページ数を変更する方法を説明する。
【0095】
図7は、本発明の第2の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。このディスクアレイ装置は、図1に示した第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置に対して、共有メモリ15上に定常オープン状態のキャッシュページの最大ページ数を動的に管理するための最大ページ数管理領域153をさらに設けた点だけが異なっている。したがって、同一部分には同一符号を付して、それらの詳しい説明を省略する。
【0096】
図8は、第2の実施の形態において、共有メモリ15上に設けれられた最大ページ数管理領域153の内容を例示する図である。ホストディレクタ最大ページ数管理情報81a,81b,81cは、ディレクタ識別子で識別されるホストディレクタ12a,12b,12cの最大ページ数を決定するための管理情報である。ホストディレクタ最大ページ数管理情報81a,81b,81cは、アクセス頻度811a,811b,811cと、優先度812a,812b,812cとからなる。アクセス頻度811a,811b,811cは、ホストディレクタ12a,12b,12cにおけるアクセス頻度情報を、ホストディレクタ12a,12b,12cが定期的に書き込む領域である。これにより、各ホストディレクタ12a,12b,12cは、すべてのホストディレクタ12a,12b,12cのアクセス頻度を常時知ることができる。したがって、各ホストディレクタ12a,12b,12cは、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合として、それに全アクセス頻度に対する自ホストディレクタのアクセス頻度の割合をかけた値を最大ページ数とすることができる。これにより、アクセス頻度の高いホストディレクタで、より多量の定常オープン状態のキャッシュページが許され、定常オープン状態のキャッシュページのキャッシュヒット率を高めることができる。一方、優先度812a,812b,812cは、そのホストディレクタ12a,12b,12cの使い方により、あらかじめ最大ページ数の分け方に差を持たせる要素とする。前記最大ページ数の計算において全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合として、それに全アクセス頻度811a,811b,811cに対する自ホストディレクタのアクセス頻度の割合をかけた値に、さらに優先度812a,812b,812cの重みをかけた値を最大ページ数とする。すなわち、優先度812a,812b,812cがゼロの時はアクセス頻度811a,811b,811cにかかわらず定常オープンは行われず、優先度812a,812b,812cが高いときは、アクセス頻度811a,811b,811cが低くても定常オープン状態のキャッシュページのキャッシュヒットが期待できる。
【0097】
第2の実施の形態によれば、定常オープン状態のキャッシュページの数が複数のホストディレクタに適切に配分されることにより、定常オープン状態のキャッシュページのキャッシュヒット率が単に上がるだけではなく、アクセス頻度の低いホストからのアクセスに対してもキャッシュヒット性能を確保することが可能になる。
【0098】
[第3の実施の形態]
図9は、本発明の第3の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。このディスクアレイ装置は、図1に示した第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の各ホストディレクタ12a,12b,12cに対して、ホストディレクタプログラム100を備える点だけが異なっている。
【0099】
ホストディレクタプログラム100は、各ホストディレクタ12a,12b,12cに読み込まれ、各ホストディレクタ12a,12b,12cの動作を、第1の実施の形態における各ホストディレクタ12a,12b,12cの動作と全く同様に制御する。よって、第3の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の詳しい動作の説明は割愛する。
【0100】
[第4の実施の形態]
図10は、本発明の第4の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。このディスクアレイ装置は、図7に示した第2の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の各ホストディレクタ12a,12b,12cに対して、ホストディレクタプログラム200を備える点だけが異なっている。
【0101】
ホストディレクタプログラム200は、各ホストディレクタ12a,12b,12cに読み込まれ、各ホストディレクタ12a,12b,12cの動作を、第2の実施の形態における各ホストディレクタ12a,12b,12cの動作と全く同様に制御する。よって、第4の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の詳しい動作の説明は割愛する。
【0102】
【発明の効果】
本発明の効果は、ホストからのリード/ライトコマンドにおいて、同一のホストディレクタを介したキャッシュヒット時のレスポンス性能を向上させることができることにある。その理由は、同じキャッシュページへの数回のリード/ライトアクセスにおいて、それが同一のホストディレクタ経由である時に限っては、共有メモリへのアクセス回数が少なくてキャッシュページのオープン/クローズを行うので、リード/ライトアクセスレスポンスを短縮できるからである。現実には同一のホストからのコマンドは同一のホストディレクタを介したコマンドとなる場合が多いので、一般的に性能が向上する。
【0103】
なお、同一のホストから複数ポートを介して接続しているときは、同じアドレスへのアクセスが別のホストディレクタ経由で行われる場合もあるが、この場合では本発明による処理のオーバーヘッドにより若干レスポンスが遅くなることが考えられるが、著しくレスポンスが悪くなるわけではなく、この場合でも同じキャッシュページへのアクセスが同じポート経由できたり違うポート経由できたりランダムに分散すれば、本発明によるレスポンス改善の効果の方が大きくなり、やはり性能が向上する結果となる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。
【図2】図1中の共有メモリ上のキャッシュ管理領域の内容を示す図である。
【図3】図1中のローカルメモリ上のローカルキャッシュ管理領域の内容を示す図である。
【図4】第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置において、ホストからのリード/ライトコマンドを受領したときのホストディレクタにおけるキャッシュページのオープン処理を示すフローチャートである。
【図5】第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置において、データ転送終了後のホストディレクタにおけるキャッシュページのクローズ処理を示すフローチャートである。
【図6】第1の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置において、キャッシュページのクローズ要求を受信したときのホストディレクタにおけるクローズ要求受信処理を示すフローチャートである。
【図7】本発明の第2の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。
【図8】第2の実施の形態において、定常オープン状態のキャッシュページの最大ページ数を動的に管理するために、共有メモリ上に持つ最大ページ数管理領域の内容を示す図である。
【図9】本発明の第3の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。
【図10】本発明の第4の実施の形態に係るディスクキャッシュ管理方法が適用されるディスクアレイ装置の構成を示すブロック図である。
【符号の説明】
11a,11b,11c ホスト
12a,12b,12c ホストディレクタ
13a,13b ディスクディレクタ
14 物理ディスクアレイ
15 共有メモリ
151 キャッシュ管理領域
152 キャッシュページ領域
21 共有検索テーブル
22 共有割り当てリンクMRUポインタ
23 共有割り当てリンクLRUポインタ
24 共有未割り当てリンクMRUポインタ
25 共有未割り当てリンクLRUポインタ
31 ローカル検索テーブル
32 ローカル割り当てリンクMRUポインタ
33 ローカル割り当てリンクLRUポインタ
34 ローカル未割り当てリンクMRUポインタ
35 ローカル未割り当てリンクLRUポインタ
37 ローカル割り当てリンクカウンタ
81a,81b,81c ホストディレクタ最大ページ数管理情報
100,200 ホストディレクタプログラム
121a,121b,121c ポート
122a,122b,122c コントローラ
123a,123b,123c ローカルメモリ
151 キャッシュ管理領域
152 キャッシュページ領域
153 最大ページ数管理領域
261〜269 共有管理情報エントリ
361〜369 ローカル管理情報エントリ
411 キャッシュページオープン処理開始ステップ
412 共有検索テーブル検索ステップ
413 共有管理情報エントリでの使用中チェックステップ
414 共有管理情報エントリでの競合チェックステップ
415 ローカル検索テーブル検索ステップ
416 ローカル管理情報エントリでの競合チェックステップ
417 ローカル管理情報エントリでの使用中設定処理ステップ
418 ローカル管理情報エントリ待ちキュー蓄積ステップ
419 ローカル管理情報エントリでの使用中解除待ちステップ
420 共有管理情報エントリ待ちキュー蓄積ステップ
421 共有管理情報エントリ待ちキュー蓄積ステップ
422 クローズ要求送信ステップ
423 共有管理情報エントリでの使用中解除待ちステップ
424 共有管理情報エントリでの使用中設定処理ステップ
425 ローカル管理情報エントリ割り当て処理ステップ
426 共有管理情報エントリ割り当て処理ステップ
427 キャッシュページオープン処理完了ステップ
511 キャッシュページクローズ処理開始ステップ
512 共有管理情報エントリでの競合チェックステップ
513 ローカル検索テーブル検索ステップ
514 ローカル管理情報エントリでの使用中解除処理ステップ
515 ローカル割り当てリンクカウンタチェックステップ
516 ローカル管理情報エントリ追い出し処理ステップ
517 共有管理情報エントリでの使用中解除処理ステップ
518 共有管理情報エントリでの使用中解除処理ステップ
519 ローカル管理情報エントリ割り当て解除処理ステップ
520 キャッシュページクローズ処理完了ステップ
611 キャッシュページクローズ要求受信ステップ
612 ローカル検索テーブル検索ステップ
613 ローカル管理情報エントリでの使用中チェックステップ
614 共有管理情報エントリでの使用中解除処理ステップ
615 ローカル管理情報エントリ割り当て解除処理ステップ
616 キャッシュページクローズ処理完了ステップ
811a,811b,811c アクセス頻度
812a,812b,812c 優先度

Claims (15)

  1. 複数のホストディレクタと、これらホストディレクタから共有されディスクキャッシュの役目をする共有メモリとを搭載するディスクアレイ装置のディスクキャッシュ管理方法において、
    各ホストディレクタにローカルメモリを搭載し、各ローカルメモリに前記共有メモリ上の定常オープン状態のキャッシュページを使用中フラグおよび前記各ホストディレクタを識別する識別子に基づいて管理するローカルキャッシュ管理領域を設け、
    前記共有メモリ上のキャッシュページをオープン処理して使用し終わった後に前記ローカルキャッシュ管理領域上だけで当該キャッシュページの使用中の解除を行い、前記共有メモリ上では当該キャッシュページをクローズ処理せずにオープンしたままの定常オープン状態としておき、自ホストディレクタから前記共有メモリ上の定常オープン状態の当該キャッシュページへのアクセスが連続してあった場合に当該キャッシュページのオープン処理およびクローズ処理を省略することで、レスポンス性能を向上させることを特徴とするディスクアレイ装置のディスクキャッシュ管理方法。
  2. 複数のホストディレクタと、これらホストディレクタから共有されキャッシュページ領域およびキャッシュ管理領域を備える共有メモリとを搭載するディスクアレイ装置のディスクキャッシュ管理方法において、
    各ホストディレクタにローカルメモリを搭載し、各ローカルメモリに前記共有メモリ上の定常オープン状態のキャッシュページを管理するローカルキャッシュ管理領域を設け、
    ホストからのリード/ライトコマンドを受領したときに、当該キャッシュページが使用中でない場合には前記キャッシュ管理領域上の共有管理情報エントリで当該キャッシュページを使用中に設定するとともに前記ローカルキャッシュ管理領域上のローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが他のホストディレクタで使用中である場合には当該共有管理情報エントリの待ちキューに自ホストディレクタ識別子を蓄積し他のホストディレクタに当該キャッシュページのクローズ要求を送信した後に当該共有管理情報エントリで当該キャッシュページを使用中に設定するとともに当該ローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが自ホストディレクタで使用中である場合には当該共有管理情報エントリでの当該キャッシュページの使用中設定処理を省略して当該ローカル管理情報エントリで当該キャッシュページを使用中に設定するキャッシュページのオープン処理と、
    当該キャッシュページを使用し終わった後に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックし、競合がある場合には当該共有管理情報エントリでの当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除し、競合がない場合には当該共通管理情報エントリで当該キャッシュページの使用中を解除せずに当該ローカル管理情報エントリで当該キャッシュページの使用中を解除して当該キャッシュページをオープンしたままの定常オープン状態とするキャッシュページのクローズ処理と、
    他のホストディレクタから当該キャッシュページのクローズ要求を受信したときに当該キャッシュページが使用中でない場合には当該共有管理情報エントリで当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除するクローズ要求受信処理と
    を含むことを特徴とするディスクアレイ装置のディスクキャッシュ管理方法。
  3. 物理ディスクアレイと、1つ以上のディスクディレクタと、複数のホストディレクタと、これらディスクディレクタおよびホストディレクタから共有される共有メモリとを備え、前記共有メモリ上のキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応している共有管理情報エントリと、全共有管理情報エントリ中のキャッシュページに割り当てられている共有管理情報エントリをアドレスで検索可能にするようにリンクを形成する共有検索テーブルと、全共有管理情報エントリの中でキャッシュページに割り当てられているが使用中でない共有管理情報エントリを双方向にリンクする共有割り当てリンクを形成する起点となる共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタと、全共有管理情報エントリの中でキャッシュページに割り当てられていない共有管理情報エントリを双方向にリンクする共有未割り当てリンクを形成する起点となる共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタとが設けられているディスクアレイ装置のディスクキャッシュ管理方法において、各ホストディレクタにローカルメモリを搭載し、各ローカルメモリ上のローカルキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応しているローカル管理情報エントリと、全ローカル管理情報エントリ中のキャッシュページに割り当てられているローカル管理情報エントリをアドレスで検索可能にするようにリンクを形成するローカル検索テーブルと、全ローカル管理情報エントリの中でキャッシュページに割り当てられているが使用中でないローカル管理情報エントリを双方向にリンクするローカル割り当てリンクを形成する起点となるローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタと、全ローカル管理情報エントリの中でキャッシュページに割り当てられていないローカル管理情報エントリを双方向にリンクするローカル未割り当てリンクを形成する起点となるローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタとを設け、
    ホストからリード/ライトコマンドを受領したときに当該アドレスに対応する当該キャッシュページに共有管理情報エントリが割り当てられているかどうかを共有検索テーブルから検索する工程と、共有管理情報エントリが割り当てられていなかった場合に当該キャッシュページに共有管理情報エントリを割り当て、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、共有管理情報エントリが割り当てられていた場合に当該共有管理情報エントリで当該キャッシュページが使用中かどうかをチェックする工程と、当該キャッシュページが使用中でない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが他のホストディレクタで使用中である場合に、当該共有管理情報エントリの待ちキューに蓄積し、他のホストディレクタに当該キャッシュページのクローズを要求し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが自ホストディレクタで使用中である場合に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がある場合に当該共有管理情報エントリの待ちキューに蓄積し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用の競合をチェックする工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がある場合に当該ローカル管理情報エントリの待ちキューに蓄積し、当該ローカル管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定することなしに当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程とを含むキャッシュページのオープン処理と、
    ホストからのリード/ライトコマンド処理においてホスト,キャッシュページ領域間のデータ転送を完了したときに当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、使用の競合がある場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程と、使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用中を解除する工程とを含むキャッシュページのクローズ処理と、
    他のホストディレクタからキャッシュページのクローズ要求を受信したときに前記ローカル検索テーブルから当該ローカル管理情報エントリを検索する工程と、当該ローカル管理情報エントリが検索された場合に当該ローカル管理情報エントリで当該キャッシュページの使用中をチェックする工程と、当該キャッシュページが使用中でなかった場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程とを含むクローズ要求受信処理と
    からなること特徴とするディスクアレイ装置のディスクキャッシュ管理方法。
  4. 前記ローカルキャッシュ管理領域に、前記ローカル割り当てリンクにリンクされたローカル管理情報エントリの数をカウントするローカル割り当てリンクカウンタを設け、前記キャッシュページのクローズ処理において、前記ローカル割り当てリンクカウンタのカウント値が、前記共有管理情報エントリで使用中に設定され前記ローカル管理情報エントリで使用中を解除された定常オープン状態のキャッシュページの最大ページ数を超えた場合に、前記ローカル割り当てリンクから当該ローカル管理情報エントリをLRU制御で追い出して前記ローカル割り当てリンクにリンクインし、当該共有管理情報で当該キャッシュページの使用中を解除する工程を含むことを特徴とする請求項2または請求項3記載のディスクアレイ装置のディスクキャッシュ管理方法。
  5. 前記定常オープン状態のキャッシュページの最大ページ数が、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それを搭載されているホストディレクタの数で分割して決定することを特徴とする請求項4記載のディスクアレイ装置のディスクキャッシュ管理方法。
  6. 前記定常オープン状態のキャッシュページの最大ページ数が、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それに全アクセス頻度に対する自ホストディレクタのアクセス頻度の割合をかけた値であることを特徴とする請求項4記載のディスクアレイ装置のディスクキャッシュ管理方法。
  7. 前記定常オープン状態のキャッシュページの最大ページ数が、全キャッシュページのうちのある割合を定常オープン状態のキャッシュページの最大割合とし、それに全アクセス頻度に対する自ホストディレクタのアクセス頻度の割合をかけた値に、さらに優先度の重みをかけた値であることを特徴とする請求項4記載のディスクアレイ装置のディスクキャッシュ管理方法。
  8. 前記共有管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、共有検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタまたは共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタを起点とする双方向リンクである共有割り当てリンクまたは共有未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびホストディレクタ識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他のホストディレクタのホストディレクタ識別子を蓄積する待ちキューとを含んでいることを特徴とする請求項2,請求項3,請求項4,請求項5,請求項6,または請求項7記載のディスクアレイ装置のディスクキャッシュ管理方法。
  9. 前記ローカル管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、当該キャッシュページのページ識別子と、ローカル検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、ローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタまたはローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタを起点とする双方向リンクであるローカル割り当てリンクまたはローカル未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびタスク識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他の処理タスクのタスク識別子を蓄積する待ちキューとを含んでいることを特徴とする請求項2,請求項3,請求項4,請求項5,請求項6,または請求項7記載のディスクアレイ装置のディスクキャッシュ管理方法。
  10. 複数のホストディレクタと、これらホストディレクタから共有されディスクキャッシュの役目をする共有メモリとを搭載するディスクアレイ装置において、
    各ホストディレクタが、ホストと接続されるポートと、該ポートを介して前記ホストに接続されるとともにバスを介して前記共有メモリに接続されるコントローラと、該コントローラに接続され前記共有メモリ上の定常オープン状態のキャッシュページを使用中フラグおよび前記各ホストディレクタを識別する識別子に基づいて管理するローカルキャッシュ管理領域が設けられたローカルメモリとを備えることを特徴とするディスクアレイ装置。
  11. 物理ディスクアレイと、1つ以上のディスクディレクタと、複数のホストディレクタと、これらディスクディレクタおよびホストディレクタから共有される共有メモリとを備え、前記共有メモリ上のキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応している共有管理情報エントリと、全共有管理情報エントリ中のキャッシュページに割り当てられている共有管理情報エントリをアドレスで検索可能にするようにリンクを形成する共有検索テーブルと、全共有管理情報エントリの中でキャッシュページに割り当てられているが使用中でない共有管理情報エントリを双方向にリンクする共有割り当てリンクを形成する起点となる共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタと、全共有管理情報エントリの中でキャッシュページに割り当てられていない共有管理情報エントリを双方向にリンクする共有未割り当てリンクを形成する起点となる共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタとが設けられているディスクアレイ装置において、
    各ホストディレクタにローカルメモリを搭載し、前記ローカルメモリ上のローカルキャッシュ管理領域に、前記共有メモリ上のキャッシュページ領域にキャッシュインされるキャッシュページに1対1で対応しているローカル管理情報エントリと、全ローカル管理情報エントリ中のキャッシュページに割り当てられているローカル管理情報エントリをアドレスで検索可能にするようにリンクを形成するローカル検索テーブルと、全ローカル管理情報エントリの中でキャッシュページに割り当てられているが使用中でないローカル管理情報エントリを双方向にリンクするローカル割り当てリンクを形成する起点となるローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタと、全ローカル管理情報エントリの中でキャッシュページに割り当てられていないローカル管理情報エントリを双方向にリンクするローカル未割り当てリンクを形成する起点となるローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタとを設けたことを特徴とするディスクアレイ装置。
  12. 前記共有管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、共有検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、共有割り当てリンクMRUポインタおよび共有割り当てリンクLRUポインタまたは共有未割り当てリンクMRUポインタおよび共有未割り当てリンクLRUポインタを起点とする双方向リンクである共有割り当てリンクまたは共有未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびホストディレクタ識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他のホストディレクタのホストディレクタ識別子を蓄積する待ちキューとを含んでいることを特徴とする請求項10または請求項11記載のディスクアレイ装置。
  13. 前記ローカル管理情報エントリが、キャッシュページに物理ディスクアレイ上のどのデータがキャッシュページに割り当てられているかを示す割り当てアドレスと、当該キャッシュページのページ識別子と、ローカル検索テーブルとリンクを張る順方向ポインタおよび逆方向ポインタと、ローカル割り当てリンクMRUポインタおよびローカル割り当てリンクLRUポインタまたはローカル未割り当てリンクMRUポインタおよびローカル未割り当てリンクLRUポインタを起点とする双方向リンクであるローカル割り当てリンクまたはローカル未割り当てリンクを形成する順方向ポインタおよび逆方向ポインタと、使用中フラグおよびタスク識別子を登録する使用中情報と、当該キャッシュページの使用を待っている他の処理タスクのタスク識別子を蓄積する待ちキューとを含んでいることを特徴とする請求項10または請求項11記載のディスクアレイ装置。
  14. コンピュータに、ホストからのリード/ライトコマンドを受領したときに、当該キャッシュページが使用中でない場合には前記キャッシュ管理領域上の共有管理情報エントリで当該キャッシュページを使用中に設定するとともに前記ローカルキャッシュ管理領域上のローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが他のホストディレクタで使用中である場合には当該共有管理情報エントリの待ちキューに自ホストディレクタ識別子を蓄積し他のホストディレクタに当該キャッシュページのクローズ要求を送信した後に当該共有管理情報エントリで当該キャッシュページを使用中に設定するとともに当該ローカル管理情報エントリを割り当てて当該ローカル管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページが自ホストディレクタで使用中である場合には当該共有管理情報エントリでの当該キャッシュページの使用中設定処理を省略して当該ローカル管理情報エントリで当該キャッシュページを使用中に設定するキャッシュページのオープン処理と、当該キャッシュページを使用し終わった後に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックし、競合がある場合には当該共有管理情報エントリでの当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除し、競合がない場合には当該共通管理情報エントリで当該キャッシュページの使用中を解除せずに当該ローカル管理情報エントリで当該キャッシュページの使用中を解除して当該キャッシュページをオープンしたままの定常オープン状態とするキャッシュページのクローズ処理と、他のホストディレクタから当該キャッシュページのクローズ要求を受信したときに当該キャッシュページが使用中でない場合には当該共有管理情報エントリで当該キャッシュページの使用中を解除するとともに当該ローカル管理情報エントリの割り当てを解除するクローズ要求受信処理とを実行させるためのプログラム。
  15. コンピュータに、ホストからリード/ライトコマンドを受領したときに当該アドレスに対応する当該キャッシュページに共有管理情報エントリが割り当てられているかどうかを共有検索テーブルから検索する工程と、共有管理情報エントリが割り当てられていなかった場合に当該キャッシュページに共有管理情報エントリを割り当て、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、共有管理情報エントリが割り当てられていた場合に当該共有管理情報エントリで当該キャッシュページが使用中かどうかをチェックする工程と、当該キャッシュページが使用中でない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが他のホストディレクタで使用中である場合に、当該共有管理情報エントリの待ちキューに蓄積し、他のホストディレクタに当該キャッシュページのクローズを要求し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該キャッシュページが自ホストディレクタで使用中である場合に当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がある場合に当該共有管理情報エントリの待ちキューに蓄積し、当該共有管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該共有管理情報エントリで当該キャッシュページを使用中に設定し、当該キャッシュページにローカル管理情報エントリを割り当て、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該共有管理情報エントリで当該キャッシュページの使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用の競合をチェックする工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がある場合に当該ローカル管理情報エントリの待ちキューに蓄積し、当該ローカル管理情報エントリで当該キャッシュページの使用中が解除されるのを待って、当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程と、当該ローカル管理情報エントリで当該キャッシュページの使用の競合がない場合に当該共有管理情報エントリで当該キャッシュページを使用中に設定することなしに当該ローカル管理情報エントリで当該キャッシュページを使用中に設定する工程とを含むキャッシュページのオープン処理と、ホストからのリード/ライトコマンド処理においてホスト,キャッシュページ領域間のデータ転送を完了したときに当該共有管理情報エントリの待ちキューを参照して当該キャッシュページの使用の競合をチェックする工程と、使用の競合がある場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程と、使用の競合がない場合に前記ローカル検索テーブルから当該ローカル管理情報エントリを検索し、当該ローカル管理情報エントリで当該キャッシュページの使用中を解除する工程とを含むキャッシュページのクローズ処理と、他のホストディレクタからキャッシュページのクローズ要求を受信したときに前記ローカル検索テーブルから当該ローカル管理情報エントリを検索する工程と、当該ローカル管理情報エントリが検索された場合に当該ローカル管理情報エントリで当該キャッシュページの使用中をチェックする工程と、当該キャッシュページが使用中でなかった場合に当該共有管理情報エントリで当該キャッシュページの使用中を解除し、当該ローカル管理情報エントリの割り当てを解除する工程とを含むクローズ要求受信処理とを実行させるためのプログラム。
JP2002026380A 2002-02-04 2002-02-04 ディスクアレイ装置のディスクキャッシュ管理方法 Expired - Fee Related JP3759048B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002026380A JP3759048B2 (ja) 2002-02-04 2002-02-04 ディスクアレイ装置のディスクキャッシュ管理方法
US10/356,514 US7032068B2 (en) 2002-02-04 2003-02-03 Disk cache management method of disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002026380A JP3759048B2 (ja) 2002-02-04 2002-02-04 ディスクアレイ装置のディスクキャッシュ管理方法

Publications (2)

Publication Number Publication Date
JP2003228461A JP2003228461A (ja) 2003-08-15
JP3759048B2 true JP3759048B2 (ja) 2006-03-22

Family

ID=27654593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002026380A Expired - Fee Related JP3759048B2 (ja) 2002-02-04 2002-02-04 ディスクアレイ装置のディスクキャッシュ管理方法

Country Status (2)

Country Link
US (1) US7032068B2 (ja)
JP (1) JP3759048B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4412981B2 (ja) * 2003-11-26 2010-02-10 株式会社日立製作所 ストレージシステム及同システムにおけるデータキャッシング方法
JP2005301419A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ディスクアレイ装置およびそのデータ処理方法
JP2006065402A (ja) * 2004-08-24 2006-03-09 Fujitsu Ltd アクセス制御方法、ディスク制御装置及び記憶装置
JP2006268215A (ja) * 2005-03-23 2006-10-05 Hitachi Ltd ストレージシステム
US8862680B2 (en) * 2006-05-01 2014-10-14 The Boeing Company Methods and systems for data prioritization
JP4792335B2 (ja) 2006-06-16 2011-10-12 富士通株式会社 Raid装置、raid制御プログラムおよびキャッシュ管理方法
US20080147985A1 (en) * 2006-12-13 2008-06-19 International Business Machines Corporation Method and System for Purging Data from a Controller Cache
US7890314B2 (en) * 2007-12-05 2011-02-15 Seagate Technology Llc Method for modeling performance of embedded processors having combined cache and memory hierarchy
JP5176663B2 (ja) * 2008-04-11 2013-04-03 日本電気株式会社 データ処理装置、データ処理方法、及びプログラム
JP5806776B2 (ja) * 2011-10-07 2015-11-10 株式会社日立製作所 ストレージシステム
JP2015191604A (ja) * 2014-03-28 2015-11-02 富士通株式会社 制御装置、制御プログラム、および制御方法
US10003648B2 (en) * 2014-10-02 2018-06-19 Samsung Electronics Co., Ltd. Mechanism for universal parallel information access
US10838763B2 (en) * 2018-07-17 2020-11-17 Xilinx, Inc. Network interface device and host processing device
US10698844B1 (en) 2019-04-19 2020-06-30 EMC IP Holding Company LLC Intelligent external storage system interface
US11151063B2 (en) 2019-04-19 2021-10-19 EMC IP Holding Company LLC Host system directly connected to internal switching fabric of storage system
US10740259B1 (en) 2019-04-19 2020-08-11 EMC IP Holding Company LLC Host mapping logical storage devices to physical storage devices
US10698613B1 (en) * 2019-04-19 2020-06-30 EMC IP Holding Company LLC Host processing of I/O operations
US11500549B2 (en) 2019-04-19 2022-11-15 EMC IP Holding Company LLC Secure host access to storage system resources via storage system interface and internal switching fabric

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3264465B2 (ja) 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
JPH08147218A (ja) 1994-11-24 1996-06-07 Fujitsu Ltd キャッシュ制御装置
EP0723230B1 (en) * 1995-01-23 2002-05-22 Compaq Computer Corporation A distributed data cache for cached multiprocessor system
JPH08314779A (ja) 1995-05-16 1996-11-29 Hitachi Ltd サーバーシステム
JP3772369B2 (ja) 1995-11-20 2006-05-10 株式会社日立製作所 記憶サブシステム
US6438654B1 (en) * 1999-02-22 2002-08-20 International Business Machines Corporation Castout processing for duplexed cache structures
JP3716126B2 (ja) 1999-03-17 2005-11-16 株式会社日立製作所 ディスクアレイ制御装置及びディスクアレイ
JP2001166993A (ja) 1999-12-13 2001-06-22 Hitachi Ltd 記憶制御装置およびキャッシュメモリの制御方法

Also Published As

Publication number Publication date
JP2003228461A (ja) 2003-08-15
US20030149839A1 (en) 2003-08-07
US7032068B2 (en) 2006-04-18

Similar Documents

Publication Publication Date Title
JP3759048B2 (ja) ディスクアレイ装置のディスクキャッシュ管理方法
US5983324A (en) Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
JP3962368B2 (ja) 共用リソースを動的に割り振るためのシステムおよび方法
US4571674A (en) Peripheral storage system having multiple data transfer rates
JP3937365B2 (ja) データ処理システムにおけるメモリリクエスト再順序付け法
KR101960138B1 (ko) 분산형 캐시 메모리들에서의 적응적 파티셔닝을 위한 시스템들 및 방법들
US20040199727A1 (en) Cache allocation
US6112281A (en) I/O forwarding in a cache coherent shared disk computer system
JPH04264940A (ja) 制御装置及び制御装置の制御方法
US9354989B1 (en) Region based admission/eviction control in hybrid aggregates
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
GB2506520A (en) Coherency controller with reduced data buffer
WO2002073417A1 (en) State-based allocation and replacement for improved hit ratio in directory caches
EP2266040A2 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
US5717884A (en) Method and apparatus for cache management
US5892921A (en) Prestaging method, buffer management method and file system
JP2003131946A (ja) キャッシュメモリ制御装置及び方法
JP2019096309A (ja) メンテナンス動作の実行
US8484424B2 (en) Storage system, control program and storage system control method
JP4036992B2 (ja) キャッシュモジュール間でデータを動的に管理するキャッシュ制御装置および方法
US20140006716A1 (en) Data control using last accessor information
Han et al. Remap-based inter-partition copy for arrayed solid-state drives
EP0919927A2 (en) Dynamic memory allocation technique for maintaining an even distribution of cache page addresses within an address space
US20080301324A1 (en) Processor device and instruction processing method
JP2006164218A (ja) ストレージシステム及びそのキャッシュ制御方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051031

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: 20051214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100113

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110113

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120113

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130113

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130113

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees