JP3933027B2 - ディスクアレイ装置におけるキャッシュメモリ分割管理方式 - Google Patents
ディスクアレイ装置におけるキャッシュメモリ分割管理方式 Download PDFInfo
- Publication number
- JP3933027B2 JP3933027B2 JP2002303504A JP2002303504A JP3933027B2 JP 3933027 B2 JP3933027 B2 JP 3933027B2 JP 2002303504 A JP2002303504 A JP 2002303504A JP 2002303504 A JP2002303504 A JP 2002303504A JP 3933027 B2 JP3933027 B2 JP 3933027B2
- Authority
- JP
- Japan
- Prior art keywords
- segment
- cache
- management table
- access
- host
- 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 - Lifetime
Links
- 238000007726 management method Methods 0.000 title claims description 262
- 238000005192 partition Methods 0.000 title claims description 31
- 238000000034 method Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 13
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 26
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、キャッシュメモリを持ちホストコンピュータ(以下では単に「ホスト」と表記する)からアクセスされるディスクアレイ装置に適用されるディスクアレイ装置おけるキャッシュメモリ分割管理方式に関する。
【0002】
【従来の技術】
1台のディスクアレイ装置に複数のホストを接続し、ストレージを共有するシステム(コンピュータシステム)が見られる。
【0003】
このようなシステムにおいては、ディスクアレイ装置に複数のポートが実装されており、ポート毎に別のホストを接続するのが一般的であるが、同一ポートに複数のホストを接続することも可能である。
【0004】
このようなシステムにおいては、ストレージ上のデータを共有することが可能であるが、必ずしも共有するだけではなく、それぞれのホストが専用のデータを構築することも可能である。
【0005】
このようなシステムでは、複数のホストが別々にアクセスしているときの性能が要求されるのはもちろんのことであるが、複数のホストが同時にアクセスしたからといって極端に応答が遅くならないような動作が期待される。1台のディスクアレイ装置に複数のホストが接続されている以上、ディスクアレイ装置内のハードウェア資源は競合するので、ディスクアレイ装置は装置内のハードウェア資源を適切に分散して使用する必要がある。
【0006】
ディスクアレイ装置において、特に性能上重要な役割を果たしているものとしてキャッシュメモリがある。ディスクアレイ装置内のデータはディスクに全て記憶されているが、その中でより頻繁にアクセスされるデータをキャッシュメモリにコピーしておく。ディスクからデータを読み出す速度に比べて、キャッシュメモリからデータを読み出す速度は非常に高速であるので、キャッシュヒット率はディスクアレイ装置の平均的性能に大きく関わってくる。
【0007】
高いキャッシュヒット率を得るためのキャッシュアルゴリズムとして一般的で有効な方法が、LRU(Least Reacently Used)制御方式である。
【0008】
この制御方式は、キャッシュメモリ上の全てのデータを順番にリンクしておき、アクセスされたデータをリンクの一番先頭につなぎ直し、また、キャッシュミスした場合には一番最後尾のデータの追い出し制御を行う方式である。この制御方式によれば、1回アクセスされたデータに対してその後すぐに再度アクセスがあればキャッシュヒットし、またしばらくアクセスがなければそのデータは追い出されるので、頻繁にアクセスされるデータほどキャッシュヒットするため、高いキャッシュヒット率が期待できる。
【0009】
なお、従来より、キャッシュメモリを複数のセグメントに分割する技術が考察されていた(例えば、特許文献1および特許文献2参照)。ただし、後述するような「アクセスグループ」の考え方を採用して、そのアクセスグループに従ってディスクアレイ装置におけるキャッシュメモリの分割単位を決定する手法は、従来技術には存在しなかった。
【0010】
【特許文献1】
特開2001−142778号公報(第6−7頁、図1)
【0011】
【特許文献2】
特開平7−319771号公報(第4頁、図1)
【0012】
【発明が解決しようとする課題】
上述した従来のLRU制御方式によるキャッシュアルゴリズムでは、キャッシュ容量に比べて広範囲にランダムアクセスがあると、キャッシュヒットは期待できない。このこと自体はやむを得ないことであるが、このとき問題なのは、それまでキャッシュメモリ上にあったデータが追い出されてしまうことにある。つまり、キャッシュヒットが期待できるようなアクセスパターンとキャッシュヒットが期待できないようなアクセスパターンとが混在していると、キャッシュヒットが期待できるアクセスパターンのほうも影響を受け、混在していないときに比べてキャッシュヒット率が低下する。
【0013】
このような現象が特に問題となるのは、最初に述べたマルチホスト環境においてである。すなわち、あるホストは特定の狭い領域にアクセスしており、別のホストは広範囲にアクセスがあるようなケースである。このような場合には、狭い領域にアクセスしているホストは本来高いキャッシュヒット率が期待されるが、広範囲にアクセスしているホストの影響でキャッシュヒット率が下がってしまう。特に、狭い領域にアクセスしているホストのアクセスが休止している間に広範囲にアクセスしているホストからのアクセスがキャッシュデータを追い出してしまうことがあると、狭い領域にアクセスしているホストからのI/O(Input/Output)がほとんどキャッシュミスになってしまう。
【0014】
このような現象が発生すると、キャッシュヒットが期待できるはずの一のホスト上のアプリケーションが、他のホストの動作によって性能が落ち、性能予測がしにくいシステムになってしまうため、他のホストのアクセスによっても性能の変化の少ない制御が求められている。
【0015】
単純な例では、バックアップ処理を行うためのホストや、実業務は行わず開発評価を行うためのホストが存在するケースである。バックアップ処理は大量のデータを移動する処理なのでもともとキャッシュヒットが期待できない処理であるし、また開発評価を行うためのホストは実業務を行うホストの性能に影響を与えないことが望まれる。本発明は、特にこのような環境を想定してなされたものである。
【0016】
本発明の目的は、上述の点に鑑み、アクセスグループ(アクセスグループの内容については後述する)毎に別々のキャッシュメモリの分割領域(キャッシュセグメント)を使用することで、複数のホストからのアクセスをキャッシュ分割制御することにより、1台のディスクアレイ装置に対して複数のホストからアクセスされる場合(1つのホスト上の複数のアプリケーションからアクセスされる場合を含む)でも、あるホスト(あるいは、あるアプリケーション)からのアクセスのキャッシュヒット率が別のホスト(あるいは、別のアプリケーション)からのアクセスパターンの影響を受けないようにすることができるディスクアレイ装置におけるキャッシュメモリ分割管理方式を提供することにある。
【0017】
【課題を解決するための手段】
本発明のディスクアレイ装置におけるキャッシュメモリ分割管理方式は、キャッシュメモリを持ちホストからアクセスされるディスクアレイ装置において、キャッシュメモリをアクセスグループに対応する複数のキャッシュセグメントに分割して管理するために、キャッシュセグメント識別子(キャッシュセグメント番号等)とアクセスグループとを定義し、キャッシュセグメント識別子毎に当該キャッシュセグメントに対する分割容量の基準値を管理するセグメント管理テーブルと、各アクセスグループと各キャッシュセグメントとの対応付けを示す情報を管理するアクセスグループ管理テーブル(例えば、ポート管理テーブル,論理ディスク管理テーブル,またはホスト管理テーブル)とからなるセグメント情報管理テーブルと、キャッシュメモリの追い出し制御を管理するためにキャッシュセグメントの数だけ設けられるLRUリンク(キャッシュセグメント毎に設けられ当該キャッシュセグメント上のデータをリンクしているLRUリンク)のリンク状態を示す情報を管理するキャッシュ管理テーブルと、ホストからの設定コマンドに基づいて、前記セグメント情報管理テーブル内の情報を設定するセグメント情報設定手段と、前記セグメント情報管理テーブルの設定内容と、前記キャッシュ管理テーブルに管理されている各キャッシュセグメントに対応するLRUリンクのリンク状態とに従って、ホストからのI/O要求がどのアクセスグループに対応するものであるかを認識し、各キャッシュセグメントに割り当てられた分割容量を考慮した上で、キャッシュセグメント毎のキャッシュメモリの追い出し制御を行うI/O管理手段とを有する。
【0018】
ここで、このディスクアレイ装置におけるキャッシュメモリ分割管理方式は、より具体的には、セグメント情報管理テーブル内のセグメント管理テーブルが、分割容量の基準値として、各キャッシュセグメントに割り当てられた固定的な使用量を100分率で示す割り当て基準値を保持し、セグメント情報管理テーブル内のアクセスグループ管理テーブルが、アクセスグループの識別情報(ポート番号,論理ディスク番号,ホストID(IDentification)等)とキャッシュセグメント番号との対応情報を保持し、I/O管理手段が、ホストからのI/Oを指示するコマンドに対応するアクセスグループを判断し、前記アクセスグループ管理テーブルを参照して当該アクセスグループに割り当てられているキャッシュセグメントを認識し、前記セグメント管理テーブルを参照して各キャッシュセグメントの割り当て基準値を認識し、キャッシュ管理テーブルを参照して現時点における各キャッシュセグメントのデータ割り当て量を判断し、以上の判断・認識に基づいてどのキャッシュセグメントからデータを追い出すかを判断し、その判断に従ってキャッシュメモリにおけるデータの追い出しおよび格納の制御を行うことを特徴とするように構成することが考えられる。
【0019】
また、本発明のディスクアレイ装置におけるキャッシュメモリ分割管理方式は、キャッシュメモリを持ちホストからアクセスされるディスクアレイ装置において、キャッシュメモリをアクセスグループに対応する複数のキャッシュセグメントに分割して管理するために、キャッシュセグメント識別子とアクセスグループとを定義し、キャッシュセグメント識別子毎に当該キャッシュセグメントに対する可変の分割容量の基準値を管理するセグメント管理テーブルと、各アクセスグループと各キャッシュセグメントとの対応付けを示す情報を管理するアクセスグループ管理テーブルとからなるセグメント情報管理テーブルと、キャッシュメモリの追い出し制御を管理するためにキャッシュセグメントの数だけ設けられるLRUリンクのリンク状態を示す情報を管理するキャッシュ管理テーブルと、ホストからのアクセスパターンに基づいて分割容量を動的に変更する制御を行うために各キャッシュセグメントに対するアクセス頻度を管理し、現時点において各キャッシュセグメントに割り当てられた分割容量を示す情報を保持するセグメント内部管理テーブルと、ホストからの設定コマンドに基づいて、前記セグメント情報管理テーブル内の情報を設定するセグメント情報設定手段と、前記セグメント情報管理テーブルの設定内容と、前記キャッシュ管理テーブルに管理されている各キャッシュセグメントに対応するLRUリンクのリンク状態と、前記セグメント内部管理テーブル内の現時点における分割容量を示す情報とに従って、ホストからのI/O要求がどのアクセスグループに対応するものであるかを認識し、各キャッシュセグメントに割り当てられた分割容量を考慮した上で、キャッシュセグメント毎のキャッシュメモリの追い出し制御を行うI/O管理手段と、前記セグメント内部管理テーブルで管理されているアクセス頻度と前記セグメント管理テーブル内の可変の分割容量の基準値とに基づいて、各キャッシュセグメントに割り当てられるべき分割容量を示す値を決定する割り当て基準値決定手段とを有するように構成することも可能である。
【0020】
ここで、このディスクアレイ装置におけるキャッシュメモリ分割管理方式は、より具体的には、セグメント情報管理テーブル内のセグメント管理テーブルが、可変の分割容量の基準値として、各キャッシュセグメントに対する可変的な使用量を示す情報である使用量上限,使用量下限,および優先度を保持し、セグメント情報管理テーブル内のアクセスグループ管理テーブルが、アクセスグループの識別情報とキャッシュセグメント番号との対応情報を保持し、セグメント内部管理テーブルが、アクセス頻度を管理する情報であるアクセスカウントおよびアクセスレベルと、現時点における分割容量を示す情報である割り当て基準値とを保持し、I/O管理手段が、ホストからのI/Oを指示するコマンドに対応するアクセスグループを判断し、前記アクセスグループ管理テーブルを参照して当該アクセスグループに割り当てられているキャッシュセグメントを認識し、前記セグメント内部管理テーブルを参照して現時点における各キャッシュセグメントの割り当て基準値を認識し、キャッシュ管理テーブルを参照して現時点における各キャッシュセグメントのデータ割り当て量を判断し、以上の判断・認識に基づいてどのキャッシュセグメントからデータを追い出すかを判断し、その判断に従ってキャッシュメモリにおけるデータの追い出しおよび格納の制御を行い、割り当て基準値決定手段が、前記セグメント管理テーブルおよび前記セグメント内部管理テーブルを参照して、各アクセスレベルのキャッシュセグメントの割り当て基準値を使用量上限と使用量下限との範囲内で決定する処理をアクセスレベルの高い順に行い、その際に、同一アクセスレベルのキャッシュセグメントに関する割り当て基準値の配分(使用量上限の値を割り当てられない場合の配分)については各キャッシュセグメントの優先度を考慮することを特徴とするように構成することが考えられる。
【0021】
なお、上記のディスクアレイ装置におけるキャッシュメモリ分割管理方式のそれぞれについては、ホストからの設定コマンドによってセグメント情報管理テーブル内の情報の設定変更を動的に行うことが可能であり、設定変更後のI/O処理では当該設定変更を反映させてキャッシュ管理テーブルで管理される各キャッシュセグメントのLRUリンクのリンク状態を変更することによって、各キャッシュセグメントの分割容量を動的に変更できるように構成することが、一般的である。
【0022】
また、本発明は、キャッシュメモリを持ちホストからアクセスされるディスクアレイ装置において、キャッシュセグメント識別子毎に当該キャッシュセグメントに対する分割容量の基準値を管理するセグメント管理テーブルと、各アクセスグループと各キャッシュセグメントとの対応付けを示す情報を管理するアクセスグループ管理テーブルとからなるセグメント情報管理テーブル,およびキャッシュメモリの追い出し制御を管理するためにキャッシュセグメントの数だけ設けられるLRUリンクのリンク状態を示す情報を管理するキャッシュ管理テーブルが存在することを前提として、コントローラを、ホストからの設定コマンドに基づいて、前記セグメント情報管理テーブル内の情報を設定するセグメント情報設定手段,および前記セグメント情報管理テーブルの設定内容と、前記キャッシュ管理テーブルに管理されている各キャッシュセグメントに対応するLRUリンクのリンク状態とに従って、ホストからのI/O要求がどのアクセスグループに対応するものであるかを認識し、各キャッシュセグメントに割り当てられた分割容量を考慮した上で、キャッシュセグメント毎のキャッシュメモリの追い出し制御を行うI/O管理手段として機能させるためのプログラムの態様で実現することも可能である。
【0023】
さらに、本発明は、キャッシュメモリを持ちホストからアクセスされるディスクアレイ装置において、キャッシュセグメント識別子毎に当該キャッシュセグメントに対する可変の分割容量の基準値を管理するセグメント管理テーブルと、各アクセスグループと各キャッシュセグメントとの対応付けを示す情報を管理するアクセスグループ管理テーブルとからなるセグメント情報管理テーブル,キャッシュメモリの追い出し制御を管理するためにキャッシュセグメントの数だけ設けられるLRUリンクのリンク状態を示す情報を管理するキャッシュ管理テーブル,およびホストからのアクセスパターンに基づいて分割容量を動的に変更する制御を行うために各キャッシュセグメントに対するアクセス頻度を管理し、現時点において各キャッシュセグメントに割り当てられた分割容量を示す情報を保持するセグメント内部管理テーブルが存在することを前提として、コントローラを、ホストからの設定コマンドに基づいて、前記セグメント情報管理テーブル内の情報を設定するセグメント情報設定手段,前記セグメント情報管理テーブルの設定内容と、前記キャッシュ管理テーブルに管理されている各キャッシュセグメントに対応するLRUリンクのリンク状態と、前記セグメント内部管理テーブル内の現時点における分割容量を示す情報とに従って、ホストからのI/O要求がどのアクセスグループに対応するものであるかを認識し、各キャッシュセグメントに割り当てられた分割容量を考慮した上で、キャッシュセグメント毎のキャッシュメモリの追い出し制御を行うI/O管理手段,および前記セグメント内部管理テーブルで管理されているアクセス頻度と前記セグメント管理テーブル内の可変の分割容量の基準値とに基づいて、各キャッシュセグメントに割り当てられるべき分割容量を示す値を決定する割り当て基準値決定手段として機能させるためのプログラムの態様で実現することも可能である。
【0024】
【発明の実施の形態】
次に、本発明について図面を参照して詳細に説明する。
【0025】
(1) 第1の実施の形態
【0026】
図1は、本発明の第1の実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の構成を示すブロック図である。
【0027】
図1を参照すると、本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式は、複数のホスト(ホスト11およびホスト12)と、ディスクアレイ装置100とを含んで構成されている。
【0028】
ディスクアレイ装置100は、複数のポート31〜34を有している。ここで、ポート31およびポート32はホスト11のポート21およびポート22と接続し、ポート33およびポート34はホスト12のポート23およびポート24と接続している。これにより、ディスクアレイ装置100は、2台のホスト11およびホスト12と、それぞれ2ポートずつを介して接続している。2ポートずつ接続するのはパス障害に備えたものである。
【0029】
また、ディスクアレイ装置100は、コントローラ40と、制御メモリ51と、キャッシュメモリ52と、ディスク71〜73とを持っている。
【0030】
コントローラ40は、ホスト11およびホスト12からのコマンドに従って、ディスク71〜73へのデータの読み書きおよびキャッシュメモリ52への読み書きを制御する。
【0031】
このコントローラ40は、セグメント情報設定手段41と、I/O管理手段42とを含んで構成されている。
【0032】
制御メモリ51は、コントローラ40が前記の制御のために使用するメモリである。本実施の形態においては、制御メモリ51は、通常のキャッシュ管理を行うためのキャッシュ管理テーブル61(LRU制御テーブル)と、キャッシュセグメント情報を制御・管理するためのセグメント情報管理テーブル62とを保持している。
【0033】
セグメント情報管理テーブル62は、図3に示すように、セグメント管理テーブルと、ポート管理テーブルとからなっている。
【0034】
セグメント管理テーブルは、各キャッシュセグメントに対する分割容量の基準値を示す情報を管理している。ここで、「分割容量の基準値」とは、キャッシュメモリ52の全体の容量をそれぞれのキャッシュセグメントにどのくらいの量だけ割り当てるかを示す指標をいう。最も単純なケースでは、本実施の形態に示すように、分割割合をそのまま「割り当て基準値」として示す値が、この分割容量の基準値に該当する。ディスクアレイ装置100は、このような分割容量の基準値の指定に従って動作することで、キャッシュセグメント量の管理を可能とする。
【0035】
本実施の形態では、キャッシュセグメントの識別子(キャッシュセグメント番号)として、#0〜#3までが定義されており、セグメント管理テーブルはキャッシュセグメント#0〜#3のそれぞれに対しての割り当て基準値を100分率で記憶・管理している。例えば、図3中の(a)では、キャッシュセグメント#0の割り当て基準値が100%であり、他のキャッシュセグメントの割り当て基準値が0%となっている。
【0036】
ポート管理テーブルは、アクセスグループの振り分けを管理するテーブルであるアクセスグループ管理テーブルに該当する。
【0037】
「アクセスグループ」とは、ディスクアレイ装置100がI/Oを指示するコマンドをいずれかのホストから受信したときに、そのコマンドに含まれる情報によって判別できるような条件で設定されるグループをいう。
【0038】
このアクセスグループの判別条件の例としては、コマンドを受信したポート(そのポート番号),コマンドで指示された論理ディスク番号,およびコマンドの発行元のホストのホストIDといった各情報があげられる。これらの情報は、いずれも受信したコマンドに含まれる情報であるため、ディスクアレイ装置100では、保持している設定値によって、そのコマンドに対応するキャッシュセグメントを判定することが可能となる。
【0039】
本実施の形態では、コマンドを受信したポートによってアクセスグループが振り分けられている。したがって、アクセスグループ管理テーブルとして、ポート管理テーブルが採用されている。
【0040】
このポート管理テーブルは、それぞれのポート31〜34(ポート番号が#0〜#3のポート)で受信したコマンドがどのキャッシュセグメントを使用するべきかを記憶・管理している。例えば、図3中の(a)では、全てのポートがキャッシュセグメント#0(キャッシュセグメント番号が#0のキャッシュセグメント)に割り当てられている。すなわち、図3中の(a)の状態は、実質的には、キャッシュメモリ52の分割が行われていない状態である。
【0041】
キャッシュ管理テーブル61は、キャッシュメモリ52の各キャッシュセグメントに対応するLRUリンクの内容(図4参照)を示す情報を管理している。図4中の(a)においては、キャッシュメモリ52上に存在するデータ〔0〕〜〔9〕が全てキャッシュセグメント#0LRUリンクにつながるデータとして管理されている。
【0042】
図2は、本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式のI/O管理処理(I/O管理手段42による処理)を示す流れ図である。この処理は、I/O指示コマンド受け取りステップ201と、アクセスグループ判断ステップ202と、キャッシュセグメント認識ステップ203と、割り当て基準値認識ステップ204と、データ割り当て量判断ステップ205と、データ追い出し対象キャッシュセグメント判断ステップ206と、追い出し・格納制御ステップ207とからなる。
【0043】
図3〜図5は、本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体的な動作を説明するための図である。
【0044】
すなわち、図3は、上記でも言及したように、本実施の形態の具体的な動作におけるセグメント情報管理テーブル62の内容の変遷を示す図である。
【0045】
また、図4および図5は、上記でも一部言及したように、本実施の形態の具体的な動作におけるキャッシュ管理テーブル61の内容の変遷を説明するための図である。
【0046】
次に、図1〜図5を参照して、上記のように構成された本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の全体の動作について詳細に説明する。
【0047】
第1に、キャッシュセグメント情報設定処理時の動作(セグメント情報設定手段41の動作)について説明する。
【0048】
図3中の(a)は、このキャッシュセグメント情報設定(設定変更)処理前におけるセグメント情報管理テーブル62の状態を示す図である。
【0049】
これが、ホスト11またはホスト12からの設定コマンド(キャッシュセグメント情報の設定を指示するコマンド)によって、図3中の(b)に示すように設定されるものとする。
【0050】
すなわち、ディスクアレイ装置100内のコントローラ40中のセグメント情報設定手段41は、当該設定コマンドに基づき、セグメント情報管理テーブル62(ポート管理テーブルおよびセグメント管理テーブル)中のキャッシュセグメント情報の設定変更を行う。
【0051】
この設定では、ポート管理テーブルにおいて、ポート番号が#0のポート31とポート番号が#1のポート32とがキャッシュセグメント#0に関連付けられ、ポート番号が#2のポート33とポート番号が#3のポート34とがキャッシュセグメント#1に関連付けられる。これは、つまり、ホスト11とキャッシュセグメント#0とが一対一の関係に設定され、ホスト12とキャッシュセグメント#1とが一対一の関係に設定されることを示している。
【0052】
また、セグメント管理テーブルにおいて、キャッシュセグメント#0の割り当て基準値が70%に設定され、キャッシュセグメント#1の割り当て基準値が30%に設定される。これは、ホスト11がキャッシュ容量の70%を使用することを示し、ホスト12がキャッシュ容量の30%を使用することを示す。
【0053】
第2に、上記のようにして図3中の(b)に示す設定が行われた後の、ディスクアレイ装置100におけるI/O管理処理時の動作(I/O管理手段42の動作)について説明する(図2参照)。
【0054】
セグメント情報管理テーブル62が、図3中の(a)のような状態から図3中の(b)に示すような状態に設定(動的な設定変更)されると、コントローラ40内のI/O管理手段42は以下に示すような処理を行う(図2参照)。
【0055】
まず、I/Oを指示するコマンドを受け取ると(ステップ201)、そのコマンドに対応するアクセスグループを判断する(ステップ202)。すなわち、どのポートから(つまり、どのホストから)、当該コマンドを受信したかを判断する。
【0056】
その上で、セグメント情報管理テーブル62内のポート管理テーブルを参照して、当該アクセスグループに割り当てられているキャッシュセグメント(そのキャッシュセグメント番号)を認識する(ステップ203)。
【0057】
また、I/O管理手段42は、セグメント情報管理テーブル62内のセグメント管理テーブルを参照して、各キャッシュセグメントの割り当て基準値を認識する(ステップ204)。
【0058】
さらに、I/O管理手段42は、キャッシュ管理テーブル61を参照して、現時点における各キャッシュセグメントのデータ割り当て量(どれだけのデータが各キャッシュセグメントLRUリンクにつながれているか)を判断する(ステップ205)。
【0059】
そして、I/O管理手段42は、以上のステップ202〜ステップ205の判断・認識に基づいて、どのキャッシュセグメントからデータを追い出すかを判断し(ステップ206)、その判断に従ってキャッシュメモリ52におけるデータの追い出しおよび格納の制御を行う(ステップ207)。
【0060】
例えば、LRUリンクの状態が図4および図5に示すような場合には、以下のような処理が行われる。
【0061】
図4中の(a)は、図3中の(b)の設定が行われた瞬間におけるキャッシュメモリ52に関するLRUリンクの状態を示す図である(キャッシュ管理テーブル61の内容はこのようなLRUリンクの状態を示すものとなっている)。この時点では、まだキャッシュメモリ52上の全てのデータ(データ〔0〕〜〔9〕)はキャッシュセグメント#0LRUリンクにつながっている(全データがキャッシュセグメント#0に割り当てられている)。
【0062】
ここで、ディスクアレイ装置100が、ホスト12からポート33またはポート34を介して、データ〔10〕のI/Oを指示するコマンドを受信した場合の、LRUリンクの状態は、図4中の(b)に示すようになる。
【0063】
すなわち、ホスト12からの上記のコマンドで要求されたI/Oの対象のデータ〔10〕のためにキャッシュメモリ52からデータ〔9〕が追い出され、キャッシュセグメント#0LRUリンクはデータ〔0〕〜〔8〕からなるリンクとなり、データ〔10〕だけからなるキャッシュセグメント#1LRUリンクが作られる。
【0064】
さらに、ホスト12からポート33またはポート34を介してデータ〔11〕およびデータ〔12〕のI/Oが要求された後のLRUリンクの状態は、図4中の(c)に示すようになる。
【0065】
この場合にも、上記と同様な動作が行われるので、キャッシュセグメント#0LRUリンクからデータ〔7〕およびデータ〔8〕が追い出され、キャッシュセグメント#1LRUリンクにデータ〔11〕およびデータ〔12〕がつながれる。
【0066】
この時点で、キャッシュセグメント#0LRUリンクとキャッシュセグメント#1LRUリンクとの間におけるデータ割り当ての割合は、図3中の(b)に示すセグメント管理テーブル上の設定通り、70%と30%となった。
【0067】
図5中の(a)は、この状態から、さらに、ホスト12よりデータ〔13〕〜〔15〕のI/Oが要求された場合の、LRUリンクの状態を示す図である。
【0068】
この場合には、これまでとは異なる動作となる。すなわち、キャッシュセグメント#1LRUリンク上にすでに30%のデータが保持されているので、キャッシュセグメント#0LRUリンクを乱さずに、キャッシュセグメント#1LRUリンク内でLRU制御が行われる。
【0069】
さらに、ホスト12からデータ〔16〕〜〔18〕のI/Oが要求された場合にも、同様に、図5中の(b)に示すように、キャッシュセグメント#1LRUリンクだけで追い出し制御が行われる。
【0070】
なお、図5中の(b)までの過程で、ホスト12から次々と新たなデータのI/Oの要求があったが、図5中の(b)に示すように、全キャッシュ容量の70%のデータ〔0〕〜〔6〕がキャッシュセグメント#0に保護されて残っているため、次にホスト11からこれらのデータへのアクセスがあればキャッシュヒットすることになる。
【0071】
(2) 第1の実施の形態の変形形態
【0072】
上記の第1の実施の形態に対しては、下記のような変形形態を考えることができる。
【0073】
先にも述べたように、アクセスグループの判別条件の例としては、コマンドを受信したポートの他に、コマンドで指示された論理ディスク番号や、コマンドの発行元のホストのホストIDが考えられる。
【0074】
したがって、アクセスグループ管理テーブルとして、第1の実施の形態におけるポート管理テーブルの代わりに、論理ディスク管理テーブル(各論理ディスクと各キャッシュセグメントとの対応を示すテーブル)や、ホスト管理テーブル(各ホストと各キャッシュセグメントとの対応を示すテーブル)を採用することが可能である。
【0075】
また、第1の実施の形態では、複数のホストからディスクアレイ装置100にアクセスが行われる場合を考えたが、1つのホストしか存在しないシステムであっても、ホスト上に複数のアプリケーションが存在する場合には、本発明を適用することが可能であり、有意義である。
【0076】
図6は、上述のような考え方に基づく、第1の実施の形態の変形形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体例の構成を示すブロック図である。
【0077】
また、図7は、この変形形態の具体的な動作を説明するための図である。
【0078】
図6を参照すると、このディスクアレイ装置におけるキャッシュメモリ分割管理方式においては、ディスクアレイ装置100は、1つのポート31を介してホスト11に接続されているのみである。しかし、ホスト11上で複数のアプリケーション(アプリケーション111およびアプリケーション112)が動作しており、それぞれのアプリケーションが別の論理ディスクに対してアクセスを行っている。
【0079】
このようなケースでは、やはりキャッシュメモリ52の使用に関して、上記の第1の実施の形態と全く同様の問題が起こりうる。
【0080】
制御メモリ51は、通常のキャッシュ管理を行うためのキャッシュ管理テーブル61(LRU制御テーブル)と、キャッシュセグメント情報を制御・管理するためのセグメント情報管理テーブル62とを保持している。
【0081】
本変形形態では、セグメント情報管理テーブル62は、図7に示すように、セグメント管理テーブルと、アクセスグループ管理テーブルに該当する論理ディスク管理テーブルとからなる。
【0082】
上述のように、この変形形態では、受信したコマンドで指示された論理ディスク番号によって、アクセスグループが定義されている。したがって、セグメント管理テーブルに関しては第1の実施の形態と全く同様であるが、論理ディスク管理テーブルにおいては、論理ディスク#0〜#3(論理ディスク番号が#0〜#3の論理ディスク)の各々に対してキャッシュセグメント番号が割り当てられている。
【0083】
また、このディスクアレイ装置におけるキャッシュメモリ分割管理方式が適用されるシステムにおいては、ホストは1つしか存在しないが、当該ホスト(ホスト11)上のアプリケーションが複数存在することによって、本発明の適用の意義が生じている。
【0084】
本例では、アプリケーション111が論理ディスク#0および論理ディスク#1にアクセスし、アプリケーション112が論理ディスク#2および論理ディスク#3にアクセスしているものとしており、図7に示すような論理ディスク管理テーブルの設定がなされている。
【0085】
本例で示されるように、アクセスグループを論理ディスク番号によって定義する場合でも、第1の実施の形態と全く同様のキャッシュ分割制御を実現することができる。
【0086】
同様に、アクセスグループをホストIDによって定義する場合でも、第1の実施の形態と全く同様のキャッシュ分割制御を実現することができる。
【0087】
図8は、このような場合におけるディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体例の構成を示すブロック図である。
【0088】
この場合には、セグメント情報管理テーブル62は、セグメント管理テーブルと、アクセスグループ管理テーブルに該当するホスト管理テーブルとからなる。また、キャッシュメモリ52は、ホストID(ホストA,ホストB,およびホストCとする)に基づいて、各キャッシュセグメントに分割されている。
【0089】
(3) 第2の実施の形態
【0090】
図9は、本発明の第2の実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の構成を示すブロック図である。
【0091】
図9を参照すると、本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式は、複数のホスト(ホスト11,ホスト12,およびホスト13)と、ディスクアレイ装置100とを含んで構成されている。
【0092】
ディスクアレイ装置100は、複数のポート31〜33を有している。ここで、ポート31はホスト11のポート21と接続し、ポート32はホスト12のポート22と接続し、ポート33はホスト13のポート23と接続している(ディスクアレイ装置100は3つのポート31〜33を介して3台のホスト11〜13に接続している)。
【0093】
また、ディスクアレイ装置100は、コントローラ40と、制御メモリ51と、キャッシュメモリ52と、ディスク71〜73とを持っている。
【0094】
コントローラ40は、ホスト11〜13からのコマンドに従って、ディスク71〜73へのデータの読み書きおよびキャッシュメモリ52への読み書きを制御する。
【0095】
このコントローラ40は、セグメント情報設定手段41と、I/O管理手段42と、割り当て基準値決定手段43とを含んで構成されている。
【0096】
本実施の形態においては、制御メモリ51は、通常のキャッシュ管理を行うためのキャッシュ管理テーブル61(LRU制御テーブル)と、キャッシュセグメント情報を制御・管理するためのセグメント情報管理テーブル62と、セグメント内部管理テーブル63とを保持している。
【0097】
図10は、本実施の形態におけるセグメント情報管理テーブル62の具体的な内容を示す図である。
【0098】
セグメント情報管理テーブル62は、図10に示すように、セグメント管理テーブルと、アクセスグループ管理テーブルに該当するポート管理テーブルとからなっている。本実施の形態では、第1の実施の形態と同様に、ポートによってアクセスグループが定義されている。
【0099】
本実施の形態では、セグメント管理テーブルは、各キャッシュセグメントに対する使用量上限(最大キャッシュ利用可能量),使用量下限(最小保証量),および優先度を示す情報を管理している(キャッシュセグメント#0〜#3に対して、使用量上限,使用量下限,および優先度という3つの基準値を設定できる)。このように、本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式では、設定コマンドによって設定されたキャッシュメモリ52の使用量を示す複数の分割容量の基準値(ここでは、使用量上限,使用量下限,および優先度)に従って、アクセスグループ毎にキャッシュメモリ52が可変の割合で分割されて使用され、分割割合を動的に管理することが可能である。なお、可変の割合で分割する場合における分割容量の基準値として、上記の3つの情報が必ず要求されるわけではなく(例えば、使用量上限および使用量下限の一方だけを指定することも可能である)、また、他の情報を採用することも可能である。
【0100】
本実施の形態においては、キャッシュセグメントの分割割合は、上限値(使用量上限の値)と下限値(使用量下限の値)との間で可変であり、また設定された優先度によって制御される。本実施の形態によれば、キャッシュメモリ52を単に固定の割合で分割制御するだけでなく、アクセスの状況等に応じてある程度動的に分割割合を変更することで、キャッシュメモリ52をより有効に使用することが可能となる。
【0101】
ここで、「アクセスの状況等に応じてある程度動的に分割割合を変更する」という場合の動的な変更は、自動的に行われ、具体的には、ホストからのアクセスパターンに基づいて制御される。例えば、アクセスが集中しているときには多めに使用され、アクセスが少ないときは少なめに使用される。そして、このような制御を行うために、アクセス頻度を管理するテーブルが必要となる。そのテーブルが、図11に示すようなセグメント内部管理テーブル63である。
【0102】
図11は、図10中のセグメント管理テーブルの設定に従って動作するために必要なセグメント内部管理テーブル63の具体例を示す図である。
【0103】
このセグメント内部管理テーブル63は、キャッシュセグメント毎に、割り当て基準値,アクセスカウント,およびアクセスレベルを示す情報を保持している。
【0104】
割り当て基準値は、各キャッシュセグメントに実際にどの程度のキャッシュ容量を割り当てるかを割合(100分率)で示す情報であり、本実施の形態では、第1の実施の形態とは異なり(図3参照)、この値は内部で管理する動的な値となっている。
【0105】
アクセスカウントは、各キャッシュセグメントをアクセスした回数を示す情報である。この値は、LRUを操作するたびに+1し、一定時間毎にクリアする。これにより、最近のアクセス状況を管理することができる。
【0106】
アクセスレベルは、アクセスカウントの値から決まる値である。図11に示す例では、アクセスカウントが100以上のときにアクセスレベルを2とし、アクセスカウントが0のときにアクセスレベルを0とし、それ以外のときにはアクセスレベルを1とする。
【0107】
図12および図13は、本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の割り当て基準値決定処理(割り当て基準値決定手段43による処理)を示す流れ図である。この処理は、アクセスレベル2割り当て基準値決定ステップ1201と、アクセスレベル1割り当て基準値決定ステップ1202と、アクセスレベル0割り当て基準値決定ステップ1203と、割り当て基準値MAX設定可否判定ステップ1301と、全キャッシュセグメント割り当て基準値MAX決定ステップ1302と、優先度同一判定ステップ1303と、等分割り当て基準値配分ステップ1304と、優先度加重割り当て基準値配分ステップ1305とからなる(ステップ1201〜1203の各々の処理の詳細な内容がステップ1301〜1305に示す処理となる)。
【0108】
次に、図9〜図13を参照して、上記のように構成された本実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の全体の動作について説明する。
【0109】
ディスクアレイ装置100内のコントローラ40中のセグメント情報設定手段41およびI/O管理手段42の動作は、第1の実施の形態におけるセグメント情報設定手段41およびI/O管理手段42の動作と同様なものとなる。ただし、セグメント情報設定手段41によって設定されるセグメント管理テーブル内の情報の内容は、第1の実施の形態における割り当て基準値ではなく、図10に示すような使用量上限,使用量下限,および優先度である。また、I/O管理手段42によって参照される割り当て基準値は、セグメント情報管理テーブル62内の値ではなく、その時点においてセグメント内部管理テーブル63内に設定されている値である。
【0110】
以下では、本実施の形態において特有な割り当て基準値決定手段43の動作について詳細に説明する。
【0111】
図11中の(a)は、図10に示すような情報がセグメント情報管理テーブル62に設定された場合の、セグメント内部管理テーブル63の最初の状態を示す図である。
【0112】
コントローラ40内の割り当て基準値決定手段43は、この最初の状態では、セグメント内部管理テーブル63に対し、各キャッシュセグメント#0〜#3について、図10中のセグメント管理テーブルにおける使用量上限の値の70、30、30、0の重みをそのままに、合計が100となるように、54、23、23、0と、割り当て基準値を設定している。先述のように、コントローラ40は、I/O管理処理を実行する際に、この割り当て基準値に従って制御を行う。
【0113】
この割り当て基準値は、アクセスカウントの値によって決まるアクセスレベルによって動的に変化する。
【0114】
すなわち、割り当て基準値決定手段43は、アクセスレベルから割り当て基準値を決定する処理を以下のように行う(図12および図13参照)。
【0115】
割り当て基準値決定手段43は、各アクセスレベルのキャッシュセグメントの割り当て基準値の決定を、図12中のステップ1201〜1203に示すように、アクセスレベルの高い順に行う。そして、各アクセスレベルのキャッシュセグメントについて割り当て基準値を決定する処理を、図13中のステップ1301〜1305に示すような処理の流れで行う。
【0116】
すなわち、割り当て基準値決定手段43は、まず、現在の処理対象のアクセスレベル(同一のアクセスレベル)の全てのキャッシュセグメントの割り当て基準値を使用量上限の値(図13においては「MAX」と表記している)に設定できるか否かを判定する(ステップ1301)。この判定においては、他のアクセスレベルのキャッシュセグメントの割り当て基準値も含めて割り当て基準値の合計が100を超えないかどうかや、他のアクセスレベルのキャッシュセグメントに使用量下限の値を割り当てられるか否か等が、考慮される。
【0117】
ステップ1301で「処理対象のアクセスレベルの全てのキャッシュセグメントの割り当て基準値を使用量上限の値に設定できる」と判定した場合には、当該アクセスレベルの全てのキャッシュセグメントの割り当て基準値を使用量上限の値に決定する(ステップ1302)。
【0118】
一方、ステップ1301で「処理対象のアクセスレベルの全てのキャッシュセグメントについては割り当て基準値を使用量上限の値に設定できない」と判定した場合には、当該アクセスレベルの全てのキャッシュセグメントの優先度が等しいか否かを判定する(ステップ1303)。
【0119】
ステップ1303で「当該アクセスレベルの全てのキャッシュセグメントの優先度が等しい」と判定した場合には、他のアクセスレベルのキャッシュセグメントの割り当て基準値も含めて割り当て基準値の合計が100を超えないようにすることや、他のアクセスレベルのキャッシュセグメントに対して使用量下限の値の割り当てを確保できるようにすること等を考慮した上で、当該アクセスレベルの全てのキャッシュセグメントの割り当て基準値を等分に配分する(ステップ1304)。
【0120】
一方、ステップ1303で「当該アクセスレベルの全てのキャッシュセグメントの優先度が等しいわけではない」と判定した場合には、他のアクセスレベルのキャッシュセグメントの割り当て基準値も含めて割り当て基準値の合計が100を超えないようにすることや、他のアクセスレベルのキャッシュセグメントに対して使用量下限の値の割り当てを確保できるようにすること等を考慮した上で、当該アクセスレベルの各キャッシュセグメントの割り当て基準値を優先度の重みをかけて配分する(ステップ1305)。
【0121】
ここで、具体例として、アクセスカウントおよびアクセスレベルが図11中の(b)や(c)のような値であった場合における割り当て基準値の決定処理を説明する。
【0122】
図11中の(b)の状態では、キャッシュセグメント#0に高負荷のアクセスがあり、アクセスレベルが2であるので、ステップ1201の処理として、まず、キャッシュセグメント#0の割り当て基準値の決定が行われる。
【0123】
この場合、ステップ1301の判定に従って、キャッシュセグメント#0の割り当て基準値は、図10における使用量上限の値、すなわち70に決定される(ステップ1302)。
【0124】
次に、キャッシュセグメント#1およびキャッシュセグメント#2に低負荷のアクセスがあり、アクセスレベルが1であるので、ステップ1202の処理として、これらのキャッシュセグメントの割り当て基準値の決定が行われる。
【0125】
この場合、図10における使用量上限の値に従って、キャッシュセグメント#1およびキャッシュセグメント#2のそれぞれについて割り当て基準値を30ずつとしてしまうと、割り当て基準値の合計が100以上となってしまう。したがって、ステップ1301の判定(「使用量上限の値に設定できない」という判断)に基づいて、キャッシュセグメント#1およびキャッシュセグメント#2の割り当て基準値の合計が30以下になるように決定しなくてはならない。
【0126】
ここで、両者の優先度が等しければ15ずつとなるが、図10によればキャッシュセグメント#1とキャッシュセグメント#2とについて異なる優先度が設定されているので、ステップ1303の判定(「優先度が等しくない」という判断)に従って、キャッシュセグメント#1の割り当て基準値が20と決定され、キャッシュセグメント#2の割り当て基準値が10と決定される(ステップ1305)。すなわち、図11中の(b)の状態で示すように、セグメント内部管理テーブル63中のキャッシュセグメント#1およびキャッシュセグメント#2に対する割り当て基準値として、20および10が設定される。なお、このような場合に、優先度による重みをどの程度にするかはあらかじめ決めておく必要がある。
【0127】
最後に、ステップ1203の処理として、アクセスレベルが0のキャッシュセグメント#3の割り当て基準量が0と決定される(キャッシュセグメント#3については図10に示すように使用量上限の値が0である)。
【0128】
図11中の(c)の状態は、図11中の(b)の状態からキャッシュセグメント#0へのアクセスがなくなった場合の状態である。
【0129】
この状態では、まず、ステップ1202の処理として、アクセスレベルが1のキャッシュセグメント#1およびキャッシュセグメント#2の割り当て基準値が決定される。
【0130】
この場合、ステップ1301の判定およびステップ1302の処理に従って、キャッシュセグメント#1およびキャッシュセグメント#2の割り当て基準値が、図10における使用量上限の値、すなわち30ずつに決定される。
【0131】
次に、キャッシュセグメント#0に関しては、ステップ1203の処理として、残りの値(100から2×30を引いた値)の40が割り当てられることになる(キャッシュセグメント#3の割り当て基準値は図11中の(b)の場合と同様に0である)。
【0132】
なお、割り当て基準値は、必ず使用量下限の値以上となっていなければならないが、上記のケースでは全て上回っているので問題はない。仮にキャッシュセグメント#0の使用量下限の値が50となっていれば、図11中の(c)のケースでは、キャッシュセグメント#1およびキャッシュセグメント#2の割り当て基準値を決定する段階で、これを考慮しなくてはならなくなる。すなわち、キャッシュセグメント#1およびキャッシュセグメント#2の割り当て基準値の合計が50以下となるように調整される。
【0133】
(4) 第2の実施の形態の変形形態
【0134】
上記の第2の実施の形態に対しても、第1の実施の形態に対すると同様に、上記の(2)に示すような変形形態を考えることができる。すなわち、アクセスグループの判別条件として、コマンドを受信したポートの代わりに、コマンドで指示された論理ディスク番号や、コマンドの発行元のホストのホストIDを採用することができる。つまり、アクセスグループ管理テーブルとして、ポート管理テーブルの代わりに、論理ディスク管理テーブル(各論理ディスクと各キャッシュセグメントとの対応を示すテーブル)や、ホスト管理テーブル(各ホストと各キャッシュセグメントとの対応を示すテーブル)を採用することが可能である。
【0135】
(5) 第3の実施の形態
【0136】
図14は、本発明の第3の実施の形態の構成を示すブロック図である。
【0137】
図14を参照すると、本発明の第3の実施の形態は、図1に示した第1の実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式に対して、キャッシュメモリ分割管理制御プログラム1400を備える点が異なっている。
【0138】
キャッシュメモリ分割管理制御プログラム1400は、ディスクアレイ装置100に読み込まれ、当該ディスクアレイ装置100の動作をコントローラ40(セグメント情報設定手段41およびI/O管理手段42)として制御する。キャッシュメモリ分割管理制御プログラム1400の制御によるディスクアレイ装置100の動作(制御メモリ51およびキャッシュメモリ52が存在することを前提とするコントローラ40の動作)は、第1の実施の形態におけるコントローラ40(セグメント情報設定手段41およびI/O管理手段42)の動作と全く同様になるので、その詳しい説明を割愛する。
【0139】
(6) 第4の実施の形態
【0140】
図15は、本発明の第4の実施の形態の構成を示すブロック図である。
【0141】
図15を参照すると、本発明の第4の実施の形態は、図9に示した第2の実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式に対して、キャッシュメモリ分割管理制御プログラム1500を備える点が異なっている。
【0142】
キャッシュメモリ分割管理制御プログラム1500は、ディスクアレイ装置100に読み込まれ、当該ディスクアレイ装置100の動作をコントローラ40(セグメント情報設定手段41,I/O管理手段42,および割り当て基準値決定手段43)として制御する。キャッシュメモリ分割管理制御プログラム1500の制御によるディスクアレイ装置100の動作(制御メモリ51およびキャッシュメモリ52が存在することを前提とするコントローラ40の動作)は、第1の実施の形態におけるコントローラ40(セグメント情報設定手段41,I/O管理手段42,および割り当て基準値決定手段43)の動作と全く同様になるので、その詳しい説明を割愛する。
【0143】
【発明の効果】
以上説明したように、本発明によると、あらかじめアクセスグループによるキャッシュ分割の設定をしておくことにより、あるホスト(ホストの代わりにアプリケーションが該当する場合もある)から次々とキャッシュヒットしないデータが要求されて追い出し制御が行われても、キャッシュ分割されているので、キャッシュメモリ上の別のホストからのアクセスデータが保護され、キャッシュヒットをある程度期待することができるという効果が生じる。すなわち、ディスクアレイ装置において、あるホストのアクセスパターンにより別のホストのキャッシュヒット率が影響を受けることがなくなるという効果が生じる。
【0144】
また、本発明では、分割容量の基準値(100分率で表した割り当て基準値等)や、アクセスグループとキャッシュセグメント識別子(キャッシュセグメント番号等)との関連付けの設定および設定変更を、ディスクアレイ装置が動作中でも、動的に実行することが可能であり、それによってすぐにディスクアレイ装置のキャッシュセグメントの分割の状態を動的に変更することができる。したがって、システム構築時だけではなく、その後のホストやアプリケーションの追加や削除等に従って最適な設定値が変わっても、その変化に適切に対処できて、システムの動作を止めずに最適値を再設定でき、すぐにそれを反映させることが可能となり、運用上有用なものとなる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の構成を示すブロック図である。
【図2】図1に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式のI/O管理処理を示す流れ図である。
【図3】図1に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体的な動作を説明するための図である。
【図4】図1に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体的な動作を説明するための図である。
【図5】図1に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体的な動作を説明するための図である。
【図6】本発明の第1の実施の形態に係るキャッシュメモリ分割管理方式の変形形態の一例の構成を示すブロック図である。
【図7】図6に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体的な動作を説明するための図である。
【図8】本発明の第1の実施の形態に係るキャッシュメモリ分割管理方式の変形形態の他の例の構成を示すブロック図である。
【図9】本発明の第2の実施の形態に係るディスクアレイ装置におけるキャッシュメモリ分割管理方式の構成を示すブロック図である。
【図10】図9に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体的な動作を説明するための図である。
【図11】図9に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の具体的な動作を説明するための図である。
【図12】図9に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の割り当て基準値決定処理を示す流れ図である。
【図13】図9に示すディスクアレイ装置におけるキャッシュメモリ分割管理方式の割り当て基準値決定処理を示す流れ図である。
【図14】本発明の第3の実施の形態の構成を示すブロック図である。
【図15】本発明の第4の実施の形態の構成を示すブロック図である。
【符号の説明】
11,12,13 ホスト
21,22,23,24,31,32,33,34 ポート
40 コントローラ
41 セグメント情報設定手段
42 I/O管理手段
43 割り当て基準値決定手段
51 制御メモリ
52 キャッシュメモリ
61 キャッシュ管理テーブル
62 セグメント情報管理テーブル
63 セグメント内部管理テーブル
71,72,73 ディスク
100 ディスクアレイ装置
111,112 アプリケーション
1400,1500 キャッシュメモリ分割管理制御プログラム
Claims (8)
- キャッシュメモリを持ちホストからアクセスされるディスクアレイ装置において、
キャッシュメモリをアクセスグループに対応する複数のキャッシュセグメントに分割して管理するために、キャッシュセグメント識別子とアクセスグループとを定義し、キャッシュセグメント識別子毎に当該キャッシュセグメントに対する可変の分割容量の基準値を管理するセグメント管理テーブルと、各アクセスグループと各キャッシュセグメントとの対応付けを示す情報を管理するアクセスグループ管理テーブルとからなるセグメント情報管理テーブルと、
キャッシュメモリの追い出し制御を管理するためにキャッシュセグメントの数だけ設けられるLRUリンクのリンク状態を示す情報を管理するキャッシュ管理テーブルと、
ホストからのアクセスパターンに基づいて分割容量を動的に変更する制御を行うために各キャッシュセグメントに対するアクセス頻度を管理し、現時点において各キャッシュセグメントに割り当てられた分割容量を示す情報を保持するセグメント内部管理テーブルと、ホストからの設定コマンドに基づいて、前記セグメント情報管理テーブル内の情報を設定するセグメント情報設定手段と、
前記セグメント情報管理テーブルの設定内容と、前記キャッシュ管理テーブルに管理されている各キャッシュセグメントに対応するLRUリンクのリンク状態と、前記セグメント内部管理テーブル内の現時点における分割容量を示す情報とに従って、ホストからのI/O要求がどのアクセスグループに対応するものであるかを認識し、各キャッシュセグメントに割り当てられた分割容量を考慮した上で、キャッシュセグメント毎のキャッシュメモリの追い出し制御を行うI/O管理手段と、
前記セグメント内部管理テーブルで管理されているアクセス頻度と前記セグメント管理テーブル内の可変の分割容量の基準値とに基づいて、各キャッシュセグメントに割り当てられるべき分割容量を示す値を決定する割り当て基準値決定手段と
を有することを特徴とするディスクアレイ装置におけるキャッシュメモリ分割管理方式。 - セグメント情報管理テーブル内のセグメント管理テーブルが、可変の分割容量の基準値として、各キャッシュセグメントに対する可変的な使用量を示す情報である使用量上限,使用量下限,および優先度を保持し、
セグメント情報管理テーブル内のアクセスグループ管理テーブルが、アクセスグループの識別情報とキャッシュセグメント番号との対応情報を保持し、
セグメント内部管理テーブルが、アクセス頻度を管理する情報であるアクセスカウントおよびアクセスレベルと、現時点における分割容量を示す情報である割り当て基準値とを保持し、
I/O管理手段が、ホストからのI/Oを指示するコマンドに対応するアクセスグループを判断し、前記アクセスグループ管理テーブルを参照して当該アクセスグループに割り当てられているキャッシュセグメントを認識し、前記セグメント内部管理テーブルを参照して現時点における各キャッシュセグメントの割り当て基準値を認識し、キャッシュ管理テーブルを参照して現時点における各キャッシュセグメントのデータ割り当て量を判断し、以上の判断・認識に基づいてどのキャッシュセグメントからデータを追い出すかを判断し、その判断に従ってキャッシュメモリにおけるデータの追い出しおよび格納の制御を行い、
割り当て基準値決定手段が、前記セグメント管理テーブルおよび前記セグメント内部管理テーブルを参照して、各アクセスレベルのキャッシュセグメントの割り当て基準値を使用量上限と使用量下限との範囲内で決定する処理をアクセスレベルの高い順に行い、その際に、同一アクセスレベルのキャッシュセグメントに関する割り当て基準値の配分については各キャッシュセグメントの優先度を考慮することを特徴とする請求項1記載のディスクアレイ装置におけるキャッシュメモリ分割管理方式。 - ホストからの設定コマンドによってセグメント情報管理テーブル内の情報の設定変更を動的に行うことが可能であり、設定変更後のI/O処理では当該設定変更を反映させてキャッシュ管理テーブルで管理される各キャッシュセグメントのLRUリンクのリンク状態を変更することによって、各キャッシュセグメントの分割容量を動的に変更できることを特徴とする請求項1,または請求項2記載のディスクアレイ装置におけるキャッシュメモリ分割管理方式。
- コマンドを受信したポートによってアクセスグループが振り分けられており、アクセスグループ管理テーブルとしてポート管理テーブルが採用されることを特徴とする請求項1,請求項2,または請求項3記載のディスクアレイ装置におけるキャッシュメモリ分割管理方式。
- コマンドで指示された論理ディスク番号によってアクセスグループが振り分けられており、アクセスグループ管理テーブルとして論理ディスク管理テーブルが採用されることを特徴とする請求項1,請求項2,または請求項3記載のディスクアレイ装置におけるキャッシュメモリ分割管理方式。
- コマンドの発行元のホストのホストIDによってアクセスグループが振り分けられており、アクセスグループ管理テーブルとしてホスト管理テーブルが採用されることを特徴とする請求項1,請求項2,または請求項3記載のディスクアレイ装置におけるキャッシュメモリ分割管理方式。
- キャッシュメモリを持ちホストからアクセスされるディスクアレイ装置において、
キャッシュセグメント識別子毎に当該キャッシュセグメントに対する可変の分割容量の基準値を管理するセグメント管理テーブルと、各アクセスグループと各キャッシュセグメントとの対応付けを示す情報を管理するアクセスグループ管理テーブルとからなるセグメント情報管理テーブル,キャッシュメモリの追い出し制御を管理するためにキャッシュセグメントの数だけ設けられるLRUリンクのリンク状態を示す情報を管理するキャッシュ管理テーブル,およびホストからのアクセスパターンに基づいて分割容量を動的に変更する制御を行うために各キャッシュセグメントに対するアクセス頻度を管理し、現時点において各キャッシュセグメントに割り当てられた分割容量を示す情報を保持するセグメント内部管理テーブルが存在することを前提として、
コントローラを、ホストからの設定コマンドに基づいて、前記セグメント情報管理テーブル内の情報を設定するセグメント情報設定手段,前記セグメント情報管理テーブルの設定内容と、前記キャッシュ管理テーブルに管理されている各キャッシュセグメントに対応するLRUリンクのリンク状態と、前記セグメント内部管理テーブル内の現時点における分割容量を示す情報とに従って、ホストからのI/O要求がどのアクセスグループに対応するものであるかを認識し、各キャッシュセグメントに割り当てられた分割容量を考慮した上で、キャッシュセグメント毎のキャッシュメモリの追い出し制御を行うI/O管理手段,および前記セグメント内部管理テーブルで管理されているアクセス頻度と前記セグメント管理テーブル内の可変の分割容量の基準値とに基づいて、各キャッシュセグメントに割り当てられるべき分割容量を示す値を決定する割り当て基準値決定手段として機能させるためのプログラム。 - セグメント情報管理テーブル内のセグメント管理テーブルが、可変の分割容量の基準値として、各キャッシュセグメントに対する可変的な使用量を示す情報である使用量上限,使用量下限,および優先度を保持し、セグメント情報管理テーブル内のアクセスグループ管理テーブルが、アクセスグループの識別情報とキャッシュセグメント番号との対応情報を保持し、セグメント内部管理テーブルが、アクセス頻度を管理する情報であるアクセスカウントおよびアクセスレベルと、現時点における分割容量を示す情報である割り当て基準値とを保持することを特徴とするディスクアレイ装置におけるコントローラを、セグメント情報設定手段,I/O管理手段,および割り当て基準値決定手段として機能させる際に、当該I/O管理手段が、ホストからのI/Oを指示するコマンドに対応するアクセスグループを判断し、前記アクセスグループ管理テーブルを参照して当該アクセスグループに割り当てられているキャッシュセグメントを認識し、前記セグメント内部管理テーブルを参照して現時点における各キャッシュセグメントの割り当て基準値を認識し、キャッシュ管理テーブルを参照して現時点における各キャッシュセグメントのデータ割り当て量を判断し、以上の判断・認識に基づいてどのキャッシュセグメントからデータを追い出すかを判断し、その判断に従ってキャッシュメモリにおけるデータの追い出しおよび格納の制御を行うことを特徴とし、当該割り当て基準値決定手段が、前記セグメント管理テーブルおよび前記セグメント内部管理テーブルを参照して、各アクセスレベルのキャッシュセグメントの割り当て基準値を使用量上限と使用量下限との範囲内で決定する処理をアクセスレベルの高い順に行い、その場合に、同一アクセスレベルのキャッシュセグメントに関する割り当て基準値の配分については各キャッシュセグメントの優先度を考慮することを特徴とする請求項7記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002303504A JP3933027B2 (ja) | 2002-10-17 | 2002-10-17 | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
US10/680,357 US7281087B2 (en) | 2002-10-17 | 2003-10-08 | Disk array device managing cache memory by dividing cache memory into a plurality of cache segments |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002303504A JP3933027B2 (ja) | 2002-10-17 | 2002-10-17 | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004139349A JP2004139349A (ja) | 2004-05-13 |
JP3933027B2 true JP3933027B2 (ja) | 2007-06-20 |
Family
ID=32089389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002303504A Expired - Lifetime JP3933027B2 (ja) | 2002-10-17 | 2002-10-17 | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7281087B2 (ja) |
JP (1) | JP3933027B2 (ja) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4439798B2 (ja) * | 2002-10-17 | 2010-03-24 | 株式会社日立製作所 | ディスクアレイ装置の制御方法、及びディスクアレイ装置 |
JP2005339299A (ja) * | 2004-05-28 | 2005-12-08 | Hitachi Ltd | ストレージ装置のキャッシュ制御方法 |
US20060075007A1 (en) * | 2004-09-17 | 2006-04-06 | International Business Machines Corporation | System and method for optimizing a storage system to support full utilization of storage space |
US7958093B2 (en) * | 2004-09-17 | 2011-06-07 | International Business Machines Corporation | Optimizing a storage system to support short data lifetimes |
US8914330B2 (en) * | 2004-09-17 | 2014-12-16 | International Business Machines Corporation | Bulk deletion through segmented files |
JP2006185335A (ja) * | 2004-12-28 | 2006-07-13 | Toshiba Corp | 情報処理装置及びこの情報処理装置の制御方法 |
JP4579000B2 (ja) * | 2005-02-14 | 2010-11-10 | 株式会社日立製作所 | 計算機システムにおけるデータ配置設定 |
JP4813843B2 (ja) | 2005-08-04 | 2011-11-09 | 株式会社日立製作所 | ストレージ装置、ディスクキャッシュ制御方法及びディスクキャッシュの容量割当方法 |
US8621275B1 (en) | 2010-08-06 | 2013-12-31 | Open Invention Network, Llc | System and method for event-driven live migration of multi-process applications |
JP4855102B2 (ja) * | 2006-02-23 | 2012-01-18 | 株式会社日立製作所 | 計算機システム及び管理計算機とストレージシステム並びに記憶領域割当量制御方法 |
US7574556B2 (en) * | 2006-03-20 | 2009-08-11 | International Business Machines Corporation | Wise ordering for writes—combining spatial and temporal locality in write caches |
US7500050B2 (en) | 2006-03-20 | 2009-03-03 | International Business Machines Corporation | Wise ordering for writes—combining spatial and temporal locality in write caches for multi-rank storage |
US7912817B2 (en) * | 2008-01-14 | 2011-03-22 | International Business Machines Corporation | System and method for data management through decomposition and decay |
JP5410025B2 (ja) | 2008-03-07 | 2014-02-05 | 株式会社日立製作所 | ストレージシステム及びその管理方法 |
JP4808747B2 (ja) * | 2008-06-03 | 2011-11-02 | 株式会社日立製作所 | ストレージサブシステム |
JP2010009442A (ja) * | 2008-06-30 | 2010-01-14 | Fujitsu Ltd | ディスクアレイシステム、ディスク制御装置及びその再構築処理方法 |
JP5224959B2 (ja) | 2008-07-29 | 2013-07-03 | 株式会社東芝 | キャッシュシステム |
WO2011032593A1 (en) * | 2009-09-17 | 2011-03-24 | Nokia Corporation | Multi-channel cache memory |
US8832390B1 (en) | 2010-07-12 | 2014-09-09 | Vmware, Inc. | Online classification of memory pages based on activity level using dynamically adjustable scan rates |
US9032398B2 (en) | 2010-07-12 | 2015-05-12 | Vmware, Inc. | Online classification of memory pages based on activity level represented by one or more bits |
US9063866B1 (en) * | 2010-07-12 | 2015-06-23 | Vmware, Inc. | Page table data structure for online classification of memory pages based on activity level |
US8990531B2 (en) | 2010-07-12 | 2015-03-24 | Vmware, Inc. | Multiple time granularity support for online classification of memory pages based on activity level |
JP5641300B2 (ja) * | 2010-07-14 | 2014-12-17 | 日本電気株式会社 | ストレージシステム及びストレージシステムのメモリキャッシュ領域制御方法 |
US8806137B2 (en) * | 2011-06-17 | 2014-08-12 | Lsi Corporation | Cache replacement using active cache line counters |
US9098420B2 (en) * | 2011-10-21 | 2015-08-04 | Nokia Technology Oy | Method and apparatus for synchronizing a cache |
US9262321B2 (en) | 2011-11-17 | 2016-02-16 | International Business Machines Corporation | Adjustment of destage rate based on read and write response time requirements |
KR101463536B1 (ko) * | 2012-11-30 | 2014-11-19 | 성균관대학교산학협력단 | 메모리 관리 장치, 방법 및 시스템 |
US9213644B2 (en) * | 2013-03-07 | 2015-12-15 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Allocating enclosure cache in a computing system |
JP5895911B2 (ja) * | 2013-09-10 | 2016-03-30 | 日本電気株式会社 | キャッシュ制御装置及びキャッシュの制御方法、ディスクアレイ装置及びそのコントローラ、並びにコンピュータ・プログラム |
US9454488B2 (en) * | 2014-08-08 | 2016-09-27 | PernixData, Inc. | Systems and methods to manage cache data storage |
US9639481B2 (en) * | 2014-08-08 | 2017-05-02 | PernixData, Inc. | Systems and methods to manage cache data storage in working memory of computing system |
JP6200100B2 (ja) * | 2014-10-03 | 2017-09-20 | 株式会社日立製作所 | 計算機システム |
WO2016181562A1 (ja) * | 2015-05-14 | 2016-11-17 | 株式会社日立製作所 | ストレージシステム、及び、記憶制御方法 |
CN106484310B (zh) * | 2015-08-31 | 2020-01-10 | 华为数字技术(成都)有限公司 | 一种存储阵列操作方法和装置 |
US10802712B2 (en) | 2015-10-13 | 2020-10-13 | Axell Corporation | Information processing apparatus and method of processing information |
JP6424330B2 (ja) * | 2015-10-13 | 2018-11-21 | 株式会社アクセル | 情報処理装置、及び情報処理方法 |
US10019372B2 (en) * | 2015-12-16 | 2018-07-10 | Western Digital Technologies, Inc. | Caching sensing device data in data storage device |
KR102558947B1 (ko) * | 2016-08-25 | 2023-07-25 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
JP6402432B2 (ja) * | 2016-09-06 | 2018-10-10 | 株式会社アクセル | 情報処理装置、及び情報処理方法 |
US10592420B1 (en) * | 2016-12-30 | 2020-03-17 | EMC IP Holding Company LLC | Dynamically redistribute cache space with min-max technique |
JP7011156B2 (ja) * | 2017-11-20 | 2022-01-26 | 富士通株式会社 | ストレージ制御装置およびプログラム |
JP6730344B2 (ja) * | 2018-03-02 | 2020-07-29 | Necプラットフォームズ株式会社 | キャッシュ装置およびキャッシュ装置の制御方法 |
JP6995723B2 (ja) * | 2018-09-19 | 2022-01-17 | キオクシア株式会社 | メモリシステム、ストレージシステム、および制御方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58144961A (ja) | 1982-02-24 | 1983-08-29 | Fujitsu Ltd | 記憶領域管理方式 |
JPS62233864A (ja) | 1986-04-04 | 1987-10-14 | Fuji Electric Co Ltd | デイスクキヤツシユメモリ管理方式 |
JPH0236446A (ja) | 1988-07-26 | 1990-02-06 | Matsushita Electric Ind Co Ltd | ディスク・キャッシュ装置 |
EP0389151A3 (en) * | 1989-03-22 | 1992-06-03 | International Business Machines Corporation | System and method for partitioned cache memory management |
JPH05128002A (ja) | 1991-11-01 | 1993-05-25 | Fujitsu Ltd | キヤツシユメモリ分割制御方式 |
JPH0689232A (ja) | 1992-09-08 | 1994-03-29 | Fujitsu Ltd | キャッシュメモリの制御方法 |
JPH07319771A (ja) | 1994-05-27 | 1995-12-08 | Fujitsu Ltd | ディスク制御装置 |
JPH08115263A (ja) | 1994-10-18 | 1996-05-07 | Fuji Xerox Co Ltd | メモリ装置 |
JPH08314779A (ja) | 1995-05-16 | 1996-11-29 | Hitachi Ltd | サーバーシステム |
JPH10333984A (ja) | 1997-05-30 | 1998-12-18 | Matsushita Electric Ind Co Ltd | 記録再生装置 |
JP2000353126A (ja) | 1999-06-09 | 2000-12-19 | Mitsubishi Electric Corp | 計算機システムのバッファキャッシュ再分割方法及びバッファキャッシュ再分割機能付き計算機システム |
US6341331B1 (en) | 1999-10-01 | 2002-01-22 | International Business Machines Corporation | Method and system for managing a raid storage system with cache |
-
2002
- 2002-10-17 JP JP2002303504A patent/JP3933027B2/ja not_active Expired - Lifetime
-
2003
- 2003-10-08 US US10/680,357 patent/US7281087B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20040078518A1 (en) | 2004-04-22 |
JP2004139349A (ja) | 2004-05-13 |
US7281087B2 (en) | 2007-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3933027B2 (ja) | ディスクアレイ装置におけるキャッシュメモリ分割管理方式 | |
JP4435831B2 (ja) | ストレージエリアネットワークレベルにおける代替キャッシュ方式の提供 | |
EP1785876B1 (en) | Storage control system and storage control method | |
US8909868B2 (en) | Quality of service control method for storage system | |
US6988165B2 (en) | System and method for intelligent write management of disk pages in cache checkpoint operations | |
JP3962368B2 (ja) | 共用リソースを動的に割り振るためのシステムおよび方法 | |
US7353334B2 (en) | Method of increasing performance and manageability of network storage systems using optimized cache setting and handling policies | |
US7577787B1 (en) | Methods and systems for scheduling write destages based on a target | |
US6957294B1 (en) | Disk volume virtualization block-level caching | |
US9635123B2 (en) | Computer system, and arrangement of data control method | |
JP2013511081A (ja) | デバイス・アダプタを介して、データをキャッシュから複数のストレージ・デバイスの各々にデステージするための方法、システム及びコンピュータ・プログラム | |
US7979639B2 (en) | Storage apparatus and cache control method | |
EP2350840B1 (en) | Method for controlling performance aspects of a data storage and access routine | |
US20030079087A1 (en) | Cache memory control unit and method | |
US9658959B2 (en) | Cache resource manager | |
US20070079103A1 (en) | Method for resource management in a logically partitioned storage system | |
EP1953635A2 (en) | Storage system comprising function for alleviating performance bottleneck | |
WO2010042325A2 (en) | System for controlling performance aspects of a data storage and access routine | |
JP5882557B2 (ja) | 要求優先順位シーク・マネージャ | |
US20100312967A1 (en) | Cache control apparatus and method | |
US20050108473A1 (en) | Storage device adapter equipped with integrated cache | |
KR20190063378A (ko) | 이종 가상화 클라우드 캐시 환경에서의 동적 캐시분할 관리자 | |
JP4332126B2 (ja) | キャッシング制御プログラム、キャッシング制御装置およびキャッシング制御方法 | |
US9465745B2 (en) | Managing access commands by multiple level caching | |
US10592124B2 (en) | Predictable client latency via background file system operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040427 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050124 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061219 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070216 |
|
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: 20070227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070312 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3933027 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100330 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110330 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120330 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130330 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140330 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |