特表2019-537762(P2019-537762A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ホアウェイ・テクノロジーズ・カンパニー・リミテッドの特許一覧
特表2019-537762アクティブ/アクティブ記憶システムおよびアドレス割当方法
<>
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000003
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000004
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000005
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000006
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000007
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000008
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000009
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000010
  • 特表2019537762-アクティブ/アクティブ記憶システムおよびアドレス割当方法 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2019-537762(P2019-537762A)
(43)【公表日】2019年12月26日
(54)【発明の名称】アクティブ/アクティブ記憶システムおよびアドレス割当方法
(51)【国際特許分類】
   G06F 11/20 20060101AFI20191129BHJP
   G06F 3/06 20060101ALI20191129BHJP
   G06F 13/14 20060101ALI20191129BHJP
【FI】
   G06F11/20 664
   G06F3/06 301K
   G06F3/06 301Z
   G06F3/06 301X
   G06F3/06 304F
   G06F13/14 310F
   G06F13/14 320D
【審査請求】有
【予備審査請求】未請求
【全頁数】44
(21)【出願番号】特願2019-503691(P2019-503691)
(86)(22)【出願日】2017年10月31日
(85)【翻訳文提出日】2019年3月8日
(86)【国際出願番号】CN2017108641
(87)【国際公開番号】WO2019080150
(87)【国際公開日】20190502
(31)【優先権主張番号】PCT/CN2017/107701
(32)【優先日】2017年10月25日
(33)【優先権主張国】CN
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】504161984
【氏名又は名称】ホアウェイ・テクノロジーズ・カンパニー・リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】リー、ティアンデ
(72)【発明者】
【氏名】リー、ランボ
【テーマコード(参考)】
5B034
【Fターム(参考)】
5B034CC02
(57)【要約】
アクティブ/アクティブ記憶システムは、第1の記憶アレイと、第2の記憶アレイと、アドレス割当装置とを備える。第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、第2の記憶アレイは、第1のターゲットLUNを有し、第1のソースLUNおよび第1のターゲットLUNは、アクティブ/アクティブLUNのペアである。第1の記憶アレイは、第1のソースLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成され、第1のソースLUNの割当可能アドレスセットは、第1のソースLUNの複数の割当可能アドレスを含む。第2の記憶アレイは、第1のターゲットLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成され、第1のターゲットLUNの割当可能アドレスセットは、第1のターゲットLUNの複数の割当可能アドレスを含む。アドレス割当装置は、第1のソースLUNの割当可能アドレスセットおよび第1のターゲットLUNの割当可能アドレスセットから、有効アドレスを取得するよう構成され、有効アドレスは、第1のソースLUNの複数の割当可能アドレスと、第1のターゲットLUNの複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである。アドレス割当装置はさらに、有効アドレスを第1の記憶アレイへ送信し、有効アドレスを第2の記憶アレイへ送信するよう構成される。それにより、LUNのアドレスの整合性が実現される。
【特許請求の範囲】
【請求項1】
第1の記憶アレイと、第2の記憶アレイと、アドレス割当装置とを備えるアクティブ/アクティブ記憶システムであって、前記第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、
前記第1の記憶アレイは、前記第1のソースLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第1のソースLUNの前記割当可能アドレスセットは、前記第1のソースLUNの複数の割当可能アドレスを含み、
前記第2の記憶アレイは、前記第1のターゲットLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第1のターゲットLUNの前記割当可能アドレスセットは、前記第1のターゲットLUNの複数の割当可能アドレスを含み、
前記アドレス割当装置は、前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、有効アドレスを取得するよう構成され、前記有効アドレスは、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、
前記アドレス割当装置はさらに、前記有効アドレスを前記第1の記憶アレイへ送信し、前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
アクティブ/アクティブ記憶システム。
【請求項2】
前記アドレス割当装置はさらに、第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信するよう構成され、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、前記第1の記憶アレイは具体的に、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、
前記アドレス割当装置はさらに、第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信するよう構成され、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、前記第2の記憶アレイは具体的に、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成される、
請求項1に記載のアクティブ/アクティブ記憶システム。
【請求項3】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアであり、
前記第1の記憶アレイはさらに、前記第1のソースLUNを前記第2のソースLUNにマウントし、前記第1のソースLUNの前記複数の割当可能アドレスを生成するよう構成され、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、
前記第2の記憶アレイはさらに、前記第1のターゲットLUNを前記第2のターゲットLUNにマウントし、前記第1のターゲットLUNの前記複数の割当可能アドレスを生成するよう構成され、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、
請求項1または2に記載のアクティブ/アクティブ記憶システム。
【請求項4】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項3に記載のアクティブ/アクティブ記憶システム。
【請求項5】
前記第1の記憶アレイはさらに、前記第2のソースLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含み、
前記第2の記憶アレイは、前記第2のターゲットLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含み、
前記アドレス割当装置はさらに、前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得するよう構成され、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含み、
前記アドレス割当装置はさらに、レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
請求項4に記載のアクティブ/アクティブ記憶システム。
【請求項6】
前記アクティブ/アクティブ記憶システムは、ホストをさらに備え、前記アドレス割当装置は、前記ホストに位置する、請求項2から5の何れか一項に記載のアクティブ/アクティブ記憶システム。
【請求項7】
前記アクティブ/アクティブ記憶システムは、ホストおよびクオラムサーバをさらに備え、前記アドレス割当装置は、前記クオラムサーバに位置し、前記クオラムサーバは、前記ホストと異なる、請求項2から5の何れか一項に記載のアクティブ/アクティブ記憶システム。
【請求項8】
アドレス割当装置であって、
前記アドレス割当装置は、インタフェースおよびプロセッサを備え、
前記インタフェースは、第1の記憶アレイと通信し、第2の記憶アレイと通信するよう構成され、前記第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、
前記プロセッサは、前記第1のソースLUNの複数の割当可能アドレスを含む、前記第1の記憶アレイにより送信された前記第1のソースLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信し、
前記第1のターゲットLUNの複数の割当可能アドレスを含む、前記第2の記憶アレイにより送信された前記第1のターゲットLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信し、
前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである有効アドレスを取得し、および、
前記有効アドレスを前記第1の記憶アレイへ送信し、前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
アドレス割当装置。
【請求項9】
前記プロセッサはさらに、第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信するよう構成され、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第1の記憶アレイは、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記プロセッサへ送信し、
前記プロセッサはさらに、第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信するよう構成され、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第2の記憶アレイは、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記プロセッサへ送信する、
請求項8に記載のアドレス割当装置。
【請求項10】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記第1のソースLUNは、前記第2のソースLUNにマウントされ、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、前記第1のターゲットLUNは、前記第2のターゲットLUNにマウントされ、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、請求項8または9に記載のアドレス割当装置。
【請求項11】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項10に記載のアドレス割当装置。
【請求項12】
前記プロセッサはさらに、前記第1の記憶アレイにより送信された前記第2のソースLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信することであって、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含む、受信することと、
前記第2の記憶アレイにより送信された前記第2のターゲットLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信することであって、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、受信することと、
前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得することであって、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含む、取得することと、
レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信することと
を行うよう構成される、
請求項11に記載のアドレス割当装置。
【請求項13】
アドレス割当方法であって、前記方法は、アクティブ/アクティブ記憶システムに適用され、前記アクティブ/アクティブ記憶システムは、第1の記憶アレイと、第2の記憶アレイと、アドレス割当装置とを備え、前記第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記方法は、前記アドレス割当装置により実行され、
前記第1の記憶アレイにより送信された前記第1のソースLUNの割当可能アドレスセットを受信する段階であって、前記第1のソースLUNの前記割当可能アドレスセットは、前記第1のソースLUNの複数の割当可能アドレスを含む、段階と、
前記第2の記憶アレイにより送信された前記第1のターゲットLUNの割当可能アドレスセットを受信する段階であって、前記第1のターゲットLUNの前記割当可能アドレスセットは、前記第1のターゲットLUNの複数の割当可能アドレスを含む、段階と、
前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、有効アドレスを取得する段階であって、前記有効アドレスは、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである、段階と、
前記有効アドレスを前記第1の記憶アレイへ送信する段階と、
前記有効アドレスを前記第2の記憶アレイへ送信する段階と
を備える、
アドレス割当方法。
【請求項14】
第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信する段階であって、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第1の記憶アレイは、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信する、段階と、
第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信する段階であって、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第2の記憶アレイは、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信する段階とをさらに備える請求項13に記載の方法。
【請求項15】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記第1のソースLUNは、前記第2のソースLUNにマウントされ、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、前記第1のターゲットLUNは、前記第2のターゲットLUNにマウントされ、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、請求項13または14に記載の方法。
【請求項16】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項15に記載の方法。
【請求項17】
前記第1の記憶アレイにより送信された前記第2のソースLUNの割当可能アドレスセットを受信する段階であって、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含む、段階と、
前記第2の記憶アレイにより送信された前記第2のターゲットLUNの割当可能アドレスセットを受信する段階であって、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、段階と、
前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得する段階であって、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含む、段階と、
レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信する段階と
をさらに備える請求項16に記載の方法。
【請求項18】
アドレス割当装置であって、前記装置は、アクティブ/アクティブ記憶システムに位置し、前記アクティブ/アクティブ記憶システムは、第1の記憶アレイと、第2の記憶アレイと、前記アドレス割当装置とを備え、前記第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記装置は、
前記第1のソースLUNの複数の割当可能アドレスを含む、前記第1の記憶アレイにより送信された前記第1のソースLUNの割当可能アドレスセットを受信するよう構成され、前記第1のターゲットLUNの複数の割当可能アドレスを含む、前記第2の記憶アレイにより送信された前記第1のターゲットLUNの割当可能アドレスセットを受信するようさらに構成される受信モジュールと、
前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである有効アドレスを取得するよう構成されるアドレス取得モジュールと、
前記有効アドレスを前記第1の記憶アレイへ送信し、前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される送信モジュールと
を備える、
アドレス割当装置。
【請求項19】
前記送信モジュールはさらに、第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信するよう構成され、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第1の記憶アレイは、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記受信モジュールへ送信し、
前記送信モジュールはさらに、第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信するよう構成され、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第2の記憶アレイは、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記受信モジュールへ送信する、
請求項18に記載の装置。
【請求項20】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアを有し、前記第1のソースLUNは、前記第2のソースLUNにマウントされ、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、前記第1のターゲットLUNは、前記第2のターゲットLUNにマウントされ、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、請求項18または19に記載の装置。
【請求項21】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項20に記載の装置。
【請求項22】
前記受信モジュールはさらに、前記第1の記憶アレイにより送信された前記第2のソースLUNの割当可能アドレスセットを受信することであって、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含む、受信することと、前記第2の記憶アレイにより送信された前記第2のターゲットLUNの割当可能アドレスセットを受信することであって、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、受信することとを行うよう構成され、
前記アドレス取得モジュールはさらに、前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得することであって、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含む、取得することを行うよう構成され、
前記送信モジュールはさらに、レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
請求項21に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、記憶技術の分野に関し、特に、アクティブ/アクティブ記憶システムおよびアドレス割当方法に関する。
【背景技術】
【0002】
アクティブ/アクティブ記憶解決手段は、2つのデータセンタが両方、稼働状態にあって、同時に同じサービスを担うことができることを意味し、データセンタの総サービス能力およびシステムリソース利用率を向上させる。2つのデータセンタは、互いのバックアップである。1つのデータセンタで障害が発生したとき、サービスは、中断されることなく、他方のデータセンタに自動的に切り替えられることができる。2つのデータセンタのレイアウトは、同じである。各データセンタは、レベル1の論理ユニット番号(Logical Unit Number、LUN)および複数のレベル2のLUNを含む。レベル1のLUNは、ホストにマウントされ、複数のレベル2のLUNは、当該レベル1のLUNにマウントされる。レベル2のLUNは、ホストのために記憶サービスを提供し、レベル1のLUNは、データを記憶しない。第1のデータセンタにおけるそれぞれのレベル2のLUNは、第2のデータセンタにおける対応するレベル2のLUNを有し、2つのレベル2のLUNは、アクティブ/アクティブLUNのペアである。ホストに対して、アクティブ/アクティブLUNのペアは、1つのLUNとして、ホストにより用いられる。
【0003】
第1のデータセンタで障害が発生したとき、ホストは、元々は第1のデータセンタにおけるレベル2のLUN宛だったコマンドを、マルチパスを用いることによって、第2のデータセンタへ送信する。2つのデータセンタにおけるレベル2のLUNのアドレスが異なる場合、第2のデータセンタは、コマンドに保持されているアドレス情報に基づき、第1のデータセンタにおけるレベル2のLUNとアクティブ/アクティブペアリングしているLUNを発見できず、データは、別のレベル2のLUNに書き込まれる場合がある。その結果、2つのアクティブ/アクティブLUNにおけるデータが異なる。
【発明の概要】
【0004】
本出願は、アクティブ/アクティブ記憶システムと、アドレス割当装置と、アドレス割当方法とを提供し、レベル2のLUN間のアドレス整合性を実現し、それにより、アクティブ/アクティブLUNにおけるデータの整合性を保証する。
【0005】
本出願の第1の態様は、アクティブ/アクティブ記憶システムを提供する。アクティブ/アクティブ記憶システムは、第1の記憶アレイと、第2の記憶アレイと、アドレス割当装置とを備える。第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、第2の記憶アレイは、第1のターゲットLUNを有し、第1のソースLUNおよび第1のターゲットLUNは、アクティブ/アクティブLUNのペアである。第1のソースLUNおよび第1のターゲットLUNがアクティブ/アクティブLUNのペアであるということは具体的には、第1のソースLUNおよび第1のターゲットLUNによりホストに対して提示される汎用一意識別子(Universally Unique Identifier、UUID)が同じであることを意味する。第1の記憶アレイは、第1のソースLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成され、第1のソースLUNの割当可能アドレスセットは、第1のソースLUNの複数の割当可能アドレスを含む。第2の記憶アレイは、第1のターゲットLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成され、第1のターゲットLUNの割当可能アドレスセットは、第1のターゲットLUNの複数の割当可能アドレスを含む。アドレス割当装置は、第1のソースLUNの割当可能アドレスセットおよび第1のターゲットLUNの割当可能アドレスセットから、有効アドレスを取得するよう構成され、有効アドレスは、第1のソースLUNの複数の割当可能アドレスと、第1のターゲットLUNの複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである。アドレス割当装置はさらに、有効アドレスを第1の記憶アレイへ送信し、有効アドレスを第2の記憶アレイへ送信するよう構成される。第1の態様において提供されているアクティブ/アクティブ記憶システムにおいて、第1のソースLUNおよび第1のターゲットLUNは両方、レベル1のLUNまたはレベル2のLUNであってよい。第1のソースLUNおよび第1のターゲットLUNがレベル1のLUNまたはレベル2のLUNであるかに関係なく、LUNアドレスの整合性は、第1の態様において提供されている方式で実現されることができる。
【0006】
第1の態様によれば、第1の記憶アレイおよび第2の記憶アレイはそれぞれ、LUNの割当可能アドレスセットをアドレス割当装置へ送信する。アドレス割当装置は、2つのLUNの割当可能アドレスセットから、2つのLUNにより共有されている有効アドレスを取得し、そして、有効アドレスを第1の記憶アレイおよび第2の記憶アレイへ別々に送信し、それにより、第1のソースLUNと第1のターゲットLUNとの間のアドレス整合性を実現する。ホストと第1のソースLUNとの間のリンクA上で障害が発生したとき、ホストは、マルチパスソフトウェアを用いることによって、ホストと第1のターゲットLUNとの間のリンクBに切り換える。ホストは、元々は第1の記憶アレイ宛だったデータ書き込みコマンドを、リンクBを用いることによって、第2の記憶アレイへ送信する。第1のターゲットLUNのアドレスおよび第1のソースLUNのアドレスが同じであるため、第2の記憶アレイは、アドレスに基づき第1のターゲットLUNを発見することができ、データ書き込みコマンドに保持されているデータを第1のターゲットLUNに書き込むことができる。第1のターゲットLUNおよび第1のソースLUNがアクティブ/アクティブLUNのペアであるため、障害が修復されたとき、第2の記憶アレイは、データを第1のソースLUNにコピーすることができ、それにより、アクティブ/アクティブLUN間のデータ整合性を保証する。
【0007】
第1の態様の第1の実装方式において、アドレス割当装置はさらに、第1のアドレス問い合わせコマンドを第1の記憶アレイへ送信するよう構成され、第1のアドレス問い合わせコマンドは、第1のソースLUNの割当可能アドレスを問い合わせるために用いられ、第1の記憶アレイは具体的には、第1のアドレス問い合わせコマンドに応じて、第1のソースLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成される。アドレス割当装置はさらに、第2のアドレス問い合わせコマンドを第2の記憶アレイへ送信するよう構成され、第2のアドレス問い合わせコマンドは、第1のターゲットLUNの割当可能アドレスを問い合わせるために用いられ、第2の記憶アレイは具体的には、第2のアドレス問い合わせコマンドに応じて、第1のターゲットLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成される。本実装方式において、第1の記憶アレイおよび第2の記憶アレイがレベル2のLUNの割当可能アドレスをアドレス割当装置へ送信するプロセスは、アドレス割当装置により送信されたアドレス問い合わせコマンドが受信された後に、実行される。
【0008】
第1の態様または第1の態様の第1の実装方式に関連して、第1の態様の第2の実装方式において、第1の記憶アレイは、第2のソースLUNをさらに有し、第2の記憶アレイは、第2のターゲットLUNをさらに有し、第2のソースLUNおよび第2のターゲットLUNは、アクティブ/アクティブLUNのペアである。第1の記憶アレイはさらに、第1のソースLUNを第2のソースLUNにマウントし、第1のソースLUNの複数の割当可能アドレスを生成するよう構成される。第1のソースLUNの各割当可能アドレスは、第2のソースLUNのホストLUN IDと、第1のソースLUNのホストLUN IDとを含む。第2の記憶アレイはさらに、第1のターゲットLUNを第2のターゲットLUNにマウントし、第1のターゲットLUNの複数の割当可能アドレスを生成するよう構成され、第1のターゲットLUNの各割当可能アドレスは、第2のターゲットLUNのホストLUN IDと、第1のターゲットLUNのホストLUN IDとを含む。本実装方式において、第1のソースLUNおよび第1のターゲットLUNはレベル2のLUNであることが、さらに明らかとなる。第1のソースLUNは、第2のソースLUN(レベル1のLUN)にマウントされたレベル2のLUNであり、従って、第1のソースLUNの各割当可能アドレスは、第2のソースLUNのホストLUN IDと、第1のソースLUNのホストLUN IDとを含む。第1のターゲットLUNは、第2のターゲットLUN(レベル1のLUN)にマウントされたレベル2のLUNであり、従って、第1のターゲットLUNの各割当可能アドレスは、第2のターゲットLUNのホストLUN IDと、第1のターゲットLUNのホストLUN IDとを含む。加えて、第2の実装方式によれば、レベル2のLUN間のアドレス整合性が、レベル2のLUNをレベル1のLUNにマウントするプロセスにおいて実現される。レベル2のLUNが正常に用いられることを保証するために、レベル2のLUNがレベル1のLUNにマウントされることは必ず、必要である。従って、アドレス整合性が本プロセスにおいてレベル2のLUN間で実現された場合、追加の処理が回避され、これにより、手順が簡略化される。
【0009】
第1の態様の第2の実装方式に関連して、第1の態様の第3の実装方式において、第2のソースLUNのホストLUN IDおよび第2のターゲットLUNのホストLUN IDは、同じである。レベル2のLUNのアドレスが、レベル2のLUNがマウントされたレベル1のLUNのホストLUN IDと、レベル2のLUN自体のホストLUN IDとを含むので、レベル2のLUNがマウントされたレベル1のLUNのホストLUN IDが同じであることを保証することがさらに必要である。
【0010】
第1の態様の第3の実装方式に関連して、第1の態様の第4の実装方式において、第1の記憶アレイはさらに、第2のソースLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成され、第2のソースLUNの割当可能アドレスセットは、第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、第2のソースLUNの1つの割当可能ホストLUN IDを含む。第2の記憶アレイは、第2のターゲットLUNの割当可能アドレスセットをアドレス割当装置へ送信するよう構成され、第2のターゲットLUNの割当可能アドレスセットは、第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、第2のターゲットLUNの1つの割当可能ホストLUN IDを含む。アドレス割当装置はさらに、割当可能アドレスセットの第2のソースLUNおよび第2のターゲットLUNの割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得するよう構成され、レベル1のLUNの有効アドレスは、第2のソースLUNの複数の割当可能アドレスと、第2のターゲットLUNの複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、有効アドレスは、第2のソースLUNのホストLUN IDを含む。アドレス割当装置はさらに、レベル1のLUNの有効アドレスを第1の記憶アレイへ送信し、レベル1のLUNの有効アドレスを第2の記憶アレイへ送信するよう構成される。本実装方式は、レベル1のLUN間のアドレス整合性を保証するために用いられ、レベル2のLUN間のアドレス整合性を保証する方式と同様である。
【0011】
上述の実装方式のうち任意の1つに関連して、第1の態様の第5の実装方式において、アクティブ/アクティブ記憶システムは、ホストをさらに備える。第1の記憶アレイはさらに、有効アドレスが第1のソースLUNのアドレスであることを確認応答するべく、第1のメッセージをホストへ送信するよう構成される。第2の記憶アレイはさらに、有効アドレスが第1のターゲットLUNのアドレスであることを確認応答するべく、第2のメッセージをホストへ送信するよう構成される。第1の記憶アレイおよび第2の記憶アレイは別々に、メッセージをホストへ送信し、有効アドレスが第1のソースLUNのアドレスおよび第1のターゲットLUNのアドレスとして用いられたことを確認応答し、または言い換えれば、有効アドレスが利用されるようになることを確認応答する。有効アドレスが利用されるようになった後に、ホストは、当該有効アドレスを用いて第1のソースLUNおよび第1のターゲットLUNと通信することができる。
【0012】
アドレス割当装置がホストに統合され得ることに留意すべきである。言い換えれば、ホストは、アドレス割当装置の部分を実行する。代わりに、アドレス割当装置は、例えば、クオラムサーバなどの独立サーバとして用いられてよい。
【0013】
本出願の第2の態様は、アドレス割当装置を提供する。アドレス割当装置は、インタフェースおよびプロセッサを備える。インタフェースは、第1の記憶アレイと通信し、第2の記憶アレイと通信するよう構成され、第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、第2の記憶アレイは、第1のターゲットLUNを有し、第1のソースLUNおよび第1のターゲットLUNは、アクティブ/アクティブLUNのペアである。プロセッサは、第1の態様および第1の態様の実装方式のうち任意の1つにおけるアドレス割当装置により実行される機能を実行するよう構成される。
【0014】
本出願の第3の態様は、アドレス割当方法を提供する。方法は、第2の態様において提供されるアドレス割当装置に適用され、アドレス割当装置により実行される。アドレス割当装置がホストに統合されたとき、方法は、ホストにより実行される。アドレス割当装置がクオラムサーバであるとき、方法は、クオラムサーバにより実行される。
【0015】
本出願の第4の態様は、アドレス割当装置を提供する。装置は、第3の態様において提供される方法を実行するよう構成される。
【0016】
本出願の第5の態様は、コンピュータプログラムプロダクトを提供し、プログラムコードを記憶するコンピュータ可読記憶媒体が挙げられる。第2の態様または第4の態様におけるアドレス割当装置は、プログラムコードに含まれる命令を実行して、第3の態様における少なくとも1つの方法を実行し得る。
【0017】
本出願の第6の態様は、アクティブ/アクティブ記憶システムを提供する。アクティブ/アクティブ記憶システムは、第1の記憶アレイと、第2の記憶アレイと、ホストとを含む。第2の記憶アレイは、アドレス割当装置を含む。言い換えれば、アドレス割当装置は、第2の記憶アレイに統合されている。システムにおいて、ホストは、第1の記憶アレイに、レベル2のLUNをマウントするよう命令する。第1の記憶アレイは、レベル2のLUNのマウントイベントを第2の記憶アレイに通知する。第2の記憶アレイは、第1のアドレス問い合わせコマンドを第1の記憶アレイへ送信して、第1のソースLUNの割当可能アドレスを問い合わせるよう要求する。第1の記憶アレイは、第1のソースLUNの割当可能アドレスセットを第2の記憶アレイへ送信する。第2の記憶アレイは、第1のソースLUNの割当可能アドレスセットと、ローカルの第1のターゲットLUNの割当可能アドレスセットとに基づき、有効アドレスを取得する。第2の記憶アレイは、マウント成功を第1の記憶アレイへフィードバックし、第1のターゲットLUNのアドレスを第1の記憶アレイへ送信する。第1の記憶アレイは、マウント成功をホストへフィードバックし、第1のソースLUNのアドレスおよび第1のターゲットLUNのアドレスをホストへ送信する。
【0018】
第6の態様において提供されているアクティブ/アクティブ記憶システムによれば、アドレス割当装置は、第2の記憶アレイに位置する。第1の記憶アレイは、LUNの割当可能アドレスセットを第2の記憶アレイへ送信する。第2の記憶アレイは、2つのLUNの割当可能アドレスセットから、2つのLUNにより共有される有効アドレスを取得し、そして、当該有効アドレスを第1の記憶アレイへ送信し、それにより、第1のソースLUNと第1のターゲットLUNとの間のアドレス整合性を実現する。ホストと第1のソースLUNとの間のリンクA上で障害が発生したとき、ホストは、マルチパスソフトウェアを用いることによって、ホストと第1のターゲットLUNとの間のリンクBに切り換える。ホストは、元々は第1の記憶アレイ宛だったデータ書き込みコマンドを、リンクBを用いることによって、第2の記憶アレイへ送信する。第1のターゲットLUNのアドレスおよび第1のソースLUNのアドレスは同じであるため、第2の記憶アレイは、アドレスに基づき、第1のターゲットLUNを発見し、かつ、データ書き込みコマンドに保持されているデータを第1のターゲットLUNに書き込むことができる。第1のターゲットLUNおよび第1のソースLUNはアクティブ/アクティブLUNのペアであるため、障害が修復されたとき、第2の記憶アレイは、データを第1のソースLUNにコピーすることができ、それにより、アクティブ/アクティブLUN間のデータ整合性を保証する。
【0019】
本出願の第7態様が、第6の態様において提供されているアクティブ/アクティブ記憶システムにおける第2の記憶アレイにより実行される機能を実行するよう構成される記憶アレイを提供する。
【0020】
本出願の第8の態様は、第6の態様において提供されているアクティブ/アクティブ記憶システムに適用され、かつ、第1の記憶アレイおよび第2の記憶アレイにより実行されるアドレス割当方法を提供する。
【0021】
本出願の第9の態様は、プログラムコードを記憶するコンピュータ可読記憶媒体を含むコンピュータプログラムプロダクトを提供する。第6の態様におけるアクティブ/アクティブ記憶システムの第1の記憶アレイおよび第2の記憶アレイは、プログラムコードに含まれている命令を実行して、第8の態様における少なくとも1つの方法を実行し得る。
【図面の簡単な説明】
【0022】
本発明の実装形態における技術的解決手段をより明確に説明するために、以下では、実装形態のために必要とされる添付の図面を簡潔に説明する。
【0023】
図1】本発明の実装形態に係るシステムアーキテクチャ図である。
【0024】
図2】本発明の実装形態に係るレベル1のLUNのアドレスの概略図である。
【0025】
図3】本発明の実装形態に係る別のシステムアーキテクチャ図である。
【0026】
図4】本発明の実装形態に係るレベル2のLUNのアドレスの概略図である。
【0027】
図5】本発明の実装形態に係るアドレス割当方法のシグナリング相互作用図である。
【0028】
図6】本発明の実装形態に係る別のアドレス割当方法のシグナリング相互作用図である。
【0029】
図7】本発明の実装形態に係るさらに別のアドレス割当方法のシグナリング相互作用図である。
【0030】
図8】本発明の実装形態に係るアドレス割当装置のハードウェア構造の概略図である。
【0031】
図9】本発明の実装形態に係るアドレス割当装置の概略構造図である。
【発明を実施するための形態】
【0032】
本発明の実装形態に係る技術的解決手段は、添付の図面を参照して、以下において明確に、かつ完全に説明される。
【0033】
図1は、本発明の実装形態に係るシステムアーキテクチャ図である。図1に示されているように、記憶システムは、アクティブ/アクティブ(active−active)アレイを備え、アクティブ/アクティブアレイとも称される。アクティブ/アクティブアレイは、第1の記憶アレイ20および第2の記憶アレイ30を含む。第1の記憶アレイ20および第2の記憶アレイ30は両方、ホスト10のサービスを担い得る。第1の記憶アレイ20は、コントローラと、複数のディスクまたはソリッドステートドライブとを含む。コントローラは、例えば、サーバまたはデスクトップコンピュータなどのコンピューティングデバイスであってよい。オペレーティングシステムおよびアプリケーションが、コントローラにインストールされている。コントローラは、ストレージエリアネットワーク(storage area network、SAN)を用いることによって、ホスト10に接続される。コントローラは、ホストから、入力/出力(I/O)要求を受信し得る。コントローラはさらに、I/O要求に保持されているデータ(存在する場合)を記憶し、当該データをディスクに書き込んでよい。第2の記憶アレイ30の構造は、第1の記憶アレイ20の構造と同様である。本実装形態において、第1の記憶アレイ20において提供されている第1のソース論理ユニット番号(logical unit number、LUN)201、および第2の記憶アレイ30において提供されている第1のターゲットLUN301が、アクティブ/アクティブLUNのペアである。アクティブ/アクティブLUNのペアは、1つのLUNとして、ホスト10のために記憶サービスを提供する。
【0034】
複数の仮想マシンが、ホスト10上で実行される。図1における仮想マシン101は単に、複数の仮想マシンのうち例示的な1つである。第1の記憶アレイ20は、LUN201を仮想マシン101に割り振り、第2の記憶アレイ30は、LUN301を仮想マシン101に割り振る。LUN201は、ホスト10上のLUN201'にマッピングされる。第1の記憶アレイ20は、LUN201の識別子とLUN201'の識別子との間のマッピング関係を記憶する。LUN301は、ホスト10上のLUN301'にマッピングされる。第2の記憶アレイ30は、LUN301の識別子とLUN301'の識別子との間のマッピング関係を記憶する。本実装形態において、記憶アレイをホストにマッピングする仮想LUNは、ホストLUNと称される。ホストLUNの識別子は、ホストLUN IDと称される。説明を容易にするために、ホスト10と第1の記憶アレイ20との間のリンクは、リンクAと称され、ホスト10と第2の記憶アレイ30との間のリンクは、リンクBと称される。仮想マシン101は、リンクAを用いることによってLUN201にアクセスしてよく、リンクBを用いることによってLUN301にアクセスしてもよい。例えば、仮想マシン101がデータを書き込む必要があるとき、ホスト10は、マルチパスソフトウェアを用いることによってリンクAまたはリンクBを選択する。リンク選択原則は、負荷分散原則または別の原則であってよい。リンクAが比較的使用率が低いと仮定すると、ホスト10は、リンクAを選択し、仮想マシン10は、データをLUN201に書き込む。LUN201とLUN301との間のデータ整合性を保証するために、データを受信した後に、第2の記憶アレイ30は、データをLUN301にコピーする。加えて、第1の記憶アレイ20および第2の記憶アレイ30のいずれかで障害が発生したとき、もう一方の記憶アレイは、引き続きサービスを受け得て、中断のないサービス切り替えを実現する。
【0035】
本明細書におけるLUNの概念を説明する必要がある。実際の応用において、記憶アレイにおける物理的ディスクは論理的に組み合わされ、必要とされるRAIDレベルが適用され、RAIDセットを取得する。RAIDセットは、複数のディスクが組み合わされているので、概して比較的大きい容量を有する。従って、RAIDセットの利用可能な容量が、論理ユニット(logical unit)と称される、比較的小さい単位に分割され、論理ユニットは、ホストの記憶要求に応じてホストに割り振られる。各論理ユニットには、一意の識別子、すなわち、論理ユニット番号(logical unit number、LUN)が割り振られ、ホストにとって、RAIDセットの編成および構造は、論理ユニット番号では不可視である。論理ユニットは、LUNデバイスと称され、以下の説明において、LUNデバイスは簡潔にLUNと称される。LUNは、異なる機能を有する、少なくとも2つのタイプの識別子、すなわち、LUN IDと、汎用一意識別子(Universally Unique Identifier、UUID)とを有する。LUN IDは、デバイスにおけるLUNの識別子であり、記憶アレイにおける他のLUNから当該LUNを区別するために用いられる。しかしながら、LUN IDは、第1の記憶アレイ20においてのみ一意のものであり、別の記憶アレイ(例えば、第2の記憶アレイ30)におけるLUNのLUN IDと一致し得る。UUIDは、LUNの識別子であり、UUIDは、グローバルに一意の番号である。加えて、LUNがホストに結び付けられた後に、ホストには可視のLUNは、ホストLUNであり、ホストLUNの識別子はホストLUN IDと称されることに留意すべきである。ホストLUNは、実際に存在する物理的スペースではなく、ホスト上のLUNのマッピングである。従って、ホストLUN IDは、LUNの識別子ともみなされ得る。説明の便宜上、本実装形態において、記憶アレイには可視のLUN識別子は、デバイスLUN IDと称され、ホストには可視のLUN識別子は、ホストLUN IDと称される。特に別段の記載がない限り、以下のLUNの識別子は、LUNのホストLUN IDである。
【0036】
LUNのアドレスが、ホストLUN IDをカプセル化することによって取得される。図2に示されているように、SCSI規格によれば、LUNのアドレスは、8つのオクテットを含む。先頭のオクテットは、例えば、アドレス法(address method)およびバス識別子(bus identifier)などの固定値であり、2番目のオクテットは、LUNの識別子で埋められ、残りのオクテットは、ゼロでパディングされるか、またはヌル(null)である。
【0037】
実際の応用において、ホストは通常、複数の仮想マシンを実行し、記憶アレイにおける1つのLUNが、ホスト上の1つの仮想マシンに割り振られる。言い換えれば、各仮想マシンは、記憶アレイにおける1つのLUNに対応する。1000個の仮想マシンがホスト上で実行する場合、記憶アレイは、当該仮想マシンにマッチングするように1000個のLUNを有する必要がある。しかしながら、SCSI規格によれば、最大で256個または512個のLUNをホストにマウントすることができる。明らかに、ホストにマウントされるLUNの数量が限定されている。LUNの数量が限定されているという問題を解決するために、プロキシLUNが導入される。説明の便宜上、本発明の本実装形態において、データを記憶するLUNは、レベル2のLUNと称され、ホストにマウントされるLUNは、レベル1のLUN(または、プロキシLUN)と称される。マッピング関係が1つのレベル1のLUNと複数のレベル2のLUNとの間で確立される。レベル1のLUNは、ホスト上のホストLUNにマッピングされ、マッピング関係が、ホストLUNと複数の仮想マシンとの間で確立される。実際の応用において、レベル2のLUNは、VVOL LUNとも称されてよい。レベル1のLUNは実際に、データを記憶せず、データは、レベル2のLUNにおいて記憶されることに留意すべきである。
【0038】
図3を参照すると、図3に示されている記憶システムにおいて、第2のソースLUN401および第2のターゲットLUN501は、レベル1のLUNである。第2のソースLUN401をホスト10にマッピングするのに用いられるホストLUNがLUN401'であり、第2のターゲットLUN501をホスト10にマッピングするのに用いられるホストLUNがLUN501'である。マルチパスソフトウェアが図3に示されているホスト10に配置されると仮定すると、LUN401'およびLUN501'は、同じ仮想ディスクにマッピングされる。第2のソースLUN401および第2のターゲットLUN501のレベル2のLUNは、アクティブ/アクティブLUNのペアである。第1のソースLUN201は、第2のソースLUN401のレベル2のLUNであり、第1のターゲットLUN301は、第2のターゲットLUN501のレベル2のLUNである。第1のソースLUN201および第1のターゲットLUN301は、アクティブ/アクティブLUNのペアであり、アクティブ/アクティブLUNによりホスト10へ提示されるUUIDは、同じである。UUIDはLUNのグローバルに一意の番号であるが、アクティブ/アクティブLUNの目的が、ホストに対して1つのLUNとしてマスカレードすることであることに留意すべきである。従って、アクティブ/アクティブLUNによりホストへ提示されるUUIDは、同じである。アクティブ/アクティブLUNによりホストへ提示されるUUIDが同じであるように、本実装形態において、アクティブ/アクティブLUNのペアにおける1つのLUNは、他方のLUNのUUIDをそのUUIDとして用いて、当該UUIDをホストへ提示してよい。LUNが位置する記憶アレイは、LUNの元のUUIDと、ホストへ提示されたUUIDとの間の対応関係を記憶する。例えば、第1のソースLUN201のUUIDがAであり、第1のターゲットLUN301のUUIDがA'である。第1のソースLUN201および第1のターゲットLUN301によりホスト10へ提示されるUUIDは両方、A'であり、第1の記憶アレイ20は、AとA'との間の対応関係を記憶する。
【0039】
以下では、レベル2のLUNのマウントを説明する。レベル2のLUNのマウントは、2つの段階を含む。段階1.記憶アレイにおけるレベル1のLUNをホストにマウントし、レベル1のLUNがホストにマウントされた後に、ホストとLUNとの間のSCSIチャネルが確立される。ホストは、SCSIチャネルを用いることによってデータ読み取りコマンドと、データ書き込みコマンドと、別のコマンドとをLUNへ送信する。段階2.レベル2のLUNをレベル1のLUNにマウントする。本実装形態は、段階2の説明に焦点を置く。
【0040】
管理チャネルが、ホストと記憶アレイとの間に存在する。ホストは、管理チャネルを用いることによってLUN生成コマンドおよびLUNマウントコマンドを記憶アレイへ送信し、記憶アレイに、LUNを生成してレベル2のLUNをレベル1のLUNにマウントするよう命令する。具体的には、ホストは、管理チャネルを用いることによってレベル2のLUN生成コマンドを記憶アレイへ送信し、記憶アレイに、レベル2のLUNを生成するよう命令する。加えて、ホストはさらに、管理チャネルを用いることによってレベル2のLUNマウントコマンドを記憶アレイへ送信する必要があり、これにより、LUNは、レベル1のLUNにマウントされる。レベル2のLUNがレベル1のLUNにマウントされることは、レベル2のLUNがレベル1のLUNに結び付けられることを意味する。レベル2のLUNがレベル1のLUNにマウントされた後に、ホストは、SCSIチャネルを用いることによってレベル2のLUNにアクセスし得る。例えば、記憶アレイ20は、第1のソースLUN201を生成し、デバイスLUN IDおよびUUIDを第1のソースLUN201に割り当てる。記憶アレイ20は、管理チャネルを用いることによって第1のソースLUN201のデバイスLUN IDをホスト10へ報告する。ホスト10は、管理チャネルを用いることによってマウントコマンドを記憶アレイ20へ送信し、マウントコマンドは、ホストIDと、第1のソースLUN201のデバイスLUN IDとを含む。記憶アレイ20は、生成され、ホスト10にマウントされているレベル1のLUN(例えば、図3に示されている第2のソースLUN401)に、第1のソースLUN201をマウントし、第1のソースLUN201のアドレスをホスト10へ送信する。本実装形態において、レベル2のLUNのアドレスは、レベル2のLUNの識別子と、レベル2のLUNがマウントされたレベル1のLUNの識別子とを含む。例えば、第1のソースLUN201のアドレスは、第1のソースLUN201の識別子および第2のソースLUN401の識別子を含み、第1のターゲットLUN301のアドレスは、第1のターゲットLUN301の識別子および第2のターゲットLUN501の識別子を含む。第1のターゲットLUN301をマウントするプロセスは、第1のソースLUN201をマウントするプロセスと同様であり、詳細はここでは再び説明されない。レベル2のLUNがマウントされた後に、レベル2のLUNは、ホスト10上のレベル1のLUNのサブLUNにマッピングされる。例えば、第1のソースLUN201がマウントされた後に、第1のソースLUN201は、第2のソースLUN401'の第1のソースLUN201'にマッピングされる。第1のターゲットLUN301がマウントされた後に、第1のターゲットLUN301は、第2のターゲットLUN501'の第1のターゲットLUN301'にマッピングされる。
【0041】
レベル2のLUNのアドレスのカプセル化については、図4を参照されたい。図4に示されているように、レベル2のLUNのアドレスは主に、2つの部分を含む。先頭の部分は、レベル1のLUNの識別子であり、2番目の部分は、レベル2のLUNの識別子である。加えて、いくつかの固定値がさらに、SCSI規格に従って、アドレスにカプセル化される。例えば、図3に示されているように、オクテット0およびオクテット2は両方、アドレス法およびバス識別子を含む。
【0042】
仮想マシン101がデータをLUNに書き込む必要があるとき、ユーザは、複数の仮想ディスクから1つの仮想ディスクを選択して、データを受信する。それぞれのレベル2のLUNは、1つの仮想ディスクに対応する。本実装形態において、仮想ディスク102を例として用いると、マッピング関係が、仮想ディスク102のドライブ名と、第1のソースLUN201の識別子との間に存在する。従って、仮想ディスク102が選択されたとき、データが第1のソースLUN201に書き込まれる予定であると決定される。ホスト10は、データ書き込みコマンドを生成し、データ書き込みコマンドは、データおよび第1のソースLUN201のアドレスを含む。ホスト10は、リンクAを用いることによってデータ書き込みコマンドを第1の記憶アレイ20へ送信し、第1の記憶アレイ20は、データ書き込みコマンドを受信する。図4における説明によれば、第1のソースLUN201のアドレスは、2つの部分を含み、先頭の部分は、第2のソースLUN401'の識別子であり、2番目の部分は、第1のソースLUN201の識別子である。第1の記憶アレイ20は、第2のソースLUN401の識別子と第2のソースLUNのホストLUN401'の識別子との間のマッピング関係を記憶するので、第1の記憶アレイ20は、第2のソースLUN401'の識別子に基づき、アクセスされる予定のレベル1のLUNが第2のソースLUN401であると決定してよい。そして、第1の記憶アレイ20は、第1のソースLUN201の識別子に基づき、アクセスされる予定のレベル2のLUNが第1のソースLUN201であると決定する。従って、データは、第1のソースLUN201に書き込まれる。
【0043】
アクティブ/アクティブメカニズムが採用された後は、仮想マシンはリンク障害を認識しない。リンクAで障害が発生した場合、ホスト10は、マルチパスソフトウェアを用いることによってリンクBに切り換える。ホスト10は、リンクBを用いることによってデータ書き込みコマンドを第2の記憶アレイ30へ送信する。理論上、第1のターゲットLUN301および第1のソースLUN201は、アクティブ/アクティブLUNのペアである。データを第1のターゲットLUN301に書き込むことができる場合、データは次に、リンクAが回復された後に、第1のターゲットLUN301から第1のソースLUN201へコピーされ、これによりデータ整合性を保証することができる。しかしながら、実際の応用において、第1のターゲットLUN301の識別子は、第1のソースLUN201の識別子と異なる場合があり、第2の記憶アレイ30は、データ書き込みコマンドを受信した後は、第1のソースLUN201の識別子を認識しない。この場合、データは、第2の記憶アレイ30における別のレベル2のLUNに書き込まれる場合があり、データの不整合をもたらす。
【0044】
本実装形態において、第1の記憶アレイ20により報告されたレベル2のLUNの割当可能アドレスセットおよび第2の記憶アレイ30により報告されたレベル2のLUNの割当可能アドレスセットから、共通の有効アドレスを選択する装置は、アドレス割当装置と称される。アドレス割当装置は、ホスト10に統合されてよく、または、独立サーバとして用いられてよく、または、記憶アレイに統合されてよい。
【0045】
アドレス割当装置がホスト10に統合されたとき、本発明の実装形態は、アドレス割当方法を提供し、これにより、アクティブ/アクティブLUNをマウントするプロセスにおいてアクティブ/アクティブLUN間のアドレス整合性を保証することができる。図5を参照すると、図5は、本発明の本実装形態に係るアドレス割当方法のシグナリング相互作用図である。方法は、図3に示されているアクティブ/アクティブ記憶システムに適用される。図5に示されているように、方法は、以下の段階を備える。
【0046】
S502.第1の記憶アレイ20は、第1のソースLUNの割当可能アドレスセットをホスト10へ送信する。割当可能アドレスセットは、第1のソースLUNの複数の割当可能アドレスを含む。第1のソースLUNは、レベル2のLUNである。レベル2のLUNについて、図3に示されている第1のソースLUN201を参照されたい。
【0047】
ここで、第1のソースLUNの割当可能アドレスセットをホスト10へ送信することは具体的には、割当可能アドレスセットをホスト10におけるアドレス割当装置へ送信することを意味する。加えて、VASA構成要素がホスト10上に配置され、VASA構成要素は、レベル2のLUNをホストにマウントするよう記憶アレイに命令するよう構成され、ホスト10は、VASA構成要素を用いることによって命令を第1の記憶アレイ20または第2の記憶アレイ30へ送信し、レベル2のLUNのマウントを要求する。ホスト10におけるアドレス割当装置は、第1のアドレス問い合わせコマンドを第1の記憶アレイ20へ送信してよく、当該コマンドは、第1のソースLUN201の割当可能アドレスを問い合わせるために用いられる。具体的には、ホスト10は、第1のアドレス問い合わせコマンドを第1の記憶アレイ20へ送信する。加えて、本実装形態は、第1の記憶アレイ20が、第1のアドレス問い合わせコマンドを受信して初めて第1のソースLUNの割当可能アドレスセットをホストへ送信できるということに限定されない。第1の記憶アレイ20が第1のアドレス問い合わせコマンドを受信していないとき、第1の記憶アレイ20は代わりに、第1のソースLUNの割当可能アドレスセットをホスト10内のアドレス割当装置に能動的に報告してよい。例えば、第1のアドレス問い合わせコマンドを受信する前に、第1の記憶アレイ20は、問題なく生成され、ホスト10にマウントされている、例えば、図3に示されている第2のソースLUN401などのレベル1のLUNを選択した。第1のソースLUNのアドレスを生成した後に、第1の記憶アレイ20は、第1のソースLUNのアドレスをホスト10へ送信してよい。上述の説明に基づき、第1のソースLUN201のアドレスは、第1のソースLUN201がマウントされた第2のソースLUN401の識別子と、第1のソースLUN201の識別子とを含む。ここでの識別子は、ホストLUN IDである。第1のソースLUN201は、記憶システムの予め設定されたホストLUN ID割当方式に係る複数の割当可能ホストLUN IDを有し得る。従って、第1のソースLUN201の割当可能アドレスセットは、複数の割当可能アドレスを含み得る。割当可能アドレスは、レベル2のLUNにアクセスするためにホストにより用いられるアドレスであり、レベル2のLUNのホストLUN IDと、レベル2のLUNがマウントされるレベル1のLUNのホストLUN IDとを含む。例えば、第1のソースLUN201の割当可能アドレスは、第1のソースLUN201のホストLUN IDおよび第2のソースLUN401のホストLUN IDを含む。割当可能アドレスセットに含まれる複数の割当可能アドレスにおいて、割当可能アドレスにおける第2のソースLUN401のホストLUN IDは、同じである。本発明の本実装形態において、割当可能アドレスセットは、割当可能アドレスセットが複数の割当可能アドレスを含むことができる限り、表の形式であってよく、または、ビットマップの形式であってよく、または、別の形式であってよいことに留意すべきである。
【0048】
S504.第2の記憶アレイ30は、第1のターゲットLUNの割当可能アドレスセットをホスト10へ送信する。同様に、第1のターゲットLUNの割当可能アドレスセットをホスト10へ送信することは、第1のターゲットLUNの割当可能アドレスセットをホスト10におけるアドレス割当装置へ送信することを意味する。割当可能アドレスセットは、第1のターゲットLUNの複数の割当可能アドレスを含む。第1のターゲットLUNは、レベル2のLUNであり、それについては、図3に示されている第1のターゲットLUN301を参照されたい。第1のソースLUN201と同様に、第1のターゲットLUNも、複数の割当可能アドレスを有し、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。加えて、各割当可能アドレスは、第2のターゲットLUN501のホストLUN IDをさらに含み、各割当可能アドレスに含まれる第2のターゲットLUN501のホストLUN IDが確定的であり、第2のターゲットLUN501のホストLUN IDおよび第2のソースLUN401のホストLUN IDは、同じである。
【0049】
S505.ホスト10におけるアドレス割当装置は、第1のソースLUN201の割当可能アドレスセットおよび第1のターゲットLUN301の割当可能アドレスセットから、有効アドレスを取得する。有効アドレスは、第1のソースLUN201の割当可能アドレスセットと第1のターゲットLUN301の割当可能アドレスセットとの重なりにおける1つの割当可能アドレスである。主に、第1のソースLUN201の含まれる割当可能ホストLUN IDが異なることから、第1のソースLUN201の複数の割当可能アドレスは異なる。従って、段階S505は、第1のソースLUN201の複数の割当可能ホストLUN IDおよび第1のターゲットLUN301の複数の割当可能ホストLUN IDから、共通ホストLUN IDを取得し、そして、共通ホストLUN IDを有効アドレスにカプセル化するという段階であると理解されてもよい。例えば、第1のソースLUN201の複数の割当可能ホストLUN IDが[1−100]であり、かつ、第1のターゲットLUN301の複数の割当可能ホストLUN IDが[50−100]である場合、共通ホストLUN IDは、[50−100]である。ホスト10は、[50−100]から、任意のIDを取得し、IDを有効アドレスにカプセル化してよい。有効アドレスのフォーマットは、SCSI規格に準拠し、それについては、図4に示されているアドレスフォーマットを参照されたい。
【0050】
S506.ホスト10は、有効アドレスを第1の記憶アレイ20へ送信する。具体的には、アドレス割当装置は、有効アドレスを第1の記憶アレイ20へ送信してよい。
【0051】
S507.第1の記憶アレイ20は、第1の応答メッセージをホスト10へ送信して、有効アドレスが第1のソースLUNのアドレスであることを確認応答する。
【0052】
任意選択的に、第1の記憶アレイ20はさらに、有効アドレスを第1のソースLUN201に結び付けてよい。有効アドレスを第1のソースLUN201に結び付けることは、第1の記憶アレイ20が有効アドレスと第1のソースLUN201のUUIDとの間のマッピング関係を記憶することを意味する。有効アドレスは、第1のソースLUN201のアドレスである。有効アドレスのオクテット2から5に含まれるレベル2のLUNのホストLUN IDは、第1のソースLUN201および第1のターゲットLUN301により共有されるホストLUN IDである。有効アドレスを第1のソースLUNに結び付けた後に、第1の記憶アレイ20は、ホスト10がハードウェアスキャニングを起動したとき、第1のソースLUN201のアドレスをホスト10へ送信してよい。有効アドレスに結び付けられた第1のソースLUN201のUUIDが第1のソースLUN201自体のUUID(例えば、A)であってよく、または、ホスト10に提示されたUUID(例えば、A')であってよいことに留意すべきである。第1の記憶アレイ20は、AとA'との間の対応関係を記憶するので、有効アドレスがどのUUIDに結び付けられたかに関係なく、第1の記憶アレイ20は、有効アドレスを用いることによって第1のソースLUN201のUUIDを発見することができ、第1のソースLUN201にアクセスする。
【0053】
S508.ホスト10は、有効アドレスを第2の記憶アレイ30へ送信する。
【0054】
S509.第2の記憶アレイ30は、第2の応答メッセージをホスト10へ送信し、有効アドレスが第1のターゲットLUNのアドレスであることを確認応答する。
【0055】
任意選択的に、第2の記憶アレイ30はさらに、有効アドレスを第1のターゲットLUN301に結び付けてよい。有効アドレスを第1のターゲットLUN301に結び付けることは、第1の記憶アレイ30が有効アドレスと第1のターゲットLUN301のUUIDとの間のマッピング関係を記憶することを意味する。有効アドレスは、第1のターゲットLUN301のアドレスである。有効アドレスのオクテット2から5に含まれるレベル2のLUNのホストLUN IDは、第1のソースLUN201および第1のターゲットLUN301により共有されるホストLUN IDである。有効アドレスを第1のターゲットLUNに結び付けた後に、第2の記憶アレイ30は、ホスト10がハードウェアスキャニングを起動したとき、第1のターゲットLUN301のアドレスをホスト10へ送信してよい。
【0056】
第2のターゲットLUN501のホストLUN IDおよび第2のソースLUN401のホストLUN IDは同じであることが段階S504において言及されている。以下では、レベル2のLUNがマウントされたレベル1のLUNのホストLUN ID間の整合性をどのように保証することを説明する。
【0057】
第1の記憶アレイ20におけるレベル1のLUN(例えば、第2のソースLUN401)および第2の記憶アレイ30におけるレベル1のLUN(例えば、第2のターゲットLUN501)がホスト10にマウントされた後に、ホスト10は、第1の記憶アレイ20および第2の記憶アレイ30に対してハードウェアデバイススキャニングを別々に実行する。第1の記憶アレイ20は、第2のソースLUN401のアドレスをホスト10におけるアドレス割当装置を送信する。第2のソースLUN401のアドレスは、第2のソースLUN401の識別子を含む。第2の記憶アレイ30は、第2のターゲットLUN501のアドレスをホスト10へ送信する。第2のターゲットLUN501のアドレスは、第2のターゲットLUN501の識別子を含む。ホスト10におけるアドレス割当装置は、第2のソースLUN401のアドレスおよび第2のターゲットLUN501のアドレスが同じであるかを決定する。言い換えれば、アドレス割当装置は、第2のソースLUN401のホストLUN IDおおび第2のターゲットLUN501のホストLUN IDが同じであるかを決定する。ホストLUN IDが異なる場合、ホスト10におけるアドレス割当装置は、問い合わせ命令を第1の記憶アレイ20へ送信する。問い合わせ命令は、第2のソースLUN401の割当可能アドレスを問い合わせるために用いられる。第1の記憶アレイ20は、第2のソースLUN401の割当可能アドレスセットをホスト10におけるアドレス割当装置へフィードバックする。割当可能アドレスセットは、複数の割当可能アドレスを含み、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。同様に、ホスト10におけるアドレス割当装置は、問い合わせ命令を第2の記憶アレイ30へ送信する。問い合わせ命令は、第2のターゲットLUN501の割当可能アドレスを問い合わせるために用いられる。第2の記憶アレイ30は、第2のターゲットLUN501の割当可能アドレスセットをホスト10におけるアドレス割当装置へフィードバックする。割当可能アドレスセットは、複数の割当可能アドレスを含み、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。ホスト10におけるアドレス割当装置は、2つの記憶アレイにより送信された割当可能アドレスセットを受信した後に、2つの割当可能アドレスセットから、同じアドレスを有効アドレスとして取得する。複数の有効アドレスが存在する場合、ホスト10は、複数の有効アドレスのうち任意の1つを選択し、有効アドレスを第1の記憶アレイ20および第2の記憶アレイ30へ別々に送信する。有効アドレスを受信した後に、第1の記憶アレイ20は、応答メッセージをホストへ送信して、有効アドレスが第2のソースLUN401のアドレスであることを確認応答する。加えて、第1の記憶アレイ20は、有効アドレスを第2のソースLUN401のUUIDに結び付けてよい。有効アドレスを受信した後に、第2の記憶アレイ30は、応答メッセージをホストへ送信して、有効アドレスが第2のターゲットLUN501のアドレスであることを確認応答する。加えて、第2の記憶アレイ30は、有効アドレスを第2のターゲットLUN501のUUIDに結び付けてよい。ホスト10が再び、第1の記憶アレイ20および第2の記憶アレイ30に対してハードウェアデバイススキャニングを実行したとき、第1の記憶アレイ20および第2の記憶アレイ30は別々に、有効アドレスをホスト10へフィードバックする。
【0058】
加えて、上で説明されているアドレス割当装置は代わりに、独立したクオラムサーバ40に位置してよい。アドレス割当装置がクオラムサーバ40に位置するとき、実装形態はさらに、別のアドレス割当方法を提供する。図6を参照すると、図6は、別のアドレス割当方法のシグナリング相互作用図である。図6に示されているように、方法は、以下の段階を含む。
【0059】
S601.ホスト10は、VASA構成要素を用いることによって第1の記憶アレイ20に、レベル2のLUNをマウントするよう命令する。図3に示されている第1のソースLUN201および第1のターゲットLUN301はまた、ここでのレベル2のLUNの例として用いられる。第1のソースLUN201および第1のターゲットLUN301は、アクティブ/アクティブLUNのペアである。ホスト10はさらに、マウントコマンドを第2の記憶アレイ30へ送信してよい。
【0060】
S602.第1の記憶アレイ20は、クオラムサーバ40におけるアドレス割当装置に、ホストがレベル2のLUNのマウントを要求することを通知する。
【0061】
S603.クオラムサーバ40におけるアドレス割当装置は、第1のアドレス問い合わせコマンドを第1の記憶アレイ20へ送信し、第1のソースLUN201の割当可能アドレスを問い合わせするよう要求する。
【0062】
S604.第1の記憶アレイ20は、第1のソースLUN201の割当可能アドレスセットをクオラムサーバ40におけるアドレス割当装置へ送信する。第1のアドレス問い合わせコマンドを受信する前に、第1の記憶アレイ20は、問題なく生成され、ホスト10にマウントされている、例えば、図3に示されている第2のソースLUN401などのレベル1のLUNを選択した。上述の説明に基づき、第1のソースLUN201のアドレスは、第1のソースLUN201がマウントされた第2のソースLUN301のホストLUN IDと、第1のソースLUN201のホストLUN IDとを含む。第1のソースLUN201は、記憶システムの予め設定されたホストLUN ID割当方式に係る複数の割当可能ホストLUN IDを有してよい。従って、第1のソースLUN201の割当可能アドレスセットは、複数の割当可能アドレスを含んでよく、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。加えて、各割当可能アドレスは、第2のソースLUN401のホストLUN IDをさらに含み、各割当可能アドレスに含まれる第2のソースLUN401のホストLUN IDが確定的である。本発明の本実装形態において、割当可能アドレスセットは、割当可能アドレスセットが複数の割当可能アドレスを含むことができる限り、表の形式であってよく、または、ビットマップの形式であってよく、または、別の形式であってよいことに留意すべきである。
【0063】
S605.クオラムサーバ40におけるアドレス割当装置は、第2のアドレス問い合わせコマンドを第2の記憶アレイ30へ送信して、第1のターゲットLUN301の割当可能アドレスを問い合わせするよう要求する。
【0064】
S606.第2の記憶アレイ30は、第1のターゲットLUN301の割当可能アドレスセットをクオラムサーバ40におけるアドレス割当装置へ送信する。割当可能アドレスセットは、第1のターゲットLUNの複数の割当可能アドレスを含む。第1のソースLUN201と同様に、第1のターゲットLUNも、複数の割当可能アドレスを有し、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。加えて、各割当可能アドレスは、第2のターゲットLUN501のホストLUN IDをさらに含み、各割当可能アドレスに含まれる第2のターゲットLUN501のホストLUN IDが確定的であり、第2のターゲットLUN501のホストLUN IDおよび第2のソースLUN401のホストLUN IDは同じである。第1の記憶アレイ20および第2の記憶アレイ30は代わりに、レベル1のLUNの割当可能アドレスセットをクオラムサーバ40に能動的に報告し得るが、クオラムサーバ40の問い合わせ要求を受信した後に、割当可能アドレスセットを報告しないことに留意すべきである。
【0065】
S607.クオラムサーバ40におけるアドレス割当装置は、第1のソースLUN201の割当可能アドレスセットおよび第1のターゲットLUN301の割当可能アドレスセットから、少なくとも1つの有効アドレスを取得する。有効アドレスは、第1のソースLUN201の複数の割当可能アドレスのサブセットであり、有効アドレスは、第1のターゲットLUN301の複数の割当可能アドレスのサブセットでもある。言い換えれば、有効アドレスは、第1のソースLUN201の複数の割当可能アドレスと、第1のターゲットLUN301の複数の割当可能アドレスとの重なりである。主に、第1のソースLUN201の含まれる割当可能ホストLUN IDが異なることから、第1のソースLUN201の複数の割当可能アドレスは異なる。従って、段階S607は、第1のソースLUN201の複数の割当可能ホストLUN IDおよび第1のターゲットLUN301の複数の割当可能ホストLUN IDから、共通ホストLUN IDを取得し、そして、共通ホストLUN IDを有効アドレスにカプセル化するという段階であると理解されてもよい。例えば、第1のソースLUN201の複数の割当可能ホストLUN IDが[1−100]であり、かつ、第1のターゲットLUN301の複数の割当可能ホストLUN IDが[50−100]である場合、共通ホストLUN IDは[50−100]である。ホスト10は、[50−100]から、任意のIDを取得し、IDを有効アドレスにカプセル化してよい。有効アドレスのフォーマットは、SCSI規格に準拠し、それについては、図4に示されているアドレスフォーマットを参照されたい。
【0066】
S608.クオラムサーバ40におけるアドレス割当装置は、有効アドレスを第1の記憶アレイ20へ送信する。
【0067】
S609.第1の記憶アレイ20はさらに、有効アドレスを第1のソースLUN201結び付けてよい。具体的には、第1の記憶アレイ20は、有効アドレスと、第1のソースLUN201のUUIDとの間のマッピング関係を記憶する。従って、有効アドレスは、第1のソースLUN201のアドレスである。有効アドレスのオクテット2から5に含まれるレベル2のLUNのホストLUN IDは、第1のソースLUN201のホストLUN IDである。
【0068】
S610.クオラムサーバ40におけるアドレス割当装置は、有効アドレスを第2の記憶アレイ30へ送信する。本段階および段階S608は、特定の順番で実行されない。
【0069】
S611.第2の記憶アレイ30はさらに、有効アドレスを第1のターゲットLUN301に結び付けてよい。具体的には、第2の記憶アレイ30は、有効アドレスと第1のターゲットLUN301のUUIDとの間のマッピング関係を記憶する。従って、有効アドレスは、第1のターゲットLUN301のアドレスである。有効アドレスのオクテット2から5に含まれるレベル2のLUNのホストLUN IDは、第1のターゲットLUN301のホストLUN IDである。
【0070】
S612.第1の記憶アレイ20は、マウント成功をホスト10へフィードバックし、第1のソースLUN201のアドレスをホスト10へ送信する。具体的には、第1の記憶アレイ20は、メッセージをホスト10へ送信してよく、メッセージは、有効アドレスを含み、有効アドレスが第1のソースLUN201のアドレスであることを確認応答する。第1の記憶アレイ20がマウント成功をホスト10へフィードバックして第1のソースLUN201のアドレスをホスト10へ送信した後で初めて、ホスト10は、第1のソースLUN201のID(identity)を確認応答し、次に、アドレスを用いることによって第1のソースLUN201にアクセスすることができる。段階S609は任意選択の段階であることに留意すべきである。第1の記憶アレイ20がマウント成功をホスト10へフィードバックし、第1のソースLUN201のアドレスをホスト10へ送信する限りにおいて、有効アドレスは利用されるようになることができる。第1の記憶アレイ20は、有効アドレスと、第1のソースLUN201のUUIDとの間のマッピング関係を記憶し、これにより、ホスト10が次に、有効アドレスを用いることによって第1のソースLUN201にアクセスしたとき、第1の記憶アレイ20は、マッピング関係に基づき、第1のソースLUN201を発見することができる。
【0071】
S613.第2の記憶アレイ30は、マウント成功をホスト10へフィードバックし、第1のターゲットLUN301のアドレスをホスト10へ送信する。具体的には、第2の記憶アレイ30は、メッセージをホスト10へ送信してよく、メッセージは、有効アドレスを含み、有効アドレスが第1のターゲットLUN301のアドレスであることを確認応答する。ホスト10は、第2の記憶アレイ30がマウント成功をホスト10へフィードバックし、第1のターゲットLUN301のアドレスをホスト10へ送信した後で初めて、第1のターゲットLUN301のID(identity)を確認応答し、次に、アドレスを用いることによって第1のターゲットLUN301にアクセスすることができる。段階S611は任意選択の段階であることに留意すべきである。第2の記憶アレイ30がマウント成功をホスト10へフィードバックし、第1のターゲットLUN301のアドレスをホスト10に送信する限り、有効アドレスは利用されるようになることができる。第2の記憶アレイ30は、有効アドレスと、第1のターゲットLUN301のUUIDとの間のマッピング関係を記憶し、これにより、第2の記憶アレイ30は、ホスト10が次に、有効アドレスを用いることによって第1のターゲットLUN301にアクセスしたとき、マッピング関係に基づき、第1のターゲットLUN301を発見することができる。
【0072】
それに応じて、図6に示されている実装方式において、第2のソースLUN401のアドレスおよび第2のターゲットLUN501のアドレスが同じであることを保証する処理も、クオラムサーバ40により実行される。具体的には、第1の記憶アレイ20におけるレベル1のLUN(例えば、第2のソースLUN401)および第2の記憶アレイ30におけるレベル1のLUN(例えば、第2のターゲットLUN501)がホスト10にマウントされた後に、ホスト10は、第1の記憶アレイ20および第2の記憶アレイ30に対して、ハードウェアデバイススキャニングを別々に実行する。第1の記憶アレイ20は、ホストがハードウェアデバイススキャニングを起動したイベントをクオラムサーバ40に報告する。クオラムサーバ40におけるアドレス割当装置は、アドレス問い合わせ命令を第1の記憶アレイ20および第2の記憶アレイ30へそれぞれ送信して、第2のソースLUN401のアドレスおよび第2のターゲットLUN501のアドレスを問い合わせる。第2のソースLUN401のアドレスおよび第2のターゲットLUN501のアドレスが異なる場合、クオラムサーバ40におけるアドレス割当装置はさらに、問い合わせ命令を第1の記憶アレイ20へ送信し、問い合わせ命令は、第2のソースLUN401の割当可能アドレスを問い合わせるために用いられる。第1の記憶アレイ20は、第2のソースLUN401の割当可能アドレスセットをクオラムサーバ40におけるアドレス割当装置へフィードバックする。割当可能アドレスセットは、複数の割当可能アドレスを含み、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。同様に、クオラムサーバ40におけるアドレス割当装置は、問い合わせ命令を第2の記憶アレイ30へ送信し、問い合わせ命令は、第2のターゲットLUN501の割当可能アドレスを問い合わせるために用いられる。第2の記憶アレイ30は、第2のターゲットLUN501の割当可能アドレスセットをクオラムサーバ40におけるアドレス割当装置へフィードバックする。割当可能アドレスセットは、複数の割当可能アドレスを含み、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。クオラムサーバ40におけるアドレス割当装置は、2つの記憶アレイにより送信された割当可能アドレスセットを受信した後に、2つの割当可能アドレスセットから、同じアドレスを有効アドレスとして取得する。複数の有効アドレスが存在する場合、クオラムサーバ40は、複数の有効アドレスのうち任意の1つを選択し、有効アドレスを第1の記憶アレイ20および第2の記憶アレイ30へ別々に送信する。有効アドレスを受信した後に、第1の記憶アレイ20は、有効アドレスをホスト10へ送信して、有効アドレスが第2のソースLUN401のアドレスであることを確認応答する。加えて、第1の記憶アレイ20は、有効アドレスを第2のソースLUN401のUUIDに結び付けてよい。有効アドレスを受信した後に、第2の記憶アレイ30は、有効アドレスをホスト10へ送信して、有効アドレスが第2のターゲットLUN501のアドレスであることを確認応答する。加えて、第2の記憶アレイ30は、有効アドレスを第2のターゲットLUN501のUUIDに結び付けてよい。
【0073】
加えて、上で説明されているアドレス割当装置は代わりに、第1の記憶アレイ20および第2の記憶アレイ30のいずれかに統合されてよい。アドレス割当装置が第2の記憶アレイ30に位置すると仮定すると、実装形態はさらに、別のアドレス割当方法を提供する。図7を参照すると、図7は、別のアドレス割当方法のシグナリング相互作用図である。図7に示されているように、方法は、以下の段階を備える。
【0074】
S701.ホスト10は、VASA構成要素を用いることによって、第1の記憶アレイ20に、レベル2のLUNをマウントするよう命令する。図3に示されている第1のソースLUN201および第1のターゲットLUN301はまた、ここでのレベル2のLUNの例として用いられる。第1のソースLUN201および第1のターゲットLUN301は、アクティブ/アクティブLUNのペアである。
【0075】
S702.第1の記憶アレイ20は、第2の記憶アレイ30に、レベル2のLUNのマウントイベントを通知する。
【0076】
ホスト10はさらに、第2の記憶アレイ30に、レベル2のLUNをマウントするよう命令してよく、または、第1の記憶アレイ20および第2の記憶アレイ30に、レベル2のLUNをマウントするよう同時に命令してよいことが、理解され得る。通知を受信した後に、アドレス割当装置を含まない記憶アレイは、レベル2のLUNのマウントイベントを、アドレス割当装置を含む記憶アレイに通知する必要がある。
【0077】
S703.第2の記憶アレイ3におけるアドレス割当装置は、第1のアドレス問い合わせコマンドを第1の記憶アレイ20へ送信して、第1のソースLUN201の割当可能アドレスを問い合わせるよう要求する。
【0078】
S704.第1の記憶アレイ20は、第1のソースLUN201の割当可能アドレスセットを第2の記憶アレイ30におけるアドレス割当装置へ送信する。本段階の具体的な内容については、図5に示されている段階S502および図6に示されている段階S604を参照されたく、詳細はここでは再び説明されない。
【0079】
S705.第2の記憶アレイ30は、有効アドレスを取得する。具体的には、第2の記憶アレイ30におけるアドレス割当装置は、第1のソースLUN201の割当可能アドレスセットと、ローカルの第1のターゲットLUN301の割当可能アドレスセットとに基づき、有効アドレスを取得する。ここでの有効アドレスは、図5に示されている段階S505および図6に示されている段階S607と同じである。
【0080】
S706.第2の記憶アレイ30におけるアドレス割当装置は、有効アドレスを第1の記憶アレイ20へ送信する。
【0081】
S707.第2の記憶アレイ30は、マウント成功を第1の記憶アレイ20へフィードバックし、第1のターゲットLUN301のアドレスを第1の記憶アレイ20へ送信する。
【0082】
S708.第1の記憶アレイ20は、マウント成功をホスト10へフィードバックし、第1のソースLUN201のアドレスおよび第1のターゲットLUN301のアドレスをホスト10へ送信する。
【0083】
加えて、有効アドレスが利用されるようになった後に、第1の記憶アレイ20はさらに、有効アドレスを第1のソースLUN201に結び付けてよい。具体的には、第1の記憶アレイ20は、有効アドレスと、第1のソースLUN201のUUIDとの間のマッピング関係を記憶する。有効アドレスは、第1のソースLUN201のアドレスである。有効アドレスのオクテット2から5に含まれるレベル2のLUNのホストLUN IDは、第1のソースLUN201のホストLUN IDである。同様に、第2の記憶アレイ30はさらに、有効アドレスを第1のターゲットLUN301に結び付けてよい。
【0084】
アドレス割当装置が第2の記憶アレイ30に位置するので、第2のソースLUN401のアドレスおよび第2のターゲットLUN501のアドレスが同じであることを保証する処理も、第2の記憶アレイ30により実行される。具体的には、第1の記憶アレイ20におけるレベル1のLUN(例えば、第2のソースLUN401)および第2の記憶アレイ30におけるレベル1のLUN(例えば、第2のターゲットLUN501)がホスト10にマウントされた後に、ホスト10は、第1の記憶アレイ20および第2の記憶アレイ30に対してハードウェアデバイススキャニングを別々に実行する。第2の記憶アレイ30におけるアドレス割当装置は、アドレス問い合わせ命令を第1の記憶アレイ20へ送信して、第2のソースLUN401のアドレスを問い合わせる。第2のソースLUN401のアドレスおよび第2のターゲットLUN501のアドレスが異なる場合、第2の記憶アレイ30におけるアドレス割当装置はさらに、問い合わせ命令を第1の記憶アレイ20へ送信し、問い合わせ命令は、第2のソースLUN401の割当可能アドレスを問い合わせるために用いられる。第1の記憶アレイ20は、第2のソースLUN401の割当可能アドレスセットを第2の記憶アレイ30におけるアドレス割当装置へフィードバックする。割当可能アドレスセットは、複数の割当可能アドレスを含み、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。第2の記憶アレイ30は、第2のターゲットLUN501の割当可能アドレスセットをローカルに記憶する。割当可能アドレスセットは、複数の割当可能アドレスを含み、各割当可能アドレスは、1つの割当可能ホストLUN IDを含む。第2の記憶アレイ30におけるアドレス割当装置は、2つの割当可能アドレスセットから、同じアドレスを有効アドレスとして取得する。複数の有効アドレスが存在する場合、第2の記憶アレイ30は、複数の有効アドレスのうち任意の1つを選択し、有効アドレスを第1の記憶アレイ20へ送信する。有効アドレスを受信した後に、第1の記憶アレイ20は、有効アドレスをホスト10へ送信して、有効アドレスが第2のソースLUN401のアドレスであることを確認応答する。加えて、第1の記憶アレイ20は、有効アドレスを第2のソースLUN401のUUIDに結び付けてよい。第2の記憶アレイ30は、有効アドレスをホスト10へ送信して、有効アドレスが第2のターゲットLUN501のアドレスであることを確認応答する。加えて、第2の記憶アレイ30は、有効アドレスを第2のターゲットLUN501のUUIDに結び付けてよい。
【0085】
図5図6、または図7に示されている実装方式において、第1の記憶アレイ20および第2の記憶アレイ30は別々に、レベル2のLUNの割当可能アドレスセットをアドレス割当装置へ送信する。アドレス割当装置は、ホスト10、クオラムサーバ40、または第2の記憶アレイ30に統合されてよい。アドレス割当装置は、2つのレベル2のLUNの割当可能アドレスセットから、2つのLUNにより共有される有効アドレスを取得し、そして、有効アドレスを第1の記憶アレイ20および第2の記憶アレイ30へ別々に送信し、それにより、第1のソースLUN201と第1のターゲットLUN301との間のアドレス整合性を実現する。リンクA上で障害が発生したとき、ホスト10は、マルチパスソフトウェアを用いることによって、リンクBに切り換える。ホスト10は、元々は第1の記憶アレイ20宛だったデータ書き込みコマンドを、リンクBを用いることによって、第2の記憶アレイ30へ送信する。第1のターゲットLUN301のアドレスおよび第1のソースLUNのアドレスが同じであるため、第2の記憶アレイ30は、アドレスに基づき、第1のターゲットLUN301を発見し、かつ、データ書き込みコマンドに保持されているデータを第1のターゲットLUN301に書き込むことができる。第1のターゲットLUN301および第1のソースLUN201がアクティブ/アクティブLUNのペアであるため、障害が修復されたとき、第2の記憶アレイ30は、データを第1のソースLUNにコピーすることができ、それにより、アクティブ/アクティブLUN間のデータ整合性を保証する。
【0086】
加えて、図5図6、および図7のうち任意の1つに示されている実装方式において、レベル2のLUN間のアドレス整合性は、レベル2のLUNをレベル1のLUNにマウントするプロセスにおいて実現される。しかしながら、本発明の実装形態は、上述の実装方式に限定されるものではない。例えば、レベル2のLUN間のアドレス整合性は、レベル2のLUNが問題なくレベル1のLUNにマウントされた後に実現されてよい。具体的には、第1の記憶アレイ20は、第1のソースLUN201のアドレスをアドレス割当装置へ報告し、第2の記憶アレイ30は、第1のターゲットLUN301のアドレスをアドレス割当装置に報告する。アドレス割当装置は、第1のソースLUN201のアドレスおよび第1のターゲットLUN301のアドレスが同じであるかを決定し、アドレスが異なるとき、アドレス割当装置は、アドレス問い合わせコマンドを、第1の記憶アレイ20および第2の記憶アレイ30へ別々に送信する。第1の記憶アレイ20は、第1のソースLUNの割当可能アドレスセットをアドレス割当装置へ送信し、第2の記憶アレイ30は、第1のターゲットLUNの割当可能アドレスセットをアドレス割当装置へ送信する。アドレス割当装置は、第1のソースLUN201の割当可能アドレスセットおよび第1のターゲットLUN301の割当可能アドレスセットから、有効アドレスを取得し、有効アドレスを、第1の記憶アレイ20および第2の記憶アレイ30へ別々に送信する。アドレス割当装置がホスト10に位置するとき、プロセスは、ホスト10により実行される。アドレス割当装置がクオラムサーバ40に位置する場合、プロセスは、クオラムサーバ40により実行される。アドレス割当装置が任意の記憶アレイに位置する場合、プロセスは、記憶アレイにより実行される。
【0087】
図8に示されているように、本発明の実装形態において提供されているアドレス割当装置80は少なくともインタフェース801およびプロセッサ802を備える。インタフェース801は、第1の記憶アレイ20と通信し、第2の記憶アレイ30と通信するよう構成される。第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、第2の記憶アレイは、第1のターゲットLUNを有し、第1のソースLUNおよび第1のターゲットLUNは、アクティブ/アクティブLUNのペアである。プロセッサ802は、中央演算プロセス装置(英語表記:central processing unit、CPU)であってよく、または、フィールドプログラマブルゲートアレイ(Field−Programmable Gate Array、FPGA)であってよい。加えて、アドレス割当装置80は、メモリをさらに備えてよい。メモリは、揮発性メモリ、不揮発性メモリ、または、それらの組み合わせを含む。揮発性メモリは、例えば、ランダムアクセスメモリ(英語表記:random−access memory、RAM)である。不揮発性メモリは、例えば、フロッピ(登録商標)ディスク、ハードディスク、ソリッドステートディスク(solid state disk、SSD)、または、光ディスクなどの、プログラムコードを記憶することができる任意の機械可読媒体である。プロセッサ802がCPUであるとき、プロセッサ802は、メモリにおけるプログラムコードを実行して、以下の機能を実行し得る。プロセッサ802がFPGAであるとき、プロセッサは、以下の機能を独立して実行し得る。アドレス割当装置80は、図5図6、および図7に示されている任意の実装方式におけるアドレス割当装置であってよいことに留意すべきである。
【0088】
例えば、プロセッサ802は、インタフェース801を用いることによって、第1のソースLUNの複数の割当可能アドレスを含む、第1の記憶アレイ20により送信された第1のソースLUNの割当可能アドレスセットを受信し、インタフェース801を用いることによって、第1のターゲットLUNの複数の割当可能アドレスを含む、第2の記憶アレイ30により送信された第1のターゲットLUNの割当可能アドレスセットを受信し、第1のソースLUNの割当可能アドレスセットおよび第1のターゲットLUNの割当可能アドレスセットから、第1のソースLUNの複数の割当可能アドレスと、第1のターゲットLUNの複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである有効アドレスを取得し、および、有効アドレスを第1の記憶アレイ20へ送信し、有効アドレスを第2の記憶アレイ30へ送信する。
【0089】
任意選択的に、プロセッサ802はさらに、第1のアドレス問い合わせコマンドを第1の記憶アレイ20へ送信するよう構成され、第1のアドレス問い合わせコマンドは、第1のソースLUNの割当可能アドレスを問い合わせるために用いられ、これにより、第1の記憶アレイ20は、第1のアドレス問い合わせコマンドに応じて、第1のソースLUNの割当可能アドレスセットをプロセッサへ送信する。プロセッサ802はさらに、第2のアドレス問い合わせコマンドを第2の記憶アレイ30へ送信するよう構成され、第2のアドレス問い合わせコマンドは、第1のターゲットLUNの割当可能アドレスを問い合わせるために用いられ、これにより、第2の記憶アレイ30は、第2のアドレス問い合わせコマンドに応じて、第1のターゲットLUNの割当可能アドレスセットをプロセッサへ送信する。
【0090】
任意選択的に、第1の記憶アレイ20は、第2のソースLUNをさらに有し、第2の記憶アレイ30は、第2のターゲットLUNをさらに有し、第2のソースLUNおよび第2のターゲットLUNは、アクティブ/アクティブLUNのペアである。第1のソースLUNは、第2のソースLUNにマウントされ、第1のソースLUNの各割当可能アドレスは、第2のソースLUNのホストLUN IDと、第1のソースLUNのホストLUN IDとを含む。第1のターゲットLUNは、第2のターゲットLUNにマウントされ、第1のターゲットLUNの各割当可能アドレスは、第2のターゲットLUNのホストLUN IDと、第1のターゲットLUNのホストLUN IDとを含む。
【0091】
任意選択的に、第2のソースLUNのホストLUN IDおよび第2のターゲットLUNのホストLUN IDは同じである。
【0092】
任意選択的に、プロセッサ802はさらに、第1の記憶アレイにより送信された第2のソースLUNの割当可能アドレスセットを、インタフェースを用いることによって受信することであって、第2のソースLUNの割当可能アドレスセットは、第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、第2のソースLUNの1つの割当可能ホストLUN IDを含む、受信することと、第2の記憶アレイにより送信された第2のターゲットLUNの割当可能アドレスセットを、インタフェースを用いることによって受信することであって、第2のターゲットLUNの割当可能アドレスセットは、第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、受信することと、第2のソースLUNの割当可能アドレスセットおよび第2のターゲットLUNの割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得することであって、レベル1のLUNの有効アドレスは、第2のソースLUNの複数の割当可能アドレスと第2のターゲットLUNの複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、有効アドレスは、第2のソースLUNのホストLUN IDを含む、取得することと、レベル1のLUNの有効アドレスを第1の記憶アレイへ送信し、レベル1のLUNの有効アドレスを第2の記憶アレイへ送信することとを行うよう構成される。
【0093】
アドレス割当装置80は、ホスト10に統合されてよく、または、独立サーバ(例えば、図6に示されているクオラムサーバ40)として用いられてよく、または、第2の記憶アレイ30に統合されてよい。従って、プロセッサ802の機能について、図5図6、および図7に示されている実装形態を参照されたく、詳細はここでは再び説明されない。
【0094】
本発明の実装形態はさらに、アドレス割当装置90を提供する。アドレス割当装置90は、アクティブ/アクティブ記憶システムに位置する。アクティブ/アクティブ記憶システムは、第1の記憶アレイ20と、第2の記憶アレイ30と、アドレス割当装置90とを備える。第1の記憶アレイ20は、第1のソースLUNを有し、第2の記憶アレイ30は、第1のターゲットLUNを有する。第1のソースLUNおよび第1のターゲットLUNは、アクティブ/アクティブLUNのペアである。具体的には、アドレス割当装置90は、受信モジュール901と、アドレス取得モジュール902と送信モジュール903とを備える。アドレス割当装置90は、図5図6、および図7に示されている任意の実装方式におけるアドレス割当装置であり得ることに留意すべきである。
【0095】
受信モジュール901は、第1のソースLUNの複数の割当可能アドレスを含む、第1の記憶アレイ20により送信された第1のソースLUNの割当可能アドレスセットを受信するよう構成され、第2の記憶アレイ30により送信された第1のターゲットLUNの割当可能アドレスセットを受信するようさらに構成され、第1のターゲットLUNの割当可能アドレスセットは、第1のターゲットLUNの複数の割当可能アドレスを含む。アドレス取得モジュール902は、第1のソースLUNの割当可能アドレスセットおよび第1のターゲットLUNの割当可能アドレスセットから、有効アドレスを取得するよう構成され、有効アドレスは、第1のソースLUNの複数の割当可能アドレスと、第1のターゲットLUNの複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである。送信モジュール903は、有効アドレスを第1の記憶アレイ20へ送信し、有効アドレスを第2の記憶アレイ30へ送信するよう構成される。
【0096】
任意選択的に、送信モジュール903はさらに、第1のアドレス問い合わせコマンドを第1の記憶アレイへ送信するよう構成され、第1のアドレス問い合わせコマンドは、第1のソースLUNの割当可能アドレスを問い合わせるために用いられ、これにより、第1の記憶アレイは、第1のアドレス問い合わせコマンドに応じて、第1のソースLUNの割当可能アドレスセットを受信モジュール901へ送信する。送信モジュール903はさらに、第2のアドレス問い合わせコマンドを第2の記憶アレイへ送信するよう構成され、第2のアドレス問い合わせコマンドは、第1のターゲットLUNの割当可能アドレスを問い合わせるために用いられ、これにより、第2の記憶アレイは、第2のアドレス問い合わせコマンドに応じて、第1のターゲットLUNの割当可能アドレスセットを受信モジュール901へ送信する。
【0097】
任意選択的に、第1の記憶アレイは、第2のソースLUNをさらに有し、第2の記憶アレイは、第2のターゲットLUNをさらに有し、第2のソースLUNおよび第2のターゲットLUNは、アクティブ/アクティブLUNのペアである。第1のソースLUNは、第2のソースLUNにマウントされ、第1のソースLUNの各割当可能アドレスは、第2のソースLUNのホストLUN IDおよび第1のソースLUNのホストLUN IDを含む。第1のターゲットLUNは、第2のターゲットLUNにマウントされ、第1のターゲットLUNの各割当可能アドレスは、第2のターゲットLUNのホストLUN IDおよび第1のターゲットLUNのホストLUN IDを含む。
【0098】
任意選択的に、第2のソースLUNのホストLUN IDおよび第2のターゲットLUNのホストLUN IDは同じである。
【0099】
任意選択的に、受信モジュール901はさらに、第1の記憶アレイにより送信された第2のソースLUNの割当可能アドレスセットを受信することであって、第2のソースLUNの割当可能アドレスセットは、第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、第2のソースLUNの1つの割当可能ホストLUN IDを含む、受信することと、第2の記憶アレイにより送信された第2のターゲットLUNの割当可能アドレスセットを受信することであって、第2のターゲットLUNの割当可能アドレスセットは、第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、受信することとを行うよう構成される。アドレス取得モジュール902はさらに、第2のソースLUNの割当可能アドレスセットおよび第2のターゲットLUNの割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得するよう構成され、レベル1のLUNの有効アドレスは、第2のソースLUNの複数の割当可能アドレスと、第2のターゲットLUNの複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、有効アドレスは、第2のソースLUNのホストLUN IDを含む。送信モジュール903はさらに、レベル1のLUNの有効アドレスを第1の記憶アレイへ送信し、レベル1のLUNの有効アドレスを第2の記憶アレイへ送信するよう構成される。
【0100】
ハードウェア実装方式において、受信モジュール901は、メモリにおけるプログラムコードを実行するプロセッサ802により実行されてよく、または、プロセッサ802により独立して実行されてよい。アドレス取得モジュール902は、メモリにおけるプログラムコードを実行するプロセッサ802により実行されてよく、または、プロセッサ802により独立して実行されてよい。送信モジュール903は、メモリにおけるプログラムコードを実行するプロセッサ802により実行されてよく、または、プロセッサ802により独立して実行されてよい。
【0101】
本発明の各態様または各態様の可能な実装方式がシステム、方法、またはコンピュータプログラムプロダクトとして具体的に実行され得ることを、当業者は理解し得る。従って、本発明の各態様または各態様の可能な実装方式は、ハードウェアのみの実装形態、(ファームウェア、レジデントソフトウェア、および同様のものを含む)ソフトウェアのみの実装形態、または、本明細書では一様に「回路」、「モジュール」、または「システム」と称される、ソフトウェアおよびハードウェアの組み合わせの実装形態を用いてよい。加えて、本発明の各態様または各態様の可能な実装方式は、コンピュータプログラムプロダクトの形式であってよく、コンピュータプログラムプロダクトは、コンピュータ可読記憶媒体に記憶されているコンピュータ可読プログラムコードである。
【0102】
コンピュータ可読記憶媒体は、電子、磁気、光、電磁、赤外線、もしくは半導電性システム、デバイス、もしくは装置、または、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、または光ディスクなどの、それらの任意の適切な組み合わせを含むが、これらに限定されない。
【0103】
コンピュータにおけるプロセッサは、コンピュータ可読媒体におけるコンピュータ可読プログラムコードを読み取り、これにより、プロセッサは、フローチャートにおける各段階または段階の組み合わせにおいて特定される機能動作を実行することができる。
【0104】
コンピュータ可読プログラムコードは、ユーザのコンピュータ上で完全に実行されてよく、ユーザのコンピュータ上で部分的に実行されてよく、スタンドアロンソフトウェアパッケージとして実行されてよく、ユーザのコンピュータ上で部分的に実行されてリモートコンピュータ上で部分的に実行されてよく、または、リモートコンピュータもしくはサーバ上で完全に実行されてよい。いくつかの代わりの実装解決手段において、フローチャートにおける各段階またはブロック図における各ブロックにおいて特定された機能は、示されている順番で発生しない場合があることも留意すべきである。例えば、関係のある機能に依存し、かつ、順に示されている2つの段階またはブロックは、実際に同時に実行されてよく、または、これらのブロックは、場合によって、逆の順番で実行されてよい。
【0105】
本明細書に開示されている実装形態を参照して説明されている例におけるユニットおよびアルゴリズム段階が電子的ハードウェア、またはコンピュータソフトウェアおよび電子的ハードウェアの組み合わせにより実行され得ることを、当業者は認識し得る。機能がハードウェアまたはソフトウェアにより実行されるかは、具体的な用途および技術的解決手段の設計制約条件に依存する。当業者は、具体的な用途毎に、異なる方法を用いて説明した機能を実装してよいが、実装方式は、本発明の範囲を超えるとみなされるべきではない。上述の説明は本発明の具体的な実装方式に過ぎず、本発明の保護範囲を限定することを意図していない。本発明に開示されている技術的範囲内で当業者により容易に想到される任意の変形または置換は、本発明の保護範囲に含まれるものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲にしたがうものとする。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2019年3月8日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1の記憶アレイと、第2の記憶アレイと、アドレス割当装置とを備えるアクティブ/アクティブ記憶システムであって、前記第1の記憶アレイは、第1のソース論理ユニット番号(第1のソースLUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、
前記第1の記憶アレイは、前記第1のソースLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第1のソースLUNの前記割当可能アドレスセットは、前記第1のソースLUNの複数の割当可能アドレスを含み、
前記第2の記憶アレイは、前記第1のターゲットLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第1のターゲットLUNの前記割当可能アドレスセットは、前記第1のターゲットLUNの複数の割当可能アドレスを含み、
前記アドレス割当装置は、前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、有効アドレスを取得するよう構成され、前記有効アドレスは、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、
前記アドレス割当装置はさらに、前記有効アドレスを前記第1の記憶アレイへ送信し、前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
アクティブ/アクティブ記憶システム。
【請求項2】
前記アドレス割当装置はさらに、第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信するよう構成され、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、前記第1の記憶アレイは具体的に、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、
前記アドレス割当装置はさらに、第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信するよう構成され、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、前記第2の記憶アレイは具体的に、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成される、
請求項1に記載のアクティブ/アクティブ記憶システム。
【請求項3】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアであり、
前記第1の記憶アレイはさらに、前記第1のソースLUNを前記第2のソースLUNにマウントし、前記第1のソースLUNの前記複数の割当可能アドレスを生成するよう構成され、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、
前記第2の記憶アレイはさらに、前記第1のターゲットLUNを前記第2のターゲットLUNにマウントし、前記第1のターゲットLUNの前記複数の割当可能アドレスを生成するよう構成され、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、
請求項1または2に記載のアクティブ/アクティブ記憶システム。
【請求項4】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項3に記載のアクティブ/アクティブ記憶システム。
【請求項5】
前記第1の記憶アレイはさらに、前記第2のソースLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含み、
前記第2の記憶アレイは、前記第2のターゲットLUNの割当可能アドレスセットを前記アドレス割当装置へ送信するよう構成され、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含み、
前記アドレス割当装置はさらに、前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得するよう構成され、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含み、
前記アドレス割当装置はさらに、レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
請求項4に記載のアクティブ/アクティブ記憶システム。
【請求項6】
前記アクティブ/アクティブ記憶システムは、ホストをさらに備え、前記アドレス割当装置は、前記ホストに位置する、請求項2から5の何れか一項に記載のアクティブ/アクティブ記憶システム。
【請求項7】
前記アクティブ/アクティブ記憶システムは、ホストおよびクオラムサーバをさらに備え、前記アドレス割当装置は、前記クオラムサーバに位置し、前記クオラムサーバは、前記ホストと異なる、請求項2から5の何れか一項に記載のアクティブ/アクティブ記憶システム。
【請求項8】
アドレス割当装置であって、
前記アドレス割当装置は、インタフェースおよびプロセッサを備え、
前記インタフェースは、第1の記憶アレイと通信し、第2の記憶アレイと通信するよう構成され、前記第1の記憶アレイは、第1のソース論理ユニット番号(第1のソースLUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、
前記プロセッサは、前記第1のソースLUNの複数の割当可能アドレスを含む、前記第1の記憶アレイにより送信された前記第1のソースLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信し、
前記第1のターゲットLUNの複数の割当可能アドレスを含む、前記第2の記憶アレイにより送信された前記第1のターゲットLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信し、
前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである有効アドレスを取得し、および、
前記有効アドレスを前記第1の記憶アレイへ送信し、前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
アドレス割当装置。
【請求項9】
前記プロセッサはさらに、第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信するよう構成され、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第1の記憶アレイは、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記プロセッサへ送信し、
前記プロセッサはさらに、第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信するよう構成され、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第2の記憶アレイは、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記プロセッサへ送信する、
請求項8に記載のアドレス割当装置。
【請求項10】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記第1のソースLUNは、前記第2のソースLUNにマウントされ、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、前記第1のターゲットLUNは、前記第2のターゲットLUNにマウントされ、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、請求項8または9に記載のアドレス割当装置。
【請求項11】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項10に記載のアドレス割当装置。
【請求項12】
前記プロセッサはさらに、前記第1の記憶アレイにより送信された前記第2のソースLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信することであって、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含む、受信することと、
前記第2の記憶アレイにより送信された前記第2のターゲットLUNの割当可能アドレスセットを、前記インタフェースを用いることによって受信することであって、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、受信することと、
前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得することであって、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含む、取得することと、
レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信することと
を行うよう構成される、
請求項11に記載のアドレス割当装置。
【請求項13】
アドレス割当方法であって、前記アドレス割当方法は、アクティブ/アクティブ記憶システムに適用され、前記アクティブ/アクティブ記憶システムは、第1の記憶アレイと、第2の記憶アレイと、アドレス割当装置とを備え、前記第1の記憶アレイは、第1のソース論理ユニット番号(第1のソースLUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記アドレス割当方法は、前記アドレス割当装置により実行され、
前記第1の記憶アレイにより送信された前記第1のソースLUNの割当可能アドレスセットを受信する段階であって、前記第1のソースLUNの前記割当可能アドレスセットは、前記第1のソースLUNの複数の割当可能アドレスを含む、段階と、
前記第2の記憶アレイにより送信された前記第1のターゲットLUNの割当可能アドレスセットを受信する段階であって、前記第1のターゲットLUNの前記割当可能アドレスセットは、前記第1のターゲットLUNの複数の割当可能アドレスを含む、段階と、
前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、有効アドレスを取得する段階であって、前記有効アドレスは、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである、段階と、
前記有効アドレスを前記第1の記憶アレイへ送信する段階と、
前記有効アドレスを前記第2の記憶アレイへ送信する段階と
を備える、
アドレス割当方法。
【請求項14】
第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信する段階であって、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第1の記憶アレイは、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信する、段階と、
第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信する段階であって、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第2の記憶アレイは、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記アドレス割当装置へ送信する段階とをさらに備える請求項13に記載のアドレス割当方法。
【請求項15】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記第1のソースLUNは、前記第2のソースLUNにマウントされ、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、前記第1のターゲットLUNは、前記第2のターゲットLUNにマウントされ、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、請求項13または14に記載のアドレス割当方法。
【請求項16】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項15に記載のアドレス割当方法。
【請求項17】
前記第1の記憶アレイにより送信された前記第2のソースLUNの割当可能アドレスセットを受信する段階であって、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含む、段階と、
前記第2の記憶アレイにより送信された前記第2のターゲットLUNの割当可能アドレスセットを受信する段階であって、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、段階と、
前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得する段階であって、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含む、段階と、
レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信する段階と
をさらに備える請求項16に記載のアドレス割当方法。
【請求項18】
アドレス割当装置であって、前記アドレス割当装置は、アクティブ/アクティブ記憶システムに位置し、前記アクティブ/アクティブ記憶システムは、第1の記憶アレイと、第2の記憶アレイと、前記アドレス割当装置とを備え、前記第1の記憶アレイは、第1のソース論理ユニット番号(第1のソースLUNを有し、前記第2の記憶アレイは、第1のターゲットLUNを有し、前記第1のソースLUNおよび前記第1のターゲットLUNは、アクティブ/アクティブLUNのペアであり、前記アドレス割当装置は、
前記第1のソースLUNの複数の割当可能アドレスを含む、前記第1の記憶アレイにより送信された前記第1のソースLUNの割当可能アドレスセットを受信するよう構成され、前記第1のターゲットLUNの複数の割当可能アドレスを含む、前記第2の記憶アレイにより送信された前記第1のターゲットLUNの割当可能アドレスセットを受信するようさらに構成される受信モジュールと、
前記第1のソースLUNの前記割当可能アドレスセットおよび前記第1のターゲットLUNの前記割当可能アドレスセットから、前記第1のソースLUNの前記複数の割当可能アドレスと、前記第1のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスである有効アドレスを取得するよう構成されるアドレス取得モジュールと、
前記有効アドレスを前記第1の記憶アレイへ送信し、前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される送信モジュールと
を備える、
アドレス割当装置。
【請求項19】
前記送信モジュールはさらに、第1のアドレス問い合わせコマンドを前記第1の記憶アレイへ送信するよう構成され、前記第1のアドレス問い合わせコマンドは、前記第1のソースLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第1の記憶アレイは、前記第1のアドレス問い合わせコマンドに応じて、前記第1のソースLUNの前記割当可能アドレスセットを前記受信モジュールへ送信し、
前記送信モジュールはさらに、第2のアドレス問い合わせコマンドを前記第2の記憶アレイへ送信するよう構成され、前記第2のアドレス問い合わせコマンドは、前記第1のターゲットLUNの前記割当可能アドレスを問い合わせるために用いられ、これにより、前記第2の記憶アレイは、前記第2のアドレス問い合わせコマンドに応じて、前記第1のターゲットLUNの前記割当可能アドレスセットを前記受信モジュールへ送信する、
請求項18に記載のアドレス割当装置。
【請求項20】
前記第1の記憶アレイは、第2のソースLUNをさらに有し、前記第2の記憶アレイは、第2のターゲットLUNをさらに有し、前記第2のソースLUNおよび前記第2のターゲットLUNは、アクティブ/アクティブLUNのペアを有し、前記第1のソースLUNは、前記第2のソースLUNにマウントされ、前記第1のソースLUNの各割当可能アドレスは、前記第2のソースLUNのホストLUN IDと、前記第1のソースLUNのホストLUN IDとを含み、前記第1のターゲットLUNは、前記第2のターゲットLUNにマウントされ、前記第1のターゲットLUNの各割当可能アドレスは、前記第2のターゲットLUNのホストLUN IDと、前記第1のターゲットLUNのホストLUN IDとを含む、請求項18または19に記載のアドレス割当装置。
【請求項21】
前記第2のソースLUNの前記ホストLUN IDおよび前記第2のターゲットLUNの前記ホストLUN IDは、同じである、請求項20に記載のアドレス割当装置。
【請求項22】
前記受信モジュールはさらに、前記第1の記憶アレイにより送信された前記第2のソースLUNの割当可能アドレスセットを受信することであって、前記第2のソースLUNの前記割当可能アドレスセットは、前記第2のソースLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のソースLUNの1つの割当可能ホストLUN IDを含む、受信することと、前記第2の記憶アレイにより送信された前記第2のターゲットLUNの割当可能アドレスセットを受信することであって、前記第2のターゲットLUNの前記割当可能アドレスセットは、前記第2のターゲットLUNの複数の割当可能アドレスを含み、各割当可能アドレスは、前記第2のターゲットLUNの1つの割当可能ホストLUN IDを含む、受信することとを行うよう構成され、
前記アドレス取得モジュールはさらに、前記第2のソースLUNの前記割当可能アドレスセットおよび前記第2のターゲットLUNの前記割当可能アドレスセットから、レベル1のLUNの有効アドレスを取得することであって、レベル1のLUNの前記有効アドレスは、前記第2のソースLUNの前記複数の割当可能アドレスと、前記第2のターゲットLUNの前記複数の割当可能アドレスとの重なりにおける1つの割当可能アドレスであり、前記有効アドレスは、前記第2のソースLUNの前記ホストLUN IDを含む、取得することを行うよう構成され、
前記送信モジュールはさらに、レベル1のLUNの前記有効アドレスを前記第1の記憶アレイへ送信し、レベル1のLUNの前記有効アドレスを前記第2の記憶アレイへ送信するよう構成される、
請求項21に記載のアドレス割当装置。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0002
【補正方法】変更
【補正の内容】
【0002】
アクティブ/アクティブ記憶解決手段は、2つのデータセンタが両方、稼働状態にあって、同時に同じサービスを担うことができることを意味し、データセンタの総サービス能力およびシステムリソース利用率を向上させる。2つのデータセンタは、互いのバックアップである。1つのデータセンタで障害が発生したとき、サービスは、中断されることなく、他方のデータセンタに自動的に切り替えられることができる。2つのデータセンタのレイアウトは、同じである。各データセンタは、レベル1の論理ユニット番号LUN)および複数のレベル2のLUNを含む。レベル1のLUNは、ホストにマウントされ、複数のレベル2のLUNは、当該レベル1のLUNにマウントされる。レベル2のLUNは、ホストのために記憶サービスを提供し、レベル1のLUNは、データを記憶しない。第1のデータセンタにおけるそれぞれのレベル2のLUNは、第2のデータセンタにおける対応するレベル2のLUNを有し、2つのレベル2のLUNは、アクティブ/アクティブLUNのペアである。ホストに対して、アクティブ/アクティブLUNのペアは、1つのLUNとして、ホストにより用いられる。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0033
【補正方法】変更
【補正の内容】
【0033】
図1は、本発明の実装形態に係るシステムアーキテクチャ図である。図1に示されているように、記憶システムは、アクティブ/アクティブレイを備え。アクティブ/アクティブアレイは、第1の記憶アレイ20および第2の記憶アレイ30を含む。第1の記憶アレイ20および第2の記憶アレイ30は両方、ホスト10のサービスを担い得る。第1の記憶アレイ20は、コントローラと、複数のディスクまたはソリッドステートドライブとを含む。コントローラは、例えば、サーバまたはデスクトップコンピュータなどのコンピューティングデバイスであってよい。オペレーティングシステムおよびアプリケーションが、コントローラにインストールされている。コントローラは、ストレージエリアネットワーク(storage area network、SAN)を用いることによって、ホスト10に接続される。コントローラは、ホストから、入力/出力(I/O)要求を受信し得る。コントローラはさらに、I/O要求に保持されているデータ(存在する場合)を記憶し、当該データをディスクに書き込んでよい。第2の記憶アレイ30の構造は、第1の記憶アレイ20の構造と同様である。本実装形態において、第1の記憶アレイ20において提供されている第1のソース論理ユニット番号(logical unit number、LUN)201、および第2の記憶アレイ30において提供されている第1のターゲットLUN301が、アクティブ/アクティブLUNのペアである。アクティブ/アクティブLUNのペアは、1つのLUNとして、ホスト10のために記憶サービスを提供する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0077
【補正方法】変更
【補正の内容】
【0077】
S703.第2の記憶アレイ30におけるアドレス割当装置は、第1のアドレス問い合わせコマンドを第1の記憶アレイ20へ送信して、第1のソースLUN201の割当可能アドレスを問い合わせるよう要求する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0087
【補正方法】変更
【補正の内容】
【0087】
図8に示されているように、本発明の実装形態において提供されているアドレス割当装置80は少なくともインタフェース801およびプロセッサ802を備える。インタフェース801は、第1の記憶アレイ20と通信し、第2の記憶アレイ30と通信するよう構成される。第1の記憶アレイは、第1のソース論理ユニット番号LUNを有し、第2の記憶アレイは、第1のターゲットLUNを有し、第1のソースLUNおよび第1のターゲットLUNは、アクティブ/アクティブLUNのペアである。プロセッサ802は、中央演算プロセス装置CPU)であってよく、または、フィールドプログラマブルゲートアレイFPGA)であってよい。加えて、アドレス割当装置80は、メモリをさらに備えてよい。メモリは、揮発性メモリ、不揮発性メモリ、または、それらの組み合わせを含む。揮発性メモリは、例えば、ランダムアクセスメモリRAM)である。不揮発性メモリは、例えば、フロッピ(登録商標)ディスク、ハードディスク、ソリッドステートディスクSSD)、または、光ディスクなどの、プログラムコードを記憶することができる任意の機械可読媒体である。プロセッサ802がCPUであるとき、プロセッサ802は、メモリにおけるプログラムコードを実行して、以下の機能を実行し得る。プロセッサ802がFPGAであるとき、プロセッサは、以下の機能を独立して実行し得る。アドレス割当装置80は、図5図6、および図7に示されている任意の実装方式におけるアドレス割当装置であってよいことに留意すべきである。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0094
【補正方法】変更
【補正の内容】
【0094】
図9に示されているように、本発明の実装形態はさらに、アドレス割当装置90を提供する。アドレス割当装置90は、アクティブ/アクティブ記憶システムに位置する。アクティブ/アクティブ記憶システムは、第1の記憶アレイ20と、第2の記憶アレイ30と、アドレス割当装置90とを備える。第1の記憶アレイ20は、第1のソースLUNを有し、第2の記憶アレイ30は、第1のターゲットLUNを有する。第1のソースLUNおよび第1のターゲットLUNは、アクティブ/アクティブLUNのペアである。具体的には、アドレス割当装置90は、受信モジュール901と、アドレス取得モジュール902と送信モジュール903とを備える。アドレス割当装置90は、図5図6、および図7に示されている任意の実装方式におけるアドレス割当装置であり得ることに留意すべきである。
【国際調査報告】