(57)【要約】      （修正有）【課題】２段階の階層構造を持つキャッシュ制御装置において、１次キャッシュ用領域に空き領域がない状況下でさらにキャッシュデータの追加を行うために、１次キャッシュ用領域に空き領域を作る処理時間を短縮する。【解決手段】１次記憶装置２０における１次キャッシュ用領域内でデータを圧縮する方式と、１次記憶装置よりもデータの読み出しが低速な２次記憶装置３０における２次キャッシュ用領域へデータを移動させる方式のそれぞれの処理時間予測に基づいて、対象データのサイズに最も適した方式を選択する。【選択図】図２
2014016863.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する１次記憶手段と、
前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、
データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段と、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択手段と、
データの各サイズと、前記データ圧縮手段により各サイズのデータを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、各サイズのデータを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値との関係を予め記憶し、前記処理対象データのサイズの場合には、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定手段と、
前記判定手段において、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理手段と
を備えたことを特徴とするキャッシュ制御装置。
【請求項２】
データを記憶する１次記憶手段と、
前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、
データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段と、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択手段と、
前記データ圧縮手段により前記処理対象データを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、前記処理対象データを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値とを算出し、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定手段と、
前記判定手段において、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理手段と
を備えたことを特徴とするキャッシュ制御装置。
【請求項３】
圧縮データを非圧縮データに展開するデータ展開手段を含み、
前記圧縮方式予測値は、圧縮された当該データを前記展開手段で展開するのに要する時間を加算した値であることを特徴とする請求項１または２記載のキャッシュ制御装置。
【請求項４】
前記移動方式予測値は、当該データを前記２次記憶手段から読み出し１次記憶手段に移動させるのに要する時間を加算した値であることを特徴とする請求項１乃至３記載のキャッシュ制御装置。
【請求項５】
前記データ圧縮手段は複数個設けられ、
前記判定手段は、前記処理対象データを複数の前記圧縮手段と一対一対応するよう複数の部分データに分割して、各該部分データを対応する前記データ圧縮手段に圧縮処理させたときに要する処理時間の予測値のうちの最も長いものを前記圧縮方式予測値として使用し、
前記判定手段で前記圧縮方式予測値の方が小さいと判定された場合には、前記複数の部分データを対応する複数の前記データ圧縮手段で並行して圧縮処理する
ことを特徴とする請求項１、２または４記載のキャッシュ制御装置。
【請求項６】
前記データ圧縮手段と圧縮データを非圧縮データに展開するデータ展開手段とが複数個設けられ、
前記判定手段は、前記処理対象データを複数の前記圧縮手段と一対一対応するよう複数の第１の部分データに分割して各該第１の部分データを対応する前記データ圧縮手段に圧縮処理させたときに要する処理時間の予測値のうちの最も長いものと、前記処理対象データを圧縮した圧縮データを複数の前記データ展開手段と一対一対応するよう複数の第２の部分データに分割して各該第２の部分データを対応する前記データ展開手段に展開処理させたときに要する処理時間の予測値のうちの最も長いものとを加算した値を前記圧縮方式予測値として使用し、
前記判定手段で前記圧縮方式予測値の方が小さいと判定された場合には、前記複数の第１の部分データを対応する複数の前記データ圧縮手段で並行して圧縮処理する
ことを特徴とする請求項１、２または４記載のキャッシュ制御装置。
【請求項７】
データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを使用するキャッシュ制御方法において、
データの各サイズと、前記データ圧縮手段により各サイズのデータを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、各サイズのデータを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値との関係を記憶手段に予め記憶しておく予測値記憶ステップと、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択ステップと、
前記処理対象データのサイズの場合には、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定ステップと、
前記判定ステップにおいて、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理ステップと
を含むことを特徴とするキャッシュ制御方法。
【請求項８】
データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを使用するキャッシュ制御方法において、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択ステップと、
前記データ圧縮手段により前記処理対象データを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、前記処理対象データを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値とを算出し、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定ステップと、
前記判定ステップにおいて、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理ステップと
を含むことを特徴とするキャッシュ制御方法。
【請求項９】
前記圧縮方式予測値は、圧縮された当該データをデータ展開手段で非圧縮データに展開するのに要する時間を加算した値であることを特徴とする請求項７または８記載のキャッシュ制御方法。
【請求項１０】
前記移動方式予測値は、当該データを前記２次記憶手段から読み出し１次記憶手段に移動させるのに要する時間を加算した値であることを特徴とする請求項７乃至９記載のキャッシュ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二段階以上の階層的な記憶構成を持つキャッシュ制御装置およびキャッシュ制御方法に関し、特に、キャッシュ用領域に空き領域を作る処理時間を短縮することができるキャッシュ制御装置およびキャッシュ制御方法に関する。
【背景技術】
【０００２】
現在、コンピュータ上で動作するアプリケーションプログラム（以下、単に「アプリケーション」とも言う。）が必要なデータを取得する場合、そのデータがアクセス速度の低速な記憶装置に存在するときには、そのデータをその低速な記憶装置から取得後、取得したそのデータを、２回目以降の使用に備えて、アクセス速度の高速な記憶装置に一時的に保存するキャッシュ機能が知られている。
【０００３】
言うまでもなく、キャッシュ機能では、アクセス要求されたデータが、高速な記憶装置に既にキャッシュされている場合（これを「キャッシュヒット」と呼ぶ。）に、その効果が発揮できる。
【０００４】
ここで、キャッシュ機能の効果を高めるためには、キャッシュデータを保存する記憶装置（以下、「キャッシュメモリ」と言う。）の記憶容量を増やす方法と、限られた記憶容量のキャッシュメモリでキャッシュヒットの確率を高める方法とが考えられる。
【０００５】
まず、キャッシュメモリの記憶容量を増やす方法であるが、一般に、キャッシュメモリとして使用される高速な記憶装置は、低速な記憶装置に比べて高価であり、費用の面で、キャッシュメモリを単純に増設することには限度がある。
【０００６】
そこで、高価だが高速な１次キャッシュメモリと、安価だが低速な２次キャッシュメモリとを用意し、２次キャッシュメモリを１次キャッシュメモリの下の階層の補助記憶装置として使用する方法がある。
【０００７】
次に、キャッシュヒットの確率を高める方法として、新たなキャッシュすべきデータが発生した場合に、キャッシュメモリの記憶容量一杯までメモリにデータが保存されているときには、保存済みのデータの一部をキャッシュヒットの確率をできるだけ下げないように破棄することで、その新しいデータを保存するための記憶領域を確保する方法が考えられている。
【０００８】
このような技術の一例として、特許文献１には、限られた記憶容量の高速な記憶装置と、大記憶容量だが低速な記憶装置とをネットワーク接続したコンテンツ蓄積システムを構成し、データへのアクセス頻度を基にして記憶先を選択する技術が開示されている。
【０００９】
この技術においては、高速蓄積装置に蓄積されているコンテンツを低速記憶装置に転送完了後、高速蓄積装置からコンテンツを消去することで、高速蓄積装置の空き領域が確保されている。
【００１０】
また、本技術では、高速蓄積装置に蓄積されているコンテンツの消去の対象をアクセス頻度に基づいて選定することで、ダウンロード要求の少ないコンテンツを高速蓄積装置から削除し、ダウンロード要求の多いコンテンツを高速蓄積装置に残すように構成されている。
【００１１】
これにより、ダウンロード要求の多いコンテンツが高速蓄積装置に恒久的に保存されるので、コスト増を抑えられた高速で大規模なコンテンツ蓄積システムを提供することが可能である。
【００１２】
すなわち、本技術は、上述のキャッシュメモリの記憶容量を増やす方法と、キャッシュヒットの確率を高める方法とを組み合わせて使用した例である。なお、上述の１次キャッシュメモリは本技術の高速蓄積装置に、上述の２次キャッシュメモリは本技術の低速蓄積装置に相当する。
【００１３】
また、キャッシュメモリの記憶容量を増加させる方法として、他にも、限られた記憶容量に保存するデータ量を増加させる方法が知られている。
【００１４】
このような技術の一例として、特許文献２には、階層状に構成された記憶装置システムにおいて、上位装置からキャッシュメモリへのデータ書き込み時にデータを圧縮し、キャッシュメモリから上位装置へのデータ読み出し時にデータを伸長する技術が開示されている。この技術は、データ圧縮することにより、キャッシュメモリに記憶できるデータ容量を増加させ、より大きなキャッシュメモリを設けることと同じ効果を得ようとするものである。すなわち、限られた容量のキャッシュメモリの利用効率を上げて、キャッシュヒット率を高め、演算速度を速くすることが可能である。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特許第４４６４６５６号
【特許文献２】特開平０５−０７４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
ここで、新たなデータをキャッシュ登録するための処理時間を考えると、特許文献１に開示された技術においては、高速蓄積装置にすぐ消去できるデータがなかった場合、高速蓄積装置からコンテンツを低速蓄積装置へ転送して書き込んだ後、該コンテンツを消去して空き領域を作る時間が必要となる。
【００１７】
一方、特許文献２に開示された技術においては、新たなデータを登録するための記憶容量を、それまでのキャッシュデータを圧縮しておくことによって確保したと考えれば、新たなデータ（を圧縮した）分の空き領域を得るためのデータ圧縮の時間が必要となる。
【００１８】
また、特許文献１に開示された技術においては、空き領域に元々キャッシュされていたデータを再び利用する場合、低速蓄積装置から読み出して転送する時間が必要になる。
【００１９】
一方、特許文献２に開示された技術においては、キャッシュデータの利用にはデータ伸張する時間が必要となる。
【００２０】
これら２つの技術のどちらの総合的な処理時間が短いかは、使用する記憶装置やデータ圧縮アルゴリズムの性能などに依存するが、図１に示すように、一律には定まらないケースがあると考えられる。なお、図１の「書込時間」には、２次キャッシュへ転送（ｓｅｎｄ）して書き込む（Ｗｒｉｔｅ）する時間が含まれる。
【００２１】
図１ならば、Ａの範囲では圧縮時間＜書込時間であり、データ圧縮の処理の方が速い。一方、Ｂの範囲では、圧縮時間＞書込時間であり、２次キャッシュへ書き込む処理の方が速い。
【００２２】
すなわち、対象のデータのサイズによって、１次キャッシュから２次キャッシュに移動させる方が速い場合と、１次キャッシュ内でデータを圧縮して空き領域を作る方が速い場合とがあり、どちらの技術を採用しても常に最適な処理が行えるとは言えない。
【課題を解決するための手段】
【００２３】
本発明のキャッシュ制御装置は、データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段と、前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択手段と、データの各サイズと、前記データ圧縮手段により各サイズのデータを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、各サイズのデータを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値との関係を予め記憶し、前記処理対象データのサイズの場合には、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定手段と、前記判定手段において、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理手段とを備える。
【００２４】
本発明のキャッシュ制御装置は、データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段と、前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択手段と、前記データ圧縮手段により前記処理対象データを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、前記処理対象データを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値とを算出し、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定手段と、前記判定手段において、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理手段とを備える。
【００２５】
本発明のキャッシュ制御方法は、データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを使用する方法であって、データの各サイズと、前記データ圧縮手段により各サイズのデータを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、各サイズのデータを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値との関係を記憶手段に予め記憶する予測値記憶ステップと、前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択ステップと、前記処理対象データのサイズの場合には、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定ステップと、前記判定ステップにおいて、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理ステップとを含む。
【００２６】
本発明のキャッシュ制御方法は、データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを使用する方法であって、前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択ステップと、前記データ圧縮手段により前記処理対象データを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、前記処理対象データを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値とを算出し、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定ステップと、前記判定ステップにおいて、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理ステップとを含む。
【発明の効果】
【００２７】
本発明には、二段階以上の階層的なメモリ構成を持つキャッシュ制御装置において、１次キャッシュに空き領域がない状況におけるキャッシュ登録処理の性能向上を達成できるという効果がある。
【図面の簡単な説明】
【００２８】
【図１】データ圧縮による処理時間と２次キャッシュへの書き込みによる処理時間の一例を示すグラフである。
【図２】本発明の第１の実施形態の構成を示すブロック図である。
【図３】１次記憶装置と２次記憶装置の構成を示すブロック図である。
【図４】本発明の第１乃至第３の実施形態における１次キャッシュへのデータ登録動作を示すフローチャートである。
【図５】本発明の第１乃至第３の実施形態におけるキャッシュしたデータへの参照動作を示すフローチャートである。
【図６】本発明の第２の実施形態の構成を示すブロック図である。
【発明を実施するための形態】
【００２９】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００３０】
＜第１の実施形態＞
図２は、本発明の第１の実施形態を示すブロック図である。
【００３１】
図２を参照すると、本実施形態は、コンピュータ１００および外部情報源２００から構成される。
【００３２】
コンピュータ１００は、演算処理装置１０、１次記憶装置２０、２次記憶装置３０、処理データ選択部４０、方式判定部５０、データ圧縮手段６０、およびデータ展開手段７０を備える。
【００３３】
演算処理装置１０は、各部の動作を制御する。
【００３４】
１次記憶装置２０は、演算処理装置１０に接続された主記憶装置であり、データの読み書き速度（以下、「アクセス速度」という）が高速な記憶装置である。
【００３５】
１次記憶装置２０は、１次キャッシュメモリとしての動作も行うとともに、ＯＳプログラムおよびアプリケーションプログラム自体並びにそれらのプログラムが利用するデータを保持する動作を行い、そのために、キャッシュデータを保持する領域とＯＳプログラムおよびアプリケーションプログラムの利用するデータを保持する領域とに区分されている。
【００３６】
なお、以降の説明では、ＯＳプログラムおよびアプリケーションプログラムなどのプログラムを総称して単に「アプリケーション」と言う。
【００３７】
次に、図３を参照して、１次記憶装置２０の詳細な構成を説明する。
【００３８】
１次記憶装置２０の記憶領域は、１次キャッシュ用領域２１と、アプリケーション用領域２５とに区分されている。
【００３９】
１次キャッシュ用領域２１は、アプリケーションが外部情報源３から取得したデータを、次のアクセスの機会に備えて一時的にデータを保持するための記憶領域であり、コンピュータ１００の起動時などに１次記憶装置２０内に所定の記憶容量を持つよう割り当てられる。
【００４０】
１次キャッシュ用領域２１は、さらに、展開情報保存領域２２と圧縮情報保存領域２３と空き領域２４とからなる。なお、空き領域２４は、１次キャッシュ用領域２１の中で使用されていない領域を示し、存在しないこともある。
【００４１】
展開情報保存領域２２は、１次キャッシュ用領域２１に保存すべきキャッシュデータを圧縮せず、そのまま保存する領域である。なお、データ圧縮していないキャッシュデータを「非圧縮データ」と呼ぶことがある。
【００４２】
圧縮情報保存領域２３は、１次キャッシュ用領域２１に保存すべきキャッシュデータを圧縮した状態で保存する領域である。
【００４３】
展開情報保存領域２２および圧縮情報保存領域２３の大きさは、キャッシュされているデータの状態によって変動する。また、領域２２と領域２３とはそれぞれ非連続でもよい。
【００４４】
アプリケーション用領域２５は、アプリケーションが使用する領域であり、外部情報源３から読み出されたデータはこの領域に格納されて、そのデータを要求したアプリケーションに引き渡される。
【００４５】
２次記憶装置３０は、１次記憶装置２０よりはアクセス速度が低速であるが、外部情報源３よりはアクセス速度が高速な記憶装置である。
【００４６】
具体的には、例えば、１次記憶装置２０はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの半導体メモリ、２次記憶装置３０はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ、半導体ディスク）、そして、外部情報源３は磁気ディスク（ＨＤＤ）である。
【００４７】
次に、図３を参照して、２次記憶装置３０の詳細な構成を説明する。
【００４８】
本実施形態では、２次記憶装置３０は、２次キャッシュ用領域３１のみから構成され、２次キャッシュ用領域３１は、展開情報保存領域３２と圧縮情報保存領域３３と空き領域３４とからなる。なお、空き領域３４は、２次キャッシュ用領域３１の中で使用されていない領域を示し、存在しないこともある。
【００４９】
展開情報保存領域３２は、２次キャッシュ用領域３１に保存すべきキャッシュデータを圧縮せず、そのまま保存する領域である。
【００５０】
圧縮情報保存領域３３は、２次キャッシュ用領域３１に保存すべきキャッシュデータを圧縮した状態で保存する領域である。
【００５１】
展開情報保存領域３２および圧縮情報保存領域３３の大きさは、キャッシュされているデータの状態によって変動する。また、領域３２と領域３３とはそれぞれ非連続でもよい。
【００５２】
２次キャッシュ用領域３１は、１次キャッシュ用領域２１で保存しきれなくなったキャッシュデータを一時的に保存するためのものである。アプリケーションが該データを再び参照する場合は、まず、該データが２次キャッシュ用領域３１から読み出されて１次キャッシュ用領域２１に転送され、アプリケーションはこうして１次キャッシュ用領域に転送されてきた該データを利用する。
【００５３】
処理データ選択部４０は、１次キャッシュ用領域２１の空き領域を増やすために、１次キャッシュ用領域２１に保存されているデータの中から移動もしくは削除するデータを選択する。処理データ選択部４０で行われるデータ選択の選択基準は、例えば、利用頻度や最終アクセス時刻を考慮して、再アクセスの確率が低そうなデータを選択することを基本とする。
【００５４】
このため、処理データ選択部４０は、例えば、アプリケーションからの各データへのアクセスタイミング等の情報を収集し、利用頻度や最終アクセス時刻等の情報として整理する。
【００５５】
データ圧縮手段５０は、１次記憶装置２０上の非圧縮データを読み出して、圧縮し、圧縮後の圧縮データを１次記憶装置２０上に書き込む。
【００５６】
データ圧縮アルゴリズムとしては、圧縮対象データのサイズを基に圧縮に掛かる時間、および、圧縮データの展開時間を予測できるものが採用される。
【００５７】
例えば、よく知られているＬＺＳＳ（Ｌｅｍｐｅｌ−Ｚｉｖ−Ｓｔｏｒｅｒ−Ｓｚｙｍａｎｓｋｉ）方式などのいわゆる辞書式のアルゴリズムにおいては、元データの各要素について同じ処理を繰り返すことで圧縮を行うため、処理対象となるデータのサイズに比例して圧縮処理回数が増加する。これにより、１回あたりの圧縮処理時間を測定しておけば、データサイズからおおよその圧縮時間を予測することができる。なお、展開についても同様である。
【００５８】
また、圧縮および展開の演算処理には、演算処理装置１０を使用してもよいし、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの別の装置を使用してもよい。
【００５９】
データ展開手段６０は、データ圧縮手段５０によって圧縮されたデータを、１次記憶装置２０上から読み出して、展開し、展開されたデータを１次記憶装置２０上に書き込む。データ展開アルゴリズムは、データ圧縮手段５０の圧縮アルゴリズムに対応するものを採用する。
【００６０】
方式判定部７０は、処理データ選択部４０が選択した処理対象データのサイズを基に、１次キャッシュ用領域２１に該データを書き込むのに必要な空き容量を確保するための処理に要する時間が短い処理方式を判定する。
【００６１】
この処理方式としては、本実施形態では、１次キャッシュ用領域２１内で既存の非圧縮データを圧縮し、縮小した分のサイズを空ける方式（以下、「圧縮方式」と言う。）と、１次キャッシュ用領域２１から２次キャッシュ用領域３１へデータを移動させる方式（以下、「移動方式」と言う。）との２つの処理方式がある。
【００６２】
はじめに、圧縮方式の処理時間について説明する。
【００６３】
本実施形態では、この方式の処理時間は、１次キャッシュ用領域２１の非圧縮データをデータ圧縮手段５０で圧縮するのに要する時間と、該圧縮データをデータ展開手段６０で展開するのに要する時間との合計の時間で表わされるものとする。これら２つの処理に要する時間は、上述したとおり、データサイズから予測することが可能である。
【００６４】
なお、本実施形態では、１次記憶装置２０に対する読み書きの時間は、上記２つの処理に要する時間に比べて十分に短く無視できるため考慮に入れないが、１次記憶装置２０、データ圧縮手段５０、および、データ展開手段６０の性能次第では考慮に入れることもありうる。
【００６５】
次に、移動方式の処理時間について説明する。
【００６６】
本実施形態では、この方式の処理時間は、データを１次記憶装置２０から２次記憶装置３０へ送るのに要する時間、データを２次記憶装置３０に書き込むのに要する時間、２次記憶装置３０から読み出すのに要する時間および１次記憶装置２０へ送るのに要する時間の合計の時間で表されるものとする。これら４つの時間は、装置を構成後のテストによる測定値や装置の仕様情報に基づいて、処理対象のデータサイズ毎におおよそ予測できる。
【００６７】
なお、本方式でも同様に、１次記憶装置２０に対する読み書きの時間は、上記２つの時間に比べて十分に短く無視できるため考慮に入れていないが、１次記憶装置２０と２次記憶装置３０との間の性能差の程度によっては考慮に入れることもありえる。
【００６８】
以上のように、２つの方式は、対象となるデータサイズから処理時間が予測できる。そこで、本実施形態では、２つの方式におけるデータサイズと処理時間との関係を予め予測した判定情報が方式判定部７０内に予め格納されており、これにより、方式判定部７０はデータサイズに応じて処理時間が短い方の方式を選定する。
【００６９】
なお、上記判定情報は、方式判定部７０が、処理中に算出してもよい。
【００７０】
ここで、判定情報とは、例えば、２つの方式における処理時間とデータサイズとの関係が図１のようなグラフで表せるとすると、処理対象のデータサイズをｄとして、０≦ｄ＜ａのときは圧縮方式、ａ≦ｄ＜ｂのときは移動方式、ｂ≦ｄ＜ｘ（ｘは図示せず）のときは圧縮方式、のような関係を示した情報である。
【００７１】
なお、上記の移動方式では、４つの時間のうち、２次記憶装置３０から読み出すのに要する時間および１次記憶装置２０へ送るのに要する時間は処理時間から削っても良い。
【００７２】
外部情報源２００は、コンピュータ１００で動作するアプリケーションがアクセスする対象のオリジナルデータを格納している記憶装置である。外部情報源２００は、１次記憶装置２０および２次記憶装置３０に比べて、アクセス速度が遅い記憶手段であり、上述の通り、本実施形態では磁気ディスク装置とする。
【００７３】
なお、本実施形態では、外部情報源２００以外の構成要素はすべて１つのコンピュータに搭載されているが、それに限定されるものではない。例えば、２次記憶装置３０が高速なネットワーク回線でつながれた別のコンピュータに設けられ、外部情報源２００がより低速なネットワーク回線でつながれた別のコンピュータに設けられる構成などでもよい。
【００７４】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。
【００７５】
本実施形態の主な動作は、１次キャッシュ用領域２１へのデータ登録動作と、キャッシュしたデータへの参照動作とに分けられる。これらについて、以下順番に説明する。
【００７６】
まず、図４を参照して、１次キャッシュ用領域２１へのデータ登録動作を説明する。
【００７７】
コンピュータ１００の起動時の１次キャッシュ用領域２１と２次キャッシュ用領域３１との状態は図３の通りであるとする。
【００７８】
まず、アプリケーションがデータＤ１の登録を要求し、データＤ１を１次キャッシュ用領域２１へ登録する必要がある場合、演算処理装置１０は、１次キャッシュ用領域２１への登録対象のデータＤ１のサイズを確認し、１次キャッシュ用領域２１の空き領域２４に収められるかどうかを判断する（ステップＳ１００）。
【００７９】
なお、１次キャッシュ用領域２１への登録要否の判断は、一般的なキャッシュ技術を利用し、本実施形態では詳細を記述しない。
【００８０】
もし、空き領域２４に収められる場合、演算処理装置１０は、１次キャッシュ用領域２１の空き領域２４にデータＤ１を書き込んで、その領域を展開情報保存領域２２の一部と定義する（ステップＳ１３０）。この場合は、これで１次キャッシュ用領域２１へのデータＤ１の登録処理は完了する。
【００８１】
一方、データＤ１のサイズが空き領域２４のサイズより大きい場合には、１次キャッシュ用領域２１の空き領域２４のサイズを増やすための処理に進む。
【００８２】
演算処理装置１０は、１次キャッシュ用領域２１に圧縮情報保存領域２３が存在するか否かを確認する（ステップＳ１０１）。
【００８３】
もし、ここで圧縮情報保存領域２３がなければ、後述するステップＳ１０２に進む。
【００８４】
今は、圧縮情報保存領域２３があるので、圧縮データを移動させる処理に進む。
【００８５】
処理データ選択部４０は、それまでのアクセス状況から、圧縮情報保存領域２３の中で最も利用度の低い圧縮データＤ２を選択する（ステップＳ１１０）。
【００８６】
演算処理装置１０は、圧縮データＤ２を装置３０の２次キャッシュ用領域３１内の空き領域３４に書き込み、書き込んだ領域を圧縮情報保存領域３３と定義する。そして、圧縮データＤ２を１次キャッシュ用領域２１の圧縮情報保存領域２３から削除する（ステップＳ１１１）。これにより、空き領域２４は、データＤ２の分だけ増加する。この結果、データＤ１を登録するために必要なサイズの空き領域２４が確保された場合には、データＤ１をそこに登録する（ステップ１３０）。
【００８７】
一方、データＤ１を登録するために必要なサイズの空き領域２４がまだ確保できない場合には（ステップ１００）、ステップＳ１１０およびＳ１１１の処理をデータＤ１を収められるだけのサイズの空き領域２４が確保できるまで繰り返す。もし、これらのステップを繰り返し、圧縮情報保存領域２３の全てのデータを削除してもデータＤ１を登録するために必要なサイズの空き領域２４が確保できない場合には、処理データ選択部４０は、それまでのアクセス状況から、１次キャッシュ用領域２１の展開情報保存領域２２の中で最も利用度の低い非圧縮のデータＤ３を選択する（ステップＳ１０２）。
【００８８】
次に、方式判定部７０が、データＤ３のサイズを確認し、以下のようにして処理時間が短い方式を選択する（ステップＳ１０３）。
【００８９】
すなわち、データＤ３のサイズｄ３が、図１のＢの範囲（ａ≦ｄ３＜ｂ）の場合、方式判定部７０は２次キャッシュ用領域３１への移動方式を選択し、ステップＳ１２０に進む。
【００９０】
演算処理装置１０は、非圧縮データＤ３を２次キャッシュ用領域３１内の空き領域３４に書き込み、その書き込んだ領域を展開情報保存領域３２と定義する。そして、非圧縮データＤ３を１次キャッシュ用領域２１の展開情報保存領域２２から削除する（ステップＳ１２０）。これにより、空き領域２４は、データＤ３の分だけ増加する。そして、ステップＳ１００の処理に戻る。
【００９１】
一方、ステップＳ１０２において、データＤ３のサイズｄ３が、図１のＡの範囲（０≦ｄ３＜ａ、または、ｂ≦ｄ３＜ｘ、ｘは図示せず）の場合、方式判定部７０は圧縮方式を選択し、ステップＳ１０４に進む。
【００９２】
データ圧縮手段５０は、非圧縮データＤ３を圧縮して、１次キャッシュ用領域２１内に圧縮情報保存領域２３を再度作成し、そこに圧縮したデータＤ３を書き込む（ステップＳ１０４）。
【００９３】
次に、演算処理装置１０は、圧縮前のデータＤ３を１次キャッシュ用領域２１の展開情報保存領域２２から削除する（ステップＳ１０５）。これにより、空き領域２４は、データＤ３の圧縮により縮小したサイズ分だけ増加する。そして、ステップＳ１００の処理に戻る。
【００９４】
この時点で、まだデータＤ１を登録するために必要なサイズの空き領域２４が確保できない場合であって、ステップ１０３でデータＤ３に対して移動方式が選択されていたときには、再度ステップＳ１０２およびＳ１０３の処理に進み、ステップＳ１２０、または、ステップＳ１０４およびＳ１０５、の処理を行い、一方、ステップ１０３でデータＤ３に対して圧縮方式が選択されていたときには、ステップＳ１１０およびＳ１１１の処理に進む。
【００９５】
例えば、展開情報保存領域２２に２つのデータａとデータｂとがあるとき、まず、利用率が低いデータａが先に処理対象に選ばれて、そのまま移動した方が速い場合は非圧縮のまま２次キャッシュ用領域３１へ移動され、移動するより圧縮した方が速い場合は圧縮される。そして、それでも空き領域２４が足りない場合は、展開情報保存領域２２内の別のデータｂが処理対象になる前に、先に圧縮されたデータａが２次キャッシュ用領域３１へ移動される。すなわち、空き領域２４のサイズが十分に確保できるまで、展開情報保存領域２２のデータは、処理データ選択部４０により利用率が低いと判断された順に、２次キャッシュ用領域３１へ移動されていき、そのデータの形態は、処理時間に応じて、圧縮または非圧縮という形態になる。
【００９６】
以上のような処理フローに従って空き領域２４のサイズを増やしていき、最終的に、データＤ１を登録できるだけのサイズの空き領域２４を確保し(ステップＳ１００）、そこを展開情報保存領域２３と定義してデータＤ１を格納する（ステップＳ１３０）ことにより、１次キャッシュ用領域２１へのデータＤ１の登録処理が完了する。
【００９７】
このようにして、１次キャッシュ用領域２１内の既存データを、該データを最も速く移動できる手段を用いて２次キャッシュ用領域３１へ移動させるか、１次キャッシュ用領域２１内で圧縮することにより既存データのサイズを縮小して、新しいデータＤ１を１次キャッシュ用領域２１へ登録することが実現できる。
【００９８】
次に、図５を参照して、キャッシュしたデータの参照動作を説明する。
【００９９】
今、すでに１次キャッシュ用領域２１と２次キャッシュ用領域３１とになんらかのデータが登録されており、アプリケーションがデータＤ４の参照を要求したとする。
【０１００】
まず、演算処理装置１０は、アクセス対象のデータＤ４が１次キャッシュ用領域２１に保存されているかどうかを確認する（ステップＳ２００）。
【０１０１】
もし、１次キャッシュ用領域２１の展開情報保存領域２２、または、圧縮情報保存領域２３に保存されていた場合は、ステップＳ２０３に進む。
【０１０２】
一方、１次キャッシュ用領域２１に保存されていなかった場合、演算処理装置１０は、アクセス対象のデータＤ４が２次キャッシュ用領域３１に保存されているかどうかを確認する（ステップＳ２０１）。
【０１０３】
もし、２次キャッシュ用領域２１の展開情報保存領域２２、または、圧縮情報保存領域２３に保存されていなかった場合、キャッシュミスとして処理する。すなわち、演算処理装置１０は、外部情報源２００からデータＤ４を取得し（ステップＳ２１０）、１次記憶装置２０のアプリケーション用領域２５に格納してアプリケーションに引き渡す（ステップＳ２０６）。
【０１０４】
この後、データＤ４を１次キャッシュ用領域２１に登録する必要があると判断された場合は、上述した１次キャッシュ用領域２１へのデータ登録動作を行っても良い。
【０１０５】
一方、ステップＳ２０１において、データＤ４が２次キャッシュ用領域３１に保存されていた場合、演算処理装置１０は、２次キャッシュ用領域３１からデータＤ４を１次キャッシュ用領域２１へ転送する。そして、演算処理装置１０は、転送したデータＤ４が非圧縮データならば展開情報保存領域２２へデータＤ１を保存し、データＤ４が圧縮データならば圧縮情報保存領域２３へ保存する（ステップＳ２０２）。転送後、演算処理装置１０は、２次キャッシュ用領域３１のデータＤ４を削除する。
【０１０６】
次に、演算処理装置１０は、データＤ４が圧縮されているかどうか確認する（ステップＳ２０３）。
【０１０７】
もし、非圧縮データの場合は、ステップＳ２０６に進む。
【０１０８】
一方、圧縮データの場合、データ展開手段６０は、圧縮データＤ４を展開し（ステップＳ２０４）、１次キャッシュ用領域２１の展開情報保存領域２２に展開したデータＤ４を保存するとともに、元の圧縮データＤ４を圧縮情報保存領域２３から削除する（ステップＳ２０５）。
【０１０９】
最後に、演算処理装置１０は、１次キャッシュ用領域２１の展開情報保存領域２２の非圧縮データＤ４を、１次記憶装置２０のアプリケーション用領域２５に格納してアプリケーションに引き渡す（ステップＳ２０６）。
【０１１０】
なお、ステップＳ２０２およびＳ２０５において、データＤ４を保存するための１次キャッシュ用領域２１の空き領域２４が不足している場合は、上述した１次キャッシュ用領域２１へのデータ登録動作を行う。
【０１１１】
ここで、キャッシュデータの参照に要した時間を考える。
【０１１２】
まず、２次キャッシュ用領域３１に保存されていた場合は、２次記憶装置３０からの読み出しと、１次記憶装置２０への転送時間を要する。
【０１１３】
次に、データ圧縮されていた場合は、展開する時間を要する。
【０１１４】
しかし、１次キャッシュ用領域２１へのデータ登録動作において方式判定部７０が処理方式を選択する（ステップＳ１０３）ときの判定情報に、上記のような参照するために要する時間を加算しているので、後でデータを利用する際の処理に要する時間はすでに方式選択において考慮済みである。すなわち、本実施形態では、キャッシュデータ参照のための展開処理を含めても処理時間が短くなるときだけ、データ圧縮を行うように制御されていると言える。同じく、２次記憶装置３０からの読み出しと、１次記憶装置２０へ送る時間を含めても処理時間が短くなるときだけ、データ移動を行うように制御されているとも言える。
【０１１５】
以上説明したように、本実施形態には、従来の階層的な記憶構成を持つキャッシュ制御装置や、キャッシュデータを圧縮して保存するのみのキャッシュ制御装置に比べて、キャッシュデータの登録処理の性能が向上するという効果がある。
【０１１６】
その理由は、新たなデータを登録するために１次キャッシュ用領域から予め定めた条件に基づきデータを選択し、その選択されたデータを圧縮するのに要する時間とその選択されたデータを２次キャッシュ用領域に移動させ書き込むのに要する時間とのうちの短い時間の方の処理を選択して、当該選択された処理を当該データに施すようにしたためである。
【０１１７】
さらに、２次キャッシュ用領域に保存されたデータにおいては、キャッシュの参照処理の性能が向上する効果もある。
【０１１８】
その理由は、１次キャッシュ用領域の空き容量を確保する処理の時点で、２次キャッシュ用領域からデータを読み込む際の移動と展開のための処理に要する時間を加算した予測値に基づいて、処理時間が短い方の方式を判定するためである。すなわち、圧縮と展開とに要する時間を加算してもなお、圧縮してサイズが小さくなったデータを２次記憶装置から読み出して１次記憶装置へ転送するために要する処理時間がより短く済むようなデータサイズの場合は、圧縮して２次キャッシュ用領域に保存されるので、常に非圧縮の状態で２次キャッシュにデータを保存する従来方式に比べて参照性能が向上する。一方、圧縮と展開とを行うことで余計に時間が掛かるようなデータサイズの場合は、圧縮しないまま２次キャッシュ用領域に移動されるので、常にキャッシュデータを圧縮する従来方式に比べても性能が向上する。
【０１１９】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする第２の実施形態について説明する。以下では、第２の実施形態に係る特徴的な部分を中心に説明し、第１の実施形態と同様な構成を有する第２の実施形態の構成要素には、第１の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
【０１２０】
図６は、第２の実施形態を示すブロック図である。
【０１２１】
図６を参照すると、本実施形態では、コンピュータ１０１の中にデータ圧縮手段５０およびデータ展開手段６０をそれぞれ複数個有する点が第１の実施形態と異なる。
【０１２２】
なお、データ圧縮手段５０およびデータ展開手段６０の数は同数である必要はない。
【０１２３】
次に、上述した構成を備える本実施形態の動作について詳細に説明する。
【０１２４】
本実施形態の動作は、第１の実施形態と基本的には同じであり、異なる点は以下の点だけである。
【０１２５】
まず、１次キャッシュ用領域２１へのデータ登録動作においては、方式判定部７０が、データ圧縮手段５０およびデータ展開手段６０の数に合わせてデータＤ３を複数の部分データに分割し、例えば、最短時間の方式を決定する際に採用するデータサイズを、分割したデータの中で最も大きなデータサイズとする（図４のステップＳ１０３）。すなわち、方式判定部７０が、データＤ３を複数の圧縮手段５０と一対一対応するよう複数の第１の部分データに分割して各第１の部分データを対応する圧縮手段５０に圧縮処理させたときに要する処理時間の予測値のうちの最も長いものと、データＤ３を圧縮した圧縮データを複数の展開手段６０と一対一対応するよう複数の第２の部分データに分割して各第２の部分データを対応する展開手段６０に展開処理させたときに要する処理時間の予測値のうちの最も長いものとを加算した値を圧縮方式の予測値として割り出す。
【０１２６】
なお、ここでは、展開手段６０による展開処理の時間の予測値を考慮して圧縮方式の予測値を割り出すようにしたが、展開手段６０による展開処理の時間の予測値を考慮せず、圧縮処理の処理時間のみから予測値を割り出すようにしてもよいことは言うまでもない。
【０１２７】
次に、データＤ３を実際に圧縮する際には、ステップＳ１０３で方式判定部７０により分割された複数の第１の部分データがそれぞれ対応する複数のデータ圧縮手段５０に分配されて、複数のデータ圧縮手段５０で並行して圧縮処理される（図４のステップＳ１０４）。
【０１２８】
そして、データへの参照動作においては、圧縮されたデータＤ３を展開する際も同様に、データＤ３が複数の第２の部分データに分割され、こうして分割された複数の第２の部分データはそれぞれ対応する複数のデータ展開手段６０に分配されて、複数のデータ展開手段６０で並行して展開処理される（図５のステップＳ２０３）。
【０１２９】
以上、説明したように、本実施形態には、上述した第１の実施形態と同様の効果に加えて、さらに、キャッシュ登録処理および参照処理の時間を短縮することができるという効果がある。
【０１３０】
その理由は、データを分割して並列処理することで、データ圧縮および展開の処理時間を短縮することができるためである。
【０１３１】
なお、本発明は上述した実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下の付記に限定されるものではないことは言うまでもない。
【０１３２】
（付記１）
データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを使用するキャッシュ制御方法において、
データの各サイズと、前記データ圧縮手段により各サイズのデータを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、各サイズのデータを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値との関係を記憶手段に予め記憶しておく予測値記憶ステップと、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択ステップと、
前記処理対象データのサイズの場合には、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定ステップと、
前記判定ステップにおいて、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理ステップと
を含むことを特徴とするキャッシュ制御方法。
【０１３３】
（付記２）
データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを使用するキャッシュ制御方法において、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択ステップと、
前記データ圧縮手段により前記処理対象データを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、前記処理対象データを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値とを算出し、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定ステップと、
前記判定ステップにおいて、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理ステップと
を含むことを特徴とするキャッシュ制御方法。
【０１３４】
（付記３）
前記移動方式予測値は、当該データを前記２次記憶手段から読み出し１次記憶手段に移動させるのに要する時間を加算した値であることを特徴とする付記１または２記載のキャッシュ制御方法。
【０１３５】
（付記４）
前記データ圧縮手段は複数個使用され、
前記判定ステップは、前記処理対象データを複数の前記圧縮手段と一対一対応するよう複数の部分データに分割して、各該部分データを対応する前記データ圧縮手段に圧縮処理させたときに要する処理時間の予測値のうちの最も長いものを前記圧縮方式予測値として使用し、
前記判定ステップで前記圧縮方式予測値の方が小さいと判定された場合には、前記複数の部分データを対応する複数の前記データ圧縮手段で並行して圧縮処理する
ことを特徴とする付記１乃至３記載のキャッシュ制御方法。
【０１３６】
（付記５）
前記データ圧縮手段と圧縮データを非圧縮データに展開するデータ展開手段とが複数個使用され、
前記判定ステップは、前記処理対象データを複数の前記圧縮手段と一対一対応するよう複数の第１の部分データに分割して各該第１の部分データを対応する前記データ圧縮手段に圧縮処理させたときに要する処理時間の予測値のうちの最も長いものと、前記処理対象データを圧縮した圧縮データを複数の前記データ展開手段と一対一対応するよう複数の第２の部分データに分割して各該第２の部分データを対応する前記データ展開手段に展開処理させたときに要する処理時間の予測値のうちの最も長いものとを加算した値を前記圧縮方式予測値として使用し、
前記判定ステップで前記圧縮方式予測値の方が小さいと判定された場合には、前記複数の第１の部分データを対応する複数の前記データ圧縮手段で並行して圧縮処理する
ことを特徴とする付記１乃至３記載のキャッシュ制御方法。
【０１３７】
（付記６）
データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを含むシステムにおいて、
データの各サイズと、前記データ圧縮手段により各サイズのデータを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、各サイズのデータを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値との関係を記憶手段に予め記憶しておく予測値記憶処理と、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択処理と、
前記処理対象データのサイズの場合には、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定処理と、
前記判定処理において、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理と
をコンピュータに実行させることを特徴とするキャッシュ制御プログラム。
【０１３８】
（付記７）
データを記憶する１次記憶手段と、前記１次記憶手段よりもデータの読み出しが低速である２次記憶手段と、データを圧縮して前記１次記憶手段に保存できるデータ圧縮手段とを含むシステムにおいて、
前記１次記憶手段に新規データを保存する場合であって、前記１次記憶手段に該新規データを保存するための空き領域が存在しない場合、予め定めた条件に基づき指定される前記１次記憶手段内のデータを処理対象データとして選択する選択処理と、
前記データ圧縮手段により前記処理対象データを圧縮するのに要する圧縮時間の予測値である圧縮方式予測値と、前記処理対象データを前記１次記憶手段から２次記憶手段に移動させ書き込むのに要する移動時間の予測値である移動方式予測値とを算出し、前記圧縮方式予測値および前記移動方式予測値のうちのいずれが小さいかを判定する判定処理と、
前記判定処理において、前記圧縮方式予測値の方が小さいと判定された場合には、前記処理対象データを前記圧縮手段で圧縮した圧縮データを前記１次記憶手段に保存し、一方、前記移動方式予測値の方が小さいと判定された場合には、前記処理対象データを前記第２の記憶手段に移動させ書き込む処理と
をコンピュータに実行させることを特徴とするキャッシュ制御プログラム。
【０１３９】
（付記８）
前記圧縮方式予測値は、圧縮された当該データをデータ展開手段で非圧縮データに展開するのに要する時間を加算した値であることを特徴とする付記６または７記載のキャッシュ制御プログラム。
【０１４０】
（付記９）
前記移動方式予測値は、当該データを前記２次記憶手段から読み出し１次記憶手段に移動させるのに要する時間を加算した値であることを特徴とする付記６乃至８記載のキャッシュ制御プログラム。
【０１４１】
（付記１０）
前記システムは、複数の前記データ圧縮手段を含み、
前記判定処理は、前記処理対象データを複数の前記圧縮手段と一対一対応するよう複数の部分データに分割して、各該部分データを対応する前記データ圧縮手段に圧縮処理させたときに要する処理時間の予測値のうちの最も長いものを前記圧縮方式予測値として使用し、
前記判定処理で前記圧縮方式予測値の方が小さいと判定された場合には、前記複数の部分データを対応する複数の前記データ圧縮手段で並行して圧縮処理する
ことを特徴とする付記６、７または９記載のキャッシュ制御プログラム。
【０１４２】
（付記１１）
前記システムは、複数の前記データ圧縮手段と圧縮データを非圧縮データに展開する複数のデータ展開手段とを含み、
前記判定処理は、前記処理対象データを複数の前記圧縮手段と一対一対応するよう複数の第１の部分データに分割して各該第１の部分データを対応する前記データ圧縮手段に圧縮処理させたときに要する処理時間の予測値のうちの最も長いものと、前記処理対象データを圧縮した圧縮データを複数の前記データ展開手段と一対一対応するよう複数の第２の部分データに分割して各該第２の部分データを対応する前記データ展開手段に展開処理させたときに要する処理時間の予測値のうちの最も長いものとを加算した値を前記圧縮方式予測値として使用し、
前記判定処理で前記圧縮方式予測値の方が小さいと判定された場合には、前記複数の第１の部分データを対応する複数の前記データ圧縮手段で並行して圧縮処理する
ことを特徴とする付記６、７または９記載のキャッシュ制御プログラム。
【符号の説明】
【０１４３】
１０    演算処理装置
２０    １次記憶装置
２１    １次キャッシュ用領域
２２    展開情報保存領域
２３    圧縮情報保存領域
２４    空き領域
２５    アプリケーション用領域
３０    ２次記憶装置
３１    ２次キャッシュ用領域
３２    展開情報保存領域
３３    圧縮情報保存領域
３４    空き領域
４０    処理データ選択部
５０    データ圧縮手段
６０    データ展開手段
７０    方式判定部
１００    コンピュータ
２００    外部情報源
１０１    コンピュータ
【図１】
2014016863.tif 000003
【図２】
2014016863.tif 000004
【図３】
2014016863.tif 000005
【図４】
2014016863.tif 000006
【図５】
2014016863.tif 000007
【図６】
2014016863.tif 000008