(57)【特許請求の範囲】
【請求項１】
ネットワークを介してホスト計算機と接続されるストレージシステムにおいて、
前記ストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、
前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第１物理記憶領域及び第２物理記憶領域を含み、
前記第１物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第２物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、
前記コントローラは、
前記第１物理記憶領域の残り書き換え可能回数と前記第２物理記憶領域の残り書き換え可能回数とを比較し、
前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更することを特徴とするストレージシステム。
【請求項２】
前記コントローラは、
前記各物理記憶領域に対して実行することができる書き込み処理の回数の最大値である最大書き込み可能回数と、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数と、を保持し、
前記最大書き込み可能回数から前記総書き込み回数を減算することによって前記残り書き換え可能回数を算出することを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記コントローラは、
前記最大書き込み可能回数の入力を受け付け、
前記入力された最大書き込み可能回数を保持することを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記コントローラは、
前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数を保持し、
前記第１物理記憶領域の総書き込み回数が前記第２物理記憶領域の総書き込み回数より多い場合、前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定することを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記ストレージシステムは、さらに、キャッシュメモリを備え、
前記コントローラは、前記物理記憶領域に格納されるデータを前記キャッシュメモリに保持するためのキャッシュ機能の有効又は無効を示す属性を設定可能であり、
前記正側記記憶領域として設定される前記第１物理記憶領域には、前記キャッシュ機能が有効であることを示す前記属性が設定され、前記副側記憶領域として設定される前記第２物理記憶領域には、前記キャッシュ機能が無効であることを示す前記属性が設定され、
前記コントローラは、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更する場合に、さらに、前記第１物理記憶領域に設定されていた前記属性と、前記第２物理記憶領域に設定されていた前記属性とを入れ替えることを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記コントローラは、
前記正側記憶領域である第１論理記憶領域と前記第１物理記憶領域とを対応付けることによって前記第１物理記憶領域を前記正側記憶領域として設定し、
前記副側記憶領域である第２論理記憶領域と前記第２物理記憶領域とを対応付けることによって前記第２物理記憶領域を前記副側記憶領域として設定し、
前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第１論理記憶領域を前記第２物理記憶領域に対応付け、前記第２論理記憶領域を前記第１物理記憶領域に対応付けることによって、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記第１物理記憶領域及び第２物理記憶領域が、それぞれ、一つ以上のフラッシュメモリであることを特徴とする請求項１に記載のストレージシステム。
【請求項８】
ホスト計算機と、前記ホスト計算機とネットワークを介して接続される一つ以上のストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続される管理計算機と、を備える計算機システムにおいて、
前記ホスト計算機は、前記ネットワークに接続される第１インタフェースと、前記第１インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記管理計算機は、第２インタフェースと、前記第２インタフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記一つ以上のストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、
前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第１物理記憶領域及び第２物理記憶領域を含み、
前記第１物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第２物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、
前記第２プロセッサは、
前記第１物理記憶領域の残り書き換え可能回数と前記第２物理記憶領域の残り書き換え可能回数とを比較し、
前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ない場合、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更することを前記コントローラに要求することを特徴とする計算機システム。
【請求項９】
前記計算機システムは、前記各物理記憶領域に対して実行することができる書き込み処理の回数の最大値である最大書き込み可能回数と、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数と、を保持し、
前記第２プロセッサは、前記最大書き込み可能回数と、前記総書き込み回数と、を取得し、
前記最大書き込み可能回数から前記総書き込み回数を減算することによって前記残り書き換え可能回数を算出することを特徴とする請求項８に記載の計算機システム。
【請求項１０】
前記コントローラは、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数を保持し、
前記第２プロセッサは、前記第１物理記憶領域の総書き込み回数が前記第２物理記憶領域の総書き込み回数より多い場合、前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定することを特徴とする請求項８に記載の計算機システム。
【請求項１１】
前記ストレージシステムは、さらに、キャッシュメモリを備え、
前記コントローラは、前記物理記憶領域に格納されるデータを前記キャッシュメモリに保持するためのキャッシュ機能の有効又は無効を示す属性を設定可能であり、
前記正側記記憶領域として設定される前記第１物理記憶領域には、前記キャッシュ機能が有効であることを示す前記属性が設定され、前記副側記憶領域として設定される前記第２物理記憶領域には、前記キャッシュ機能が無効であることを示す前記属性が設定され、
前記第２プロセッサは、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更することを前記コントローラに要求する場合に、さらに、前記第１物理記憶領域に設定されていた前記属性と、前記第２物理記憶領域に設定されていた前記属性とを入れ替えることを前記コントローラに要求することを特徴とする請求項８に記載の計算機システム。
【請求項１２】
前記コントローラは、
前記正側記憶領域である第１論理記憶領域と前記第１物理記憶領域とを対応付けることによって前記第１物理記憶領域を前記正側記憶領域として設定し、
前記副側記憶領域である第２論理記憶領域と前記第２物理記憶領域とを対応付けることによって前記第２物理記憶領域を前記副側記憶領域として設定し、
前記第１プロセッサは、第１仮想経路に対してデータ書き込み要求を発行し、
前記第２プロセッサは、
前記ホスト計算機から前記第１論理記憶領域に至るアクセス経路が前記第１仮想経路に対応付けられているときに、前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第１仮想経路を、前記ホスト計算機から前記第２論理記憶領域に至るアクセス経路と対応付けることを前記第１プロセッサに要求し、
前記第１論理記憶領域を前記副側記憶領域に変更し、前記第２論理記憶領域を前記正側記憶領域に変更することを前記コントローラに要求することを特徴とする請求項８に記載の計算機システム。
【請求項１３】
前記第１物理記憶領域及び第２物理記憶領域が、それぞれ、一つ以上のフラッシュメモリであることを特徴とする請求項８に記載の計算機システム。
【請求項１４】
ホスト計算機と、前記ホスト計算機とネットワークを介して接続される一つ以上のストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続される管理計算機と、を備える計算機システムの制御方法であって、
前記ホスト計算機は、前記ネットワークに接続される第１インタフェースと、前記第１インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記管理計算機は、第２インタフェースと、前記第２インタフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記一つ以上のストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、
前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第１物理記憶領域及び第２物理記憶領域を含み、
前記第１物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第２物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、
前記方法は、
前記第１物理記憶領域の残り書き換え可能回数と前記第２物理記憶領域の残り書き換え可能回数とを比較し、
前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ない場合、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする方法。
【請求項１５】
前記コントローラは、前記各物理記憶領域に対して実行することができる書き込み処理の回数の最大値である最大書き込み可能回数と、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数と、を保持し、
前記方法は、前記最大書き込み可能回数から前記総書き込み回数を減算することによって前記残り書き換え可能回数を算出することを特徴とする請求項１４に記載の方法。
【請求項１６】
前記方法は、
前記最大書き込み可能回数の入力を受け付け、
前記入力された最大書き込み可能回数を保持することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記コントローラは、前記各物理記憶領域に対して既に実行された書き込み処理の回数である総書き込み回数を保持し、
前記方法は、前記第１物理記憶領域の総書き込み回数が前記第２物理記憶領域の総書き込み回数より多い場合、前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定することを特徴とする請求項１４に記載の方法。
【請求項１８】
前記ストレージシステムは、さらに、キャッシュメモリを備え、
前記コントローラは、前記物理記憶領域に格納されるデータを前記キャッシュメモリに保持するためのキャッシュ機能の有効又は無効を示す属性を設定可能であり、
前記正側記記憶領域として設定される前記第１物理記憶領域には、前記キャッシュ機能が有効であることを示す前記属性が設定され、前記副側記憶領域として設定される前記第２物理記憶領域には、前記キャッシュ機能が無効であることを示す前記属性が設定され、
前記方法は、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更する場合に、さらに、前記第１物理記憶領域に設定されていた前記属性と、前記第２物理記憶領域に設定されていた前記属性とを入れ替えることを特徴とする請求項１４に記載の方法。
【請求項１９】
前記コントローラは、
前記正側記憶領域である第１論理記憶領域と前記第１物理記憶領域とを対応付けることによって前記第１物理記憶領域を前記正側記憶領域として設定し、
前記副側記憶領域である第２論理記憶領域と前記第２物理記憶領域とを対応付けることによって前記第２物理記憶領域を前記副側記憶領域として設定し、
前記第１プロセッサは、第１論理記憶領域に対して書き込み要求を発行し、
前記方法は、
前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第１論理記憶領域を前記第２物理記憶領域に対応付け、前記第２論理記憶領域を前記第１物理記憶領域に対応付けることによって、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする請求項１４に記載の方法。
【請求項２０】
前記コントローラは、
前記正側記憶領域である第１論理記憶領域と前記第１物理記憶領域とを対応付けることによって前記第１物理記憶領域を前記正側記憶領域として設定し、
前記副側記憶領域である第２論理記憶領域と前記第２物理記憶領域とを対応付けることによって前記第２物理記憶領域を前記副側記憶領域として設定し、
前記第１プロセッサは、第１仮想経路に対してデータ書き込み要求を発行し、
前記方法は、
前記ホスト計算機から前記第１論理記憶領域に至るアクセス経路が前記第１仮想経路に対応付けられているときに、前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第１仮想経路を前記第２論理記憶領域に至るアクセス経路と対応付け、
前記第１論理記憶領域を前記副側記憶領域に変更し、前記第２論理記憶領域を前記正側記憶領域に変更することを特徴とする請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で開示される技術は、計算機システムに関し、特に、書き換え回数が制限された記憶媒体を含む計算機システムにおいて、記憶媒体を管理する方法に関する。
【背景技術】
【０００２】
一般に、情報システムでは、定期的にデータがバックアップされる。このため、ストレージシステムの障害、コンピュータウィルスによるデータ破壊又はユーザによる誤操作等によってデータが喪失した場合に、喪失したデータをリカバリすることができる。
【０００３】
このバックアップ技術の一つとして、データの二重化によるバックアップ方法が提案されている（例えば、特許文献１を参照）。この方法によれば、バックアップが実行される以前に、アプリケーションが利用するデータ（以降、「運用中データ」と呼ぶ）が二つの記憶領域に二重化（ミラー）される。そして、二重化を停止することによってバックアップが実行される。その結果、二つの記憶領域が独立な領域に分離する。これらのうち一つの領域のデータが運用中データ、もう一つの領域のデータが、その時点における運用中データの記憶イメージ（以降、「バックアップデータ」と呼ぶ）として扱われる。このように、二重化を停止することによって、高速なバックアップが可能になる。
【０００４】
また、特許文献１によれば、バックアップデータが取得され、運用中データの二重化が停止している間は、運用中データに対するデータ更新が許可されると共に、更新されたデータの位置が記録される。ここで、更新されたデータの位置とは、データが書き込まれた記憶領域の位置であり、例えば、データが書き込まれたブロックのブロックアドレスである。そして、バックアップデータ削除時には、データの二重化が再開されると共に、更新されたデータの位置の記録に基づいて、運用中データ格納用の記憶領域からバックアップデータ格納用の記憶領域に更新データがコピーされる。これによって、二重化を高速に再開することができる。
【０００５】
上記の運用中データ及びバックアップデータは、ハードディスクドライブに格納されてもよいが、他の種類の不揮発性記憶媒体に格納されてもよい。他の種類の不揮発性記憶媒体とは、例えば、フラッシュメモリである。フラッシュメモリは、データの書き換えが可能であるが、書き換えによって特性が劣化することが知られている。したがって、記憶媒体としてフラッシュメモリを使用する場合、データ消失等の障害発生を防ぎ、所定の信頼性及び性能を保証するためには、所定の上限を超える回数の書き込みを実行することができない。
【０００６】
フラッシュメモリ上の一部の領域に書き込み処理が集中し、その領域のみが急速に劣化することを防ぐために、書き込み処理の対象を分散させる技術が開示されている（例えば、特許文献２参照）。特許文献２によれば、フラッシュメモリ上の記憶領域が複数の記憶領域に分割される。そして、実行された書き換えの回数が多い領域に格納されているデータと、実行された書き込みの回数が少ない領域に格納されているデータとが交換される。その結果、書き込み回数が均等化される。
【特許文献１】米国特許第５０５１８８７号明細書
【特許文献２】特表２００６−５０４２０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
一般的なバックアップ運用管理では、特定の記憶領域にバックアップデータが格納され、管理者によって設定された保持期間だけ、このバックアップデータが保持される。そして、この保持期間を過ぎると、新規のバックアップデータがこの記憶領域に上書きされる。これを繰り返すことによって、運用中データのバックアップ運用が継続される。
【０００８】
この運用管理に特許文献１の技術を適用すると次のような処理が行われる。
【０００９】
まず、運用中データが二重化される。具体的には、二重化された二つの記憶領域のうち、運用中データ格納用の記憶領域にホスト計算機からデータが書き込まれると、そのデータがバックアップデータ格納用の記憶領域にコピーされる。以下、データのコピー元の記憶領域を正側記憶領域、データのコピー先の記憶領域を副側記憶領域と呼ぶ。
【００１０】
その後、バックアップ実行時に、二重化が停止する。具体的には、正側記憶領域から副側記憶領域へのデータのコピーが停止する。二重化が停止している間、正側記憶領域のデータが更新されても、その更新は副側記憶領域に反映されない。その結果、副側記憶領域のデータが、二重化を停止した時点のバックアップデータとして取得される。
【００１１】
その後、管理者によって設定された保持期間だけ、二重化が停止した状態におかれる。この間、運用中データが更新された場合は、更新された位置が記録される。
【００１２】
その後、この保持期間を過ぎると、二重化が再開される。このとき、更新位置の記録に基づいて、副側記憶領域へ正側記憶領域から更新データがコピーされる。その結果、正側記憶領域と副側記憶領域のデータが同一となる。
【００１３】
その後、再び二重化が停止して、新規バックアップデータが取得される。
【００１４】
二重化停止中、同一の位置のデータが複数回更新され、その後二重化が再開される場合、最新の更新データのみが正側記憶領域から副側記憶領域にコピーされる。このため、常に、副側記憶領域への総書き込み回数は、正側記憶領域への総書き込み回数以下となる。そして、運用時間の経過とともに、二つの記憶領域間の総書き込み回数の差は拡大していく。
【００１５】
あるいは、二重化が維持されている場合であっても、正側記憶領域の同一の位置に対する複数回のデータ書き込み要求が連続して発行されたとき、それらのデータのうち最後に書き込まれたデータのみが副側記憶領域にコピーされる場合がある。この場合にも、副側記憶領域への総書き込み回数は、正側記憶領域への総書き込み回数以下となる。
【００１６】
このような正側記憶領域と副側記憶領域の書き込み回数の差の拡大は、特許文献２の技術を用いたとしても発生する。一つのフラッシュメモリの故障によって、運用中データとバックアップデータが同時に損失することを避けるため、正側記憶領域と副側記憶領域を、同一のフラッシュメモリではなく、それぞれ独立したフラッシュメモリに設けるように設計するためである。このため、特許文献２の技術は、正側記憶領域内のみ、及び、副側記憶領域内のみで書き込み回数を平準化するためにしか利用することができず、正側記憶領域と副側記憶領域の書き込み回数の差の拡大は、依然として発生してしまう。
【００１７】
データ格納用の記憶領域として、フラッシュメモリ等の、書き込み回数に制限がある記憶媒体が使用される場合、正側記憶領域の寿命が、副側記憶領域より早く訪れる。あるいは、記憶領域として、フラッシュメモリのように総書き込み回数に応じてＩ／Ｏ性能等が劣化する記憶媒体が使用される場合、正側記憶領域の性能が、副側記憶領域より早く劣化する。このため、正側記憶領域の記憶媒体を頻繁に交換する必要がある。その結果、バックアップ運用管理のメンテナンスコストが増加してしまう。
【課題を解決するための手段】
【００１８】
本願で開示する代表的な発明は、ネットワークを介してホスト計算機と接続されるストレージシステムにおいて、前記ストレージシステムは、前記ホスト計算機から書き込まれたデータを格納する複数の物理記憶領域と、前記物理記憶領域に対するデータの書き込み及び読み出しを制御するコントローラと、を備え、前記複数の物理記憶領域は、少なくとも、データを二重化して格納するための第１物理記憶領域及び第２物理記憶領域を含み、前記第１物理記憶領域は、前記ホスト計算機から書き込まれるデータを格納する正側記憶領域として設定され、前記第２物理記憶領域は、同期することによって前記正側記憶領域に設定された前記物理記憶領域と同一のバックアップデータを格納する副側記憶領域として設定され、前記コントローラは、前記第１物理記憶領域の残り書き換え可能回数と前記第２物理記憶領域の残り書き換え可能回数とを比較し、前記第１物理記憶領域の残り書き換え可能回数が前記第２物理記憶領域の残り書き換え可能回数より少ないと判定された場合、前記第１物理記憶領域の設定を前記副側記憶領域に変更し、前記第２物理記憶領域の設定を前記正側記憶領域に変更することを特徴とする。
【発明の効果】
【００１９】
本発明の一実施形態によれば、データの二重化によるバックアップが実行されている計算機システムにおいて、運用中データ格納用記憶領域への総書き込み回数とバックアップデータ格納用の記憶領域の総書き込み回数とが平準化される。その結果、記憶媒体の交換間隔が延長され、バックアップ運用管理のメンテナンスコストが低下する。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態の計算機システム及びストレージシステム、並びに、これらのシステムにおけるバックアップ管理方法について、図面を参照しながら説明する。なお、以下の記載によって本発明が限定されるものではない。
【００２１】
（１）第１の実施の形態のシステム構成
図１は、本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【００２２】
本実施の形態の計算機システムは、ストレージシステム１０００、ホスト計算機１１００、管理計算機１２００、データネットワーク１３００及び管理ネットワーク１４００を備える。
【００２３】
ストレージシステム１０００及びホスト計算機１１００は、データネットワーク１３００を介して互いに接続される。本実施の形態において、データネットワーク１３００はストレージエリアネットワーク（ＳＡＮ）である。しかし、データネットワーク１３００は、ＩＰネットワークであっても、その他のいかなる種類のデータ通信用ネットワークであってもよい。
【００２４】
ストレージシステム１０００、ホスト計算機１１００及び管理計算機１２００は、管理ネットワーク１４００を介して互いに接続される。本実施の形態において、管理ネットワーク１４００はＩＰネットワークである。しかし、管理ネットワーク１４００は、ＳＡＮであっても、その他のいかなる種類のデータ通信用ネットワークであってもよい。あるいは、データネットワーク１３００と管理ネットワーク１４００が同一のネットワークであってもよいし、ホスト計算機１１００と管理計算機１２００が同一の計算機であってもよい。
【００２５】
なお、説明の都合上、図１には、ストレージシステム１０００を１台、ホスト計算機１１００を１台、管理計算機１２００を１台のみ示す。しかし、本発明は、さらに多くのストレージシステム１０００、ホスト計算機１１００及び管理計算機１２００を備える計算機システムにも適用することができる。
【００２６】
ストレージシステム１０００は、データを格納するストレージ装置１０１０、及び、ストレージシステム１０００を制御するストレージコントローラ１０２０を備える。
【００２７】
ストレージ装置１０１０は、二つ以上の物理記憶領域１０１１を備える。物理記憶領域１０１１は、フラッシュメモリのように、書き込み回数が制限されている物理的な記憶領域である。この物理記憶領域１０１１は、書き込み位置毎の総書き込み回数を各物理記憶領域１０１１内で平準化する機能を備えていてもよい。あるいは、各物理記憶領域１０１１は、一つ以上の記憶媒体と、書き込み位置毎の総書き込み回数を記憶媒体間で平準化する機能を持つ制御装置と、を備える物理的な記憶領域であってもよい。
【００２８】
以下、本実施の形態は、物理記憶領域１０１１がフラッシュメモリである場合を例として説明する。しかし、物理記憶領域１０１１は、書き込み回数が制限される記憶装置であれば、いかなるものであってもよい。書き込み回数が制限される記憶装置として代表的なものは、例えば、フラッシュメモリ又は相変化型の光ディスク装置である。しかし、本発明は、書き込み回数が制限される磁気ディスク装置、光ディスク装置、磁気テープ装置、半導体記憶装置又はその他の種類の記憶装置にも適用することができる。物理記憶領域１０１１がフラッシュメモリである場合のストレージシステムの構成の例については、後で詳細に説明する（図１１Ａ及び図１１Ｂ参照）。
【００２９】
ストレージシステム１０００内において、物理記憶領域１０１１は論理記憶領域とマッピング（対応付け）される。ホスト計算機１１００は、この論理記憶領域に対してＩ／Ｏ命令を発行する。また、この論理記憶領域に付与された属性に応じて、リモートコピー等のストレージシステム１０００の各種機能が実行される。
【００３０】
ストレージコントローラ１０２０は、管理インタフェース（Ｉ／Ｆ）１０２１、データＩ／Ｆ１０２２、ＣＰＵ１０２３、ストレージＩ／Ｆ１０２４及びメインメモリ１０２５を備えている。
【００３１】
ＣＰＵ１０２３は、メインメモリ１０２５に格納されたプログラムを実行するプロセッサである。
【００３２】
メインメモリ１０２５には、論理物理マッピングテーブル１０３１、ペア定義テーブル１０３２、差分ビットマップ１０３３、総書き込み回数管理テーブル１０３４、総書き込み回数管理プログラム１０３５、二重化管理プログラム１０３６及びストレージマイクロプログラム１０３７が格納されている。
【００３３】
二重化管理プログラム１０３６は、従来技術であるデータの二重化によるバックアップを制御するプログラムである。具体的には、二重化管理プログラム１０３６は、正側記憶領域に格納されたデータと副側記憶領域に格納されたデータとを同期させることによって二重化を開始させる処理と、二重化を停止する処理と、運用中データの更新部分を副側記憶領域へコピーして二重化を再開する処理と、を実行する。
【００３４】
ここで、正側記憶領域とは、データが二重化されているときに、データのコピー元となる物理記憶領域１０１１又はその物理記憶領域１０１１に対応する論理記憶領域（後述）である。正側記憶領域には、運用中データが格納される。副側記憶領域とは、データが二重化されているときに、データのコピー先となる物理記憶領域１０１１又はその物理記憶領域１０１１に対応する論理記憶領域である。副側記憶領域に格納されたデータは、運用中データのバックアップデータとして扱われる。
【００３５】
具体的には、ホスト計算機１１００は、正側論理記憶領域に対してデータの書き込み要求（Write命令）を発行する。ストレージマイクロプログラム１０３７は、ホスト計算機１１００から受け取った書き込み要求に従って、要求の対象のデータを、要求の対象の正側論理記憶領域に対応する物理記憶領域に書き込む。さらに、二重化が停止していない場合、ストレージマイクロプログラム１０３７は、正側論理記憶領域に対応する物理記憶領域に書き込まれたデータを、副側論理記憶領域に対応する物理記憶領域にコピーする。
【００３６】
本実施の形態においては、二重化を再開する処理に、新たな処理が追加される。この処理の詳細については後述する（図７参照）。なお、以降、この一対の正側記憶領域と副側記憶領域を「ペア」と呼ぶ。また、二重化を開始又は再開するために、正側記憶領域と副側記憶領域を同期させることを「ペアを同期させる」と呼ぶ。具体的には、ペアを同期させた結果、副側記憶領域に格納されたデータが、正側記憶領域に格納されたデータと同一になる。また、バックアップデータを取得するために、二重化を停止させることを「ペアを分割する」と呼ぶ。
【００３７】
総書き込み回数管理プログラム１０３５は、ホスト計算機１１００から発行されたWrite命令、又は、二重化管理プログラムを実行するＣＰＵ１０２３から発行されたデータコピー命令によって（間接的に）発生する物理記憶領域への書き込みの回数を管理するプログラムである。この処理の詳細については後述する（図６参照）。
【００３８】
ストレージマイクロプログラム１０３７は、ホスト計算機１１００からの要求に応じ、物理記憶領域１０１１に対してデータの入出力（書き込み又は読み出し）を実行する。さらに、ストレージマイクロプログラム１０３７は、管理計算機１２００からの要求に応じ、ストレージシステム１０００内の制御情報の設定、提供等を実行する。
【００３９】
各テーブルの詳細は後述する（図２から図５参照）。
【００４０】
データＩ／Ｆ１０２２は、データネットワーク１３００に接続されるインタフェースであって、一つ以上の通信ポート（図示省略）を備える。ストレージコントローラ１０２０は、この通信ポートを介して、ホスト計算機１１００との間でデータ及び制御命令を送受信する。
【００４１】
管理Ｉ／Ｆ１０２１は、管理ネットワーク１４００に接続されるインタフェースである。ストレージコントローラ１０２０は、この管理Ｉ／Ｆ１０２１を介して、ホスト計算機１１００及び管理計算機１２００との間でデータ及び制御命令を送受信する。
【００４２】
ストレージＩ／Ｆ１０２５は、ストレージ装置１０１０に接続されるインタフェースであって、データ及び制御命令を送受信する。
【００４３】
ホスト計算機１１００は、データＩ／Ｆ１１１０、表示装置１１２０、ＣＰＵ１１３０、入力装置１１４０、管理Ｉ／Ｆ１１５０及びメモリ１１６０を備える。
【００４４】
データＩ／Ｆ１１１０は、データネットワーク１３００に接続されるインタフェースであって、一つ以上の通信ポート（図示省略）を備える。ホスト計算機１１００は、この通信ポートを介して、ストレージシステム１０００との間でデータ及び制御命令を送受信する。
【００４５】
管理Ｉ／Ｆ１１５０は、管理ネットワーク１４００に接続されるインタフェースである。ホスト計算機１１００は、システム管理のために、管理Ｉ／Ｆ１１５０を介して管理計算機１２００及びストレージシステム１０００との間でデータ及び制御命令を送受信する。
【００４６】
表示装置１１２０は、例えば、ＣＲＴ等の画面表示装置である。
【００４７】
入力装置１１４０は、例えば、キーボード又はマウスである。
【００４８】
ＣＰＵ１１３０は、メモリ１１６０に格納されたプログラムを実行するプロセッサである。
【００４９】
メモリ１１６０には、少なくとも、アプリケーション１１６１が格納される。
【００５０】
アプリケーション１１６１は、論理的な識別子によって識別される物理記憶領域を利用するDatabase Management System（ＤＢＭＳ）又はファイルシステム等のアプリケーションである。
【００５１】
なお、説明の都合上、図１では、アプリケーション１１６１を一つ示すが、複数のアプリケーションがメモリ１１６０に格納されてもよい。
【００５２】
管理計算機１２００は、管理Ｉ／Ｆ１２１０、表示装置１２２０、ＣＰＵ１２３０、入力装置１２４０及びメモリ１２５０を備える。
【００５３】
管理Ｉ／Ｆ１２１０は、システム管理のために、ホスト計算機１１００及びストレージシステム１０００との間でデータ及び制御命令を送受信する。
【００５４】
表示装置１２２０は、例えば、ＣＲＴ等の画面表示装置である。
【００５５】
入力装置１２４０は、例えば、キーボード又はマウスである。
【００５６】
メモリ１２５０には、少なくとも、バックアップ管理プログラム１２５１及び設定プログラム１２５２が格納されている。
【００５７】
ＣＰＵ１２３０はメモリ１２５０に格納された各種プログラムを実行することによって各機能を実現する。
【００５８】
設定プログラム１２５２は、メインメモリ１０２５に格納された各種テーブルの情報を設定するためのプログラムである。設定プログラム１２５２には、この情報を設定するために、ストレージマイクロプログラム１０３７を実行するＣＰＵ１０２３と通信する処理も含まれている。この通信の確立には、管理Ｉ／Ｆ１０２１のＩＰアドレスが利用されるが、本実施の形態では、管理計算機１２００がこのＩＰアドレスを取得済みであるものとする。以下、前記ＣＰＵ１２３０が各種プログラムを実行する際に、ＣＰＵ１０２３と通信する場合、上記と同様に通信が確立される。このため、以下の説明において、通信の確立に関しては説明を省略する。
【００５９】
設定プログラム１２５２は、ストレージ管理者又は他のプログラムがこのプログラムを実行できるように、インタフェースとしてコマンドラインインタフェース（ＣＬＩ）等を提供する。
【００６０】
バックアッププログラム１２５１は、ストレージ管理者によって設定されたバックアップスケジュールに従って、ストレージマイクロプログラム１０３７を実行するＣＰＵ１０２３と通信し、ペアの同期又は分割を命令するためのプログラムである。
【００６１】
図１１Ａ及び図１１Ｂは、物理記憶領域１０１１としてフラッシュメモリを備える本発明の第１の実施の形態のストレージシステム１０００の構成を示すブロック図である。
【００６２】
図１１Ａの例では、一つの物理記憶領域１０１１が一つのフラッシュメモリによって構成される。
【００６３】
図１１Ｂの例では、一つの物理記憶領域１０１１が、一つ以上のフラッシュメモリ（ＦＭ）と、書き込み位置毎の総書き込み回数をフラッシュメモリ間で平準化する機能を持つ制御装置（コントローラ）とを備える。
【００６４】
図２から図５は、メインメモリ１０２５に格納されるテーブル群である。
【００６５】
図２は、本発明の第１の実施の形態の論理物理マッピングテーブル１０３１の説明図である。
【００６６】
論理物理マッピングテーブル１０３１には、論理記憶領域と物理記憶領域１０１１とを対応付けるマッピング情報が設定される。論理ＶＯＬＩＤ２００１には、論理記憶領域の識別子が設定される。物理ＶＯＬＩＤ２００２には、前記論理記憶領域に対応する物理記憶領域１０１１の識別子が設定される。
【００６７】
上記二つの値を設定するために、設定プログラム１２５２はＣＬＩを提供する。例えば、このＣＬＩを用いて管理者は「createVol -from PDEV_1」といったコマンドを発行することができる。これは、「物理記憶領域PDEV_1から論理記憶領域を生成せよ」という命令になる。このPDEV_1が物理ＶＯＬＩＤ２００２に設定される。論理ＶＯＬＩＤ２００１には、ストレージマイクロプログラム１０３７を実行するＣＰＵ１０２３がストレージシステム内で一意に識別することができる識別子が設定される。
【００６８】
例えば、上記のコマンドが実行された結果、物理記憶領域PDEV_1に対応する論理記憶領域LUN_1が生成された場合、物理ＶＯＬＩＤ２００２の値「PDEV_1」に対応して、論理ＶＯＬＩＤ２００１に「LUN_1」が設定される。
【００６９】
論理物理マッピングテーブル１０３１には、さらに、論理記憶領域に付与される属性を示す情報が設定されてもよい。図２には、論理記憶領域に付与される属性の例として、キャッシュ常駐２００３を示す。キャッシュ常駐２００３には、例えば、論理記憶領域に格納されたデータをキャッシュメモリ（図示省略）に常駐させるか否かを示す情報が設定される。論理記憶領域の一部に格納されたデータのみをキャッシュメモリ（図示省略）に常駐させる場合、キャッシュ常駐２００３には、その一部を特定する情報が設定される。
【００７０】
図２の例では、論理ＶＯＬＩＤ２００１の値「LUN_1」に対応するキャッシュ常駐２００３として、「0〜1024」が設定されている。これは、論理記憶領域LUN_1のアドレス0からアドレス1024までに格納されたデータをキャッシュメモリに常駐させることを示す。一方、論理ＶＯＬＩＤ２００１の値「LUN_2」に対応するキャッシュ常駐２００３として、「off」が設定されている。これは、論理記憶領域LUN_2に格納されたデータをキャッシュメモリに常駐させないことを示す。
【００７１】
キャッシュ常駐２００３を設定するために、設定プログラム１２５２はＣＬＩを提供する。例えば、このＣＬＩを用いて管理者は「useCache -vol LUN_1 -from 0 -to 1024」といったコマンドを発行することができる。これは、「論理記憶領域LUN_1のアドレス0からアドレス1024までのデータをキャッシュメモリに常駐せよ」という命令になる。その結果、図２の「LUN_1」に対応するキャッシュ常駐２００３の値「0〜1024」が設定される。
【００７２】
図３は、本発明の第１の実施の形態のペア定義テーブル１０３２の説明図である。
【００７３】
ペア定義テーブル１０３２には、データの二重化によるバックアップを制御するための管理情報が設定される。
【００７４】
ペア名３００１には、ペアの識別子が設定される。
【００７５】
正側ＶＯＬＩＤ３００２には、正側記憶領域として設定された論理記憶領域の識別子が設定される。
【００７６】
正側差分ＢＭ３００３には、正側の差分ビットマップを識別する情報が設定される。正側の差分ビットマップは、二重化停止中に正側記憶領域へ書き込みが発生した場合に、その書き込みの位置を管理するビットマップである（図４参照）。
【００７７】
副側ＶＯＬＩＤ３００４には、副側記憶領域として設定された論理記憶領域の識別子が設定される。
【００７８】
副側差分ＢＭ３００５には、副側の差分ビットマップを識別する情報が設定される。副側の差分ビットマップは、二重化停止中に副側記憶領域へ書き込みが発生した場合に、その書き込みの位置を管理するビットマップである（図４参照）。
【００７９】
正副入替許可３００５には、物理記憶領域の入れ替えを許可するか否かを示す情報が設定される。物理記憶領域の入れ替えとは、例えば、正側記憶領域の残り書込み可能回数が副側記憶領域の残り書込み可能回数より小さい場合、正側記憶領域に対応付けられている物理記憶領域１０１１を新たに副側記憶領域に対応付け、副側記憶領域に対応付けられている物理記憶領域１０１１を新たに正側記憶領域に対応付ける処理である。入れ替えを許可する場合は正副入替許可３００５に「true」が設定され、許可しない場合は正副入替許可３００５に「false」が設定される。
【００８０】
上記の値を設定するために、設定プログラム１２５２はＣＬＩを提供する。例えば、このＣＬＩを用いてストレージ管理者は、「createPair -p LUN_1 -s LUN_2 -swap true pair1」といったコマンドを発行することができる。これは、「論理記憶領域LUN1を正記憶領域として、論理記憶領域LUN_2を副記憶領域としてペアpair1を定義せよ。また、残り書込み可能回数に応じて入れ替えを許可する。」という命令になる。この命令が実行された結果、図３の一行目に示す値がペア定義テーブル１０３２に設定される。具体的には、「pair1」はペア名３００１に設定される。「LUN_1」は正側ＶＯＬＩＤ３００２に設定される。「LUN_2」は副側ＶＯＬＩＤ３００４に設定される。正副入替許可３００５には「true」が設定される。
【００８１】
さらに、このペア定義時に、正側記憶領域用と副側記憶領域用の二つの差分ビットマップ１０３３が作成される。図３の一行目の例では、正側記憶領域用差分ビットマップの識別子「BM_1」が正側差分ＢＭ３００３に設定され、副側記憶領域用差分ビットマップの識別子「BM_2」が副側差分ＢＭ３００５に設定される。
【００８２】
図４は、本発明の第１の実施の形態の差分ビットマップ１０３３の説明図である。
【００８３】
差分ビットマップ１０３３は、ペアが分割されている状態（すなわち、二重化が停止している状態）において、各論理記憶領域に書き込みが発生した場合、どの位置に書き込みがなされたかを管理する情報である。本実施の形態の差分ビットマップ１０３３は、ブロック（１ブロック＝1024byte）毎に書き込みの有無を管理しているが、それ以外の単位で管理されてもよい。ブロックアドレス４００１には管理対象のブロックのアドレスが設定される。
【００８４】
更新有無４００２には書き込みの有無を示す情報が設定される。具体的には、書き込みが発生した場合は「true」、発生していない場合は「false」が設定される。
【００８５】
本実施の形態の差分ビットマップ１０３３は、ペアが定義されると、ペアの正側記憶領域用と副側記憶領域用に対応してそれぞれ作成される。
【００８６】
ブロックアドレス４００１には、ペア定義時に、書き込み有無の管理対象となるブロックの先頭アドレスが設定される。
【００８７】
更新有無４００２の値は、ペアの同期が実行される際に参照される。その結果、値が「true」であるブロックに格納されているデータは、正側記憶領域から副側記憶領域へコピーされる。このコピー完了後、更新有無４００２には「false」が設定される。また、ペアが分割されている状態で、記憶領域へ書き込みが発生すると、書き込み先のブロックに対応する更新有無４００２の値として「true」が設定される。
【００８８】
図４の例では、ブロックアドレス４００１として、少なくとも、「０」、「１０２４」及び「２０４８」が設定されている。そして、これらの値に対応する更新有無４００２として、それぞれ、「false」、「true」及び「false」が設定されている。これは、ペアが分割され、同期が停止している間に、ブロックアドレス「０」を先頭とする１０２４バイトのブロック及びブロックアドレス「２０４８」を先頭とする１０２４バイトのブロックを対象とする書き込みが発生しておらず、ブロックアドレス「１０２４」を先頭とする１０２４バイトのブロックを対象とする書き込みが発生したことを示す。
【００８９】
図５は、本発明の第１の実施の形態の総書き込み回数管理テーブル１０３４の説明図である。
【００９０】
総書き込み回数管理テーブル１０３４には、物理記憶領域１０１１に対して実行された総書き込み回数を管理するための情報が設定される。物理ＶＯＬＩＤ５００１には、物理記憶領域１０１１の識別子が設定される。総書き込み回数５００２には、物理ＶＯＬＩＤ５００１に示す物理記憶領域１０１１に対して既に実行された書き込みの回数が設定される。最大書き込み可能回数５００３には、物理ＶＯＬＩＤ５００１に示す物理記憶領域１０１１に対して実行することができる書き込み処理の回数の最大値が設定される。
【００９１】
物理ＶＯＬＩＤ５００１は、物理記憶領域１０１１を導入する際に、ストレージマイクロプログラム１０３７を実行するＣＰＵ１０２３が、当該物理記憶領域１０１１を一意に識別する識別子を割り振ることによって設定される。
【００９２】
最大書き込み可能回数５００３には、物理記憶領域１０１１を導入する際に、システム管理者によって入力される情報、又は、物理記憶領域１０１１が提供する情報が設定される。
【００９３】
例えば、システム管理者は、管理計算機１２００の設定プログラム１２５２を実行することによって、最大書き込み可能回数５００３をストレージコントローラ１０２０に入力してもよい。ストレージコントローラ１０２０は、入力された値を最大書き込み可能回数５００３に設定する。
【００９４】
総書き込み回数５００２には、物理記憶領域１０１１の導入時に「０」が設定される。そして、ホスト計算機１１００からのWrite命令、又は、二重化管理プログラムを実行するＣＰＵ１０２３からのデータコピー命令によって物理記憶領域１０１１への書き込みが発生する度に、総書き込み回数管理プログラム１０３５によってインクリメントされていく。
【００９５】
なお、本実施の形態において、最大書込み可能回数５００３は物理記憶領域１０１１の寿命である。しかし、本発明の別の実施形態において、書き込み回数に依存して性能が劣化するような物理記憶領域１０１１が使用される場合、何回の書き込みによる性能劣化まで許容されるかを示す値（言い換えると、許容される性能劣化を引き起こす書き込み回数の最大値）が、最大書き込み可能回数５００３に設定されてもよい。
【００９６】
本実施の形態において、総書き込み回数管理テーブル１０３４は、ストレージコントローラ１０２０内のメインメモリ１０２５に格納される。しかし、総書き込み回数管理テーブル１０３４は、計算機システム内のいずれの部分が保持してもよい。例えば、ストレージ装置１０１０又は管理計算機１２００が総書き込み回数管理テーブル１０３４を保持してもよい。
【００９７】
（２）第１の実施の形態の動作
次に、本実施の形態の動作について説明する。
【００９８】
図６は、本発明の第１の実施の形態の総書き込み回数管理プログラム１０３５を実行するＣＰＵ１０２３によって実行される書き込み処理のフローチャートである。
【００９９】
具体的には、図６は、総書き込み回数管理プログラム１０３５を実行するＣＰＵ１０２３が、Write命令を受け取ったときに実行する処理である。このWrite命令は、ホスト計算機１１００が論理記憶領域を対象として発行するWrite命令であっても、二重化管理プログラム１０３６を実行するＣＰＵ１０２３がペアの同期のために実行するデータコピーによって発生する論理記憶領域へのWrite命令であってもよい。
【０１００】
まず、ＣＰＵ１０２３は、論理記憶領域へのWrite命令を受け取る（ステップ６０１０）。このWrite命令には、書き込み先論理記憶領域の識別子と書き込み先ブロックアドレスが含まれる。
【０１０１】
次に、ＣＰＵ１０２３は、論理物理マッピングテーブル１０３１を参照し、論理記憶領域に対応する物理記憶領域１０１１の識別子を取得する（ステップ６０２０）。
【０１０２】
次に、ＣＰＵ１０２３は、総書き込み回数管理テーブル１０３４を参照し、ステップ６０２０にて取得した識別子を割り振られている物理記憶領域１０１１の総書き込み回数５００２をインクリメントする（ステップ６０３０）。
【０１０３】
最後に、ＣＰＵ１０２３は、ステップ６０２０にて取得した識別子を割り振られている物理記憶領域１０１１にデータを書き込む（ステップ６０４０）。このとき、書き込み先のブロックアドレスは、ステップ６０１０にて受け取ったWrite命令に含まれていたブロックアドレスとなる。
【０１０４】
以上が、論理記憶領域へのWrite命令を受け取った時の、総書き込み回数管理プログラム１０３５を実行するＣＰＵ１０２３の動作である。
【０１０５】
図７は、本発明の第１の実施の形態の二重化管理プログラム１０３６を実行するＣＰＵ１０２３によって実行される二重化再開処理のフローチャートである。
【０１０６】
具体的には、図７は、二重化管理プログラム１０３６を実行するＣＰＵ１０２３が、バックアップ管理プログラム１２５１から二重化を再開する命令を受け取ったときに実行する処理である。
【０１０７】
まず、ＣＰＵ１０２３は、運用中データの二重化を再開する命令を受け取る（ステップ７０１０）。この命令には、同期を実行する対象のペア名が含まれる。
【０１０８】
次に、ＣＰＵ１０２３は、差分データをコピーする（ステップ７０２０）。具体的には、ＣＰＵ１０２３は、ペア定義テーブル１０３２を参照し、同期が実行されるペアに対応する差分ビットマップ１０３３を特定する。このとき、正側記憶領域及び副側記憶領域のそれぞれに対応する二つの差分ビットマップが特定される。二つの差分ビットマップのいずれかに、更新有無４００２の値が「true」であるブロックが存在する場合、ＣＰＵ１０２３は、そのブロックに格納されているデータを正側記憶領域から副側記憶領域へコピーする。
【０１０９】
ＣＰＵ１０２３は、差分ビットマップ内のアドレスを全てチェックしたと判定した場合、正側記憶領域に格納されたデータと副側記憶領域に格納されたデータとが同一になったと認識し、正側記憶領域と副側記憶領域の入れ替えの要否を判定する（ステップ７０３０及び７０４０参照）。
【０１１０】
次に、ＣＰＵ１０２３は、総書き込み回数管理テーブル１０３４を参照し、各論理記憶領域に対応する物理記憶領域１０１１の物理ＶＯＬＩＤ５００１に対応する総書き込み回数５００２及び最大書き込み可能回数５００３を取得する（ステップ７０３０）。
【０１１１】
次に、ＣＰＵ１０２３は、取得した最大書き込み可能回数及び総書き込み回数から、各物理記憶領域１０１１の残り書き換え可能回数を算出する。具体的には、最大書き込み可能回数から総書き込み回数を減算することによって、残り書き換え可能回数が算出される。そして、ＣＰＵ１０２３は、正側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数と、を比較する（ステップ７０４０）。
【０１１２】
ステップ７０４０にて正側記憶領域の残り書き換え可能回数が多いと判定された場合、書き込み回数を平準化するためには、現在正側記憶領域として設定されている記憶領域を引き続き正側記憶領域として使用することが望ましい。このため、ＣＰＵ１０２３は、正側と副側の記憶領域を入れ替える必要がないと判定し、入れ替えを実行せずに処理を終了する。
【０１１３】
一方、ステップ７０４０にて副側記憶領域の残り書き換え可能回数が多いと判定された場合、書き換え回数を平準化するために、正側と副側の記憶領域を入れ替えることが望ましい。この場合、ＣＰＵ１０２３は、正側と副側の記憶領域を入れ替える必要があると判定する。そして、ＣＰＵ１０２３は、ペア定義テーブル１０３２を参照し、正側記憶領域にマッピングされている物理記憶領域と、副側記憶領域にマッピングされている物理記憶領域と、の入れ替えが許可されているか否かを判定する（ステップ７０５０）。
【０１１４】
ステップ７０５０にて、入れ替えが許可されていないと判定された場合、ＣＰＵ１０２３は処理を終了する。
【０１１５】
一方、入れ替えが許可されている場合、ＣＰＵ１０２３は、論理物理マッピングテーブル１０３１を参照し、正側記憶領域の物理ＶＯＬＩＤと副側記憶領域の物理ＶＯＬＩＤと、を入れ替える（ステップ７０６０）。そして、ＣＰＵ１０２３は処理を終了する。
【０１１６】
上記の二重化再開処理は、前回の正側と副側の記憶領域の入れ替えが実行された後で実行された書き込み処理の回数が、所定の回数となったことを契機として実行されてもよい。
【０１１７】
ここで、書き込み処理の具体例を、図２から図５を参照して説明する。図３の例では、ペア「pair1」において、論理記憶領域「LUN_1」が正側記憶領域であり、論理記憶領域「LUN_2」が副側記憶領域である。図２の例では、論理記憶領域「LUN_1」及び「LUN_2」が、それぞれ、物理記憶領域「PDEV_1」及び「PDEV_2」に対応する。図５の例では、物理記憶領域「PDEV_1」の残り書き換え可能回数は、500000000から10000を減算した499990000である。一方、物理記憶領域「PDEV_2」の残り書き換え可能回数は、500000000から100を減算した499999900である。
【０１１８】
この場合、図７のステップ７０４０において、副側記憶領域の残り書き換え可能回数が多いと判定される。図３に示すように、ペア「pair1」の正副入れ替えが許可されているため、ステップ７０６０において、正側記憶領域の物理ＶＯＬＩＤと副側記憶領域の物理ＶＯＬＩＤとが入れ替えられる。具体的には、図２に示す論理物理マッピングテーブル１０３１において、論理ＶＯＬＩＤ２００１の値「LUN_1」に対応する物理ＶＯＬＩＤの値が、「PDEV_2」に更新される。一方、論理ＶＯＬＩＤ２００１の値「LUN_2」に対応する物理ＶＯＬＩＤの値が、「PDEV_1」に更新される。
【０１１９】
その結果、例えば、ホスト計算機１１００が論理記憶領域「LUN_1」にデータを書き込む要求を発行した場合、ストレージマイクロプログラム１０３７は、そのデータを物理記憶領域「PDEV_2」に書き込む。さらに、ストレージマイクロプログラム１０３７は、物理記憶領域「PDEV_2」に書き込まれたデータを、論理記憶領域「LUN_2」に対応する物理記憶領域「PDEV_1」にコピーする。このようにして正側と副側の物理記憶領域１０１１が入れ替えられ、書き込み回数が平準化される。
【０１２０】
図２に示すように、キャッシュ常駐２００３等の属性は、論理記憶領域に付与される。このため、ステップ７０４０において正側と副側の物理記憶領域１０１１が入れ替えられた結果、各物理記憶領域１０１１に対応する属性も入れ替えられる。
【０１２１】
例えば、上記のように、論理記憶領域「LUN_1」に対応する物理記憶領域が「PDEV_1」から「PDEV_2」に変更されても、論理記憶領域「LUN_1」に対応する属性であるキャッシュ常駐２００３の値は、依然として「0〜1024」のままである。同様に、論理記憶領域「LUN_2」に対応する物理記憶領域が「PDEV_2」から「PDEV_1」に変更されても、論理記憶領域「LUN_2」に対応する属性であるキャッシュ常駐２００３の値は、依然として「off」のままである。その結果、物理記憶領域「PDEV_1」に対応するキャッシュ常駐２００３の値が「0〜1024」から「off」に変更され、物理記憶領域「PDEV_2」に対応するキャッシュ常駐２００３の値が「off」から「0〜1024」に変更される。
【０１２２】
なお、ステップ７０４０において、正側記憶領域の残り書き換え可能回数と副側記憶領域の残り書き換え可能回数が同じであると判定された場合、正側と副側の物理記憶領域１０１１が入れ替えられても入れ替えられなくてもよい。本実施の形態では、残り書き換え可能回数が同じである場合、正側と副側の物理記憶領域１０１１の入れ替えが実行されない。
【０１２３】
上記図７の説明では、最大書き込み回数から総書き込み回数を減算することによって残り書き換え可能回数が算出され、物理記憶領域１０１１の入れ替えを実行するか否かが判定された（ステップ７０４０）。しかし、いかなる方法で残り書き換え可能回数を算出又は推定しても、本発明を実施することができる。
【０１２４】
例えば、正側と副側の物理記憶領域１０１１が同種の記憶媒体によって構成される場合、両者の最大書き込み可能回数５００３は同じであると推定される。このため、ＣＰＵ１０２３は、ステップ７０４０において正側と副側の総書き込み回数５００２を比較し、その値が少ない側の物理記憶領域１０１１の残り書き換え可能回数が多いと判定してもよい。すなわち、ステップ７０４０において正側と副側の総書き込み回数５００２を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。
【０１２５】
あるいは、書き込み回数の代わりに、消去回数に基づいて残り書き換え可能回数が算出されてもよい。フラッシュメモリにデータが書き込まれる前に、そのデータの書き込み先の領域に既に書き込まれているデータを消去する処理が実行される。フラッシュメモリの寿命は、この消去処理の回数に依存する。
【０１２６】
このため、例えば、総書き込み回数管理テーブル（図５）の総書き込み回数５００２の代わりに総消去回数が設定され、最大書き込み可能回数５００３の代わりに最大消去可能回数が設定されてもよい。総消去回数は、実際に実行された消去処理の回数であり、最大消去可能回数は、実行可能な消去処理の回数の最大値である。この場合、ステップ７０４０において、最大消去可能回数から総消去回数を減算した値が多い物理記憶領域１０１１の残り書き換え可能回数が多いと判定される。すなわち、ステップ７０４０において残り消去可能回数を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。
【０１２７】
あるいは、総消去回数のみに基づいてステップ７０４０の判定が実行されてもよい。正側と副側の物理記憶領域１０１１が同種の記憶媒体によって構成される場合、両者の最大消去可能回数は同じであると推定される。このため、ＣＰＵ１０２３は、ステップ７０４０において正側と副側の総消去回数を比較し、その値が少ない側の物理記憶領域１０１１の残り書き換え可能回数が多いと判定してもよい。すなわち、ステップ７０４０において正側と副側の総消去回数を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。
【０１２８】
あるいは、正側と副側の物理記憶領域１０１１の性能を比較し、その比較の結果に基づいてステップ７０４０の判定が実行されてもよい。物理記憶領域１０１１の性能とは、例えば、物理記憶領域１０１１にデータを書き込む際のWrite性能である。フラッシュメモリには、データの消去が実行された回数に依存してWrite性能が低下する性質がある。このため、ＣＰＵ１０２３は、Write性能を監視し、ステップ７０４０において、正側物理記憶領域１０１１のWrite性能と副側物理記憶領域１０１１のWrite性能とを比較してもよい。
【０１２９】
この場合、ステップ７０４０において、Write性能が高い側の物理記憶領域１０１１の残り書き換え可能回数が多いと判定される。すなわち、ステップ７０４０において正側と副側の性能を比較することが、正側と副側の残り書き換え可能回数を比較することに相当する。ステップ７０４０における比較の対象は、Write性能以外のいかなる性能であってもよい。
【０１３０】
なお、二重化が実行されている状態であっても、正側記憶領域と副側記憶領域に非同期に書き込みが行われることを原因として、二つの記憶領域に格納されるデータが同期している状態を維持することが難しい場合がある。この場合、別の実施形態として、ステップ７０１０の直後に、ホスト計算機１１００からのwrite命令を保留するステップ（図示省略）を追加し、さらに、二重化再開処理の終了直前にホスト計算機１１００からのwrite命令保留を解除するステップ（図示省略）を追加することによって、本発明を実施することが可能になる。
【０１３１】
以上が本発明の第１の実施の形態の説明である。第１の実施の形態によれば、運用中データ格納用の記憶領域への総書き込み回数と、バックアップデータ格納用の記憶領域の総書き込み回数と、が平準化され、データの二重化によるバックアップに使用される記憶媒体の交換間隔を延長することができる。その結果、バックアップ運用管理のメンテナンスコストを下げることができる。
【０１３２】
次に、本発明の第２の実施の形態について説明する。本実施の形態では、第１の実施の形態と同様、正側記憶領域に対応する物理記憶領域の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域の残り書き換え可能回数と、が比較される。そして、正側記憶領域に対応する物理記憶領域の残り書き換え可能回数が、副側記憶領域に対応する物理記憶領域の残り書き換え可能回数よりも少ないときに、物理記憶領域が入れ替えられる。しかし、本実施の形態は、ストレージシステム１０００に保持された二重化管理プログラム１０３６が上記の比較及び入れ替えを実行する機能を備えない点において、第１の実施の形態と異なる。本実施の形態では、管理計算機１２００に保持されたバックアップ管理プログラム１２５１が、上記の比較及び入れ替えを実行する機能を提供することによって、本発明を適用可能であることを例証する。
【０１３３】
（３）第２の実施の形態のシステム構成
図８は、本発明の第２の実施の形態のホスト計算機１１００の構成を示すブロック図である。
【０１３４】
本実施の形態の計算機システムの構成は、ホスト計算機１１００を除いて、第１の実施の形態と同様である。このため、以下、ホスト計算機１１００の構成のみを説明する。
【０１３５】
本実施の形態では、ホスト計算機１１００のメモリ１１６０に、アプリケーション１１６１に加えてパス管理プログラム１１６２及びパス管理テーブル１１６３が格納される。
【０１３６】
パス管理プログラム１１６２は、ホスト計算機１１００が利用する論理記憶領域へのパスを管理するためのプログラムである。一般的なパス管理ソフトウェアと同様、パス管理プログラム１１６２は、パスの切り替えを行う機能とアプリケーション１１６１からのＩ／Ｏ命令を保留する機能とを有する。パス管理プログラム１１６２は、管理者又は他のプログラムがパス管理プログラム１１６２を実行できるように、インタフェースとしてＣＬＩ等を提供する。
【０１３７】
パス管理プログラム１１６２のパスの切り替え機能の概要は次の通りである。
【０１３８】
パス管理プログラム１１６２を実行するＣＰＵ１１３０は、パス管理テーブル１１６３を参照して、仮想的なパスをアプリケーション１１６１へ提供する。そして、アプリケーション１１６１が発行したこの仮想的なパスへのＩ／Ｏ命令を、当該仮想的なパスへ対応付けられた実際のパスへ転送する。この仮想的なパスと実際のパスとの対応付けを変更することによって、アプリケーション１１６１に影響なくパスを変更することができる。
【０１３９】
図１０は、本発明の第２の実施の形態のパス管理テーブル１１６３の説明図である。
【０１４０】
パス管理テーブル１１６３は、論理記憶領域への実際のパスと、アプリケーション１１６１が利用する仮想的なパスとをマッピングするテーブルである。パス管理プログラム１１６２を実行するＣＰＵ１１３０が、パス管理テーブル１１６３に値を設定する。アプリケーション１１６１が利用する仮想的なパスとは、アプリケーション１１６１がＩ／Ｏ命令を発行するときに指定するパスである。
【０１４１】
仮想パス１０００１には、パス管理プログラム１１６２がアプリケーション１１６１へ提供する仮想的なパス情報が設定される。実パス１０００２には、仮想パス１０００１が示す仮想的なパスに対応して、論理記憶領域にアクセスするための実際のパス情報が設定される。これらの情報を設定するために、パス管理プログラム１１６２はＣＬＩを提供する。例えば、管理者は「setPath v_path V_P1_T1_L1 -path P1_T1_L1」のようなコマンドを発行することができる。これは、「仮想パスV_P1_T1_L1に対し、ポートＩＤが１、ターゲットＩＤが１、ＬＵＮが１というパスを設定せよ」という命令となる。このV_P1_T1_L1が仮想パス１０００１に設定され、P1_T1_L1が実パス１０００２に設定される。
【０１４２】
（４）第２の実施の形態の動作
以下、本実施の形態において実行される処理のうち、第１の実施の形態と相違する処理について説明する。以下に説明しない点は、第１の実施の形態と同様である。
【０１４３】
最初に、本実施の形態における二重化管理プログラム１０３６を実行するＣＰＵ１０２３の動作を、第１の実施の形態（図７）と対比して説明する。
【０１４４】
第１の実施の形態の二重化管理プログラム１０３６は、正側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数と、を比較する処理を含み（ステップ７０４０）、さらに、正側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数が、副記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数よりも少ないときに、各物理記憶領域１０１１を入れ替える処理を含む（ステップ７０６０）。
【０１４５】
しかし、第２の実施の形態の二重化管理プログラム１０３６は、上記の比較及び入れ換えのいずれの処理も含まない。つまり、本実施の形態における二重化管理プログラム１０３６を実行するＣＰＵ１０２３は、図７で説明したステップ７０２０の処理を実行した後、ステップ７０３０から７０６０までを実行せずに、処理を終了する。
【０１４６】
次に、バックアップ管理プログラムを実行するＣＰＵ１２３０が、新規バックアップデータを取得する際の動作を、図９を参照して説明する。
【０１４７】
図９は、本発明の第２の実施の形態のバックアップ管理プログラム１２５１を実行するＣＰＵ１２３０によって実行されるバックアップ処理のフローチャートである。
【０１４８】
まず、ＣＰＵ１２３０は、新規バックアップデータ取得タイミングに、ペアの二重化を再開するために、二重化管理プログラム１０３６を実行するＣＰＵ１０２３にペアの同期を要求する（ステップ９０１０）。
【０１４９】
次に、ＣＰＵ１２３０は、パス管理プログラム１１６２を実行するＣＰＵ１１３０に、アプリケーション１１６１からのＩ／Ｏ命令を保留するように要求する。（ステップ９０２０）。
【０１５０】
次に、ＣＰＵ１２３０は、正側記憶領域のデータと副側記憶領域のデータが同期するまで待つ（ステップ９０３０）。ここでは、ＣＰＵ１２３０は、正側記憶領域のデータと副側記憶領域のデータが同期したことを確認するために、二重化管理プログラム１０３６を実行するＣＰＵ１０２３に定期的に問い合わせる。ＣＰＵ１２３０は、ＣＰＵ１０２３からデータが同期したことを示す応答を受け取ると、正側記憶領域に格納されたデータと副側記憶領域に格納されたデータとが同一となったと認識する。そして、ＣＰＵ１２３０は、正側記憶領域と副側記憶領域の入れ替えの要否を判定する（ステップ９０４０及び９０５０参照）。
【０１５１】
次に、ＣＰＵ１２３０は、同期したことを確認した後、総書き込み回数管理プログラム１０３５を実行するＣＰＵ１０２３から、正側記憶領域に対応する物理記憶領域１０１１の総書き込み回数と、その物理記憶領域１０１１の最大書込み可能回数と、副記憶領域に対応する物理記憶領域１０１１の総書き込み回数と、その物理記憶領域１０１１の最大書き込み可能回数と、を取得する（ステップ９０４０）。具体的には、ＣＰＵ１０２３が総書き込み回数管理テーブル１０２３を参照して総書き込み回数５００２及び最大書き込み可能回数５００３を取得し、管理Ｉ／Ｆ１０２１及び管理ネットワーク１４００を介して管理計算機１２００に送信する。
【０１５２】
次に、ＣＰＵ１２３０は、取得した最大書き込み可能回数及び総書き込み回数から、各物理記憶領域１０１１の残り書き換え可能回数を算出する。具体的には、最大書き込み可能回数から総書き込み回数を減算することによって、残り書き換え可能回数が算出される。そして、ＣＰＵ１２３０は、正側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数と、副側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数と、を比較する（ステップ９０５０）。
【０１５３】
ステップ９０５０において、正側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数が副側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数以上であると判定された場合、ＣＰＵ１２３０は、正側と副側の物理記憶領域１０１１を入れ替える必要がないと判定する。この場合、ＣＰＵ１２３０は、パス管理プログラム１１６２を実行するＣＰＵ１１３０に、ステップ９０２０にて要求したＩ／Ｏ命令の保留の解除を要求する（ステップ９０９０）。
【０１５４】
次に、ＣＰＵ１２３０は、二重化管理プログラム１０３６を実行するＣＰＵ１０２３にペアの分割（すなわち、二重化の停止）を要求し（ステップ９１００）、処理を終了する。
【０１５５】
一方、ステップ９０５０において、正側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数が副側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数より少ないと判定された場合、ＣＰＵ１２３０は、正側と副側の物理記憶領域１０１１を入れ替える必要があると判定する。この場合、ＣＰＵ１２３０は、パス管理プログラム１１６２を実行するＣＰＵ１１３０に、アクセスパスの接続先を、正側ＶＯＬＩＤ３００２によって識別される正側記憶領域から、副側ＶＯＬＩＤ３００４によって識別される副側記憶領域に切り替えるように要求する（ステップ９０６０）。この要求を受け取ったパス管理プログラム１１６２を実行するＣＰＵ１１３０は、パス管理テーブル１１６３の実パス１０００２の値を書き換えることによって、パスを切り替える。
【０１５６】
次に、ＣＰＵ１２３０は、ストレージマイクロプログラム１０３７を実行するＣＰＵ１０２３へ、ペアの定義を変更するように要求する（ステップ９０７０）。具体的には、ＣＰＵ１２３０は、ペア定義テーブル１０３２の正側ＶＯＬＩＤ３００２の値と副側ＶＯＬＩＤ３００４の値とを入れ替えるように要求する。
【０１５７】
次に、ＣＰＵ１２３０は、ストレージマイクロプログラム１０３７を実行するＣＰＵ１０２３へ、正側ＶＯＬＩＤ３００２に設定されていた属性と、副側ＶＯＬＩＤ３００４に設定されていた属性と、を入れ替えるように要求する（ステップ９０８０）。
【０１５８】
ここで、属性とは、例えば、図２に示すキャッシュ常駐２００３である。ある記憶領域の一部又は全部の領域に対するアクセス頻度が高い場合、その領域に格納されているデータを全て高速なキャッシュメモリ（図示省略）にコピーすることによって、多くのアクセスがキャッシュメモリに対して実行され、処理が高速になる。
【０１５９】
正側記憶領域はホスト計算機１１００からのアクセスを受けるため、正側記憶領域のデータをキャッシュメモリにコピーすることによってアクセスの高速化が期待できる。しかし、副側記憶領域はホスト計算機１１００からのアクセスを受けないため、通常、副側記憶領域のデータをキャッシュメモリにコピーする必要はない。しかし、ステップ９０６０及び９０７０の結果、副側記憶領域であった領域が新たな正側記憶領域となり、ホスト計算機１１００からのアクセスを受けるようになる。このため、新たな正側記憶領域のデータをキャッシュメモリにコピーすることによって、アクセスが高速化される。したがって、正側記憶領域に、データをキャッシュメモリにコピーすることを示す属性が設定されていた場合、正側記憶領域と副側記憶領域の入れ替えが実行されるときに、それぞれの領域に設定されていた属性も入れ替えることによって、所定の性能又は機能が維持される。
【０１６０】
以上、属性が、キャッシュ常駐２００３である場合を例として説明したが、各記憶領域には、その他のいかなる属性が設定されていてもよい。その場合も、それぞれの領域に設定されていた属性を入れ替えることによって、所定の性能又は機能が維持される。
【０１６１】
その後、既に説明したステップ９０９０以降の処理が続行される。
【０１６２】
通常のバックアップ運用において、バックアップ処理は、所定の間隔で、あるいは、管理者が定めたバックアップ間隔で実行される。しかし、本実施の形態では、前回のバックアップ処理が実行された後、所定の時間が経過し、かつ、書き込み回数が所定の回数に達したときに、コピーコマンドが発行されてもよい。その結果、上記のバックアップ処理が実行され、正側と副側の記憶領域が入れ替えられる。
【０１６３】
ここで、書き込み処理の具体例を、図２から図５及び図１０を参照して説明する。図３の例では、ペア「pair1」において、論理記憶領域「LUN_1」が正側記憶領域であり、論理記憶領域「LUN_2」が副側記憶領域である。図２の例では、論理記憶領域「LUN_1」及び「LUN_2」が、それぞれ、物理記憶領域「PDEV_1」及び「PDEV_2」に対応する。図５の例では、物理記憶領域「PDEV_1」の残り書き換え可能回数は、500000000から10000を減算した499990000である。一方、物理記憶領域「PDEV_2」の残り書き換え可能回数は、500000000から100を減算した499999900である。
【０１６４】
さらに、図１０の例では、仮想パス「V_P1_T1_L1」と実パス「P1_T1_L1」とが対応付けられている。この例において、実パス「P1_T1_L1」は、ホスト計算機１１００から論理記憶領域「LUN_1」に至るパスである。この場合、アプリケーション１１６１が仮想パス「V_P1_T1_L1」に対して書き込み要求を発行すると、パス管理プログラム１１６２は、その書き込み要求を、実パス「P1_T1_L1」に転送する。その結果、論理記憶領域「LUN_1」に対する書き込みが実行される。論理記憶領域「LUN_1」に書き込まれるデータは、実際には、物理記憶領域「PDEV_1」に書き込まれる。
【０１６５】
この場合、図９のステップ９０５０において、副側記憶領域の残り書き換え可能回数が多いと判定される。そして、ステップ９０６０において、パスの切り替え要求が発行される。
【０１６６】
この要求を受けたＣＰＵ１１３０は、パス管理プログラム１１６２を実行して、パス管理テーブル１１６３の仮想パス「V_P1_T1_L1」に対応する実パス１０００２の値を、「P1_T1_L1」から「P1_T1_L2」に更新する。その結果、仮想パス「V_P1_T1_L1」には、新たに、実パス「P1_T1_L2」が対応付けられる。実パス「P1_T1_L2」は、ホスト計算機１１００から論理記憶領域「LUN_2」に至るパスである。その後、アプリケーション１１６１が仮想パス「V_P1_T1_L1」に対する書き込み要求（すなわち、論理記憶領域「LUN_1」を対象とする書き込み要求）を発行すると、パス管理プログラム１１６２は、その要求を実パス「P1_T1_L2」に転送する。その結果、論理記憶領域「LUN_2」に対する書き込みが実行される。論理記憶領域「LUN_2」に書き込まれるデータは、実際には、ストレージマイクロプログラム１０３７によって、物理記憶領域「PDEV_2」に書き込まれる。
【０１６７】
次に、図９のステップ９０７０において、ペア定義変更要求が発行される。この要求を受けたＣＰＵ１０２３は、ストレージマイクロプログラム１０３７を実行して、ペア定義テーブル１０３２の「LUN_1」と「LUN_2」とを入れ替える。その結果、ペア名「pair1」に対応する正側ＶＯＬＩＤ３００２に「LUN _2」が設定され、副側ＶＯＬＩＤ３００４に「LUN_1」が設定される。その結果、論理記憶領域「LUN_2」が正側、論理記憶領域「LUN_1」が副側となる。
【０１６８】
その結果、例えば、アプリケーション１１６１が論理記憶領域「LUN_1」にデータを書き込む要求を発行した場合、そのデータは、実際には物理記憶領域「PDEV_2」に書き込まれる。二重化が停止していない場合、物理記憶領域「PDEV_2」に書き込まれたデータは、物理記憶領域「PDEV_1」にコピーされる。このようにして正側と副側の物理記憶領域１０１１が入れ替えられ、書き込み回数が平準化される。
【０１６９】
なお、上記のステップ９０５０の判定は、最大書き込み可能回数から総書き込み回数を減算することによって算出される残り書き換え可能回数に基づいて実行される。しかし、本発明の第１の実施の形態と同様、この判定は、総書き込み回数、消去回数又は性能に基づいて実行されてもよい（図７の説明参照）。
【０１７０】
上記の第２の実施の形態は、正側と副側の記憶領域が同一のストレージシステム１０００に格納されている場合を例として説明した。しかし、計算機システムが、データネットワーク１３００に接続された複数のストレージシステム１０００を備え、一つのペアに属する正側の記憶領域と副側の記憶領域とが異なるストレージシステム１０００に格納されている場合にも、上記の第２の実施の形態を実施することができる。
【０１７１】
以上が本発明の第２の実施の形態の説明である。第２の実施の形態によれば、管理計算機１２００が、正側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数と副側記憶領域に対応する物理記憶領域１０１１の残り書き換え可能回数とを比較する処理を実行する。さらに、管理計算機１２００は、上記の比較の結果、前者の残り書き換え可能回数が後者の残り書き換え可能回数よりも少ないときに、各物理記憶領域１０１１を入れ替える処理を実行する。このため、上記の比較及び入れ替えの処理をストレージシステムが実行することができない場合であっても、本発明を適用することができる。その結果、運用中データ格納用の記憶領域への総書き込み回数とバックアップデータ格納用の記憶領域の総書き込み回数とが平準化され、データの二重化によるバックアップに使用される記憶媒体の交換時期を延長することができる。その結果、バックアップ運用管理のメンテナンスコストを下げることができる。
【図面の簡単な説明】
【０１７２】
【図１】本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態の論理物理マッピングテーブルの説明図である。
【図３】本発明の第１の実施の形態のペア定義テーブルの説明図である。
【図４】本発明の第１の実施の形態の差分ビットマップの説明図である。
【図５】本発明の第１の実施の形態の総書き込み回数管理テーブルの説明図である。
【図６】本発明の第１の実施の形態の総書き込み回数管理プログラムを実行するＣＰＵによって実行される書き込み処理のフローチャートである。
【図７】本発明の第１の実施の形態の二重化管理プログラムを実行するＣＰＵによって実行される二重化再開処理のフローチャートである。
【図８】本発明の第２の実施の形態のホスト計算機の構成を示すブロック図である。
【図９】本発明の第２の実施の形態のバックアップ管理プログラムを実行するＣＰＵによって実行されるバックアップ処理のフローチャートである。
【図１０】本発明の第２の実施の形態のパス管理テーブルの説明図である。
【図１１Ａ】一つの物理記憶領域１０１１として一つのフラッシュメモリを備える本発明の第１の実施の形態のストレージシステム１０００の構成を示すブロック図である。
【図１１Ｂ】一つの物理記憶領域１０１１として一つ以上のフラッシュメモリ及び制御装置を備える本発明の第１の実施の形態のストレージシステム１０００の構成を示すブロック図である。
【符号の説明】
【０１７３】
１０００  ストレージシステム
１０１０  ストレージ装置
１０１１  物理記憶領域
１０２０  ストレージコントローラ
１０２１、１１５０、１２１０  管理インタフェース（管理Ｉ／Ｆ）
１０２２、１１１０  データインタフェース（データＩ／Ｆ）
１０２３、１１３０、１２３０  ＣＰＵ
１０２４  ストレージインタフェース（ストレージＩ／Ｆ）
１０２５  メインメモリ
１０３１  論理物理マッピングテーブル
１０３２  ペア定義テーブル
１０３３  差分ビットマップ
１０３４  総書き込み回数管理プログラム
１１１０  ホスト計算機
１１２０、１２２０  表示装置
１１４０、１２４０  入力装置
１１６０、１２５０  メモリ
１１６３  パス管理テーブル
１２００  管理計算機
１３００  データネットワーク
１４００  管理ネットワーク
【図１】
0004804218.tif 000002
【図２】
0004804218.tif 000003
【図３】
0004804218.tif 000004
【図４】
0004804218.tif 000005
【図５】
0004804218.tif 000006
【図６】
0004804218.tif 000007
【図７】
0004804218.tif 000008
【図８】
0004804218.tif 000009
【図９】
0004804218.tif 000010
【図１０】
0004804218.tif 000011
【図１１Ａ】
0004804218.tif 000012
【図１１Ｂ】
0004804218.tif 000013