(57)【要約】  キャッシュデータの追出し処理を抑制して、システム全体としてのスループットを向上させる。  ストレージコントローラは、アクセス要求部と動作管理部とを備える。アクセス要求部は、第１のストレージおよび第１のストレージより応答速度が速く第１のストレージのデータの一部が格納される第２のストレージに対して、アクセスを要求する。動作管理部は、第２のストレージに格納されないデータへのアクセスが発生した際に、第１のストレージから第２のストレージにデータを転送すべきか否かを、第２のストレージの利用状況に基づいて管理する。
2018211749.tif 000002
【特許請求の範囲】
【請求項１】
第１のストレージおよび前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージに対してアクセスを要求するアクセス要求部と、
前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する動作管理部と
を具備するストレージコントローラ。
【請求項２】
前記動作管理部は、アクセス対象のデータが前記第２のストレージに格納されていた比率を示すヒット率に従って前記第２のストレージの利用状況を判断する
請求項１記載のストレージコントローラ。
【請求項３】
前記動作管理部は、前記ヒット率が所定の閾値を基準として低い場合にはキャッシュ動作モードに設定し、高い場合には並列動作モードに設定して、
前記アクセス要求部は、前記第２のストレージに格納されないデータへのアクセスが発生した際に、前記キャッシュ動作モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求し、前記並列動作モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求しない
請求項２記載のストレージコントローラ。
【請求項４】
前記第２のストレージにおけるアクセスを監視して前記第２のストレージのスループットを取得するアクセス監視部をさらに具備し、
前記アクセス要求部は、前記第２のストレージに格納されるデータのうちアクセス頻度の低いデータを書戻し候補データとして選択し、前記第２のストレージのスループットが所定の値よりも低くなった際に前記書戻し候補データを前記第２のストレージから前記第１のストレージに書き戻すよう要求する
請求項１記載のストレージコントローラ。
【請求項５】
前記動作管理部は、前記ヒット率が第１の閾値を基準として低い場合にはキャッシュ動作モードに設定し、前記第１の閾値よりも高い第２の閾値を基準として高い場合にはキャッシュ整理モードに設定し、前記第１の閾値と前記第２の閾値の間である場合には並列動作モードに設定して、
前記アクセス要求部は、前記第２のストレージに格納されないデータへのアクセスが発生した際に、前記キャッシュ動作モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求し、前記並列動作モードまたは前記キャッシュ整理モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求しない
請求項４記載のストレージコントローラ。
【請求項６】
前記アクセス要求部は、前記キャッシュ整理モードまたは前記キャッシュ動作モードにおいては前記書戻し候補データを前記第２のストレージから前記第１のストレージに書き戻すよう要求し、前記並列動作モードにおいては前記書戻し候補データの書戻しを要求しない
請求項５記載のストレージコントローラ。
【請求項７】
第１のストレージと、
前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージと、
前記第１および第２のストレージに対してアクセスを要求するアクセス要求部と、
前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する動作管理部と
を具備するストレージシステム。
【請求項８】
アクセス要求部が、第１のストレージおよび前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージに対してアクセスを要求する手順と、
動作管理部が、前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する手順と
を具備するストレージコントローラの制御方法。
【請求項９】
第１のストレージおよび前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージに対してアクセスを要求する手順と、
前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する手順と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ストレージシステムに関する。詳しくは、応答速度が異なる複数のストレージを利用したストレージシステム、ストレージコントローラ、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
コンピュータシステムの記憶装置として使われるストレージデバイスは、応答速度が遅いため、応答速度が速い揮発性または不揮発性の記憶装置をキャッシュとして利用して、ストレージデバイスの動作上の性能を向上させる方法が提案されている。このようなキャッシュを持つストレージデバイスでは、主に揮発性のメモリがキャッシュとして使われ、ＮＡＮＤメモリを利用したフラッシュストレージや磁気ディスクを利用したＨＤＤが主となる記憶装置として使われている。このようなストレージデバイスでは、キャッシュと記憶装置との応答速度の差が大きく、キャッシュに対するアクセス比率（キャッシュヒット率）を上げることがストレージデバイスの性能向上につながる。そのため、このキャッシュヒット率を上げる手法が提案されている。例えば、ホストが小さいフットプリントを持つ場合には全てのデータをキャッシュに格納し、大きいフットプリントを持つ場合には最初の部分をキャッシュに格納して残りをディスクに格納するシステムが提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９１６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
読出し要求または書込み要求のアクセス領域のランダム性が強い場合や、頻繁にアクセスする領域が短期間で変わるような場合、キャッシュヒット率を高く保つためには、キャッシュデータの追出し処理が必要となる。この追出し処理による帯域占有により、ストレージシステムとしての性能が低下してしまうという問題がある。【０００５】
本技術はこのような状況に鑑みて生み出されたものであり、キャッシュデータの追出し処理を抑制して、システム全体としてのスループットを向上させることを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、第１のストレージおよび上記第１のストレージより応答速度が速く上記第１のストレージのデータの一部が格納される第２のストレージに対してアクセスを要求するアクセス要求部と、上記第２のストレージに格納されないデータへのアクセスが発生した際に上記第１のストレージから上記第２のストレージにデータを転送すべきか否かを上記第２のストレージの利用状況に基づいて管理する動作管理部とを具備するストレージコントローラ、そのストレージコントローラを備えるストレージシステム、そのストレージコントローラの制御方法、および、そのプログラムである。これにより、第２のストレージの利用状況に基づいて第１のストレージから上記第２のストレージにデータを転送すべきか否かを管理するという作用をもたらす。【０００７】
また、この第１の側面において、上記動作管理部は、アクセス対象のデータが上記第２のストレージに格納されていた比率を示すヒット率に従って上記第２のストレージの利用状況を判断するようにしてもよい。これにより、ヒット率に基づいて第１のストレージから上記第２のストレージにデータを転送すべきか否かを管理するという作用をもたらす。【０００８】
また、この第１の側面において、上記動作管理部は、上記ヒット率が所定の閾値を基準として低い場合にはキャッシュ動作モードに設定し、高い場合には並列動作モードに設定して、上記アクセス要求部は、上記第２のストレージに格納されないデータへのアクセスが発生した際に、上記キャッシュ動作モードにおいては上記第１のストレージから上記第２のストレージへのデータ転送を要求し、上記並列動作モードにおいては上記第１のストレージから上記第２のストレージへのデータ転送を要求しないようにしてもよい。これにより、ヒット率を基準とした動作モードに応じて、第１のストレージから上記第２のストレージにデータを転送すべきか否かを管理するという作用をもたらす。【０００９】
また、この第１の側面において、上記第２のストレージにおけるアクセスを監視して上記第２のストレージのスループットを取得するアクセス監視部をさらに具備し、上記アクセス要求部は、上記第２のストレージに格納されるデータのうちアクセス頻度の低いデータを書戻し候補データとして選択し、上記第２のストレージのスループットが所定の値よりも低くなった際に上記書戻し候補データを上記第２のストレージから上記第１のストレージに書き戻すよう要求するようにしてもよい。これにより、スループットが低くなった際に、第２のストレージから第１のストレージに書戻しを行うという作用をもたらす。【００１０】
また、この第１の側面において、上記動作管理部は、上記ヒット率が第１の閾値を基準として低い場合にはキャッシュ動作モードに設定し、上記第１の閾値よりも高い第２の閾値を基準として高い場合にはキャッシュ整理モードに設定し、上記第１の閾値と上記第２の閾値の間である場合には並列動作モードに設定して、上記アクセス要求部は、上記第２のストレージに格納されないデータへのアクセスが発生した際に、上記キャッシュ動作モードにおいては上記第１のストレージから上記第２のストレージへのデータ転送を要求し、上記並列動作モードまたは上記キャッシュ整理モードにおいては上記第１のストレージから上記第２のストレージへのデータ転送を要求しないようにしてもよい。これにより、ヒット率を基準とした動作モードに応じて、第１のストレージから上記第２のストレージにデータを転送すべきか否かを管理するという作用をもたらす。【００１１】
また、この第１の側面において、上記アクセス要求部は、上記キャッシュ整理モードまたは上記キャッシュ動作モードにおいては上記書戻し候補データを上記第２のストレージから上記第１のストレージに書き戻すよう要求し、上記並列動作モードにおいては上記書戻し候補データの書戻しを要求しないようにしてもよい。これにより、ヒット率を基準とした動作モードに応じて、第２のストレージから第１のストレージに書戻しを行うという作用をもたらす。
【発明の効果】
【００１２】
本技術によれば、キャッシュデータの追出し処理を抑制して、システム全体としてのスループットを向上させることができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１３】
【図１】本技術の実施の形態における情報処理システムの全体構成の一例を示す図である。
【図２】本技術の第１の実施の形態におけるストレージコントローラ２００の構成例を示す図である。
【図３】本技術の実施の形態におけるキャッシュデータ管理テーブル２５０の構成例を示す図である。
【図４】本技術の第１の実施の形態における動作モードの遷移例を示す図である。
【図５】本技術の第１の実施の形態のキャッシュ動作モードにおけるアクセス要求に対する処理手順例を示す流れ図である。
【図６】本技術の第１の実施の形態の並列動作モードにおけるアクセス要求に対する処理手順例を示す流れ図である。
【図７】本技術の第１の実施の形態における動作モードの状態制御の処理手順例を示す流れ図である。
【図８】本技術の第２の実施の形態におけるストレージコントローラ２００の構成例を示す図である。
【図９】本技術の第２の実施の形態における動作モードとキャッシュヒット率との関係例を示す図である。
【図１０】本技術の第２の実施の形態における動作モードの遷移例を示す図である。
【図１１】本技術の第２の実施の形態における動作モードの状態制御の処理手順例を示す流れ図である。
【図１２】本技術の第２の実施の形態における先行書戻し処理の処理手順例を示す流れ図である。
【発明を実施するための形態】
【００１４】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（ヒット率上昇時に、ミスヒットに伴うキャッシュアクセスを抑制する例）
２．第２の実施の形態（スループット低下時に、キャッシュ書戻し処理を随時発行する例）
【００１５】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの全体構成の一例を示す図である。この情報処理システムは、ホストコンピュータ１００と、ストレージコントローラ２００と、マスタストレージ３００と、キャッシュストレージ４００とから構成される。ストレージコントローラ２００、マスタストレージ３００およびキャッシュストレージ４００は、ストレージシステムを構成する。
【００１６】
ホストコンピュータ１００は、ストレージシステムに対してデータのリード処理やライト処理等を要求するコマンドを発行するものである。このホストコンピュータ１００は、信号線１０２により、ストレージコントローラ２００の動作を指示するコマンドとそのコマンドの操作対象を示すアドレスとをストレージコントローラ２００に送信する機能を有する。また、このホストコンピュータ１００は、図示しない信号線により、ストレージコントローラと間のデータ送受信を行う機能を有する。
【００１７】
ストレージコントローラ２００は、ホストコンピュータ１００と通信してコマンドを受信し、マスタストレージ３００またはキャッシュストレージ４００に対してリード処理またはライト処理を要求するものである。このストレージコントローラ２００は、信号線２０３により、マスタストレージ３００の動作を指示するリクエストとそのリクエストの操作対象を示すアドレスとをマスタストレージ３００に送信する。また、このストレージコントローラ２００は、信号線２０４により、キャッシュストレージ４００の動作を指示するリクエストとそのリクエストの操作対象を示すアドレスとをキャッシュストレージ４００に送信する。また、このストレージコントローラ２００は、図示しない信号線により、マスタストレージ３００またはキャッシュストレージ４００とのデータ送受信を行う。
【００１８】
マスタストレージ３００は、ストレージシステムとしての全てのデータを記憶するストレージである。このマスタストレージ３００は、キャッシュストレージ４００より大容量かつ応答速度が遅い記憶装置である。このマスタストレージ３００は、ストレージコントローラ２００から信号線２０３を介して受けたリクエストに従ってデータの読出しまたは書込みを行う。なお、マスタストレージ３００は、特許請求の範囲に記載の第１のストレージの一例である。
【００１９】
キャッシュストレージ４００は、アクセス頻度の高いデータを保持するストレージである。このキャッシュストレージ４００は、マスタストレージ３００より小容量かつ応答速度が速い記憶装置であり、マスタストレージ３００のキャッシュとして動作する。すなわち、このキャッシュストレージ４００には、マスタストレージ３００のデータの一部が格納される。このキャッシュストレージ４００は、ストレージコントローラ２００から信号線２０４を介して受けたリクエストに従ってデータの読出しまたは書込みを行う。なお、キャッシュストレージ４００は、特許請求の範囲に記載の第２のストレージの一例である。
【００２０】
［ストレージコントローラの構成］
図２は、本技術の第１の実施の形態におけるストレージコントローラ２００の構成例を示す図である。このストレージコントローラ２００は、キャッシュ判定部２１０と、マスタストレージアクセス要求部２３０と、キャッシュストレージアクセス要求部２４０と、キャッシュデータ管理テーブル２５０と、動作モード管理部２６０とを備える。
【００２１】
キャッシュ判定部２１０は、ストレージシステムに対して発行されたデータのリード処理およびライト処理を要求するコマンドについて、アクセス対象となるデータがキャッシュストレージ４００に保持されているか否かを判定するものである。このキャッシュ判定部２１０は、キャッシュデータ管理テーブル２５０を参照することにより、アクセス対象となるデータがキャッシュストレージ４００に保持されているか否かを判定する。この判定結果は、信号線２１６を介して動作モード管理部２６０に供給される。
【００２２】
また、このキャッシュ判定部２１０は、動作モード管理部２６０によって管理される動作モードに応じて、マスタストレージ３００またはキャッシュストレージ４００の何れにアクセスすべきかを判定する。これにより、このキャッシュ判定部２１０は、マスタストレージ３００にアクセスする場合には信号線２１３を介してマスタストレージアクセス要求部２３０にアクセスを指示する。一方、キャッシュストレージ４００にアクセスする場合には信号線２１４を介してキャッシュストレージアクセス要求部２４０にアクセスを指示する。
【００２３】
キャッシュデータ管理テーブル２５０は、キャッシュストレージ４００に保持されている領域を管理するテーブルである。キャッシュストレージ４００はストレージシステムのデータのうちアクセス頻度の高いデータのみを保持するため、何れの領域が保持されているか、および、そのアクセス頻度を管理する必要がある。そのため、このキャッシュデータ管理テーブル２５０においてキャッシュストレージ４００に保持されている領域が管理される。このキャッシュデータ管理テーブル２５０において管理される情報は、信号線２５１および２５４によって、キャッシュ判定部２１０およびキャッシュストレージアクセス要求部２４０に供給される。なお、このキャッシュデータ管理テーブル２５０において管理される情報の具体的内容については後述する。
【００２４】
動作モード管理部２６０は、ストレージシステムの動作モードを管理するものである。動作モードは、ストレージシステムとしてマスタストレージ３００およびキャッシュストレージ４００がそれぞれどのように動作するかを定めるものである。第１の実施の形態においては、後述するように、マスタストレージ３００およびキャッシュストレージ４００が並列に動作を行う並列動作モードと、キャッシュストレージ４００がキャッシュ本来の動作を行うキャッシュ動作モードとを備える。この動作モード管理部２６０によって管理される動作モードは、信号線２６１を介してキャッシュ判定部２１０に供給される。
【００２５】
マスタストレージアクセス要求部２３０は、キャッシュ判定部２１０からの指示に従って、信号線２０３を介してマスタストレージ３００にアクセス要求を行うものである。キャッシュストレージアクセス要求部２４０は、キャッシュ判定部２１０からの指示に従って、信号線２０４を介してキャッシュストレージ４００にアクセス要求を行うものである。
【００２６】
キャッシュストレージ４００はストレージシステムのデータのうちアクセス頻度の高いデータのみを保持するため、時間の経過に伴いマスタストレージ３００とキャッシュストレージ４００との間でデータの移動が生じる。キャッシュストレージ４００に領域が確保される際には、信号線２３４を介してマスタストレージ３００からキャッシュストレージ４００にキャッシュ登録要求が発行される。その後、キャッシュストレージ４００の内容をマスタストレージ３００に書き戻す際には、信号線２４３を介してキャッシュストレージ４００からマスタストレージ３００に書戻し要求が発行される。また、キャッシュストレージ４００の状態は、信号線２４５を介して、適宜、キャッシュデータ管理テーブル２５０に供給される。
【００２７】
なお、キャッシュ判定部２１０、マスタストレージアクセス要求部２３０およびキャッシュストレージアクセス要求部２４０は、特許請求の範囲に記載のアクセス要求部の一例である。
【００２８】
図３は、本技術の実施の形態におけるキャッシュデータ管理テーブル２５０の構成例を示す図である。このキャッシュデータ管理テーブル２５０は、ブロック２５２毎に管理されており、マスタストレージアドレス２５３と、使用中フラグ２５５と、ダーティフラグ２５６と、再アクセス距離カウンタ２５７と、カウンタクリア回数２５８とを保持する。ブロック２５２は、キャッシュストレージ４００の管理単位であり、キャッシュストレージ４００を複数の領域に分割して、その各領域をブロックとして管理する。この例では、最大ｎ個のブロックがキャッシュストレージ４００に確保可能であることを想定している。
【００２９】
マスタストレージアドレス２５３は、キャッシュストレージ４００のブロックに対応するマスタストレージ３００内のアドレスを保持するものである。これにより、マスタストレージ３００とキャッシュストレージ４００との対応関係が示される。
【００３０】
使用中フラグ２５５は、キャッシュストレージ４００の対応ブロックが使用中であるか否かを示すフラグである。使用中フラグ２５５が「使用中」を示していればそのブロックは有効であり、「未使用」を示していればそのブロックは無効である。
【００３１】
ダーティフラグ２５６は、キャッシュストレージ４００の対応ブロックが、マスタストレージアドレス２５３によって示されるマスタストレージ３００の内容と一致しているか否かを示すフラグである。ダーティフラグ２５６が「クリーン」を示していれば対応ブロックの内容は一致している状態であり、「ダーティ」を示していれば対応ブロックの内容は一致していない状態である。あるブロックがマスタストレージ３００からキャッシュストレージ４００に最初に登録されたときには、ダーティフラグ２５６は「クリーン」に設定される。その後、キャッシュストレージ４００にのみデータを書き込んだ際に、ダーティフラグ２５６は「ダーティ」に設定される。ダーティフラグ２５６が「ダーティ」を示す場合には、キャッシュストレージ４００のデータが最新であることになる。したがって、この場合、読出しの際にはキャッシュストレージ４００から読み出す必要があり、また、キャッシュストレージ４００上のブロックを追い出す際にはキャッシュストレージ４００からマスタストレージ３００にデータの書戻しが必要になる。
【００３２】
再アクセス距離カウンタ２５７は、その領域の前回のアクセスからの、全体のアクセス要求数を計数するカウンタである。すなわち、この再アクセス距離カウンタ２５７は、何れかの領域がアクセスされるたびに加算され、その領域にアクセスが発生するとクリアされる。したがって、この再アクセス距離カウンタ２５７は、前回のアクセスからの間隔を示す。
【００３３】
カウンタクリア回数２５８は、再アクセス距離カウンタ２５７がクリアされた回数を計数するカウンタである。すなわち、このカウンタクリア回数２５８は、その領域のアクセス頻度を示す。
【００３４】
キャッシュストレージ４００とマスタストレージ３００のブロックの割当ては、ダイレクトマッピング、セットアソシエイティブ、フルアソシエイティブなどの方法がある。例えば、２ｗａｙのセットアソシエイティブ方式の場合は、ブロック＃１とブロック＃２をセットにして領域の割当て管理が行われる。
【００３５】
キャッシュストレージ４００はストレージシステムのデータのうちアクセス頻度の高いデータのみを保持するように、キャッシュ判定部２１０はキャッシュストレージ４００に保持されるブロックを入れ替える制御を行う。その際、キャッシュストレージ４００から何れのブロックを追い出すかを判断する際に、再アクセス距離カウンタ２５７およびカウンタクリア回数２５８が参照され、ＬＲＵ（Least Recently Used）アルゴリズム等に従って、追出し対象が決定される。
【００３６】
キャッシュ判定部２１０は、マスタストレージアドレス２５３を参照して、アクセス要求に該当するアドレスがキャッシュデータ管理テーブル２５０に存在するか否かを確認し、キャッシュヒット判定を行う。キャッシュヒットした場合、すなわち、キャッシュストレージ４００にデータが格納されていた場合、キャッシュストレージ４００へのアクセス要求が完了した後、ライト処理要求の場合はダーティフラグ２５６を「ダーティ」に設定する。また、リード処理およびライト処理の何れの場合にも、再アクセス距離カウンタ２５７のクリアと、カウンタクリア回数２５８の加算を行う。
【００３７】
一方、キャッシュミスヒットの場合、動作モードがキャッシュ動作モードであれば、使用中フラグ２５５を参照して未使用領域を探索し、未使用領域の利用を開始する。未使用領域が存在しない場合は、再アクセス距離カウンタ２５７およびカウンタクリア回数２５８に基づいて利用頻度を算出し、利用頻度が一番低い領域を判定する。そして、その利用頻度が一番低い領域のキャッシュ済みデータをマスタストレージ３００に書き戻し、新たな要求に対するキャッシュ領域として利用する。
【００３８】
［動作モード］
図４は、本技術の第１の実施の形態における動作モードの遷移例を示す図である。この第１の実施の形態では、動作モードとして、キャッシュ動作モード１０および並列動作モード２０の２つのモードを想定する。
【００３９】
キャッシュ動作モード１０は、キャッシュストレージ４００がキャッシュ本来の動作を行うモードである。このキャッシュ動作モード１０では、キャッシュミスヒット時にはキャッシュストレージ４００上にブロックが新たに確保される。その際、キャッシュストレージ４００上に未使用ブロックがない場合には、既存のブロックがマスタストレージ３００に追い出される。このとき、そのブロックのダーティフラグ２５６が「ダーティ」を示していれば、そのブロックのデータはマスタストレージ３００に書き戻される。そのため、そのデータ転送のためにストレージシステムとしてのスループットに影響を与える可能性がある。
【００４０】
並列動作モード２０は、マスタストレージ３００およびキャッシュストレージ４００が並列に動作を行うモードである。この並列動作モード２０では、キャッシュミスヒット時にはマスタストレージ３００にアクセスが行われるため、キャッシュストレージ４００のデータの入替えは生じない。したがって、将来的にヒット率が低下するおそれはあるが、データ入替えに伴うスループットの低下を抑制することができる。
【００４１】
キャッシュ動作モード１０において動作が行われている間にキャッシュヒット率がキャッシュ動作モード閾値以上になると、動作モード管理部２６０は動作モードをキャッシュ動作モード１０から並列動作モード２０に遷移させる。一方、並列動作モード２０において動作が行われている間にキャッシュヒット率がキャッシュ動作モード閾値未満になると、動作モード管理部２６０は動作モードを並列動作モード２０からキャッシュ動作モード１０に遷移させる。
【００４２】
［キャッシュヒット率］
キャッシュヒット率は、以下のように計算することができる。動作モード管理部２６０は、キャッシュ判定部２１０から信号線２１６を介して得られる情報に従って、キャッシュヒット率を計算する。すなわち、ストレージシステムに対して発行されたリード処理およびライト処理のアクセス要求に対して、キャッシュ判定部２１０においてキャッシュ登録済み領域へのアクセスか否かが判定される。また、キャッシュ判定部２１０において、アクセス要求の構成情報である要求の種類やデータ転送サイズが判明する。動作モード管理部２６０は、これらの情報を用いてキャッシュヒット率を計算する。
【００４３】
［キャッシュ動作モード閾値］
キャッシュ動作モード閾値は、以下のように設定することができる。ストレージシステムが有する各ストレージデバイスには、性能情報が存在する。性能情報には、特定サイズのアクセス要求に対する応答速度、特定サイズのアクセス要求を１秒間に処理できる要求数（ＩＯＰＳ）、ＩＯＰＳから算出可能な１秒間に転送可能なデータサイズを示すスループットなどが含まれる。これら性能情報に基づいてキャッシュヒット率が算出される。
【００４４】
例えば、ストレージシステムの最大スループットＳＴ（Storage system Throughput）は次式により計算される。ただし、ＭＴはマスタストレージ３００の最大スループット（Master storage Throughput）、ＣＴはキャッシュストレージ４００の最大スループット（Cache storage Throughput） である。
ＳＴ＝ＭＴ＋ＣＴ
これは、並列動作をさせた場合に、各ストレージが独立して動作可能なためである。
【００４５】
このときのキャッシュストレージ４００へのアクセス要求の割合は次式によって求められ、これが目標のキャッシュヒット率ＴＣＲ（Target Cache Ratio）となる。
ＴＣＲ＝ＣＴ／ＳＴ
【００４６】
キャッシュストレージ４００のスループットが最大スループットの９０％を超えた場合に、並列動作に遷移すると想定した場合、この時点の最大スループットからキャッシュ動作モード閾値ＴｈＣＲ（Threshold Cache Ratio）を次式により求める。
ＴｈＣＲ＝０．９ＣＴ／（０．９ＣＴ＋ＭＴ）
【００４７】
ここではスループットを基準として計算したが、１秒間に処理が可能なアクセス要求数（ＩＯＰＳ）を用いて、上述と同様に目標のキャッシュヒット率を計算することも可能である。各スループットを、各ＩＯＰＳに置き換えることにより、同様の式でキャッシュ動作モード閾値を求めることが可能である。
【００４８】
［動作］
図５は、本技術の第１の実施の形態のキャッシュ動作モードにおけるアクセス要求に対する処理手順例を示す流れ図である。
【００４９】
ホストコンピュータ１００からストレージシステムに対してコマンドが発行されると、キャッシュ判定部２１０は、アクセス対象となるデータがキャッシュストレージ４００に保持されているか否かを判定する（ステップＳ９１１）。この判定結果およびアクセス要求のデータサイズや種類などのメタデータは、動作モード管理部２６０によって収集され、キャッシュヒット率の計算や動作モードの制御に用いられる。
【００５０】
キャッシュヒットの場合（ステップＳ９１２：Ｙｅｓ）、キャッシュデータ管理テーブル２５０において管理されるキャッシュ領域の登録情報とアクセス要求の構成情報からキャッシュストレージアクセス要求が生成される（ステップＳ９３１）。そして、キャッシュストレージアクセス要求部２４０は、キャッシュストレージ４００に対してアクセスを行う（ステップＳ９３２）。
【００５１】
キャッシュミスヒットの場合（ステップＳ９１２：Ｎｏ）、アクセス要求に対してキャッシュストレージ４００にキャッシュ領域を割り当てるため、キャッシュデータ管理テーブル２５０においてキャッシュ未使用領域の探索を行う（ステップＳ９２１）。このとき、未使用領域が存在しない場合（ステップＳ９２２：Ｙｅｓ）、使用領域の中で利用頻度が低い領域を新しい領域に割り当てるために、キャッシュデータの追出し処理を行う（ステップＳ９２３）。キャッシュデータの追出し処理には、キャッシュストレージ４００からのデータの読出しとマスタストレージ３００へのデータの書込みが行われる。追出し処理のアクセス処理が完了すると、キャッシュデータ管理テーブル２５０において管理されている情報をリセットし、その領域の使用を開始する。なお、未使用領域が存在する場合には（ステップＳ９２２：Ｎｏ）、その未使用領域が使用される。
【００５２】
アクセス要求が読出し要求である場合（ステップＳ９２４：Ｙｅｓ）、マスタストレージ３００に対する読出し要求が生成される（ステップＳ９２５）。そして、マスタストレージアクセス要求部２３０は、マスタストレージ３００に対して読出しのアクセスを行う（ステップＳ９２６）。
【００５３】
アクセス要求が読出し要求または書込み要求の何れの場合であっても、キャッシュストレージ４００に対する書込み要求が生成される（ステップＳ９２７）。そして、キャッシュストレージアクセス要求部２４０は、キャッシュストレージ４００に対して書込みのアクセスを行う（ステップＳ９２８）。
【００５４】
キャッシュヒットまたはミスヒットの何れの場合であっても、キャッシュデータ管理テーブル２５０が必要に応じて更新される（ステップＳ９３３）。例えば、上述のように、再アクセス距離カウンタ２５７およびカウンタクリア回数２５８が更新される。その後、アクセス要求に対する応答処理が行われる（ステップＳ９３４）。
【００５５】
図６は、本技術の第１の実施の形態の並列動作モードにおけるアクセス要求に対する処理手順例を示す流れ図である。
【００５６】
ホストコンピュータ１００からストレージシステムに対してコマンドが発行されると、キャッシュ判定部２１０は、アクセス対象となるデータがキャッシュストレージ４００に保持されているか否かを判定する（ステップＳ８１１）。この判定結果およびアクセス要求のデータサイズや種類などのメタデータは、動作モード管理部２６０によって収集され、キャッシュヒット率の計算や動作モードの制御に用いられる。
【００５７】
キャッシュヒットの場合（ステップＳ８１２：Ｙｅｓ）、キャッシュデータ管理テーブル２５０において管理されるキャッシュ領域の登録情報とアクセス要求の構成情報からキャッシュストレージアクセス要求が生成される（ステップＳ８３１）。そして、キャッシュストレージアクセス要求部２４０は、キャッシュストレージ４００に対してアクセスを行う（ステップＳ８３２）。
【００５８】
キャッシュミスヒットの場合（ステップＳ８１２：Ｎｏ）、マスタストレージ３００に対するアクセス要求が生成される（ステップＳ８２１）。そして、マスタストレージアクセス要求部２３０は、マスタストレージ３００に対して読出しまたは書込みのアクセスを行う（ステップＳ８２２）。
【００５９】
キャッシュヒットまたはミスヒットの何れの場合であっても、キャッシュデータ管理テーブル２５０が必要に応じて更新される（ステップＳ８３３）。例えば、上述のように、再アクセス距離カウンタ２５７およびカウンタクリア回数２５８が更新される。その後、アクセス要求に対する応答処理が行われる（ステップＳ８３４）。
【００６０】
図７は、本技術の第１の実施の形態における動作モードの状態制御の処理手順例を示す流れ図である。
【００６１】
動作モード管理部２６０は、キャッシュ判定部２１０からの情報に基づいてキャッシュヒット率を計算する（ステップＳ７１１）。その結果、それまでのキャッシュヒット率から変化し、キャッシュ動作モード閾値を跨いだ場合（ステップＳ７１２：Ｙｅｓ）、以下のように動作モードを遷移させる。
【００６２】
キャッシュヒット率がキャッシュ動作モード閾値以上になった場合（ステップＳ７１３：キャッシュ動作モード閾値以上）、動作モード管理部２６０は動作モードを並列動作モードに遷移させる（ステップＳ７２２）。一方、キャッシュヒット率がキャッシュ動作モード閾値未満になった場合（ステップＳ７１３：キャッシュ動作モード閾値未満）、動作モード管理部２６０は動作モードをキャッシュ動作モードに遷移させる（ステップＳ７２１）。
【００６３】
このように、本技術の第１の実施の形態によれば、マスタストレージ３００とキャッシュストレージ４００を並列に動作させるモードを追加することにより、キャッシュデータの入れ替えに伴う性能低下を回避することができる。
【００６４】
例えば、マスタストレージ３００の応答速度が２０μｓ（マイクロ秒）で、１秒（１ｓ）間に処理可能なアクセス要求数（ＩＯＰＳ）が５０，０００、キャッシュストレージ４００の応答速度が２μｓで、ＩＯＰＳが５００，０００であると想定する。ミスヒットが発生した場合の１回のアクセス要求に対する処理時間は、書込み要求の場合、キャッシュストレージ４００からの読出し、マスタストレージ３００への書込み、キャッシュストレージ４００への書込みを実行するため２２μｓとなる。読出し要求の場合は、さらにマスタストレージ３００からの読出しを実行する必要があり、４２μｓの処理時間を要してしまう。
【００６５】
キャッシュヒット率が９０％の場合、１０％のアクセス要求に対しては上述の処理を行う必要があるため、最大のＩＯＰＳは次式により求められる。
１ｓ／（０．９×２μｓ＋０．１×２２μｓ）＝２５０，０００
【００６６】
一方、マスタストレージ３００とキャッシュストレージ４００とをそれぞれ並列動作させる場合は、それぞれのアクセス要求は影響を受けることなく処理が可能であるため、最大のＩＯＰＳは次式により求められる。
５００，０００＋５０，０００＝５５０，０００
また、この場合のキャッシュヒット率は次式により９０．９％となる。
５００，０００／５５０，０００≒９０．９％
【００６７】
このように、キャッシュヒット率がある程度高い状態においては、ほぼ同じキャッシュヒット率であっても、並列動作モードにおいてストレージシステムの性能を倍にすることが可能であることがわかる。したがって、本技術の第１の実施の形態のように、キャッシュヒット率に応じて動作モードを使い分けることにより、ストレージシステムとしての性能を向上させることができる。
【００６８】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、キャッシュヒット率がある範囲を超えて高くなると、マスタストレージ３００へのアクセス要求はあまり発生しなくなり、マスタストレージ３００に対して処理が発生しないアイドル時間が増えてしまうことがある。すなわち、ストレージシステムとしては性能を十分に出せていない状態になる。そこで、この第２の実施の形態では、スループットが低下している状態において、利用頻度が低いキャッシュデータを書き戻す処理を実行する。これにより、キャッシュ動作モード時の書戻し処理の負荷を減らして、ストレージシステムとしてのさらなる性能向上を図る。
【００６９】
この第２の実施の形態における情報処理システムの全体構成は上述の第１の実施の形態と同様であるため、詳細な説明は省略する。
【００７０】
［ストレージコントローラの構成］
図８は、本技術の第２の実施の形態におけるストレージコントローラ２００の構成例を示す図である。この第２の実施の形態におけるストレージコントローラ２００は、第１の実施の形態と比べて、アクセス監視部２７０をさらに備える点において異なり、他の構成については同様である。
【００７１】
アクセス監視部２７０は、ストレージシステム内の各アクセス要求を監視し、アクセス要求に対する性能を監視するものである。このアクセス監視部２７０は、マスタストレージ３００における処理状況を、信号線３０２を介して受け取る。また、このアクセス監視部２７０は、キャッシュストレージ４００における処理状況を、信号線４０２を介して受け取る。また、このアクセス監視部２７０は、マスタストレージ３００およびキャッシュストレージ４００に対するアクセス要求の構成情報を、信号線２１７を介して受け取る。これにより、アクセス監視部２７０は、マスタストレージ３００およびキャッシュストレージ４００における処理のスループット情報を取得することができる。
【００７２】
アクセス監視部２７０は、このようにして取得したスループット情報を、信号線２７１を介してキャッシュ判定部２１０に供給する。キャッシュ判定部２１０は、このスループット情報に基づいてキャッシュデータの書戻し処理の可否を判断する。
【００７３】
［動作モード］
図９は、本技術の第２の実施の形態における動作モードとキャッシュヒット率との関係例を示す図である。
【００７４】
この第２の実施の形態では、上述の第１の実施の形態と同様に、動作モードとしてキャッシュ動作モードおよび並列動作モードを想定する。そして、この第２の実施の形態では、キャッシュ整理モードをさらに想定する。このキャッシュ整理モードは、並列動作モードのようにキャッシュストレージ４００のデータの入れ替えを行わない一方で、スループット低下時にはキャッシュデータの書戻し処理を行うモードである。すなわち、キャッシュヒット率が高くなり、キャッシュストレージ４００のデータの入れ替えが発生しない状況下で、スループットが低下した場合にはキャッシュデータの書戻し処理だけは予め実行することを意図したものである。
【００７５】
この第２の実施の形態では、上述の第１の実施の形態と同様に、マスタストレージ３００およびキャッシュストレージ４００の性能情報から、目標キャッシュヒット率を算出する。この目標キャッシュヒット率からキャッシュ動作モード閾値とキャッシュ整理モード閾値を決定する。キャッシュ動作モード閾値は目標キャッシュヒット率より小さく、キャッシュ整理モード閾値は目標キャッシュヒット率より大きくなる。
【００７６】
図１０は、本技術の第２の実施の形態における動作モードの遷移例を示す図である。上述のように、この第２の実施の形態では、動作モードとして、キャッシュ動作モード１０、並列動作モード２０およびキャッシュ整理モード３０の３つのモードを想定する。
【００７７】
キャッシュ動作モード１０において動作が行われている間にキャッシュヒット率がキャッシュ動作モード閾値以上になると、動作モード管理部２６０は動作モードをキャッシュ動作モード１０から並列動作モード２０に遷移させる。
【００７８】
並列動作モード２０において動作が行われている間にキャッシュヒット率がキャッシュ整理モード閾値以上になると、動作モード管理部２６０は動作モードを並列動作モード２０からキャッシュ整理モード３０に遷移させる。
【００７９】
キャッシュ整理モード３０において動作が行われている間にキャッシュヒット率がキャッシュ整理モード閾値未満になると、動作モード管理部２６０は動作モードをキャッシュ整理モード３０から並列動作モード２０に遷移させる。
【００８０】
並列動作モード２０において動作が行われている間にキャッシュヒット率がキャッシュ動作モード閾値未満になると、動作モード管理部２６０は動作モードを並列動作モード２０からキャッシュ動作モード１０に遷移させる。
【００８１】
［動作］
本技術の第２の実施の形態において、キャッシュ動作モードおよび並列動作モードにおけるアクセス要求に対する処理手順は、上述の第１の実施の形態と同様であるため、詳細な説明を省略する。
【００８２】
また、キャッシュ整理モードにおけるアクセス要求に対する処理手順は、上述の第１の実施の形態における並列動作モードと同様である。すなわち、キャッシュ整理モードは、並列動作モードと同様に、キャッシュヒット率がキャッシュ動作モード閾値以上の状態であるため、キャッシュ整理モードにおいてもキャッシュストレージ４００のデータの入替えは行われない。したがって、キャッシュ整理モードにおけるアクセス要求に対する処理手順についても、詳細な説明を省略する。
【００８３】
図１１は、本技術の第２の実施の形態における動作モードの状態制御の処理手順例を示す流れ図である。
【００８４】
動作モード管理部２６０は、キャッシュ判定部２１０からの情報に基づいてキャッシュヒット率を計算する（ステップＳ７１１）。その結果、それまでのキャッシュヒット率から変化し、キャッシュ動作モード閾値を跨いだ場合（ステップＳ７１２：Ｙｅｓ）、以下のように動作モードを遷移させる。
【００８５】
キャッシュヒット率がキャッシュ動作モード閾値未満になった場合（ステップＳ７１３：キャッシュ動作モード閾値未満）、動作モード管理部２６０は動作モードをキャッシュ動作モードに遷移させる（ステップＳ７２１）。
【００８６】
キャッシュヒット率がキャッシュ動作モード閾値以上、かつ、キャッシュ整理モード閾値未満になった場合（ステップＳ７１４：キャッシュ整理モード閾値未満）、動作モード管理部２６０は動作モードを並列動作モードに遷移させる（ステップＳ７２２）。
【００８７】
キャッシュヒット率がキャッシュ整理モード閾値以上になった場合（ステップＳ７１４：キャッシュ整理モード閾値以上）、動作モード管理部２６０は動作モードをキャッシュ整理モードに遷移させる（ステップＳ７２３）。
【００８８】
図１２は、本技術の第２の実施の形態における先行書戻し処理の処理手順例を示す流れ図である。この第２の実施の形態では、上述のように、スループットが低下している状態において、利用頻度が低いキャッシュデータを書き戻す処理を実行する。この先行書戻し処理は、他のアクセス要求に対する処理とは独立して並行に実行される。
【００８９】
この例では、動作モードがキャッシュ整理モードまたはキャッシュ動作モードに遷移したことをトリガーとして、以下の処理が行われる。したがって、この先行書戻し処理は、キャッシュ整理モードまたはキャッシュ動作モードにおいて実行され、並列動作モードにおいては実行されないことを想定している。ただし、これは一例であり、並列動作モードにおいてもこの先行書戻し処理を実行するようにしてもよい。その場合であっても、スループットを確認した上で処理を進めることにより、ストレージシステム全体としての性能は担保することができる。
【００９０】
また、以下の例では、キャッシュストレージ４００のスループットに着目して先行書戻し処理の可否を決定する。すなわち、この例ではマスタストレージ３００のスループットの監視は行われない。その理由は、キャッシュ整理モードにある場合には、キャッシュヒット率が高いことから、キャッシュストレージ４００にアクセスする割合が高く、マスタストレージ３００へのアクセスは少ないと考えられるからである。また、キャッシュ動作モードにある場合には、キャッシュミスヒット時にキャッシュ登録のためにキャッシュストレージ４００にアクセスが発生し、マスタストレージ３００へのアクセスは少なくなると考えられるからである。このように、この例ではキャッシュストレージ４００のスループットに着目するが、マスタストレージ３００のスループットを併せて確認することにより、ストレージシステムに対する影響をより少なくするようにしてもよい。
【００９１】
アクセス監視部２７０がスループット情報を取得して、キャッシュ判定部２１０に供給する（ステップＳ６１１）。キャッシュ判定部２１０は、キャッシュストレージ４００のスループットが書戻し処理閾値以上である場合には（ステップＳ６１２：書戻し処理閾値以上）、先行書戻し処理は実行されない。
【００９２】
キャッシュストレージ４００のスループットが書戻し処理閾値未満である場合には（ステップＳ６１２：書戻し処理閾値未満）、キャッシュ判定部２１０はキャッシュデータ管理テーブル２５０を参照して、書戻し候補ブロックを探索する（ステップＳ６１３）。このとき、再アクセス距離カウンタ２５７およびカウンタクリア回数２５８が参照され、利用頻度が低いブロックが探索される。なお、この探索のために、予め書戻し候補ブロックを保持しておくためのデータ構造（例えば、リスト構造）を設けてもよい。書戻し候補ブロックが見つからなかった場合には（ステップＳ６１４：Ｎｏ）、先行書戻し処理は実行されない。
【００９３】
書戻し候補ブロックが見つかった場合には（ステップＳ６１４：Ｙｅｓ）、書戻し候補ブロックに書き込まれているデータをキャッシュストレージ４００から読み出して、マスタストレージ３００に書き戻す（ステップＳ６１５）。このとき、書戻し処理が行われるのは、ダーティフラグ２５６が「ダーティ」状態にあるブロックである。書戻し処理が行われた後に、ダーティフラグ２５６は「クリーン」状態になる。これにより、その後、ミスヒットが生じた際にデータの書戻しが不要となり、使用中フラグ２５５を「未使用」にリセットするだけでそのブロックは再利用が可能となる。
【００９４】
これらの処理手順は、動作モードがキャッシュ整理モードまたはキャッシュ動作モードである場合に繰り返し実行される。すなわち、動作モードが並列動作モードになると（ステップＳ６１６：Ｙｅｓ）、この先行書戻し処理は終了する。
【００９５】
このように、本技術の第２の実施の形態によれば、スループットが低下している状態において、利用頻度が低いキャッシュデータの書戻し処理を実行しておくことにより、ミスヒット時の書戻しを不要とし、システム全体の性能を向上させることができる。
【００９６】
例えば、５００，０００回のアクセスに対して９５％のキャッシュヒット率だった場合、キャッシュストレージ４００へのアクセスが４７５，０００回、マスタストレージ３００へのアクセスが２５，０００回となる。これにより、それぞれにおいて帯域に余裕ができるため、この余裕が出来た帯域で追出し処理を実施することにより、ホストコンピュータ１００からのコマンドに影響を与えることなく、性能低下を引き起こさずに処理を行うことが可能となる。
【００９７】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００９８】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００９９】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【０１００】
なお、本技術は以下のような構成もとることができる。
（１）第１のストレージおよび前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージに対してアクセスを要求するアクセス要求部と、
前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する動作管理部と
を具備するストレージコントローラ。
（２）前記動作管理部は、アクセス対象のデータが前記第２のストレージに格納されていた比率を示すヒット率に従って前記第２のストレージの利用状況を判断する
前記（１）に記載のストレージコントローラ。
（３）前記動作管理部は、前記ヒット率が所定の閾値を基準として低い場合にはキャッシュ動作モードに設定し、高い場合には並列動作モードに設定して、
前記アクセス要求部は、前記第２のストレージに格納されないデータへのアクセスが発生した際に、前記キャッシュ動作モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求し、前記並列動作モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求しない
前記（２）に記載のストレージコントローラ。
（４）前記第２のストレージにおけるアクセスを監視して前記第２のストレージのスループットを取得するアクセス監視部をさらに具備し、
前記アクセス要求部は、前記第２のストレージに格納されるデータのうちアクセス頻度の低いデータを書戻し候補データとして選択し、前記第２のストレージのスループットが所定の値よりも低くなった際に前記書戻し候補データを前記第２のストレージから前記第１のストレージに書き戻すよう要求する
前記（１）から（３）のいずれかに記載のストレージコントローラ。
（５）前記動作管理部は、前記ヒット率が第１の閾値を基準として低い場合にはキャッシュ動作モードに設定し、前記第１の閾値よりも高い第２の閾値を基準として高い場合にはキャッシュ整理モードに設定し、前記第１の閾値と前記第２の閾値の間である場合には並列動作モードに設定して、
前記アクセス要求部は、前記第２のストレージに格納されないデータへのアクセスが発生した際に、前記キャッシュ動作モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求し、前記並列動作モードまたは前記キャッシュ整理モードにおいては前記第１のストレージから前記第２のストレージへのデータ転送を要求しない
前記（４）に記載のストレージコントローラ。
（６）前記アクセス要求部は、前記キャッシュ整理モードまたは前記キャッシュ動作モードにおいては前記書戻し候補データを前記第２のストレージから前記第１のストレージに書き戻すよう要求し、前記並列動作モードにおいては前記書戻し候補データの書戻しを要求しない
前記（５）に記載のストレージコントローラ。
（７）第１のストレージと、
前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージと、
前記第１および第２のストレージに対してアクセスを要求するアクセス要求部と、
前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する動作管理部と
を具備するストレージシステム。
（８）アクセス要求部が、第１のストレージおよび前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージに対してアクセスを要求する手順と、
動作管理部が、前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する手順と
を具備するストレージコントローラの制御方法。
（９）第１のストレージおよび前記第１のストレージより応答速度が速く前記第１のストレージのデータの一部が格納される第２のストレージに対してアクセスを要求する手順と、
前記第２のストレージに格納されないデータへのアクセスが発生した際に前記第１のストレージから前記第２のストレージにデータを転送すべきか否かを前記第２のストレージの利用状況に基づいて管理する手順と
をコンピュータに実行させるためのプログラム。
【符号の説明】
【０１０１】
１００  ホストコンピュータ
２００  ストレージコントローラ
２１０  キャッシュ判定部
２３０  マスタストレージアクセス要求部
２４０  キャッシュストレージアクセス要求部
２５０  キャッシュデータ管理テーブル
２６０  動作モード管理部
２７０  アクセス監視部
３００  マスタストレージ
４００  キャッシュストレージ
【図１】
2018211749.tif 000003
【図２】
2018211749.tif 000004
【図３】
2018211749.tif 000005
【図４】
2018211749.tif 000006
【図５】
2018211749.tif 000007
【図６】
2018211749.tif 000008
【図７】
2018211749.tif 000009
【図８】
2018211749.tif 000010
【図９】
2018211749.tif 000011
【図１０】
2018211749.tif 000012
【図１１】
2018211749.tif 000013
【図１２】
2018211749.tif 000014
【国際調査報告】
2018211749.tif 000015
2018211749.tif 000016
2018211749.tif 000017