(57)【要約】【課題】データの圧縮にかかる圧縮処理時間を調整することで、記憶システムの性能を低下させない記憶システム、記憶制御装置及びデータ圧縮方法を提供しようとするものである。【解決手段】記憶制御装置は、以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理部と、予め目標値として設定されるシステム性能目標値とシステム性能値との比較に基づいて、ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又はファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定部と、モード設定部で設定した圧縮モードに基づいてファイルデータを圧縮する圧縮制御部と、を備えることとした。【選択図】図１
2008299718.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置から送られる圧縮対象のファイルデータを記憶する１又は複数の記憶制御装置を有する記憶システムにおいて、
前記１又は複数の記憶制御装置は、
以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理部と、
予め目標値として設定されるシステム性能目標値と前記システム性能値との比較に基づいて、前記ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又は前記ファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定部と、
前記モード設定部で設定した前記圧縮モードに基づいて前記ファイルデータを圧縮する圧縮制御部と、を備える
ことを特徴とする記憶システム。
【請求項２】
前記圧縮制御部は、
前記ファイルデータを符号化した入力データ列と、以前に符号化した入力データ列である前記辞書データ列との一致箇所を検出する一致検出部と、
前記圧縮モードと前記一致箇所との比較に基づいて前記ファイルデータの圧縮を打ち切る制御を行う打ち切り制御部と、を備える
ことを特徴とする請求項１記載の記憶システム。
【請求項３】
前記１又は複数の記憶制御装置は、
前記圧縮制御部で圧縮したファイルデータの統計情報に基づいて、次のファイルデータの圧縮モードを決定する次ファイル圧縮モード決定部と、を備える
ことを特徴とする請求項２記載の記憶システム。
【請求項４】
次ファイル圧縮モード決定部は、
以前のファイルデータの圧縮率によって作成された基準線と、現時点までのファイルデータの圧縮率の平均値と、の交点を、次のファイルデータの圧縮モードとして決定する
ことを特徴とする請求項３記載の記憶システム。
【請求項５】
前記１又は複数の記憶制御装置は、
前記圧縮制御部で圧縮したファイルデータの一部の統計情報に基づいて、次のファイルデータの一部のデータの圧縮モードを決定する次データ圧縮モード決定部と、を備える
ことを特徴とする請求項２記載の記憶システム。
【請求項６】
前記圧縮制御部は、
前記ファイルデータを入力データ列として符号化する符号化部と、
以前に符号化した入力データ列を辞書データ列とする辞書部と、をさらに備える
ことを特徴とする請求項２記載の記憶システム。
【請求項７】
ホスト装置から送られる圧縮対象のファイルデータを記憶する１又は複数の記憶制御装置において、
以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理部と、
予め目標値として設定されるシステム性能目標値と前記システム性能値との比較に基づいて、前記ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又は前記ファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定部と、
前記ファイルデータを符号化した入力データ列と、以前に符号化した入力データ列である前記辞書データ列との一致箇所を検出する一致検出部と、
前記圧縮モードと前記一致箇所との比較に基づいて前記ファイルデータの圧縮を打ち切る制御を行う打ち切り制御部と、を備える
ことを特徴とする記憶制御装置。
【請求項８】
前記圧縮制御部で前記一致箇所と前記最大一致箇所との比較に基づいて次のファイルデータの圧縮モードを決定する次ファイル圧縮モード決定部と、を備える
ことを特徴とする請求項７記載の記憶制御装置。
【請求項９】
次ファイル圧縮モード決定部は、
以前のファイルデータの圧縮率によって作成された基準線と、現時点までのファイルデータの圧縮率の平均値と、の交点を、次のファイルデータの圧縮モードとして決定する
ことを特徴とする請求項８記載の記憶制御装置。
【請求項１０】
ホスト装置から送られる圧縮対象のファイルデータを記憶する１又は複数の記憶制御装置を有する記憶システムのデータ圧縮方法において、
前記１又は複数の記憶制御装置では、
以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理ステップと、
予め目標値として設定されるシステム性能目標値と前記システム性能値との比較に基づいて、前記ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又は前記ファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定ステップと、
前記モード設定ステップで設定した前記圧縮モードに基づいて前記ファイルデータを圧縮する圧縮制御ステップと、を備える
ことを特徴とするデータ圧縮方法。
【請求項１１】
前記１又は複数の記憶制御装置では、
前記ファイルデータを符号化した入力データ列と、以前に符号化した入力データ列である前記辞書データ列との一致箇所を検出する一致検出ステップと、
前記圧縮モードと前記一致箇所との比較に基づいて前記ファイルデータの圧縮を打ち切る制御を行う打ち切り制御ステップと、を備える
ことを特徴とする請求項１０記載のデータ圧縮方法。
【請求項１２】
前記１又は複数の記憶制御装置では、
前記圧縮制御ステップで圧縮したファイルデータの統計情報に基づいて、次のファイルデータの圧縮モードを決定する次ファイル圧縮モード決定ステップと、を備える
ことを特徴とする請求項１１記載のデータ圧縮方法。
【請求項１３】
次ファイル圧縮モード決定ステップでは、
以前のファイルデータの圧縮率によって作成された基準線と、現時点までのファイルデータの圧縮率の平均値と、の交点を、次のファイルデータの圧縮モードとして決定する
ことを特徴とする請求項１２記載のデータ圧縮方法。
【請求項１４】
前記１又は複数の記憶制御装置では、
前記圧縮制御ステップで圧縮したファイルデータの一ステップの統計情報に基づいて、次の前記ファイルデータの一ステップのデータの圧縮モードを決定する次データ圧縮モード決定ステップと、を備える
ことを特徴とする請求項１１記載のデータ圧縮方法。
【請求項１５】
前記１又は複数の記憶制御装置では、
前記ファイルデータを入力データ列として符号化する符号化ステップと、
以前に符号化した入力データ列を辞書データ列とする辞書ステップと、をさらに備える
ことを特徴とする請求項１１記載のデータ圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶システム、記憶制御装置及びデータ圧縮方法に関し、特に大規模なデータをストレージ装置に圧縮して保存するための技術に関する。
【背景技術】
【０００２】
近年、大規模なデータを取り扱う記憶システムにおいて、ホスト装置からの大容量のデータを格納するために、ホスト装置からのデータの入出力を制御するストレージ装置（記憶制御装置）が用いられている。
【０００３】
ストレージ装置は、アレイ状に配列された多数のディスクドライブをＲＡＩＤ（Redundant Array of Independent Inexpensive Disks）管理する。多数のディスクドライブが提供する物理的な記憶領域上には少なくとも１つ以上の論理的なボリューム（以下、論理ボリュームという）が形成され、この論理ボリュームがホスト装置に提供される。
【０００４】
この種の記憶システムにおいては、大規模なデータを取り扱うことから、データの実質的な性質を保ったままデータ量を減らして別のデータに変換するデータ圧縮方式が広く使われている。
【０００５】
データ圧縮方式の一つに、ＬＺ７７方式と呼ばれる辞書型のデータ圧縮方式がある。ＬＺ７７方式を使用したデータ圧縮方式は、以前に符号化した入力データ列を辞書として利用し、以前に符号化した入力データ列と入力データ列の中の連続した部分との最長一致箇所を検索し、その一致箇所を符号化する方式である。
【０００６】
ＬＺ７７方式は、すでに符号化を終えた入力データ列を格納するための履歴アレイをもつ。履歴アレイ内に一定長の先読み領域と呼ばれる領域を用意しておき、この領域にこれから圧縮を行うデータが格納される。先読み領域では処理が進むにつれて円環的に移動することで更新を容易にする。
【０００７】
ＬＡ７７方式を使用する問題点の１つに符号化処理速度の劣化が挙げられることから、特許文献１には、履歴アレイ内の文字列の検索結果を検索手段に登録する際に、この登録を制御することで、この問題点を解消する技術が開示されている。
【特許文献１】特開平９−４６２３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ここでデータを圧縮することに加えデータを暗号化する場合には、データを圧縮後に暗号化するのが通常であることから、データの圧縮はストレージ装置内で実施しなければならない。
【０００９】
しかし大規模なデータの圧縮を実施するとストレージ装置にかかる圧縮処理時間が長くなるので、ある一定の圧縮処理時間を越えてしまうと圧縮したデータを格納する処理やスループットに影響を及ぼし、却って記憶システムの性能が低下するという問題が生じる。
【００１０】
本発明は以上の点を考慮してなされたもので、データの圧縮にかかる圧縮処理時間を調整することで、記憶システムの性能を低下させない記憶システム、記憶制御装置及びデータ圧縮方法を提案しようとするものである。
【課題を解決するための手段】
【００１１】
かかる課題を解決するため本発明は、ホスト装置から送られる圧縮対象のファイルデータを記憶する１又は複数の記憶制御装置を有する記憶システムにおいて、１又は複数の記憶制御装置は、以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理部と、予め目標値として設定されるシステム性能目標値とシステム性能値との比較に基づいて、ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又はファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定部と、モード設定部で設定した圧縮モードに基づいてファイルデータを圧縮する圧縮制御部と、を備えることを特徴とする。
【００１２】
この結果、データを圧縮する際にストレージ装置内で圧縮モードの調整をすることで圧縮処理時間を調整することができる。
【００１３】
また本発明は、ホスト装置から送られる圧縮対象のファイルデータを記憶する１又は複数の記憶制御装置において、以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理部と、予め目標値として設定されるシステム性能目標値とシステム性能値との比較に基づいて、ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又はファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定部と、ファイルデータを符号化した入力データ列と、以前に符号化した入力データ列である辞書データ列との一致箇所を検出する一致検出部と、圧縮モードと一致箇所との比較に基づいてファイルデータの圧縮を打ち切る制御を行う打ち切り制御部と、を備えることを特徴とする。
【００１４】
この結果、打ち切り制御部がデータの圧縮を打ち切るための制御を行うので、データを圧縮する際にストレージ装置内で圧縮モードの調整をし、圧縮処理時間を調整することができる。
【００１５】
さらに本発明は、ホスト装置から送られる圧縮対象のファイルデータを記憶する１又は複数の記憶制御装置を有する記憶システムのデータ圧縮方法において、１又は複数の記憶制御装置では、以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理ステップと、予め目標値として設定されるシステム性能目標値とシステム性能値との比較に基づいて、ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又はファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定ステップと、モード設定ステップで設定した圧縮モードに基づいてファイルデータを圧縮する圧縮制御ステップと、を備えることを特徴とする。
【００１６】
この結果、データを圧縮する際にストレージ装置内で圧縮モードの調整をすることで圧縮処理時間を調整することができる。
【発明の効果】
【００１７】
本発明によれば、データを圧縮する際にストレージ装置内で圧縮モードの調整をすることで圧縮処理時間を調整できるので、記憶システムに関する性能の低下を回避することができる。
【発明を実施するための最良の形態】
【００１８】
（１）第１の実施の形態
（１−１）記憶システム
まず、本実施の形態による記憶システムについて以下に説明する。
【００１９】
図１において、１Ａは全体として本実施の形態による記憶システムを示す。
【００２０】
この記憶システム１Ａは、複数のホスト装置２がＳＡＮ（Storage Area Network）３を介して複数のストレージ装置４Ａ、４Ｂと接続され、複数のストレージ装置４がＬＡＮ（Local Area Network）５を介して管理端末６と接続される構成である。
【００２１】
以下の説明では、特に区別する場合を除いてストレージ装置４と記載する。
【００２２】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。またホスト装置２は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００２３】
ストレージ装置４Ａは、記憶制御装置であって、主にコントローラ７Ａと、記憶装置８とを備える。
【００２４】
コントローラ７Ａは、フロントエンドインターフェース７０、ＣＰＵ７１、ローカルメモリ７２、データ転送コントローラ７３、キャッシュメモリ７４、圧縮制御部７５、暗号・復号制御部７６、バックエンドインターフェース７７及びＬＡＮインターフェース７８、を備える。
【００２５】
コントローラ７Ａは、複数のハードディスクドライブ８０をいわゆるＲＡＩＤ方式に規定されるＲＡＩＤレベル（例えば、０，１，５）で制御することができる。ＲＡＩＤ方式においては、複数のハードディスクドライブ８０が１つのＲＡＩＤグループとして管理される。ＲＡＩＤグループ上には、ホスト装置２からのアクセス単位である複数の論理ボリュームＶＯＬが定義されている。それぞれの論理ボリュームＶＯＬには、ＬＵＮ（Logical Unit Number）が割当てられている。
【００２６】
フロントエンドインターフェース７０は、ホスト装置２とのインターフェースを制御するコントローラであり、例えば、ファイバチャネルプロトコルに基づくホスト装置２からのブロックアクセス要求を受信する機能を有する。
【００２７】
ＣＰＵ７１は、ホスト装置２からのデータの入出力要求に応答して、複数のハードディスクドライブ８０及び半導体メモリ８１へのライトアクセス又はリードアクセスを制御するプロセッサである。またＣＰＵ７１は、管理端末６から送信される各種コマンドに応じた処理やローカルメモリ７２に格納されるプログラム処理を実行するプロセッサである。
【００２８】
ローカルメモリ７２には、各種データやプログラムが格納されている。詳細については、後述する。
【００２９】
データ転送コントローラ７３は、キャッシュメモリ７４、フロントエンドインターフェース７０、バックエンドインターフェース７７、圧縮制御部７５、暗号・復号制御部７６、及びＣＰＵ７１を接続し、ホスト装置２とハードディスクドライブ８０との間のデータ転送を制御する。
【００３０】
キャッシュメモリ７４は、ハードディスクドライブ８０又は半導体メモリ８１に書き込むためのライトデータ又はハードディスクドライブから読み出したリードデータを一時的に格納するバッファメモリである。キャッシュメモリ７４は、電源バックアップされており、ストレージ装置４Ａに電源障害が発生した場合でも、キャッシュデータの消失を防ぐ不揮発性メモリとして構成されている。
【００３１】
圧縮制御部７５は、キャッシュメモリ７４で一時的に格納されたデータを読み込んでデータを圧縮する制御部である。圧縮制御部７５については、後述する。
【００３２】
暗号・復号制御部７６は、ハードディスクドライブ８０又は半導体メモリ８１から圧縮されたデータを読み出した後、暗号化する制御部である。また、暗号・復号制御部７６は、暗号化されたデータが他のストレージ装置４からの暗号化されたデータを、一時的にキャッシュメモリ７４に格納した後、キャッシュメモリ７４から暗号化データを読み込んで復号化する制御部である。
【００３３】
バックエンドインターフェース７７は、ハードディスクドライブ８０又は半導体メモリ８１とのインターフェースを制御するコントローラであり、例えば、ハードディスクドライブ８０を制御するプロトコルに基づくハードディスクドライブ８０へのデータ入出力要求を制御する機能を有する。
【００３４】
ＬＡＮインターフェース７８は、ＬＡＮに接続するインターフェースであり、ＴＣＰ／ＩＰに基づいて管理端末６との間でデータ及び制御信号の送受信を制御する。
【００３５】
記憶装置８は、複数のハードディスクドライブ８０及び半導体メモリ８１を備える。
【００３６】
ハードディスクドライブ８０は、ＦＣ（Fibre Channel）ディスクドライブ、ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクドライブ、ＰＡＴＡ（Parallel Advanced Technology Attachment）ディスクドライブ、ＦＡＴＡ（Fibre Advanced Technology Attachment）ディスクドライブ、ＳＡＳ（Serial Advanced SCSI）ディスクドライブ或いはＳＣＳＩ（Small Computer System Interface）ディスクドライブ等のストレージデバイスである。
【００３７】
半導体メモリ８１は、半導体素子によって構成されたメモリであり、不揮発性メモリ、揮発性メモリ等のメモリである。
【００３８】
他のストレージ装置４Ｂは、リモートコピー用のストレージ装置である。他のストレージ装置４Ｂは、ストレージ装置４Ａの構成と同様なので詳細な説明は省略する。他のストレージ装置４Ｂは、ストレージ装置４Ａで圧縮し暗号化したデータを受信すると、当該データを暗号・復号制御部７６を介して復号化し、複合化した圧縮データを記憶装置８に記憶させる。
【００３９】
ホスト装置２からのライトアクセスが要求されると、データ転送コントローラ７３は、まずフロントエンドインターフェース７０を介してホスト装置２から受け取ったデータをキャッシュメモリ７４に書き込む。その後、データ転送コントローラ７３は、そのライトデータを圧縮制御部７５で圧縮して圧縮データとした後、ハードディスクドライブ８０又は半導体メモリ８１へ非同期書き込みすることを目的として、圧縮データをバックエンドインターフェース７７へ転送する。
【００４０】
またホスト装置２からのリードアクセスが要求されると、バックエンドインターフェース７７を介して、ハードディスクドライブ８０又は半導体メモリ８１から読み取った圧縮データをキャッシュメモリ７４に書き込むとともに、暗号・復号制御部７６を介して暗号化し、暗号化した圧縮データをフロントエンドインターフェース７０に転送する。フロントエンドインターフェース７０は、暗号化した圧縮データを他のストレージ装置４Ｂに転送する。
【００４１】
管理端末６は、例えば、ＣＰＵ、メモリ及びディスプレイ等のハードウェア資源を備えるコンピュータシステムである。ユーザは、管理端末６を入力操作することにより、ストレージ装置４を管理するためのコマンドをストレージ装置４に送信する。ストレージ装置４を管理するためのコマンドとしては、例えば、ハードディスクドライブ８０の増設或いは減設、又はＲＡＩＤ構成の変更を指示するためのコマンド、ＣＰＵのマイクロプログラムをメモリにインストールするためのコマンド、ストレージ装置４の動作状態の確認や故障部位を特定するためのコマンド等がある。
【００４２】
（１−２）ローカルメモリの構成
次にローカルメモリ７２に格納される構成について説明する。
【００４３】
図２に示すように、ローカルメモリ７３は、過去のファイル内にあるデータを圧縮した情報を統計情報として管理する統計情報管理部９及び統計情報に基づいて決定されるモード設定プログラム７２０を格納する。
【００４４】
統計情報管理部９は、ファイル統計テーブル９０及びデータ統計テーブル９１を管理する。
【００４５】
（１−２−１）ファイル統計テーブル
図３に示すように、ファイル統計テーブル９０は、ホスト装置２から送信されるファイル毎の圧縮情報や記憶システム１Ａの性能情報を統計情報として保存するテーブルである。
【００４６】
ファイル統計テーブル９０は、「ファイル番号」フィールド９０Ａ、「圧縮率(％)」フィールド９０Ｂ、「現在圧縮モード」フィールド９０Ｃ、「次回圧縮モード」フィールド９０Ｄ、「平均値」フィールド９０Ｅ、「圧縮目標」フィールド９０Ｆ、「性能値」フィールド９０Ｇ及び「性能目標」フィールド９０Ｈから構成される。
【００４７】
「ファイル番号」フィールド９０Ａは、ホスト装置２から送信される複数のファイルのファイル番号を格納する。
【００４８】
「圧縮率(％)」フィールド９０Ｂは、各ファイルの圧縮率情報を格納する。ファイルの圧縮率とは、圧縮前のファイルを圧縮後のファイルで除して百分率としたものをいう。
【００４９】
「現在圧縮モード」フィールド９０Ｃは、現時点でファイルを圧縮するための圧縮モード値を格納する。圧縮モードは、例えば１から８までの段階で設定される。圧縮モードの数値が小さいほど記憶システム１Ａの性能向上を優先し、数値が大きいほど圧縮処理を優先することを示す。
【００５０】
「次回圧縮モード」フィールド９０Ｄは、ユーザによって設定された圧縮率の目標値と圧縮率の平均値とに基づいて設定される値で、次のファイルを圧縮するための圧縮モード値を格納する。
【００５１】
「圧縮目標」フィールド９０Ｆは、圧縮率の平均値が圧縮率の目標値に到達しているか否かの情報を格納する。圧縮率の平均値が圧縮率の目標値に到達している場合には「達成」と表示されるが、到達していない場合には「未達成」と表示される。
【００５２】
「性能値」フィールド９０Ｇは、単位時間当たりのデータ転送量（スループット）の値を格納する。
【００５３】
「性能目標」フィールド９０Ｈは、現時点での性能値がユーザによって設定された性能目標値に到達しているか否かの情報を格納する。なお、性能目標値とは、単位時間当たりのデータ転送量（スループット）の値をいう。
【００５４】
（１−２−２）データ統計テーブル
データ統計テーブル９１は、ファイルデータの一部である任意のデータの圧縮情報や記憶システム１Ａの性能情報を統計情報として保存するテーブルである。
【００５５】
図４に示すように、データ統計テーブル９１は、「データ番号」フィールド９１Ａ、「圧縮率(％)」フィールド９１Ｂ、「現在圧縮モード」フィールド９１Ｃ、「次回圧縮モード」フィールド９１Ｄ、「平均値」フィールド９１Ｅ、「圧縮目標」フィールド９１Ｆ、「性能値」フィールド９１Ｇ及び「性能目標」フィールド９１Ｈから構成される。
【００５６】
「データ番号」フィールド９１Ａは、ある入力データのデータ番号を格納する。
【００５７】
「圧縮率(％)」フィールド９１Ｂは、入力データの圧縮率情報を格納する。入力データの圧縮率とは、圧縮前の入力データを圧縮後の入力データで除して百分率としたものをいう。
【００５８】
「現在圧縮モード」フィールド９１Ｃは、入力データを圧縮するための圧縮モード値を格納する。データ統計テーブル９１での圧縮モードは、上述のファイル統計情報９１での圧縮モードに比べ、より細かいモード設定を可能とする。例えば、データ統計テーブル９１での圧縮モードは、例えば１から８までの段階で、小数点以下１桁まで設定することができる。ファイル「１」の圧縮モードが「６」の場合には、ファイル「１」内にあるデータは６．０〜６．９までの間でより細かいモード設定ができる。
【００５９】
「次回圧縮モード」フィールド９１Ｄは、ユーザによって設定された圧縮率の目標値と圧縮率の平均値に基づいて設定される値で、次の入力データを圧縮するための圧縮モード値を格納する。
【００６０】
「圧縮目標」フィールド９１Ｆ、「性能値」フィールド９１Ｇ及び「性能目標」フィールド９１Ｈは、それぞれ上述した「圧縮目標」フィールド９０Ｆ、「性能値」フィールド９０Ｇ及び「性能目標」フィールド９０Ｈと同様なので説明を省略する。
【００６１】
（１−３）圧縮制御部の構成
次に圧縮制御部７５の構成について説明する。
【００６２】
図５は、圧縮制御部７５内の構成を示したブロック図である。
【００６３】
圧縮制御部７５は、辞書型のデータ圧縮方式を用いて、入力データ列の圧縮を制御する制御部である。
【００６４】
ここで入力データ列とは、ホスト装置２から送信される１ファイルがある場合に、このファイル内に保存される全てのデータを圧縮対象としたデータ列をいい、この入力データ列を数バイトずつに分割したデータ列を部分データ列という。
【００６５】
圧縮制御部７５は、打ち切り制御部７５０、辞書部７５１、符号化部７５２、一致検出部７５３、記憶部７５４及びマージ部７５５から構成されている。
【００６６】
打ち切り制御部７５０は、ＣＰＵ７１との間でやり取りを行い、部分データ列を圧縮するための指示、辞書部７５１にある辞書データ列Ｄ０〜Ｄｎ＋１４のアドレスを切り替える切り替え指示、部分データ列を最後まで圧縮せずに途中で圧縮を打ち切る打ち切り指示又はエンドフラグ指示を制御する。
【００６７】
ここで、辞書データ列Ｄ０〜Ｄｎ＋１４とは、以前に符号化した入力データ列をいう。
【００６８】
打ち切り制御部７５０は、モード設定プログラム７２０に基づいて設定される圧縮モードに従って一致検出部７５３を制御する。
【００６９】
辞書部７５１は、辞書データ列Ｄ０〜Ｄｎ＋１４を有し、アドレスポインタ７５１Ａを動かすことによって、任意のグループ毎にまとまった辞書データ列Ｄ０〜Ｄｎ＋１４が部分データ列と比較するための対象辞書として用いられる。ここでは、アドレスポインタ７５１Ａは、８ビットずつ動かす。任意のグループ毎にまとまった辞書データ列Ｄ０〜Ｄｎ＋１４と部分データ列Ｉ０〜Ｉ７との一致を検出することで一致部分を圧縮することができる。
【００７０】
なお、本実施の形態では、辞書データ列は１ビットの部分データ列に対して８ビットの辞書データ列が比較できるように構成されている。ここでは８ビットの部分列データ列Ｉ０〜Ｉ７に対して、辞書データ列をＤ０〜Ｄ１４、Ｄ８〜Ｄ１５…Ｄｎ〜Ｄｎ＋１４ビット毎に１グループとしているが、このグループ分けに限られない。また、圧縮の処理速度を高めるために任意のグループ毎にまとめただけであるので、全辞書データ列Ｄ０〜Ｄｎ＋１４と部分データ列とを比較してもよい。
【００７１】
符号化部７５２は、入力データを入力データ列として符号化し、この入力データ列を数バイトずつに分割したデータ列を複数の部分データ列Ｉ０〜Ｉ７に記憶するものである。符号化部７５２は、各部分データ列Ｉ０〜Ｉ７を一致検出部７５３に送信する。
【００７２】
なお、本実施の形態では、入力データ列を８ビット毎に分割したデータと部分データ列Ｉ０〜Ｉ７としているが、１６ビット毎に分割してもよく、本実施の形態で例示した数値に限られない。
【００７３】
一致検出部７５３は、任意のグループ毎にまとまった辞書データ列Ｄ０〜Ｄ１４、Ｄ８〜Ｄ１５…Ｄｎ〜Ｄｎ＋１４と部分データ列Ｉ０〜Ｉ７とを比較して、一致箇所を圧縮箇所として検出するものである。一致検出部７５３は、圧縮箇所である一致長及び位置情報を出力する。
【００７４】
記憶部７５４は、最大一致箇所である一致長（一致レングス）及び位置の最大値と、部分データ列ごとに算出される一致長及び位置情報の算出値と、を記憶する。記憶部７５４は、最大値や算出値を打ち切り制御部７５０に送信する。
【００７５】
マージ部７５５は、一致検出部７５３により検出された入力データ列の圧縮箇所を圧縮し、非圧縮箇所をそのまま入力データ列として区別する。そしてマージ部７５５は、圧縮箇所と非圧縮箇所を結合させて出力データとして出力させる。
【００７６】
次に、一致検出部７５３の具体的なハード構成について説明する。
【００７７】
図６は、一致検出部７５３のハード構成である。
【００７８】
一致検出部７５３は、コンパレータ回路７５３０と、コンパレータ回路７５３０と接続される生成回路７５３１とから構成される。
【００７９】
コンパレータ回路７５３０は、辞書データ列Ｄ０〜Ｄｎ＋１４、部分データ列Ｉ０〜Ｉ７のそれぞれがコンパレータＣ００〜Ｃ１４７の入力端子ＩＮ１、ＩＮ２に接続され、一致又は不一致の結果が出力端子ＯＵＴから出力される回路である。ある部分データ列Ｉ０〜Ｉ７と任意の辞書データ列Ｄ０〜Ｄ１４、Ｄ８〜Ｄ１５…Ｄｎ〜Ｄｎ＋１４とを比較する１回の比較圧縮対象データ範囲をページＰという。
【００８０】
生成回路７５３１は、コンパレータＣ００〜Ｃ１４７の出力端子から出力された結果に基づいて、一致長と位置情報の算出値を生成する回路である。
【００８１】
図７に、一致長と位置情報の算出値を生成する概念図を示す。
【００８２】
例えば、コンパレータ回路７５３０は、ページＰ１内で辞書データ列Ｄ０〜Ｄ１４と部分データ列Ｉ０〜Ｉ７とを比較した結果を算出する。ページＰ１には（Ｉ０，Ｄ０）及び（Ｉ１，Ｄ０）が一致していることが示されている（図中丸表記）。同様に、ある辞書データ列と部分データ列Ｉ０〜Ｉ７とを比較したページＰｍには、（Ｉ０，Ｄ９４）、（Ｉ１，Ｄ９４）、（Ｉ２，Ｄ９４）、（Ｉ３，Ｄ９４）が一致していることが示されている。そして、ある辞書データ列と部分データ列Ｉ０〜Ｉ７とを比較したページＰｎには、（Ｉ０〜Ｉ７，Ｄｎ）が一致していることが示されている。
【００８３】
このとき、生成回路７５３１において、ページＰ１での一致長，位置情報は（２，Ｄ０）、ページＰｍでの一致長，位置情報は（４，Ｄ９４）、ページＰｎでの一致長，位置情報は（８，Ｄｎ）と算出値が決定される。
【００８４】
（１−４）データの圧縮モード設定処理
それでは上述した構成に基づいて、記憶システム１Ａでのデータの圧縮モード設定を行う処理手順を説明する。この圧縮モード設定処理は、ＣＰＵ７１がモード設定プログラム７２０に基づいて実行する。
【００８５】
具体的には図８及び図９に示すように、ＣＰＵ７１はホスト装置２からデータ圧縮の対象のファイル内にある全てのデータ（以下、ファイルデータという）がキャッシュメモリ７４に一時的に格納されるとモード設定処理を開始する（Ｓ０）。
【００８６】
そしてＣＰＵ７１は、このファイルデータのファイルサイズ及びファイル属性を確認する（Ｓ１）。ここでファイル属性とは、ファイルの種類をいい、例えばバックアップ用ファイル、テキストファイル、画像データ用ファイル等の種類をいう。
【００８７】
確認後、ＣＰＵ７１は、ファイル統計テーブル９０に前回までのファイルの統計情報があるか否かを判断し（Ｓ２）、前回までのファイルの統計情報がなく初回であると判断すると（Ｓ２：ＮＯ）、記憶システム１Ａの性能目標値を設定する（Ｓ３）。性能目標値はユーザ設定である。
【００８８】
一方ＣＰＵ７１は、ファイル統計テーブル９０に前回までのファイルの統計情報があると判断すると（Ｓ２：ＹＥＳ）、前回までのファイル統計テーブル９０を読み出す（Ｓ４）。そして、ファイル統計テーブル９０を参照し、予め設定されている記憶システム１Ａの性能目標値を確認する（Ｓ５）。
【００８９】
ＣＰＵ７１は、性能目標値とファイル統計テーブル９０にある前回ファイルの性能値とを比較し、前回ファイルの性能値が性能目標値以上の値か否かを判断する（Ｓ６）。
【００９０】
例えば、図３のファイル統計テーブル９０に示すように、ファイル番号「１０」が前回ファイルであるとする。このときの性能値は１１０ＭＢ／ｓであり、性能目標値は１００ＭＢ／ｓであるので、ファイル統計テーブル９０の「性能目標」フィールド９０Ｈは、「達成」表示されている。このことから、この場合にはＣＰＵ７１は、前回ファイルの性能値が性能目標値以上の値であると判断する。
【００９１】
なお、初回の場合には設定した性能値が性能目標値であるので、ＣＰＵ７１は、初期設定した性能値が性能目標値であると判断する。
【００９２】
そして、ＣＰＵ７１は、前回ファイルの性能値が性能目標値以上の値であると判断すると（Ｓ６：ＹＥＳ）、データ圧縮の対象であるファイルデータに関する現在の圧縮モードを圧縮優先モードに設定する（Ｓ７）。
【００９３】
ここで圧縮優先モードとは、圧縮モードのうち、データ圧縮の対象であるファイルデータに対して圧縮を行うことを優先とするモードである。圧縮優先モードは、上述した圧縮モードの数値を大きく設定することで実現できる。例えば、圧縮モードが１〜８の８段階に設定されている場合には、より大きな数値（５〜８）に設定することでデータ圧縮を優先することができる。
【００９４】
一方、ＣＰＵ７１は、前回ファイルの性能値が性能目標値より小さい値であると判断すると（Ｓ６：ＮＯ）、データ圧縮の対象であるファイルデータに関する現在の圧縮モードを性能優先モードに設定する（Ｓ８）。
【００９５】
ここで性能優先モードとは、圧縮モードのうち、データ圧縮の対象であるファイルデータの圧縮を途中で打ち切って、記憶システム１Ａの性能を優先するモードである。性能優先モードは、上述した圧縮モードの数値を小さく設定することで実現できる。例えば、圧縮モードが１〜８の８段階に設定されている場合には、より小さな数値（１〜４）に設定することでデータ圧縮を途中で打ち切って、性能の向上を優先することができる。
【００９６】
例えば、図３のファイル統計テーブル９０に示すように、ファイル番号「１０」が前回ファイルであるとすると、次回の圧縮モードは「３」である。したがって今回のデータ圧縮の対象であるファイルの圧縮モードは「３」となるため、性能優先モードに設定されることとなる。
【００９７】
圧縮優先モード又は性能優先モードとして現在の圧縮モードを設定すると（Ｓ７、Ｓ８）、ＣＰＵ７１は、現在圧縮モードを圧縮制御部７５の打ち切り制御部７５０に送信して圧縮処理を実行させる（Ｓ９）。圧縮制御部７５は、受信した現在圧縮モードに基づいて入力データを圧縮する。
【００９８】
ＣＰＵ７１は、圧縮した入力データの圧縮率を記憶し（Ｓ１０）、圧縮した入力データの統計情報をデータ統計テーブル９１に追加して、データ統計テーブル９１の内容を更新する（Ｓ１１）。
【００９９】
このときＣＰＵ７１は、「次回圧縮モード」９１Ｄの圧縮モードを変更するか否かを判断する（Ｓ１２）。このとき、「次回圧縮モード」フィールド９１Ｄの内容は、次回圧縮モード決定方法に基づいて更新される。この決定方法は後述する。
【０１００】
ＣＰＵ７１は、「次回圧縮モード」９１Ｄの圧縮モードを変更すると判断すると（Ｓ１２：ＹＥＳ）、次回圧縮モードの圧縮モードを変更し（Ｓ１３）、ステップＳ１４に進む。
【０１０１】
ＣＰＵ７１は、「次回圧縮モード」９１Ｄの圧縮モードを変更しないと判断すると（Ｓ１２：ＮＯ）、１ファイルデータ分の圧縮処理を完了したか否かを判断する（Ｓ１４）。
【０１０２】
ＣＰＵ７１は、１ファイルデータ分の圧縮処理を完了していないと判断すると（Ｓ１４：ＮＯ）、ステップＳ９に戻り再び比較対象データについて圧縮処理を実行する。
【０１０３】
一方、ＣＰＵ７１は、１つのファイルデータ分の圧縮処理を完了したと判断すると（Ｓ１４：ＹＥＳ）、圧縮した１つのファイルの圧縮率を記憶し（Ｓ１５）、圧縮した１つのファイルをファイル統計テーブル９０に追加して、ファイル統計テーブル９０の内容を更新する（Ｓ１６）。このとき、「次回圧縮モード」フィールド９０Ｄの内容は、次回圧縮モード決定方法に基づいて更新される。この決定方法も「次回圧縮モード」フィールド９１Ｄの決定方法と同様に後述する。
【０１０４】
そうしてＣＰＵ７１は、ホスト装置２から送信された全てのファイルについて圧縮が完了したか否かを判断し（Ｓ１７）、全てのファイルについて圧縮が完了していないと判断すると（Ｓ１７：ＮＯ）、次のファイルデータを読み込んで（Ｓ１８）再びステップＳ１からモード設定処理が実行されることとなる。
【０１０５】
一方、ＣＰＵ７１は、全てのファイルについて圧縮が完了したと判断すると（Ｓ１７：ＹＥＳ）、このモード設定処理を終了する（Ｓ１９）。
【０１０６】
（１―５）次回圧縮モードの決定方法
それでは次に、ステップＳ１６でファイル統計テーブル９０を更新する際に決定する次回圧縮モードの決定方法を図３及び図１０〜図４を用いて説明する。
【０１０７】
図１０、図１１、図１３及び図１４は、次回圧縮モードを決定するためのグラフである。
【０１０８】
例えば図３に示すＡポイントの次回圧縮モードを決定する場合について説明をする。
【０１０９】
Ａポイントのファイル番号「１０」は、圧縮率の目標値が２０％、圧縮率の平均値が２４．５％であって、記憶システム１Ａの性能が達成している場合である。
【０１１０】
図１０のグラフは、記憶システム１Ａの性能が達成している場合の次回圧縮モードの設定方法である。縦軸は圧縮モード（１〜８段階）、横軸は圧縮率（％）である。
【０１１１】
図１０に示すように、記憶システム１Ａの性能が達成している場合には、過去の圧縮モードに基づく統計情報によって作成された正規分布を近似直線にした基準線Ｂと目標値に沿って引かれる縦直線Ｌ１との交点Ｎ１が、現在の圧縮モードに設定されている。次回の圧縮モードは、基準線Ｂと現在までの圧縮率の平均値に沿って引かれる縦直線Ｌ２と交点Ｎ２で設定されることになる。したがって次回の圧縮モードは、「３」に再設定される。
【０１１２】
圧縮率の平均値に沿って引かれる縦直線Ｌ２は、目標値に沿って引かれる縦直線Ｌ１を上回っているので、圧縮を優先するよりも性能を優先する必要がある。これは、性能優先モード（Ｓ８）に設定されることである。
【０１１３】
引き続き図３に示すＢポイントの次回圧縮モードを決定する場合について説明をする。
【０１１４】
Ｂポイントのファイル番号「６」は、圧縮率の目標値が２０％、圧縮率の平均値が１９．１％であって、記憶システム１Ａの性能が達成している場合である。
【０１１５】
そして図１１のグラフは、図１０のグラフと同様に、記憶システム１Ａの性能が達成している場合の次回圧縮モードの設定方法である。
【０１１６】
図１１に示すように、記憶システム１Ａの性能が達成している場合には、基準線Ｂと目標値に沿って引かれる縦直線Ｌ３との交点Ｎ３が、現在の圧縮モードに設定されている。次回の圧縮モードは、基準線Ｂと現在までの圧縮率の平均値に沿って引かれる縦直線Ｌ４と交点Ｎ４で設定されることになる。したがって次回の圧縮モードは「８」に再設定される。
【０１１７】
圧縮率の平均値に沿って引かれる縦直線Ｌ４は、目標値に沿って引かれる縦直線Ｌ３を下回っているので、性能を優先するよりも圧縮を優先する必要がある。これは、圧縮優先モード（Ｓ７）に設定されることである。
【０１１８】
次に、記憶システム１Ａの性能が未達成である場合の次回の圧縮モードの決定方法について説明する。
【０１１９】
図１２は、記憶システム１Ａの性能が未達成である場合のファイル統計テーブル９０を示している。
【０１２０】
例えば、Cポイントの次回圧縮モードを決定する場合について説明をする。
Cポイントのファイル番号「１０」は、圧縮率の目標値が２０％、圧縮率の平均値が２４．５％であって、記憶システム１Ａの性能が未達成である場合である。
【０１２１】
図１３に示すグラフは、記憶システム１Ａの性能が未達成である場合の次回圧縮モードの設定方法である。縦軸は圧縮モード（１〜８段階）、横軸は圧縮率（％）である。
【０１２２】
図１３に示すように、記憶システム１Ａの性能が未達成である場合には、基準線Ｂと目標値に沿って引かれる縦直線Ｌ５との交点Ｎ５が現在の圧縮モードに設定されていない。次回の圧縮モードは基準線Ｂと現在までの圧縮率の平均値に沿って引かれる縦直線Ｌ６と交点Ｎ６で設定されることになる。したがって次回の圧縮モードは「１」に再設定される。この圧縮モード結果から、次のデータ圧縮対象となるファイルは、性能優先モード（Ｓ８）に設定される。
【０１２３】
引き続き、図１２に示すDポイントの次回圧縮モードを決定する場合について説明をする。Dポイントはファイル番号「６」は、圧縮率の目標値が２０％、圧縮率の平均値が１９．１％であって、記憶システム１Ａの性能が未達成である場合である。
【０１２４】
図１４に示すように、記憶システム１Ａの性能が未達成である場合には、基準線Ｂと目標値に沿って引かれる縦直線Ｌ７との交点Ｎ７が現在の圧縮モードに設定されていない。次回の圧縮モードは基準線Ｂと現在までの圧縮率の平均値に沿って引かれる縦直線Ｌ８と交点Ｎ８で設定されることになる。したがって次回の圧縮モードは「６」に再設定される。この圧縮モード結果から、次のデータ圧縮対象となるファイルは、圧縮優先モード（Ｓ７）に設定される。
【０１２５】
なお、ステップＳ１１でデータ統計テーブル９１を更新する際に決定する次回圧縮モードの決定方法は、ファイル統計テーブル９０を更新する際に決定する次回圧縮モードの決定方法と同様の決定方法なので説明を省略する。
【０１２６】
（１−６）圧縮処理
次にステップＳ９において、ＣＰＵ７１から現在の圧縮モードを受信した圧縮制御部７５が行う圧縮処理について説明する。この圧縮処理は、ハード処理である。
【０１２７】
具体的には、図１５及び図１６に示すように、打ち切り制御部７５０がＣＰＵ７１からの圧縮処理開始指示を受信すると、圧縮処理を開始する（Ｓ３０）。
【０１２８】
打ち切り制御部７５０は、ファイルデータである入力データを符号化部７５２に読み込ませ、入力データ列として符号化する。そして、打ち切り制御部７５０は、辞書部７５１に格納される辞書アドレスを辞書部７５１に送信する（Ｓ３１）。
【０１２９】
辞書部７５１は辞書アドレスを受信すると、辞書データ列Ｄ０〜Ｄ１４、Ｄ８〜、…Ｄｎ＋１４にグループ分けした１グループ辞書データ列の先頭アドレスにアドレスポインタ７５１Ａを設定する。ここでは、アドレスポインタ７５１Ａを辞書データ列Ｄ８に設定した場合について説明する。符号化部７５２は、入力データ列を部分データ列に分割して、最初の部分データ列Ｉ０〜Ｉ７を一致検出部７５３へ出力する。最初の部分データ列Ｉ０〜Ｉ７と最初の辞書データ列Ｄ８〜Ｄ２２との圧縮対象データ範囲をページＰ１とする。
【０１３０】
次に、打ち切り制御部７５０が、ページＰ１内の一致長最大値を零に設定するよう記憶部７５４に指示をすると、記憶部７５４は一致長最大値を零に設定して初期化する（Ｓ３２）。
【０１３１】
一致検出部７５３は、ページＰ１内を圧縮するためにアドレスポインタ７５１Ａを設定した最初の辞書データ列Ｄ０〜Ｄ２２と符号化部７５２で分割した最初の部分データ列Ｉ０〜Ｉ７との比較を行う（Ｓ３３）。
【０１３２】
一致検出部７５３は一致長と位置情報を算出すると（Ｓ３４）、算出結果を記憶部７５４に送信する。記憶部７５４は算出結果を受信して記憶すると、打ち切り制御部７５０に算出結果を送信する。
【０１３３】
算出結果を受信した打ち切り制御部７５０は、算出した一致長が現在の圧縮モード以上か否か又は最終ページか否かを判断する（Ｓ３５）。
【０１３４】
打ち切り制御部７５０は、算出した一致長が現在の圧縮モード以上又は最終ページであると判断すると（Ｓ３５：ＹＥＳ）、打ち切り指示を辞書部７５１と符号化部７５２とに送信すると（Ｓ３６）、比較したページＰ１内での最大一致長とその位置情報を算出値として設定する（Ｓ３７）。この指示を受信した辞書部７５１と符号化部７５２は、現在圧縮しているページＰ１で比較を打ち切るようにする。
【０１３５】
打ち切り制御部７５０は、算出した一致長が現在の圧縮モードより小さい又は最終ページＰｎではないと判断すると（Ｓ３５：ＮＯ）、比較したページＰ１内での最大一致長とその位置情報を算出値として設定する（Ｓ３７）。そして打ち切り制御部７５０は、記憶部７５４に算出値を記憶させる。
【０１３６】
例えば、算出した一致長が、「３」であって、現在の圧縮モードが「５」で設定されている場合は、圧縮を打ち切らず、ステップＳ３７の処理手順に進む。そしてページＰ１内での最大一致長及び最大位置情報が（４，Ｄ１３）であった場合には、算出値は「４」となる。その後記憶部７５４で記憶しているページＰ１内の過去の一致長最大値と算出値とを比較する。
【０１３７】
打ち切り制御部７５０は、算出値が一致長最大値より大きい値か否かを判断し（Ｓ３８）、算出値が一致長最大値より小さな値であると判断すると（Ｓ３８：ＮＯ）、一致長最大値をそのまま記憶部７５４で記憶させておく。
【０１３８】
一方、打ち切り制御部７５０は、算出値が一致長最大値より大きな値であると判断すると（Ｓ３８：ＹＥＳ）、算出値を新たな一致長最大値に設定し、新たな一致長最大値を記憶部７５４に記憶させる（Ｓ４０）。
【０１３９】
打ち切り制御部７５０は、打ち切り指示を辞書部７５１と符号化部７５２に出したか否かを判断し（Ｓ４１）、打ち切り指示を出していないと判断すると（Ｓ４１：ＮＯ）、次のページＰ２の比較指示を辞書部７５１及び符号化部７５２に送信し（Ｓ４２）、再びステップＳ３３を実行することとなる。
【０１４０】
具体的には、辞書部７５１は辞書アドレスを打ち切り制御部７５０から受信すると、辞書データ列Ｄ０〜Ｄｎ＋１４の先頭アドレスＤ１６にアドレスポインタ７５１Ａを設定する。符号化部７５２は、最初の部分データ列Ｉ０〜Ｉ７をそのまま一致検出部７５３へ出力する。一致検出部７５３は、辞書データ列Ｄ１６〜Ｄ３０と最初の部分データ列Ｉ０〜Ｉ７とを比較することとなる（Ｓ３３）。
【０１４１】
一方、打ち切り制御部７５０は、打ち切り指示を辞書部７５１と符号化部７５２に出していると判断すると（Ｓ４１：ＹＥＳ）、入力データ列を分割した複数の全部分データ列の圧縮処理を終了したか否かを判断する（Ｓ４３）。
【０１４２】
そして、打ち切り制御部７５０は、複数ある全ての部分データ列Ｉ０〜Ｉ７の圧縮処理を終了していないと判断すると（Ｓ４３：ＮＯ）、次の部分データ列Ｉ０〜Ｉ７を読み込むように符号化部７５２に読み込み指示を送信する（Ｓ４４）。この読み込み指示を受信した符号化部７５２は、次の部分データ列Ｉ０〜Ｉ７を一致検出部７５３に出力する。そうして、ステップＳ３２の処理から再び実行されることになる。
【０１４３】
打ち切り制御部７５０は、ファイル内にある全ての部分データ列Ｉ０〜Ｉ７の圧縮処理を終了していると判断すると（Ｓ４３：ＹＥＳ）、圧縮処理を終了する（Ｓ４５）。
【０１４４】
打ち切り制御部７５０は、圧縮処理が終了した旨をＣＰＵ７１に送信する。ＣＰＵ７１は、図９で説明したステップＳ１０を実行することなる。
【０１４５】
以上のように、圧縮優先モード又は記憶システムの性能優先モードかのモード選択をすることで現在の圧縮モードが決定される。そして、打ち切り制御部７５０は、ページ毎の算出値と現在の圧縮モードとを比較することで、常に最大一致長が更新されるので、性能や圧縮の状況でページ毎にデータ圧縮の打ち切りを調整できることとなる。このことから、記憶システム１Ａ内の圧縮処理時間を調整することが可能となる。
【０１４６】
（１−７）本実施の形態の効果
本実施の形態によれば、データを圧縮する際にストレージ装置内で圧縮優先モード又は記憶システムの性能優先モードかのモード選択をすることで圧縮処理時間を調整できるので、記憶システムに関する性能の低下を回避することができる。
【０１４７】
（２）他の実施の形態
上述した実施の形態の構成によれば、圧縮制御部７５及び暗号・復号制御部７６は、データ転送コントローラ７３とキャッシュメモリ７４との間に接続した。
【０１４８】
図１８に示すように、コントローラ７Ｂにある圧縮制御部７５及び暗号・復号制御部７６は、ＣＰＵ７１の内部に搭載してもよい。
【０１４９】
図１９に示すように、コントローラ７Ｃにある圧縮制御部７５及び暗号・復号制御部７６は、データ転送コントローラ７３の内部に搭載してもよい。
【０１５０】
図２０又は図２１に示すように、コントローラ７Ｄ、７Ｅにある圧縮制御部７５及び暗号・復号制御部７６は、フロントエンドインターフェース７０とデータ転送コントローラ７３との間に接続又はデータ転送コントローラ７３とバックエンドインターフェース７７との間に接続してもよい。
【０１５１】
図１８〜図２１に示したいずれの記憶システム１Ｂ〜１Ｅの構成であってもデータを圧縮する際にストレージ装置４内で圧縮優先モード又は記憶システムの性能優先モードかのモード選択をすることで圧縮処理時間を調整できるので、記憶システムに関する性能の低下を回避することができる。
【０１５２】
なお、図１８〜図２１に示した圧縮制御部７５及び暗号・復号制御部７６の接続構成又は内蔵構成を除いて、同一符号は上述した本実施の形態と同様の構成及び処理を行うため、詳細な説明は省略する。
【０１５３】
また、１又は複数の記憶制御装置(ストレージ装置)は、以前に圧縮したファイルデータの統計情報によって決定するスループット値をシステム性能値として管理する統計情報管理部と、予め目標値として設定されるシステム性能目標値と前記システム性能値との比較に基づいて、ファイルデータの圧縮を打ち切ってシステム性能を優先するシステム性能優先モード又はファイルデータの圧縮を優先する圧縮優先モードかの圧縮モードを設定するモード設定部をと、をローカルメモリ７２に格納したが、統計情報管理部及びモード設定部は個別のハードウェア構成としてもよい。
【産業上の利用可能性】
【０１５４】
本発明は、１又は複数のストレージ装置を有する記憶システムや、その他の形態の記憶システムに広く適用することができる。
【図面の簡単な説明】
【０１５５】
【図１】本実施の形態における記憶システムの全体構成を示すブロック図である。
【図２】本実施の形態におけるローカルメモリの内容を示す図である。
【図３】本実施の形態におけるファイル統計テーブルを示す図表である。
【図４】本実施の形態におけるデータ統計テーブルを示す図表である。
【図５】本実施の形態における圧縮制御部の構成を示すブロック図である。
【図６】本実施の形態における圧縮制御部の構成を示す構成図である。
【図７】本実施の形態における圧縮制御部での比較結果を示す概念図である。
【図８】本実施の形態におけるモード設定処理のフローチャートである。
【図９】本実施の形態におけるモード設定処理のフローチャートである。
【図１０】本実施の形態における性能達成時の圧縮モードを決定するグラフである。
【図１１】本実施の形態における性能達成時の圧縮モードを決定するグラフである。
【図１２】本実施の形態における性能未達成時のファイル統計テーブルを示す図表である。
【図１３】本実施の形態における性能未達成時の圧縮モードを決定するグラフである。
【図１４】本実施の形態における性能未達成時の圧縮モードを決定するグラフである。
【図１５】本実施の形態における圧縮処理のフローチャートである。
【図１６】本実施の形態における圧縮処理のフローチャートである。
【図１７】本実施の形態における圧縮処理のフローチャートである。
【図１８】他の実施の形態における記憶システムの全体構成を示すブロック図である。
【図１９】他の実施の形態における記憶システムの全体構成を示すブロック図である。
【図２０】他の実施の形態における記憶システムの全体構成を示すブロック図である。
【図２１】他の実施の形態における記憶システムの全体構成を示すブロック図である。
【符号の説明】
【０１５６】
１Ａ〜１Ｅ…記憶システム、２…ホスト装置、４Ａ，４Ｂ……ストレージ装置、７Ａ〜７Ｅ……コントローラ、７０……フロントエンドインターフェース、７１……ＣＰＵ、７２……ローカルメモリ、７３……データ転送コントローラ、７４……キャッシュメモリ、７５……圧縮制御部、７６……暗号・復号制御部、７７……バックエンドインターフェース、８……記憶装置、８０……ハードディスクドライブ、ＶＯＬ……論理ボリューム、８１……半導体メモリ、６……管理端末。
【図１】
2008299718.tif 000003
【図２】
2008299718.tif 000004
【図３】
2008299718.tif 000005
【図４】
2008299718.tif 000006
【図５】
2008299718.tif 000007
【図６】
2008299718.tif 000008
【図７】
2008299718.tif 000009
【図８】
2008299718.tif 000010
【図９】
2008299718.tif 000011
【図１０】
2008299718.tif 000012
【図１１】
2008299718.tif 000013
【図１２】
2008299718.tif 000014
【図１３】
2008299718.tif 000015
【図１４】
2008299718.tif 000016
【図１５】
2008299718.tif 000017
【図１６】
2008299718.tif 000018
【図１７】
2008299718.tif 000019
【図１８】
2008299718.tif 000020
【図１９】
2008299718.tif 000021
【図２０】
2008299718.tif 000022
【図２１】
2008299718.tif 000023