JP3612209B2 - Remote transfer method by magnetic disk controller - Google Patents

Remote transfer method by magnetic disk controller Download PDF

Info

Publication number
JP3612209B2
JP3612209B2 JP10796198A JP10796198A JP3612209B2 JP 3612209 B2 JP3612209 B2 JP 3612209B2 JP 10796198 A JP10796198 A JP 10796198A JP 10796198 A JP10796198 A JP 10796198A JP 3612209 B2 JP3612209 B2 JP 3612209B2
Authority
JP
Japan
Prior art keywords
track
transfer
magnetic disk
remote
serial number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP10796198A
Other languages
Japanese (ja)
Other versions
JPH11305950A (en
Inventor
秀夫 高橋
由美 室武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10796198A priority Critical patent/JP3612209B2/en
Publication of JPH11305950A publication Critical patent/JPH11305950A/en
Application granted granted Critical
Publication of JP3612209B2 publication Critical patent/JP3612209B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
(目次)
発明の属する技術分野
従来の技術(図16〜図18)
発明が解決しようとする課題(図19〜図25)
課題を解決するための手段
発明の実施の形態
〔A〕第1実施形態の説明(図1〜図6)
〔B〕第2実施形態の説明(図7〜図10)
〔C〕第3実施形態の説明(図11,図12)
〔D〕第4実施形態の説明(図13〜図15)
〔E〕その他
発明の効果
【0002】
【発明の属する技術分野】
一般に、本来の業務を行なう正センタ(業務システム)の設置場所とは別の場所(遠隔地)に副センタ(バックアップシステム)を設置し正センタの業務を副センタによりバックアップ可能に構成したシステムでは、各センタに、リモート転送機能を有する磁気ディスク制御装置〔以下、リモートFCU(File Control Unit)という〕がそなえられている。
【0003】
本発明は、上述したリモートFCUにより正センタ側から副センタ側へリモート転送を行なう際に、転送データ(トラック)の順序性を保証する機能を実現するためのリモート転送方法に関する。
【0004】
【従来の技術】
近年、本来の業務を行なう正センタ(業務システム)の動作が地震等の災害や突発的な故障により停止した場合にそなえ、図16に示すように、正センタ1Aの設置場所とは別の遠隔地に副センタ(バックアップシステム)1Bを設置することが一般的になっている。
【0005】
このように、遠隔地における副センタ1Bにより正センタ1Aの業務をバックアップ可能にしたシステムの構成について、図16を参照しながら説明する。なお、図16において、正センタ1Aと副センタ1Bとで同じ機能を果たす構成要素には同じ数字を符号として付与し、また、正センタ1Aに属する構成要素を示す符号には“A”を付し、副センタ1Bに属する構成要素を示す符号には“B”を付している。
【0006】
正センタ1Aは、ホスト(CPU)2A,磁気ディスク制御装置(以下、FCUという)3A,磁気ディスク装置(ボリューム)4Aおよびアダプタ5Aを有して構成されている。ホスト2Aは、本来の業務のための処理を行なうもので、アダプタ5Aを介して通信回線6に接続されている。FCU3Aは、ホスト2Aと磁気ディスク装置4Aとの間に介装され、ホスト2Aからの入出力信号(以下、単にI/Oと呼ぶ場合がある)に応じて磁気ディスク装置4Aに対する書込/読出制御を行なうものである。
【0007】
副センタ1Bも、正センタ1Aと同様、ホスト(CPU)2B,FCU3B,磁気ディスク装置(ボリューム)4Bおよびアダプタ5Bを有して構成されている。ホスト2Bは、バックアップ時に正センタ1Aから業務のための処理を引き継いで行なうもので、アダプタ5Bを介して通信回線6に接続されている。FCU3Bは、ホスト2Bと磁気ディスク装置4Bとの間に介装され、ホスト2Bからの入出力信号に応じて磁気ディスク装置4Bに対する書込/読出制御を行なうものである。
【0008】
そして、正センタ1Aにおいて、業務の実行に伴い磁気ディスク装置4Aのデータが変更された場合には、変更されたデータについての情報が、ホスト2Aおよびアダプタ5Aを通じて通信回線6へ送り出され、この通信回線6を介して副センタ1Bへ送信される。その情報は、副センタ1Bにおいて、通信回線6からアダプタ5Bを通じてホスト2Bで受信され、このホスト2Bは、FCU3Bに対してI/Oを出力することにより、磁気ディスク装置4Bのデータに対して正センタ1Aの磁気ディスク装置4Aのデータと同一の変更を施す。これにより、正センタ1Aの磁気ディスク装置4Aと副センタ1Bの磁気ディスク装置4Bとには常に同じデータが保持される。つまり、常時、副センタ1Bの磁気ディスク装置4Bには、正センタ1Aの磁気ディスク装置4Aと等価なボリューム(リモートシャドウボリューム)が構築される。
【0009】
従って、万一、正センタ1Aまたは副センタ1Bのいずれか一方の動作が地震等の災害や突発的な故障によって停止した場合、動作停止を免れた他方のセンタ1Bまたは1Aにはデータが保持されることになるので、他方のセンタ1Bまたは1Aは、直ちに動作停止したセンタ1Aまたは1Bの動作を引き継いで行ない、業務をバックアップすることができる。
【0010】
しかしながら、ホスト2Aは本来の業務のための処理を行なっており元々負荷が大きいため、上述のように正センタ1Aのホスト2Aが副センタ1Bへのデータ転送を行なう場合、あまり大きなデータを転送できず効率のよい転送を行なうことができなかった。
そこで、正センタ1Aおよび副センタ1Bのそれぞれにおいて、図16に示すFCU3Aおよび3Bに代え、図17に示すように、リモート転送機能を有するFCU(以下、リモートFCUという)10Aおよび10Bをそなえ、これらのリモートFCU10A,10Bの間を通信回線6により接続したリモートシステムが提案され用いられている。このリモートシステムでは、正センタ1Aから副センタ1Bへのデータ転送(リモート転送)が、リモートFCU10Aによって行なわれるので、ホスト2Aの負荷が分散され、データ転送を効率よく行なえるようになる。
【0011】
なお、リモートFCU10A,10B間を接続する通信回線6としては例えば高速ディジタル回線やATM回線が用いられる。また、ホスト2A,2BとリモートFCU10A,10Bとの間はチャネルインタフェースにより接続されるほか、リモートFCU10A,10Bと磁気ディスク装置(ボリューム)4A,4Bとの間はPCI(Peripheral Component Interconnect)インタフェースあるいはSCSI(Small Computer System Interface)インタフェースにより接続される。
【0012】
上述したリモートFCU10A,10Bの構成を、図18により説明する。この図18に示すように、リモートFCU10A,10Bのそれぞれは、CA(Channel Adapter)11,RM(Resource Manager)12,TS(Table Storage)13,RA(Remort Adapter)14,CFE(Cache Function Engine)15,SS(Shared Storage)16,DA(Device Adapter)17およびC−BUS(Control−BUS)18を有して構成されている。
【0013】
ここで、CA11は、ホスト2A,2Bとの外部インタフェース制御を担当するモジュールであり、RM12は、基本動作に関する、リモートFCU10A,10B内における資源の管理/制御を担当するモジュールであり、TS13は、RM12に付設され、リモートFCU10A,10B内の資源管理用のテーブルとして使用されるメモリである。
【0014】
RA14は、回線制御装置(図示省略)を使用し、通信回線6を介して他のリモートFCU10Aまたは10Bとの間のデータの転送を担当する回線通信モジュールであり、CFE15は、SS16におけるキャッシュメモリ16a(図17参照)の管理を担当するモジュールである。ここでは、キャッシュメモリ16aなどを含む共用メモリ部を総称してSS(符号16)と呼んでいる。なお、通常、各リモートFCU10A,10Bには複数個(例えば2個〜8個)のRA14が搭載されており、正センタ1Aと副センタ1Bとの間は複数本(例えば2本〜8本)の回線が敷設されている。ただし、図17ではRA14および通信回線6はそれぞれ1つだけ図示されている。
【0015】
DA17は、下位装置である磁気ディスク装置(ボリューム)4A,4Bとのインタフェース制御を担当するモジュールであり、C−BUS18は、上述した各機能モジュール(符号11〜17)が互いにコミュニケーションを行なうためのルートで、モジュール間の制御情報の送受信に使用されるものである。
上述のごとく構成されたリモートシステムでのデータの流れについて、図17を参照しながら説明する。
【0016】
図17に示すように、リモートFCU10A内のRA14は、通信回線6を介し、遠隔地にある副センタ1BにおけるリモートFCU10B内のRA14に接続されており、正センタ1A内では、ホスト2Aからのデータは、リモートFCU10AのCA11により受け取られて、一旦、SS16上のキャッシュメモリ16aに書き込まれる。
【0017】
そして、キャッシュメモリ16aに書き込まれたデータ(トラック)は、RA14により複数のパケットに分割されて副センタ1B側のリモートFCU10Bに転送される。また、正センタ1Aにおいて、キャッシュメモリ16aから磁気ディスク装置4Aへの書込は、リモートFCU10AのDA17により適当なタイミングで実行される。
【0018】
一方、副センタ1B内では、正センタ1A側のリモートFCU10Aからのデータは、リモートFCU10BのRA14により受け取られて、一旦、SS16上のキャッシュメモリ16aに書き込まれる。そして、キャッシュメモリ16aに書き込まれたデータ(トラック)は、DA17により適当なタイミングで磁気ディスク装置4Bに書き込まれる。
【0019】
【発明が解決しようとする課題】
ところで、正センタ1A側のホスト2Aは、リモートFCU10Aに対してI/Oを発行する際、順序性保証モードを指定することにより、リモートFCU10Aに、順序性を保証したデータ書込/転送を行なわせることができる。
ここで、順序性を保証したデータ書込/転送とは、正センタ1A側において、ホスト2AからリモートFCU10Aに対しトラックT1,T2,T3の順で書込/転送すべきデータを送った場合、正センタ1A側の磁気ディスク装置4Aおよび副センタ1B側のリモートFCU10Bにも全く同じ順番でデータ(トラックT1,T2,T3)の書込/転送を行なうことである。
【0020】
正センタ1A側のホスト2Aが上述のような順序性保証モードを指定した時、正センタ1A側において、ホスト2AからリモートFCU10Aへ送られるデータの順序性、および、リモートFCU10Aから磁気ディスク装置4Aへ送られるデータの順序性は、制御上、必ず保証される。
しかし、副センタ1B側において、リモートFCU10Bは、正センタ1A側からのトラックをその到着順に磁気ディスク装置4Bに書き込んでいるため、順序性が損なわれる可能性がある(即ち、磁気ディスク装置4Bに書き込まれるトラックの順序が、正センタ1A側のホスト2Aから送出されたデータの順序と異なってしまうおそれがある)。
【0021】
以下に、順序性が保たれているデータ書込/転送と、保たれていないデータ書込/転送と、順序性を保証した転送機能の必要性とについて、図19〜図25を参照しながら説明する。
まず、順序性が保たれているデータ書込/転送について、図19および図20により説明する。ここで、図19は、順序性が保たれているデータ書込/転送を説明するための図、図20は、順序性が保たれているデータ書込/転送を、時間軸および図19中の▲1▼〜▲4▼に対応させて説明するためのフローチャートである。なお、図19中、既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【0022】
ただし、図19に示すリモートシステムでは、正センタ1A側のリモートFCU10Aと副センタ1B側のリモートFCU10Bとの間が2本の通信回線6−1,6−2により接続されている。つまり、リモートFCU10Aに2個のRA14(以下それぞれRA01,RA02として区別し表記する)が搭載されるとともに、リモートFCU10Bにも2個のRA14(以下それぞれRA03,RA04として区別/表記する)が搭載され、RA01とRA03との間が通信回線6−1により接続され、RA02とRA04との間が通信回線6−2により接続されている。
【0023】
図19および図20に示すように、正センタ1A側において、ホスト2Aは、リモートFCU10AのSS16上に確保されたキャッシュメモリ16aに対して、トラックT1およびT2を、順次、書き込む(▲1▼および▲3▼参照)。この時点で、2本の通信回線6−1,6−2はいずれも使用されていないものとする。
そして、リモートFCU10Aは、RA01により、先にキャッシュメモリ16aに書き込まれたトラックT1を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10Bへ転送する(▲2▼参照)。
【0024】
これに引き続いて、リモートFCU10Aは、次にキャッシュメモリ16aに書き込まれたトラックT2を転送するが、このとき、通信回線6−1(RA01/RA03パス)が使用中であることから、RA02により、トラックT2を読み出し、通信回線6−2(RA02/RA04パス)を使用して副センタ1B側のリモートFCU10Bへ転送する(▲4▼参照)。
【0025】
このように、図19および図20に示したデータ転送例では、トラックT1,T2は、ホスト2Aから送り出された順序のまま、リモートFCU10AからリモートFCU10Bへ転送されるので、副センタ1B側では、その順序性を保持した状態でトラックT1,T2が磁気ディスク装置4Bに書き込まれることになる。
【0026】
一方、順序性が保たれていないデータ書込/転送について、図21および図22により説明する。ここで、図21は、順序性が保たれていないデータ書込/転送を説明するための図、図22は、順序性が保たれていないデータ書込/転送を、時間軸および図21中の▲1▼〜▲5▼に対応させて説明するためのフローチャートである。なお、図21中、既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【0027】
図21および図22に示すように、正センタ1A側において、ホスト2Aは、リモートFCU10AのSS16上に確保されたキャッシュメモリ16aに対して、トラックT1およびT2を、順次、書き込む(▲1▼および▲3▼参照)。この時点で、2本の通信回線6−1,6−2はいずれも使用されていないものとする。
そして、リモートFCU10Aは、RA01により、先にキャッシュメモリ16aに書き込まれたトラックT1を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10BへのトラックT1の転送を開始する(▲2▼参照)。
【0028】
これに引き続き、リモートFCU10Aは、次にキャッシュメモリ16aに書き込まれたトラックT2を転送するが、このとき、通信回線6−1(RA01/RA03パス)が使用中であることから、RA02により、トラックT2を読み出し、通信回線6−2(RA02/RA04パス)を使用して副センタ1B側のリモートFCU10Bへ転送する(▲4▼参照)。
【0029】
このようにRA01およびRA02がいずれも転送を行なっている際に、通信回線6−1上の故障等によりトラックT1の転送に失敗すると、リモートFCU10Aは、RA02により、通信回線6−2(RA02/RA04パス)を使用してトラックT1の転送を試みようとするが、この時点では、通信回線6−2(RA02/RA04パス)はトラックT2を転送するために使用されているため、その転送(▲4▼)が完了するまで、トラックT1の転送は待たされることになる。そして、RA02によるトラックT2の転送が完了すると、RA02により、トラックT1を読み出し、通信回線6−2(RA02/RA04パス)を使用して副センタ1B側のリモートFCU10Bへ転送する(▲5▼参照)。
【0030】
このように、図21および図22に示したデータ転送例では、転送エラーの発生により、副センタ1B側のリモートFCU10Bのトラック到着順序(つまりは磁気ディスク装置4Bへの書込順序)が、正センタ1A側でのトラック送出順序と異なってしまい、順序性が損なわれる。具体的には、トラックT1,T2の順序で送出されたものが、トラックT2,T1の順序でリモートFCU10Bに到着して磁気ディスク装置4Bに書き込まれることになる。
【0031】
次に、順序性を保証した転送機能の必要性について、図23〜図25により説明する。ここで、図23(a)および図23(b)は、それぞれ、順序性を保証しながら転送されるべき2つのトラックT1,T2の具体例を示す図、図24は、図23(a)および図23(b)にそれぞれ示す2つのトラックT1,T2が順序性を保証されながら転送された時の副センタ1B側のリモートFCU10Bの動作を説明するための図、図25は、図23(a)および図23(b)にそれぞれ示す2つのトラックT1,T2の転送順序が逆になった時の副センタ1B側のリモートFCU10Bの動作を説明するための図である。
【0032】
順序性保証機能が必要になるのは、例えば、複数のデータブロックを1回のI/O〔ホスト2Aからの一度のSIO(Start I/O)要求〕で転送処理するケースである。
正センタ1A側から副センタ1B側のリモートFCU10Bへ多数のデータブロックを1回のI/Oで転送する際、転送すべきデータブロックを1つのレコードの容量だけでは転送できないために、複数のトラックに分割されて転送される場合がある。例えば、図23(a)に示すように、後続する各データブロックを管理するインデックスを含むデータブロックDB1と、更新データを含む多数のデータブロックDB2,…,DBmとが転送され、図23(b)に示すように、トラックT2により、更新データを含むデータブロックDB(m+1),…とが転送される場合がある。
【0033】
このとき、データブロックDBmとDB(m+1)とに1組の更新データが含まれている場合、先のデータブロックDBmにリカバリフラグのオン/オフがセットされる。このリカバリフラグの役割と、2つのトラックT1,T2が順序性を保証されながら転送された時の副センタ1B側のリモートFCU10Bの動作とについて、図24を参照しながら説明する。
【0034】
2つのトラックT1,T2が順序性を保証されながら転送された時、副センタ1B側のリモートFCU10Bでは、図24に示すように、トラックT1により転送されてきたデータブロックDBmからリカバリフラグおよび更新データを書き出してから(▲1▼参照)、後続のトラックT2により転送されてきたデータブロックDB(m+1)から、データブロックDBmの更新データと組になる更新データを書き出す(▲2▼参照)。この後、データブロックDB(m+1)を管理するポインタを、データブロックDB1のインデックスに書き出す(▲3▼参照)。
【0035】
ここで、データブロックDBmのリカバリフラグをオンにセットしておけば、図24に示す動作▲2▼と▲3▼との間でシステムダウンが発生した場合でも、データブロックDB(m+1)を書き出した状態に進むことができる。即ち、データブロックDB1からデータブロックDB(m+1)へのポインタを張ることにより、ディスクの内容を復元することができる。
【0036】
これに対し、転送エラーの発生等に伴い2つのトラックT1,T2の転送順序が逆になった時、副センタ1B側のリモートFCU10Bでは、図25に示すように、まず、トラックT2により先に転送されてきたデータブロックDB(m+1)から、データブロックDBmの更新データと組になる更新データを書き出してから(▲2▼参照)、次にトラックT1により転送されてきたデータブロックDBmからリカバリフラグおよび更新データを書き出すことになる(▲1▼参照)。この後、データブロックDB(m+1)を管理するポインタを、データブロックDB1のインデックスに書き出す(▲3▼参照)。
【0037】
このとき、万一、図25に示す動作▲2▼と▲1▼との間でシステムダウンが発生した場合には、その時点でトラックT1で転送されるデータブロックmに含まれるリカバリフラグは未到着であるため、リカバリフラグがオフとして扱われる。つまり、リモートFCU10Bにおいてリカバリ処理は必要ないものと判断され、データブロックDB(m+1)へのインデックスは何も更新されない。従って、データブロックDB(m+1)の領域はデータが存在しない領域であると判断され、その後のデータ処理で、データブロックDB(m+1)の領域は別のデータにより上書きされてしまい、データ破壊が生じるおそれがある。
【0038】
このようなデータ破壊の発生を防止するために、順序性保証機能が必要となってくる。
本発明は、このような課題に鑑み創案されたもので、順序性保証モードが指定されている際には、転送エラーが発生したとしても順序性を確実に保証しながらデータ(トラック)を正センタ側から副センタ側へ転送できるようにした、磁気ディスク制御装置によるリモート転送方法を提供することを目的とする。
【0039】
【課題を解決するための手段】
上記目的を達成するために、本発明の磁気ディスク制御装置によるリモート転送方法(請求項1)は、磁気ディスク装置とこの磁気ディスク装置を制御する磁気ディスク制御装置とを有する正センタおよび副センタをそなえ、正センタ側磁気ディスク制御装置と副センタ側磁気ディスク制御装置との間を複数の通信回線により接続してなるリモートシステムにおいて、これら複数の通信回線を通じて正センタ側磁気ディスク制御装置から副センタ側磁気ディスク制御装置へデータ転送を行なうための方法であって、複数のトラックを、その順序性を保証しながら正センタ側磁気ディスク制御装置から副センタ側磁気ディスク制御装置へ連続的に転送する順序性保証モードが正センタ側ホストにより指定されている場合、正センタ側磁気ディスク制御装置は、正センタ側ホストからの同一の入出力要求によって転送される複数のトラックには同一の識別番号と正センタ側ホストからの送出順に対応したシリアル番号とを付与し、前記の識別番号およびシリアル番号を付与された当該複数のトラックを複数本の通信回線により同時に副センタ側磁気ディスク制御装置に転送し、副センタ側磁気ディスク制御装置は、正センタ側から転送され副センタ側で書き込まれたトラックに付与された識別番号と、その識別番号を有し且つ最後に副センタ側で書き込まれたトラックに付与されたシリアル番号LSNとを対応させて保持する順序性管理テーブルをそなえ、正センタ側から新たなトラックが転送されてくると、当該トラックに付与されているシリアル番号SNと、順序性管理テーブルに保持されている、当該トラックに付与された識別番号に対応する前記シリアル番号LSNとを比較し、SN≠LSN+1である場合、他のトラックの書込によって順序性管理テーブルの前記シリアル番号LSNが更新されてSN=LSN+1となるまで、当該トラックに対して書込許可を与えないで当該トラックを待機させる一方、SN=LSN+1である場合、当該トラックに対して書込許可を与え、当該トラックの副センタ側磁気ディスク装置への書込を完了した時点で順序性管理テーブルの前記シリアル番号LSNとして当該トラックの前記シリアル番号LSNを登録・更新するとともに、あるトラックの転送時に回線障害により転送エラーが発生した場合、正センタ側磁気ディスク制御装置は、複数の通信回線のうち他に未使用の通信回線が存在するか否かを確認し、未使用の通信回線が存在する場合、その未使用の通信回線を使用して、転送エラーを生じた当該トラックの転送を行なう一方、未使用の通信回線が存在しない場合、現在転送中のトラックに付与されているシリアル番号の中に、転送エラーを生じた当該トラックに付与されているシリアル番号よりも大きいシリアル番号が存在するか否かを判断し、該当するシリアル番号が存在しない場合、使用中の通信回線が解放されるまで転送エラーを生じた当該トラックの転送を待機させる一方、該当するシリアル番号が存在する場合、該当するシリアル番号を有するトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して、転送エラーを生じた当該トラックの転送を行なうことを特徴としている。
【0042】
このとき、順序性管理テーブルを、副センタ側磁気ディスク制御装置内の資源を管理/制御するリソースモジュールによって管理してもよいし(請求項)、当該トラックを副センタ側磁気ディスク装置へ書き込む前に一時的に書き込むためのキャッシュメモリ上にそなえてもよい(請求項)。
また、本発明の磁気ディスク制御装置によるリモート転送方法(請求項4)は、磁気ディスク装置とこの磁気ディスク装置を制御する磁気ディスク制御装置とを有する正センタおよび副センタをそなえ、正センタ側磁気ディスク制御装置と副センタ側磁気ディスク制御装置との間を複数本の通信回線により接続してなるリモートシステムにおいて、複数本の通信回線を通じて正センタ側磁気ディスク制御装置から副センタ側磁気ディスク制御装置へデータ転送を行なうための方法であって、複数のトラックを、その順序性を保証しながら、正センタ側磁気ディスク制御装置から副センタ側磁気ディスク制御装置へ連続的に転送する順序性保証モードが正センタ側ホストにより指定されている場合、正センタ側磁気ディスク制御装置は、正センタ側ホストからの同一の入出力要求によって転送される複数のトラックには同一の識別番号と該正センタ側ホストからの送出順に対応したシリアル番号とを付与し、前記の識別番号およびシリアル番号を付与された当該複数のトラックを複数本の通信回線により同時に副センタ側磁気ディスク制御装置に転送し、あるトラックの転送時に回線障害により転送エラーが発生した場合、正センタ側磁気ディスク制御装置は、複数の通信回線のうち他に未使用の通信回線が存在するか否かを確認し、未使用の通信回線が存在する場合、その未使用の通信回線を使用して転送エラーを生じた当該トラックの転送を行なう一方、未使用の通信回線が存在しない場合、現在転送中のトラックに付与されているシリアル番号の中に、転送エラーを生じた当該トラックに付与されているシリアル番号よりも大きいシリアル番号が存在するか否かを判断し、該当するシリアル番号が存在しない場合、使用中の通信回線が解放されるまで転送エラーを生じた当該トラックの転送を待機させる一方、該当するシリアル番号が存在する場合、該当するシリアル番号を有するトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して転送エラーを生じた当該トラックの転送を行なうことを特徴としている。
【0043】
上述した本発明のリモート転送方法(請求項)では、副センタ側磁気ディスク制御装置において、正センタ側から転送されてきたトラックのシリアル番号SNが、順序性管理テーブルに保持されているシリアル番号LSN(そのトラックと同一I/Oに属するトラックのうち最後に書き込まれたもののシリアル番号)に、1を加算した値に等しいか否かを判断する。例えばそのトラックのSNがLSN+2である場合(SN≠LSN+1)、そのトラックは、シリアル番号としてLSN+1を付与されたトラックよりも先に転送されて来たことになり、所定の順序性を損なう状態になっているものと判断することができる。
【0044】
従って、SN≠LSN+1である場合には、他のトラックの書込により順序性管理テーブルのシリアル番号LSNが更新されてSN=LSN+1となるまで、そのトラックを待機させる。つまり、トラックの転送中にエラーが発生し、副センタ側へのトラックの転送順序が逆転して所定の順序性が損なわれたとしても、副センタ側でトラックの順序調整を行なうことができる。
【0045】
このとき、あるトラックの転送時に回線障害により転送エラーが発生し、その転送エラーを生じたトラックを転送するための未使用の通信回線が存在せず、さらに、現在転送中のトラックのシリアル番号の中に、転送エラーを生じたトラックのシリアル番号よりも大きいシリアル番号が存在するという3つの条件が万一重なった場合について考える。この場合、そのトラックの後に書き込まれるべきトラックが、先に副センタ側へ転送され、転送エラーを生じたトラックが転送されてくるのを待機している状態であるが、使用可能な通信回線が存在しないため、転送エラーを生じたトラックを転送できない状態でロックする転送デッドロックが生じてしまう。
【0046】
そこで、上述した3つの条件が重なった場合には、正センタ側磁気ディスク制御装置により、転送デッドロック状態のトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して転送エラーを生じたトラックの転送を行ない、転送デッドロックを回避する(請求項1,4)。
【0047】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
本発明の実施形態(第1〜第4実施形態)としての磁気ディスク制御装置によるリモート転送方法が適用されるリモートシステムは、図17に示したものと同様であり、本発明の実施形態(第1〜第4実施形態)における磁気ディスク制御装置つまりリモートFCU10A,10Bは、図18に示したものと同様であるので、これらのシステムやリモートFCU10A,10Bについての詳細な説明は省略する。図中、既述の符号と同一の符号は同一もしくは同様の部分を示しているので、その説明は省略する。
【0048】
また、以下に説明する本実施形態のリモートシステム(図2,図4,図8,図11,図14参照)でも、正センタ1A側のリモートFCU10Aと副センタ1B側のリモートFCU10Bとの間が2本の通信回線6−1,6−2により接続されている。つまり、リモートFCU10Aに2個のRA14(以下それぞれRA01,RA02として区別し表記する)が搭載されるとともに、リモートFCU10Bにも2個のRA14(以下それぞれRA03,RA04として区別/表記する)が搭載され、RA01とRA03との間が通信回線6−1により接続され、RA02とRA04との間が通信回線6−2により接続されている。
【0049】
〔A〕第1実施形態の説明
まず、図1〜図3を参照しながら、本発明の第1実施形態としてのリモート転送方法について説明する。なお、図1および図2は、それぞれ、第1実施形態のリモート転送方法を説明するためのシーケンス図およびブロック図、図3は、第1実施形態のリモート転送方法を、時間軸および図1および図2中の▲1▼〜▲8▼に対応させて説明するためのフローチャートである。また、図2中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【0050】
本発明の第1実施形態としてのリモート転送方法を実現すべく、第1実施形態のリモートシステムにおいて、順序性保証モードの指定時には、正センタ10A側のリモートFCU10A(CA11)は、ホスト2Aから1つのトラックの転送依頼を受けると、その時点ではトラックを受け取った旨の通知(Channel End)のみをホスト2Aへ報告して“Device End”を返送せず、転送依頼を受けたトラックを副センタ1B側のリモートFCU10Bに転送し、その転送を完了した時点でホスト2Aに転送完了通知として“Device End”を送り返すように構成されている。
【0051】
また、順序性保証モードの指定時には、正センタ1A側のホスト2Aは、リモートFCU10Aに対するトラックの転送依頼を1つずつ行ない、リモートFCU10Aから転送完了通知(Device End)を受領してから、次のトラックの転送依頼をリモートFCU10Aに対して発行するように構成されている。
なお、上述した第1実施形態の特徴的な機能/構成は、いずれも、従来から用いられているリモート転送を実現するためのファームウェア(プログラム)に、若干の変更を施すことによって容易に実現される。
【0052】
次に、転送エラーが発生しない状態での、第1実施形態によるリモート転送方法の手順について、図1〜図3を参照しながら説明する。
図1〜図3に示すように、正センタ1A側において、ホスト2Aにより順序性保証モードが指定されている場合、ホスト2Aは、リモートFCU10AのSS16上に確保されたキャッシュメモリ16aに対して、トラックT1を1つだけ書き込む(▲1▼参照)。この時点で、2本の通信回線6−1,6−2はいずれも使用されていないものとする。
【0053】
そして、リモートFCU10Aは、トラックT1を受け取ると、ホスト2Aに対して“Channel End ”を報告するとともに(▲2▼参照)、RA01により、キャッシュメモリ16aに書き込まれたトラックT1を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10Bへ転送する(▲3▼参照)。副センタ1BへのトラックT1の転送を完了すると、リモートFCU10Aは、ホスト2Aに対して転送完了通知(Device End)を報告する(▲4▼参照)。
【0054】
リモートFCU10Aから転送完了通知を受けたホスト2Aは、トラックT1に続く2つ目のトラックT2を、1つだけ、リモートFCU10Aのキャッシュメモリ16aに対して書き込む(▲5▼参照)。
この後、リモートFCU10Aは、前述と同様、トラックT2を受け取ると、ホスト2Aに対して“Channel End ”を報告するとともに(▲6▼参照)、RA01により、キャッシュメモリ16aに書き込まれたトラックT2を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10Bへ転送する(▲7▼参照)。副センタ1BへのトラックT1の転送を完了すると、リモートFCU10Aは、ホスト2Aに対して転送完了通知(Device End)を報告する(▲8▼参照)。
【0055】
従って、トラックT1,T2は、ホスト2Aから1つずつ送出され、トラックT1の転送完了するまでトラックT2の送出が行なわれないので、副センタ1B側では、その順序性を保持した状態でトラックT1,T2が磁気ディスク装置4B(キャッシュメモリ16a)に書き込まれることになる。
一方、トラックT1の転送中に回線障害等により転送エラーが発生した場合の、第1実施形態によるリモート転送方法の手順について、図4〜図6を参照しながら説明する。ここで、図4は、本発明の第1実施形態としてのリモート転送方法(転送エラー発生時)を説明するためのブロック図、図5は、本発明の第1実施形態としてのリモート転送方法(転送エラー発生時)を説明するためのシーケンス図、図6は、本発明の第1実施形態としてのリモート転送方法(転送エラー発生時)を、時間軸および図4および図5中の▲1▼〜▲9▼に対応させて説明するためのフローチャートである。なお、図4中、既述の符号と同一の符号は同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【0056】
図4〜図6に示すように、正センタ1A側において、ホスト2Aにより順序性保証モードが指定されている場合、ホスト2Aは、リモートFCU10AのSS16上に確保されたキャッシュメモリ16aに対して、トラックT1を1つだけ書き込む(▲1▼参照)。この時点で、2本の通信回線6−1,6−2はいずれも使用されていないものとする。
【0057】
そして、リモートFCU10Aは、トラックT1を受け取ると、ホスト2Aに対して“Channel End ”を報告するとともに(▲2▼参照)、RA01により、キャッシュメモリ16aに書き込まれたトラックT1を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10Bへ転送するが、その転送が、回線エラー(回線障害)により失敗した場合、リモートFCU10Aは、代わりのパスを使用してトラックT1の転送を行なうと判断する(▲3▼参照)。
【0058】
このとき、もう一方の通信回線6−2(RA02/RA04パス)は未使用状態であるので、リモートFCU10Aは、その通信回線6−2を使用してトラックT1を副センタ1B側のリモートFCU10Bへ転送する(▲4▼参照)。
通信回線6−2を通じて副センタ1BへのトラックT1の転送を完了すると、リモートFCU10Aは、ホスト2Aに対して転送完了通知(Device End)を報告する(▲5▼参照)。
【0059】
リモートFCU10Aから転送完了通知を受けたホスト2Aは、トラックT1に続く2つ目のトラックT2を、1つだけ、リモートFCU10Aのキャッシュメモリ16aに対して書き込む(▲6▼参照)。
この後、リモートFCU10Aは、トラックT2を受け取ると、ホスト2Aに対して“Channel End ”を報告するとともに(▲7▼参照)、RA01により、キャッシュメモリ16aに書き込まれたトラックT2を読み出し、回線障害の発生した通信回線6−1を使用せずに通信回線6−2(RA02/RA04パス)を使用して副センタ1B側のリモートFCU10Bへ転送する(▲8▼参照)。副センタ1BへのトラックT1の転送を完了すると、リモートFCU10Aは、ホスト2Aに対して転送完了通知(Device End)を報告する(▲9▼参照)。
【0060】
このように、本発明の第1実施形態としてのリモート転送方法によれば、順序性保証モードがホスト2Aにより指定されている状態では、ホスト2Aは、トラックの転送依頼を1つずつ行ない、1つのトラックの転送依頼をリモートFCU10Aに対して行なうと、そのトラックについての転送完了通知をリモートFCU10Aから受けるまで、次のトラックの転送依頼を発行しないので、トラックは、ホスト2Aから、リモートFCU10Aを通じて一つずつ副センタ1B側へ転送されることになる。
【0061】
つまり、図4〜図6により説明した通り、トラックの転送中にエラーが発生したとしても、通信障害の発生した通信回線6−1以外の通信回線6−2を使用して、そのトラックの転送を完了するまで次のトラックの転送開始を抑止することができるので、トラックの順序性を確実に保証することができる。
〔B〕第2実施形態の説明
次に、図7〜図10を参照しながら、本発明の第2実施形態としてのリモート転送方法について説明する。なお、図7は第2実施形態のリモート転送方法で用いられる順序性管理テーブルの例を示す図、図8は第2実施形態のリモート転送方法を説明するためのブロック図、図9は、第2実施形態のリモート転送方法を、時間軸および図8中の (1)〜(10)に対応させて説明するためのフローチャート、図10(a)〜図10(d)は、それぞれ、第2実施形態のリモート転送方法を実行した際の順序性管理テーブルの登録状態を示す図である。また、図8中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【0062】
本発明の第2実施形態としてのリモート転送方法を実現すべく、第2実施形態のリモートシステムにおけるホスト1A,リモートFCU10Aおよび10Bは以下のような機能を有している。
第2実施形態では、正センタ1A側において、ホスト2Aは、第1実施形態の場合と異なり、従来と同様、複数のトラックを所定の順序でリモートFCU10Aに対して順次送出し、リモートFCU10Aは、複数本(本実施形態では2本のみ図示)の通信回線6−1,6−2を同時に使用して副センタ1B側へ転送するようになっている。
【0063】
ただし、第2実施形態では、順序性保証モードの指定時において、リモートFCU10Aは、通信回線6−1もしくは6−2を通じて転送するトラックに、以下の情報(a1),(a2)を付与する。
(a1)トラック番号(シリアル番号SN):ホスト2Aからの同一I/Oに属するトラックについて、そのI/Oに関し何番目のトラックであるか示す情報。このトラック番号は、ホスト2AからリモートFCU10Aへのトラックの送出順序と一致する。
【0064】
(a2)ID値(識別番号):ホスト2Aからの同一I/Oに属するトラックには、同一のID値が付与され、ID値により、そのトラックの属するI/Oを識別することができるようになっている。このID値は、リモートFCU10Aにより、ホスト2Aから新たなI/O(Start I/O)を受ける度にインクリメントされる。
【0065】
また、第2実施形態における副センタ1B側のリモートFCU10Bにおいては、RM12(TS13)内に、前述したID値とトラック番号(SN)とを保持する順序性管理テーブル(Table)20がそなえられている。
この順序性管理テーブル20は、正センタ1A側から転送され副センタ1B側で書き込まれたトラックに付与されたID値と、そのID値を有し且つ最後に副センタ1B側で書き込まれたトラックに付与されたトラック番号(シリアル番号)LSNとを対応させて保持するものである。つまり、順序性管理テーブル20におけるトラック番号としては、そのID値に関し、リモートFCU10BのSS16上に確保されたキャッシュメモリ16aに、最後に書き込んだトラックのトラック番号がLSNとして書き込まれる。
【0066】
順序性管理テーブル20に保持される値の具体例を図7に示す。この図7に示す具体例では、ID値“0001”を有するトラックについてはトラック番号“0001”つまり1番目のトラックの書込だけを完了しており、ID値“0002”を有するトラックについてはトラック番号“0005”つまり5番目のトラックの書込まで完了しており、ID値“0003”を有するトラックについてはトラック番号“0007”つまり7番目のトラックの書込まで完了していることになる。
【0067】
副センタ1B側のリモートFCU10BにおけるRA14は、正センタ1A側のRA14からトラックを受信すると、そのトラックのID値とトラック番号SNとをRM12に通知し、キャッシュメモリ16aへの書込要求を行なう機能を有している。
副センタ1B側のリモートFCU10BにおけるRM12は、RA14からの要求に応じ、2つの条件(b1),(b2)によって以下のような動作を行なうようになっている。
【0068】
条件(b1):RA14から通知されたトラック番号が“1”であれば、順序性管理テーブル20内で未使用領域もしくは一番古い領域にID値およびトラック番号を書き込む。ただし、ID値としてはRA14から通知されたID値をそのまま書き込むが、トラック番号としてはまず“0”を書き込む。その後、RM12は、RA14に対して、そのトラックのキャッシュメモリ16aへの書込許可を通知する。順序性管理テーブル20のトラック番号“0”は、そのトラックのキャッシュメモリ16aへの書込が完了した時点で“1”に書き換えられる。
【0069】
条件(b2):RA14から通知されたトラック番号が“1”以外であれば、順序性管理テーブル20内に、そのトラックのID値と同じものが保持されているかを検索する。同じID値が既に保持されている場合には、RA14から通知されたトラック番号SNと順序性管理テーブル20に既に保持されているトラック番号LSNとを比較し、SN=LSN+1であるか否かを判断する。RM12は、SN=LSN+1であれば、RA14に対して、そのトラックのキャッシュメモリ16aへの書込許可を通知する一方、SN≠LSN+1であれば、RA14に対して、そのトラックのキャッシュメモリ16aへの書込許可を与えない。なお、トラックのID値と同じものが順序性管理テーブル20内に保持されていない場合にも、RM12は、RA14に対して、そのトラックのキャッシュメモリ16aへの書込許可を与えない。
【0070】
さらに、RA14は、RM12からの応答として書込許可通知を受けた場合、そのトラックを、SS16上に確保されたキャッシュメモリ16aに書き込む一方で、不許可通知を受けた場合、そのトラックの書込をしばらく待機させてから、再度、RM12に対して問い合わせを行なうように動作する。
また、RA14は、キャッシュメモリ16aにトラックを書き込んだ後、RM12に対し、再度、そのトラックのID値およびトラック番号SNを通知し、順序性管理テーブル20に登録するように要求し、この要求を受けたRM12は、順序性管理テーブル20から同じID値を検索し、そのID値とリンクするトラック番号領域に、RA14から通知されたトラック番号SNをLSNとして書き込むように動作する。
【0071】
なお、上述した第2実施形態の特徴的な機能/構成は、いずれも、従来から用いられているリモート転送を実現するためのファームウェア(プログラム)に、若干の変更を施すことによって容易に実現される。
次に、第2実施形態によるリモート転送方法の手順について、図8〜図10を参照しながら説明する。
【0072】
図8および図9に示すように、正センタ1A側において、ホスト2Aにより順序性保証モードが指定されている場合、ホスト2Aは、まず、リモートFCU10AのSS16上に確保されたキャッシュメモリ16aに対して、同一I/Oに属するトラックT1およびT2を、順次、書き込む〔(1) および(6) 参照〕。この時点で、2本の通信回線6−1,6−2はいずれも使用されていないものとする。
【0073】
そして、リモートFCU10Aは、RA01により、先にキャッシュメモリ16aに書き込まれたトラックT1を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10Bへ転送する。このとき、トラックT1には、ID値=0001およびトラック番号=0001が付加される〔(2) 参照〕。
【0074】
これに引き続いて、リモートFCU10Aは、次にキャッシュメモリ16aに書き込まれたトラックT2を転送するが、通信回線6−1(RA01/RA03パス)が使用中であることから、RA02により、トラックT2を読み出し、通信回線6−2(RA02/RA04パス)を使用して副センタ1B側のリモートFCU10Bへ転送する。このとき、トラックT2には、ID値=0001およびトラック番号=0002が付加される〔(7) 参照〕。
【0075】
副センタ1B側のリモートFCU10Bにおいて、まず、正センタ1A側から転送されてきたトラックT1をRA03が受信し、このRA03は、トラックT1のID値=0001およびトラック番号=0001も同時にRM12に通知し、RM12に対しトラックT1を書き込んでよいか否か問い合わせる。このとき、RM12は、前述した条件(b1)に従って動作し、トラックT1の書込許可をRA03に通知する〔(3) 参照〕。このRM12の動作により、順序性管理テーブル20は、図10(a)に示す状態から図10(b)に示す状態となる。
【0076】
RM12からの書込許可通知を受けたRA03は、SS16上に確保されたキャッシュメモリ16aにトラックT1を書き込んだ後〔(4) 参照〕、RM12に対し、再度、ID値=0001およびトラック番号=0001を通知して順序性管理テーブル20への登録を要求し、この要求に応じてRM12は、順序性管理テーブル20にトラック番号を登録する〔(5) 参照〕。これにより、順序性管理テーブル20は、図10(b)に示す状態から図10(c)に示す状態となる。
【0077】
また、副センタ1B側のリモートFCU10Bにおいては、トラックT1の書込処理中〔(3) および(4) 参照〕に、正センタ1A側からのトラックT2をRA04が受信すると、このRA04は、トラックT2のID値=0001およびトラック番号=0002も同時にRM12に通知し、RM12に対しトラックT2を書き込んでよいか否か問い合わせる。このとき、順序性管理テーブル20は図10(b)に示す状態であり、RM12は、前述した条件(b2)に従って動作する。即ち、SN≠LSN+1(ここで、SN=2,LSN=0で、2≠0+1)であって、トラックT1がキャッシュメモリ16a上に書き込まれていないことから、RM12は、RA04に対し、トラックT2の書込不許可を通知する〔図8の(8) ,図9の(8)−1参照〕。
【0078】
RM12からの書込不許可通知を受けたRA04は、RM12からトラックT2の書込許可を貰えるまで、RM12に対し繰り返し問い合わせる〔図8の(8) ,図9の(8)−2参照〕。
その間に、RA03によりトラックT1の書込を完了し〔(4) 参照〕、順序性管理テーブル20への登録を完了すると〔(5) 参照〕、順序性管理テーブル20が図10(c)に示すごとく更新され、SN=LSN+1(ここで、SN=2,LSN=1で、2=1+1)となるので、RM12は、トラックT2の書込許可をRA04に通知する〔図8の(8) ,図9の(8)−3参照〕。
【0079】
RM12からの書込許可通知を受けたRA04は、SS16上に確保されたキャッシュメモリ16aにトラックT2を書き込んだ後〔(9) 参照〕、RM12に対し、再度、ID値=0001およびトラック番号=0002を通知して順序性管理テーブル20への登録を要求し、この要求に応じてRM12は、順序性管理テーブル20にトラック番号を登録する〔(10)参照〕。これにより、順序性管理テーブル20は、図10(c)に示す状態から図10(d)に示す状態となる。
【0080】
このように、本発明の第2実施形態としてのリモート転送方法によれば、順序性保証モードがホスト2Aにより指定されている状態では、副センタ1B側のリモートFCU10Bにおいて、正センタ1A側から転送されてきたトラックのトラック番号(シリアル番号)SNが、順序性管理テーブル20に保持されているシリアル番号LSN(そのトラックと同一I/Oに属するトラックのうち最後に書き込まれたもののトラック番号)に、1を加算した値に等しいか否かを判断する。例えば、そのトラックのトラック番号SNがLSN+2である場合(SN≠LSN+1)、そのトラックは、トラック番号としてLSN+1を付与されたトラックよりも先に転送されて来たことになり、所定の順序性を損なう状態になっているものと判断することができる。
【0081】
従って、SN≠LSN+1である場合には、他のトラックの書込により順序性管理テーブル20のシリアル番号LSNが更新されてSN=LSN+1となるまで、そのトラックを待機させる。つまり、万一、トラックの転送中にエラーが発生し、副センタ1B側へのトラックの転送順序が逆転して所定の順序性が損なわれたとしても、副センタ1B側でトラックの順序調整を行なうことができるので、トラックの順序性を確実に保証することができる。
【0082】
図8では、説明上、2本の通信回線6−1,6−2のみ図示しているが、3本以上の通信回線をそなえておけば、トラックT1の転送中に通信回線6−1における通信障害により転送エラーが生じた場合、図示しない3本目の通信回線によりトラックT1が副センタ1B側へ転送される。このとき、トラックT1はトラックT2よりも後に副センタ1Bに到着することになるが、リモートFCU10Bでは、前述のごとく、トラックT1が書き込まれるまでトラックT2の書込を待機させているので、トラックT1がトラックT2よりも後に到着しても、トラックT1,T2の順で書込が行なわれ、その順序性が損なわれることがない。
【0083】
また、本発明の第2実施形態としてのリモート転送方法では、順序性保証モードの指定時に、第1実施形態と異なって2本以上の通信回線6−1,6−2を同時に使用できるので、トラックの転送効率を、第1実施形態よりも大幅に向上させることができる。
〔C〕第3実施形態の説明
次に、図11および図12を参照しながら、本発明の第3実施形態としてのリモート転送方法について説明する。なお、図11は本発明の第3実施形態としてのリモート転送方法を説明するためのブロック図、図12は本発明の第3実施形態としてのリモート転送方法を、時間軸および図11中の (1)〜(10)に対応させて説明するためのフローチャートである。また、図11中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その説明は省略する。
【0084】
本発明の第3実施形態としてのリモート転送方法を実現すべく、第3実施形態のリモートシステムにおけるホスト1A,リモートFCU10Aおよび10Bも、第2実施形態と同様、以下のような機能を有している。
つまり、第3実施形態でも、正センタ1A側において、ホスト2Aは、第2実施形態と同様、複数のトラックを所定の順序でリモートFCU10Aに対して順次送出し、リモートFCU10Aは、複数本(本実施形態では2本のみ図示)の通信回線6−1,6−2を同時に使用して副センタ1B側へ転送するようになっている。
【0085】
また、第3実施形態でも、順序性保証モードの指定時において、リモートFCU10Aは、通信回線6−1もしくは6−2を通じて転送するトラックに、前述と同様のトラック番号(a1)およびID値(a2)を付与する。
ただし、第3実施形態における副センタ1B側のリモートFCU10Bにおいては、SS16上に確保されたキャッシュメモリ16a上に、前述したID値とトラック番号(SN)とを保持する順序性管理テーブル20がそなえられている。第2実施形態と第3実施形態とで構成上大きく異なる点は、この順序性管理テーブル20がRM12ではなくキャッシュメモリ16aにそなえられている点である。順序性管理テーブル20については、第2実施形態において前述した通りであるので、その説明は省略する。
【0086】
なお、第2実施形態では、トラック書込が可能である否かの判断をRM12がRA14からの要求に応じて行なっていたのに対し、第3実施形態では、順序性管理テーブル20がキャッシュメモリ16a上にそなえられているので、上記判断は、RA14がキャッシュメモリ16a上の順序性管理テーブル20を読み出して行なっている。
【0087】
つまり、第3実施形態のリモートFCU10BにおけるRA14は、正センタ1A側のRA14からトラックを受信すると、キャッシュメモリ16aから順序性管理テーブル20を読み込み、その順序性管理テーブル20内の情報と受信したトラックのID値とトラック番号SNとを比較し、2つの条件(c1),(c2)によって以下のような動作を行なうようになっている。
【0088】
条件(c1):正センタ1A側のRA14から通知されたトラック番号が“1”であれば、順序性管理テーブル20内で未使用領域もしくは一番古い領域にID値およびトラック番号を書き込む。ただし、ID値としてはRA14から通知されたID値をそのまま書き込むが、トラック番号としてはまず“0”を書き込む。その後、RA14は、そのトラックをキャッシュメモリ16aへ書き込む。順序性管理テーブル20のトラック番号“0”は、そのトラックのキャッシュメモリ16aへの書込が完了した時点で“1”に書き換えられる。
【0089】
条件(c2):正センタ1A側のRA14から通知されたトラック番号が“1”以外であれば、順序性管理テーブル20内に、そのトラックのID値と同じものが保持されているかを検索する。同じID値が既に保持されている場合には、トラック番号SNと順序性管理テーブル20に既に保持されているトラック番号LSNとを比較し、SN=LSN+1であるか否かを判断する。RA14は、SN=LSN+1であれば、そのトラックをキャッシュメモリ16aへ書き込む一方、SN≠LSN+1であれば、そのトラックのキャッシュメモリ16aへの書込を行なわず、そのトラックの書込をしばらく待機させてから、再度、キャッシュメモリ16aから順序性管理テーブル20の読み込みを行なうように動作する。なお、トラックのID値と同じものが順序性管理テーブル20内に保持されていない場合にも、RA14は、そのトラックのキャッシュメモリ16aへの書込を行なわず、そのトラックの書込をしばらく待機させてから、再度、キャッシュメモリ16aから順序性管理テーブル20の読み込みを行なうように動作する。
【0090】
リモートFCU10BのRA14は、上述のようにしてトラックの書込が可能であると判断すると、キャッシュメモリ16aにトラックを書き込み、書込完了後、順序性管理テーブル20からトラックのID値と同じID値を検索し、そのID値とリンクするトラック番号領域に、そのトラックのトラック番号SNをLSNとして書き込むように動作する。
【0091】
なお、上述した第3実施形態の特徴的な機能/構成は、いずれも、従来から用いられているリモート転送を実現するためのファームウェア(プログラム)に、若干の変更を施すことによって容易に実現される。
次に、第3実施形態によるリモート転送方法の手順について、図11および図12を参照しながら説明する。なお、その際、第2実施形態の説明に用いた図10(a)〜図10(d)も参照する。
【0092】
図11および図12に示すように、正センタ1A側において、ホスト2Aにより順序性保証モードが指定されている場合、ホスト2Aは、まず、リモートFCU10AのSS16上に確保されたキャッシュメモリ16aに対して、同一I/Oに属するトラックT1およびT2を、順次、書き込む〔(1) および(6) 参照〕。この時点で、2本の通信回線6−1,6−2はいずれも使用されていないものとする。
【0093】
そして、リモートFCU10Aは、RA01により、先にキャッシュメモリ16aに書き込まれたトラックT1を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10Bへ転送する。このとき、トラックT1には、ID値=0001およびトラック番号=0001が付加される〔(2) 参照〕。
【0094】
これに引き続いて、リモートFCU10Aは、次にキャッシュメモリ16aに書き込まれたトラックT2を転送するが、通信回線6−1(RA01/RA03パス)が使用中であることから、RA02により、トラックT2を読み出し、通信回線6−2(RA02/RA04パス)を使用して副センタ1B側のリモートFCU10Bへ転送する。このとき、トラックT2には、ID値=0001およびトラック番号=0002が付加される〔(7) 参照〕。
【0095】
副センタ1B側のリモートFCU10Bにおいて、まず、正センタ1A側から転送されてきたトラックT1をRA03が受信すると、このRA03は、キャッシュメモリ16aから順序性管理テーブル20を読み込み、トラックT1の書込の是非を判断する。このとき、RA14は、前述した条件(c1)に従って動作し、トラックT1の書込が可能であると判断する〔(3) 参照〕。このRA14の動作により、順序性管理テーブル20は、図10(a)に示す状態から図10(b)に示す状態となる。
【0096】
そして、RA03は、SS16上に確保されたキャッシュメモリ16aにトラックT1を書き込んだ後〔(4) 参照〕、キャッシュメモリ16a上の順序性管理テーブル20のトラックT1に対応するトラック番号領域を更新しトラックT1のトラック番号SNをLSNとして反映させる〔(5) 参照〕。これにより、順序性管理テーブル20は、図10(b)に示す状態から図10(c)に示す状態となる。
【0097】
また、副センタ1B側のリモートFCU10Bにおいては、トラックT1の書込処理中〔(3) および(4) 参照〕に、正センタ1A側からのトラックT2をRA04が受信し、このRA04は、キャッシュメモリ16aから順序性管理テーブル20を読み込み、トラックT2の書込の是非を判断する。このとき、順序性管理テーブル20は図10(b)に示す状態であり、RA04は、前述した条件(c2)に従って動作する。即ち、SN≠LSN+1(ここで、SN=2,LSN=0で、2≠0+1)であって、トラックT1がキャッシュメモリ16a上に書き込まれていないことから、RA04は、トラックT2の書込を不可と判断する〔図11の(8) ,図12の(8)−1参照〕。
【0098】
トラックT2の書込が不可であると判断したRA04は、順序性管理テーブル20のトラック番号が“0001”となるまで、キャッシュメモリ16aから繰り返し順序性管理テーブル20を読み込む〔図11の(8) ,図12の(8)−2参照〕。
その間に、RA03によりトラックT1の書込を完了し〔(4) 参照〕、順序性管理テーブル20への登録を完了すると〔(5) 参照〕、順序性管理テーブル20が図10(c)に示すごとく更新され、SN=LSN+1(ここで、SN=2,LSN=1で、2=1+1)となるので、RA04は、トラックT2の書込が可能であると判断する〔図11の(8) ,図12の(8)−3参照〕。
【0099】
トラックT2の書込が可能であると判断したRA04は、SS16上に確保されたキャッシュメモリ16aにトラックT2を書き込んだ後〔(9) 参照〕、キャッシュメモリ16a上の順序性管理テーブル20のトラックT2に対応するトラック番号領域を更新しトラックT2のトラック番号SNをLSNとして反映させる〔(10)参照〕。これにより、順序性管理テーブル20は、図10(c)に示す状態から図10(d)に示す状態となる。
【0100】
このように、本発明の第3実施形態としてのリモート転送方法によっても、前述した第2実施形態と同様の作用効果を得ることができる。
〔D〕第4実施形態の説明
ところで、上述した第2および第3実施形態によってリモート転送を行なう場合、図8や図11に図示すように2回線構成で1回線に障害が発生したり、3本以上の通信回線を有していても回線障害が発生した時点で未使用の通信回線が存在しなかったりすると、下記のような転送デッドロックが生じることがある。
【0101】
あるトラックの転送時に回線障害により転送エラーが発生し、その転送エラーを生じたトラックを転送するための未使用の通信回線が存在せず、さらに、現在転送中のトラックのトラック番号の中に、転送エラーを生じたトラックのトラック番号よりも大きいものが存在するという3つの条件が万一重なった状態が生じたものとする。
【0102】
このとき、そのトラックの後に書き込まれるべきトラックが、先に副センタ1B側へ転送され、転送エラーを生じたトラックが転送されてくるのを待機している状態であるが、使用可能な通信回線が存在しないため、転送エラーを生じたトラックを転送できない状態でロックする転送デッドロックが生じてしまう。
そこで、本発明の第4実施形態としてのリモート転送方法では、上述した3つの条件が重なった場合には、正センタ1A側のリモートFCU10Aにより、転送デッドロック状態のトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して転送エラーを生じたトラックの転送を行ない、転送デッドロックを回避するようにしている。
【0103】
このような第4実施形態としてのリモート転送方法について、図13〜図15を参照しながら説明する。ここで、図13は本発明の第4実施形態としてのリモート転送方法を説明するためのフローチャート、図14は本発明の第4実施形態としてのリモート転送方法(回線障害による転送エラー発生時)を説明するためのブロック図、図15は、本発明の第4実施形態としてのリモート転送方法(回線障害による転送エラー発生時)を、時間軸および図14中の▲1▼〜▲7▼に対応させて説明するためのフローチャートである。
【0104】
第4実施形態によるリモート転送方法は、第2実施形態および第3実施形態によるリモート転送方法のいずれにも適用することができるが、第4実施形態では、第3実施形態によるリモート転送方法に適用した場合について説明する。
第4実施形態における正センタ1A側のリモートFCU10Aは、第3実施形態のリモートFCU10Aに、図13にフローチャート(ステップS1〜S5)で示す機能を追加したものである。
【0105】
つまり、図13に示すように、あるトラックの転送時に回線障害により転送エラーが発生した場合、リモートFCU10Aは、複数の通信回線のうち他に未使用の転送パス(通信回線)が存在するか否かを確認し(ステップS1)、未使用の転送パスが存在する場合(ステップS1からYESルート)、その未使用の転送パスを使用して転送エラーを生じたトラックの転送を行なう(ステップS2)。
【0106】
一方、未使用の転送パスが存在しない場合(ステップS1からNOルート)、リモートFCU10Aは、現在転送中のトラックに付与されているトラック番号と、転送エラーを生じたトラックに付与されているトラック番号とを比較し、転送中のトラック番号の中に、転送エラーを生じたトラックのトラック番号よりも大きい番号が存在するか否かを判断する(ステップS3)。
【0107】
該当するシリアル番号が存在しない場合(ステップS3からNOルート)、リモートFCU10Aは、使用中のいずれかの転送パスが解放されるまで転送エラーを生じたトラックの転送を待機させる一方(ステップS4)、該当するシリアル番号が存在する場合(ステップS3からYESルート)、該当するシリアル番号を有するトラックの転送を中断させ、そのトラックの転送のために使用中だった転送パスを使用して、転送エラーを生じたトラックの転送を行なう(ステップS5)。
【0108】
さて、次に、図14および図15を参照しながら、図13にて上述した機能を追加された、第4実施形態によるリモート転送方法(回線障害による転送エラー発生時)について説明する。
図14および図15に示すように、正センタ1A側において、ホスト2Aにより順序性保証モードが指定されている場合、ホスト2Aは、まず、リモートFCU10AのSS16上に確保されたキャッシュメモリ16aに対して、同一I/Oに属するトラックT1およびT2を、順次、書き込む(▲1▼および▲3▼参照)。この時点で、2本の通信回線6−1,6−2はいずれも使用されていないものとする。
【0109】
そして、リモートFCU10Aは、RA01により、先にキャッシュメモリ16aに書き込まれたトラックT1を読み出し、通信回線6−1(RA01/RA03パス)を使用して副センタ1B側のリモートFCU10Bへ転送する。このとき、トラックT1には、ID値=0001およびトラック番号=0001が付加される(図14の▲2▼,図15の▲2▼−1参照)。
【0110】
これに引き続いて、リモートFCU10Aは、次にキャッシュメモリ16aに書き込まれたトラックT2を転送するが、通信回線6−1(RA01/RA03パス)が使用中であることから、RA02により、トラックT2を読み出し、通信回線6−2(RA02/RA04パス)を使用して副センタ1B側のリモートFCU10Bへ転送する。このとき、トラックT2には、ID値=0001およびトラック番号=0002が付加される(図14の▲4▼,図15の▲4▼−1参照)。
【0111】
しかし、トラックT1の転送中に、その通信回線6−1上における回線障害による転送エラーが発生し、トラックT1の転送に失敗すると、リモートFCU10Aは、代わりの転送パスとして未使用パスを探すが、他の通信回線6−2(RA02/RA04パス)も使用中であるため、未使用パスが無いと判断する(図14の▲2▼,図15の▲2▼−2参照)。
【0112】
その間に、副センタ1B側のリモートFCU10Bにおいては、正センタ1A側からのトラックT2をRA04が受信し、このRA04は、キャッシュメモリ16aから順序性管理テーブル20を読み込み、トラックT2の書込の是非を判断し、トラックT1がキャッシュメモリ16a上に書き込まれていないことから、RA04は、トラックT2の書込を不可と判断する(図14の▲4▼,図15の▲4▼−2参照〕。トラックT2の書込が不可であると判断したRA04は、順序性管理テーブル20のトラック番号が“0001”となるまで、キャッシュメモリ16aから繰り返し順序性管理テーブル20を読み込む(図14の▲4▼,図15の▲4▼−3参照)。
【0113】
これに並行して、正センタ1A側のリモートFCU10Aは、転送に失敗したパスのトラック番号が“1”であり且つ転送中のパス(通信回線6−2;RA02/RA04パス)のトラック番号“2”であることから、RA02/RA04パスによる転送を中断すべく中断指示を出力する(図14の▲2▼,図15の▲2▼−3参照)。
【0114】
これによりRA02からRA04に対し中断の指示が行なわれ(▲5▼参照)、副センタ1B側において、RA04は、RA02からの中断指示によりトラックT2に対する処理を中断する(▲5▼′参照)。
この後、リモートFCU10Aは、副センタ10B側のリモートFCU10Bに対し、通信回線6−2(RA02/RA04パス)を使用して、転送に失敗したトラックT1を転送する(▲6▼参照)。このときのリモートFCU10Bでの動作説明については、第3実施形態と同様であるので省略する。
【0115】
そして、リモートFCU10Aは、副センタ10B側のリモートFCU10Bに対し、通信回線6−2(RA02/RA04パス)を使用して、転送に失敗したトラックT1を転送する(▲7▼参照)。このときのリモートFCU10Bでの動作説明についても、第3実施形態と同様であるので省略する。
このように、本発明の第4実施形態としてのリモート転送方法によれば、所定の条件が重なって転送デッドロックが生じた場合でも、正センタ1A側のリモートFCU10Aによって、転送デッドロック状態のトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して転送エラーを生じたトラックの転送を行なうことにより、転送デッドロックが確実に回避され、トラックを確実に転送することができる。
【0116】
〔E〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、10Aと10Bとの間が2本の通信回線6により接続されている場合について説明しているが、本発明はこれに限定されるものではなく、3本以上の通信回線6により接続してもよい。
【0117】
【発明の効果】
以上詳述したように、本発明の磁気ディスク制御装置によるリモート転送方法(請求項1〜3)によれば、トラックの転送中にエラーが発生し、副センタ側へのトラックの転送順序が逆転して所定の順序性が損なわれたとしても、副センタ側でトラックの順序調整を行なうことができるので、トラックの順序性を確実に保証することができる。
【0119】
また、本発明の磁気ディスク制御装置によるリモート転送方法(請求項1,4)によれば、所定の条件が重なって転送デッドロックが生じた場合、正センタ側磁気ディスク制御装置によって、転送デッドロック状態のトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して転送エラーを生じたトラックの転送を行なうことにより、転送デッドロックが確実に回避され、トラックを確実に転送することができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態としてのリモート転送方法を説明するためのシーケンス図である。
【図2】本発明の第1実施形態としてのリモート転送方法を説明するためのブロック図である。
【図3】本発明の第1実施形態としてのリモート転送方法を、時間軸および図1および図2中の▲1▼〜▲8▼に対応させて説明するためのフローチャートである。
【図4】本発明の第1実施形態としてのリモート転送方法(転送エラー発生時)を説明するためのブロック図である。
【図5】本発明の第1実施形態としてのリモート転送方法(転送エラー発生時)を説明するためのシーケンス図である。
【図6】本発明の第1実施形態としてのリモート転送方法(転送エラー発生時)を、時間軸および図4および図5中の▲1▼〜▲9▼に対応させて説明するためのフローチャートである。
【図7】本発明の第2実施形態としてのリモート転送方法で用いられる順序性管理テーブルの例を示す図である。
【図8】本発明の第2実施形態としてのリモート転送方法を説明するためのブロック図である。
【図9】本発明の第2実施形態としてのリモート転送方法を、時間軸および図8中の (1)〜(10)に対応させて説明するためのフローチャートである。
【図10】(a)〜(d)は、それぞれ、本発明の第2実施形態としてのリモート転送方法を実行した際の順序性管理テーブルの登録状態を示す図である。
【図11】本発明の第3実施形態としてのリモート転送方法を説明するためのブロック図である。
【図12】本発明の第3実施形態としてのリモート転送方法を、時間軸および図11中の (1)〜(10)に対応させて説明するためのフローチャートである。
【図13】本発明の第4実施形態としてのリモート転送方法を説明するためのフローチャートである。
【図14】本発明の第4実施形態としてのリモート転送方法(回線障害による転送エラー発生時)を説明するためのブロック図である。
【図15】本発明の第4実施形態としてのリモート転送方法(回線障害による転送エラー発生時)を、時間軸および図14中の▲1▼〜▲7▼に対応させて説明するためのフローチャートである。
【図16】本来の業務を行なう正センタとバックアップ用の副センタとをそなえたシステムの従来構成を示すブロック図である。
【図17】正センタおよび副センタにおけるリモートFCU間を通信回線により接続したリモートシステムの一般的構成の一例を示すブロック図である。
【図18】一般的なリモートFCUの構成を示すブロック図である。
【図19】順序性が保たれているデータ書込/転送を説明するためのブロック図である。
【図20】順序性が保たれているデータ書込/転送を、時間軸および図19中の▲1▼〜▲4▼に対応させて説明するためのフローチャートである。
【図21】順序性が保たれていないデータ書込/転送を説明するためのブロック図である。
【図22】順序性が保たれていないデータ書込/転送を、時間軸および図21中の▲1▼〜▲5▼に対応させて説明するためのフローチャートである。
【図23】(a)および(b)は、それぞれ、順序性を保証しながら転送されるべき2つのトラックの具体例を示す図である。
【図24】図23(a)および図23(b)にそれぞれ示す2つのトラックが順序性を保証されながら転送された時の副センタ側リモートFCUの動作を説明するための図である。
【図25】図23(a)および図23(b)にそれぞれ示す2つのトラックの転送順序が逆になった時の副センタ側リモートFCUの動作を説明するための図である。
【符号の説明】
1A 正センタ(業務システム)
1B 副センタ(バックアップシステム)
2A 正センタ側ホスト(CPU)
2B 副センタ側ホスト(CPU)
4A 正センタ側磁気ディスク装置(ボリューム)
4B 副センタ側磁気ディスク装置(ボリューム)
6 通信回線
10A 正センタ側リモートFCU(正センタ側磁気ディスク制御装置)
10B 副センタ側リモートFCU(副センタ側磁気ディスク制御装置)
11 CA(Channel Adapter)
12 RM(Resource Manager)
13 TS(Table Storage)
14 RA(Remote Adapter)
15 CFE(Cache Function Engine)
16 SS(Shared Storage)
16a キャッシュメモリ
17 DA(Device Adapter)
18 C−BUS(Control−BUS)
20 順序性管理テーブル(Table)
[0001]
(table of contents)
TECHNICAL FIELD OF THE INVENTION
Conventional technology (FIGS. 16 to 18)
Problems to be Solved by the Invention (FIGS. 19 to 25)
Means for solving the problem
BEST MODE FOR CARRYING OUT THE INVENTION
[A] Description of the first embodiment (FIGS. 1 to 6)
[B] Description of the second embodiment (FIGS. 7 to 10)
[C] Description of the third embodiment (FIGS. 11 and 12)
[D] Description of the fourth embodiment (FIGS. 13 to 15)
[E] Other
The invention's effect
[0002]
BACKGROUND OF THE INVENTION
In general, in a system in which a secondary center (backup system) is installed at a location (remote location) different from the location of the primary center (business system) where the original business is performed, and the primary center business can be backed up by the secondary center Each center is provided with a magnetic disk control device (hereinafter referred to as a remote FCU (File Control Unit)) having a remote transfer function.
[0003]
The present invention relates to a remote transfer method for realizing a function for guaranteeing the order of transfer data (tracks) when remote transfer is performed from the primary center side to the secondary center side by the remote FCU described above.
[0004]
[Prior art]
In recent years, when the operation of the main center (business system) that performs the original business is stopped due to a disaster such as an earthquake or sudden failure, as shown in FIG. It is common to install a sub-center (backup system) 1B on the ground.
[0005]
The configuration of the system that enables backup of the work of the main center 1A by the sub-center 1B in the remote place will be described with reference to FIG. In FIG. 16, components having the same function in the primary center 1A and the sub-center 1B are given the same numerals as the symbols, and symbols indicating components belonging to the primary center 1A are given “A”. The reference numerals indicating the components belonging to the sub-center 1B are given “B”.
[0006]
The primary center 1A includes a host (CPU) 2A, a magnetic disk control unit (hereinafter referred to as FCU) 3A, a magnetic disk unit (volume) 4A, and an adapter 5A. The host 2A performs processing for the original business and is connected to the communication line 6 via the adapter 5A. The FCU 3A is interposed between the host 2A and the magnetic disk device 4A, and writes / reads to / from the magnetic disk device 4A in response to input / output signals (hereinafter sometimes simply referred to as I / O) from the host 2A. Control is performed.
[0007]
Similarly to the primary center 1A, the secondary center 1B includes a host (CPU) 2B, an FCU 3B, a magnetic disk device (volume) 4B, and an adapter 5B. The host 2B takes over processing for business from the main center 1A at the time of backup, and is connected to the communication line 6 via the adapter 5B. The FCU 3B is interposed between the host 2B and the magnetic disk device 4B, and performs write / read control for the magnetic disk device 4B in accordance with input / output signals from the host 2B.
[0008]
In the main center 1A, when the data of the magnetic disk device 4A is changed in accordance with the execution of business, information about the changed data is sent to the communication line 6 through the host 2A and the adapter 5A. It is transmitted to the sub-center 1B via the line 6. The information is received by the host 2B from the communication line 6 through the adapter 5B in the sub-center 1B. The host 2B outputs I / O to the FCU 3B, thereby correcting the data of the magnetic disk device 4B. The same change as the data of the magnetic disk device 4A of the center 1A is performed. As a result, the same data is always held in the magnetic disk device 4A of the primary center 1A and the magnetic disk device 4B of the secondary center 1B. That is, a volume (remote shadow volume) equivalent to the magnetic disk device 4A of the primary center 1A is always constructed in the magnetic disk device 4B of the secondary center 1B.
[0009]
Therefore, if the operation of either the primary center 1A or the sub-center 1B is stopped due to a disaster such as an earthquake or a sudden failure, the data is held in the other center 1B or 1A that has avoided the operation stop. Therefore, the other center 1B or 1A can immediately take over the operation of the center 1A or 1B that has stopped operating and back up the business.
[0010]
However, since the host 2A performs processing for the original business and has a heavy load from the beginning, when the host 2A of the primary center 1A transfers data to the secondary center 1B as described above, it can transfer too much data. Therefore, efficient transfer could not be performed.
Therefore, in each of the primary center 1A and the secondary center 1B, instead of the FCUs 3A and 3B shown in FIG. 16, as shown in FIG. 17, FCU (hereinafter referred to as remote FCU) 10A and 10B having a remote transfer function are provided. A remote system in which the remote FCUs 10A and 10B are connected by a communication line 6 has been proposed and used. In this remote system, data transfer (remote transfer) from the primary center 1A to the secondary center 1B is performed by the remote FCU 10A, so that the load on the host 2A is distributed and data transfer can be performed efficiently.
[0011]
For example, a high-speed digital line or an ATM line is used as the communication line 6 connecting the remote FCUs 10A and 10B. The hosts 2A and 2B and the remote FCUs 10A and 10B are connected by a channel interface, and the remote FCUs 10A and 10B and the magnetic disk units (volumes) 4A and 4B are connected by a PCI (Peripheral Component Interconnect) interface or SCSI. (Small Computer System Interface) interface.
[0012]
The configuration of the remote FCUs 10A and 10B described above will be described with reference to FIG. As shown in FIG. 18, each of the remote FCUs 10A and 10B includes a CA (Channel Adapter) 11, an RM (Resource Manager) 12, a TS (Table Storage) 13, an RA (Remote Adapter) 14, and a CFE (Cache Function Engine). 15, SS (Shared Storage) 16, DA (Device Adapter) 17, and C-BUS (Control-BUS) 18.
[0013]
Here, CA11 is a module in charge of external interface control with the hosts 2A and 2B, RM12 is a module in charge of management / control of resources in the remote FCUs 10A and 10B related to basic operations, and TS13 is A memory attached to the RM 12 and used as a resource management table in the remote FCUs 10A and 10B.
[0014]
The RA 14 is a line communication module that uses a line control device (not shown) and is responsible for transferring data to and from another remote FCU 10A or 10B via the communication line 6. The CFE 15 is a cache memory 16a in the SS 16. This module is responsible for managing (see FIG. 17). Here, the shared memory unit including the cache memory 16a and the like is collectively referred to as SS (reference numeral 16). Normally, a plurality (for example, 2 to 8) of RAs 14 are mounted on each remote FCU 10A, 10B, and a plurality (for example, 2 to 8) of RA 14 is provided between the primary center 1A and the subcenter 1B. The line is laid. However, in FIG. 17, only one RA 14 and one communication line 6 are shown.
[0015]
The DA 17 is a module in charge of interface control with the lower-level magnetic disk devices (volumes) 4A and 4B, and the C-BUS 18 is used for the above-described functional modules (reference numerals 11 to 17) to communicate with each other. The route is used for transmission / reception of control information between modules.
The data flow in the remote system configured as described above will be described with reference to FIG.
[0016]
As shown in FIG. 17, the RA 14 in the remote FCU 10A is connected to the RA 14 in the remote FCU 10B in the remote center 1B via the communication line 6, and the data from the host 2A in the primary center 1A. Is received by the CA 11 of the remote FCU 10A and once written to the cache memory 16a on the SS 16.
[0017]
The data (track) written in the cache memory 16a is divided into a plurality of packets by the RA 14 and transferred to the remote FCU 10B on the secondary center 1B side. In the primary center 1A, writing from the cache memory 16a to the magnetic disk device 4A is executed at an appropriate timing by the DA 17 of the remote FCU 10A.
[0018]
On the other hand, in the secondary center 1B, data from the remote FCU 10A on the primary center 1A side is received by the RA 14 of the remote FCU 10B, and is once written in the cache memory 16a on the SS 16. The data (track) written to the cache memory 16a is written to the magnetic disk device 4B by the DA 17 at an appropriate timing.
[0019]
[Problems to be solved by the invention]
By the way, when the host 2A on the primary center 1A side issues an I / O to the remote FCU 10A, it designates the order guarantee mode to perform data writing / transfer with guaranteed order to the remote FCU 10A. Can be made.
Here, data writing / transfer in which order is guaranteed means that, on the primary center 1A side, data to be written / transferred in the order of tracks T1, T2, T3 is sent from the host 2A to the remote FCU 10A. Data (tracks T1, T2, T3) is written / transferred in the same order to the magnetic disk unit 4A on the primary center 1A side and the remote FCU 10B on the secondary center 1B side.
[0020]
When the host 2A on the primary center 1A side designates the order guarantee mode as described above, on the primary center 1A side, the order of data sent from the host 2A to the remote FCU 10A, and from the remote FCU 10A to the magnetic disk unit 4A The order of data sent is always guaranteed for control.
However, on the secondary center 1B side, the remote FCU 10B writes the tracks from the primary center 1A side to the magnetic disk device 4B in the order of arrival, so the order may be lost (ie, the magnetic disk device 4B The order of tracks to be written may be different from the order of data transmitted from the host 2A on the primary center 1A side).
[0021]
Hereinafter, data writing / transfer in which order is maintained, data writing / transfer in which order is not maintained, and the necessity of a transfer function that guarantees order will be described with reference to FIGS. explain.
First, data writing / transfer in which order is maintained will be described with reference to FIGS. 19 and 20. FIG. Here, FIG. 19 is a diagram for explaining data writing / transfer in which order is maintained, and FIG. 20 shows data writing / transfer in which order is maintained in the time axis and FIG. 5 is a flowchart for explaining in correspondence with (1) to (4). In FIG. 19, the same reference numerals as those described above indicate the same or substantially the same parts, and the description thereof will be omitted.
[0022]
However, in the remote system shown in FIG. 19, the remote FCU 10A on the primary center 1A side and the remote FCU 10B on the secondary center 1B side are connected by two communication lines 6-1 and 6-2. That is, two RAs 14 (hereinafter referred to as RA01 and RA02, respectively) are mounted on the remote FCU 10A, and two RAs 14 (hereinafter referred to as RA03 and RA04, respectively) are mounted on the remote FCU 10B. RA01 and RA03 are connected by a communication line 6-1, and RA02 and RA04 are connected by a communication line 6-2.
[0023]
As shown in FIGS. 19 and 20, on the primary center 1A side, the host 2A sequentially writes tracks T1 and T2 into the cache memory 16a secured on the SS 16 of the remote FCU 10A ((1) and (See (3)). At this time, it is assumed that neither of the two communication lines 6-1 and 6-2 is used.
Then, the remote FCU 10A reads the track T1 previously written in the cache memory 16a by RA01 and transfers it to the remote FCU 10B on the secondary center 1B side using the communication line 6-1 (RA01 / RA03 path) (▲ 2 ▼).
[0024]
Following this, the remote FCU 10A next transfers the track T2 written in the cache memory 16a. At this time, since the communication line 6-1 (RA01 / RA03 path) is in use, RA02 The track T2 is read and transferred to the remote FCU 10B on the secondary center 1B side using the communication line 6-2 (RA02 / RA04 path) (see (4)).
[0025]
Thus, in the data transfer examples shown in FIGS. 19 and 20, the tracks T1 and T2 are transferred from the remote FCU 10A to the remote FCU 10B in the order sent from the host 2A. The tracks T1 and T2 are written to the magnetic disk device 4B while maintaining the order.
[0026]
On the other hand, data writing / transfer in which order is not maintained will be described with reference to FIGS. Here, FIG. 21 is a diagram for explaining data writing / transfer in which order is not maintained, and FIG. 22 is a time axis and data writing / transfer in which order is not maintained in FIG. 7 is a flowchart for explaining in correspondence with (1) to (5). In FIG. 21, the same reference numerals as those already described indicate the same or substantially the same parts, and the description thereof will be omitted.
[0027]
As shown in FIGS. 21 and 22, on the primary center 1A side, the host 2A sequentially writes the tracks T1 and T2 to the cache memory 16a secured on the SS 16 of the remote FCU 10A ((1) and (See (3)). At this time, it is assumed that neither of the two communication lines 6-1 and 6-2 is used.
Then, the remote FCU 10A reads the track T1 previously written in the cache memory 16a by RA01, and uses the communication line 6-1 (RA01 / RA03 path) for the track T1 to the remote FCU 10B on the secondary center 1B side. The transfer is started (see (2)).
[0028]
Subsequently, the remote FCU 10A transfers the track T2 written to the cache memory 16a next. At this time, since the communication line 6-1 (RA01 / RA03 path) is in use, the track is transmitted by RA02. T2 is read and transferred to the remote FCU 10B on the secondary center 1B side using the communication line 6-2 (RA02 / RA04 path) (see (4)).
[0029]
In this way, when both RA01 and RA02 are transferring, if the transfer of the track T1 fails due to a failure on the communication line 6-1 or the like, the remote FCU 10A causes the communication line 6-2 (RA02 / RA02) by RA02. At this point, the communication line 6-2 (RA02 / RA04 path) is used to transfer the track T2. The transfer of the track T1 is kept waiting until (4) is completed. When the transfer of the track T2 by RA02 is completed, the track T1 is read by RA02 and transferred to the remote FCU 10B on the secondary center 1B side using the communication line 6-2 (RA02 / RA04 path) (see (5)). ).
[0030]
Thus, in the data transfer examples shown in FIGS. 21 and 22, due to the occurrence of a transfer error, the track arrival order of the remote FCU 10B on the secondary center 1B side (that is, the writing order to the magnetic disk device 4B) is correct. This is different from the track sending order on the center 1A side, and the order is lost. Specifically, those sent in the order of tracks T1 and T2 arrive at the remote FCU 10B in the order of tracks T2 and T1 and are written to the magnetic disk device 4B.
[0031]
Next, the necessity of the transfer function that guarantees the order will be described with reference to FIGS. Here, FIG. 23A and FIG. 23B are diagrams showing specific examples of the two tracks T1 and T2 to be transferred while guaranteeing the order, respectively, and FIG. 24 shows FIG. FIG. 23B is a diagram for explaining the operation of the remote FCU 10B on the side of the sub center 1B when the two tracks T1 and T2 shown in FIG. 23B are transferred while guaranteeing the order, and FIG. FIG. 24 is a diagram for explaining the operation of the remote FCU 10B on the secondary center 1B side when the transfer order of the two tracks T1 and T2 shown in FIG. 23A and FIG. 23B is reversed.
[0032]
The order guarantee function is necessary, for example, when a plurality of data blocks are transferred with one I / O [one SIO (Start I / O) request from the host 2A].
When transferring a large number of data blocks from the primary center 1A side to the remote FCU 10B on the secondary center 1B side by one I / O, the data block to be transferred cannot be transferred with only the capacity of one record. May be divided and transferred. For example, as shown in FIG. 23A, a data block DB1 including an index for managing each subsequent data block and a number of data blocks DB2,..., DBm including update data are transferred, and FIG. ), The data block DB (m + 1),... Containing update data may be transferred by the track T2.
[0033]
At this time, when one set of update data is included in the data blocks DBm and DB (m + 1), ON / OFF of the recovery flag is set in the previous data block DBm. The role of the recovery flag and the operation of the remote FCU 10B on the secondary center 1B side when the two tracks T1 and T2 are transferred while guaranteeing the order will be described with reference to FIG.
[0034]
When the two tracks T1 and T2 are transferred while guaranteeing the order, the remote FCU 10B on the secondary center 1B side recovers the recovery flag and the update data from the data block DBm transferred by the track T1, as shown in FIG. (See {circle around (1)}), the update data paired with the update data of the data block DBm is written from the data block DB (m + 1) transferred by the subsequent track T2 (see {circle around (2)}). Thereafter, a pointer for managing the data block DB (m + 1) is written to the index of the data block DB1 (see (3)).
[0035]
Here, if the recovery flag of the data block DBm is set to ON, the data block DB (m + 1) is written even if a system down occurs between the operations (2) and (3) shown in FIG. You can proceed to the state. That is, the contents of the disk can be restored by setting a pointer from the data block DB1 to the data block DB (m + 1).
[0036]
On the other hand, when the transfer order of the two tracks T1 and T2 is reversed due to the occurrence of a transfer error or the like, the remote FCU 10B on the sub-center 1B side first starts with the track T2, as shown in FIG. After writing the update data paired with the update data of the data block DBm from the transferred data block DB (m + 1) (see (2)), the recovery flag is then transferred from the data block DBm transferred by the track T1. And update data is written (see (1)). Thereafter, a pointer for managing the data block DB (m + 1) is written to the index of the data block DB1 (see (3)).
[0037]
At this time, if a system down occurs between the operations (2) and (1) shown in FIG. 25, the recovery flag included in the data block m transferred on the track T1 at that time is not yet set. Since it is arrival, the recovery flag is treated as OFF. That is, it is determined that no recovery process is necessary in the remote FCU 10B, and nothing is updated in the index to the data block DB (m + 1). Therefore, it is determined that the area of the data block DB (m + 1) is an area where no data exists, and the data block DB (m + 1) area is overwritten by another data in the subsequent data processing, resulting in data destruction. There is a fear.
[0038]
In order to prevent such data destruction, an order guarantee function is required.
The present invention has been devised in view of such problems. When the order guarantee mode is designated, even if a transfer error occurs, the data (track) is correctly corrected while ensuring the order. It is an object of the present invention to provide a remote transfer method by a magnetic disk control device that can transfer data from a center side to a sub-center side.
[0039]
[Means for Solving the Problems]
In order to achieve the above object, a remote transfer method using a magnetic disk control device according to the present invention (Claim 1) includes a main center and a sub center having a magnetic disk device and a magnetic disk control device for controlling the magnetic disk device. In a remote system in which the primary center side magnetic disk control device and the secondary center side magnetic disk control device are connected by a plurality of communication lines, the primary center side magnetic disk control device and the secondary center side are connected through the plurality of communication lines. A method for transferring data to a side magnetic disk control device, wherein a plurality of tracks are continuously transferred from a primary center side magnetic disk control device to a secondary center side magnetic disk control device while ensuring the order. When the order guarantee mode is specified by the host on the positive center side, the magnetic disk on the positive center side Control device,A plurality of tracks transferred by the same input / output request from the primary center host are assigned the same identification number and a serial number corresponding to the transmission order from the primary center host, and the identification number and serial number are The given plurality of tracks are simultaneously transferred to the sub-center side magnetic disk control device via a plurality of communication lines, and the sub-center side magnetic disk control device transfers the tracks transferred from the main center side and written on the sub-center side. There is an order management table that holds the identification number assigned and the serial number LSN assigned to the track that has the identification number and was written last on the secondary center side. When a new track is transferred, the serial number SN assigned to the track and the order management table are retained. The serial number LSN corresponding to the identification number assigned to the track is compared. If SN ≠ LSN + 1, the serial number LSN in the order management table is updated by writing another track, and SN = LSN + 1 Until SN, the track is kept waiting without giving the write permission to the track. On the other hand, when SN = LSN + 1, the write permission is given to the track, and the sub-center side magnetic disk device of the track If the serial number LSN of the track is registered / updated as the serial number LSN of the order management table when writing to the track is completed, and a transfer error occurs due to a line failure during transfer of a certain track, Side magnetic disk control device has an unused communication line among other communication lines. If there is an unused communication line, use the unused communication line to transfer the track in which a transfer error occurred, while there is no unused communication line. Determine whether the serial number assigned to the track currently being transferred contains a serial number larger than the serial number assigned to the track that caused the transfer error. If the corresponding serial number exists, the transfer of the track having the corresponding serial number is interrupted. , Use the communication line that was used to transfer the track, and transfer the track that caused the transfer error.It is characterized by that.
[0042]
At this time, the order management table may be managed by a resource module that manages / controls the resources in the secondary center side magnetic disk control device.2The track may be provided on a cache memory for temporary writing before writing to the secondary center side magnetic disk device.3).
Also,A remote transfer method by a magnetic disk control device according to the present invention (Claim 4) comprises a main center and a sub-center having a magnetic disk device and a magnetic disk control device for controlling the magnetic disk device, and controls the magnetic disk on the main center side. In a remote system in which the system and the secondary center side magnetic disk control unit are connected by a plurality of communication lines, data is transferred from the primary center side magnetic disk control unit to the secondary center side magnetic disk control unit through the multiple communication lines. The transfer method is a method for transferring a plurality of tracks continuously from the primary center side magnetic disk controller to the secondary center side magnetic disk controller while guaranteeing the order. When specified by the center side host, the primary center side magnetic disk control device A plurality of tracks transferred in response to the same input / output request from the host are assigned the same identification number and a serial number corresponding to the order of transmission from the primary center host, and the identification number and the serial number are given. The plurality of tracks are simultaneously transferred to the secondary center side magnetic disk controller via a plurality of communication lines,If a transfer error occurs due to a line failure during transfer of a track, the primary center side magnetic disk controller checks whether there are other unused communication lines among the multiple communication lines, and When there is a communication line, the unused track is used to transfer the track in which a transfer error has occurred. When there is no unused link, the track is being transferred. It is determined whether there is a serial number that is larger than the serial number assigned to the track in which the transfer error occurred. If there is no corresponding serial number, the communication line in use While waiting for the transfer of the track in which the transfer error occurred until it is released, if the corresponding serial number exists, the track with the corresponding serial number is present. Interrupt the transfer, row transfer of the track caused transmission errors by using a communication line that was being used for the transfer of the trackIt is characterized by that.
[0043]
The remote transfer method of the present invention described above (claims)1~3), In the secondary center side magnetic disk controller, the serial number SN of the track transferred from the primary center side is the serial number LSN (tracks belonging to the same I / O as that track) held in the order management table. It is determined whether or not the last written serial number) is equal to a value obtained by adding 1. For example, when the SN of the track is LSN + 2 (SN ≠ LSN + 1), the track has been transferred before the track assigned LSN + 1 as the serial number, and the predetermined order is lost. It can be determined that
[0044]
Therefore, if SN ≠ LSN + 1, the track is made to wait until the serial number LSN in the order management table is updated to SN = LSN + 1 by writing another track. That is, even if an error occurs during track transfer and the transfer order of the tracks to the sub-center side is reversed and the predetermined order is lost, the track order can be adjusted on the sub-center side.
[0045]
At this time, a transfer error occurs due to a line failure during transfer of a certain track, there is no unused communication line for transferring the track in which the transfer error occurred, and the serial number of the track currently being transferred Consider a case in which three conditions such that there is a serial number larger than the serial number of a track in which a transfer error has occurred overlapped. In this case, the track to be written after that track is transferred to the sub-center side first, and is waiting for the transfer of the track in which the transfer error has occurred. Since it does not exist, a transfer deadlock that locks a track in which a transfer error has occurred in a state where it cannot be transferred occurs.
[0046]
Therefore, if the above three conditions overlap, the primary center-side magnetic disk controller interrupts the transfer of the transfer deadlocked track and uses the communication line that was in use for the transfer of that track. To transfer a track with a transfer error to avoid a transfer deadlock.1, 4).
[0047]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
The remote system to which the remote transfer method by the magnetic disk control device as the embodiment (first to fourth embodiments) of the present invention is applied is the same as that shown in FIG. Since the magnetic disk control apparatuses, that is, the remote FCUs 10A and 10B in the first to fourth embodiments) are the same as those shown in FIG. 18, detailed descriptions of these systems and the remote FCUs 10A and 10B are omitted. In the figure, the same reference numerals as those already described indicate the same or similar parts, and the description thereof is omitted.
[0048]
Also, in the remote system of this embodiment described below (see FIGS. 2, 4, 8, 11, and 14), there is a gap between the remote FCU 10A on the primary center 1A side and the remote FCU 10B on the secondary center 1B side. They are connected by two communication lines 6-1 and 6-2. That is, two RAs 14 (hereinafter referred to as RA01 and RA02) are mounted on the remote FCU 10A, and two RAs 14 (hereinafter referred to as RA03 and RA04, respectively) are mounted on the remote FCU 10B. RA01 and RA03 are connected by a communication line 6-1, and RA02 and RA04 are connected by a communication line 6-2.
[0049]
[A] Description of the first embodiment
First, the remote transfer method according to the first embodiment of the present invention will be described with reference to FIGS. 1 and 2 are a sequence diagram and a block diagram for explaining the remote transfer method of the first embodiment, respectively. FIG. 3 shows the remote transfer method of the first embodiment as a time axis, and FIG. 3 is a flowchart for explaining in correspondence with (1) to (8) in FIG. In FIG. 2, the same reference numerals as those described above indicate the same or substantially the same parts, and the description thereof will be omitted.
[0050]
In order to realize the remote transfer method according to the first embodiment of the present invention, in the remote system of the first embodiment, when the order guarantee mode is designated, the remote FCU 10A (CA11) on the primary center 10A side is set to 1 from the host 2A. When a transfer request for one track is received, only a notification that the track has been received (Channel End) is reported to the host 2A, and "Device End" is not returned. Is transferred to the remote FCU 10B, and “Device End” is sent back to the host 2A as a transfer completion notification when the transfer is completed.
[0051]
Further, when the order guarantee mode is designated, the host 2A on the primary center 1A side makes a track transfer request to the remote FCU 10A one by one, receives a transfer completion notification (Device End) from the remote FCU 10A, and then A track transfer request is issued to the remote FCU 10A.
Note that the characteristic functions / configurations of the first embodiment described above are all easily realized by slightly modifying the firmware (program) for realizing the remote transfer that has been used conventionally. The
[0052]
Next, the procedure of the remote transfer method according to the first embodiment in a state where no transfer error occurs will be described with reference to FIGS.
As shown in FIGS. 1 to 3, when the order guarantee mode is designated by the host 2A on the primary center 1A side, the host 2A performs the following operation on the cache memory 16a secured on the SS 16 of the remote FCU 10A. Only one track T1 is written (see (1)). At this time, it is assumed that neither of the two communication lines 6-1 and 6-2 is used.
[0053]
When the remote FCU 10A receives the track T1, it reports "Channel End" to the host 2A (see (2)), reads the track T1 written in the cache memory 16a by RA01, and transmits the communication line 6 -1 (RA01 / RA03 path) is used to transfer to the remote FCU 10B on the secondary center 1B side (see (3)). When the transfer of the track T1 to the sub-center 1B is completed, the remote FCU 10A reports a transfer completion notification (Device End) to the host 2A (see (4)).
[0054]
Receiving the transfer completion notification from the remote FCU 10A, the host 2A writes only one second track T2 following the track T1 to the cache memory 16a of the remote FCU 10A (see (5)).
After that, when the remote FCU 10A receives the track T2 as described above, it reports "Channel End" to the host 2A (see (6)), and the track T2 written in the cache memory 16a by RA01 is recorded. Read and transfer to the remote FCU 10B on the secondary center 1B side using the communication line 6-1 (RA01 / RA03 path) (see (7)). When the transfer of the track T1 to the sub-center 1B is completed, the remote FCU 10A reports a transfer completion notification (Device End) to the host 2A (see (8)).
[0055]
Accordingly, the tracks T1 and T2 are sent one by one from the host 2A, and the track T2 is not sent until the transfer of the track T1 is completed. Therefore, the sub-center 1B side keeps the order of the track T1. , T2 are written to the magnetic disk device 4B (cache memory 16a).
On the other hand, the procedure of the remote transfer method according to the first embodiment when a transfer error occurs due to a line failure or the like during the transfer of the track T1 will be described with reference to FIGS. 4 is a block diagram for explaining a remote transfer method (when a transfer error occurs) as a first embodiment of the present invention, and FIG. 5 is a remote transfer method (first embodiment of the present invention). FIG. 6 is a sequence diagram for explaining (when a transfer error occurs). FIG. 6 shows a remote transfer method (when a transfer error occurs) according to the first embodiment of the present invention. It is a flowchart for demonstrating corresponding to-(9). In FIG. 4, the same reference numerals as those already described indicate the same or substantially the same parts, and the description thereof is omitted.
[0056]
As shown in FIGS. 4 to 6, when the order guarantee mode is designated by the host 2A on the primary center 1A side, the host 2A makes the cache memory 16a secured on the SS 16 of the remote FCU 10A with respect to the cache memory 16a. Only one track T1 is written (see (1)). At this time, it is assumed that neither of the two communication lines 6-1 and 6-2 is used.
[0057]
When the remote FCU 10A receives the track T1, it reports "Channel End" to the host 2A (see (2)), reads the track T1 written in the cache memory 16a by RA01, and transmits the communication line 6 -1 (RA01 / RA03 path) to the remote FCU 10B on the secondary center 1B side, but if the transfer fails due to a line error (line failure), the remote FCU 10A uses the alternative path It is determined to transfer the track T1 (see (3)).
[0058]
At this time, since the other communication line 6-2 (RA02 / RA04 path) is unused, the remote FCU 10A uses the communication line 6-2 to transfer the track T1 to the remote FCU 10B on the sub-center 1B side. Transfer (see (4)).
When the transfer of the track T1 to the sub-center 1B is completed through the communication line 6-2, the remote FCU 10A reports a transfer completion notification (Device End) to the host 2A (see (5)).
[0059]
Receiving the transfer completion notification from the remote FCU 10A, the host 2A writes only one second track T2 following the track T1 to the cache memory 16a of the remote FCU 10A (see (6)).
Thereafter, when the remote FCU 10A receives the track T2, it reports "Channel End" to the host 2A (see (7)), reads the track T2 written in the cache memory 16a by RA01, and causes a line failure. The communication line 6-2 (RA02 / RA04 path) is used without using the communication line 6-1 in which the error occurred, and is transferred to the remote FCU 10B on the secondary center 1B side (see (8)). When the transfer of the track T1 to the sub-center 1B is completed, the remote FCU 10A reports a transfer completion notification (Device End) to the host 2A (see (9)).
[0060]
As described above, according to the remote transfer method as the first embodiment of the present invention, in the state where the order guarantee mode is designated by the host 2A, the host 2A makes track transfer requests one by one. When a transfer request for one track is made to the remote FCU 10A, a transfer request for the next track is not issued until a transfer completion notification for that track is received from the remote FCU 10A. Each is transferred to the sub-center 1B side.
[0061]
That is, as described with reference to FIGS. 4 to 6, even if an error occurs during track transfer, the communication line 6-2 other than the communication line 6-1 in which the communication failure has occurred is used.UseSince the start of transfer of the next track can be suppressed until the transfer of the track is completed, the order of the track can be reliably guaranteed.
[B] Description of the second embodiment
Next, a remote transfer method according to the second embodiment of the present invention will be described with reference to FIGS. 7 is a diagram showing an example of an order management table used in the remote transfer method of the second embodiment, FIG. 8 is a block diagram for explaining the remote transfer method of the second embodiment, and FIG. FIG. 10A to FIG. 10D are flowcharts for explaining the remote transfer method of the second embodiment in correspondence with the time axis and (1) to (10) in FIG. It is a figure which shows the registration state of the order management table at the time of performing the remote transfer method of embodiment. In FIG. 8, the same reference numerals as those already described indicate the same or substantially the same parts, and the description thereof is omitted.
[0062]
In order to realize the remote transfer method according to the second embodiment of the present invention, the host 1A and the remote FCUs 10A and 10B in the remote system of the second embodiment have the following functions.
In the second embodiment, on the main center 1A side, unlike the first embodiment, the host 2A sequentially sends a plurality of tracks to the remote FCU 10A in a predetermined order as in the conventional case. A plurality of communication lines 6-1 and 6-2 (only two are shown in the present embodiment) are simultaneously used and transferred to the sub-center 1B side.
[0063]
However, in the second embodiment, when the order guarantee mode is designated, the remote FCU 10A gives the following information (a1) and (a2) to the track transferred through the communication line 6-1 or 6-2.
(A1) Track number (serial number SN): Information indicating the number of tracks related to the I / O of the track belonging to the same I / O from the host 2A. This track number matches the order in which tracks are sent from the host 2A to the remote FCU 10A.
[0064]
(A2) ID value (identification number): The same ID value is assigned to tracks belonging to the same I / O from the host 2A, and the I / O to which the track belongs can be identified by the ID value. It has become. This ID value is incremented every time a new I / O (Start I / O) is received from the host 2A by the remote FCU 10A.
[0065]
In the remote FCU 10B on the secondary center 1B side in the second embodiment, the RM 12 (TS 13) is provided with an order management table (Table) 20 that holds the ID value and the track number (SN) described above. Yes.
The order management table 20 includes an ID value assigned to a track transferred from the primary center 1A side and written on the secondary center 1B side, and a track having the ID value and last written on the secondary center 1B side. The track number (serial number) LSN assigned to is stored in correspondence with each other. That is, as the track number in the order management table 20, the track number of the last written track is written as LSN in the cache memory 16a secured on the SS 16 of the remote FCU 10B with respect to the ID value.
[0066]
A specific example of values held in the order management table 20 is shown in FIG. In the specific example shown in FIG. 7, the track number “0001”, that is, only writing of the first track is completed for the track having the ID value “0001”, and the track is recorded for the track having the ID value “0002”. The writing of the number “0005”, that is, the fifth track is completed, and the track having the ID value “0003” is completed until the writing of the track number “0007”, that is, the seventh track.
[0067]
When the RA 14 in the remote FCU 10B on the secondary center 1B side receives a track from the RA 14 on the primary center 1A side, the RA 14 notifies the RM 12 of the ID value and the track number SN of the track and makes a write request to the cache memory 16a. have.
In response to a request from the RA 14, the RM 12 in the remote FCU 10B on the secondary center 1B side performs the following operation according to two conditions (b1) and (b2).
[0068]
Condition (b1): If the track number notified from the RA 14 is “1”, the ID value and the track number are written in the unused area or the oldest area in the order management table 20. However, the ID value notified from the RA 14 is written as it is as the ID value, but “0” is first written as the track number. Thereafter, the RM 12 notifies the RA 14 of permission to write the track to the cache memory 16a. The track number “0” in the order management table 20 is rewritten to “1” when the writing of the track to the cache memory 16a is completed.
[0069]
Condition (b2): If the track number notified from the RA 14 is other than “1”, it is searched whether or not the same ID value as that track is stored in the order management table 20. When the same ID value is already held, the track number SN notified from the RA 14 is compared with the track number LSN already held in the order management table 20, and whether SN = LSN + 1 is determined. to decide. If SN = LSN + 1, the RM 12 notifies the RA 14 of permission to write to the cache memory 16a of the track. If SN ≠ LSN + 1, the RM 12 notifies the RA 14 to the cache memory 16a of the track. Write permission is not given. Even when the same track ID value is not stored in the order management table 20, the RM 12 does not give the RA 14 permission to write to the cache memory 16a of the track.
[0070]
Further, when the RA 14 receives a write permission notification as a response from the RM 12, the RA 14 writes the track into the cache memory 16a secured on the SS 16, whereas when the RA 14 receives a non-permission notification, the RA 14 writes the track. After waiting for a while, the RM 12 operates again to make an inquiry.
Further, after writing the track in the cache memory 16a, the RA 14 notifies the RM 12 of the ID value and the track number SN of the track again, and requests to register in the order management table 20. The received RM 12 searches for the same ID value from the order management table 20, and operates to write the track number SN notified from the RA 14 as the LSN in the track number area linked to the ID value.
[0071]
Note that any of the characteristic functions / configurations of the second embodiment described above can be easily realized by slightly modifying the firmware (program) for realizing remote transfer that has been conventionally used. The
Next, the procedure of the remote transfer method according to the second embodiment will be described with reference to FIGS.
[0072]
As shown in FIG. 8 and FIG. 9, when the order guarantee mode is designated by the host 2A on the primary center 1A side, the host 2A first accesses the cache memory 16a secured on the SS 16 of the remote FCU 10A. Thus, the tracks T1 and T2 belonging to the same I / O are sequentially written [see (1) and (6)]. At this time, it is assumed that neither of the two communication lines 6-1 and 6-2 is used.
[0073]
The remote FCU 10A then reads the track T1 previously written in the cache memory 16a by RA01 and transfers it to the remote FCU 10B on the secondary center 1B side using the communication line 6-1 (RA01 / RA03 path). At this time, an ID value = 0001 and a track number = 0001 are added to the track T1 [see (2)].
[0074]
Following this, the remote FCU 10A next transfers the track T2 written in the cache memory 16a. Since the communication line 6-1 (RA01 / RA03 path) is in use, the track T2 is transferred by RA02. Read and transfer to the remote FCU 10B on the secondary center 1B side using the communication line 6-2 (RA02 / RA04 path). At this time, an ID value = 0001 and a track number = 0002 are added to the track T2 [see (7)].
[0075]
In the remote FCU 10B on the secondary center 1B side, the RA03 first receives the track T1 transferred from the primary center 1A side, and this RA03 also notifies the RM12 of the ID value = 0001 and the track number = 0001 of the track T1 at the same time. RM12 is inquired whether or not the track T1 can be written. At this time, the RM 12 operates according to the condition (b1) described above, and notifies the RA03 of the write permission of the track T1 [see (3)]. By the operation of the RM 12, the order management table 20 changes from the state shown in FIG. 10A to the state shown in FIG.
[0076]
Upon receipt of the write permission notification from the RM 12, the RA 03 writes the track T1 in the cache memory 16a secured on the SS 16 [see (4)], and then again with respect to the RM 12, the ID value = 0001 and the track number = In response to this request, the RM 12 registers a track number in the order management table 20 [see (5)]. Thereby, the order management table 20 changes from the state shown in FIG. 10B to the state shown in FIG.
[0077]
In the remote FCU 10B on the secondary center 1B side, when the RA04 receives the track T2 from the primary center 1A side during the writing process of the track T1 (see (3) and (4)), the RA04 The T2 ID value = 0001 and the track number = 0002 are also notified to the RM 12 at the same time, and the RM 12 is inquired whether or not the track T2 can be written. At this time, the order management table 20 is in the state shown in FIG. 10B, and the RM 12 operates according to the condition (b2) described above. That is, SN ≠ LSN + 1 (where SN = 2, LSN = 0, and 2 ≠ 0 + 1), and the track T1 is not written in the cache memory 16a. (See (8) in FIG. 8, (8) -1 in FIG. 9)).
[0078]
The RA 04 that has received the write refusal notification from the RM 12 repeatedly inquires the RM 12 until the RM 12 gives permission to write the track T2 (see (8) in FIG. 8, (8) -2 in FIG. 9).
In the meantime, the writing of the track T1 is completed by RA03 [see (4)], and when the registration to the ordering management table 20 is completed [see (5)], the ordering management table 20 is shown in FIG. Since it is updated as shown and SN = LSN + 1 (where SN = 2, LSN = 1, 2 = 1 + 1), the RM 12 notifies the RA04 of the write permission of the track T2 [(8) of FIG. FIG. 9 (8) -3].
[0079]
The RA 04 that has received the write permission notification from the RM 12 writes the track T2 in the cache memory 16a secured on the SS 16 [see (9)], and then again with respect to the RM 12, the ID value = 0001 and the track number = In response to this request, the RM 12 registers a track number in the order management table 20 [see (10)]. Thereby, the order management table 20 changes from the state shown in FIG. 10C to the state shown in FIG.
[0080]
Thus, according to the remote transfer method as the second embodiment of the present invention, when the order guarantee mode is designated by the host 2A, the remote FCU 10B on the secondary center 1B side transfers from the primary center 1A side. The track number (serial number) SN of the track that has been recorded is the serial number LSN (the track number of the last written track among the tracks belonging to the same I / O as the track) held in the order management table 20. It is determined whether or not it is equal to the value obtained by adding 1. For example, when the track number SN of the track is LSN + 2 (SN ≠ LSN + 1), the track has been transferred before the track to which LSN + 1 is assigned as the track number. It can be determined that it is in a state of being damaged.
[0081]
Therefore, if SN ≠ LSN + 1, the track is made to wait until the serial number LSN of the order management table 20 is updated to SN = LSN + 1 by writing another track. In other words, even if an error occurs during track transfer and the order of tracks transferred to the sub center 1B is reversed and the predetermined order is lost, the order of the tracks is adjusted on the sub center 1B side. Since this can be done, the order of the tracks can be reliably guaranteed.
[0082]
In FIG. 8, only two communication lines 6-1 and 6-2 are illustrated for the sake of explanation. However, if three or more communication lines are provided, the communication line 6-1 is transferred during the transfer of the track T1. When a transfer error occurs due to a communication failure, the track T1 is transferred to the sub-center 1B side through a third communication line (not shown). At this time, the track T1 arrives at the sub-center 1B after the track T2. However, as described above, the remote FCU 10B waits for the track T2 to be written until the track T1 is written. Even if the track arrives after the track T2, writing is performed in the order of the tracks T1 and T2, and the order is not lost.
[0083]
Further, in the remote transfer method according to the second embodiment of the present invention, when the order guarantee mode is designated, two or more communication lines 6-1 and 6-2 can be used simultaneously unlike the first embodiment. The track transfer efficiency can be significantly improved as compared to the first embodiment.
[C] Description of the third embodiment
Next, a remote transfer method according to a third embodiment of the present invention will be described with reference to FIGS. FIG. 11 is a block diagram for explaining a remote transfer method as a third embodiment of the present invention, and FIG. 12 shows a remote transfer method as a third embodiment of the present invention in the time axis and ( It is a flowchart for demonstrating corresponding to 1)-(10). In FIG. 11, the same reference numerals as those described above indicate the same or substantially the same parts, and the description thereof is omitted.
[0084]
In order to realize the remote transfer method according to the third embodiment of the present invention, the host 1A and the remote FCUs 10A and 10B in the remote system of the third embodiment also have the following functions as in the second embodiment. Yes.
That is, also in the third embodiment, on the primary center 1A side, as in the second embodiment, the host 2A sequentially sends a plurality of tracks to the remote FCU 10A in a predetermined order. In the embodiment, only two communication lines 6-1 and 6-2 are used at the same time and transferred to the sub-center 1B side.
[0085]
Also in the third embodiment, when the order guarantee mode is designated, the remote FCU 10A transfers the track number (a1) and the ID value (a2) to the tracks transferred through the communication line 6-1 or 6-2. ).
However, in the remote FCU 10B on the sub-center 1B side in the third embodiment, the order management table 20 that holds the ID value and the track number (SN) described above is provided on the cache memory 16a secured on the SS 16. It has been. The major difference in configuration between the second embodiment and the third embodiment is that the order management table 20 is provided in the cache memory 16a instead of the RM 12. Since the order management table 20 is as described above in the second embodiment, the description thereof is omitted.
[0086]
In the second embodiment, the RM 12 determines whether or not track writing is possible in response to a request from the RA 14, whereas in the third embodiment, the order management table 20 includes a cache memory. The determination is made by the RA 14 by reading the order management table 20 on the cache memory 16a.
[0087]
That is, when the RA 14 in the remote FCU 10B of the third embodiment receives a track from the RA 14 on the primary center 1A side, the RA 14 reads the order management table 20 from the cache memory 16a, and receives the information in the order management table 20 and the received track. Are compared with the track number SN, and the following operations are performed under two conditions (c1) and (c2).
[0088]
Condition (c1): If the track number notified from the RA 14 on the primary center 1A side is “1”, the ID value and the track number are written in the unused area or the oldest area in the order management table 20. However, the ID value notified from the RA 14 is written as it is as the ID value, but “0” is first written as the track number. Thereafter, the RA 14 writes the track into the cache memory 16a. The track number “0” in the order management table 20 is rewritten to “1” when the writing of the track to the cache memory 16a is completed.
[0089]
Condition (c2): If the track number notified from the RA 14 on the primary center 1A side is other than “1”, a search is made as to whether the same ID value as that track is stored in the order management table 20 . When the same ID value is already held, the track number SN is compared with the track number LSN already held in the order management table 20, and it is determined whether or not SN = LSN + 1. If SN = LSN + 1, the RA 14 writes the track to the cache memory 16a. If SN ≠ LSN + 1, the RA 14 does not write the track to the cache memory 16a and waits for a while to write the track. After that, the operation is performed again to read the order management table 20 from the cache memory 16a. Even if the same track ID value is not held in the order management table 20, the RA 14 does not write the track to the cache memory 16a and waits for a while to write the track. After that, the sequence management table 20 is read again from the cache memory 16a.
[0090]
When the RA 14 of the remote FCU 10B determines that the track can be written as described above, the track is written to the cache memory 16a. After the writing is completed, the ID value same as the track ID value is obtained from the order management table 20. And the track number SN of the track is written as the LSN in the track number area linked to the ID value.
[0091]
Note that any of the characteristic functions / configurations of the third embodiment described above can be easily realized by slightly modifying the firmware (program) for realizing remote transfer that has been used conventionally. The
Next, the procedure of the remote transfer method according to the third embodiment will be described with reference to FIGS. At that time, reference is also made to FIGS. 10A to 10D used in the description of the second embodiment.
[0092]
As shown in FIGS. 11 and 12, when the order guarantee mode is designated by the host 2A on the primary center 1A side, the host 2A first stores the cache memory 16a secured on the SS 16 of the remote FCU 10A. Thus, the tracks T1 and T2 belonging to the same I / O are sequentially written [see (1) and (6)]. At this time, it is assumed that neither of the two communication lines 6-1 and 6-2 is used.
[0093]
The remote FCU 10A then reads the track T1 previously written in the cache memory 16a by RA01 and transfers it to the remote FCU 10B on the secondary center 1B side using the communication line 6-1 (RA01 / RA03 path). At this time, an ID value = 0001 and a track number = 0001 are added to the track T1 [see (2)].
[0094]
Following this, the remote FCU 10A next transfers the track T2 written in the cache memory 16a, but since the communication line 6-1 (RA01 / RA03 path) is in use, the track T2 is transferred by RA02. Read and transfer to the remote FCU 10B on the secondary center 1B side using the communication line 6-2 (RA02 / RA04 path). At this time, an ID value = 0001 and a track number = 0002 are added to the track T2 [see (7)].
[0095]
In the remote FCU 10B on the secondary center 1B side, when the RA03 receives the track T1 transferred from the primary center 1A side, the RA03 reads the order management table 20 from the cache memory 16a and writes the track T1. Judging by all means. At this time, the RA 14 operates according to the condition (c1) described above, and determines that the writing of the track T1 is possible [see (3)]. By the operation of RA14, the order management table 20 is changed from the state shown in FIG. 10A to the state shown in FIG.
[0096]
Then, RA03 writes the track T1 to the cache memory 16a secured on the SS 16 [see (4)], and then updates the track number area corresponding to the track T1 of the order management table 20 on the cache memory 16a. The track number SN of the track T1 is reflected as LSN [see (5)]. Thereby, the order management table 20 changes from the state shown in FIG. 10B to the state shown in FIG.
[0097]
In the remote FCU 10B on the secondary center 1B side, the RA04 receives the track T2 from the primary center 1A side during the writing process of the track T1 (see (3) and (4)). The order management table 20 is read from the memory 16a to determine whether or not the track T2 is to be written. At this time, the order management table 20 is in the state shown in FIG. 10B, and RA04 operates according to the condition (c2) described above. That is, SN ≠ LSN + 1 (where SN = 2, LSN = 0, and 2 ≠ 0 + 1), and the track T1 is not written on the cache memory 16a. Therefore, the RA04 writes the track T2. Judgment is impossible (see (8) in FIG. 11 and (8) -1 in FIG. 12).
[0098]
The RA 04 that determines that the writing of the track T2 is impossible reads the repetitive order management table 20 from the cache memory 16a until the track number of the order management table 20 becomes “0001” ((8) in FIG. 11). FIG. 12 (8) -2].
In the meantime, the writing of the track T1 is completed by RA03 [see (4)], and when the registration to the ordering management table 20 is completed [see (5)], the ordering management table 20 is shown in FIG. Since it is updated as shown, and SN = LSN + 1 (where SN = 2, LSN = 1, and 2 = 1 + 1), RA04 determines that writing of track T2 is possible [(8 in FIG. 11 ), See (8) -3 in FIG.
[0099]
The RA 04 that has determined that the writing of the track T2 is possible writes the track T2 in the cache memory 16a secured on the SS 16 [see (9)], and then the track of the order management table 20 on the cache memory 16a. The track number area corresponding to T2 is updated to reflect the track number SN of the track T2 as LSN [see (10)]. Thereby, the order management table 20 changes from the state shown in FIG. 10C to the state shown in FIG.
[0100]
As described above, the remote transfer method according to the third embodiment of the present invention can provide the same effects as those of the second embodiment described above.
[D] Description of the fourth embodiment
By the way, when remote transfer is performed according to the second and third embodiments described above, a failure occurs in one line in a two-line configuration as shown in FIGS. 8 and 11, or there are three or more communication lines. However, if an unused communication line does not exist when a line failure occurs, the following transfer deadlock may occur.
[0101]
When a track is transferred, a transfer error occurs due to a line failure, there is no unused communication line to transfer the track in which the transfer error occurred, and in the track number of the track currently being transferred, It is assumed that a condition in which three conditions exist such that there is a track larger than the track number of the track in which the transfer error has occurred is generated.
[0102]
At this time, the track to be written after that track is transferred to the sub-center 1B first, and is waiting for the transfer errored track to be transferred. Therefore, there is a transfer deadlock that locks a track in which a transfer error has occurred in a state where the track cannot be transferred.
Therefore, in the remote transfer method according to the fourth embodiment of the present invention, when the above three conditions overlap, the remote FCU 10A on the primary center 1A side interrupts the transfer of the track in the transfer deadlock state, and A communication line that has been used for track transfer is used to transfer a track in which a transfer error has occurred, thereby avoiding a transfer deadlock.
[0103]
Such a remote transfer method as the fourth embodiment will be described with reference to FIGS. FIG. 13 is a flowchart for explaining the remote transfer method according to the fourth embodiment of the present invention. FIG. 14 shows the remote transfer method (when a transfer error occurs due to a line failure) according to the fourth embodiment of the present invention. FIG. 15 is a block diagram for illustrating the remote transfer method (when a transfer error occurs due to a line failure) as the fourth embodiment of the present invention, corresponding to the time axis and (1) to (7) in FIG. It is a flowchart for making it explain.
[0104]
The remote transfer method according to the fourth embodiment can be applied to both the remote transfer method according to the second embodiment and the third embodiment, but the fourth embodiment is applied to the remote transfer method according to the third embodiment. The case will be described.
The remote FCU 10A on the primary center 1A side in the fourth embodiment is obtained by adding the functions shown in the flowchart (steps S1 to S5) in FIG. 13 to the remote FCU 10A in the third embodiment.
[0105]
That is, as shown in FIG. 13, when a transfer error occurs due to a line failure during transfer of a certain track, the remote FCU 10A determines whether there is another unused transfer path (communication line) among a plurality of communication lines. If there is an unused transfer path (YES route from step S1), the unused transfer path is used to transfer a track in which a transfer error has occurred (step S2). .
[0106]
On the other hand, when there is no unused transfer path (NO route from step S1), the remote FCU 10A sends the track number assigned to the track currently being transferred and the track number assigned to the track in which the transfer error has occurred. To determine whether there is a number larger than the track number of the track in which the transfer error occurred among the track numbers being transferred (step S3).
[0107]
If the corresponding serial number does not exist (NO route from step S3), the remote FCU 10A waits for the transfer of the track in which the transfer error has occurred until one of the transfer paths in use is released (step S4). If the corresponding serial number exists (YES route from step S3), the transfer of the track having the corresponding serial number is interrupted, and a transfer error is generated using the transfer path that was being used for the transfer of the track. The generated track is transferred (step S5).
[0108]
Next, a remote transfer method (when a transfer error occurs due to a line failure) according to the fourth embodiment, to which the function described above with reference to FIG. 13 is added, will be described with reference to FIGS.
As shown in FIGS. 14 and 15, when the order guarantee mode is designated by the host 2A on the primary center 1A side, the host 2A first stores the cache memory 16a secured on the SS 16 of the remote FCU 10A. Thus, the tracks T1 and T2 belonging to the same I / O are sequentially written (see (1) and (3)). At this time, it is assumed that neither of the two communication lines 6-1 and 6-2 is used.
[0109]
The remote FCU 10A then reads the track T1 previously written in the cache memory 16a by RA01 and transfers it to the remote FCU 10B on the secondary center 1B side using the communication line 6-1 (RA01 / RA03 path). At this time, an ID value = 0001 and a track number = 0001 are added to the track T1 (see (2) in FIG. 14 and (2) -1 in FIG. 15).
[0110]
Following this, the remote FCU 10A next transfers the track T2 written in the cache memory 16a. Since the communication line 6-1 (RA01 / RA03 path) is in use, the track T2 is transferred by RA02. Read and transfer to the remote FCU 10B on the secondary center 1B side using the communication line 6-2 (RA02 / RA04 path). At this time, an ID value = 0001 and a track number = 0002 are added to the track T2 (see (4) in FIG. 14 and (4) -1 in FIG. 15).
[0111]
However, when a transfer error occurs due to a line failure on the communication line 6-1 during the transfer of the track T1 and the transfer of the track T1 fails, the remote FCU 10A searches for an unused path as an alternative transfer path. Since the other communication line 6-2 (RA02 / RA04 path) is also in use, it is determined that there is no unused path (see (2) in FIG. 14 and (2) -2 in FIG. 15).
[0112]
In the meantime, in the remote FCU 10B on the secondary center 1B side, the RA 04 receives the track T2 from the primary center 1A side, and this RA 04 reads the order management table 20 from the cache memory 16a and writes the track T2. Since the track T1 is not written on the cache memory 16a, the RA04 determines that the track T2 cannot be written (see (4) in FIG. 14 and (4) -2 in FIG. 15). The RA 04 that determines that the writing of the track T2 is impossible reads the repetitive order management table 20 from the cache memory 16a until the track number in the order management table 20 becomes “0001” ((4) in FIG. ▼, see (4) -3 in FIG. 15).
[0113]
In parallel with this, the remote FCU 10A on the primary center 1A side has the track number “1” of the path that failed to be transferred and the track number “of the path being transferred (communication line 6-2; RA02 / RA04 path)” Since it is 2 ″, an interruption instruction is output to interrupt the transfer through the RA02 / RA04 path (see (2) in FIG. 14 and (2) -3 in FIG. 15).
[0114]
As a result, RA02 issues an interruption instruction to RA04 (see (5)), and RA04 interrupts the process for track T2 in response to the interruption instruction from RA02 (see (5) ').
Thereafter, the remote FCU 10A uses the communication line 6-2 (RA02 / RA04 path) to the remote FCU 10B on the secondary center 10B side to transfer the track T1 that has failed to be transferred (see (6)). Since the operation of the remote FCU 10B at this time is the same as that of the third embodiment, a description thereof will be omitted.
[0115]
Then, the remote FCU 10A uses the communication line 6-2 (RA02 / RA04 path) to the remote FCU 10B on the secondary center 10B side to transfer the track T1 that failed to be transferred (see (7)). Since the operation of the remote FCU 10B at this time is the same as that of the third embodiment, the description thereof is omitted.
As described above, according to the remote transfer method according to the fourth embodiment of the present invention, even when a predetermined condition overlaps and a transfer deadlock occurs, the remote FCU 10A on the primary center 1A side tracks the transfer deadlock state. The transfer deadlock is reliably avoided and the track is transferred reliably by interrupting the transfer of the track and transferring the track that caused the transfer error using the communication line that was used for the transfer of the track. can do.
[0116]
[E] Other
The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
For example, the case where 10A and 10B are connected by two communication lines 6 is described, but the present invention is not limited to this, and the connection is made by three or more communication lines 6. May be.
[0117]
【The invention's effect】
As described in detail above, the remote transfer method by the magnetic disk control apparatus of the present invention (claim 1)~ 3)Even if an error occurs during track transfer and the order of tracks transferred to the sub-center is reversed and the predetermined order is lost, the track order can be adjusted on the sub-center side. It is possible to guarantee the order of
[0119]
Further, according to the remote transfer method (claims 1 and 4) by the magnetic disk control device of the present invention,When a transfer deadlock occurs due to overlapping of predetermined conditions, the transfer of the track in the transfer deadlock state is interrupted by the main center side magnetic disk controller, and the communication line used for the transfer of the track is used. By transferring the track that caused the transfer error, transfer deadlock can be reliably avoided and the track can be transferred reliably.The
[Brief description of the drawings]
FIG. 1 is a sequence diagram for explaining a remote transfer method according to a first embodiment of the present invention;
FIG. 2 is a block diagram for explaining a remote transfer method according to the first embodiment of the present invention;
FIG. 3 is a flowchart for explaining a remote transfer method according to the first embodiment of the present invention in correspondence with a time axis and (1) to (8) in FIGS. 1 and 2;
FIG. 4 is a block diagram for explaining a remote transfer method (when a transfer error occurs) as a first embodiment of the present invention;
FIG. 5 is a sequence diagram for explaining a remote transfer method (when a transfer error occurs) as a first embodiment of the invention.
6 is a flowchart for explaining a remote transfer method (when a transfer error occurs) according to the first embodiment of the present invention in correspondence with a time axis and (1) to (9) in FIGS. 4 and 5. FIG. It is.
FIG. 7 is a diagram showing an example of an order management table used in the remote transfer method according to the second embodiment of the present invention.
FIG. 8 is a block diagram for explaining a remote transfer method as a second embodiment of the present invention;
FIG. 9 is a flowchart for explaining the remote transfer method according to the second embodiment of the present invention in correspondence with the time axis and (1) to (10) in FIG. 8;
FIGS. 10A to 10D are diagrams illustrating registration states of an order management table when a remote transfer method according to a second embodiment of the present invention is executed.
FIG. 11 is a block diagram for explaining a remote transfer method as a third embodiment of the present invention;
12 is a flowchart for explaining a remote transfer method according to a third embodiment of the present invention in correspondence with a time axis and (1) to (10) in FIG.
FIG. 13 is a flowchart for explaining a remote transfer method as a fourth embodiment of the invention;
FIG. 14 is a block diagram for explaining a remote transfer method (when a transfer error occurs due to a line failure) as a fourth embodiment of the present invention;
FIG. 15 is a flowchart for explaining a remote transfer method (when a transfer error occurs due to a line failure) as a fourth embodiment of the present invention in association with the time axis and (1) to (7) in FIG. 14; It is.
FIG. 16 is a block diagram showing a conventional configuration of a system having a primary center for performing original business and a backup sub-center.
FIG. 17 is a block diagram showing an example of a general configuration of a remote system in which remote FCUs in a main center and a sub-center are connected by a communication line.
FIG. 18 is a block diagram showing a configuration of a general remote FCU.
FIG. 19 is a block diagram for explaining data writing / transfer in which order is maintained.
20 is a flowchart for explaining data writing / transfer in which order is maintained in association with the time axis and {circle around (1)} to {circle around (4)} in FIG.
FIG. 21 is a block diagram for explaining data writing / transfer in which order is not maintained.
22 is a flowchart for explaining data writing / transfer in which order is not maintained in correspondence with a time axis and (1) to (5) in FIG. 21. FIG.
FIGS. 23A and 23B are diagrams showing specific examples of two tracks to be transferred while guaranteeing the order; FIG.
FIG. 24 is a diagram for explaining the operation of the sub center-side remote FCU when the two tracks shown in FIGS. 23 (a) and 23 (b) are transferred while their order is guaranteed.
FIG. 25 is a diagram for explaining the operation of the sub center-side remote FCU when the transfer order of the two tracks shown in FIGS. 23 (a) and 23 (b) is reversed.
[Explanation of symbols]
1A Main center (business system)
1B Sub-center (backup system)
2A Main center host (CPU)
2B Secondary center host (CPU)
4A Main center side magnetic disk unit (volume)
4B Secondary center side magnetic disk unit (volume)
6 Communication line
10A Main center side remote FCU (Main center side magnetic disk control device)
10B Sub-center side remote FCU (sub-center side magnetic disk controller)
11 CA (Channel Adapter)
12 RM (Resource Manager)
13 TS (Table Storage)
14 RA (Remote Adapter)
15 CFE (Cache Function Engine)
16 SS (Shared Storage)
16a cache memory
17 DA (Device Adapter)
18 C-BUS (Control-BUS)
20 Order management table (Table)

Claims (4)

磁気ディスク装置と該磁気ディスク装置を制御する磁気ディスク制御装置とを有する正センタおよび副センタをそなえ、該正センタ側磁気ディスク制御装置と該副センタ側磁気ディスク制御装置との間を複数本の通信回線により接続してなるリモートシステムにおいて、該複数本の通信回線を通じて該正センタ側磁気ディスク制御装置から該副センタ側磁気ディスク制御装置へデータ転送を行なうためのリモート転送方法であって、
複数のトラックを、その順序性を保証しながら、該正センタ側磁気ディスク制御装置から該副センタ側磁気ディスク制御装置へ連続的に転送する順序性保証モードが正センタ側ホストにより指定されている場合、
該正センタ側磁気ディスク制御装置は、該正センタ側ホストからの同一の入出力要求によって転送される複数のトラックには同一の識別番号と該正センタ側ホストからの送出順に対応したシリアル番号とを付与し、前記の識別番号およびシリアル番号を付与された当該複数のトラックを該複数本の通信回線により同時に該副センタ側磁気ディスク制御装置に転送し、
該副センタ側磁気ディスク制御装置は、
該正センタ側から転送され該副センタ側で書き込まれたトラックに付与された識別番号と、その識別番号を有し且つ最後に該副センタ側で書き込まれたトラックに付与されたシリアル番号LSNとを対応させて保持する順序性管理テーブルをそなえ、
該正センタ側から新たなトラックが転送されてくると、当該トラックに付与されているシリアル番号SNと、該順序性管理テーブルに保持されている、当該トラックに付与された識別番号に対応する前記シリアル番号LSNとを比較し、
SN≠LSN+1である場合、他のトラックの書込によって該順序性管理テーブルの前記シリアル番号LSNが更新されてSN=LSN+1となるまで、当該トラックに対して書込許可を与えないで当該トラックを待機させる一方、
SN=LSN+1である場合、当該トラックに対して書込許可を与え、当該トラックの該副センタ側磁気ディスク装置への書込を完了した時点で該順序性管理テーブルの前記シリアル番号LSNとして当該トラックの前記シリアル番号LSNを登録・更新するとともに、
あるトラックの転送時に回線障害により転送エラーが発生した場合、
該正センタ側磁気ディスク制御装置は、
該複数の通信回線のうち他に未使用の通信回線が存在するか否かを確認し、
未使用の通信回線が存在する場合、その未使用の通信回線を使用して、転送エラーを生じた当該トラックの転送を行なう一方、
未使用の通信回線が存在しない場合、現在転送中のトラックに付与されているシリアル番号の中に、転送エラーを生じた当該トラックに付与されているシリアル番号よりも大きいシリアル番号が存在するか否かを判断し、
該当するシリアル番号が存在しない場合、使用中の通信回線が解放されるまで転送エラーを生じた当該トラックの転送を待機させる一方、
該当するシリアル番号が存在する場合、該当するシリアル番号を有するトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して、転送エラーを生じた当該トラックの転送を行なうことを特徴とする、磁気ディスク制御装置によるリモート転送方法。
A primary center and a secondary center having a magnetic disk device and a magnetic disk control device for controlling the magnetic disk device are provided, and a plurality of spaces are provided between the primary center side magnetic disk control device and the secondary center side magnetic disk control device. In a remote system connected by a communication line, a remote transfer method for transferring data from the primary center side magnetic disk control device to the secondary center side magnetic disk control device through the plurality of communication lines,
A sequence center guarantee mode for continuously transferring a plurality of tracks from the primary center side magnetic disk controller to the secondary center side magnetic disk controller while guaranteeing the order is designated by the primary center host. If
The primary center side magnetic disk control device has the same identification number and a serial number corresponding to the order of transmission from the primary center host for a plurality of tracks transferred by the same input / output request from the primary center host. And simultaneously transferring the plurality of tracks to which the identification number and serial number are assigned to the secondary center side magnetic disk controller via the plurality of communication lines,
The secondary center side magnetic disk control device comprises:
An identification number assigned to a track transferred from the primary center and written on the secondary center side, and a serial number LSN assigned to the track having the identification number and last written on the secondary center side; With an order management table that holds
When a new track is transferred from the main center side, the serial number SN assigned to the track and the identification number assigned to the track held in the order management table Compare with serial number LSN,
When SN ≠ LSN + 1, the writing of the track is not permitted to the track until the serial number LSN of the order management table is updated to SN = LSN + 1 by writing another track. While waiting
When SN = LSN + 1, writing permission is given to the track, and when the writing of the track to the sub-center side magnetic disk device is completed, the track is set as the serial number LSN of the order management table. the addition to register and update the serial number LSN of,
If a transfer error occurs due to a line failure when transferring a track,
The primary center side magnetic disk control device comprises:
Check whether there are other unused communication lines among the plurality of communication lines,
When there is an unused communication line, the unused communication line is used to transfer the track in which a transfer error has occurred,
If there is no unused communication line, does the serial number assigned to the track currently being transferred contain a serial number greater than the serial number assigned to the track that caused the transfer error? Determine whether
If the corresponding serial number does not exist, while waiting for the transfer of the track that caused the transfer error until the communication line in use is released,
If the corresponding serial number exists, the transfer of the track having the corresponding serial number is interrupted, and the transfer of the track in which a transfer error has occurred is transferred using the communication line that was used for the transfer of the track. and performing remote transmission method according to the magnetic disk control device.
該順序性管理テーブルが、該副センタ側磁気ディスク制御装置内の資源を管理/制御するリソースモジュールによって管理されていることを特徴とする、請求項記載の磁気ディスク制御装置によるリモート転送方法。The sequence management table, characterized in that it is managed by the resource module for managing / controlling the resources of the sub center side magnetic disk control device, the remote transmission method according to the magnetic disk control device according to claim 1. 該順序性管理テーブルが、当該トラックを該副センタ側磁気ディスク装置へ書き込む前に一時的に書き込むためのキャッシュメモリ上にそなえられていることを特徴とする、請求項記載の磁気ディスク制御装置によるリモート転送方法。The sequence management table, characterized in that are provided to temporarily cache memory for writing before writing the track to the sub OLT magnetic disk device, a magnetic disk control apparatus according to claim 1, wherein Remote transfer method by. 磁気ディスク装置と該磁気ディスク装置を制御する磁気ディスク制御 装置とを有する正センタおよび副センタをそなえ、該正センタ側磁気ディスク制御装置と該副センタ側磁気ディスク制御装置との間を複数本の通信回線により接続してなるリモートシステムにおいて、該複数本の通信回線を通じて該正センタ側磁気ディスク制御装置から該副センタ側磁気ディスク制御装置へデータ転送を行なうためのリモート転送方法であって、
複数のトラックを、その順序性を保証しながら、該正センタ側磁気ディスク制御装置から該副センタ側磁気ディスク制御装置へ連続的に転送する順序性保証モードが正センタ側ホストにより指定されている場合、
該正センタ側磁気ディスク制御装置は、該正センタ側ホストからの同一の入出力要求によって転送される複数のトラックには同一の識別番号と該正センタ側ホストからの送出順に対応したシリアル番号とを付与し、前記の識別番号およびシリアル番号を付与された当該複数のトラックを該複数本の通信回線により同時に該副センタ側磁気ディスク制御装置に転送し、
あるトラックの転送時に回線障害により転送エラーが発生した場合、
該正センタ側磁気ディスク制御装置は、
該複数の通信回線のうち他に未使用の通信回線が存在するか否かを確認し、
未使用の通信回線が存在する場合、その未使用の通信回線を使用して、転送エラーを生じた当該トラックの転送を行なう一方、
未使用の通信回線が存在しない場合、現在転送中のトラックに付与されているシリアル番号の中に、転送エラーを生じた当該トラックに付与されているシリアル番号よりも大きいシリアル番号が存在するか否かを判断し、
該当するシリアル番号が存在しない場合、使用中の通信回線が解放されるまで転送エラーを生じた当該トラックの転送を待機させる一方、
該当するシリアル番号が存在する場合、該当するシリアル番号を有するトラックの転送を中断させ、そのトラックの転送のために使用中だった通信回線を使用して、転送エラーを生じた当該トラックの転送を行なうことを特徴とする、磁気ディスク制御装置によるリモート転送方法。
A primary center and a secondary center having a magnetic disk device and a magnetic disk control device for controlling the magnetic disk device are provided, and a plurality of spaces are provided between the primary center side magnetic disk control device and the secondary center side magnetic disk control device. In a remote system connected by a communication line, a remote transfer method for transferring data from the primary center side magnetic disk control device to the secondary center side magnetic disk control device through the plurality of communication lines,
A sequence center guarantee mode for continuously transferring a plurality of tracks from the primary center side magnetic disk controller to the secondary center side magnetic disk controller while guaranteeing the order is designated by the primary center host. If
The primary center side magnetic disk control device has the same identification number and a serial number corresponding to the order of transmission from the primary center host for a plurality of tracks transferred in response to the same input / output request from the primary center host. And simultaneously transferring the plurality of tracks to which the identification number and serial number are assigned to the secondary center side magnetic disk controller via the plurality of communication lines,
If a transfer error occurs due to a line failure when transferring a track,
The primary center side magnetic disk control device comprises:
Check whether there are other unused communication lines among the plurality of communication lines,
When there is an unused communication line, the unused communication line is used to transfer the track in which a transfer error has occurred,
If there is no unused communication line, does the serial number assigned to the track currently being transferred contain a serial number greater than the serial number assigned to the track that caused the transfer error? Determine whether
If the corresponding serial number does not exist, while waiting for the transfer of the track that caused the transfer error until the communication line in use is released,
If the corresponding serial number exists, the transfer of the track having the corresponding serial number is interrupted, and the transfer of the track in which a transfer error has occurred is transferred using the communication line that was used for the transfer of the track. and performing remote transmission method according to magnetic disk controller.
JP10796198A 1998-04-17 1998-04-17 Remote transfer method by magnetic disk controller Expired - Fee Related JP3612209B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10796198A JP3612209B2 (en) 1998-04-17 1998-04-17 Remote transfer method by magnetic disk controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10796198A JP3612209B2 (en) 1998-04-17 1998-04-17 Remote transfer method by magnetic disk controller

Publications (2)

Publication Number Publication Date
JPH11305950A JPH11305950A (en) 1999-11-05
JP3612209B2 true JP3612209B2 (en) 2005-01-19

Family

ID=14472463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10796198A Expired - Fee Related JP3612209B2 (en) 1998-04-17 1998-04-17 Remote transfer method by magnetic disk controller

Country Status (1)

Country Link
JP (1) JP3612209B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03108930A (en) * 1989-09-22 1991-05-09 Ricoh Co Ltd Asynchronous communication system
JP2742162B2 (en) * 1991-10-04 1998-04-22 日本電気株式会社 Data backup method for direct organization files
KR0128271B1 (en) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 Remote data duplexing
JP3345546B2 (en) * 1996-03-26 2002-11-18 株式会社東芝 Data delivery method and information communication device

Also Published As

Publication number Publication date
JPH11305950A (en) 1999-11-05

Similar Documents

Publication Publication Date Title
US7225307B2 (en) Apparatus, system, and method for synchronizing an asynchronous mirror volume using a synchronous mirror volume
US7971011B2 (en) Remote copy method and storage system
US7337286B1 (en) Storage control system for restoring a remote data copy
US6950915B2 (en) Data storage subsystem
US7966463B2 (en) Asynchronous remote copy system and control method for the same
US6052797A (en) Remotely mirrored data storage system with a count indicative of data consistency
US6968425B2 (en) Computer systems, disk systems, and method for controlling disk cache
US6345368B1 (en) Fault-tolerant access to storage arrays using active and quiescent storage controllers
US5742792A (en) Remote data mirroring
US5889935A (en) Disaster control features for remote data mirroring
JP3730907B2 (en) Remote data copy method between disk array devices
US7634616B2 (en) Remote disk control apparatus, and remote disk control method
US6530003B2 (en) Method and system for maintaining data coherency in a dual input/output adapter utilizing clustered adapters
US20020099916A1 (en) Performing acknowledged operations on original and mirrored copies of data
US8307178B2 (en) Storage system, remote copy and management method therefor
JPH1185408A (en) Storage control device
JP2002259063A (en) Storage system capable of backup processing
JP2002149499A (en) Remote copy system with integrity of data
US8250240B2 (en) Message conversion method and message conversion system
JP2004348174A (en) Storage device system
US6728818B2 (en) Dual storage adapters utilizing clustered adapters supporting fast write caches
JP3612209B2 (en) Remote transfer method by magnetic disk controller
JPH1185594A (en) Information processing system for remote copy
JP2007004690A (en) Storage control method, system, and program
JP2001043149A (en) Control method for remote fcu, and remote fcu

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041022

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071029

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081029

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091029

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101029

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111029

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121029

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees