"マスタ磁気ディスクと、前記マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスクと、不揮発性メモリとを備え、前記ミラー磁気ディスクを停止させ、前記ミラー磁気ディスクに書き込むデータを前記不揮発性メモリに書き込むように制御する停止制御を行う磁気ディスク制御手段と、前記磁気ディスク制御手段が前記停止制御を行うと、前記不揮発性メモリにデータを書き込む際に重複排除を行う重複排除手段と、前記重複排除手段によって重複排除され前記不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、前記不揮発性メモリに書き込まれたデータを抽出し、抽出した前記データを前記ミラー磁気ディスクに書き込むように制御するとともに、前記不揮発性メモリにおける前記データの抽出元の領域を書き込み可能にするデータ制御手段とを備えたことを特徴とするストレージ装置。重複排除手段は、不揮発性メモリの未使用領域またはデータ制御手段が書き込み可能にした領域にデータを書き込む請求項1記載のストレージ装置。マスタ磁気ディスク又はミラー磁気ディスクと不揮発性メモリとのいずれか読み出し速度の早い方からデータを読み出すデータ読み出し手段を備えた請求項1又は請求項2記載のストレージ装置。磁気ディスク制御手段は、重複排除手段によって重複排除され不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、停止させたミラー磁気ディスクを稼働させるように制御する稼働制御を行い、データ制御手段は、前記不揮発性メモリから抽出したデータを前記磁気ディスク制御手段が稼働制御を行った前記ミラー磁気ディスクに書き込むように制御する請求項1から請求項3のうちのいずれか1項に記載のストレージ装置。不揮発性メモリに格納されたデータのメタデータを格納する記憶手段を備え、重複排除手段は、前記不揮発性メモリにデータを書き込む際に、前記記憶手段を参照し、書き込み対象の前記データと同一のデータが前記不揮発性メモリに格納されていると判断すると、前記不揮発性メモリには書き込まずに、書き込み対象の前記データのメタデータを前記記憶手段に書き込む請求項1から請求項4のうちのいずれか1項に記載のストレージ装置。マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスクを停止させ、前記ミラー磁気ディスクに書き込むデータを不揮発性メモリに書き込むように制御する停止制御を行い、前記停止制御を行うと、前記不揮発性メモリにデータを書き込む際に重複排除を行い、重複排除され前記不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、前記不揮発性メモリに書き込まれたデータを抽出し、抽出した前記データを前記ミラー磁気ディスクに書き込むように制御するとともに、前記不揮発性メモリにおける前記データの抽出元の領域を書き込み可能にすることを特徴とするストレージ方法。マスタ磁気ディスクと、前記マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスクと、不揮発性メモリとを備えたコンピュータに、前記ミラー磁気ディスクを停止させ、前記ミラー磁気ディスクに書き込むデータを前記不揮発性メモリに書き込むように制御する停止制御を行う磁気ディスク制御処理と、前記停止制御を行うと、前記不揮発性メモリにデータを書き込む際に重複排除を行う重複排除処理と、重複排除され前記不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、前記不揮発性メモリに書き込まれたデータを抽出し、抽出した前記データを前記ミラー磁気ディスクに書き込むように制御するとともに、前記不揮発性メモリにおける前記データの抽出元の領域を書き込み可能にするデータ制御処理とを実行させるためのストレージ用プログラム。特許文献1や特許文献2に記載された方法に重複排除技術を組み合わせて、さらに効率的にシステム運用時の消費電力を低減する方法が考えられる。例えば、特許文献1に記載された方法では、メモリ部に書き込まれたデータ量が閾値を超えると、停止状態のディスク部を稼働させ、メモリ部からディスク部にデータを転送する。これに重複排除技術を組み合わせて、メモリ部にデータを書き込む際に重複排除処理を行うことで、メモリ部に書き込まれるデータ量を抑制して閾値を超える間隔を長くすることができ、停止状態のディスク部を再稼働する間隔も長くすることができる。そのため、さらに効率的にシステム運用時の消費電力を低減することができる。ここで、特許文献1に記載された方法では、メモリ部に書き込まれたデータ量が閾値を超えたことによりデータを転送する場合、メモリ部の全てのデータをディスク部に転送して書き込んだ後に、メモリ部の全てのデータを削除している。しかしながら、重複排除処理を効果的に行うためには、重複排除対象の実データがある程度メモリに格納されている必要がある。具体的には、全てのデータを削除したメモリに重複排除してデータを書き込む場合、1度目の書き込み時には重複が発生しないため、全ての実データをメモリに書き込むこととなる。そのため、メモリへの書き込み回数が増加し、書き込み可能回数が限られている不揮発性メモリを用いた場合には、寿命が短くなり、信頼性が低下するという課題がある。また、特許文献3に記載された技術を適用するには次のような問題がある。すなわち、重複排除技術dedup:deduplicationなどとよばれることもあるを不揮発性メモリに適用することのみに言及しているため、不揮発性メモリを活用して磁気ディスク装置以下、単に磁気ディスクというを停止させて消費電力を低減させるシステムにそのまま適用することができない。そこで、本発明は、不揮発性メモリを活用して磁気ディスクを停止することにより省電力制御を行うストレージ装置において、不揮発性メモリの長寿命化及び信頼性の向上を図ることができるストレージ装置、ストレージ方法及びストレージ用プログラムを提供することを目的とする。本発明によるストレージ装置は、マスタ磁気ディスクと、マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスクと、不揮発性メモリとを備え、ミラー磁気ディスクを停止させ、ミラー磁気ディスクに書き込むデータを不揮発性メモリに書き込むように制御する停止制御を行う磁気ディスク制御手段と、磁気ディスク制御手段が停止制御を行うと、不揮発性メモリにデータを書き込む際に重複排除を行う重複排除手段と、重複排除手段によって重複排除され不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、不揮発性メモリに書き込まれたデータを抽出し、抽出したデータをミラー磁気ディスクに書き込むように制御するとともに、不揮発性メモリにおけるデータの抽出元の領域を書き込み可能にするデータ制御手段とを備えたことを特徴とする。本発明によるストレージ方法は、マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスクを停止させ、ミラー磁気ディスクに書き込むデータを不揮発性メモリに書き込むように制御する停止制御を行い、停止制御を行うと、不揮発性メモリにデータを書き込む際に重複排除を行い、重複排除され不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、不揮発性メモリに書き込まれたデータを抽出し、抽出したデータをミラー磁気ディスクに書き込むように制御するとともに、不揮発性メモリにおけるデータの抽出元の領域を書き込み可能にすることを特徴とする。本発明によるストレージ用プログラムは、マスタ磁気ディスクと、マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスクと、不揮発性メモリとを備えたコンピュータに、ミラー磁気ディスクを停止させ、ミラー磁気ディスクに書き込むデータを不揮発性メモリに書き込むように制御する停止制御を行う磁気ディスク制御処理と、停止制御を行うと、不揮発性メモリにデータを書き込む際に重複排除を行う重複排除処理と、重複排除され不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、不揮発性メモリに書き込まれたデータを抽出し、抽出した前記データをミラー磁気ディスクに書き込むように制御するとともに、不揮発性メモリにおけるデータの抽出元の領域を書き込み可能にするデータ制御処理とを実行させることを特徴とする。本発明によれば、不揮発性メモリを活用して磁気ディスクを停止することにより省電力制御を行うストレージ装置において、不揮発性メモリの長寿命化及び信頼性の向上を図ることができる。以下、本発明の実施形態について図面を参照して説明する。図1は、本発明によるストレージシステムの構成の一例を示すブロック図である。図1に示すように、ストレージシステムは、ホスト計算機100と、ホスト計算機100に接続されたディスクアレイ装置200とを備えている。ホスト計算機100は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。ホスト計算機100は、ディスクアレイ装置200の論理ボリューム210に対して、IOInput/Output要求を送信する以下、IO発行と表現する機能を備えている。ディスクアレイ装置200は、ホスト計算機100からアクセス可能な論理ボリューム210と、ディスクグループ220と、不揮発性メモリ230と、IO制御手段300と、重複排除制御手段310と、差分掃き出し手段320と、磁気ディスク管理手段330と、不揮発性メモリ閾値監視手段340と、磁気ディスク状態管理テーブル410とを含む。また、不揮発性メモリ230は、重複排除管理テーブル400と、ダーティ管理テーブル420とを含む。なお、IO制御手段300、重複排除制御手段310、差分掃き出し手段320、磁気ディスク管理手段330及び不揮発性メモリ閾値監視手段340は、プログラムに従って動作するディスクアレイ装置200のCPUが処理を実行することによって実現される。論理ボリューム210は、上位装置であるホスト計算機100から認識される論理的な記憶装置であり、物理的な記憶装置であるディスクグループ220の構成要素である磁気ディスク221、222上に構成される。ディスクグループ220は、磁気ディスクマスタディスク221と磁気ディスクミラーディスク222とによりミラーリング構成されたRAIDグループである。磁気ディスク221及び磁気ディスク222は、ホスト計算機100から受信したデータを格納している。なお、本実施形態では、ディスクグループ220が磁気ディスクマスタ221と磁気ディスクミラー222とをそれぞれ複数台含む例について説明するが、これに限らず、例えば1台ずつ含むように構成されていてもよい。不揮発性メモリ230は、重複排除後の実データと、重複排除管理テーブル400とを格納している。図2は、IO制御手段300の構成例を示すブロック図である。図2に示すように、IO制御手段300は、データ書き込み処理を実行可能なスレッドである書き込み用write-th301と、データ読み出し処理を実行可能なスレッドである読み出し用スレッドread-th302とを含む。書き込み用write-th301は、不揮発性メモリ230にデータを書き込む処理を実行可能な不揮発性メモリ書き込み用マイクロスレッドM-mth303と、磁気ディスク221,222にデータを書き込む処理を実行可能な磁気ディスク書き込み用マイクロスレッドD-mth304とを含む。また、読み出し用read-th302は、不揮発性メモリ230からデータを読み出す処理を実行可能な不揮発性メモリ読み出し用マイクロスレッドM-mth305と、磁気ディスク221,222からデータを読み出す処理を実行可能な磁気ディスク読み出し用マイクロスレッドD-mthとを含む。以下、これらのスレッドが処理を実行するとの表現を用いるが、具体的には、ディスクアレイ装置200のCPUがプログラムに従って処理を実行することによって実現される。IO制御手段300は、論理ボリューム210に対するアクセスがあると、磁気ディスク状態管理テーブル340を参照し、所定のデータを磁気ディスク221及び磁気ディスク222または磁気ディスク221及び不揮発性メモリ230から読み書きする機能を備えている。重複排除制御手段310は、IO制御手段300から受信したデータに対して重複排除技術を適用して重複排除処理を実行し、不揮発性メモリ230に重複排除後のデータを書き込むとともに、重複排除管理テーブル400に受信したデータのメタデータを書き込む機能を備えている。差分掃き出し手段320は、磁気ディスク管理手段330から受信した差分掃き出し指示に従って、不揮発性メモリ230から重複排除後のデータを復元し、差分データを掃き出す機能を備えている。差分データを掃き出すとは、具体的には、差分掃き出し手段320が、差分掃き出し指示に従って、重複排除管理テーブル400に基づいて不揮発性メモリ230からデータを復元し、復元したデータ差分データを、対応する磁気ディスク222に書き込むことである。また、差分掃き出し手段320は、差分データ掃き出し後に、磁気ディスク222の停止指示を行う機能を備えている。具体的には、差分掃き出し手段320は、磁気ディスク管理手段330に磁気ディスク222の停止指示を出力する。磁気ディスク管理手段330は、差分掃き出し手段320から磁気ディスク222の停止指示または不揮発性メモリ閾値監視手段340から閾値超過通知を受信すると、磁気ディスク状態管理テーブル410の更新/参照を行う機能を備えている。また、磁気ディスク管理手段330は、IOパス切り替え指示に従って、IO制御手段300の動作を制御する機能を備えている。不揮発性メモリ閾値監視手段340は、不揮発性メモリ230の監視を行い、不揮発性メモリ230のデータ量が閾値を超えた場合に、磁気ディスク管理手段330に閾値超過通知を行う機能を備えている。また、例えば、不揮発性メモリ閾値監視手段340は、磁気ディスク管理手段330に閾値超過通知とともに磁気ディスクの稼働指示を出力する。重複排除管理テーブル400は、具体的には、不揮発性メモリ230に記憶される。重複排除管理テーブル400は、重複排除制御手段310によって重複排除された重複アドレスを格納する。図3は、重複排除管理テーブル400に格納されるデータの一例を示す説明図である。図3に示す例では、重複排除管理テーブル400には、重複排除に用いるハッシュ値、重複排除データの実データ格納アドレス、重複排除されたデータの格納先磁気ディスクNo、磁気ディスク格納アドレス及びダーティフラグが対応付けて記録されている。重複排除管理テーブル400が格納するデータは、例えば、重複排除制御手段310によって登録、更新される。例えば、図3に示す重複排除管理テーブル400の第1行目は、書き込まれたデータのハッシュ値がAであり、その実データの不揮発性メモリ230の格納アドレスが1200であり、本来書き込むべき磁気ディスクNoが2であり、磁気ディスクの格納アドレスが2000、ダーティフラグが1であり、まだ磁気ディスクに書き出されていないことを示している。磁気ディスク状態管理テーブル410は、磁気ディスク221、磁気ディスク222の状態を示すデータを格納する。図4は、磁気ディスク状態管理テーブルに格納されるデータの一例を示す説明図である。図4に示す例では、磁気ディスク状態管理テーブル410には、磁気ディスクの構成情報である磁気ディスクNo、ミラーディスクNo、磁気ディスクの状態を示すディスク状態、電源状態及びIOパス状態が対応付けて記録されている。磁気ディスク状態管理テーブル410が格納するデータは、例えば、磁気ディスク管理手段330によって登録、更新される。例えば、図4に示す磁気ディスク管理テーブル410の第1行目は、磁気ディスクNoが1であり、ディスク状態が正常であり、電源状態が稼働中であり、IOパス状態が磁気ディスクであり、ディスクグループを構成しているミラーディスクNoが2であることを示している。ダーティ管理テーブル420は、具体的には、不揮発性メモリ230に記憶される。ダーティ管理テーブル420は、不揮発性メモリ230に格納された実データを参照している書き出しされていないデータがいくつあるかを示すデータを格納する。図5は、ダーティ管理テーブルに格納されるデータの一例を示す説明図である。図5に示す例では、ダーティ管理テーブル420には、不揮発性メモリ230に格納された実データの識別情報であるIndexに、ダーティカウンタが対応付けて格納されている。ダーティ管理テーブル420が格納するデータは、例えば、重複排除制御手段310によって登録、更新される。例えば、図5に示すダーティ管理テーブル420の第1行目は、Indexが0であり、ダーティカウンタが200である。これは、Indexが0である実データを含む重複排除されたデータ200個が磁気ディスクに書き出されていないことを示している。次に、本実施形態のストレージシステムの動作について説明する。ここでは、ホスト計算機100が論理ボリューム210に対してIO発行を行う場合を想定する。なお、本実施形態のストレージシステムの動作は、大きく4つに分けられる。最初に、ホスト計算機100が論理ボリューム210に対して、データ読み込み要求としてReadIOを発行し、磁気ディスク221及び不揮発性メモリ230から所定のデータを読み出す動作である。次に、ホスト計算機100が論理ボリューム210に対して、データ書き込み要求としてWriteIOを発行し、所定のデータをディスクグループ220の磁気ディスク221及びミラー構成にある磁気ディスク222に書き込む動作と、磁気ディスク221及び不揮発性メモリ230に書き込む動作とである。次に、不揮発性メモリ230に書き込んだデータ量が閾値を超えた場合に、磁気ディスク222に差分データを書き込む動作である。最後に、ディスクグループ220のミラーディスクである磁気ディスク222を停止する動作である。まず、ホスト計算機100が論理ボリューム210に対してReadIOを発行し、磁気ディスク221及び不揮発性メモリ230から所定のデータを読み出す動作について説明する。図6は、ホスト計算機100がディスクアレイ装置200から所定のデータを読み出す動作の一例を示す流れ図である。ディスクアレイ装置200から所定のデータを読み出すために、ホスト計算機100が論理ボリューム210に対してReadIOを発行すると、IO制御手段300は、読み出し用read-th302を生成するステップS11。次いで、IO制御手段300は、読み出し用read-th302上で、不揮発性メモリ用マイクロスレッドM-mth305と磁気ディスク用マイクロスレッドD-mth306とを生成するステップS12。次いで、不揮発性メモリ用マイクロスレッドM-mth305は、ReadIOに基づいて、重複排除制御手段310にデータ読み出し指示を出力する。すると、重複排除制御手段310は、データ読み出し指示に従って、不揮発性メモリ230からデータを抽出し、不揮発性メモリ用マイクロスレッドM-mth305に出力する。そして、不揮発性メモリ用マイクロスレッドM-mth305は、重複排除制御手段310からデータを受信すると、受信したデータを読み出し用read-th302に出力するステップS13。また、磁気ディスク用マイクロスレッドD-mth306は、ReadIOに基づいて、磁気ディスク221にデータ読み出し指示を出力する。そして、磁気ディスク用マイクロスレッドD-mth306は、磁気ディスク221からデータを受信すると、受信したデータを読み出し用read-th302に出力するステップS14。具体的には、磁気ディスク用マイクロスレッドD-mth306は、ReadIOに基づいて、磁気ディスク221からデータを抽出する。読み出し用read-th302は、不揮発性メモリ用マイクロスレッドM-mth305と磁気ディスク用マイクロスレッドD-mth306とのうち、いずれか早くデータを出力した方からデータを受信し、受信したデータをホスト計算機100に送信するステップS15。その後、ReadIOを発行することによるディスクアレイ装置200から所定のデータを読み出す処理は終了する。次に、ホスト計算機100が論理ボリューム210に対してWriteIOを発行し、ディスクグループ220の磁気ディスク221及びミラー構成にある磁気ディスク222に書き込む動作と、磁気ディスク221及び不揮発性メモリ230に書き込む動作とについて説明する。図7は、ホスト計算機100からディスクアレイ装置200に所定のデータを書き込む動作の一例を示す流れ図である。ディスクアレイ装置200に所定のデータを書き込むために、ホスト計算機100が論理ボリューム210に対してWriteIOを発行すると、IO制御手段300は、WriteIOで示される磁気ディスクNoのIOパスの状態を判断するステップS21。ステップS21において、IOパスの状態が不揮発性メモリであると判断すると、IO制御手段300は、書き込み用write-th301を生成するステップS22。次いで、IO制御手段300は、書き込み用write-th301上で不揮発性メモリ用マイクロスレッドM-mth303と磁気ディスク用マイクロスレッドD-mth304とを生成するステップS23。不揮発性メモリ用マイクロスレッドM-mth303は、重複排除制御手段310に対してデータ書き込み指示を出力し、不揮発性メモリ230への書き込み処理を行うステップS24。具体的には、重複排除制御手段310は、データ書き込み指示に従って、不揮発性メモリ230にデータを書き込み、完了後にデータ書き込み完了通知を不揮発性メモリ用マイクロスレッドM-mth303に出力する。そして、不揮発性メモリ用マイクロスレッドM-mth303は、重複排除制御手段310からデータ書き込み完了通知を受信する。なお、重複排除制御手段310が実行する処理の詳細については後述する。また、磁気ディスク用マイクロスレッドD-mth304は、磁気ディスク221に対してデータ書き込み指示を出力し、磁気ディスク221への書き込み処理を行うステップS25。具体的には、磁気ディスク用マイクロスレッドD-mth304は、磁気ディスク221にデータを書き込む。一方、ステップS21において、IOパスの状態が磁気ディスクであると判断すると、IO制御手段300は、書き込み用write-th301を生成するステップS26。次いで、IO制御手段300は、書き込み用write-th301上で磁気ディスク用マイクロスレッドD-mth304とミラー磁気ディスク用マイクロスレッドD-mth303とを生成するステップS27。ミラー磁気ディスク用マイクロスレッドD-mth303は、ミラーディスクである磁気ディスク222に対してデータ書き込み指示を出力し、磁気ディスク222への書き込み処理を行うステップS28。具体的には、具体的には、ミラー磁気ディスク用マイクロスレッドD-mth303は、ミラーディスクである磁気ディスク222にデータを書き込む。また、磁気ディスク用マイクロスレッドD-mth304は、磁気ディスク221に対してデータ書き込み指示を出力し、磁気ディスク221への書き込み処理を行うステップS29。具体的には、磁気ディスク用マイクロスレッドD-mth304は、磁気ディスク221にデータを書き込む。以上の処理によって、ステップS24及びステップS25、またはステップS28及びステップS29において書き込み処理が完了すれば、WriteIOを発行することによるディスクアレイ装置200に所定のデータを書き込む処理は終了する。なお、ホスト計算機100が論理ボリューム210に対してWriteIOを発行する際に、IOパス切り替え指示を含むようにしても良い。以下、ホスト計算機100が論理ボリューム210に対してWriteIOを発行し、所定のデータを書き込む際にIOパスを切り替える動作について説明する。図8は、ホスト計算機100からディスクアレイ装置200に所定のデータを書き込む際にIOパスを切り替える動作の一例を示す流れ図である。ホスト計算機100が論理ボリューム210に対してWriteIOを発行すると、IO制御手段300は、WriteIOに含まれるIOパス切り替え指示の有無を磁気ディスクNoごとに判断するステップS31。IOパス切り替え指示が無いと判断すると、IO制御手段300は、IOパスを変更することなく処理を終了する。一方、IOパス切り替え指示があると判断すると、IO制御手段300は、切り替え指示の内容を判断するステップS32。ステップS32において、IOパス切り替え指示の内容が磁気ディスクへの切り替えであると判断すると、IO制御手段300は、IOパス状態を不揮発性メモリから磁気ディスクに切り替えるステップS33。具体的には、IO制御手段300は、磁気ディスク状態管理テーブル410が格納するIOパス状態を示すデータを不揮発性メモリから磁気ディスクに変更する。一方、ステップS32においてIOパス切り替え指示の内容が不揮発性メモリへの切り替えであると判断すると、IO制御手段300は、IOパス状態を磁気ディスクから不揮発性メモリに切り替えるステップS34。具体的には、IO制御手段300は、磁気ディスク状態管理テーブル410が格納するIOパス状態を示すデータを磁気ディスクから不揮発性メモリに変更する。次に、重複排除制御手段310による重複排除処理について説明する。図9は、重複排除処理の一例を示す流れ図である。重複排除制御手段310は、IO制御手段300からWriteIOに基づくデータ書き込み指示例えば、図7のステップS24で出力されるデータ書き込み指示を受信すると、受信したデータ書き込み指示によって示されるデータのハッシュ値の演算を行うステップS41。次いで、重複排除制御手段310は、重複排除管理テーブル400を参照しステップS42、算出したハッシュ値と同一のハッシュ値が登録されているか否かを判断するステップS43。ステップS43において、同一ハッシュ値が登録されていないと判断すると、重複排除制御手段310は、重複排除管理テーブル400にデータ書き込み指示によって示されるデータのメタデータを書き込み、実データを不揮発性メモリ230に書き込むステップS44。この際、重複排除制御手段310は、不揮発性メモリ230の未使用領域またはダーティカウンタが0の領域にデータを書き込む。また、ここで、重複排除制御手段310は、ダーティ管理テーブル420を更新する。具体的には、重複排除制御手段310は、実データを識別するためのIndexにダーティカウンタの値を0として対応付けて、ダーティ管理テーブル420に登録する。ステップS44において書き込みが完了すると、重複排除制御手段310は、IO制御手段300にデータ書き込み完了通知を出力し、重複排除処理を終了する。一方、ステップS43において、同一ハッシュ値が登録されていると判断すると、重複排除制御手段310は、重複排除管理テーブル400にデータ書き込み指示によって示されるデータのメタデータを書き込むステップS45。具体的には、図3に示すように、重複排除制御手段310は、重複排除管理テーブル400にメタデータとして、ハッシュ値、実データ格納アドレス、磁気ディスクNo、磁気ディスク格納アドレス及びダーティフラグを書き込む。また、重複排除制御手段310は、ダーティフラグを1として重複排除管理テーブル400に書き込む。また、ここで、重複排除制御手段310は、ダーティ管理テーブル420を更新する。具体的には、重複排除制御手段310は、実データを識別するIndexに対応付けられたダーティカウンタの値を1加算するように更新する。ステップS45において書き込みが完了すると、重複排除制御手段310は、IO制御手段300にデータ書き込み完了通知を出力し、重複排除処理を終了する。次に、不揮発性メモリ230に書き込んだデータ量が閾値を超えた場合に、磁気ディスク222に差分データを書き込む動作について説明する。図10は、不揮発性メモリ230に書き込んだデータ量の監視動作の一例を示す流れ図である。不揮発性メモリ閾値監視手段340は、所定のタイミングで例えば所定期間ごとに不揮発性メモリ230を参照しステップS51、不揮発性メモリ230が格納するデータ量が予め定められた閾値を越えているか否かを判断するステップS52。ステップS52において、データ量が閾値未満であると判断すると、不揮発性メモリ閾値監視手段340は、次の監視タイミングまで処理を終了する。一方、ステップS52においてデータ量が閾値以上であると判断すると、不揮発性メモリ閾値監視手段340は、磁気ディスク管理手段330に閾値超過通知とともに磁気ディスクの稼働指示を出力するステップS53。ステップS33で磁気ディスク管理手段330への通知が完了すれば、不揮発性メモリ閾値監視手段340は、閾値監視処理を終了する。次に、不揮発性メモリ閾値監視手段340から閾値超過通知を受信した磁気ディスク管理手段330の動作について説明する。図11は、不揮発性メモリ閾値監視手段または差分掃き出し手段320から所定の指示を受信した磁気ディスク管理手段330の動作の一例を示す流れ図である。なお、ここでは、不揮発性メモリ閾値監視手段340から閾値超過通知とともに磁気ディスクの稼働指示を受信した例について説明する。不揮発性メモリ閾値監視手段340から閾値超過通知を受信すると、磁気ディスク管理手段330は、磁気ディスク状態管理テーブル410を参照するステップS61。そして、磁気ディスク管理手段330は、次のステップS62に処理を移行する。次いで、磁気ディスク管理手段330は、受信した指示の内容を判断するステップS62。ここでは、不揮発性メモリ閾値監視手段340から閾値超過通知とともに磁気ディスクの稼働指示を受信しているため、磁気ディスク管理手段330は、ステップS63に処理を移行する。次いで、磁気ディスク管理手段330は、差分掃き出し指示を差分掃き出し手段320に出力するステップS63。なお、差分掃き出し手段320が実行する差分掃き出しの詳細については後述する。ステップS63で差分掃き出し指示の出力が完了すると、磁気ディスク管理手段330は、次のステップS64に処理を移行する。そして、磁気ディスク管理手段330は、稼働指示によって指定された磁気ディスクが停止中か否かを判断するステップS64。ステップS64において、指定された磁気ディスクが停止中でないと判断すると、磁気ディスク管理手段330は、そのまま何もせずに処理を終了する。一方、ステップS64において、指定された磁気ディスクが停止中であると判断すると、磁気ディスク管理手段330は、指定された磁気ディスクの稼動指示を出力し具体的には、磁気ディスク管理手段330は、指定された磁気ディスクを稼働させるように制御する、IOパスの切り替え指示をIO制御手段300に出力するステップS65。ステップS65ですべての指示の出力が完了すると、磁気ディスク管理手段330は、次のステップS66に処理を移行する。そして、磁気ディスク管理手段330は、磁気ディスク状態管理テーブル410に格納される磁気ディスクの電源状態とIOパス状態とを示すデータを更新するステップS66。ステップS66で磁気ディスク状態管理テーブル410の更新が完了すると、磁気ディスク管理手段330は、受信した閾値超過通知と磁気ディスクの稼働指示とに基づいて行う磁気ディスクの差分掃き出し準備処理を終了する。次に、差分掃き出し指示を受信した差分掃き出し手段320の動作について説明する。図12は、差分掃き出し指示を受信した差分掃き出し手段の動作の一例を示す流れ図である。磁気ディスク管理手段330から差分掃き出し指示を受信すると、差分掃き出し手段320は、差分掃き出し指示によって指定された磁気ディスクが稼働中か否かを判断するステップS71。具体的には、差分掃き出し手段320は、磁気ディスク状態管理テーブル410を参照して判断する。ステップS71において、指定された磁気ディスクが停止中であると判断するとステップS71のNO、差分掃き出し手段320は、待ち合わせを行う。一方、指定された磁気ディスクが稼働中であると判断するとステップS71のYES、差分掃き出し手段320は、ダーティ管理テーブル420を参照し、Indexに対応付けられたダーティカウンタを抽出するステップS72。以下、ステップS72において、ダーティ管理テーブル420を参照し、Indexに対応付けられたダーティカウンタを抽出することを、エントリを抽出するとも表現する。次いで、差分掃き出し手段320は、ステップS72で抽出したダーティカウンタが0であるか否かを判断するステップS73。0であると判断するとステップS73のYES、差分掃き出し手段320は、ステップS72に処理を戻し、次のエントリを抽出する。一方、ステップS72で抽出したダーティカウンタが1以上であると判断するとステップS73のNO、差分掃き出し手段320は、該当する重複排除管理テーブル400の実データ格納アドレスを持つエントリを磁気ディスクに掃き出す処理を行うステップS74。具体的には、差分掃き出し手段320は、差分掃き出し指示に従って、重複排除管理テーブル400に基づいて、不揮発性メモリ230からデータを復元し、復元したデータ差分データを、対応する磁気ディスク222に書き込む。掃き出し処理が完了すると、差分掃き出し手段320は、ダーティ管理テーブル420が格納する該当するダーティカウンタと、重複排除管理テーブル400が格納する該当するダーティフラグとを0に変更するステップS75。上述のステップS44で示したように、ダーティフラグが0である領域は、新たなデータで上書きすることが許可されている。したがって、このようにダーティフラグを変更することで、不揮発性メモリ230の全ての領域をクリアすることなく、磁気ディスク222に掃き出したデータを格納していた領域のみを再利用可能にすることができる。次いで、差分掃き出し手段320は、ダーティ管理テーブル420の終端に達しているかすなわち、ダーティ管理テーブル420が格納する全てのエントリについて処理を行っているか否かを判断するステップS76。そして、終端に達していないと判断するとステップS76のNO、差分掃き出し手段320は、ステップS72に処理を戻し、次のエントリを抽出する。一方、終端に達していると判断するとステップS56のYES、差分掃き出し手段320は、差分掃き出し処理を終了する。次に、磁気ディスク222を停止する動作について図11を参照して説明する。ここでは、差分掃き出し手段320が差分掃き出し処理終了後に、磁気ディスク管理手段330に磁気ディスクの停止指示を出力した場合について説明する。磁気ディスク管理手段330は、ディスクの停止指示を受信すると、磁気ディスク状態管理テーブル410を参照するステップS61。そして、ステップS61で停止指示によって示される磁気ディスクの電源状態を示すデータを抽出すると、磁気ディスク管理手段330は、次のステップS62に処理を移行する。次いで、磁気ディスク管理手段330は、受信した指示の内容を判断するステップS62。ここでは、差分掃き出し手段320から磁気ディスクの停止指示を受信しているため、磁気ディスク管理手段330は、ステップS67に処理を移行する。指示の内容が停止であると判断するとステップS62の停止、磁気ディスク管理手段330は、指定された磁気ディスクが稼働中か否かを判断するステップS67。ステップS47において、指定された磁気ディスクが稼働中でないと判断するとステップS67のNO、磁気ディスク管理手段330は、処理を終了する。一方、指定された磁気ディスクが稼動中であると判断するとステップS67のYES、磁気ディスク管理手段330は、ミラー対象ディスクが正常か否かを判断するステップS68。ステップS68において、ミラー対象ディスクが正常でないと判断するとステップS68のNO、磁気ディスク管理手段330は、処理を終了する。一方、ミラー対象ディスクが正常であると判断するとステップS68のYES、磁気ディスク管理手段330は、IOパス切り替え指示と磁気ディスク停止指示とを行うステップS69。具体的には、磁気ディスク管理手段330は、IOパス切り替え指示をIO制御手段300に出力するとともに、指定された磁気ディスクを停止させるように制御する。ステップS69で各指示が完了すれば、磁気ディスク管理手段330は、処理を次のステップS70に移行する。そして、磁気ディスク管理手段330は、磁気ディスク状態管理テーブル410に格納された電源状態とIOパス状態とを示すデータを更新するステップS70。ステップS70の処理が完了すると、磁気ディスク管理手段330は、磁気ディスクの停止処理を終了する。以上のように、本実施形態では、磁気ディスク管理手段330の指示により、ミラーリングされた磁気ディスク222を停止すると、IO制御手段300は、冗長化されたホスト計算機100からのIO発行に基づいて、磁気ディスク221と重複排除制御手段310とにデータを書き込む。また、本実施形態では、重複排除手段310は、IO制御手段300から受信したデータに対して重複排除処理を実行する。そして、不揮発性メモリ230に同一のデータがあれば、重複排除手段310は、重複排除管理テーブル400に実データへのアドレスをメタデータとしてダーティフラグを付与して書き込み、実データの書き込みを行わない。一方、不揮発性メモリ230に同一のデータがなければ、重複排除手段310は、重複排除管理テーブル400にダーティフラグを付与したメタデータを、不揮発性メモリ230に実データを、ダーティ管理テーブル420に実データの識別情報にダーティカウンタを付与して書き込む。このように、不揮発性メモリ230に磁気ディスク221に書き込んだデータと冗長性を持ったデータの書き込みを行うことで、磁気ディスク222を停止して消費電力の削減をする場合にも信頼性と冗長性とを維持することができる。そして、本実施形態では、不揮発性メモリ閾値監視手段340によって不揮発性メモリ230のデータ量が閾値を超えたことが検出された場合、磁気ディスク管理手段330は、IO制御手段300に対してIOパス切り替え指示を出力し、差分吐き出し手段320に対して差分掃き出し指示を出力する。すると、差分掃き出し手段320は、重複排除管理テーブル400を参照し、重複排除されたデータを復元して磁気ディスク222に書き込みを行う。この際、掃き出しを行ったデータを不揮発メモリ230から削除することなく、対応付けられたダーティフラグをクリアしすなわち、ダーティフラグを1から0に変更する、書き換え対象とする。このように、本実施形態では、不揮発性メモリのデータ量が閾値を越えたことによりデータ掃き出しを行う場合、データの全削除を実施するのではなく、ダーティフラグのクリアに変更することで、実データを不揮発性メモリに残したまま、不揮発性メモリを再利用可能な状態とする。そのため、実データを残すことにより、実データの1つ目の書き込みを不要にすることで不揮発性メモリへの書き込み量を削減することができ、不揮発性メモリの長寿命化及び信頼性の向上が期待できる。例えば、不揮発性メモリが閾値を超えたことによりデータ掃き出しを行う場合に、全てのデータを磁気ディスクに書き込んだ後に、不揮発性メモリのデータを全て削除する方法がある。このような方法を適用した場合には、本実施形態とは異なり、再度不揮発性メモリに重複排除したデータを書き込む際に、1度目の書き込み時にはすべての実データを不揮発性メモリに書き込みを行う必要があり、書き込み量が増加することとなる。そのため、書き込み可能回数が限られている不揮発性メモリの寿命が短くなるという問題が発生することとなる。また、本実施形態では、ReadIOが発生した場合、IO制御手段300は、読み出し用スレッドread-thread302と、不揮発性メモリ用マイクロスレッドM-mth305と、磁気ディスク用マイクロスレッドD-mth306とを生成し、それぞれのマイクロスレッドでread処理を行わせ、早く出力されたデータを用いて、ReadIOに応答する制御を行う。このため、本実施形態では、ReadIOが発生した場合、不揮発性メモリと磁気ディスクとの両方からデータを読み出し、早く準備できたデータを使用することを可能とする。一般に、磁気ディスクはシーケンシャルアクセスが高速であり、不揮発性メモリはランダムアクセスが高速であるという特徴がある。そのため、本実施形態では、それぞれの記憶媒体の特徴を生かすことができ、磁気ディスクのみからデータを読み出す方法に比べて、読み出し性能の向上が期待できる。ストレージ装置で利用される省電力技術には、重複排除技術を組み合わせて磁気ディスクを停止するものがある。しかし、一般的に、readIO時には、磁気ディスクを固定的に使用している。すなわち、不揮発性メモリに書き込まれる重複排除されたデータはRAIDの冗長性を確保するためだけに使用されている。そのため、本実施形態とは異なり、そのような方法では、不揮発性メモリを使用することによる、ランダムアクセスが発生した場合の読み出し性能の向上を期待することができない。以上に説明したように、本発明は次のような特徴を備えている。すなわち、本発明は、プログラム制御により動作する複数のホスト計算機が接続された、ミラーリングの方系のアクセスを、不揮発性メモリ例えば、SSDなどに実施することにより、RAID1の冗長性を失わずに本来アクセスすべき方系の磁気ディスクを停止状態にできるストレージ装置において、不揮発性メモリに書き込む重複排除データの管理方法を部分更新に変更することで書き換え量の削減を行い、不揮発性メモリの長寿命化、信頼性を向上させる。また、ReadIO時に不揮発性メモリと磁気ディスクとの両方からデータ読み出しを行い、早く準備できたデータを使用することで、read性能を向上させる。次に、本発明によるストレージ装置の最小構成について説明する。図13は、ストレージ装置の最小の構成例を示すブロック図である。図13に示すように、ストレージ装置は、最小の構成要素として、磁気ディスク制御手段1と、重複排除手段2と、データ制御手段3とを含む。図13に示す最小構成のストレージ装置では、磁気ディスク制御手段1は、マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスクを停止させ、ミラー磁気ディスクに書き込むデータを不揮発性メモリに書き込むように制御する停止制御を行う。すると、重複排除手段2は、不揮発性メモリにデータを書き込む際に重複排除を行う。そして、データ制御手段3は、重複排除手段2によって重複排除され不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、不揮発性メモリに書き込まれたデータを抽出し、抽出したデータをミラー磁気ディスクに書き込むように制御するとともに、不揮発性メモリにおけるデータの抽出元の領域を書き込み可能にする。従って、最小構成のストレージ装置によれば、不揮発性メモリを活用して磁気ディスクを停止することにより省電力制御を行うストレージ装置において、不揮発性メモリの長寿命化及び信頼性の向上を図ることができる。なお、本実施形態では、以下の1~5に示すようなストレージ装置の特徴的構成が示されている。1ストレージ装置例えば、ディスクアレイ装置200によって実現されるは、マスタ磁気ディスク例えば、磁気ディスク221によって実現されると、マスタ磁気ディスクとミラーリング構成されたミラー磁気ディスク例えば、磁気ディスク222によって実現されると、不揮発性メモリ例えば、不揮発性メモリ230によって実現されるとを備え、ミラー磁気ディスクを停止させ、ミラー磁気ディスクに書き込むデータを不揮発性メモリに書き込むように制御する停止制御を行う磁気ディスク制御手段例えば、磁気ディスク管理手段330によって実現されると、磁気ディスク制御手段が停止制御を行うと、不揮発性メモリにデータを書き込む際に重複排除を行う重複排除手段例えば、重複排除制御手段310によって実現されると、重複排除手段によって重複排除され不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、不揮発性メモリに書き込まれたデータを抽出し、抽出したデータをミラー磁気ディスクに書き込むように制御するとともに、不揮発性メモリにおけるデータの抽出元の領域を書き込み可能にするデータ制御手段例えば、差分掃き出し手段320によって実現されるとを備えたことを特徴とする。2ストレージ装置において、重複排除手段は、不揮発性メモリの未使用領域またはデータ掃き出し手段が書き込み可能にした領域にデータを書き込むように構成されていてもよい。3ストレージ装置において、マスタ磁気ディスク又はミラー磁気ディスクと不揮発性メモリとのいずれか読み出し速度の早い方からデータを読み出すデータ読み出し手段例えば、IO制御手段300によって実現されるを備えるように構成されていてもよい。4ストレージ装置において、磁気ディスク制御手段は、重複排除手段によって重複排除され不揮発性メモリに書き込まれたデータ量が予め定められた閾値を超えた場合に、停止させたミラー磁気ディスクを稼働させるように制御する稼働制御を行い、データ制御手段は、不揮発性メモリから抽出したデータを磁気ディスク制御手段が稼働制御を行ったミラー磁気ディスクに書き込むように制御するように構成されていてもよい。5ストレージ装置において、不揮発性メモリに格納されたデータのメタデータ例えば、図3に示されるデータを格納する記憶手段例えば、重複排除管理テーブル400を備え、重複排除手段は、不揮発性メモリにデータを書き込む際に、記憶手段を参照し、書き込み対象のデータと同一のデータが不揮発性メモリに格納されていると判断すると、不揮発性メモリには書き込まずに、書き込み対象のデータのメタデータを記憶手段に書き込むように構成されていてもよい。"