(57)【要約】  複数のストレージ装置を含むストレージアレイ内のデータを移行することは：ストレージアレイにより、１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出すること；ストレージ装置退避事象の発生の検出に応答して、ストレージアレイにより、１つ以上のソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別すること；ストレージアレイにより、１つ以上のソースストレージ装置に対する書込みアクセスを減らすこと；および１つ以上のソースストレージ装置上に格納されたデータを１つ以上のターゲットストレージ装置に移行することを含む。【選択図】図１
2019516149.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージ装置を含むストレージアレイ内のデータを移行する方法であって、
前記ストレージアレイによって、１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出することと、
前記ストレージ装置退避事象の前記発生の検出に応答して、前記ストレージアレイによって、前記１つ以上のソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別することと、
前記ストレージアレイによって、前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすことと、
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することと
を含む、方法。
【請求項２】
前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすことが、前記１つ以上のソースストレージ装置に対する全ての書込みアクセスをブロックすることをさらに含む、請求項１に記載の方法。
【請求項３】
前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすことが、前記１つ以上のソースストレージ装置に対する読取り専用アクセスを可能にすることをさらに含む、請求項１に記載の方法。
【請求項４】
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記１つ以上のソースストレージ装置から前記１つ以上のターゲットストレージ装置に、前記１つ以上のソースストレージ装置上に格納された前記データをコピーすることをさらに含む、請求項１に記載の方法。
【請求項５】
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記１つ以上のソースストレージ装置上の有効なデータおよび前記１つ以上のソースストレージ装置上の無効なデータを識別する、ガーベジコレクションプロセスを前記１つ以上のソースストレージ装置上で開始することと、前記ガーベジコレクションプロセスによって識別された前記有効なデータを前記１つ以上のターゲットストレージ装置に書き込むこととをさらに含む、請求項１に記載の方法。
【請求項６】
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記ストレージアレイ内の冗長データを利用して前記データを前記１つ以上のターゲットストレージ装置上に再構築することをさらに含む、請求項１に記載の方法。
【請求項７】
前記ストレージ装置退避事象の前記発生を検出することが、データを前記１つ以上のソースストレージ装置から移行させるユーザー開始要求を受信することをさらに含む、請求項１に記載の方法。
【請求項８】
前記１つ以上のソースストレージ装置上に格納された前記データを消去することをさらに含む、請求項１に記載の方法。
【請求項９】
前記１つ以上のソースストレージ装置上に格納されている前記データが、複数のストレージ装置にわたってストライプ化されているデータセットの一部である、請求項１に記載の方法。
【請求項１０】
複数のストレージ装置を含むストレージアレイ内のデータを移行するための装置であって、前記装置は、コンピュータプロセッサとコンピュータメモリとを含み、前記コンピュータメモリは、前記コンピュータプロセッサによって実行される場合に、前記装置に：
１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出するステップと、
前記ストレージ装置退避事象の前記発生の検出に応答して、前記１つ以上のソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別するステップと、
前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすステップと、
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行するステップと
を実行させる、コンピュータプログラム命令を含む、
装置。
【請求項１１】
前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすことが、前記１つ以上のソースストレージ装置に対する全ての書込みアクセスをブロックすることをさらに含む、請求項１０に記載の装置。
【請求項１２】
前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすことが、前記１つ以上のソースストレージ装置に対する読取り専用アクセスを可能にすることをさらに含む、請求項１０に記載の装置。
【請求項１３】
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記１つ以上のソースストレージ装置から前記１つ以上のターゲットストレージ装置に、前記１つ以上のソースストレージ装置上に格納された前記データをコピーすることをさらに含む、請求項１０に記載の装置。
【請求項１４】
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記１つ以上のソースストレージ装置上の有効なデータおよび前記１つ以上のソースストレージ装置上の無効なデータを識別する、ガーベジコレクションプロセスを前記１つ以上のソースストレージ装置上で開始することと、前記ガーベジコレクションプロセスによって識別された前記有効なデータを前記１つ以上のターゲットストレージ装置に書き込むこととをさらに含む、請求項１０に記載の装置。
【請求項１５】
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記ストレージアレイ内の冗長データを利用して、前記データを前記１つ以上のターゲットストレージ装置上に再構築することをさらに含む、請求項１０に記載の装置。
【請求項１６】
前記ストレージ装置退避事象の前記発生を検出することが、データを前記１つ以上のソースストレージ装置から移行させるユーザー開始要求を受信することをさらに含む、請求項１０に記載の装置。
【請求項１７】
前記コンピュータプロセッサによって実行される場合に、前記装置に前記１つ以上のソースストレージ装置上に格納された前記データを消去するステップを実行させる、コンピュータプログラム命令をさらに含む、請求項１０に記載の装置。
【請求項１８】
前記１つ以上のソースストレージ装置上に格納されている前記データが、複数のストレージ装置にわたってストライプ化されているデータセットの一部である、請求項１０に記載の装置。
【請求項１９】
複数のストレージ装置を含むストレージアレイ内のデータを移行するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品はコンピュータ可読記憶媒体上に配置され、前記コンピュータプログラム製品は、コンピュータプロセッサによって実行される場合に、前記コンピュータプロセッサに：
１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出するステップと、
前記ストレージ装置退避事象の前記発生の検出に応答して、前記１つ以上のソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別するステップと、
前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすステップと、
前記１つ以上のソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行するステップと
を実行させる、コンピュータプログラム命令を含む、
コンピュータプログラム製品。
【請求項２０】
前記１つ以上のソースストレージ装置に対する書込みアクセスを減らすことが、前記１つ以上のソースストレージ装置に対する読取り専用アクセスを可能にすることをさらに含む、請求項１９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［0001］  本発明の分野は、データ処理であり、より詳細には、複数のストレージ装置を含むストレージアレイ内のデータを移行するための方法、装置および製品である。
【背景技術】
【０００２】
［0002］  最新のストレージシステムは多くのストレージ装置を含むことができる。記憶技術が進歩して、特定のストレージシステムが古くなるにつれて、特定のストレージシステム内に含まれているストレージ装置は、それらのもっと最新の対応物よりも、消費電力、応答時間、記憶密度、および他の評価基準に関して、効率が悪くなり得る。そのため、特定のストレージシステムのシステム管理者または他のユーザーは、特定のストレージシステム内に含まれているストレージ装置をアップグレードすることは望ましいと気づき得る。
【発明の概要】
【０００３】
［0003］  複数のストレージ装置を含むストレージアレイ内のデータを移行するための方法、装置、および製品は：ストレージアレイにより、１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出すること；ストレージ装置退避事象の発生の検出に応答して、ストレージアレイにより、１つ以上のソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別すること；ストレージアレイにより、１つ以上のソースストレージ装置に対する書込みアクセスを減らすこと；および１つ以上のソースストレージ装置上に格納されたデータを１つ以上のターゲットストレージ装置に移行することを含む。
【０００４】
［0004］  本発明の前述ならびに他の目的、特徴および利点は、図中、同様の番号が、一般に、本発明の実施形態例の同様の部分を表す、添付の図面に例示するような本発明の実施形態例の以下のより詳細な記述から明らかになるであろう。
【図面の簡単な説明】
【０００５】
【図１】［0005］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するために構成されたストレージシステムのブロック図を示す。
【図２】［0006］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行する際に有用なストレージアレイコントローラのブロック図を示す。
【図３】［0007］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するために構成されたストレージシステムのブロック図を示す。
【図４】［0008］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための方法例を例示する流れ図を示す。
【図５】［0009］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。
【図６】［0010］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。
【図７】［0011］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。
【図８】［0012］本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。
【発明を実施するための形態】
【０００６】
［0013］  本発明に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための方法、装置、および製品例が、図１から始まる、添付の図面を参照して説明される。図１は、本開示の実施形態に従い、データを移行するために構成されたストレージシステム（１００）のブロック図を示す。
【０００７】
［0014］  図１に示すストレージシステム（１００）は、複数のストレージアレイ（１０２、１０４）を含むが、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータの移行は、単一のストレージアレイだけを含むストレージシステムにおいて実行され得る。各ストレージアレイ（１０２、１０４）は、永続的なデータストレージをストレージシステム（１００）のユーザーに提供するコンピュータハードウェア装置の集合として具現化され得る。各ストレージアレイ（１０２、１０４）は、１つ以上のシャシ、ラック、または他の筐体内に取り付けられるデータストレージ装置の集合を含み得る。図１には明示的に示されていないが、各ストレージアレイ（１０２、１０４）は、ストレージシステム（１００）内の１つ以上の構成要素に電力バスを介して電力を供給する複数の電力供給を含み得、各ストレージアレイ（１０２、１０４）は、ストレージシステム（１００）内の１つ以上の構成要素が通信するのを可能にする複数のデータ通信ネットワークを含み得、各ストレージアレイ（１０２、１０４）は、ストレージシステム（１００）内の１つ以上の構成要素を冷却するために使用される複数の冷却構成要素などを含み得る。
【０００８】
［0015］  図１に示すストレージアレイ例（１０２、１０４）は、１つ以上のデータ通信ネットワークを経由してストレージシステムに結合されているコンピューティング装置（１６４、１６６、１６８、１７０）に対して永続的なデータストレージを提供し得る。図１に示すコンピューティング装置（１６４、１６６、１６８、１７０）の各々は、例えば、サーバー、ワークステーション、パーソナルコンピュータ、ノートブック、スマートフォン、タブレットコンピュータ、または同様のものとして具現化され得る。図１の例におけるコンピューティング装置（１６４、１６６、１６８、１７０）は、データ通信のために、ストレージエリアネットワーク（「ＳＡＮ」）（１５８）を通してストレージアレイ（１０２、１０４）に結合される。「ＳＡＮ」（１５８）は、様々なデータ通信ファブリック、装置、およびプロトコルと共に実装され得る。かかるＳＡＮ（１５８）に対するファブリック例は、ファイバチャネル、イーサネット、インフィニバンド、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（「ＳＡＳ」）、および同様のものを含み得る。かかるＳＡＳ（１５８）における使用のためのデータ通信プロトコル例は、アドバンスドテクノロジーアタッチメント（「ＡＴＡ」）、ファイバチャネルプロトコル、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ（「ＳＣＳＩ」）、ｉＳＣＳＩ、ＨｙｐｅｒＳＣＳＩ、および他のものを含み得る。ＳＡＮは、コンピューティング装置（１６４、１６６、１６８、１７０）とストレージアレイ（１０２、１０４）との間で実装され得る多くの可能なデータ通信結合の中の１つにすぎないことを読者は理解するであろう。例えば、ストレージアレイ（１０２、１０４）内のストレージ装置（１４６、１５０）は、ファイルレベルアクセスを容易にできるネットワーク接続ストレージ（「ＮＡＳ」）としても、またはファイルレベルプロトコルおよびブロックレベルプロトコルの両方を同じシステムから提供するＳＡＮ−ＮＡＳハイブリッドを使用してさえも、コンピューティング装置（１６４、１６６、１６８、１７０）に結合され得る。任意の他のかかるデータ通信結合は、本開示の実施形態の十分に範囲内である。
【０００９】
［0016］  図１に示すコンピューティング装置（１６４、１６６、１６８、１７０）は、データ通信のためにローカルエリアネットワーク（「ＬＡＮ」）（１６０）を通してもストレージアレイ（１０２、１０４）に結合される。図１のＬＡＮ（１６０）も、様々なファブリックおよびプロトコルで実装され得る。かかるファブリックの例は、イーサネット（８０２．３）、無線（８０２．１１）および同様のものを含む。かかるデータ通信プロトコルの例は、伝送制御プロトコル（「ＴＣＰ」）、ユーザーデータグラムプロトコル（「ＵＤＰ」）、インターネットプロトコル（「ＩＰ」、ハイパーテキスト転送プロトコル（「ＨＴＴＰ」）、ワイアレスアクセスプロトコル（「ＷＡＰ」）、ハンドヘルド機器転送プロトコル（「ＨＤＴＰ」）、リアルタイムプロトコル（「ＲＴＰ」）および当業者が思い付くような他のものを含む。図１に示すＬＡＮ（１６０）は、図１に示されていない他のコンピューティング装置に、例えば、インターネット（１７２）を介して結合され得る。１つのストレージアレイ（１０４）内の１つのストレージアレイコントローラ（１２０）だけがＬＡＮ（１６０）を介してコンピューティング装置（１６４、１６６、１６８、１７０）に結合されているとして明示的に示されているが、ストレージシステム（１００）内の任意のストレージアレイ（１０２、１０４）内の他のストレージアレイコントローラ（１０６、１１２、１１８）も同じＬＡＮ（１６０）または異なるＬＡＮを介してコンピューティング装置（１６４、１６６、１６８、１７０）に結合され得ることを読者は理解するであろう。
【００１０】
［0017］  図１に示す各ストレージアレイ（１０２、１０４）は、複数のストレージアレイコントローラ（１０６、１１２、１１８、１２０）を含む。各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、コンピュータハードウェア、コンピュータソフトウェア、またはコンピュータハードウェアとソフトウェアの組合せを含む、自動計算機のモジュールとして具現化され得る。各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、例えば、コンピューティング装置（１６４、１６６、１６８、１７０）の１つ以上から受信したデータをストレージに書き込む、ストレージからデータを消去する、コンピューティング装置（１６４、１６６、１６８、１７０）の１つ以上にデータを提供するためにストレージからデータを取得する、ディスク利用および性能を監視および報告する、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｒｉｖｅｓ）またはＲＡＩＤ様データ冗長操作を実行する、データを圧縮する、データを暗号化する、などの、様々なストレージ関連タスクを実行するように構成され得る。
【００１１】
［0018］  各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、プログラム可能論理チップ（「ＰＬＣ」）、特定用途向け集積回路（「ＡＳＩＣ」）、または中央処理装置、コンピュータメモリ、および様々なアダプタなどの個別の構成要素を含むコンピューティング装置としてを含む、様々な方法で実装され得る。各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、例えば、ＳＡＮ（１５８）およびＬＡＮ（１６０）を介して通信をサポートするように構成されたデータ通信アダプタを含み得る。図１の例におけるストレージアレイコントローラ（１２０）の１つだけがデータ通信のためにＬＡＮ（１６０）に結合されているとして示されているが、各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、ＬＡＮ（１６０）に独立して結合され得ることを読者は理解するであろう。各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、例えば、データ通信のためにストレージアレイコントローラ（１０６、１１２、１１８、１２０）を、ミッドプレーン（ｍｉｄｐｌａｎｅ）（１１４、１１６）を通して、いくつかのストレージ装置（１４６、１５０）、および書込みキャッシュとして利用される、いくつかの書込みバッファ装置（１４８、１５２）に結合するＩ／Ｏコントローラまたは同様のものも含み得る。
【００１２】
［0019］  図１に示す例では、各ストレージアレイ（１０２、１０４）における複数のストレージアレイコントローラ（１０６、１１２、１１８、１２０）の存在は、ストレージアレイ（１０２、１０４）に対するアクセス要求（例えば、読取り、書込み）に対応可能な独立した冗長なストレージアレイコントローラ（１０６、１１２、１１８、１２０）があるので、各ストレージアレイ（１０２、１０４）を高度に利用可能にできる。いくつかの実施形態では、特定のストレージアレイ（１０２、１０４）内の各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、各ストレージアレイコントローラ（１０６、１１２、１１８、１２０）が、ストレージアレイ（１０２、１０４）にアクセスする要求をコンピューティング装置（１６４、１６６、１６８、１７０）からＳＡＮ（１５８）またはＬＡＮ（１６０）を介して受信するために利用可能であり得るので、コンピューティング装置（１６４、１６６、１６８、１７０）に対してアクティブであるように見え得る。ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、ストレージアレイ（１０２、１０４）にアクセスする要求を受信するために利用可能であり得るが、いくつかの実施形態では、１つのストレージアレイコントローラ（１０６、１１２、１１８、１２０）だけが、アクセス要求をストレージ装置（１４６、１５０）または書込みバッファ装置（１４８、１５２）に向かわせるのをアクティブに許可され得る。説明を簡単にするために、アクセス要求をストレージ装置（１４６、１５０）または書込みバッファ装置（１４８、１５２）に向かわせるのを許可されるストレージアレイコントローラは、本明細書では、「アクティブな」ストレージアレイコントローラと呼ばれ得、他方、アクセス要求をストレージ装置（１４６、１５０）または書込みバッファ装置（１４８、１５２）に向かわせるのを許可されないストレージアレイコントローラは、本明細書では、「パッシブな」ストレージアレイコントローラと呼ばれ得る。パッシブなストレージアレイコントローラはそれでもストレージアレイ（１０２、１０４）にアクセスする要求をコンピューティング装置（１６４、１６６、１６８、１７０）からＳＡＮ（１５８）またはＬＡＮ（１６０）を介して受信し得るので、パッシブなストレージアレイコントローラは、パッシブなストレージアレイコントローラによって受信した任意のアクセス要求をアクティブなストレージアレイコントローラに転送するように構成され得ることを読者は理解するであろう。
【００１３】
［0020］  第１のストレージアレイ（１０２）内の第１のストレージアレイコントローラ（１０６）が、アクセス要求を第１のストレージアレイ（１０２）内のストレージ装置（１４６）または書込みバッファ装置（１４８）に向かわせるのを許可されているアクティブなストレージアレイコントローラであり、他方、第１のストレージアレイ（１０２）内の第２のストレージアレイコントローラ（１１８）が、アクセス要求を第１のストレージアレイ（１０２）内のストレージ装置（１４６）または書込みバッファ装置（１４８）に向かわせるのを許可されていないパッシブなストレージアレイコントローラである例を考える。かかる例では、第２のストレージアレイコントローラ（１１８）は、アクセス要求をコンピューティング装置（１６４、１６６、１６８、１７０）からＳＡＮ（１５８）またはＬＡＮ（１６０）を介して継続して受信し得る。コンピューティング装置（１６４、１６６、１６８、１７０）からアクセス要求を受信すると、第２のストレージアレイコントローラ（１１８）はかかるアクセス要求を第１のストレージアレイコントローラ（１０６）に第１のストレージアレイコントローラ（１０６）と第２のストレージアレイコントローラ（１１８）との間の通信リンクを介して転送するように構成され得る。かかる実施形態は、第１のストレージアレイコントローラ（１０６）と第２のストレージアレイコントローラ（１１８）との間に生じるに違いない調整の量を、両方のストレージアレイコントローラ（１０６、１１８）がストレージ装置（１４６）または書込みバッファ装置（１４８）を同時に変更するのが許可されている実施形態に比べて、削減し得ることを読者は理解するであろう。
【００１４】
［0021］  前述の例は、第１のストレージアレイコントローラ（１０６）がアクティブなストレージアレイコントローラであり、他方、第２のストレージアレイコントローラ（１１８）がパッシブなストレージアレイコントローラである実施形態に言及しているが、時間と共に、かかる指定は交互に切り替わり得る。例えば、第１のストレージアレイコントローラ（１０６）がパッシブなストレージアレイコントローラであり、他方、第２のストレージアレイコントローラ（１１８）がアクティブなストレージアレイコントローラである状況となる予期された、または予期されない事象が生じ得る。各ストレージアレイコントローラ（１０６、１１８）の役割における変更を引き起こし得る予期されない事象の一例は、ストレージアレイ（１０２）を第２のストレージアレイコントローラ（１１８）にフェイルオーバーさせる第１のストレージアレイコントローラ（１０６）での障害またはエラー状態の発生である。各ストレージアレイコントローラ（１０６、１１８）の役割における変更を引き起こし得る予期される事象の一例は、第１のストレージアレイコントローラ（１０６）は、第１の期間中に、ストレージ装置（１４６）および書込みバッファ装置（１４８）とやり取りする責任があり得、他方、第２のストレージアレイコントローラ（１１８）は、第２の期間中に、ストレージ装置（１４６）および書込みバッファ装置（１４８）とやり取りする責任があり得るので、所定の期間の満了である。前の段落は第１のストレージアレイ（１０２）を参照してアクティブおよびパッシブなストレージアレイコントローラを説明しているが、ストレージシステム（１００）内の他のストレージアレイ（１０４）の一部であるストレージアレイコントローラ（１１２、１２０）が同様に動作し得ることを読者は理解するであろう。
【００１５】
［0022］  図１に示す各ストレージアレイ（１０２、１０４）は、１つ以上の書込みバッファ装置（１４８、１５２）を含む。各書込みバッファ装置（１４８、１５２）は、ストレージアレイコントローラ（１０６、１１２、１１８、１２０）の１つから、ストレージ装置（１４６、１５０）の１つ以上に格納されるデータを受信するように構成され得る。書込みバッファ装置（１４８、１５２）へのデータの書込みは、ストレージ装置（１４６、１５０）へのデータの書込みよりも迅速に実行され得ることを読者は理解するであろう。ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、従って、書込みバッファ装置（１４８、１５２）を、ストレージ装置（１４６、１５０）の１つに書き込まれると決まっているデータに対して迅速にアクセス可能なバッファとして効果的に利用するように構成され得る。書込みバッファ装置（１４８、１５２）をかかる方法で利用することにより、ストレージシステム（１００）のユーザーによって経験される書込みレイテンシは、かかる書込みバッファ装置（１４８、１５２）を含んでいないストレージシステムに比べて著しく改善され得る。ストレージシステム（１００）のユーザーによって経験される書込みレイテンシは、たとえ書込み要求と関連付けられたデータがストレージ装置（１４６、１５０）のいずれにもまだ書き込まれていなくても、一旦、書込み要求と関連付けられたデータが書込みバッファ装置（１４８、１５２）の１つに書き込まれていると、ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、書込み要求が対応されていることを示す確認応答をストレージシステム（１００）のユーザーに送信し得るので、かかる書込みバッファ装置（１４８、１５２）を含んでいないストレージシステムに比べて著しく改善され得る。
【００１６】
［0023］  ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、より優れた効率のために、より多くの書込みを蓄積して、ストレージ装置（１４６、１５０）への書込みを編成することができるので、書込みバッファ装置（１４８、１５２）の存在は、ストレージ装置（１４６、１５０）の利用も改善し得る。より優れた効率は、例えば、ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、データのより深い圧縮を実行するためにより多くの時間を有し得、ストレージアレイコントローラ（１０６、１１２、１１８、１２０）はデータを、ストレージ装置（１４６、１５０）上の基礎となる物理的ストレージとより良く位置合わせされる書込みブロックに編成することが可能であり得、ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、データ上で重複排除操作を実行することが可能であり得るので、達成できる。かかる書込みバッファ装置（１４８、１５２）は、ソリッドステートドライブ（例えば、「フラッシュドライブ」）のストレージアレイをレイテンシ制限（ｌａｔｅｎｃｙ  ｌｉｍｉｔｅｄ）装置からスループット制限装置に効率的に変換する。かかる方法で、ストレージアレイコントローラ（１０６、１１２、１１８、１２０）は、ストレージ装置（１４６、１５０）に書き込まれるものをより良く編成するためにより多くの時間が与えられ得るが、それを行った後、次いで、ディスクベースアレイが制限されるようには機械的に制限されない。
【００１７】
［0024］  図１に示す各ストレージアレイ（１０２、１０４）は、１つ以上のストレージ装置（１４６、１５０）を含む。「ストレージ装置」は本明細書では、データを永続的に記録するように構成された任意の装置を指す。用語「永続的に」は、本明細書では、電源が失われた後に、記録されたデータを保持する装置の能力を指す。ストレージ装置の例は、機械的スピニングハードディスクドライブ、ソリッドステートドライブ、および同様のものを含み得る。
【００１８】
［0025］  図１のストレージアレイコントローラ（１０６、１１２）は、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行する際に有用であり得る。ストレージアレイコントローラ（１０６、１１２）は、複数のストレージ装置を含むストレージアレイ内のデータの移行を：１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出すること；ストレージ装置退避事象の発生の検出に応答して、１つ以上のソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別すること；１つ以上のソースストレージ装置に対する書込みアクセスを減らすこと；１つ以上のソースストレージ装置上に格納されたデータを１つ以上のターゲットストレージ装置に移行すること；１つ以上のソースストレージ装置に対する全ての書込みアクセスをブロックすること；１つ以上のソースストレージ装置に対する読取り専用アクセスを可能にすること；１つ以上のソースストレージ装置から、１つ以上のソースストレージ装置上に格納されたデータをコピーすること；１つ以上のソースストレージ装置からコピーされたデータを１つ以上のターゲットストレージ装置に書き込むこと；１つ以上のソースストレージ装置上の有効なデータおよび１つ以上のソースストレージ装置上の無効なデータを識別する、ガーベジコレクションプロセスを１つ以上のソースストレージ装置上で開始すること；ガーベジコレクションプロセスによって識別された有効なデータを１つ以上のターゲットストレージ装置に書き込むこと；ストレージアレイ内の冗長データを利用してデータを１つ以上のターゲットストレージ装置上に再構築すること；データを１つ以上のソースストレージ装置から移行させるユーザー開始要求を受信すること；１つ以上のソースストレージ装置上に格納されたデータを消去すること；ならびに以下でさらに詳細に説明する他の機能を実行することにより支援し得る。
【００１９】
［0026］  図１に例示するシステム例を構成するコンピューティング装置、ストレージアレイ、ネットワーク、および他の装置の配置は、説明のためであり、制限のためではない。本開示の様々な実施形態に従って有用なシステムは、当業者が思い付くような、図１に示されていない、サーバー、ルーター、スイッチ、コンピューティング装置、およびネットワークアーキテクチャの異なる構成を含み得る。
【００２０】
［0027］  本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータの移行は、一般に、コンピュータで実装される。図１のシステムでは、例えば、全てのコンピューティング装置（１６４、１６６、１６８、１７０）およびストレージコントローラ（１０６、１１２、１１８、１２０）は、ある程度、少なくともコンピュータとして実装され得る。さらなる説明のため、従って、図２は、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行する際に有用なストレージアレイコントローラ（２０２）のブロック図を示す。
【００２１】
［0028］  図２のストレージアレイコントローラ（２０２、２０６）は、ミッドプレーン（２１０）を介して、ストレージアレイ（２２０）の一部として含まれる１つ以上のストレージ装置（２１６）および１つ以上の書込みバッファ装置（２１８）に通信可能に結合され得るので、図２に示すストレージアレイコントローラ（２０２、２０６）は、図１に示すストレージアレイコントローラと類似し得る。ストレージアレイコントローラ（２０２、２０６）は、１つ以上のデータ通信リンク（２０４、２０８）を介してミッドプレーン（２１０）に結合され得、ミッドプレーン（２０６）は、１つ以上のデータ通信リンク（２１２、２１４）を介して、ストレージ装置（２１６）およびメモリバッファ装置（２１８）に結合され得る。図２のデータ通信リンク（２０４、２０８、２１２、２１４）は、例えば、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｅｘｐｒｅｓｓ（「ＰＣＩｅ」）バスとして、ＳＡＳデータ通信リンクとして、など、具現化され得る。ストレージアレイコントローラ（２０２）の１つだけが詳細に示されているが、他のストレージアレイコントローラ（２０６）が同様の構成要素を含み得ることを読者は理解するであろう。しかし、説明を簡単にするため、ストレージアレイコントローラ（２０２）の１つの詳細な図が以下で説明される。
【００２２】
［0029］  図２に詳述するストレージアレイコントローラ（２０２）は、少なくとも１つのコンピュータプロセッサ（２４０）または「ＣＰＵ」およびランダムアクセスメモリ（「ＲＡＭ」）（２４４）を含むことができる。コンピュータプロセッサ（２４０）は、ダブルデータレート４（「ＤＤＲ４」）バスなどの高速メモリバスとして具現化され得る、データ通信リンク（２３８）を介してＲＡＭ（２４４）に接続され得る。図２に詳述するストレージアレイコントローラ（２０２）は単一のコンピュータプロセッサだけを含むが、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行する際に有用なストレージアレイコントローラは、追加のコンピュータプロセッサを含み得ることを読者は理解するであろう。同様に、図２に詳述するストレージアレイコントローラ（２０２）は単一のＲＡＭ（２４４）だけを含むが、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行する際に有用なストレージアレイコントローラは、フラッシュメモリなどの追加の形式のコンピュータメモリを含み得ることを読者は理解するであろう。
【００２３】
［0030］  図２に詳述するストレージアレイコントローラ（２０２）は、ＲＡＭ（２４６）内に格納されているオペレーティングシステム（２４６）を含む。本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するために構成されたストレージアレイコントローラ（２０２、２０６）において有用なオペレーティングシステムの例は、ＵＮＩＸ（商標）、Ｌｉｎｕｘ（商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗs（商標）、および当業者が思い付くような他のものを含む。図２に示すオペレーティングシステム（２４６）は、例えば、ストレージアレイコントローラ（２０２）上のコンピュータハードウェアおよびソフトウェア資源を管理するシステムソフトウェアとして、具現化され得る。
【００２４】
［0031］  図２に詳述するストレージアレイコントローラ（２０２）は、ＲＡＭ（２４４）内に格納されているアレイオペレーティング環境（２５２）も含む。アレイオペレーティング環境（２５２）は、ストレージアレイコントローラ（２０２）が、ストレージアレイ（２２０）に向けられるアクセス要求に対応するのを可能にするために使用されるコンピュータプログラム命令の１つ以上のモジュールとして具現化され得る。アレイオペレーティング環境（２５２）は、ストレージ装置（２１６）または書込みバッファ装置（２１８）に送信されるＩ／Ｏ要求（例えば、読取り要求、書込み要求）を生成する責任があり得る。アレイオペレーティング環境（２５２）は、ストレージアレイ（２２０）内の資源のより効率的な利用となる様々な機能を実行するようにさらに構成され得る。アレイオペレーティング環境（２５２）は、例えば、データをストレージ装置（２１６）の１つに書き込む前にデータを圧縮する、データ重複排除操作を実行する、データが所定のサイズのブロックで書き込まれ得るようにストレージ装置（２１６）の１つに書き込まれるデータをプールする、などのために構成され得る。
【００２５】
［0032］  図２に詳述するストレージアレイコントローラ（２０２）は、退避管理モジュール（２５６）、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行する際に有用なコンピュータプログラム命令を含むモジュールも含む。退避管理モジュール（２５６）は、ストレージアレイコントローラ（２０２）のコンピュータプロセッサ（２４０）などのコンピュータハードウェア上で実行され得、それによりストレージアレイコントローラ（２０２）が：１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出すること；ストレージ装置退避事象の発生の検出に応答して、１つ以上のソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別すること；１つ以上のソースストレージ装置に対する書込みアクセスを減らすこと；１つ以上のソースストレージ装置上に格納されたデータを１つ以上のターゲットストレージ装置に移行すること；１つ以上のソースストレージ装置に対する全ての書込みアクセスをブロックすること；１つ以上のソースストレージ装置に対する読取り専用アクセスを可能にすること；１つ以上のソースストレージ装置から、１つ以上のソースストレージ装置上に格納されたデータをコピーすること；１つ以上のソースストレージ装置からコピーされたデータを１つ以上のターゲットストレージ装置に書き込むこと；１つ以上のソースストレージ装置上の有効なデータおよび１つ以上のソースストレージ装置上の無効なデータを識別する、ガーベジコレクションプロセスを１つ以上のソースストレージ装置上で開始すること；ガーベジコレクションプロセスによって識別された有効なデータを１つ以上のターゲットストレージ装置に書き込むこと；ストレージアレイ内の冗長データを利用してデータを１つ以上のターゲットストレージ装置上に再構築すること；データを１つ以上のソースストレージ装置から移行させるユーザー開始要求を受信すること；１つ以上のソースストレージ装置上に格納されたデータを消去すること；ならびに以下でさらに詳細に説明する他のステップを実行することにより、データを移行するのを可能にする。
【００２６】
［0033］  図２に詳述するストレージアレイコントローラ（２０２）は、データ通信リンク（２３０、２３２、２５８）を介してコンピュータプロセッサ（２４０）に結合される複数のホストバスアダプタ（２２２、２２４、２５０）も含む。各ホストバスアダプタ（２２２、２２４、２５０）は、ホストシステム（すなわち、ストレージアレイコントローラ）を他のネットワークおよびストレージ装置に接続するコンピュータハードウェアのモジュールとして具現化され得る。図２のホストバスアダプタ（２２２、２２４、２５０）の各々は、例えば、ストレージアレイコントローラ（２０２）がＳＡＮに接続できるようにするファイバチャネルアダプタとして、目的チャネルアダプタ（Ｔａｒｇｅｔ  Ｃｈａｎｎｅｌ  Ａｄａｐｔｅｒ）として、ＳＣＳＩ／ストレージ目的アダプタ（Ｓｔｏｒａｇｅ  Ｔａｒｇｅｔ  Ａｄａｐｔｅｒ）として、など、具現化され得る。ストレージアレイコントローラは、ストレージアレイコントローラ（２０２）がＬＡＮに接続できるようにする複数のイーサネットアダプタ（２２６、２２８）も含むが、他のタイプのネットワークアダプタが本開示の実施形態に従って利用され得ることを読者は理解するであろう。ホストバスアダプタ（２２２、２２４、２５０）およびイーサネットアダプタ（２２６、２２８）の各々は、例えば、ＰＣＩｅバスなどの、データ通信リンク（２３０、２３２、２３４、２３６、２５８）を介してコンピュータプロセッサ（２４０）に結合され得る。
【００２７】
［0034］  図２に詳述するストレージアレイコントローラ（２０２）は、データ通信リンク（２４８）を介してコンピュータプロセッサ（２４０）に結合されるスイッチ（２５４）も含む。図２のスイッチ（２５４）は、単一の終点から複数の終点を作成できるコンピュータハードウェア装置として具現化され得、それにより複数の装置が、当初は単一の終点であったものを共有できるようにする。図２のスイッチ（２５４）は、例えば、ＰＣＩｅバスに結合されて、ミッドプレーン（２１０）に対する複数のＰＣＩｅ接続点を提示するＰＣＩｅスイッチとして具現化され得る。
【００２８】
［0035］  図２のストレージアレイコントローラ（２０２）は、ストレージアレイコントローラ（２０２）を他のストレージアレイコントローラ（２０６）に結合するためのデータ通信リンク（２４２）も含み得る。かかるデータ通信リンク（２４２）は、例えば、ＱｕｉｃｋＰａｔｈインターコネクト（「ＱＰＩ」）インターコネクトとして、ＰＣＩｅ非透過ブリッジ（「ＮＴＢ」）インターコネクトとして、など、具現化され得る。前述して図に示した、構成要素、プロトコル、アダプタ、およびアーキテクチャは、例示のためであり、制限のためではないことを読者は理解するであろう。かかるストレージアレイコントローラは、様々な異なる方法で実装され得、その各々は、本開示の十分に範囲内である。
【００２９】
［0036］  さらなる説明のため、図３は、本発明の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行する際に有用な書込みバッファ装置（３１２）を例示するブロック図を示す。図３に示す書込みバッファ装置（３１２）は、図１および図２に示す書込みバッファ装置に類似している。書込みバッファ装置（３１２）は、ミッドプレーン（３０８）を介して、複数のストレージ装置（３１０）に通信可能に結合され、複数の書込みバッファ装置（３１２）にも通信可能に結合される、複数のストレージアレイコントローラ（３０４、３０６）を含むストレージアレイ（３０２）に含まれ得る。
【００３０】
［0037］  図３に示す書込みバッファ装置（３１２）は、２つのデータ通信ポート（３１４、３１６）を含む。図３のデータ通信ポート（３１４、３１６）は、ミッドプレーン（３０８）を介して書込みバッファ装置（３１２）をストレージアレイコントローラ（３０４、３０６）に通信可能に結合するためのコンピュータハードウェアとして具現化され得る。例えば、書込みバッファ装置（３１２）は、第１のデータ通信ポート（３１４）を介して第１のストレージアレイコントローラ（３０４）に通信可能に結合され得、また書込みバッファ装置（３１２）は、第２のデータ通信ポート（３１６）を介して第２のストレージアレイコントローラ（３０６）にも通信可能に結合され得る。図３に示す書込みバッファ装置（３１２）は、２つのデータ通信ポート（３１４、３１６）を含むが、不揮発性ストレージ装置のアレイに書き込まれるデータをバッファリングするために有用な書込みバッファ装置は、１つのデータ通信ポートだけ、または代替として、図３に示されていない追加のデータ通信ポートを含み得ることを読者は理解するであろう。
【００３１】
［0038］  図３に示す書込みバッファ装置（３１２）は、コントローラ（３２０）も含む。図３に示すコントローラ（３２０）は、例えば、データ通信ポート（３１４、３１６）を介してメモリアクセス要求（例えば、データを書込みバッファ装置内のメモリに書き込む要求）を受信し、かかるメモリアクセス要求に対応するためのコンピュータハードウェアとして具現化され得る。図３に示すコントローラ（３２０）は、例えば、ＡＳＩＣとして、マイクロコントローラとして、など、具現化され得る。図３に示すコントローラ（３２０）は、例えば、ＰＣＩｅデータ通信バスを介して、データ通信ポート（３１４、３１６）に通信可能に結合され得る。
【００３２】
［0039］  図３に示す書込みバッファ装置（３１２）は、図３にＤＲＡＭデュアルインラインメモリモジュール（「ＤＩＭＭ」）（３３８）として具現化された、複数のＤＲＡＭメモリモジュールも含む。図３に示すＤＲＡＭ  ＤＩＭＭ（３３８）は、ＤＤＲ（３１８）メモリバスなどのメモリバスを介してコントローラ（３２０）に結合され得、それにより、コントローラ（３２０）は、ＤＤＲ（３１８）メモリバスを介してＤＲＡＭ  ＤＩＭＭ（３３８）にデータを書き込むように構成できる。
【００３３】
［0040］  図３に示す書込みバッファ装置（３１２）は、一次電源（３２６）も含む。一次電源（３２６）は、書込みバッファ装置（３１２）内にあるコンピューティング構成要素に電力を供給するためのコンピュータハードウェアとして具現化され得る。一次電源（３２６）は、例えば、幹線給電からの交流（「ＡＣ」）電力を直流（「ＤＣ」）電力に変換することにより電気エネルギーを電気負荷に供給するスイッチング式電力供給として、１つの電圧レベルから別の電圧レベルへＤＣ源を変換するＤＣ／ＤＣ変換器として、など、具現化され得る。図３の一次電源（３２６）は、一次電源（３２６）が電力をコントローラ（３２０）に供給するために使用できる電力線（３２２）を経由してコントローラ（３２０）に結合される。図３の一次電源（３２６）は、一次電源（３２６）が電力をＤＲＡＭ  ＤＩＭＭ（３３８）に供給するために使用できる電力線（３３０）を経由してＤＲＡＭ  ＤＩＭＭ（３３８）にも結合される。図３の一次電源（３２６）は、一次電源（３２６）が電力を電源コントローラ（３４０）に供給するために使用できる電力線（３３２）を経由して電源コントローラ（３４０）にも結合される。一次電源（３２６）は、１本以上の制御線（３２４）、直列プレゼンス検出（「ＳＰＤ」）線（３２８）、または装置の存在を検出して、電力がその装置に供給されていることを検出するための他の機構の使用を通して、どの構成要素が電力を受信しているかを監視できる。不揮発性ストレージ装置のアレイに書き込まれるデータをバッファリングするために有用な書込み装置は、図３に示されていない追加のコンピューティング構成要素を含み得、その各々も一次電源（３２６）から電力を受信し得ることを読者は理解するであろう。
【００３４】
［0041］  図３に示す書込みバッファ装置（３１２）は、バックアップ電源（３４４）も含む。図３に示すバックアップ電源（３４４）は、一次電源（３２６）が故障した場合に電力をＤＲＡＭ  ＤＩＭＭ（３３８）に供給可能な電源を表す。かかる方法で、ＤＲＡＭ  ＤＩＭＭ（３３８）はバックアップ電源（３４４）から電力を受信し続けるために、一次電源（３２６）の故障は、ＤＲＡＭ  ＤＩＭＭ（３３８）の内容の喪失を引き起こさないので、ＤＲＡＭ  ＤＩＭＭ（３３８）は、不揮発性メモリとして、効果的に機能し得る。かかるバックアップ電源（３４４）は、例えば、超コンデンサとして具現化され得る。
【００３５】
［0042］  図３に示す書込みバッファ装置（３１２）は、電源コントローラ（３４０）も含む。図３に示す電源コントローラ（３４０）は、一次電源（３２６）の故障を識別して、電力をバックアップ電源（３４４）からＤＲＡＭ  ＤＩＭＭ（３３８）に供給させるように構成されたコンピュータハードウェアのモジュールとして具現化され得る。かかる例では、電力は、電源コントローラ（３４０）とバックアップ電源（３４４）との間の第１の電力線（３４２）、およびバックアップ電源コントローラ（３４０）とＤＲＡＭ  ＤＩＭＭ（３３８）との間の第２の電力線（３３４）を経由して、バックアップ電源（３４４）からＤＲＡＭ  ＤＩＭＭ（３３８）に供給され得る。図３に示すバックアップ電源コントローラ（３４０）は、例えば、アナログ回路、ＡＳＩＣ、マイクロコントローラなどとして、具現化され得る。電源コントローラ（３４０）は、ＤＲＡＭ  ＤＩＭＭ（３３８）が、ＤＲＡＭ  ＤＩＭＭ（３３８）に結合され得る１本以上の制御線（３３６）、および一次電源（３２６）に結合され得る１本以上の制御線の使用を通して電力を有するかどうかを監視できる。かかる例では、ＤＲＡＭ  ＤＩＭＭ（３３８）、一次電源（３２６）、および電源コントローラ（３４０）の間で信号を交換することにより、電源コントローラ（３４０）は、電力が一次電源（３２６）によってＤＲＡＭ  ＤＩＭＭ（３３８）に供給されているかどうかを識別し得る。
【００３６】
［0043］  図３に示す例では、コントローラ（３２０）は、１つ以上のデータ通信ポート（３１４、３１６）を経由してストレージアレイコントローラ（３０４、３０６）から、１つ以上のＤＲＡＭ  ＤＩＭＭ（３３８）にデータを書き込む命令を受信するように構成され得る。かかる命令は、例えば、データを書き込む位置、ＤＲＡＭ  ＤＩＭＭ（３３８）に書き込まれるデータ、命令を発行したホストの識別、命令と関連付けられたユーザーの識別、または命令に対応するために必要な任意の他の情報を含み得る。図３に示す例では、ＮＶＲＡＭコントローラ（３２０）は、かかる命令の受信に応答して、１つ以上のＤＲＡＭ  ＤＩＭＭ（３３８）にデータを書き込むようにさらに構成され得る。
【００３７】
［0044］  図３に示す例では、コントローラ（３２０）は、１つ以上のＤＲＡＭ  ＤＩＭＭ（３３８）へのデータの書込みに応答して、データが不揮発性ストレージ装置のアレイ（３０２）に書き込まれていることを示す確認応答を送信するようにさらに構成され得る。コントローラ（３２０）は、書込みバッファ装置（３１２）内のＤＲＡＭ  ＤＩＭＭ（３３８）へのデータの書込みに応答して、データがストレージアレイ（３０２）に書き込まれていることを示す確認応答を送信し得る。ＤＲＡＭ  ＤＩＭＭ（３３８）のいくつかの形式は揮発性メモリと考えられるが、ＤＲＡＭ  ＤＩＭＭ（３３８）は冗長電源（３２６、３４４）によって支援されているので、書込みバッファ装置（３１２）内のＤＲＡＭ  ＤＩＭＭ（３３８）へのデータの書込みは、ストレージ装置（３１０）などの従来型形式の不揮発性メモリへのデータの書込みと同様に扱われ得ることを読者は理解するであろう。さらに、書込みバッファ装置（３１２）内のＤＲＡＭ  ＤＩＭＭ（３３８）は、１つ以上のＮＶＤＩＭＭを含むことができる。そのため、一旦、書込みバッファ装置（３１２）内のＤＲＡＭ  ＤＩＭＭ（３３８）にデータが書き込まれると、データが安全かつ永続的にストレージ装置（３０２）に書き込まれていることを示す確認応答が送信され得る。
【００３８】
［0045］  図３に示す例では、コントローラ（３２０）は、一次電源（３２６）が故障しているかどうかを判断するようにさらに構成され得る。コントローラ（３２０）は、例えば、一次電源（３２６）が故障しているか、または故障しかけていることを示す信号を、制御線（３２４）を通して受信することによって、一次電源（３２６）からの電力の不足を検出することによって、など、一次電源（３２６）が故障しているかどうかを判断し得る。かかる例では、コントローラ（３２０）は、一次電源（３２６）が実際に故障してもコントローラ（３２０）が動作可能なまま維持できるように、バックアップ電源（３４４）に結合され得るか、または別の電源へのアクセスを有し得る。
【００３９】
［0046］  図３に示す例では、コントローラ（３２０）は、一次電源（３２６）が故障しているという判断に応答して、１つ以上のＤＲＡＭ  ＤＩＭＭ（３３８）に含まれるデータの書込みバッファ装置（３１２）内のフラッシュメモリへの転送を開始するようにさらに構成され得る。コントローラ（３２０）は、例えば、ＮＶＤＩＭＭに信号通知して１つ以上のＤＲＡＭ  ＤＩＭＭ（３３８）に含まれるデータをＮＶＤＩＭＭ上のフラッシュメモリに書き込むことにより、１つ以上のＤＲＡＭ  ＤＩＭＭ（３３８）に含まれるデータの、書込みバッファ装置（３１２）内のフラッシュメモリ（図示せず）への移行を開始し得る。
【００４０】
［0047］  さらなる説明のため、図４は、本開示の実施形態に従った複数のストレージ装置（４１２、４１４）を含むストレージアレイ（４０２）内のデータ（４１６）を移行するための方法例を例示する流れ図を示す。詳細には示されていないが、図４に示すストレージアレイ（４０２）は、図１〜図３を参照して前述したストレージアレイに類似し得る。ストレージアレイ（４０２）は従って、複数のストレージアレイコントローラ、ストレージ装置、書込みバッファ装置などを含み得る。図４に示すストレージアレイ（４０２）は、複数のストレージアレイを含む大規模なストレージシステムの一部でもあり得ることを読者は理解するであろう。
【００４１】
［0048］  図４に示す方法例は、ストレージアレイ（４０２）により、１つ以上のソースストレージ装置（４１２）と関連付けられたストレージ装置退避事象の発生を検出すること（４０４）を含む。ストレージ装置退避事象は、１つ以上のソースストレージ装置（４１２）が最終的にストレージアレイ（４０２）から取り除かれるので、１つ以上のソースストレージ装置（４１２）にもう書き込むべきでないことを示し得る。しかし、１つ以上のソースストレージ装置（４１２）がストレージアレイ（４０２）から取り除かれる前に、１つ以上のソースストレージ装置（４１２）上の有効なデータを、ストレージアレイ（４０２）内の他のストレージ装置（４１４）に再配置すべきである。ストレージ装置退避事象は、例えば、１つ以上のソースストレージ装置（４１２）がストレージアレイ（４０２）からの除去のために指定されていることを示すシステム管理者または他の管理エンティティに応答して生成される事象として、具現化され得る。システム管理者または他の管理エンティティは、例えば、ストレージアレイ（４０２）に含まれているストレージ装置（４１２、４１４）のインベントリを提示し、専用ユーザーインタフェースのユーザーが、ストレージアレイ（４０２）からの除去のために指定される１つ以上のソースストレージ装置（４１２）を選択できるようにもする専用ユーザーインタフェース（例えば、ディスプレイ画面上に提示されるＧＵＩ）の使用を通して、１つ以上のソースストレージ装置（４１２）がストレージアレイ（４０２）からの除去のために指定されていることを示し得る。
【００４２】
［0049］  図４に示す方法例では、１つ以上のソースストレージ装置（４１２）と関連付けられたストレージ装置退避事象の発生を検出すること（４０４）は、ストレージアレイ（４０２）内のコンピュータハードウェア上で実行しているコンピュータプログラム命令の専用モジュールによって実行され得る。コンピュータプログラム命令のかかる専用モジュールは、スタンドアロンモジュールであり得るか、または、例えば、図２を参照して前述したアレイオペレーティング環境などの、さらに大規模なモジュール内に含まれ得る。コンピュータプログラム命令のかかる専用モジュールは、例えば、アレイ管理サーバー内の１つ以上のコンピュータプロセッサ上で、前述のストレージアレイコントローラに類似したストレージアレイコントローラ内の１つ以上のコンピュータプロセッサ上で、またはストレージアレイ（４０２）内の他のコンピュータハードウェア上で、実行している可能性がある。
【００４３】
［0050］  １つ以上のソースストレージ装置（４１２）は、様々な理由で、ストレージアレイ（４０２）からの除去のために指定され得ることを読者は理解するであろう。例えば、多くのソースストレージ装置（４１２）が、比較的古いストレージ装置に対する交換品として利用可能であり得る比較的新しいストレージ装置よりも記憶容量が小さい比較的古いストレージ装置であり得る。代替として、多くのソースストレージ装置（４１２）が、より高いアクセスレイテンシを有する比較的古いストレージ装置であり得、比較的古いストレージ装置に対する交換品として利用可能であり得る比較的新しいストレージ装置ほど多くのＩＯＰＳを実行できない。従って、１つ以上のソースストレージ装置（４１２）が、ストレージアレイ（４０２）に対するアップグレードの一部としてストレージアレイ（４０２）からの除去のために指定され得る。１つ以上のソースストレージ装置（４１２）は、他の理由でストレージアレイ（４０２）からの除去のために指定され得ることを読者は理解し、さらに、１つ以上のソースストレージ装置（４１２）は、１つ以上のソースストレージ装置（４１２）の故障が差し迫っているという兆しもなく、今もなお適切に機能している可能性があるという事実にもかかわらず、ストレージアレイ（４０２）からの除去のために指定され得ることを読者は理解するであろう。
【００４４】
［0051］  図４に示す方法例は、ストレージアレイ（４０２）により、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別すること（４０６）も含む。１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別すること（４０６）は、ストレージアレイ（４０２）内のコンピュータハードウェア上で実行しているコンピュータプログラム命令の専用モジュールによって実行され得る。コンピュータプログラム命令のかかる専用モジュールは、スタンドアロンモジュールであり得るか、または、例えば、図２を参照して前述したアレイオペレーティング環境などの、さらに大規模なモジュール内に含まれ得る。コンピュータプログラム命令のかかる専用モジュールは、例えば、アレイ管理サーバー内の１つ以上のコンピュータプロセッサ上で、前述のストレージアレイコントローラに類似したストレージアレイコントローラ内の１つ以上のコンピュータプロセッサ上で、またはストレージアレイ（４０２）内の他のコンピュータハードウェア上で、実行している可能性がある。
【００４５】
［0052］  図４に示す方法例では、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別すること（４０６）は、ストレージ装置退避事象の発生の検出に応答して実行される。ストレージ装置退避事象の発生を検出すると、ストレージアレイ（４０２）は、ソースストレージ装置（４１２）に最も物理的に近接しているストレージ装置を識別すること、最も利用可能なストレージを有するストレージアレイ（４０２）内のストレージ装置を識別すること、などにより、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別し（４０６）得る。
【００４６】
［0053］  図４に示す方法例は、ストレージアレイ（４０２）により、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）も含む。１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）は、例えば、１つ以上のソースストレージ装置（４１２）に向けられ得る書込みアクセスの数を所定の値に制限することなどによって、任意の追加のデータが１つ以上のソースストレージ装置（４１２）に書き込まれるのを防ぐことにより実行され得る。ソースストレージ装置（４１２）をストレージアレイ（４０２）から除去することを見越して、新しいデータが、その後、そのソースストレージ装置（４１２）から移行されると仮定すると、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）により、ストレージアレイ（４０２）は、１つ以上のソースストレージ装置（４１２）からのデータの読取りを継続し得るが、新しいデータはそのソースストレージ装置（４１２）には書き込まれない可能性があることを読者は理解するであろう。
【００４７】
［0054］  １つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）は、ストレージアレイ（４０２）内のコンピュータハードウェア上で実行しているコンピュータプログラム命令の専用モジュールの使用を通して実行され得る。コンピュータプログラム命令のかかる専用モジュールは、スタンドアロンモジュールであり得るか、または、例えば、図２を参照して前述したアレイオペレーティング環境などの、さらに大規模なモジュール内に含まれ得る。コンピュータプログラム命令のかかる専用モジュールは、例えば、アレイ管理サーバー内の１つ以上のコンピュータプロセッサ上で、前述のストレージアレイコントローラに類似したストレージアレイコントローラ内の１つ以上のコンピュータプロセッサ上で、またはストレージアレイ（４０２）内の他のコンピュータハードウェア上で、実行している可能性がある。かかる例では、ストレージアレイ（４０２）内のコンピュータハードウェア上で実行しているコンピュータプログラム命令の専用モジュールは、ストレージアレイ（４０２）内のストレージアレイコントローラの各々に１つ以上のソースストレージ装置（４１２）に対する書込みアクセスが減らされていることを通知するように構成され得、それにより、ストレージアレイ（４０２）内のストレージアレイコントローラは、１つ以上のソースストレージ装置（４１２）に対して書込み要求を発行するのを停止（または制限）し得る。
【００４８】
［0055］  図４に示す方法例は、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）も含む。１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）は、例えば、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に書き込むことによって実行され得る。かかる例では、一旦、１つ以上のソースストレージ装置（４１２）上の全ての有効なデータが１つ以上のターゲットストレージ装置（４１４）に移行される（４１０）と、１つ以上のソースストレージ装置（４１２）はストレージアレイ（４０２）から安全に取り除かれ得る。一旦、１つ以上のソースストレージ装置（４１２）上の全ての有効なデータが１つ以上のターゲットストレージ装置（４１４）に移行される（４１０）と、ソースストレージ装置（４１２）はもはやストレージ装置の定足数（ｑｕｏｒｕｍ）の一部とは見なされない可能性がある。実際、そのソースストレージ装置（４１２）の代わりに挿入される任意のストレージ装置は、例えば、ストレージアレイ（４０２）内の特定のストレージアレイコントローラ上で実行しているアレイオペレーティング環境によって、実行され得る列挙プロセスを通して明示的に追加する必要がある。かかる列挙プロセスは、ストレージアレイ（４０２）への装置の挿入を検出すること、挿入された装置がストレージ装置であると識別すること、およびストレージ装置を機能できるようにする必要なルーチンまたはドライバを初期化することによって実行できる。かかる例では、ストレージアレイ（４０２）への装置の挿入を検出することは、ストレージアレイ（４０２）に対して装置が挿入されるか、または除去されると、装置の物理的な存在を検出してストレージアレイコントローラに信号通知するソフトウェア検出機構またはハードウェア構成要素（例えば、プレゼンス検出線（ｐｒｅｓｅｎｃｅ  ｄｅｔｅｃｔ  ｌｉｎｅ））の使用を通して実行され得る。挿入された装置がストレージ装置であると識別することは、例えば、挿入された装置に対する重要プロダクトデータ（「ＶＰＤ」）などの情報を受信するストレージアレイコントローラによって実行され得、かかるＶＰＤは、装置を識別するためにアレイオペレーティング環境によって利用できる。一旦、装置が識別されると、アレイオペレーティング環境は、装置にアクセスして利用するために必要なドライバおよびルーチンを初期化し得る。
【００４９】
［0056］  １つ以上のソースストレージ装置（４１２）上に格納されているデータ（４１６）を格納するために１つ以上のターゲットストレージ装置（４１４）上に十分な空き領域がない場合、データ（４１６）の移行（４１０）は打ち切られ得、ストレージアレイ（４０２）は、ストレージ装置退避事象の発生前のその状態にロールバックされ得ることを読者は理解するであろう。かかる例では、１つ以上のターゲットストレージ装置（４１４）上にデータ（４１６）を格納すると、ストレージアレイ（４０２）の容量利用が所定の閾値を超え得る場合、ストレージアレイコントローラ上で実行しているアレイオペレーティング環境は、１つ以上のターゲットストレージ装置（４１４）上で容量が不足していると判断し得る。
【００５０】
［0057］  いくつかの実施形態では、無効なデータは、かかる無効なデータを１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）によって保持する必要がないので、１つ以上のソースストレージ装置（４１２）上に格納されている有効なデータだけが１つ以上のターゲットストレージ装置（４１４）上に移行される（４１０）ことを読者は理解するであろう。データの特定の部分がソースストレージ装置（４１２）内の第１の位置に格納された例を考える。かかる例では、データの特定の部分を変更する要求が後に受信されたと仮定する。ソースストレージ装置（４１２）がＳＳＤとして具現化され得ることを考えれば、データの特定の部分を変更することは、ハードディスクドライブにおいて生じ得るように、単にデータを上書きすることによっては達成できない。代わりに、データの特定部分の変更されたバージョンが（同じストレージ装置上のこともあればそうでないこともあり得る）第２の位置に書き込まれて、ソースストレージ装置（４１２）内の第１の位置に格納されていたデータの特定部分は無効として印を付けられるであろう。そのため、ソースストレージ装置（４１２）は、まだガーベジコレクションされていない何らかの無効なデータを含み得、かかる無効なデータは、１つ以上のターゲットストレージ装置（４１４）に無効なデータを移行する（４１０）ことによって保持される必要はない。
【００５１】
［0058］  さらなる説明のため、図５は、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。図５に示す方法例も、１つ以上のソースストレージ装置（４１２）と関連付けられたストレージ装置退避事象の発生を検出すること（４０４）、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別すること（４０６）、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）、および１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）を含むので、図５に示す方法例は、図４に示す方法例に類似している。
【００５２】
［0059］  図５に示す方法例では、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）は、１つ以上のソースストレージ装置（４１２）に対する全ての書込みアクセスをブロックすること（５０２）を含むことができる。１つ以上のソースストレージ装置（４１２）に対する全ての書込みアクセスをブロックすること（５０２）は、例えば、１つ以上のソースストレージ装置（４１２）に対する書込み操作の発行を中止する、ストレージアレイ（４０２）内のストレージアレイコントローラの各々によって実行され得る。かかる例では、各ストレージアレイコントローラは、書込み操作に対応するために利用されるべきでないストレージアレイ（４０２）内の全てのストレージ装置を識別するリストまたは他のデータ構造を保持し得る。ストレージアレイコントローラは、全てのアクセス要求をストレージアレイ（４０２）内のストレージ装置（４１２、４１４）に向かわせる責任があるので、ストレージアレイコントローラは、最終的に１つ以上のソースストレージ装置（４１２）に対する全ての書込みアクセスをブロックする（５０２）ためのポリシを実施し得る。
【００５３】
［0060］  図５に示す方法例では、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）は、代替として、１つ以上のソースストレージ装置（４１２）に対する読取り専用アクセスを可能にすること（５０４）を含むことができる。１つ以上のソースストレージ装置（４１２）に対する読取り専用アクセスを可能にすること（５０４）は、例えば、１つ以上のソースストレージ装置（４１２）に対して書込み操作を発行するのを中止しながら、読取り操作が１つ以上のソースストレージ装置（４１２）に向けられるのを依然として可能にする、ストレージアレイ（４０２）内のストレージアレイコントローラの各々によって実行され得る。かかる例では、各ストレージアレイコントローラは、ストレージアレイ（４０２）内の全てのストレージ装置を識別して、アクセス権（例えば、読取り専用、読取り−書込み）をストレージアレイ（４０２）内のストレージ装置の各々と関連付ける、データリポジトリのリストまたは他の形式を保持し得る。ストレージアレイコントローラは、全てのアクセス要求をストレージアレイ（４０２）内のストレージ装置（４１２、４１４）に向かわせる責任があるので、ストレージアレイコントローラは、最終的に１つ以上のソースストレージ装置（４１２）に対する読取り専用アクセスを可能にする（５０４）ためのポリシを実施し得る。
【００５４】
［0061］  １つ以上のソースストレージ装置（４１２）に対する書込みアクセスが減らされる（４０８）、前述の例では、１つ以上のソースストレージ装置（４１２）上の重複排除されたデータの存在は、特例として扱われ得ることを読者は理解するであろう。データ重複排除は、それにより反復データの重複コピーが取り除かれるデータ圧縮技術である。データ重複排除技術の使用を通して、データの一意のチャンク（例えば、マスターコピー）がストレージアレイ（４０２）内に一度、格納され得、データのチャンクの全ての追加の発生が、格納されたチャンクをポイントする小さい参照と置き換えられる。１つ以上のソースストレージ装置（４１２）上の重複排除されたデータは、従って、例えば、１つ以上のソースストレージ装置（４１２）上に格納される一片のデータとして、具現化され得、その一片のデータは、ストレージアレイ（４０２）内の同じデータの他の発生によってポイントされる。１つ以上のソースストレージ装置（４１２）上の重複排除されたデータの存在は、例えば、重複排除されたデータへの読取り−書込みアクセスを可能にしながら、ソースストレージ装置（４１２）の残りの部分（例えば、重複排除されたデータを含んでいない部分）への読取り専用アクセスを可能にする（または書込みアクセスをブロックする）ことにより、処理され得る。代替として、重複排除されたデータは、ストレージアレイ内の別のストレージ装置に移行され得、重複排除されたデータに対する全ての参照は、重複排除されたデータが格納されている新しい位置をポイントするように更新され得る。
【００５５】
［0062］  さらなる説明のため、図６は、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。図６に示す方法例も、１つ以上のソースストレージ装置（４１２）と関連付けられたストレージ装置退避事象の発生を検出すること（４０４）、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別すること（４０６）、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）、および１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）を含むので、図６に示す方法例は、図４に示す方法例に類似している。
【００５６】
［0063］  図６に示す方法例では、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）は、１つ以上のソースストレージ装置（４１２）から１つ以上のターゲットストレージ装置（４１４）に、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）をコピーすること（６０２）を含むことができる。１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のソースストレージ装置（４１２）から１つ以上のターゲットストレージ装置（４１４）にコピーすること（６０２）は、例えば、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を読み取るストレージアレイコントローラおよびかかるデータを１つ以上のターゲットストレージ装置（４１４）に書き込むストレージアレイコントローラによって、実行され得る。代替実施形態では、ストレージアレイコントローラまたはドライブ自体でさえ、ソースの識別およびターゲットの識別をオペランドとして取るコピー操作をサポートするように構成され得る。かかる例では、オペランドは、コピーされるデータの物理アドレスの範囲、仮想アドレスの範囲、ベースアドレスおよびサイズの指示、容量などのデータの論理グループ分けの識別など、として指定され得る。図６に示す方法例は、データ（６０６）が１つ以上のターゲットストレージ装置（４１４）にコピーされている実施形態を例示することを読者は理解するであろう。
【００５７】
［0064］  さらなる説明のため、図７は、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。図７に示す方法例も、１つ以上のソースストレージ装置（４１２）と関連付けられたストレージ装置退避事象の発生を検出すること（４０４）、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別すること（４０６）、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）、および１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）を含むので、図７に示す方法例は、図４に示す方法例に類似している。
【００５８】
［0065］  図７に示す方法例では、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）は、１つ以上のソースストレージ装置（４１２）上でガーベジコレクションプロセスを開始すること（７０２）を含むことができる。ガーベジコレクションプロセスは、例えば、コンピュータプロセッサまたはマイクロコントローラなどのコンピュータハードウェア上で実行しているコンピュータプログラム命令のモジュールとして具現化され得る。ガーベジコレクションプロセスは、もはや使用されていないデータによって占有されているメモリを改善するように構成され得る。前述のように、もはや使用されていないデータは、本明細書では、無効なデータと呼ばれ得、他方、今もなお使用されているデータは、本明細書では、有効なデータと呼ばれ得る。
【００５９】
［0066］  図７に示す方法例では、ガーベジコレクションプロセスは、１つ以上のソースストレージ装置（４１２）上の有効なデータを識別し得、またガーベジコレクションプロセスは、１つ以上のソースストレージ装置（４１２）上の無効なデータも識別できる。ガーベジコレクションプロセスは、例えば、ストレージアレイ（４０２）内に格納されたデータと関連付けられているメタデータを読み取ることによって、１つ以上のソースストレージ装置（４１２）上の有効なデータを識別し得、またガーベジコレクションプロセスは、１つ以上のソースストレージ装置（４１２）上の無効なデータも識別できる。かかるメタデータは、データの特定部分が有効であるか、または無効であるかを判断するために使用できる情報を含むことができる。メタデータは、データがストレージ装置（４１２、４１４）に書き込まれる際に、ストレージアレイコントローラまたはストレージ装置（４１２、４１４）自体によって実行されるステップの結果としてかかる情報を含み得る。
【００６０】
［0067］  ストレージ装置（４１２、４１４）がＳＳＤとして具現化されて、データがＳＳＤに１６ＫＢページで書き込まれる例を考える。ＳＳＤ内の各ページに添付されているのは、そのページと関連付けられたメタデータを格納するために使用される少量（例えば、８バイト）の追加のメモリであり得る。ＳＳＤは、データを書き込む要求をストレージアレイコントローラから受信するように構成され得、データを書き込む要求は、ＳＳＤが後に物理アドレスに変換する仮想アドレスを含む。かかる例では、仮想−物理アドレス変換は、ＳＳＤにより、ＳＳＤによって維持される変換テーブル内に格納され得る。ＳＳＤが特定の仮想アドレスへのデータの書込み要求を受信すると、ＳＳＤは第１の物理アドレスと関連付けられている第１のページにデータを書き込み得、ＳＳＤはまた、第１のページと関連付けられたメタデータを格納するために使用される少量の追加のメモリ内の所定のビットを、その中に含まれているデータが有効であることを示す値に設定し得る。ＳＳＤが続いて特定の仮想アドレスにデータを書き込む第２の要求を受信する場合、ＳＳＤはそのデータを、第２の物理アドレスによって記述される第２のページに書き込み得、また第２のページと関連付けられたメタデータを格納するために使用される少量の追加のメモリ内の所定のビットを、その中に含まれているデータが有効であることを示す値に設定し得る。加えて、ＳＳＤは、第１のページと関連付けられたメタデータを格納するために使用される少量の追加のメモリ内の所定のビットを、その中に含まれているデータが無効であることを示す値に設定し得、同時に、特定の仮想アドレスを第２の物理アドレスにマッピングする変換テーブルも更新する。かかる方法で、ガーベジコレクションプロセスは、各ページの内容が有効であるか無効であるかを判断するために、各ページと関連付けられたメタデータをスキャンし得る。他の実施形態では、ストレージアレイ（４０２）内に格納されたデータと関連付けられているメタデータが別の方法で格納されて保持され得ることを読者は理解するであろう。
【００６１】
［0068］  図７に示す方法例では、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）は、ガーベジコレクションプロセスによって識別された有効なデータを１つ以上のターゲットストレージ装置（４１４）に書き込むこと（７０４）も含むことができる。ガーベジコレクションプロセスによって識別された有効なデータを１つ以上のターゲットストレージ装置（４１４）に書き込むこと（７０４）は、例えば、ガーベジコレクションプロセスによって識別された有効なデータを１つ以上のターゲットストレージ装置（４１４）に書き込むための１つ以上の命令を発行するストレージアレイコントローラによって、実行され得る。かかる例では、ガーベジコレクションプロセスは、ガーベジコレクションプロセスによって識別された有効なデータの１つ以上のターゲットストレージ装置（４１４）への書込みを容易にするために、ストレージアレイ上の他のモジュールと通信できるので、ガーベジコレクションプロセスによって識別された有効なデータを１つ以上のターゲットストレージ装置（４１４）に書き込むこと（７０４）は、ガーベジコレクションプロセスの一部でさえあり得る。図７に示す方法例は、データ（６０６）が１つ以上のターゲットストレージ装置（４１４）にガーベジコレクションプロセスで移行されている実施形態を例示することを読者は理解するであろう。
【００６２】
［0069］  さらなる説明のため、図８は、本開示の実施形態に従った複数のストレージ装置を含むストレージアレイ内のデータを移行するための追加の方法例を例示する流れ図を示す。図８に示す方法例も、１つ以上のソースストレージ装置（４１２）と関連付けられたストレージ装置退避事象の発生を検出すること（４０４）、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を受信するための１つ以上のターゲットストレージ装置（４１４）を識別すること（４０６）、１つ以上のソースストレージ装置（４１２）に対する書込みアクセスを減らすこと（４０８）、および１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）を含むので、図８に示す方法例は、図４に示す方法例に類似している。
【００６３】
［0070］  図８に示す方法例では、１つ以上のソースストレージ装置（４１２）と関連付けられたストレージ装置退避事象の発生を検出すること（４０４）は、データを１つ以上のソースストレージ装置（４１２）から移行させるユーザー開始要求（８０２）を受信すること（８０４）を含むことができる。データを１つ以上のソースストレージ装置（４１２）から移行させるユーザー開始要求（８０２）は、例えば、ストレージアレイ（４０２）内に含まれているストレージ装置（４１２、４１４）のインベントリを提示し、ユーザーインタフェースのユーザーがストレージアレイ（４０２）からの除去のために指定される１つ以上のソースストレージ装置（４１２）を選択できるようにもする、ユーザーインタフェース（例えば、ディスプレイ画面上に提示されるＧＵＩ）の使用を通して、受信され（８０４）得る。データを１つ以上のソースストレージ装置（４１２）から移行させるユーザー開始要求（８０２）は、他の実施形態では他の方法で受信され（８０４）得ることを読者は理解するであろう。
【００６４】
［0071］  図８に示す方法例では、１つ以上のソースストレージ装置（４１２）上に格納されているデータ（４１６）は、複数のストレージ装置にわたってストライプ化されているデータセットの一部であり得る。例えば、１つ以上のソースストレージ装置（４１２）上に格納されているデータ（４１６）は、別のストレージ装置（８１０）上に格納されているデータ（８１４）がＲＡＩＤストライプの一部であるＲＡＩＤストライプの一部であり得る。かかる例では、冗長データ（８１６）がストレージアレイ（４０２）内の別のストレージ装置（８１２）上に格納され得る。かかる冗長データ（８１６）は、データ（４１６、８１４）を含むストレージ装置（４１２、８１０）の１つが故障したか、または利用できなくなった場合に、ＲＡＩＤストライプ内にデータ（４１６、８１４）を再構築するために使用され得る。
【００６５】
［0072］  図８に示す方法例では、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を１つ以上のターゲットストレージ装置（４１４）に移行すること（４１０）は、ストレージアレイ（４０２）内の冗長データ（８１６）を利用して、データ（４１６）を１つ以上のターゲットストレージ装置（４１４）上に再構築すること（８０６）を含むことができる。データ（４１６）を１つ以上のターゲットストレージ装置（４１４）上に再構築すること（８０６）は、例えば、ＲＡＩＤアルゴリズムおよび冗長データ（８１６）を利用して、１つ以上のソースストレージ装置（４１２）上に格納されているデータ（４１６）を再構築することにより、実行され得る。しかし、図８に示す方法例では、１つ以上のターゲットストレージ装置（４１４）が、データ再構築データが格納される宛先として識別され得る。
【００６６】
［0073］  図８に示す方法例は、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を消去すること（８０８）も含む。１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を消去すること（８０８）は、一旦、１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）が１つ以上のターゲットストレージ装置（４１４）に成功裏に移行されていると、実行され得る。１つ以上のソースストレージ装置（４１２）上に格納されたデータ（４１６）を消去すること（８０８）は、データ保護手段として実行され得、一旦、ストレージ装置（４１２）がストレージアレイ（４０２）から除去されると、それらのストレージ装置（４１２）上に存在するクライアントデータがアクセスされないことを確実にする。図８に示す方法例は、データ（６０６）が１つ以上のターゲットストレージ装置（４１４）上に再構築されている実施形態を例示することを読者は理解するであろう。
【００６７】
［0074］  前述の方法例は一連のステップが特定の順序で起こる方法で示されているが、特に断らない限り、ステップの特定の順序付けは要求されないことを読者は理解するであろう。本発明の実施形態例は、大部分は、複数のストレージ装置を含むストレージアレイ内のデータを移行するために完全に機能するコンピュータシステムの文脈で説明される。しかし、本発明はまた、任意の適切なデータ処理システムと共に使用するためにコンピュータ可読記憶媒体上に配置されたコンピュータプログラム製品で具現化され得ることを読者は理解するであろう。かかるコンピュータ可読記憶媒体は、磁気媒体、光学式媒体、または他の適切な媒体を含む、機械可読情報のための任意の記憶媒体であり得る。かかる媒体の例は、ハードドライブまたはディスケット内の磁気ディスク、光学式ドライブ用コンパクトディスク、磁気テープ、および当業者が思い付くような他のものを含む。当業者は、適切なプログラミング手段を有する任意のコンピュータシステムは、コンピュータプログラム製品内に具現化されたような本発明の方法のステップを実行可能であることを直ちに認識するであろう。当業者は、この明細書で説明する実施形態例のいくつかは、コンピュータハードウェア上にインストールされて実行しているソフトウェアに適応されるが、それにもかかわらず、ファームウェアとして、またはハードウェアとして実装された代替実施形態は本発明の十分に範囲内であることも理解するであろう。
【００６８】
［0075］  本発明は、装置、方法、および／またはコンピュータプログラム製品として具現化され得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体（または複数の媒体）を含み得る。コンピュータ可読記憶媒体は、命令実行装置による使用のための命令を保持および格納できる有形装置であり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージ装置、磁気ストレージ装置、光学式ストレージ装置、電磁ストレージ装置、半導体ストレージ装置、または前述の任意の適切な組合せであり得るが、それらに制限されない。コンピュータ可読記憶媒体のさらに特定の例の包括的でないリストは、次を含む：可搬式コンピュータディスケット、ハードディスク、ＲＡＭ、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、可搬式コンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティックなど。本明細書では、コンピュータ可読記憶媒体は、電波または他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体（例えば、光ファイバケーブルを通過する光パルス）を通して伝搬する電磁波、またはワイヤーを通って伝送される電気信号など、本質的に一時的信号と解釈されるべきでない。
【００６９】
［0076］  本明細書で説明するコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理装置に、または外部コンピュータもしくは外部ストレージ装置に、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワークおよび／もしくは無線ネットワークを経由して、ダウンロードできる。ネットワークは、銅伝送ケーブル、光伝送ケーブル、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび／またはエッジサーバーを含み得る。各コンピューティング／処理装置内のネットワークアダプタカードまたはネットワークインタフェースが、コンピュータ可読プログラム命令をネットワークから受信して、コンピュータ可読プログラム命令をそれぞれのコンピューティング／処理装置内のコンピュータ可読記憶媒体内での格納のために転送する。
【００７０】
［0077］  本発明の操作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機種依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、Ｃ＋＋もしくは同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの、従来の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組合せで書かれたソースコードもしくはオブジェクトコードのいずれか、であり得る。コンピュータ可読プログラム命令は、完全にユーザーのコンピュータ上で、一部、ユーザーのコンピュータ上で、スタンドアロンソフトウェアパッケージとして、一部はユーザーのコンピュータ上で一部はリモートコンピュータ上で、または完全にリモートコンピュータもしくはサーバー上で、実行し得る。後者のシナリオでは、リモートコンピュータは、ＬＡＮもしくはワイドエリアネットワーク（ＷＡＮ）を含む、任意のタイプのネットワークを通してユーザーのコンピュータに結合され得るか、または接続は、外部コンピュータに対して（例えば、インターネットサービスプロバイダを使用してインターネットを通して）行われ得る。いくつかの実施形態では、例えば、プログラム可能論理回路を含む、電子回路、ＦＰＧＡ、またはＰＬＡは、本発明の態様を実行するために、電子回路をパーソナライズするためのコンピュータ可読プログラム命令の状態情報を利用することにより、コンピュータ可読プログラム命令を実行し得る。
【００７１】
［0078］  本発明の態様は、本明細書では、本発明の実施形態に従った方法、装置（システム）、およびコンピュータプログラム製品の流れ図および／またはブロック図を参照して説明される。流れ図および／またはブロック図の各ブロック、ならびに流れ図および／またはブロック図内のブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００７２】
［0079］  これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてマシンを作成し得、それにより、コンピュータまたは他のプログラム可能データ処理装置のプロセッサで実行する、命令が、流れ図および／またはブロック図ブロックもしくは複数のブロック内に指定された機能／動作を実装するための手段を作成する。これらのコンピュータ可読プログラム命令も、コンピュータ、プログラム可能データ処理装置、および／または他の装置に特定の方法で機能するように指示できるコンピュータ可読記憶媒体内に格納され得、そのため、その中に格納された命令を有するコンピュータ可読記憶媒体は、流れ図および／またはブロック図ブロックもしくは複数のブロック内に指定された機能／動作の態様を実装する命令を含む製品を含む。
【００７３】
［0080］  コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、または他の装置にロードされて、一連の操作ステップを、コンピュータ、他のプログラム可能装置、または他の装置上で実行させ得、それにより、コンピュータ、他のプログラム可能装置、または他の装置上で実行する命令が、流れ図および／またはブロック図ブロックもしくは複数のブロック内に指定された機能／動作を実装する。
【００７４】
［0081］  図面の流れ図およびブロック図は、本発明の様々な実施形態に従った装置、方法、およびコンピュータプログラム製品の考えられる実施態様のアーキテクチャ、機能、および操作を例示する。これに関連して、流れ図またはブロック図内の各ブロックは、指定された論理関数（複数可）を実装するための１つ以上の実行可能命令を含む、命令のモジュール、セグメント、または一部を表し得る。いくつかの代替実施形態では、ブロック内に記述された機能は、図に記述された順序から離れて起こり得る。例えば、連続して示された２つのブロックは、実際には、関与する機能に応じて、実質的に同時に実行され得るか、またはブロックは時々、逆の順序で実行され得る。ブロック図および／または流れ図の各ブロック、ならびにブロック図および／または流れ図内のブロックの組合せは、指定された機能もしくは動作を実行するか、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用ハードウェアベースシステムによって実装できることにも留意されたい。
【００７５】
［0082］  本明細書で説明するステップは、様々な方法で実行され得、特定の順序付けは要求されないことを読者は理解するであろう。前述の説明から、修正および変更は、その精神から逸脱することなく、本発明の様々な実施形態で行われ得ることがさらに理解されるであろう。本明細書における説明は、例示のために過ぎず、制限する意味で解釈されるべきでない。本発明の範囲は、以下のクレームの言語によってのみ制限される。
【図１】
2019516149.tif 000003
【図２】
2019516149.tif 000004
【図３】
2019516149.tif 000005
【図４】
2019516149.tif 000006
【図５】
2019516149.tif 000007
【図６】
2019516149.tif 000008
【図７】
2019516149.tif 000009
【図８】
2019516149.tif 000010
【手続補正書】
【提出日】平成31年1月11日(2019.1.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のストレージ装置を含むストレージアレイ内のデータを移行する方法であって、
適切に機能しているソースストレージ装置を前記ストレージアレイから除去するよう指定する指示を、前記ストレージアレイによって受信することと、
前記適切に機能しているソースストレージ装置を前記ストレージアレイから除去するよう指定する前記指示を受信することに応答して、
前記ストレージアレイによって、前記適切に機能しているソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別することと、
前記適切に機能しているソースストレージ装置内に格納された全ての重複排除されたデータに対する読取り−書込みアクセスを可能にし、かつ、重複排除されたデータを含まない、前記適切に機能しているソースストレージ装置の残りの部分に対する読取り専用アクセスを可能にすることと、
前記適切に機能しているソースストレージ装置上に格納された前記重複排除されたデータに対して実行されるべき書込み要求を許可することと、
前記適切に機能しているソースストレージ装置の前記残りの部分に関する書込み要求は、前記１つ以上のターゲットストレージ装置に向かわせることと、
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することと
を含む、方法。
【請求項２】
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記適切に機能しているソースストレージ装置から前記１つ以上のターゲットストレージ装置に、前記適切に機能しているソースストレージ装置上に格納された前記データをコピーすることをさらに含む、請求項１に記載の方法。
【請求項３】
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、
前記適切に機能しているソースストレージ装置上の有効なデータおよび前記適切に機能しているソースストレージ装置上の無効なデータを識別する、ガーベジコレクションプロセスを前記適切に機能しているソースストレージ装置上で開始することと、
前記ガーベジコレクションプロセスによって識別された前記有効なデータを前記１つ以上のターゲットストレージ装置に書き込むことと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記ストレージアレイ内の冗長データを利用して前記データを前記１つ以上のターゲットストレージ装置上に再構築することをさらに含む、請求項１に記載の方法。
【請求項５】
前記ストレージアレイによって、１つ以上のソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出することであって、前記ストレージ装置退避事象の前記発生を検出することが、データを前記適切に機能しているソースストレージ装置から移行させるユーザー開始要求を受信することをさらに含む、請求項１に記載の方法。
【請求項６】
前記適切に機能しているソースストレージ装置上に格納された前記データを消去することをさらに含む、請求項１に記載の方法。
【請求項７】
前記適切に機能しているソースストレージ装置上に格納されている前記データが、複数のストレージ装置にわたってストライプ化されているデータセットの一部である、請求項１に記載の方法。
【請求項８】
複数のストレージ装置を含むストレージアレイ内のデータを移行するための装置であって、前記装置は、コンピュータプロセッサとコンピュータメモリとを含み、前記コンピュータメモリは、前記コンピュータプロセッサによって実行される場合に、前記装置に：
適切に機能しているソースストレージ装置を前記ストレージアレイから除去するよう指定する指示を、前記ストレージアレイによって受信するステップと、
前記適切に機能しているソースストレージ装置を前記ストレージアレイから除去するよう指定する前記指示を受信することに応答して、
前記ストレージアレイによって、前記適切に機能しているソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別するステップと、
前記適切に機能しているソースストレージ装置内に格納された全ての重複排除されたデータに対する読取り−書込みアクセスを可能にし、かつ、重複排除されたデータを含まない、前記適切に機能しているソースストレージ装置の残りの部分に対する読取り専用アクセスを可能にするステップと、
前記適切に機能しているソースストレージ装置上に格納された前記重複排除されたデータに対して実行されるべき書込み要求を許可するステップと、
前記適切に機能しているソースストレージ装置の前記残りの部分に関する書込み要求は、前記１つ以上のターゲットストレージ装置に向かわせるステップと、
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行するステップと
を実行させる、コンピュータプログラム命令を含む、
装置。
【請求項９】
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記適切に機能しているソースストレージ装置から前記１つ以上のターゲットストレージ装置に、前記適切に機能しているソースストレージ装置上に格納された前記データをコピーすることをさらに含む、請求項８に記載の装置。
【請求項１０】
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、
前記適切に機能しているソースストレージ装置上の有効なデータおよび前記適切に機能しているソースストレージ装置上の無効なデータを識別する、ガーベジコレクションプロセスを前記適切に機能しているソースストレージ装置上で開始することと、
前記ガーベジコレクションプロセスによって識別された前記有効なデータを前記１つ以上のターゲットストレージ装置に書き込むこととをさらに含む、請求項８に記載の装置。
【請求項１１】
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行することが、前記ストレージアレイ内の冗長データを利用して、前記データを前記１つ以上のターゲットストレージ装置上に再構築することをさらに含む、請求項８に記載の装置。
【請求項１２】
前記コンピュータプログラム命令は、前記ストレージアレイによって、前記適切に機能しているソースストレージ装置と関連付けられたストレージ装置退避事象の発生を検出することであって、前記ストレージ装置退避事象の前記発生を検出することが、データを前記適切に機能しているソースストレージ装置から移行させるユーザー開始要求を受信することをさらに含むステップを前記装置に実行させる、請求項８に記載の装置。
【請求項１３】
前記コンピュータプロセッサによって実行される場合に、前記装置に前記適切に機能しているソースストレージ装置上に格納された前記データを消去するステップを実行させる、コンピュータプログラム命令をさらに含む、請求項８に記載の装置。
【請求項１４】
前記適切に機能しているソースストレージ装置上に格納されている前記データが、複数のストレージ装置にわたってストライプ化されているデータセットの一部である、請求項８に記載の装置。
【請求項１５】
複数のストレージ装置を含むストレージアレイ内のデータを移行するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品はコンピュータ可読記憶媒体上に配置され、前記コンピュータプログラム製品は、コンピュータプロセッサによって実行される場合に、前記コンピュータプロセッサに：
適切に機能しているソースストレージ装置を前記ストレージアレイから除去するよう指定する指示を、前記ストレージアレイによって受信するステップと、
前記適切に機能しているソースストレージ装置を前記ストレージアレイから除去するよう指定する前記指示を受信することに応答して、
前記ストレージアレイによって、前記適切に機能しているソースストレージ装置上に格納されたデータを受信するための１つ以上のターゲットストレージ装置を識別するステップと、
前記適切に機能しているソースストレージ装置内に格納された全ての重複排除されたデータに対する読取り−書込みアクセスを可能にし、かつ、重複排除されたデータを含まない、前記適切に機能しているソースストレージ装置の残りの部分に対する読取り専用アクセスを可能にするステップと、
前記適切に機能しているソースストレージ装置上に格納された前記重複排除されたデータに対して実行されるべき書込み要求を許可するステップと、
前記適切に機能しているソースストレージ装置の前記残りの部分に関する書込み要求は、前記１つ以上のターゲットストレージ装置に向かわせるステップと、
前記適切に機能しているソースストレージ装置上に格納された前記データを前記１つ以上のターゲットストレージ装置に移行するステップと
を実行させる、コンピュータプログラム命令を含む、
コンピュータプログラム製品。
【請求項１６】
前記コンピュータプログラム命令は、前記適切に機能しているストレージ装置に対する書込みアクセスを減らすことであって、前記適切に機能しているソースストレージ装置に対する書込みアクセスを減らすことが、前記適切に機能しているソースストレージ装置に対する読取り専用アクセスを可能にすることをさらに含むステップを、前記コンピュータプロセッサに実行させる、請求項１５に記載のコンピュータプログラム製品。
【国際調査報告】
2019516149.tif 000011
2019516149.tif 000012