(57)【特許請求の範囲】
【請求項１】
複数のディスク制御装置（20、25）を有するコンピュータディスク記憶制御システム（10）用のデータエラー検出システムであって、
（ａ）前記複数のディスク制御装置（20、25）の各々のメモリ（30、35）であって、各ディスク制御装置の前記メモリ（30、35）が、他のディスク制御装置メモリのそれぞれに対して鏡像化されるメモリである、メモリ（30、35）と、
（ｂ）前記複数のディスク制御装置（20、25）のうちの選択されたディスク制御装置に対して、その選択されたディスク制御装置のメモリ、および同時に少なくとも１つの他のディスク制御装置（20、25）のメモリに対する唯一のアクセスを与えるための手段（40、45）と、
（ｃ）前記複数のディスク制御装置（20、25）のうちの選択されたディスク制御装置のメモリから第１のデータを取り出し、同時に、少なくとも１つの他のディスク制御装置（20、25）のメモリから第２のデータを取り出すための手段（80、85）と、
（ｄ）前記第１のデータのエラーと前記第２のデータのエラーを別々に検出するための手段（100、105）と、および
（ｅ）前記第１のデータのエラーと前記第２のデータのエラーを別々に検出するのと同時に、前記第１のデータおよび第２のデータの互いに対するエラーを検出するための手段（90、95）とからなる、データエラー検出システム。
【請求項２】
前記第１のデータのエラーと第２のデータのエラーを別々に検出するための手段が、それぞれ前記第１のデータおよび第２のデータに対してエラー訂正コード（ＥＣＣ）訂正（100、105）を使用するための手段を含む、請求項１のデータエラー検出システム。
【請求項３】
前記第１のデータおよび第２のデータの互いに対するエラーを検出するための手段が、前記第１のデータと前記第２のデータを比較（90、95）して、一致が存在するかどうかを判定するための手段を含む、請求項１または２のデータエラー検出システム。
【請求項４】
（ａ）前記第１のデータと第２のデータの比較から得た比較結果（130、135）に基づき、および
（ｂ）前記第１のデータおよび第２のデータのそれぞれから別々に得たＥＣＣ結果（110、115、120、125）に基づいて、
エラー検出を通知するための手段を更に含む、請求項１〜３の何れかのデータエラー検出システム。
【請求項５】
それぞれ、互いに対して鏡像化されたメモリ（30、35）を有する、複数のディスク制御装置（20、25）を有するコンピュータディスク記憶制御システム（10）のエラーを検出する方法であって、
（ａ）前記複数のディスク制御装置（20、25）のうちの選択されたディスク制御装置に対して、その選択されたディスク制御装置のメモリ、および同時に少なくとも１つの他のディスク制御装置のメモリに対する唯一のアクセスを与えるステップと、
（ｂ）前記複数のディスク制御装置（20、25）のうちの選択されたディスク制御装置のメモリから第１のデータを取り出し、同時に、少なくとも１つの他のディスク制御装置のメモリから第２のデータを取り出すステップと、
（ｃ）前記第１のデータのエラーと前記第２のデータのエラーを別々に検出（100、105）するステップと、および
（ｄ）前記第１のデータのエラーと第２のデータのエラーを別々に検出するのと同時に、前記第１のデータおよび第２のデータの互いに対するエラーを検出（90、95）するステップとからなる、方法。
【請求項６】
前記第１のデータのエラーと第２のデータのエラーを別々に検出するステップが、それぞれ前記第１のデータおよび第２のデータに対してエラー訂正コード（ＥＣＣ）訂正を使用することを含む、請求項５の方法。
【請求項７】
前記第１のデータおよび第２のデータの互いに対するエラーを検出するステップが、前記第１のデータと前記第２のデータを比較（90、95）して、一致が存在するかどうかを判定することを含む、請求項５または６の方法。
【請求項８】
（ａ）前記第１のデータと第２のデータの比較から得た比較エラー（130、135）と、
（ｂ）前記第１のデータおよび第２のデータのそれぞれから別々に得たＥＣＣエラー（110、115、120、125）とを通知することによって、エラー検出を通知するステップを更に含む、請求項５〜７の何れかの方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、全般的には、ディスク記憶制御装置に関し、詳細には、二重制御装置ディスク記憶システム中の鏡像化メモリ・データ・エラーを検出するシステムに関する。
【０００２】
【従来の技術】
信頼性の高いコンピュータ・ディスク記憶システムでは、部品の障害時のデータの喪失およびダウン・タイムの可能性を減少させるために、サブシステムを構成するすべての物理的部品に冗長性を有することが望ましい。それぞれ、それ自身のメモリを有する、二重ディスク記憶制御装置を使用すると、ディスク記憶システムにいくつかの大きな利益が与えられる。たとえば、（１）ある制御装置またはそのメモリに障害が発生し、あるいはある制御装置またはそのメモリが失われた場合に回復できるようにする記憶情報の冗長性が保持され、（２）二次制御装置のフェイルオーバ(failover)機能のためにディスエーブルされた制御装置の修理が可能であり、（３）二次制御装置が利用可能であるために、より長いシステム・アップ時間が得られる。
【０００３】
このような冗長サブシステムからより高い性能を得ることが望ましいので、キャッシングと、メモリを一時記憶域として使用することが一般的になってきている。このような重複物理メモリを同期させる手段は困難であることがある。ある種のディスク・システムは、待ち時間（遅延または大量の更新）プロセスを使用してこの重複を生成するが、その手法は経費を追加する傾向があり、管理が非常に複雑である。他の手法（本発明で使用される方法）は、リアルタイム鏡像化メモリ・プロセスを形成して、データの正確なこの重複を生成し保持することである。リアルタイム同期冗長メモリ（鏡像化メモリ）を二重制御装置で使用すると、１つの制御装置から他の制御装置へのフェイルオーバの場合の速度および精度が向上する。
【０００４】
しかし、冗長メモリをこのように使用すると、複数ディスク記憶制御装置解決策を提供することがずっと難しくなる。解消すべき典型的で重大な問題には、（１）処理速度を減少させずに鏡像化メモリのデータ・エラーを効果的にかつ確実に検出するにはどうすべきかと、（２）データ・エラーの原因、すなわちミラーのどちらの面が、破壊されたデータを保持しているかを効果的にかつ確実に識別するにはどうすべきかが含まれる。
【０００５】
複数制御装置ディスク記憶システム中の鏡像化メモリでのエラー検出に関連する前記の問題と、本発明で取り上げないその他の問題が与えられた場合、従来技術では一般に、複数制御装置システム中の制御装置間で鏡像化メモリを使用することは教示されていない。
【０００６】
【発明が解決しようとする課題】
したがって、本発明の目的は、二重制御装置ディスク記憶システム中のリアルタイム同期鏡像化メモリ制御装置用の効果的で信頼できる鏡像化メモリ・データ・エラー検出システムを提供することである。
【０００７】
【課題を解決するための手段】
本発明の好ましい実施例の原則によれば、二重制御装置と、制御装置間の鏡像化メモリとを有するディスク記憶システムのメモリ・データ・エラーを確実に検出するエラー検出システムおよび方法が開示される。このシステムおよび方法は、一方の制御装置のメモリから第１のデータを取り出し、それとほぼ同時に、他方の制御装置の鏡像化メモリ・アドレス位置から第２のデータを取り出す手段を含む。このシステムおよび方法はさらに、第１のデータのエラーと第２のデータのエラーを別々に検出し、それとほぼ同時に、第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出する手段を含む。
【０００８】
本発明の他の原則によれば、第１のデータのエラーと第２のデータのエラーを別々に検出する手段は、それぞれ、第１のデータおよび第２のデータに対してエラー訂正コード（ＥＣＣ）訂正を使用する手段を含む。さらに、第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出する手段は、第１のデータと第２のデータを比較して、一致が存在するかどうかを判定する手段を含む。
【０００９】
本発明の他の原則によれば、調停手段は、ミラーの両面からの読取りを同時に行い、データ・エラー検出を同時に行うことができるように両方の制御装置のメモリへのアクセスを一方の制御装置に与えることを管理する。
【００１０】
本発明の他の目的、利点、および機能は、説明が進むにつれてさらに明らかになろう。
【００１１】
【実施例】
図１は、鏡像化メモリを間に有する二重ディスク制御装置システム１０のデータ・エラーを検出する本発明のシステムの概要を表すブロック図である。ディスク記憶制御システム１０は、ディスク制御装置１２を有するディスク記憶サブシステム１５と、二重記憶制御装置２０および２５とを含む。制御装置２０および２５はそれぞれ、メモリ３０とメモリ３５とを有する。
【００１２】
大部分のタイプのランダム・アクセス・メモリ（ＲＡＭ）は、メモリ３０および３５として使用するのに適しているが、好ましい実施例では、不揮発性ＲＡＭ（または電源バックアップを使用することによって不揮発性になる揮発性ＲＡＭ）を使用して、電源障害の場合にデータを保持できるようにする。本発明で図示し全般的に論じているのは、二重制御装置２０および２５だけであるが、本明細書で表され意味される原則が、複数制御装置環境、すなわち２つよりも多くの制御装置で同様に適用できることは自明であろう。
【００１３】
各メモリ３０および３５は、鏡像化メモリである。当業者には周知のように、鏡像化メモリとは単に、あるメモリ中のデータが他のメモリで重複または「鏡像化」されることを意味する。鏡像化メモリは、本発明では、ある制御装置のメモリ中のデータが他の制御装置のメモリで重複または「鏡像化」されることを意味する。二重制御装置と、各制御装置中の鏡像化メモリの存在は、ディスク記憶システム１０にフォールト・トレラント環境を提供する。すなわち、一方の制御装置または一方の制御装置メモリに障害が発生した場合、他方の制御装置およびそのメモリが存在することによって、連続処理のための継ぎ目なしフェイルオーバ・オプションが提供される。この状況では、制御装置２０と制御装置２５の間で通信が行われて費用有効なリアルタイム・リンクが提供され、各制御装置は、重複制御装置の状態を監視し、活動の調和をとることができる。
【００１４】
好ましい実施例では、鏡像化メモリはリアルタイム鏡像化メモリであり、すなわち単一のマイクロプロセッサ・アクセスまたは直接メモリ・アクセスによって、メモリ３０へのデータの更新とメモリ３５へのデータの更新がほぼ同時に行われ、あるいはメモリ３０のデータの検索とメモリ３５のデータの検索がほぼ同時に行われる。調停論理機構４０および４５は、各制御装置がいつ、メモリのデータを更新し、あるいは検索するためのアクセスを与えられるかを制御する。調停論理機構４０および４５はそれぞれ、現在、どちらの制御装置がメモリへの現アクセスを有するかが分かるように相互に通信する。
【００１５】
好ましい実施例では、調停論理機構４０および４５は、単一の時間に１つの制御装置しかメモリにアクセスできないようにする。たとえば、調停論理機構４０は、メモリ３０へのアクセスを制御装置２０に与えるとき、同様に適当な信号回線をイネーブル／ディスエーブルすることによって、制御装置２５のメモリ３５へのアクセスを制御装置２０に与える。これによって、制御装置２０は、両方のメモリに同時にアクセスすることができる。したがって、調停論理機構４０がメモリ３０および３５へのアクセスを制御装置２０に与えるとき、調停論理機構４５は、制御装置２５がどちらのメモリにもアクセスできないようにする。
【００１６】
二重制御装置構成の主要な目的のうちの１つが、ある制御装置から他の制御装置へただちにフェイルオーバできるようにすることであることが与えられた場合、動作が割り込まれずに継続するように、各制御装置のメモリ内容は、フェイルオーバが行われる前には同じでなければならない。したがって、本発明は、メモリ３０とメモリ３５の両方からのデータのほぼ同時のリアルタイム検索時のデータ・エラー検出に焦点を当てる。調停論理機構４０および４５によって、制御装置が両方のメモリにアクセスするとき、メモリ３０およびメモリ３５の一方から第１のデータが取り出され、それと同時に、メモリ３０およびメモリ３５のうちの他方から第２のデータが取り出される。第１および第２のデータはそれぞれ、メモリ３０および３５の鏡像化アドレス位置から検索される。第１および第２のデータは、単一データ・ビット（バイト）を備えることも、あるいは複数データ・ビット（バイト）を備えることもできる。
【００１７】
第１および第２のデータは、取り出された直後に、エラー訂正コード（ＥＣＣ）１００および１０５を実施することによってエラーがないかどうかを別々にかつ独立に検査される。また、これとほぼ同時に、第１のデータと第２のデータが相互に比較され、それらのデータの間にエラーが発生しているかどうかが判定される（９０および９５）。エラーが検出されなかった場合、アクセスは正常に進行し、データ値が一致する場合、比較プロセスはアクセス時間に影響を及ぼさない。しかし、ＥＣＣ検査または比較検査によってエラーが検出された場合、制御プロセッサにエラーを通知するように信号線（ビット）がセットされる。この３つの別々のエラー検査が与えられた場合、エラーの原因はほぼ判定することができる（すなわちミラーのどちらの面がデータ破壊されているかを判定することができる）。したがって、次いで、エラーに応じて適当な処置をとることができ、そのためメモリ・システムの信頼性が増大する。
【００１８】
次に図２を参照すると、本発明のシステムのさらに詳細な概略ブロック図が示されている。図１と図２の間の類似の構成要素は、類似の参照符号を保持する。したがって、各制御装置２０および２５は全般的に参照され、各鏡像化メモリ３０および３５は、好ましい実施例で使用される不揮発性ダイナミック・ランダム・アクセス・メモリ（ＮＶＤＲＡＭ）として参照され、調停論理機構４０および４５、ＥＣＣ回路１００および１０５、ならびに比較回路９０および９５はすべて、図１と同様に参照されている。説明を簡単にするために、ＮＶＤＲＡＭ制御装置５０および５５は、本明細書ではＤＲＡＭ制御装置として参照する。すべての方向矢印は、通信またはデータ転送、あるいはその両方の経路を示す。
【００１９】
各制御装置２０および２５は、それぞれの回路を全体的に支配する制御装置自体の内部クロック（図示せず）を有する。図１に関して前記で述べたように、調停論理機構４０および４５は、どちらの制御装置がメモリ３０および３５へのアクセスを与えられるかと、どちらの制御装置が前記メモリにアクセスすることをディスエーブルされるかを制御する。調停論理機構４０および４５はそれぞれ、相互に通信し、ＤＲＡＭ制御装置５０および５５、バッファ６０および６５、制御トランシーバ７０および７５、ならびにデータ・トランシーバ８０および８５と通信する。
【００２０】
当技術分野で一般的であるように、ＤＲＡＭ制御装置５０および５５は、Row Address Select(ＲＡＳ）、Column Address Select（ＣＡＳ）、Write Enable（ＷＥ）、Output Enable（ＯＥ）など、それぞれＤＲＡＭ３０および３５の適当なアドレスにアクセスするためのタイミング・制御論理信号を管理し生成する。バッファ６０および６５は、それぞれＤＲＡＭ３０および３５へのアクセスに関して各ＤＲＡＭ制御装置５０および５５をイネーブル／ディスエーブルするＤＲＡＭ制御装置バッファである。
【００２１】
制御トランシーバ７０および７５は、（１）他の（リモート）制御装置のメモリにアクセスするためにコンピュータ・システムのバックプレーン７８へのアドレス信号をドライブし、あるいは（２）ローカル制御装置のメモリにアクセスするためにバックプレーンを介してリモート制御装置からアドレス信号を受け取る、ローカル制御装置（すなわちトランシーバが存在する制御装置）用の二方向トランシーバ・バッファである。同様に、データ・トランシーバ８０および８５は、（１）リモート制御装置に送信すべきバックプレーン７８へのデータ信号をドライブし、あるいは（２）バックプレーンを介してリモート制御装置からデータ信号を受け取る、ローカル制御装置用の二方向トランシーバ・バッファである。
【００２２】
ＥＣＣ論理機構１００および１０５は、それぞれのＤＲＡＭブロック３０および３５から読み取られたデータに対してすべてのＥＣＣ検査および訂正を実行する。ＥＣＣ論理機構は最初、ＤＲＡＭに書き込まれるデータ（ビット）に基づいて検査ビットを生成する。この検査ビットは、書込みが実行されたときにデータ・ビットと共にＤＲＡＭに記憶される。ＤＲＡＭ読取りアクセス時に、検査ビットは、データ（ビット）と共に読み取られ、再計算された検査ビット（すなわち、データが最初、ＤＲＡＭに書き込まれたときに記憶された検査ビットと比較され、読み取られたデータから再計算された検査ビット）と比較される。ＥＣＣ論理機構は、記憶されている検査ビットを、再計算された検査ビットと比較することによって、すべての単一ビット・エラーを検出し訂正することができ、すべての２ビット・エラーを検出することができる。２ビットよりも多いビットのエラーが検出されることは保証されない。エラーが検出された場合、そのようなエラーを管理するプロセッサまたは論理機構（本発明では、ＤＲＡＭ制御装置５０および５５）を通知するように適当な信号線（ビット）１１０、１１５、１２０、１２５がセットされる。
【００２３】
さらに、ＥＣＣ論理機構１００および１０５に関するデータ信頼性を増大させるために、比較回路９０および９５はそれぞれ、ＤＲＡＭ３０および３５から読み取られた第１のデータと第２のデータの十分な比較を実行する。ＥＣＣ論理機構では複数ビット・エラーは検出されないので、比較回路９０および９５を使用して、各制御装置上に記憶されているデータが同じであるかどうかが判定される。基本的に、第１のデータと第２のデータが比較されて、一致（すなわち、鏡像化によるもの）が存在するかどうかが判定され、あるいは一方のデータのエラーを示す不一致が存在するかどうかが判定される。データを相互に比較することによって、任意の数のビットのすべてのエラーが検出される。
【００２４】
本発明の１つの新規の態様は、ＥＣＣエラー検出が、各制御装置上で、その制御装置から読み取られたデータに対して別々に行われ、それとほぼ同時に、鏡像化メモリの両面から読み取られた同じデータが相互に比較されることである。比較のための余分のクロック・サイクルは必要とされず、システムの全体的な信頼性が増大する。さらに、エラー信号ビット設定が与えられた場合、一般に、ミラーのどちらの面からエラーが発生したかを検出することができる。
【００２５】
図２の動作は、図３に示した説明的な例によって最もよく説明することができる。図３は、図２の方向矢印が、制御装置２０による鏡像化メモリからの読取り時のデータ・エラーを検出するための通信およびデータ転送の実際の方向経路を示す一方向矢印と置換されていることを除き、図２と同じである。
【００２６】
制御装置２０が読取りを開始した場合、ＤＲＡＭ制御装置５０は、それ自体の調停論理機構４０への要求をアサートする。調停論理機構４０は次いで、要求状態に入り、制御装置２５の調停論理機構４５がスレーブ状態に入るのを待つ。要求状態とは、（この例では）ローカル調停論理機構４０が、リモート調停論理機構４５がリモートＤＲＡＭ３５へのアクセスを制御装置２０に与えるのを待つ状態である。スレーブ状態とは、調停論理機構４５が、（この例では）ＤＲＡＭ制御装置バッファ６５をディスエーブルしてＤＲＡＭ３５へのアクセスを制御装置２０に与える状態である。
【００２７】
さらに具体的には、制御装置２５のＤＲＡＭ制御装置５５は、メモリを使用する（読取りまたは書込み）サイクルを完了したとき、調停論理機構４５への制御装置自体の要求を削除し、スレーブ状態に入る。調停論理機構４５は、スレーブ状態に入った後、バッファ６５から先へ進む（バッファ６５の先を指す）方向矢印ががなくなることによって示されるように、ＤＲＡＭ制御装置バッファ６５をディスエーブルする。また、調停論理機構４５は、方向矢印７３および７７によって示されるようにバックプレーン７８からＤＲＡＭ３５へアドレス信号をドライブするように制御トランシーバ７５をセットし、方向矢印８７および８３によって示されるようにＤＲＡＭ３５からバックプレーン７８へデータをドライブするようにデータ・トランシーバ８５をセットする。
【００２８】
調停論理機構４０は、制御装置２０がメモリ３０とメモリ３５の両方へのアクセスを許可されるマスタ状態に入ることによって、これに肯定応答する。調停論理機構４０は、方向矢印６２によって示されるように調停論理機構自体のローカルＤＲＡＭ制御装置バッファ６０をイネーブルし、方向矢印７３によって示されるように制御装置２０からバックプレーン７８へドライブするように制御トランシーバ７０をセットし、データ・トランシーバ８０から先へ進む（データ・トランシーバ８０の先を指す）方向矢印ががなくなることによって示されるように、データ・トランシーバ８０をディスエーブルする。
【００２９】
次に、ＤＲＡＭ制御装置５０は、方向矢印６４によって示されるように、ＤＲＡＭ制御装置自体のＤＲＡＭ３０にアクセスするように行アドレス信号およびＯＥ信号をドライブし、方向矢印６６、７３、７７によって示されるように、制御装置２０のＤＲＡＭ３５にアクセスするように制御トランシーバ７０および７５を介して前記信号をドライブすることによって、ＤＲＡＭ読取りサイクルを実行する。それぞれのＤＲＡＭアレイ３０および３５から読み取られたデータを適切に検査するために、制御装置５０は自身のＥＣＣ論理機構１００をイネーブルし、制御装置５５は自身のＥＣＣ論理機構１０５をイネーブルする。次いで、ＲＡＳがアサートされて列アドレスがドライブされ、ＣＡＳが同様にアサートされて適当な第１のデータがＤＲＡＭ３０から読み取られ（方向矢印７４によって示される）、それとほぼ同時に、第２のデータがＤＲＡＭ３５から読み取られる（方向矢印８７および８３によって示される）。ＤＲＡＭ３０および３５からのデータのこの読取りが、鏡像化アドレス位置、すなわち同じ「鏡像化」データを保持するアドレス位置からのデータの取出しであることは自明である。
【００３０】
第１のデータは、ＤＲＡＭ３０から読み取られ、エラー検査および訂正のためにＥＣＣ論理機構１００を介して処理される。同様に、第２のデータは、ＤＲＡＭ３５から読み取られ、エラー検査および訂正のためにＥＣＣ論理機構１０５を介して処理される。各場合では、ＥＣＣ検査は、読取り中のデータに関連する検査ビットを読み取ることによって行われる。すなわち、検査ビットは最初、データが最初にＤＲＡＭに書き込まれたときにそのデータから計算され、その検査ビットは、データ自体と共にＤＲＡＭに記憶された。したがって、データの読取りサイクル中に、記憶されている検査ビットが読み取られ、新たに再計算された検査ビット（すなわち新たにデータを読み取ることから作成された検査ビット）と比較される。差異が存在する場合、訂正が行われ（可能なら）、適当なエラー信号（状況ビット）が、その後のエラー処理のためにラッチされる。たとえば、ＥＣＣ論理機構１００中の第１のデータに関して訂正可能なエラーが検出された場合、そのエラーは訂正され、訂正可能信号線１１０（状況ビット）が、適当な制御論理機構に通知するようにセットされる。一方、ＥＣＣ論理機構１０５中の第２のデータに関して訂正不能なエラーが検出された場合、訂正不能信号線１２５（状況ビット）がセットされる。
【００３１】
ＥＣＣ検査とほぼ同時に、ＤＲＡＭ３５の第２のデータは（その検査ビットと共に）データ・トランシーバ８５およびバックプレーン７８を介して制御装置２０の比較論理機構９０に渡される。データ・トランシーバ８０はディスエーブルされ、ＤＲＡＭ３０から（検査ビットと共に）読み取られた第１のデータとＤＲＡＭ３５から読み取られた第２のデータとの衝突はなくなる。ＤＲＡＭ３０からの第１のデータとＤＲＡＭ３５からの第２のデータは共に、制御装置２０の比較論理機構９０に渡すことができる。比較論理機構９０は、第１のデータと第２のデータを比較して、一致が存在するかどうかを判定する。一致が存在する場合、処理は正常に継続する。これに対して、一致が存在しない場合、不一致信号線１３０（状況ビット）が、適当な制御論理機構にエラーを通知するようにセットされる。
【００３２】
要するに、ＥＣＣ論理機構１００および１０５は、読取りサイクル中に論理機構を通過するそれぞれのローカル・データにデータ・エラーがあるかどうかを別々にかつ独立に検査する。これとほぼ同時に、データが、（この図３の例では）比較論理機構９０で比較されて、ＥＣＣ論理機構１００および１０５では検出されない複数のビット・エラーが捕捉される。各ＥＣＣ・比較検査では、処理中に、エラーを検出した時点で適当な状況ビットがセットされる。読取りサイクルの終りに、ＤＲＡＭ制御装置５０は、ＥＣＣおよび比較論理機構から得た状況ビットを検査し、いずれかがエラーをラッチしているかどうかを調べて、エラー（もしあれば）を適切に処理する。
【００３３】
上記では、鏡像化メモリを間に有する二重ディスク記憶制御装置のデータ・エラーを検出するシステムおよび方法の好ましい実施例に関して説明した。本発明が、鏡像化メモリ二重制御装置システムで信頼性を増大させる強力なツールを提供することは明らかである。さらに、当業者には、当技術分野に存在する様々なハードウェア・プラトフォームおよびソフトウェア・ツールのうちのどれを使用しても本発明が容易に実施されることが自明であろう。本発明を特定の実施例に関して説明したが、本発明の真の趣旨および範囲から逸脱せずに実施態様または修正例の他の代替実施例および方法を使用できることは自明であろう。
【００３４】
以上、本発明の実施例について詳述したが、以下、本発明を各実施態様毎に列挙する。
（１）．  複数のディスク制御装置を有するコンピュータ・ディスク記憶制御システム用のデータ・エラー検出システムにおいて、
（ａ）各制御装置上のメモリが、他の制御装置メモリに対してほぼ鏡像化されたメモリである、複数の制御装置のそれぞれの自身のメモリと、
（ｂ）１つの制御装置のメモリから第１のデータを取り出し、それとほぼ同時に、他の制御装置のうちの１つのメモリから第２のデータを取り出す手段と、
（ｃ）第１のデータのエラーと第２のデータのエラーを別々に検出する手段と、
（ｄ）第１のデータのエラーと第２のデータのエラーを別々に検出するのとほぼ同時に、第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出する手段とを有することを特徴とするシステム。
（２）．  調停手段が、１つの制御装置に、
（ａ）第１のデータが取り出される前記制御装置のメモリへのアクセスと、
（ｂ）第２のデータが取り出される他の制御装置のうちの１つのメモリへのアクセスをほぼ同時に与える手段を有することを特徴とする（１）に記載のシステム。
（３）．  第１のデータのエラーと第２のデータのエラーを別々に検出する手段が、それぞれ第１のデータおよび第２のデータに対してエラー訂正コード（ＥＣＣ）訂正を使用する手段を有することを特徴とする（１）に記載のシステム。
（４）．  第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出する手段が、第１のデータと第２のデータを比較して、一致が存在するかどうかを判定する手段を有することを特徴とする（１）に記載のシステム。
（５）．  前記システムにおいて、
（ａ）第１のデータと第２のデータの比較から得た比較結果に基づき、
（ｂ）第１のデータおよび第２のデータのそれぞれから別々に得たＥＣＣ結果に基づいて、
エラー検出を通知する手段を有することを特徴とする（１）に記載のシステム。
（６）．  それぞれ、他の制御装置メモリに対してほぼ鏡像化されたメモリを有する、複数のディスク制御装置を有するコンピュータ・ディスク記憶制御システムのエラーを検出する方法において、
（ａ）１つの制御装置のメモリから第１のデータを取り出し、それとほぼ同時に、他の制御装置のうちの１つのメモリから第２のデータを取り出すステップと、
（ｂ）第１のデータのエラーと第２のデータのエラーを別々に検出するステップと、
（ｃ）第１のデータのエラーと第２のデータのエラーを別々に検出するのとほぼ同時に、第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出するステップとを有することを特徴とする方法。
（７）．  前記制御装置のメモリへのアクセスを１つの制御装置に与えることが、１つの制御装置に、
（ａ）第１のデータが取り出される前記制御装置のメモリへのアクセスと、
（ｂ）第２のデータが取り出される他の制御装置のうちの１つのメモリへのアクセスをほぼ同時に与えることを特徴とする（６）に記載の方法。
（８）．  前記第１のデータのエラーと第２のデータのエラーを別々に検出するステップが、それぞれ第１のデータおよび第２のデータに対してエラー訂正コード（ＥＣＣ）訂正を使用することを特徴とする（６）に記載の方法。
（９）．  前記第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出するステップが、第１のデータと第２のデータを比較して、一致が存在するかどうかを判定することを特徴とする（６）に記載の方法。
（１０）．  前記方法が、
（ａ）第１のデータと第２のデータの比較から得た比較エラーと、
（ｂ）第１のデータおよび第２のデータのそれぞれから別々に得たＥＣＣエラーを通知することによってエラー検出を通知するステップを有することを特徴とする（６）に記載の方法。
【００３５】
【発明の効果】
以上のように、本発明を用いると、二重制御装置と、制御装置間の鏡像化メモリとを有するディスク記憶システムのメモリ・データ・エラーを確実に検出するエラー検出システムおよび方法を提供することができる。本発明によるシステムおよび方法は、一方の制御装置のメモリから第１のデータを取り出し、それとほぼ同時に、他方の制御装置の鏡像化メモリ・アドレス位置から第２のデータを取り出すことができ、さらに、第１のデータのエラーと第２のデータのエラーを別々に検出し、それとほぼ同時に、第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出することもできる。
【００３６】
第１のデータのエラーと第２のデータのエラーを別々に検出する手段は、それぞれ、第１のデータおよび第２のデータに対してエラー訂正コード（ＥＣＣ）訂正を使用することができ、さらに、第１のデータおよび第２のデータのそれぞれの他方に対するエラーを検出する手段は、第１のデータと第２のデータを比較して、一致が存在するかどうかを判定することができる。
【００３７】
調停手段は、ミラーの両面からの読取りを同時に行い、データ・エラー検出を同時に行うことができるように両方の制御装置のメモリへのアクセスを一方の制御装置に与えることを管理することができる。
【図面の簡単な説明】
【図１】鏡像化メモリを間に有する二重ディスク記憶制御装置システムのデータ・エラーを検出する本発明のシステムの概要を示すブロック図である。
【図２】本発明のより詳細な概略ブロック図である。
【図３】本発明の原則によって鏡像化メモリからの読取り時にデータ・エラーを検出する通信およびデータ転送の一方向経路が示された図２の概略ブロック図である。
【符号の説明】
１０：二重ディスク制御装置システム
１２：ディスク制御装置
１５：ディスク記憶サブシステム
２０、２５：二重記憶制御装置
３０、３５：メモリ
４０、４５：調停論理機構
９０、９５：比較回路
１００、１０５：ＥＣＣ回路
【図１】
0003748117.tif 000002
【図２】
0003748117.tif 000003
【図３】
0003748117.tif 000004