(57)【特許請求の範囲】
【請求項１】
コンピュータ磁気ディスク装置システム用の通信制御システムにおいて、
（ａ）それぞれが相互にほぼ鏡像化されたメモリを有する複数のディスク制御装置と、（ｂ）前記各ディスク制御装置の鏡像化メモリ中の前記メモリの確保された一部であるメッセージング・メールボックスと、
（ｃ）（ｉ）それぞれが他方の前記ディスク制御装置の付帯的エラーを減らすため、前記ディスク制御装置の一つがそれ自体の前記メールボックスに書き込むイベント発生時、および（ｉｉ）他方の前記ディスク制御装置のメールボックスを読み込むイベント発生時に、選択的に前記鏡像化を可能および不可能にすることを含む前記メールボックスの鏡像化の選択的な制御により、前記メッセージング・メールボックスを介してメッセージを通信する手段と、
（ｄ）前記メッセージング・メールボックス中の前記メッセージを検出し読み取る手段と、
を備え、
（ｅ）（ｉ）前記メッセージを通信する手段が、前記メッセージに関連するスライディング・ウィンドウ・インタロック識別番号を検出する手段をさらに有し、メッセージ検出および１対１のメッセージの正確さを保証すること、および、（ｉｉ）前記メッセージを検出し読み取る手段が前記メッセージに関連するスライディング・ウィンドウ・インタロック識別番号を検出する手段をさらに有すること、の少なくとも一方を特徴とする、
通信制御システム。
【請求項２】
前記メッセージング・メールボックスは、前記メールボックスが常駐する前記ディスク制御装置により読み書きされるが、他の前記制御装置からでは読み取りしかできないことを特徴とする請求項１に記載の通信制御システム。
【請求項３】
前記メッセージを通信する手段は前記制御装置間の密結合通信プロトコルを有することを特徴とする請求項１に記載の通信制御システム。
【請求項４】
前記プロトコルは、各メッセージごとに、特定の明確な要求に対する特定の明確な応答を有し、さらに、通信を検証するヌル・メッセージを有することを特徴とする請求項３に記載の通信制御システム。
【請求項５】
前記メッセージを通信する手段は、割込み信号を生成して所期のメッセージ受信側制御装置に前記メッセージの存在を通知する手段をさらに有することを特徴とする請求項１に記載の通信制御システム。
【請求項６】
前記メッセージを検出し読み取る手段は割り込み信号を検出する手段を有することを特徴とする請求項１に記載の通信制御システム。
【請求項７】
前記メッセージを検出し読み取る手段はタイマ・ベースのポーリング検出手段を有することを特徴とする請求項１に記載の通信制御システム。
【請求項８】
前記メッセージを検出し読み取る手段は、前記メッセージの一つと、前記制御装置の最低一つに関係する１組の環境の検出の結果である暗黙メッセージと、を検出する手段をさらに有することを特徴とする請求項１に記載の通信制御システム。
【請求項９】
二重制御ディスク記録システムの鏡像化メモリ制御装置間を接続する通信路として鏡像化メモリを使用するシステムにおいて、（ａ）それぞれの前記鏡像化メモリ制御装置のメモリの確保された一部であるメッセージメールボックスであって、鏡像化が選択的に制御され、前記メールボックスが常駐する前記制御装置により前記メールボックスが読み取りおよび書き込まれるが他の前記制御装置からは読み込まれるのみである前記メモリの一部から成る前記メールボックスと、（ｂ）前記メールボックスを介して前記制御装置間のメッセージを通信する密結合通信プロトコルであって、各メッセージごとに特定の明確な要求に対して特定の明確な応答を有し、認証ヌルメッセージをさらに有する密結合通信プロトコルと、（ｃ）（ｉ）前記メッセージを検出して信号を送る割り込み手段と、（ｉｉ）前記メッセージを検出するタイマベースのポーリング手段と、（ｉｉｉ）、メッセージ検出および１対１のメッセージの正確さを保証するための前記メッセージに関連するスライディング・ウィンドウ・インタロック手段と、を有する前記各メールボックス内のメッセージを検出し通信する手段と、（ｄ）前記制御装置の最低一つに関係する１組の環境の検出の結果である暗黙メッセージ上に作用する手段を有する前記メッセージの要求に応じて前記メッセージに作用する手段と、を備えることを特徴とするシステム。
【請求項１０】
二重制御ディスク記録システムの鏡像化メモリ制御装置間を接続する通信路として鏡像化メモリを使用する方法において、
（ａ）鏡像化は選択的に制御され、前記鏡像化メモリの確保されたメールボックス部分を介してメッセージを通信するステップと、
（ｂ）タイマベースの間隔で前記他の制御装置のメールボックスをポーリングする前記各制御装置を有し、前記ポーリングは前記メッセージの一つと、前記制御装置の最低一つに関係する１組の環境の検出の結果である暗黙メッセージを検出することを含む、前記メールボックス内の前記メッセージを検出するステップと、
（ｃ）前記メールボックスの前記メッセージに応答するステップと、
を備え、
（ｄ）（ｉ）前記通信するステップが、（イ）前記メッセージに関連するスライディング・ウィンドウ・インタロック識別番号を送信するステップと、（ロ）前記メッセージが常駐する前記制御装置の一つから他の前記制御装置に割り込み信号を送信し、前記メッセージの存在を通知するステップと、をさらに有すること、および、（ｉｉ）前記メッセージを検出するステップが、（イ）前記メッセージのあて先である前記制御装置の一つが発した割り込み信号を検出し、前記他の制御装置から生成された前記割り込み信号は前記メッセージが読み取り準備完了であることを示すステップと、（ロ）前記メッセージに関連する適切なスライディング・ウィンドウ・インタロック識別番号を検出し、前記検出は前記メッセージのあて先である前記制御装置の一つによってなされるステップと、をさらに有すること、の少なくとも一方を特徴とする、
方法。
【請求項１１】
前記通信するステップは、前記メールボックスが常駐する前記ディスク制御装置により読み書きされるが、他の前記制御装置からでは読み取りしかできないことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記通信するステップは、前記各制御装置間のメッセージを有する密結合通信プロトコルに従うことを含み、前記密結合通信プロトコルは各メッセージごとに特定の明確な要求に対する特定の明確な応答を有し、さらに、通信を検証するヌル・メッセージを有することを特徴とする請求項１０に記載の方法。
【請求項１３】
前記メッセージに応答するステップが、（イ）メッセージ中の要求に従って応答するステップと、（ロ）少なくとも一方の制御装置に関係する１組の環境に応答して検出された暗黙メッセージに応答するステップと、（ハ）所定の１組の規則に従ってメッセージと暗黙メッセージのうちの一方に作用するステップと、から成る群から選択される方法で応答する構成を含むことを特徴とする請求項１０に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全般的には、コンピュータ磁気ディスク制御装置に関し、詳細には、二重磁気ディスク制御装置中の鏡像化メモリ制御装置用の通信・制御を行う二重磁気ディスク制御装置間の通信制御装置に関する。
【０００２】
【従来の技術】
信頼性の高いコンピュータ磁気ディスク記憶装置では、部品の障害時のデータの喪失およびダウン・タイムの可能性を減少させるために、サブ装置を構成するすべての物理的部品に冗長性を有することが望ましい。それぞれ、それ自体のメモリを有する、二重磁気ディスク制御装置を使用すると、磁気ディスク・装置にいくつかの大きな利益が与えられる。たとえば、（１）ある制御装置またはそのメモリに障害が発生し、あるいはある制御装置またはそのメモリが失われた場合に回復できるようにする記憶情報の冗長性が保持され、（２）二次制御装置のフェールオーバ機能のためにディスエーブルされた制御装置の修理が可能であり、（３）二次制御装置が利用可能であるために、より長い装置アップ時間が得られる。
【０００３】
このような冗長サブ装置からより高い機能を得ることが望ましいので、キャッシングと、メモリを一時記憶域として使用することが一般的になってきている。このような重複物理メモリを同期させる手段は困難であることがある。ある種のディスク装置は、待ち時間（遅延または大量の更新）プロセスを使用してこの重複を生成するが、その手法は経費を追加する傾向があり、管理が非常に複雑であり、したがって性能が低下し、また故障からの回復の精度が制限される他の手法（本発明で使用される方法）は、リアルタイム鏡像化メモリ・プロセスを形成して、データの正確なこの重複を生成し保持することである。リアルタイム同期冗長メモリ（鏡像化メモリ）を二重制御装置で使用すると、１つの制御装置から他の制御装置へのフェールオーバの場合の速度および精度が向上する。
【０００４】
【発明が解決しようとする課題】
鏡像化メモリを基本重複プロセスとして使用することが与えられた場合、鏡像化メモリ内に通信経路を形成することによって、通信に必要な追加費用をさらに低減させることができる。しかし、このように冗長メモリを通信経路として使用すると、その通信経路を確実なものにするうえで多数の問題が発生する。解消すべき多数の問題には、（１）ハードウェア異常に関して、冗長メモリに整合性をもたせ、通信を機能させるにはどうするか、（２）メモリ間のアドレス復号またはデータ・ビットの問題をどのように解決するか、（３）制御装置間でメッセージをどのように同期させるか、（４）制御装置間の通信プロセスによって発生する意図しない破壊からメモリの冗長コピーをどのように保護するか、（５）鏡像化メモリまたは共用メモリの整合性をどのように管理するか、（６）通信プロセス・エラーまたは完全な通信不能をどのように管理するか、（７）ハードウェアの障害が判明したとき、どんなプロセスが妥当であるか、およびそのようなプロセスを他の制御装置にどのように安全に通知するか、が含まれる。
【０００５】
前述の問題と、ある制御装置に障害が発生した場合に制御装置間の通信が完全に失われる可能性が与えられた場合、従来技術では一般に、複数制御装置装置中の制御装置間の通信・制御系として鏡像化メモリを使用することは教示されていない。その代わり、従来技術の方法および通信チャネルは、小型コンピュータ装置インタフェース（ＳＣＳＩ）、ＲＳ２３２リンク、ローカル・エリア・ネットワーク（ＬＡＮ）などを含む。
【０００６】
したがって、本発明の目的は、二重磁気ディスク制御装置中のリアルタイム同期鏡像化メモリ制御装置用の通信・制御に適用するのに好適で、そのような鏡像化メモリを二重磁気ディスク制御装置間の確実な通信経路を確立することができる二重磁気ディスク制御装置間の通信制御装置を供することである。
【０００７】
【課題を解決するための手段】
本発明の好適な実施例での本発明の原理によれば、二重磁気ディスク制御装置と、二重磁気ディスク制御装置間の鏡像化メモリとを有する磁気ディスク制御装置で、鏡像化メモリを使用して二重磁気ディスク制御装置間に確実な通信経路を確立し、二重磁気ディスク制御装置の活動を監視しその調和をはかる。各二重磁気ディスク制御装置中のメモリの反転部分は、そのメモリを所有する磁気ディスク制御装置によって読み取られ、かつ書き込まれるが、メッセージング・メールボックス自体およびメモリの残りの部分の不適当な活動および破壊をなくすためにリモート磁気ディスク制御装置からは読み取られるだけであるメッセージング・メールボックスとして指定される。
【０００８】
本発明の他の原理によれば、二重磁気ディスク制御装置間の通信プロトコルは、妥当なメッセージングを保証する密結合通信プロトコルである。制御装置からの各要求は、特定の明確な応答を有し、したがって応答の受信側は、答えが実際に、前に提示された要求の答えであることを検証することができる。さらに、スライディング・ウィンドウ・インタロック識別番号によって、メッセージの検出および正確さが保証される。
【０００９】
本発明の他の原理によれば、割込み信号およびタイマ・ベースのポーリングが、二重磁気ディスク制御装置間の通信要求および応答を検出する二重手段として使用される。さらに、標準動作手順（ＳＯＰ）を使用して、二重磁気ディスク制御装置間の完全な通信不能から回復する。
【００１０】
本発明の他の目的、利点、および機能は、説明が進むにつれてさらに明らかになろう。
【００１１】
【発明の実施の形態】
図１は、二重磁気ディスク制御装置間の確実な通信経路として鏡像化メモリを使用する本発明の二重磁気ディスク制御装置間の通信制御装置の概要を表すブロック図である。磁気ディスク装置は、全体的に１０で示され、全体的に１５で示された磁気ディスク装置１２と、全体的に２０および２５で示された二重磁気ディスク制御装置とを有する。二重磁気ディスク制御装置２０および２５（以降、この両者は単に制御装置という）はそれぞれ、鏡像化メモリ３０および３５を有する。
【００１２】
大部分のタイプのランダム・アクセス・メモリ（ＲＡＭ）は、鏡像化メモリ３０および３５として使用するのに適しているが、好ましい実施例では、非揮発性ＲＡＭ（または電源バックアップを使用することによって非揮発性になる揮発性ＲＡＭ）を使用して、電源障害の場合にデータを保持できるようにする。本発明で図示し全般的に論じているのは、二重制御装置２０および２５だけであるが、本明細書で表され意味される開示が、複数制御装置環境、すなわち２つよりも多くの制御装置で同様に適用できることは自明であろう。
【００１３】
各メモリ３０および３５は、鏡像化メモリである。当技術分野で周知のように、鏡像化メモリとは単に、あるメモリ中のデータが他のメモリで重複または「鏡像化」されることを意味する。鏡像化メモリは、本発明では、一方の制御装置のメモリ中のデータが他方の制御装置のメモリで重複または「鏡像化」されることを意味する。好適な実施例では、鏡像化メモリは、リアルタイム鏡像化メモリであり、すなわち単一のマイクロプロセッサ・メモリ・アクセスまたは直接メモリ・アクセスによって、両方の鏡像化メモリ３０および３５のデータがほぼ同時に更新され、かつ両方の鏡像化メモリ３０および３５からデータがほぼ同時に検索される。
【００１４】
二重制御装置が存在し、各制御装置中に鏡像化メモリが存在することによって、ディスク記憶装置１０にフォールト・トレラント環境が提供される。各鏡像化メモリ３０および２５で、反転部分であるメッセージング・メールボックス４０および４５は、全体的にメッセージング・メールボックスとして示される。メッセージング・メールボックス４０および４５は、制御装置間の活動を監視しその調和をはかる基本通信・制御手段として使用される。
【００１５】
メッセージング・メールボックス４０および４５は、本発明の基本的なビルディング・ブロックを構成する。各メッセージング・メールボックスを介して、制御装置２０と制御装置２５の間で通信が行われて、前記制御装置間に確実な通信経路が提供され、費用有効なリアルタイム・リンクが提供され、各制御装置が重複制御装置の状態を監視できるようになり、活動の調和がはかられる。通信は、制御装置がそれ自体のメッセージング・メールボックスにメッセージを書き込み、次いで他方の制御装置が同じメッセージング・メールボックスからメッセージを読み取ることによって行われる。
【００１６】
メッセージング・メールボックス間に確立される通信経路は重大な構成要素なので、制御装置間で通信の完全性が保持されるようにすべての予防策を講じる必要がある。したがって、通信プロセス自体に対する損害をなくし、メッセージング・メールボックスを介して通信を行うときに制御装置の鏡像化メモリに対する付随的な損害をなくすには（すなわち、何らかの障害の場合にデータの完全性を保持するには）、各メッセージング・メールボックス４０および４５が、それが存在する制御装置によって読み取られ、かつ書き込まれるが、他方の制御装置からは読み取られるだけであるようにする。たとえば、制御装置２０は、それ自体のメッセージング・メールボックス４０を読み取り、かつこのメッセージング・メールボックスに書き込むが、他方のメッセージング・メールボックス４５には読取りしか行わない。同様に、制御装置２５は、それ自体のメッセージング・メールボックス４５を読み取り、かつこのメッセージング・メールボックスに書き込むが、他方のメッセージング・メールボックス４０には読取りしか行わない。鏡像化メモリ３０および３５は、ほぼ鏡像化されたメモリであるが、メッセージング・メールボックス間で通信を行い、他方の制御装置の鏡像化メモリに対する意図しない付随的な損害をなくすために、鏡像化は、反転メッセージング・メールボックス４０および４５の部分の書込み時に選択的に禁止（ディスエーブル）される。他方の（リモート）メッセージング・メールボックスの読取り時にも、鏡像化プロセスは、リモート・データしか読み取られないように同様に選択的に制御される。
【００１７】
説明を明確にするために、メッセージング・メールボックス４０および４５は、完全な二重通信経路を構成している。具体的には、メッセージング・メールボックス４０の制御部６０で出された要求は、メッセージング・メールボックス４５の応答部７５で応答される。また、メッセージング・メールボックス４５の制御部６５で出された要求は、メッセージング・メールボックス４０の応答部７０で応答される。
【００１８】
好適な実施例では、各メッセージング・メールボックス４０および４５は実際には、制御メッセージを保持して送信する１つのメッセージング・メールボックスの制御部６０および６５と、応答メッセージを保持して送信する１つのメッセージング・メールボックスの応答部７０および７５の少なくとも２つの別々のメッセージング・メールボックスを備える。制御メッセージとは、他方の制御装置向けの特定の要求（または照会）であり、応答メッセージは、要求または照会に対する特定の応答である。また、図面を簡単にするために図面には示していないが、汎用鏡像化メモリを使用する際には、未使用の制御メッセージング・メールボックスおよび応答メッセージング・メールボックスに対応するアドレスが各メモリ中にある。
【００１９】
制御装置間のメッセージの送信は、それが妥当なものになるように密結合通信プロトコルを介してのみ行われる。すなわち、各メッセージごとに、特定の明確で固有の要求（照会）に対する特定の明確で固有の応答がある。このため、応答の受信側（すなわち、要求または照会の発信側）は、応答が実際に発信側の特定の要求に対する答えであることを検証することができる。密結合通信プロトコルに関する詳細は図２を参照されたい。
【００２０】
制御装置２０と制御装置２５の間に確実な通信経路をもたらすうえでさらに寄与するものとして、メールボックス４０および４５に書き込まれるメッセージに関連してスライディング・ウィンドウ・インタロック方法が使用される。当技術分野で知られているように、かつ本発明では、スライディング・ウィンドウ・インタロック方法は、各メッセージと共に識別番号を使用して、メッセージ検出と１対１のメッセージの正確さをさらに保証することを含む。たとえば、要求側制御装置が制御部のメッセージング・メールボックスに要求メッセージを書き込むとき、スライディング・ウィンドウ・インタロック識別番号も書き込まれる。他方の応答側制御装置は、メッセージを読み取り、識別番号も読み取る。したがって、応答側制御装置は、要求メッセージに応答して応答側制御装置自体の応答部のメッセージング・メールボックスに応答メッセージを書き込むとき、同じ識別番号を応答に含める。要求側制御装置は、応答メッセージを読み取るとき、識別番号も読み取って、それが、最初に要求メッセージと共に送信されたのと同じ番号であることを確認し、したがって要求側制御装置は、応答が実際に、要求側制御装置の最初の要求に対する所期の応答であることを検出して確認することができる。
【００２１】
本発明でのメッセージの送信・検出手段に関してさらに説明し、かつ説明を簡単にするために、「要求側制御装置」の語は、制御装置自体の制御部のメッセージング・メールボックスにメッセージを書き込み、その後、他方の制御装置の応答部のメッセージング・メールボックスから応答メッセージを読み取る制御装置を意味するものとする。「応答側制御装置」の語は、他方の制御装置の制御部のメッセージング・メールボックスからメッセージを読み取り、その後、制御装置自体の応答部のメッセージング・メールボックスに応答部のメッセージを書き込む制御装置を意味する。
【００２２】
要求側制御装置は、それ自体のメッセージング・メールボックスにメッセージを書き込んだ後ただちに、要求側制御装置のメッセージング・メールボックスに応答側制御装置が読み取るべきメッセージが存在することを応答側制御装置に通知する。要求側制御装置は、応答側制御装置への割込み信号を生成することによってこのことを通知する。割込み信号は、当技術分野で一般に知られているようにハードウェアまたはソフトウェア、あるいはその両方によって生成される。
【００２３】
応答側制御装置は、要求側制御装置のメッセージング・メールボックスにメッセージが存在することを２つの異なる方法で検出することができ、この２つの方法はいずれも、一次検出手段として使用することができる。一方、応答側制御装置は、メッセージが存在することを応答側制御装置に明示的に通知する要求側制御装置によって生成された割込み信号を検出することによって、メッセージが存在することを検出する。一方、応答側制御装置は、要求側制御装置によって生成された割込み信号を受信したどうかにかかわらず、要求側制御装置のメッセージング・メールボックスを時限間隔ごとにポーリングすることによって、メッセージが存在することを検出する。好適な実施例では、時限間隔は約１６秒である。各制御装置は、他方の制御装置のメッセージング・メールボックスをポーリングすることによって時限間隔ごとにクロックに応答して、メッセージが存在することを検出する。この二重メッセージ検出方法によって、一方の方法または他方の方法に障害が発生した場合の制御装置間の通信の確実さおよび信頼性が高められる。
【００２４】
前述のように、制御装置は、他方の制御装置のメッセージング・メールボックスに書き込まれたメッセージを検出し読み取ることができる。このタイプのメッセージを「明示」メッセージと呼ぶ。しかし、制御装置は、他方の制御装置のメッセージング・メールボックスに実際には書き込まれない「暗黙」メッセージを検出し「読み取る」こともできる。「暗黙」メッセージは、いずれかの制御装置に関係する１組の環境を解釈することによって「読み取る」ことができる。たとえば、要求側制御装置が要求メッセージを送信するが、他方の制御装置から応答メッセージを受信せず（この状態は、タイムアウト間隔の検出時に知られる）、あるいは受信した応答メッセージが、いずれかの制御装置に関連する何らかの通信上の問題のために不適当であり、あるいは誤りであると仮定されたい。このような例では、「暗黙」通信が行われている。すなわち、要求側制御装置は「明示」メッセージを受信しなかったが、明示応答メッセージを受信していないことの検出または認識が与えられ、環境、すなわち応答メッセージが受信されていないことを「読み取り」、それに応じて適当な処置を開始する。
【００２５】
適当な処置とは、制御装置がしたがうように指定された所定の標準動作手順（以下、ＳＯＰという）である。一例を挙げると、適当な処置とは、メモリがもはや制御装置間で鏡像化されず、要求側制御装置が、通信の障害が是正されるまで制御装置の制御を要求側制御装置自体が負う分離モードに要求側制御装置が入ることである。暗黙メッセージまたは明示メッセージに応答して任意の数のＳＯＰまたは様々なＳＯＰを指定し、それにしたがうことができることが理解されよう。すべてのそのような可能性を定義することはここでの目的ではない。ここでの目的は、検出された明示メッセージまたは暗黙メッセージに応答して制御装置によってある所定の処置が取られることを検討することだけである。
【００２６】
前記で指摘したように、応答側制御装置は、要求メッセージが存在することを検出した（割込みまたはポーリングを介して）後、要求側制御装置のメッセージング・メールボックスの制御部６０または６５に含まれるメッセージを読み取る。応答側制御装置は次いで、要求に応答して、応答側制御装置自体のメッセージング・メールボックスの応答部７０または７５に特定の応答を書き込み、その後、要求側制御装置が従ったのと同じ手順に従って要求側制御装置に割込み信号を送り返す。要求側制御装置は次いで、前述の割込みまたは時限間隔ごとのポーリングを介して応答側のメッセージング・メールボックスのメッセージを検出する。したがって、各制御装置は、要求メッセージおよび応答メッセージに基づいて適当な処置を取る。この通信・ハンドシェーキング・プロセスの例に関する詳細は図３を参照されたい。
【００２７】
次に図２を参照すると、本発明で実施される密結合通信プロトコルを代表するメッセージを示す表が示されている。密結合通信プロトコルは、二重制御装置間の確実な通信経路として鏡像化メモリを使用する本発明の装置の一要素に過ぎない。この密結合プロトコルは、通信が厳密なものになり、かつ理解され認識されるように、各メッセージごとに、特定の明確な要求に対する特定の明確な応答を行うにはどうすべきかを示す。
【００２８】
メッセージは、表中では、この議論のみで引用を容易にするために番号付けされており、これらの番号は、この説明的な引用のため以外にはどんな点でもメッセージに関係していない。図のメッセージが、本発明の密結合通信プロトコルの下で使用できるすべての可能なメッセージを示すものではないことが理解されよう。むしろ、これらのメッセージは単に、好適な実施例で何が使用されるかを表すものである。
【００２９】
「メッセージ送信」の語は、前述のように、メッセージが実際にはどこにも「送信」されず、他方の制御装置によってメールボックスから読み取られたに過ぎないことが理解される場合でも、メッセージが制御装置によって制御装置自体のメッセージング・メールボックス（行われている通信の状態に応じて制御部のメッセージング・メールボックスまたは応答部のメッセージング・メールボックス）に書き込まれたことを指す。また、「マスタ」の語は、磁気ディスク装置に対するすべてのホスト・コンピュータ要求に対して現在作用し応答している制御装置を指し、「スレーブ」の語は他方の制御装置を指す。
【００３０】
図２は、マスタ／スレーブ関係を有する二重制御装置で使用される可能性が最も高いメッセージを表す。しかし、本発明の原則が他の複数制御装置関係（すなわち、マスタ／マスタなど）にも同様に適用できることは自明である。
【００３１】
メッセージ番号１の「ARE-YOU-ACTIVE」（先方が活動中か）は、スレーブ制御装置からマスタへハートビート・メッセージ（周期的に送信される）として送信され、マスタに障害が発生したときにそれを検出するためにスレーブによって使用されるメッセージである。マスタが依然として活動状況であり、通信している場合、マスタの唯一の応答は、すべてが正常であることを示すYES-ACTYIVE （YES-活動中）である。一方、マスタがもはやマスタとしては働かず、あるいはもはやマスタとして働くことができないことをマスタが知った場合、マスタの唯一の応答は「NO-INACTIVE 」（NO−非活動中）である。特定の明確な要求に対するこれらの特定の明確な応答が与えられた場合、各制御装置は、どんな処置を取るべきかを正確に知る。
【００３２】
メッセージ番号２の「TIMEOUT-I'M-BECOMING-MASTER 」（タイムアウト−当方がマスタになる）は、タイムアウトが発生し、すなわちマスタが所与の期間（メッセージのタイマ・ベースのポーリングの率に直接関係する）内に応答しなかったことをスレーブが検出したときにスレーブによって送信されるメッセージである。マスタの唯一の可能な応答は、次いでスレーブがマスタになることを意味する「OK-BECOMING-SLAVE 」（OK−スレーブになる）である。また、マスタは、ある種の障害のために応答することができず、スレーブはいずれにしても、応答すべき障害のことを知ったときにマスタになる。
【００３３】
メッセージ番号３の「BROKENN-PLEASE-REPORT 」（障害−リポートして下さい）は、スレーブがそれ自体の障害を検出したときスレーブによってマスタへ送信されるメッセージである。マスタの唯一の可能な応答は、マスタがホスト・コンピュータに障害を報告することを意味する「OK-REPORTING-BROKEN 」（OK−障害をリポートする）である。
【００３４】
メッセージ番号４の「TAKEOVER」（引き継ぐ）は、マスタがスレーブに新しいマスタになってほしいときマスタによってスレーブへ送信されるメッセージである。スレーブの唯一の有効な応答は、「OK-TAKING-OVER」（OK−引き継ぐ）である。
【００３５】
メッセージ番号５の「COMM-FAILURE」（通信−障害）は、何らかの通信障害が検出されたときいずれかの制御装置によって他方の制御装置へ送信されるメッセージである。唯一の有効な応答は「ACKNOWLEDGE-COMM-FALURE 」（通信−障害を認識する）である。
【００３６】
メッセージ番号６の「PLEASE-RESET」（リセトしてください）は、いずれかの制御装置が、発生した何らかの障害を訂正するためにリセットする必要があるとき、前記いずれかの制御装置に他方の制御装置によって送信されるメッセージである。唯一の有効な応答は、「OK-RESETTING」（OK−リセットする）である。
【００３７】
メッセージ番号７の「UPDATE-TO-VALID-SLAVE 」（有効スレーブに更新して下さい）は、スレーブがその鏡像化状態変数を更新できるようにマスタによってスレーブへ送信されるメッセージである。このインスタンスでの唯一の有効な応答は「UPDATE-TO-VALID-SLAVE 」（有効スレーブに更新された）である。
【００３８】
メッセージ番号８の「NO-MESSAG/NO-REPLY」（NO−メッセージ／NO−応答）は、それが書き込まれるそれぞれの制御メッセージング・メールボックスまたは応答メッセエージング・メールボックスにメッセージが（またはケースに応じて応答）送信されていないことを検証するためにいずれかの制御装置によって他方の制御装置に送信されるメッセージである。たとえば、このメッセージングは、制御メッセージが制御メールボックスへ送信されたとき「何もなし」または「ヌル」｛すなわち「NO-REPLY」（NO−応答）｝の「無効」メッセージを応答メッセージング・メールボックスが送信するようにするものである。同様に、このメッセージは、応答メッセージが応答メッセージング・メールボックスへ送信されたとき「何もなし」または「ヌル」｛すなわち「NO-MESSAGE」（NO−メッセージ）｝の「無効」メッセージを制御メッセージング・メールボックスが送信するようにするものである。さらに、「NO-MESSAGE/NO-REPLY （NO−メッセージ／NO−応答）」は、現在送信されている他のメッセージも、あるいは予期されるメッセージもないことを通知するために送信される。より具体的な例を挙げると、要求側制御装置は、それ自体の制御メッセージング・メールボックスにメッセージ｛「ARE-YOU-ACTIVE」（先方が活動通か）など｝を書き込むとき、要求側制御装置自体の応答メールボックスに「NO-REPLY」（NO−応答）メッセージも書き込み、そのため他方の制御装置は、これが送信中の制御メッセージであり、送信中のある誤った応答メッセージではないことを知る。
【００３９】
これらの例はそれぞれ、制御装置の活動を監視しその調和をはかるために制御装置間でどのように密結合通信プロトコルにしたがうかを示す。各要求メッセージおよび応答メッセージは非常に具体的で明確なものであり、各「ヌル」メッセージも具体的で明確なものであり、そのため明示通信は完全に理解され、暗黙通信は、密結合プロトコルによって検出された明示通信がないために発生する。
【００４０】
次に図３を参照すると、本発明の装置によって鏡像化メモリの制御装置２０と鏡像化メモリの制御装置２５（図１）の間の例示的な通信でしたがうべきステップを示すフローチャートが示されている。各制御装置が独立のエンティティであり、独立の処理に従って他方の制御装置と通信するので、各制御装置ごとに別々のフロー経路が存在する。
【００４１】
二重制御装置２０と二重制御装置２５の間の確実な通信経路として鏡像化メモリを使用する際の第１ステップは、一方の制御装置がそれ自体の制御メッセージング・メールボックスにメッセージを書き込むことによって通信を開始することである。したがって１１０で、制御装置２０はそれ自体の一般メッセージング・メールボックス４０（図１）の制御部６０のメッセージング・メールボックスに要求メッセージを書き込む。制御装置２０は、それ自体のメッセージング・メールボックスにメッセージを書き込み、鏡像化をディスエーブルすることによって制御装置２５のメッセージンング・メールボックスには書き込まない。各制御装置は、メッセージを書き込むとき、図２で論じた密結合通信プロトコルに従い、通信プロセスで特定の明確な要求および応答が使用されるようにする。制御装置２０は、メッセージと共にスライディング・ウィンドウ・インタロック識別番号も書き込む。制御装置２０は、（応答ボックスの最後の状態に応じて）その応答ボックスに「NO-REPLY」（NO−応答）をセットして、意図しない暗黙メッセージを防止する。その後１１５で、制御装置２０は、メッセージンング・メールボックスにメッセージがあることを示す制御装置２５への割込み信号を生成する。破線の方向矢印１１７は、制御装置２０から制御装置２５への割込み信号を示す。
【００４２】
制御装置２５は次いで、ステップ１２０および１２５で、割込み信号を検出し、制御装置２０のメッセージング・メールボックス中の要求メッセージおよび識別番号を読み取る。障害が発生し、そのため制御装置２５が割込み信号を検出しなかった場合、制御装置２５はそれでも、ポーリングによって制御装置２０のメッセージング・メールボックスを読み取り、計画されたタイマ間隔１２０でメッセージを検出する。各制御装置は、それ自体のクロックを保持し、計画されたタイマ間隔の１６．４秒（好適な実施例の場合）で他方の制御装置のメッセージング・メールボックスをポーリングして、メッセージが存在するかどうかを検出する。メッセージが存在するかどうかを検出するこの二重手段、すなわち割込みとポーリングによって、通信プロセスおよび装置に、拡張された信頼性がもたらされる。
【００４３】
制御装置２５は、メッセージを検出し読み取った後に、制御装置自体の応答部のメッセージング・メールボックス（図１の７５）に適当な応答メッセージを書き込むことによって応答する１３０。また、制御装置２５は、制御装置２０の制御メッセージング・メールボックスから読み取ったのと同じ識別番号を、制御装置２５自体の応答メッセージング・メールボックスに書き込んで、スライディング・ウィンドウ・インタロック方式にしたがう。制御装置２５は、（制御ボックスの最後の状態に応じて）それ自体の制御ボックスに「NO-MESSAGE」( NO−メッセージ）をセットして、意図しない暗黙メッセージを防止することが必要になることもある。次に１３５で、制御装置２５は、制御装置２０が読み取るべきメッセージがメッセージング・メールボックス中にあることを示す、制御装置２０への割込みを生成する。破線の方向矢印１３７は、制御装置２５から制御装置２０への割込み信号を示す。
【００４４】
この点１４０で、制御装置２５は、制御装置２０によって送信された要求に基づいて応答処置を取らなければならないかどうかを判定し、そうである場合、１４５で処置を取る。たとえば、制御装置２０によって送信された要求が「TAKEOVER」（引き継ぎ）メッセージ（図２参照）である場合、制御装置２５は、新しいマスタ制御装置として引き継ぐ。
【００４５】
制御装置２０は、制御装置２５が取る処置とほぼ並行して、ステップ１５０および１５５で、割込み信号を検出し、制御装置２５のメールボックス中の応答メッセージおよび識別番号を読み取る。制御装置２０は次いで、識別番号が、前に制御装置２５に送信されたものと同じであることを検証し、応答メッセージが実際に、制御装置２０が最初に送信した要求メッセージに対して妥当な応答であることを確認する。識別番号が有効である場合、制御装置２０は、１４０で、処置が必要であるかどうかを判定し、必要である場合は１４５で、適当な処置を取る。識別番号が無効である場合、制御装置２０は同様に、１組の環境に基づいて妥当な処置１４０および１４５を取る。図１を参照して前記で論じたように、標準動作手順は、無効な番号や、通信障害のために暗黙メッセージが読み取られる場合などの環境で取るべき適当な処置を定義したものである。
【００４６】
図３のこの通信例は、全二重経路の一方向のみを示す。制御装置２５が制御メッセージを制御装置２０へ送信し、それと同時に、制御装置２０がそのメッセージに応答する。
【００４７】
要するに、すべての図を参照すると、本発明の装置は、
１）．鏡像化メモリ構造を、メッセージング・メールボックス４０および４５と密結合通信プロトコルによる鏡像化メモリ構造間の通信と関連して使用することによって、メモリどうしをリアルタイムで同期させ、整合性をもたせ、
２）．電力供給時に一方の制御装置にその回線を試験させ、次いで密結合通信プロトコルおよび暗黙メッセージを使用して、制御装置間の通信時にいずれかの制御装置に関するアドレスおよびデータ・ビットの問題を検出することによって、メモリ間のアドレス復号およびデータ・ビットの問題を解決し、
３）．メッセージング・メールボックス、密結合通信プロトコル、割込み信号、および独立のタイマ検出間隔によって制御装置間でメッセージを同期させ、
４）．各制御装置に、メッセージングのために、それ自体のメールボックスのみに書き込ませ、他方の制御装置のメッセージング・メールボックスには書き込ませないようにし、各制御装置に他方の制御装置のメッセージング・メールボックスしか読み取らせないようにすることによって、制御装置間の通信プロセスの結果として生じる破壊から各鏡像化メモリを保護し、
５）．メッセージング・メールボックスおよび通信プロトコルによって制御装置間の通信を連続的に監視し検証することによって鏡像化メモリの整合性を管理し、
６）．明示通信および暗黙通信を検出してそれに応答し、標準動作手順を使用することによって、制御装置間の通信プロセス・エラーまたは完全な通信不能を管理し、
７）．適当な明示通信メッセージまたは暗黙通信メッセージを検出してそれに応答し、標準動作手順を使用することによって、ハードウェアの障害を管理することによって、二重制御装置２０と二重制御装置２５の間の確実な通信経路として鏡像化メモリ３０および３５を使用する。
【００４８】
上記で、二重磁気ディスク制御装置間の確実な通信経路として鏡像化メモリを使用する装置の好適な実施例について説明した。本発明によって、制御装置間の費用有効なリアルタイム・リンクを提供する強力なツールが提供され、各制御装置が他方の制御装置の状態を監視することができ、かつ各制御装置の活動の調和をはかることができることは明らかである。さらに、当業者には、当技術分野の既存の様々なハードウェア・プラットフォームおよびソフトウェア・ツールを使用して本発明が容易に実施されることは自明であろう。本発明を特定の実施例を参照して説明したが、本発明の真の趣旨および範囲から逸脱せずに、実施態様または修正の他の代替実施例および方法を使用できることは自明であろう。
【００４９】
以上本発明の各実施例について詳述したが、ここで各実施例の理解を容易にするために、各実施例ごとに要約して以下に列挙する。
【００５０】
１．  コンピュータ磁気ディスク装置ステム（１０）用の通信・制御装置であって、
（ａ）．それぞれ、相互にほぼ鏡像化されたメモリ（３０、３５）を有する、複数の磁気ディスク制御装置（２０、２５）と、
（ｂ）．各磁気ディスク制御装置の鏡像化メモリ中のメッセージング・メールボックス（４０、４５）と、
（ｃ）．メッセージング・メールボックスを介してメッセージを送信する手段（１１０、１１５）と、
（ｄ）．メッセージング・メールボックス中のメッセージを検出し読み取る手段（１５０、１５５）とを備えることを特徴とする二重磁気ディスク制御装置間の通信制御装置である。
【００５１】
２．  メッセージング・メールボックスが、メモリの反転部分であり、反転部分の鏡像化が選択的に制御される（１１０）ことを特徴とする上記１に記載の二重磁気ディスク制御装置間の通信制御装置である。
【００５２】
３．  メッセージング・メールボックスが、メッセージング・メールボックスが存在する制御装置によって読み取られ書き込まれるが、他の制御装置からは読み取られるだけであることを特徴とする上記１に記載の二重磁気ディスク制御装置間の通信制御装置である。
【００５３】
４．  メッセージを送信する手段が、制御装置間の密結合通信プロトコルを含み、プロトコルが、各メッセージごとに、特定の明確な要求に対する特定の明確な応答を有し、さらに、通信を検証するヌル・メッセージを有する（図３）ことを特徴とする上記１に記載の二重磁気ディスク制御装置間の通信制御装置である。
【００５４】
５．  メッセージを送信する手段が、
（ａ）．メッセージに関連するスライディング・ウィンドウ・インタロック識別番号を書き込み、メッセージ検出および１対１のメッセージの正確さを保証する手段（１１０）と、
（ｂ）．割込み信号を生成して、所期のメッセージ受信側制御装置にメッセージの存在を通知する手段（１１５）とを含むことを特徴とする上記１に記載の二重磁気ディスク制御装置間の通信制御装置である。
【００５５】
６．  メッセージを検出する手段が、
（ａ）．割込み信号検出手段（１２０）と、
（ｂ）．タイマ・ベースのポーリング検出手段（１２０）と、
（ｃ）．メッセージと、少なくとも一方の制御装置に関係する１組の環境を検出した結果である暗黙メッセージのうちの一方を検出する手段と、
（ｄ）．メッセージに関連するスライディング・ウィンドウ・インタロック識別番号を検出する手段とから成る群から選択された手段を含むことを特徴とする上記１に記載の二重磁気ディスク制御装置間の通信制御装置である。
【００５６】
７．  二重磁気ディスク制御装置（１０）中の鏡像化メモリ制御装置（２０、２５）間の通信経路として鏡像化メモリ（３０、３５）を使用する方法であって、
（ａ）．鏡像化が選択的に制御されるメモリの反転メッセージング・メールボックス部分（４０、４５、１１０、１１５）を介してメッセージを送信するステップと、
（ｂ）．メッセージング・メールボックス中のメッセージを検出するステップ（１２０）と、
（ｃ）．メッセージング・メールボックス中のメッセージに応答するステップ（１４５）とを備えることを特徴とする二重磁気ディスク制御装置間の通信制御装置に適用する二重磁気ディスク制御装置間の通信制御方法である。
【００５７】
８．  通信ステップが、
（ａ）．メッセージング・メールボックスが存在する制御装置によってメッセージング・メールボックスを読み取り、かつメッセージング・メールボックスに書き込むが、他の制御装置では読み取らないステップ（１１０、１２５）と、
（ｂ）．各メッセージごとに、特定の明確な要求に対する特定の明確な応答を含み、さらに、検証ヌル・メッセージを含む、制御装置間のメッセージに関する密結合通信プロトコルにしたがう（図３）ステップと、
（ｃ）．メッセージに関連するスライディング・ウィンドウ・インタロック番号を送信するステップ（１１０）と、
（ｄ）．メッセージが存在する一方の制御装置から他方の制御装置へ割込み信号を送信して、メッセージの存在を通知するステップ（１１５）から成る群から選択されることを特徴とする上記７に記載の二重磁気ディスク制御装置間の通信制御方法である。
【００５８】
９．  メッセージを検出するステップが、
（ａ）．一方の制御装置から生成され、メッセージの読取り準備が完了していることを示す割込み信号を、メッセージの宛先である他方の制御装置によって検出するステップと、
（ｂ）．メッセージの宛先である一方の制御装置によって実行され、メッセージと、少なくとも一方の制御装置に関係する１組の環境を検出した結果である暗黙メッセージのうちの一方を検出することを含む、他の制御装置のメールボックスのポーリングを、タイマ・ベースの間隔で実行するステップ（１２０）と、
（ｃ）．メッセージの宛先である一方の制御装置によって実行される、メッセージに関連する適当なスライディング・ウィンドウ・インタロック番号の検出を実行するステップ（１２０）とから成る群から選択されるステップを含むことを特徴とする上記７に記載の二重磁気ディスク制御装置間の通信制御方法である。
【００５９】
１０．  メッセージに応答するステップが、
（ａ）．メッセージ中の要求に従って応答するステップと、
（ｂ）．少なくとも一方の制御装置に関係する１組の環境に応答して検出された暗黙メッセージに応答するステップと、
（ｃ）．所定の１組の規則に従ってメッセージと暗黙メッセージのうちの一方に作用するステップとから成る群から選択される方法で応答することを含むことを特徴とする上記７に記載の二重磁気ディスク制御装置間の通信制御方法である。
【００６０】
【発明の効果】
一方の磁気ディスク制御装置は、それ自体の鏡像化メモリ中のメッセージング・メールボックスにメッセージを書き込み、他方の二重磁気ディスク制御装置の鏡像化メモリ中のメッセージンング・メールボックスからメッセージを読み取って二重磁気ディスク装置間の通信を行い、各磁気ディスク制御装置はそれ自体のメッセージ・メールボックスに書き込みと読み取りを可能とするが他方の磁気ディスク制御装置のメッセージ・メールボックスのメッセージは読み取りのみを行うようにしたので、二重磁気ディスク制御装置間に確実な通信経路を確立して、この両者間の活動を監視して調和をはかることができ、鏡像化メモリの残余部分の不当な作動と破壊を防止することができる。
【図面の簡単な説明】
【図１】二重磁気ディスク制御装置間の通信経路として鏡像化メモリを使用する本発明の装置の概要を表すブロック図である。
【図２】結合プロコルを示すメッセージを示す図である。
【図３】本発明の装置によって鏡像化メモリ制御装置間の例示的な通信でしたがうべきステップを示すフローチャートである。
【符号の説明】
１０，１２，１５      磁気ディスク装置
２０，２５      二重磁気ディスク制御装置
３０、３５      鏡像化メモリ
４０、４５      メッセージング・メールボックス
６０、６５      制御部
７０、７５      応答部
【図１】
0003706179.tif 000002
【図２】
0003706179.tif 000003
【図３】
0003706179.tif 000004