(57)【要約】【課題】本発明は、信頼性を維持させつつ、データを蓄積させるスペースを増大させ得るストレージ装置を提案する。【解決手段】ライトデータを一時的に格納する不揮発性メモリと、ライトデータの不揮発性メモリ内の格納先アドレス及びライトデータのミラー磁気ディスク内の格納先アドレスを対応付けて格納するテーブルと、ミラー磁気ディスクを停止して、不揮発性メモリにライトデータを書き込む場合、テーブルを参照し、ライトデータと同一のデータが不揮発性メモリに記憶されているか否かを判断する判断部と、判断部により同一のデータが記憶されていると判断された場合、ライトデータを不揮発性メモリに書き込まずに、記憶されているデータの不揮発性メモリ内の格納先アドレスを用いて、ライトデータについてテーブルを更新する制御部とを備えることを特徴とする。【選択図】図１
2011221638.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機から受信したライトデータをマスタ磁気ディスク及び当該マスタディスクとミラーリング構成されたミラー磁気ディスクに書き込むストレージ装置であって、
前記ライトデータを一時的に格納する不揮発性メモリと、
前記ライトデータの前記不揮発性メモリ内の格納先アドレス及び前記ライトデータの前記ミラー磁気ディスク内の格納先アドレスを対応付けて格納するテーブルと、
前記ミラー磁気ディスクを停止して、前記不揮発性メモリに前記ライトデータを書き込む場合、前記テーブルを参照し、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断する判断部と、
前記判断部により前記同一のデータが記憶されていると判断された場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記記憶されているデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する制御部と
を備えることを特徴とするストレージ装置。
【請求項２】
前記制御部は、
前記判断部により前記同一のデータが記憶されていないと判断された場合、前記ライトデータを前記不揮発性メモリに書き込み、書き込んだ前記ライトデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記ライトデータのハッシュ値を算出するハッシュ値算出部
を備え、
前記テーブルは、
前記ハッシュ値を、前記不揮発性メモリ内の格納先アドレス及び前記ミラー磁気ディスク内の格納先アドレスと対応付けて格納し、
前記判断部は、
前記ライトデータのハッシュ値と同一のハッシュ値が前記テーブルに存在するか否かにより、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断し、
前記制御部は、
前記判断部により前記ライトデータのハッシュ値と同一のハッシュ値が前記テーブルに存在すると判断された場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記格納されているハッシュ値と対応付けられている前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記不揮発性メモリの前記ライトデータの格納量が予め設定されている閾値を超えたか否かを判断する閾値超過判断部と、
前記閾値判断部により前記閾値を超えたと判断された場合、前記テーブルを参照して前記ライトデータを復元し、復元した前記ライトデータを、対応する前記ミラー磁気ディスクに書き込む復元データ書き込み部と
を備えること特徴とする請求項１に記載のストレージ装置。
【請求項５】
ホスト計算機から受信したライトデータをマスタ磁気ディスク及び当該マスタディスクとミラーリング構成されたミラー磁気ディスクに書き込むストレージ装置の制御方法であって、
前記ストレージ装置は、
前記ライトデータを一時的に格納する不揮発性メモリと、前記ライトデータの前記不揮発性メモリ内の格納先アドレス及び前記ライトデータの前記ミラー磁気ディスク内の格納先アドレスを対応付けて格納するテーブルと
を有し、
判断部が、前記ミラー磁気ディスクを停止して、前記不揮発性メモリに前記ライトデータを書き込む場合、前記テーブルを参照し、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断する第１のステップと、
制御部が、前記第１のステップにおいて前記同一のデータが記憶されていると判断した場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記記憶されているデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する制御部と
を備えることを特徴とするストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスクを停止することにより省電力制御を行うストレージ装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、磁気ディスクを停止することで省電力制御を行う方法がある。例えば、磁気ディスク停止後にＩ／Ｏ（Output/Input）が発生すると自動的に磁気ディスクの稼動を行い、Ｉ／Ｏを実行した後一定期間Ｉ／Ｏが発生しないことを確認後に、再度磁気ディスクを停止することで、省電力化を図る。
【０００３】
また、一度停止した磁気ディスクを稼働する場合のオーバーヘッドを回避するために、ミラーリング構成されている２つの磁気ディスクのうち１つの磁気ディスクのみを停止した場合に、磁気ディスクを停止している間の差分書き込みをバッファに一時的に格納することで、磁気ディスクへの書き込みを遅延させ、省電力化を図る方法も知られている。例えば、特許文献１のストレージ装置は、２重化構成における片方の磁気ディスクが停止状態のときのデータ書き込み要求に対して他方の磁気ディスクと不揮発性メモリとに同一データの書き込みを行う。
【０００４】
一方、特許文献２のストレージ装置のように、外部からの所定の論理ディスクへの使用停止指示に基づいて、省電力機能を有するディスクプールに該所定の論理ディスクを再配置し、複数のディスクプールのそれぞれを構成する磁気ディスクの少なくとも１つに対して電力供給を制御する方法も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１８７４５０号公報
【特許文献２】特開２００８−２４２９７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のストレージ装置は、書き込まれるデータの量が不揮発性メモリの容量以上となると、磁気ディスクを立ち上げて不揮発性メモリから磁気ディスクにデータを移行させる必要がある。そのため、書き込まれるデータの量が多い場合、磁気ディスクの停止時間が短くなるため、消費電力削減効果が低下するおそれがある。かかる問題は、不揮発性メモリの容量を増加させることで緩和できるが、その場合、不揮発性メモリの容量の増大に起因して、初期コストが増大する。
【０００７】
一方、特許文献２のストレージ装置は、磁気ディスクを停止するためにはデータの再配置を行い、停止する磁気ディスクへのアクセスを停止する必要があることに加え、磁気ディスクを停止するためには十分は空き容量を確保しておかなければならないという問題がある。
【０００８】
本発明は以上の点を考慮してなされたものであり、信頼性を維持させつつ、データを蓄積させるスペースを増大させ得るストレージ装置及びその制御方法を提案するものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために本発明は、ホスト計算機から受信したライトデータをマスタ磁気ディスク及び当該マスタディスクとミラーリング構成されたミラー磁気ディスクに書き込むストレージ装置であって、前記ライトデータを一時的に格納する不揮発性メモリと、前記ライトデータの前記不揮発性メモリ内の格納先アドレス及び前記ライトデータの前記ミラー磁気ディスク内の格納先アドレスを対応付けて格納するテーブルと、前記ミラー磁気ディスクを停止して、前記不揮発性メモリに前記ライトデータを書き込む場合、前記テーブルを参照し、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断する判断部と、前記判断部により前記同一のデータが記憶されていると判断された場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記記憶されているデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する制御部とを備えることを特徴とする。
【００１０】
また、本発明は、ホスト計算機から受信したライトデータをマスタ磁気ディスク及び当該マスタディスクとミラーリング構成されたミラー磁気ディスクに書き込むストレージ装置の制御方法であって、前記ストレージ装置は、前記ライトデータを一時的に格納する不揮発性メモリと、前記ライトデータの前記不揮発性メモリ内の格納先アドレス及び前記ライトデータの前記ミラー磁気ディスク内の格納先アドレスを対応付けて格納するテーブルとを有し、判断部が、前記ミラー磁気ディスクを停止して、前記不揮発性メモリに前記ライトデータを書き込む場合、前記テーブルを参照し、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断する第１のステップと、制御部が、前記第１のステップにおいて前記同一のデータが記憶されていると判断した場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記記憶されているデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する制御部とを備えることを特徴とする。
【００１１】
従って、不揮発性メモリにライトデータを書き込む場合、不揮発性メモリへのライトデータの格納量を削減し、停止したミラー磁気ディスクへのライトデータの書き込みまでの時間を延長することにより、ミラー磁気ディスクの停止時間を延長させることができる。
【発明の効果】
【００１２】
本発明によれば、消費電力削減効果を向上させ得るストレージ装置及びその制御方法を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】ストレージシステムのハードウェア構成を示すブロック図の一例である。
【図２】ストレージシステムの機能的構成を示すブロック図の一例である。
【図３】重複排除管理テーブルの説明に供する概念図の一例である。
【図４】磁気ディスク状態管理テーブルの説明に供する概念図の一例である。
【図５】データライト処理手順を示すフローチャートの一例である。
【図６】重複データ排除処理手順を示すフローチャートの一例である。
【図７】閾値監視処理手順を示すフローチャートの一例である。
【図８】磁気ディスク差分掃き出し準備手順を示すフローチャートの一例である。
【図９】磁気ディスク差分掃き出し処理手順を示すフローチャートの一例である。
【図１０】磁気ディスク停止処理手順を示すフローチャートの一例である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
【００１５】
図１は、本実施の形態によるストレージシステム１のハードウェア構成の一例を示している。ストレージシステム１は、複数のホスト計算機２がネックワーク３を介してストレージ装置４に接続されることにより構成されている。
【００１６】
ホスト計算機２は、例えば、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源、情報入力装置、情報出力装置を備えたコンピュータ装置である。ホスト計算機２は、例えば、データライト要求をストレージ装置４に送信して、対応するデータをストレージ装置４に書き込む。また、ホスト計算機２は、例えば、データリード要求をストレージ装置４に送信し、対応するデータをストレージ装置４から読み出す。
【００１７】
ネットワーク３は、例えば、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。
【００１８】
ストレージ装置４は、例えば、コントローラ部５及び記憶部６により構成されている。ストレージ装置４は、コントローラ部５を最低１つ備えている。コントローラ部５は、当該ストレージ装置４全体を制御する。記憶部６は、ホスト計算機２から送信されるデータを格納する複数のディスク装置７及び複数の不揮発性メモリ装置８から構成されている。
【００１９】
コントローラ部５は、ホストインタフェース１１、ＣＰＵ１２、メモリ１３及びディスクインタフェース１４により構成されている。ホストインタフェース１１は、ホスト計算機２とネットワーク３を介して接続され、ホスト計算機２から送信される各種要求やデータの送受信を制御する。ホストインタフェース１１は、ネットワーク３の種類に応じた種々のインタフェースを用いることができる。
【００２０】
ＣＰＵ１２は、コントローラ部５ごとに１つ備えられる。ＣＰＵ１２は、コントローラ部５全体を制御し、ホストインタフェース１１から送信される要求を解釈して、各構成要素に指示を送信する。また、ＣＰＵ１２は、ディスク装置７に対して、ＲＡＩＤ（Redundant Arrays of Independent Disks）制御を行うことにより、ストレージ装置４の信頼性、可用性及び性能を向上させる。この場合、ＣＰＵ１２は、ディスク装置７をＲＡＩＤ方式で運用する。ＣＰＵ１２は、１又は複数のディスク装置７により提供される物理的な記憶領域（ＲＡＩＤグループ）上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームと呼ぶ）を設定する。そして、データは、この論理ボリューム内に所定の大きさのブロック単位で記憶される。
【００２１】
メモリ１３は、ホスト計算機２から受信したデータを一時的に格納する。メモリ１３は、コントローラ部５内部で使用する各種プログラムや、各種テーブルを格納する。ディスクインタフェース１４は、記憶部６のディスク装置７及び不揮発性メモリ装置８と接続され、ホスト計算機２から送信されるデータの送受信を制御する。ディスクインタフェース１４は、ファイバチャネル、ＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）等の種類に応じた種々のインタフェースを用いることができる。
【００２２】
図２は、本実施形態のストレージシステム１の機能的構成の一例を示している。ホスト計算機２は、論理ボリューム２１０に対するＩ／Ｏ（Output/Input）要求機能を有する。
【００２３】
ストレージ装置４は、例えば、ホスト計算機２からアクセス可能な論理ボリューム２１０、ディスクグループ２２０、複数の磁気ディスク２２１、２２２、不揮発性メモリ２３０、Ｉ／Ｏ制御手段３００、重複排除制御手段３１０（判断部、制御部）、差分掃き出し手段３２０、磁気ディスク管理手段３３０、不揮発性メモリ閾値監視手段３４０、重複排除管理テーブル４００及び磁気ディスク状態管理テーブル４１０により構成されている。
【００２４】
なお、Ｉ／Ｏ制御手段３００、重複排除制御手段３１０、差分掃き出し手段３２０、磁気ディスク管理手段３３０、不揮発性メモリ閾値監視手段３４０は、主にＣＰＵ１２がメモリ１３に格納されるプログラムを実行し、各ハードウェアを制御することによって実現することができる。
【００２５】
論理ボリューム２１０は、上位装置であるホスト計算機２が認識する論理的な記憶装置であり、物理的な記憶装置であるディスクグループ２２０の構成要素である磁気ディスク２２１、２２２（ディスク装置７）上に構成される。ディスクグループ２２０は、磁気ディスク（マスタディスク）２２１と磁気ディスク（ミラーディスク）２２２によりミラーリング構成されたＲＡＩＤグループである。磁気ディスク２２１及び２２２（ディスク装置７）は、ホスト計算機２から受信したデータを格納する。不揮発性メモリ２３０（不揮発性メモリ装置８）は、ホスト計算機２から受信したデータのうち、重複排除後のデータ及び重複排除管理テーブル４００を格納する。
【００２６】
Ｉ／Ｏ制御手段３００は、磁気ディスク状態管理テーブル４１０を参照して、論理ボリューム２１０に対するアクセスを、磁気ディスク２２１及び磁気ディスク２２２、又は磁気ディスク２２１及び不揮発性メモリ２３０に振り分ける機能を有する。また、Ｉ／Ｏ制御手段３００は、ホスト計算機２から受信したデータを磁気ディスク２２１及び又は２２２に書き込むと共に、磁気ディスク２２１及び又は２２２からデータを読み出してホスト計算機２に送信する。
【００２７】
重複排除制御手段３１０は、Ｉ／Ｏ制御手段３００から受信したデータに対して重複排除技術を適用し、不揮発性メモリ２３０に重複排除後のデータを書き込むと共に、重複排除管理テーブル４００にメタデータ（ハッシュ値、データ格納アドレス、磁気ディスクＮｏ、磁気ディスク格納アドレス）を書き込む機能を有する。
【００２８】
差分掃き出し手段３２０は、磁気ディスク管理手段３３０からの差分掃き出し指示に従い、重複排除管理テーブル４００に基づいて、不揮発性メモリ２３０からデータを復元し、復元した磁気ディスク２２２に書き込むべきデータ（差分データ）を、対応する磁気ディスク２２２に書き込む機能を有する。また、差分掃き出し手段３２０は、差分データ掃き出し後に、磁気ディスク２２２の停止指示を行う機能を有する。
【００２９】
磁気ディスク管理手段３３０は、差分掃き出し手段３２０からの磁気ディスク２２２の停止指示又は不揮発性メモリ閾値監視手段３４０からの閾値超過通知を受信することで、磁気ディスク状態管理テーブル４１０の更新や参照を行う機能を有する。また、磁気ディスク管理手段３３０は、Ｉ／Ｏパス切り替え指示により、Ｉ／Ｏ制御手段３００の動作を制御する機能を有する。
【００３０】
不揮発性メモリ閾値監視手段３４０は、不揮発性メモリ２３０の書き込み量の閾値監視を行い、閾値を超えた場合に磁気ディスク管理手段３３０に閾値超過通知を行う機能を有する。
【００３１】
図３は、重複排除管理テーブル４００の一例を示している。重複排除管理テーブル４００は、重複排除制御手段３１０によって重複排除された重複排除後のデータのアドレスを格納するテーブルである。
【００３２】
重複排除管理テーブル４００は、重複排除に用いるハッシュ値、重複排除後のデータを格納するデータ格納アドレス、重複排除後のデータの格納先の磁気ディスクＮｏ及び磁気ディスク格納アドレスを対応付けて格納する。例えば、重複排除管理テーブル４００の第１行目は、書き込まれたデータのハッシュ値が「Ａ」であり、重複排除後のデータの格納先が「１２００」であり、本来書き込むべき磁気ディスクＮｏが「２」であり、磁気ディスク２２２の格納アドレスが「２０００」であることを示している。
【００３３】
図４は、磁気ディスク状態管理テーブル４１０の一例を示している。磁気ディスク状態管理テーブル４１０は、磁気ディスク２２１、２２２の状態を格納するテーブルである。
【００３４】
磁気ディスク状態管理テーブル４１０は、磁気ディスク２２１、２２２の構成情報である磁気ディスクＮｏ、ミラーディスクＮｏ、磁気ディスク２２１、２２２の状態を示すディスク状態、電源状態及びＩ／Ｏパス状態を対応付けて格納する。例えば、磁気ディスク管理テーブル４１０の第１行目は、磁気ディスクＮｏが「１」であり、ディスク状態が「正常」であり、電源状態が「稼働中」であり、Ｉ／Ｏパス状態が「磁気ディスク」であり、ディスクグループ２２０を構成しているミラーディスクＮｏが「２」であることを示している。
【００３５】
次に、本実施形態のストレージシステム１の動作について詳細に説明する。例えば、ホスト計算機２が論理ボリューム２１０に対してＩ／Ｏを発行する場合を想定する。
【００３６】
本実施形態の動作は、ホスト計算機２が論理ボリューム２１０に対してデータライト要求を発行し、ディスクグループ２２０の磁気ディスク２２１及びミラーリング構成にある磁気ディスク２２２にデータを書き込む動作と、磁気ディスク２２１及び不揮発性メモリ２３０とにデータを書き込む動作とに分けられる。
【００３７】
また、磁気ディスク２２１と不揮発性メモリ２３０とに書き込む場合において、不揮発性メモリ２３０への書き込み量が閾値を超えた場合に磁気ディスク２２２に差分データを書き込む。さらに、磁気ディスク２２１及び不揮発性メモリ２３０に書き込む場合においては、磁気ディスク２２１のミラーディスクである磁気ディスク２２２を停止する。
【００３８】
まず、ホスト計算機２が論理ボリューム２１０に対してデータライト要求を発行し、ディスクグループ２２０の磁気ディスク２２１及びミラーリング構成にある磁気ディスク２２２に書き込む動作、又は磁気ディスク２２１及び不揮発性メモリ２３０に書き込む動作を説明する。
【００３９】
図５は、本実施形態のストレージシステム１のデータライト処理を示すフローチャートである。
【００４０】
Ｉ／Ｏ制御手段３００は、ホスト計算機２により発行された論理ボリューム２１０に対するデータライト要求を受信すると、データライト要求中のＩ／Ｏパス切り替え指示の有無を磁気ディスクＮｏごとに判断する（ステップＳ１１）。
【００４１】
そして、Ｉ／Ｏ制御手段３００は、Ｉ／Ｏパス切り替え指示がある場合（ステップＳ１１：ＹＥＳ）、Ｉ／Ｏパス切り替え指示の切り替え内容が不揮発メモリ２３０への切り替え指示であるか否かを判断する（ステップＳ１２）。
【００４２】
そして、Ｉ／Ｏ制御手段３００は、切り替え内容が不揮発メモリ２３０への切り替え指示でない、すなわち、切り替え内容が磁気ディスク２２２への切り替え指示である場合（ステップＳ１２：ＮＯ）、該当する不揮発性メモリ２３０から該当する磁気ディスク２２２へのＩ／Ｏパス変更処理を行う（ステップＳ１３）。
【００４３】
これに対して、Ｉ／Ｏ制御手段３００は、切り替え内容が不揮発メモリ２３０への切り替え指示である場合（ステップＳ１２：ＹＥＳ）、該当する磁気ディスク２２２から該当する不揮発性メモリ２３０へのＩ／Ｏパス変更処理を行う（ステップＳ１４）。
【００４４】
続いて、Ｉ／Ｏ制御手段３００は、磁気ディスク状態管理テーブル４１０のＩ／Ｏパス状態に従って、磁気ディスク２２１及び２２２に書き込む場合、該当する磁気ディスク２２１及び２２２にデータライト要求に対応するデータを書き込む（ステップＳ１５）。また、Ｉ／Ｏ制御手段３００は、磁気ディスク状態管理テーブル４１０のＩ／Ｏパス状態に従って、磁気ディスク２２１及び不揮発性メモリ２３０に書き込む場合、該当する磁気ディスク２２１にデータライト要求に対応するデータを書き込むと共に、当該データを重複排除制御手段３１０に送信する（ステップＳ１５）。そして、Ｉ／Ｏ制御手段３００は、その後、データライト処理を終了する。
【００４５】
図６は、本実施形態のストレージシステム１の重複データ排除処理を示すフローチャートである。
【００４６】
重複排除制御手段３１０は、Ｉ／Ｏ制御手段３００からデータライト要求に対応するデータを受信すると、受信したデータのハッシュ値の演算を行う（ステップＳ２１）。
【００４７】
続いて、重複排除制御手段３１０は、重複排除管理テーブル４００を参照し（ステップＳ２２）、同一のハッシュ値が登録されているか否かをチェックする（ステップＳ２３）。そして、重複排除制御手段３１０は、同一のハッシュ値が登録されていない場合（ステップＳ２３：ＮＯ）、重複排除管理テーブル４００に、受信したデータのメタデータ（ハッシュ値、データ格納アドレス、磁気ディスクＮｏ、磁気ディスク格納アドレス）を書き込むと共に、該当する不揮発性メモリ２３０に、受信したデータを書き込み（ステップＳ２４）、その後、重複データ排除処理を終了する。
【００４８】
これに対して、重複排除制御手段３１０は、同一のハッシュ値が登録されている場合（ステップＳ２３：ＹＥＳ）、受信したデータを該当する不揮発性メモリ２３０に書き込まずに、同一のハッシュ値のデータのデータ格納アドレスを用いて、受信したデータについて重複排除管理テーブル４００を更新する。
【００４９】
すなわち、重複排除制御手段３１０は、該当する不揮発性メモリ２３０に、受信したデータを書き込まずに、重複排除管理テーブル４００に、メタデータ（受信したデータのハッシュ値、同一のハッシュ値のデータのデータ格納アドレス、受信したデータの磁気ディスクＮｏ、受信したデータの磁気ディスク格納アドレス）のみを書き込み（ステップＳ２５）、その後、重複データ排除処理を終了する。
【００５０】
次に、不揮発性メモリ２３０への書き込みが閾値を超えた場合に磁気ディスク２２２に差分データを書き込む動作を説明する。
【００５１】
図７は、本実施形態のストレージシステム１の閾値監視処理を示すフローチャートである。
【００５２】
不揮発性メモリ閾値監視手段３４０は、例えば、所定の監視間隔ごとに不揮発性メモリ２３０を参照し（ステップＳ３１）、不揮発性メモリ２３０の書き込み量が予め設定されている閾値を超えたか否かをチェックする（ステップＳ３２）。
【００５３】
そして、不揮発性メモリ閾値監視手段３４０は、不揮発性メモリ２３０の書き込み量が予め設定されている閾値を超えた場合（ステップＳ３２：ＹＥＳ）、対応する磁気ディスク２２２の閾値超過通知を磁気ディスク管理手段３３０に行い（ステップＳ３３）、その後、閾値監視処理を終了する。
【００５４】
図８は、本実施形態のストレージシステム１の磁気ディスク差分掃き出し準備処理を示すフローチャートである。
【００５５】
磁気ディスク管理手段３３０は、磁気ディスク２２２の閾値超過通知を受信すると、磁気ディスク状態管理テーブル４１０を参照し（ステップＳ４１）、対応する磁気ディスク２２２の電源状態を確認する。
【００５６】
続いて、磁気ディスク管理手段３３０は、対応する不揮発性メモリ２３０の差分掃き出し指示を差分掃き出し手段３２０に通知する（ステップＳ４２）。続いて、磁気ディスク管理手段３３０は、対応する磁気ディスク２２２の電源状態が停止中であるか否かをチェックする（ステップＳ４３）。
【００５７】
そして、磁気ディスク管理手段３３０は、対応する磁気ディスク２２２の電源状態が停止中でない場合（ステップＳ４３：ＮＯ）、その後、差分掃き出し準備処理を終了する。
【００５８】
これに対して、磁気ディスク管理手段３３０は、対応する磁気ディスク２２２の電源状態が停止中である場合（ステップＳ４３：ＹＥＳ）、対応する磁気ディスク２２２の電源状態が稼働となるのを待ち受けると共に、対応する不揮発性メモリ２３０から対応する磁気ディスク２２２へのＩ／Ｏパス切り替え指示をＩ／Ｏ制御手段３００に行う（ステップＳ４４）。
【００５９】
続いて、磁気ディスク管理手段３３０は、磁気ディスク状態管理テーブル４１０の電源状態とＩ／Ｏパス状態を更新し（ステップＳ４５）、その後、差分掃き出し準備処理を終了する。
【００６０】
図９は、本実施形態のストレージシステム１の磁気ディスク差分掃き出し処理を示すフローチャートである。
【００６１】
差分掃き出し手段３２０は、差分掃き出し指示を受信すると、対応する磁気ディスク２２２が稼働中になるのを待ち受ける（ステップＳ５１）。そして、差分掃き出し手段３２０は、対応する磁気ディスク２２２が稼働中になると（ステップＳ５１：ＹＥＳ）、重複排除管理テーブル４００を参照し（ステップＳ５２）、対応する磁気ディスク２２２のメタデータを取得する。
【００６２】
続いて、差分掃き出し手段３２０は、対応する不揮発性メモリ２３０に書き込まれたデータを復元した差分データを、対応する磁気ディスク２２２に書き込む差分掃き出し処理を行う（ステップＳ５３）。続いて、差分掃き出し手段３２０は、対応する不揮発性メモリ２３０に書き込まれたデータを消去し（ステップＳ５４）、対応する磁気ディスク２２２の停止指示を磁気ディスク管理手段３３０に行い（ステップＳ５５）、その後、差分掃き出し処理を終了する。
【００６３】
図１０は、本実施形態のストレージシステム１の磁気ディスク停止処理を示すフローチャートである。
【００６４】
磁気ディスク管理手段３３０は、磁気ディスク２２２の停止指示を受信すると、磁気ディスク状態管理テーブル４１０を参照し（ステップＳ６１）、対応する磁気ディスク２２２の電源状態を確認する。
【００６５】
続いて、磁気ディスク管理手段３３０は、対応する磁気ディスク２２２の電源状態が稼働中であるか否かをチェックする（ステップＳ６２）。そして、磁気ディスク管理手段３３０は、対応する磁気ディスク２２２の電源状態が稼働中でない場合（ステップＳ６２：ＮＯ）、その後、磁気ディスク停止処理を終了する。
【００６６】
これに対して、磁気ディスク管理手段３３０は、対応する磁気ディスク２２２の電源状態が稼働中である場合（ステップＳ６２：ＹＥＳ）、対応する磁気ディスク２２２のミラーリング対象ディスクが正常であるか否かをチェックする（ステップＳ６３）。
【００６７】
磁気ディスク管理手段３３０は、対応する磁気ディスク２２２のミラーリング対象ディスクが正常でない場合（ステップＳ６３：ＮＯ）、その後、磁気ディスク停止処理を終了する。
【００６８】
これに対して、磁気ディスク管理手段３３０は、対応する磁気ディスク２２２のミラーリング対象ディスクが正常である場合（ステップＳ６３：ＹＥＳ）、対応する磁気ディスク２２２から対応する不揮発性メモリ２３０へのＩ／Ｏパス切り替え指示をＩ／Ｏ制御手段３００に行うと共に、対応する磁気ディスク２２２の電源状態が停止となるのを待ち受ける（ステップＳ６４）。
【００６９】
続いて、磁気ディスク管理手段３３０は、磁気ディスク状態管理テーブル４１０の電源状態とＩ／Ｏパス状態を更新し（ステップＳ６５）、その後、磁気ディスク停止処理を終了する。
【００７０】
このようにして、ストレージシステム１は、磁気ディスク２２１とミラーリング構成された磁気ディスク２２２を停止すると、Ｉ／Ｏ制御手段３００が、ホスト計算機２から受信したデータを磁気ディスク２２１に書き込むと共に、重複排除制御手段３１０に送信する。
【００７１】
そして、重複排除手段３１０は、Ｉ／Ｏ制御手段３００から受信したデータに対して、重複排除制御手段３１０を用いて、不揮発性メモリ２３０に同一のデータがあれば重複排除管理テーブル４００に、当該同一のデータのアドレス及び格納先の磁気ディスク２２２のアドレスをメタデータとして書き込み、受信したデータの書き込みを行わない。一方、重複排除手段３１０は、不揮発性メモリ２３０に同一のデータがなければ重複排除管理テーブル４００に、受信したデータのアドレス及び格納先の磁気ディスク２２２のアドレスをメタデータとして書き込みを行うと共に、不揮発性メモリ２３０に、受信したデータの書き込みを行う。
【００７２】
また、ストレージシステム１は、不揮発性メモリ閾値監視手段３４０によって不揮発性メモリ２３０の書き込み量が閾値を超えたことが検出された場合、磁気ディスク管理手段３３０が、Ｉ／Ｏ制御手段３００に対してＩ／Ｏパス切り替え指示を行うと共に、差分掃き出し手段３２０に対して差分掃き出し指示を行う。差分掃き出し手段３２０は、重複排除管理テーブル４００を参照し、不揮発性メモリ２３０に書き込まれたデータを復元した差分データの、対応する磁気ディスク２２２への書き込みを行う。
【００７３】
従って、不揮発性メモリ２３０にデータを書き込む場合、重複排除制御手段３１０を用いて不揮発性メモリ２３０へのデータの書き込み量を削減することで、停止した磁気ディスク２２２への差分データの書き込みまでの時間を延長することにより、磁気ディスク２２２の停止時間を延長させ、磁気ディスク２２２に対する消費電力削減効果を向上することができる。
【００７４】
また、不揮発性メモリ２３０に蓄積される書き込み量を減少させることができるため、搭載する不揮発性メモリ２３０の削減が可能となり、不揮発性メモリ２３０の搭載のためのコストを削減することができる。さらに、不揮発性メモリ２３０への書き込み量の削減により、不揮発性メモリ２３０の長寿命化及び信頼性の向上が期待できる。
【００７５】
さらに、不揮発性メモリ２３０に、磁気ディスク２２１に書き込んだデータと冗長性を有するデータの書き込みを行うことで、磁気ディスク２２２を停止した場合にも信頼性と冗長性を維持したまま消費電力の削減を行うことができる。
【００７６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７７】
（付記１）ホスト計算機から受信したライトデータをマスタ磁気ディスク及び当該マスタディスクとミラーリング構成されたミラー磁気ディスクに書き込むストレージ装置であって、前記ライトデータを一時的に格納する不揮発性メモリと、前記ライトデータの前記不揮発性メモリ内の格納先アドレス及び前記ライトデータの前記ミラー磁気ディスク内の格納先アドレスを対応付けて格納するテーブルと、前記ミラー磁気ディスクを停止して、前記不揮発性メモリに前記ライトデータを書き込む場合、前記テーブルを参照し、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断する判断部と、前記判断部により前記同一のデータが記憶されていると判断された場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記記憶されているデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する制御部とを備えることを特徴とするストレージ装置である。
【００７８】
（付記２）前記制御部は、前記判断部により前記同一のデータが記憶されていないと判断された場合、前記ライトデータを前記不揮発性メモリに書き込み、書き込んだ前記ライトデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新することを特徴とする付記１に記載のストレージ装置である。
【００７９】
（付記３）前記ライトデータのハッシュ値を算出するハッシュ値算出部を備え、前記テーブルは、前記ハッシュ値を、前記不揮発性メモリ内の格納先アドレス及び前記ミラー磁気ディスク内の格納先アドレスと対応付けて格納し、前記判断部は、前記ライトデータのハッシュ値と同一のハッシュ値が前記テーブルに存在するか否かにより、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断し、前記制御部は、前記判断部により前記ライトデータのハッシュ値と同一のハッシュ値が前記テーブルに存在すると判断された場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記格納されているハッシュ値と対応付けられている前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する付記１に記載のストレージ装置である。
【００８０】
（付記４）前記不揮発性メモリの前記ライトデータの格納量が予め設定されている閾値を超えたか否かを判断する閾値超過判断部と、前記閾値判断部により前記閾値を超えたと判断された場合、前記テーブルを参照して前記ライトデータを復元し、復元した前記ライトデータを、対応する前記ミラー磁気ディスクに書き込む復元データ書き込み部とを備えること特徴とする付記１に記載のストレージ装置である。
【００８１】
（付記５）ホスト計算機から受信したライトデータをマスタ磁気ディスク及び当該マスタディスクとミラーリング構成されたミラー磁気ディスクに書き込むストレージ装置の制御方法であって、前記ストレージ装置は、前記ライトデータを一時的に格納する不揮発性メモリと、前記ライトデータの前記不揮発性メモリ内の格納先アドレス及び前記ライトデータの前記ミラー磁気ディスク内の格納先アドレスを対応付けて格納するテーブルとを有し、判断部が、前記ミラー磁気ディスクを停止して、前記不揮発性メモリに前記ライトデータを書き込む場合、前記テーブルを参照し、前記ライトデータと同一のデータが前記不揮発性メモリに記憶されているか否かを判断する第１のステップと、制御部が、前記第１のステップにおいて前記同一のデータが記憶されていると判断した場合、前記ライトデータを前記不揮発性メモリに書き込まずに、前記記憶されているデータの前記不揮発性メモリ内の格納先アドレスを用いて、前記ライトデータについて前記テーブルを更新する制御部とを備えることを特徴とするストレージ装置の制御方法である。
【産業上の利用可能性】
【００８２】
本発明は、磁気ディスクを停止することにより省電力制御を行うストレージ装置に適用することができる。
【符号の説明】
【００８３】
１……ストレージシステム、２……ホスト計算機、３……ネットワーク、４……ストレージ装置、５……コントローラ部、６……記憶部、７……ディスク装置、８……不揮発性メモリ装置、１１……ホストインタフェース、１２……ＣＰＵ、１３……メモリ、１４……ディスクインタフェース、２１０……論理ボリューム、２２１、２２２……磁気ディスク、２３０……不揮発性メモリ、３００……Ｉ／Ｏ制御手段、３１０……重複排除制御手段、３２０……差分掃き出し手段、３３０……磁気ディスク管理手段、３４０……不揮発性メモリ閾値監視手段、４００……重複排除管理テーブル、４１０……磁気ディスク状態管理テーブル
【図１】
2011221638.tif 000003
【図２】
2011221638.tif 000004
【図３】
2011221638.tif 000005
【図４】
2011221638.tif 000006
【図５】
2011221638.tif 000007
【図６】
2011221638.tif 000008
【図７】
2011221638.tif 000009
【図８】
2011221638.tif 000010
【図９】
2011221638.tif 000011
【図１０】
2011221638.tif 000012