(57)【要約】【課題】各サイトのストレージ装置相互間でのデータの一貫性を保つ。【解決手段】  ストレージ装置１００ＡがＬＵ０の領域に対するライト要求を受信すると、オーナーアクセス処理部１２１Ｘは、ロック情報テーブル１１８Ｙを参照して、ライト要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、制限されている場合に記憶領域に対するライト処理を実行せず、制限されていない場合にロック情報テーブル１１８Ｙの記憶領域の欄にライト処理制限の旨を設定すると共に、記憶領域に対するライト処理を実行する。他のストレージ装置１００Ｂ，１００ＣがＬＵ０の領域に対するライト要求を受信すると、ＬＵ０の領域に対するライト処理を制限する旨のロック確保要求をストレージ装置１００Ａに送信し、このストレージ装置１００Ａからロック確保要求を受諾する旨を受信すると、記憶領域に対してライト処理を実行する。【選択図】図１
2005310026.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが記憶装置を備えている複数のストレージ装置相互間で、該記憶装置に記憶されるデータを送受信することで、各ストレージ装置の記憶装置に記憶されるデータの共通化を図るストレージシステムのデータ管理方法において、
複数の前記ストレージ装置のうちのいずれか一のストレージ装置にアクセス要求があると、該一のストレージ装置は、
前記一のストレージ装置の前記記憶装置の複数の記憶領域毎に、該記憶領域に対するアクセスを制限するか否かを示すロック情報が記憶されているロック情報テーブルを参照して、該アクセス要求が示す記憶領域に対するアクセス処理が制限されているか否かを判断し、アクセス処理が制限されている場合に、該記憶領域に対するアクセス処理を実行せず、アクセス処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にアクセス制限の旨を設定すると共に、該記憶領域に対するアクセス処理を実行するオーナーサイト・アクセス処理を実行し、
複数の前記ストレージ装置のうちの前記一のストレージ装置を除く他のストレージ装置にアクセス要求があると、該他のストレージ装置は、
前記他のストレージ装置に対する前記アクセス要求が示す記憶領域が、前記一のストレージ装置に対する前記アクセス要求が示す前記記憶領域と対応する場合、前記一のストレージ装置に対して、該記憶領域に対するアクセス処理を制限する旨のロック確保要求を送信し、該一のストレージ装置から該ロック確保要求を受諾する旨を受信すると、該記憶領域に対してアクセス処理を実行し、該一のストレージ装置から該ロック確保要求を拒絶する旨を受信すると、該記憶領域に対するアクセス処理を実行しない非オーナーサイト・アクセス処理を実行する、
ことを特徴とすることを特徴とするストレージシステムのデータ管理方法。
【請求項２】
請求項１に記載のストレージシステムのデータ管理方法において、
複数のストレージ装置の各記憶装置は、複数の記憶領域の集まりである記憶領域群を複数有し、
複数のストレージ装置には、それぞれ、自身がオーナーとなる記憶領域群の各記憶領域毎に、該記憶領域に対するアクセスを制限するか否かを示すロック情報が記憶されているロック情報テーブルを設けると共に、各記憶領域群へのアクセスがいずれのストレージ装置により管理されているかを示すオーナー情報テーブルを設け、
複数の前記ストレージ装置は、アクセス要求を受信すると、前記オーナー情報テーブルを参照して、該アクセス要求がいずれの記憶領域群に含まれる記憶領域に対するアクセスであるかを判断し、自サイトでアクセスを管理している記憶領域群に含まれる記憶領域に対するアクセスである場合には、前記オーナー・サイトアクセス処理工程を実行し、他サイトのストレージ装置でアクセスを管理している記憶領域群に含まれる記憶領域に対するアクセスである場合には、前記非オーナーサイト・アクセス処理を実行する、
ことを特徴とするストレージシステムのデータ管理方法。
【請求項３】
それぞれが記憶装置を備えている複数のストレージ装置相互間で、該記憶装置に記憶されるデータを送受信することで、各ストレージ装置の記憶装置に記憶されるデータの共通化を図るストレージシステムのデータ管理方法において、
複数の前記ストレージ装置のうちのいずれか一のストレージ装置にアクセス要求があると、該一のストレージ装置は、
複数の前記ストレージ装置のうちの前記一のストレージ装置を除くいずれか１つの他のストレージ装置に、前記アクセス要求が示す記憶領域と対応する記憶領域に対するアクセス処理を制限する旨のロック確保要求を送信し、該他のストレージ装置から該ロック確保要求を受諾する旨を受信すると、該記憶領域に対してアクセス処理を実行し、該他のストレージ装置から該ロック確保要求を拒絶する旨を受信すると、該記憶領域に対するアクセス処理を実行しない非オーナーサイト・アクセス処理を実行し、
前記他のストレージ装置は、
アクセス要求を受信すると、該アクセス要求が示す記憶領域と前記他のストレージ装置に対する前記アクセス要求が示す記憶領域とが対応する場合、該他のストレージ装置の前記記憶装置の複数の記憶領域毎に、該記憶領域に対するアクセスを制限するか否かを示すロック情報が記憶されているロック情報テーブルを参照して、該アクセス要求が示す記憶領域に対するアクセスが制限されているか否かを判断し、アクセスが制限されている場合に、該記憶領域に対するアクセス処理を実行せず、アクセスが制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にアクセス制限の旨を設定すると共に、該記憶領域に対するアクセスを実行するオーナーサイト・アクセス処理を実行する、
ことを特徴とするストレージシステムのデータ管理方法。
【請求項４】
請求項１から３のいずれか一項に記載のストレージシステムのデータ管理方法において、
前記非オーナーサイト・アクセス処理で、前記アクセス要求が示す記憶領域に対してアクセスを実行した後、前記オーナーサイト・アクセス処理を実行する前記ストレージ装置に、該記憶領域に対するアクセス制限を解除する旨のロック解除要求を送信する、
ことを特徴とするストレージシステムのデータ管理方法。
【請求項５】
請求項１から４のいずれか一項に記載のストレージシステムのデータ管理方法において、
前記オーナーサイト・アクセス処理及び前記非オーナーサイト・アクセス処理で、前記アクセス要求がライト要求ときに、該ライト要求が示す記憶領域に対してライト処理を行う場合、該ライト要求に対するライト処理を行う前記ストレージ装置を除く他の全てのストレージ装置に対して、該ライト要求に関するライトデータを送信するリモートコピー処理工程を実行する、
ことを特徴とするストレージシステムのデータ管理方法。
【請求項６】
請求項５に記載のストレージシステムのデータ管理方法において、
前記ライト要求に対するライト処理を行う前記ストレージ装置から該ライト要求に関するライトデータが送信されると、該ストレージ装置を除く他の全てのストレージ装置は、該ライトデータをライト処理する記憶領域に対してライト処理が制限されているか否かに関わらず、該記憶領域に対して該ライトデータをライト処理する、
ことを特徴とするストレージシステムのデータ管理方法。
【請求項７】
請求項１から６のいずれか一項に記載のストレージシステムのデータ管理方法において、
前記オーナーサイト・アクセス処理及び前記非オーナーサイト・アクセス処理で、前記前記アクセス要求がリード要求ときに、前記ロック情報テーブルを参照せずに、リード処理を実行する、
ことを特徴とするストレージシステムのデータ管理方法。
【請求項８】
記憶装置を備え、該記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置において、
外部との間で通信を行うホスト側通信部と、
前記他のストレージ装置との間で通信を行うストレージ側通信部と、
前記記憶装置の複数の記憶領域毎に、該記憶領域に対するライト処理を制限するか否かを示すロック情報が記憶されるロック情報テーブルと、
前記ホスト側通信部及び前記ストレージ側通信部の通信制御を行うと共に、前記ロック情報テーブルを参照して、前記記憶装置に対するアクセス処理を実行するコントローラと、
を備え、
前記コントローラは、
前記ストレージ側通信部により、前記他のストレージ装置から、複数の前記記憶領域のうちのいずれかの記憶領域に対するライト処理を制限する旨のロック確保要求を受信するロック確保要求受信工程と、
前記ロック確保要求受信工程で、前記ロック確保要求を受信すると、前記ロック情報テーブルを参照して、該ロック確保要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、前記ストレージ側通信部により、前記他のストレージ装置に対してロック確保の拒絶の旨を送信させ、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該ストレージ側通信部により、該他のストレージ装置に対してロック確保の受諾の旨を送信させるロック確保要求処理工程と、を実行する、
ことを特徴とするストレージ装置。
【請求項９】
請求項８に記載のストレージ装置において、
前記コントローラは、
前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記アクセス要求受信工程で、前記ライト要求を受信すると、前記ロック情報テーブルを参照して、該ライト要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、該記憶領域に対するライト処理を実行せず、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該記憶領域に対するライト処理を実行するオーナーアクセス処理工程と、を実行する、
ことを特徴とするストレージ装置。
【請求項１０】
請求項９に記載のストレージ装置において、
前記コントローラは、
前記オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を実行する、
ことを特徴とするストレージ装置。
【請求項１１】
請求項９及び１０のいずれか一項に記載のストレージ装置において、
前記アクセス要求受信工程で、前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するリード要求を受信すると、前記オーナーアクセス処理工程では、前記ロック情報テーブルを参照せずに、該リード要求が示す該記憶領域に対するリード処理を実行して、該リード処理の結果得られたデータを前記外部へ送信する、
ことを特徴とするストレージ装置。
【請求項１２】
請求項９から１１のいずれか一項に記載のストレージ装置において、
前記記憶装置は、前記ロック情報テーブルで管理されている複数の記憶領域の集まりである記憶領域群の他に、複数の記憶領域の集まりである他の記憶領域群を有し、
前記記憶装置の各記憶領域群毎のロック情報テーブルが、いずれのストレージ装置により管理されているかを示すオーナー情報テーブルを備え、
前記コントローラは、
前記オーナー情報テーブルを参照して、前記アクセス要求受信工程で受信した前記ライト要求がいずれの記憶領域群に含まれる記憶領域に対するライト処理であるかを判断し、自サイトで管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、前記オーナーアクセス処理工程を実行させ、他のストレージ装置で管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、該記憶領域群のロック情報を管理している該他のストレージ装置に対して、前記ストレージ装置側通信部により、該記憶領域群に含まれる記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるオーナー判断処理工程と、
前記オーナー判断処理工程での前記ロック確保要求の送信後に、該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するアクセス制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を実行する、
ことを特徴とするストレージ装置。
【請求項１３】
請求項１２に記載のストレージ装置において、
前記コントローラは、
前記非オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を実行する、
ことを特徴とするストレージ装置。
【請求項１４】
請求項１２及び１３のいずれか一項に記載のストレージ装置において、
前記アクセス要求受信工程で、前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するリード要求を受信し、前記オーナー判断処理工程で、該リード要求が、自サイトで管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するリード処理であると判断した場合には、前記オーナーアクセス処理工程では、前記ロック情報テーブルを参照せずに、該リード要求が示す該記憶領域に対するリード処理を実行して、該リード処理の結果得られたデータを前記外部へ送信し、
前記アクセス要求受信工程で、前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するリード要求を受信し、前記オーナー判断処理工程で、該リード要求が、他サイトのストレージ装置で管理している前記ロック情報テーブルの記憶領域群に含まれている記憶領域に対するリード処理であると判断した場合、該他サイトのストレージ装置に対して前記ロック確保要求を送信せず、前記非オーナーアクセス処理工程では、該リード要求が示す該記憶領域に対するリード処理を実行して、該リード処理の結果得られたデータを前記外部へ送信する、
ことを特徴とするストレージ装置。
【請求項１５】
記憶装置を備え、該記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置において、
外部との間で通信を行うホスト側通信部と、
前記他のストレージ装置との間で通信を行うストレージ側通信部と、
前記記憶装置の複数の記憶領域毎に、該記憶領域に対するライト処理を制限するか否かを示すロック情報が記憶されるロック情報テーブルと、
前記ホスト側通信部及び前記ストレージ側通信部の通信制御を行うと共に、前記ロック情報テーブルを参照して、前記記憶装置に対するアクセス処理を実行するコントローラと、
を備え、
前記コントローラは、
前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記ライト要求が示す記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるロック確保要求送信工程と、
前記ロック確保要求の送信後に、前記他のストレージ装置から該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するライト処理制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を実行する、
ことを特徴とするストレージ装置。
【請求項１６】
請求項８から１４のいずれか一項に記載のストレージ装置（以下、オーナーストレージ装置とする）と、
前記オーナーストレージ装置との間で通信可能な請求項１５に記載のストレージ装置（以下、非オーナーストレージ装置とする）と、
を備え、
前記オーナーストレージ装置に対する前記他のストレージ装置が前記非オーナーストレージ装置であり、前記非オーナーストレージ装置に対する前記他のストレージ装置が前記オーナーストレージ装置である、
ことを特徴とするストレージシステム。
【請求項１７】
記憶装置と、外部との間で通信を行うホスト側通信部と、他のストレージ装置との間で通信を行うストレージ側通信部と、該ホスト側通信部及び該ストレージ側通信部の通信制御を行うと共に、該記憶装置に対するアクセス処理を実行するコントローラとを備え、
前記記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置のコントローラ実行プログラムにおいて、
前記ストレージ側通信部により、前記他のストレージ装置から、前記記憶装置の複数の記憶領域のうちのいずれかの記憶領域に対するライト処理を制限する旨のロック確保要求を受信するロック確保要求受信工程と、
前記ロック確保要求受信工程で、前記ロック確保要求を受信すると、前記記憶装置の複数の記憶領域毎に、該記憶領域に対するライト処理を制限するか否かを示すロック情報が記憶されるロック情報テーブルを参照して、該ロック確保要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、前記ストレージ側通信部により、前記他のストレージ装置に対してロック確保の拒絶の旨を送信させ、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該ストレージ側通信部により、該他のストレージ装置に対してロック確保の受諾の旨を送信させるロック確保要求処理工程と、を前記コントローラに実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項１８】
請求項１７に記載のストレージ装置のコントローラ実行プログラムにおいて、
前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記アクセス要求受信工程で、前記ライト要求を受信すると、前記ロック情報テーブルを参照して、該ライト要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、該記憶領域に対するライト処理を実行せず、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該記憶領域に対するライト処理を実行するオーナーアクセス処理工程と、を前記コントローラに実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項１９】
請求項１８に記載のストレージ装置のコントローラ実行プログラムにおいて、
前記オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を前記コントローラに実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項２０】
請求項１８及び１９のいずれか一項に記載のストレージ装置のコントローラ実行プログラムにおいて、
前記アクセス要求受信工程で、前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するリード要求を受信すると、前記オーナーアクセス処理工程では、前記ロック情報テーブルを参照せずに、該リード要求が示す該記憶領域に対するリード処理を実行して、該リード処理の結果得られたデータを前記外部へ送信する、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項２１】
請求項１８から２０のいずれか一項に記載のストレージ装置において、
前記記憶装置は、前記ロック情報テーブルで管理されている複数の記憶領域の集まりである記憶領域群の他に、複数の記憶領域の集まりである他の記憶領域群を有し、
前記記憶装置の各記憶領域群毎のロック情報テーブルが、いずれのストレージ装置により管理されているかを示すオーナー情報テーブルを参照して、前記アクセス要求受信工程で受信した前記ライト要求がいずれの記憶領域群に含まれる記憶領域に対するライト処理であるかを判断し、自サイトで管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、前記オーナーアクセス処理工程を実行させ、他のストレージ装置で管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、該記憶領域群のロック情報を管理している該他のストレージ装置に対して、前記ストレージ装置側通信部により、該記憶領域群に含まれる記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるオーナー判断処理工程と、
前記オーナー判断処理工程での前記ロック確保要求の送信後に、該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するアクセス制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を前記コントローラに実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項２２】
請求項２１に記載のストレージ装置のコントローラ実行プログラムにおいて、
前記非オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を、前記コントローラに実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項２３】
請求項２１及び２２のいずれか一項に記載のストレージ装置のコントローラ実行プログラムにおいて、
前記アクセス要求受信工程で、前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するリード要求を受信し、前記オーナー判断処理工程で、該リード要求が、自サイトで管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するリード処理であると判断した場合には、前記オーナーアクセス処理工程では、該リード要求が示す該記憶領域に対するリード処理を実行して、該リード処理の結果得られたデータを前記外部へ送信し、
前記アクセス要求受信工程で、前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するリード要求を受信し、前記オーナー判断処理工程で、該リード要求が、他サイトのストレージ装置で管理している前記ロック情報テーブルの記憶領域群に含まれている記憶領域に対するリード処理であると判断した場合、前記非オーナーアクセス処理工程では、該リード要求が示す該記憶領域に対するリード処理を実行して、該リード処理の結果得られたデータを前記外部へ送信する、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項２４】
請求項２３に記載のストレージ装置のコントローラ実行プログラムにおいて、
前記オーナーアクセス処理工程では、前記ロック情報テーブルを参照せずに、前記リード要求が示す該記憶領域に対するリード処理を実行し、
前記オーナー判断処理工程では、前記リード要求が、他サイトのストレージ装置で管理している前記ロック情報テーブルの記憶領域群に含まれている記憶領域に対するリード処理であると判断した場合、該他サイトのストレージ装置に対して前記ロック確保要求を送信せずに、前記非オーナーアクセス処理工程を実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項２５】
記憶装置と、外部との間で通信を行うホスト側通信部と、他のストレージ装置との間で通信を行うストレージ側通信部と、該ホスト側通信部及び該ストレージ側通信部の通信制御を行うと共に、該記憶装置に対するアクセス処理を実行するコントローラとを備え、
前記記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置のコントローラ実行プログラムにおいて、
前記ホスト側通信部により、前記外部から、前記記憶装置の複数の記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記ライト要求が示す記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるロック確保要求送信工程と、
前記ロック確保要求の送信後に、前記他のストレージ装置から該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するライト処理制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を前記コントローラに実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【請求項２６】
請求項２５に記載のストレージ装置のコントローラ実行プログラムにおいて、
前記非オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を、前記コントローラに実行させる、
ことを特徴とするストレージ装置のコントローラ実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置、これを備えたストレージシステム、このシステムのデータ管理方法、及びストレージ装置のコントローラ実行プログラムに関する。
【背景技術】
【０００２】
ストレージ装置は、一般的に、単体のハードディスク装置又は複数のハードディス装置の集合体を制御部で制御するディスクアレイ装置等の装置である。
【０００３】
近年、ネットワークプロトコルであるTCP（Transmission Control Protocol）/IP上で、上位プロトコルとしてSCSI処理を実現するためのプロトコル技術であるiSCSI（internet SCSI）がストレージインタフェース（以後インタフェースはＩ／Ｆと略す）として注目されている。iSCSIはＩＰネットワークを用いて長距離の通信が可能であり、従来用いられてきたＦＣ（Fibre Channel）よりも機器が安価であるという特性を持つ。
【０００４】
このため、ホストとストレージ装置間の通信にiSCSIを用いれば、安価にデータ共有システムを構築できる。この種の技術として、例えば、ある都市の支店Ａに配置したストレージ装置Ａのデータの複製を別の都市の支店Ｂに配置したストレージ装置Ｂで保持し、周期的にそれらのデータ間の同期を取るという技術が知られている。また、特許文献１には、３サイト以上のNサイトに配置したストレージ装置間で、任意サイトの被災後、速やかに残サイト間でのリモートコピーデータの一致を実現するための差分を管理する方法が開示されている。
【０００５】
【特許文献１】特開２００３−１３１９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、いずれの従来技術でも、例えば、サイトＡでライト処理を行った後、直ちに、他のサイトＢでも他のデータに関してライト処理を行った場合、サイトＡのストレージ装置に記憶されているデータと、サイトBのストレージ装置に記憶されているデータとが一致しているとは限らず、各サイト相互間でのデータの一貫性が保たれないという問題点がある。
【０００７】
本発明は、このような従来技術の問題点に着目し、各サイト相互間でのデータの一貫性を保つことができるストレージ装置、これを備えたストレージシステム、このシステムのデータ管理方法、及びストレージ装置のコントローラ実行プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するためのストレージシステムのデータ管理方法に係る発明は、
それぞれが記憶装置を備えている複数のストレージ装置相互間で、該記憶装置に記憶されるデータを送受信することで、各ストレージ装置の記憶装置に記憶されるデータの共通化を図るストレージシステムのデータ管理方法において、
複数の前記ストレージ装置のうちのいずれか一のストレージ装置にアクセス要求があると、該一のストレージ装置は、
前記一のストレージ装置の前記記憶装置の複数の記憶領域毎に、該記憶領域に対するアクセスを制限するか否かを示すロック情報が記憶されているロック情報テーブルを参照して、該アクセス要求が示す記憶領域に対するアクセス処理が制限されているか否かを判断し、アクセス処理が制限されている場合に、該記憶領域に対するアクセス処理を実行せず、アクセス処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にアクセス制限の旨を設定すると共に、該記憶領域に対するアクセス処理を実行するオーナーサイト・アクセス処理を実行し、
複数の前記ストレージ装置のうちの前記一のストレージ装置を除く他のストレージ装置にアクセス要求があると、該他のストレージ装置は、
前記他のストレージ装置に対する前記アクセス要求が示す記憶領域が、前記一のストレージ装置に対する前記アクセス要求が示す前記記憶領域と対応する場合、前記一のストレージ装置に対して、該記憶領域に対するアクセス処理を制限する旨のロック確保要求を送信し、該一のストレージ装置から該ロック確保要求を受諾する旨を受信すると、該記憶領域に対してアクセス処理を実行し、該一のストレージ装置から該ロック確保要求を拒絶する旨を受信すると、該記憶領域に対するアクセス処理を実行しない非オーナーサイト・アクセス処理を実行する、
ことを特徴とすることを特徴とするものである。
【０００９】
ここで、前記データ管理方法に係る発明は、
複数のストレージ装置の各記憶装置は、複数の記憶領域の集まりである記憶領域群を複数有し、
複数のストレージ装置には、それぞれ、自身がオーナーとなる記憶領域群の各記憶領域毎に、該記憶領域に対するアクセスを制限するか否かを示すロック情報が記憶されているロック情報テーブルを設けると共に、各記憶領域群へのアクセスがいずれのストレージ装置により管理されているかを示すオーナー情報テーブルを設け、
複数の前記ストレージ装置は、アクセス要求を受信すると、前記オーナー情報テーブルを参照して、該アクセス要求がいずれの記憶領域群に含まれる記憶領域に対するアクセスであるかを判断し、自サイトでアクセスを管理している記憶領域群に含まれる記憶領域に対するアクセスである場合には、前記オーナー・サイトアクセス処理工程を実行し、他サイトのストレージ装置でアクセスを管理している記憶領域群に含まれる記憶領域に対するアクセスである場合には、前記非オーナーサイト・アクセス処理を実行する、
ことを特徴とするものであることが好ましい。
【００１０】
前記目的を達成するためのストレージシステムのデータ管理方法に係る他の発明は、
それぞれが記憶装置を備えている複数のストレージ装置相互間で、該記憶装置に記憶されるデータを送受信することで、各ストレージ装置の記憶装置に記憶されるデータの共通化を図るストレージシステムのデータ管理方法において、
複数の前記ストレージ装置のうちのいずれか一のストレージ装置にアクセス要求があると、該一のストレージ装置は、
複数の前記ストレージ装置のうちの前記一のストレージ装置を除くいずれか１つの他のストレージ装置に、前記アクセス要求が示す記憶領域と対応する記憶領域に対するアクセス処理を制限する旨のロック確保要求を送信し、該他のストレージ装置から該ロック確保要求を受諾する旨を受信すると、該記憶領域に対してアクセス処理を実行し、該他のストレージ装置から該ロック確保要求を拒絶する旨を受信すると、該記憶領域に対するアクセス処理を実行しない非オーナーサイト・アクセス処理を実行し、
前記他のストレージ装置は、
アクセス要求を受信すると、該アクセス要求が示す記憶領域と前記他のストレージ装置に対する前記アクセス要求が示す記憶領域とが対応する場合、該他のストレージ装置の前記記憶装置の複数の記憶領域毎に、該記憶領域に対するアクセスを制限するか否かを示すロック情報が記憶されているロック情報テーブルを参照して、該アクセス要求が示す記憶領域に対するアクセスが制限されているか否かを判断し、アクセスが制限されている場合に、該記憶領域に対するアクセス処理を実行せず、アクセスが制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にアクセス制限の旨を設定すると共に、該記憶領域に対するアクセスを実行するオーナーサイト・アクセス処理を実行する、
ことを特徴とするものである。
【００１１】
また、以上のデータ管理方法に係る各発明は、
前記非オーナーサイト・アクセス処理で、前記アクセス要求が示す記憶領域に対してアクセスを実行した後、前記オーナーサイト・アクセス処理を実行する前記ストレージ装置に、該記憶領域に対するアクセス制限を解除する旨のロック解除要求を送信する、ものであることが好ましい。
【００１２】
さらに、以上のデータ管理方法に係る各発明は、
前記オーナーサイト・アクセス処理及び前記非オーナーサイト・アクセス処理で、前記アクセス要求がライト要求ときに、該ライト要求が示す記憶領域に対してライト処理を行う場合、該ライト要求に対するライト処理を行う前記ストレージ装置を除く他の全てのストレージ装置に対して、該ライト要求に関するライトデータを送信するリモートコピー処理工程を実行する、ことが好ましい。
【００１３】
前記目的を達成するためのストレージ装置に係る第一の発明は、
記憶装置を備え、該記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置において、
外部との間で通信を行うホスト側通信部と、
前記他のストレージ装置との間で通信を行うストレージ側通信部と、
前記記憶装置の複数の記憶領域毎に、該記憶領域に対するライト処理を制限するか否かを示すロック情報が記憶されるロック情報テーブルと、
前記ホスト側通信部及び前記ストレージ側通信部の通信制御を行うと共に、前記ロック情報テーブルを参照して、前記記憶装置に対するアクセス処理を実行するコントローラと、
を備え、
前記コントローラは、
前記ストレージ側通信部により、前記他のストレージ装置から、複数の前記記憶領域のうちのいずれかの記憶領域に対するライト処理を制限する旨のロック確保要求を受信するロック確保要求受信工程と、
前記ロック確保要求受信工程で、前記ロック確保要求を受信すると、前記ロック情報テーブルを参照して、該ロック確保要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、前記ストレージ側通信部により、前記他のストレージ装置に対してロック確保の拒絶の旨を送信させ、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該ストレージ側通信部により、該他のストレージ装置に対してロック確保の受諾の旨を送信させるロック確保要求処理工程と、を実行する、
ことを特徴とするものである。
【００１４】
ここで、前記コントローラは、
前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記アクセス要求受信工程で、前記ライト要求を受信すると、前記ロック情報テーブルを参照して、該ライト要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、該記憶領域に対するライト処理を実行せず、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該記憶領域に対するライト処理を実行するオーナーアクセス処理工程と、を実行する、ものであることが好ましい。
【００１５】
さらに、前記コントローラは、
前記オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を実行するものであることが好ましい。
【００１６】
また、以上のストレージ装置に係る各発明は、
前記記憶装置は、前記ロック情報テーブルで管理されている複数の記憶領域の集まりである記憶領域群の他に、複数の記憶領域の集まりである他の記憶領域群を有し、
前記記憶装置の各記憶領域群毎のロック情報テーブルが、いずれのストレージ装置により管理されているかを示すオーナー情報テーブルを備え、
前記コントローラは、
前記オーナー情報テーブルを参照して、前記アクセス要求受信工程で受信した前記ライト要求がいずれの記憶領域群に含まれる記憶領域に対するライト処理であるかを判断し、自サイトで管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、前記オーナーアクセス処理工程を実行させ、他のストレージ装置で管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、該記憶領域群のロック情報を管理している該他のストレージ装置に対して、前記ストレージ装置側通信部により、該記憶領域群に含まれる記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるオーナー判断処理工程と、
前記オーナー判断処理工程での前記ロック確保要求の送信後に、該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するアクセス制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を実行するものであることが好ましい。
【００１７】
この場合、前記コントローラは、
前記非オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を実行する、ものであることが好ましい。
【００１８】
前記目的を達成するためのストレージ装置に係る第二の発明は、
記憶装置を備え、該記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置において、
外部との間で通信を行うホスト側通信部と、
前記他のストレージ装置との間で通信を行うストレージ側通信部と、
前記記憶装置の複数の記憶領域毎に、該記憶領域に対するライト処理を制限するか否かを示すロック情報が記憶されるロック情報テーブルと、
前記ホスト側通信部及び前記ストレージ側通信部の通信制御を行うと共に、前記ロック情報テーブルを参照して、前記記憶装置に対するアクセス処理を実行するコントローラと、
を備え、
前記コントローラは、
前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記ライト要求が示す記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるロック確保要求送信工程と、
前記ロック確保要求の送信後に、前記他のストレージ装置から該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するライト処理制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を実行することを特徴とするものである。
【００１９】
前記目的を達成するためのストレージシステムに係る発明は、
前記第一の発明に係るストレージ装置（以下、オーナーストレージ装置とする）と、
前記オーナーストレージ装置との間で通信可能な前記第二の発明に係るストレージ装置（以下、非オーナーストレージ装置とする）と、
を備え、
前記オーナーストレージ装置に対する前記他のストレージ装置が前記非オーナーストレージ装置であり、前記非オーナーストレージ装置に対する前記他のストレージ装置が前記オーナーストレージ装置である、ことを特徴とするものである。
【００２０】
前記目的を達成するためのストレージ装置のコントローラ実行プログラムに係る発明は、
記憶装置と、外部との間で通信を行うホスト側通信部と、他のストレージ装置との間で通信を行うストレージ側通信部と、該ホスト側通信部及び該ストレージ側通信部の通信制御を行うと共に、該記憶装置に対するアクセス処理を実行するコントローラとを備え、
前記記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置のコントローラ実行プログラムにおいて、
前記ストレージ側通信部により、前記他のストレージ装置から、前記記憶装置の複数の記憶領域のうちのいずれかの記憶領域に対するライト処理を制限する旨のロック確保要求を受信するロック確保要求受信工程と、
前記ロック確保要求受信工程で、前記ロック確保要求を受信すると、前記記憶装置の複数の記憶領域毎に、該記憶領域に対するライト処理を制限するか否かを示すロック情報が記憶されるロック情報テーブルを参照して、該ロック確保要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、前記ストレージ側通信部により、前記他のストレージ装置に対してロック確保の拒絶の旨を送信させ、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該ストレージ側通信部により、該他のストレージ装置に対してロック確保の受諾の旨を送信させるロック確保要求処理工程と、を前記コントローラに実行させる、
ことを特徴とするものである。
【００２１】
ここで、前記コントローラ実行プログラムに係る発明は、
前記ホスト側通信部により、前記外部から、複数の前記記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記アクセス要求受信工程で、前記ライト要求を受信すると、前記ロック情報テーブルを参照して、該ライト要求が示す記憶領域に対するライト処理が制限されているか否かを判断し、ライト処理が制限されている場合に、該記憶領域に対するライト処理を実行せず、ライト処理が制限されていない場合に、前記ロック情報テーブルの該記憶領域の欄にライト処理制限の旨を設定すると共に、該記憶領域に対するライト処理を実行するオーナーアクセス処理工程と、を前記コントローラに実行させる、ものであることが好ましい。
【００２２】
また、前記コントローラ実行プログラムに係る発明は、
前記オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を前記コントローラに実行させる、ものであることが好ましい。
【００２３】
また、以上のコントローラ実行プログラムに係る各発明は、
前記記憶装置は、前記ロック情報テーブルで管理されている複数の記憶領域の集まりである記憶領域群の他に、複数の記憶領域の集まりである他の記憶領域群を有し、
前記記憶装置の各記憶領域群毎のロック情報テーブルが、いずれのストレージ装置により管理されているかを示すオーナー情報テーブルを参照して、前記アクセス要求受信工程で受信した前記ライト要求がいずれの記憶領域群に含まれる記憶領域に対するライト処理であるかを判断し、自サイトで管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、前記オーナーアクセス処理工程を実行させ、他のストレージ装置で管理している前記ロック情報テーブルの記憶領域群に含まれる記憶領域に対するライト処理である場合には、該記憶領域群のロック情報を管理している該他のストレージ装置に対して、前記ストレージ装置側通信部により、該記憶領域群に含まれる記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるオーナー判断処理工程と、
前記オーナー判断処理工程での前記ロック確保要求の送信後に、該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するアクセス制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を前記コントローラに実行させるものであることが好ましい。
【００２４】
この場合、コントローラ実行プログラムは、
前記非オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を、前記コントローラに実行させる、ものであることが好ましい。
【００２５】
前記目的を達成するためのストレージ装置のコントローラ実行プログラムに係る他の発明は、
記憶装置と、外部との間で通信を行うホスト側通信部と、他のストレージ装置との間で通信を行うストレージ側通信部と、該ホスト側通信部及び該ストレージ側通信部の通信制御を行うと共に、該記憶装置に対するアクセス処理を実行するコントローラとを備え、
前記記憶装置に記憶されるデータを他のストレージ装置との間で送受信することで、該記憶装置に記憶されるデータの共通化を図るストレージ装置のコントローラ実行プログラムにおいて、
前記ホスト側通信部により、前記外部から、前記記憶装置の複数の記憶領域のうちのいずれかに対するライト要求を受信するアクセス要求受信工程と、
前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記ライト要求が示す記憶領域に対するライト処理を制限する旨のロック確保要求を送信させるロック確保要求送信工程と、
前記ロック確保要求の送信後に、前記他のストレージ装置から該ロック確保要求に対するロック確保の受諾の旨を前記ストレージ側通信部が受信すると、前記ライト要求が示す前記記憶領域に対するライト処理を実行する非オーナーアクセス処理工程と、
前記非オーナーアクセス処理工程で、前記記憶領域に対するライト処理を実行した後、前記他のストレージ装置に対して、前記ストレージ装置側通信部により、前記記憶領域に対するライト処理制限を解除する旨のロック解除要求を送信させるロック解除要求送信工程と、を前記コントローラに実行させる、ことを特徴とするものである。
【００２６】
ここで、コントローラ実行プログラムに係る前記他の発明は、
前記非オーナーアクセス処理工程で、前記ライト要求が示す前記記憶領域に対するライト処理を実行すると、前記ストレージ側通信部により、他の全てのストレージ装置に対して該ライト要求に関するライトデータを送信させるリモートコピー処理工程を、前記コントローラに実行させる、ものであることが好ましい。
【発明の効果】
【００２７】
本願に係る発明によれば、複数のストレージ装置のうちの一のストレージ装置がライト処理を含むアクセス処理を実行している際、他のストレージ装置のライト処理を含むアクセス処理が制限されるので、各サイト相互間でのデータの一貫性を保つことができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明に係るストレージシステムの各種実施形態について説明する。
【００２９】
「第１実施形態」
まず、図１〜図１７を用いて、第1実施形態としてのストレージシステムについて説明する。
【００３０】
本実施形態のストレージシステムは、図１に示すように、ＩＰ（Internet  Protocol）ネットワーク１にギガビットイーサネット（イーサネットは米国ゼロックス社の登録商標）２で接続された複数のストレージ装置１００Ａ，１００Ｂ，１００Ｃと、各ストレージ装置１００Ａ，１００Ｂ，１００ＣにＦＣ（Fibre  channel）リンク３でそれぞれ接続されているホスト２００Ａ，２００Ｂ，２００Ｃと、各ストレージ装置１００Ａ，１００Ｂ，１００ＣにＬＡＮ（Local  Area  Network）４でそれぞれ接続されている管理サーバ３００Ａ，３００Ｂ，３００Ｃを備えている。
【００３１】
各ストレージ装置１００Ａ，１００Ｂ，１００Ｃは、複数のディスク装置１０１，１０１，…と、対応ホスト２００との間で通信を行うと共に複数のディスク装置１０１，１０１，…に対してのアクセス処理を実行する第一のインタフェース１１０Ｘと、ＩＰネットワーク１を介して他のストレージ装置１００との間で通信を行うと共に複数のディスク装置１０１，１０１，…に対してのアクセス処理を実行する第ニのインタフェース１１０Ｙと、を備えている。
【００３２】
複数のディスク装置１０１，１０１，…の記憶領域は、ホスト２００からのデータイメージが１つの記憶領域群を成すＬＵ（Logical  Unit）０，ＬＵ１，ＬＵ２，…に分割されている。各ＬＵ０，ＬＵ１，ＬＵ２，…は、それぞれ、図４に示すように、さらに、複数の記憶領域Ｓ０〜Ｓ７に分割されている。すなわち、複数の記憶領域Ｓ０〜Ｓ７の集合が１つの記憶領域群であるＬＵを構成している。なお、記憶領域の単位は、この実施形態では、トラック（６４ＫＢのアドレス単位）である。
【００３３】
第一のＩ／Ｆ１１０Ｘ及び第二のＩ／Ｆ１１０Ｙは、いずれも、フロントエンドＩ／Ｆ１１１Ｘ，１１１Ｙ、キャッシュメモリ１１２Ｘ，１１２Ｙ、コントローラ１２０Ｘ，１２０Ｙ、バックエンドＩ／Ｆ１１３Ｘ，１１３Ｙ、ブリッジ１１４Ｘ，１１４Ｙ、制御メモリ１１５Ｘ，１１５Ｙを有している。
【００３４】
第一のＩ／Ｆ１１０ＸのフロントエンドＩ／Ｆ１１１Ｘは、対応ホスト２００とＦＣプロトコル通信を行うため、ＦＣプロトコルのデータの入出力処理を行う。このＦＣプロトコル通信では、ＦＣプロトコルの上位のＳＣＳＩ命令を送受信する。また、第二のＩ／Ｆ１１０ＹのフロントエンドＩ／Ｆ１１１Ｙは、他のストレージ装置１００とＩＰプロトコル通信を行うため、ＩＰプロトコルのデータの入出力処理を行う。このＩＰプロトコル通信では、ＩＰプロトコルの上位のＳＣＳＩ命令を送受信する。第一及び第二のＩ／Ｆ１１０Ｘ，１１０ＹのバックエンドＩ／Ｆ１１３Ｘ，１１３Ｙは、コントローラ１２０Ｘ，１２０Ｙからの指示に従って、複数のディスク装置１０１のうちのいずれかにアクセス処理を実行させる。キャッシュメモリ１１２Ｘ，１１２Ｙは、フロントエンドＩ／Ｆ１１１Ｘ，１１１Ｙで受信したリード要求やライト要求等の要求に対するキャッシュとしての役割を果たすメモリである。例えば、フロントエンドＩ／Ｆ１１１Ｘ，１１１Ｙでライト要求を受信した場合、このライト要求がキャッシュメモリ１１２Ｘ，１１２Ｙに一旦格納された後、複数のディスク装置１０１のうちのいずれかに格納される。また、フロントエンドＩ／Ｆ１１１Ｘ，１１１Ｙでリード要求を受信した場合、複数のディスク装置１０１のいずれから該当データが読み出され、このデータがキャッシュメモリ１１２Ｘ，１１２Ｙに一旦格納された後、リード要求元に送信される。また、ホスト２００からのライト要求を受信した第一のＩ／Ｆ１１０Ｘは、ホスト２００から送信されたデータをキャッシュメモリ１１２Ｘに格納すると共に、同じデータをコントローラ１２０Ｘ及び通信路１１９を経由して第二のＩ／Ｆ１２０Ｙへも渡す。第二のＩ／Ｆ１２０Ｙのコントローラ１２０Ｙは、これをキャッシュメモリ１１２Ｙに書き込む。このため、仮に、第一のＩ／Ｆ１１０Ｘに故障が発生してキャッシュメモリ１１２Ｘに格納されたデータが利用不能になっても、キャッシュメモリ１１２Ｙからディスク装置１０１へデータを格納できる。
【００３５】
ブリッジ１１４Ｘ，１１４Ｙは、ＬＡＮ４により、対応管理サーバ３００に接続されている。管理サーバ３００は、ＬＡＮ４及びブリッジ１１４Ｘ，１１４Ｙを介して、制御メモリ１１５Ｘ，１１５Ｙ内のプログラムや諸データの設定変更を実行する。
【００３６】
第一のＩ／Ｆ１１０Ｘの制御メモリ１１５Ｘには、コントローラ１２０Ｘが実行するためのプログラム１１６Ｘが格納されている。また、第二のＩ／Ｆ１１０Ｙの制御メモリ１１５Ｙには、コントローラ１２０Ｙが実行するためのプログラム１１６Ｙや、オーナ情報テーブル１１７Ｙや、ロック情報テーブル１１８Ｙが格納されている。オーナー情報テーブル１１７Ｙは、後述するように、どのストレージ装置がどのＬＵに対するアクセスを管理するかを示すテーブルで、ロック情報テーブル１１８Ｙは、同じく後述するように、自らがアクセスを管理しているＵＬ内の複数の記憶領域毎に、記憶領域に対するアクセスを制限するか否かを示すロック情報が記憶されるテーブルである。
【００３７】
第一のＩ／Ｆ１１０Ｘのコントローラ１２０Ｘは、フロントエンドＩ／Ｆ１１１Ｘを介して対応ホスト２００からのアクセス要求を受信するアクセス要求受信部１２１Ｘと、自らが管理しているＬＵに対するアクセス要求を処理するオーナー・アクセス処理部１２２Ｘと、他のストレージ装置１００が管理しているＬＵに対するアクセス要求を処理する非オーナー・アクセス処理部１２３Ｘとを有している。
【００３８】
また、第二のＩ／Ｆ１１０Ｙのコントローラ１２０Ｘは、オーナー情報テーブル１１７Ｙを参照して、第一のＩ／Ｆ１１０Ｘで受信したアクセス要求でアクセスすべきＬＵがいずれのストレージ装置１００の管理下にあるかを判断するオーナー判断部１２１Ｙと、他のストレージ装置１００に対してリモートコピーのためにライト要求及びライトデータを送信する一方で、他のストレージ装置１００からライト要求及びライトデータを受信すると、このライト要求を処理するリモートコピー処理部１２２Ｙと、他のストレージ装置１００との間で、特定の記憶領域に対するアクセスを制限する旨のロック確保要求を受信及び送信するロック確保要求受送信部１２３Ｙと、他のストレージ装置１００からのロック確保要求の示す記憶領域がアクセス制限されているか否かを判断するロック確保要求処理部１２４Ｙと、他のストレージ装置１００との間で、ロック解除要求を受信及び送信するロック解除要求受送信部１２５Ｘと、を有している。なお、各コントローラ１２０Ｘ，１２０Ｙの各部は、いずれも、制御メモリ１１５Ｘ，１１５Ｙに記憶されているプログラム１１６Ｘ，１１６Ｙを実行することで機能する。
【００３９】
ホスト２００は、ＦＣプロトコルを処理可能なＩ／ＦであるＨＢＡ（Host  Bus  Adapter）２０１を有し、このＨＢＡ２０１により、ＦＣリンク３を介してストレージ装置１００と接続されている。また、このホスト２００は、図示していないが、ＣＰＵ、メモリ等を有する計算機である。
【００４０】
ストレージ装置１００の第一のＩ／Ｆ１１０Ｘは、イニシエタの役割を果たすホスト２００に対してターゲットの役割を果たし、共通ストレージイメージ１０３へのアクセスを可能とする。すなわち、第一のＩ／Ｆ１１０Ｘは、ホスト２００から送信されたリード要求やライト要求を受信すると、共通ストレージイメージ１０３を構成する各ＬＵの指定領域に対するリード要求やライト要求を処理する。
【００４１】
ストレージ装置１００の第二のＩ／Ｆ１１０Ｙは、ＩＰネットワーク１を経由して接続されている他のストレージ装置１００の第二のＩ／Ｆ１１０Ｙに対し、イニシエタの役割とターゲットの役割を両方果たす。すなわち、第二のＩ／Ｆ１１０Ｙは、イニシエタの役割として、ストレージイメージ１０３を構成する各ＬＵの指定領域に対するリード要求やライト要求を他のストレージ装置１００の第二のＩ／Ｆ１１０Ｙに送信し、ターゲットの役割として、他のストレージ装置１００の第二のＩ／Ｆ１１０Ｙからリード要求やライト要求を受信すると、ストレージイメージ１０３を構成する各ＬＵの指定領域に対するリード要求やライト要求を処理する。
【００４２】
以上のストレージシステムの初期化時には、（１）まず、第二のＩ／Ｆ１１０Ｙ同士が相互にログインをし、（２）次に、ロック情報テーブル１１８Ｙのデータ及び共通データイメージ１０３の初期化、すなわち、各ストレージ装置１００Ａ，１００Ｂ，１００Ｃでそれらが同一の内容になるようにする。たとえば、ストレージ装置１００Ａが第二のＩ／Ｆ１１０Ｙを経由して、ロック情報テーブル１１８Ｙのデータ及び共通データイメージ１０３をストレージ装置１００Ｂ，１００Ｃにコピーする。これらの後で、（３）ホスト２００からのログインおよび引き続くアクセス要求を許可する。
【００４３】
イニシエタがターゲットをアクセスするためには、ターゲットのアドレスと、識別子の関連を知る必要がある。そのためには（１）ホストに、利用可能なターゲットの情報（ネットワークアドレスと識別子）を直接入力する方法と、（２）利用可能なターゲットの情報を管理するネームサーバを用いる方法と、（３）ホストが利用可能なターゲットを自動的に探すプロトコル（ディスカバリプロトコル）を用いる方法、のいずれかが採用できる。ＦＣでは、接続の媒介となるファブリック（スイッチ）がネームサーバ機能を持つため（２）の方法が一般的だが、ｉＳＣＳＩは（１）（３）も考えられる。（１）〜（３）のいずれの方法でも本発明の本質には影響を及ぼさない。例えば、図２に示すように、ホスト２００Ａ，２００Ｂとストレージ装置１００Ａ，１００Ｂとの接続が直結ではなく、ＦＣネットワーク３Ａ，３Ｂを経由する場合や、ストレージ装置１００Ａとストレージ装置１００ＢとをＩＰネットワーク１を経由する場合に、各ネットワーク３Ａ，３Ｂ，１に、それぞれ、ネームサーバ４００Ａ，４００Ｂ，４１０を接続するようにしてもよい。
【００４４】
また、以上のストレージ装置１００は、物理的に異なるホスト側の通信回線３と他のストレージ装置１００側の通信回線２に接続されているが、１つの通信回線を途中でルーター等で分岐し、分岐した一方をホスト２００に接続し、分岐した他方をＩＰネットワーク１を介して他のストレージ装置１００に接続するようにしてもよい。この場合、ストレージ装置１００のフロントエンドＩ／Ｆは１つになる。
【００４５】
図３に示すように、第二のＩ／Ｆ１１０Ｙの制御メモリ１１５Ｙに格納されているオーナー情報テーブル１１７Ｙは、各ＬＵ毎に、当該ＬＵに対するアクセスを管理するストレージ装置１００のＩＤが一意に対応付けられている。各ストレージ装置１００Ａ，１００Ｂ，１００Ｃが持つオーナー情報テーブル１１７Ｙの内容は同一である。このオーナー情報テーブル１１７Ｙの例では、ＬＵ０に対するアクセスを管理する、言い換えるとＬＵ０のロック情報を管理するオーナーはストレージ装置１００Ａで、ＬＵ１のロック情報を管理するオーナーはストレージ装置１００Ｂで、ＬＵ２のロック情報を管理するオーナーはストレージ装置１００Ｃである。なお、このオーナー情報テーブル１１７Ｙ内のデータは、基本的には、管理サーバ３００からの指示で設定される。
【００４６】
また、図５に示すように、第二のＩ／Ｆ１１０Ｙの制御メモリ１１５Ｙに格納されているロック情報テーブル１１８Ｙは、リード要求処理のためにどの記憶領域に対するアクセス処理を制限するかを示すリード用ロック情報テーブル１１８ａ，１１８ｂ，１１８ｃと、ライト要求処理のためにどの記憶領域に対するアクセス処理を制限するかを示すライト用ロック情報テーブル１１８ｄとがある。各テーブルには、ＬＵを構成する複数の記憶領域Ｓ０〜Ｓ７に対応する欄が設けられており、各欄に当該記憶領域に対するアクセスを制限するか否かが格納される。
【００４７】
この実施形態において、具体的には、
（１）ライト要求処理を行なっている最中の記憶領域に対してはリード処理もライト処理も不可
（２）リード要求処理を行なっている最中の記憶領域に対してはライト処理不可
というアクセス制限を行う。
【００４８】
ライト用ロック情報テーブル１１８ｄは、各記憶領域Ｓ０〜Ｓ７について、「いずれかのストレージ装置がホストからのライト要求を処理するために当該領域をロックしている最中」であることを示すテーブルで、記憶領域Ｓ０〜Ｓ７に対応する欄には、ライト要求を処理しているストレージ装置の識別子が格納される。この例では、記憶領域S４，S５がストレージ装置１００Ｃのライト処理のためにロックされている状態を示している。
【００４９】
また、リードロック情報テーブル１１８ａ，１１８ｂ，１１８ｃには、ストレージ装置１００Ａがリード要求処理を行っている最中の記憶領域を示すリード用ロック情報テーブル１１８ａと、ストレージ装置１００Ｂがリード要求処理を行っている最中の記憶領域を示すリード用ロック情報テーブル１１８ｂと、ストレージ装置１００Ｃがリード要求処理を行っている最中の記憶領域を示すリード用ロック情報テーブル１１８ｃとがある。例えば、ストレージ装置１００Ａ用のリード用ロック情報テーブル１１８ａは、各記憶領域Ｓ０〜Ｓ７について「ストレージ装置ＡがホストＡからのリード要求を処理するために当該領域をロックしている最中」であることを示すテーブルで、記憶領域Ｓ０〜Ｓ７に対応する欄には、当該領域をロックしていることを示す「１」、又は当該領域をロックしていないことを示す「０」が格納される。この例では、記憶領域Ｓ１，Ｓ２がストレージ装置１００Ａのリード要求処理のためにロックされている状態を示している。
【００５０】
各ストレージ装置１００Ａ，１００Ｂ，１００Ｃの制御メモリ１１５Ｙには、自身がオーナーであるＬＵに関するロック情報テーブル１１８Ｙが格納されている。本実施形態では、ストレージ装置１００Ａの制御メモリ１１５Ｙには、ＬＵ０に関するロック情報テーブル１１８Ｙが格納され、ストレージ装置１００Ｂの制御メモリ１１５Ｙには、ＬＵ１に関するロック情報テーブル１１８Ｙが格納され、ストレージ装置１００Ｃの制御メモリ１１５Ｙには、ＬＵ２に関するロック情報テーブル１１８Ｙが格納されている。
【００５１】
次に、図１２を用いて、イニシエタとターゲット間の通信に用いられるｉＳＣＳＩのパケットのフォーマットについて説明する。
【００５２】
ｉＳＣＳＩにおいて、データの通信の単位となるＰＤＵ（iSCSI Protocol data Unit）は、ＢＨＳ（Basic Header Segment）４０４とデータセグメント（data Segment）４０５から構成される。ＢＨＳ４０４とデータセグメント４０５の間にＡＨＳ（Additional Header Segment）が挿入される場合もあるが、図１２の例ではそれを省略してある。ｉＳＣＳＩでは、下位のプロトコル層としてＴＣＰ（Transmission Control Protocol）層、ＩＰ層、データリンク層を利用する。本実施例ではデータリンク層はギガビットイーサネット（イーサネットは、米国ゼロックス社の登録商標）である。これらのプロトコル層では、ｉＳＣＳＩ層で扱うパケットに、先頭にＴＣＰヘッダ４０３、ＩＰヘッダ４０２、データリンクヘッダ４０１が付加される。さらにｉＳＣＳＩパケットの最後尾にはデータリンク層でデータリンクトレイラ４０６が付加される。
【００５３】
各プロトコル層で追加されるヘッダは、データの送受信で必要な情報（送信元および送信先を識別するためのアドレス情報など）が含まれる。これらのヘッダを参照して、ＰＤＵの送信元を識別できる。
【００５４】
次に、図１３を用いて、以上で述べたiSCSI PDUのフォーマットについて説明する。
【００５５】
４１０は、ｉＳＣＳＩ ＰＤＵの先頭から０から３バイト目の領域であり、ＰＤＵの種類を示すＯＰ Ｃｏｄｅ領域（０バイト目。４バイト単位で示すビット位置としては２９ビットから２４ビット目）を有する。ＯＰ Codeは、例えば、ＳＣＳＩコマンドを運搬するＳＣＳＩ Command ＰＤＵならば０ｘ０１（０ｘは１６進数であることを示す。以下同様）、Ｔｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵならば０ｘ０４、Ｔｅｓｔ Ｒｅｓｐｏｎｓｅ ＰＤＵならば ０ｘ２４、というようにｉＳＣＳＩ規格で定められている。
【００５６】
４１１は、ｉＳＣＳＩ ＰＤＵの４バイト目から７バイト目の領域であり、ＡＨＳのデータ長およびデータセグメントの長さを示す領域である。
【００５７】
４１２は、ｉＳＣＳＩ ＰＤＵの８バイト目から１５バイト目の領域であり、ＬＵの識別情報であるＬＵＮ（Logical Unit Number）またはＯＰ codeに依存する情報を格納する。
【００５８】
４１３は、ｉＳＣＳＩ ＰＤＵの１６バイト目から１９バイト目の領域であり、Ｉｎｉｔｉａｔｏｒ Ｔａｓｋ Ｔａｇを格納する領域である。Ｉｎｉｔｉａｔｏｒ Ｔａｓｋ Ｔａｇによって、イニシエタが発行したＳＣＳＩコマンドと、ターゲットが応答するレスポンスやデータの対応が示される。
【００５９】
４１４は、ｉＳＣＳＩ ＰＤＵの２０バイト目から４７バイト目の領域であり、ＯＰ codeに依存する情報を格納する。ＳＣＳＩ Command ＰＤＵでは、期待するデータ転送長（リードやライトするデータの長さ）や、ＳＣＳＩ命令を記述した情報（ＳＣＳＩ ＣＤＢ）等を格納する。
【００６０】
４１０、４１１、４１２、４１３および４１４を併せた領域が、図１２を用いて説明したＢＨＳ４０４である。
【００６１】
４０５は、ｉＳＣＳＩ ＰＤＵにＡＨＳが無い場合４８バイト目以降の領域であり、図１２を用いて説明したデータセグメントである。このデータセグメントは、ＰＤＵの種類によっては省略される。
【００６２】
この実施形態において、リード用ロック確保要求、ライト用ロック確保要求、リード用ロック解除要求およびライト用ロック解除要求は、各々ｉＳＣＳＩのＴｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵとして送信する。Ｔｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵは、イニシエタから送信されるＰＤＵであり、ターゲットからの応答はＴｅｘｔ Ｒｅｓｐｏｎｓｅ ＰＤＵである。これらは、イニシエタとターゲットの間の各種動作パラメータの交換をするための通信に用いられる。
【００６３】
リード用ロック確保要求は、Ｔｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵのデータセグメントに、リード用ロック確保要求であることを示す「X-com.xxx.ReadLockReq=Ｙes」と、ロック確保を要求する対象領域を識別する番号を「X-com.xxx.TargetArea=123」といった、iSCSI規格でベンダ独自に設定可能とされているＴＥＸＴ形式で格納する。また、図１３の領域４１２に、対象のＬＵを示すＬＵＮを格納する。
【００６４】
リード用ロック確保要求に対する応答は、Ｔｅｘｔ Ｒｅeponse ＰＤＵのデータセグメントに、ロック確保承諾の場合は「X-com.xxx.ReadLockReq=Accept」、ロック確保rejectの場合は「X-com.xxx.ReadLockReq=Reject」と格納する。
【００６５】
同様に、ライト用ロック確保要求はＴｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵのデータセグメントに、ライト用ロック確保要求であることを示す「X-com.xxx.WriteLockReq=Ｙes」と、ロック確保を要求する対象領域を識別する番号を「X-com.xxx.TargetArea=123」といった、iSCSI規格でベンダ独自に設定可能とされているＴＥＸＴ形式で格納する。また、図１３の領域４１２に、対象のＬＵを示すＬＵＮを格納する。
【００６６】
ライト用ロック確保要求に対する応答は、Ｔｅｘｔ Response ＰＤＵのデータセグメントに、ロック確保承諾の場合は「X-com.xxx.WriteLockReq=Accept」、ロック確保rejectの場合は「X-com.xxx.WriteLockReq=Reject」と格納する。
【００６７】
リード用ロック解除要求は、Ｔｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵのデータセグメントにリード用ロック解除要求であることを示す「X-com.xxx.ReadUnLockReq=Yes」と、ロック解除を要求する対象領域を識別する番号を「X-com.xxx.TargetArea=123」といった、iSCSI規格でベンダ独自に設定可能とされているＴＥＸＴ形式で格納する。また、１３の領域４１２に、対象のＬＵを示すＬＵＮを格納する。
【００６８】
ライト用ロック解除要求は、Ｔｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵのデータセグメントにライト用ロック解除要求であることを示す「X-com.xxx.WriteUnLockReq=Yes」と、ロック解除を要求する対象領域を識別する番号を「X-com.xxx.TargetArea=123」といった、iSCSI規格でベンダ独自に設定可能とされているＴＥＸＴ形式で格納する。また、１３の領域４１２に、対象のＬＵを示すＬＵＮを格納する。
【００６９】
各ストレージ装置１００Ａ，１００Ｂ，１００Ｃの第二のＩ／Ｆ１１０Ｙにおいて、こうしたロック確保要求の送受信は、データのリモートコピーに用いるＰＤＵよりも優先して処理するように制御プロセッサのプログラムの処理優先度を定めてシステムを構築しても良い。
【００７０】
次に、図６〜図１１に示すフローチャートに従って、本実施形態のストレージシステムを構成する１つのストレージ装置の動作について説明する。
【００７１】
まず、図６及び図７に示すフローチャートに従って、ストレージ装置１００がホスト２００からライト要求を受信した場合の動作について説明する。
【００７２】
第一のＩ／Ｆ１１０Ｘのコントローラ１２０Ｘのアクセス要求受信部１２１Ｘが、第一のＩ／Ｆ１１０ＸのフロントエンドＩ／Ｆ１１１Ｘを介して、ホスト２００からライト要求を受信すると、このライト要求を第二のＩ／Ｆ１１０Ｙのオーナー判断処理部１２１Ｙに渡す（ステップ２１０）。このオーナー判断処理部１２１Ｙは、オーナー情報テーブル１１７Ｙを参照して、ライト要求で指示されたＬＵのオーナーが自サイト（すなわち自ストレージ装置）であるか否かを判断する（ステップ２１１）。判断の結果、否である場合は、図７に示すステップ２３０に進む。
【００７３】
また、ステップ２１１での判断の結果、ライト要求で指示されたＬＵのオーナーが自サイトである場合は、第一のＩ／Ｆ１１０Ｘのオーナーアクセス処理部１２２Ｘは、ライト要求で指示された対象領域（トラック）が、既にリード又はライト処理の為にロックされているか否かを判定する（ステップ２１２）。この判定は、このストレージ装置自身が保持しているロック情報テーブル１１８Ｙを参照して行なう。すなわち、図５に示す各ロック情報テーブル１１８ａ〜１１８ｄのいずれかの対象領域の欄がロック状態になっているか否かを判定する。
【００７４】
ステップ２１２での判定の結果、対象領域が既にロックされている場合、オーナーアクセス処理部１２２Ｘは、フロントエンドＩ／Ｆ１１１Ｘを介して、ホスト２００へ、現在ライト要求処理が実行不能であることを示すビジー応答し（ステップ２２１）、処理を終了する（ステップ２２２）。これは、対象領域が既にロックされている場合、いずれかのストレージ装置１００で、対象領域に対してアクセス処理を行っており、各サイト相互間でデータの一貫性を保つため、ライト要求処理を行うべきでないからである。また、ステップ２１２での判定の結果、対象領域がロックされていない場合は、この対象領域をロックする。すなわち、図５に示すライト用ロック情報テーブル１１８ｄの対象領域の欄について、自ストレージ装置を示す識別子（Ａ，Ｂ，Ｃなど）を格納する（ステップ２１３）。その後、オーナーアクセス処理部１２２Ｘは、ホスト２００からの指示に応じライト要求処理を行なう。すなわち、受信準備が出来たことを示すＲ２Ｔと呼ぶフレームをホスト２００に返信し、ホスト２００から送信されたライトデータをキャッシュメモリ１１２Ｘ，１１２Ｙに格納する。キャッシュメモリ１１２Ｘに格納されたライトデータは、その後、ディスク装置１０１へのデータ書き込み（デステージと呼ぶ）に用いられる（ステップ２１４）。
【００７５】
その後、または、ステップ２１４での処理と並行して、第二のＩ／Ｆ１１０Ｙのリモートコピー処理部１２２Ｙが、ホスト２００から受信したライトデータを他の全ストレージ装置１００に対しリモートコピーする（ステップ２１５）。これは、第二のＩ／Ｆ１１０Ｙのキャッシュメモリ１１２Ｙに格納されたライトデータを、他のストレージ装置１００にライト処理させることで実現する。この処理は、第二のＩ／Ｆ１１０Ｙが行なうため、第一のＩ／Ｆ１１０Ｘへの負荷は低い。すなわち、ホスト２００との通信や、データのディスク装置１０１への格納への影響が少ない。リモートコピーに必要な情報（ＬＵ、対象領域、データ長）はステップ２１０で受信したライト要求から抽出され、第一のＩ／Ｆ１１０Ｘのコントローラ１２０Ｘから第二のＩ／Ｆ１１０Ｙのコントローラ１２０Ｙへ通信路１１９を経て伝えられる。
【００７６】
リモートコピー処理部１２２Ｙは、ステップ２１５の処理後、リモートコピー処理でのライト要求に対する終了応答の受信を待つ（ステップ２１６）。予め定められた時間内に他の全ストレージ装置１００から応答を受信した場合は、ステップ２１７に進み、予め定められた時間を経過しても全ての応答を受信できなかった場合はステップ２２３へ進む。
【００７７】
ステップ２１７では、リモートコピー処理部１２２Ｙが、他の全ストレージ装置１００から正常終了応答を受信したか否かを判定し、全て正常終了応答だった場合には、すなわち、ストレージシステムを構成する全ストレージ装置１００に、ホスト２００からのライトデータをコピーして、共通ストレージイメージ１０３を最新の状態に更新できたため、第一のＩ／Ｆ１１０Ｘのオーナーアクセス処理部１２２Ｘは、ホスト２００に対してライト要求の正常終了を応答する（ステップ２１８）。その後、オーナーアクセス処理部１２２Ｘは、ステップ２１３でライト要求処理の為にロックした対象領域を開放し、すなわち、ライト用ロック情報テーブル１１８ｄの該当領域の欄に“０”を格納し（ステップ２１９）、処理を終了する（ステップ２２０）。
【００７８】
また、ステップ２１６でタイムアウトが発生した場合、又は、ステップ２１７でいずれかのサイトからデータのライトに対し異常終了を示す応答を受信した場合は、オーナーアクセス処理部１２２Ｘは、ホスト２００にライト要求の異常終了を応答し（ステップ２２３）、後処理を行なってから（ステップ２２４）、処理を終了する（ステップ２２０）。なお、ここでの後処理としては、例えば、ステップ２１５でのリモートコピー処理のリトライ等がある。
【００７９】
次に、以上のステップ２１１で、ライト対象領域を含むＬＵのオーナーが自サイトでないと判断され、ステップ２３０に進んだ後の動作について、図７に示すフローチャートに従って説明する。
【００８０】
ステップ２３０の後、第二のＩ／Ｆ１１０Ｙのオーナー判断処理部１２１Ｙは、対象領域を含むＬＵのオーナーに対し、対象領域をライト処理する為にロックの確保を要求するロック確保要求を送信する（ステップ２３１）。その後、ロック確保要求の応答を待ち（ステップ２３２）、予め定められた時間内に応答を受信できた場合は、応答から対象領域をライト用にロックできたか否かを判定する（ステップ２３３）。この判定でロックできていないと判定した場合は、対象領域が既にロックされている状態と考えられるので、図６のステップ２２１へ進む（ステップ２４２）。
【００８１】
ステップ２３３で対象領域をライト処理の為にロックできたと判定した場合、第一のＩ／Ｆ１１０Ｘの非オーナーアクセス処理部１２３Ｘは、ホスト２００からの指示に応じてライト要求処理を行なう（ステップ２３４）。すなわち、受信準備が出来たことを示すＲ２Ｔと呼ぶフレームをホスト２００へ返信し、このホスト２００から送信されたライトデータをキャッシュメモリ１１２Ｘ，１１２Ｙに格納する。第一のＩ／Ｆ１１０Ｘのキャッシュメモリ１１２Ｘに格納されライトデータは、その後、ディスク装置１０１へのデータ書き込み（デステージ）に用いる。
【００８２】
その後、または、ステップ２３４での処理と並行して、第二のＩ／Ｆ１１０Ｙのリモートコピー処理部１２２Ｙが、前述のステップ２１５での処理と同様に、ホスト２００から受信したライトデータを他の全ストレージ装置１００に対しリモートコピーする（ステップ２３５）。
【００８３】
リモートコピー処理部１２２Ｙは、ステップ２３５の処理後、リモートコピー処理でのライト要求に対する終了応答の受信を待つ（ステップ２３６）。予め定められた時間内に他の全ストレージ装置１００から応答を受信した場合は、ステップ２３７に進み、予め定められた時間を経過しても全ての応答を受信できなかった場合はステップ２４３へ進む。
【００８４】
ステップ２３７では、リモートコピー処理部１２２Ｙが、他の全ストレージ装置１００から正常終了応答を受信したか否かを判定し、全て正常終了応答だった場合には、すなわち、ストレージシステムを構成する全ストレージ装置１００に、ホスト２００からのライトデータをコピーして、共通のストレージイメージ１０３を最新の状態に更新できたため、第一のＩ／Ｆ１１０Ｘの非オーナーアクセス処理部１２３Ｘは、ホスト２００に対してライト要求の正常終了を応答する（ステップ２３８）。その後、ステップ２３１でライト処理の為にロックした対象領域を開放するため、第二のＩ／Ｆ１１０Ｙのロック解除要求受送信部１２５Ｙは、対象領域を含むＬＵのオーナーに対象領域のライト用ロック解除要求を送信し（ステップ２３９）、処理を終了する（ステップ２４０）。
【００８５】
また、ステップ３２３又はステップ２３６でタイムアウトが発生した場合、又は、ステップ２３７でいずれかのストレージ装置１００からデータのライトに対し異常終了を示す応答を受信した場合は、オーナーアクセス処理部１２２Ｘは、ホスト２００にライト要求の異常終了を応答等の後処理を行ってから（ステップ２４３）、前述のステップ２３９に進む。
【００８６】
以上のように、本実施形態では、ストレージ装置１００がホスト２００からライト要求を受信した場合、当該ストレージ装置１００がライト要求の対象領域を含むＬＵのオーナーである場合には、対象領域をロックして、他のストレージ装置１００でのアクセス要求処理を制限した状態にした上で、対象領域に対してライト要求処理を行うと共に、他のストレージ装置１００にライト要求に関するライトデータを送信して、リモートコピー処理を行っている。また、当該ストレージ装置１００がライト要求の対象領域を含むＬＵのオーナーではない場合には、オーナーのストレージ装置１００に対して、対象領域に関してロック確保要求を送信して、対象領域をロックさせ、他のストレージ装置１００でのアクセス要求処理を制限した状態にした上で、対象領域に対してライト要求処理を行うと共に、他のストレージ装置１００にライト要求に関するライトデータを送信して、リモートコピー処理を行っている。従って、ライト要求処理の前後で、各ストレージ装置１００Ａ，１００Ｂ，１００Ｃの共通ストレージイメージ１０３の内容が変わるものの、各ストレージ装置１００Ａ，１００Ｂ，１００Ｃがそれぞれ保有している共通ストレージイメージ１０３相互の同一性を確保することができる。
【００８７】
次に、図８及び図９に示すフローチャートに従って、ストレージ装置１００がホスト２００からリード要求を受信した場合の動作について説明する。
【００８８】
第一のＩ／Ｆ１１０Ｘのコントローラ１２０Ｘのアクセス要求受信部１２１Ｘが、第一のＩ／Ｆ１１０ＸのフロントエンドＩ／Ｆ１１１Ｘを介して、ホスト２００からリード要求を受信すると、このリード要求を第二のＩ／Ｆ１１０Ｙのオーナー判断処理部１２１Ｙに渡す（ステップ２６０）。このオーナー判断処理部１２１Ｙは、オーナー情報テーブル１１７Ｙを参照して、リード要求で指示されたＬＵのオーナーが自サイトであるか否かを判断する（ステップ２６１）。判断の結果、否である場合は、図９に示すステップ２８０に進む。
【００８９】
また、ステップ２６１での判断の結果、リード要求で指示されたＬＵのオーナーが自サイトである場合、第一のＩ／Ｆ１１０Ｘのコントローラ１２０Ｘのオーナーアクセス処理部１２２Ｘは、リード要求で指示された対象領域が、既にライト処理の為にロックされているか否かを判定する（ステップ２６２）。この判定は、このストレージ装置自身が保持しているロック情報テーブル１１８Ｙを参照して行なう。すなわち、図５に示すライト用ロック情報テーブル１１８ｄの対象領域の欄がロック状態になっているか否かを判定する。
【００９０】
ステップ２６２での判定の結果、対象領域が既にロックされている場合、オーナーアクセス処理部１２２Ｘは、フロントエンドＩ／Ｆ１１１Ｘを介して、ホスト２００へ、現在ライト要求処理が実行不能であることを示すビジー応答し（ステップ２２１）、処理を終了する（ステップ２２２）。また、ステップ２６２での判定の結果、対象領域がロックされていない場合は、この対象領域をロックする。すなわち、図５に示すリード用ロック情報テーブル（１１８ａ〜１１８ｃのいずれか）の対象領域の欄について、ロックしていることを示す“１”を格納する（ステップ２６３）。その後、オーナーアクセス処理部１２２Ｘは、ホスト２００からの指示に応じリード要求処理を行なう（ステップ２６４）。すなわち、リード要求が示す対象領域のデータをキャッシュメモリ１１２Ｘ，１１２Ｙ又はディスク装置１０１から読み出し、フロントエンドＩ／Ｆ１１１Ｘを介して、このデータをホスト２００への返信する。ここで特記すべきことには、リードされるデータは、第二のＩ／Ｆ１１０Ｙで他のサイトから読み出す必要が無いことである。リード要求処理終了後、ホスト２００に対しリード要求の正常終了を示すレスポンスを送信する。
【００９１】
その後、オーナーアクセス処理部１２２Ｘは、ステップ２６３でリード要求処理の為にロックした対象領域を開放し、すなわち、リード用ロック情報テーブル（１１８ａ〜１１８ｃのいずれか）の該当領域の欄に“０”を格納し（ステップ２６５）、処理を終了する（ステップ２６６）。
【００９２】
次に、以上のステップ２６１で、リード対象領域を含むＬＵのオーナーが自サイトでないと判断され、ステップ２８０に進んだ後の動作について、図９に示すフローチャートに従って説明する。
【００９３】
ステップ２８０の後、第二のＩ／Ｆ１１０Ｙのオーナー判断処理部１２１Ｙは、対象領域を含むＬＵのオーナーに対し、対象領域をリード処理するためにロックの確保を要求するロック確保要求を送信する（ステップ２８１）。その後、ロック確保要求の応答を待ち（ステップ２８２）、予め定められた時間内に応答を受信できた場合は、応答から対象領域をリード用にロックできたか否かを判定する（ステップ２８３）。この判定でロックできなかったと判定した場合は、対象領域が既にロックされている状態と考えられるので、図８のステップ２７１へ進む（ステップ２９２）。
【００９４】
ステップ２８３で対象領域をリード処理の為にロックできたと判定した場合、第一のＩ／Ｆ１１０Ｘの非オーナーアクセス処理部１２３Ｘは、ホスト２００からの指示に応じてリード要求処理を行なう（ステップ２８４）。すなわち、リード要求が示す対象領域のデータをキャッシュメモリ１１２Ｘ，１１２Ｙ又はディスク装置１０１から読み出し、フロントエンドＩ／Ｆ１１１Ｘを介して、このデータをホスト２００への返信する。ここで特記すべきことには、リードされるデータは、第二のＩ／Ｆ１１０Ｙで他のサイトから読み出す必要が無いことである。リード要求処理終了後、ホスト２００に対しリード要求の正常終了を示すレスポンスを送信する。
【００９５】
その後、ステップ２８１でリード処理の為にロックした対象領域を開放するため、第二のＩ／Ｆ１１０Ｙのロック解除要求受送信部１２５Ｙは、対象領域を含むＬＵのオーナーに対象領域のリード用ロック解除要求を送信し（ステップ２８５）、処理を終了する（ステップ２８６）。
【００９６】
また、ステップ２８２でタイムアウトが発生した場合、非オーナーアクセス処理部１２３Ｘは、ホスト２００にリード要求の異常終了の応答等の後処理を行ってから（ステップ２９３）、前述のステップ２８５に進む。
【００９７】
次に、図１０に示すフローチャートに従って、ストレージ装置１００が他のストレージ装置１００から、ライト用ロック確保要求を受信した場合の動作について説明する。すなわち、以下で説明する動作は、ライト要求用ロック確保要求の送信元が、送信元のホストから受信したライト要求の対象領域を含むＬＵに関して非オーナーサイトであり、この送信先がオーナーサイトである場合のオーナーサイトの動作である。
【００９８】
第二のＩ／Ｆ１１０Ｙのロック確保要求受送信部１２３Ｙが他のストレージ装置（非オーナーサイトのストレージ装置）１００からライト用ロック確保要求を受信すると（ステップ３１０）、ロック確保要求処理部１２４Ｙは、このライト用ロック確保要求で指示された対象領域が、既にリード又はライト処理の為にロックされているか否かを判定する（ステップ３１１）。この判定は、対象領域を含むＬＵのオーナーであるストレージ装置１００のロック確保要求処理部１２４Ｙが、図５に示す全てのロック情報テーブル１１８ａ〜１１８ｄの対象領域がロックされていないか、つまり、すべての対象領域の欄に“０”が設定されているかで判定する。
【００９９】
ステップ３１１の判定の結果、すべての対象領域がロックされていない場合は、ライト用ロック情報テーブル１１８ｄの対象領域の欄に、ロック確保要求を送信してきたストレージ装置１００の識別子（Ａ，Ｂ，Ｃなど）を格納する（ステップ３１２）。その後、ロック確保要求処理部１２４Ｙは、ロック確保要求を送信してきたストレージ装置１００に対し、ロック確保要求の受諾の旨を送信し（ステップ３１３）、処理を終了する（ステップ３１４）。なお、この場合、その後、ライト用ロック確保要求の送信元でライト処理を行ったライトデータが、リモートコピー処理のために、この送信元から送信されてくるので、対象領域がロックされているか否かに関わらず、このライトデータを対象領域にライト処理を行うことになる。すなわち、この実施形態では、対象領域がロックされているか否かに関わらず、第二のＩ／Ｆ１１０Ｙで他のストレージ装置１００からリード要求又はライト要求を受信した場合は、受信した要求を処理して応答する。さらに、その後、ライト用ロック確保要求の送信元からライト用ロック解除要求が送信されてくるので、これを受信した場合は、ライト用ロック情報テーブル１１８ｄの対象領域の欄に、ロックされていないことを示す“０”を設定する。
【０１００】
一方、ステップ３１１で、対象領域が既にリード又はライト用にロックされていると判定した場合は、この対象領域に対していずれかのストレージ装置１００がアクセスしており、ロック確保要求を送信してきた非オーナーサイトのストレージ装置１００でライト処理を行うことデータの一貫性を保つことができなくなるので、非オーナーサイトのストレージ装置１００に対して、ロック確保要求のreject（ロック確保できない旨の報告）を送信し（ステップ３１５）、処理を終了する（ステップ３１４）。
【０１０１】
次に、図１１に示すフローチャートに従って、ストレージ装置１００が他のストレージ装置１００から、リード用ロック確保要求を受信した場合の動作について説明する。
【０１０２】
第二のＩ／Ｆ１１０Ｙのロック確保要求受送信部１２３Ｙが他のストレージ装置（非オーナーサイトのストレージ装置）１００からリード用ロック確保要求を受信すると（ステップ３２０）、ロック確保要求処理部１２４Ｙは、このリード用ロック確保要求で指示された対象領域が、既にライト処理の為にロックされているか否かを判定する（ステップ３２１）。この判定は、対象領域を含むＬＵのオーナーであるストレージ装置１００のロック確保要求処理部１２４Ｙが、図５に示すライト用ロック情報テーブル１１８ｄの対象領域がロックされていないか、つまり、すべての対象領域の欄に“０”が設定されているかで判定する。
【０１０３】
ステップ３２１の判定の結果、対象領域がロックされていない場合は、リード用ロック情報テーブル（１１８ａ〜１１８ｃのうちのいずれか）の対象領域の欄に、ロックされていることを示す“１”を設定する（ステップ３２２）。その後、ロック確保要求処理部１２４Ｙは、ロック確保要求を送信してきたストレージ装置１００に対し、ロック確保要求の受諾の旨を送信し（ステップ３２３）、処理を終了する（ステップ３２４）。なお、この場合、その後、リード用ロック確保要求の送信元からリード用ロック解除要求が送信されてくるので、これを受信した場合は、リード用ロック情報テーブルの対象領域の欄に、ロックされていないことを示す“０”を設定する。
【０１０４】
一方、ステップ３２１で、対象領域が既にライト用にロックされていると判定した場合は、この対象領域に対していずれかのストレージ装置１００がライト処理を行っているので、ロック確保要求を送信してきた非オーナーサイトのストレージ装置１００に対して、ロック確保要求のreject（ロック確保できない旨の報告）を送信し（ステップ３２５）、処理を終了する（ステップ３２４）。
【０１０５】
次に、図１４〜図１６を用いて、ホスト２００からのライト要求を処理するための各サイト間の通信について説明する。
【０１０６】
まず、図１４及び図１５を用いて、ホスト２００Ａから、同サイトのストレージ装置１００Ａに対して、ストレージ装置１００ＡがオーナーであるＬＵ０内の領域へのライト要求が発行された場合における、各サイト間の通信について説明する。
【０１０７】
ホスト２００Ａからライト要求を、ストレージ装置１００Ａの第一のＩ／Ｆ１１０Ｘが受信すると（ステップ５１１０）、ストレージ装置１００Ａは、まず、オーナー情報テーブル１１７Ｙを参照して、このライト要求が示すＬＵ０のオーナーが自装置であることを認識する。そして、自装置が保有しているロック情報テーブル１１８Ｙを参照して、対象領域がリード用またはライト用にロックされているか否かを判定する。対象領域がロックされていない場合には、第二のＩ／Ｆ１１０Ｙから、ライト要求に関するライトデータをストレージシステム内の他の全ストレージ装置１００Ｂ，１００Ｃにリモートコピーするために、ホスト２００Ａからのライト要求と同じＳＣＳＩ ＣＤＢを持つライト要求を他の全ストレージ装置１００Ｂ，１００Ｃに送信する（ステップ５１１２，５１１４）。このライト要求に対する応答として、他のストレージ装置１００Ｂ，１００Ｃからは、Ｒ２Ｔが送信されてくる（ステップ５１２２，５１２４）。
【０１０８】
ストレージ装置１００Ａは、また、ホスト２００Ａからのライト要求の処理を進めるため、第一のＩ／Ｆ１１０ＸでＲ２Ｔを応答する（ステップ５１２０）。これに対して、ホスト２００Ａからライトデータが送信されてくるので（ステップ５１３０，５１４０）、このライトデータをライト処理する一方で、第二のＩ／Ｆ１１０Ｙでリモートコピー先のストレージ装置１００Ｂ，１００Ｃに送信する（ステップ５１３２，５１３４，５１４２，５１４４）。なお、このライトデータの送信は、他のストレージ装置１００Ｂ，１００Ｃから前述のＲ２Ｔを受信した後に行う。
【０１０９】
リモートコピーの正常終了は、リモートコピー先の全ストレージ装置１００Ｂ，１００Ｘからの正常終了応答の受信で（ステップ５１５２，５１５４）確認する。その後、ホスト２００Ａに対し、ライト要求の正常終了応答を返信する（ステップ５１５０）。
【０１１０】
また、図１５に示すように、ストレージ装置１００Ａは、ホスト２００Ａからのライト要求を受信し（ステップ５１１０）、対象領域がリード用またはライト用にロックされていると判定した場合には、ホスト２００Ａに対し、現在はライト要求を処理できないことを示すＢＵＳＹを返信する（ステップ５１６０）。
【０１１１】
次に、図１６を用いて、ホスト２００Ａから、同サイトのストレージ装置１００Ａに対して、他サイトのストレージ装置１００ＢがオーナーであるＬＵ１内の領域へのライト要求が発行された場合における、各サイト間の通信について説明する。
【０１１２】
ホスト２００Ａから同サイトのストレージ装置１００ＡがＬＵ１内の領域へのライト要求を受信した場合（ステップ５２１０）、ストレージ装置１００Ａは、まず、ＬＵ１のオーナーであるストレージ装置１００Ｂとロックの確保に関する通信を行う（ステップ５１２５，５１２７）。具体的には、ストレージ装置１００Ａは、ＬＵ１のオーナーであるストレージ装置１００Ｂに対して、ＬＵ１の対象領域に関するライト用ロック確保要求を送信し（ステップ５１２５）、このストレージ装置Ｂからのロック確保要求の受諾を受信する（ステップ５１２７）。ストレージ装置１００Ａは、その後、図１４に示すステップ５１１２，５１１４，５１２２，…，５１５２，５１５４，５１５０と同様のライト要求の処理を行う（ステップ５１１２，５１１４，５１２２，…，５１５２，５１５４，５１５０）。ストレージ装置１００Ａは、以上のライト要求処理を終了すると、ＬＵ１の対象領域に対するロック解除要求をオーナーのストレージ装置１００Ｂへ送信する（ステップ５１２８）。
【０１１３】
次に、図１７を用いて、ホスト２００Ａから、同サイトのストレージ装置１００Ａに対して、他サイトのストレージ装置１００ＣがオーナーであるＬＵ２内の領域へのリード要求が発行された場合における、各サイト間の通信について説明する。
【０１１４】
ホスト２００Ａからリード要求を、ストレージ装置１００Ａの第一のＩ／Ｆ１１０Ｘが受信すると（ステップ５３１０）、ストレージ装置１００Ａは、まず、オーナー情報テーブル１１７Ｙを参照して、このリード要求が示すＬＵ２のオーナーがストレージ装置１００Ｃであることを認識する。そして、ストレージ装置１００Ａは、リード要求が示すＬＵ２内の領域に関するリード用ロック確保要求をオーナーであるストレージ装置１００Ｃに送信する（ステップ５３２５）。ストレージ装置１００Ａは、オーナーであるストレージ装置１００Ｃから、リード用ロック確保要求を受諾した旨を受信すると（ステップ５３２７）、自装置のキャッシュメモリ１１２Ｘ，１１２Ｙまたはディスク装置１０１から対象領域に格納されているデータを読み出し、ホスト２００Ａに対して送信する（ステップ５３２０，５３３０）。その後、リード要求の正常終了応答をホストに送信し（ステップ５３４０）、オーナーであるストレージ装置１００Ｃにはリード用ロックの解除要求を送信する（ステップ５３２８）。
【０１１５】
以上のように、本実施形態では、ストレージ装置１００がホスト２００からアクセス要求を受信した場合、当該ストレージ装置１００がアクセス要求の対象領域を含むＬＵのオーナーであるか否かを判断し、自装置がオーナである場合には、自装置が管理しているロック情報テーブル１１８Ｙの対象領域をロックし、他サイトのストレージ装置がオーナである場合には、この他サイトのストレージ装置が管理しているロック情報テーブル１１８Ｙの対象領域をロックして、この対象領域に関して、他のストレージ装置でのアクセス要求処理を制限した状態にした上で、対象領域に対してアクセス処理を行っているので、各ストレージ装置１００Ａ，１００Ｂ，１００Ｃがそれぞれ保有している共通ストレージイメージ１０３相互の同一性を確保することができる。
【０１１６】
また、本実施形態では、さらに、
（１）LUごとにロック情報の管理を行なう（オーナー）サイトが決まっており、ロック情報競合回避・負荷分散を実現できる、
（２）各サイトが同一データイメージを持つため、リードは他サイトへホップせず自サイトから読み出しするため高速である、
（３）ストレージ装置１００は、ホスト側Ｉ／Ｆ１１０Ｘとストレージ側Ｉ／Ｆ１１０Ｙとに物理的に分かれているので、ホスト２００からの通信処理に対し悪影響(ネットワーク、コントローラの負荷)を与えない。さらに、ホスト側Ｉ／Ｆ１１０Ｘとストレージ側Ｉ／Ｆ１１０Ｙでは、物理的に分かれているので、別種の技術を利用可能である。例えば、ホスト側Ｉ／Ｆ１１０Ｘには高速なＦＣを用い、ストレージ側Ｉ／Ｆ１１０ＹにはｉＳＣＳＩを用いることが有効である、
という利点がある。
【０１１７】
なお、以上の実施形態において、ロック解除については、リードまたはライト処理が終了した時点で行なっているが、必要な処理が終了しても一定時間の間はロックを解除せず、その間に同じ領域に対するアクセス要求をホスト２００から受信した場合は、新たに対象領域をロックすることなく、新たな要求の処理を行なうようにしてもよい。また、ホスト２００からのアクセス要求でライトやリードの対象として示された領域だけでなく、アドレス空間上、その次に位置する領域もロックするようにしてもよい。これは、ホスト２００が長大な連続データをアクセスする場合に、次の要求では、先の領域に続く領域へのアクセスが予測されるため、予めその領域のロックを確保しておくという意味がある。
【０１１８】
以上のような制御方法を採用すれば、ネットワーク１経由の通信遅延や他ストレージ装置の応答を待たなければならないオーバヘッド軽減が期待できる。
【０１１９】
「第２実施形態」
次に、図１８を用いて、第２実施形態としてのストレージシステムについて説明する。
【０１２０】
第１実施形態では、第二のＩ／Ｆ１１０Ｙで他サイトのストレージ装置１００に対しロック確保要求及びその応答を送受信する方式として、ｉＳＣＳＩのＴｅｘｔ Ｒｅｑｕｅｓｔ ＰＤＵおよびＴｅｘｔ Ｒｅｓｐｏｎｓｅ ＰＤＵを採用している。また、第二のＩ／Ｆ１１０Ｙで、前述のロック確保要求とは別に、他サイトのストレージ装置１００からリード要求やライト要求を受信した場合は、特に対象領域がロックされているか否かのチェックを行なわず受信した要求を処理し、第二のＩ／Ｆ１１０Ｙで応答している。
【０１２１】
本実施形態では、第二のＩ／Ｆ１１０Ｙで他サイトのストレージ装置１００に送信するライト用ロック確保要求に、対応するライト要求を含め、さらに、リード用ロック確保要求に、対応するリード要求を含めて、ロック確保の通信に要求の通信を兼用させることで、通信オーバヘッドを減少させている。
【０１２２】
ここで、以上の内容について、図１８を用いて具体的に説明する。この図の例は、前述の図１６の例に対応するもので、ホスト２００Ａから、同サイトのストレージ装置１００Ａに対して、他サイトのストレージ装置１００ＢがオーナーであるＬＵ１内の領域へのライト要求が発行された場合における、各サイト間の通信を示すものである。
【０１２３】
ホスト２００Ａから同サイトのストレージ装置１００ＡがＬＵ１内の領域へのライト要求を受信した場合（ステップ５２１０）、ストレージ装置１００Ａは、まず、ＬＵ１のオーナーであるストレージ装置１００Ｂに対して、対象領域のロック確保要求を兼ねるライト要求を送信する（ステップ５１２３）。すなわち、本実施形態では、図１６におけるステップ５２１６とステップ５２１２を、ステップ５２１３でまとめて行う。ライト要求に関しては、予め決めておいたフラグをセットして送信することでライト用ロック確保要求も兼ねるようにする。このフラグは、例えば、ｉＳＣＳＩ ＰＤＵのリザーブ領域やベンダ依存領域に定義しておく（そのビットが１であったら、ロック確保要求も兼ねる）ことが考えられる。一方、対象領域のロック確保要求を兼ねるライト要求を受信した他サイトのストレージ装置１００Ｂは、まず、対象領域がリードまたはライト処理のために既にロックされているか否かを確認する。ロックされていなければ、ライト要求を処理するためＲ２Ｔで応答する（ステップ５２２２）。このライト要求の受諾応答Ｒ２Ｔが、ロック確保の受諾応答としても機能する。すなわち、本実施形態では、図１６におけるステップ５１２７とステップ５１２２をステップ５２２２でまとめて行う。または、図には示していないが対象領域が既にロックされている場合は、Ｒ２Ｔではなく、ＢＵＳＹを応答する。このＢＵＳＹが、ロック確保rejectの応答として扱われる。
【０１２４】
なお、ロック確保、ロック確保の応答、それらに集約される命令および応答以外については、先の述べた第一実施形態と同様である。また、以上では具体的に示していないが、リード要求のロック確保についても同様の処理を行なう。
【０１２５】
「第３実施形態」
次に、図１９を用いて、第３実施形態としてのストレージシステムについて説明する。
【０１２６】
以上の第１及び第２実施形態では、ホスト２００からのライト要求に対して、自装置１００でのライト処理の直後に、ストレージシステム内の他の全てのストレージ装置１００に対するリモートコピー処理を実行し、このリモードコピー処理が完了してから、正常応答をホスト２００へ返信している。すなわち、自装置でのライト処理に対して、同期的にリモートコピー処理を行っている。
【０１２７】
これに対して、本実施形態では、ホスト２００からのライト要求に対して、自装置１００でライト処理し、ホスト２００に対して正常応答を返してから、ストレージシステム内の他の全てのストレージ装置１００に対するリモートコピー処理を実行する。すなわち、本実施形態では、自装置でのライト処理に対して、非同期的にリモードコピー処理を行う。
【０１２８】
ここで、以上の内容について、図１９を用いて具体的に説明する。この図の例は、前述の図１６の例に対応するもので、ホスト２００Ａから、同サイトのストレージ装置１００Ａに対して、他サイトのストレージ装置１００ＢがオーナーであるＬＵ１内の領域へのライト要求が発行された場合における、各サイト間の通信を示すものである。
【０１２９】
ホスト２００Ａから同サイトのストレージ装置１００ＡがＬＵ１内の領域へのライト要求を受信した場合（ステップ５２１０）、図１６の例と同様に、ストレージ装置１００Ａは、まず、ＬＵ１のオーナーであるストレージ装置１００Ｂに対して、対象領域のロック確保要求を送信し（ステップ５１２５）、このストレージ装置Ｂからのロック確保要求の受諾を受信した後（ステップ５１２７）、ホスト２００ＡにＲ２Ｔを返す（ステップ５１２０）。
【０１３０】
図１６の例では、ストレージ装置１００Ａは、ホスト２００ＡにＲ２Ｔを返した後（ステップ５１２０）、ホスト２００Ａからのライトデータの受信（ステップ５１３０，５１４０）を待たずに、他サイトのストレージ装置１００Ａ，１００Ｂに対して、リモートコピーのためにライト要求を送信している（ステップ５１１４，５１１２）。しかし、本実施形態では、ストレージ装置１００Ａは、ホスト２００ＡにＲ２Ｔを返した後（ステップ５１２０）、リモートコピー処理を実行せずに、ホスト２００Ａからのライトデータを受信し（ステップ５１３０，５１４０）、このライトデータをキャッシュメモリ１１２Ｘ，１１２Ｙに格納した時点で、ホスト２００Ａに正常終了応答を送信する（ステップ５１５０）。本実施形態では、その後、リモートコピー処理（ステップ５２１４，５２１２，５１２２，５１２４，５１３２，５１３４，５１４２，５１４４，５１５２，５１５４，５１２８）を実行する。
【０１３１】
仮に、ストレージ装置１００Ｂ，１００Ｃへのライトデータのコピー中に異常が発生した場合、ストレージ装置１００Ａは、キャッシュメモリ１１２Ｙに保持しているライトデータを用いて、ストレージ装置１００Ｂ，１００Ｃへのライトデータのコピーを再度試みる。
【０１３２】
以上のように、本実施形態では、複数のホスト２００Ａ，２００Ｂ，２００Ｃが共有データイメージ１０３に対してアクセスした場合の同一性が僅かに損なわれるもの、ホスト２００からみたライト要求の応答待ち時間が大幅に短縮することができる。
【０１３３】
なお、本実施形態において、ストレージ装置１００Ａから他サイトのストレージ装置１００Ｂ，１００Ｃへのライト要求の送信（ステップ５２１２，５２１４）は、必ずしも、ホスト２００Ａの正常終了応答を送信した後（ステップ５１５０）でなくてもよい。
【０１３４】
「第４実施形態」
次に、図２０を用いて、第４実施形態としてのストレージシステムについて説明する。
【０１３５】
以上の各実施形態でのアクセス要求に対するロック条件は、
（１）ライト要求処理を行なっている最中の記憶領域に対してはリード処理もライト処理
も不可
（２）リード要求処理を行なっている最中の記憶領域に対してはライト処理不可
である。
【０１３６】
これに対して、本実施形態でのアクセス要求に対するロック条件は、
（１）ライト要求処理を行なっている最中の記憶領域に対してはリード処理もライト処理
も不可
であり、前述の（２）の制限を実行しない。
【０１３７】
このため、本実施形態のロック情報テーブル１１８Ｙには、図５中のライト用ロック情報テーブル１１８ｄのみが存在し、リード用ロック情報テーブル１１８ａ〜１１８ｃは存在しない。
【０１３８】
ここで、以上のロック条件下でのストレージシステムの具体的な動作について、図２０を用いて説明する。この図の例は、前述の図１７の例に対応するもので、ホスト２００Ａから、同サイトのストレージ装置１００Ａに対して、他サイトのストレージ装置１００ＣがオーナーであるＬＵ２内の領域へのリード要求が発行された場合における、各サイト間の通信を示すものである。
【０１３９】
ホスト２００Ａからリード要求を、ストレージ装置１００Ａの第一のＩ／Ｆ１１０Ｘが受信すると（ステップ５３１０）、ストレージ装置１００Ａは、まず、オーナー情報テーブル１１７Ｙを参照して、このリード要求が示すＬＵ２のオーナーがストレージ装置１００Ｃであることを認識する。そして、ストレージ装置１００Ａは、オーナーであるストレージ装置１００Ｃに、リード処理可能（ライト処理中でない）かリード処理不可（ライト処理中である）か確認してもらうリード処理確認要求を送信する（ステップ５３２５’）。
【０１４０】
オーナーであるストレージ装置１００Ｃは、リード処理確認要求に対して、ライト用ロック情報テーブル１１８ｄを参照して、対象領域がロックされているか否か、つまり対象領域に対していずれかのストレージ装置１００Ａ，１００Ｂ，１００Ｃがライト処理中であるか否かを判定し、いずれもライト処理中でない場合には、受諾応答をストレージ装置１００Ａに返信する（ステップ５３２７’）。
【０１４１】
ストレージ装置１００Ａは、受諾応答を受信すると、自装置のキャッシュメモリ１１２ｘ又はディスク装置１０１から対象領域に格納されているデータを読み出して、ホスト２００Ａに送信する（ステップ５３２０，５３３０）。その後、ホスト２００Ａにリード要求に対する正常終了の応答を送信する（ステップ５３４０）。
【０１４２】
なお、本実施形態では、以上の各実施形態と異なり、各ストレージ装置は、リード用ロック情報テーブルを所有していないので、オーナーであるストレージ装置１００Ｃがリード処理確認要求を受信しても（ステップ５３２５’）、リード用に対象領域をロックすることはない。このため、ストレージ装置１００Ａは、リード処理後、オーナーであるストレージ装置１００Ｃに対して、リード用ロックの解除要求も送信しない。
【０１４３】
この実施形態において、ホスト２００からライト要求を受けた場合の処理は、オーナであるストレージ装置１００が、ライト用ロック情報テーブル１１８ｄしか参照しない以外、以上の実施形態と同様の処理である。
【０１４４】
以上のように、本実施形態では、ロック情報を記憶する資源を少なくすることができる上に、リード用ロック情報のチェック処理を省略することができる。
【０１４５】
「第５実施形態」
次に、本発明に係る第５実施形態としてのストレージシステムについて説明する。
【０１４６】
本実施形態のストレージ装置１００は、第４実施形態と同様に、リード処理に関するロック情報の管理及びチェックを省略するもので、ライト用ロック情報テーブル１１８ｄを所有しない。但し、本実施形態のアクセス要求に対するロック条件は、
（１’）ライト要求処理を行なっている最中の記憶領域に対してはライト処理不可
のみであり、
（１”）ライト要求処理を行なっている最中の記憶領域に対してはリード処理不可
（２）リード要求処理を行なっている最中の記憶領域に対してはライト処理不可
というアクセス制限はない。
【０１４７】
本実施形態では、ホスト２００からのリード要求に対して、従来技術のストレージ装置がリード要求を処理する場合と同様に、自装置の自装置のキャッシュメモリ１１２ｘ又はディスク装置１０１から対象領域に格納されているデータを読み出して、ホスト２００に送信すると共に、正常終了の応答を送信する。すなわち、本実施形態では、リード要求が示す領域のオーナーとしてのストレージ装置に、その対象領域がロックされているか否かを確認しないで、リード処理を行う。
【０１４８】
したがって、本実施形態では、ホスト２００からみたリード要求の処理時間を大幅に短縮することができる。
【０１４９】
なお、本実施形態において、ホスト２００からライト要求を受けた場合の処理は、第４実施形態と同様である。
【図面の簡単な説明】
【０１５０】
【図１】本発明に係る第１実施形態としてのストレージシステムの構成を示す説明図である。
【図２】本発明に係る他の実施形態としてのストレージシステムの構成を示す説明図である。
【図３】本発明に係る第１実施形態としてのオーナー情報テーブルの構成を示す説明図である。
【図４】本発明に係る第１実施形態としてのLUの構成を示す説明図である。
【図５】本発明に係る第１実施形態としてのロック情報テーブルの構成を示す説明図である。
【図６】本発明に係る第１実施形態としてのストレージ装置がホストからライト要求を受信した場合の動作を示すフローチャートである（その１）。
【図７】本発明に係る第１実施形態としてのストレージ装置がホストからライト要求を受信した場合の動作を示すフローチャートである（その２）。
【図８】本発明に係る第１実施形態としてのストレージ装置がホストからリード要求を受信した場合の動作を示すフローチャートである（その１）。
【図９】本発明に係る第１実施形態としてのストレージ装置がホストからリード要求を受信した場合の動作を示すフローチャートである（その２）。
【図１０】本発明に係る第１実施形態としてのストレージ装置が他ストレージ装置からライト用ロック確保要求を受信した場合の動作を示すフローチャートである。
【図１１】本発明に係る第１実施形態としてのストレージ装置が他ストレージ装置からリード用ロック確保要求を受信した場合の動作を示すフローチャートである。
【図１２】iSCSI PDUがネットワーク上で転送される際のフォーマットを示す説明図である。
【図１３】iSCSI PDU内のフォーマットを示す説明図である。
【図１４】本発明に係る第１実施形態のストレージシステムを構成する一ストレージ装置がホストからライト要求を受信した際の各サイト間の通信を示す説明図である（その１）。
【図１５】本発明に係る第１実施形態のストレージシステムを構成する一ストレージ装置がホストからライト要求を受信した際の各サイト間の通信を示す説明図である（その２）。
【図１６】本発明に係る第１実施形態のストレージシステムを構成する一ストレージ装置がホストからライト要求を受信した際の各サイト間の通信を示す説明図である（その３）。
【図１７】本発明に係る第１実施形態のストレージシステムを構成する一ストレージ装置がホストからリード要求を受信した際の各サイト間の通信を示す説明図である（その３）。
【図１８】本発明に係る第２実施形態のストレージシステムを構成する一ストレージ装置がホストからライト要求を受信した際の各サイト間の通信を示す説明図である。
【図１９】本発明に係る第３実施形態のストレージシステムを構成する一ストレージ装置がホストからライト要求を受信した際の各サイト間の通信を示す説明図である。
【図２０】本発明に係る第４実施形態のストレージシステムを構成する一ストレージ装置がホストからリード要求を受信した際の各サイト間の通信を示す説明図である。
【符号の説明】
【０１５１】
１…ＩＰネットワーク、１００Ａ，１００Ｂ，１００Ｃ…ストレージ装置、１０１…ディスク装置、１０３…イメージデータ、１１０Ｘ…第一のＩ／Ｆ、１１０Ｙ…第二のＩ／Ｆ、１１１Ｘ，１１１Ｙ…フロントエンドＩ／Ｆ、１１２Ｘ，１１２Ｙ…キャッシュメモリ、１１３Ｘ，１１３Ｙ…バックエンドＩ／Ｆ、１１５Ｘ，１１５Ｙ…制御メモリ、１１６Ｘ，１１６Ｙ…プログラム、１１７Ｙ…オーナー情報テーブル、１１８Ｙ…ロック情報テーブル、１２０Ｘ，１２０Ｙ…コントローラ、１２１Ｘ…アクセス要求受信部、１２２Ｘ…オーナーアクセス処理部、１２３Ｘ…非オーナーアクセス処理部、１２１Ｙ…オーナー判断処理部、１２２Ｙ…リモートコピー処理部、１２３Ｙ…ロック確保要求受送信部、１２４Ｙ…ロック確保要求処理部、１２５Ｙ…ロック解除要求受送信部、２００Ａ，２００Ｂ，２００Ｃ…ホスト。
【図１】
2005310026.tif 000003
【図２】
2005310026.tif 000004
【図３】
2005310026.tif 000005
【図４】
2005310026.tif 000006
【図５】
2005310026.tif 000007
【図６】
2005310026.tif 000008
【図７】
2005310026.tif 000009
【図８】
2005310026.tif 000010
【図９】
2005310026.tif 000011
【図１０】
2005310026.tif 000012
【図１１】
2005310026.tif 000013
【図１２】
2005310026.tif 000014
【図１３】
2005310026.tif 000015
【図１４】
2005310026.tif 000016
【図１５】
2005310026.tif 000017
【図１６】
2005310026.tif 000018
【図１７】
2005310026.tif 000019
【図１８】
2005310026.tif 000020
【図１９】
2005310026.tif 000021
【図２０】
2005310026.tif 000022