JP5336729B2 - サポート・プロセッサによる最適化されたデータ・マイグレーションのための方法、システム、およびプログラム - Google Patents

サポート・プロセッサによる最適化されたデータ・マイグレーションのための方法、システム、およびプログラム Download PDF

Info

Publication number
JP5336729B2
JP5336729B2 JP2007315859A JP2007315859A JP5336729B2 JP 5336729 B2 JP5336729 B2 JP 5336729B2 JP 2007315859 A JP2007315859 A JP 2007315859A JP 2007315859 A JP2007315859 A JP 2007315859A JP 5336729 B2 JP5336729 B2 JP 5336729B2
Authority
JP
Japan
Prior art keywords
processor
storage device
data
raid controller
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007315859A
Other languages
English (en)
Other versions
JP2008159045A (ja
Inventor
ロバート・アキラ・クボ
ジョン・チャールズ・エリオット
グレッグ・スティーヴン・ルーカス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008159045A publication Critical patent/JP2008159045A/ja
Application granted granted Critical
Publication of JP5336729B2 publication Critical patent/JP5336729B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般にコンピュータに関し、具体的には、ストレージ・システム内にサポート・プロセッサを備えた、最適化されたデータ・マイグレーションのシステムおよび方法に関する。
データ・ストレージ・システムは、1つまたは複数のホスト・コンピュータ・システムによって提供される情報を格納するために使用される。こうしたデータ・ストレージ・システムは、複数のデータ・ストレージ・デバイスに情報を書き込むための要求と、その複数のデータ・ストレージ・デバイスから情報を取り出すための要求とを受け取る。当分野では、複数のデータ・ストレージ・デバイスを2つまたはそれ以上のストレージ・アレイに構成することが知られている。
ストレージ・システムは、システムを保護するための冗長性を提供するアーキテクチャ設計の実装を通じて、高い可用性および信頼性特徴を提供する。耐障害性は、システム内で冗長耐障害ハードウェア設計を通じて達成され、ユーザ・データは、RAID(redundant array of independent disk)スキーム内で構成されたストレージ・デバイスのアレイ内に格納される。従来のRAIDスキーム(RAIDレベル1、2、3、4、5、10[0+1,1+0])は、単一レベルの冗長保護を提供し、追加障害からのデータ損失にさらされる以前に、単一のデバイス障害に耐える。一般に「ホット・スペアリング」として知られるオンラインRAIDアレイ修復は、ストレージ・デバイスの障害後に、RAIDアレイ冗長性を復元する。
アレイ修復アクション(スペアリング・アクティビティ)の結果、RAIDアレイの最適とは言えない構成が生じるシナリオがある。いくつかのケースでは、構成のRAIDアレイ・メンバ・ストレージ・デバイスの置換/マイグレーションが望ましい場合がある。こうしたケースの例には、結果としてストレージ・デバイス・タイプと最適とは言えない構成との混合が生じる、RAIDアレイ修復アクション(スペアリング・アクティビティ)が含まれる。ストレージ・デバイスの混合は、デバイス容量のミスマッチ、速度(RPM)およびインターフェース・レートを含むデバイス性能特性、エンタープライズ・クラス、ニアライン・クラス、およびデスクトップ・クラスなどのデバイス信頼特性、ならびに、ストレージ・デバイス・ネットワーク・ポジションなどの、非整合の特性を含むことができる。前述の特性に加えて、マルチストレージ・デバイス・サービス境界は、結果として、受け入れ可能なサービス境界を作成するためのデータ・マイグレーションを発生させる可能性がある。
アクティブなRAIDアレイ・メンバ(ソース)から新しいターゲット・デバイスへデータをマイグレーションするためには、RAIDアレイに新しいデバイスにマイグレーションされることが望ましいデバイスを再構築させるのではなく、データをソース・デバイスからターゲット・デバイスへマイグレーションするためのある種のコピー・アクティビティを実行することが望ましい。従来技術には、ソース・デバイスとターゲット・デバイスとの間にRAID 1関係を形成し、ソース・デバイスとターゲット・デバイスとの間でデータを同期化するために再構築されるミラーリングを実行する、RAIDコントローラが含まれる。この方法は、重要なRAIDコントローラおよびストレージ・デバイス・ファブリック・リソースを完了することが必要である。RAIDコントローラおよびストレージ・デバイス・ネットワーク・ファブリック(fabric)によって消費されるリソースは、特定のアクティビティの持続期間中、システム性能全体に影響を与える。
したがって、前述のようなシステム・リソースの使用を最小限にする、データのマイグレーションのためのシステムおよび方法が求められている。このシステムおよび方法は、効率の良い、費用対効果の高いソリューションを提供するために、既存のストレージ・デバイスおよびネットワーク・ファブリックを使用するものとする。
一実施形態では、本発明は、ソース・ストレージ・デバイス(以下、ソース・デバイスともいう)の容量を複数のサブ領域に分割するステップと、複数のサブ領域をストレージ・アクティビティからロックするステップと、ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、ソース・デバイスからターゲット・ストレージ・デバイス(以下、ターゲット・デバイスともいう)へデータをコピーするためにローカル・プロセッサを割り当てるステップと、ローカル・プロセッサによって複数のサブ領域のうちの1つからデータを読み取るステップと、ローカル・プロセッサによってターゲット・デバイス上の同一のロケーションにデータを書き込むステップと、を含む、ストレージ・システム内のソース・デバイスからターゲット・デバイスへデータをマイグレーションする方法である。
他の実施形態では、本発明は、ストレージ・システムのローカル・ドメイン内で動作可能なローカル・プロセッサと、当該ローカル・プロセッサに電気的に接続されたRAIDコントローラとを備え、RAIDコントローラが、ソース・デバイスの容量を複数のサブ領域に分割し、当該サブ領域をストレージ・アクティビティからロックし、ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立し、ソース・デバイスからターゲット・デバイスへデータをコピーするためにプロセッサを割り当てる、ストレージ・システム内のソース・デバイスとターゲット・デバイスとの間でデータをマイグレーションするためのシステムである。
他の実施形態では、本発明は、ストレージ・システム内のソース・デバイスからターゲット・デバイスへデータをマイグレーションするためのプログラムを含み、ソース・デバイスの容量を複数のサブ領域に分割するステップと、当該複数のサブ領域をストレージ・アクティビティからロックするステップと、ソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、ソース・デバイスからターゲット・デバイスへデータをコピーするためにローカル・プロセッサを割り当てるステップと、ローカル・プロセッサによって複数のサブ領域のうちの1つからデータを読み取るステップと、ローカル・プロセッサによってターゲット・デバイス上の同一ロケーションにデータを書き込むステップと、をコンピュータに実行させるためのプログラムである。
本発明の利点が容易に理解されるようにするために、添付の図面に示された特定の実施形態を参照しながら、上記で簡単に説明した本発明についてより具体的に説明する。これらの図面が本発明の典型的な実施形態のみを示していること、したがって、その範囲を限定するものとはみなされないことを理解しながら、添付の図面を使用することによって特異性および詳細を追加し、本発明について記述および説明する。
本明細書で説明する機能ユニットのいくつかは、とりわけそれらの実装の独立性を強調するために、モジュールとしてラベル付けされている。たとえばあるモジュールは、カスタムVLSI回路またはゲート・アレイ、論理チップなどの市販の半導体、トランジスタ、あるいはその他の離散的コンポーネントを備える、ハードウェア回路として実装することができる。あるモジュールは、フィールド・プログラム可能ゲート・アレイ、プログラム可能アレイ論理、プログラム可能論理デバイスなどの、プログラム可能ハードウェア・デバイス内に実装することもできる。
モジュールは、様々なタイプのプロセッサによって実行するために、ソフトウェア内に実装することもできる。たとえば実行可能コードの識別モジュールは、たとえばオブジェクト、プロシージャ、または関数として編成可能な、コンピュータ命令の1つまたは複数の物理ブロックまたは論理ブロックを備えることができる。それにもかかわらず、識別モジュールの実行可能コードは物理的に一緒に配置される必要はないが、論理的に結合された場合、そのモジュールを備え、モジュールの定められた目的を達成する、異なる場所に格納された離散命令を備えることができる。
実際のところ、実行可能コードのモジュールは、単一の命令または多くの命令とすることが可能であり、いくつかの異なるコード・セグメントにわたって、異なるプログラム間で、さらにはいくつかのメモリ・デバイスにまたがって、分散させることさえも可能である。同様に、本明細書では動作データをモジュール内に識別および図示することが可能であり、任意の好適な形で実現し、任意の好適なタイプのデータ構造で編成することが可能である。動作データは、単一のデータ・セットとしてまとめるか、または異なるストレージ・デバイスにわたることを含む、異なるロケーションにわたって分散させることが可能であり、少なくとも部分的には、システムまたはネットワーク上の単なる電子信号として存在することが可能である。
本明細書全体にわたる「一実施形態」、「ある実施形態」、または同様の言い方への言及は、その実施形態に関連して述べられる特定の機能、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって「一実施形態において」、「ある実施形態において」、または同様の言い方の句が現れた場合、すべて同じ実施形態について言及している可能性があるが、必ずしもそうとは限らない。
信号伝送媒体への言及は、デジタル処理装置上で、信号を生成すること、信号を生成させること、またはマシン読み取り可能命令のプログラムを実行させ得ることのうちいずれかの形を取ることができる。信号伝送媒体は、伝送回線、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、または他のデジタル処理装置メモリ・デバイスによって、具体化することができる。
含まれる概略流れ図は、一般に、論理流れ図として示される。したがって、記載された順序およびラベル付けされたステップは、本方法の一実施形態を示す。他のステップおよび方法は、例示された方法の1つまたは複数のステップまたはその一部に対する、機能、論理、または効果において同等であると考えることができる。加えて、採用されたフォーマットおよび記号は、方法の論理ステップを説明するために提供され、方法の範囲を限定するものとは考えられない。流れ図では様々なタイプの矢印および線が採用されているが、それらは対応する方法の範囲を限定するものとは考えられない。実際のところ、いくつかの矢印または他のコネクタを使用して、方法の論理流れのみを示すことができる。たとえばある矢印は、記載された方法の列挙されたステップ間での、指定されていない持続時間の待機または監視を示すことができる。加えて、特定の方法が発生する順序は、示された対応する諸ステップの順序を厳守してもしなくてもよい。
さらに、本発明の記載された機能、構造、または特徴は、1つまたは複数の実施形態において、任意の好適な様式で組み合わせることができる。以下の説明では、本発明の諸実施形態を完全に理解するために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース・クエリ、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップの例などの、多数の特定の細部が提供される。しかしながら当業者であれば、本発明が、この特定の細部のうちの1つまたは複数を伴わないか、または他の方法、コンポーネント、材料などを伴って、実施可能であることを理解されよう。他のインスタンスでは、本発明の諸態様を不明瞭にしないために、良く知られた構造、材料、または操作は詳細に図示または説明しない。
RAIDストレージ・システムにおいて、ストレージ・デバイス・ネットワーク・ファブリックは、ネットワークの動作状態を管理および維持するためのサポート・プロセッサが必要なデバイスからなる。モジュラ・ストレージ・システムの場合、サポート・プロセッサは、モジュラ・エンクロージャのエンクロージャ管理サービスを管理するために使用することもできる。エンクロージャ管理サービス・サポート・プロセッサは、ストレージ・デバイス通信ネットワーク内のイニシエータ・デバイスであることが可能な、SCSIエンクロージャ・サービス・プロセッサ(SESP)を含むことができる。非ブロック・スイッチング・アーキテクチャをサポートするストレージ・デバイス通信ネットワーク・ファブリックでは、イニシエータとネットワークに対して非破壊的なターゲット・デバイスとの間に、複数のイニシエータ・ターゲット通信セッションが並列に確立可能なように、ポイント・ツー・ポイント通信セッションを確立することが可能である。
本発明は、この特徴を活用し、RAIDアレイ・メンバ・ソースから適格ターゲット・デバイスへのデータ・マイグレーションに、協働的に参加するために、SESPプロセッサなどのローカル・プロセッサを利用する。RAIDコントローラの指示で、SESPはRAIDアレイ・ソース・デバイスからデータを読み取り、そのデータをマイグレーション関係のターゲット・デバイスにコピーする(書き込む)。
RAIDソースは、ソース・デバイスとターゲット・デバイスのストレージ・デバイス間でのデータ・コピーの進行(マスタ・プロセス)を管理および制御するために使用され、その結果、ストレージ・システムおよびストレージ・システムの様々なサブコンポーネントは、データ・コピー・マイグレーションの下位プロセス中にSESPがどこにあるかを認識できる。RAIDコントローラ・リソースは、ソース・デバイスとターゲット・デバイスのデバイス間でミラーリング関係を確立および維持するためにも使用され、その結果、RAIDコントローラがデータ・マイグレーション操作中に新しく修正されたデータで、デバイスを更新する。
図1を参照すると、非ブロックFC−ALスイッチを実装する、ファイバ・チャネル・アービトレーテッド・リンク(FC−AL)のストレージ・デバイス相互接続ファブリックを介して、ストレージ・デバイスに接続された、2重RAIDコントローラ12を備えたストレージ・システム10の例が示されている。RAIDコントローラ12は、コントローラ・エンクロージャ14によって格納される。コントローラ・エンクロージャ14には、FC−ALイニシエータ・デバイス16を含む、2つのRAIDコントローラ・カード0およびRAIDコントローラ・カード1が統合される。FC−ALイニシエータ・デバイス16は、ここではエンクロージャID 0としてラベル付けされた、スイッチ・エンクロージャ22のアップストリーム・ポート20と通信する、0および1として示されるダウンストリーム・ポート18を含む。エンクロージャ22は、FC−ALスイッチ26と、SESPプロセッサ28などのローカル・プロセッサ28とを格納する、2つのFC−ALカード24も含み、ローカル・プロセッサ28は互いに接続される。次に、エンクロージャ22のダウンストリーム・ポート30(ここでは2および3とラベル付け)は、エンクロージャ22に見られるものと同じサブコンポーネントを格納するエンクロージャ34の、アップストリーム・ポート32(0および1とラベル付け)にデイジー・チェーン(daisy chain)接続される。同様に、エンクロージャ36も、エンクロージャ22に見られるものと同じサブコンポーネントを含み、アップストリーム・ポート40(ここでも0および1とラベル付け)がダウンストリーム・ポート38に接続される。各エンクロージャ(たとえば、22、34、36)は、FC−ALスイッチ26と、FC−ALスイッチ26を介してFC−ALストレージ・デバイス・ネットワークにアクセス可能であり、これへのアクセス権を有する、FC−ALイニシエータである、ローカル・プロセッサ28(たとえばSESP)とを提供する、2つのコントローラ・カード24を提供する。
図1に示されたようなコントローラ・エンクロージャ14は、論理構造とすることも可能であることに留意されたい。冗長RAIDエンジンを備えたコントローラ機能は、図1に示された単一の物理エンティティに加えて、ストレージ・コントローラ機能内で論理的にまとめて結合された、別々の物理エンティティ内に存在することが可能である。当業者であれば、コントローラ機能および付属のRAID機能が実現可能な、様々な実施形態を理解されよう。
マスタRAIDコントローラは、ローカル・プロセッサ(たとえばSESP)のコピー(マイグレーション)・プロセスを、以下のように管理する。マスタRAIDコントローラは、第1に、ソース・ストレージ・デバイス容量(論理ブロック・アドレス、LBAレンジ)を、複数のサブ領域、またはサブLBAレンジに分割する。マスタRAIDコントローラは、コピーのためのサブ領域がSESPに割り当てられていることを、適用可能であれば、ピアRAIDコントローラに通知する。次に、RAIDコントローラ・イニシエータは、その後のストレージ・アクティビティから、サブ領域をロックする。これと並行して、RAIDコントローラは、データ・コピー操作のソース・デバイスとターゲット・デバイスとの間に、書き込みデータ更新に関するミラーリング関係を確立する。RAIDコントローラは、すべての書き込みに対して、ソース・デバイスに対してデータを書き込み、ならびに、データが、コピー・プロセスによってすでにターゲット・デバイスにコピーされているターゲット・デバイスのある領域をターゲットとしているようなデータである場合については、コピー関係にあるターゲット・デバイスのみに対して、データを書き込む。このようにして更新を完了するために必要なRAIDコントローラ・リソースを最小限にする。
更新されたデータは、そのサブ・レンジがプロセスによってソース・デバイスからターゲット・デバイスにコピーされる場合、コピー・プロセスによってターゲット・デバイスにコピーされることになる。次に、RAIDコントローラは、ソース・ストレージ・デバイスのサブ領域からターゲット・ストレージ・デバイスへとデータをコピーするために、ストレージ・デバイス・ファブリック内のSESPを割り当てる。RAIDコントローラは、ソース・デバイスからターゲット・デバイスにコピーするための特定のサブ領域を有する、1からNのSESPを割り当てる。最適には、RAIDコントローラは、コピー操作を完了するために必要なストレージ・デバイス相互接続リソースを最小限にするために、ソース・デバイスおよびターゲット・デバイスのストレージ・デバイスに最良の分離および局所性を提供する、SESPを選択することになる。
書き込みデータが、ソース・デバイスからターゲットデバイスへとコピーするためにSESPに割り当てられたサブ領域内の区域に書き込まれる場合、データは、ソース・デバイス上で更新され、据え置き書き込み(deferred write)としてターゲット・デバイスへと搬送される。SESPプロセッサが、RAIDコントローラによって割り当てられたサブ領域のコピーを完了した旨を報告すると、RAIDコントローラは、サブ領域に対して搬送された据え置き書き込みを完了する。
両方のデバイス(ソース・ストレージ・デバイスおよびターゲット・ストレージ・デバイス)ならびにSESPデバイスは、できる限り多くのFC−ALファブリックを使用可能にしておくために、FC−ALスイッチのローカル・ポート・ドメイン内に常駐する。しかしながら、これは必須ではない。開示された構成では、ストレージ・デバイス相互接続ファブリック帯域幅リソースの利用が最適である。SESPプロセッサは、ソース・デバイスのサブLBAレンジからデータを読み取り、そのデータをターゲット・ストレージ・デバイスの同一のロケーションに書き込む。このようにして、ソース・ストレージ・デバイス上のデータ・イメージのコピーをターゲット・ストレージ・デバイス上に作成することになる。
図2は、2重ポート(たとえばアップストリーム・ポート20、ダウンストリーム・ポート30)ストレージ・デバイスのうちの単一のポート、または単一ポートのストレージ・デバイス44をFC−ALスイッチ・ポート(たとえばポート1)に接続するマルチポート多重化デバイスへの、入力ポートに取り付けられた、非ブロックFC−ALスイッチ26を使用する、本発明に従ったトポロジの実装42を示す図である。スイッチング・デバイス26は、非ブロック様式でデバイス・ポート間でポート間接続を確立する機能を提供する。SESPプロセッサ28は、制御信号伝送媒体を介してスイッチング・デバイス26に接続されると考えられる。図2は、スイッチング・デバイス26を格納するFC−ALカード24(ここではカード0とラベル付け)の例を示す。
図3および図4は、カード24(カード0とラベル付け)上のSESP 0プロセッサ28および別のカード24(カード1とラベル付け)上のSESP 1プロセッサ28が、ストレージ・システムの第1の操作の一部として、FC−ALスイッチング・デバイス26のポート5に接続されたストレージ・デバイスA5からデータを読み取る(破線48で示される)、本発明に従ったシナリオに関する内部スイッチ接続を示す図である。両方のSESP 28(SESP 0プロセッサおよびSESP 1プロセッサ)が、同じストレージ・デバイス44(A5)から読み取るように示されていることに留意されたい。SESP 1プロセッサで実行される読み取り操作は、実線50で示される。それぞれの読み取りアクセスは並列であり、ストレージ・デバイス44によってシーケンスが管理される。名目上、読み取り要求はインタリーブされ、各SESP 28は交互にデータを読み取ることになる。
図5および図6は、SESP 0プロセッサ 28が、FC−ALスイッチ26のポート5に接続されたストレージ・デバイスA5のサブLBA領域0から読み取られたデータを、FC−ALスイッチ26のポート16に接続されたストレージ・デバイス56(ここではSP1と示される)へ書き込み(破線54で示される)、並行して(図6を参照)、SESP 1プロセッサが、FC−ALスイッチ26のポート5に接続されたストレージ・デバイスA5のサブLBA領域1から読み取られたデータを、FC−ALスイッチ26のポート16に接続されたストレージ・デバイス56(ここでもSP1と示される)へ書き込む(実線54で示される)、ストレージ・システムの続く操作52に関する内部スイッチ接続を示す図である。ここでも、両方のSESP 28(SESP 0プロセッサおよびSESP 1プロセッサ)が、同じストレージ・デバイス56に書き込むように示されていることに留意されたい。結果として、書き込みアクセスは再度並列となる。さらにここでも、ストレージ・デバイス56によってシーケンスが管理される。名目上、書き込み操作もインタリーブされ、各SESP 28は交互にデータを書き込むことになる。
次に図7は、本発明に従ったマイグレーション・プロセス58の例が示される。特に、プロセス58は、SESP 28が、ソース・ストレージ・デバイスから、RAIDコントローラによって割り当てられたターゲット・ストレージ・デバイスのサブLBAレンジへとデータをコピーするために使用する。SESP 0プロセッサは、ソース・ストレージ・デバイスのサブLBAレンジ0からデータを読み取り、その後、ターゲット・ストレージ・デバイスの等価のサブLBAレンジへとデータを書き込む。各SESPは、RAIDコントローラによって割り当てられたストレージ・デバイスの指定されたLBAレンジ(たとえばレンジ60、62)内で、ソース・デバイスからはデータを読み取るのみであり、ターゲット・デバイスへはデータを書き込むのみである。
次に図8は、本発明に従ったマイグレーション操作64の例が示される。操作が開始され(ステップ66)、マスタRAIDコントローラは、前述のように、適用可能なソース・ストレージ・デバイス容量を複数のサブ領域またはサブLBA領域に分割する(ステップ68)。続くステップ70、72、および74は、並行して実施することができる。ステップ70では、マスタRAIDコントローラが、マイグレーション操作のために割り当てられたそれぞれのサブ領域について、適用可能であれば、ピアRAIDコントローラに通知する。次のステップとして、RAIDコントローラ・イニシエータは、マイグレーション・アクティビティの範囲外であるストレージ・アクティビティからそれぞれのサブ領域をロックする(ステップ72)。同時に、RAIDコントローラは、マイグレーション操作のソース・デバイスとターゲット・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するように動作する(ステップ74)。次にRAIDコントローラは、マイグレーション操作を実行するために、それぞれのストレージ・デバイス・ファブリック内で指定されたSESPを割り当てる(ステップ76)。マイグレーション操作を実行するために、SESPは指定されたソース・ストレージ・デバイスのサブ領域からデータを読み取り(ステップ78)、そのデータをターゲット・ストレージ・デバイス上の同一のロケーションに書き込む(ステップ80)。その後、方法64は終了する(ステップ82)。
前述のマイグレーション操作を実行するためのストレージ・デバイス・ファブリック内でのそれぞれのSESPの割り当てなどの、前述の方法64を実施するためのソフトウェアあるいはハードウェアまたはその両方は、当分野で現在知られているツールを使用して作成することができる。前述のシステムおよび方法の実施には、RAIDストレージ・トポロジを利用する標準のコンピューティング環境ですでに使用されている以上の、大幅な追加のリソースの消費、または追加のハードウェアが伴わないため、この実装は費用対効果が高い。
前述のようなシステムおよび方法の例を実施および利用することで、前述のようなストレージ・システムおよびサブシステムを有するコンピューティング環境でのデータ・マイグレーションを提供する単純かつ効果的な方法を提供することが可能であり、ストレージ・システムの性能を最大限にする働きをする。以上、本発明の1つまたは複数の実施形態について詳細に説明してきたが、当業者であれば、添付の特許請求の範囲に示された本発明の範囲を逸脱することなく、これら実施形態への修正および適応が実行可能であることを理解されよう。
2重RAIDコントローラを備えたストレージ・システムの例を示す図である。 2重ポート・ストレージ・デバイスのうちの単一のポート、または単一ポートのストレージ・デバイスをFC−ALスイッチ・ポートに接続するマルチポート多重化デバイスへの、入力ポートに取り付けられた、非ブロック・ファイバ・チャネル・アービトレーテッド・ループ(FC−AL)スイッチを使用した、トポロジの実装を示す図である。 ストレージ・システムの第1の操作における、本発明に従った内部スイッチ接続を示す図である。 ストレージ・システムの第1の操作における、本発明に従った内部スイッチ接続を示す図である。 ストレージ・システムの第2の操作における、本発明に従った内部スイッチ接続を示す図である。 ストレージ・システムの第2の操作における、本発明に従った内部スイッチ接続を示す図である。 本発明に従った、ソース・ストレージ・デバイスからターゲット・ストレージ・デバイスへのマイグレーション・プロセスの例を示す図である。 本発明に従って、ソース・ストレージ・デバイスからターゲット・ストレージ・デバイスへデータをマイグレーションするための、コンピュータ・ストレージ・システムの操作の方法の例を示す図である。
10 ストレージ・システム
12 RAIDコントローラ
14 コントローラ・エンクロージャ
16 FC−ALイニシエータ
18 ダウンストリーム・ポート
20 アップストリーム・ポート
22 エンクロージャ ID
24 カード
26 FC−ALスイッチ
28 ローカル・プロセッサ
30 ダウンストリーム・ポート
32 アップストリーム・ポート
34 エンクロージャ ID
36 エンクロージャ ID
38 ダウンストリーム・ポート
40 アップストリーム・ポート

Claims (15)

  1. プロセッサと当該プロセッサ及び複数のストレージ・デバイスに接続されたスイッチとを備えたエンクロージャ、並びに前記プロセッサに電気的に接続されたRAIDコントローラを備えたコントローラ・エンクロージャを備えているストレージ・システムにおいてソース・ストレージ・デバイスからターゲット・ストレージ・デバイスへデータをマイグレーションする方法であって、
    前記RAIDコントローラが、前記ソース・ストレージ・デバイスの容量を複数のサブ領域に分割するステップと、
    前記RAIDコントローラが、前記複数のサブ領域を、前記ソース・ストレージ・デバイスから前記ターゲット・ストレージ・デバイスへデータをマイグレーションするマイグレーション・アクティビティの範囲外であるストレージ・アクティビティからロックするステップと、
    前記RAIDコントローラが、前記ソース・ストレージ・デバイスと前記ターゲット・ストレージ・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立するステップと、
    前記RAIDコントローラが、前記ソース・ストレージ・デバイスに対する第1のデータの全ての書き込みに対して、当該ソース・ストレージ・デバイス中の前記複数のサブ領域に前記第1のデータを書き込むステップと、
    前記第1のデータが、コピー・プロセスによってすでに前記ターゲット・デバイスにコピーされているターゲット・デバイスのある領域をターゲットとしているようなデータである場合については、前記RAIDコントローラが、前記第1のデータをコピー関係にある前記ターゲット・ストレージ・デバイス中の対応するサブ領域のみに書き込むステップと、
    そうでない場合については、前記RAIDコントローラが、前記第1のデータを前記ソース・ストレージ・デバイス中の前記複数のサブ領域から前記ターゲット・ストレージ・デバイス中の対応するサブ領域に書き込むために、前記プロセッサを割り当てるステップと、
    前記割り当てられたプロセッサが、前記第1のデータを前記ソース・ストレージ・デバイス中の前記複数のサブ領域からから前記ターゲット・ストレージ・デバイス中の対応するサブ領域に書き込むステップと
    を含む、前記方法。
  2. 前記確立するステップと前記ロックするステップとが、並行して実行される、請求項1に記載の方法。
  3. 前記コントローラ・エンクロージャが前記RAIDコントローラ及び当該RAIDコントローラと対になるRAIDコントローラを備えており、前記RAIDコントローラがマスタRAIDコントローラであり、
    前記マスタRAIDコントローラが、前記分割するステップに続いて、前記複数のサブ領域のうちのいずれがコピーのために割り当てられるかを、前記対になるRAIDコントローラに通知するステップをさらに含む、請求項1又は2に記載の方法。
  4. 前記プロセッサ(以下、第1のプロセッサという)及び前記スイッチ(以下、第1のスイッチという)を備えた前記エンクロージャが、前記第1のプロセッサ及び前記第1のスイッチを備えた第1のカードと、第2のプロセッサと当該第2のプロセッサ及び前記複数のストレージ・デバイスに接続された第2のスイッチとを備えた第2のカードとを備えている、請求項3に記載の方法。
  5. 前記第1のカード上の前記第1のプロセッサと前記第2のカード上の前記第2のプロセッサとが同じターゲット・ストレージ・デバイスに並列して書き込むように構成されている、請求項4に記載の方法。
  6. 前記プロセッサがSCSIエンクロージャ・サービス・プロセッサ(SESP)をさらに備える、請求項1〜5のいずれか一項に記載の方法。
  7. 前記複数のサブ領域のそれぞれが論理ブロック・アドレス(LBA)レンジをさらに備える、請求項1〜6のいずれか一項に記載の方法。
  8. ストレージ・システムであって、
    プロセッサと当該プロセッサ及び複数のストレージ・デバイスに接続されたスイッチとを備えたエンクロージャと、
    前記プロセッサに電気的に接続されたRAIDコントローラを備えたコントローラ・エンクロージャと、
    を備えており、
    前記RAIDコントローラが、
    前記ソース・ストレージ・デバイスの容量を複数のサブ領域に分割し、
    前記複数のサブ領域を、前記ソース・ストレージ・デバイスから前記ターゲット・ストレージ・デバイスへデータをマイグレーションへの前記マイグレーション・アクティビティの範囲外であるストレージ・アクティビティからロックし、
    前記ソース・ストレージ・デバイスと前記ターゲット・ストレージ・デバイスとの間で書き込みデータ更新のためのミラーリング関係を確立し、
    前記ソース・ストレージ・デバイスに対する第1のデータの全ての書き込みに対して、当該ソース・ストレージ・デバイス中の前記複数のサブ領域に前記第1のデータを書き込み、
    前記第1のデータが、コピー・プロセスによってすでに前記ターゲット・デバイスにコピーされているターゲット・デバイスのある領域をターゲットとしているようなデータである場合については、前記第1のデータをコピー関係にある前記ターゲット・ストレージ・デバイス中の対応するサブ領域のみに書き込み、
    そうでない場合については、前記第1のデータを前記ソース・ストレージ・デバイス中の前記複数のサブ領域から前記ターゲット・ストレージ・デバイス中の対応するサブ領域に書き込むために、前記プロセッサを割り当て、
    前記割り当てられたプロセッサが、
    前記第1のデータを前記ソース・ストレージ・デバイス中の前記複数のサブ領域からから前記ターゲット・ストレージ・デバイス中の対応するサブ領域に書き込む
    前記ストレージ・システム。
  9. 前記確立することと前記ロックすることとが並行して実行される、請求項8に記載のストレージ・システム。
  10. 前記コントローラ・エンクロージャが前記RAIDコントローラ及び当該RAIDコントローラと対になるRAIDコントローラを備えており、前記RAIDコントローラがマスタRAIDコントローラであり、
    前記マスタRAIDコントローラが、前記分割に続いて、前記複数のサブ領域のうちのいずれがコピーのために割り当てられるかを、前記対になるRAIDコントローラに通知する、請求項8又は9に記載のストレージ・システム。
  11. 前記プロセッサ(以下、第1のプロセッサという)及び前記スイッチ(以下、第1のスイッチという)を備えた前記エンクロージャが、前記第1のプロセッサ及び前記第1のスイッチを備えた第1のカードと、第2のプロセッサと当該第2のプロセッサ及び前記複数のストレージ・デバイスに接続された第2のスイッチとを備えた第2のカードとを備えている、請求項8〜10のいずれか一項に記載のストレージ・システム。
  12. 前記第1のカード上の前記第1のプロセッサと前記第2のカード上の前記第2のプロセッサとが同じターゲット・ストレージ・デバイスに並列して書き込むように構成されている、請求項11に記載のストレージ・システム。
  13. 前記プロセッサが、SCSIエンクロージャ・サービス・プロセッサ(SESP)をさらに備える、請求項8〜12のいずれか一項に記載のストレージ・システム。
  14. 前記複数のサブ領域のそれぞれが論理ブロック・アドレス(LBA)レンジをさらに備える、請求項8〜13のいずれか一項に記載のストレージ・システム。
  15. プロセッサと当該プロセッサ及び複数のストレージ・デバイスに接続されたスイッチとを備えたエンクロージャ、並びに前記プロセッサに電気的に接続されたRAIDコントローラを備えたコントローラ・エンクロージャを備えているストレージ・システムにおいて、前記ソース・ストレージ・デバイスから前記ターゲット・デバイスへデータをマイグレーションするコンピュータ・プログラムであって、前記ストレージ・システムに、請求項1〜7のいずれか一項に記載の方法の各ステップを実行させる前記コンピュータ・プログラム。
JP2007315859A 2006-12-20 2007-12-06 サポート・プロセッサによる最適化されたデータ・マイグレーションのための方法、システム、およびプログラム Expired - Fee Related JP5336729B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/613,858 US7917713B2 (en) 2006-12-20 2006-12-20 Optimized data migration with a support processor
US11/613858 2006-12-20

Publications (2)

Publication Number Publication Date
JP2008159045A JP2008159045A (ja) 2008-07-10
JP5336729B2 true JP5336729B2 (ja) 2013-11-06

Family

ID=39544606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007315859A Expired - Fee Related JP5336729B2 (ja) 2006-12-20 2007-12-06 サポート・プロセッサによる最適化されたデータ・マイグレーションのための方法、システム、およびプログラム

Country Status (3)

Country Link
US (1) US7917713B2 (ja)
JP (1) JP5336729B2 (ja)
CN (1) CN101206553B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7673167B2 (en) * 2007-02-06 2010-03-02 International Business Machines Corporation RAID array data member copy offload in high density packaging
US20100049931A1 (en) * 2008-08-20 2010-02-25 Jacobson Michael B Copying Logical Disk Mappings Between Arrays
CN102279857B (zh) * 2010-06-11 2015-03-04 阿里巴巴集团控股有限公司 一种实现数据复制的方法及系统
CN102761566B (zh) * 2011-04-26 2015-09-23 国际商业机器公司 迁移虚拟机的方法和装置
US8838927B2 (en) 2011-05-27 2014-09-16 International Business Machines Corporation Systems, methods, and physical computer storage media to optimize data placement in multi-tiered storage systems
US9244868B2 (en) 2012-09-21 2016-01-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Leased lock in active-active high availability DAS systems
US9558232B1 (en) * 2013-06-21 2017-01-31 EMC IP Holding Company LLC Data movement bulk copy operation
EP3282362B1 (en) * 2013-11-22 2019-03-13 Huawei Technologies Co., Ltd. Memory data migration method and apparatus, and computer
US10210232B2 (en) 2014-10-01 2019-02-19 SkyKick, Inc. Automated staged data migration
CN105224419B (zh) * 2015-09-24 2018-11-09 青岛海信移动通信技术股份有限公司 一种安卓系统中的用户数据镜像加载方法、装置及终端
CN105843955A (zh) * 2016-04-13 2016-08-10 曙光信息产业(北京)有限公司 一种数据迁移系统
US9841921B2 (en) * 2016-04-27 2017-12-12 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices
US10331383B2 (en) 2016-06-24 2019-06-25 International Business Machines Corporation Updating storage migration rates
CN112327600B (zh) * 2020-10-28 2022-03-18 中国核动力研究设计院 一种冗余控制器的数据同步方法、冗余控制器及仪控系统
CN112698794A (zh) * 2021-02-02 2021-04-23 南京群顶科技有限公司 一种实现分布式存储卷在线迁移的方法及装置
CN115328065A (zh) * 2022-09-16 2022-11-11 中国核动力研究设计院 一种应用于工业控制系统的控制单元功能自动迁移的方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659704A (en) 1994-12-02 1997-08-19 Hewlett-Packard Company Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US6363385B1 (en) * 1999-06-29 2002-03-26 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US7099875B2 (en) * 1999-06-29 2006-08-29 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US6530004B1 (en) * 2000-06-20 2003-03-04 International Business Machines Corporation Efficient fault-tolerant preservation of data integrity during dynamic RAID data migration
US20040210677A1 (en) * 2002-06-28 2004-10-21 Vinodh Ravindran Apparatus and method for mirroring in a storage processing device
US6904498B2 (en) * 2002-10-08 2005-06-07 Netcell Corp. Raid controller disk write mask
CN100337224C (zh) 2003-12-03 2007-09-12 华为技术有限公司 一种本地数据迁移的方法
JP2005275829A (ja) * 2004-03-25 2005-10-06 Hitachi Ltd ストレージシステム
JP4718851B2 (ja) * 2004-05-10 2011-07-06 株式会社日立製作所 ストレージシステムにおけるデータ移行
US7441096B2 (en) * 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
US7240242B2 (en) * 2004-08-05 2007-07-03 International Business Machines Corporation Apparatus and method to convert data payloads from a first sector format to a second sector format
US20060106947A1 (en) * 2004-11-18 2006-05-18 Benhase Michael T Information storage and retrieval system comprising a storage controller and a fibre channel switch controller
WO2006071817A2 (en) * 2004-12-29 2006-07-06 Netcell Corporation Intelligent storage engine for disk drive operations with reduced local bus traffic
JP4568168B2 (ja) * 2005-05-17 2010-10-27 株式会社日立製作所 情報処理方法及びシステム
JP2007286806A (ja) * 2006-04-14 2007-11-01 Hitachi Ltd 記憶システム及びデータ保存方法

Also Published As

Publication number Publication date
US20080155218A1 (en) 2008-06-26
CN101206553A (zh) 2008-06-25
US7917713B2 (en) 2011-03-29
CN101206553B (zh) 2010-08-25
JP2008159045A (ja) 2008-07-10

Similar Documents

Publication Publication Date Title
JP5336729B2 (ja) サポート・プロセッサによる最適化されたデータ・マイグレーションのための方法、システム、およびプログラム
US7673167B2 (en) RAID array data member copy offload in high density packaging
US10073641B2 (en) Cluster families for cluster selection and cooperative replication
US6598174B1 (en) Method and apparatus for storage unit replacement in non-redundant array
US6571354B1 (en) Method and apparatus for storage unit replacement according to array priority
US10162722B2 (en) Virtual machine aware replication method and system
US7386695B2 (en) Storage system with multiple copy targeting
US7360048B2 (en) Storage system with multiple copy targeting and disk failure protection
JP5523468B2 (ja) 直接接続ストレージ・システムのためのアクティブ−アクティブ・フェイルオーバー
US20010049774A1 (en) Apparatus system and method for n-way raid controller having improved performance and fault tolerance
JP4988371B2 (ja) ポイント・イン・タイム・コピー関係におけるボリューム・アドレス関連付けを切換える装置、プログラム、システム及び方法
JP2009116783A (ja) 障害の発生した記憶装置に記憶されているデータを修復するストレージシステム
US10394491B2 (en) Efficient asynchronous mirror copy of thin-provisioned volumes
CN103617006A (zh) 存储资源的管理方法与装置
JP2016528616A (ja) セカンダリ・コンピュータ中のメモリ・エラーに応じたプライマリ・コンピュータ中のオブジェクトの移動
US8402195B2 (en) Storage system mounted with plurality of processors
US10572188B2 (en) Server-embedded distributed storage system
US11803318B2 (en) Active-passive configuration for synchronous remote replication in an active-active metro cluster
US11366618B2 (en) All flash array server and control method thereof
RU2777270C1 (ru) Способ и система распределенного хранения восстанавливаемых данных с обеспечением целостности и конфиденциальности информации
US11809293B2 (en) Storage node failure detection based on register values for an all flash array server
US20210271595A1 (en) All flash array server and associated contrl method
JP2004164171A (ja) パス冗長化装置及び方法
Rosenfeld et al. Using disk add-ons to withstand simultaneous disk failures with fewer replicas

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120530

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120530

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121207

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130122

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130710

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees