(57)【要約】【課題】空き容量の少ないセグメントの空き容量を速やかに回復するキャッシュ装置を提供する。【解決手段】キャッシュ装置は、キャッシュメモリと、キャッシュ制御部と、ホスト制御部と、ストレージ制御部とを有する。キャッシュ制御部は、キャッシュメモリの記憶領域を複数のセグメントに分割して、セグメントごとにデータを制御する。また、キャッシュ制御部は、各セグメントに保持したダーティデータのダーティデータリストを保持する。そして、各ダーティデータに、ライトバック緊急度を設定する。ここで、空き容量の少ないセグメントに保持されたダーティデータには高いライトバック緊急度を付与する。高い緊急度が付与されたダーティデータは、ＬＲＵ等の所定の順よりも先の順番となるように、ライトバックリストに配置し、その順番にしたがって、ライトバック処理を実行する。【選択図】      図１
2019153030.tif 000002
【特許請求の範囲】
【請求項１】
データを一時的に記憶するキャッシュメモリと、
ホストと前記キャッシュメモリとの間でデータの入出力を制御するホスト制御部と、
データを永続的に記憶するストレージと前記キャッシュメモリとの間でデータの入出力を制御するストレージ制御部と、
前記キャッシュメモリの記憶動作を制御するキャッシュ制御部と
を有し、
前記キャッシュ制御部は
前記キャッシュメモリを分割して複数のセグメントを設定するセグメント設定部と、
前記キャッシュメモリと各前記セグメントの空き容量を監視する空き容量監視部と、
それぞれの前記セグメントに保持されたダーティデータの一覧を記載したダーティデータリストを作成するダーティデータリスト作成部と
前記セグメントの前記空き容量に基づいて前記セグメントに保持された前記ダーティデータに、ライトバック処理を行う優先度としてのライトバック緊急度を設定するライトバック緊急度設定部と、
ライトバック処理を行う順番に前記ダーティデータを配列したライトバックリストを前記ライトバック緊急度に基づいて作成するライトバックリスト作成部と
を有する
ことを特徴とするキャッシュ装置。
【請求項２】
前記ライトバック緊急度設定部が
前記空き容量が所定の閾値未満のセグメントに保持された前記ダーティデータに対して高い前記ライトバック緊急度を設定する
ことを特徴とする請求項１に記載のキャッシュ装置。
【請求項３】
前記ライトバック緊急度設定部が
前記ライトバック緊急度を２段階で設定する
ことを特徴とする請求項２に記載のキャッシュ装置。
【請求項４】
前記ライトバック緊急度設定部が
前記ライトバック緊急度を３段階以上のレベルで設定する
ことを特徴とする請求項２に記載のキャッシュ装置。
【請求項５】
前記ライトバックリスト作成部が、
前記ライトバック緊急度が高い順に前記ダーティデータを並べた前記ライトバックリストを作成する
ことを特徴とする請求項１乃至４のいずれかに記載のキャッシュ装置。
【請求項６】
前記ライトバックリスト作成部が、
前記ライトバック緊急度が同じダーティデータの順番をＬＲＵ方式で設定する
ことを特徴とする請求項１乃至５のいずれかに記載のキャッシュ装置。
【請求項７】
データをキャッシュメモリに一時的に記憶し、
ホストと前記キャッシュメモリとの間でデータの入出力を制御し、
データを永続的に記憶するストレージと前記キャッシュメモリとの間でデータの入出力を制御し、
前記キャッシュメモリを分割して複数のセグメントを設定し、
前記キャッシュメモリと各前記セグメントの空き容量を監視し、
それぞれの前記セグメントに保持されたダーティデータの一覧を記載したダーティデータリストを作成し、
前記セグメントの前記空き容量に基づいて前記セグメントに保持された前記ダーティデータに、ライトバック処理を行う優先度としてのライトバック緊急度を設定し、
前記ライトバック処理を行う順番に前記ダーティデータを配列したライトバックリストを前記ライトバック緊急度に基づいて作成する
ことを特徴とするキャッシュ装置の制御方法。
【請求項８】
前記空き容量が所定の閾値未満の前記セグメントに保持された前記ダーティデータに対して高い前記ライトバック緊急度を設定する
ことを特徴とする請求項７に記載のキャッシュ装置の制御方法。
【請求項９】
前記ライトバック緊急度を２段階で設定する
ことを特徴とする請求項８に記載のキャッシュ装置の制御方法。
【請求項１０】
データをキャッシュメモリに一時的に記憶するステップと、
ホストと前記キャッシュメモリとの間でデータの入出力を制御するステップと、
データ永続的に記憶するストレージと前記キャッシュメモリとの間でデータの入出力を制御するステップと、
前記キャッシュメモリを分割して複数のセグメントを設定するステップと、
前記キャッシュメモリと各前記セグメントの空き容量を監視するステップと、
それぞれの前記セグメントに保持されたダーティデータの一覧を記載したダーティデータリストを作成するステップと、
前記セグメントの前記空き容量に基づいて前記セグメントに保持された前記ダーティデータに、ライトバック処理を行う優先度としてのライトバック緊急度を設定するステップと、
前記ライトバック処理を行う順番に前記ダーティデータを配列したライトバックリストを前記ライトバック緊急度に基づいて作成するステップと
を有することを特徴とするキャッシュ装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュ装置およびキャッシュ装置の制御方法に関する。
【背景技術】
【０００２】
クラウドで、機材やソフトウェア、データベースなどを複数の顧客で共有するマルチテナントによりサービスが提供されるケースが増えている。マルチテナントで使用されるストレージでは、キャッシュメモリを複数の区画（キャッシュセグメント）に分割する機能が使用されることがある。このようなキャッシュセグメント分割により、仮想化環境における各テナントでの占有量を制限してＩ／Ｏ（ＩＮ／ＯＵＴ）帯域を確保し、仮想環境の安定性を強化することができる。上記の占有量の制限は、例えば、論理ディスク単位で実施することができるが、実際のデータのＩ／Ｏは、ＲＡＩＤを構成する物理ディスクグループ（ＲＡＮＫ）単位での管理とする必要がある。なお、ＲＡＩＤとは、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓのことであり、データ記憶の冗長性を高める技術である。
【０００３】
上記のキャッシュセグメントに保持されたデータは、ホスト側のＩ／Ｏとは非同期のタイミングで、ＲＡＮＫへの書き込み処理を行い、セグメントから掃き出すこと（デステージ）ができる。この書き込み処理をライトバック処理、ライトバック処理が未了のデータをダーティデータ、書き込みが完了したデータをクリーンデータと呼ぶ。
【０００４】
上記のキャッシュセグメントに分割された構成で、特定のキャッシュセグメントに割り当てられている論理ディスクへのＩ／Ｏ負荷が急増した場合、当該セグメントで空き容量が不足して、Ｉ／Ｏが待たされる問題が発生する。そこで、複数のセグメントに負荷を分散して、待ち時間を少なくする試みがなされている。
【０００５】
例えば特許文献１には、キャッシュメモリ全体の使用量を評価する第１の閾値と、個々のセグメントの使用量を評価する第２の閾値とを用いて、セグメント間の使用量の偏りを少なくする技術が開示されている。この技術では、例えば、全体の使用量が第１の閾値未満で、あるセグメントの使用量が第２の閾値を超えた場合は、当該セグメントに待ち時間を設定し、第２の閾値未満の他のセグメントには無条件でデータを割り当てる。また例えば、全体の使用量が第１の閾値を超え、あるセグメントの使用量が第２の閾値を超えた場合には、全体に第１の待ち時間を設定するとともに、当該セグメントには第１の待ち時間よりも長い第２の待ち時間を設定する。このようにして、セグメント間の使用量の偏りを低減し、キャッシュ装置全体の性能を向上することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３２３３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術では、使用量の多い、すなわち空き容量の少ないセグメントの使用量が減るまでに時間がかかるという問題があった。この技術では、全てのセグメントからのダーティデータの掃出しは、所定の順番にしたがって行われる。このため、空き容量の少ないセグメントの空き容量が増やすには、割り当てを待機している間に、自然にダーティデータが掃き出されるのを待つしかなかった。
【０００８】
本発明は上記の問題に鑑みてなされたものであり、空き容量の少ないセグメントの空き容量を速やかに回復するキャッシュ装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明のキャッシュ装置は、キャッシュメモリと、キャッシュ制御部と、ホスト制御部と、ストレージ制御部とを有する。キャッシュ制御部は、キャッシュメモリの記憶領域を複数のセグメントに分割して、セグメントごとにデータを制御する。また、キャッシュ制御部は、各セグメントに保持したダーティデータのダーティデータリストを保持する。そして、各ダーティデータに、ライトバック緊急度を設定する。ここで、空き容量の少ないセグメントに保持されたダーティデータには高いライトバック緊急度を付与する。高い緊急度が付与されたダーティデータは、ＬＲＵ等の所定の順よりも先の順番となるように、ライトバックリストに配置し、その順番にしたがって、ライトバック処理を実行する。
【発明の効果】
【００１０】
本発明の効果は、空き容量の少ないセグメントの空き容量を速やかに回復するキャッシュ装置を提供できることである。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態のキャッシュ装置を示すブロック図である。
【図２】第２の実施形態のキャッシュ装置のハードウェア構成を示すブロック図である。
【図３】第２の実施形態のキャッシュ装置の構成を示すブロック図である。
【図４】第２の実施形態のライトバックリストに関わる部分の構成を示す模式図である。
【図５】第２の実施形態のライトバックリスト作成動作を示すフローチャートである。
【図６】第３の実施形態のキャッシュ装置の構成を示すブロック図である。
【図７】第３の実施形態のライトバックリストに関わる部分の構成を示す模式図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお各図面の同様の構成要素には同じ番号を付し、説明を省略する場合がある。
【００１３】
（第１の実施形態）
図１は、第１の実施形態のキャッシュ装置を示すブロック図である。キャッシュ装置は、キャッシュメモリ１０と、キャッシュ制御部２０と、ホスト制御部３０と、ストレージ制御部４０とを有する。
【００１４】
キャッシュメモリ１０は、データを保持する記憶領域を有し、データを一時的に保持するメモリである。
【００１５】
キャッシュ制御部２０は、キャッシュメモリ１０の記憶領域を複数のセグメントに分割して、セグメントごとにデータを制御する。
【００１６】
ホスト制御部３０は、キャッシュ制御部２０の制御にしたがって、ホストとキャッシュメモリの間でデータの入出力を制御する。なお、以降の説明では、データの入出力のことをＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）とも称する。
【００１７】
ストレージ制御部４０は、キャッシュ制御部２０の制御にしたがって、データを永続的に保持するストレージ５０とキャッシュメモリ１０との間のＩ／Ｏを制御する。なお、図示はしていないが、キャッシュ制御部２０の制御により、キャッシュメモリ１０を介さずに、ホスト制御部３０からストレージ制御部４０にデータを転送するライトスルー処理を実行することも可能である。
【００１８】
キャッシュ制御部２０は、セグメント設定部２１と、空き容量監視部２２と、ダーティデータリスト作成部２３と、ライトバック緊急度設定部２４と、ライトバックリスト作成部２５とを有する。
【００１９】
セグメント設定部２１は、キャッシュメモリ１０の記憶領域を複数に分割したセグメントを設定する。図１では、セグメント＃０とセグメント＃１の２つのセグメントに分割した例を示している。そして、それぞれのセグメントにダーティデータとクリーンデータが保持され、その他が空き容量となっている。なお、ここではセグメントが２つの例を示したが、セグメントの数は３つ以上であって良い。
【００２０】
空き容量監視部２２は、キャッシュメモリ１０と、それぞれのセグメントの空き容量を監視する。
【００２１】
ダーティデータリスト作成部２３は、キャッシュメモリ１０に保持されたダーティデータをセグメントごとに記録したダーティデータリストを作成する。
【００２２】
ライトバック緊急度設定部２４は、ダーティデータリストに保持された、それぞれのダーティデータに、ライトバック緊急度を設定する。ここでライトバックとは、ダーティデータをストレージ５０に書き込んで、キャッシュメモリ１０から掃き出す処理のことである。そして、ライトバック緊急度は、ダーティデータに付与するライトバックの優先度である。ライトバック緊急度は、セグメントの空き容量を確保するために設定するものであり、空き容量の少ないセグメントに保持されたダーティデータには高いライトバック緊急度を付与する。
【００２３】
ライトバックリスト作成部２５は、ダーティデータをライトバックする順番に並べたライトバックリストを作成する。緊急度の付与が無い場合、ライトバックリストにおけるダーティデータの順番は、例えば、ＬＲＵ方式（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）によって決めることができる。そして、緊急度が付与されている場合は、その緊急度に応じて、ＬＲＵの順を飛び越えて先の順番となるように、当該ダーティデータをライトバックリストに配置する。
【００２４】
ストレージ制御部４０は、ライトバックリストの順番にしたがって、ダーティデータをストレージ５０に書き込むライトバック処理を行う。
【００２５】
以上の構成によれば、空き容量の少なくなったセグメントに保持されたダーティデータは、優先的にライトバックされ、セグメントから掃き出される。このため、本実施形態によれば、空き容量の少ないセグメントの空き容量を速やかに回復することができる。
【００２６】
（第２の実施形態）
図２は、第２の実施形態のキャッシュ装置のハードウェア構成を示すブロック図である。キャッシュ装置は、メモリ素子１と、ＣＰＵ２（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ホスト側インターフェイス３と。物理ディスクインターフェイス４とを有する。
【００２７】
メモリ素子１は、物理ディスク５よりも高速に動作するメモリ素子である。具体的には、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＳＣＭ（ｓｔｏｒａｇｅ  ｃｌａｓｓ  ｍｅｍｏｒｙ）と呼ばれる高速なメモリなどを用いることができる。
【００２８】
ＣＰＵ２は、例えばロジック回路を含む半導体ＩＣ（ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）である。
【００２９】
ホスト側インターフェイス３はメモリ素子１とホストとを接続する。具体的には、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）インターフェイスやＦｉｂｅｒ  Ｃｈａｎｎｅｌインターフェイスなどである。
【００３０】
物理ディスク側インターフェイス４はメモリ素子１と物理ディスク５とを接続する。具体的には、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）インターフェイスやＦｉｂｅｒ  Ｃｈａｎｎｅｌインターフェイスなどである。
【００３１】
図３、第２の実施形態のキャッシュ装置の機能構成を示すブロック図である。キャッシュ装置は、キャッシュメモリ１００と、キャッシュ制御部２００と、ホスト制御部３００と、ストレージ制御部４００とを有する。キャッシュメモリ１００はメモリ素子１に実装され、キャッシュ制御部２００はＣＰＵ２に実装される。ホスト制御部３００は、ＣＰＵ２とホスト側インターフェイス３により構成され、物理ディスク制御部４００とは、ＣＰＵ２と物理ディスク側インターフェイス４により構成される。
【００３２】
キャッシュメモリ１００は、データを保持する記憶領域を有するメモリであり、データを一時的に保持する。
【００３３】
キャッシュ制御部２００は、キャッシュメモリ１００の記憶領域を複数のセグメントに分割して、セグメントごとにデータを制御する。
【００３４】
ホスト制御部３００は、キャッシュ制御部２００の制御にしたがって、ホストとキャッシュメモリの間のＩ／Ｏを制御する。
【００３５】
ストレージ制御部４００は、キャッシュ制御部２００の制御にしたがって、物理ディスクグループ５００とキャッシュメモリ１００との間のＩ／Ｏを制御する。なお、図示はしていないが、キャッシュ制御部２００の制御により、キャッシュメモリ１００を介さずに、ホスト制御部３００からストレージ制御部４００にデータを転送するライトスルー処理を実行することも可能である。なお、ここで用いている物理ディスクグループという名称は、ディスクに限らず、磁気テープや半導体メモリなど、物理的な記憶媒体全般を指すものである。
【００３６】
キャッシュ制御部２００は、セグメント設定部２１０と、空き容量監視部２２０と、ダーティデータリスト作成部２３０と、ライトバック緊急度設定部２４０と、ライトバックリスト作成部２５０とを有する。
【００３７】
セグメント設定部２１０は、キャッシュメモリ１００の記憶領域を複数に分割したセグメントを設定する。
【００３８】
空き容量監視部２２０は、キャッシュメモリ１００と、それぞれのセグメントの空き容量を監視する。空き容量の大小は所定の閾値を基準として判定する。図３の例では、セグメント＃０の空き容量が閾値以上であり、セグメント＃１の空き容量が閾値未満であるものとする。なお、２段階以上の閾値を設けて、空き容量のレベルを管理しても良い。
【００３９】
ダーティデータリスト作成部２３０は、キャッシュメモリ１００に保持されたダーティデータをセグメントごとに記録したダーティデータリストを作成する。ダーティデータリスト２３１におけるダーティデータの順番は、例えば、ＬＲＵ方式で決めることができる。図３では、セグメント＃０にダーティデータ０、２、４、６、７が保持され、セグメント＃１にダーティデータ１、３、５が保持された例を示している。
【００４０】
ライトバック緊急度設定部２４０は、ダーティデータリストに保持された、それぞれのダーティデータに、ライトバック緊急度を設定する。ここでライトバックとは、ダーティデータを物理ディスクグループ５００に書き込んで、キャッシュメモリ１００から掃き出す処理のことである。そして、ライトバック緊急度は、ダーティデータに付与するライトバックの優先度である。ライトバック緊急度は、セグメントの空き容量を確保するために設定するものであり、空き容量の少ないセグメントに保持されたダーティデータには高いライトバック緊急度が付与される。すなわち、空き容量が閾値以上であれば緊急度を付与せず、空き容量が閾値未満であれば、当該セグメントに保持されたダーティデータに緊急度を付与する。図３の例では、例えば、空き容量の少ないセグメント＃１に保持されたダーティデータ１、３、５に緊急度を付与する。なお、緊急度は０、１の２段階ではなく、空き容量に応じて、３段階以上のレベルで付与するようにしても良い。
【００４１】
ライトバックリスト作成部２５０は、ダーティデータをライトバックする順番に並べたライトバックリストを作成する。緊急度が無い場合、ライトバックリストにおけるダーティデータの順番は、ダーティデータリスト２３１の順番を引き継ぐことができる。しかしながら、緊急度が付与されたダーティデータは、緊急度に応じて、ＬＲＵの順を飛び越えて先の順番となるように、ライトバックリストに配置される。なお、緊急度が設定されていないダーティデータの順番は、ダーティデータリスト２３１の作成時ではなく、ライトバックリスト２５１の作成時に、例えば、ＬＲＵ方式によって、決めても良い。
【００４２】
物理ディスク制御部４００は、ライトバックリストの順番にしたがって、ダーティデータを物理ディスクグループ５００に書き込むライトバック処理を行う。上記の例では、緊急度の設定されたダーティデータのライトバックを先に行うが、それ以外のライトバックの順番は、例えばＬＲＵ方式で設定しているため、キャッシュヒット率は、一般的なキャッシュ装置と同程度に維持される。
【００４３】
次に、ライトバックの順番を決めるライトバックリストの作成について説明する。図４はライトバックリストに関わる部分の構成を示す模式図である。
【００４４】
ダーティデータリスト作成部２３０は、ダーティデータリスト２３１を作成し保持する。ライトバック緊急度設定部２４０は、空き容量監視部２２０から、セグメントごとの空き容量情報を受け取り、これに基づいて、ダーティデータリスト２３１に保持されたダーティデータに緊急度を設定する。ここでは、緊急フラグを用いて、空き容量が閾値未満のセグメントに保持されたダーティデータに緊急度有りを示す「１」を付与する例を示している。一方、空き容量が閾値以上のセグメントに保持されたダーティデータには、緊急度無しを示す「０」を付与する。
【００４５】
ライトバックリスト作成部２５０は、緊急フラグが０の場合は、ＬＲＵ方式で決まる順番に、ダーティデータリスト２３１のダーティデータを配置してライトバックリスト２５１を作成する。一方、緊急フラグが１のダーティデータがあった場合には、ＬＲＵの順を飛び越えて、緊急フラグ０のダーティデータの前に当該ダーティデータを配置する。緊急フラグが１のダーティデータ同士の中では、例えばダーティデータリスト２３１の順番にしたがって配置することができる。
【００４６】
図４の例では、ダーティデータ１、３、５に緊急フラグ１が設定されているので、この３つのダーティデータを、緊急フラグ０の先頭のダーティデータ０の前に来るように配置して、ライトバックリスト２５１を作成している。そして、ライトバックリスト２５１の順番にしたがって、キャッシュメモリ１００から物理ディスク５００へのライトバック処理を実行する。図４では、このライトバック処理をブロック矢印で模式的に示している。
【００４７】
図５は、ライトバックリスト作成部２５０の動作を示すフローチャートである。まず、ライトバックリスト作成部２５０は、ダーティデータリスト２３１の先頭のダーティデータを参照する（Ｓ１）。このダーティデータが、自身が保持するライトバックリスト２５１に登録済みであった場合は（Ｓ２＿Ｙｅｓ）、次のダーティデータを参照し（Ｓ３）、Ｓ２に戻る。一方、ライトバックリスト２５１に登録されていなかった場合は（Ｓ２＿Ｎｏ）、緊急度が設定されているか判定する（Ｓ４）。図４の例のように、緊急度の設定に１、０のフラグを用いている場合は、１、０を判定する。ここで、緊急度が設定されていなかった場合には（Ｓ４＿Ｎｏ）、ライトバックリスト２５１の最後に当該ダーティデータを登録する（Ｓ５）。そして、当該ダーティデータがダーティデータリスト２３１の最後であれば（Ｓ７＿Ｙｅｓ）、Ｓ１に戻り、再度ダーティデータリスト２３１先頭からダーティデーを参照する。一方、ダーティデータリスト２３１の最後でなければ（Ｓ７＿Ｎｏ）、ダーティデータリスト２３１の次のダーティデータを参照する（Ｓ３）。そしてこのデータについてＳ２以降の処理を行う。
【００４８】
Ｓ４の判定で、ダーティデータに緊急度が設定されていた場合は（Ｓ４＿Ｙｅｓ）、当該ダーティデータを、ライトバックリスト２５１に登録されている緊急度が同一のダーティデータの次に登録する（Ｓ６）。なお、緊急度を１、０のフラグで表す場合には、緊急フラグ１の最後のダーティデータの次になるが、緊急度を３段階以上のレベルに分ける場合も含むように、このような記載としている。そして、当該ダーティデータがダーティデータリスト２３１の最後であれば（Ｓ７＿Ｙｅｓ）、Ｓ１に戻り、再度ダーティデータリスト２３１の先頭からダーティデーを参照する。一方、ダーティデータリスト２３１の最後でなければ（Ｓ７＿Ｎｏ）、ダーティデータリスト２３１の次のダーティデータを参照する（Ｓ３）。そしてこのデータについてＳ２以降の処理を行う。
【００４９】
以上、説明したように、本実施形態によれば、空き容量が閾値より小さいセグメントに保持されたダーティデータを優先的にライトバックして、速やかに当該セグメントの空き容量を増やすことができる。また、この時のキャッシュヒット率を、一般的な技術と同程度に維持することができる。
【００５０】
（第３の実施形態）
第２の実施形態では、ライトバック先の物理ディスクグループが１つである例について説明したが、ライトバック先の物理ディスクグループが複数の場合についても、同様にセグメントの空き容量を増やす処理を行うことができる。
【００５１】
図６は、ライトバック先の物理ディスクグループ５１０が、ＲＡＮＫ＃Ａ、ＲＡＮＫ＃Ｂの２つの場合を示すブロック図である。この例では、空き容量が閾値以上のセグメント＃０には、ダーティデータ０、１、３、４、６、７が保持され、空き容量が閾値未満のセグメント＃１には、ダーティデータ２、５が保持されている。なお、キャッシュ制御部２００および、ホスト制御部３００、物理ディスク制御部の構成は、第２の実施形態と同様であるため、説明を省略する。
【００５２】
図７は、図４はライトバックリストに関わる部分の構成を示す模式図である。ライトバック緊急度設定部２４０の機能は第２の実施形態と同様であるが、本実施形態では、ダーティデータリスト２３１ａに保存先の物理ディスクグループの情報が付与されている。すなわち、ダーティデータには、保持元のセグメント情報と、セグメントに対応する緊急度と、保存先とが紐づいている。
【００５３】
ダーティデータリスト２３１ａでは、保存先がＲＡＮＫ＃Ａのダーティデータ２、５に緊急フラグ「１」が立てられている。このため、ＲＡＮＫ＃Ａをライトバック先とするライトバックリスト２５１ａでは、ダーティデータ２、５を、ダーティデータリスト２３１ａにおける順番が先のダーティデータ０の前に来るように、並べ替えている。そしてこの順番に各ダーティデータをＲＡＮＫ＃Ａにライトバックする。一方、ＲＡＮＫ＃Ｂをライトバック先とするダーティデータ３、４、６、７には緊急フラグが立っていない。このため、これらのデータのライトバックリスト２５１ｂにおける順番は、ダーティデータリスト２３１ａの順番が、そのまま引き継がれる。すなわち、ＬＲＵ方式で設定した順番でライトバックを行うため、キャッシュヒット率を通常と同じ程度に維持できる。
【００５４】
なお、この例では、物理ディスクグループが２つの例について説明したが、物理ディスクグループが３つ以上の場合にも、同様の機能を実現することができる。
【００５５】
以上説明したように、本実施形態によれば、ライトバック先の物理ディスクグループが複数ある場合においても、キャッシュヒット率を維持しながら、空き容量の少ないセグメントの空き容量を速やかに回復することができる。
【００５６】
上述した第１乃至第３の実施形態の処理を、コンピュータに実行させるプログラムおよび該プログラムを格納した記録媒体も本発明の範囲に含む。記録媒体としては、例えば、磁気ディスク、磁気テープ、光ディスク、光磁気ディスク、半導体メモリ、などを用いることができる。
【００５７】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上記実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００５８】
１    メモリ素子
２    ＣＰＵ
３    ホスト側インターフェイス
４    物理ディスク側インターフェイス
５    物理ディスク
１０、１００    キャッシュメモリ
２０、２００    キャッシュ制御部
２１、２１０    セグメント設定部
２２、２２０    空き容量監視部
２３、２３０    ダーティデータリスト作成部
２４、２４０    ライトバック緊急度設定部
２５、２５０    ライトバックリスト作成部
３０、３００    ホスト制御部
４０、４００    ストレージ制御部
５０    ストレージ
２３１    ダーティデータリスト
２５１    ライトバックリスト
５００    物理ディスクグループ
【図１】
2019153030.tif 000003
【図２】
2019153030.tif 000004
【図３】
2019153030.tif 000005
【図４】
2019153030.tif 000006
【図５】
2019153030.tif 000007
【図６】
2019153030.tif 000008
【図７】
2019153030.tif 000009