(57)【要約】【課題】複種類のアルゴリズムの異なる圧縮により最適な圧縮データを得られるようにようにする。【解決手段】サイズ比較部１９は、圧縮処理部１４Ａ〜１４Ｄがブロック１２ａの圧縮により生成した圧縮データの最小サイズ、その最小サイズの圧縮データを生成した圧縮処理部１４を表すアルゴリズム名等をアクセス制御部２０に通知する。アクセス制御部２０は、その通知により、テープ媒体３０に書き込むべき圧縮データを選択し、その圧縮データを生成した圧縮処理部１４を表すアルゴリズム名を統計情報処理部２１に通知する。統計情報処理部２１は、通知されたアルゴリズム名から、圧縮データの選択結果に存在する規則性を抽出し、抽出した規則性に沿って、停止すべき圧縮処理部１４を特定し停止させる。それにより、最適な圧縮データの生成は確保でき、圧縮処理部１４の停止により消費電力もより抑えられる。【選択図】図１
2013085071.tif 000002
【特許請求の範囲】
【請求項１】
圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮するデータ圧縮装置であって、
各々異なるアルゴリズムにより分割ブロックの圧縮を行い、該圧縮により圧縮ブロックを生成する複数の圧縮処理部と、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択する選択部と、
前記選択部による選択パターンに規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる制御部と、
を有することを特徴とするデータ圧縮装置。
【請求項２】
前記規則性は、前記複数の圧縮処理部のうちの一つが生成した圧縮データが前記選択部により所定数、連続して選択されなかった第１の規則性、及び前記複数の圧縮処理部のうちの二つ以上の圧縮処理部が生成した圧縮データが前記選択部により同一のパターンで順次、選択された第２の規則性のうちの何れかを少なくとも含み、
前記制御部は、前記規則性が前記第１の規則性、及び前記第２の規則性のうちの何れかにより、停止すべき圧縮処理部、及び停止すべき期間を決定する
ことを特徴とする請求項１に記載のデータ圧縮装置。
【請求項３】
前記制御部は、前記第２の規則性により停止させた圧縮処理部が存在する状況となった場合に、予め定めたタイミングで全ての圧縮処理部に分割ブロックの圧縮を行わせ、前記選択部による選択を行わせることにより、当該第２の規則性が継続しているか否かを確認する
ことを特徴とする請求項２に記載のデータ圧縮装置。
【請求項４】
前記制御部は、前記第１の規則性、及び前記第２の規則性の一方により停止させた圧縮処理部が存在する状況において、前記選択部により選択された圧縮ブロックの生成結果が所定の条件を満たさない場合には、停止させた全ての圧縮処理部による分割ブロックの圧縮を再開させる
ことを特徴とする請求項２又は３に記載のデータ圧縮装置。
【請求項５】
圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮するデータ圧縮装置として用いられるコンピュータが実行するデータ圧縮方法であって、
各々異なるアルゴリズムが採用された複数の圧縮処理部に分割ブロックを圧縮させることにより、該圧縮による圧縮ブロックを生成させ、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択し、
圧縮ブロックの選択パターンに規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる
ことを特徴とするデータ圧縮方法。
【請求項６】
共通する圧縮対象データに対して、それぞれ異なるアルゴリズムで圧縮処理を施して複数の圧縮データを生成する複数の圧縮処理部と、
生成された前記複数の圧縮データの各データサイズと、前記複数の圧縮データの生成に要した各処理時間のうちの少なくともいずれかに基づいて、前記複数の圧縮データのうちから圧縮データを選択する選択部と、
あるデータを分割して得られた分割データ群のうちの１又は複数の分割データが前記複数の圧縮処理部によって処理された場合に、該１又は複数の分割データに関する前記選択部の選択パターンに応じて、前記複数の圧縮処理部のうち、いずれかの圧縮処理部の動作を停止させて、前記分割データ群に含まれる、前記１又は複数の分割データ以外の分割データについては、動作を停止した前記圧縮処理部による圧縮処理を回避する制御を行う制御部と、
を備えたことを特徴とするデータ圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ圧縮装置に関する。
【背景技術】
【０００２】
現在、データ圧縮技術は、データの送受信にかかる時間を短縮する、或いは格納に必要な記憶領域を小さくする、といった用途に広く採用されている。このため、データ圧縮を行うデータ圧縮装置は、データの送信が可能な通信システム、及びデータを記憶媒体上に記憶するデータ記憶装置等に幅広く適用されている。
【０００３】
データ圧縮を行うアルゴリズムは数多く存在し、圧縮率は、データの内容、及びアルゴリズムによって変化する。そのため、同じ内容のデータを圧縮した際の圧縮率は、アルゴリズムによって異なるのが普通である。ここでは、圧縮率（％）は、以下のように求められる数値を想定する。
圧縮率  ＝  （圧縮前のデータ量／圧縮後のデータ量）×１００  ・・・  （１）
【０００４】
このようにして求められる圧縮率は、効率的に圧縮が行える程、つまり圧縮効率が高い程、より大きい値となる。圧縮効率（圧縮率）は、データの内容、及びアルゴリズムによって変化することから、従来のデータ圧縮装置のなかには、アルゴリズムの異なる複種類のデータ圧縮機能を搭載したものがある。
【０００５】
アルゴリズムの異なる複数のデータ圧縮機能を搭載した従来のデータ圧縮装置は、各データ圧縮機能によりそれぞれ並行してデータ圧縮を行い、そのデータ圧縮により得られた圧縮データのなかから最適な圧縮データを選択する。その選択は、圧縮率、及び処理速度（圧縮に要した処理時間）を参照して行われる。それにより、従来のデータ圧縮装置は、圧縮率、及び処理速度から最適な圧縮データを選択する。そのように最適な圧縮データを選択する従来のデータ圧縮装置は、高い圧縮率を維持しつつ、より速い処理速度を実現させることができる。
【０００６】
各データ圧縮機能は、並行してデータ圧縮を行えるように、それぞれ１個の装置（モジュール）として動作可能となっている。そのため、データ圧縮機能を多く搭載するほど、データ圧縮装置の消費電力も大きくなる。このことから、複種類のデータ圧縮機能を搭載したデータ圧縮装置では、高い圧縮率の維持、及び処理速度の高速化の他に、消費電力の抑制も考慮すべきと云える。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−２１０３２４号公報
【特許文献２】特開２００４−１３２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明を適用した１システムは、複種類のアルゴリズムの異なる圧縮により最適な圧縮データを得られるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明を適用した１システムでは、圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮する。そのために、各々異なるアルゴリズムにより分割ブロックを圧縮し、該圧縮により圧縮ブロックを生成する複数の圧縮処理部と、生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択する選択部と、選択部による選択パターンに規則性が存在する場合に、該規則性に基づいて、複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる制御部と、を有する。
【発明の効果】
【００１０】
本発明を適用した場合には、複種類のアルゴリズムの異なる圧縮により最適な圧縮データを得ることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態によるデータ記憶装置の構成を説明する図である。
【図２】統計情報処理部の構成を説明する図である。
【図３】状態判定処理のフローチャートである。
【図４】圧縮装置停止処理のフローチャートである。
【図５】統計処理部により実行される各圧縮処理部の停止制御を説明する図である（その１）。
【図６】統計処理部により実行される各圧縮処理部の停止制御を説明する図である（その２）。
【図７】本実施形態を適用可能なデータ記憶装置のハードウェア構成例を説明する図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態によるデータ記憶装置の構成を説明する図である。このデータ記憶装置１は、サーバ（コンピュータ）２等の外部装置から記憶対象のデータを取得して圧縮を行い、その圧縮により得られたデータを記録媒体であるテープ（以降「テープ媒体」）３０上に記憶できるものとして実現されている。そのデータ圧縮を行うために、データ記憶装置１には、本実施形態によるデータ圧縮装置が搭載されている。このことから、本実施形態によるデータ記憶装置１は、本実施形態によるデータ圧縮装置を搭載することで実現されている。
【００１３】
データ記憶装置１は、図１に表すように、データ送受信処理部１１、データ分割処理部１３、４つの圧縮処理部１４（１４Ａ〜１４Ｄ）、バッファ部１６、アクセス部１８、サイズ比較部１９、アクセス制御部２０、統計情報処理部２１、及びテープ媒体３０を備えている。それらは、以下のようなものである。図１中の実線の矢印は、データの流れを表し、破線の矢印は、指示、或いは通知の流れを表している。
【００１４】
データ記憶装置１は、サーバ２と例えばケーブル、或いはネットワーク（共に図示せず）を介して接続される。データ送受信処理部１１は、ケーブル、或いはネットワークを介してサーバ２との間でデータの送受信を行う。データ送受信処理部１１によりサーバ２から受信する受信データ１２は、記憶対象データと想定する。また、サーバ２とはネットワークを介して接続されていると想定する。
【００１５】
サーバ２から送信される記憶対象データは膨大であるのが普通である。このことから、データ分割処理部１３は、データ送受信処理部１１が受信した受信データ１２を、例えば予め定めたサイズ（データ量）のデータであるブロック１２ａに分割する。
【００１６】
図１に表記の「ブロック１」は、受信データ１２の先頭に位置するブロック１２ａを表している。「ブロック１」の「１」は、ブロック１２ａの識別データであるブロック番号を表している。それにより、例えば「ブロック２」は、ブロック番号が２、つまり受信データ１２の先頭から２番目に位置するブロック１２ａを表している。
【００１７】
４つの圧縮処理部１４は、それぞれ、互いに異なるアルゴリズムでデータ圧縮を行う。停止／動作を制御できるように、各圧縮処理部１４（１４Ａ〜１４Ｄ）は、電源制御部１５（１５Ａ〜１５Ｄ）を備えている。この電源制御部１５は、搭載された圧縮処理部１４への電源の供給／停止（遮断）を外部からの指示に従って行う装置である。この電源制御部１５により、各圧縮処理部１４のなかで実際に動作させる圧縮処理部１４を選択することができる。各圧縮処理部１４Ａ〜Ｄに採用されているアルゴリズムは、圧縮処理部１４とアルゴリズムの対応関係の把握を容易とするために、以降、アルゴリズムＡ〜Ｄと表記する。
【００１８】
アルゴリズムＡ〜Ｄは、データ記録装置１の用途に応じて決定すれば良いものであり、特に限定されるものではない。ロスレス型の圧縮アルゴリズムとしては、例えばＡＬＤＣ (Adaptive Lossless Data Compression)、ＤＣＬＺ（Data Compression according to Lempel and Ziv）、ＬＺＭＡ（Lempel Ziv Markov chain Algorithm）、Deflate等を挙げることができる。
【００１９】
各圧縮処理部１４は、それぞれブロック１２ａ単位でデータ圧縮を行う。そのデータ圧縮を行った結果として、ブロック１２ａの圧縮データ（圧縮ブロック）を生成する。バッファ部１６は、各圧縮処理部１４が生成した圧縮データの格納に用いられる。
【００２０】
バッファ部１６には、各圧縮処理部１４に対し、圧縮データ格納用に２つの格納エリア１７が確保されている。図１中に「圧縮データＡ（１）」「圧縮データＡ（２）」が表記された２つの矩形枠１７（１７Ａ１、１７Ａ２）は、圧縮処理部１４Ａ用に確保された格納エリアである。同様に、「圧縮データＢ（１）」「圧縮データＢ（２）」が表記された２つの矩形枠１７（１７Ｂ１、１７Ｂ２）は、圧縮処理部１４Ｂ用に確保された格納エリアである。このように各圧縮処理部１４に２つの格納エリア１７を確保したのは、一方を圧縮データの書き込み用、他方を圧縮データの読み出し用に使用できるようにするためである。圧縮処理部１４毎に２つの格納エリア１７を確保することにより、同じ格納エリア１７に異なるアクセスが並行して行われるのを回避することができる。各格納エリア１７には、識別データとして例えばバッファ番号が割り当てられている。
【００２１】
各圧縮処理部１４は、格納エリア１７に、例えば圧縮データと共に、その圧縮データのデータ量（サイズ）を格納する。サイズ比較部１９は、各圧縮処理部１４が圧縮データを書き込んだ格納エリア１７にアクセスして、その格納エリア１７に書き込まれた圧縮データのサイズ（データ量）を読み出し、読み出したサイズを比較する。それにより、サイズ比較部１９は、サイズが最も小さい圧縮データが格納された格納エリア１７を特定する。アクセス制御部２０には、例えば最小サイズ、最小サイズの圧縮データが格納された格納エリア１７のバッファ番号、及び最小サイズの圧縮データを生成した圧縮処理部１４を表す識別データを出力する。ここでは、圧縮処理部１４を表す識別データとして、その圧縮処理部１４に採用されているアルゴリズム名を表すデータ（以降、単に「アルゴリズム名」と表記」を想定する。
【００２２】
アクセス部１８は、テープ媒体３０に対するアクセスを行う。アクセス制御部２０は、アクセス部１８によるテープ媒体３０へのアクセスを制御する。受信データ１２の圧縮データをテープ媒体３０に格納させる場合、アクセス制御部２０は、テープ媒体３０に圧縮データを書き込むべき格納エリア１７を決定して、アルゴリズム名、及びバッファ番号をアクセス部１８に通知し、圧縮データの書き込みの開始を指示する。アクセス部１８は、その開始指示により、バッファ番号で指定された格納エリア１７に格納された圧縮データをバッファ部１６から読み出し、テープ媒体３０に書き込む。アルゴリズム名は、圧縮データを解凍できるように、判定フラグとして、その圧縮データに付す。それにより、テープ媒体３０には、１つのブロック１２ａ毎に、そのブロック１２ａから得られた圧縮データ、及び判定フラグが書き込まれる。図１中、テープ媒体３０に書き込まれる圧縮データは、圧縮したブロック１２ａとの対応関係を表す意味もあり、「ブロック１」「ブロック２」等と表記している。圧縮データの選択方法は後述する。
【００２３】
一方、受信データ１２の圧縮データをテープ媒体３０に格納させない場合、アクセス制御部２０は、格納エリア１７Ｘ１或いは１７Ｘ２のバッファ番号、及びアルゴリズム名をアクセス部１８に通知し、ブロック１２ａをテープ媒体３０に格納させる。このときのアルゴリズム名は、非圧縮を表すものである。それにより、テープ媒体３０には、ブロック１２ａをそのまま書き込む場合も、そのブロック１２ａに判定フラグが付される。
【００２４】
アクセス制御部２０は、受信データ１２の圧縮データをテープ媒体３０に格納させる場合、テープ媒体３０に書き込むべき圧縮データの選択を、サイズ比較部１９から入力した情報に従って行う。それにより、アクセス制御部２０は、最小サイズの圧縮データをテープ媒体３０に格納させる。
【００２５】
統計情報処理部２１は、アクセス制御部２０から圧縮データの選択結果を例えばその圧縮データを生成した圧縮処理部１４に採用されたアルゴリズム名の形で受け取り、統計的に処理し、アクセス制御部２０による圧縮データの選択結果に存在する傾向（規則性）の抽出を行う。その傾向の抽出は、１つの圧縮処理部１４、及び複数の圧縮処理部１４のそれぞれに予めパターンを定めることにより行っている。それにより、統計情報処理部２１は、アクセス制御部２０による圧縮データの採用（選択）結果から、採用された圧縮データを生成した圧縮処理部１４（アルゴリズム名）の繋がりに一致するパターンを抽出する。
【００２６】
パターンの抽出結果は、各圧縮処理部１４の停止制御に反映される。それにより、本実施形態では、パターンの抽出は、各圧縮処理部１４のなかで圧縮データが選択される可能性が低いと考えられる圧縮処理部１４が存在する状況であると見なす。このことから、統計情報処理部２１は、抽出されたパターンに応じて、圧縮データが選択される可能性が低いと考えられる圧縮処理部１４は停止させる。
【００２７】
圧縮データが選択されない圧縮処理部１４は、圧縮データの生成に事実上、係わらない。そのため、本実施形態では、圧縮データが選択されない可能性が高いと考えられる圧縮処理部１４を停止させ、最適な圧縮データを生成できる確率を高く維持する。その確率を高く維持させても、圧縮処理部１４全体では、停止させる圧縮処理部１４の存在により、消費電力は低減する。このようなことから、圧縮データが選択される可能性が低いと考えられる圧縮処理部１４を停止させた場合、テープ媒体３０に書き込む圧縮データとして最適な圧縮データを得られるように維持しつつ、消費電力をより抑えることができる。
【００２８】
統計情報処理部２１により停止されている圧縮処理部１４が存在する状況でも、サイズ比較部１９は、動作している圧縮処理部１４を対象にした比較を行い、最小サイズ、バッファ番号、及びアルゴリズム名をアクセス制御部２０に通知する。そのため、アクセス制御部２０による圧縮データの選択に、停止している圧縮処理部１４が存在するか否かは事実上、関係しない。
【００２９】
アクセス制御部２０は、圧縮処理を実行させる圧縮処理部１４にその圧縮処理の実行を指示し、圧縮処理を実行した圧縮処理部１４から、その圧縮処理が完了した旨の通知（完了通知）を受信する。それにより、アクセス制御部２０は、圧縮処理の実行を指示した圧縮処理部１４毎に、その指示を行ってから完了通知を受信するまでの時間を圧縮処理に要した圧縮時間として計時する。計時した圧縮時間は、圧縮率と共に、統計情報処理部２１に通知する。
【００３０】
圧縮率（％）は（１）式から計算される。圧縮前のデータ量はブロック１２ａのサイズであり、そのサイズは一定である。圧縮後のブロック１２ａのデータ量（サイズ）は、サイズ比較部１９から通知される。このため、アクセス制御部２０は、サイズ比較部１９から通知された最小サイズを用いて、圧縮率を計算する。
【００３１】
パターンが抽出されても、抽出されたパターンが継続し続けるとは限らない。このことから、本実施形態では、抽出されたパターンに沿って１つ以上の圧縮処理部１４を停止させている場合、圧縮時間、及び圧縮率は、そのパターンに沿った１つ以上の圧縮処理部１４の停止を継続すべきか否かを判定するうえでの情報として用いている。
【００３２】
より具体的には、本実施形態では、１つ以上の圧縮処理部１４を停止する直前の規定回数分の圧縮時間、及び圧縮率の平均値をそれぞれ算出し、圧縮率の平均値を圧縮時間の平均値で割った値（＝圧縮率の平均値／圧縮時間の平均値）を基準値として算出する。基準値の算出に用いる圧縮率、及び圧縮時間は、圧縮データを選択した圧縮処理部１４のものである。そのようにした算出した基準値を含む予め定めた範囲を許容範囲とする。それにより、本実施形態では、１つ以上の圧縮処理部１４を停止させている場合、圧縮データが採用された圧縮処理部１４の圧縮率を圧縮時間で割った値を算出し、算出した値が許容範囲内か否か確認する。算出した値が許容範囲内でないことが確認された場合、停止中の圧縮処理部１４は全て動作させる。以降、許容範囲は「基準範囲」と表記する。
【００３３】
上記のように算出される基準値は、圧縮するブロック１２ａのデータ特性が比較的に大きく変化しない限り、大きく変化しないと考えられる。このことから、基準値は、データ特性の変化の大きさを判断するうえでの指標としている。本実施形態では、基準範囲は、基準値の上２０％から下１０％の間としている。
【００３４】
圧縮率を圧縮時間で割った値は、圧縮率が大きいほど、圧縮時間が短いほど、大きくなる。データ圧縮では、圧縮率は大きいことが望まれ、圧縮時間は短いことが望まれる。圧縮率を圧縮時間で割った値は、以降「効率値」と表記する。
【００３５】
本実施形態では、効率値を算出することにより、圧縮率、及び圧縮時間の両方を圧縮データ（アルゴリズム）の選択に反映させている。しかし、圧縮データの選択は、圧縮率、及び圧縮時間のうちの一方にのみ着目して行っても良い。或いは、例えば圧縮時間に上限を設け、圧縮時間が上限を越えない圧縮処理部１４が生成した圧縮データのなかで最小サイズのものを選択するようにしても良い。これは、データ圧縮に要求される内容は、常に同じではないからである。それにより、圧縮時間が長い圧縮データを選択しないようにする場合、圧縮データの選択結果に存在する傾向（規則性）を抽出するパターンとして、圧縮時間の長さによって圧縮データが連続して選択されなかった回数を採用することもできる。
【００３６】
図５及び図６は、統計処理部により実行される各圧縮処理部の停止制御を説明する図である。ここで図５及び図６を参照して、統計処理部２１が抽出するパターン、及びパターンの抽出によって実行する各圧縮処理部１４の停止制御について具体的に説明する。
【００３７】
上記のように、統計処理部２１が抽出するパターンには、１つの圧縮処理部１４のみを対象にしたパターンと、複数の圧縮処理部１４を対象にしたパターンとが存在する。図５には、１つの圧縮処理部１４のみを対象にしたパターン、及びそのパターンの抽出により行われる停止制御の実行例を表している。図６には、複数の圧縮処理部１４を対象にパターン、及びそのパターンの抽出により行われる停止制御の実行例を表している。
【００３８】
図５及び図６では、対象ブロック、圧縮率、圧縮時間、及びアルゴリズムの各項目を有する表により、各圧縮処理部１４に対する停止制御の実行例を表している。各項目は、それぞれ以下のような内容を表している。
【００３９】
対象ブロックの項目に表記の１〜３７の数字は、各ブロック１２ａに識別データとして割り当てられたブロック番号を表している。それにより、図５及び図６は、ブロック１２ａ毎に、停止させた圧縮処理部１４を表している。
【００４０】
アルゴリズムの項目のサブ項目に表記のA〜Dはそれぞれアルゴリズムを表している。それにより、Aのアルゴリズムは圧縮処理部１４Ａに相当する。同様に、Ｂのアルゴリズムは圧縮処理部１４Ｂに相当する。アルゴリズムの各サブ項目に表記の「○」及び「×」は、対応するアルゴリズムの選択結果を表している。「○」は対応するアルゴリズムが選択されたことを表し、「×」は対応するアルゴリズムが選択されなかったことを表す。圧縮率、及び圧縮時間の各項目に表記の数字は、圧縮データが選択されたアルゴリズムでの実際の圧縮率、及び圧縮時間を表している。
【００４１】
アルゴリズムの各サブ項目には、「○」及び「×」の他に、「停止１」〜「停止６」が表記されている。これら「停止１」〜「停止６」は全て、対応するアルゴリズムが採用された圧縮処理部１４の停止を表している。「停止１」〜「停止６」における「１」〜「６」の数字は、圧縮処理部１４が停止された期間の長さをブロック１２ａ単位で表している。それにより、例えば「停止１」は、圧縮処理部１４を１ブロック１２ａ分、停止させたことを表している。「停止２」は、圧縮処理部１４を２ブロック１２ａ分、連続して停止させたことを表している。
【００４２】
図５に表すように、本実施形態では、連続して６回、圧縮データが選択されなかった圧縮処理部１４（アルゴリズム）を停止させるようにしている。それにより、アルゴリズムＣ及びＤがそれぞれ採用された圧縮処理部１４Ｂ及び１４Ｃは共に、例えばブロック番号が１〜６のブロック１２ａで圧縮データが選択されなかったことから、ブロック番号が７のブロック１２ａで停止となっている。また、ブロック番号が２４のブロック１２ａでは、共に直前の６回、連続して圧縮データが選択されなかった圧縮処理部１４Ａ、１４Ｃ及び１４Ｄが停止となっている。
【００４３】
本実施形態では、停止期間の上限は６ブロック１２ａ分としている。このように停止期間に上限を設けているのは、データ特性の変化により、停止させている圧縮処理部１４が最適な圧縮データを生成できる可能性が考えられるからである。それにより、６ブロック１２ａ分、停止させた圧縮処理部１４は、再び動作させることにより、最適な圧縮データを生成できるか否か確認するようにしている。
【００４４】
この確認は、２ブロック１２ａ分の期間で行われる。その２ブロック１２ａ分の圧縮処理により、最適な圧縮データを生成しなかったことが確認された圧縮処理部１４は、再度、停止させる。このことから、例えばブロック番号が１２のブロック１２ａの圧縮まで停止させていた圧縮処理部１４Ｃ及び１４Ｄ（アルゴリズムＣ及びＤ）は、ブロック番号が１３、１４のブロック１２ａの圧縮を行っている。その２ブロック１２ａの圧縮により得られた圧縮データは全て選択されなかったことから、圧縮処理部１４Ｃ及び１４Ｄは、ブロック番号が１５のブロック１２ａの圧縮の際に停止させている。ブロック番号が３２のブロック１２ａの圧縮の際に圧縮処理部１４Ａ、１４Ｃ及び１４Ｄを停止させているのは、同じ理由である。
【００４５】
上記のように、本実施形態では、連続して６回、圧縮データが選択されなかったことを条件に、圧縮処理部１４を停止させる。それにより、上記基準値を算出するための規定回数は６回として、全ての圧縮処理部１４を動作させている間に基準値を確実に算出できるようにしている。
【００４６】
本実施形態では、圧縮処理部１４の停止期間には、上限を設け、停止期間の上限まで停止させた圧縮処理部１４を動作させることにより、停止させていた圧縮処理部１４が最適な圧縮データを生成できるか否か確認するようにしている。このため、消費電力を抑えつつ、最適な圧縮データを生成しない可能性もより低く抑えることができる。
【００４７】
ブロック番号が１７のブロック１２ａの圧縮時に停止させられていた圧縮処理部１４Ｂ〜１４Ｄ（アルゴリズムＢ〜Ｄ）は、次のブロック１２ａの圧縮時には停止が解除され、全ての圧縮処理部１４が動作するようになっている。これは、ブロック番号が１７のブロック１２ａの圧縮を行った圧縮処理部１４Ａの圧縮率が低く、その低い圧縮率によって効率値が基準範囲外となったためである。このとき、有効な基準値は約２０（≒（２００＋１９０＋２００＋２１０＋２００＋１２０）／（６×１０＋５）＝１１２０／５５≒２０）、有効範囲の下限は約１８であり、効率値は１２（＝１２０／１０）である。
【００４８】
算出される効率値が基準範囲外となった原因としては、圧縮したブロック１２ａとその前に圧縮を行ったブロック１２ａとの間のデータ特性の変化が考えられる。そのデータ特性の変化は、最適な圧縮データを生成する圧縮処理部１４（アルゴリズム）を変化させる可能性がある。このことから、算出された効率値が基準範囲外となることで停止させている圧縮処理部１４を全て動作させる場合、最適な圧縮データを生成しない可能性をより低減することができる。図５に表すように、ブロック番号が１８のブロック１２ａの圧縮では、圧縮処理部１４Ｂが生成した圧縮データが採用されている。
【００４９】
このように、本実施形態では、１つの圧縮処理部１４のみを対象にしたパターンとしては、その圧縮処理部１４が生成した圧縮データが継続して選択されなかった期間の長さを採用し、採用したパターンを圧縮処理部１４の個別な停止制御に用いている。次に、図６を参照して、複数の圧縮処理部１４を対象にしたパターンと、そのパターンによる圧縮処理部１４全てを対象にした停止制御について具体的に説明する。
【００５０】
ブロック番号が１〜６のブロック１２ａの圧縮では、圧縮処理部１４Ａ（アルゴリズムＡ）と圧縮処理部１４Ｂ（アルゴリズムＢ）が生成した圧縮データが交互に選択されている。そのような選択により、ブロック番号が７〜１２のブロック１２ａの圧縮期間、圧縮処理部１４Ｃおよび１４Ｄ（アルゴリズムＣ及びＤ）は停止される。その圧縮期間、ブロック番号が１〜６のブロック１２ａの圧縮時と同様に、圧縮処理部１４Ａ（アルゴリズムＡ）と圧縮処理部１４Ｂ（アルゴリズムＢ）が生成した圧縮データが交互に選択されている。本実施形態では、複数の圧縮処理部１４を対象にしたパターンとして、２つの圧縮処理部１４の間での圧縮データの交互の選択が規定回数、連続するパターンを採用している。規定回数としては「６」を採用している。それにより、ブロック番号が１３〜２４のブロック１２ａの圧縮期間では、圧縮処理部１４Ｃ及び１４Ｄが連続して停止され、圧縮処理部１４Ａ及び１４Ｂは、パターンに沿って、交互に停止される。
【００５１】
本実施形態では、パターンに沿った停止制御を行う期間の上限は１２ブロック１２ａ分としている。このように期間に上限を設けているのは、データ特性の変化により、停止させている圧縮処理部１４が最適な圧縮データを生成できる可能性が考えられるからである。それにより、１２ブロック１２ａ分、停止させた後は、全ての圧縮処理部１４を動作させることにより、パターンに沿った停止制御を継続すべきか否か確認するようにしている。
【００５２】
この確認は、４ブロック１２ａ分の期間により行われる。その４ブロック１２ａ分の圧縮処理により、パターンに沿った圧縮データの選択が行われたことが確認された場合、再度、１２ブロック１２ａ分の期間を上限とした停止制御が行われる。一方、パターンに沿った圧縮データの選択が行われなかったことが確認された場合、停止制御の継続は無効とされる。図６に表す例では、ブロック番号が２８のブロック１２ａの圧縮時に、圧縮処理部１４Ａが生成した圧縮データが選択されている。圧縮処理部１４Ｂが生成した圧縮データが選択されなかったことから、停止制御の継続は無効となり、ブロック番号が２９のブロック１２ａの圧縮は全ての圧縮処理部１４が行っている。図６には表していないが、効率値が基準範囲外となった場合、その時点で全ての圧縮処理部１４は動作させることになる。
【００５３】
このように、本実施形態では、複数の圧縮処理部１４を対象にしたパターンとしては、２つの圧縮処理部１４が生成した圧縮データの選択パターンを採用し、採用したパターンを圧縮処理部１４全体の停止制御に用いている。しかし、採用するパターンは、３つ以上の圧縮処理部１４が生成した圧縮データの選択パターンであっても良い。また、規則性が存在するのであれば、より複雑な形のパターンを採用しても良い。
【００５４】
複数の圧縮処理部１４を対象にしたパターンによる停止制御を実現するために、本実施形態では、全ての圧縮処理部１４を対象にした管理を行っている。その管理を行う対象としての状態は“フェーズ”と呼ぶことにする。そのフェーズとしては、パターンに沿って各圧縮処理部１４を停止させる“パターンフェーズ”、そのパターンフェーズを継続させるか否か判定するための“パターン継続判定フェーズ”、及びそれら以外の状態である“準備フェーズ”が存在する。
【００５５】
図５に表すような圧縮処理部１４の個別な停止制御を行うために、本実施形態では、圧縮処理部１４の個別な管理も行っている。その管理を行う対象としての状態は“モード”と呼ぶことにする。そのモードは、停止させている停止モード、停止モードを継続させるか否か判定するための停止継続判定モード、パターンフェーズ時に設定される“パターンモード”、及び準備モードが存在する。準備モードは、準備フェーズ時であり、且つ停止モード、及び停止継続判定モードの何れでもない場合のモードである。
【００５６】
図２は、統計情報処理部の構成を説明する図である。統計処理部２１は、図２に表すように、基準情報保持部１１０、統計情報保持部１２０、状態辺底部１３０、圧縮装置管理部１４０、及び状態保持部１５０を備えている。
【００５７】
基準情報保持部１１０は、アクセス制御部２０からブロック１２ａ毎に送出された圧縮率、圧縮時間の保存に用いられる。規定回数分の圧縮率、及び圧縮時間から算出された基準値もこの基準情報保持部１１０に保存される。
【００５８】
統計情報保持部１２０は、アクセス制御部２０が圧縮データを選択した圧縮処理部１４のアルゴリズム名の保存に用いられる。そのアルゴリズム名は、少なくとも、パターンの抽出に必要な数分、保存される。
【００５９】
本実施形態では、上記のように、圧縮処理部１４全体をフェーズで管理し、圧縮処理部１４の個別な管理にモードを用いている。状態保持部１５０は、これら管理用のデータの保存に用いられる。パターンフェーズを継続させている継続期間の長さ（実施回数）、各圧縮処理部１４を停止させている停止期間の長さ（実施回数）等のデータも状態保持部１５０に保存される。
【００６０】
状態判定部１３０は、基準情報保持部１１０、及び統計情報保持部１２０にそれぞれ保存されたデータを参照し、圧縮処理部１４全体に設定すべきフェーズ、及び個別の圧縮処理部１４に設定すべきモードを判定し、その判定結果に応じた設定を行う。状態保持部１５０に保持された各種データの更新は、状態判定部１３０によって行われる。
【００６１】
状態判定部１３０により、圧縮処理部１４のなかで停止させるべき圧縮処理部１４が特定（決定）される。圧縮装置管理部１４０は、状態判定部１３０の決定に従って、停止すべき圧縮処理部１４を停止させる。その停止／動作は、圧縮処理部１４毎に、電源制御部１５への指示によって実現される。その結果、図５及び図６に表すように圧縮処理部１４を停止させる停止制御が実現される。
【００６２】
図７は、本実施形態を適用可能なデータ記憶装置のハードウェア構成例を説明する図である。ここで、本実施形態を適用可能なデータ記憶装置７０のハードウェア構成例について、図７を参照して具体的に説明する。
【００６３】
本実施形態を適用可能なデータ記憶装置７０は、図７に表すように、送受信部７１、ＣＰＵ（Central Processing Unit）７２、メモリ７３、フラッシュメモリ７４、データバッファ７５、４つのＤＳＰ（Digital Signal Processor）７６（７６−１〜７６−４）、及び書き込み装置７７を備えている。
【００６４】
送受信部７１は、ネットワークを介してデータを送受信する通信装置である。図１に表すデータ送受信処理部１１は、この送受信部７１が対応する。
書き込み装置７７は、図１に表すテープ媒体３０を例えば着脱自在に搭載できるものであり、ＣＰＵ７１の指示に従って、データバッファ７５に格納されたデータをテープ媒体３０に格納する。ＣＰＵ７１の指示に従って処理を行うために、書き込み装置７７は、書き込み装置７７全体を制御するコントローラを備えている。このコントローラは、例えば図１に表すアクセス部１８に対応する。
【００６５】
メモリ７３は、ＣＰＵ７２等がワークに用いるメモリであり、フラッシュメモリ７４は、ＣＰＵ７１が実行するプログラムを格納したメモリである。ＣＰＵ７１は、フラッシュメモリ７４に格納されたプログラムをメモリ７３に読み出して実行する。送受信部７１が受信した受信データ１２は、例えばＣＰＵ７２によってメモリ７３に格納され、ブロック１２ａに分割される。それにより、図１に表すデータ分割処理部１３は、例えばＣＰＵ７２、メモリ７３、及びフラッシュメモリ７４によって実現される。
【００６６】
各ＤＳＰ７６−１〜７６−４は、それぞれ、圧縮処理部１４Ａ〜１４Ｄに相当するものである。各ＤＳＰ７６は、ＣＰＵ７２の指示に従い、例えばメモリ７３に格納されたブロック１２ａを読み出し、圧縮処理を行って、データバッファ７５の指定された領域に圧縮データを格納する。このことから、図１に表すバッファ部１６は、データバッファ７５が対応する。
【００６７】
図１に表すサイズ比較部１９、アクセス制御部２０、及び統計情報処理部２１も、例えばＣＰＵ７２、メモリ７３、及びフラッシュメモリ７４によって実現される。図２において、基準情報保持部１１０、統計情報保持部１２０、及び状態保持部１５０は共に、例えばメモリ７３である。また、状態判定部１３０、及び圧縮装置管理部１４０は、ＣＰＵ７２が、フラッシュメモリ７４に格納されたプログラムをメモリ７３に読み出して実行することで実現される。
【００６８】
図７に表すハードウェア構成は、一例であり、本実施形態を適用可能なデータ記憶装置７０は、図７に表す構成に限定されるものではない。例えば各ＤＳＰ７６はそれぞれ圧縮処理部１４に対応するが、ＤＳＰ７６の代わりに、ＣＰＵ、或いはＣＰＵを搭載した着脱可能なモジュール装置（例えば１台のコンピュータとして動作するもの）を採用しても良い。
【００６９】
状態判定部１３０、及び圧縮装置管理部１４０は、例えばＣＰＵ７２が以下のような処理を実行することで実現される。次に図３及び図４を参照して、状態判定部１３０、及び圧縮装置管理部１４０を実現させる処理について、詳細に説明する。
【００７０】
図３は、状態判定処理のフローチャートである。この状態判定処理は、圧縮処理部１４全体の状態（フェーズ）、及び個別に圧縮処理部１４の状態（モード）を判定・設定するための処理であり、図２の状態判定部１３０は、ＣＰＵ７２がこの状態判定処理を実行することで実現される。
【００７１】
状態判定処理は、ＣＰＵ７２が、フラッシュメモリ７４に格納されたサブプログラムをメモリ７３に読み出して実行することで実現される。状態判定処理は、例えばテープ媒体３０に書き込むべき圧縮データの選択が終了した後に実行される。フェーズを管理するためのデータ、モードを管理するためのデータ、フェーズ、及びモードをそれぞれ継続させている期間の長さを管理するためのデータ等は、上記のようにメモリ７３に格納されている。
【００７２】
先ず、ＣＰＵ７２は、現在パターンフェーズを設定しているか否か判定する（Ｓ１）。現在、パターンフェーズを設定していた場合、Ｓ１の判定はｙｅｓとなってＳ２に移行する。そのパターンフェーズが設定されていない場合、Ｓ１の判定はｎｏとなってＳ７に移行する。
【００７３】
図６に表すように、パターンフェーズは１２ブロック１２ａ分の圧縮期間を上限に、その圧縮期間の経過によりパターン継続判定フェーズに移行させるようになっている。Ｓ２では、ＣＰＵ７２は、パターンフェーズを規定回数、実施したか否か判定する。その規定回数は１２回（１２ブロック１２ａ分）である。このことから、そのパターンフェーズで１２ブロック１２ａ分の圧縮を行った場合、Ｓ２の判定はｙｅｓとなり、パターンフェーズからパターン継続判定フェーズに移行させ、フェーズの設定期間の長さを計数するためのデータである実施回数に０をセットする（Ｓ３）。その後、Ｓ３１に移行する。一方、パターンフェーズで１２ブロック１２ａ分の圧縮を行っていない場合、Ｓ２の判定はｎｏとなってＳ４に移行する。
【００７４】
Ｓ４では、ＣＰＵ７２は、圧縮率を圧縮時間で割って得られる効率値が基準範囲内か否か判定する。その効率値が基準範囲内であった場合、Ｓ４の判定はｙｅｓとなり、パターンフェーズを維持させつつ、上記実施回数をカウントアップ、つまりインクリメントする（Ｓ５）。その後はＳ３１に移行する。一方、効率値が基準範囲外であった場合、Ｓ４の判定はｎｏとなり、パターンフェーズから準備フェーズに移行させる（Ｓ６）。その後はＳ３１に移行する。
【００７５】
上記Ｓ７では、ＣＰＵ７２は、パターン継続判定フェーズを設定しているか否か判定する。パターン継続判定フェーズを設定していた場合、Ｓ７の判定はｙｅｓとなってＳ８に移行する。パターン継続判定フェーズを設定していない場合、つまり準備フェーズを設定していた場合、Ｓ７の判定はｎｏとなってＳ１３に移行する。
【００７６】
パターン継続判定フェーズも、パターンフェーズと同様に、予め定めたブロック１２ａ数分の圧縮期間を上限として設定されるフェーズである。このことから、Ｓ８では、ＣＰＵ７２は、パターン継続判定フェーズを規定回数、実施したか否か判定する。その規定回数は４回（４ブロック１２ａ分）である。このことから、パターン継続判定フェーズで４ブロック１２ａ分の圧縮を行った場合、Ｓ８の判定はｙｅｓとなってＳ１０に移行する。一方、パターン継続判定フェーズで４ブロック１２ａ分の圧縮を行っていない場合、Ｓ８の判定はｎｏとなり、パターン継続判定フェーズのまま、上記実施回数をカウントアップする（Ｓ９）。その後、Ｓ３１に移行する。
【００７７】
Ｓ１０では、ＣＰＵ７２は、採用パターンは継続していたか否か判定する。パターン継続判定フェーズ中に圧縮データが選択された圧縮処理部１４の変化が採用パターンに沿っていなかった場合、Ｓ１０の判定はｎｏとなり、パターン継続判定フェーズから準備フェーズに移行させる（Ｓ１１）。その後Ｓ３１に移行する。一方、パターン継続判定フェーズ中に圧縮データが選択された圧縮処理部１４の変化が採用パターンに沿っていた場合、Ｓ１０の判定はｙｅｓとなり、パターン継続判定フェーズからパターンフェーズに移行させ、実施回数を０にセットする（Ｓ１２）。その後Ｓ３１に移行する。
【００７８】
Ｓ１３では、ＣＰＵ７２は、特定の採用パターンが直前の規定回数、連続しているか否か判定する。図６に表すように、直前の規定回数、つまり１２ブロック１２ａ分の圧縮データの選択が２つの圧縮処理部１４の間で交互に行われていた場合、Ｓ１３の判定はｙｅｓとなり、パターンフェーズ、及びパターンモードにそれぞれ移行させる（Ｓ１４）。その後Ｓ３１に移行する。そのような圧縮データの選択が行われなかった場合、Ｓ１３の判定はｎｏとなってＳ１５に移行する。
【００７９】
上記Ｓ１〜Ｓ１４は、圧縮処理部１４全体を対象にしたフェーズの設定のために行われる。Ｓ１５以降は、圧縮処理部１４を個別にモード設定するために行われる。Ｓ１５には、準備フェーズの設定時のみ移行する。
【００８０】
先ず、ＣＰＵ７２は、圧縮処理部１４のなかから一つを処理対象として選択する（Ｓ１５）。次にＣＰＵ７２は、選択した圧縮処理部１４に設定しているモードが停止モードか否か判定する（Ｓ１６）。その停止モードが設定されていた場合、Ｓ１６の判定はｙｅｓとなってＳ１７に移行する。その停止モードが設定されていない場合、Ｓ１６の判定はｎｏとなってステップＳ２２に移行する。
【００８１】
Ｓ１７では、ＣＰＵ７２は、停止モードでの圧縮を規定回数、実施したか否か判定する。その規定回数は６回（６ブロック１２ａ分）である。このことから、停止モードで６ブロック１２ａ分の圧縮を行った場合、Ｓ１７の判定はｙｅｓとなり、停止モードから停止継続判定モードに移行させ、実施回数を０にセットする（Ｓ１８）。その後はＳ３１に移行する。一方、停止モードで６ブロック１２ａ分の圧縮を行っていない場合、Ｓ１７の判定はｎｏとなってＳ１９に移行する。
【００８２】
Ｓ１９では、ＣＰＵ７２は、効率値が基準範囲内か否か判定する。その効率値が基準範囲内であった場合、Ｓ１９の判定はｙｅｓとなり、停止継続判定モードから停止モードに移行させ、モードが継続している期間を計数するためのデータである実施回数を０にセットする（Ｓ２０）。その効率値が基準範囲外であった場合、Ｓ１９の判定はｎｏとなり、停止継続判定モードから準備モードに移行させる（Ｓ２１）。Ｓ２０或いはＳ２１の処理を実行した後はＳ３１に移行する。
【００８３】
Ｓ２２では、ＣＰＵ７２は、停止継続判定モードを設定しているか否か判定する。停止継続判定モードを設定している場合、Ｓ２２の判定はｙｅｓとなってＳ２３に移行する。停止継続判定モードが設定されていない場合、Ｓ２２の判定はｎｏとなってＳ２８に移行する。
【００８４】
Ｓ２３では、ＣＰＵ７２は、停止継続判定モードでの圧縮を規定回数、実施したか否か判定する。その規定回数は２回（２ブロック１２ａ分）である。このことから、停止継続判定モードで２ブロック１２ａ分の圧縮を行った場合、Ｓ２３の判定はｙｅｓとなってＳ２５に移行する。停止継続判定モードで２ブロック１２ａ分の圧縮を行っていない場合、Ｓ２３の判定はｎｏとなり、停止継続判定モードを維持させつつ、実施回数をカウントアップする（Ｓ２４）。その後Ｓ３１に移行する。
【００８５】
Ｓ２５では、ＣＰＵ７２は、採用パターンは継続していたか否か判定する。停止継続判定モードで圧縮データが１回以上、選択された場合、採用パターンは継続していないと見なされる。そのため、Ｓ２５の判定はｎｏとなり、停止継続判定モードから準備モードに移行させる（Ｓ２６）。一方、停止継続判定モードで圧縮データが一度も選択されなかった場合、採用パターンは継続していると見なされる。そのため、Ｓ２５の判定はｙｅｓとなり、停止継続判定モードから停止モードに移行させ、実施回数を０にセットする（Ｓ２７）。Ｓ２６及びＳ２７の何れかの処理を実行した後はＳ３１に移行する。
【００８６】
Ｓ２８では、ＣＰＵ７２は、停止モードへの移行に必要な規定回数、圧縮データが採用（選択）されていないか否か判定する。その規定回数は６回（６ブロック１２ａ分）である。このことから、直前の６ブロック１２ａで圧縮データが１回も採用されていない場合、Ｓ２８の判定はｙｅｓとなり、準備モードから停止モードに移行させ、実施回数を０にセットする（Ｓ２９）。一方、直前の６ブロック１２ａで圧縮データが１回以上、採用されていた場合、Ｓ２８の判定はｎｏとなり、準備モードの設定を継続させる（Ｓ３０）。Ｓ２９及びＳ３０の何れかの処理を実行した後はＳ３１に移行する。
【００８７】
Ｓ３１では、ＣＰＵ７２は、他に処理対象とすべき圧縮処理部１４があるか否か判定する。全ての圧縮処理部１４を処理対象としていた場合、Ｓ３１の判定はｙｅｓとなり、ここで状態判定処理が終了する。処理対象とすべき圧縮処理部１４が残っていた場合、Ｓ３１の判定はｎｏとなり、上記Ｓ１５に戻る。それにより、Ｓ１５では、処理対象とすべき次の圧縮処理部１４の選択が行われる。
【００８８】
特には図示していないが、Ｓ１４の処理の実行時、或いはＳ３１のｎｏの判定時には、基準値を計算すべき状況か否か判定し、その判定結果に応じて基準値（基準範囲）を計算する処理が行われる。それにより、基準値（基準範囲）は、必要に応じて随時、更新される。
【００８９】
このようにして、設定すべきフェーズが判定され、その判定結果に応じてフェーズの設定が行われる。モード判定、その判定結果に応じたモード設定は、必要に応じて行われる。これは、フェーズはモードよりも上位の設定だからである。
【００９０】
図４は、圧縮装置停止処理のフローチャートである。この圧縮装置停止処理は、圧縮処理部１４のなかで停止すべき圧縮処理部１４を停止するための処理であり、図２の圧縮装置管理部１４０は、ＣＰＵ７２がこの圧縮装置管理処理を実行することで実現される。
【００９１】
圧縮装置管理処理は、ＣＰＵ７２が、フラッシュメモリ７４に格納されたサブプログラムをメモリ７３に読み出して実行することで実現される。圧縮装置管理処理は、上記状態判定処理が終了した後に実行される。
【００９２】
先ず、ＣＰＵ７２は、現在パターンフェーズを設定しているか否か判定する（Ｓ５１）。現在、パターンフェーズを設定していた場合、Ｓ５１の判定はｙｅｓとなり、図６に表すようにパターンに沿って１つの圧縮処理部１４のみに動作を指示する（Ｓ５２）。その後、この圧縮装置管理処理を終了する。現在、パターンフェーズを設定していない場合、Ｓ５１の判定はｎｏとなってＳ５３に移行する。
【００９３】
Ｓ５３では、ＣＰＵ７２は、圧縮処理部１４のなかから一つを処理対象として選択する。次にＣＰＵ７２は、選択した圧縮処理部１４に設定しているモードが停止モードか否か判定する（Ｓ５４）。その停止モードが設定されていた場合、Ｓ５４の判定はｙｅｓとなり、処理対象とする圧縮処理部１４に停止を指示する（Ｓ５５）。一方、その停止モードが設定されていない場合、Ｓ５４の判定はｎｏとなり、処理対象とする圧縮処理部１４に動作を指示する（Ｓ５６）。Ｓ５５の処理、或いはＳ５６の処理の実行後はＳ５７に移行する。
【００９４】
Ｓ５７では、ＣＰＵ７２は、他に処理対象とすべき圧縮処理部１４があるか否か判定する。全ての圧縮処理部１４を処理対象としていた場合、Ｓ５７の判定はｙｅｓとなり、ここで圧縮装置管理処理が終了する。処理対象とすべき圧縮処理部１４が残っていた場合、Ｓ５７の判定はｎｏとなり、上記Ｓ５３に戻る。それにより、Ｓ５３では、処理対象とすべき次の圧縮処理部１４の選択が行われる。
【００９５】
このようにして、パターンフェーズの設定時には、圧縮処理部１４のなかで１つの圧縮処理部１４のみ動作が指示され、パターンフェーズの未設定時には、各圧縮処理部１４が個別に動作が指示される。それにより、各圧縮処理部１４の個別な停止は、パターンフェーズの未設定時に行われる。
【００９６】
なお、本実施形態では、停止モードの設定期間、つまり圧縮処理部１４に圧縮を行わせないブロック１２ａの数は固定としているが、設定期間は可変としても良い。例えば圧縮処理部１４毎に、それが生成した圧縮データが採用（選択）される頻度を求め、その頻度に応じて設定期間の長さを変更するようにしても良い。そのように設定期間を変更可能にした場合、最適な圧縮パターンの生成を行えるようにしつつ、消費電力をより抑えることが可能になる。パターンフェーズの設定期間も同様な理由から、可変としても良い。
【００９７】
また、本実施形態によるデータ圧縮装置は、データ記憶装置に搭載されているが、１つの独立した装置として実現させても良い。搭載させる装置は、データ記憶装置に限定されるものではなく、データ通信を行う装置、或いはデータ通信を行うシステムを構成する装置であっても良い。
【００９８】
本実施形態では、圧縮処理部１４を４つ備えているが、圧縮処理部１４の数は４つでなくとも良い。この４つの圧縮処理部１４は各々、異なるアルゴリズムが採用されたものであるが、圧縮処理を行う条件が異なる同じアルゴリズムが２つ以上の圧縮処理部１４に採用されていても良い。ロスレス型のアルゴリズムでは、辞書サイズがその条件の一つとなる。
【００９９】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
圧縮対象のデータを複数の分割ブロックに分割し、分割ブロック毎に圧縮するデータ圧縮装置であって、
各々異なるアルゴリズムにより分割ブロックの圧縮を行い、該圧縮により圧縮ブロックを生成する、複数の圧縮処理部と、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択する選択部と、
前記選択部による選択結果に規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる制御部と、
を有することを特徴とするデータ圧縮装置。
（付記２）
前記規則性は、前記複数の圧縮処理部のうちの一つが生成した圧縮データが前記選択部により所定回数連続して選択されなかった第１の規則性、及び前記複数の圧縮処理部のうちの二つ以上の圧縮処理部が生成した圧縮データが前記選択部により同一のパターンで順次選択された第２の規則性のうちの何れかを少なくとも含み、
前記制御部は、前記規則性が前記第１の規則性、及び前記第２の規則性のうちの何れかにより、停止すべき圧縮処理部、及び停止すべき期間を決定する
ことを特徴とする付記１に記載のデータ圧縮装置。
（付記３）
前記制御部は、前記第２の規則性が存在する場合、分割ブロックの圧縮を前記複数の圧縮処理部のうちの一つにのみ行わせる
ことを特徴とする付記２に記載のデータ圧縮装置。
（付記４）
前記制御部は、前記第２の規則性により停止させた圧縮処理部が存在する状況となった場合に、予め定めたタイミングで全ての圧縮処理部に分割ブロックの圧縮を行わせ、前記選択部による選択を行わせることにより、当該第２の規則性が継続しているか否かを確認する
ことを特徴とする付記２又は３に記載のデータ圧縮装置。
（付記５）
前記制御部は、前記第１の規則性、及び前記第２の規則性の一方により停止させた圧縮処理部が存在する状況において、前記選択部により選択された圧縮ブロックの生成結果が所定の条件を満たさない場合には、停止させた全ての圧縮処理部による分割ブロックの圧縮を再開させる
ことを特徴とする付記２乃至４のいずれか１項に記載のデータ圧縮装置。
（付記６）
圧縮対象のデータを複数の分割ブロックに分割し、前記分割ブロック毎に圧縮するデータ圧縮装置として用いられるコンピュータが実行するデータ圧縮方法であって、
各々異なるアルゴリズムが採用された複数の圧縮処理部に分割ブロックを圧縮させることにより、該圧縮による圧縮ブロックを生成させ、
生成された各圧縮ブロックのサイズ及び圧縮に要した各処理時間のうちの少なくとも一方に基づいて、前記複数の圧縮処理部のいずれかが生成した圧縮ブロックを選択し、
圧縮ブロックの選択パターンに規則性が存在する場合に、該規則性に基づいて、前記複数の圧縮処理部のうちのいずれかの圧縮処理部を停止させる
ことを特徴とするデータ圧縮方法。
（付記７）
共通する圧縮対象データに対して、それぞれ異なるアルゴリズムで圧縮処理を施して複数の圧縮データを生成する複数の圧縮処理部と、
生成された前記複数の圧縮データの各データサイズと、前記複数の圧縮データの生成に要した各処理時間のうちの少なくともいずれかに基づいて、前記複数の圧縮データのうちから圧縮データを選択する選択部と、
あるデータを分割して得られた分割データ群のうちの１又は複数の分割データが前記複数の圧縮処理部によって処理された場合に、該１又は複数の分割データに関する前記選択部の選択パターンに応じて、前記複数の圧縮処理部のうち、いずれかの圧縮処理部の動作を停止させて、前記分割データ群に含まれる、前記１又は複数の分割データ以外の分割データについては、動作を停止した前記圧縮処理部による圧縮処理を回避する制御を行う制御部と、
を備えたことを特徴とするデータ圧縮装置。
【符号の説明】
【０１００】
１    データ記憶装置
２    サーバ
１１    データ送受信部
１２    受信データ
１４、１４Ａ〜１４Ｄ    圧縮処理部
１５、１５Ａ〜１５Ｄ    電源制御部
１６    バッファ部
１７、１７Ａ１〜１７Ｘ２    格納エリア
１８    アクセス部
１９    サイズ比較部
２０    アクセス制御部
２１    統計情報処理部
３０    テープ媒体
７１    送受信部
７２    ＣＰＵ
７３    メモリ
７４    フラッシュメモリ
７５    データバッファ
７６、７６−１〜７６−４    ＤＳＰ
７７    書き込み装置
１１０    基準情報保持部
１２０    統計情報保持部
１３０    状態判定部
１４０    圧縮装置管理部
１５０    状態保持部
【図１】
2013085071.tif 000003
【図２】
2013085071.tif 000004
【図３】
2013085071.tif 000005
【図４】
2013085071.tif 000006
【図５】
2013085071.tif 000007
【図６】
2013085071.tif 000008
【図７】
2013085071.tif 000009