(57)【要約】      （修正有）【課題】データの読出性能を高めるストレージシステム及びキャッシュ制御方法を提供する。【解決手段】ストレージシステム１は、データの書込回数に上限回数が設けられた第１のドライブ（例えばＳＳＤ１２）と、第１のドライブとはデータの読出速度が異なる第２のドライブ（例えばＳＳＤ１３，ＳＡＳ１４）と、をデータストレージとして少なくとも有する。そして、ストレージコントローラ１１の制御部１１０は、第１のドライブへのデータの書込回数を検知する書込回数検知部１１２と、第１のドライブ（例えばＳＳＤ１２）へのデータの書込回数が所定閾値を超えた場合に、第１のドライブへのデータの書込を停止し、停止後に第２のキャッシュメモリ（擬似キャッシュ）として利用可能にする擬似キャッシュ構築部１１３と、第１及び第２のキャッシュメモリに記憶されたデータをキャッシュデータとするキャッシュ制御を行うキャッシュ制御部１１１と、を備える。【選択図】図１
2019113891.tif 000002
【特許請求の範囲】
【請求項１】
データの読出及び書込を制御するストレージコントローラと複数のドライブによって構成されて前記データの最終的な格納先となるデータストレージとを有するストレージシステムであって、
前記ストレージコントローラは、前記ストレージシステムを制御する制御部と、データキャッシュのための第１のキャッシュメモリと、前記制御部による制御処理に用いられる制御用データと、を有し、
前記データストレージは、データの書込回数に上限回数が設けられた第１のドライブと、前記第１のドライブとはデータの読出速度が異なる第２のドライブと、を少なくとも有し、
前記制御部は、
前記第１のドライブへのデータの書込回数を検知する書込回数検知部と、
前記書込回数検知部によって前記第１のドライブへのデータの書込回数が所定閾値を超えたことが検知された場合に、前記データストレージとしての前記第１のドライブへのデータの書込を停止し、該停止後に、前記第１のドライブを第２のキャッシュメモリとして利用可能にする擬似キャッシュ構築部と、
前記第１及び第２のキャッシュメモリに記憶されたデータをキャッシュデータとするキャッシュ制御を行うキャッシュ制御部と、
を備えることを特徴とするストレージシステム。
【請求項２】
前記第１のドライブは、前記第２のドライブのうちの少なくとも何れかよりもデータの読出速度が高速である
ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記制御用データには、データのキャッシュ先を識別可能な情報がまとめられたキャッシュ振分テーブルが含まれ、
前記擬似キャッシュ構築部は、前記第１のドライブを前記第２のキャッシュメモリとして利用可能にする際に、
前記第１のドライブに記憶されているデータを前記データストレージの他のドライブに移動し、
前記他のドライブに記憶されているキャッシュ化されていない候補データのうちから、前記第２のキャッシュメモリに記憶させるデータを選定する候補データ選定処理を実行し、
前記候補データ選定処理によって選定されたデータを前記第１のドライブに書き込むとともに、当該データの書込先アドレスを当該データのキャッシュ先として前記キャッシュ振分テーブルに登録する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記擬似キャッシュ構築部は、前記候補データ選定処理において、前記制御用データを参照して算出される正規値に基づいて、前記第２のキャッシュメモリに記憶させるデータの優先順位を決定する
ことを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記制御用データには、データの読出回数及び書込回数に関する情報がまとめられた読出／書込回数テーブルが含まれ、
前記擬似キャッシュ構築部は、前記候補データ選定処理において、前記読出／書込回数テーブルに記録された前記候補データの読出回数が多いほど、若しくは前記読出／書込回数テーブルに記録された前記候補データの書込回数が少ないほど、当該候補データに対して決定される前記優先順位が高くなるように前記正規値を算出する
ことを特徴とする請求項４に記載のストレージシステム。
【請求項６】
前記制御用データには、データの読出回数及び書込回数に関する情報がまとめられた読出／書込回数テーブルと、デステージされたデータのデステージ回数を識別可能な情報がまとめられたデステージ回数テーブルと、が含まれ、
前記擬似キャッシュ構築部は、前記候補データ選定処理において、前記読出／書込回数テーブルに記録された前記候補データの読出回数が多いほど、前記読出／書込回数テーブルに記録された前記候補データの書込回数が少ないほど、若しくは、前記デステージ回数テーブルに記録された前記候補データのデステージ回数が多いほど、当該候補データに対して決定される前記優先順位が高くなるように前記正規値を算出する
ことを特徴とする請求項４に記載のストレージシステム。
【請求項７】
前記データストレージは、前記第１のドライブのスペアドライブをさらに有し、
前記制御用データには、データのキャッシュ先を識別可能な情報がまとめられたキャッシュ振分テーブルが含まれ、
前記擬似キャッシュ構築部は、前記第１のドライブを前記第２のキャッシュメモリとして利用可能にする際に、
前記第１のドライブに記憶されているデータを前記スペアドライブにコピーし、該コピーの完了後に前記第１のドライブのデータを削除し、
前記データストレージの前記第１のドライブ以外に記憶されているキャッシュ化されていない候補データのうちから、前記第２のキャッシュメモリに記憶させるデータを選定し、
前記選定されたデータを前記第１のドライブに書き込むとともに、当該データの書込先アドレスを当該データのキャッシュ先として前記キャッシュ振分テーブルに登録する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項８】
前記制御部は、前記第２のキャッシュメモリに記憶されたデータを書き換える擬似キャッシュ制御部と、をさらに備える
ことを特徴とする請求項１に記載のストレージシステム。
【請求項９】
前記擬似キャッシュ制御部による前記第２のキャッシュメモリに記憶されたデータの書き換えは、前記データストレージに記憶された当該データの書き換えが完了した後に実行される
ことを特徴とする請求項８に記載のストレージシステム。
【請求項１０】
データの読出及び書込を制御するストレージコントローラと複数のドライブによって構成されて前記データの最終的な格納先となるデータストレージとを有するストレージシステムによるキャッシュ制御方法であって、
前記ストレージコントローラは、前記ストレージシステムを制御する制御部と、データキャッシュのための第１のキャッシュメモリと、前記制御部による制御処理に用いられる制御用データと、を有し、
前記データストレージは、データの書込回数に上限回数が設けられた第１のドライブと、前記第１のドライブとはデータの読出速度が異なる第２のドライブと、を少なくとも有し、
前記制御部が前記第１のドライブへのデータの書込回数を検知する書込回数検知ステップと、
前記書込回数検知ステップで前記第１のドライブにおける前記書込回数が所定閾値を超えたことが検知された場合に、前記制御部が前記データストレージとしての前記第１のドライブへのデータの書込を停止し、該停止後に、前記第１のドライブを第２のキャッシュメモリとして利用可能にする擬似キャッシュ構築ステップと、
前記制御部が前記第１及び第２のキャッシュメモリに記憶されたデータをキャッシュデータとするキャッシュ制御を行うキャッシュ制御ステップと、
を備えることを特徴とするキャッシュ制御方法。
【請求項１１】
前記制御用データには、データのキャッシュ先を識別可能な情報がまとめられたキャッシュ振分テーブルが含まれ、
前記擬似キャッシュ構築ステップにおいて前記第１のドライブを前記第２のキャッシュメモリとして利用可能にする際に、
前記制御部は、
前記第１のドライブに記憶されているデータを前記データストレージの他のドライブに移動し、
前記他のドライブに記憶されているキャッシュ化されていない候補データのうちから、前記第２のキャッシュメモリに記憶させるデータを選定する候補データ選定処理を実行し、
前記候補データ選定処理によって選定されたデータを前記第１のドライブに書き込むとともに、当該データの書込先アドレスを当該データのキャッシュ先として前記キャッシュ振分テーブルに登録する
ことを特徴とする請求項１０に記載のキャッシュ制御方法。
【請求項１２】
前記擬似キャッシュ構築ステップにおける前記候補データ選定処理において、
前記制御部は、前記制御用データを参照して算出される正規値に基づいて、前記第２のキャッシュメモリに記憶させるデータの優先順位を決定する
ことを特徴とする請求項１１に記載のキャッシュ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びキャッシュ制御方法に関し、データの読出性能が異なる記憶装置（ドライブ）が混在するストレージシステム、及びそのキャッシュ制御方法に適用して好適なものである。
【背景技術】
【０００２】
従来、データの最終的な格納先（以後、「データストレージ」と称する）として複数の記憶装置（ドライブ）を有して構成されるストレージシステムにおいては、ドライブよりもデータの読出速度が速いキャッシュメモリ（キャッシュ）が設けられており、ドライブからデータが読み出される際に、当該データをキャッシュにロードしてから読み出すことで、次回の読出時にはキャッシュから当該データを読み出すことができるようにしている。
【０００３】
このようなストレージシステムでは、キャッシュ上のデータの読出速度はドライブからの読出に係る一連の処理よりも高速になるため、できる限りキャッシュからデータを読み出す仕組みを作ることがストレージシステム全体の性能向上に繋がる。ここで例えば、キャッシュ容量を増やせば、データがキャッシュから読み出されやすくすることができる。しかし、キャッシュメモリに広く用いられるＲＡＭ（Random Access Memory）は、ドライブに用いられるＨＤＤ（Hard Disk Drive）よりも高価であるため、ＲＡＭの追加によってキャッシュ容量を増加させると、システムが高価格化してしまうという問題があった。
【０００４】
このような問題を解決する手段の一例として、特許文献１には、低価格で大容量のキャッシュを備えたストレージシステムが提案されている。より詳細には、特許文献１に開示されたストレージシステムは、ストレージコントローラ上のキャッシュとして、ＲＡＭの他に、アクセス性能が異なる別種類の記憶装置（具体的には、ＲＡＭよりも低価格ではあるがＨＤＤよりもアクセス性能が高いフラッシュメモリ）を用いた構成とし、キャッシュ対象のデータのアクセス特性に基づいてキャッシュ先とするキャッシュメモリの種類を決定するようにすることで、システムの高価格化を抑えながらキャッシュの容量を増加させようとするものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６０００３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に開示されたストレージシステムの場合、ＲＡＭよりは低価格とはいえ、一般的にはＨＤＤよりも高価なフラッシュメモリ（例えばＳＳＤ）をキャッシュ専用のメモリとして用いるため、当該フラッシュメモリの分だけシステムの価格が高くなってしまうことは避けられない。
【０００７】
また、特許文献１に開示されたストレージシステムのように、近年では、データストレージとして、ＨＤＤの他にＳＳＤ（Solid State Drive）を採用する構成が増えているが、ＳＳＤは、ＨＤＤよりも書込／読出速度が速いという利点を有する一方で、書込の上限回数が設けられているため、書込が上限回数に達した場合にはドライブとしての利用価値がなくなってしまう問題もあった。
【０００８】
またさらに、ストレージシステムにおいて、キャッシュの記憶領域は有限であり、ドライブに記憶されている全てのデータを記憶することはできないため、一定期間に亘って読出がない場合などには、データをキャッシュから追い出すデステージと呼ばれる処理が行われる。この結果、読出の発生が頻繁なデータであっても、読出状況によってはデステージが多く発生してしまい、読出性能の低下に繋がるおそれがあった。
【０００９】
本発明は以上の点を考慮してなされたもので、データの読出性能が異なる記憶装置（ドライブ）が混在するストレージシステムにおいて、システム全体の高価格化を抑えつつ、データの読出性能を高め得るストレージシステム及びキャッシュ制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、データの読出及び書込を制御するストレージコントローラと複数のドライブによって構成されてデータの最終的な格納先となるデータストレージとを有するストレージシステムが提供される。このストレージシステムにおいて、ストレージコントローラは、ストレージシステムを制御する制御部と、データキャッシュのための第１のキャッシュメモリと、制御部による制御処理に用いられる制御用データと、を有し、データストレージは、データの書込回数に上限回数が設けられた第１のドライブと、第１のドライブとはデータの読出速度が異なる第２のドライブと、を少なくとも有する。さらにこのストレージシステムでは、制御部が、第１のドライブへのデータの書込回数を検知する書込回数検知部と、書込回数検知部によって第１のドライブへのデータの書込回数が所定閾値を超えたことが検知された場合に、データストレージとしての第１のドライブへのデータの書込を停止し、該停止後に、第１のドライブを第２のキャッシュメモリとして利用可能にする擬似キャッシュ構築部と、第１及び第２のキャッシュメモリに記憶されたデータをキャッシュデータとするキャッシュ制御を行うキャッシュ制御部と、を備えることを特徴とする。
【００１１】
また、かかる課題を解決するため本発明においては、データの読出及び書込を制御するストレージコントローラと複数のドライブによって構成されてデータの最終的な格納先となるデータストレージとを有するストレージシステムによるキャッシュ制御方法が提供される。このキャッシュ制御方法において、ストレージコントローラは、ストレージシステムを制御する制御部と、データキャッシュのための第１のキャッシュメモリと、制御部による制御処理に用いられる制御用データと、を有し、データストレージは、データの書込回数に上限回数が設けられた第１のドライブと、第１のドライブとはデータの読出速度が異なる第２のドライブと、を少なくとも有する。そして、このキャッシュ制御方法は、制御部が第１のドライブへのデータの書込回数を検知する書込回数検知ステップと、書込回数検知ステップで第１のドライブにおける書込回数が所定閾値を超えたことが検知された場合に、制御部がデータストレージとしての第１のドライブへのデータの書込を停止し、該停止後に、第１のドライブを第２のキャッシュメモリとして利用可能にする擬似キャッシュ構築ステップと、制御部が第１及び第２のキャッシュメモリに記憶されたデータをキャッシュデータとするキャッシュ制御を行うキャッシュ制御ステップと、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、データの読出性能を高め得るストレージシステム及びキャッシュ制御方法を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施の形態に係るストレージシステムの構成例を示すブロック図である。
【図２】図１に示したストレージシステムのハードウェア構成例を示すブロック図である。
【図３】キャッシング処理の処理手順の一例を示すフローチャートである。
【図４】キャッシング処理における制御用データの一例を説明するための図（その１）である。
【図５】キャッシング処理における制御用データの一例を説明するための図（その２）である。
【図６】キャッシング処理における制御用データの一例を説明するための図（その３）である。
【図７】候補データ選定処理の処理手順の一例を示すフローチャートである。
【図８】候補データ選定処理における制御用データの一例を説明するための図（その１）である。
【図９】候補データ選定処理における制御用データの一例を説明するための図（その２）である。
【図１０】候補データ選定処理における制御用データの一例を説明するための図（その３）である。
【図１１】擬似キャッシュが構築されたときのストレージシステムの一例を説明するための図である。
【図１２】書込処理の処理手順の一例を示すフローチャートである。
【図１３】擬似キャッシュデータ書換処理の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下図面について、本発明の一実施の形態を詳述する。
【００１５】
（１）ストレージシステムの構成
図１は、本発明の一実施の形態に係るストレージシステムの構成例を示すブロック図である。
【００１６】
本実施の形態に係るストレージシステム１は、データストレージとして複数の記憶装置（ドライブ）を備え、これらの記憶装置をホスト計算機２の記憶デバイスとして提供する。なお、このような構成は以下の説明を簡便に行うための一構成例であって、本実施の形態に係るストレージシステム１の構成はこれに限定されるものではない。例えば、ストレージシステム１が複数の記憶装置によって論理ボリュームを形成してホスト計算機２に提供する構成等であってもよい。
【００１７】
図１に示すように、ストレージシステム１は、データの読出及び書込を制御するストレージコントローラ１１と、ＳＳＤ１２、ＳＳＤ１３、及びＳＡＳ１４等の複数の記憶装置とを備える。これら複数の記憶装置には、アクセス性能（例えば読出性能）の異なる記憶装置が少なくとも２つ含まれる。また、詳細は後述するが、本実施の形態においてこれらの複数の記憶装置は、基本的にはデータストレージとして機能し、所定条件を満たした場合に、一部の記憶装置がキャッシュメモリとして機能する。
【００１８】
ストレージコントローラ１１は、ストレージシステム１の制御を行う制御部１１０と、データキャッシュのためのキャッシュメモリ１２０と、制御部１１０による制御処理に用いられる制御用データ１３０と、を備えて構成される。
【００１９】
制御部１１０は、機能上の分類によって、キャッシュ制御部１１１、書込回数検知部１１２、擬似キャッシュ構築部１１３、及び擬似キャッシュ制御部１１４を含んで構成される。各部の詳細は後述する。
【００２０】
キャッシュメモリ１２０は、ストレージコントローラ１１上に設けられたキャッシュ領域であり、データストレージ（ＳＳＤ１２、ＳＳＤ１３、ＳＡＳ１４）に記憶されたデータの一部をキャッシュとして一時的に記憶する。
【００２１】
図１には、制御用データ１３０の一例として、テーブル形式のキャッシュ振分テーブル１４０及びデステージ回数テーブル１５０が示されている。キャッシュ振分テーブル１４０は、データのキャッシュ先を識別可能な情報がまとめられたテーブル形式のデータであり、デステージ回数テーブル１５０は、デステージされたデータのデステージ回数を識別可能な情報がまとめられたテーブル形式のデータである。これらのデータの詳細は、図４等を参照しながら後述する。また、制御用データ１３０に含まれるデータはこれらのデータに限られるものではなく、他にも例えば、データの読出回数及び書込回数に関する情報がまとめられた読出／書込回数テーブル１６０（図９（Ａ）参照）、擬似キャッシュ（詳細は後述）の対象ドライブに関する情報を示す対象ドライブ情報１７０（図８（Ａ）参照）、候補データ選定処理（詳細は後述）における候補データの優先順位がまとめられた候補データ優先順位テーブル１８０（図１０（Ｃ）参照）等がある。
【００２２】
なお、図１において、ＳＡＳ１４の内側に「Ａ００１／ＸＸＸ」と表示されているが、これは、ＳＡＳ１４のアドレス「Ａ００１」にデータ「ＸＸＸ」が記憶されていることを意味する。同様に、キャッシュメモリ１２０の内側に「Ｃ００１／ＸＸＸ」と表示されていることは、キャッシュメモリ１２０のアドレス「Ｃ００１」にデータ「ＸＸＸ」が記憶されていることを意味する。すなわちこの場合、ＳＡＳ１４に記憶されているデータ「ＸＸＸ」が、キャッシュメモリ１２０にキャッシュされていることが示される。ＳＳＤ１２及びＳＳＤ１３に記憶されているデータの図示は省略されている。このようなデータの表示方法は、本説明で以降に示す図でも同様とし、再度の説明を省略する。
【００２３】
なお、本実施の形態の説明において、アドレスの最上位桁の英文字は、ドライブごとに異なるものとし、具体的には「Ａ」はＳＡＳ１４のアドレスを意味し、「Ｂ」はＳＳＤ１３のアドレスを意味し、「Ｃ」はキャッシュメモリ１２０のアドレスを意味し、「Ｓ」はＳＳＤ１２のアドレスを意味する。
【００２４】
図２は、図１に示したストレージシステムのハードウェア構成例を示すブロック図である。図２に示したように、ストレージシステム１において、ストレージコントローラ１１は、ＣＰＵ（Central Processing Unit）１５、フロントエンドインタフェース（ＦＥインタフェース）１６、バックエンドインタフェース（ＢＥインタフェース）１７、ＲＯＭ（Read Only Memory）１８及びＲＡＭ（Random Access Memory）１９を含んで構成される。
【００２５】
ＣＰＵ１５は、ストレージシステム１（ストレージコントローラ）における各種処理を実行する。具体的には、ＲＯＭ１８に記憶されているプログラムをＲＡＭ１９に読み出して実行したり、ホスト計算機２からのデータの読出要求や書込要求等に応じて、データストレージ（ＳＳＤ１２、ＳＳＤ１３、ＳＡＳ１４）またはＲＡＭ１９へのデータアクセスを行ったりするものであり、図１の制御部１１０の各部はＣＰＵ１５による各種処理の実行によって実現される。
【００２６】
ＦＥインタフェース１６は、ホスト計算機２と通信するためのインタフェースデバイスである。ＢＥインタフェース１７は、データストレージと通信するためのインタフェースデバイスであり、具体的には例えば、ＳＡＳやＦＣ（Fiber Channel）のインタフェースデバイスである。
【００２７】
ＲＯＭ１８は、不揮発性メモリであって、ＣＰＵ１５が実行するプログラムや各種テーブルを記憶する。
【００２８】
ＲＡＭ１９は、例えばフラッシュメモリであって、ＣＰＵ１５による処理に用いられるプログラムやデータ等（例えばキャッシュ振分テーブル１４０，デステージ回数テーブル１５０）を一時的に記憶する。また、ＲＡＭ１９は、一部の記憶領域でデータストレージ（ＳＳＤ１２、ＳＳＤ１３、ＳＡＳ１４）に記憶されたデータの一部をキャッシュして一時的に記憶することにより、キャッシュメモリ１２０を実現する。
【００２９】
また、図１及び図２に示したように、ストレージシステム１は、データストレージの一例としてＳＳＤ１２、ＳＳＤ１３、及びＳＡＳ１４を備えるが、より具体的には、ＳＳＤ１２及びＳＳＤ１３は、フラッシュＳＳＤ（Solid State Drive）であり、ＳＡＳ１４は、ＳＡＳ（Serial Attached SCSI）規格のＨＤＤ（Hard Disk Drive）であるとする。
【００３０】
このようにストレージシステム１は複数種類の記憶装置を備えている。本例において、各記憶装置におけるデータの読出／書込の性能（アクセス性能）は、高い方から順にＲＡＭ１９、ＳＳＤ１３、ＳＳＤ１２、ＳＡＳ１４である。具体的には例えば、ＲＡＭ１９の読出性能値は「１０００００ＩＯＰＳ」、ＳＳＤ１３の読出性能値は「１００００ＩＯＰＳ」、ＳＳＤ１２の読出性能値は「７０００ＩＯＰＳ」、ＳＡＳ１４の読出性能値は「７５ＩＯＰＳ」であるとする。但し、前述したように、本実施の形態に係るストレージシステム１が備える記憶装置の種類や個数は上記例に限定されるものではない。
【００３１】
以下では、ストレージコントローラ１１の制御部１１０の機能的な各構成（キャッシュ制御部１１１、書込回数検知部１１２、擬似キャッシュ構築部１１３、擬似キャッシュ制御部１１４）の詳細を説明することによって、ストレージシステム１における制御処理について説明する。
【００３２】
（２）キャッシュ制御部
キャッシュ制御部１１１は、例えば、キャッシュ管理を行うためにストレージコントローラ１１が有する所定のプログラム（キャッシュ管理プログラム）に従って動作し、ストレージシステム１に記憶されたデータの読出要求や書込要求に応じて、対象データの読出や書込を行う。特に、データの読出要求に応じる場合、キャッシュ制御部１１１は、キャッシュ（キャッシュメモリ１２０）から対象データを読み出す。
【００３３】
しかし、ストレージシステム１において、ＲＡＭ１９によるキャッシュメモリ１２０の記憶領域（キャッシュ領域）は有限であり、ドライブ（ＳＳＤ１２、ＳＳＤ１３、ＳＡＳ１４）に記憶される全てのデータを記憶することはできない。そこで、キャッシュメモリ１２０にキャッシュされているものの一定期間に亘ってデータの読出が行われていない等、所定の条件を満たすデータについて、キャッシュ制御部１１１は、当該データをキャッシュから追い出す（削除する）デステージ処理を行う。
【００３４】
具体的には例えば、キャッシュされていないデータが読み出される場合、ストレージシステム１の制御部１１０は、当該データをキャッシュしようとする（キャッシング処理）。このとき、キャッシュ領域に空きがない場合には、デステージ処理によってキャッシュメモリ１２０に空き領域を作ることで、当該データを新たにキャッシュできるようになる。
【００３５】
図３は、キャッシング処理の処理手順の一例を示すフローチャートである。図３に示したキャッシング処理にはデステージ処理が含まれており（具体的にはステップＳ１０４）、制御部１１０（主にキャッシュ制御部１１１）によって実行される。図３を参照しながら、ストレージシステム１におけるキャッシング処理及びデステージ処理について説明する。
【００３６】
まず、図３のステップＳ１０１において、制御部１１０（例えばキャッシュ制御部１１１）がホスト計算機２からデータの読出要求を受け取る。データの読出要求では、読み出しを要求するデータ（読出対象データ）が記憶されているアドレスが通知される。
【００３７】
次に、ステップＳ１０２において、キャッシュ制御部１１１は、キャッシュ振分テーブル１４０を参照し、読出対象データがキャッシュに登録されているか否かを確認する。
【００３８】
ステップＳ１０２において読出対象データがキャッシュ振分テーブル１４０に登録されていた場合は（ステップＳ１０２のＹＥＳ）、当該データがキャッシュされていることを意味するため、キャッシュ制御部１１１は、キャッシュメモリ１２０から当該データを読出（ステップＳ１０７）、キャッシング処理を終了する。
【００３９】
一方、ステップＳ１０２において読出対象データがキャッシュ振分テーブル１４０に登録されていなかった場合は（ステップＳ１０２のＮＯ）、当該データがキャッシュされていないことを意味するため、キャッシュ制御部１１１は、ステップＳ１０３以降の処理を行う。
【００４０】
ステップＳ１０３では、キャッシュ制御部１１１は、キャッシュメモリ１２０に空き領域があるか否かを判定し、空き領域があった場合は（ステップＳ１０３のＹＥＳ）、ステップＳ１０５の処理に進む。空き領域がなかった場合は（ステップＳ１０３のＮＯ）、キャッシュ制御部１１１は、ステップＳ１０４でデステージ処理を行ってから、ステップＳ１０５の処理に進む。
【００４１】
ステップＳ１０４のデステージ処理において、キャッシュ制御部１１１は、ストレージシステム１（ストレージコントローラ１１）で定められた所定のキャッシュアルゴリズムに従って、キャッシュ上のデータ（一部でよい）を削除する。ここで、所定のキャッシュアルゴリズムとは、従来用いられている任意のキャッシュアルゴリズムであればよく、例えば、使用頻度が低いデータをキャッシュから削除する。さらに、キャッシュ制御部１１１は、削除したデータについてデステージ回数テーブル１５０を更新する。
【００４２】
ステップＳ１０５では、キャッシュ制御部１１１は、データストレージに記憶されている読出対象データをキャッシュメモリ１２０に読み込む（ステージングする）。そして、ステップＳ１０６では、ステージングした読出対象データについて、キャッシュ振分テーブル１４０を更新する。
【００４３】
そして最後に、ステップＳ１０７において、キャッシュ制御部１１１は、読出対象データをキャッシュ（例えばキャッシュメモリ１２０）から読み出して、ホスト計算機２に渡す。
【００４４】
以上のキャッシング処理について、図４〜図６を参照しながら具体例を挙げて説明する。
【００４５】
図４〜図６は、キャッシング処理における制御用データの一例を説明するための図（その１〜その３）である。図３で説明したように、キャッシング処理では制御用データ１３０のうちキャッシュ振分テーブル１４０及びデステージ回数テーブル１５０が用いられる。これらの両テーブルについて、図４には、デステージ処理が行われる前の段階（ステップＳ１０２）における具体例が示され、図５には、デステージ処理中（ステップＳ１０４）の具体例が示され、図６にはデステージ処理後（ステップＳ１０６）の具体例が示されている。
【００４６】
なお、図４〜図６では、キャッシュ振分テーブル１４０Ａ，１４０Ｂ，１４０Ｃのように、同一名称の制御用データに異なる英字を添えて表記しているが、これは処理の進行に応じてデータ内容が変更し得ることを示唆しているに過ぎず、それぞれが異なる制御用データであることを意味するものではない。そして以降の説明においては、他の制御用データについても同様の表記を行うことがある。
【００４７】
図４〜図６に示すように、キャッシュ振分テーブル１４０は、キャッシュされたデータのデータストレージ（ＳＳＤ１２、ＳＳＤ１３、またはＳＡＳ１４）における記憶先を示すアドレス１４１と、当該データのキャッシュ先を示すキャッシュ先１４２と、を備えて構成される。また、デステージ回数テーブル１５０は、データのデータストレージ（ＳＳＤ１２、ＳＳＤ１３、またはＳＡＳ１４）における記憶先を示すアドレス１５１と、当該データがデステージされた回数（デステージ回数）を示す回数１５２と、当該データストレージのデータ読出に関する性能値（読出性能値）を示す読出性能値１５３と、を備えて構成される。
【００４８】
この具体例では、ステップＳ１０１において、アドレス「Ａ００５」に記憶されているデータ（図１によれば、ＳＡＳ１４に格納されているデータ「ｘｙｚ」に相当）の読出要求を受けたとする。
【００４９】
このとき、キャッシュ制御部１１１は、ステップＳ１０２において、キャッシュ振分テーブル１４０のアドレス１４１に「Ａ００５」が登録されているか否かを確認する。
【００５０】
ここで図４（Ａ）を参照すると、キャッシュ振分テーブル１４０Ａのアドレス１４１には「Ａ００５」がないことから、読出対象データはキャッシュ振分テーブル１４０に登録されていないと判断され（ステップＳ１０２のＮＯ）、ステップＳ１０３に進む。
【００５１】
その後、ステップＳ１０３においてキャッシュに空きがない（キャッシュが満杯である）と判定されたとすると、ステップＳ１０４でデステージ処理が行われる。デステージ処理では、使用頻度が低いデータがキャッシュから削除されるとする。
【００５２】
ここで図５の具体例には、ステップＳ１０４のデステージ処理において、使用頻度が低いデータとしてアドレス「Ａ００１」のデータが選ばれたときの例が示されている。図４（Ａ）と比較すると、図５（Ａ）のキャッシュ振分テーブル１４０Ｂでは、「Ｃ００１」のキャッシュ先１４２におけるアドレス「Ａ００１」のデータの登録が削除されている（デステージ）。そしてこのデステージを受けて、図５（Ｂ）のデステージ回数テーブル１５０Ｂでは、「Ａ００１」のアドレス１５１に対応する回数１５２の値が、図４（Ｂ）における「３」から「＋１」されている（デステージ回数が「４」に更新される）。
【００５３】
そして、ステップＳ１０５では、読出対象データ（すなわち、ＳＡＳ１４のアドレス「Ａ００５」に記憶されているデータ「ｘｙｚ」）が、キャッシュメモリ１２０にステージングされる。次いで、ステップＳ１０６では、ステージングされたデータ「ｘｙｚ」について、キャッシュ振分テーブル１４０が更新される。
【００５４】
ここで図６を参照すると、図６（Ｂ）のデステージ回数テーブル１５０Ｃにおいて、「Ａ００１」のアドレス１５１に対応する回数１５２の値は「４」に増えている。また、図６（Ａ）のキャッシュ振分テーブル１４０Ｃによれば、アドレス「Ａ００５」のデータがキャッシュ先「Ｃ００１」に登録されたこと、すなわちデータ「ｘｙｚ」がキャッシュされたことが分かる。
【００５５】
以上のように、ステップＳ１０１〜Ｓ１０７の処理が行われることにより、ストレージシステム１に記憶されたデータに対する読出要求に応じて、ストレージコントローラ１１は、要求されたデータをキャッシュ上から読み出してホスト計算機２に渡すことができる。
【００５６】
（３）書込回数検知部、擬似キャッシュ構築部
前述したように、図１に示したストレージシステム１は、データストレージとしてＳＳＤ（ＳＳＤ１２やＳＳＤ１３）を備えている。これらのＳＳＤは、ＨＤＤ（ＳＡＳ１４）よりも高いアクセス性能を有するが、書込の上限回数という制約を有している。
【００５７】
そこで本実施の形態に係るストレージシステム１では、このようなデータストレージとして使用されるＳＳＤ１２について、書込回数検知部１１２がＳＳＤ１２における書込回数を検知し、書込回数が所定閾値（例えば、メーカ保証値の１００％に相当する回数）を超えた場合には、ＳＳＤ１２をデータストレージに使用することを停止する。そして、データストレージとしての使用が停止されたＳＳＤ１２は、ストレージシステム１におけるキャッシュ用のストレージとして利用される。
【００５８】
なお、書込回数の「所定閾値」については、上記のようにメーカ保証値の１００％に限定されるものではなく、他の閾値が設定されてもよい。さらに、ストレージシステム１の管理者等が、許容された所定の範囲内で「所定閾値」を変更できるようにしてもよい。このように「所定閾値」を変更可能にする場合、ＳＳＤ１２についてデータストレージとして利用可能な期間とキャッシュとして利用可能な期間との割合を変えることができるため、例えば個々のユーザの希望に応じた設定を実現することができる。
【００５９】
また、以降の説明では、ストレージコントローラ１１上のキャッシュメモリ１２０によるキャッシュ機能と区別するために、データストレージから転用されたＳＳＤ１２によるキャッシュを「擬似キャッシュ」と称することがある。
【００６０】
擬似キャッシュ構築部１１３は、ＳＳＤ１２を擬似キャッシュとして利用可能にする処理を行う。
【００６１】
具体的には、まず、擬似キャッシュ構築部１１３は、書込回数が所定閾値を超えたＳＳＤ１２に記憶されているデータを他のデータストレージ（ＳＳＤ１３またはＳＡＳ１４）にコピーし、コピー完了後はＳＳＤ１２における当該データを削除する。
【００６２】
次に、擬似キャッシュ構築部１１３は、データストレージ（ＳＳＤ１３、ＳＡＳ１４）に記憶されているデータでキャッシュ化されていない候補データ（すなわち、キャッシュメモリ１２０にキャッシュされていないデータ）のうちから、擬似キャッシュ（ＳＳＤ１２）にキャッシュするデータを選定する（候補データ選定処理）。
【００６３】
そして、擬似キャッシュ構築部１１３は、候補データ選定処理で選定されたデータを擬似キャッシュ（ＳＳＤ１２）にコピーし、キャッシュ振分テーブル１４０に登録する。
【００６４】
以上の処理が行われることで、キャッシュメモリ１２０及びＳＳＤ１２に記憶されたデータがキャッシュデータとしてキャッシュ振分テーブル１４０に登録されるため、キャッシュ制御部１１１は、従来のキャッシュメモリ１２０に加えてＳＳＤ１２もキャッシュとして利用することができるようになる。
【００６５】
（３−１）候補データ選定処理
ここで、擬似キャッシュ構築部１１３によって実行される候補データ選定処理について詳しく説明する。なお、候補データ選定処理によってどのようなデータを選定するかは、任意に設計することができるが、キャッシュによる効果の観点からいえば、例えば、書込回数が少なく読出回数が多いデータを、擬似キャッシュに登録するデータとして選別することが好ましい。
【００６６】
図７は、候補データ選定処理の処理手順の一例を示すフローチャートである。また、図８〜図１０は、候補データ選定処理における制御用データの一例を説明するための図（その１〜その３）である。図８には、ステップＳ２０１の処理が行われるときの具体例が示され、図９には、ステップＳ２０２の処理が行われるときの具体例が示され、図１０には、ステップＳ２０３の処理が行われるときの具体例が示されている。
【００６７】
以下では、図８〜図１０の制御用データ１３０の具体例を参照しながら、図７に示したフローチャートに沿って、ＳＳＤ１２に擬似キャッシュを構築する場合の候補データ選定処理を説明する。
【００６８】
まず、図７のステップＳ２０１が開始される前に、擬似キャッシュ構築部１１３には、擬似キャッシュを構築する対象のドライブ（対象ドライブと呼び、本例ではＳＳＤ１２）が指定される。
【００６９】
ステップＳ２０１では、擬似キャッシュ構築部１１３は、対象ドライブよりもアクセス性能が低いドライブを選択し、デステージ回数テーブル１５０に記録された候補データから当該ドライブのデータを抽出する。
【００７０】
ここで、図８（Ａ）には、対象ドライブであるＳＳＤ１２に関する情報として対象ドライブ情報１７０Ａ（１７０）が例示されている。対象ドライブ情報１７０は、対象ドライブのデータ読出に関する性能値（読出性能値）を示す読出性能値１７１と、対象ドライブの記憶容量を示すサイズ１７２と、を備えて構成されるテーブル形式のデータである。図８（Ａ）の対象ドライブ情報１７０Ａによれば、ＳＳＤ１２について、読出性能値１７１が「７０００ＩＯＰＳ」であり、サイズ１７２が「２５０ＧＢ」であることが示される。
【００７１】
また、図８（Ｂ）には、擬似キャッシュの構築開始時のデステージ回数テーブル１５０Ｄが例示されている。デステージ回数テーブル１５０Ｄによれば、アドレス１５１に記載された各データのアドレスの最上位桁が「Ａ」または「Ｂ」であることから、ＳＡＳ１４及びＳＳＤ１３に記憶されたデータが候補データであることが分かり、読出性能値１５３を参照することで、ＳＡＳ１４（アドレス１５１の最上位桁が「Ａ］）の読出性能値が「７５ＩＯＰＳ」であり、ＳＳＤ１３（アドレス１５１の最上位桁が「Ｂ］）の読出性能値が「１００００ＩＯＰＳ」であることが分かる。
【００７２】
以上のことから、ステップＳ２０１では、擬似キャッシュ構築部１１３は、対象ドライブよりもアクセス性能が低いドライブとして「７０００ＩＯＰＳ」よりも低い読出性能値を有するドライブ、すなわち「７５ＩＯＰＳ」の読出性能値を有するＳＡＳ１４を選択し、このＳＡＳ１４に記憶されているデータをデステージ回数テーブル１５０Ｄから抽出する。図８（Ｃ）には、ステップＳ２０１における抽出後のデステージ回数テーブル１５０Ｅが例示されている。デステージ回数テーブル１５０Ｅによれば、アドレス１５１の最上位桁は全て「Ａ］であることから、ＳＡＳ１４に記憶された候補データのみが抽出されたことが分かる。
【００７３】
次に、ステップＳ２０２では、擬似キャッシュ構築部１１３は、ステップＳ２０１で抽出された候補データを読出／書込回数テーブル１６０でも抽出する。
【００７４】
図９には、ステップＳ２０２の処理が行われるときの制御用データ１３０の一例として、データの読出回数及び書込回数がまとめられた読出／書込回数テーブル１６０が示されている。詳しくは、図９（Ａ）にはステップＳ２０２の処理前の読出／書込回数テーブル１６０Ａが示され、図９（Ｂ）にはステップＳ２０２の処理後の読出／書込回数テーブル１６０Ｂが示されている。図９（Ａ），図９（Ｂ）に示すように、読出／書込回数テーブル１６０は、データの記憶先を示すアドレス１６１と、当該データの読出回数を示す読出回数１６２と、当該データの書込回数を示す書込回数１６３と、を備えて構成されるテーブル形式のデータである。
【００７５】
図９（Ａ）の読出／書込回数テーブル１６０Ａでは、アドレス１６１の最上位桁が「Ａ］のデータ（すなわち、ＳＡＳ１４に記憶されたデータ）と、アドレス１６１の最上位桁が「Ｂ」のデータ（すなわち、ＳＳＤ１３に記憶されたデータ）とが記録されている。一方、図９（Ｂ）の読出／書込回数テーブル１６０Ｂでは、ＳＡＳ１４に記憶された候補データ（アドレス「Ａ００１」、「Ａ００２」、「Ａ００３」）しか記録されていない。これらを比較すると、ステップＳ２０１と同様に、ＳＳＤ１３に記憶された候補データが除外され、ＳＡＳ１４に記憶された候補データのみが抽出されたことが分かる。
【００７６】
次に、ステップＳ２０３では、擬似キャッシュ構築部１１３は、ステップＳ２０１，Ｓ２０２の処理後の各テーブル（デステージ回数テーブル１５０及び読出／書込回数テーブル１６０）に記録されたデータについて所定の算出式を用いて正規化し（正規化値を算出し）、これらの正規化値に基づいて擬似キャッシュ（ＳＳＤ１２）にキャッシュする候補データの優先順位を決定する。優先順位が決定された候補データは、候補データ優先順位テーブル１８０に記録される。
【００７７】
次段落に示す数式（数１）は、ステップＳ２０３における正規化値の算出式の一例を説明するものである。数１は、第１項と第２項の和による二項式となっており、候補データ優先順位テーブル１８０における正規化値１８２の算出式として用いられる（図１０（Ｃ）参照）。また、数１の第１項は、デステージ回数テーブル１５０における正規化値１５４の算出式としても用いられ（図１０（Ａ）参照）、数１の第２項は、読出／書込回数テーブル１６０における正規化値１６４の算出式としても用いられる（図１０（Ｂ）参照）。
【００７８】
【数１】
2019113891.tif 000003
【００７９】
ここで、図１０は、上記の数１を用いてステップＳ２０３の処理が行われるときの制御用データ１３０の一例である。
【００８０】
図１０（Ａ）のデステージ回数テーブル１５０Ｆは、ステップＳ２０１によって生成された図８（Ｃ）のデステージ回数テーブル１５０Ｅにおいて正規化値の算出を行ったものであり、各データについて正規化値１５４が算出されている。また、図１０（Ｂ）の読出／書込回数テーブル１６０Ｃは、ステップＳ２０２によって生成された図９（Ｂ）の読出／書込回数テーブル１６０Ｂ（ステップＳ２０２の処理後）において正規化値の算出を行なったものであり、各データについて正規化値１６４が算出されている。
【００８１】
そして、図１０（Ｃ）の候補データ優先順位テーブル１８０Ａは、図１０（Ａ）のデステージ回数テーブル１５０Ｆ及び図１０（Ｂ）の読出／書込回数テーブル１６０Ｃにおける正規化値に基づいて決定される候補データの優先順位を記録したものである。詳しく説明すると、候補データ優先順位テーブル１８０Ａ（１８０）は、候補データの記憶先を示すアドレス１８１、当該候補データについてのデステージ回数テーブル１５０Ｆの正規化値１５４と読出／書込回数テーブル１６０Ｃの正規化値１６４との和による正規化値１８２、及び、当該候補データの優先順位を示す優先順位１８３を備えて構成されるテーブル形式のデータである。
【００８２】
図１０（Ｃ）の候補データ優先順位テーブル１８０Ａによれば、各アドレス１８１（「Ａ００１」，「Ａ００２」，「Ａ００３」）に記憶された候補データについて、正規化値１８２はそれぞれ「１．３６」、「１．６７」、「０．１０」となることから、優先順位１８３は、「２」、「１」、「３」の順となる。
【００８３】
なお、ステップＳ２０３において、候補データ優先テーブル１８０Ａ（１８０）の正規化値１８２が同一となる候補データが存在した場合は、「読出回数（読出／書込回数テーブル１６０Ｃの読出回数１６２）が大きい」、「デステージ回数（デステージ回数テーブル１５０Ｆの回数１５２）が大きい」、「書込回数（読出／書込回数テーブル１６０Ｃの書込回数１６３）が小さい」の順に両候補データを比較し、その結果に応じて優先順位を決定する。
【００８４】
次に、ステップＳ２０４では、擬似キャッシュ構築部１１３は、擬似キャッシュに登録するデータ（「対象データ」とも呼ぶ。不図示。）のサイズ合計が対象ドライブ（ＳＳＤ１２）の空きサイズ以上になる手前まで（空きサイズ内で記憶可能な最大限まで）、若しくはステップＳ２０３で生成された候補データ優先順位テーブル１８０に記録されたデータの全てを対象データに追加するまで、ステップＳ２０５の処理を繰り返す。
【００８５】
ステップＳ２０５では、擬似キャッシュ構築部１１３は、候補データ優先順位テーブル１８０Ａ（１８０）から、優先順位１８３が最も高い（図１０（Ｃ）の場合、最も小さい）候補データを対象データに追加する。対象データに追加された候補データは、候補データ優先順位テーブル１８０Ａから削除される。
【００８６】
以上、ステップＳ２０１〜Ｓ２０５の処理が行われることによって、擬似キャッシュ構築部１１３は、キャッシュ化されていない候補データのうちから、擬似キャッシュ（ＳＳＤ１２）に登録可能な最大限の候補データを優先順位に従って選定し、対象データに追加することができる。
【００８７】
そして候補データ選定処理の後は、擬似キャッシュ構築部１１３は、上記対象データの記録に基づいて、候補データ選定処理で選定されたデータを擬似キャッシュ（ＳＳＤ１２）にコピーし、キャッシュ振分テーブル１４０に登録することで、ＳＳＤ１２に擬似キャッシュを構築することができる。
【００８８】
図１１は、擬似キャッシュが構築されたときのストレージシステムの一例を説明するための図である。図１１には、図１０（Ｃ）の候補データ優先順位テーブル１８０Ａに示された候補データが全て擬似キャッシュ（ＳＳＤ１２）に登録されたときのストレージシステム１が例示されている。
【００８９】
具体的には、候補データ優先順位テーブル１８０Ａで優先順位１８３が「１」とされたＳＡＳ１４の「Ａ００２／ＹＹＹ」は、擬似キャッシュであるＳＳＤ１２のアドレス「Ｓ００１」にコピーされ、優先順位１８３が「２」とされたＳＡＳ１４の「Ａ００１／ＸＸＸ」は、擬似キャッシュであるＳＳＤ１２のアドレス「Ｓ００２」にコピーされ、優先順位１８３が「３」とされたＳＡＳ１４の「Ａ００３／ＺＺＺ」は、擬似キャッシュであるＳＳＤ１２のアドレス「Ｓ００３」にコピーされている。
【００９０】
また、図１１に示されたキャッシュ振分テーブル１４０Ｄには、キャッシュメモリ１２０をキャッシュ先とするキャッシュデータと、擬似キャッシュ（ＳＳＤ１２）をキャッシュ先とするキャッシュデータとの両方が登録されている。具体的には例えば、「Ａ００２」のアドレス１４１に記憶されたデータのキャッシュ先１４２は「Ｓ００１」とされている。
【００９１】
したがって、擬似キャッシュ構築部１１３がＳＳＤ１２に擬似キャッシュを構築した後は、キャッシュ制御部１１１は、キャッシュ振分テーブル１４０（１４０Ｄ）を参照することによって、擬似キャッシュに登録されたデータをキャッシュデータとして読み出すことができる。図１１には、各ドライブの読出性能値（単位：ＩＯＰＳ）やデータの読出時間の目安（単位：ｍｓ）が記載されているが、これらを見ても、ＳＳＤ１２が擬似キャッシュとして機能することによって、ＳＡＳ１４に記憶されたデータの読出速度が向上することが分かる。
【００９２】
但し、図１１において、擬似キャッシュ化されたＳＳＤ１２は、書込回数が所定閾値を超えて書込回数の上限が近いドライブであることから、所定の条件を満たした場合（具体的には例えば、後述する擬似キャッシュ制御部１１４による擬似キャッシュデータ書換処理が行われる場合）を除いて、擬似キャッシュ構築後にキャッシュされたデータは更新されない。
【００９３】
また、本実施の形態に係るストレージシステム１では、擬似キャッシュからキャッシュデータを読み出す際に、当該データをキャッシュメモリ１２０にステージングするようにしてもよい。このようにすることで、次回の読出要求からは、擬似キャッシュのキャッシュを残しながらも、デステージによって削除されない限りは、読出性能がより高いキャッシュメモリ１２０から当該データをキャッシングすることができる。なお、このようにキャッシュメモリ１２０と擬似キャッシュ（例えばＳＳＤ１２）の双方にキャッシュされた状態における制御については、後述する書込処理における具体例の第２例において詳しく説明している。
【００９４】
（４）擬似キャッシュ制御部
擬似キャッシュ制御部１１４は、擬似キャッシュ構築部１１３によって擬似キャッシュ（例えばＳＳＤ１２）が構築された後のストレージシステム１の運用において、擬似キャッシュにキャッシュされたデータを書き換える処理（擬似キャッシュデータ書換処理）を必要に応じて実行する。擬似キャッシュデータ書換処理は、キャッシュ制御部１１１が制御するデータの書込処理のなかで実行される可能性がある。
【００９５】
図１２は、書込処理の処理手順の一例を示すフローチャートである。書込処理は、ストレージシステム１のデータストレージにデータを書き込むための処理であって、データストレージに既に記憶されているデータを更新する（書き換える）処理も含まれる。
【００９６】
まず、図１２のステップＳ３０１において、制御部１１０（例えばキャッシュ制御部１１１）は、ホスト計算機２からデータの書込要求を受け取る。データの書込要求では、書き込むデータ（書込データ）が書込先のアドレス（書込先アドレス）とともに通知される。なお、書込先アドレスに既に記憶されているデータ（すなわち、書込データによって書き換えられることになるデータ）を「書換対象データ」と呼ぶ。
【００９７】
次に、ステップＳ３０２において、キャッシュ制御部１１１は、キャッシュ振分テーブル１４０を参照し、書換対象データがキャッシュメモリ１２０にキャッシュされているか確認する。具体的には、キャッシュ振分テーブル１４０において、アドレス１４１に書込データの書込先アドレスが登録されており、かつ、そのキャッシュ先１４２がキャッシュメモリ１２０のアドレスである（アドレスの最上位桁が「Ｃ」である）か否かを確認する。
【００９８】
ステップＳ３０２において書換対象データがキャッシュメモリ１２０に登録されていると判断された場合は（ステップＳ３０２のＹＥＳ）、ステップＳ３０４の処理に進む。一方、ステップＳ３０２において書換対象データがキャッシュメモリ１２０に登録されていないと判断された場合は（ステップＳ３０２のＮＯ）、ステップＳ３０３において書込先アドレスに記憶されている書換対象データをキャッシュメモリ１２０に読み込んでから、ステップＳ３０４の処理に進む。
【００９９】
なお、図１２では図示しないが、ステップＳ３０３において、書込先アドレスに書換対象データが存在しない場合は、書込データが新規データであることを意味するため、ステップＳ３０４以降の処理を行わずに、書込先アドレスに書込データを書き込んで書込処理を終了する。
【０１００】
そしてステップＳ３０４では、キャッシュ制御部１１１は、キャッシュメモリ１２０に記憶された書換対象データを書込データに書き換えることによって、キャッシュメモリ１２０に書込データを書き込む。さらに、ステップＳ３０５において、キャッシュ制御部１１１は、書込先アドレスに記憶された書換対象データを書込データに書き換えることによって、書込先アドレスに書込データを書き込む。
【０１０１】
次に、ステップＳ３０６において、キャッシュ制御部１１１は、キャッシュ振分テーブル１４０を参照し、書換対象データが擬似キャッシュ（本例ではＳＳＤ１２）にキャッシュされているか確認する。具体的には、キャッシュ振分テーブル１４０において、アドレス１４１に書込データの書込先アドレスが登録されており、かつ、そのキャッシュ先１４２が擬似キャッシュ（ＳＳＤ１２）のアドレスである（アドレスの最上位桁が「Ｓ」である）か否かを確認する。
【０１０２】
ステップＳ３０６において書換対象データが擬似キャッシュに登録されていると判断された場合は（ステップＳ３０６のＹＥＳ）、ステップＳ３０７において擬似キャッシュ制御部１１４による擬似キャッシュデータ書換処理が行われ、その後に書込処理を終了する。一方、ステップＳ３０６において書換対象データが擬似キャッシュに登録されていないと判断された場合は（ステップＳ３０６のＮＯ）、ステップＳ３０７の処理を行わずに、書込処理を終了する。
【０１０３】
図１３は、擬似キャッシュデータ書換処理の処理手順の一例を示すフローチャートである。前述したように、図１３に示す擬似キャッシュデータ書換処理は、図１２の書込処理のなかで、書換対象データが擬似キャッシュに登録されていると判断された場合に（ステップＳ３０６のＹＥＳ）実行されるステップＳ３０７の処理に相当し、擬似キャッシュ制御部１１４によって実行される。なお、キャッシュ制御部１１１が擬似キャッシュデータ書換処理を実行するように構成してもよい。
【０１０４】
まず、図１３のステップＳ４０１において、擬似キャッシュ制御部１１４は、擬似キャッシュ（本例ではＳＳＤ１２）に記憶された書換対象データを書込データに書き換える。
【０１０５】
その後、ステップＳ４０２において、擬似キャッシュ制御部１１４は、ステップＳ４０１における擬似キャッシュのデータ書換が成功したか否かを確認する。ここで、擬似キャッシュに用いられるドライブ（例えばＳＳＤ１２）は、書込回数が既に所定閾値を超えたドライブであり、更に書込（書換）が行われたことによって書込回数が機能上の上限回数に到達した場合には、ステップＳ４０１のデータ書換が成功しない可能性がある。ステップＳ４０２は、このことを考慮したものである。
【０１０６】
ステップＳ４０２において擬似キャッシュのデータ書換の成功が確認できた場合は（ステップＳ４０２のＹＥＳ）、擬似キャッシュデータ書換処理を終了する。
【０１０７】
一方、ステップＳ４０２において擬似キャッシュのデータ書換の成功が確認できなかった場合（ステップＳ４０２のＮＯ）、すなわち、擬似キャッシュのデータ書換に失敗した場合、擬似キャッシュ制御部１１４は、データ書換に失敗した擬似キャッシュのドライブによる全てのキャッシュの登録を解除する。具体的には、当該ドライブ（例えばＳＳＤ１２）にキャッシュされた全てのキャッシュデータをキャッシュ振分テーブル１４０から削除する（ステップＳ４０３）。
【０１０８】
さらに、擬似キャッシュ制御部１１４は、データ書換に失敗した擬似キャッシュに用いられていたドライブを「交換が必要なドライブ」とする（ステップＳ４０４）。このデータ書換に失敗したドライブは、データストレージにも擬似キャッシュにも利用できなくなったドライブであるので、ステップＳ４０４においてキャッシュ制御部１１１は、所定の表示出力等によって「交換が必要なドライブ」をストレージシステム１の管理者等に通知し、当該ドライブの交換（または取り外し）を促すことが好ましい。
【０１０９】
なお、本実施の形態に係るストレージシステム１では、ステップＳ４０１における擬似キャッシュのデータ書換が失敗したとしても（ステップＳ４０２のＮＯ）、それ以前に実行される図１２のステップＳ３０４及びステップＳ３０５の処理によって、キャッシュメモリ１２０及びデータストレージ（本例ではＳＡＳ１４）の双方に対して書換対象データ「ＸＸＸ」が書込データ「ＸＸａ」に書き換えられているため、キャッシュメモリ１２０やデータストレージへのデータの書込に影響はなく、その後もストレージシステム１を正常に利用することができる。したがって擬似キャッシュ制御部１１４は、擬似キャッシュのデータ書換が失敗しても、ストレージシステム１全体の障害とは判断せずに、ステップＳ４０４の処理後に擬似キャッシュデータ書換処理を終了し、当該処理を経てキャッシュ制御部１１１は書込処理を終了する。
【０１１０】
以上のように図１２及び図１３に示した処理が行われることによって、ストレージシステム１では、擬似キャッシュが構築された後であっても、キャッシュ制御部１１１（または擬似キャッシュ制御部１１４）が、データの書込要求に応える制御処理を実現することができる。
【０１１１】
以下、上記の書込処理について、図１１に例示したストレージシステム１を用いて、いくつかの具体的な処理手順例を示す。
【０１１２】
第１例では、ステップＳ３０１のデータ書込要求において「Ａ００４（書込先アドレス）／ａｂＸ（書込データ）」が通知されたとする。
【０１１３】
この場合、ステップＳ３０２において、キャッシュ振分テーブル１４０Ｄのアドレス１４１に「Ａ００４」が登録されており、かつ、そのキャッシュ先１４２は「Ｃ００１」であることから、書換対象データがキャッシュメモリ１２０にキャッシュされていると判断される（ステップＳ３０２のＹＥＳ）。図１１によれば、ＳＡＳ１４のアドレス「Ａ００４」及びキャッシュメモリ１２０のアドレス「Ｃ００１」に、書換対象データ「ａｂｃ」が記憶されている。
【０１１４】
その後、ステップＳ３０４において、キャッシュメモリ１２０のアドレス「Ｃ００１」に記憶された書換対象データ「ａｂｃ」が書込データ「ａｂＸ」に書き換えられ、ステップＳ３０５において、書込先アドレスであるＳＡＳ１４のアドレス「Ａ００４」に記憶された書換対象データ「ａｂｃ」が書込データ「ａｂＸ」に書き換えられる。
【０１１５】
ステップＳ３０５の後の処理については、第１例の場合、キャッシュ振分テーブル１４０Ｄを参照すれば、書換対象データ「ａｂｃ」が擬似キャッシュ（ＳＳＤ１２）にキャッシュされていないため、ステップＳ３０６のＮＯを経て書込処理は終了する。
【０１１６】
第１例のように、書換対象データがキャッシュメモリ１２０にのみキャッシュされている場合は、キャッシュメモリ１２０のキャッシュデータと書込先アドレスのデータとが、順に更新（書き換え）される（ステップＳ３０４，Ｓ３０５）。そしてこの場合、擬似キャッシュ（例えばＳＳＤ１２）に対する処理は行われないため、擬似キャッシュが構築されていない場合と比べて、全体的な処理負荷は大きく増加しない。
【０１１７】
第２例では、データ書込要求において「Ａ００１（書込先アドレス）／ＸＸａ（書込データ）」が通知されたとする。
【０１１８】
この場合、ステップＳ３０２において、キャッシュ振分テーブル１４０Ｄのアドレス１４１には「Ａ００１」が登録されているものの、そのキャッシュ先１４２は「Ｓ００１」である（キャッシュメモリ１２０のアドレスではない）ことから、書換対象データはキャッシュメモリ１２０にキャッシュされていないと判断される（ステップＳ３０２のＮＯ）。図１１によれば、ＳＡＳ１４のアドレス「Ａ００１」及び擬似キャッシュであるＳＳＤ１２のアドレス「Ｓ００２」に、書換対象データ「ＸＸＸ」が記憶されている。
【０１１９】
したがって、第２例の場合は、ステップＳ３０３において、ＳＡＳ１４のアドレス「Ａ００１」に記憶されている書換対象データ「ＸＸＸ」がキャッシュメモリ１２０に読み込まれる。その後、ステップＳ３０４において、ステップＳ３０３でキャッシュメモリ１２０に読み込まれた書換対象データ「ＸＸＸ」が書込データ「ＸＸａ」に書き換えられ、ステップＳ３０５において、書込先アドレスであるＳＡＳ１４のアドレス「Ａ００１」に記憶された書換対象データ「ＸＸＸ」が書込データ「ＸＸａ」に書き換えられる。
【０１２０】
そして、次のステップＳ３０６では、キャッシュ振分テーブル１４０Ｄを参照すれば、書換対象データ「ＸＸＸ」は擬似キャッシュ（ＳＳＤ１２）のアドレス「Ｓ００２」にキャッシュされているため、ステップＳ３０６のＹＥＳが選択され、擬似キャッシュ制御部１１４による擬似キャッシュデータ書換処理が行われる。
【０１２１】
第２例における擬似キャッシュデータ書換では、ステップＳ４０１で、擬似キャッシュ（ＳＳＤ１２）のアドレス「Ｓ００２」に記憶された書換対象データ「ＸＸＸ」が書込データ「ＸＸａ」に書き換えられる。このステップＳ４０１におけるデータ書換が成功した場合は、擬似キャッシュデータ書換処理は終了する。
【０１２２】
なお、ステップＳ４０１におけるデータ書換が失敗した場合は、キャッシュ振分テーブル１４０Ｄにおいて、キャッシュ先１４２の最上位桁が「Ｓ」とされた「Ｓ００１」，「Ｓ００２」，「Ｓ００３」に紐付いたデータを全て削除することにより、ＳＳＤ１２に記憶された全てのキャッシュ登録が解除される（ステップＳ４０３）。また、ステップＳ４０４において、ＳＳＤ１２が交換対象のドライブに決定され、書込処理が終了する。
【０１２３】
第２例のように、書換対象データが擬似キャッシュ（ＳＳＤ１２）にのみキャッシュされている場合は、書込データがキャッシュメモリ１２０に新たにキャッシュされ（ステップＳ３０４）、書込先アドレスのデータが更新され（ステップＳ３０５）、更に、擬似キャッシュのキャッシュデータも更新される（ステップＳ４０１）。この結果、データストレージのデータだけでなく、擬似キャッシュのデータも更新することができるため、データの書き換えが行われた以降も擬似キャッシュとして機能させることができる。
【０１２４】
なお、第２例で擬似キャッシュデータ書換処理が正常に終了したとき、書込データ「ＸＸａ」は、キャッシュメモリ１２０と擬似キャッシュ（ＳＳＤ１２）の双方にキャッシュされた状態となる。このような場合に備えて、本実施の形態に係るストレージシステム１では、キャッシュメモリ１２０のほうが擬似キャッシュ（ＳＳＤ１２）よりも読出性能値が高いことを鑑みて、キャッシュ振分テーブル１４０において、キャッシュメモリ１２０によるキャッシュデータを、擬似キャッシュによるキャッシュデータよりも、常に上位に（先にキャッシュ検索されるように）登録することが好ましい。
【０１２５】
上記のようにキャッシュ振分テーブル１４０においてキャッシュメモリ１２０が擬似キャッシュよりも優先して登録されることにより、その後、上記データ「ＸＸａ」の読出要求が行われた場合には、キャッシュメモリ１２０へのキャッシュ登録が残っている限り（デステージされない限り）は、最も読み出し性能の高いキャッシュメモリ１２０からデータを読み出すことができる。また、デステージ処理によって上記データ「ＸＸａ」がキャッシュメモリ１２０からデステージされたとしても、擬似キャッシュ（ＳＳＤ１２）からデータを読み出すことができるため、書込先アドレスのＳＡＳ１４から読み出すよりも読み出し時間を短縮することができる。
【０１２６】
（５）まとめ
以上に説明してきたように、本実施の形態に係るストレージシステム１では、書込回数が所定閾値を超えたデータストレージ（本例ではＳＳＤ１２）をキャッシュ用のストレージ（擬似キャッシュ）に転用し、転用後は、キャッシュメモリ１２０または擬似キャッシュ（ＳＳＤ１２）にキャッシュされたデータをキャッシュ振分テーブル１４０で管理することができるため、キャッシュ用のストレージを新たに購入することなく（ストレージシステム１における構成の追加費用を発生させることなく）、キャッシュ用のストレージ容量を拡張することが可能となる。
【０１２７】
さらに、転用された擬似キャッシュには、上述した候補データ選定処理が行われることによって、当該ドライブ（ＳＳＤ１２）よりも読出性能が低いドライブ（例えばＳＡＳ１４）に記憶されたデータがキャッシュされるため、データの読出時には擬似キャッシュのキャッシュを利用することによって、読出速度を向上させることができる。
【０１２８】
特に、読出性能の異なる複数のドライブ（ＳＳＤやＳＡＳ）が混在するストレージシステムにおいては、ドライブによって読出速度に差が生じるという課題があったが、本実施の形態に係るストレージシステム１によれば、例えばＳＳＤを擬似キャッシュとすることによって、読出性能の性能差を小さくすることができる。
【０１２９】
また、本実施の形態に係るストレージシステム１では、擬似キャッシュの構築後にホスト計算機２からデータ読出要求を受けた場合でも、キャッシュ制御部１１１が、構築前と変わらない制御処理（図３のキャッシング処理）によって要求されたデータを読み出すことができるため、擬似キャッシュの構築によってストレージコントローラ１１の処理負荷は増加しない。
【０１３０】
かくして、本実施の形態に係るストレージシステム１によれば、ドライブの書込回数が所定閾値を超えてデータストレージとしての利用価値がなくなった場合に、キャッシュ用のストレージ（擬似キャッシュ）に転用することによって、ストレージシステム１全体の高価格化を抑えつつ新たな価値を創出するとともに、擬似キャッシュの構築によってデータの読出性能差を小さくし、ストレージシステム１全体におけるデータの読出性能を高めることができる。
【０１３１】
そして、本実施の形態に係るストレージシステム１では、データストレージとしての利用価値がなくなったドライブを擬似キャッシュに転用することによって、ストレージシステム１全体におけるデータストレージの記憶容量の減少による性能低下をキャッシュの記憶領域の拡大による性能向上によって補うという従来にはない効果も奏する。
【０１３２】
また、本実施の形態に係るストレージシステム１では、候補データ選定処理において擬似キャッシュに登録する候補データを選定する際に、データの読出回数が多いほど、またデータの書込回数が少ないほど、高い優先順位が得られやすくしている（正規化値の算出式「数１」の第２項を参照）。この結果、参照機会が多いがデータ値の変更機会が少ないデータが擬似キャッシュに登録されやすくなるため、「書込回数が仕様の上限回数に近く、これ以上の書込が行われることが好ましくない」という擬似キャッシュ用のドライブの性質に適したデータを選定することができる。
【０１３３】
さらに、本実施の形態に係るストレージシステム１では、候補データ選定処理において、上述したデータの読出回数及び書込回数の他に、デステージ回数が多いほど、高い優先順位が得られやすくしている（正規化値の算出式「数１」の第１項を参照）。ここで、ストレージシステム１では、キャッシュメモリ１２０にキャッシュされているデータを擬似キャッシュにキャッシュしても、擬似キャッシュによる読出性能の向上効果が薄くなってしまう。したがって、上記のようにデステージ回数を考慮して、キャッシュメモリ１２０に残り続けやすいデータ（すなわちデステージ回数の少ないデータ）が擬似キャッシュに登録されることを抑制することにより、本実施の形態に係るストレージシステム１は、擬似キャッシュによる読出性能の向上効果を効率的に奏することができる。
【０１３４】
また、本実施の形態に係るストレージシステム１では、擬似キャッシュ構築後の書込処理（図１２，図１３参照）において、擬似キャッシュ上のデータを書き換える状況のとき、最優先でキャッシュメモリ１２０上のデータを書き換え（図１２のステップＳ３０４）、次にデータストレージ（書込先アドレス）のデータを書き換え（図１２のステップＳ３０５）、最後に擬似キャッシュ上のデータを書き換える（図１３のステップＳ４０１）ようにしている。このような順番でデータの書き換えを行うことにより、擬似キャッシュ上のデータよりも他のディスク（ドライブ）上のデータを先に保障することができるため、障害発生時のデータの保全効果を高めることができる。具体的には例えば、擬似キャッシュ用のドライブ（例えばＳＳＤ１２）が交換対象となってエラー終了した場合（図１３のステップＳ４０４）であっても、それ以前の処理（図１３のステップＳ３０４，Ｓ３０５）によって、キャッシュメモリ１２０及びデータストレージ（例えばＳＳＤ１３やＳＡＳ１４）における書込データの書き込みが完了しているため、ＳＳＤ１２の交換に関係なく、ストレージシステム１において書込データを保障することができる。
【０１３５】
また、本実施の形態に係るストレージシステム１では、書込回数に上限規定があるドライブにおける書込回数が上限回数に近づいたとき（例えばＳＳＤ１２の書込回数が所定閾値（例えばメーカ保証値の１００％）を超えたとき）に、データストレージ用の当該ドライブに対する以後の書き込みを停止し、擬似キャッシュ構築部１１３が当該ドライブに記憶されていたデータを他のデータストレージにコピーすることにより、当該ドライブに記憶されていたデータを保全することができる。
【０１３６】
また、本実施の形態に係るストレージシステム１では、書込回数が所定閾値を超えたドライブ（例えばＳＳＤ１２）を擬似キャッシュとして利用する際に、擬似キャッシュに登録するキャッシュデータが固定的であると、データ利用の変化に伴ってキャッシュ効果が低下する可能性があるが、擬似キャッシュ制御部１１４によって擬似キャッシュデータ書換処理が実行されることによって、擬似キャッシュに登録されたキャッシュデータを更新することができるため、擬似キャッシュ構築後のデータ利用の変化にも対応可能な、利便性の高いストレージシステムを提供することができる。
【０１３７】
（６）他の実施の形態
なお、本発明は、上述した実施の形態の構成に限定されるものではなく、以下のように構成されてもよい。
【０１３８】
例えば、上述した実施の形態では、候補データ選定処理のステップＳ２０１，Ｓ２０２において、対象ドライブよりも読出性能が低いドライブが選択され、選択されたドライブに記憶されている候補データを抽出しているが、本発明はこれに限らず、各ドライブの読出性能値に基づいて、より読出性能値が低い（読出速度が遅い）ドライブのデータを優先して擬似キャッシュの候補データに選定するように構成してもよい。この場合、ドライブごとに読出性能値に基づいた重みを付与し、重みを係数に有する算出式を用いて正規化値を算出し、優先順位を決定する等の処理を行うとよい。このように構成することによって、読出速度が遅い（読出性能値が低い）ドライブに記憶されたデータが擬似キャッシュに登録されやすくなるため、ドライブ間の読出性能差をより縮小する効果に期待できる。
【０１３９】
また、上述した実施の形態では、ストレージシステム１における複数のドライブとしてＳＳＤ１２、ＳＳＤ１３、及びＳＡＳ１４を例示したが（図１参照）、本発明に係るストレージシステムのドライブの構成はこれに限らず、例えば、擬似キャッシュとなり得るドライブ（例えばＳＳＤ１２）のスペアドライブが予め備えられている構成であってもよい。一般に、スペアドライブはスペア対象のドライブ（ここではＳＳＤ１２）と同様の性能（記憶容量や読出速度等）を有することが好ましい。そして、本実施の形態に係るストレージシステム１にＳＳＤ１２のスペアドライブが用意されている構成としたとき、ＳＳＤ１２の書込回数が所定閾値を超えた場合には、擬似キャッシュ構築部１１３が、ＳＳＤ１２への書き込みを停止して、その記憶データを全てスペアドライブにコピーし、コピー完了後にＳＳＤ１２に記憶されているデータを削除する。その後は、上述した実施の形態と同様に、ＳＳＤ１２を擬似キャッシュ化することができる。このような場合、ストレージシステム１全体において、ＳＳＤ１２の書込回数が所定閾値を超えたことによるデータストレージの記憶容量の低下は発生せずに（スペアドライブによって記憶容量が維持されるため）、ＳＳＤ１２の擬似キャッシュ化による読出性能の向上の効果を得ることができる。
【０１４０】
また、上述した実施の形態では、ドライブによる擬似キャッシュを構築するタイミングを、当該ドライブへの書込回数が所定閾値を超えたときの１回に限るように説明したが、本発明はこれに限らず、例えば、定期的または所定契機（ストレージシステム１における構成変更時等）に、擬似キャッシュを再構築するようにしてもよい。さらに、擬似キャッシュを再構築するときに、擬似キャッシュに登録するデータ（擬似キャッシュにロードする情報）を更新するようにしてもよい。このようにすることで、データの利用状況に応じた擬似キャッシュの構築・運用が可能となり、利便性や読出性能の向上に期待できる。
【０１４１】
また、上述した実施の形態では、ストレージコントローラ１１の制御部１１０によって擬似キャッシュ化が制御される構成としたが（図１参照）、本発明はこれに限らず、例えば、ネットワークを介してストレージシステム１に接続される管理サーバ等によって擬似キャッシュの構築及び擬似キャッシュを含むキャッシュの制御が行われるように構成されてもよい。このとき、１つの管理サーバが複数のストレージシステム１を制御するような構成であってもよい。
【０１４２】
また、上述した実施の形態では、キャッシュ（キャッシュメモリ１２０や擬似キャッシュ）の制御は、キャッシュ管理を行うためにストレージコントローラ１１が有するキャッシュ管理プログラムの実行によって行われるとしたが、本発明においてキャッシュを制御するプログラムはこれに限らず、例えばキャッシュ管理プログラムを改良したものや、その他の別プログラムによるもの等、何れでもよい。
【０１４３】
本発明のストレージシステムは、このように多様な構成によっても実現可能であるため、様々な環境で設置させるストレージシステムにも適用することができる。
【０１４４】
また、上述した実施の形態では、候補データ選定処理の選定方法の一例として、データの読出回数、書込回数、及びデステージ回数に基づいて算出される正規化値を用いて選定する候補データの優先順位を決定する方法を示したが、本発明はこれに限らず、例えば、データの読出回数（あるいは書込回数）を閾値と比較した結果に基づいて擬似キャッシュに登録するデータを選定する処理を、擬似キャッシュの容量の上限に到達するまで閾値を変動させながら繰り返す、といった方法を採用してもよい。この方法を採用する場合には、上述した実施の形態における候補データ選定処理に比べて、計算量が少なくてすむため、処理負荷及び処理速度の向上に期待することができる。
【０１４５】
また、本発明は上述した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではなく、一部の構成を削除することが可能である。また、上述した実施の形態における構成の一部を他の実施の形態の構成に置き換えたり、加えたりすることも可能である。
【０１４６】
また、上記の説明において各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実施には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１４７】
１      ストレージシステム
２      ホスト計算機
１１    ストレージコントローラ
１２，１３  ＳＳＤ
１４  ＳＡＳ
１５    ＣＰＵ
１６    ＦＥインタフェース
１７    ＢＥインタフェース
１８    ＲＯＭ
１９    ＲＡＭ
１１０  制御部
１１１  キャッシュ制御部
１１２  書込回数検知部
１１３  擬似キャッシュ構築部
１１４  擬似キャッシュ制御部
１２０  キャッシュメモリ
１３０  制御用データ
１４０  キャッシュ振分テーブル
１５０  デステージ回数テーブル
１６０  読出／書込回数テーブル
１７０  対象ドライブ情報
１８０  候補データ優先順位テーブル
【図１】
2019113891.tif 000004
【図２】
2019113891.tif 000005
【図３】
2019113891.tif 000006
【図４】
2019113891.tif 000007
【図５】
2019113891.tif 000008
【図６】
2019113891.tif 000009
【図７】
2019113891.tif 000010
【図８】
2019113891.tif 000011
【図９】
2019113891.tif 000012
【図１０】
2019113891.tif 000013
【図１１】
2019113891.tif 000014
【図１２】
2019113891.tif 000015
【図１３】
2019113891.tif 000016