JP2005339299A - ストレージ装置のキャッシュ制御方法 - Google Patents

ストレージ装置のキャッシュ制御方法 Download PDF

Info

Publication number
JP2005339299A
JP2005339299A JP2004158627A JP2004158627A JP2005339299A JP 2005339299 A JP2005339299 A JP 2005339299A JP 2004158627 A JP2004158627 A JP 2004158627A JP 2004158627 A JP2004158627 A JP 2004158627A JP 2005339299 A JP2005339299 A JP 2005339299A
Authority
JP
Japan
Prior art keywords
cache
computer
priority
storage area
storage
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.)
Pending
Application number
JP2004158627A
Other languages
English (en)
Inventor
Yoshinori Matsui
義典 松井
Kazuhisa Miyata
和久 宮田
Nobuyuki Kishi
信之 岸
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004158627A priority Critical patent/JP2005339299A/ja
Priority to US10/968,964 priority patent/US7293144B2/en
Publication of JP2005339299A publication Critical patent/JP2005339299A/ja
Pending 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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
    • G06F12/0871Allocation or management of cache space
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared 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/60Details of cache memory
    • G06F2212/6042Allocation of cache space to multiple users or processors

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)

Abstract

【課題】
従来のデータ種別によるキャッシュメモリの制御方法では、予め使用領域の上限サイズを決めておく必要がある。そのため、例えば、ある種別のデータが使用する使用領域が上限値に達している場合には別の種別のデータが使用する使用領域に空きが存在する場合でもキャッシュメモリを使用できず、キャッシュメモリの利用効率が低下する。一方、使用領域の上限値を撤廃すると保持していた領域内のデータが他のデータに置き換えられて消失する。
【解決手段】
複数の計算機に接続されたストレージ装置の制御装置におけるディスクキャッシュメモリ内にそれぞれの計算機に対応した最低保証値の大きさの格納領域を設定し、それぞれの計算機に対応した優先度に応じてそれぞれの計算機に格納領域を割り当てる。
【選択図】 図23

Description

本発明はストレージ装置のキャッシュ制御技術に関する。
ストレージ装置では、内部にキャッシュメモリを設けることで、同一データに対する2度目以降のアクセスはキャッシュメモリから読み込むことで高速アクセスを可能としている。
ところが、キャッシュメモリの容量は、ディスク装置の容量と比べ少ないため、すべてのデータをキャッシュメモリに配置することは困難である。そこで、キャッシュメモリ上に配置するデータを選択する必要がある。
特開2003−330792号公報記載の従来技術では、キャッシュメモリに格納する高使用頻度のデータと低使用頻度のデータとを区別してキャッシュメモリの使用領域を区分し、各使用領域に上限サイズを設けることで、高使用頻度のデータが低使用頻度のデータに追い出されるのを防止してキャッシュヒット率を高めている。(特許文献1参照)
特開2003−330792号公報
しかし、従来技術に示される使用頻度に基づくデータ種別によるキャッシュメモリの制御方法では、予め使用領域の上限サイズを決めておく必要がある。そのため、例えば、ある種別のデータが使用する使用領域が上限値に達している場合には、別の種別のデータが使用する使用領域に空きが存在する場合でも、キャッシュメモリを使用することができず、キャッシュメモリの利用効率が悪いという問題がある。一方、この空き領域を有効利用するために使用領域の上限値を撤廃すると空き領域はなくなるが、他の計算機によってほとんどの領域が占有され、新たな領域を確保できなくなったり、保持していた領域内のデータが他のデータに置き換えられるという問題がある。特に、ほぼ同時期に複数の計算機からストレージ装置に対して入出力の要求が発生し、しかも、これら複数の入出力要求に処理上の区別がついていない場合に上記の問題が発生し易くなる。
本発明の目的は、空き領域を有効に利用できるストレージ装置のキャッシュ制御方法を提供することにある。
上記目的を達成するため、本発明では、複数の計算機に接続されたストレージ装置の制御装置におけるディスクキャッシュメモリ内にそれぞれの計算機に対応して確保すべき最低限の格納領域の大きさを所定の大きさの領域の個数で表した最低保証値の大きさの格納領域を設定し、それぞれの計算機に対応してキャッシュメモリ内の格納領域確保の優先順位を定めた優先度に応じて、前記最低保証値の大きさの格納領域以外の格納領域内に、それぞれの計算機に格納領域を割り当てる。また、本発明では、複数の計算機のそれぞれに対応した優先度及び最低保証値を予めスケジューリングし、時間帯に応じて優先度及び最低保証値を可変する。
本発明によれば、他の計算機によってキャッシュメモリ内の格納領域の大部分が占有されても、当該計算機に対して最低保証値の大きさの格納領域が確保される。また、計算機に対応した優先度に応じて空き領域から格納領域を割り当てるので、利用形態に応じたキャッシュメモリの有効利用が図られる。
本発明の実施例を説明する。図1は本発明の一実施例である、ストレージ装置およびストレージ装置に接続されているホスト計算機(以下、ホスト)のシステム構成を示した図である。
本実施例のシステムは少なくとも1つのホスト110、ストレージ装置120、制御端末190、記憶装置191を有する。
ホスト110は、ポート113を介してストレージ装置120に接続される。ポート113のストレージ装置120への接続は、図示するような結線に限らず、SAN(Storage Area Network)等による接続でもよい。
ホスト110は、アプリケーション111とオペレーティングシステム112を格納した主記憶装置(以下、メモリ)とこれらプログラムを実行するCPU(処理装置)とからなる一般的な計算機である。
アプリケーション111は、オペレーティングシステム112へ入出力を要求することが可能である。
オペレーティングシステム112はアプリケーション111より入出力要求を受け付け、必要に応じて論理ボリューム171に対する命令を生成し、入出力命令を起動する。
ストレージ装置120はディスク制御装置130とディスク装置170とを有する。ディスク制御装置130とディスク装置170は結線によって接続されている。
ディスク制御装置130は、ポート131、制御プログラム132、キャッシュメモリ133、内部タイマ134、ポート135を有し、制御プログラム132を格納した主記憶装置(以下、メモリ)及びこのプログラムを実行するCPU(処理装置)を有する。ポート131、キャッシュメモリ133、内部タイマ134、ポート135、メモリ及びCPUは内部バスによって相互に接続されている。制御プログラム132はディスク制御装置130内のメモリにあっても良いし、またはディスク装置制御装置130に入出力パス131を介して接続するホスト110内にあっても良い。本実施例ではディスク制御装置130内のメモリに制御プログラム132を有する例を示す。
ポート131のホスト110への接続は、図示するような結線に限らず、SAN等による接続でもよい。
制御プログラム132は入出力受付処理140、制御情報更新処理141、制御情報142、キャッシュ制御処理143、キャッシュ制御情報144、スケジュール定義情報145、スケジュール実施処理146を有し、ホスト110や制御端末190から送られる入出力を制御する。
キャッシュメモリ133は、複数のキャッシュスロット150を有する。キャッシュスロット150はキャッシュメモリ133を等分した領域で構成した格納領域の単位である。また、キャッシュスロット150として、物理的には分散して配置されている領域の断片を集めて論理的な格納領域の単位を構成してもよい。
内部タイマ134はディスク制御装置132が保持している時計である。
ポート135は制御端末190との接続部位である。
制御端末190は、ネットワークインタフェイス192、オペレーティングシステム193と管理プログラム(アプリケーションの一つ)194を格納した主記憶装置(以下、メモリ)、及びこれらプログラムを実行するCPU(処理装置)とからなる一般的な計算機である。ホスト110と異なり、制御端末190はストレージ装置120の制御を目的とする計算機である。
制御端末190はネットワークインタフェイス192を介してストレージ装置120に接続されている。制御端末190のストレージ装置120への接続は、図示するような結線に限らず、SAN等による接続でもよい。管理プログラム194は、オペレーティングシステム193、ネットワークインタフェイス192を介して制御プログラム132へ入出力を要求することが可能である。
制御端末190には記憶装置191が接続されている。記憶装置191は制御端末190の演算結果を格納可能な媒体であればどんなものでも構わない。管理プログラム194からの入出力要求から制御情報142の内容を取り出して定義ファイル197として記憶装置191へ保存可能である。
ディスク駆動装置170は、少なくとも1つの論理ボリューム171を有する。論理ボリューム171には、アプリケーション111からの入出力要求によって読み出し・書き出し可能なデータ172が格納されている。また、アプリケーション111からの入出力要求から制御情報142の内容を取り出して定義ファイル173として論理ボリューム171へ保存可能である。
図23は、本発明の概要を示す。2つのホスト(CPU)110に接続されているディスク制御装置130に設けられているキャッシュメモリ133のデータ格納領域は、それぞれが一定の大きさを持つ複数のキャッシュスロットによって構成されており、各ホスト110には予めキャッシュメモリ内の格納領域確保の優先順位を定めた優先度が割り当てられており、各ホスト110にはキャッシュメモリ133への入出力に応じてキャッシュスロットの個数が割り当てられる。また、各ホスト110には、予め、確保すべき最低限の格納領域の大きさをキャッシュスロットの個数で表した最低保証値が割り当てられており、優先度の高い他のホストが格納領域の大きさ(キャッシュスロットの数)を拡張しても、当該ホストには最低保証値の個数のキャッシュスロットの割り当てが確保されており、当該ホストがアクセスするデータがキャッシュメモリ133から排除されないようにしている。
また、本発明では、キャッシュメモリ133内のデータ格納領域を一定の大きさを持つキャッシュスロットの単位で管理しているので、各ホストに対応するデータ格納領域の分布は、キャッシュメモリ133への入出力に伴なって、キャッシュスロットの単位で変化し、最低保証値の範囲にある複数のキャッシュスロットの分布も、キャッシュスロットの単位で変化する。即ち、複数のキャッシュスロットがどのように分布していても最低保証値の個数のキャッシュスロットは常に確保され、あるいは最低限確保され、例えば、初期段階のように、データ量が少ない場合でも最低保証値の個数のキャッシュスロットは確保される。即ち、本発明では、最低保証値の個数のキャッシュスロットを格納領域として実際に割り当てるのではなく、最低限確保されるべきキャッシュスロットの個数である最低保証値のみが設定され、この個数が確保されるように制御される。
また、同一ストレージ装置に複数のホストが接続されている環境では、特定ホストの入出力を優先するような制御が有効になることがある。例えば、バッチ業務とオンライン業務を異なるホストが遂行し、各々のホストが同一ストレージ装置を共用しているシステム構成では、オンライン業務のホストの入出力を優先すれば、オンライン業務は遅延せずに済む。本発明では、優先する経路(計算機)からのデータをキャッシュメモリ内に多く配置するようにキャッシュスロットの制御を行うことにより経路毎の入出力要求の処理時間を差別化できる。また、キャッシュメモリ量の制御情報(優先度、最低保証値、スケジュール定義)を外部からの指示により参照・更新することで、運用形態等に応じてキャッシュメモリ量を柔軟に制御できる。例えば、キャッシュメモリ量の制御情報(後述する優先度、最低保証値、スケジュール定義)を、制御端末190、あるいは複数のホスト110のうちのいずれかから設定することもできる。
図2はキャッシュ制御情報144の詳細図である。
キャッシュ制御情報144は経路定義情報210、キャッシュスロット管理情報211、待ち行列管理情報212を有する。
図3は経路定義情報210の詳細図である。
経路定義情報210は、複数の経路定義エントリ310を有する。経路定義エントリ310には1つの入出力経路状態が設定される。経路定義エントリ310は、経路識別子320、優先度321、キャッシュスロット最低保証値322を有する。本実施例では、ホスト110とディスク制御装置130との経路は、各ホストにつき1つづつであるため、経路識別子320はホスト110を区別するための識別子の意味もある。本実施例では、説明を簡単にするために、経路とホストは一対一に対応する。
経路定義情報210は、ホスト110上のアプリケーション111または制御端末190上の管理プログラム194からの入出力要求により参照・更新が可能である。
経路識別子320はキャッシュメモリのデータ格納領域を構成するキャッシュスロットの待ち行列を識別する情報である。ここで、キャッシュスロットの待ち行列は、キャッシュスロットが割り当てられた順にリンクされたリンク構造である。待ち行列には各ホストの識別のほかに無効キャッシュスロット(有効なデータが格納されていないキャッシュスロットで、新たな領域確保の対象となるもの)を管理するものが必要であるため、待ち行列数は入出力を要求したホスト数+1だけ存在する。
入出力を要求したホストを識別する情報は、例えば、パスグループ識別子、ホスト識別子などを指すが、ホストを一意に識別できる情報であれば何でもよい。
優先度321は異なるホスト間でキャッシュスロット150を使用する優先順位であり、全てのホストでユニークな値であっても良いし、同一の優先度を有する複数のホストがあっても良い。ホスト間の優先度は運用状況に応じて外部からの指示により可変であるが、無効キャッシュスロットを管理する経路識別子の優先度321は固定値で、全優先度中最低とする。優先度を設けることで優先度が高いホストからの入出力よって使用中のキャッシュスロット150の内容は優先度が低いホストによって排除されにくくなる。また、無効キャッシュスロットを管理する経路識別子の優先度321は最低とすることで、無効キャッシュスロットを可能な限り少なくし、キャッシュメモリを有効に利用することを可能にする。
キャッシュスロット最低保証値322は、待ち行列が保持することができるキャッシュスロット識別子の最低個数である。ホスト毎のキャッシュスロット最低保証値322は運用状況に応じて外部からの指示により可変である。しかし、無効キャッシュスロットを管理する経路識別子のキャッシュスロット最低保証値322は、固定で最低保証されるスロット数はない。
ホスト毎にキャッシュスロット最低保証値322を設定することでホストが利用可能な必要最低限のキャッシュメモリ容量を確保している。また、無効キャッシュスロットの最低保証されるスロット数をなくすことで無効キャッシュスロットを可能な限り少なくし、キャッシュメモリを有効に利用することを可能にする。
図4はキャッシュスロット管理情報211の詳細図である。
キャッシュスロット管理情報211は各キャッシュスロット150の状態を保持している。キャッシュスロット管理情報211は、複数のキャッシュスロット管理エントリ410を有する。キャッシュスロット管理エントリ410には、1つのキャッシュスロット150の状態が設定されている。キャッシュスロット管理エントリ410は、キャッシュスロット識別子420、経路識別子421を有する。キャッシュスロット識別子420は、キャッシュスロット150を一意に識別するための情報である。経路識別子421は、キャッシュスロット150を使用している入出力要求元ホスト、または無効キャッシュスロットを示す情報であり、経路識別子320と同一情報である。データ格納位置情報422は、キャッシュスロット識別子420で示されるキャッシュスロットに格納されているデータ172の格納位置を示す情報である。例えば、論理アドレス、セクタ番号、クラスタ番号など論理ボリュームの格納位置を一意に表すものなら何でもよい。
図5は待ち行列管理情報212の詳細図である。
待ち行列管理情報212は複数の待ち行列エントリ510を有する。1つの待ち行列エントリ510は、入出力要求元ホスト毎に使用するキャッシュスロットの待ち行列、または、無効キャッシュスロットを管理する待ち行列が設定される。経路識別子520は、入出力要求元ホスト、または無効キャッシュスロットを管理する待ち行列を識別する情報である。当該キャッシュスロットが入出力要求元ホストに割り当てられていれば経路識別子520には経路識別子320と同一情報が格納され、無効キャッシュスロットであればどの経路識別子情報とも一致しない情報が格納される。待ち行列ヘッダ521は、1つの待ち行列の情報を示し、複数のキャッシュスロット識別子420を有する場合とキャッシュスロット識別子420を保持しない場合(無効キャッシュスロットの場合)とがある。キャッシュスロット使用量522は、待ち行列が有するキャッシュスロット数を示す情報である。
1つの待ち行列が複数のキャッシュスロット識別子420を有する場合、待ち行列ヘッダ521には、待ち行列を構成する複数のキャッシュスロットからなるリンク構造を示す情報が格納されている。即ち、複数のキャッシュスロット識別子420相互の、待ち行列における接続関係を示す情報が格納されている。この接続関係では、キャッシュスロットが割り当てられた順にキャッシュスロット識別子420がリンクされている。従って、待ち行列の先頭に位置するキャッシュスロットほどデータは古く、最後尾に位置するキャッシュスロットほどデータは新しい。図5に示すように、待ち行列ヘッダ521には、当該キャッシュスロットの前及び後に接続されているキャッシュスロットのキャッシュスロット識別子420が順次格納されている。図5に示す接続関係の情報は、後述する図13の待ち行列Bに対応するリンク構造を示したものである。なお、先頭のキャッシュスロットの前スロットには「−」が格納され、最後尾のキャッシュスロットの後スロットには「−」が格納される。
図6はスケジュール定義情報145の詳細を示した図である。
スケジュール定義情報145は、経路定義のスケジューリングを設定するための複数のスケジュール定義エントリ610を有する。スケジュール定義エントリ610は、日付620、時刻621、新規経路定義情報622を有する。スケジュール実施処理146は内部タイマ134を監視し、日時が、設定した日付620、時刻621になると既存の経路定義情報210を新規経路定義情報622に書き換える。
スケジュール定義情報145は、スケジュール実施処理146が参照する情報である。
スケジュール実施処理146は、内部タイマ134を監視し、スケジュール定義情報145に登録されている時刻になるとキャッシュ制御情報144を更新する。特定の時刻でキャッシュ制御情報144を更新することでホスト110からのアクセス制御を柔軟に行うことができる。
次に、図1のシステムにおける入出力について説明する。
本発明における入出力要求の対象は2種類あり、論理ボリューム171と制御情報142である。論理ボリューム171を対象とする入出力は、論理ボリューム内のデータへ読み書きを行う入出力である。一方、本発明における制御情報を外部から操作する手段として制御情報142への入出力がある。
図7は論理ボリューム171への入出力の流れを示した図である。
ホスト110上で動作するアプリケーション111からの入出力要求は、オペレーティングシステム112、ポート113を経由してストレージ装置120へ転送される。
ストレージ装置120へ到着した入出力要求は、ポート131で受け付けられ制御プログラム132へ転送される。
入出力受付処理140はポート131より入出力要求を受け付ける。その後、入出力要求を判別して振り分ける。入出力要求の対象が論理ボリューム171ならば入出力要求をキャッシュ制御処理143へ転送する。入出力要求の対象が制御情報142ならば制御情報更新処理141へ転送する。
キャッシュ制御処理143はキャッシュメモリ133を制御するプログラムで、キャッシュ制御情報143およびキャッシュメモリ133を参照・更新し、必要に応じて論理ボリューム171にアクセスして入出力要求を実行する。
入出力要求の実行が完了後は受け付けとは逆の順序でアプリケーション111に入出力完了を報告する。
制御情報142への入出力要求の処理の流れを図8に示す。
情報制御142への入出力要求は、ホスト110または制御端末190上で動作しているアプリケーション111または管理プログラム194によって実行される。アプリケーション111が制御情報142へ入出力要求を出力した場合、論理ボリューム171への入出力と同様、オペレーティングシステム112、ポート113、ポート131を介して入出力受付処理140へ転送される。入出力受付処理140では入出力要求を判別して、情報制御142への入出力の場合は制御情報更新処理141へ振り分ける。制御情報更新処理141では、キャッシュ制御情報144内の経路定義情報210、またはスケジュール定義情報145内の日付620、時刻621、新規経路定義情報622を参照・更新する。
制御情報142を更新後の処理は、入出力受付とは逆の順序でアプリケーション111に入出力完了を報告する。
管理プログラム194が制御情報142へ入出力要求を出力した場合、入出力要求はオペレーティングシステム193、ネットワークインタフェイス192、ポート135を介して制御情報更新処理141へ転送される。その後の動作はアプリケーション111が要求する入出力の動作と同様である。制御端末190上で動作する管理プログラム194が経路定義情報210、スケジュール定義情報145を参照・更新することにより、ホスト110の稼動状態に依存しない運用が可能となる。
なお、アプリケーション111、管理プログラム194が経路定義情報210、スケジュール定義情報145より取得した情報は論理ボリューム171、または記憶装置191への入出力を実行することで定義ファイルとして保存可能である。アプリケーション111、管理プログラム194は定義ファイル173、定義ファイル197を元に制御情報142への入出力が可能である。定義ファイル173、定義ファイル197を複写、あるいは他の計算機から参照可能にすることで様々な計算機より制御情報の更新が可能となる。
図9は論理ボリューム171に対する入出力要求を受け付けた時におけるキャッシュ制御処理143の動作を示したフローチャートである。
キャッシュ制御処理143は、ボリュームに対する入出力要求を受け付けた後、最初の命令を取り出し(ステップ900)、その命令の種別を判別する(ステップ901、ステップ902)。その命令が読み込み命令または書き込み命令ならば、キャッシュ制御情報の更新処理を実行する(ステップ903、ステップ904)。キャッシュ制御情報更新処理は読み込み命令および書き込み命令で動作が異なるが詳細は後述する。その後、データの読み出し又は書き込みの命令を実行し(ステップ905)、ステップ901からステップ905の動作を最後の命令まで繰り返す(ステップ906、ステップ907)。最後に、ホストへ入出力完了を報告する(ステップ908)。
図10は、図9に示した読み込み命令用キャッシュ制御情報の更新処理903のフローチャートである。
入出力要求により指定されたデータ172がキャッシュメモリ133上に存在するかを判定するため、キャッシュスロット管理情報211のうち、入出力要求で指定されたデータ172が格納されているキャッシュスロット識別子420を検索する(ステップ1000)。検索の際に必要な、データ172とデータが格納されているキャッシュスロットのキャッシュスロット識別子420との対応関係を示す情報は、図4に示したキャッシュスロット管理情報211に格納されている。
キャッシュスロット管理情報211中のキャッシュスロット識別子420で示されるキャッシュメモリ133上のデータがデータ172と一致する場合に、データ172がキャッシュメモリ133上に存在するものと判断する(ステップ1001)。
次に、入出力要求に付加された入出力経路情報と経路定義情報210中の経路識別子320が一致する経路定義エントリ310を検索し、検索した経路定義エントリ310内の優先度321がステップ1000で検索したキャッシュスロットの優先度321より高いか判定する(ステップ1002)。入出力経路の優先度がステップ1000で検索したキャッシュスロットの優先度321より高い場合、ステップ1000で探索したキャッシュスロット識別子のキャッシュスロットを待ち行列から取り出し、入出力経路に対応する待ち行列の最後尾へ登録し(ステップ1003)、キャッシュスロット管理情報211の経路識別子421を入出力要求のものに更新する(ステップ1004)。
ステップ1002で、検索した経路定義エントリ310内の優先度321がステップ1000で検索したキャッシュスロットの優先度321より高くないと判定された場合、なにもせず、キャッシュメモリ133上に存在するデータ172に対応する優先度321は、検索した経路定義エントリ310内の優先度321となる。
入出力要求で指定されたデータ172がキャッシュメモリ133上に存在しない場合、すなわち、キャッシュスロット識別子420で示されるキャッシュメモリ133上のデータがデータ172と一致しない場合にはキャッシュスロット選択処理を実行する(ステップ1006)。キャッシュスロット選択処理では、無効キャッシュスロットまたはキャッシュメモリの内容を論理ボリュームへ退避するキャッシュスロットを選択し、待ち行列から新たに読み出すキャッシュスロット識別子を取り出す処理を行う。ステップ1006で選択したキャッシュスロットを、入出力経路識別子と一致する待ち行列の最後尾へ登録し(ステップ1007)、キャッシュスロット管理情報221の経路識別子421を入出力経路のものに更新する(ステップ1008)。
図11は、図10に示したキャッシュスロット選択処理1006の動作を示すフローチャートである。
待ち行列管理情報212中の待ち行列エントリ510内で、経路識別子520により決定される待ち行列ヘッダ521に登録されている待ち行列のキャッシュスロット使用量522と、経路定義情報210中の経路定義エントリ310内で当該経路識別子320により決定されるキャッシュスロット最低保証値322とを比較した結果、キャッシュスロット使用量522がキャッシュスロット最低保証値322を越えている入出力経路のうち優先度321が最も低いものを経路定義情報210より探索する(ステップ1100、ステップ1101)。キャッシュスロット使用量522がキャッシュスロット最低保証値322を越えている入出力経路が見つかった場合、ステップ1100で探索した待ち行列よりLRU(Least Recently Used)方式でキャッシュスロット識別子を取り出す(ステップ1102)。見つからなかった場合、キャッシュスロット識別子が登録されている待ち行列のうち、最も優先度が低いものよりLRU方式でキャッシュスロット識別子を取り出す(ステップ1103)。
以上の処理で取り出したキャッシュスロットが無効キャッシュスロットでなければキャッシュメモリ上のデータを論理ボリューム171へ書き込み(ステップ1104)、当該キャッシュスロットを以降の処理で使用するキャッシュスロットとする。
図12は、図9に示した書き込み処理904の動作を示すフローチャートである。書き込み処理では、入出力要求で指定されるデータをキャッシュへ書き込むために、キャッシュスロットに書き込まれている内容を退避するための上記キャッシュスロット選択処理を行う(ステップ1200)。ステップ1200で選択したキャッシュスロット150の待ち行列よりキャッシュスロット識別子を取り出し、入出力経路に対応する待ち行列の最後尾へ挿入する(ステップ1201)。さらに、経路識別子320を入出力経路情報に更新し(ステップ1202)、当該キャッシュスロットが当該入出力経路で使用されていることを表示する。
図13〜図18を用いて本発明における論理ボリュームへの入出力の実施例を説明する。
図13は経路定義情報210(図13のA))と待ち行列管理情報212(図13のB))の実施例を示した図である。
実施例でディスク装置は、ホストA、ホストBが接続されている。経路識別子1300は、それぞれ「ホストA」、「ホストB」である。経路識別子1300が「無効」となっている経路定義エントリは、いずれの経路にも属していない無効キャッシュスロットを管理している(以下、無効エントリと呼ぶ)。実施例での優先度1301は、数値が低いほど優先度が高いものとする。また、無効エントリの優先度1301は全優先度中で最低となり、無効エントリのキャッシュスロット最低保証値1302は0である。
キャッシュスロット使用量1305は、待ち行列の状態によって決まる。ホストA、ホストB、無効エントリの待ち行列ヘッダ1304は、それぞれ待ち行列A、待ち行列B、待ち行列Cである。それぞれの待ち行列は、図13のC)に示すようなキャッシュスロット識別子を有する。待ち行列1310は、キャッシュスロット識別子「1」、「2」を有する。待ち行列1311は、キャッシュスロット識別子「3」、「4」、「5」、「6」を有する。待ち行列1312は、無効エントリのキャッシュスロット識別子を管理している。待ち行列1310は、キャッシュスロット識別子「0」を有する。
図24に、各待ち行列に割り当てられたキャッシュスロットの数とキャッシュスロット最低保証値322との関係を示す。各待ち行列では、キャッシュスロットが順次リンクされており、先頭のキャッシュスロットは古く、新しいキャッシュスロットは最後尾にリンクされる。
また、図13、24に示すようなキャッシュスロットのリンク構造は、図5の待ち行列エントリ510に示すように、当該キャッシュスロットの前及び後にリンクされているキャッシュスロットのキャッシュスロット識別子を追加しても実現できる。
図14はキャッシュスロット管理情報211の実施例を示した図である。
キャッシュメモリ133は等分に分割され、各々「0」〜「6」までのキャッシュスロット識別子を有し、各キャッシュスロット識別子によりキャッシュメモリ133上のデータアドレスが一意に決定されるものとする。本実施例では、データ格納位置情報1402として論理ボリューム識別子と論理アドレスを用いる。
例えば、キャッシュメモリ133上のデータアドレスが小さい順に、各々「0」〜「6」までのキャッシュスロット識別子を有するキャッシュスロットが格納されているものとする。キャッシュスロット識別子「0」が示すキャッシュメモリ133上のデータアドレスは、いずれの経路も使用していないアドレスであり、経路識別子は「無効」となっている。以下同様に、キャッシュスロット識別子「1」、「2」は経路識別子「ホストA」が使用しているキャッシュメモリ上のデータアドレスを示し、キャッシュスロット識別子「3」、「4」、「5」、「6」は経路識別子「ホストB」が使用しているキャッシュメモリ上のデータアドレスを示している。
また、論理アドレスについても同様、キャッシュスロット識別子「0」は「無効」、キャッシュスロット識別子「1」〜「6」はそれぞれ「ADR1」〜「ADR6」とする。論理ボリューム識別子は、キャッシュスロット識別子「0」が「無効」で、その他はすべて「VOL0」とする。
図15は論理ボリュームを対象とする入出力要求の実施例を示す図である。
図15のA)に示す入出力1500は、論理ボリューム識別子1501、経路識別子1502、命令1503、パラメタ1504を有する。論理ボリューム識別子1501は入出力対象装置を一意に識別する情報、命令1503は読み込み/書き込み/制御等の命令種別であり、パラメタ1504は命令1503で使用する情報であり、入出力対象となる論理アドレスや磁気ヘッド位置付け等の制御情報である。入出力対象装置の種類によっては、その他の情報も有することもある。
図15のB)に示す入出力1510は経路識別子「ホストB」のホストが要求したもので、論理ボリューム識別子「VOL0」上の論理アドレス「ADDR5」を読み込むものである。図15のC)に示す入出力1520は、経路識別子「ホストA」のホストが要求したもので、論理ボリューム識別子「VOL0」の論理アドレス「ADDR7」を読み込むものである。図15のD)に示す入出力1530は、経路識別子「ホストA」が要求したのもで、論理ボリューム識別子「VOL0」の論理アドレス「ADDR8」にデータ「XYZ」を書き込むものである。
図16は、図15のB)に示した入出力1510(読み込み、キャッシュ上にデータあり)を実行した時のキャッシュ制御処理143の動作フローである。まず、磁気ヘッド位置付け命令を取り出し(ステップ1600)、パラメタで指定された位置に磁気ヘッド位置付けを実行する(ステップ1601)。次に、後続の命令(読み込み命令)を取り出し(ステップ1602)、読み込み処理を実行するが(ステップ1603)、本ケースではキャッシュ上にデータがあるので実際の媒体からのデータの読み込みは行わず、以降の処理でキャッシュ上からデータを読み出す。
まず、目的のデータを保持するキャッシュを得るために、図10のステップ1000で述べた、図4に示したキャッシュスロット管理情報211に保持されている、データとキャッシュスロット識別子との対応関係を示すデータ格納位置情報422を探索し(ステップ1604)、読み込み対象の論理アドレス「ADDR5」を有するキャッシュスロットを取得する。ここでは、キャッシュスロット識別子「5」のキャッシュスロットを得られたものとする。そこで、キャッシュスロット識別子「5」のキャッシュスロットの内容をホストBへ転送する(ステップ1605)。最後に、ホストBへ入出力完了を報告する(ステップ1606)。
図17は、図15のC)に示した入出力1520(読み込み、キャッシュ上にデータなし)を実行した時のキャッシュ制御処理143の動作フローである。ステップ1700〜ステップ1702は図16に示した入出力1510(読み込み、キャッシュ上にデータあり)の場合と同一であるが、ステップ1703で目的のデータがキャッシュ上に存在しないため、以降の処理を行う。
まず、データを退避するキャッシュを得るためにキャッシュスロット探索処理を行う(ステップ1704)。この処理ではいずれの経路にも属していない無効キャッシュスロットであるキャッシュスロット識別子「0」のキャッシュスロットが選択される。待ち行列Cよりキャッシュスロット識別子「0」のキャッシュスロットを取り出し、経路識別子「ホストA」が使用するキャッシュスロットの待ち行列Aの最後尾へ挿入する(ステップ1704)。さらに、ボリューム識別子「VOL0」、論理アドレス「ADDR7」から読み込んだデータをキャッシュスロット識別子「0」のキャッシュスロットへ転送し(ステップ1705)、キャッシュスロット識別子「0」のキャッシュスロットの内容をホストへ転送する(ステップ1706)。その後、経路識別子「ホストA」の使用するキャッシュスロット使用量を更新し(ステップ1707)、論理ボリューム識別子、論理アドレス、経路識別子をそれぞれ、「VOL0」、「ADDR8」、「ホストA」に更新する(ステップ1708)。最後に、ホストAへ入出力の完了を報告する(ステップ1709)。
図18は、図15のD)に示した入出力1530(書き込み)を実行したときにおけるキャッシュ制御処理143の動作フローである。ステップ1800〜ステップ1802は図16に示した入出力1510と同一である。本ケースでも読み込みと同様、待ち行列や経路識別子を更新する。更新する手順は以下のとおりである。
まず、データを退避するキャッシュを得るためにキャッシュスロット探索処理を行う(ステップ1803)。この処理ではいずれの経路にも属していない無効キャッシュスロットであるキャッシュスロット識別子「0」のキャッシュスロットが選択される。待ち行列Cよりキャッシュスロット識別子「0」のキャッシュスロットを取り出し、経路識別子「ホストA」が使用するキャッシュスロットの待ち行列Aへ挿入し(ステップ1804)、経路識別子「ホストA」の使用するキャッシュスロット使用量を更新する(ステップ1805)。
さらに、論理ボリューム識別子、論理アドレス、経路識別子をそれぞれ、「VOL0」、「ADDR8」、「ホストA」に更新し(ステップ1806)、データ「XYZ」をキャッシュスロット識別子「0」のキャッシュスロットで位置付けられるキャッシュメモリへ転送する(ステップ1807)。最後に、ホストAへ入出力の完了を報告する(ステップ1808)。
以上のようにキャッシュスロットを制御することで、入出力経路ごとにキャッシュメモリの使用量を制御することが可能となる。
本発明における制御情報142への入出力の実施例を説明する。制御情報142への入出力では、キャッシュ制御情報144およびスケジュール定義情報145内の、優先度の変更、キャッシュスロット最低保証値の変更、経路定義エントリの追加・削除、およびスケジュール定義の変更が可能である。図19に制御情報142への入出力の実施例を示す。
図19のA)に示す優先度を変更する入出力は、命令種別1900、経路識別子1901、優先度1902を有する。実施例では、経路識別子が「ホストA」である経路定義エントリ310の優先度を「1」に変更する入出力を示す。アプリケーションが本入出力を要求すると、制御情報更新処理141は経路定義情報210を探索し、経路識別子が「ホストA」である経路定義エントリが存在すれば優先度を更新する。存在しなければ入出力エラーとする。
図19のB)に示すキャッシュスロット最低保証値を変更する入出力は、命令種別1910、経路識別子1911、キャッシュスロット最低保証値1912を有する。実施例では、経路識別子が「ホストA」である経路定義エントリのキャッシュスロット最低保証値を「2」に変更する入出力を示す。アプリケーションがこのような入出力を要求すると、制御情報更新処理141は経路定義情報210を探索し、経路識別子が「ホストA」である経路定義エントリが存在すれば、当該経路定義エントリ内のキャッシュスロット最低保証値を更新する。存在しなければ入出力エラーとする。
図19のC)に示す経路定義エントリを追加する入出力は、命令種別1920、経路識別子1921、優先度1922、キャッシュスロット最低保証値1923を有する。実施例では、経路識別子が「ホストA」、キャッシュスロット最低保証値が「2」である経路定義エントリを追加する入出力を示す。アプリケーションがこのような入出力を要求すると、制御情報更新処理141は、経路定義情報210を探索し、経路識別子が「ホストA」である経路定義エントリが存在しなければ、当該経路定義エントリを追加する。存在すれば入出力エラーとする。
図19のD)に示す経路定義エントリを削除する入出力は、命令種別1930、経路識別子1931を有する。実施例では、経路識別子が「ホストA」である経路定義エントリを削除する入出力を示す。アプリケーションがこのような入出力を要求すると、制御情報更新処理141は経路定義情報210を探索し、経路識別子が「ホストA」である経路定義エントリが存在すれば、当該経路定義エントリを削除する。存在しなければ入出力エラーとする。
以上により、ホストまたは制御端末上のアプリケーションより制御情報を設定することが可能となる。制御端末190上のアプリケーション194より設定を行うことで、ホストの稼動状態に依存しない運用が可能となる。
ここまでの制御方法では、入出力経路ごとに待ち行列を用意していたが、複数ホストで同一の優先度を設定することで、ストレージ装置に接続される多数のホストのうち、いくつかの特定のホストだけ優先的にキャッシュメモリを利用することが可能となる。
図20は経路定義情報210の実施例を示す図である。
図20のA)は、ディスク装置にはホストA、ホストB、ホストCが接続されていることを示す。ここでは、ホストB、ホストCの優先度2001が同数となっている。このような場合、同一優先度のアクセスの衝突を回避するため、ホストB、ホストCの待ち行列を共有する。待ち行列を共有してキャッシュスロットの制御を可能にするためには、待ち行列を共有するすべての経路のキャッシュスロット最低保証値2002、図20のB)に示す待ち行列エントリのキャッシュスロット使用量2004、待ち行列ヘッダ2005を同じ値にする。つまり、ホストB、ホストCのキャッシュスロット最低保証値2002、キャッシュスロット使用量2003、待ち行列ヘッダ2004を同じ値になるように制御する。
図21はスケジュールの動作を示す図である。
スケジュールでは、出力経路毎に使用可能なキャッシュメモリ量を決められた時刻に変更する。スケジュールの動作は以下の手順である。
予め、ホストや制御端末よりスケジュール定義情報145を設定しておく。図22はスケジュール情報の実施例である。日付2201は、月日を直接指定、「平日」、「休日」、曜日、月を指定することが可能である。時刻2201は、変更する時刻を指定する。経路識別子2202、優先度2203、キャッシュスロット最低保証値2204には、変更後の値を指定する。実施例のスケジュール情報では4つのスケジュール定義エントリを登録し、ホストA、ホストBが使用可能なキャッシュメモリ量を制御している。
スケジュール定義に基づいて、所定の時刻に、各ホストの優先度2203やキャッシュスロット最低保証値2204が新たな値に切り替わると、その時刻以降は、新たに設定された優先度や最低保証値に基づいた格納領域の割り当て制御が行われるが、各ホストに対応した格納領域の分布は値の切り替え前の状態から次第に変化し、新たに設定された優先度や最低保証値に基づいた格納領域の分布になっていく。
例えば、無効キャッシュスロットを既に使い切った場合であって、図22に示すように、平日の8時から20時の間では、優先度の高いホストAが、優先度の低いホストBよりも多くの格納領域を確保している。しかし、22時以降では、ホストBの方がホストAよりも優先度が高くなるため、ホストAが確保している格納領域は次第にホストBの格納領域に変わっていく。その際、ホストAが確保している格納領域の一部分のデータはキャッシュメモリからディスク装置に書き出され、その後、ホストBの格納領域となる。一方、ホストAの最低保証値は、20時を境に「3」から「5」に増えるため、最低限保証されるキャッシュスロットの数は増え、ホストBの最低保証値は「4」から「2」に減るため、最低限保証されるキャッシュスロットの数は減る。
上記のスケジューリングの定義の際は、各時間帯で、各経路識別子の最低保証値の合計がキャッシュスロットの総数以下となるように制御される。また、上記のスケジューリングの定義の際は、各時間帯で、いくつかの経路識別子の優先度が同じくなった場合、これらの経路識別子に対応する待ち行列が同じになるように制御される。
スケジュール実施処理146は、内部タイマ134、スケジュール定義情報145を監視し、スケジュール定義情報145に設定されている時刻になると、経路定義情報210の内容を更新する。上記処理により、特定の時刻にキャッシュ管理に必要な情報を変更可能にし、より柔軟にディスク装置の運用が可能となる。
図13のA)に示した経路定義情報や図22に示したスケジュール定義情報を、制御端末190の表示装置(図示せず)に表示し、優先度、最低保証値及びスケジュール定義を、キーボードなどの入力装置(図示せず)を介してユーザ(管理者)が対話的に設定や変更することもできる。
以上に述べた実施例では、それぞれのキャッシュスロットの大きさは一定としたが、ホスト110でのアプリケーション111の処理形態に応じて、それぞれのキャッシュスロットの大きさを変えることもできる。例えば、通常のランダムアクセスの他に、シーケンシャルアクセスが多用される画像処理などのように大量のデータを処理するホストに対しては、通常よりも大きな単位でキャッシュスロットを割り当てたほうが、キャッシュスロットの割り当て処理の負荷が軽減される。また、通常よりも大きな単位でキャッシュスロットを割り当てる際に、キャッシュスロットの大きさを通常の大きさの2倍、4倍などの単位にすると、キャッシュスロットの個数管理と使用量の管理が容易になる。
以上に述べた本発明のディスク装置のキャッシュ制御方法を実行するためのプログラムを計算機で読み取り可能な記憶媒体に格納し、このプログラムをメモリに読み込んで実行することもできる。
ディスク装置およびディスク装置に接続されているホストのシステム構成を示した図である。 キャッシュ制御情報144の詳細図である。 経路定義情報210の詳細図である。 スロット管理情報211の詳細図である。 待ち行列管理情報212の詳細図である。 スケジュール定義情報145の詳細図である。 論理ボリュームへの入出力の流れを示した図である。 制御情報142への入出力の流れを示した図である。 論理ボリューム171に対する入出力要求を受け付けた時におけるキャッシュ制御部143の動作を示した図である。 読み込み命令実行時のキャッシュ制御情報を更新する処理動作のフローチャートである。 スロット選択処理の動作を示すフローチャートである。 書き込み命令実行時のキャッシュ制御情報を更新する処理動作のフローチャートである。 経路情報と待ち行列情報の実施例を示した図である。 スロット管理情報211の実施例を示した図である。 論理ボリュームを対象とする入出力の実施例を示す図である。 入出力1510(読み込み、キャッシュ上にデータあり)を実行したときにおけるキャッシュ制御処理143の動作フローである。 入出力1520(読み込み、キャッシュ上にデータなし)を実行したときにおけるキャッシュ制御処理143の動作フローである。 入出力1530(書き込み)を実行したときにおけるキャッシュ制御処理143の動作フローである。 経路情報への入出力の実施例を示す図である。 経路情報の実施例を示す図である。 スケジュールの動作を示す図である。 スケジュール情報の実施例である。 本発明の概要を示す。 待ち行列における、割り当てられた格納領域の構成を示す。
符号の説明
110:ホスト、111:アプリケーション、112:オペレーティングシステム、113:ポート、120:ストレージ装置、130:ディスク制御装置、131:ポート、132:制御プログラム、133:キャッシュメモリ、134:内部タイマ、135:ポート、140:入出力受付処理、141:制御情報更新処理、142:制御情報、143:キャッシュ制御処理、144:キャッシュ制御情報、145:スケジュール定義情報、146:スケジュール実施処理、150:キャッシュスロット、170:ディスク装置、171:論理ボリューム、172:データ、173:定義ファイル、190:制御端末、191:記憶装置、192:ネットワークインタフェイス、193:オペレーティングシステム、194:管理プログラム、196:バス、197:定義ファイル、210:経路定義情報、211:キャッシュスロット管理情報、212:待ち行列管理情報

Claims (20)

  1. 複数の計算機に接続されたストレージ装置の制御装置において、
    前記ストレージ装置のディスクキャッシュメモリ内にそれぞれの計算機に対応した最低保証値の大きさの格納領域を設定し、
    それぞれの前記計算機に対応した優先度に応じて、前記最低保証値の大きさの格納領域以外の格納領域内に、それぞれの計算機に対応して格納領域を割り当てることを特徴とするストレージ装置のキャッシュ制御方法。
  2. 前記計算機に対応したそれぞれの前記格納領域は、それぞれが一定の記憶領域を有する少なくとも一つのキャッシュスロットを割り当てられた順にリンクしたリンク構造で構成することを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  3. 当該計算機よりも優先度が高い他の計算機に対応した格納領域を拡張する場合、当該計算機の前記最低保証値に相当する大きさの格納領域を、前記他の計算機へ割り当てることを抑止することを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  4. 前記ディスクキャッシュメモリ内に空き領域がない時に、当該計算機から新たな格納領域を要求された場合、前記当該計算機よりも優先度の低い他の計算機の格納領域の一部と交換することを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  5. 前記優先度の高い計算機と格納領域を交換する際は、前記優先度が低い計算機が保持する古いデータが格納されている領域の順に交換することを特徴とする請求項4記載のストレージ装置のキャッシュ制御方法。
  6. 前記複数の計算機のそれぞれに対応した前記優先度及び前記最低保証値を予めスケジューリングし、時間帯に応じて前記優先度及び前記最低保証値を可変することを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  7. 当該計算機に対応したデータ量が前記最低保証値に満たない場合でも、前記最低保証値の大きさの格納領域を確保することを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  8. 前記複数の計算機のうちのいくつかの前記優先度が同じ場合、同じ優先度を有する前記いくつかの計算機は前記キャッシュメモリの格納域を共有することを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  9. 前記優先度と前記最低保証値は、前記ストレージ装置に接続された制御端末を介して設定されることを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  10. 前記スケジューリングのための情報は、前記ストレージ装置に接続された制御端末を介して設定されることを特徴とする請求項6記載のストレージ装置のキャッシュ制御方法。
  11. 前記スケジューリングの際に、各時間帯で、それぞれの前記計算機に対応した前記最低保証値の合計がキャッシュスロットの総数以下となるように制御されることを特徴とする請求項6記載のストレージ装置のキャッシュ制御方法。
  12. 前記計算機からの入出力の要求に対応したデータと前記データが格納されているキャッシュスロットとの対応関係を保持することを特徴とする請求項2記載のストレージ装置のキャッシュ制御方法。
  13. 前記計算機からの入出力の要求に対応した優先度が、前記要求に対応したデータが格納されているキャッシュスロットの優先度よりも高い場合、前記キャッシュスロットを、前記入出力に対応したリンク構造に付け替えることを特徴とする請求項2記載のストレージ装置のキャッシュ制御方法。
  14. 前記計算機からの入出力の要求に対応したデータがキャッシュスロットにない場合、前記計算機に割り当てられていないキャッシュスロット、又は他のリンク構造から取り出したキャッシュスロットのいずれかを、前記入出力の要求に対応するリンク構造の最後尾に追加することを特徴とする請求項2記載のストレージ装置のキャッシュ制御方法。
  15. 前記他のリンク構造を選択する際に、キャッシュスロットの使用量が前記最低保証値を超えており、かつ、前記優先度が最低のリンク構造を選択することを特徴とする請求項14記載のストレージ装置のキャッシュ制御方法。
  16. 前記優先度、前記最低保証値、及び前記優先度と前記最低保証値との設定日時を定義したスケジュール定義の少なくとも一つを含むキャッシュメモリ量の制御情報を、前記ストレージ装置に接続された制御端末、あるいは前記複数の計算機のうちのいずれかから設定することを特徴とする請求項1記載のストレージ装置のキャッシュ制御方法。
  17. 前記スケジューリングの際に、各時間帯で、いくつかの前記計算機に対応した前記優先度が同じになった場合、それぞれの前記計算機に対応したリンク構造を同じにすることを特徴とする請求項6記載のストレージ装置のキャッシュ制御方法。
  18. 複数の計算機に接続されたストレージ装置の制御装置は、
    前記ストレージ装置のディスクキャッシュメモリ内にそれぞれの計算機に対応した最低保証値の大きさの格納領域を設定する制御端末と、
    それぞれの前記計算機に対応した優先度に応じて、前記最低保証値の大きさの格納領域以外の格納領域内に、それぞれの計算機に格納領域を割り当てる処理装置とを有することを特徴とするストレージ装置の制御装置。
  19. 複数の計算機に接続されたストレージ装置のキャッシュ制御方法を実行するためのプログラムを格納した、計算機で読み取り可能な記憶媒体であって、前記方法は、
    前記ストレージ装置のディスクキャッシュメモリ内にそれぞれの計算機に対応した最低保証値の大きさの格納領域を設定し、
    それぞれの前記計算機に対応した優先度に応じて、前記最低保証値の大きさの格納領域以外の格納領域内に、それぞれの計算機に格納領域を割り当てることを特徴とする記憶媒体。
  20. 複数の計算機に接続されたストレージ装置の制御装置において、
    前記ストレージ装置にキャッシュメモリの格納領域は、それぞれが一定の記憶領域を有する複数のキャッシュスロットで構成し、
    前記計算機に対応したそれぞれの格納領域は、前記キャッシュスロットを割り当てられた順にリンクしたリンク構造で構成し、
    それぞれの前記計算機に対応して、最低限確保すべきキャッシュスロットの個数を定めた最低保証値を設定し、
    それぞれの前記計算機に対応して、前記格納領域を割り当てるための優先度を設定し、
    前記優先度に応じて、前記最低保証値で定められた個数以外の少なくとも一つのキャッシュスロットに、それぞれの計算機に格納領域を割り当てることを特徴とするストレージ装置のキャッシュ制御方法。
JP2004158627A 2004-05-28 2004-05-28 ストレージ装置のキャッシュ制御方法 Pending JP2005339299A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004158627A JP2005339299A (ja) 2004-05-28 2004-05-28 ストレージ装置のキャッシュ制御方法
US10/968,964 US7293144B2 (en) 2004-05-28 2004-10-21 Cache management controller and method based on a minimum number of cache slots and priority

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004158627A JP2005339299A (ja) 2004-05-28 2004-05-28 ストレージ装置のキャッシュ制御方法

Publications (1)

Publication Number Publication Date
JP2005339299A true JP2005339299A (ja) 2005-12-08

Family

ID=35426733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004158627A Pending JP2005339299A (ja) 2004-05-28 2004-05-28 ストレージ装置のキャッシュ制御方法

Country Status (2)

Country Link
US (1) US7293144B2 (ja)
JP (1) JP2005339299A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011242840A (ja) * 2010-05-14 2011-12-01 Hitachi Ltd ThinProvisioningが適用されたストレージ装置
JP2014002642A (ja) * 2012-06-20 2014-01-09 Nec Corp ストレージシステム、入出力制御装置、入出力制御方法、および、コンピュータ・プログラム
WO2014125559A1 (ja) * 2013-02-12 2014-08-21 株式会社日立製作所 記憶制御装置および記憶制御装置の制御方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181484A (ja) * 2008-01-31 2009-08-13 Panasonic Corp 計算機システムとその制御方法
US20120290786A1 (en) * 2011-05-11 2012-11-15 Mesnier Michael P Selective caching in a storage system
US9218257B2 (en) * 2012-05-24 2015-12-22 Stec, Inc. Methods for managing failure of a solid state device in a caching storage
US20140258628A1 (en) * 2013-03-11 2014-09-11 Lsi Corporation System, method and computer-readable medium for managing a cache store to achieve improved cache ramp-up across system reboots
US9213646B1 (en) 2013-06-20 2015-12-15 Seagate Technology Llc Cache data value tracking
US10592420B1 (en) * 2016-12-30 2020-03-17 EMC IP Holding Company LLC Dynamically redistribute cache space with min-max technique
US10635594B1 (en) * 2016-12-30 2020-04-28 EMC IP Holding Company LLC Dynamically redistribute cache space based on time savings
US11740816B1 (en) * 2022-03-18 2023-08-29 Dell Products L.P. Initial cache segmentation recommendation engine using customer-specific historical workload analysis

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01276349A (ja) * 1988-04-28 1989-11-06 Toshiba Corp ディスクキャッシュシステム
JPH04309054A (ja) * 1991-04-08 1992-10-30 Canon Inc フアクシミリ装置
JPH09244931A (ja) * 1996-03-06 1997-09-19 Mitsubishi Electric Corp リアルタイムファイルシステム
JP2001223742A (ja) * 1999-12-22 2001-08-17 Alcatel Usa Sourcing Lp 輻輳の場合におけるセルバッファ保護の方法および装置
JP2002268940A (ja) * 2001-03-09 2002-09-20 Ricoh Co Ltd 画像処理装置
JP2003131946A (ja) * 2001-10-19 2003-05-09 Nec Corp キャッシュメモリ制御装置及び方法
JP2003150419A (ja) * 2001-11-14 2003-05-23 Hitachi Ltd データベース管理システムの実行情報を取得する手段を有する記憶装置
JP2003337721A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd ストレージ構成自動変更装置及び方法
JP2004139349A (ja) * 2002-10-17 2004-05-13 Nec Corp ディスクアレイ装置におけるキャッシュメモリ分割管理方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2778913B2 (ja) * 1994-04-26 1998-07-23 株式会社東芝 マルチプロセッサシステム及びメモリアロケーション方法
US6397304B1 (en) * 1999-06-16 2002-05-28 Intel Corporation Method and apparatus for improving system performance in multiprocessor systems
DE19951716A1 (de) * 1999-10-27 2001-05-03 Heidenhain Gmbh Dr Johannes Verfahren zur dynamischen Speicherverwaltung
JP3565265B2 (ja) * 2000-07-19 2004-09-15 日本電気株式会社 優先度別クラス選択型通信システム及び通信方法
US7155717B2 (en) * 2001-01-26 2006-12-26 Intel Corporation Apportioning a shared computer resource
US6799254B2 (en) * 2001-03-14 2004-09-28 Hewlett-Packard Development Company, L.P. Memory manager for a common memory
JP4186509B2 (ja) 2002-05-10 2008-11-26 株式会社日立製作所 ディスクシステムとそのキャッシュ制御方法
JP2006350780A (ja) * 2005-06-17 2006-12-28 Hitachi Ltd キャッシュ割当制御方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01276349A (ja) * 1988-04-28 1989-11-06 Toshiba Corp ディスクキャッシュシステム
JPH04309054A (ja) * 1991-04-08 1992-10-30 Canon Inc フアクシミリ装置
JPH09244931A (ja) * 1996-03-06 1997-09-19 Mitsubishi Electric Corp リアルタイムファイルシステム
JP2001223742A (ja) * 1999-12-22 2001-08-17 Alcatel Usa Sourcing Lp 輻輳の場合におけるセルバッファ保護の方法および装置
JP2002268940A (ja) * 2001-03-09 2002-09-20 Ricoh Co Ltd 画像処理装置
JP2003131946A (ja) * 2001-10-19 2003-05-09 Nec Corp キャッシュメモリ制御装置及び方法
JP2003150419A (ja) * 2001-11-14 2003-05-23 Hitachi Ltd データベース管理システムの実行情報を取得する手段を有する記憶装置
JP2003337721A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd ストレージ構成自動変更装置及び方法
JP2004139349A (ja) * 2002-10-17 2004-05-13 Nec Corp ディスクアレイ装置におけるキャッシュメモリ分割管理方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011242840A (ja) * 2010-05-14 2011-12-01 Hitachi Ltd ThinProvisioningが適用されたストレージ装置
JP2014002642A (ja) * 2012-06-20 2014-01-09 Nec Corp ストレージシステム、入出力制御装置、入出力制御方法、および、コンピュータ・プログラム
WO2014125559A1 (ja) * 2013-02-12 2014-08-21 株式会社日立製作所 記憶制御装置および記憶制御装置の制御方法
US9563574B2 (en) 2013-02-12 2017-02-07 Hitachi, Ltd. Storage control device and method of controlling storage control device

Also Published As

Publication number Publication date
US20050268031A1 (en) 2005-12-01
US7293144B2 (en) 2007-11-06

Similar Documents

Publication Publication Date Title
US6889288B2 (en) Reducing data copy operations for writing data from a network to storage of a cached data storage system by organizing cache blocks as linked lists of data fragments
RU2597520C2 (ru) Контроллер памяти и способ работы такого контроллера памяти
US9477591B2 (en) Memory access requests in hybrid memory system
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JPH0816482A (ja) フラッシュメモリを用いた記憶装置およびその記憶制御方法
CN110555001B (zh) 数据处理方法、装置、终端及介质
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
US20060047874A1 (en) Resource management apparatus
US7818478B2 (en) Input/Output completion system for a data processing platform
JP2003131908A (ja) 記憶制御装置
JP2005339299A (ja) ストレージ装置のキャッシュ制御方法
US9465745B2 (en) Managing access commands by multiple level caching
US6782444B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US10042773B2 (en) Advance cache allocator
EP3293625B1 (en) Method and device for accessing file, and storage system
JPH11143779A (ja) 仮想記憶装置におけるページング処理システム
JPH07248967A (ja) メモリ制御方式
JP6194875B2 (ja) キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム
US11875152B2 (en) Methods and systems for optimizing file system usage
JP3964821B2 (ja) プロセッサ、キャッシュシステム及びキャッシュメモリ
US8452920B1 (en) System and method for controlling a dynamic random access memory
JP6836536B2 (ja) ストレージシステム及びio処理の制御方法
CN1333346C (zh) 一种访问文件的方法
JP2001290704A (ja) マルチプロセス制御装置及びマルチプロセス制御方法
JP2006065402A (ja) アクセス制御方法、ディスク制御装置及び記憶装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110308