(57)【特許請求の範囲】
【請求項１】
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力する重複判定部と、
前記非重複データブロックを保持するバッファと、
前記保管データブロックそれぞれ及び前記非重複データブロックそれぞれに対応する、ハッシュ値と保存先アドレスとを関連付けて記憶する管理情報記憶部と、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力する非重複データ増加予測部と、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新するバッファ出力制御部と、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知するモード制御部と、を含み
前記重複判定部は、前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加する
ストレージ制御装置。
【請求項２】
前記非重複データ増加予測部は、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して算出した時間を前記予測情報として出力する
ことを特徴とする請求項１記載のストレージ制御装置。
【請求項３】
前記入力データブロックは、可変長であり、
前記重複判定部１２０は、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする請求項１または２記載のストレージ制御装置。
【請求項４】
前記非重複データ増加予測部は、前記判定結果を受け取る毎に前記予測情報を出力する
ことを特徴とする請求項１乃至３のいずれかに記載のストレージ制御装置。
【請求項５】
前記非重複データ増加予測部は、予め定められた時間毎に前記予測情報を通知する
ことを特徴とする請求項１乃至４のいずれかに記載のストレージ制御装置。
【請求項６】
前記運転モードに基づいて、省電力運転モードと通常電力運転モードとを切り替える電源制御部と、
受け取った前記非重複データブロックを前記保管データブロックとして記憶するデータ記憶部と、を含むストレージ装置と、
請求項１乃至５のいずれかに記載のストレージ制御装置と、を含む
ストレージシステム。
【請求項７】
バッファと管理情報記憶部とを有するストレージ制御装置が、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する
ストレージ制御方法。
【請求項８】
ストレージ制御装置は、前記予測情報を算出において、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して時間を算出する
ことを特徴とする請求項７記載のストレージ制御方法。
【請求項９】
前記入力データブロックは可変長であり、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする請求項７または８記載のストレージ制御装置。
【請求項１０】
バッファと管理情報記憶部とを有するコンピュータに、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する、処理を実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、ストレージシステム、ストレージ制御方法及びそのためのプログラムに関し、特にストレージ装置、ストレージシステムの省電力化に係るストレージ制御装置、ストレージシステム、ストレージ制御方法及びそのためのプログラムに関する。
【背景技術】
【０００２】
ストレージ装置、ストレージシステムの省電力化についてさまざまな関連技術が知られている。
【０００３】
例えば、特許文献１は、用途種別や容量増加傾向の情報に基づいて必要なストレージ容量を算出し、余剰の記憶容量分を削減可能とする、ストレージ装置を管理する計算機及び方法を開示している。このように特許文献１は、一般的なストレージシステムにおける省電力化の技術を開示している。
【０００４】
このような一般的なストレージシステムとは異なる、重複排除ストレージがある。
【０００５】
重複排除ストレージは、入力されたデータがすでに過去に入力され保存されているデータと重複している場合、重複データの管理テーブルの更新だけを行い、その入力されたデータをストレージに保存しない。このような重複排除ストレージにおいて、入力されるデータの大半が過去に保存されたデータと重複している場合、実際にストレージに書き込まれるデータの容量は少ない。従って、ストレージの稼働率は、低くなる傾向がある。
【０００６】
このような重複排除ストレージにおける省電力制御の関連技術が特許文献２及び３に記載されている。
【０００７】
特許文献２は、ストレージシステム及びストレージシステムの消費電力低減方法を開示している。このストレージシステムは、複数のディスク装置を含む複数の論理ユニットと電源制御ユニットとを有している。また、電源制御ユニットは、各論理ユニットを個別に電源オン／オフする。複数の論理ユニットそれぞれは、常時稼動グループまたは省電力グループに振り分けられている。このストレージシステムは、同一ハッシュ値を有するデータを同一の論理ユニットに集約するように動作する。こうすることで、このストレージシステムは、重複除去を実行する場合に、電源を投入するべき省電力グループに属する論理ユニットの台数が少なくなるように制御している。
【０００８】
また、特許文献３に記載のデータデデュプリケーションを用いる電力効率のよいストレージは、電源を常時投入しておくバッファボリュームと通常は電源を落としておくベースボリュームとを有している。このストレージは、特定のタイミングでベースボリュームの電源を投入し、バッファボリュームに格納されているデータと、ベースボリュームに格納されているデータとを比較する。そして、このストレージは、比較結果に基づいて、バッファボリュームに格納されているデータのうちの、ベースボリュームに格納されているデータと重複していないデータをベースボリュームに格納する。その後、このストレージは、ベースボリュームの電源を切断する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−２１１７４３号公報
【特許文献２】特開２００９−０５９０９６号公報
【特許文献３】特開２００９−０２０８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した関連技術においては、重複排除ストレージにおける省電力が不十分であるという問題点がある。
【００１１】
省電力が不十分である理由は、以下のとおりである。
【００１２】
特許文献２のストレージシステム及びストレージシステムの消費電力低減方法は、重複除去の状況に係わらず常時稼動モードである、の論理ユニットを有しているからである。
【００１３】
特許文献３のデータデデュプリケーションを用いる電力効率のよいストレージは、常時稼動しているバッファボリュームを有しているからである。即ち、このストレージは、重複データの多少に係わらず、ベースボリュームを起動して重複判定処理を実行するまでに入力されるデータを全て保存できる、大きさの容量を有するバッファボリュームを、常に稼動させているからである。
【００１４】
本発明の目的は、上述した問題点を解決できるストレージ制御装置、ストレージシステム、ストレージ制御方法及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明のストレージ制御装置は、ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力する重複判定部と、
前記非重複データブロックを保持するバッファと、
前記保管データブロックそれぞれ及び前記非重複データブロックそれぞれに対応する、ハッシュ値と保存先アドレスとを関連付けて記憶する管理情報記憶部と、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力する非重複データ増加予測部と、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新するバッファ出力制御部と、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知するモード制御部と、を含み
前記重複判定部は、前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加する。
【００１６】
本発明のストレージ制御方法は、バッファと管理情報記憶部とを有するストレージ制御装置が、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する。
【００１７】
本発明のプログラムは、バッファと管理情報記憶部とを有するコンピュータに、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する、処理を実行させる。
【発明の効果】
【００１８】
本発明は、重複排除ストレージにおいて十分な省電力をすることが可能になるという効果がある。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１及び第２の実施形態の構成を示すブロック図である。
【図２】本発明の第１及び第２の実施形態におけるハッシュ値管理テーブルの例を示す図である。
【図３】本発明の第１及び第２の実施形態における参照元管理テーブルの例を示す図である。
【図４】本発明の第１及び第２の実施形態における重複判定履歴の例を示す図である。
【図５】本発明の第１及び第２の実施形態の非重複データの今後の発生状況を予測する方程式である。
【図６】本発明の第１及び第２の実施形態の重複排除部の動作を示すフローチャートである。
【図７】本発明の第１及び第２の実施形態の非重複データ増加予測部の動作を示すフローチャートである。
【図８】本発明の第１及び第２の実施形態のモード制御部の動作を示すフローチャートである。
【図９】本発明の第２の実施形態の構成を示すブロック図である。
【図１０】本発明のプログラムにより所定の処理をコンピュータに実行させるストレージ制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００２１】
［第１の実施形態］
図１は、本発明の第１の実施形態の構成を示すブロック図である。
【００２２】
図１を参照すると、本実施形態は、ストレージ制御装置１００とストレージ装置２００とホストシステム３００とから構成されている。
【００２３】
ストレージ制御装置１００とストレージ装置２００とホストシステム３００とは、ネットワーク９００で接続されている。ストレージ制御装置１００、ストレージ装置２００及びホストシステム３００相互間の通信は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いて行われる。また、例えば、ストレージ装置２００に対するデータの読み取り及び書き込みについては、ＳＡＮ（ステップＳｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の形態をとってもよい。
【００２４】
ストレージ制御装置１００は、データ分割部１１０、重複判定部１２０、非重複データ増加予測部１３０、モード制御部１４０、バッファ出力制御部１５０、管理情報記憶部１６０及びバッファ１７０を含む。
【００２５】
ストレージ装置２００は、電源制御部２１０及び１以上のディスク部（データ記憶部とも呼ばれる）２２０を含む。
【００２６】
ホストシステム３００は、ストレージ装置２００に書き込む入力データ及び書き込みアドレスを含むライトコマンドを送信する。
【００２７】
ストレージ制御装置１００において、データ分割部１１０は、ホストシステム３００からライトコマンドを受け取り、入力データを分割して１以上の入力データブロック（ストレージ装置２００への格納対象候補であるデータブロック）を生成する。同時に、データ分割部１１０は、ライトコマンドに含まれる書き込みアドレスに基づいて、生成した入力データブロック毎の書き込みアドレス（以後、参照元アドレスと呼ぶ）を生成する。次に、データ分割部１１０は、生成した入力データブロックと対応する参照元アドレスとの組を重複判定部１２０へ出力する。ここで、参照アドレスは、ホストシステム３００がストレージ装置２００をアクセスする場合の論理アドレスである。
【００２８】
尚、生成される入力データブロックのサイズは、可変長であってもよいし、固定長であってもよい。本実施形態においては、入力データブロックのサイズは、可変長であるものとして説明する。尚、入力データの分割の技術については周知であるため、説明を省略する。
【００２９】
管理情報記憶部１６０は、図２に示すようなハッシュ値管理テーブル１６１と図３に示すような参照元管理テーブル１６２とを記憶する。
【００３０】
図２は、ハッシュ値管理テーブル１６１の例を示す図である。図２を参照すると、ハッシュ値管理テーブル１６１は、バッファ１７０に保持されている入力データブロック（後述の非重複データブロック）それぞれ及びストレージ装置２００に記憶されている保管データブロックそれぞれに対応するハッシュ値１６３と保存先アドレス１６４との組を含む。保管データブロックは、データ分割部１１０により生成された入力データブロックであって、すでにストレージ装置２００に格納されているデータブロックである。
【００３１】
図３は、参照元管理テーブル１６２の例を示す図である。図３を参照すると、参照元管理テーブル１６２は、非重複データブロックそれぞれ及び保管データブロックそれぞれに対応する参照元アドレス１６５と保存先アドレス１６４との組を含む。
【００３２】
保管データブロックに対応する保存先アドレス１６４は、ストレージ制御装置１００がストレージ装置２００をアクセスする場合の、物理アドレスである。非重複ブロックに対応する保存先アドレス１６４は、バッファ１７０上のアドレスである。参照元アドレス１６５は、ホストシステム３００がストレージ装置２００をアクセスする場合の、論理アドレスである。
【００３３】
重複判定部１２０は、入力データブロックが、保管データブロックに含まれるデータとは異なるデータを含む、非重複データブロックであるか否かを判定し、その判定結果を含む判定結果情報を非重複データ増加予測部１３０へ出力する。
【００３４】
具体的には、重複判定部１２０は、入力データブロックに含まれるデータのハッシュ値（以後、ハッシュ値６６３と呼ぶ、図示しない）を算出する。尚、ハッシュ値６６３を算出する技術については周知であるため、説明を省略する。
【００３５】
続けて、重複判定部１２０は、ハッシュ値６６３とハッシュ値管理テーブル１６１のハッシュ値１６３とを比較する。そして、ハッシュ値６６３がいずれのハッシュ値１６３とも一致しなかった場合、重複判定部１２０は、対応する入力データブロックが非重複データブロックであると判定する。一方、ハッシュ値６６３がいずれかのハッシュ値１６３と一致した場合、重複判定部１２０は、対応する入力データブロックが重複データブロックであると判定する。
【００３６】
重複判定部１２０は、対応する入力データブロックが非重複データブロックであると判定した場合、その非重複データブロックをバッファ１７０に書き込む。同時に、重複判定部１２０は、ハッシュ値管理テーブル１６１及び参照元管理テーブル１６２を更新する。具体的には、重複判定部１２０は、ハッシュ値管理テーブル１６１に、その非重複データブロックのハッシュ値１６３と保存先アドレス１６４との組を追加する。同じく、重複判定部１２０は、参照元管理テーブル１６２に、その非重複データブロックの参照元アドレス１６５と保存先アドレス１６４との組を追加する。この場合、保存先アドレス１６４は、バッファ１７０上のアドレスである。
【００３７】
また、重複判定部１２０は、対応する入力データブロックが非重複データブロックでない、即ち、重複ブロックであると判定した場合、その重複データブロックを廃棄する。同時に、重複判定部１２０は、参照元管理テーブル１６２を更新する。具体的には、重複判定部１２０は、参照元管理テーブル１６２を、例えば以下のように更新する。まず、重複判定部１２０は、ハッシュ値管理テーブル１６１を参照して、その入力ブロックデータのハッシュ値６６３と同じ値のハッシュ値１６３に対応する保存先アドレス１６４を取得する。次に、重複判定部１２０は、その入力ブロックデータの参照元アドレス１６５と取得した保存先アドレス１６４とを組にして参照元管理テーブル１６２に追加する。
【００３８】
次に、重複判定部１２０は、その判定結果と対応する入力データブロックのサイズと入力データスループットとを含む判定結果情報を出力する。本実施形態において、入力データスループットは、単位時間当たりの入力データの量である。例えば、重複判定部１２０は、現在時刻から過去1秒間に受け取った入力データブロックのサイズを積算して、入力データスループットを算出する。
【００３９】
バッファ１７０は、非重複データブロックを保持する。バッファ１７０が備える容量（Ｂ＿ｍａｘバイト）は、例えば、以下のように決定される。ストレージ制御装置１００が受け付ける入力データの１秒当たりの最大容量は、Ｂ＿ｉｎｐｕｔバイト／秒であるとする。ストレージ装置２００が省電力モードの状態から通常動作モードの状態へ変化するのに掛かる起動時間は、Ｔ＿ｓｔａｒｔ秒であるとする。この場合、バッファ１７０の容量（Ｂ＿ｍａｘバイト）は、（Ｂ＿ｉｎｐｕｔ×Ｔ＿ｓｔａｒｔ）バイトより大きい。
【００４０】
バッファ出力制御部１５０は、バッファ１７０に保存されている入力データブロック（非重複データブロック）をストレージ装置２００へ出力する。続けて、バッファ出力制御部１５０は、バッファ１７０をクリアする。同時に、バッファ出力制御部１５０は、ハッシュ値管理テーブル１６１及び参照元管理テーブル１６２の保存先アドレス１６４を、バッファ１７０上のアドレスからストレージ装置２００上のアドレスへ更新する。
【００４１】
非重複データ増加予測部１３０は、重複判定部１２０が出力した判定結果情報とバッファ１７０の容量とバッファ１７０の現在の保持量とに基づいて、予測される非重複データの今後の発生状況に対応する予測情報を算出する。次に、非重複データ増加予測部１３０は、その予測情報を出力する。バッファ１７０の現在の保持量は、非重複データ増加予測部１３０がバッファ１７０から取得した、バッファ１７０に保持している入力データブロックのサイズの合計である。
【００４２】
例えば、非重複データ増加予測部１３０は、以下のように予測情報を算出する。まず、非重複データ増加予測部１３０は、入力データブロックのサイズと対応する判定結果とに基づいて、予め定められた期間（例えば、過去１ミリ秒間）中の、入力データブロックのデータサイズを全て合計した値（Ｘとする）と非重複データブロックのデータサイズを全て合計した値（Ｙとする）との比率（Ｙ÷Ｘ）を算出する。尚、「予め定められた期間中の」は、「予め定められた条件に適合する」とも呼ばれる。「予め定められた条件に適合する」は、例えば、「最新の入力データブロックから、所定の個数の範囲内の」であってもよい。
【００４３】
次に、非重複データ増加予測部１３０は、その算出した比率に入力データスループットを乗じて非重複データスループットを算出する。次に、非重複データ増加予測部１３０は、その算出した非重複データスループットとバッファ１７０の容量とバッファ１７０の現在の保持量とに基づいて、バッファ１７０に保持される非重複データブロックのサイズの合計がバッファ１７０の容量に達するまでの時間を予測情報として算出する。
【００４４】
更に具体的に説明すると、非重複データ増加予測部１３０は、例えば以下のように予測情報を算出する。
【００４５】
まず、非重複データ増加予測部１３０は、重複判定部１２０が出力した判定結果と対応する入力データブロックのサイズとを、非重複データ増加予測部１３０内の図示しない記憶部に、図４に示すような重複判定履歴１３１として記録する。図４は、重複判定履歴１３１の例を示す図である。図４を参照すると、重複判定履歴１３１は、時刻１３２、サイズ１３３及び判定結果１３４を含む。時刻１３２は、重複判定部１２０が出力した判定結果情報を受け取った時刻を、例えばマイクロ秒単位でかつ１０ミリ秒周期で示す。サイズ１３３は、受け取った入力データブロックのサイズを、例えばキロバイト単位で示す。判定結果１３４は、「１」の場合に非重複データブロックであること、「０」の場合に重複データであることを示す。
【００４６】
非重複データ増加予測部１３０は、重複判定履歴１３１を記録する度に、過去１ミリ秒間の入力データブロックのデータサイズ（判定結果１３４が０または１である、入力データブロックに対応するサイズ１３３）を全て合計した値（Ｘとする）と、非重複データブロックのデータサイズ（判定結果１３４が１である、入力データブロックに対応するサイズ１３３）を全て合計した値（Ｙとする）と、の比率（Ｙ÷Ｘ）を算出する。図４の例では、現在時刻を最新の判定結果情報を受け取った時刻である時刻１３２「２６０１」とすると、過去１ミリ秒間には、時刻１３２「２６０１」、「２２４３」及び「１７９９」が含まれる。従って、比率（Ｙ÷Ｘ）は、Ｘ＝１０＋５＋５＝２０及びＹ＝５＋５より、Ｙ÷Ｘ＝０．５と求められる。
【００４７】
次に、非重複データ増加予測部１３０は、比率（Ｙ÷Ｘ）に入力データスループット（Ｚと呼ぶ）を乗じて、非重複データスループット（Ｙ÷Ｘ）×Ｚを算出する。例えば、Ｚ＝２０メガバイトであるとすると、非重複データ増加予測部１３０は、（Ｙ÷Ｘ）×Ｚ＝０．５×２０メガバイト＝１０メガバイトを算出する。
【００４８】
次に、非重複データ増加予測部１３０は、図５に示す方程式をｔについて解く。図５は、非重複データの今後の発生状況を予測する方程式である。
【００４９】
図５において、Ｂ＿ｍａｘバイトはバッファ１７０の容量、Ｂ＿ｃｕｒｒｅｎｔバイトはバッファ１７０の現在の保持量である。従って、解は、バッファ１７０に保持される非重複データブロックのサイズの合計がＢ＿ｍａｘバイトに達するまでの時間（Ｔ＿ｍａｘ秒とする）である。
【００５０】
例えば、Ｂ＿ｍａｘ＝４０メガバイト、Ｂ＿ｃｕｒｒｅｎｔ＝１０メガバイトであるとすると、非重複データ増加予測部１３０は、Ｔ＿ｍａｘ＝（４０メガバイト−１０メガバイト）÷２０メガバイト／秒＝１．５秒を算出する。こうして、非重複データ増加予測部１３０は、非重複データの今後の発生量を予測する情報として、Ｔ＿ｍａｘ秒を算出する。
【００５１】
尚、非重複データ増加予測部１３０は、入力データブロックのサイズとして予め与えられたサイズと、入力データスループットとして予め与えられた値とを用いて、Ｔ＿ｍａｘ秒を算出するようにしてもよい。この場合、重複判定部１２０は、入力データブロックのサイズ及び入力データスループットを判定結果情報に含めなくてもよい。
【００５２】
モード制御部１４０は、非重複データ増加予測部１３０からの予測情報（Ｔ＿ｍａｘ秒）の出力の有無と予測情報（Ｔ＿ｍａｘ秒）とバッファ１７０の現在の保持量が０か否かとに基づいて、ストレージ装置２００の運転モードを決定する。運転モードは、例えば、省電力モード及び通常電力モードである。尚、省電力モードは、例えばストレージ装置２００自体（電源制御部２１０を除く）の電源オフや、ディスク部２２０毎の省電力モードへの移行及び電源オフを含む。次に、モード制御部１４０は、決定した運転モードをストレージ装置２００に通知する。
【００５３】
ストレージ装置２００において、電源制御部２１０は、ストレージ制御装置１００のモード制御部１４０から通知された運転モードに基づいて、ストレージ装置２００の運転モードを切り替える。省電力モードへの切り替えにおいて、消費電力量を削減する技術は周知であるので、説明を省略する。
【００５４】
ディスク部２２０は、単体または複数のディスクから構成され、ストレージ制御装置１００のバッファ出力制御部１５０が出力した入力データブロック（非重複データブロック）を、保管データブロックとして記憶する。
【００５５】
尚、本実施形態ではストレージ制御装置１００が保存先アドレス１６４と参照元アドレス１６５との対応を管理するようにしたが、ストレージ装置２００が保存先アドレスと参照元アドレスとの対応を管理するようにしてもよい。この場合、ストレージ制御装置１００は、非重複データブロックに参照元アドレス１６５を付加して、ストレージ装置２００に出力するようにしてもよい。
【００５６】
次に、本発明の動作について図面を参照して詳細に説明する。
【００５７】
まず、ホストシステム３００は、ライトコマンドを送信する。ストレージ制御装置１００は、ホストシステム３００が送信したライトコマンドを受信する。
【００５８】
ライトコマンドを受信すると、ストレージ制御装置１００のデータ分割部１１０は、そのライトコマンドに含まれる入力データを分割して入力データブロックを生成し、出力する。
【００５９】
次に、重複判定部１２０が入力データブロックを受け取り、ハッシュ値管理テーブル１６１を参照して、受け取った入力データブロックの重複判定を行う。
【００６０】
図６は、重複判定部１２０の動作を示すフローチャートである。
【００６１】
まず、重複判定部１２０は、入力データブロックを受け取る（ステップＳ１１０１）。
【００６２】
次に、重複判定部１２０は、ハッシュ値管理テーブル１６１を参照して、入力データブロックが、保管データブロックに含まれるデータとは異なるデータを含む、非重複データブロックであるか否かを判定する（ステップＳ１１０２）。
【００６３】
非重複データブロックでない場合（ステップＳ１１０２でＮＯ）、重複判定部１２０は、その入力データブロックを破棄する（ステップＳ１１０３）。
【００６４】
続けて、重複判定部１２０は、参照元管理テーブル１６２を更新する（ステップＳ１１０４）。そして、処理はステップＳ１１０７へ進む。
【００６５】
非重複データブロックである場合（ステップＳ１１０２でＹＥＳ）、重複判定部１２０は、その入力データブロックを、非重複データブロックとしてバッファ１７０に保存する（ステップＳ１１０５）。
【００６６】
続けて、重複判定部１２０は、ハッシュ値管理テーブル１６１及び参照元管理テーブル１６２を更新する（ステップＳ１１０６）。
【００６７】
次に、重複判定部１２０は、入力データスループットを算出する（ステップＳ１１０７）。
【００６８】
次に、重複判定部１２０は、その入力データブロックのサイズと重複判定の結果（非重複／重複）と入力データスループットとを判定結果情報として非重複データ増加予測部１３０に出力する（ステップＳ１１０８）。
【００６９】
次に、図７を参照して、非重複データ増加予測部１３０の動作を説明する。図７は、非重複データ増加予測部１３０の動作を示すフローチャートである。
【００７０】
まず、非重複データ増加予測部１３０は、入力データブロックのサイズと重複判定の結果と入力データスループットとを受け取る（ステップＳ１３０１）。
【００７１】
次に、非重複データ増加予測部１３０は、受け取った入力データブロックのサイズと重複判定の結果とそれらを受け取った時間とを組にして、重複判定履歴１３１として記録する（ステップＳ１３０２）。
【００７２】
次に、非重複データ増加予測部１３０は、過去１ミリ秒間の入力データブロックのデータサイズを全て合計した値（Ｘ）と非重複データのデータサイズを全て合計した値（Ｙ）の比率（Ｙ÷Ｘ）を算出する（ステップＳ１３０３）。
【００７３】
次に、非重複データ増加予測部１３０は、比率（Ｙ÷Ｘ）に入力データスループットＺを乗じて、非重複データスループット（Ｙ÷Ｘ）×Ｚを算出する（ステップＳ１３０４）。
【００７４】
次に、非重複データ増加予測部１３０は、バッファ１７０の現在の保持量（Ｂ＿ｃｕｒｒｅｎｔバイト）を取得する（ステップＳ１３０５）。
【００７５】
次に、非重複データ増加予測部１３０は、図５に示す式に基づいてＴ＿ｍａｘ秒を算出する（ステップＳ１３０６）。
【００７６】
次に、非重複データ増加予測部１３０は、算出したＴ＿ｍａｘ秒をモード制御部１４０に出力する（ステップＳ１３０７）。
【００７７】
尚、上述の説明において、非重複データ増加予測部１３０は、重複判定の結果を受け取る毎に予測情報を出力するように動作するが、非重複データ増加予測部１３０は、予め定められた時間毎に予測情報を通知するようにしてもよい。
【００７８】
次に、図８を参照して、モード制御部１４０の動作を説明する。図８は、モード制御部１４０の動作を示すフローチャートである。
【００７９】
まず、モード制御部１４０は、図示しないタイマーをリスタート（タイマー値を「０」にして、計時を開始）する（ステップＳ１４０１）。
【００８０】
次に、モード制御部１４０は、非重複データ増加予測部１３０から予測情報（Ｔ＿ｍａｘ秒）の出力があったか否かを確認する（ステップＳ１４０２）。
【００８１】
予測情報（Ｔ＿ｍａｘ秒）の出力があった場合（ステップＳ１４０２でＹＥＳ）、処理は、ステップＳ１４１０へ進む。
【００８２】
予測情報（Ｔ＿ｍａｘ秒）の出力がない場合（ステップＳ１４０２でＮＯ）、モード制御部１４０は、タイマーの計時時間が予め定められたＴ＿ｉｄｌｅ秒に達したか否かを確認する（ステップＳ１４０４）。
【００８３】
Ｔ＿ｉｄｌｅ秒に達した場合（ステップＳ１４０４でＹＥＳ）、処理は、ステップＳ１４４０へ進む。
【００８４】
Ｔ＿ｉｄｌｅ秒に達していない場合（ステップＳ１４０４でＮＯ）、処理は、ステップＳ１４０２へ戻る。
【００８５】
ステップＳ１４１０において、モード制御部１４０は、Ｔ＿ｍａｘ秒からストレージ装置２００の起動時間Ｔ＿ｓｔａｒｔ秒を差し引く（ステップＳ１４１０）。
【００８６】
差し引いた結果が０以下の場合（ステップＳ１４１０でＹＥＳ）、モード制御部１４０は、ストレージ装置２００の電源制御部２１０に対して、運転モードを通常電力モードにするように通知する（ステップＳ１４１１）。そして、処理はステップＳ１４０１へ戻る。
【００８７】
差し引いた結果が０を超える場合（ステップＳ１４１０でＮＯ）、処理は、ステップＳ１４０２へ戻る。
【００８８】
ステップＳ１４４０において、モード制御部１４０は、バッファ１７０の現在の保持量が０か否かを確認する（ステップＳ１４４０）。
【００８９】
現在の保持量が０でない場合（ステップＳ１４４０でＮＯ）、処理は、ステップＳ１４１１へ進む。
【００９０】
現在の保持量が０の場合（ステップＳ１４４０でＹＥＳ）、モード制御部１４０は、ストレージ装置２００の電源制御部２１０に対して、運転モードを省電力モードにするように通知する（ステップＳ１４４２）。そして、処理はステップＳ１４０１へ戻る。
【００９１】
以上に説明した動作によりモード制御部１４０は、運転モードを通知する。次に、ストレージ装置２００は、通知された運転モードに基づいて、省電力モードと通常電力モードとを切り替える。
【００９２】
ストレージ装置２００は、運転モードを省電力モードから通常電力モードに切り替えると、Ｔ＿ｉｄｌｅ秒後に起動が完了する。
【００９３】
バッファ出力制御部１５０は、ストレージ装置２００を監視してストレージ装置２００の起動が完了した状態を検出する。
【００９４】
尚、モード制御部１４０がストレージ装置２００を監視してストレージ装置２００の起動が完了した状態を検出し、これをバッファ出力制御部１５０に通知するようにしてもよい。即ち、モード制御部１４０が、ストレージ装置２００の運転モード及び状態に関するインタフェースを一括して制御するようにしてもよい。
【００９５】
ストレージ装置２００の起動が完了した状態である場合に、バッファ出力制御部１５０は、バッファ１７０に保持されている非重複データブロックをストレージ装置２００のディスク部２２０へ出力する。次に、バッファ出力制御部１５０は、非重複データブロックの出力が完了すると、バッファ１７０をクリアする。同時にバッファ出力制御部１５０は、ハッシュ値管理テーブル１６１と参照元管理テーブル１６２を更新する。
【００９６】
上述した本実施形態における効果は、重複排除ストレージにおいて十分な省電力をすることを可能にする点である。
【００９７】
その理由は、非重複データ増加予測部１３０が非重複データブロックの今後の発生状況に対応する予測情報を算出し、モード制御部１４０が予測情報の有無と予測情報とに基づいてストレージ装置２００の運転モードを制御するようにしたからである。
【００９８】
［第２の実施形態］
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００９９】
図９は、本発明の第２の実施形態に係るストレージ制御装置１０１の構成を示すブロック図である。
【０１００】
図９を参照すると、本実施形態におけるストレージ制御装置１０１は、重複判定部１２０、非重複データ増加予測部１３０、モード制御部１４０、バッファ出力制御部１５０、管理情報記憶部１６０及びバッファ１７０を含む。
【０１０１】
本実施形態においては、入力データブロックは、図示しない外部の装置から与えられ、重複判定部１２０はこの入力データブロックを受け取り、処理する。例えば、入力データブロックは、第１の実施形態で説明したホストシステム３００が送信するライトコマンドに含まれる入力データであってもよい。
【０１０２】
これ以外の各要素の機能及び動作は、実施形態１の対応する各要素と同一である。
【０１０３】
ストレージ制御装置１０１は、図１０に示すような、汎用的なコンピュータによって構成されるストレージ制御装置１０２であってもよい。
【０１０４】
図１０は、本実施形態における、プログラムにより所定の処理をコンピュータに実行させるストレージ制御装置の構成を示すブロック図である。
【０１０５】
図１０を参照すると、ストレージ装置１０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７１０、ディスク装置７２０、記憶部７３０及び通信部７５０を備えている。
【０１０６】
ストレージ制御装置１０１の重複判定部１２０、非重複データ増加予測部１３０、モード制御部１４０及びバッファ出力制御部１５０は、ＣＰＵ７１０とディスク装置７２０と記憶部７３０とに対応する。また、ストレージ制御装置１０１の管理情報記憶部１６０及びバッファ１７０は、記憶部７３０に対応する。
【０１０７】
ＣＰＵ７１０は、ディスク装置７２０に格納されたプログラムを、例えば記憶部７３０に展開し、展開したプログラムに基づいて、重複判定部１２０、非重複データ増加予測部１３０、モード制御部１４０及びバッファ出力制御部１５０と同様の処理を実行する。
【０１０８】
ディスク装置７２０は、そのプログラムを記憶する。
【０１０９】
記憶部７３０は、展開されたそのプログラムを記憶する。また、記憶部７３０は、管理情報記憶部１６０と同様に、ハッシュ値管理テーブル１６１及び参照元管理テーブル１６２を記憶する。更に、記憶部７３０は、バッファ１７０と同様に、非重複データブロックを記憶する。
【０１１０】
通信部７５０は、重複判定部１２０、モード制御部１４０及びバッファ出力制御部１５０に含まれる。
【０１１１】
尚、第１の実施形態についても、同様に、ストレージ制御装置１００は、図１０に示すような、汎用的なコンピュータによって構成されるストレージ制御装置１０２であってもよい。
【０１１２】
上述した本実施形態における効果は、第１の実施形態の効果に加えて、データ分割部１１０を不要にし、ストレージ制御装置１０１の構成要素を削減できる点である。
【０１１３】
その理由は、重複判定部１２０が外部から受け取ったデータを処理するようにしたからである。
【０１１４】
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、各構成要素は、複数の構成要素が１個のモジュールとして実現されたり、一つの構成要素が複数のモジュールで実現されたりしてもよい。また、各構成要素は、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。
【０１１５】
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障しない範囲で変更することができる。
【０１１６】
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生したり、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複していたりしていてもよい。
【０１１７】
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作の全ての関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障をきたさない範囲内で変更されて良い。
【０１１８】
尚、以上説明した各実施形態における各構成要素は、必要に応じ可能であれば、ハードウェアで実現されても良いし、ソフトウェアで実現されても良いし、ハードウェアとソフトウェアの混在により実現されても良い。
【０１１９】
また、各構成要素の物理的な構成は、以上の実施形態の記載に限定されることはなく、独立して存在しても良いし、組み合わされて存在しても良いしまたは分離して構成されても良い。
【０１２０】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力する重複判定部と、
前記非重複データブロックを保持するバッファと、
前記保管データブロックそれぞれ及び前記非重複データブロックそれぞれに対応する、ハッシュ値と保存先アドレスとを関連付けて記憶する管理情報記憶部と、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力する非重複データ増加予測部と、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新するバッファ出力制御部と、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知するモード制御部と、を含み
前記重複判定部は、前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加する
ストレージ制御装置。
（付記２）
前記非重複データ増加予測部は、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して算出した時間を前記予測情報として出力する
ことを特徴とする付記１記載のストレージ制御装置。
（付記３）
前記入力データブロックは、可変長であり、
前記重複判定部１２０は、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする付記１または２記載のストレージ制御装置。
（付記４）
前記非重複データ増加予測部は、前記判定結果を受け取る毎に前記予測情報を出力する
ことを特徴とする付記１乃至３のいずれかに記載のストレージ制御装置。
（付記５）
前記非重複データ増加予測部は、予め定められた時間毎に前記予測情報を通知する
ことを特徴とする付記１乃至４のいずれかに記載のストレージ制御装置。
（付記６）
前記運転モードに基づいて、省電力運転モードと通常電力運転モードとを切り替える電源制御部と、
受け取った前記非重複データブロックを前記保管データブロックとして記憶するデータ記憶部と、を含むストレージ装置と、
付記１乃至５のいずれかに記載のストレージ制御装置と、を含む
ストレージシステム。
（付記７）
バッファと管理情報記憶部とを有するストレージ制御装置が、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する
ストレージ制御方法。
（付記８）
前記ストレージ制御装置が、前記予測情報を算出において、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して時間を算出する
ことを特徴とする付記７記載のストレージ制御方法。
（付記９）
前記入力データブロックは可変長であり、前記判定結果に対応する前記入力データブロックのサイズを出力する
ことを特徴とする付記７または８記載のストレージ制御装置。
（付記１０）
前記判定結果を受け取る毎に前記予測情報を出力する
ことを特徴とする付記７乃至９のいずれかに記載のストレージ制御装置。
（付記１１）
予め定められた時間毎に前記予測情報を通知する
ことを特徴とする付記７乃至１０のいずれかに記載のストレージ制御装置。
（付記１２）
バッファと管理情報記憶部とを有するコンピュータに、
ストレージ装置に格納するデータの候補である入力データブロックが、すでにストレージ装置に格納されているいずれの保管データブロックに含まれるデータとも異なるデータを含む、非重複データブロックであるか否かを、前記入力データブロックに含まれるデータのハッシュ値と各前記保管データブロックに含まれるデータのハッシュ値とを比較して判定し、前記判定の判定結果を出力し、
前記非重複データブロックを前記バッファに格納し、前記格納した非重複データブロックに対応する前記ハッシュ値及び前記保存先アドレスの組を管理情報記憶部に追加し、
前記判定結果と前記バッファの容量と前記バッファの現在の使用容量とに基づいて、前記非重複データの今後の発生状況の予測に対応する予測情報を算出し、前記算出した予測情報を出力し、
前記ストレージ装置の起動が完了している状態である場合に前記バッファに保存されている前記非重複データブロックを前記ストレージ装置へ出力し、前記管理情報記憶部に記憶されている前記出力した非重複データブロックに対応する前記保存先アドレスを更新し、
前記予測情報の出力の有無と前記予測情報とに基づいて前記ストレージ装置の運転モードを決定し、前記決定した運転モードを前記ストレージ装置に通知する、処理を実行させる
プログラム。
（付記１３）
前記予測情報を算出において、予め定められた条件に適合する前記入力データブロックのデータサイズを全て合計した値と前記非重複データのデータサイズを全て合計した値との比率を算出し、前記算出した比率に前記入力データスループットを乗じて非重複データスループットを算出し、前記バッファの容量から前記バッファの現在の使用量を引いた値を、前記非重複データスループットで除して時間を算出する処理を、前記コンピュータに実行させる
ことを特徴とする付記１２記載のプログラム。
（付記１４）
前記入力データブロックは可変長であり、前記判定結果に対応する前記入力データブロックのサイズを出力する処理を、前記コンピュータに実行させる
ことを特徴とする付記１２または１３記載のプログラム。
（付記１５）
前記判定結果を受け取る毎に前記予測情報を出力する処理を、前記コンピュータに実行させる
ことを特徴とする付記１２乃至１４のいずれかに記載のプログラム。
（付記１６）
予め定められた時間毎に前記予測情報を通知する処理を、前記コンピュータに実行させる
ことを特徴とする付記１２乃至１５のいずれかに記載のプログラム。
【符号の説明】
【０１２１】
１００    ストレージ制御装置
１０１    ストレージ制御装置
１０２    ストレージ制御装置
１１０    データ分割部
１２０    重複判定部
１３０    非重複データ増加予測部
１３１    重複判定履歴
１３２    時刻
１３３    サイズ
１３４    判定結果
１４０    モード制御部
１５０    バッファ出力制御部
１６０    管理情報記憶部
１６１    ハッシュ値管理テーブル
１６２    参照元管理テーブル
１６３    ハッシュ値
１６４    保存先アドレス
１６５    参照元アドレス
１７０    バッファ
２００    ストレージ装置
２１０    電源制御部
２２０    ディスク部
３００    ホストシステム
６６３    ハッシュ値
７１０    ＣＰＵ
７２０    ディスク装置
７３０    記憶部
７５０    通信部
９００    ネットワーク
【図１】
0005630313.tif 000002
【図２】
0005630313.tif 000003
【図３】
0005630313.tif 000004
【図４】
0005630313.tif 000005
【図５】
0005630313.tif 000006
【図６】
0005630313.tif 000007
【図７】
0005630313.tif 000008
【図８】
0005630313.tif 000009
【図９】
0005630313.tif 000010
【図１０】
0005630313.tif 000011