(57)【要約】【課題】ストレージシステムにおけるライト性能を向上させる。【解決手段】複数の第１記憶装置に格納される第１データを第１キャッシュメモリに格納するキャッシュメモリ格納制御部１１２と、複数の第１記憶装置及び第２記憶装置の構成に基づいて、データの冗長度を決定する冗長度決定部１１３と、冗長度決定部１１３によって決定された冗長度に基づき、複数の第１記憶装置のうち一部の記憶装置について、一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にするキャッシュ機能設定部１１４と、複数の第１記憶装置に対して、キャッシュ機能により第１データを書き込むデータ書き込み部１１５と、データ書き込み部１１５による第１データの書き込み処理が完了した場合に、第１キャッシュメモリに格納された第１データを削除するメモリ解放部１１８と、を備える。【選択図】図３
2016206964.tif 000002
【特許請求の範囲】
【請求項１】
第２記憶装置を配下に有する他のストレージ制御装置と通信可能に接続され、複数の第１記憶装置を配下に有するストレージ制御装置であって、
前記複数の第１記憶装置に格納される第１データを第１キャッシュメモリに格納するキャッシュメモリ格納制御部と、
前記複数の第１記憶装置及び前記第２記憶装置の構成に基づいて、データの冗長度を決定する冗長度決定部と、
前記冗長度決定部によって決定された前記冗長度に基づき、前記複数の第１記憶装置のうち一部の記憶装置について、当該一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にするキャッシュ機能設定部と、
前記複数の第１記憶装置に対して、前記キャッシュ機能により前記第１データを書き込むデータ書き込み部と、
前記データ書き込み部による前記第１データの書き込み処理が完了した場合に、前記第１キャッシュメモリに格納された前記第１データを削除するメモリ解放部と、
を備えることを特徴とする、ストレージ制御装置。
【請求項２】
前記複数の第１記憶装置及び第２記憶装置のうち、少なくとも１つの記憶装置には、当該少なくとも１つの記憶装置以外の記憶装置に格納されたデータを復元するための復元情報が格納され、
前記冗長度決定部は、前記複数の第１記憶装置のうち一部の第１記憶装置が使用不能になっても、前記複数の第１記憶装置及び第２記憶装置に格納されたデータを復元できる前記一部の第１記憶装置の数を前記冗長度として決定し、
前記キャッシュ機能設定部は、前記複数の第１記憶装置のうち、前記冗長度決定部によって前記冗長度として決定された前記第１記憶装置の数の第１記憶装置におけるキャッシュ機能を有効にする、
ことを特徴とする、請求項１に記載のストレージ制御装置。
【請求項３】
前記他のストレージ制御装置に対する外部からの電力供給が停止され、前記複数の第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記データ書き込み部による前記第１データの書き込みと、前記メモリ解放部による前記第１及び第２データの削除とを抑止する抑止処理部
を備えることを特徴とする、請求項１又は２に記載のストレージ制御装置。
【請求項４】
当該ストレージ制御装置に対する外部からの電力供給が停止された場合に、電力供給を行なう補助電源と、
前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記補助電源による電力供給がされた状態で、前記第１データを第３記憶装置に退避させるデータ退避部と、
を備え、
前記データ書き込み部は、当該ストレージ制御装置に対する外部からの電力供給の再開後に、前記複数の第１記憶装置に対して、前記第３記憶装置に格納された前記第１データを書き込む、
ことを特徴とする、請求項１〜３のいずれか１項に記載のストレージ制御装置。
【請求項５】
前記他のストレージ制御装置に対する外部からの電力供給が停止され、前記第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、前記複数の第１記憶装置に格納されたデータのうち前記第１データによって更新されるデータ位置を第１更新位置情報として第１メモリに格納する第１メモリ格納制御部と、
前記他のストレージ制御装置に対する外部からの電力供給の再開後に、前記他のストレージ制御装置に対して、前記第１メモリに格納された前記第１更新位置情報を通知する第１更新位置情報通知部と、
を備えることを特徴とする、請求項１〜４のいずれか１項に記載のストレージ制御装置。
【請求項６】
当該ストレージ制御装置に対する外部からの電力供給が停止され、前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、当該ストレージ制御装置に対する外部からの電力供給の再開後に、前記他のストレージ制御装置によって通知される前記第２記憶装置に格納されたデータのうち前記第２データによって更新されるデータ位置を示す第２更新位置情報に基づき、前記複数の第１記憶装置に格納される前記第１データを復旧するデータ復旧部
を備えることを特徴とする、請求項１〜５のいずれか１項に記載のストレージ制御装置。
【請求項７】
複数の第１記憶装置を配下に有する第１ストレージ制御装置と、第２記憶装置を配下に有する第２ストレージ制御装置とを備えるストレージシステムであって、
前記第１ストレージ制御装置は、
前記複数の第１記憶装置に格納される第１データと、前記第２記憶装置に格納される第２データとを、第１キャッシュメモリに格納するキャッシュメモリ格納制御部と、
前記複数の第１記憶装置及び前記第２記憶装置の構成に基づいてデータの冗長度を決定する冗長度決定部と、
前記冗長度決定部によって決定された前記冗長度に基づき、前記複数の第１記憶装置のうち一部の記憶装置について、当該一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にするキャッシュ機能設定部と、
前記複数の第１記憶装置に対して、前記キャッシュ機能により前記第１データを書き込むデータ書き込み部と、
前記第２ストレージ制御装置に対して、前記第２データを送信するデータ送信部と、
前記データ書き込み部による前記第１データの書き込み処理が完了した場合に、前記キャッシュメモリに格納された前記第１データを削除し、前記第２ストレージ制御装置からの前記第２データについての応答コマンドを受信した場合に、前記キャッシュメモリに格納された前記第２データを削除するメモリ解放部と、
を備え、
前記第２ストレージ制御装置は、
前記データ送信部によって送信された前記第２データを受信するデータ受信部と、
前記データ受信部によって受信された前記第２データを通信用メモリに格納する通信用メモリ格納制御部と、
前記通信用メモリ格納制御部によって前記第２データが前記通信用メモリに格納されると、前記第１ストレージ制御装置に対して、前記応答コマンドを送信するコマンド送信部と、
を備えることを特徴とする、ストレージシステム。
【請求項８】
第２記憶装置を配下に有する他のストレージ制御装置と通信可能に接続され、複数の第１記憶装置を配下に有するストレージ制御装置に備えられるコンピュータに、
前記複数の第１記憶装置に格納される第１データを第１キャッシュメモリに格納し、
前記複数の第１記憶装置及び前記第２記憶装置の構成に基づいて、データの冗長度を決定し、
前記決定された前記冗長度に基づき、前記複数の第１記憶装置のうち一部の記憶装置について、当該一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にし、
前記複数の第１記憶装置に対して、前記キャッシュ機能により前記第１データを書き込み、
前記第１データの書き込み処理が完了した場合に、前記第１キャッシュメモリに格納された前記第１データを削除する、
処理を実行させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置，ストレージシステム及びプログラムに関する。
【背景技術】
【０００２】
Redundant Arrays Inexpensive Disks（ＲＡＩＤ）は、複数の記憶装置を仮想的な１台の記憶装置（ＲＡＩＤグループ）として管理する技術であり、ＲＡＩＤレベルに応じて各記憶装置へのデータ配置及び冗長性が異なる。
ＲＡＩＤ装置はＲＡＩＤの技術を利用したディスクアレイ装置であり、ＲＡＩＤシステムは複数のＲＡＩＤ装置を備える。ＲＡＩＤシステム（ストレージシステム）は、複数のＲＡＩＤ装置を備えることにより、ＲＡＩＤ装置に備えられる制御部を冗長化し、記憶装置に格納されるデータを保障する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２４９８１３号公報
【特許文献２】特開２０１０−４４６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＲＡＩＤシステムにおいて、あるＲＡＩＤ装置の制御部（以下、「通信元制御部」という場合がある。）が、同一のＲＡＩＤ装置内の記憶装置（以下、「自筐体記憶装置」という場合がある。）と、他のＲＡＩＤ装置内の記憶装置（以下、「他筐体記憶装置」という場合がある。）とに対して、データを書き込む場合がある。この場合において、自筐体記憶装置及び他筐体記憶装置に書き込まれるデータは、通信元制御部が備えるキャッシュメモリに一時的に格納される。そして、通信元制御部のキャッシュメモリが解放されるまでには、筐体間の通信時間と他筐体記憶装置のレスポンス時間との合計時間を要する。
【０００５】
このように、通信元制御部のキャッシュメモリが解放されにくく、ＲＡＩＤシステム全体でライト性能が低下するという課題がある。
１つの側面では、本発明は、ストレージシステムにおけるライト性能を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
このため、このストレージ制御装置は、第２記憶装置を配下に有する他のストレージ制御装置と通信可能に接続され、複数の第１記憶装置を配下に有するストレージ制御装置であって、前記複数の第１記憶装置に格納される第１データを第１キャッシュメモリに格納するキャッシュメモリ格納制御部と、前記複数の第１記憶装置及び前記第２記憶装置の構成に基づいて、データの冗長度を決定する冗長度決定部と、前記冗長度決定部によって決定された前記冗長度に基づき、前記複数の第１記憶装置のうち一部の記憶装置について、当該一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にするキャッシュ機能設定部と、前記複数の第１記憶装置に対して、前記キャッシュ機能により前記第１データを書き込むデータ書き込み部と、前記データ書き込み部による前記第１データの書き込み処理が完了した場合に、前記第１キャッシュメモリに格納された前記第１データを削除するメモリ解放部と、を備える。
【発明の効果】
【０００７】
開示のストレージ制御装置によれば、ストレージシステムにおけるライト性能を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
【図２】実施形態の一例としてのストレージシステムにおけるディスクアクセスを説明する図である。
【図３】実施形態の一例としてのストレージシステムにおける通信元ストレージ装置が備えるＩ／Ｏ制御部の機能構成を模式的に示す図である。
【図４】実施形態の一例としてのストレージシステムにおける通信先ストレージ装置が備えるＩ／Ｏ制御部の機能構成を模式的に示す図である。
【図５】実施形態の一例としてのストレージシステムにおけるミラーリングによるデータ書き込み処理を説明する図である。
【図６】実施形態の一例としてのストレージシステムにおけるミラーリングによるデータ書き込み処理を説明するシーケンス図である。
【図７】実施形態の一例としてのストレージシステムにおけるパリティデータを用いたデータ書き込み処理を説明する図である。
【図８】実施形態の一例としてのストレージシステムにおけるパリティデータを用いたデータ書き込み処理を説明するシーケンス図である。
【図９】実施形態の一例としての通信元ストレージ装置におけるホスト装置からのライトＩ／Ｏの受信処理を説明するフローチャートである。
【図１０】実施形態の一例としての通信元ストレージ装置におけるライト起動処理を説明するフローチャートである。
【図１１】実施形態の一例としての通信元ストレージ装置における自筐体ディスクライト処理を説明するフローチャートである。
【図１２】実施形態の一例としての通信元ストレージ装置における筐体間通信処理を説明するフローチャートである。
【図１３】実施形態の一例としての通信先ストレージ装置における筐体間通信処理を説明するフローチャートである。
【図１４】実施形態の一例としての通信元ストレージ装置における停電発生時の処理を説明するフローチャートである。
【図１５】実施形態の一例としての通信先ストレージ装置における停電発生時の処理を説明するフローチャートである。
【図１６】実施形態の一例としての通信元ストレージ装置における電源復旧時の処理を説明するフローチャートである。
【図１７】実施形態の一例としての通信先ストレージ装置における電源復旧時の処理を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照してストレージ制御装置，ストレージシステム及びプログラムに係る一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
【００１０】
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
【００１１】
〔Ａ〕実施形態の一例
〔Ａ−１〕システム構成
図１は、実施形態の一例としてのストレージシステムの機能構成を模式的に示す図である。
図１に示すストレージシステム１００は、ホスト装置５に対して記憶領域を提供するものであり、ストレージ装置１，２及びホスト装置５を備える。ストレージ装置１とストレージ装置２とは、筐体間通信部４０を介して互いに通信可能に接続される。また、ホスト装置５とストレージ装置１とは、例えばLocal Area Network（ＬＡＮ）ケーブルを介して互いに通信可能に接続される。
【００１２】
ホスト装置５は、例えば、サーバ機能を備えたコンピュータ（情報処理装置）である。図１に示す例においてはストレージシステム１００が１つのホスト装置５を備えることとしているが、ストレージシステム１００が備えるホスト装置５の数は種々変更することができる。
ストレージ装置１，２は、後述する複数の記憶装置（第１記憶装置，第２記憶装置）３１を搭載し、ホスト装置５に対して記憶領域を提供する装置であり、例えばＲＡＩＤを用いて複数の記憶装置３１にデータを分散又は冗長化した状態で保存する。
【００１３】
図２等を用いて後述するように、本実施形態の一例におけるストレージ装置１は、ホスト装置５からのライトＩ／Ｏに関するユーザデータやコピーデータ（復元情報），パリティデータ（復元情報）の一部をストレージ装置２に送信する。そして、ストレージ装置２は、受信したユーザデータやコピーデータ，パリティデータをストレージ装置２の記憶装置３１に格納する。以下、「ストレージ装置１」を「通信元ストレージ装置１」といい、「ストレージ装置２」を「通信先ストレージ装置２」という場合がある。
【００１４】
通信元ストレージ装置１は、Controller Module（ＣＭ＃０，＃１；第１ストレージ制御装置）１０及びDisk Enclosure（ＤＥ）３０を備える。
以下、通信元ストレージ装置１において、複数のＣＭのうち１つを特定する必要があるときには「ＣＭ＃０」又は「ＣＭ＃１」と表記するが、任意のＣＭを指すときには「ＣＭ１０」と表記する。
【００１５】
ＤＥ３０は、冗長化のためにＣＭ＃０，＃１のぞれぞれと１又は複数（図示する例では２つ）のアクセスパスで通信可能に接続されており、複数（図示する例では３つ）の記憶装置３１を備える。
記憶装置３１は、データを読み書き可能に格納する既知の装置であり、例えば、Hard Disk Drive（ＨＤＤ）やSolid State Drive（ＳＳＤ）である。記憶装置３１は、キャッシュメモリ（第２キャッシュメモリ）３１ａを備える。記憶装置３１のキャッシュメモリ３１ａを用いるキャッシュ機能を有効にすることにより、記憶装置３１にデータを書き込むために要する時間が短縮される。図１に示す記憶装置３１は、互いに同様の機能構成を備える。
【００１６】
ＣＭ１０は、種々の制御を行なう制御装置であり、ホスト装置５からのストレージアクセス要求（アクセス制御信号：以下、ホストInput/Output（Ｉ／Ｏ）という）に従って、各種制御を行なう。
通信元ストレージ装置１は、２つのＣＭ１０を備える冗長構成をとる。これにより、通信元ストレージ装置１は、プライマリとしてのＣＭ１０（例えばＣＭ＃０）が異常状態となった場合においても、ホットスタンバイ状態で待機しているセカンダリとしてのＣＭ１０（例えばＣＭ＃１）により継続して動作することができる。また、ＣＭ＃０とＣＭ＃１とは、Control Enclosure（ＣＥ）として機能する。
【００１７】
ＣＭ１０は、Ｉ／Ｏ制御部１１，ホストInterface（Ｉ／Ｆ）１６及び１又は複数（図示する例では２つ）のディスクＩ／Ｆ１７を備える。
ホストＩ／Ｆ１６は、ＣＭ１０をホスト装置５と通信可能に接続するインタフェースである。
ディスクＩ／Ｆ１７は、ＣＭ１０とＤＥ３０とを通信可能に接続するためのインタフェースであり、例えばFibre Channel（ＦＣ）アダプタである。
【００１８】
Ｉ／Ｏ制御部１１は、図３を用いて後述するように、Central Processing Unit（ＣＰＵ；コンピュータ）１１０，メモリ１３，不揮発性メモリ（第３記憶装置）１４及び補助電源１５を備える。図１においては、Ｉ／Ｏ制御部１１が備える機能構成のうちメモリ１３の機能の一部であるキャッシュメモリ（第１キャッシュメモリ，第１メモリ，第２メモリ）１３ａのみを示し、その他の機能構成の図示は簡単のため省略している。Ｉ／Ｏ制御部１１の機能構成の詳細については、図３を用いて後述する。
【００１９】
キャッシュメモリ１３ａは、一次記録メモリあるいはワーキングメモリとして利用されるRandom Access Memory（ＲＡＭ）であり、ホストＩ／Ｏに係るユーザデータやパリティデータが一時的に格納される。
通信先ストレージ装置２は、ＣＭ（ＣＭ＃０，＃１；ストレージ制御装置）２０及びＤＥ３０を備える。
【００２０】
以下、通信先ストレージ装置２において、複数のＣＭのうち１つを特定する必要があるときには「ＣＭ＃０」又は「ＣＭ＃１」と表記するが、任意のＣＭを指すときには「ＣＭ２０」と表記する。
ＣＭ２０は、種々の制御を行なう制御装置であり、筐体間通信部４０を介したホスト装置５からのストレージアクセス要求（アクセス制御信号：以下、ホストＩ／Ｏという）に従って、各種制御を行なう。
【００２１】
通信先ストレージ装置２は、２つのＣＭ２０を備える冗長構成をとる。これにより、通信先ストレージ装置２は、プライマリとしてのＣＭ２０（例えばＣＭ＃０）が異常状態となった場合においても、ホットスタンバイ状態で待機しているセカンダリとしてのＣＭ２０（例えばＣＭ＃１）により継続して動作することができる。また、ＣＭ＃０とＣＭ＃１とは、ＣＥとして機能する。
【００２２】
ＣＭ２０は、Ｉ／Ｏ制御部２１，ホストＩ／Ｆ１６及び１又は複数（図示する例では２つ）のディスクＩ／Ｆ１７を備える。
Ｉ／Ｏ制御部２１は、図４を用いて後述するように、ＣＰＵ２１０及びメモリ１３を備える。図１においては、Ｉ／Ｏ制御部２１が備える機能構成のうちメモリ１３の機能の一部であるキャッシュメモリ１３ａのみを示し、その他の機能構成の図示は簡単のため省略している。Ｉ／Ｏ制御部２１の機能構成の詳細については、図４を用いて後述する。
【００２３】
筐体間通信部４０は、通信元ストレージ装置１と通信先ストレージ装置２とを通信可能に接続するＣＭ間通信のためのインタフェースケーブルであり、複数（図示する例では４つ）の通信用メモリ４１を備える。つまり、通信元ストレージ装置１のＣＭ１０と通信先ストレージ装置２のＣＭ２０とは、直接接続されておらず、筐体間通信部４０を介して接続される。
【００２４】
通信用メモリ４１は、ＣＭ１０，２０のそれぞれに対応づけて備えられる。図１に示す例では、通信用メモリ４１は、通信元ストレージ装置１のＣＭ＃０，＃１及び通信先ストレージ装置２のＣＭ＃０，＃１のそれぞれに対応づけて備えられる。通信用メモリ４１は、通信元ストレージ装置１と通信先ストレージ装置２との間の筐体間通信部４０を介したユーザデータやパリティデータの送受信処理において、送信バッファ又は受信バッファとして使用される。
【００２５】
図２は、実施形態の一例としてのストレージシステムにおけるディスクアクセスを説明する図である。
なお、図２においては、簡単のため、記憶装置３１が備えるキャッシュメモリ３１ａの図示を省略している。
図２の太実線矢印は、通信元ストレージ装置１において筐体内に閉じた記憶装置３１へのアクセス処理を示す。通信元ストレージ装置１のＩ／Ｏ制御部１１は、ホストＩ／Ｆ１６を介して、ホスト装置５から送信されたデータを受信し、受信されたデータをキャッシュメモリ１３ａに一時的に格納する。そして、Ｉ／Ｏ制御部１１は、ディスクＩ／Ｆ１７を介して、データを記憶装置３１に書き込む。つまり、図２の太実線矢印が示す処理は、ホストＩ／Ｏを受信したＩ／Ｏ制御部１１とデータの書き込み対象である記憶装置３１とが直接接続されている場合のアクセス処理である。
【００２６】
図２の太破線矢印は、筐体を跨いだ記憶装置３１へのアクセス処理を示す。通信元ストレージ装置１のＩ／Ｏ制御部１１は、ホストＩ／Ｆ１６を介して、ホスト装置５から送信されたデータを受信し、受信されたデータをキャッシュメモリ１３ａに一時的に格納する。また、Ｉ／Ｏ制御部１１は、データを通信元ストレージ装置１のＣＭ＃０に対応する通信メモリ４１に一時的に格納する。筐体間通信部４０は、通信元ストレージ装置１のＣＭ＃０に対応する通信メモリ４１に格納されたデータを通信先ストレージ装置２のＣＭ＃０に対応する通信用メモリ４１宛てに送信する。通信先ストレージ装置２のＩ／Ｏ制御部２１は、ディスクＩ／Ｆ１７を介して、通信先ストレージ装置２のＣＭ＃０に対応する通信用メモリ４１宛てに送信されて格納されたデータを記憶装置３１に書き込む。つまり、図２の太破線矢印で示す処理は、ホストＩ／Ｏを受信したＩ／Ｏ制御部１１とデータの書き込み対象である記憶装置３１とが筐体間通信部４０を介して接続された場合のアクセス処理である。このように、ホスト装置５と通信先ストレージ装置２とを接続する構成を不要とすることで、ストレージ１００の設置コストの低減及びスケールアウトを図ることができる。
【００２７】
図３は、実施形態の一例としてのストレージシステムにおける通信元ストレージ装置が備えるＩ／Ｏ制御部の機能構成を模式的に示す図である。
図３に示す通信元ストレージ装置１のＩ／Ｏ制御部１１は、前述したように、ＣＰＵ１１０，メモリ１３，不揮発性メモリ１４及び補助電源１５を備える。
補助電源１５は、通信元ストレージ装置１に対する外部からの電力供給が停止された場合に、通信元ストレージ装置１に対する電力供給を行なう。
【００２８】
不揮発性メモリ１４は、電力供給がされていない状態でも格納されたデータを保持する記憶装置である。不揮発性メモリ１４は、通信元ストレージ装置１に対する外部からの電力供給が停止された場合（停電時）のデータ保護のため、補助電源１５による電源供給がされた状態で、キャッシュメモリ１３ａに格納されたデータが退避される。
メモリ１３は、Read Only Memory（ＲＯＭ）及びＲＡＭを含む記憶装置である。メモリ１３のＲＯＭには、Basic Input/Output System（ＢＩＯＳ）等のプログラムが書き込まれている。メモリ１３上のソフトウェアプログラムは、ＣＰＵ１１０に適宜読み込まれて実行される。また、メモリ１３のＲＡＭは、キャッシュメモリ１３ａとして利用される。
【００２９】
ＣＰＵ１１０は、種々の制御や演算を行なう処理装置であり、メモリ１３に格納されたOperating System（ＯＳ）やプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ１１０は、図３に示すように、データ受信部１１１，キャッシュ格納制御部（キャッシュメモリ格納制御部）１１２，冗長度決定部１１３，キャッシュ機能設定部１１４，データ書き込み部１１５，データ送信部１１６，コマンド受信部１１７，メモリ解放部１１８，抑止処理部１１９，データ退避部１２０，メモリ格納制御部（第１メモリ格納制御部）１２１，更新位置情報通知部（第１更新位置情報通知部）１２２，更新位置情報受信部１２３及びデータ復旧部（第１データ復旧部）１２４として機能する。
【００３０】
なお、これらのデータ受信部１１１，キャッシュ格納制御部１１２，冗長度決定部１１３，キャッシュ機能設定部１１４，データ書き込み部１１５，データ送信部１１６，コマンド受信部１１７，メモリ解放部１１８，抑止処理部１１９，データ退避部１２０，メモリ格納制御部１２１，更新位置情報通知部１２２，更新位置情報受信部１２３及びデータ復旧部１２４としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００３１】
データ受信部１１１，キャッシュ格納制御部１１２，冗長度決定部１１３，キャッシュ機能設定部１１４，データ書き込み部１１５，データ送信部１１６，コマンド受信部１１７，メモリ解放部１１８，抑止処理部１１９，データ退避部１２０，メモリ格納制御部１２１，更新位置情報通知部１２２，更新位置情報受信部１２３及びデータ復旧部１２４としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ１３）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１０）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００３２】
データ受信部１１１は、ホストＩ／Ｆ１６を介して、ホスト装置５からホストＩ／Ｏに係るデータを受信する。
キャッシュ格納制御部１１２は、データをキャッシュメモリ１３ａに格納する。具体的には、キャッシュ格納制御部１１２は、データ受信部１１１によって受信されたデータを通信元ストレージ装置１及び通信先ストレージ装置２の記憶装置３１に書き込むデータとしてキャッシュメモリ１３ａに一時的に格納する。
【００３３】
冗長度決定部１１３は、データ書き込み先のＲＡＩＤグループのＲＡＩＤ構成に基づき、記憶装置３１に書き込まれるデータの冗長度を決定する。具体的には、設定されたＲＡＩＤ構成がＲＡＩＤ０（ストライピング）である場合には、ＲＡＩＤを構成する記憶装置３１のうちいずれか１つの記憶装置３１が故障してもデータを復元できなくなるため、冗長度決定部１１３は冗長度を“０”と決定する。また、設定されたＲＡＩＤ構成がＲＡＩＤ１〜５のいずれかである場合には、ＲＡＩＤを構成する記憶装置３１のうちいずれか１つの記憶装置３１が故障してもデータを復元できるため、冗長度決定部１１３は冗長度を“１”と決定する。更に、設定されたＲＡＩＤ構成がＲＡＩＤ６である場合には、ＲＡＩＤを構成する記憶装置３１のうちいずれか２つの記憶装置が故障してもデータを復元できるため、冗長度決定部１１３は冗長度を“２”と決定する。言い換えれば、冗長度決定部１１３は、故障許容数を冗長度として決定する。ここで、故障許容数とは、通信元ストレージ装置１に備えられる複数の記憶装置３１のうち一部の記憶装置３１が使用不能になっても、ストレージ装置１，２の記憶装置３１に格納されたデータを復元できる通信元ストレージ装置１の記憶装置３１の数である。
【００３４】
キャッシュ機能設定部１１４は、記憶装置３１に備えられるキャッシュ機能の有効又は無効の設定を行なう。具体的には、キャッシュ機能設定部１１４は、冗長度決定部１１３によって決定された冗長度に基づき、通信元ストレージ装置１に備えられる複数の記憶装置３１のうち一部又は全部の記憶装置３１についてのキャッシュ機能を有効にする。より具体的には、キャッシュ機能設定部１１４は、通信元ストレージ装置１の複数の記憶装置３１のうち、冗長度決定部１１３によって冗長度として決定された記憶装置３１の数と同数の通信元ストレージ装置１の記憶装置３１におけるキャッシュ機能を有効にする。
【００３５】
データ書き込み部１１５は、通信元ストレージ装置１が備える記憶装置３１にデータを書き込む。具体的には、データ書き込み部１１５は、キャッシュ機能設定部１１４によってキャッシュ機能を有効に設定された記憶装置３１については、記憶装置３１が備えるキャッシュメモリ３１ａにデータを書き込む。一方、データ書き込み部１１５は、キャッシュ機能設定部１１４によってキャッシュ機能を無効に設定された記憶装置３１については、記憶装置３１が備えるキャッシュメモリ３１ａを使用せずに記憶装置３１にデータを書き込む。つまり、データ書き込み部１１５は、記憶装置３１がＨＤＤである場合にはデータをプラッタに直接書き込み、記憶装置３１がＳＳＤである場合にはデータをＳＳＤに備えられるフラッシュメモリに直接書き込む。
【００３６】
また、データ書き込み部１１５は、通信元ストレージ装置１に対する外部からの電源供給が停止された場合に、電源供給の再開後に、後述するデータ退避部１２０によって不揮発性メモリ１４に退避されたデータを通信元ストレージ装置１が備える記憶装置３１に書き込む。
データ送信部１１６は、通信先ストレージ装置２に対して、通信先ストレージ装置２の記憶装置３１に書き込まれるデータを送信する。具体的には、データ送信部１１６は、自ＣＭ１０に対応する通信用メモリ４１にデータを書き込むことにより、筐体間通信部４０を介して、通信先ストレージ装置２にデータを送信する。
【００３７】
コマンド受信部１１７は、通信先ストレージ装置２からコマンドを受信する。具体的には、コマンド受信部１１７は、筐体間通信部４０を介して、データ送信部１１６によって通信先ストレージ装置２に送信されたデータについての通信先ストレージ装置２からの応答コマンドを受信する。
メモリ解放部１１８は、キャッシュメモリ１３ａに格納されたデータを削除することにより、キャッシュメモリ１３ａを解放する。具体的には、メモリ解放部１１８は、データ書き込み部１１５によるデータの書き込み処理が完了した場合に、書き込み処理が完了したデータをキャッシュメモリ１３ａから削除する。また、メモリ解放部１１８は、コマンド受信部１１７によって応答コマンドが受信された場合に、応答コマンドに係るデータをキャッシュメモリ１３ａから削除する。
【００３８】
抑止処理部１１９は、データ書き込み部１１５及びメモリ解放部１１８による処理を抑止する。具体的には、抑止処理部１１９は、第１の条件が満たされる場合に、データ書き込み部１１５によるデータの書き込みと、メモリ解放部１１８によるデータの削除とを抑止する。ここで、第１の条件とは、通信先ストレージ装置２に対する外部からの電力供給が停止され、通信元ストレージ装置１に備えられる記憶装置３１に格納されるデータによってストレージ装置１，２の記憶装置３１に格納されたデータが復元されないＲＡＩＤ構成が設定されていることである。例えば、後述する図７には、通信先ストレージ装置２が使用不能になった場合には、通信元ストレージ装置１に格納されるユーザデータ“Ｄ０”，“Ｄ１”によって、通信先ストレージ装置２に格納されるユーザデータ“Ｄ２”及びパリティデータ“Ｐ”が復元されない例が示されている。
【００３９】
データ退避部１２０は、キャッシュメモリ１３ａに格納されたデータを不揮発性メモリ１４に退避させる。具体的には、データ退避部１２０は、第２の条件が満たされる場合に、補助電源１５による電力供給がされた状態で、キャッシュメモリ１３ａに格納されたデータを不揮発性メモリ１４に退避させる。ここで、第２の条件とは、通信元ストレージ装置１に対する外部からの電力供給が停止され、通信先ストレージ装置２に備えられる記憶装置３１に格納されるデータによってストレージ装置１，２に格納されたデータが復元されないＲＡＩＤ構成が設定されていることである。例えば、後述する図７には、通信元ストレージ装置１が使用不能になった場合には、通信先ストレージ装置２に格納されるユーザデータ“Ｄ２”及びパリティデータ“Ｐ”によって、通信元ストレージ装置１に格納されるユーザデータ“Ｄ０”，“Ｄ１”が復元されない例が示されている。
【００４０】
メモリ格納制御部１２１は、第１更新位置情報をキャッシュメモリ１３ａに格納する。具体的には、メモリ格納制御部１２１は、第３の条件が満たされる場合に、通信元ストレージ装置１が備える複数の記憶装置３１に格納されたデータのうち、キャッシュメモリ１３ａに格納されたデータによって更新されるデータの位置を示す第１更新位置情報をキャッシュメモリ１３ａに格納する。ここで、第３の条件とは、通信先ストレージ装置２に対する外部からの電力供給が停止され、通信元ストレージ装置１が備える記憶装置３１に格納されるデータによってストレージ装置１，２の記憶装置３１に格納されたデータが復元されるＲＡＩＤ構成が設定されていることである。例えば、後述する図５には、通信先ストレージ装置２が使用不能になった場合には、通信元ストレージ装置１に格納されるユーザデータ“Ｄ０”によって、通信先ストレージ装置２に格納されるコピーデータ“Ｄ０”が復元される例が示されている。
【００４１】
更新位置情報通知部１２２は、通信先ストレージ装置２に第１更新位置情報を通知する。具体的には、更新位置情報通知部１２２は、通信先ストレージ装置２に対する外部からの電力供給の再開後に、筐体間通信部４０を介して、通信先ストレージ装置２にキャッシュメモリ１３ａに格納された第１更新位置情報を通知する。
更新位置情報受信部１２３は、通信先ストレージ装置２から第２更新位置情報を受信する。具体的には、更新位置情報受信部１２３は、筐体間通信部４０を介して、通信先ストレージ装置２に備えられる記憶装置３１に格納されたデータのうち、筐体間通信部４０を介して送信されたデータによって更新されるデータの位置を示す第２更新位置情報を通信先ストレージ装置２から受信する。
【００４２】
データ復旧部１２４は、通信元ストレージ装置１に備えられた記憶装置３１に格納されるデータを復旧（リビルド）する。具体的には、データ復旧部１２４は、更新位置情報受信部１２３によって受信された第２更新位置情報に基づき、通信元ストレージ装置１に備えられた記憶装置３１に格納されるデータを復旧する。
【００４３】
図４は、実施形態の一例としてのストレージシステムにおける通信先ストレージ装置が備えるＩ／Ｏ制御部の機能構成を模式的に示す図である。
図４に示す通信先ストレージ装置２のＩ／Ｏ制御部２１は、前述したように、ＣＰＵ２１０及びメモリ１３を備える。
ＣＰＵ２１０は、種々の制御や演算を行なう処理装置であり、メモリ１３に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。すなわち、ＣＰＵ２１０は、図４に示すように、データ受信部２１１，通信用メモリ格納制御部２１２，コマンド送信部２１３，データ書き込み部２１４，メモリ格納制御部（第２メモリ格納制御部）２１５，更新位置情報通知部（第２更新位置情報通知部）２１６，更新位置情報受信部２１７及びデータ復旧部（第２データ復旧部）２１８として機能する。
【００４４】
なお、これらのデータ受信部２１１，通信用メモリ格納制御部２１２，コマンド送信部２１３，データ書き込み部２１４，メモリ格納制御部２１５，更新位置情報通知部２１６，更新位置情報受信部２１７及びデータ復旧部２１８としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しない読取装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
【００４５】
データ受信部２１１，通信用メモリ格納制御部２１２，コマンド送信部２１３，データ書き込み部２１４，メモリ格納制御部２１５，更新位置情報通知部２１６，更新位置情報受信部２１７及びデータ復旧部２１８としての機能を実現する際には、内部記憶装置（本実施形態ではメモリ１３）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ２１０）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
【００４６】
データ受信部２１１は、通信元ストレージ装置１からデータを受信する。具体的には、データ受信部２１１は、通信元ストレージ装置１から筐体間通信部４０を介して送信されたデータを受信する。
通信用メモリ格納制御部２１２は、データを通信用メモリ４１に格納する。具体的には、自ＣＭ２０に対応する通信用メモリ４１にデータ受信部２１１によって受信されたデータを格納する。
【００４７】
コマンド送信部２１３は、通信元ストレージ装置１に応答コマンドを送信する。具体的には、コマンド送信部２１３は、通信用メモリ格納制御部２１２によってデータが通信用メモリ４１に格納されると、通信元ストレージ装置１に対して、応答コマンドを送信する。
データ書き込み部２１４は、通信先ストレージ装置２が備える記憶装置３１にデータを書き込む。具体的には、データ書き込み部２１４は、コマンド送信部２１３による応答コマンドの送信とは非同期に、応答コマンドの送信後の任意のタイミングで、通信先ストレージ装置２の記憶装置３１に通信用メモリ４１に格納されたデータを書き込む。
【００４８】
メモリ格納制御部２１５は、第２更新位置情報をキャッシュメモリ１３ａに格納する。具体的には、メモリ格納制御部２１５は、第４の条件が満たされる場合に、通信先ストレージ装置２が備える複数の記憶装置３１に格納されたデータのうち、通信用メモリ４１に格納されたデータによって更新されるデータの位置を示す第２更新位置情報をキャッシュメモリ１３ａに格納する。ここで、第４の条件とは、通信元ストレージ装置１に対する外部からの電力供給が停止され、通信先ストレージ装置２が備える記憶装置３１に格納されるデータによってストレージ装置１，２の記憶装置３１に格納されたデータが復元されるＲＡＩＤ構成が設定されていることである。例えば、後述する図５には、通信元ストレージ装置１が使用不能になった場合には、通信先ストレージ装置２に格納されるコピーデータ“Ｄ０”によって、通信元ストレージ装置１に格納されるユーザデータ“Ｄ０”が復元される例が示されている。
【００４９】
更新位置情報通知部２１６は、通信元ストレージ装置１に第２更新位置情報を通知する。具体的には、更新位置情報通知部２１６は、通信元ストレージ装置１に対する外部からの電力供給の再開後に、筐体間通信部４０を介して、通信元ストレージ装置１にキャッシュメモリ１３ａに格納された第２更新位置情報を通知する。
更新位置情報受信部２１７は、通信元ストレージ装置１から第１更新位置情報を受信する。具体的には、更新位置情報受信部２１７は、筐体間通信部４０を介して、通信元ストレージ装置１が備える複数の記憶装置３１に格納されたデータのうち、キャッシュメモリ１３ａに格納されたデータによって更新されるデータの位置を示す第１更新位置情報を通信元ストレージ装置１から受信する。
【００５０】
データ復旧部２１８は、通信先ストレージ装置２に備えられた記憶装置３１に格納されるデータを復旧（リビルド）する。具体的には、データ復旧部２１８は、更新位置情報受信部２１７によって受信された第１更新位置情報に基づき、通信先ストレージ装置２に備えられた記憶装置３１に格納されるデータを復旧する。
【００５１】
〔Ａ−２〕動作
上述の如く構成された実施形態の一例としてのストレージシステムにおけるミラーリングによるデータ書き込み処理を、図５を参照しながら、図６に示すシーケンス図（ステップＳ１〜Ｓ１１）に従って説明する。
図５においては、簡単のため、ストレージシステム１００が備えるホスト装置５の図示を省略し、ストレージ装置１，２及び筐体間通信部４０が備える一部の機能構成の図示を省略している。
【００５２】
また、図５及び図６においては、ストレージシステム１００のＲＡＩＤ構成としてＲＡＩＤ１（ミラーリング）が設定され、通信元ストレージ装置１の１つの記憶装置３１にはユーザデータ“Ｄ０”が書き込まれ、通信先ストレージ装置２の１つの記憶装置３１にはユーザデータのコピーデータ“Ｄ０”が書き込まれる例を示している。
ホスト装置５は、通信元ストレージ装置１のＣＭ＃０に対して、ユーザデータ“Ｄ０”についてのライトＩ／Ｏ依頼を発行する（図６のステップＳ１）。
【００５３】
通信元ストレージ装置１のＣＭ＃０のデータ受信部１１１はホスト装置５からのライトＩ／Ｏに関するユーザデータ“Ｄ０”を受信し、キャッシュ格納制御部１１２は受信されたユーザデータ“Ｄ０”をキャッシュメモリ１３ａに格納する（図６のステップＳ２）。
データ受信部１１１は、ホスト装置５にライトＩ／Ｏに対する応答をする（図６のステップＳ３）。
【００５４】
冗長度決定部１１３は、ストレージシステム１００に設定されたＲＡＩＤ構成に基づき、冗長度を決定する。図５及び図６に示す例においては、ストレージシステム１００のＲＡＩＤ構成としてＲＡＩＤ１が設定されているため、冗長度決定部１１３は冗長度を“１”に決定する。
キャッシュ機能設定部１１４は、通信元ストレージ装置１に備えられる記憶装置３１のうち、決定された冗長度と同数の１つの記憶装置＃０におけるキャッシュ機能を有効にする。
【００５５】
通信元ストレージ装置１のＣＭ＃０は、通信元ストレージ装置１の記憶装置＃０に対して、ユーザデータ“Ｄ０”についてのライト処理を起動させる（図６のステップＳ４）。
データ書き込み部１１５は、通信元ストレージ装置１の記憶装置＃０に対して、記憶装置＃０のキャッシュ機能を用いたユーザデータ“Ｄ０”についてのディスクライト依頼を発行する（図５の符号Ａ１及び図６のステップＳ５）。
【００５６】
データ送信部１１６は、データ書き込み部１１５による処理と並行して、通信先ストレージ装置２のＣＭ＃０に対してコピーデータ“Ｄ０”についての通信依頼を発行する（図５の符号Ａ２及び図６のステップＳ６）。
通信元ストレージ装置１の記憶装置＃０は、ユーザデータ“Ｄ０”を記憶装置＃０が備えるキャッシュメモリ３１ａに書き込むと、通信元ストレージ装置１のＣＭ＃０に対してユーザデータ“Ｄ０”についてのディスクライト応答をする（図６のステップＳ７）。
【００５７】
通信先ストレージ装置２のＣＭ＃０のコマンド送信部２１３は、コピーデータ“Ｄ０”についての通信の応答をする（図６のステップＳ８）。
通信元ストレージ装置１のＣＭ＃０のメモリ解放部１１８は、ステップＳ７及びＳ８の処理の後に、キャッシュメモリ１３ａに格納されたユーザデータ“Ｄ０”を削除することを許可するキャッシュ解放可能の設定を行なう（図６のステップＳ９）。
【００５８】
通信先ストレージ装置２のＣＭ＃０のデータ書き込み部２１４は、ステップＳ６の処理等とは非同期に、任意のタイミングにおいて、通信先ストレージ装置２の記憶装置＃０に対してコピーデータ“Ｄ０”についてのディスクライト依頼を発行する（図６のステップＳ１０）。
通信先ストレージ装置２の記憶装置＃０は、コピーデータ“Ｄ０”の書き込みが完了すると、通信先ストレージ装置２のＣＭ＃０に対してディスクライト応答をし（図６のステップＳ１１）、処理は完了する。
【００５９】
次に、実施形態の一例としてのストレージシステムにおけるパリティデータを用いたデータ書き込み処理を、図７を参照しながら、図８に示すシーケンス図（ステップＳ２１〜Ｓ３７）に従って説明する。
図７においては、簡単のため、ストレージシステム１００が備えるホスト装置５の図示を省略し、ストレージ装置１，２及び筐体間通信部４０が備える一部の機能構成の図示を省略している。
【００６０】
また、図７及び図８においては、ストレージシステム１００のＲＡＩＤ構成としてＲＡＩＤ２〜５のいずれかが設定される例を示している。更に、図７及び図８においては、通信元ストレージ装置１の記憶装置＃０，＃１にはユーザデータ“Ｄ０”，“Ｄ１”がそれぞれ書き込まれ、通信先ストレージ装置２の記憶装置＃０，＃１にはユーザデータ“Ｄ２”及びパリティデータ“Ｐ”がそれぞれ書き込まれる例を示している。
【００６１】
ホスト装置５は、通信元ストレージ装置１のＣＭ＃０に対して、ユーザデータ“Ｄ０”，“Ｄ１”，“Ｄ２”及びパリティデータ“Ｐ”についてのライトＩ／Ｏ依頼を発行する（図８のステップＳ２１）。
通信元ストレージ装置１のＣＭ＃０のデータ受信部１１１はホスト装置５からのライトＩ／Ｏに関するユーザデータ“Ｄ０”，“Ｄ１”，“Ｄ２”及びパリティデータ“Ｐ”を受信する。そして、キャッシュ格納制御部１１２は、受信されたユーザデータ“Ｄ０”，“Ｄ１”，“Ｄ２”及びパリティデータ“Ｐ”をキャッシュメモリ１３ａに格納する（図８のステップＳ２２）。
【００６２】
データ受信部１１１は、ホスト装置５にライトＩ／Ｏに対する応答をする（図８のステップＳ２３）。
冗長度決定部１１３は、ストレージシステム１００に設定されたＲＡＩＤ構成に基づき、冗長度を決定する。図７及び図８に示す例においては、ストレージシステム１００のＲＡＩＤ構成としてＲＡＩＤ２〜５のいずれかが設定されているため、冗長度決定部１１３は冗長度を“１”に決定する。
【００６３】
キャッシュ機能設定部１１４は、通信元ストレージ装置１に備えられる記憶装置３１のうち、決定された冗長度と同数の１つの記憶装置＃０におけるキャッシュ機能を有効にする。
通信元ストレージ装置１のＣＭ＃０は、通信元ストレージ装置１の記憶装置＃０，＃１及び通信先ストレージ装置２の記憶装置＃０，＃１に対して、ユーザデータ“Ｄ０”，“Ｄ１”，“Ｄ２”及びパリティデータ“Ｐ”についてのライト処理をそれぞれ起動させる（図８のステップＳ２４）。
【００６４】
データ書き込み部１１５は、通信元ストレージ装置１の記憶装置＃０に対して、記憶装置＃０のキャッシュ機能を用いたユーザデータ“Ｄ０”についてのディスクライト依頼を発行する（図７の符号Ｂ１及び図８のステップＳ２５）。
データ書き込み部１１５は、ステップＳ２５の処理と並行して、通信元ストレージ装置１の記憶装置＃１に対して、記憶装置＃１のキャッシュ機能を用いないユーザデータ“Ｄ１”についてのディスクライト依頼を発行する（図７の符号Ｂ２及び図８のステップＳ２６）。
【００６５】
データ送信部１１６は、ステップＳ２５及びＳ２６の処理と並行して、通信先ストレージ装置２のＣＭ＃０に対してユーザデータ“Ｄ２”及びパリティデータ“Ｐ”についての通信依頼を発行する（図７の符号Ｂ３及び図８のステップＳ２７）。
通信元ストレージ装置１の記憶装置＃０は、ユーザデータ“Ｄ０”を記憶装置＃０が備えるキャッシュメモリ３１ａに書き込むと、通信元ストレージ装置１のＣＭ＃０に対してユーザデータ“Ｄ０”についてのディスクライト応答をする（図８のステップＳ２８）。
【００６６】
通信元ストレージ装置１のＣＭ＃０のメモリ解放部１１８は、ステップＳ２８の処理の後に、キャッシュメモリ１３ａに格納されたユーザデータ“Ｄ０”を削除することを許可するキャッシュ解放可能の設定を行なう（図８のステップＳ２９）。
通信先ストレージ装置２のＣＭ＃０のコマンド送信部２１３は、通信元ストレージ装置１に対して、ユーザデータ“Ｄ２”及びパリティデータ“Ｐ”についての通信の応答をする（図８のステップＳ３０）。
【００６７】
通信元ストレージ装置１のＣＭ＃０のメモリ解放部１１８は、ステップＳ３０の処理の後に、キャッシュメモリ１３ａに格納されたユーザデータ“Ｄ２”及びパリティデータ“Ｐ”を削除することを許可するキャッシュ解放可能の設定を行なう（図８のステップＳ３１）。
通信元ストレージ装置１の記憶装置＃１は、ユーザデータ“Ｄ１”を記憶装置＃１が備える図示しないプラッタ又はフラッシュメモリに書き込むと、通信元ストレージ装置１のＣＭ＃０に対してユーザデータ“Ｄ１”についてのディスクライト応答をする（図８のステップＳ３２）。
【００６８】
通信元ストレージ装置１のＣＭ＃０のメモリ解放部１１８は、ステップＳ３２の処理の後に、キャッシュメモリ１３ａに格納されたユーザデータ“Ｄ１”を削除することを許可するキャッシュ解放可能の設定を行なう（図８のステップＳ３３）。
通信先ストレージ装置２のＣＭ＃０のデータ書き込み部２１４は、ステップＳ２７の処理等とは非同期に、任意のタイミングにおいて、通信先ストレージ装置２の記憶装置＃０に対してユーザデータ“Ｄ２”についてのディスクライト依頼を発行する（図８のステップＳ３４）。
【００６９】
通信先ストレージ装置２のＣＭ＃０のデータ書き込み部２１４は、ステップＳ２７の処理等とは非同期に、任意のタイミングにおいて、通信先ストレージ装置２の記憶装置＃１に対してパリティデータ“Ｐ”についてのディスクライト依頼を発行する（図８のステップＳ３５）。
【００７０】
通信先ストレージ装置２の記憶装置＃０は、ユーザデータ“Ｄ２”の書き込みが完了すると、通信先ストレージ装置２のＣＭ＃０に対してディスクライト応答をする（図８のステップＳ３６）。
通信先ストレージ装置２の記憶装置＃１は、パリティデータ“Ｐ”の書き込みが完了すると、通信先ストレージ装置２のＣＭ＃０に対してディスクライト応答をし（図８のステップＳ３７）、処理は完了する。
【００７１】
次に、実施形態の一例としてのストレージシステムにおける通信元ストレージ装置におけるホスト装置からのライトＩ／Ｏの受信処理を、図９に示すフローチャート（ステップＳ４１〜Ｓ４５）に従って説明する。
通信元ストレージ装置１のデータ受信部１１１は、ホスト装置５からライトＩ／Ｏを受信する（ステップＳ４１）。
【００７２】
キャッシュ格納制御部１１２は、解放設定のキャッシュメモリ１３ａがあるか、すなわち、キャッシュメモリ１３ａに空き領域があるかを判定する（ステップＳ４２）。
解放設定のキャッシュメモリ１３ａがある場合には（ステップＳ４２のＹｅｓルート参照）、処理はステップＳ４４に移行する。
一方、解放設定のキャッシュメモリ１３ａがない場合には（ステップＳ４２のＮｏルート参照）、通信元ストレージ装置１のＣＰＵ１１０は、ライト処理を起動し、キャッシュメモリ１３ａを解放する（ステップＳ４３）。なお、ステップＳ４３の処理の詳細は、図１０を用いて後述する。
【００７３】
データ受信部１１１は、ホスト装置５からデータを受信する（ステップＳ４４）。
データ受信部１１１は、ホスト装置５にライトＩ／Ｏ完了を応答し（ステップＳ４５）、処理は終了する。
【００７４】
次に、実施形態の一例としてのストレージシステムにおける通信元ストレージ装置におけるライト起動処理を、図１０に示すフローチャート（ステップＳ５１〜Ｓ６０）に従って説明する。
通信元ストレージ装置１の冗長度決定部１１３は、キャッシュメモリ１３ａ上のデータの検索を開始する（ステップＳ５１）。
【００７５】
冗長度決定部１１３は、検索したデータのキャッシュメモリ１３ａにおける滞在時間が閾値を超えたかを判定する（ステップＳ５２）。ここで、滞在時間とは、データがキャッシュ格納制御部１１２によってキャッシュメモリ１３ａに格納されてからの経過時間である。
データの滞在時間が閾値を超えない場合には（ステップＳ５２のＮｏルート参照）、処理はステップＳ５８に移行する。
【００７６】
一方、データの滞在時間が閾値を超える場合には（ステップＳ５２のＹｅｓルート参照）、冗長度決定部１１３は、ストレージシステム１００におけるＲＡＩＤグループ構成を解析する（ステップＳ５３）。
ストレージ装置１，２を跨ぐＲＡＩＤグループが構成されている場合には（ステップＳ５３の“筐体を跨ぐＲＡＩＤグループ”ルート参照）、ＣＰＵ１１０は、自筐体ディスクライト処理及び筐体間通信処理を行なう（ステップＳ５４及びＳ５５）。そして、処理はステップＳ５８に移行する。なお、ステップＳ５４の処理については図１１を用いて後述し、ステップＳ５５の処理については図１２を用いて後述する。
【００７７】
通信元ストレージ装置１に閉じたＲＡＩＤグループが構成されている場合には（ステップＳ５３の“自筐体ＲＡＩＤグループ”ルート参照）、ＣＰＵ１１０は、自筐体ディスクライト処理を行なう（ステップＳ５６）。そして、処理はステップＳ５８に移行する。なお、ステップＳ５６の処理については、図１１を用いて後述する。
【００７８】
通信先ストレージ装置２に閉じたＲＡＩＤグループが構成されている場合には（ステップＳ５３の“他筐体ＲＡＩＤグループ”ルート参照）、ＣＰＵ１１０は、筐体間通信処理を行なう（ステップＳ５７）。そして、処理はステップＳ５８に移行する。なお、ステップＳ５７の処理については、図１２を用いて後述する。
冗長度決定部１１３は、キャッシュメモリ１３ａ上に次のデータがあるかを判定する（ステップＳ５８）。
【００７９】
次のデータがある場合には（ステップＳ５８のＹｅｓルート参照）、処理はステップＳ５２に戻る。
一方、次のデータがない場合には（ステップＳ５８のＮｏルート参照）、冗長度決定部１１３は、キャッシュメモリ１３ａ上のデータの検索処理を終了する（ステップＳ５９）。
【００８０】
冗長度決定部１１３は、直前の検索処理の開始時刻から一定時間が経過したかを判定する（ステップＳ６０）。
一定時間が経過していない場合には（ステップＳ６０のＮｏルート参照）、冗長度決定部１１３は、ステップＳ６０の判定を繰り返し行なう。
一方、一定時間が経過した場合には（ステップＳ６０のＹｅｓルート参照）、処理はステップＳ５１に戻る。
【００８１】
次に、実施形態の一例としてのストレージシステムにおける通信元ストレージ装置における自筐体ディスクライト処理を、図１１に示すフローチャート（ステップＳ６１〜Ｓ７１）に従って説明する。
通信元ストレージ装置１のキャッシュ機能設定部１１４は、冗長度決定部１１３によって決定された冗長度をディスクキャッシュオン数に設定する（ステップＳ６１）。
【００８２】
キャッシュ機能設定部１１４は、ディスクキャッシュオン数が“１”以上であるかを判定する（ステップＳ６２）。
ディスクキャッシュオン数が“１”以上でない場合には（ステップＳ６２のＮｏルート参照）、キャッシュ機能設定部１１４は、記憶装置３１のディスクキャッシュ機能をオフに設定し（ステップＳ６３）、処理はステップＳ６６に移行する。
【００８３】
一方、ディスクキャッシュオン数が“１”以上である場合には（ステップＳ６２のＹｅｓルート参照）、キャッシュ機能設定部１１４は、記憶装置３１のディスクキャッシュ機能をオンに設定する（ステップＳ６４）。
キャッシュ機能設定部１１４は、ディスクキャッシュオン数を“１”減算する（ステップＳ６５）。
【００８４】
データ書き込み部１１５は、ディスクキャッシュ機能のオン又はオフを設定した記憶装置３１に対して、ディスクライトを依頼する（ステップＳ６６）。
キャッシュ機能設定部１１４は、ディスクキャッシュ機能のオン又はオフを設定していないライト対象のディスクがまだあるかを判定する（ステップＳ６７）。
ライト対象のディスクがまだある場合には（ステップＳ６７のＹｅｓルート参照）、処理はステップＳ６２に戻る。
【００８５】
一方、ライト対象のディスクがもうない場合には（ステップＳ６７のＮｏルート参照）、データ書き込み部１１５は、記憶装置３１からのディスクライト応答を待つ（ステップＳ６８）。
そして、データ書き込み部１１５は、記憶装置３１からのディスクライト応答を受信する（ステップＳ６９）。
【００８６】
メモリ解放部１１８は、ディスクライト応答があったデータについて、キャッシュメモリ１３ａの解放可能の設定を行なう（ステップＳ７０）。
データ書き込み部１１５は、記憶装置３１から全てのディスクライト応答を受信済みであるかを判定する（ステップＳ７１）。
【００８７】
全てのディスクライト応答を受信済みない場合には（ステップＳ７１のＮｏルート参照）、処理はステップＳ６９に戻る。
一方、全てのディスクライト応答を受信済みである場合には（ステップＳ７１のＹｅｓルート参照）、処理は終了する。
【００８８】
次に、実施形態の一例としてのストレージシステムにおける通信元ストレージ装置における筐体間通信処理を、図１２に示すフローチャート（ステップＳ８１〜Ｓ８３）に従って説明する。
通信元ストレージ装置１のデータ送信部１１６は、通信先ストレージ装置２に通信依頼を発行する（ステップＳ８１）。
【００８９】
コマンド受信部１１７は、通信先ストレージ装置２から通信応答を受信する（ステップＳ８２）。
メモリ解放部１１８は、通信応答があったデータについて、キャッシュメモリ１３ａの解放可能の設定を行ない（ステップＳ８３）、処理は終了する。
【００９０】
次に、実施形態の一例としてのストレージシステムにおける通信先ストレージ装置における筐体間通信処理を、図１３に示すフローチャート（ステップＳ９１〜Ｓ９７）に従って説明する。
通信先ストレージ装置２のデータ受信部２１１は、通信元ストレージ装置１から通信依頼を受信する（ステップＳ９１）。
【００９１】
通信用メモリ格納制御部２１２は、通信用メモリ４１に空き領域があるかを判定する（ステップＳ９２）。
空き領域がある場合には（ステップＳ９２のＹｅｓルート参照）、処理はステップＳ９６に移行する。
一方、空き領域がない場合には（ステップＳ９２のＮｏルート参照）、データ書き込み部２１４は、記憶装置３１に対してディスクライトを依頼する（ステップＳ９３）。
【００９２】
データ書き込み部２１４は、記憶装置３１からディスクライト応答を受信する（ステップＳ９４）。
通信用メモリ格納制御部２１２は、ディスクライト応答があったデータについて、通信用メモリ４１を解放する（ステップＳ９５）。
【００９３】
通信用メモリ格納制御部２１２は、通信元ストレージ装置１からデータを受け取り、受け取ったデータを通信用メモリ４１に格納する（ステップＳ９６）。
コマンド送信部２１３は、通信元ストレージ装置１に通信完了を応答し（ステップＳ９７）、処理は終了する。
【００９４】
次に、実施形態の一例としてのストレージシステムにおける通信元ストレージ装置における停電発生時の処理を、図１４に示すフローチャート（ステップＳ１０１〜Ｓ１１０）に従って説明する。
通信元ストレージ装置１のＣＰＵ１１０は、どの筐体で停電が発生したかを判定する（ステップＳ１０１）。
【００９５】
通信元ストレージ装置１で停電が発生した場合には（ステップＳ１０１の“通信元筐体が停電”ルート参照）、通信元ストレージ装置１は、補助電源１５で動作する（ステップＳ１０２）。
ＣＰＵ１１０は、通信先ストレージ装置（通信先筐体）２のみでＲＡＩＤグループが機能するかを判定する（ステップＳ１０３）。ここで、ＲＡＩＤ構成がＲＡＩＤ１の場合に「ＲＡＩＤグループが機能する」とは、プライマリ又はセカンダリの記憶装置３１にアクセス可能なことである。また、ＲＡＩＤ構成がＲＡＩＤ２〜５の場合に「ＲＡＩＤグループが機能する」とは、ＲＡＩＤグループを構成する記憶装置３１（メンバディスク）の数から“１”を減算した数の記憶装置３１にアクセス可能なことである。更に、ＲＡＩＤ構成がＲＡＩＤ６の場合に「ＲＡＩＤグループが機能する」とは、メンバディスクの数から“２”を減算した数の記憶装置３１にアクセス可能なことである。
【００９６】
通信先ストレージ装置２のみでＲＡＩＤグループが機能する場合には（ステップＳ１０３のＹｅｓルート参照）、処理はステップＳ１０７に移行する。
一方、通信先ストレージ装置２のみでＲＡＩＤグループが機能しない場合には（ステップＳ１０３のＮｏルート参照）、コマンド受信部１１７は、通信先ストレージ装置２からアクセスパラメータを受信する（ステップＳ１０４）。ここで、アクセスパラメータとは、ライト対象の記憶装置３１におけるディスク番号，Logical Block Address（ＬＢＡ），処理ブロック数及びアクセスパターンを含む。通信元ストレージ装置１がディスクライトするＬＢＡ及び処理ブロック数は、通信先ストレージ装置２がディスクライトするＬＢＡ及び処理ブロック数とそれぞれ同一となる。
【００９７】
データ退避部１２０は、ライト対象の記憶装置３１に書き込むデータをキャッシュメモリ１３ａからリードする（ステップＳ１０５）。
データ退避部１２０は、キャッシュメモリ１３ａからリードしたデータを不揮発性メモリ１４に退避させる（ステップＳ１０６）。
通信元ストレージ装置１は、非稼働状態となり（ステップＳ１０７）、処理は終了する。
【００９８】
ステップＳ１０１において、通信先ストレージ装置２が停電した場合には（ステップＳ１０１の“通信先筐体が停電”ルート参照）、ＣＰＵ１１０は、通信元ストレージ装置（通信元筐体）１のみでＲＡＩＤグループが機能するかを判定する（ステップＳ１０８）。
通信元ストレージ装置１のみでＲＡＩＤグループが機能しない場合には（ステップＳ１０８のＮｏルート参照）、処理は終了する。
【００９９】
一方、通信元ストレージ装置１のみでＲＡＩＤグループが機能する場合には（ステップＳ１０８のＹｅｓルート参照）、ＣＰＵ１１０は、データ更新管理を行ない（ステップＳ１０９）、処理は終了する。ここで、データ更新管理とは、通信先ストレージ装置２が停電から復旧した場合に更新データを通信先ストレージ装置２でリビルドさせるために、停電中の更新データを記憶することである。
【０１００】
ステップＳ１０１において、いずれの筐体も停電していない場合には（ステップＳ１０１の“停電なし”ルート参照）、ＣＰＵ１１０は、通常動作（図９〜図１２のフローチャートに示した処理）を行ない（ステップＳ１１０）、処理は終了する。
【０１０１】
次に、実施形態の一例としてのストレージシステムにおける通信先ストレージ装置における停電発生時の処理を、図１５に示すフローチャート（ステップＳ１１１〜Ｓ１１７）に従って説明する。
通信先ストレージ装置２のＣＰＵ２１０は、どの筐体で停電が発生したかを判定する（ステップＳ１１１）。
【０１０２】
通信元ストレージ装置１が停電した場合には（ステップＳ１１１の“通信元筐体が停電”ルート参照）、ＣＰＵ２１０は、通信先ストレージ装置（通信先筐体）２のみでＲＡＩＤグループが機能するかを判定する（ステップＳ１１２）。
通信先ストレージ装置２のみでＲＡＩＤグループが機能しない場合には（ステップＳ１１２のＮｏルート参照）、処理はステップＳ１１５に移行する。
【０１０３】
一方、通信先ストレージ装置２のみでＲＡＩＤグループが機能する場合には（ステップＳ１１２のＹｅｓルート参照）、ＣＰＵ２１０は、バックアップ管理を行なう（ステップＳ１１３）。ここで、バックアップ管理とは、自筐体の停電状態をチェックし、停電した場合にバックアップ対象データをシステム専用ディスクにライトすることである。バックアップ対象データは、ユーザデータ及びアクセスパラメータである。
【０１０４】
ＣＰＵ２１０は、データ更新管理を行なう（ステップＳ１１４）。ここで、データ更新管理とは、通信元ストレージ装置１が停電から復旧した場合に更新データを通信元ストレージ装置１でリビルドさせるために、停電中の更新データを記憶することである。
データ書き込み部２１４は、ディスクキャッシュオフで記憶装置に更新データをライトし（ステップＳ１１５）、処理は終了する。
【０１０５】
ステップＳ１１１において、通信先ストレージ装置２が停電した場合には（ステップＳ１１１の“通信先筐体が停電”ルート参照）、通信先ストレージ装置２は非稼働状態となり（ステップＳ１１６）、処理は終了する。
ステップＳ１１１において、いずれの筐体も停電していない場合には（ステップＳ１１１の“停電なし”ルート参照）、ＣＰＵ２１０は通常動作（図１３に示した処理）を行ない（ステップＳ１１７）、処理は終了する。
【０１０６】
次に、実施形態の一例としてのストレージシステムにおける通信元ストレージ装置における電源復旧時の処理を、図１６に示すフローチャート（ステップＳ１２１〜Ｓ１２５）に従って説明する。
通信元ストレージ装置１において、電源が復旧する（ステップＳ１２１）。
【０１０７】
通信元ストレージ装置１のＣＰＵ１１０は、不揮発性メモリ１４にバックアップがあるか、すなわち、通信先ストレージ装置２のみでＲＡＩＤグループが機能しないかを判定する（ステップＳ１２２）。
バックアップがある場合には（ステップＳ１２２のＹｅｓルート参照）、データ書き込み部１１５は、不揮発性メモリ１４に退避されたデータをディスクキャッシュオフで記憶装置３１に書き込み（ステップＳ１２３）、処理は終了する。
【０１０８】
一方、バックアップがない場合には（ステップＳ１２２のＮｏルート参照）、更新位置情報受信部１２３は、通信先ストレージ装置２からデータ更新部分を受信する（ステップＳ１２４）。
データ復旧部１２４は、受信したデータ更新部分について、記憶装置３１を部分的にリビルドし（ステップＳ１２５）、処理は終了する。
【０１０９】
次に、実施形態の一例としてのストレージシステムにおける通信先ストレージ装置における電源復旧時の処理を、図１７に示すフローチャート（ステップＳ１３１〜Ｓ１３３）に従って説明する。
通信先ストレージ装置２において、電源が復旧する（ステップＳ１３１）。
通信先ストレージ装置２のＣＰＵ２１０は、データ更新部分があるかを判定する（ステップＳ１３２）。
【０１１０】
データ更新部分がない場合には（ステップＳ１３２のＮｏルート参照）、処理は終了する。
データ更新部分がある場合には（ステップＳ１３２のＹｅｓルート参照）、データ復旧部２１８は、データ更新部分を部分的にリビルドし（ステップＳ１３３）、処理は終了する。
【０１１１】
〔Ａ−３〕効果
通信元ストレージ装置１の冗長度決定部１１３は、ストレージシステム１００のＲＡＩＤグループ構成に基づいて、データの冗長度を決定する。キャッシュ機能設定部１１４は、冗長度決定部１１３によって決定された冗長度に基づき、通信元ストレージ装置１の複数の記憶装置３１のうち一部の記憶装置３１について、その一部の記憶装置３１に備えられたキャッシュメモリ３１ａを用いるキャッシュ機能を有効にする。データ書き込み部１１５は、通信元ストレージ装置１の複数の記憶装置３１に対して、キャッシュ機能によりデータを書き込む。そして、メモリ解放部１１８は、データ書き込み部１１５によるデータの書き込み処理が完了した場合に、キャッシュメモリ１３ａに格納されたデータを削除する。
【０１１２】
また、通信元ストレージ装置１のデータ送信部１１６は、通信先ストレージ装置２に対して、データを送信する。通信先ストレージ装置２の通信用メモリ格納制御部２１２は、通信元ストレージ装置１から受信されたデータを通信元メモリ４１に格納する。コマンド送信部２１３は、通信用メモリ格納制御部２１２によってデータが通信用メモリ４１に格納されると、通信元ストレージ装置１に対して、応答コマンドを送信する。そして、通信元ストレージ装置１のメモリ解放部１１８は、通信先ストレージ装置２からの応答コマンドを受信した場合に、キャッシュメモリ１３ａに格納されたデータを削除する。
これらにより、ストレージシステム１００におけるライト性能を向上させることができる。具体的には、キャッシュメモリ１３ａの解放のタイミングを早めることができ、ストレージシステム１００のアクセス性能を向上させることができる。
【０１１３】
通信元ストレージ装置１の冗長度決定部１１３は、通信元ストレージ装置１の複数の記憶装置３１のうち一部の記憶装置３１が使用不能になっても、ストレージ装置１，２の記憶装置３１に格納されたデータを復元できる通信元ストレージ装置１の一部の記憶装置３１の数を冗長度として決定する。キャッシュ機能設定部１１４は、通信元ストレージ装置１の複数の記憶装置３１のうち、冗長度決定部１１３によって冗長度として決定された数の通信元ストレージ装置１の記憶装置３１におけるキャッシュ機能を有効にする。
これにより、一部の記憶装置３１の故障によって、ストレージシステム１００に保存されたデータが使用不能になることを防ぐことができる。
【０１１４】
通信元ストレージ装置１の抑止処理部は、所定の条件が満たされる場合に、データ書き込み部１１５によるデータの書き込みと、メモリ解放部１１８によるデータの削除とを抑止する。ここで、所定の条件が満たされる場合とは、通信先ストレージ装置２に対する外部からの電力供給が停止され、通信元ストレージ装置１の複数の記憶装置３１に格納されるデータによってストレージ装置１，２の記憶装置３１に格納されたデータが復元されない場合である。
【０１１５】
また、通信元ストレージ装置１のメモリ格納制御部１２１は、所定の条件が満たされる場合に、通信元ストレージ装置１の複数の記憶装置３１に格納されたデータのうち更新データによって更新されるデータ位置を第１更新位置情報としてキャッシュメモリ１３ａに格納する。更新位置情報通知部１２２は、通信先ストレージ装置２に対する外部からの電力供給の再開後に、通信先ストレージ装置２に対して、キャッシュメモリ１３ａに格納された第１更新位置情報を通知する。そして、通信先ストレージ装置２のデータ復旧部２１８は、通信元ストレージ装置１から通知された第１更新位置情報に基づき、通信先ストレージ装置２の記憶装置３１に格納されるデータを復旧する。ここで、所定の条件が満たされる場合とは、通信先ストレージ装置２に対する外部からの電力供給が停止され、通信元ストレージ装置１の記憶装置３１に格納されるデータによってストレージ装置１，２の記憶装置３１に格納されたデータが復元される場合である。
これらにより、通信先ストレージ装置２において停電が発生した場合においても、ストレージシステム１００に保存されるデータが使用可能になることを防ぐことができる。
【０１１６】
通信元ストレージ装置１のデータ退避部１２０は、所定の条件が満たされる場合に、補助電源１５による電力供給がされた状態で、データを不揮発性メモリ１４に退避させる。そして、データ書き込み部１１５は、通信元ストレージ装置１に対する外部からの電力供給の再開後に、通信元ストレージ装置１の複数の記憶装置３１に対して、不揮発性メモリ１４に格納されたデータを書き込む。ここで、所定の条件が満たされる場合とは、通信先ストレージ装置２の記憶装置３１に格納されるデータによって通信元ストレージ装置１，２の記憶装置３１に格納されたデータが復元されない場合である。
【０１１７】
また、通信先ストレージ装置２のメモリ格納制御部２１５は、所定の条件が満たされる場合に、通信先ストレージ装置２の記憶装置３１に格納されたデータのうち更新データによって更新されるデータ位置を第２更新位置情報としてキャッシュメモリ１３ａに格納する。更新位置情報通知部２１６は、通信元ストレージ装置１に対する外部からの電力供給の再開後に、通信元ストレージ装置１に対して、キャッシュメモリ１３ａに格納された第２更新位置情報を通知する。そして、通信元ストレージ装置１のデータ復旧部１２４は、通信先ストレージ装置２から通知された第２更新位置情報に基づき、通信元ストレージ装置１の複数の第１記憶装置３１に格納されるデータを復旧する。ここで、所定の条件が満たされる場合とは、通信元ストレージ装置１に対する外部からの電力供給が停止され、通信先ストレージ装置２の記憶装置３１に格納されるデータによってストレージ装置１，２の記憶装置３１に格納されたデータが復元される場合である。
これらにより、通信元ストレージ装置１において停電が発生した場合においても、ストレージシステム１００に保存されるデータが使用可能になることを防ぐことができる。
【０１１８】
〔Ｂ〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
上述した実施形態の一例においては、図１及び図２に示したように、ホスト装置５が通信元ストレージ装置１と通信可能に直接接続され、通信先ストレージ装置２とは直接接続されないこととしたが、これに限定されるものではない。ホスト装置５は、通信元ストレージ装置１に加えて、通信先ストレージ装置２とも例えばＬＡＮケーブルを介して通信可能に直接接続されても良い。
【０１１９】
ホスト装置５と通信先ストレージ装置２とが直接接続される場合には、通信元ストレージ装置１は通信先ストレージ装置２としても機能し、通信先ストレージ装置２は通信元ストレージ装置１としても機能する。つまり、通信元ストレージ装置１のＩ／Ｏ制御部１１は、図３に示したＣＰＵ１１０，メモリ１３，不揮発性メモリ１４及び補助電源１５としての機能に加えて、図４に示した通信先ストレージ装置２のＩ／Ｏ制御部２１のＣＰＵ２１０としての機能も備える。また、通信先ストレージ装置２のＩ／Ｏ制御部２１は、図４に示したＣＰＵ２１０及びメモリ１３としての機能に加えて、図３に示した通信元ストレージ装置１のＩ／Ｏ制御部１１のＣＰＵ１１０，不揮発性メモリ１４及び補助電源１５としての機能も備える。
【０１２０】
〔Ｃ〕付記
（付記１）
第２記憶装置を配下に有する他のストレージ制御装置と通信可能に接続され、複数の第１記憶装置を配下に有するストレージ制御装置であって、
前記複数の第１記憶装置に格納される第１データを第１キャッシュメモリに格納するキャッシュメモリ格納制御部と、
前記複数の第１記憶装置及び前記第２記憶装置の構成に基づいて、データの冗長度を決定する冗長度決定部と、
前記冗長度決定部によって決定された前記冗長度に基づき、前記複数の第１記憶装置のうち一部の記憶装置について、当該一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にするキャッシュ機能設定部と、
前記複数の第１記憶装置に対して、前記キャッシュ機能により前記第１データを書き込むデータ書き込み部と、
前記データ書き込み部による前記第１データの書き込み処理が完了した場合に、前記第１キャッシュメモリに格納された前記第１データを削除するメモリ解放部と、
を備えることを特徴とする、ストレージ制御装置。
【０１２１】
（付記２）
前記複数の第１記憶装置及び第２記憶装置のうち、少なくとも１つの記憶装置には、当該少なくとも１つの記憶装置以外の記憶装置に格納されたデータを復元するための復元情報が格納され、
前記冗長度決定部は、前記複数の第１記憶装置のうち一部の第１記憶装置が使用不能になっても、前記複数の第１記憶装置及び第２記憶装置に格納されたデータを復元できる前記一部の第１記憶装置の数を前記冗長度として決定し、
前記キャッシュ機能設定部は、前記複数の第１記憶装置のうち、前記冗長度決定部によって前記冗長度として決定された前記第１記憶装置の数の第１記憶装置におけるキャッシュ機能を有効にする、
ことを特徴とする、付記１に記載のストレージ制御装置。
【０１２２】
（付記３）
前記他のストレージ制御装置に対する外部からの電力供給が停止され、前記複数の第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記データ書き込み部による前記第１データの書き込みと、前記メモリ解放部による前記第１及び第２データの削除とを抑止する抑止処理部
を備えることを特徴とする、付記１又は２に記載のストレージ制御装置。
【０１２３】
（付記４）
当該ストレージ制御装置に対する外部からの電力供給が停止された場合に、電力供給を行なう補助電源と、
前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記補助電源による電力供給がされた状態で、前記第１データを第３記憶装置に退避させるデータ退避部と、
を備え、
前記データ書き込み部は、当該ストレージ制御装置に対する外部からの電力供給の再開後に、前記複数の第１記憶装置に対して、前記第３記憶装置に格納された前記第１データを書き込む、
ことを特徴とする、付記１〜３のいずれか１項に記載のストレージ制御装置。
【０１２４】
（付記５）
前記他のストレージ制御装置に対する外部からの電力供給が停止され、前記第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、前記複数の第１記憶装置に格納されたデータのうち前記第１データによって更新されるデータ位置を第１更新位置情報として第１メモリに格納する第１メモリ格納制御部と、
前記他のストレージ制御装置に対する外部からの電力供給の再開後に、前記他のストレージ制御装置に対して、前記第１メモリに格納された前記第１更新位置情報を通知する第１更新位置情報通知部と、
を備えることを特徴とする、付記１〜４のいずれか１項に記載のストレージ制御装置。
【０１２５】
（付記６）
当該ストレージ制御装置に対する外部からの電力供給が停止され、前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、当該ストレージ制御装置に対する外部からの電力供給の再開後に、前記他のストレージ制御装置によって通知される前記第２記憶装置に格納されたデータのうち前記第２データによって更新されるデータ位置を示す第２更新位置情報に基づき、前記複数の第１記憶装置に格納される前記第１データを復旧するデータ復旧部
を備えることを特徴とする、付記１〜５のいずれか１項に記載のストレージ制御装置。
【０１２６】
（付記７）
複数の第１記憶装置を配下に有する第１ストレージ制御装置と、第２記憶装置を配下に有する第２ストレージ制御装置とを備えるストレージシステムであって、
前記第１ストレージ制御装置は、
前記複数の第１記憶装置に格納される第１データと、前記第２記憶装置に格納される第２データとを、第１キャッシュメモリに格納するキャッシュメモリ格納制御部と、
前記複数の第１記憶装置及び前記第２記憶装置の構成に基づいてデータの冗長度を決定する冗長度決定部と、
前記冗長度決定部によって決定された前記冗長度に基づき、前記複数の第１記憶装置のうち一部の記憶装置について、当該一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にするキャッシュ機能設定部と、
前記複数の第１記憶装置に対して、前記キャッシュ機能により前記第１データを書き込むデータ書き込み部と、
前記第２ストレージ制御装置に対して、前記第２データを送信するデータ送信部と、
前記データ書き込み部による前記第１データの書き込み処理が完了した場合に、前記キャッシュメモリに格納された前記第１データを削除し、前記第２ストレージ制御装置からの前記第２データについての応答コマンドを受信した場合に、前記キャッシュメモリに格納された前記第２データを削除するメモリ解放部と、
を備え、
前記第２ストレージ制御装置は、
前記データ送信部によって送信された前記第２データを受信するデータ受信部と、
前記データ受信部によって受信された前記第２データを通信用メモリに格納する通信用メモリ格納制御部と、
前記通信用メモリ格納制御部によって前記第２データが前記通信用メモリに格納されると、前記第１ストレージ制御装置に対して、前記応答コマンドを送信するコマンド送信部と、
を備えることを特徴とする、ストレージシステム。
【０１２７】
（付記８）
前記複数の第１記憶装置及び第２記憶装置のうち、少なくとも１つの記憶装置には、当該少なくとも１つの記憶装置以外の記憶装置に格納されたデータを復元するための復元情報が格納され、
前記冗長度決定部は、前記複数の第１記憶装置のうち一部の第１記憶装置が使用不能になっても、前記複数の第１記憶装置及び第２記憶装置に格納されたデータを復元できる前記一部の第１記憶装置の数を前記冗長度として決定し、
前記キャッシュ機能設定部は、前記複数の第１記憶装置のうち、前記冗長度決定部によって前記冗長度として決定された前記第１記憶装置の数の第１記憶装置におけるキャッシュ機能を有効にする、
ことを特徴とする、付記７に記載のストレージシステム。
【０１２８】
（付記９）
前記第１ストレージ制御装置は、
前記第２ストレージ制御装置に対する外部からの電力供給が停止され、前記複数の第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記データ書き込み部による前記第１データの書き込みと、前記メモリ解放部による前記第１及び第２データの削除とを抑止する抑止処理部
を備えることを特徴とする、付記７又は８に記載のストレージシステム。
【０１２９】
（付記１０）
前記第１ストレージ制御装置は、
当該第１ストレージ制御装置に対する外部からの電力供給が停止された場合に、電力供給を行なう補助電源と、
前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記補助電源による電力供給がされた状態で、前記第１データを第３記憶装置に退避させるデータ退避部と、
を備え、
前記データ書き込み部は、当該第１ストレージ制御装置に対する外部からの電力供給の再開後に、前記複数の第１記憶装置に対して、前記第３記憶装置に格納された前記第１データを書き込む、
ことを特徴とする、付記７〜９のいずれか１項に記載のストレージシステム。
【０１３０】
（付記１１）
前記第１ストレージ制御装置は、
前記第２ストレージ制御装置に対する外部からの電力供給が停止され、前記第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、前記複数の第１記憶装置に格納されたデータのうち前記第１データによって更新されるデータ位置を第１更新位置情報として第１メモリに格納する第１メモリ格納制御部と、
前記第２ストレージ制御装置に対する外部からの電力供給の再開後に、前記第２ストレージ制御装置に対して、前記第１メモリに格納された前記第１更新位置情報を通知する第１更新位置情報通知部と、
を備え、
前記第２ストレージ制御装置は、
前記第１更新位置情報通知部によって通知された前記第１更新位置情報に基づき、前記第２記憶装置に格納される前記第２データを復旧する第２データ復旧部
を備えることを特徴とする、付記７〜１０のいずれか１項に記載のストレージシステム。
【０１３１】
（付記１２）
前記第２ストレージ制御装置は、
前記第１ストレージ制御装置に対する外部からの電力供給が停止され、前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、前記第２記憶装置に格納されたデータのうち前記第２データによって更新されるデータ位置を第２更新位置情報として第２メモリに格納する第２メモリ格納制御部と、
前記第１ストレージ制御装置に対する外部からの電力供給の再開後に、前記第１ストレージ制御装置に対して、前記第２メモリに格納された前記第２更新位置情報を通知する第２更新位置情報通知部と、
を備え、
前記第１ストレージ制御装置は、
前記第２更新位置情報通知部によって通知された前記第２更新位置情報に基づき、前記複数の第１記憶装置に格納される前記第１データを復旧する第１データ復旧部
を備えることを特徴とする、付記７〜１１のいずれか１項に記載のストレージシステム。
【０１３２】
（付記１３）
第２記憶装置を配下に有する他のストレージ制御装置と通信可能に接続され、複数の第１記憶装置を配下に有するストレージ制御装置に備えられるコンピュータに、
前記複数の第１記憶装置に格納される第１データを第１キャッシュメモリに格納し、
前記複数の第１記憶装置及び前記第２記憶装置の構成に基づいて、データの冗長度を決定し、
前記決定された前記冗長度に基づき、前記複数の第１記憶装置のうち一部の記憶装置について、当該一部の記憶装置に備えられた第２キャッシュメモリを用いるキャッシュ機能を有効にし、
前記複数の第１記憶装置に対して、前記キャッシュ機能により前記第１データを書き込み、
前記第１データの書き込み処理が完了した場合に、前記第１キャッシュメモリに格納された前記第１データを削除する、
処理を実行させることを特徴とする、プログラム。
【０１３３】
（付記１４）
前記複数の第１記憶装置及び第２記憶装置のうち、少なくとも１つの記憶装置には、当該少なくとも１つの記憶装置以外の記憶装置に格納されたデータを復元するための復元情報が格納され、
前記複数の第１記憶装置のうち一部の第１記憶装置が使用不能になっても、前記複数の第１記憶装置及び第２記憶装置に格納されたデータを復元できる前記一部の第１記憶装置の数を前記冗長度として決定し、
前記複数の第１記憶装置のうち、前記冗長度として決定された前記第１記憶装置の数の第１記憶装置におけるキャッシュ機能を有効にする、
処理を前記コンピュータに実行させることを特徴とする、付記１３に記載のプログラム。
【０１３４】
（付記１５）
前記他のストレージ制御装置に対する外部からの電力供給が停止され、前記複数の第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記第１データの書き込みと、前記第１及び第２データの削除とを抑止する
処理を前記コンピュータに実行させることを特徴とする、付記１３又は１４に記載のプログラム。
【０１３５】
（付記１６）
当該ストレージ制御装置は、当該ストレージ制御装置に対する外部からの電力供給が停止された場合に、電力供給を行なう補助電源を備え、
前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元されない場合に、前記補助電源による電力供給がされた状態で、前記第１データを第３記憶装置に退避させ、
当該ストレージ制御装置に対する外部からの電力供給の再開後に、前記複数の第１記憶装置に対して、前記第３記憶装置に格納された前記第１データを書き込む、
処理を前記コンピュータに実行させることを特徴とする、付記１３〜１５のいずれか１項に記載のプログラム。
【０１３６】
（付記１７）
前記他のストレージ制御装置に対する外部からの電力供給が停止され、前記第１記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、前記複数の第１記憶装置に格納されたデータのうち前記第１データによって更新されるデータ位置を第１更新位置情報として第１メモリに格納し、
前記他のストレージ制御装置に対する外部からの電力供給の再開後に、前記他のストレージ制御装置に対して、前記第１メモリに格納された前記第１更新位置情報を通知する、
処理を前記コンピュータに実行させることを特徴とする、付記１３〜１６のいずれか１項に記載のプログラム。
【０１３７】
（付記１８）
当該ストレージ制御装置に対する外部からの電力供給が停止され、前記第２記憶装置に格納されるデータによって前記複数の第１記憶装置及び第２記憶装置に格納されたデータが復元される場合に、当該ストレージ制御装置に対する外部からの電力供給の再開後に、前記他のストレージ制御装置によって通知される前記第２記憶装置に格納されたデータのうち前記第２データによって更新されるデータ位置を示す第２更新位置情報に基づき、前記複数の第１記憶装置に格納される前記第１データを復旧する
処理を前記コンピュータに実行させることを特徴とする、付記１３〜１７のいずれか１項に記載のプログラム。
【符号の説明】
【０１３８】
１００  ストレージシステム
１      通信元ストレージ装置
１０    ＣＭ（第１ストレージ制御装置）
１１    Ｉ／Ｏ制御部
１１０  ＣＰＵ（コンピュータ）
１１１  データ受信部
１１２  キャッシュ格納制御部（キャッシュメモリ格納制御部）
１１３  冗長度決定部
１１４  キャッシュ機能設定部
１１５  データ書き込み部
１１６  データ送信部
１１７  コマンド受信部
１１８  メモリ解放部
１１９  抑止処理部
１２０  データ退避部
１２１  メモリ格納制御部（第１メモリ格納制御部）
１２２  更新位置情報通知部（第１更新位置情報通知部）
１２３  更新位置情報受信部
１２４  データ復旧部（第１データ復旧部）
１３    メモリ
１３ａ  キャッシュメモリ（第１キャッシュメモリ，第１メモリ，第２メモリ）
１４    不揮発性メモリ（第３記憶装置）
１５    補助電源
１６    ホストＩ／Ｆ
１７    ディスクＩ／Ｆ
３０    ＤＥ
３１    記憶装置（第１記憶装置，第２記憶装置）
３１ａ  キャッシュメモリ（第２キャッシュメモリ）
４０    筐体間通信部
４１    通信用メモリ
２      通信先ストレージ装置
２０    ＣＭ（第２ストレージ制御装置）
２１    Ｉ／Ｏ制御部
２１０  ＣＰＵ
２１１  データ受信部
２１２  通信用メモリ格納制御部
２１３  コマンド送信部
２１４  データ書き込み部
２１５  メモリ格納制御部（第２メモリ格納制御部）
２１６  更新位置情報通知部（第２更新位置情報通知部）
２１７  更新位置情報受信部
２１８  データ復旧部（第２データ復旧部）
【図１】
2016206964.tif 000003
【図２】
2016206964.tif 000004
【図３】
2016206964.tif 000005
【図４】
2016206964.tif 000006
【図５】
2016206964.tif 000007
【図６】
2016206964.tif 000008
【図７】
2016206964.tif 000009
【図８】
2016206964.tif 000010
【図９】
2016206964.tif 000011
【図１０】
2016206964.tif 000012
【図１１】
2016206964.tif 000013
【図１２】
2016206964.tif 000014
【図１３】
2016206964.tif 000015
【図１４】
2016206964.tif 000016
【図１５】
2016206964.tif 000017
【図１６】
2016206964.tif 000018
【図１７】
2016206964.tif 000019