(57)【特許請求の範囲】
【請求項１】
ホスト装置から書き込まれたデータを一時的に記憶する一次記憶装置と、
前記一次記憶装置よりも記憶容量の大きい第１の記憶装置と、
前記第１の記憶装置よりも記憶容量が大きく、読込み速度の遅い第２の記憶装置と、
前記一次記憶装置に記憶されたデータの圧縮可能率に応じて、前記第１の記憶装置又は前記第２の記憶装置のいずれに当該データを記録するかを制御する制御部と
を備え、
前記制御部は、前記一次記憶装置に記憶されたデータの前記圧縮可能率が閾値よりも低い場合に当該データを前記第１の記憶装置に記録し、当該閾値よりも高い場合に前記第２の記憶装置に記録する、
ストレージ装置。
【請求項２】
前記制御部は、前記第１の記憶装置に記憶されたデータを前記第２の記憶装置に記録する際に、当該データを圧縮して記録する、
請求項１記載のストレージ装置。
【請求項３】
前記制御部は、前記一次記憶装置に記憶されたデータを圧縮して前記第１の記憶装置に記録する際に、前記圧縮可能率に応じたフラグを付与する、
請求項２記載のストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明に係るいくつかの態様は、ストレージ装置に関する。
【背景技術】
【０００２】
近年、例えば複数のＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等のディスクドライブ等を備える、大容量のデータを記憶するストレージ装置が普及しつつある（例えば特許文献１参照）。特許文献１には、書込要求がなされたデータを所定サイズのブロックに分割したデータブロックを、ディスク装置内のバッファエリアに格納すると共に、バッファエリアに格納したデータを格納エリアに転送する装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−２１０３３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、多くのストレージ装置は、データのリード性能やライト性能を向上させるため、ライト要求の対象データを一時的に保存するキャッシュメモリを備えている。しかしながら、キャッシュメモリは記憶容量に限界があるため、マルチメディアデータ（例えば動画データ等）等の大容量のデータの書込要求を受けた場合には、キャッシュ容量を圧迫してしまう。
【０００５】
本発明のいくつかの態様は前述の課題に鑑みてなされたものであり、状況に応じて、好適な書込処理を行うことのできるストレージ装置を提供することを目的の１つとする。
【課題を解決するための手段】
【０００６】
本発明のストレージ装置は、ホスト装置から書き込まれたデータを一時的に記憶する一次記憶装置と、前記一次記憶装置よりも記憶容量の大きい第１の記憶装置と、前記第１の記憶装置よりも記憶容量が大きく、読込み速度の遅い第２の記憶装置と、前記一次記憶装置に記憶されたデータのエントロピーに応じて、前記第１の記憶装置又は前記第２の記憶装置のいずれかに当該データを記録する制御部とを備える。
【０００７】
尚、本発明において、「部」や「手段」、「装置」とは、単に物理的手段を意味するものではなく、その「部」や「手段」、「装置」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や「手段」、「装置」が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や「手段」、「装置」の機能が１つの物理的手段や装置により実現されても良い。
【発明の効果】
【０００８】
本発明によれば、状況に応じて、好適な書込処理を行うことのできるストレージ装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態におけるディスク装置が使用される記録システムの概略構成を示す機能ブロック図である。
【図２】図１に示したディスク装置の処理の流れを示すフローチャートである。
【図３】図１に示したディスク装置の処理の具体例を説明するための図である。
【発明を実施するための形態】
【００１０】
以下に本発明の実施形態を説明する。以下の説明及び参照する図面の記載において、同一又は類似の構成には、それぞれ同一又は類似の符号が付されている。
【００１１】
（１  実施形態の概要）
一般的にストレージ装置は、例えば複数のディスクドライブを搭載し、様々なデータを保存するために用いられる。ディスクドライブは、近年の記録密度の向上により大容量化お呼び低価格化が進んでおり、近年では、１台のディスクドライブあたり数百ギガバイトから数テラバイトのものが主流となっている。また、ディスクドライブ自体の小型化も進んでいることから、ストレージ装置が省スペース化及び大容量化している。これに伴い、動画データを含むマルチメディアデータ等の大きなサイズのデータをコンピュータ上で扱うことが可能となっている。
【００１２】
このような動画データや音声データ、静止画データ等のマルチメディアデータは、大容量化が進む一方で、圧縮技術も向上している。例えば動画圧縮では、ＭＰＥＧ−４やＨ．２６４等、精細な画質を保ちつつ、高い圧縮率を誇る変換技術（符号化技術）が普及しつつある。そのため、マルチメディアデータをストレージ装置に保存する際には、非圧縮のまま保存するのではなく、ホスト装置側で何らかの圧縮変換処理を加えた上で、ストレージに保存されることが多い。
【００１３】
一方、ストレージ装置には、データのリード性能（読込性能）やライト性能（書込性能）を向上させるため、ライト要求の対象データを一時的に保存するキャッシュメモリが備えられていることが多い。また、キャッシュメモリには、高速アクセスが可能なＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられていることが多い。ここで、キャッシュメモリの記憶容量を大容量化すると、リードライトの性能を向上させることができるが、ＤＲＡＭは高額なため、キャッシュメモリのコストが増大してしまう。そのため、高速だが小容量のＤＲＡＭ等のメモリを一次キャッシュとして使用し、ＤＲＡＭよりも低速だが大容量且つ低価格なメモリやフラッシュＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を二次キャッシュとして使用することが考えられる。このように二次キャッシュを使用する場合のデータ格納の方法としては、例えば、一次キャッシュ上のデータがあふれて二次キャッシュに書込むキャッシュライトが必要となった場合に、あふれた全てのデータを二次キャッシュに格納することが考えられる。
しかしながら、このように実装すると、次のような課題が生じる。
【００１４】
まず１つめの課題は、マルチメディアデータのように数十メガバイトから数ギガバイトといった大容量データのライト要求を受けたときに、そのデータを全て二時キャッシュ上に格納してしまうと、二次キャッシュの容量を圧迫してしまう可能性があることである。この課題は、例えば、ストレージ装置をマルチメディアデータのアーカイブとして使用する場合等に特に顕著となる。この点、例えばＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）であれば、ファイル特性情報を参照することによって二次キャッシュの配置制御を行う技術が実用化されているが、ＳＡＮストレージの場合には、ライト要求はファイル単位ではなく、それよりも小さいブロックデータ単位で行われるため、ファイルヘッダ等の情報に基づく二次キャッシュへの配置制御を行うことは困難である。
【００１５】
２つめの課題は、二次キャッシュにフラッシュＳＳＤを利用する場合には、フラッシュＳＳＤには書込みの寿命制限があるため、キャッシュとして頻繁にデータの書込むことはできない点である。
【００１６】
そこで、本実施形態に係るストレージ装置であるディスク装置１００では、搭載された二次キャッシュのキャッシュ制御を効率的に実施すべく、一次キャッシュとして利用されている一次キャッシュメモリからブロックデータを追出す際に、当該ブロックデータについてエントロピーを計算する。この結果、エントロピーが一定の閾値以上のブロックデータはディスクドライブへ直接書込み、それ以外のブロックデータは二次キャッシュメモリに書込む。一般的に、圧縮済みのマルチメディアデータはエントロピーが高いため、このように実装することにより、マルチメディアデータの二次キャッシュへの書き込みが制限されることとなるので二次キャッシュメモリの容量を圧迫させずにすみ、また、二次キャッシュメモリにフラッシュＳＳＤを利用する場合には、フラッシュＳＳＤの寿命をすり減らさずにすむようになる。つまり、ストレージ装置に搭載された二次キャッシュメモリのキャッシュ制御を好適に行えるようになる。
【００１７】
（２  ディスク装置１００の機能構成）
以下、実施形態に係るストレージ装置であるディスク装置１００の概略構成を、図１を参照しながら説明する。図１は、ディスク装置１００が使用される記録システムの構成を示す機能ブロック図である。
【００１８】
本記録システムは、ディスク装置１００と、ホスト装置２００（ホスト装置２００Ａ乃至２００Ｍを総称して「ホスト装置２００」と呼ぶ。以下、コントローラ１０１、ホストインタフェース１０３、一次キャッシュ部１０５、二次キャッシュ部１０７、ディスクインタフェース１０９、ディスクドライブ１５０等についても同様。）とを含み、ディスク装置１００及びホスト装置２００は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３００を介して接続される。ＳＡＮの例としては、例えばＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）−ＳＡＮや、ｉＳＣＳＩ−ＳＡＮ等が考えられる。
【００１９】
ホスト装置２００は、ディスク装置１００を利用する装置であり、例えば、ファイルサーバやデータベースサーバ等である。尚、本実施形態では、ホスト装置２００Ａ乃至２００Ｍの複数からディスク装置１００へアクセス可能である場合を考えているが、これに限られるものではなく、例えば１台であっても良い。
【００２０】
ディスク装置１００は、ホスト装置２００から出力された書込み要求（ライト要求）や読込み要求（リード要求）に応じて、ディスク装置１００はデータの書込処理及び読込処理を行う。ディスク装置１００は、ホストインタフェース１０３、一次キャッシュ部１０５、二次キャッシュ部１０７、及びディスクインタフェース１０９を含むコントローラ１０１と、１台以上のディスクドライブ１５０とを含む。ディスクインタフェース１０９とディスクドライブ１５０との間は、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）やＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）等で接続される。図１のディスク装置１００の例におけるコントローラ１０１は、片方に障害が発生しても運用が継続できるようにすべく、２つのコントローラ１０１Ａ及び１０１Ｂでクラスタ構成されている。
【００２１】
ホストインタフェース１０３は、ディスク装置１００を利用するホスト装置２００からリード（読込み）及びライト（書込み）の要求を受信するインタフェースである。ホストインタフェース１０３の具体例としては、例えばＦＣやｉＳＣＳＩのホストバスアダプタ（ＨＢＡ）等が考えられる。
【００２２】
一次キャッシュ部１０５は、一次キャッシュ制御部１１１と、一次キャッシュ記憶部１１５とを含む。一次キャッシュ記憶部１１５は、ホスト装置２００からのライト要求に従い、データを一時的に記憶したり、リード要求に従って読み出されたデータを一時的に記憶したりする。一次キャッシュ記憶部１１５は、例えばＤＲＡＭ等の、読込み書込み両面で高速アクセスが可能なメモリである。
【００２３】
一次キャッシュ制御部１１１は、一次キャッシュ記憶部１１５上のブロックデータに対して、ホスト装置２００や二次キャッシュ部１０７、ディスクドライブ１５０へ書込みや読出しを制御するモジュールである。ここで、一次キャッシュ制御部１１１はエントロピー計算部１１３を備えている。エントロピー計算部１１３は、一次キャッシュ記憶部１１５に格納されたブロックデータのエントロピーを計算することができ、この計算結果に応じて一次キャッシュ制御部１１１は、一次キャッシュ記憶部１１５から追出されたブロックデータの書込み先を二次キャッシュ記憶部１１９とするかディスクドライブ１５０とするかを決定する。
【００２４】
ここで、エントロピーとは、一般的に無秩序さ、曖昧さ、不確実さを表す尺度であるが、情報科学の分野では、情報の冗長性の大きさを示す尺度と説明することができる。冗長性が大きいデータほどエントロピーは低くなり、冗長性が低い、即ち情報が乱雑で圧縮が困難なデータであるほど、エントロピーは高くなる。上述の通り、動画データ等のマルチメディアデータは、一般にホスト装置２００側で圧縮されてからディスク装置１００に書込まれることが多いが、最近のマルチメディアデータの圧縮処理（エンコード）に用いられるコーデック（エンコーダを含む）は非常に圧縮性能が高いため、圧縮後のデータに更に他の圧縮アルゴリズムを適用したとしても、その圧縮性能は限られている。つまり、圧縮後（符号化後）のマルチメディアデータは、一般に圧縮可能率（更に圧縮できる圧縮率）が低く、エントロピーが高い。よって、エントロピーの高低は、圧縮可能率の低高と近似させることが可能であり、また、エントロピーの高低は、（圧縮後の）マルチメディアデータであるか否かの判別に用いることが可能な尺度と捉えることができる。以下、エントロピー計算部１１３は、対象ブロックデータの圧縮可能率をエントロピーを示す尺度として算出するものとして説明する。
尚、圧縮可能率は、例えば１００−｛（圧縮後のブロックデータのサイズ）÷（圧縮前のブロックデータのサイズ）×１００｝により求めることができる。
【００２５】
二次キャッシュ部１０７は、二次キャッシュ制御部１１７と二次キャッシュ記憶部１１９とを含み、一次キャッシュ部１０５とディスクドライブ１５０との中間に配置されている。よって、二次キャッシュ部１０７上に使用頻度の高いデータを蓄積しておくことにより、二次キャッシュ部１０７よりも低速なディスクドライブ１５０へのアクセスを減らし、全体的な書込み／読込みの性能を上げることが可能となる。二次キャッシュ記憶部１１９には、一次キャッシュ記憶部１１５と同様にＤＲＡＭを用いることができる他、フラッシュＳＳＤを用いることもできる。ここで、二次キャッシュ記憶部１１９は、一次キャッシュ記憶部１１５よりも大容量である。
【００２６】
二次キャッシュ制御部１１７は、二次キャッシュ記憶部１１９上のブロックデータについて、一次キャッシュ部１０５やディスクドライブ１５０への書込みや読出しを制御するモジュールである。
【００２７】
ディスクインタフェース１０９は、コントローラ１０１からディスクドライブ１５０への書込み及び読込み処理を行うためのインタフェースである。また、ディスクドライブ１５０は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置である。図１のディスク装置１００の例では、ディスクドライブ１５０として、ディスクドライブ１５０Ａ乃至１５０Ｎの複数台が用意されており、これらが、例えばＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）等のディスクアレイを構成していても良い。また、ディスクドライブ１５０は１台であっても良い。尚、ディスクドライブ１５０は、二次キャッシュ記憶部１１９よりもアクセス速度が劣るが、容量が大きい。
【００２８】
（３  処理の流れ）
以下、図２を参照しながら、ディスク装置１００の処理の流れを説明する。図２は、ディスク装置１００の処理の流れを示すフローチャートである。図２の処理は、一次キャッシュ部１０５の一次キャッシュ記憶部１１５上の全てのキャッシュページが使用されている状態（空きのキャッシュページが存在しない場合）において、ホスト装置２００から一次キャッシュ記憶部１１５上に存在しないブロックデータに対するアクセス要求があった場合の処理の流れである。
【００２９】
尚、後述の各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して若しくは並列に実行することができ、また、各処理ステップ間に他のステップを追加しても良い。更に、便宜上１つのステップとして記載されているステップは複数のステップに分けて実行することもでき、便宜上複数に分けて記載されているステップを１ステップとして実行することもできる。
【００３０】
まず、一次キャッシュ部１０５の一次キャッシュ制御部１１１は、一次キャッシュ記憶部１１５上のいずれかのキャッシュページに格納されているブロックデータを１つ選択して（Ｓ２０１）、一次キャッシュ記憶部１１５上から追出して一次キャッシュ記憶部１１５に空きのキャッシュページを作成する処理を開始する。ここで、追出すブロックデータを格納しているキャッシュページは、例えば、一次キャッシュ制御部１１１内で管理されている管理情報リストに記録されているキャッシュページのアクセス順に基づき、最も遠い過去にアクセスされたブロックデータを格納しているキャッシュページのページ番号を求め、これを対象キャッシュページのページ番号とすることにより選定できる。すなわち、一次キャッシュ部１０５は、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔ  Ｕｓｅｄ）方式に基づいて、破棄する（追出す）対象のキャッシュページを選定する。しかしながら、これ以外のキャッシュページの選定方式を用いてもよく、例えば、参照された頻度が最も低いブロックデータを格納しているキャッシュページを破棄する（追出す）対象とするＬＦＵ（Ｌｅａｓｔ  Ｆｒｅｑｕｅｎｔｌｙ  Ｕｓｅｄ）方式を用いても良い。
【００３１】
追出し対象（破棄対象）のブロックデータの選定後、一次キャッシュ制御部１１１は、エントロピー計算部１１３を使用して、当該破棄対象のブロックデータのエントロピー（圧縮可能率）を計算する（Ｓ２０３）。そして、一次キャッシュ制御部１１１は、当該エントロピーが十分に高いか否か（圧縮可能率が閾値以下であるか否か）を判別する（Ｓ２０５）。
【００３２】
ここで、上述の通り、エントロピーは、圧縮可能率を尺度とすることができる。圧縮済み（符号化済み）のマルチメディアデータは圧縮可能率が低いため、エントロピーが高い。一方、テキストデータ等の非圧縮のデータは圧縮可能率が高いため、エントロピーが低いと考えられる。つまり、Ｓ２０３及びＳ２０５において、一次キャッシュ制御部１１１は、対象ブロックデータの圧縮可能率を求め（Ｓ２０３）、その圧縮可能率が閾値を下回っているか否かに応じて、エントロピーが高いか（Ｓ２０５のＹｅｓ）低いか（Ｓ２０５のＮｏ）を判別することができる。
【００３３】
エントロピーが高い場合には（Ｓ２０５のＹｅｓ）、当該ブロックデータはマルチメディアデータの一部であると考えられ、大容量である可能性が高い。よって、一次キャッシュ部１０５は、ディスクインタフェース１０９を用いてディスクドライブ１５０へライト要求を出力した上で対象ブロックデータを送信し（Ｓ２０７）、ライト完了の応答をディスクドライブ１５０から受信するまで待つ（Ｓ２０９）。
【００３４】
一方、対象ブロックデータのエントロピーが低い場合には（Ｓ２０５のＮｏ）、当該ブロックデータはマルチメディアデータ以外のデータであると考えられる。よって、一次キャッシュ部１０５は、二次キャッシュ部１０７の二次キャッシュ制御部１１７にライト要求を送信してブロックデータを送信した後（Ｓ２１１）、ライト完了の応答を二次キャッシュ部１０７から受信するのを待つ（Ｓ２１３）。
【００３５】
（４  処理の具体例）
以下、図３を参照しながら、ディスク装置１００の処理の具体例を説明する。尚、図３の例では、コントローラ１０１Ａでの処理を図示しているが、当該処理はコントローラ１０１Ｂであっても同様であるため、以下コントローラ１０１Ａや一次キャッシュ部１０５Ａ等の各構成を、それぞれ「コントローラ１０１」「一次キャッシュ部１０５」として説明する。
【００３６】
ここで、一次キャッシュ記憶部１１５に４キロバイトのブロックデータＡ乃至Ｃがあり、これにより、一次キャッシュ記憶部１１５上の全てのキャッシュページが利用されているものとする。このとき、ホスト装置２００からライト要求が送信されると、ディスク装置１００の一次キャッシュ制御部１１１は、追出すブロックデータを選定する（図３中（１）。図２のＳ２０１に対応。）。ここでは、ブロックデータＣが対象として選ばれたものとし、更にこのデータは、テキストデータ（非圧縮のデータ）の一部であるものとする。
【００３７】
次にエントロピー計算部１１３は、選定されたブロックデータＣに対してエントロピーを計算する（図３中（２）。図２のＳ２０３に対応。）。ここでは、エントロピーの計算に、例えばＬＺＳＳの圧縮アルゴリズムを用いるものとし、また、圧縮可能率の閾値を３％とする。ここで、圧縮可能率の閾値を３％とした理由は、ブロックデータ内に数百バイト程度のヘッダ情報が含まれていると、たとえマルチメディアデータであっても、その部分は圧縮可能であるのが通常だからである。
【００３８】
テキストデータの場合には圧縮可能率が高くなることが多いので、ここでは、ブロックデータＣを３０％圧縮できるものとする。この場合、圧縮可能率３０％であり、閾値３％を大幅に上回っているので、一次キャッシュ制御部１１１Ａはエントロピーが低いと判断して（図２のＳ２０５のＮｏ）、二次キャッシュ部１０７の二次キャッシュ制御部１１７に、二次キャッシュ記憶部１１９へのブロックデータのライト要求を送信する（図３中（３）。図２のＳ２１１に対応。）。
【００３９】
二次キャッシュ部１０７でのブロックデータの書込が完了すると、二次キャッシュ制御部１１７は一次キャッシュ制御部１１１に対してライト完了を送信する（図３中（４））。一次キャッシュ制御部１１１がライト完了を受信すると（図２のＳ２１３のＹｅｓに対応。）、処理は終了する。
【００４０】
（５  本実施形態に係る効果）
以上説明したように、本実施形態によれば、巨大なサイズとなることの多い動画データや音声データ等のマルチメディアデータが二次キャッシュ部１０７に記録されることを回避することができる。これにより、二次キャッシュ記憶部１１９の使用容量が急激に圧迫されることがなくなるので、二次キャッシュ部１０７におけるデータストア／リストアの回数を減らすことができるようになる。
【００４１】
ここで、一般的には、フラッシュＳＳＤ等の二次キャッシュ部１０７よりもＨＤＤ等のディスクドライブ１５０の方がデータアクセス速度は遅いが、動画データや音声データ等のマルチメディアデータはシーケンシャルアクセスされるのが通常である。ここで、シーケンシャルリードを行う場合には、フラッシュＳＳＤ等の二次キャッシュ部１０７とＨＤＤ等のディスクドライブ１５０とで大きな性能の差は生じない。そのため、たとえ一次キャッシュ制御部１１１がマルチメディアデータを（二次キャッシュ部１０７に配置せずに）直接ディスクドライブ１５０に配置したとしても、大きな性能劣化が発生することはない。また、もし一度ディスクドライブ１５０に配置したマルチメディアデータが頻繁にリードされる場合には、当該マルチメディアデータを二次キャッシュ部１０７に配置し直すようにしても良い。
【００４２】
また、二次キャッシュ部１０７にフラッシュＳＳＤを利用する場合には、二次キャッシュ部１０７へのキャッシュライトの回数を抑えることができるので、当該フラッシュＳＳＤの寿命を延ばすことが可能となる。
【００４３】
（６  他の実施形態）
上記実施形態では、エントロピー計算部１１３によるエントロピーの算出に、圧縮可能率を用いていた。そこで、当該情報を用いて、ディスクドライブ１５０の利用効率を更に向上させることも考えられる。以下、その方式について説明する。
【００４４】
エントロピー計算部１１３によるエントロピーの算出（図２のＳ２０３）に際して、所定の圧縮アルゴリズムを用いた圧縮可能率が高かった場合に（エントロピーが低い）は、二次キャッシュ部１０７にブロックデータを書込む際に、二次キャッシュ制御部１１７が管理する管理情報リストに、書込んだデータのキャッシュページのページ番号のブロックデータの圧縮可能率が高いことを示すフラグを付与する。
【００４５】
そして、当該二次キャッシュ部１０７上のブロックデータが追出しの対象となってディスクドライブ１５０へ書出すこととなった場合であって、当該ブロックデータに対して圧縮可能率が高いことを示すフラグが付与されている場合には、対象ブロックデータを圧縮した上で、ディスクドライブ１５０へ当該データを書込む。このとき、ディスクドライブ１５０の管理テーブルには、圧縮したことを表すフラグを付与する。
【００４６】
ディスクドライブ１５０上のデータを一次キャッシュ部１０５又は二次キャッシュ部１０７上に読み出す際には、一次キャッシュ制御部１１１又は二次キャッシュ制御部１１７はディスクドライブ１５０の管理テーブルを参照し、圧縮したことを示すフラグが付与されている場合には、当該データを解凍した上で一次キャッシュ記憶部１１５又は二次キャッシュ記憶部１１９上に書込む。
このように実装することで、ディスクドライブ１５０に書込まれるデータの記憶容量が小さくなり、利用効率を上げることが可能となる。
【００４７】
（７  付記事項）
尚、前述の各実施形態の構成は、組み合わせたり或いは一部の構成部分を入れ替えたりしてもよい。また、本発明の構成は前述の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
尚、前述の各実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４８】
（付記１）
ホスト装置から書き込まれたデータを一時的に記憶する一次記憶装置と、前記一次記憶装置よりも記憶容量の大きい第１の記憶装置と、前記第１の記憶装置よりも記憶容量が大きく、読込み速度の遅い第２の記憶装置と、前記一次記憶装置に記憶されたデータのエントロピーに応じて、前記第１の記憶装置又は前記第２の記憶装置のいずれかに当該データを記録する制御部とを備える、ストレージ装置。
【００４９】
（付記２）
前記制御部は、前記一次記憶装置に記憶されたデータのエントロピーが閾値よりも低い場合に当該データを前記第１の記憶装置に記録し、当該閾値よりも高い場合に前記第２の記憶装置に記録する、付記１記載のストレージ装置。
【００５０】
（付記３）
前記制御部は、前記エントロピーをデータの圧縮可能率として算出する、付記１又は付記２記載のストレージ装置。
【００５１】
（付記４）
前記制御部は、前記第１の記憶装置に記憶されたデータを前記第２の記憶装置に記録する際に、当該データを圧縮して記録する、付記１乃至付記３のいずれか１項記載のストレージ装置。
【００５２】
（付記５）
前記制御部は、前記一次記憶装置に記憶されたデータを圧縮して前記第１の記憶装置に記録する際に、圧縮可能率に応じたフラグを付与する、付記４記載のストレージ装置。
【符号の説明】
【００５３】
１００・・・ディスク装置、１０１・・・コントローラ、１０３・・・ホストインタフェース、１０５・・・一次キャッシュ部、１０７・・・二次キャッシュ部、１０９・・・ディスクインタフェース、１１１・・・一次キャッシュ制御部、１１３・・・エントロピー計算部、１１５・・・一次キャッシュ記憶部、１１７・・・二次キャッシュ制御部、１１９・・・二次キャッシュ記憶部、１５０・・・ディスクドライブ、２００・・・ホスト装置
【図１】
0005924482.tif 000002
【図２】
0005924482.tif 000003
【図３】
0005924482.tif 000004