(57)【要約】【課題】読み出し頻度の変化による性能低下とコストの上昇とを抑制し得る、ストレージシステム、ストレージ管理装置、ストレージ管理方法、及びプログラムを提供する。【解決手段】ストレージシステム１０は、第１の記憶装置１６０と、それよりもランダムリード時の読出速度が遅い第２の記憶装置１７０と、ストレージ管理装置１００とを備える。ストレージ管理装置１００は、データの読み出しが要求された場合に、要求がシーケンシャルリードであるかどうかを判定する、要求パターン判定部１１０と、要求がシーケンシャルリードである場合に、第２の記憶装置１７０から、要求されたデータを読み出し、要求がシーケンシャルリードでない場合に、第１の記憶装置から、要求されたデータを読み出す、データアクセス部１４０とを備えている。【選択図】図１
2018173786.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶装置と、
前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置と、
前記第１の記憶装置及び前記第２の記憶装置を管理する、ストレージ管理装置と、
を備え、
前記ストレージ管理装置は、
外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、要求パターン判定部と、
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、データアクセス部と、
を備えている、ことを特徴とするストレージシステム。
【請求項２】
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置から、要求された前記データを読み出す際の第１の時間と、前記第２の記憶装置から、要求された前記データを読み出す際の第２の時間とを予測し、予測された前記第２の時間が前記第１の時間よりも短いかどうかを判定する、リード性能判定部を、更に備え、
前記データアクセス部は、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記リード性能判定部が、前記第２の時間が前記第１の時間よりも短いと判定したことを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
請求項１に記載のストレージシステム。
【請求項３】
前記リード性能判定部は、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第１の時間と前記第２の時間とを予測し、
前記データアクセス部は、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
請求項２に記載のストレージシステム。
【請求項４】
前記データアクセス部は、外部から前記データの読み出しが要求され、更に、要求された前記データが前記第１の記憶装置にのみ格納されている場合は、要求された前記データと同一のデータを前記第２の記憶装置に書き込む、
請求項３に記載のストレージシステム。
【請求項５】
前記第１の装置が、ソリッドステートドライブであり、前記第２の装置が、ハードディスクドライブである、
請求項１〜４のいずれかに記載のストレージシステム。
【請求項６】
第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するための装置であって、
外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、要求パターン判定部と、
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、データアクセス部と、
を備えている、ことを特徴とするストレージ管理装置。
【請求項７】
第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するための方法であって、
（ａ）外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、ステップと、
（ｂ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、ステップと、
を有する、ことを特徴とするストレージ管理方法。
【請求項８】
コンピュータによって、第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するためのプログラムであって、
前記コンピュータに、
（ａ）外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、ステップと、
（ｂ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種類の異なる記憶装置を備えた、ストレージシステム、これに用いられるストレージ管理装置及びストレージ管理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータの記憶装置としては、磁気ディスクを用いたハードディスクドライブ（HDD: Hard Disk Drive）が利用されている。HDDは、磁気によって情報が記憶されたディスクを高速で回転させながら、情報を読み出す構造となっているため、その構造上、物理的な動作が必要となる。このため、HDDにおいては、読み出し速度に限界がある。
【０００３】
これに対して、ソリッドステートドライブ（SDD: Solid State Drive）は、記憶領域が半導体デバイスのみで構成され、動作部分を有しないため、高速なデータの読み書きが可能となっている。このため、SSDの利用が広がっているが、SSDはHDDと比較してデータ容量当たりの単価が高いという問題がある。また、SSDであっても読み書きが集中すれば、性能に限界が来て、データの読み書きに対する応答性能は低下する。
【０００４】
このようなHDD及びSDDの問題を解消するため、例えば、特許文献１は、SSDとHDDとを組み合わせて構成したハイブリッドストレージシステムを提案している。特許文献１に開示されたハイブリッドストレージシステムでは、頻繁に読みだされるデータはSSDに保存され、その他のデータはHDDに保存されるので、性能の向上を図りつつ、コストの上昇を抑制することが可能となっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１５−５１５６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されたハイブリッドストレージシステムでは、頻繁に読み出されないデータはHDDに保存されるが、このようなデータであっても、保存された後に、頻繁に読み出されるようになる可能性がある。このような場合、HDDに保存されているデータをSSDに保存し直す必要があり、却って、データ読み書きの性能が低下するおそれがある。
【０００７】
一方、頻繁に読み出されるデータも、頻繁に読み出されないデータも、全てSDDに保存するオールフラッシュストレージも提案されているが、このようなストレージシステムでは、コストが高くなり過ぎてしまう。また、オールフラッシュストレージであっても、その性能には限界があり、非常に多数の要求が発生している場合は、性能が劣化してしまう。性能劣化を防ぐには、大量のデータを保持できるようにする必要があるが、この場合、いっそうコストが上昇してしまう。
【０００８】
本発明の目的の一例は、上記問題を解消し、読み出し頻度の変化による性能低下とコストの上昇とを抑制し得る、ストレージシステム、ストレージ管理装置、ストレージ管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の一側面におけるストレージシステムは、
第１の記憶装置と、
前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置と、
前記第１の記憶装置及び前記第２の記憶装置を管理する、ストレージ管理装置と、
を備え、
前記ストレージ管理装置は、
外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、要求パターン判定部と、
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、データアクセス部と、
を備えている、ことを特徴とする。
【００１０】
上記目的を達成するため、本発明の一側面におけるストレージ管理装置は、
第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するための装置であって、
外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、要求パターン判定部と、
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、データアクセス部と、
を備えている、ことを特徴とする。
【００１１】
上記目的を達成するため、本発明の一側面におけるストレージ管理方法は、
第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するための方法であって、
（ａ）外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、ステップと、
（ｂ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、ステップと、
を有する、ことを特徴とする。
【００１２】
上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータによって、第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するためのプログラムであって、
前記コンピュータに、
（ａ）外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、ステップと、
（ｂ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、ステップと、
を実行させることを特徴とする。
【発明の効果】
【００１３】
以上のように、本発明によれば、読み出し頻度の変化による性能低下とコストの上昇とを抑制することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態におけるストレージシステムの概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態におけるストレージシステムの構成を具体的に示すブロック図である。
【図３】図３は、本発明の実施の形態におけるストレージ管理装置の動作を示すフロー図である。
【図４】図４は、本発明の実施の形態におけるストレージ管理装置を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
（発明の概要）
本発明では、キャッシュとして安価なハードディスクドライブ（以下「HDD」と表記する）を利用する。HDDは、ソリッドステートドライブ（以下「SSD」と表記する）と比較してデータの読み書きに対する応答性能は低いが、データの読み書きのパターンによって、その応答性能は大きく変わる。即ち、連続的に保存されたデータを読み出す（シーケンシャルリード）場合、及び連続的な領域にデータを書き込む（シーケンシャルライト）場合では、HDDの応答性能はSSDと比較しても性能差は小さい。しかしながら、記憶領域に離散して格納されているデータを読み出す（ランダムリード）場合、及び離散した領域にデータを書き込む（ランダムライト）場合は、HDDの応答性能はSSDと比較して大きく低下する。
【００１６】
本発明では、HDDのこのような特性を利用し、SSDに対するデータの読み出し要求が発生した時に、この読み出しがシーケンシャルリードであるか、ランダムリードであるか判別し、シーケンシャルリードであった場合に、HDDからデータを読み出す。また、本発明では、読み出しがシーケンシャルリードである場合に、読み出し要求のデータが保存されているSSDの読み出しの集中度合いから、SSDの応答性能とHDDの応答性能とを予測することもできる。そして、予測の結果、HDDから読み出した方が、応答性能が高いと判断できる場合に、HDDからデータを読み出すようにすることもできる。
【００１７】
このような構成により、本発明では、読み出し頻度の変化による性能低下とコストの上昇とを抑制することができる。また、本発明によれば、SSDを用いた高速なストレージ装置へのアクセス集中により性能が低下することが、安価に抑制される。
【００１８】
（実施の形態）
以下、本発明の実施の形態における、ストレージシステム、ストレージ管理装置、ストレージ管理方法、及びプログラムについて、図１〜図４を参照しながら説明する。
【００１９】
［システム構成］
最初に、本実施の形態におけるストレージシステム及びストレージ管理装置の構成について説明する。図１は、本発明の実施の形態におけるストレージシステムの概略構成を示すブロック図である。
【００２０】
図１に示すように、本実施の形態におけるストレージシステム１０は、第１の記憶装置１６０と、第１の記憶装置１６０よりもランダムリード時の読出速度が遅い第２の記憶装置１７０と、これらを管理するストレージ管理装置１００とを備えている。
【００２１】
また、図１に示すように、本実施の形態におけるストレージ管理装置１００は、要求パターン判定部１１０と、データアクセス部１４０とを備えている。要求パターン判定部１１０は、外部からデータの読み出しが要求された場合に、要求がシーケンシャルリードであるかどうかを判定する。
【００２２】
データアクセス部１４０は、要求パターン判定部１１０の判定の結果、要求がシーケンシャルリードである場合は、第２の記憶装置１７０から、要求されたデータを読み出す。一方、データアクセス部１４０は、要求パターン判定部１１０の判定の結果、要求がシーケンシャルリードでない場合は、第２の記憶装置１７０から、要求されたデータを読み出す。
【００２３】
このように、ストレージシステム１０においては、シーケンシャルリードが要求された場合にのみ、読み出し速度が遅い第２の記憶装置からデータが読み出される。また、第２の記憶装置としては、読み出し速度が遅い記憶装置、例えば、安価なHDDを用いることができる。このため、ストレージシステム１０によれば、読み出し頻度の変化による性能低下とコストの上昇とを抑制することができる。
【００２４】
続いて、図２を用いて、本実施の形態におけるストレージシステム１０及びストレージ管理装置１００の構成についてより具体的に説明する。図２は、本発明の実施の形態におけるストレージシステムの構成を具体的に示すブロック図である。
【００２５】
図２に示すように、本実施の形態では、第１の記憶装置１６０はSSDであり、以下、SSD１６０と表記する。また、第２の記憶装置１７０はHDDであり、以下、HDD１７０と表記する。
【００２６】
SSD１６０は、データの書き込み要求を受けると、要求されたデータを保存し、データの読み出し要求を受けると、要求されたデータを読み出して、これを返却する。また、データの書き込み要求及び読み出し要求は、それぞれアドレス情報を有している。アドレス情報は、SSD１６０の記憶領域上の読み込み又は書き込みが行なわれるアドレスを示す情報である。
【００２７】
HDD１７０も、SSD１６０と同様に、データ書き込み要求を受けると、要求されたデータを保存し、データの読み出し要求を受けると、要求されたデータを読み出して、これを返却する。また、HDD１７０が受けるデータの書き込み要求及び読み出し要求も、それぞれアドレス情報を有している。ここでのアドレス情報は、HDD１７０の記憶領域上の読み込み又は書き込みが行なわれるアドレスを示す情報である。また、HDD１７０は、SSD１６０と比較してシーケンシャルリードに対する応答性能の差は小さいが、ランダムリードに対する応答性能は大きく劣るという特徴を有している。
【００２８】
また、図２に示すように、ストレージ管理装置１００は、上述した要求パターン判定部１１０及びデータアクセス部１４０に加えて、データ要求受付部１２０と、リード性能判定部１３０と、キャッシュ管理テーブル１５０とを備えている。また、ストレージ管理装置１００は、サーバ２００に、ネットワークを介して接続されている。サーバ２００は、処理に応じて、データの読み出し要求及びデータの書き込み要求を発行する。
【００２９】
ストレージ管理装置１００において、データ要求受付部１２０は、サーバ２００からデータの読み出し要求又は書き込み要求が発行されると、これらの要求を受け付ける。
【００３０】
要求パターン判定部１１０は、本実施の形態では、データ要求受付部１２０がサーバ２００からの要求を受け付けると、受け付けられた要求を取得し、取得した要求を分析する。具体的には、要求パターン判定部１１０は、サーバ２００からの要求が、シーケンシャルリード、ランダムリード、シーケンシャルライト、及びランダムライトのいずれであるかを判定する。
【００３１】
リード性能判定部１３０は、要求パターン判定部１１０の判定の結果、要求がシーケンシャルリードである場合に、SSD１６０から、要求されたデータを読み出す際の時間（以下「SSDシーケンシャルリードタイム」と表記する）と、HDD１７０から、要求されたデータを読み出す際の時間（以下「HDDシーケンシャルリードタイム」と表記する）とを予測する。そして、リード性能判定部１３０は、HDDシーケンシャルリードタイムがSSDシーケンシャルリードタイムよりも短いかどうかを判定する。
【００３２】
具体的には、リード性能判定部１３０は、要求がシーケンシャルリードであり、これに対応して、後述するようにデータアクセス部１４０による指示があった場合に次の処理を実行する。まず、リード性能判定部１３０は、データが保存されているSSD１６０の応答性能の予測値を、SSD１６０へのデータの読み書きの要求状況に基づいて算出する。更に、リード性能判定部１３０は、同じデータがキャッシュされているHDD１７０の応答性能の予測値を、HDD１７０へのデータの読み書きの要求状況に基づいて算出する。そして、リード性能判定部１３０は、SSD１６０の応答性能の予測値と、HDD１７０の応答性能の予測値とを比較し、応答性能の高い方がいずれであるかを判定する。
【００３３】
データアクセス部１４０は、本実施の形態では、SSD１６０、HDD１７０に対して、データの読み出し、又は書き込みを指示し、読み出し処理又は書き込み処理を実行させる。また、データアクセス部１４０は、要求パターン判定部１１０の判定の結果、要求がシーケンシャルリードである場合は、キャッシュ管理テーブル１５０を参照して、HDD１７０に、SSD１６０に保存されているデータと同一のキャッシュデータが保存されているかどうかを判定する。
【００３４】
判定の結果、HDD１７０に同一のキャッシュデータが保存されている場合は、データアクセス部１４０は、上述したように、リード性能判定部１３０に、SSD１６０及びHDD１７０の応答性能の予測値を算出させ、応答性能の判定を行なわせる。そして、リード性能判定部１３０が、HDDシーケンシャルリードタイムがSDDシーケンシャルリードタイムよりも短いと判定したことを条件に、データアクセス部１４０は、HDD１７０から、要求されたデータを読み出す。
【００３５】
また、判定の結果、HDD１７０に同一のキャッシュデータが保存されていない場合は、データアクセス部１４０は、要求のあったデータをHDD１７０に書き込ませる。キャッシュ管理テーブル１５０は、HDD１７０に保持されているキャッシュデータのHDD１７０上での位置を特定する、キャッシュ情報を格納している。キャッシュデータは、SSD１６０に保存されているデータと同一のデータである。
【００３６】
［システム動作］
次に、本実施の形態におけるストレージシステム１０及びストレージ管理装置１００の動作について図３を用いて説明する。図３は、本発明の実施の形態におけるストレージ管理装置の動作を示すフロー図である。以下の説明においては、適宜図１及び図２を参酌する。また、本実施の形態では、ストレージ管理装置１００を動作させることによって、ストレージ管理方法が実施される。よって、本実施の形態におけるストレージ管理方法の説明は、以下のストレージ管理装置１００の動作説明に代える。
【００３７】
図３に示すように、最初に、データ要求受付部１２０が、サーバ２００からデータの読み出し要求を受け付ける（ステップＡ１）。
【００３８】
次に、要求パターン判定部１１０は、ステップＡ１で受け付けられた要求を分析し、要求がシーケンシャルリードであるかどうかを判定する（ステップＡ２）。
【００３９】
ステップＡ２の判定の結果、ステップＡ１で受け付けられた要求がシーケンシャルリードでなかった場合は、ステップＡ７が実行される。一方、ステップＡ２の判定の結果、ステップＡ１で受け付けられた要求がシーケンシャルリードである場合は、データアクセス部１４０は、キャッシュ管理テーブル１５０を参照し、読み出しが要求されたデータのキャッシュ情報を取得する（ステップＡ３）。
【００４０】
次に、データアクセス部１４０は、キャッシュ情報に基づいて、読み出しが要求されたデータのキャッシュデータが、HDD１７０に格納されているかどうかを判定する（ステップＡ４）。ステップＡ４の判定の結果、読み出しが要求されたデータのキャッシュデータが、HDD１７０に格納されていない場合は、データアクセス部１４０は、ステップＡ７を実行する。
【００４１】
一方、ステップＡ４の判定の結果、読み出しが要求されたデータのキャッシュデータが、HDD１７０に格納されている場合は、データアクセス部１４０は、リード性能判定部１３０に、応答性能の判定を行なうように指示を行なう。
【００４２】
これにより、リード性能判定部１３０は、読み出しが要求されたデータが保存されているSSD１６０の応答性能の予測値と、同じデータがキャッシュされているHDD１７０の応答性能の予測値とを算出する（ステップＡ５）。
【００４３】
次に、リード性能判定部１３０は、SSD１６０の応答性能の予測値と、HDD１７０の応答性能の予測値とを比較し、SSD１６０の応答性能の方が高いかどうかを判定する（ステップＡ６）。
【００４４】
ステップＡ６の判定の結果、SSD１６０の応答性能の方が高くない場合は、リード性能判定部１３０は、そのことをデータアクセス部１４０に通知する。これにより、データアクセス部１４０は、読み出しが要求されたデータをHDD１７０から読み出し、読み出したデータをサーバ２００に送信し、処理を完了する（ステップＡ８）。
【００４５】
一方、ステップＡ６の判定の結果、SSD１６０の応答性能の方が高い場合も、リード性能判定部１３０は、そのことをデータアクセス部１４０に通知する。但し、この場合は、データアクセス部１４０は、読み出しが要求されたデータをSSD１６０から読み出し、読み出したデータをサーバ２００に送信する（ステップＡ７）。
【００４６】
次に、データアクセス部１４０は、ステップＡ７の実行後、読み出し要求がシーケンシャルリードであるが、キャッシュデータがHDD１７０に格納されていなかったのかどうかを判定する（ステップＡ９）。
【００４７】
ステップＡ９の判定の結果、Ｎｏである場合は、データアクセス部１４０は、処理を完了する。一方、ステップＡ９の判定の結果、Ｙｅｓである場合は、データアクセス部１４０は、ステップＡ７で読み出したデータを、HDD１７０に書き込む（ステップＡ１０）。
【００４８】
次に、データアクセス部１４０は、ステップＡ７においてデータを読み出したSSD１６０の領域と、ステップＡ１０においてデータを書き込んだHDD１７０の領域とを対応付ける。そして、データアクセス部１４０は、この対応付を示す情報を、キャッシュ情報としてキャッシュ管理テーブル１５０に書き込み、処理を終了する（ステップＡ１１)。
【００４９】
［実施の形態による効果］
以上のように、本実施の形態では、安価なHDD１７０を、SSD１６０のデータキャッシュ領域として利用する。このとき、HDD１７０は、SSD１６０と比較して低速であるため、HDDの性能が発揮されるシーケンシャルリードの場合にのみ、HDD１７０はキャッシュとして利用される。また、シーケンシャルリードの要求があった場合でも、SSD１６０にリードが集中し、HDD１７０よりも性能が出ないと判断される場合に、HDD１７０からのデータの読み出しが行なわれるようになっている。このため、本実施の形態によれば、SSDを用いた高速なストレージ装置へのアクセス集中により性能が低下することを安価に防ぐことができる。
【００５０】
［プログラム］
本実施の形態におけるプログラムは、コンピュータに、図３に示すステップＡ１〜Ａ１１を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるストレージ管理装置１００とストレージ管理方法とを実現することができる。この場合、コンピュータのＣＰＵ（Central Processing Unit）は、要求パターン判定部１１０、データ要求受付部１２０、リード性能判定部１３０、及びデータアクセス部１４０として機能し、処理を行なう。
【００５１】
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、要求パターン判定部１１０、データ要求受付部１２０、リード性能判定部１３０、及びデータアクセス部１４０のいずれかとして機能しても良い。
【００５２】
ここで、本実施の形態におけるプログラムを実行することによって、ストレージ管理装置１００を実現するコンピュータについて図４を用いて説明する。図４は、本発明の実施の形態におけるストレージ管理装置を実現するコンピュータの一例を示すブロック図である。
【００５３】
図４に示すように、コンピュータ３１０は、ＣＰＵ３１１と、メインメモリ３１２と、記憶装置３１３と、入力インターフェイス３１４と、表示コントローラ３１５と、データリーダ／ライタ３１６と、通信インターフェイス３１７とを備える。これらの各部は、バス３２１を介して、互いにデータ通信可能に接続される。
【００５４】
ＣＰＵ３１１は、記憶装置３１３に格納された、本実施の形態におけるプログラム（コード）をメインメモリ３１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ３１２は、典型的には、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体３２０に格納された状態で提供される。更に、本実施の形態におけるプログラムは、通信インターフェイス３１７を介して接続されたインターネット上で流通するものであっても良い。
【００５５】
記憶装置３１３の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス３１４は、ＣＰＵ３１１と、キーボード及びマウスといった入力機器３１８との間のデータ伝送を仲介する。表示コントローラ３１５は、ディスプレイ装置３１９と接続され、ディスプレイ装置３１９での表示を制御する。
【００５６】
データリーダ／ライタ３１６は、ＣＰＵ３１１と記録媒体３２０との間のデータ伝送を仲介し、記録媒体３２０からのプログラムの読み出し、及びコンピュータ３１０における処理結果の記録媒体３２０への書き込みを実行する。通信インターフェイス３１７は、ＣＰＵ３１１と、他のコンピュータとの間のデータ伝送を仲介する。
【００５７】
また、記録媒体３２０の具体例としては、ＣＦ（Compact Flash（登録商標））及びＳＤ（Secure Digital）等の汎用的な半導体記憶デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、又はＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの光学記録媒体が挙げられる。
【００５８】
なお、本実施の形態におけるストレージ管理装置１００は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、ストレージ管理装置１００は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【００５９】
上述した実施の形態の一部又は全部は、以下に記載する（付記１）〜（付記２０）によって表現することができるが、以下の記載に限定されるものではない。
【００６０】
（付記１）
第１の記憶装置と、
前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置と、
前記第１の記憶装置及び前記第２の記憶装置を管理する、ストレージ管理装置と、
を備え、
前記ストレージ管理装置は、
外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、要求パターン判定部と、
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、データアクセス部と、
を備えている、ことを特徴とするストレージシステム。
【００６１】
（付記２）
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置から、要求された前記データを読み出す際の第１の時間と、前記第２の記憶装置から、要求された前記データを読み出す際の第２の時間とを予測し、予測された前記第２の時間が前記第１の時間よりも短いかどうかを判定する、リード性能判定部を、更に備え、
前記データアクセス部は、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記リード性能判定部が、前記第２の時間が前記第１の時間よりも短いと判定したことを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
付記１に記載のストレージシステム。
【００６２】
（付記３）
前記リード性能判定部は、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第１の時間と前記第２の時間とを予測し、
前記データアクセス部は、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
付記２に記載のストレージシステム。
【００６３】
（付記４）
前記データアクセス部は、外部から前記データの読み出しが要求され、更に、要求された前記データが前記第１の記憶装置にのみ格納されている場合は、要求された前記データと同一のデータを前記第２の記憶装置に書き込む、
付記３に記載のストレージシステム。
【００６４】
（付記５）
前記第１の装置が、ソリッドステートドライブであり、前記第２の装置が、ハードディスクドライブである、
付記１〜４のいずれかに記載のストレージシステム。
【００６５】
（付記６）
第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するための装置であって、
外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、要求パターン判定部と、
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、データアクセス部と、
を備えている、ことを特徴とするストレージ管理装置。
【００６６】
（付記７）
前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置から、要求された前記データを読み出す際の第１の時間と、前記第２の記憶装置から、要求された前記データを読み出す際の第２の時間とを予測し、予測された前記第２の時間が前記第１の時間よりも短いかどうかを判定する、リード性能判定部を、更に備え、
前記データアクセス部は、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記リード性能判定部が、前記第２の時間が前記第１の時間よりも短いと判定したことを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
付記６に記載のストレージ管理装置。
【００６７】
（付記８）
前記リード性能判定部は、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第１の時間と前記第２の時間とを予測し、
前記データアクセス部は、前記要求パターン判定部の判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
付記７に記載のストレージ管理装置。
【００６８】
（付記９）
前記データアクセス部は、外部から前記データの読み出しが要求され、更に、要求された前記データが前記第１の記憶装置にのみ格納されている場合は、要求された前記データと同一のデータを前記第２の記憶装置に書き込む、
付記８に記載のストレージ管理装置。
【００６９】
（付記１０）
前記第１の装置が、ソリッドステートドライブであり、前記第２の装置が、ハードディスクドライブである、
付記６〜９のいずれかに記載のストレージ管理装置。
【００７０】
（付記１１）
第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するための方法であって、
（ａ）外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、ステップと、
（ｂ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、ステップと、
を有する、ことを特徴とするストレージ管理方法。
【００７１】
（付記１２）
（ｃ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置から、要求された前記データを読み出す際の第１の時間と、前記第２の記憶装置から、要求された前記データを読み出す際の第２の時間とを予測し、予測された前記第２の時間が前記第１の時間よりも短いかどうかを判定する、ステップを、更に有し、
前記（ｂ）のステップにおいて、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記（ｃ）のステップで、前記第２の時間が前記第１の時間よりも短いと判定したことを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
付記１１に記載のストレージ管理方法。
【００７２】
（付記１３）
前記（ｃ）のステップにおいて、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第１の時間と前記第２の時間とを予測し、
前記（ｂ）のステップにおいて、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、更に、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
付記１２に記載のストレージ管理方法。
【００７３】
（付記１４）
（ｄ）外部から前記データの読み出しが要求され、更に、要求された前記データが前記第１の記憶装置にのみ格納されている場合は、要求された前記データと同一のデータを前記第２の記憶装置に書き込む、ステップを更に有する、
付記１３に記載のストレージ管理装置。
【００７４】
（付記１５）
前記第１の装置が、ソリッドステートドライブであり、前記第２の装置が、ハードディスクドライブである、
付記１１〜１４のいずれかに記載のストレージ管理方法。
【００７５】
（付記１６）
コンピュータによって、第１の記憶装置と、前記第１の記憶装置よりもランダムリード時の読出速度が遅い第２の記憶装置とを管理するためのプログラムであって、
前記コンピュータに、
（ａ）外部からデータの読み出しが要求された場合に、前記要求がシーケンシャルリードであるかどうかを判定する、ステップと、
（ｂ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第２の記憶装置から、要求された前記データを読み出し、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードでない場合に、前記第１の記憶装置から、要求された前記データを読み出す、ステップと、
を実行させるプログラム。
【００７６】
（付記１７）
前記コンピュータに、
（ｃ）前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記第１の記憶装置から、要求された前記データを読み出す際の第１の時間と、前記第２の記憶装置から、要求された前記データを読み出す際の第２の時間とを予測し、予測された前記第２の時間が前記第１の時間よりも短いかどうかを判定する、ステップを、更に実行させ、
前記（ｂ）のステップにおいて、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、前記（ｃ）のステップで、前記第２の時間が前記第１の時間よりも短いと判定したことを条件に、前記第２の記憶装置から、要求された前記データを読み出す、
付記１６に記載のプログラム。
【００７７】
（付記１８）
前記（ｃ）のステップにおいて、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第１の時間と前記第２の時間とを予測し、
前記（ｂ）のステップにおいて、前記（ａ）のステップでの判定の結果、前記要求がシーケンシャルリードである場合に、更に、前記第１の記憶装置と前記第２の記憶装置とに、要求された前記データが格納されていることを条件に、前記第１の記憶装置から、要求された前記データを読み出す、
付記１７に記載のプログラム。
【００７８】
（付記１９）
前記コンピュータに、
（ｄ）外部から前記データの読み出しが要求され、更に、要求された前記データが前記第１の記憶装置にのみ格納されている場合は、要求された前記データと同一のデータを前記第２の記憶装置に書き込む、ステップを更に実行させる、
付記１８に記載のプログラム。
【００７９】
（付記２０）
前記第１の装置が、ソリッドステートドライブであり、前記第２の装置が、ハードディスクドライブである、
付記１６〜１９のいずれかに記載のプログラム。
【産業上の利用可能性】
【００８０】
以上のように、本発明によれば、ストレージシステムにおいて、読み出し頻度の変化による性能低下とコストの上昇とを抑制することができる。本発明は、ストレージシステムに有用である。
【符号の説明】
【００８１】
１０  ストレージシステム
１００  ストレージ管理装置
１１０  要求パターン判定部
１２０  データ要求受付部
１３０  リード性能判定部
１４０  データアクセス部
１５０  キャッシュ管理テーブル
１６０  第１の記憶装置（SSD）
１７０  第２の記憶装置（HDD）
２００  サーバ
３１０  コンピュータ
３１１  ＣＰＵ
３１２  メインメモリ
３１３  記憶装置
３１４  入力インターフェイス
３１５  表示コントローラ
３１６  データリーダ／ライタ
３１７  通信インターフェイス
３１８  入力機器
３１９  ディスプレイ装置
３２０  記録媒体
３２１  バス
【図１】
2018173786.tif 000003
【図２】
2018173786.tif 000004
【図３】
2018173786.tif 000005
【図４】
2018173786.tif 000006