(57)【特許請求の範囲】
【請求項１】
システムであって、
第一ストレージデバイスを有する第一ストレージシステムと、
第二ストレージデバイスを有する第二ストレージシステムと、
前記第一ストレージシステム及び前記第二ストレージシステムを接続するネットワークと
を有し、
前記第一ストレージシステムは、前記第一ストレージデバイスによって提供される一次キャッシュ領域と、前記第一ストレージデバイスより高い性能を有する前記第二ストレージデバイスによって提供される二次キャッシュ領域を使用し、かつ、当該第一ストレージシステム内の処理の負荷に基づき、動作モードを第一処理モードから第二処理モードに変更し、
ここで前記第一処理モードでの前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムによって実行され、前記第一処理モードの間は、前記第一ストレージシステムへのＩ／Ｏ（入力／出力）アクセスは、前記一次キャッシュ領域のみを介して行われ、
前記第二処理モードでの前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムおよび前記第二ストレージシステムによって実行され、前記第二処理モードの間は、前記第一ストレージシステムへのＩ／Ｏアクセスは、前記一次キャッシュ領域および前記二次キャッシュ領域を介して行われる
ことを特徴とする、システム。
【請求項２】
請求項１に記載のシステムであって、
前記二次キャッシュ領域は、メモリである
ことを特徴とする、システム。
【請求項３】
第一ストレージデバイスを有する第一ストレージシステムと第二ストレージデバイスを有する第二ストレージシステムとをネットワークに接続したシステムによるＩ／Ｏ（入力／出力）方法であって、
前記第一ストレージシステムは、前記第一ストレージデバイスによって提供される一次キャッシュ領域と、前記第一ストレージデバイスより高い性能を有する前記第二ストレージデバイスによって提供される二次キャッシュ領域を使用し、
当該方法は、
前記第一ストレージシステム内の処理の負荷に基づき、動作モードを第一処理モードから第二処理モードに変更するステップを有し、
ここで前記第一処理モードに基づく前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムによって実行され、前記第一処理モードの間は、前記第一ストレージシステムへのＩ／Ｏ（入力／出力）アクセスは、前記一次キャッシュ領域のみを介して行われ、
前記第二処理モードに基づく前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムおよび前記第二ストレージシステムによって実行され、前記第二処理モードの間は、前記第一ストレージシステムへのＩ／Ｏアクセスは、前記一次キャッシュ領域および前記二次キャッシュ領域を介して行われる
ことを特徴とする、Ｉ／Ｏ方法。
【請求項４】
請求項３に記載の方法であって、
前記二次キャッシュ領域は、メモリである
ことを特徴とする、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
０００１    本発明はストレージシステムに関し、特に高性能メディア（例えばフラッシュメモリ）を使用したストレージシステム間の負荷分散に関するものである。
【背景技術】
【０００２】
０００２    従来技術によると、各ストレージシステムはそのピークの作業負荷に対応するよう設計されている。近年、ストレージシステムの使用効率およびコスト低減に関する利用者の要求に応えるために、記憶領域プール等の仮想化技術が使われている。フラッシュメモリなどの高性能媒体をより効率よく使用するという技術傾向がある。長期にわたるストレージシステムの作業負荷のバランスを保持する仮想化技術がある。その一例は、自動化された媒体間のページ毎の階層化（例えばフラッシュメモリ、ＳＡＳ、ＳＡＴＡなど）である。同時に、作業負荷の短期間の変動(急増)に対応し、複数のストレージシステム間の利用性を向上することが望まれる。これらに関連する技術として、特許文献１記載のキャッシュ制御技術や、特許文献２記載のＤＫＣ間の稼働状態ボリューム移動技術がある。
［先行技術文献］
［特許文献］
［特許文献１］米国特許第７，６１３，８７７号公報
［特許文献２］米国公開特許２０１０／００７０７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
０００２    ストレージシステム間の作業負荷のバランスをとっても、作業負荷の突然または周期的に発生する短時間での急増の問題に対処することはできない。一つの解決法は、フラッシュメモリをストレージシステムまたは装置における二次キャッシュ（書き込みバッファ）領域として利用することである。ストレージシステムにとって、上述のようにフラッシュメモリを追加することは効率的ではない。なぜならば、フラッシュメモリは複数のストレージシステム間で共有されないからである。更に、どのストレージシステムが追加された記憶領域（例えば、二次キャッシュとしてのフラッシュメモリ）を受領すべきか、またどれほどの量の記憶領域が追加されるべきかを決めるのは困難である。装置において、フラッシュメモリはホストとストレージシステム間のストレージキャッシュ装置に追加される。このフラッシュメモリを装置に追加する方法によると、ストレージシステム間でストレージキャッシ装置の追加されたフラッシュメモリの共有が可能となるが、その範囲は装置のスケールによって制限される。更に、低いまたは通常の作業負荷（通常状態）の場合には、この方法は効率的でない。
【課題を解決するための手段】
【０００４】
０００３    固体メモリ（例えばフラッシュメモリ）を拡張キャッシュ領域として使用するストレージシステムにおける負荷分散方法を提供する。システムにおいて、いくつかの装置はプール内に固体メモリ二次キャッシュ特性を有する。これらの装置はＦＭ（フラッシュメモリ）装置から参照可能であり、複数のＤＫＣ（ディスクコントローラ）間で共有される。通常の作業負荷の間、各ＤＫＣはすべてのＩ／Ｏをその内部で処理する。ＤＫＣが高作業負荷の場合（例えば、ＤＫＣ内の第一ＤＲＡＭキャッシュのダーティデータの量が多くなりすぎると）、ＤＫＣは負荷を装置に分散する。高い作業負荷が収まったり低下したりして通常の作業負荷になった場合、ＤＫＣは負荷を装置に分散することを止める。ＦＭ装置を複数のストレージシステム間で共有することにより、（ｉ）高性能記憶領域の利用効率が向上する（ストレージシステムの高作業負荷のタイミングが異なる）、（ｉｉ）高性能の記憶領域の容量利用効率が向上する（ＲＡＩＤパリティーデータやスペアディスクなどの非ユーザ容量を最小化することができる）、そして（ｉｉｉ）性能を向上するような設計が容易となる（ユーザは単にプールに装置を加えるだけでよい）。
【０００５】
０００５    本発明によると、システムは第一ストレージシステムと、第二ストレージシステムを有する。前記第一ストレージシステムは、該第一ストレージシステム内の処理の負荷に基づき、作業モードを第一モードから第二モードに変更する。ここで前記第一モードに基づく前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムによって実行される。前記第二モードに基づく前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムおよび前記第二ストレージシステムによって実行される。
【０００６】
０００６    ある実施例によると、システムにおいて、前記第一モードは通常モードであり、前記第二モードは高作業負荷モードであり、前記第一ストレージシステムは、第一ストレージデバイスによって提供される一次キャッシュ領域と、前記第一ストレージデバイスより高い性能を有する第二ストレージデバイスによって提供される二次キャッシュ領域を有し、通常作業モードの間は、前記第一ストレージシステムへのＩ／Ｏ（入力／出力）アクセスは、各ストレージシステムの二次キャッシュ領域ではなく、一次キャッシュ領域を介して行われ、前記第一ストレージシステムが一次キャッシュ領域内の一次キャッシュダーティデータの量を第一閾値より高い状態で有し、前記第一ストレージシステムへのＩ／Ｏアクセスが前記第一ストレージシステムの二次キャッシュ領域を介してアクセスされる場合、前記第一ストレージシステムは通常モードから高作業負荷モードに変更される。
【０００７】
０００７    具体的な実施例によると、前記一次キャッシュ領域の一次キャッシュダーティデータの量が、前記第一閾値を超えた後第二閾値を下回った場合、前記第一ストレージシステムの前記作業モードは高作業負荷モードから通常モードに変更される。前記一次キャッシュ領域は前記第一ストレージシステムの第一ストレージデバイスによって提供され、前記二次キャッシュ領域は前記第二ストレージシステムの第二ストレージデバイスによって提供される。
【０００８】
０００８    ある実施例によると、前記第二ストレージシステムは、前記第一ストレージシステム内の記憶領域より高い性能を有する記憶領域を有する装置であり、前記第一モードは通常モードであり、前記第二モードは高負荷モードであり、通常作業モードの間は、前記第一ストレージシステムへのＩ／Ｏ（入力／出力）アクセスは装置を介さずに直接行われ、前記第一ストレージシステムが一次キャッシュ領域に有する一次キャッシュダーティデータの量を第一閾値より高い状態で有し、前記第一ストレージシステムへのＩ／Ｏアクセスが高作業負荷モードの装置を介してアクセスされる場合、前記第一ストレージシステムは通常モードから高作業負荷モードに変更される。
【０００９】
０００９    具体的な実施例によると、前記一次キャッシュ領域の一次キャッシュダーティデータの量が、前記第一閾値を超えた後第二閾値を下回った場合、前記作業モードは高作業負荷モードから通常モードに変更される。前記一次キャッシュ領域は前記第一ストレージシステムの第一ストレージデバイスおよび装置内の第二ストレージデバイスによって提供される。前記一次キャッシュ領域は前記第一ストレージシステムの第一ストレージデバイスによって提供され、装置は前記第一ストレージデバイスより高い性能を有する第二ストレージデバイスによって提供される二次キャッシュ領域を有し、高作業負荷モードの間、前記第一ストレージシステムへのＩ／Ｏアクセスは前記二次キャッシュ領域を介して行われる。前記一次キャッシュ領域は前記第一ストレージシステムと前記装置の間で分けられる論理ボリュームによって提供され、該論理ボリュームは前記第一ストレージシステムと前記装置によって提供されるチャンクを含む。前記一次キャッシュ領域は前記第一ストレージシステムの第一ストレージデバイスによって提供され、前記装置は高階層常駐領域を提供し、前記高作業負荷モードにおいて、前記第一ストレージシステムへのＩ／Ｏアクセスは、前記高階層常駐領域へのアクセスを通じて行われる。前記一次キャッシュ領域は前記第一ストレージシステムと前記装置の間で分けられる第一論理ボリュームと、第二論理ボリュームによって提供され、該第一論理ボリュームは前記第一ストレージシステムと前記装置によって提供されるチャンクを含み、第二論理ボリュームは装置によって提供される。
【００１０】
００１０    本発明の他の特徴によると、第一ストレージシステムであって、プロセッサと、メモリと、複数のストレージデバイスと、該第一ストレージシステム内の処理の負荷に基づき、作業モードを第一モードから第二モードに変更するよう構成されたモード作業モジュールとを有する。前記第一ストレージシステムにおける処理の負荷は、第一モードに設定された前記第一ストレージシステムによって実行される。前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムおよび前記第二モードに設定された第二ストレージシステムによって実行される。
【００１１】
００１１    ある実施例によると、前記第一モードは通常モードであって、前記第二モードは高作業負荷モードであり、前記第一ストレージシステムは、第一ストレージデバイスによって提供される一次キャッシュ領域と、前記第一ストレージデバイスより高い性能を有する第二ストレージデバイスによって提供される二次キャッシュ領域を有し、通常作業モードの間は、前記第一ストレージシステムへのＩ／Ｏ（入力／出力）アクセスは、各ストレージシステムの二次キャッシュ領域ではなく、一次キャッシュ領域を介して行われ、前記第一ストレージシステムが一次キャッシュ領域内の一次キャッシュダーティデータの量を第一閾値より高い状態で有し、前記第一ストレージシステムへのＩ／Ｏアクセスが前記第一ストレージシステムの二次キャッシュ領域を介して行われる場合、前記第一ストレージシステムは通常モードから高作業負荷モードに変更される。前記一次キャッシュ領域の一次キャッシュダーティデータの量が、前記第一閾値を超えた後第二閾値を下回った場合、前記第一ストレージシステムの前記作業モードは高作業負荷モードから通常モードに変更される。前記一次キャッシュ領域は前記第一ストレージシステムの第一ストレージデバイスによって提供され、前記二次キャッシュ領域は前記第二ストレージシステムの第二ストレージデバイスによって提供される。
【００１２】
００１２    本発明はまた、第一ストレージシステムと第二ストレージシステムを含むシステムにおけるＩ／Ｏ（入力／出力）方法を提供する。その方法は該第一ストレージシステム内の処理の負荷に基づき、作業モードを第一モードから第二モードに変更するステップを有する。ここで前記第一モードに基づく前記第一ストレージシステムにおける処理の負荷は、前記第一ストレージシステムによって実行される。前記第二モードに基づく前記第一ストレージシステムにおける処理の負荷を、前記第一ストレージシステムおよび前記第二ストレージシステムによって実行する。
【００１３】
００１３    上述した本発明の特徴および効果、またその他の特徴や効果は、後述する本発明の具体的な実施例にかかる詳細な説明に基づいて当業者に明らかとなろう。
【発明の効果】
【００１４】
０００４    本発明の負荷分散技術は、高性能メディア（フラッシュメモリ）の利用効率を向上する目的で利用可能であり、フラッシュメモリデバイスのみならず他の媒体においても、一次的／定期的な高作業負荷に対応してストレージシステム間の作業負荷をバランスさせることができ、性能の観点からシステム設計を容易にすることができ、物理ストレージシステムの性能の向上を容易にすることができ、高性能ストレージシステムを低性能ストレージシステムに適用することができる。
【図面の簡単な説明】
【００１５】
【図１】００１４    図１は、本発明の方法および装置を適用可能な、第一実施例にかかる情報システムのハードウェア構成に係る例を示す図である。
【図２】００１５    図２は、第一実施例に係る図１の情報システムの物理的なシステム構成の更なる詳細を示す図である。
【図３】００１６    図３は、第一実施例に係る図１の構成に本発明の論理構成を適用した例を示す図である。
【図４】００１７    図４は、図２のストレージシステムにおけるメモリの例を示す図である。
【図５ａ】００１８    図５ａは、ＬＵおよびＬＤＥＶマッピングテーブルの例を示す図である。
【図５ｂ】００１９    図５ｂは、ＬＤＥＶおよびストレージプールマッピングテーブルの例を示す図である。
【図５ｃ】００２０    図５ｃは、プールチャンクおよび階層マッピングテーブルの例を示す図である。
【図５ｄ】００２１    図５ｄは、プール―階層情報テーブルの例を示す図である。
【図５ｅ】００２２    図５ｅは、階層チャンクおよびＲＡＩＤグループマッピングテーブルを示す図である。
【図５ｆ】００２３    図５ｆは、ＲＡＩＤグループ情報テーブルの例を示す図である。
【図５ｇ】００２４    図５ｇは、物理デバイス（ＨＤＤ）の情報テーブルの例を示す図である。
【図５ｈ】００２５    図５ｈは、ＤＲＡＭ情報テーブルの例を示す図である。
【図５ｉ】００２６    図５ｉは、第一実施例に係る二次キャッシュ領域情報テーブルの例を示す図である。
【図５ｊ】００２７    図５ｊは、外部デバイス情報テーブルの例を示す図である。
【図６ａ】００２８    図６ａは、キャッシュディレクトリ管理情報テーブルの例を示す図である。
【図６ｂ】００２９    図６ｂは、クリーンキューＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ：最も長い時間使われていない）管理情報の例を示す図である。
【図６ｃ】００２９ａ    図６ｃは、フリーキュー管理情報の例を示す図である。
【図７】００３０    図７は、第一実施例に係るキャッシュ利用情報テーブルの例を示す図である。
【図８】００３１    図８は、図２のＦＭ装置内のメモリの例を示す図である。
【図９】００３２    図９は、図２の管理コンピュータ内のメモリの例を示す図である。
【図１０】００３３    図１０は、ＦＭ装置の作業負荷情報テーブルの例を示す図である。
【図１１】００３４    図１１は、第一実施例に係るモード変更処理のフロー例を示す図である。
【図１２ａ】００３５    図１２ａは、第一実施例に係る分散／ゴーイングバックモードにおけるホスト読み出しＩ／Ｏ処理のフロー例を示す図である。
【図１２ｂ】００３６    図１２ｂは、第一実施例に係る分散／ゴーイングバックモードにおけるホスト書き込みＩ／Ｏ処理のフロー例を示す図である。
【図１３ａ】００３７    図１３ａは、第一実施例に係る分散モードにおける一次キャッシュから二次キャッシュへの非同期キャッシュ転送のフロー例を示す図である。
【図１３ｂ】００３８    図１３ｂは、第一実施例に係る分散およびゴーイングバックモードにおける二次キャッシュから一次キャッシュへの非同期データ転送のフロー例を示す図である。
【図１４】００３９    図１４は、第二実施例に係る情報システムのハードウェア構成の例を示す図である。
【図１５】００４０    図１５は、第二実施例に係る図１４の情報システムの物理的なシステム構成の詳細を示す図である。
【図１６】００４１    図１６は、第三実施例に係る情報システムのハードウェア構成の例を示す図である。
【図１７】００４２    図１７は、第四実施例係る情報システムのハードウェア構成の例を示す図である。
【図１８ａ】００４３    図１８ａは、電源ユニット障害に起因するモード遷移のフロー例を示す図である。
【図１８ｂ】００４４    図１８ｂは、ＤＲＡＭ障害に起因するモード遷移のフロー例を示す図である。
【図１８ｃ】００４５    図１８ｃは、ＨＤＤ障害に起因するモード遷移のフロー例を示す図である。
【図１８ｄ】００４６    図１８ｄは、ＣＰＵ障害に起因するモード遷移のフロー例を示す図である。
【図１９】００４７    図１９は、二次キャッシュを埋めるフロー例を示す図である。
【図２０】００４８    図２０は、二次キャッシュを割り当てるフロー例を示す図である。
【図２１】００４９    図２１は、第二実施例に係る本発明の論理構成の例を示す図である。
【図２２】００５０    図２２は、第二実施例に係る二次キャッシュ領域情報テーブルの例を示す図である。
【図２３】００５１    図２３は、キャッシュ利用情報テーブルの例を示す図である。
【図２４】００５２    図２４は、第二実施例に係るモード遷移処理のフロー例を示す図である。
【図２５】００５３    図２５は、第二実施例に係る非同期キャッシュ転送処理のフロー例を示す図である。
【図２６】００５４    図２６は、第三実施例に係る本発明の論理構成例を示す図である。
【図２７】００５５    図２７は、第三実施例に係る本発明の二次キャッシュ領域情報テーブルの例を示す図である。
【図２８】００５６    図２８は、第三実施例に係るキャッシュ利用情報テーブルの例を示す図である。
【図２９ａ】００５７    図２９ａは、第三実施例に係る分散／ゴーイングバックモードにおけるホスト読み出しＩ／Ｏ処理のフロー例を示す図である。
【図２９ｂ】００５８    図２９ｂは、第三実施例に係る分散／ゴーイングバックモードにおけるホスト書き込みＩ／Ｏ処理のフロー例を示す図である。
【図３０】００５９    図３０は、第三実施例に係る分散／ゴーイングバックモードにおける外部一次キャッシュから常駐領域への非同期データ転送プロセスのフロー例を示す図である。
【図３１】００６０    図３１は、第四実施例に係る本発明の論理構成例を示す図である。
【図３２】００６１    図３２は、第四実施例に係るモード遷移プロセスのフロー例を示す図である。
【図３３ａ】００６２    図３３ａは、第四実施例に係る通常モードから分散モードへのパススイッチング処理のフロー例を示す図である。
【図３３ｂ】００６３    図３３ｂは、第四実施例に係る分散モード（ゴーイングバックモード）から通常モードへのスイッチング処理のフロー例を示す図である。
【図３４ａ】００６４    図３４ａは、第四実施例に係るＦＭ装置の分散モードにおける一次キャッシュから二次キャッシュへの非同期キャッシュ転送のフロー例を示す図である。
【図３４ｂ】００６５    図３４ｂは、第四実施例に係るＦＭ装置の分散モードにおけるホスト読み出しＩ／Ｏ処理のフロー例を示す図である。
【図３４ｃ】００６６    図３４ｃは、第四実施例に係るＦＭ装置のゴーイングバックモードにおけるホスト書き込みＩ／Ｏ処理の処理パターンの例を示す図である。
【図３５】００６７    図３５は、第五実施例に係る本発明の論理構成例を示す図である。
【図３６】００６８    図３６は、第五実施例に係る、複数のストレージシステムと複数のＦＭ装置間で分散されるチャンクの情報テーブルの例を示す図である。
【図３７】００６９    図３７は、第五実施例に係る、チャンクが複数のストレージシステム間に分散される状態においてのホスト読み出しＩ／Ｏ処理のフロー例を示す図である。
【図３８】００７０    図３８は、第六実施例に係る論理構成の例を示す図である。
【図３９】００７１    図３９は、第六実施例に係る管理コンピュータのフロー例を示す図である。
【図４０】００７２    図４０は、第六実施例に係るストレージシステムにおける外部ＦＭ装置から内部デバイスへのチャンク移動プロセスのフロー例を示す図である。
【図４１】００７３    図４１は、第六実施例に係るストレージシステムの内部デバイスから外部ＦＭ装置へのチャンク移動プロセスのフロー例を示す図である。
【図４２】００７４    図４２は、第七実施例に係る本発明の論理構成例を示す図である。
【図４３】００７５    図４３は、第七実施例に係る、管理コンピュータにおける作業負荷の分散およびボリューム移動プロセスのフロー例を示す図である。
【図４４ａ】００７６    図４４ａは、第七実施例に係るストレージシステムからＦＭ装置へのボリューム移動処理のフロー例を示す図である。
【図４４ｂ】００７７    図４４ｂは、第七実施例に係るＦＭ装置からストレージシステムへのボリューム移動処理のフロー例を示す図である。
【図４５ａ】００７８    図４５ａは、第八実施例に係るＬＤＥＶグループの情報テーブルおよび分散方法の例を示す図である。
【図４５ｂ】００７９    図４５ｂは、第八実施例に係るＬＤＥＶとＬＤＥＶグループのマッピング例を示す図である。
【図４６】００８０  図４６は、第九実施例に係る予約情報テーブルの例を示す図である。
【図４７】００８１  図４７は、第十実施例に係る本発明の論理構成例を示す図である。
【図４８】００８２  図４８は、第十実施例に係るＦＭ装置の割り当て情報の例を示す図である。
【図４９】００８３    図４９は、第十実施例に係るＦＭ装置領域の割り当ておよび解放処理のフロー例を示す図である。
【図５０】００８４    図５０は、本発明の概念を示す図である。
【図５１】００８５    図５１は、第七実施例に係るＦＭ装置内のＬＤＥＶの情報テーブルの例を示す図である。
【図５２】００８６    図５２は、ＦＭ措置内のＬＤＥＶチャンクの情報テーブルの例を示す図である。
【発明を実施するための形態】
【００１６】
００８７    以下の本発明についての詳細な説明では、開示の一部を成すとともに本発明を実施する例示的な実施形態の実例として示される添付図面を参照するが、本発明は図面の内容に限定されるものではない。図面において、類似する数字は複数の図面においてほぼ同様の構成要素を示すものである。また、留意すべき点として、詳細な説明では、以下の説明および図面に示される通り様々な実施の形態を示すが、本発明は本明細書において説明されかつ示される実施形態に限定されず、当業者が知っているであろう又は知るようになり得るその他の実施形態をも含む。本明細書における「一実施形態」、「本実施形態」、又は「上述の実施形態」の文言は、ある実施形態に関連して説明される特定の特性、構造又は特徴が、本発明の少なくとも一実施形態に含まれることを意味し、本明細書の様々な箇所において上記文言が使用されていても、必ずしもすべてが同一の実施形態を言及するものではない。更に、以下の詳細な説明において、本発明の理解を深めるために、多くの具体的かつ詳細な記載がなされている。ただし、本発明を実施するためにこれらの具体的かつ詳細な内容すべてが必要なわけではないことは、当業者にとって明らかであろう。状況によっては、曖昧な記載を避けるために、周知の構造、材料、回路、プロセス及びインタフェースの詳細については説明しておらず、かつ／又はブロック図において図示していない場合もある。
【００１７】
００８８    更に、以下の詳細な説明の一部は、コンピュータ内のオペレーションのアルゴリズムおよび記号表現で示されている。これらのアルゴリズム記述及び記号表現は、データ処理分野の当業者がその新しいアイディアの本質を最も効果的に他の当業者に伝えるために使用する手段である。アルゴリズムとは、望ましい最終状態又は結果へと導く一連の定義されたステップである。本発明において、実施されるステップは、具体的な結果を達成するための相応量の物理的操作を必要とする。必ずしもそうとは限らないが、通常はかかる数量は、格納、転送、組み合わせ、比較その他の操作が可能な電気もしくは磁気信号又は命令の形態を取る。主に一般的な使用のために、上記の信号をビット、値、記号、文字、用語、数字、命令等として言及することが時として便利である。但し、上記の及び類似の用語すべてが、適切な物理数量に関連付けられるものであり、かつ当該数量に適用される単に便利なラベルであることに留意すべきである。別段の記載がない限り、以下の解説から明らかなように、当然のことながら説明全体を通して、「処理」、「演算」、「計算」、「判断」、「表示」等の用語を用いた説明は、コンピュータシステムのレジスタ及びメモリもしくはレジスタ又はその他の情報記憶、送信もしくは表示装置の中の物理的数量として同等にあらわされるその他のデータに操作しかつ変換する、コンピュータシステム又はその他の情報処理装置の動作またはプロセスを含み得る。
【００１８】
００８９    本発明は、本明細書における操作を実施する装置にも関する。この装置は、必要とされる目的のために特別に構築してもよく、又は一つ以上のコンピュータプログラムによって選択的に起動又は再構築された一つ以上の汎用コンピュータを含み得る。当該コンピュータプログラムは、光ディスク、磁気ディスク、読取専用記憶措置（ROM）、ランダムアクセスメモリ（RAM）、ソリッドステート装置及びドライブ、又は電子情報の格納に適したその他の種類の媒体等（但し、これらに限定されない）のコンピュータ読取可能記憶媒体に格納され得る。本明細書において提示するアルゴリズム及び態様は、特定のコンピュータ又はその他の装置とは本質的に関係していない。様々な汎用システムを、本明細書の教示に従ってプログラム及びモジュールと共に使用してもよく、又は望ましい方法を実施するためにより特化した装置を構築した方がよい場合も有り得る。更に本発明は、特定のプログラミング言語を参照して説明されてはいない。当然のことながら、本明細書に記載されている通りに本発明の教示内容を実施するために、様々なプログラミング言語を使用してもよい。プログラミング言語の命令は、一つ以上の処理装置、例えば中央処理装置（CPU）、プロセッサ、又はコントローラによって実行され得る。
【００１９】
００９０    本発明の実施例は、以下に詳細に示す通り、固体メモリ（例えばフラッシュメモリ）を拡張キャッシュ領域として使用するストレージシステムにおいて負荷分散を行う装置、方法およびコンピュータプログラムを提供する。
【００２０】
００９１    図５０は、本発明の概念を示す。物理記憶領域プールは一つ以上のストレージシステムからなる。ホストは複数のストレージシステムを、記憶領域プール（一つ以上の物理ストレージシステム）からなる一つの仮想ストレージシステムとして認識する。つまり、ホストはストレージシステム間の稼働状態でのデータ移動技術を利用することにより、物理ストレージシステム構成に変更があった場合でも、サーバマネジャーによりシステムを停止して再構成する必要がない。仮想ストレージシステムは、処理領域、キャッシュ領域および容量領域といった記憶領域を有する。記憶領域プールにＦＭ（高性能）装置を導入することは、仮想ストレージシステムに拡張（第二の）キャッシュや高階層容量といったより高い性能を有する領域を導入することを意味する。装置の記憶領域はプール内の物理ストレージシステム間で共有される。単に装置を導入することにより、仮想ストレージシステム（つまり物理ストレージシステム）の性能を向上させることができる。
【００２１】
００９２    第一実施例
【００２２】
００９３    図１は、本発明の方法および装置が適用される情報システムのハードウェア構成例を示す。情報システムは複数のストレージシステム１２０およびフラッシュメモリ（ＦＭ）デバイスのような高性能メディアを有するＦＭ装置１１０を含む。装置１１０はストレージシステム１２０によって共有して使用される。管理コンピュータ１４０は各ストレージシステム１２０およびＦＭ装置１１０から送られる作業負荷情報をまとめて格納する。通常の（低い）作業負荷では、各ストレージシステム１２０は自システム内のホスト１３０からのＩ／Ｏを処理する。ストレージシステム１２０に高作業負荷が発生している場合（ストレージシステム１２０のＤＲＡＭキャッシュダーティデータの量／率が高くなりすぎた場合）、ストレージシステム１２０は装置１１０に負荷を分散する。高い作業負荷が落ち着くかまたは低下した場合、ストレージシステム１２０は装置１１０に対する負荷の分散を終了する。
【００２３】
００９４    図２は、図１に示す情報システムの物理システム構成の詳細を示す。データ転送ネットワークとしてＳＡＮ(Storage Area Network)２５０が使用され、管理ネットワークとしてＬＡＮ(Local Area Network)２６０が使用される。システムは複数のＦＭ装置１１０を含むことができる。装置１１０のホストインターフェース１１１もまた装置１１０とのデータの送受信に使われる。インタフェース１１１を分割することも可能である。メモリ１１３はプログラムや情報テーブルなどを格納する。装置１１０は更にＣＰＵ１１２、ＤＲＡＭキャッシュ１１４、ＦＭ  ＩＦ（インタフェース）１１５、ＦＭデバイス１１６、インターフェースネットワーク１１７（１１５に含むこともできる）、管理コンピュータ１４０とのインタフェースとのための管理ＩＦ１１８、および内部ネットワーク１１９を有する。ストレージシステム１２０は、ホストとのインタフェースを実現するホストＩＦ１２１と、ＣＰＵ１２２と、メモリ１２３と、ＤＲＡＭキャッシュ１２４と、ＨＤＤ  ＩＦ１２５と、ＨＤＤ１２６と、インターフェースネットワーク１２７（１２５に含むこともできる）と、管理ＩＦ１２８と、内部ネットワーク１２９とを有する。ＨＤＤ１２６は、異なる容量、回転数その他の異なる特徴を有するＦＣ／ＳＡＳ／ＳＡＴＡといった複数のタイプのハードディスクドライブを含むことができる。管理コンピュータ１４０は、ネットワークインターフェースと、ＣＰＵと、プログラム等を格納するメモリとを有する。
【００２４】
００９５    図３は、図１の構成に適用される本発明の論理構成例を示す。ストレージシステム１２０はＨＤＤ１２６のストレージプール３２３にマッピングされたボリューム（論理デバイスＬＤＥＶ）３２２の論理ユニット（ＬＵ）３２１を有する。ホスト１３０はＬＵ３２１を介してストレージシステムのボリューム３２２のデータにアクセスする。ホスト１３０は冗長性のために複数のパスに接続することができる。ＬＤＥＶ３２２のデータは、ＲＡＩＤ、ページベース分散型ＲＡＩＤ、シンプロビジョニングおよび動的階層化などの技術を使って、ストレージプール（物理ストレージデバイス）３２３にマッピングされる。ストレージプール３２３は（キャッシュでない）常駐記憶領域として使用される。一つのストレージシステムは複数のストレージプールを有することができる。ストレージプールはまた外部ストレージボリューム（例えば低コストストレージ）を含むことができる。ストレージプールデータは一次キャッシュ領域３２４および二次キャッシュ領域３２５に読み出し／書き込みキャッシュすることができる。
【００２５】
００９６    一次キャッシュ領域３２４はＤＲＡＭキャッシュ１２４内のＤＲＡＭからなり、二次キャッシュ領域３２５は外部デバイス３２６からなる。各外部デバイス３２６はＦＭ装置１１０のボリューム（ＬＤＥＶ）３１２を仮想化する仮想デバイスである。外部デバイス３２６は冗長化のために複数のパスを介してＦＭ装置１１０に接続することができる。ＦＭ装置１１０はＦＭデバイス１１６からなるストレージプール３１３を含む。ストレージプールデータはＤＲＡＭキャッシュ１１４のＤＲＡＭからなる一次キャッシュ領域３１４に読み出し／書き込みキャッシュすることができる。
【００２６】
００９７    図４は、図２のストレージシステム１２０内のメモリ１２３の例を示す。メモリ１２３は構成情報４０１（図５）、キャッシュ制御情報４０２（図６）および作業負荷情報４０３（図７）からなる。ストレージシステム１２０はコマンド処理プログラム４１１を使ってホスト１３０からの読み出し／書き込みＩ／Ｏを処理し、ＲＡＩＤ制御プログラム４１５を使ってパリティまたはＲＡＩＤ制御を計算し、キャッシュ制御プログラム４１２を使ってキャッシュ制御を行い、内部デバイスＩ／Ｏ制御プログラム４１３を使って内部物理デバイス（ＨＤＤ）のストレージとデータを送受信し、外部デバイスＩ／Ｏ制御プログラム４１４を使って外部ストレージシステム／ＦＭ装置とデータを送受信し、通信制御プログラム４１６を使って他のストレージシステム、ＦＭ装置、管理コンピュータおよびホスト間の管理情報／コマンドを交換する。ストレージシステム１２０は、例えばリモートコピー、ローカルコピー、階層移動その他の機能的プログラムおよびその情報を有することができる。
【００２７】
００９８    ストレージシステムの構成情報を提供する様々なテーブル構造を図５に示す。図５ａは、ポートＩＤ、ＬＵＮ（Logical Unit Number）およびＬＤＥＶ  ＩＤの欄を有するＬＵとＬＤＥＶマッピングテーブル４０１−１の例を示す。図５ｂは、ＬＤＥＶ  ＩＤ、ＬＤＥＶチャンクＩＤ、プールＩＤおよびプールチャンクＩＤの欄を有するＬＤＥＶとストレージプールマッピングテーブル４０１−２の例を示す。図５ｃは、プールＩＤ、プールチャンクＩＤ、階層ＩＤおよび階層オフセットの欄を有するプールチャンクと階層マッピングテーブル４０１−３の例を示す。図５ｄはプールＩＤ、階層ＩＤ、タイプおよびＲＡＩＤレベルの欄を有するプール―階層情報テーブル４０１−４の例を示す。図５ｅは、プールＩＤ，階層ＩＤ，階層チャンクＩＤ、ＲＡＩＤグループＩＤおよびＲＡＩＤグループオフセットスロット＃の欄を有する階層チャンクとＲＡＩＤグループマッピングテーブル４０１−５の例を示す。図５ｆはＲＡＩＤグループＩＤと物理デバイスＩＤの欄を有するＲＡＩＤグループ情報テーブル４０１−６の例を示す。図５ｇは物理デバイスＩＤ、タイプ、容量およびＲＰＭの欄を有する物理デバイス（ＨＤＤ）情報テーブル４０１−７の例を示す。図５ｈはＤＲＡＭ  ＩＤ、サイズおよび電源の欄を有するＤＲＡＭ情報テーブル４０１−８の例を示す。図５ｉは、二次キャッシュメモリＩＤ、タイプおよびデバイスＩＤの欄を有する二次キャッシュ領域情報テーブル４０１−９の例を示す。図５ｊは、デバイスＩＤ，装置ＩＤ、装置ＬＤＥＶ  ＩＤ、イニシエータポートＩＤ、ターゲットポートＩＤおよびターゲットＬＵＮの欄を有する外部デバイス情報テーブル４０１−１０の例を示す。
【００２８】
００９９    キャッシュ制御情報を図６に示す。キャッシュ制御情報の例は、米国特許第７，６１３，８７７に開示されており、その内容を参照することによりここに援用する。図６ａはキャッシュディレクトリ管理情報テーブル４０２−１の例を示す。ハッシュテーブル８０１はＬＤＥＶ＃＋スロット＃から同一ハッシュ値を有する複数のポインタをリンクする。スロット＃はＬＤＥＶのアドレスである（１スロットは５１２バイト×Ｎ）。セグメントはキャッシュ領域の管理単位である。各一次キャッシュおよび二次キャッシュはセグメントで管理される。本実施例においては、理解を容易にするために、スロット、一次キャッシュセグメントおよび二次キャッシュセグメントは同じサイズである。キャッシュスロット属性はダーティ／クリーン／フリーである。各一次キャッシュおよび二次キャッシュはキャッシュスロット属性を有する。セグメント＃は、キャッシュ領域にスロットが割り当てられている場合、キャッシュ領域のアドレスを示す。キャッシュビットマップはセグメントにどのブロック（５１２バイト）が格納されているかを示す。図６ｂはクリーンキューＬＲＵ（Least Recently Used）管理情報４０２−２の例を示す。ダーティキューやほかのキューも同様に管理される。各一次キャッシュおよび二次キャッシュはキュー情報を有する。図６ｃはフリーキュー管理情報４０２−３の例を示す。各一次キャッシュおよび二次キャッシュはキュー情報を有する。フリーキャッシュ領域をマッピングテーブル（キューされていない）によって管理することができる。
【００２９】
０１００    図７は、キャッシュ階層、属性、セグメント＃（セグメントの量）および割合の欄を有する、作業負荷情報の一タイプとしてのキャッシュ利用情報テーブル４０３−１の例を示す。この情報はＦＭ装置に対して分散を行うかどうかを判断するために使用する。二次キャッシュのセグメント＃（セグメントサイズ）は二次キャッシュ領域に使用される外部デバイスの容量の合計と同じである。二次キャッシュ属性「無効クリーン」および「無効ダーティ」は、二次キャッシュ領域が割り当てられているものの一次キャッシュが最新のダーティデータであることを意味している。二次キャッシュのデータは古いデータである。
【００３０】
０１０１    図８は、図２のＦＭ装置のメモリの例を示す。ＦＭ装置１１０のメモリ１１３の内容の大部分はストレージシステム１２０のメモリ１２３の内容と類似している（８０１−８１６は図４の４０１−４１６に対応）。図８において、構成情報８０１は二次キャッシュ情報および外部デバイス情報を含まない。キャッシュ制御情報８０２は二次キャッシュ情報を含まない。作業負荷情報８０３は二次キャッシュ情報を含まない。チャンクリクレイムプログラム８１７は二次キャッシュ領域を解放するために使用される。ストレージシステムは未使用領域をパージするためにＦＭ装置にＳＣＳＩライトセイム（０ページリクラメーション）コマンドをＦＭ装置に送る。ＦＭ装置は解放された領域をフリー領域とし、他の論理デバイス３１２に対して割り当て可能とする。
【００３１】
０１０２    図９は、図２の管理コンピュータのメモリの例を示す。管理コンピュータ１４０のメモリ１４３の内容は、ストレージシステム構成情報９０１（図４の４０１参照）、ストレージシステム作業負荷情報９０２（図４の４０３参照）、ＦＭ装置構成情報９０３（図８の８０１参照）、ＦＭ装置作業負荷情報９０４（図８の８０３参照）および通信制御プログラム９１６を含む。管理コンピュータ１４０は通信制御プログラム９１６を使って各ストレージシステム１２０と各ＦＭ装置１１０から構成情報を得る。
【００３２】
０１０３    図１０は、キャッシュ階層、属性、セグメント＃（セグメントの量）および割合の欄を有するＦＭ装置作業負荷情報テーブル９０４−１の例を示す。この情報は各ＦＭ装置１１０に対して作成される。テーブル９０４−１は図７のキャッシュ利用情報テーブル４０３−１からの情報を含む。テーブル９０４−１はまた、ＦＭプール利用情報（使用／フリー量／割合）を有する。ストレージシステムが、二次キャッシュ領域として使用するのに十分なフリーＦＭ領域をＦＭ装置が有するかどうかを判断するのに使用される。
【００３３】
０１０４    図１１は、モードを変更する処理のフロー図の例を示す。処理には三つのモードがある。通常モードでは（Ｓ１１０１）、ストレージシステムは内部一次キャッシュのみを使用し、外部の二次キャッシュは使用しない。Ｓ１１０２でストレージシステムの作業負荷が高すぎる場合、ストレージシステムプログラムはＳ１１０３に進む。Ｓ１１０３においてＦＭ装置の作業負荷が高すぎない場合、プログラムはＳ１１０４の分散モードに進む。分散モードの間（Ｓ１１０４）ストレージシステムは内部一次キャッシュだけでなく外部二次キャッシュも使用する。Ｓ１１０５でＦＭ装置の作業負荷が高すぎない場合、プログラムはＳ１１０６に進む。その他の場合、プログラムはＳ１１０７に進む。Ｓ１１０６において、ストレージシステムの作業負荷が収まった場合、ストレージシステムはＳ１１０７のゴーイングバックモードに変更される。その他の場合、ストレージシステムは分散モードＳ１１０４に戻る。ゴーイングバックモード（Ｓ１１０７）では、ストレージシステムは内部一次キャッシュだけではなく外部二次キャッシュも使用する。しかしながら、ストレージシステムは、より多くの二次キャッシュを割り当てすることはなく、クリーン属性となった二次キャッシュ領域を解放する。モード変更がＳ１１０８で完了すると、ストレージシステムは通常モードに戻る（Ｓ１１０１）。もしストレージシステムの作業負荷が高すぎる場合、プログラムはＳ１１１０に進む。そうでない場合、プログラムはＳ１１０８に戻る。ＦＭ装置が十分なフリー領域を有する場合、ストレージシステムは分散モードに戻る（Ｓ１１０４）。それ以外の場合、プログラムはＳ１１０８に戻る。ストレージシステムにより、作業負荷が高すぎて（Ｓ１１０２）ＦＭ装置が高い作業負荷（Ｓ１１０３）で作業していないと判断された場合、モードは通常モード（Ｓ１１０１）から分散モード（Ｓ１１０４）に変更される。もし（ｉ）ＦＭ装置が高すぎる作業負荷（Ｓ１１０５）で作業していない場合、または（ｉｉ）ＦＭ装置が高すぎる作業負荷で作業しているものの、負荷が収まったまたは低下した場合（Ｓ１１０６）、モードは分散モード（Ｓ１１０４）からゴーイングバックモード（Ｓ１１０７）に変更される。ゴーイングバックモードへの変更が完了すると（Ｓ１１０８）、ストレージシステムは通常モード（Ｓ１１０１）に戻る。それ以外の場合、作業負荷がまだ高すぎて（Ｓ１１０９）ＦＭ装置が十分なフリー領域を有する場合（Ｓ１１１０）、モードはゴーイングバックモード（Ｓ１１０７）から分散モード（Ｓ１１０４）に変更される。
【００３４】
０１０５    図１１においてストレージシステムは、自身およびＦＭ装置の作業負荷情報に基づいて、外部ＦＭ装置の二次キャッシュを使うかどうかを判断する。ストレージシステムは管理コンピュータかＦＭ装置自身から管理ネットワークを介してＦＭ装置の作業負荷情報を受け取る。一例によると、ストレージシステムは作業負荷量を確定するために一次キャッシュのダーティ率を利用する。「高すぎる作業負荷」の閾値は、ゆらぎを避けるため、「収まり（収束）」閾値よりも高い。他の例によると、ストレージシステムはＦＭ装置の一次キャッシュダーティ率およびＦＭプール使用率を利用する。ＦＭ装置の一次キャッシュダーティ率が閾値よりも高い場合、またはＦＭ装置のＦＭプール使用率が閾値よりも高い場合（例えば、フリー率が閾値よりも低い）、ストレージシステムはＦＭ装置内の二次キャッシュの利用を減らし、遅延書き込みレスポンスのような技術を使用して自身のホストからの入力データ量を制限する。作業負荷が高すぎる場合（例えば、ダーティ率が閾値よりも高い場合）、ＦＭ装置は書き込みレスポンスを遅延することによりストレージシステムからの書き込みＩ／Ｏを制限することができる。
【００３５】
０１０６    図１２は、ホストＩ／Ｏ処理の例を示す。具体的には実施例１に基づき、図１２ａは分散／ゴーイングバックモードの間のホスト読み出しＩ／Ｏ処理のフロー図を示し、図１２ｂは分散／ゴーイングバックモードの間のホスト書き込みＩ／Ｏ処理のフロー図を示す。理解を容易にするために、本実施例においては、図１２ａにおいてホストＩ／Ｏコマンドに含まれるすべてのブロックはすべて同じ属性（ダーティ／クリーン／フリー）を有する。Ｉ／Ｏ領域が異なる属性を有する場合、ストレージシステムは各フローを使用してデータを組み合わせホストへ転送する。ストレージシステムは内部物理デバイス（常駐領域）から読み出しを行った後、一次キャッシュの属性をクリーンに設定する。ストレージシステムは外部ＦＭ装置デバイス（二次キャッシュ）から読み出しを行った後、一次キャッシュの属性をダーティに設定する。二次キャッシュにクリーンヒットがある場合、ストレージシステムは各内部物理領域（常駐領域）か外部ＦＭ装置デバイス（二次キャッシュ）から読み出しを行うことができる。
【００３６】
０１０７    図１２ａによると、ストレージシステムはＳ１２０１において読み出しコマンドを受け取る。ストレージシステムはＳ１２０２においてキャッシュヒット（データがすでにキャッシュにある）かキャッシュミスかを調べる。Ｓ１２０２−１において、ストレージシステムは一次キャッシュヒットがあるかどうかを決定する。ある場合、ストレージシステムプログラムはＳ１２１３へ進む。ない場合、ストレージシステムはデータが二次キャッシュダーティヒットかどうかをＳ１２０３で決定する。もしある場合、ストレージシステムはＳ１２０８からＳ１２１２を実行する。ない場合、ストレージシステムはＳ１２０４からＳ１２０７を実行する。Ｓ１２０８において、ストレージシステムは一次キャッシュを割り当てる。Ｓ１２０９において、ストレージシステムは装置に読み出しコマンドを送る。Ｓ１２１０において、ストレージシステムは装置からデータを受け取る。Ｓ１２１１において、ストレージシステムは一次キャッシュにデータを格納する。Ｓ１２１２において、ストレージシステムはキャッシュにどのデータセグメントが入っているかに基づき、キャッシュ属性を設定する（図６ａおよび６ｂを参照）。たとえば、ＬＤＥＶ＃＋ＳＬＯＴ＃、一次キャッシュスロット属性および一次キャッシュビットマップが更新される。Ｓ１２０４において、ストレージシステムは一次キャッシュを割り当てる。Ｓ１２０５において、ストレージシステムは物理デバイス(例えばハードディスクデバイス)を読み出す。Ｓ１２０６において、ストレージシステムはデータを一次キャッシュに格納する。Ｓ１２０７において、ストレージシステムはキャッシュ属性を設定する。その後、ストレージシステムはＳ１２１３においてホストにデータを転送する。Ｓ１２１４において、ストレージシステムは、ＭＲＵ(最も最近使用された)およびＬＲＵ（最も最近使用されていない）ポインタを主に参照してディレクトリ入力の変更を参照するキューを遷移する。この例では、図６ｂで新しいディレクトリエントリが作られ、そのうちの一つのディレクトリエントリが図６ｃで削除される。
【００３７】
０１０８    図１２ｂでは、ストレージシステムはＳ１２２１において書き込みコマンドを受け取る。ストレージシステムはＳ１２２２においてキャッシュヒットかキャッシュミスかをチェックする。Ｓ１２２３において、ストレージシステムはデータが一次キャッシュヒットかどうかを判断する。ヒットである場合、ストレージシステムプログラムはＳ１２２８に進む。ヒットでない場合、ストレージシステムはデータが二次キャッシュヒットかどうかをＳ１２２４において判断する。ヒットである場合、ストレージシステムはＳ１２２６とＳ１２２７を実行する。ヒットでない場合、ストレージシステムはＳ１２２５を実行する。Ｓ１２２５において、ストレージシステムは一次キャッシュを割り当てる。Ｓ１２２６において、ストレージシステムは一次キャッシュを割り当てる。Ｓ１２２７において、ストレージシステムはキャッシュ属性を設定する。Ｓ１２２８において、ストレージシステムは一次キャッシュにデータを格納する。Ｓ１２２９において、ストレージシステムはキャッシュ属性を設定する。Ｓ１２３０において、ストレージシステムはレスポンスを返信する。Ｓ１２３１において、ストレージシステムはキューを遷移する。
【００３８】
０１０９    説明を容易にするために、本実施例において、図１２ｂに示すホストＩ／Ｏコマンドに含まれるすべてのブロックは同じ属性(ダーティ／クリーン／フリー)を有する。もしＩ／Ｏ領域が異なる属性を含む場合、ストレージシステムはブロック毎に各フローを使用する。二次キャッシュヒットがあった場合、ストレージシステムは二次キャッシュ属性を「無効」に設定する。
【００３９】
０１１０    図１３ａは、第一実施例において、分散モードの間の一次キャッシュから二次キャッシュへの非同期キャッシュ転送の例を示すフロー図である。物理デバイス（常駐領域）がビジーすぎない場合、ストレージシステムはそこにデステージ（書き込みデータ）を行う。物理デバイスがビジーな場合、ストレージシステムは外部二次キャッシュへ書き込みを行う。二次キャッシュをパージするとき、ストレージシステムはＳＣＳＩライトセイム（０ページリクラメーション）コマンドをＦＭ装置に送り、ＦＭプール内の未使用二次キャッシュ領域を解放する。「ゴーイングバックモード」の間、ストレージシステムは一次キャッシュから外部二次キャッシュへデータ転送を行わない。
【００４０】
０１１１    Ｓ１３０１において、ストレージシステムは一次キャッシュのダーティを探す。Ｓ１３０２においてダーティが存在しない場合、ストレージシステムはＳ１３０１に戻る。そうでない場合、ストレージシステムはＳ１３０３において物理デバイスがビジーかどうかを判断する。ビジーである場合、ストレージシステムはＳ１３０４からＳ１３１１までを実行する。ビジーでない場合、ストレージシステムはＳ１３１２からＳ１３１５までを実行する。Ｓ１３０４において、ストレージシステムはデータが二次キャッシュヒットかどうかを判断する。ヒットである場合、ストレージシステムプログラムはＳ１３０５をスキップする。ヒットでない場合、ストレージシステムはＳ１３０５において二次キャッシュを割り当てる。Ｓ１３０６において、ストレージシステムは装置に書き込みコマンドを送る。Ｓ１３０７において、ストレージシステムは装置からレスポンスを受け取る。Ｓ１３０８において、ストレージシステムは二次キャッシュ属性を設定する。Ｓ１３０９において、ストレージシステムは一次キャッシュをパージする。Ｓ１３１０において、ストレージシステムは一次キャッシュ属性を設定する。Ｓ１３１１において、ストレージシステムはキューを遷移する。この例において、ディレクトリエントリは一次キャッシュのダーティキューにおいて削除され、ディレクトリエントリは一次キャッシュのフリーキューにおいて作成され、ディレクトリエントリは二次キャッシュのダーティキューにおいて作成される。ストレージシステムプログラムはＳ１３０１に戻る。Ｓ１３１２において、ストレージシステムは物理デバイスに書き込みを行う。Ｓ１３１３において、ストレージシステムは一次キャッシュおよび二次キャッシュをパージする。Ｓ１３１４において、ストレージシステムは一次キャッシュ属性と二次キャッシュ属性を設定する。Ｓ１３１５において、ストレージシステムはキューを遷移する。この例において、ディレクトリエントリは一次キャッシュのダーティキューにおいて削除され、ディレクトリエントリは二次キャッシュのダーティキューにおいて削除される。
【００４１】
０１１２    図１３ｂは、第一実施例において、分散およびゴーイングバックモードの間の二次キャッシュから一次キャッシュへの非同期データ転送のフローの例を示す。もしゴーイングバックモードにおいて二次キャッシュにダーティが存在しない場合、ストレージシステムはすべての二次キャッシュ領域（無効属性を含む）をパージし、モードを通常モードに変更する。物理デバイス（常駐領域）に対するデータ書き込みと後者のプロセスは非同期に行うことができる。
【００４２】
０１１３    Ｓ１３２１において、ストレージシステムは二次キャッシュのダーティを探す。Ｓ１３２２においてダーティが存在しない場合、ストレージシステムはＳ１３３５において処理モードが分散かゴーイングバックかを判断する。分散モードの場合、ストレージシステムプログラムはＳ１３２１に戻る。ゴーイングバックモードの場合、ストレージシステムはＳ１３３６においてすべての二次キャッシュをパージし、Ｓ１３３７においてモードを通常モードに変更し、処理を終了する。Ｓ１３２２においてダーティが存在する場合、ストレージシステムはＳ１３２３において物理デバイスがビジーであるかどうかを判断する。ビジーの場合、ストレージシステムプログラムはＳ１３２１に戻る。ビジーでない場合、ストレージシステムはＳ１３２４からＳ１３３４までを実行する。Ｓ１３２４において、ストレージシステムはデータが一次キャッシュヒットかどうかを判断する。ヒットの場合、ストレージシステムプログラムはＳ１３２５にスキップする。ヒットでない場合、ストレージシステムはＳ１３２５において一次キャッシュを割り当てる。Ｓ１３２６において、ストレージシステムは装置に読み出しコマンドを送る。Ｓ１３２７において、ストレージシステムは装置からデータを受け取る。Ｓ１３２８において、ストレージシステムは一次キャッシュにデータを格納する。Ｓ１３２９において、ストレージシステムは一次キャッシュ属性を設定する。Ｓ１３３０において、ストレージシステムは二次キャッシュをパージする。Ｓ１３３１において、ストレージシステムは二次キャッシュ属性を設定する。Ｓ１３３２において、ストレージシステムは物理デバイスに書き込みを行う。Ｓ１３３３において、ストレージシステムは一次キャッシュ属性を設定する。Ｓ１３３４において、ストレージシステムはキューを遷移する。この例において、ディレクトリエントリは一次キャッシュのダーティキューにおいて削除され、ディレクトリエントリは一次キャッシュのフリーキューにおいて作成され、ディレクトリエントリは二次キャッシュのダーティキューにおいて削除される。ストレージシステムプログラムはその後Ｓ１３２１に戻る。
【００４３】
０１１４    図１８ａから１８ｄは、その他の理由によるモード変更を示す。図１８ａは電源ユニット障害によるモード変更の例を示すフロー図である。処理は通常モードで行われる（Ｓ１８０１）。ストレージシステムの電源ユニットの障害が発生した場合（Ｓ１８０２）、ストレージシステムは冗長性を失ってしまう（クラスターを失う）。非冗長化モードの場合、ストレージシステムはＤＲＡＭ（揮発性メモリ）のダーティデータを失うことを避けるためにライトスルーモード（キャッシングおよびライティングアフターモードではない）に設定されてもよい。ライトスルーモード（Ｓ１８０３）の場合、ＨＤＤレスポンス性能のせいで、ホストに対するレスポンス性能はライトアフターモードよりも低い。本実施例において、ストレージシステムは、電源ユニット障害が発生した場合、装置を使用するモードに変更される。なぜならばＦＭ装置のレスポンス性能はＨＤＤのレスポンス性能よりも良いからである。ＦＭ装置はライトアフターモードである。ストレージシステムはホストから書き込みデータを受け取り、一次ＤＲＡＭキャッシュから二次外部キャッシュに対してライトスルーを行う。ストレージシステムは（ＤＲＡＭ一次キャッシュを介して）非同期的に二次キャッシュをＨＤＤにデステージする。電源ユニットが回復した後（電源の冗長化が戻った後）（Ｓ１８０４）、ストレージシステムはゴーイングバックモードに変更され（Ｓ１８０５）、通常モードに戻る（Ｓ１８０６）。
【００４４】
０１１５    図１８ｂは、ＤＲＡＭ障害に起因するモード変更の例のフロー図を示す。処理は通常モードで行われる（Ｓ１８２１）。ＤＲＡＭ（揮発性メモリ）障害が発生した場合（Ｓ１８２２）、ストレージシステムは一次キャッシュの冗長性を失う可能性がある。その場合、ストレージシステムは電源ユニットの障害に起因して、非冗長化モードであるライトスルーモードになる可能性がある。障害が発生した場合、ストレージシステムはＤＲＡＭキャッシュの冗長性をチェックする（Ｓ１８２３）。冗長性を失った場合、ストレージシステムは、図１８ａの電源ユニット障害のケースと同様、ライトスルー二次キャッシュモードに設定される（Ｓ１８２４）。障害が回復した後（Ｓ１８２５）ストレージシステムはゴーイングバックモードに変更され（Ｓ１８２６）、通常モードに戻る（Ｓ１８２７）。
【００４５】
０１１６    図１８ｃは、ＨＤＤ障害に起因するモード変更例のフロー図を示す。処理は通常モードで行われる(Ｓ１８４１)。ストレージシステムのＨＤＤに障害が発生した場合（Ｓ１８４２）、ストレージシステムはＨＤＤの冗長性を回復する（ＲＡＩＤ再構築）。ＨＤＤ障害処理の場合、ＨＤＤはコレクション読み出し／書き込みおよび再構築処理のために、通常よりもビジーになる。本実施例において、ストレージシステムは、ＨＤＤアクセスを減らすＨＤＤ障害が発生した場合、装置を利用するモードに変更される。障害ＨＤＤと共に冗長化グループ（ＲＡＩＤ）を構成するＨＤＤに対してこのモードが適用される。これは障害の起こった冗長化グループに対する分散モードである（Ｓ１８４３）。ＨＤＤ冗長化が回復した後（Ｓ１８４４）、ストレージシステムはゴーイングバックモードに変更され（Ｓ１８４５）、通常モードに戻る（Ｓ１８４６）。
【００４６】
０１１７    図１８ｄは、ＣＰＵ障害に起因するモード変更例のフロー図を示す。処理は通常モードで行われる（Ｓ１８６１）。ストレージシステムのＣＰＵに障害が発生すると（Ｓ１８６２）、ＲＡＩＤパリティ計算やデステージ処理能力が低下するため、ＤＲＡＭキャッシュ上のダーティデータの量は増える可能性がある。本実施例において、ＣＰＵ障害が発生した場合、ＤＲＡＭが高作業負荷になることを防ぐために、ストレージシステムは装置を使用するモードに変更される。これが分散モードである（Ｓ１８６３）。障害が回復した後（Ｓ１８６４）、ストレージシステムはゴーイングバックモードに変更され（Ｓ１８６５）、通常モードに戻る（Ｓ１８６６）。
【００４７】
０１１８    図１９は、二次キャッシュを埋める例のフロー図を示す。ストレージシステムはＳ１９０１において、セグメントサイズフルヒットがあるかどうか（つまり、セグメントのすべてのデータがキャッシュに存在するかどうか）をチェックする。ホストからの書き込みデータサイズは二次キャッシュ管理ユニット(セグメント)に対して小さいかアライメントを外れている可能性がある。この実施例においては、ストレージシステムはＨＤＤから読み出しを行い、ミスデータを二次キャッシュに入れることができる（Ｓ１９０２）。セグメントを埋めることにより、ホスト読み出し処理の場合、ストレージシステムはＨＤＤから読み出しを行う必要がなく、二次キャッシュのデータと統合することができる（つまりよりよいレスポンス性能を実現できる）。ストレージシステムは二次キャッシュを割り当て（Ｓ１９０３）、そして二次キャッシュに対して書き込みを行う（Ｓ１９０４）。
【００４８】
０１１９    図２０は、二次キャッシュの割り当てを行う例のフロー図を示す。この実施例において、ストレージシステムは更新書き込みを受け取った時（二次キャッシュヒット）、新しい二次キャッシュ領域を割り当てることができる。これは性能だけでなくＦＭの寿命の面からみても好ましい。ランダム書き込みはＦＭの寿命の面からみてシーケンシャル書き込みよりも好ましくない。ストレージシステムはＳ２００１において、データが二次キャッシュヒットか否かをチェックする。ヒットの場合、ストレージシステムは古い二次キャッシュを無効とし（Ｓ２００２）その二次キャッシュをパージする（Ｓ２００３）。ヒットでない場合、ストレージシステムはＳ２００２とＳ２００３をスキップする。その後、ストレージシステムは二次キャッシュを割り当て（Ｓ２００４）、二次キャッシュに対して書き込みを行う（Ｓ２００５）。
【００４９】
０１２０    ＩＩ  第二実施例
【００５０】
０１２１    第二実施例において、ストレージシステムはＦＭ装置を兼ねる。ストレージシステムは自身の内部にＦＭデバイスを有し、それらを常駐領域及び／または二次キャッシュ領域として使用することができる。作業負荷が高い場合、ストレージシステムは十分な量のクリーンな一次キャッシュ領域および二次キャッシュフリー領域を有する他のストレージシステムに分散する。
【００５１】
０１２２    図１４は、第二実施例にかかる情報システムのハードウェア構成例を示す。
【００５２】
０１２３    図１５は、第二実施例にかかる図１４の情報システムの物理システム構成の詳細を示す。ストレージシステムは自身の内部にＦＭデバイスを有し、それらを常駐領域及び／または二次キャッシュ領域として使用することができる。
【００５３】
０１２４    図２１は、第二実施例にかかる本発明の論理構成例を示す。図３に示す第一実施例との相違点についてのみ説明する。ストレージシステムは内部ＦＭデバイスを有し、それらを常駐領域（ストレージプール）およびまたは二次キャッシュ領域として使用することができる。ストレージシステムは相互にストレージシステムのボリュームを二次キャッシュ領域として仮想化することができる。それらのボリュームはホストからはアクセスされない。
【００５４】
０１２５    図２２は、第二実施例にかかる二次キャッシュ領域情報テーブルの例を示す。第二実施例と図５ｉに示す第一実施例との相違点の一つは、二次キャッシュが外部デバイスと内部デバイスの両方からなることである。
【００５５】
０１２６    図２３は、第二実施例にかかるキャッシュ利用情報テーブルの例を示す。図７に示す第一実施例との相違点についてのみ説明する。二次キャッシュは外部デバイスと内部デバイスの両方からなる。複数の外部二次キャッシュは複数の外部デバイスからなる。
【００５６】
０１２７    図２４は、第二実施例にかかるモード変更処理のフロー図の例を示す。図１１に示す第一実施例との相違点についてのみ説明する。ストレージシステムは、ＦＭおよび内部二次キャッシュ機能を有する場合、通常モードにおいて内部ＦＭデバイスを二次キャッシュとして使用する（Ｓ２４０１）。ストレージシステムが高すぎる作業負荷状態になったとき（内部二次キャッシュのダーティ率が閾値を超えた場合）（Ｓ２４０２）、内部二次キャッシュを使用しつつ、相互にまたは管理コンピュータと通信して、ＦＭデバイスを有し作業負荷を分散するのに十分な性能（容量など）を有する他のストレージシステムを探す（Ｓ２４０３）。Ｓ２４０４において、分散の対象とする他のストレージシステムを選択する。分散モードにおいては（Ｓ２４０５）、ストレージシステムは他のストレージシステムの作業負荷が高すぎないかを判断し（Ｓ２４０６）、該ストレージシステムの作業負荷が収まったかどうかを判断する（Ｓ２４０７）。ゴーイングバックモードでは（Ｓ２４０８）、ストレージシステムは、変更が完了したかどうか（Ｓ２４０９）、作業負荷が高すぎるかどうか（Ｓ２４１０）および他のストレージシステムが十分なフリー領域を有するかどうか（Ｓ２４１１）を判断する。
【００５７】
０１２８    図２５は、第二実施例にかかる非同期キャッシュ転送処理のフロー図の例を示す。図１３ａに示す第一実施例との相違点についてのみ説明する。ストレージシステムは内部ＦＭデバイスを常駐領域として使用することができる。発見された一次キャッシュのダーティデータのチャンクがＦＭデバイスを常駐領域として割り当てている場合、ストレージシステムは割り当てを行わず、二次キャッシュに書き込みを行う。常駐領域（内部ＦＭ）はそれ自身も高い性能を有する。ストレージシステムはヒット／ミスおよび内部か外部二次キャッシュかをチェックし、処理を変更する。ストレージシステムは内部二次キャッシュ領域を外部二次キャッシュ領域に優先して使用する。
【００５８】
０１２９    Ｓ２５０１およびＳ２５０２はＳ１３０１およびＳ１３０２と同じである。Ｓ２５０３において、ストレージシステムは常駐領域がＦＭであるかどうかを判断する。Ｓ２５０４およびＳ２５０５はＳ１３０３およびＳ１３０４と同じである。Ｓ２５１６からＳ２５１９はＳ１３１２からＳ１３１５と同じである。Ｓ２５０５において、二次キャッシュにおいてデータがヒットしない場合、ストレージシステムプログラムはＳ２５０６に進む。そうでない場合、ストレージシステムプログラムは内部キャッシュの場合Ｓ２５０８に、外部キャッシュの場合Ｓ２５１４に進む。Ｓ２５０６において、ストレージシステムは内部二次キャッシュがスペースを有するかどうかを判断する。スペースがある場合、ストレージシステムはＳ２５０７において内部二次キャッシュを割り当て、Ｓ２５０８に進む。スペースがない場合、ストレージシステムはＳ２５１３において外部二次キャッシュを割り当て、Ｓ２５１４に進む。Ｓ２５０８において、ストレージシステムはデバイスに書き込みを行い、Ｓ２５０９に進む。Ｓ２５１４において、ストレージシステムは書き込みコマンドを送り、Ｓ２５１５でレスポンスを受け取り、Ｓ２５０９に進む。Ｓ２５０９からＳ２５１２はＳ１３０８からＳ１３１１と同じである。
【００５９】
０１３０    ＩＩＩ  第三実施例
【００６０】
０１３１    第三実施例において、外部装置は拡張一次キャッシュ領域として使用される。
【００６１】
０１３２    図１６は、第三実施例にかかる情報システムのハードウェア構成例を示す。作業負荷が高い場合、ストレージシステムはＦＭ装置を拡張一次キャッシュ領域として使用する。ストレージシステムは受け取った書き込みデータを直接ＦＭ装置に転送する（内部一次キャッシュスロー）。
【００６２】
０１３３    図２６は、第三実施例にかかる本発明の論理構成例を示す。図３に示す第一実施例との相違点の一つは、図２６に示すストレージシステムの一次キャッシュは内部ＤＲＡＭと外部デバイスからなることである。この実施例において説明される外部一次キャッシュ技術は第一実施例（二次キャッシュとしての外部デバイス）にも第二実施例（内部ＦＭデバイスを常駐および二次キャッシュとして使用し、ストレージシステムは相互に他のストレージシステムの領域を使用する）にも適用可能である。
【００６３】
０１３４    図２７は、第三実施例にかかる一次キャッシュ領域情報テーブルの例を示す。図５ｈに示す第一実施例との相違点についてのみ説明する。一次キャッシュは外部デバイスと内部デバイス（ＤＲＡＭ）の両方からなる。
【００６４】
０１３５    図２８は、第三実施例にかかるキャッシュ利用情報テーブルの例を示す。図７に示す第一実施例との相違点についてのみ説明する。一次キャッシュは外部デバイスと内部デバイスの両方からなる。
【００６５】
０１３６    第三実施例にかかるモード変更処理を説明する。図１１に示す第一実施例との相違点についてのみ説明する。通常モードにおいて、ストレージシステムは内部一次キャッシュのみ使用し、外部一次キャッシュは使用しない。分散モードの間は、ストレージシステムは内部一次キャッシュだけでなく外部一次キャッシュも使用する。ゴーイングバックモードの間は、ストレージシステムは内部一次キャッシュだけでなく外部一次キャッシュも使用する。ストレージシステムはこれ以上の外部一次キャッシュを割り当てず、クリーン属性となった外部一次キャッシュ領域を解放する。
【００６６】
０１３７    図２９ａは、第三実施例にかかる、分散／ゴーイングバックモードにおけるホスト読み出しＩ／Ｏ処理のフロー図の例を示す。図１２ａに示す第一実施例との相違点についてのみ説明する。一次キャッシュヒットがあった場合、プログラムはミスフローパスを追う代わりに、内部ヒットか外部ヒットかに基づき異なる処理を行う。外部ヒットの場合、ストレージシステムは装置に読み出しコマンドを送る（第一実施例における読み出し二次キャッシュと同様）。ストレージシステムは内部キャッシュに外部キャッシュからデータを読み出さない（キャッシュスルー）。
【００６７】
０１３８    Ｓ２９０１からＳ２９０３はＳ１２０１からＳ１２０２と同じである。Ｓ２９０３において、データが一次キャッシュミスである場合、ストレージシステムはＳ２９０４からＳ２９０９の処理を行う。データが内部ヒットである場合、ストレージシステムはＳ２９０８からＳ２９０９の処理を行う。データが外部ヒットである場合、ストレージシステムはＳ２９１０からＳ２９１１を行い、その後Ｓ２９０８からＳ２９０９を行う。Ｓ２９０４からＳ２９０７はＳ１２０４からＳ１２０７と同じである。Ｓ２９１０からＳ２９１１はＳ１２０９からＳ１２１０と同じである。Ｓ２９０８からＳ２９０９はＳ１２１３からＳ１２１４と同じである。
【００６８】
０１３９    図２９ｂは、第三実施例にかかる、分散／ゴーイングバックモードにおけるホスト書き込みＩ／Ｏ処理のフロー図の例を示す。図１２ｂに示す第一実施例との相違点についてのみ説明する。一次キャッシュヒットがあった場合、プログラムはミスフローパスを追う代わりに、内部ヒットか外部ヒットかに基づき異なる処理を行う。外部ヒットの場合、ストレージシステムは書き込みコマンドを装置に対して送り、データを内部一次キャッシュに格納しない（ライトスルー）。ミスの場合、ストレージシステムは内部一次キャッシュが十分な性能（またはスペース）を有するかどうかを判断し、ない場合、ストレージシステムは外部一次キャッシュ領域を割り当て、書き込みコマンドをそこに送る。ストレージシステムは内部／外部一次キャッシュ属性を設定する。
【００６９】
０１４０    Ｓ２９２１からＳ２９２３はＳ１２２１からＳ１２２３と同じである。Ｓ２９２３において、デーが一次キャッシュミスである場合、ストレージシステムは内部一次キャッシュがスペースを有するかどうかを判断する（Ｓ２９２４）。スペースがある場合、ストレージシステムは内部一次キャッシュを割り当て（Ｓ２９２５）、その後Ｓ２９２６からＳ２９２９（Ｓ１２２８からＳ１２３１と同じ）を実行する。スペースがない場合、ストレージシステムは外部一次キャッシュを割り当て（Ｓ２９３０）、Ｓ２９３１からＳ２９３２とＳ２９２７からＳ２９２９を実行する。ストレージシステムはＳ２９３１において書き込みコマンドを送り、Ｓ２９３２においてデータを受け取る。Ｓ２９２３に戻り、データが内部ヒットである場合、ストレージシステムはＳ２９２６からＳ２９２９を実行する。データが外部ヒットである場合、ストレージシステムはＳ２９３１からＳ２９３２とＳ２９２７からＳ２９２９を実行する。
【００７０】
０１４１    図３０は、第三実施例にかかる、分散およびゴーイングバックモードにおける外部一次キャッシュから常駐領域に対する非同期データ転送の処理のフロー図を示す。図１３ｂに示す第一実施例との相違点についてのみ説明する。ストレージシステムは（外部二次キャッシュではなく）外部キャッシュを探す。ストレージシステムは内部一次キャッシュにデータを格納しない（ライトスルー）。内部一次キャッシュ領域を割り当て、非同期に常駐領域に書き込みを行うことも可能である。
【００７１】
０１４２    Ｓ３００１において、ストレージシステムは外部一次キャッシュにおいてダーティを探す。Ｓ３００２においてダーティが存在しない場合、ストレージシステムはＳ３０１０において処理モードが分散かゴーイングバックかを判断する。分散モードにおいては、ストレージシステムプログラムはＳ３００１に戻る。ゴーイングバックモードにおいては、Ｓ３０１１においてストレージシステムはすべての外部一次キャッシュをパージし、Ｓ３０１２においてモードを通常に変更し、処理を終了する。Ｓ３００２においてダーティが存在する場合、ストレージシステムはＳ３００３において、物理デバイスがビジーか否かを判断する。ビジーである場合、ストレージシステムプログラムはＳ３００１に戻る。ビジーでない場合、ストレージシステムはＳ３００４からＳ３００９を実行する。Ｓ３００４において、ストレージシステムは装置に対して読み出しコマンドを送る。Ｓ３００５において、ストレージシステムは装置からデータを受け取る。Ｓ３００６において、ストレージシステムは物理デバイスに対して書き込みを行う。Ｓ３００７において、ストレージシステムはキャッシュ属性を設定する。Ｓ３００８において、ストレージシステムは外部キャッシュをパージする。Ｓ３００９において、ストレージシステムはキューを遷移する。これらのステップのうちいくつかは図１３ｂのステップと同じである。
【００７２】
０１４３    ＩＶ  第四実施例
【００７３】
０１４４    第四実施例においては、ホストとストレージシステムとの間にＦＭ装置を介してパススイッチングを備える。
【００７４】
０１４５    図１７は、第四実施例にかかる情報システムのハードウェア構成例を示す。作業負荷が高い場合、ホストはＦＭ装置を介してストレージシステムにアクセスする。ストレージシステムとＦＭ装置間のポート移動は、ストレージポートに対してＮＰＩＶ技術やその他の技術を適用することにより実行することができる。
【００７５】
０１４６    図３１は、第四実施例にかかる本発明の論理構成例を示す。図３に示す第一実施例との相違点についてのみ説明する。ホストは分散モードの状態で装置を介してストレージシステムデータにアクセスする。ホストはストレージシステムからＦＭ装置への代替パスを有する。装置は外部仮想化の特徴を有し、ストレージシステムのＬＤＥＶを外部デバイスとして仮想化する。装置は内部ＦＭデバイスを使用して二次キャッシュの特徴を有する。第二実施例を本実施例に適用することもできる。各ストレージシステムはＦＭ装置の特徴を有し、相互に作業負荷を分散することができる。
【００７６】
０１４７    図３２は、第四実施例にかかるモード変更処理のフロー図例を示す。図１１に示す第一実施例との相違点についてのみ説明する。通常モードにおいて（Ｓ３２０１）、ホストはストレージシステムに直接アクセスする。作業負荷が高すぎ（Ｓ３２０２）、ＦＭ装置が高い作業負荷を有しない場合（Ｓ３２０３）、モードは分散モードに変更される（Ｓ３２０４）。分散モードへの変更の間（Ｓ３２０４）、ホストは直接およびＦＭ装置を介してストレージシステムにアクセスする。装置はこのモードの間ストレージシステムのキャッシュに対して読み出しおよび書き込みを行い、ストレージシステムへの両アクセスパスの整合性を維持する。分散モードでは（Ｓ３２０５）、ホストはＦＭ装置を介してストレージシステムにアクセスする。装置はストレージシステムミスデータを読み出しホストに転送する。ＦＭ装置は一次キャッシュから二次キャッシュに書き込みデータを格納し、ストレージシステムに対して非同期的に書き込みを行う。書き込まれたデータがまとめられストレージシステムに書き込まれるため、ストレージシステムの作業負荷は、データに直接にアクセスするのに比べて減らすことができる。ＦＭ装置の作業負荷が高すぎない（Ｓ３２０６）かまたは作業負荷が収まった場合（Ｓ３２０７）、モードはゴーイングバックモードに変更される（Ｓ３２０８）。ゴーイングバックモードの間（Ｓ３２０８）、ＦＭ装置はストレージシステムとデータを同期させる。ＦＭ装置はキャッシュされたデータをストレージシステムに書き込み、新たに受け取った書き込みデータをライトスルーする。同期した後、パスはストレージシステムへの直接パスに戻る。パスの変更はＮＰＩＶ技術（例えば米国特許２０１０／００７０７２２に記載されたＤＫＣ間の稼働状態ボリューム移動）などの技術を適用して行う。ポートはストレージシステムからログオフされ、仮想ポート＃はＦＭ装置で変更される。代替パスがある場合、ＦＭ装置はすべてのパスがストレージシステムからＦＭ装置に変更されるまでライトスルーを行う。ＡＬＵＡ技術を適用してパスを作成することもできる。事前に直接およびＦＭ装置を介して代替パスを作成することができ、ホストマルチパスソフトがどのパスを使用するかをストレージシステム／ＦＭ装置／管理コンピュータと通信することにより選択する。例えば、管理コンピュータはストレージシステムおよびＦＭ装置のキャッシュ状態を取得し、使用すべきパスをホストに提示する。モード変更がＳ３２０９において完了すると、ストレージシステムは通常モードＳ３２０１に戻る。作業負荷が高すぎて（Ｓ３２１０）ＦＭ装置が十分なフリー領域を有する場合（Ｓ３２１１）、ストレージシステムは分散モードに変更される（Ｓ３２０５）。
【００７７】
０１４８    図３３ａは、第四実施例にかかる通常モードから分散モードへのパススイッチング処理のフロー図例を示す。ＦＭ装置はＬＤＥＶを作成する（Ｓ３３０１）。管理コンピュータによってＦＭ装置にＬＤＥＶ作成を指示してもよい。ＦＭ装置はストレージシステムに接続し、ＦＭ装置において作成されたＬＤＥＶをＥＤＥＶにマッピングする（Ｓ３３０２）。ＦＭ装置は作成されたＬＤＥＶ（Ｓ３３０３）において読み出し及び書き込みキャッシュスルーモードを設定し、パススイッチング間のデータ整合性を維持する（ホストは装置を介しておよび直接ストレージシステムにアクセスする）。例えば、ＮＰＩＶ技術を適用したパス移動において、ホストはパスをホスト―ＦＭ装置からホスト―ストレージシステムへとスイッチする（Ｓ３３０４）。例えば代替パスの作成および削除などのほかの方法を適用することもできる。パススイッチングの後、ＦＭ装置は一次キャッシュおよび二次キャッシュの両方のキャッシュ特性をＬＤＥＶに設定する（Ｓ３３０５）。
【００７８】
０１４９    図３３ｂは、第四実施例にかかる分散モード（ゴーイングバックモード）から通常モードへのスイッチング処理のフロー例を示す。ＦＭ装置は一次および二次キャッシュされたダーティデータをストレージシステムに書き込み、新たに受け取った書き込みデータをキャッシュスルーモードに設定することにより、ストレージシステムとデータ同期をとる（Ｓ３３２１）。同期をとった後、ＦＭ装置はパススイッチングの間データ整合性を維持するために、読み出しキャッシュスルーモードを設定する（Ｓ３３２２）。ＦＭ装置とストレージ装置は、ストレージシステムへの直接アクセスを可能とするパスへとスイッチする（Ｓ３３２３）。パススイッチングの後、ＦＭ装置は分散モードの間割り当てられていたＬＤＥＶとＥＤＥＶの領域を解放する（Ｓ３３２４）。領域は他の分散のために使うことができる。ＦＭ装置とストレージシステムは互いを結ぶパスを使わない場合、削除する。
【００７９】
０１５０    図３４ａは、第四実施例において、ＦＭ装置の分散モードに基づいて一次キャッシュから二次キャッシュに行われる非同期キャッシュ転送のフロー例を示す。図１３ａに示す第一実施例との相違点についてのみ説明する。図３４ａのフロー図の処理はストレージシステムではなくＦＭ装置によって実行される。常駐データが外部ストレージシステムにあるため、ＦＭ装置は内部二次キャッシュ領域に書き込みを行う。装置はストレージシステムにおいてチャンク割り当て情報（どのチャンクがストレージシステムのＦＭ階層に割り当てられているか）を取得する。ストレージシステムと直接コミュニケーションをしてもよく、また管理コンピュータを介してもよい。データがストレージシステムのＦＭデバイス階層に割り当てられている場合、ストレージシステムは書き込みを行うのに十分な力を有する可能性があるので、装置はＦＭ装置内の二次キャッシュを割り当てず、書き込みコマンドをストレージシステムに送る。
【００８０】
０１５１    Ｓ３４０１からＳ３４０２はＳ１３０１からＳ１３０２と同じである。Ｓ３４０３において、ストレージシステムはＦＭがストレージシステム内にあるかどうかを判断する。ある場合、ストレージシステムはＳ３４１１からＳ３４１４を実行する。Ｓ３４１１において、ストレージシステムは書き込みコマンドを送る。Ｓ３４１２からＳ３４１４はＳ１３１３からＳ１３１５と同じである。ない場合、ストレージシステムはＳ３４０４からＳ３４１０を実行する。Ｓ３４０４とＳ３４０５はＳ１３０４とＳ１３０５と同じである。Ｓ３４０６において、ストレージシステムは二次キャッシュに書き込みを行う。Ｓ３４０７からＳ３４１０はＳ１３０８からＳ１３１１とおなじである。
【００８１】
０１５２    第四実施例によると、ＦＭ装置において分散モードに基づき二次キャッシュから常駐領域への非同期データ転送が行われる。図１３ｂに示す第一実施例との相違点についてのみ説明する。第四実施例の処理はストレージシステムではなくＦＭ装置において実行される。常駐データは外部ストレージシステムにあり二次キャッシュはＦＭ装置にあるため、ＦＭ装置は内部二次キャッシュ領域からデータを読み出し、書き込みコマンドを外部ストレージシステムに送る。
【００８２】
０１５３    図３４ｂは、第四実施例においてＦＭ装置の分散モードにおけるホスト読み出しＩ／Ｏ処理のフロー図例を示す。図１２ａに示す第一実施例との相違点についてのみ説明する。図３４ｂのフロー図の処理はストレージシステムにおいてではなくＦＭ装置において実行される。本実施例において、分散モードの間、ＦＭ装置はＩ／Ｏコマンドをホストから受け取る。常駐データが外部ストレージシステムにあるため、キャッシュミスの場合、ＦＭ装置は読み出しコマンドをストレージシステムへ送る。二次キャッシュが（外部装置ではなく）ＦＭ装置にあるため、二次キャッシュヒットの場合、ＦＭ装置は内部二次キャッシュ領域から読み出しを行う。領域（チャンク）がストレージシステムにおいてＦＭ階層に割り当てられている場合、読み出し／書き込みキャッシュスルー（ＦＭ装置において一次キャッシュを使用しない）を行うことができる。ＦＭ装置がストレージシステムの階層情報を配慮しないことも可能である。
【００８３】
０１５４    Ｓ３４２１からＳ３４２５はＳ１２０１からＳ１２０４と同じである。Ｓ３４２６において、ストレージシステムは読み出しコマンドを送る。Ｓ３４２７において、ストレージシステムはデータを受け取る。Ｓ３４２８からＳ３４３１はＳ１２０６、Ｓ１２０７、Ｓ１２１３およびＳ１２１４と同じである。Ｓ３４３２はＳ１２０８と同じである。Ｓ３４３３において、ストレージシステムは二次キャッシュから一次キャッシュへ転送を行う。Ｓ３４３４はＳ１２１２と同じである。
【００８４】
０１５５    図３４ｃは、第四実施例においてＦＭ装置のゴーイングバックモードにおけるホスト書き込みＩ／Ｏ処理の処理パターン例を示す。ＦＭ装置はキャッシュスルーを使ってデータの同期をとる。受け取ったデータがセグメントを埋めず、二次キャッシュにおいてデータがダーティである場合、ＦＭ装置は一次キャッシュにデータを格納し、ホストにレスポンスを返信し、非同期に一次キャッシュと二次キャッシュを統合し、ストレージシステムに書き込みを行う。
【００８５】
０１５６    Ｖ  第五実施例
【００８６】
０１５７    第五実施例はストレージシステムとＦＭ装置の間に分離ボリュームを有する。
【００８７】
０１５８    図３５は、第五実施例による本発明の論理構成例を示す。ＳＣＳＩ  Ｒｅｆｅｒｒａｌ技術を利用して、論理ボリューム（ＬＤＥＶ）はＬＢＡ範囲によりいくつかのストレージシステムに分離可能である（ストレージシステムはいくつかの担当ボリューム領域を有する）。
【００８８】
０１５９    図３６は、第五実施例にかかるいくつかのストレージシステムとＦＭ装置に分散されたチャンクの情報テーブルの例を示す。ＳＣＳＩ  Ｒｅｆｅｒｒａｌ技術を使って、論理ボリューム（ＬＤＥＶ）はいくつかのストレージシステム間で分散することができる（ストレージシステムはいくつかの担当ボリューム領域を有する）。グローバルＬＤＥＶ  ＩＤとは、複数のストレージシステムとＦＭ装置との間のボリュームの識別を意味する。分散モードの間、いくつかのチャンクはＦＭ装置を介するパスに変更される。第四実施例において、ボリュームはＦＭ装置に変更される。本実施例において、変更はボリューム毎ではなくチャンク毎に行われる。どのチャンクがＦＭ装置に変更されまたは変更されるべきでないかは、ストレージシステムのデバイス階層（ＨＤＤチャンクは装置に変更されるべきであり、ＦＭは変更されるべきでない）やチャンクのＩ／Ｏ頻度などといった要因に基づく。
【００８９】
０１６０    図３７は、第五実施例による、複数のストレージシステム間にチャンクが分散される場合のホスト読み込みＩ／Ｏ処理のフロー図例を示す。Ｉ／Ｏアドレスが他のストレージシステムにチャージされている場合、ストレージシステム（ＳＣＳＩターゲット）はＳＣＳＩ  Ｒｅｆｅｒｒａｌ技術を利用して他のポート情報を返信できる。ホストはストレージシステムに対して読み出しコマンド（Ｓ３７０１）を送り、ストレージシステムはコマンドを受け取る（Ｓ３７０２）。ストレージシステムはアドレスが自身内でチャージされたかどうかをチェックする（Ｓ３７０３）。含まれている場合、ストレージシステムは読み出しコマンドを処理し（内部デバイスから読み出しを行い）（Ｓ３７０４）、データをホストに返し（Ｓ３７０６）、ホストはデータを受け取る（Ｓ３７０７）。Ｉ／Ｏアドレスが他のストレージシステムにチャージされたアドレスを含む場合（本実施例においてはＦＭ装置）（Ｓ３７０３）、またはすべてのデータが含まれていない場合（Ｓ３７０５）、ストレージシステムは残りのデータアドレス（ＬＢＡ）および他のストレージシステム（ＦＭ装置）のアドレスを返す（Ｓ３７０８）。ホストは処理済みのデータと残りのデータ情報を受け取り（Ｓ３７０９）、他の読み出しコマンドを送り他のストレージシステム（ＦＭ装置）への残りのデータを取得する（Ｓ３７１０）。ホストはマップ情報（どのＬＢＡがどのストレージシステムにチャージされるか）を保持できるので、このフローはＦＭ装置への第一コマンドおよびストレージシステムへの第二コマンドとすることができる。書き込みコマンドの処理は読み出しコマンドの処理と同様である。
【００９０】
０１６１    要求されたデータはｉＳＣＳＩ技術などを使って異なるポートから返信されうる。Ｉ／Ｏアドレスが他のストレージシステムに付け替えられる（チャージ）されるアドレスを含む場合、ストレージシステムはデータを付け替え（チャージ）する他のストレージシステムへコマンドを送ってデータをホストに返し、ストレージシステムからコマンドを受け取るストレージシステムはデータをホストに返す。
【００９１】
０１６２    ＶＩ  第六実施例
【００９２】
０１６３    第六実施例はＦＭ装置を高い階層（チャンク）として使用する。
【００９３】
０１６４    図３８は、第六実施例による本発明の論理構成例を示す。図３等に示す第一実施例との相違点についてのみ説明する。ストレージシステムは高階層常駐領域（二次キャッシュでない）としてＦＭ装置を使用する。管理コンピュータはストレージシステムやＦＭ装置から作業負荷情報を取得し、情報を比較してどのチャンクを移動すべきかを判断し、チャンク移動を示す。ストレージシステムは階層間（内部ＨＤＤと外部ＦＭ間）でチャンクを移動する。
【００９４】
０１６５    図３９は、第六実施例にかかる管理コンピュータのフロー図例を示す。管理コンピュータはストレージシステムからチャンク情報を集める（Ｓ３９０１）。管理コンピュータはストレージシステムやＦＭ装置からプール情報を取得し（Ｓ３９０２）、チャンクのＩ／Ｏ頻度を比較する（Ｓ３９０３）。管理コンピュータは移動すべきチャンクを、低い階層の内部装置に割り当てられているものの高いＩ／Ｏ頻度を有するチャンクがあるか、または高い階層のＦＭ装置に割り当てられているものの低いＩ／Ｏ頻度を有するチャンクがあるかどうかの判断に基づいてサーチする（Ｓ３９０４およびＳ３９０６）。管理コンピュータはチャンク移動を行うようストレージシステムに指示する（Ｓ３９０５およびＳ３９０７）。そのような移動は外部ＦＭ装置（高い階層）から内部ＨＤＤ（低い階層）に対して、または内部ＨＤＤから外部ＦＭ装置に対して、行われる。移動の振動を避ける範囲を設けることができる。自動階層化などの既知の技術を使うことができる。
【００９５】
０１６６    この実施例において、従来の自動階層化技術との差異は以下の点を含む。従来技術によると、一つのストレージシステム（外部ストレージシステムを含み、一つのストレージシステムのみを有する）に限られる。本実施例は複数のストレージシステムにおいて使われる技術に関する。外部ストレージ（ＦＭ装置）は複数のストレージシステムから使用される。従来技術においては、チャンクのＩ／Ｏ頻度は一つのストレージシステム内で比較される。本実施例においては、チャンクのＩ／Ｏ頻度は複数のストレージシステム間で比較される。ストレージシステムＡにおける高い頻度は、ストレージシステム間の作業負荷の不均衡に起因して、ストレージシステムＢにおいては低い頻度である可能性がある。更に、管理コンピュータの移動判断および指示は、各ストレージシステムまたは各ＦＭ装置内に関連する。
【００９６】
０１６７    図４０は、第六実施例にかかるストレージシステムにおいて、外部ＦＭ装置から内部装置へのチャンク移動プロセスのフロー図例を示す。ストレージシステムはチャンクデータをコピーする（ＦＭ装置からチャンクデータを読み出し、それを内部装置に書きこむ）。ストレージシステムは解放コマンドを送ることにより、ＦＭ装置の使用済みチャンクを解放する（ＳＣＳＩライトセイムコマンド）。ＦＭ装置内の解放領域は他のストレージシステムによって使用され得る。ストレージシステムが内部デバイスからＦＭ装置へも移動する場合、ストレージシステムは解放することなくＦＭ装置を使用することができる。ストレージシステムは内部デバイス領域を割り当て（Ｓ４００１）、読み出しコマンドをＦＭ装置へ送り（Ｓ４００２）、返信データを取得し（Ｓ４００３）、データを一次キャッシュに格納する（Ｓ４００４）。ストレージシステムは解放コマンドをＦＭ装置に送り（Ｓ４００５）、マッピング情報を更新し（Ｓ４００６）、内部デバイスに書き込みを行い（Ｓ４００７）、一次キャッシュをパージする（Ｓ４００８）。
【００９７】
０１６８    図４１は、第六実施例において、ストレージシステムの内部デバイスから外部ＦＭ装置へチャンク移動処理を行うフロー図の例を示す。ストレージシステムはチャンクデータをコピーする（チャンクデータを内部デバイスから読み出しＦＭ装置へ書きこむ）。ＦＭ装置は書き込みコマンドを受け取ると、物理領域がまだ割り当てられていない場合、シンプロビジョニングされたボリュームへ割り当てる。ストレージシステムは内部デバイスから読み出し（Ｓ４１０１）、一次キャッシュへデータを格納し（Ｓ４１０２）、書き込みコマンドをＦＭ装置へ送り（Ｓ４１０３）、ＦＭ装置からレスポンスを受け取り（Ｓ４１０４）、マッピング情報を更新し（Ｓ４１０５）、一次キャッシュをパージする（Ｓ４１０６）。
【００９８】
０１６９    ＶＩＩ  第七実施例
【００９９】
０１７０    第七実施例はボリューム／ページ移動に関する。本実施例は第四および第五実施例の特徴を組み合わせる。第四および第五実施例によると、ＦＭ装置はホストとストレージシステム間でキャッシュとして使用され、常駐記録領域はストレージシステム内に存在する。本実施例によると、常駐領域は移動される。
【０１００】
０１７１    図４２は、第七実施例に係る本発明の論理構成例を示す。図３に示す第一実施例との相違点についてのみ説明する。ボリュームはストレージシステムとＦＭ装置の内部デバイス（右側）間で移動される。チャンクはストレージシステムとＦＭ装置の内部デバイス（左側）間で移動される。管理コンピュータは各ストレージシステムおよびＦＭ装置から作業負荷情報を受け取り、情報を比較してどのチャンク／ボリュームを移動すべきかを判断し、移動を指示する（第六実施例と同様）。ストレージシステムだけでなくＦＭ装置も、内部デバイス（ＦＭ）からなるＬＤＥＶを有する。
【０１０１】
０１７２    図４３は、第七実施例にかかる管理コンピュータのボリューム移動に伴う作業負荷分散処理のフロー図を示す。図３９に示す第六実施例との相違点についてのみ説明する。管理コンピュータはストレージシステムおよびＦＭ装置内の各ボリューム（または各ポート）の作業負荷情報を受け取る。管理コンピュータは移動イニシエータとターゲット（ストレージシステムとＦＭ装置）を指示する。管理コンピュータはストレージシステムおよびＦＭ装置から作業負荷情報を受け取り（Ｓ４３０１）、ボリュームのＩ／Ｏ頻度を比較する（Ｓ４３０２）。ＦＭ装置に低いＩ／Ｏボリュームがある場合（Ｓ４３０３）、管理コンピュータはＦＭ装置からストレージシステムへの移動を指示する（Ｓ４３０４）。ストレージシステムＨＤＤ階層に高いＩ／Ｏボリュームがある場合（Ｓ４３０５）、管理コンピュータは内部装置からＦＭ装置への移動を指示する（Ｓ４３０６）。
【０１０２】
０１７３    図４４ａは、第七実施例にかかるストレージシステムからＦＭ装置へのボリューム移動プロセスのフロー図を示す。図３３ａに示す第四実施例との相違点についてのみ説明する。Ｓ４４０１からＳ４４０５はＳ３３０１からＳ３３０５と同じである。パススイッチング（Ｓ４４０４）とキャッシュ特性がＯＮされた後（Ｓ４４０５）、ＦＭ装置はストレージシステムから内部装置へデータをコピーする（読み出しコマンドをストレージシステムに送り、内部デバイスに書き込みを行う）（Ｓ４４０６）。ＬＤＥＶチャンク割り当て情報をストレージシステムとＦＭ装置の間で交換することにより、ＦＭ装置はストレージシステム内の割り当てチャンクデータのみをコピーする。これによりコピー時間の短縮とパフォーマンスの向上およびＦＭ装置内のプール利用を促進できる。データをコピーした後、ストレージシステムは移動元ボリュームに割り当てられていた領域を解放する（Ｓ４４０７）。これらの領域は他のボリュームとして使用可能である。ＦＭ装置とストレージシステムは互いをつなぐパスを削除する。ＦＭ装置はストレージシステムに解放コマンド（ライトセイムコマンド）またはＬＤＥＶ削除コマンドを送ることにより、ストレージシステム内の領域を解放することができる。
【０１０３】
０１７４    図５１は、第七実施例にかかるＦＭ装置内のＬＤＥＶの情報テーブルの例を示す。ＬＤＥＶ  ＩＤとはＦＭ装置内のＩＤである。状態とはＬＤＥＶの移動状態を示す。ＥＤＥＶとはストレージシステム内のボリュームを仮想化するボリュームである。ストレージシステム内のすべての割り当てデータをコピーし、ＦＭ装置内のＬＤＥＶとＥＤＥＶ間の関係を削除した後、ＥＤＥＶ  ＩＤはＮＯＮＥになる。
【０１０４】
０１７５    図５２は、ＦＭ装置内のＬＤＥＶチャンクの情報テーブルの例を示す。ストレージシステムのすべての割り当てデータがＦＭ装置に移動（コピー）される必要はなく、高い作業負荷のデータチャンクのみがＦＭ装置に移動されればよい。
【０１０５】
０１７６    図４４ｂは、第七実施例にかかるＦＭ装置からストレージシステムへのボリューム移動処理のフロー図を示す。図３３ｂに示す第四実施例との相違点についてのみ説明する。Ｓ４４２４からＳ４４２７はＳ３３２１からＳ３３２４までと同じである。同期をとる前に（Ｓ４４２４）、ＬＤＥＶがストレージシステム内に存在しないとき、ストレージシステムはＬＤＥＶを作成する（Ｓ４４２１）。ＦＭ装置はストレージシステムに接続し、作成されたＬＤＥＶをＦＭ装置のＥＤＥＶにマッピングする（Ｓ４４２２）。ＦＭ装置は、内部デバイスのデータを読み出しストレージシステムへ書き込みコマンドを送ることにより、移動元（内部装置）から移動先（ＥＤＥＶマップドストレージシステム）へデータをコピーする（Ｓ４４２３）。
【０１０６】
０１７７    第七実施例によると、管理コンピュータはチャンク移動に伴う作業負荷分散処理を行う。図４３のボリューム移動との相違点についてのみ説明する。管理コンピュータはストレージシステムおよびＦＭ装置内の各チャンク（ボリュームやポートではなく）の作業負荷情報を得る。
【０１０７】
０１７８    第七実施例は、ストレージシステムからＦＭ装置へのチャンク移動処理を含む。図４４ａに示すボリューム移動との相違点についてのみ説明する。プログラムはＦＭ装置へのパスをスイッチせず、ホストはストレージシステムとＦＭ装置の両方をアクセスする。ストレージシステムおよびＦＭ装置はストレージシステムからＦＭ装置へのチャンクマップを変更する。もしリクエストデータが自身内でマップされずＦＭ装置内にある場合、ＳＣＳＩ  Ｒｅｆｅｒｒａｌ技術を利用して、ストレージシステムはホストＦＭ装置アドレスを返すことができる。ＦＭ装置は、ＥＤＥＶから内部装置に対して、すべてのボリュームデータではなく、チャンクデータをコピー（移動）する。チャンク移動の後、移動元チャンクに割り当てられていた領域は解放される。
【０１０８】
０１７９    第七実施例は、ＦＭ装置からストレージシステムへのチャンク移動処理を含む。図４４ｂに示すボリューム移動との相違点についてのみ説明する。プログラムはストレージシステム内にＬＤＥＶを作成する必要がない。ＬＤＥＶはすでにストレージシステム内に存在する。ストレージシステムとＦＭ装置はチャンクマップをＦＭ装置からストレージシステムへ変更する。ＦＭ装置は、内部装置からストレージシステム（ＥＤＥＶ）に対し、すべてのボリュームデータではなくチャンクデータをコピー（移動）する。チャンク移動後、移動元チャンクに割り当てられていた領域は解放される。
【０１０９】
０１８０    ＶＩＩＩ  第八実施例
【０１１０】
０１８１    第八実施例は共に分散されるボリュームグループに関する。ストレージシステムはストレージシステム内の作業負荷が高くなった場合、ＬＤＥＶグループ毎に分散を行う。ユーザがグループを指定してもよいし、ストレージシステムが自身で判断してもよい。ストレージシステムが判断できるボリュームグループの例としては、ストレージシステム特性に基づくグループ、例えばリモートコピーコンシステンシグループやローカルコピーボリュームペアがありうる。
【０１１１】
０１８２    図４５ａは、第八実施例にかかるＬＤＥＶグループおよび分散方法の情報テーブルの例を示す。ストレージシステムはこのテーブルを有する。例えば外部キャッシュ、パススイッチングおよび移動といった作業負荷を分散するいくつかの方法がある。分散されないグループもありうる。例えば、あるデータがストレージシステムと装置に分散されることにより物理的な障害の起こるリスクがある場合、ユーザはそのデータの分散を望まない可能性がある。他の例として、ＦＭ装置はストレージシステムがボリュームに対して有する特性、例えばリモートコピーやローカルコピーなど、を有しない。
【０１１２】
０１８３    図４５ｂは、第八実施例にかかるＬＤＥＶをＬＤＥＶグループにマッピングする例を示す。いくつかのボリュームはどのグループにも属さないことがある。
【０１１３】
０１８４  ＩＸ  第九実施例
【０１１４】
０１８５    第九実施例はＦＭ装置の予約に関する。いつ高い作業負荷が起こるか（例えば定期的）をユーザが予測できる場合、ＦＭ装置の領域はそのタイミングのために予約される。
【０１１５】
０１８６    図４６は、第九実施例にかかる予約の情報テーブルの例を示す。管理コンピュータはこの情報テーブルを参照することにより、ストレージシステムがＦＭ装置使用のリクエストを行った時に、ＦＭ装置が割り当てを行うのに十分な容量を有するかを判断する。ＦＭ装置がこのようなテーブルを有することもできる。複数のＦＭ装置がシステムに存在する場合、このテーブルは管理コンピュータによって保持されていたほうがよい。ユーザは管理コンピュータのユーザインターフェースにより、予約の設定をすることができる。ストレージシステムまたはＦＭ装置がこのようなユーザインターフェースを有することもできる。ＦＭ装置はキャッシュだけでなく高い階層（常駐領域）として使われることもできる。
【０１１６】
０１８７    Ｘ  第十実施例
【０１１７】
０１８８    第十実施例によると、サーバはＦＭ装置を利用する。
【０１１８】
０１８９    図４７は、第十実施例にかかる本発明の論理構成例を示す。図３に示す第一実施例との相違点についてのみ説明する。ＦＭ装置はＤＲＡＭキャッシュを有さず、ＦＭに直接アクセスする。サーバは、例えばＰＣｌｅ（登録商標）インタフェースを使って、ＦＭ装置に接続する。サーバはＦＭ装置の領域を移動先（左側）として、または内部ＨＤＤのキャッシュ（右側）として、使用する。サーバはストレージシステムでありうる。今までの実施例において、ＦＭ装置はＤＲＡＭキャッシュを有しないこともありうる。
【０１１９】
０１９０    図４８は、第十実施例にかかるＦＭ装置の割り当て情報の例を示す。ＦＭ装置はどのＦＭ領域が割り当てられているか否か、およびどのサーバに割り当てられているかを管理する。
【０１２０】
０１９１    図４９は、第十実施例にかかるＦＭ装置の領域の割り当ておよび解放処理のフロー図を示す。サーバはＦＭ装置に対し割り当てコマンドを送り（Ｓ４９０１）、領域を割り当てる（Ｓ４９０２）。ＦＭ装置が十分な容量を有する場合（Ｓ４９０３）、領域を割り当て（Ｓ４９０４）、割り当てアドレスをサーバに返信し（Ｓ４９０５）、サーバは割り当てアドレスを受け取る（Ｓ４９０６）。サーバは割り当てアドレスを利用する（Ｓ４９０７）。サーバが装置領域の利用を必要としなくなると（Ｓ４９０８）、サーバはＦＭ装置に解放コマンドを送り（Ｓ４９０９）、ＦＭ装置は解放コマンドを受け取り（Ｓ４９１０）領域を解放し（Ｓ４９１１）、領域は他のサーバにより使用されることができる。ＦＭ装置はサーバに対し返信（Ｓ４９１２）を行う（Ｓ４９１３）。Ｓ４９０３で十分な容量がない場合、ＦＭ装置はサーバに対しエラー（Ｓ４９１４）を送る（Ｓ４９１５）。
【０１２１】
０１９２    更なるアイディアおよびまたは代替方法を含む実施例もありうる。ストレージシステムは同じＦＭデバイスを常駐領域と二次キャッシュ領域の両方として使用することができる。パススイッチングはＴ１１  ＳＰＣ−３  ＡＬＵＡ(Asymmetric Logical Unit Access)技術を使って行うことができる。ホスト、ストレージシステムおよびＦＭ装置は、ＦＭ装置を介して更なる代替パスを有することができる。装置は他の媒体、例えばＰＲＡＭ(Phase change RAM)やオールＤＲＡＭを使用することができる。ホストはＮＡＳヘッド（ファイルサーバ）であってもよい。
【０１２２】
０１９３    当然のことながら、図１、図１４、図１６および図１７に示すシステム構成は、本発明が実施され得る情報システムの単なる例示であり、本発明は特定のハードウェア構成に限定されない。本発明を実施するコンピュータ及びストレージシステムは、上述の発明を実施するために用いられるモジュール、プログラム及びデータ構造を格納しかつ読み出すことができる公知のＩ／Ｏ装置（例えば、ＣＤ及びＤＶＤドライブ、フロッピー（登録商標）ディスクドライブ、ハードドライブ等）も有し得る。これらのモジュール、プログラム及びデータ構造は、当該コンピュータ読取可能媒体上で符号化することができる。例えば、本発明の前記データ構造は、本発明で使用されるプログラムが存在する一つ以上のコンピュータ読取可能媒体から独立したコンピュータ読取可能媒体に格納することができる。システムの構成要素は、あらゆる形態又は媒体のデジタルデータ通信（例えば、通信ネットワーク）によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク、ワイドエリアネットワーク（例えば、インターネット）、無線ネットワーク、ストレージエリアネットワーク等を含む。
【０１２３】
０１９４    説明では、本発明の理解を深めるために、多くの具体的かつ詳細な記載がなされている。しかし当業者にとっては、本発明を実施するためにこれら具体的な詳細のすべてが必要なわけではないことは明らかであるだろう。また、留意すべき点として、本発明は、通常はフローチャート、フロー図又はブロック図として記載されるプロセスとして説明されてもよい。フローチャートでは動作を逐次プロセスとして説明し得るが、動作の多くは並行して又は同時に実行することができる。更に、動作の順番は並び替えてもよい。
【０１２４】
０１９５    当技術分野では周知であるように、上述の動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの組み合わせによって実行することができる。本発明の実施形態の様々な態様は、回路や論理装置（ハードウェア）を用いて実施してよく、その一方で、その他の態様は、機械読取可能媒体上に記憶された命令を用いて実施してもよく、当該発明は、プロセッサによって実行された場合には、プロセッサに本発明の実施形態を実行される方法を実施させるものである。更に、本発明のいくつかの実施形態は、ハードウェアのみにおいて実施されてもよく、その他の実施形態は、ソフトウェアのみで実施されてもよい。更に、説明された様々な機能は一つのユニットで実施することができ、又はあらゆる方法によって多くの構成要素に広めることができる。ソフトウェアによって実施された場合、方法は、コンピュータ読取可能媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。望ましい場合には、圧縮およびまたは暗号化形式で命令を媒体に記憶することができる。
【０１２５】
０１９６    上記により、本発明が固体メモリを拡張キャッシュ領域として使用するストレージシステムの負荷を分散するための方法、装置およびコンピュータ読取可能媒体に記憶されたプログラムを提供するものであることが明らかであろう。更に、本明細書において特定の実施形態が示され説明されているが、当業者にとって明白なように、開示された特定の実施形態の代わりに、同じ目的を達成するために創出された構成を用いてもよい。本開示は、本発明のあらゆる適応例や変形例を対象とすることを意図したものであり、また以下の請求項で用いられる用語は、本発明を本明細書で開示した特定の実施形態に限定するよう解釈されるべきではない。むしろ本発明の範囲は、以下の請求項によって判断されるべきものであり、以下の請求項は、当該請求項が権利を有する同等物の範囲全体と共に、請求項の解釈について確立された原則に従って解釈されるものである。
【符号の説明】
【０１２６】
１１０ ＦＭ装置
１２０ ストレージシステム
３２３ ストレージプール
３１４、３２４  一次キャッシュ
３２５  二次キャッシュ
【図１】
0005975770.tif 000002
【図２】
0005975770.tif 000003
【図３】
0005975770.tif 000004
【図４】
0005975770.tif 000005
【図５ａ】
0005975770.tif 000006
【図５ｂ】
0005975770.tif 000007
【図５ｃ】
0005975770.tif 000008
【図５ｄ】
0005975770.tif 000009
【図５ｅ】
0005975770.tif 000010
【図５ｆ】
0005975770.tif 000011
【図５ｇ】
0005975770.tif 000012
【図５ｈ】
0005975770.tif 000013
【図５ｉ】
0005975770.tif 000014
【図５ｊ】
0005975770.tif 000015
【図６ａ】
0005975770.tif 000016
【図６ｂ】
0005975770.tif 000017
【図６ｃ】
0005975770.tif 000018
【図７】
0005975770.tif 000019
【図８】
0005975770.tif 000020
【図９】
0005975770.tif 000021
【図１０】
0005975770.tif 000022
【図１１】
0005975770.tif 000023
【図１２ａ】
0005975770.tif 000024
【図１２ｂ】
0005975770.tif 000025
【図１３ａ】
0005975770.tif 000026
【図１３ｂ】
0005975770.tif 000027
【図１４】
0005975770.tif 000028
【図１５】
0005975770.tif 000029
【図１６】
0005975770.tif 000030
【図１７】
0005975770.tif 000031
【図１８ａ】
0005975770.tif 000032
【図１８ｂ】
0005975770.tif 000033
【図１８ｃ】
0005975770.tif 000034
【図１８ｄ】
0005975770.tif 000035
【図１９】
0005975770.tif 000036
【図２０】
0005975770.tif 000037
【図２１】
0005975770.tif 000038
【図２２】
0005975770.tif 000039
【図２３】
0005975770.tif 000040
【図２４】
0005975770.tif 000041
【図２５】
0005975770.tif 000042
【図２６】
0005975770.tif 000043
【図２７】
0005975770.tif 000044
【図２８】
0005975770.tif 000045
【図２９ａ】
0005975770.tif 000046
【図２９ｂ】
0005975770.tif 000047
【図３０】
0005975770.tif 000048
【図３１】
0005975770.tif 000049
【図３２】
0005975770.tif 000050
【図３３ａ】
0005975770.tif 000051
【図３３ｂ】
0005975770.tif 000052
【図３４ａ】
0005975770.tif 000053
【図３４ｂ】
0005975770.tif 000054
【図３４ｃ】
0005975770.tif 000055
【図３５】
0005975770.tif 000056
【図３６】
0005975770.tif 000057
【図３７】
0005975770.tif 000058
【図３８】
0005975770.tif 000059
【図３９】
0005975770.tif 000060
【図４０】
0005975770.tif 000061
【図４１】
0005975770.tif 000062
【図４２】
0005975770.tif 000063
【図４３】
0005975770.tif 000064
【図４４ａ】
0005975770.tif 000065
【図４４ｂ】
0005975770.tif 000066
【図４５ａ】
0005975770.tif 000067
【図４５ｂ】
0005975770.tif 000068
【図４６】
0005975770.tif 000069
【図４７】
0005975770.tif 000070
【図４８】
0005975770.tif 000071
【図４９】
0005975770.tif 000072
【図５０】
0005975770.tif 000073
【図５１】
0005975770.tif 000074
【図５２】
0005975770.tif 000075