説明

データ処理システムにおけるミラー化された一対のデータ記憶ユニットの状態を決定する方法及び装置

【目的】 システム再初期化におけるミラー対となったデータ記憶ユニットの状態を決定するための拡張された方法及び装置を提供すること。
【構成】 一対のミラー化記憶ユニット(121,131)を有するデータ処理システムはシステムメモリにこのミラー化ユニット対の状態レコードを維持する。このシステムの再初期化において状態を決定しうるようにこの状態情報がこれらミラー化対の夫々のユニットおよび別のロケーションに記憶される。状態が変化すると、オペレーティングシステムが、まだ機能中の記憶ユニットおよび上記別のロケーションにその新しい状態を書込む。不明瞭な状況を防止するために限定された状態変化のみを可能にする。システム初期化時にこのシステムが記憶ユニットに記憶された状態情報を読取る。いずれのユニットも読取り不能のときにシステムは応答しないユニットから読取られるべき状態について別の状態レコードからとり出した状態を用いる。これら2つのユニットからのこの状態対は結果状態を含む状態取出しテーブルの固有の入力にインデクスする。

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は冗長データ記憶ユニット内にコンピュータデータのミラーコピーを維持することに関し、より詳細には、システムの再初期化時にどのユニットに現在のデータが含まれているかを決定することに関する。
【0002】
【従来の技術及び課題】現代のコンピュータシステムのデータ記憶量の増大要求には大容量のデータ記憶装置が必要である。そのような装置は通常、磁気ディスクドライブであるが、それは故障し易い多くの部品を含む機械的な複雑なものである。一般のコンピュータシステムはそのようなユニットを数個含んでいる。ユーザのデータ記憶容量要求の増大に伴い、システムの含むそのような記憶ユニットの数が増大する。1個の記憶ユニットの故障でもシステムにとっては非常に致命的なことになりうる。多くのシステムはその故障したユニットが修理または交換され、失われたデータが回復されるまで動作することが出来ない。記憶ユニットの数の増加は1個のユニットの故障する確率を増大させ、システム故障を生じさせる。これと同時にコンピュータのユーザはそれらのシステムの一貫した使用可能性により大きく依存することになる。それ故、1つの記憶ユニットの故障があってもシステム動作を維持し、その故障条件が修正されたとき正常の動作モードにシステムをもどすための改善された方法が重要となる。
【0003】この問題を解決するための方法の一つが「ミラー」法である。この方法はオリジナルと同一のデータを含む、記憶装置の重複セットを維持するものである。この重複セットは、オリジナルセット内の1つのユニットが故障したとき、システムにデータを与えるタスクを行うために使用可能なものである。一つのシステムはすべての記憶されたデータの重複セット(完全ミラー化)またはそのデータのいくつかのサブセットの重複セット(部分ミラー化)を有することが出来る。コンピュータユーザが改善されたシステムの信頼性および使用可能性を必要とするとき、このミラーが重要になってきている。
【0004】ミラー記憶手段を含むシステムのユーザはその記憶手段から信頼性について最高のものを期待する。ミラーの本質は、1個の記憶ユニットが故障したとき他のユニットがその代りに使用しうるという事であるから、システムは必然的に一対のミラーユニットの一方のみが機能するように動作しうるものでなくてはならない。ミラー対となった両ユニットが機能しており、現在のデータを含んでいるときは、これらユニットは同期していると云われる。ミラー対となった記憶ユニットの一方が故障し、他方が動作を続行するとすれば、故障したユニットのデータは直ちに古くなってしまう。ユニットの「故障」とはデータがそのユニットから読取られ、あるいはそこに書込むことが出来なくなることを意味する。これは、記憶ユニット自体が動作しないこと、あるいはI/Oプロセッサのようなそのシステムの他の要素が機能しなくなることを意味すると解釈してもよい。故障した記憶ユニットの動作を回復すると、例えば制御論理を含む回路カードが交換されるときのように記憶媒体のデータをそのまま残すことになる。
【0005】ミラー対となったディスクユニットが同期しなくなったときにシステムは動作しうるから、ミラー対の状態、すなわちその内のどれが現在データを含んでいるかを知る必要がある。システムが何らかの理由で電源異常となったとき、電源が回復しシステム自体が再初期化するときにその記憶ユニットの状態を再構成することが出来なくてはならない。システムを停止して故障した記憶ユニットを修理し、または交換するとすれば、再初期化によりそのオペレーティングシステムは修理または交換されたユニットに含まれるデータは信頼しえないことを確認し、それらユニットを再同期化させるプロセスを開始し、それにより修理または交換されたユニットを故障しなかったユニットのそれと一致させることが出来なくてはならない。
【0006】ミラー対となった記憶ユニットの状態を知る一つの方法は両ユニットに状態情報を記憶させることである。再初期化によりシステムがこの状態情報を読みとる。両ユニットが機能しており、また両ユニットの記憶した状態情報が互いに同期している場合には、このシステムはその状態を決定する。オペレーティングシステムの他の装置がすべて適正に動作してシステム自体が完全に動作している間に一方の記憶ユニットが故障した場合、このオペレーティングシステムは故障していないユニットのみが現在のデータを有することを確認し、その新しい状態情報を無故障のユニットに記録する。修理後に再初期化されるとき、無故障のユニットの状態情報は、それのみが現在のデータを有し、そのとき故障したユニットの状態レコードは両ユニットが同期したことを示すか何らかの未知の状態を示す。オペレーティングシステムはこの場合、無故障のユニットのみが現在データを含むことを決定しうる。
【0007】しかしながら、システムの再初期化中にミラー対となったユニットの一方について、他方が応答しない内に両ユニットが同期されていることをリポートすることは一般にない。この場合、システムはミラー対の状態を確実に決定することが出来ない。両ユニットがシステム電源低下時に対応するユニットにより同期化されたと主張されることがありうる。しかし、この状態は、例えばAユニットが故障し、その古くなったデータを失うことなく修理され、システムが再初期化され、そしてBユニットが応答しないような場合に生じうる。再初期化中に応答しないことは必ずしも記憶ユニットが破壊されたことを意味しない。電源スイッチがオフとなるか、あるいは任意の数の他の状況がそのユニットの応答を妨害することがありうるのであり、特に修理がシステム電源低下中に失われる場合がそれに当る。
【0008】上記の状況ではオペレーティングシステムは状態決定を行うことが出来ないか、あるいは多分正しくない状態決定を行うものと考えられる。オペレーティングシステムが状態決定を行うことが出来ない場合には一般にユーザに正しい状態を質問することになる。多数の記憶ユニットがあるために、そして物理的ロケーションに対する論理アドレスの関連づけは必ずしも明らかである必要はないから、ユーザへの質問は状態決定のためには非常に信頼性の低い方法である。ユーザは期待するような信頼性と使用可能性をもたないから、状態を予想すること、または状態を知らないことは、ミラー型または障害許容コンピュータシステムについては明らかに望ましくない。
【0009】それ故本発明の目的はミラー対となったデータ記憶ユニットの状態を決定するための拡張された方法および装置を提供することである。
【0010】本発明の他の目的は複数の装置に故障が生じたときミラー対となったデータ記憶ユニットの状態を決定するための拡張された方法および装置を提供することである。
【0011】本発明の他の目的はデータ処理システムのミラー型記憶ユニットの状態を追跡する情報に、より大きい冗長度と信頼性を与えることである。
【0012】本発明の他の目的は人為的エラーの少い、ミラー対型データ記憶ユニットの状態を決定するための方法および装置を提供することである。
【0013】
【課題を解決するための手段及び作用】一対のミラー型記憶ユニットを有するデータ処理システムはシステムメモリにこのユニット対の状態のレコード(「状態レコード」)を維持する。システムが再初期化されるときの状態を決定することが出来るように、この状態情報は夫々のユニットに1個ずつの別の状態レコードにも記憶される。ミラー対の状態は別のロケーション内の別の状態レコードにも記憶される。好適な実施例では、この別の状態レコードは不揮発性RAMに記憶される。状態が変化するとき、オペレーティングシステムが新しい状態を、まだ機能している記憶ユニットおよび上記別の状態レコードに書込む、不明瞭な状況を防止するために、限定された状態変化のみを可能にする。
【0014】システムが再初期化されるとき、システムが記憶ユニットに記憶された状態情報を読みとる。いずれのユニットも読取れない場合にはシステムは別のレコードから状態を取り出し、それを応答しないユニットから読取られたものとして置き換える。2つのユニットから読取られた(または別の状態レコードから置換えられた)一対の状態は状態とり出しテーブルに固有の入力をインデクスする。これら2つのとり出された状態でインデクスされるロケーションに含まれる入力がこれらミラー対となった記憶ユニットの正しい現在状態であり、これはシステム動作用にメモリにロードされる。
【0015】好適な実施例ではシステムは多数のミラー対となった記憶ユニットを含む。その一対は「ロードソース」でありシステムの再初期化に必要なデータを含む。ロードソース対の夫々のユニットは「入出力装置構成テーブル」と呼ばれる状態レコードを含む。ロードソースユニットの入出力装置構成テーブルはそのシステムのすべての記憶ユニットの状態を含む。上記別の状態レコードはロードソース対の状態を含むが、他の記憶ユニットの状態は含まない。システムが再初期化されるとき、システムは前述のようにロードソース対の状態を決定する。ロードソース対の状態が既知となると、残りの装置の状態を任意の現在ロードソースユニットの入出力装置構成テーブルから直接に得ることが出来る。
【0016】
【実施例】本発明の好適な実施例のコンピュータシステム100の主たる要素のブロック図を図1に示す。図4〜10に示すように適当にプログラムされたシステムプロセッサ101はシステムバス102を介して1個以上のI/Oプロセッサ120,130と通信を行う。メインメモリ103はシステムバス102に接続されると共にシステムプロセッサ101に直接に接続される。通常の動作において入出力装置構成テーブル106及び状態導出テーブル116を含むオペレーティングシステム105はメインメモリ103にある。システムクリティカルデータを含む不揮発性RAM104がシステムプロセッサ101に接続されている。不揮発性RAM104はロードソースユニットのミラー対ユニット状態の別の状態レコード115を含む。別の状態レコード115はシステムシリアル番号107、ロードソースユニット109のミラーユニット状態、ロードソースユニットA100のI/Oアドレス、およびロードソースユニットB111のI/Oアドレスを含む。不揮発性RAM104は不揮発性RAM回路カード自体のシリアル番号108を更に含んでもよい。I/Oプロセッサ120,130は1個以上の記憶ユニット121,122,131,132に与えられる。この実施例では記憶ユニット121,122,131,132は磁気ディスクドライブユニットであるが、光ディスク、テープ等の他の記憶ユニットでもよい。記憶ユニットA121とB131は1つのミラー対を構成し、同一のデータを記憶している。この実施例ではユニットA121とB131はI/Oプロセッサ120と130に夫々与えられてシステムの冗長度を大きくしている。しかしながら、これらユニットは同一のプロセッサに与えることも出来る。2個のI/Oプロセッサ120,130を示しているがこのシステムは3個以上のI/Oシステムを含むことも、また1個のI/Oプロセッサを含むことも出来る。また、一つのI/Oプロセッサに与えられる記憶ユニットの数は可変である。この実施例ではコンピュータシステム100はIBM AS/400コンピュータシステムであるが、他のシステムを用いてもよい。
【0017】夫々の記憶ユニット121,122,131,132は論理識別子140、システムシリアル番号141および入出力装置構成テーブルである状態レコード143を含む。識別子140はシステムに対しディスクユニットを識別する。システムシリアル番号141はそのユニットが与えられるシステムのシリアル番号である。他の実施例ではこれらディスクユニットは不揮発性RAM回路カード104のシリアル番号142を更に含む。
【0018】入出力装置構成テーブルの詳細を図2に示す。これは記憶ユニットの構成と状態を識別する情報を含む。各記憶ユニットはシステムに与えられるすべての記憶ユニットについての入力を有する、完全な入出力装置構成テーブルを含む。このテーブルの各レコード201,202は一対のミラー化されたディスクユニットまたは1個のミラー化されないユニットに対応する。このテーブルはそれらの対またはミラー化されないユニットの論理ユニット番号210でインデクスされる。この実施例では論理ユニット番号1はロードソース対またはユニットについて保存される。他の論理ユニット番号は任意である。この論理ユニット番号は宛先AまたはBと連結されるとき一つのディスクユニットの論理識別子140を構成する。論理ユニット番号210に加えて、各レコードは図2に示すように、共通データサブレコード211、この対のユニットAに固有のデータについてのサブレコード212およびユニットBに固有のデータのサブレコード213の3つのサブレコードに分割される。共通データサブレコード211はミラー化フラグ215とミラー化ユニット状態214を含む。ミラー化フラグ215は1ビットフィールドであり、そのレコードが一対のミラー化されたディスクユニット用であるか1個のミラー化されないユニット用であるかを示すために用いられる。「1」はそのレコードが一対のミラー化ユニットであることを示す。ミラー化ユニット状態214は1バイトフィールドでありミラー対の現在の状態を示す。ミラー化フラグが「0」(ミラー化されない)にセットされると、ミラーユニット状態は無視される。図2の例では論理ユニット番号1用のレコード201がミラー対となったディスクユニットであることであり、その現在の状態は両ユニットが正常に動作していることを示しており、論理ユニット番号3のレコード202は1個のミラー化されないユニットについてのものである。各ユニット番号はそれ自体の入力を入出力装置構成テーブルにミラー対の一方であるかどうかを示すために有しているから、特定のシステムにおけるディスクユニットのすべて、あるいはいくつかをミラー化することが出来、あるいは全くミラー化しないことも出来る。ユニットAとBの夫々についてのサブレコード212,213はI/Oアドレスフィールド216,218および夫々のディスクユニットのユニットシリアル番号217,219を含む。レコードがレコード202について示すように1個のミラー化されないディスクユニットについてのものである場合には、そのユニットについての情報はユニットA′のサブレコード212に記憶され、ユニットBのサブレコード213は用いられない。サブレコード211,212,213は他の目的に使用される他のフィールドを含むことが出来る。
【0019】入出力装置構成テーブルのミラー化されたユニットの状態フィールド214内には5個の状態が記憶出来る。これら状態およびそれらに関連する意味は次の通りである。
ABOK ミラー対となったAとBユニットが現在データと同期する。
AOK Aユニットのみが現在データを含み、Bユニットは信頼性がない。
BOK Bユニットのみが現在データを含み、Aユニットは信頼性がない。
AOKRB Aユニットが現在データを含み、BユニットはAユニットとの再同期化処理中である。
BOKRA Bユニットが現在データを含み、AユニットがBユニットとの再同期化処理中である。
このシステムはミラーユニット状態フィールドにおける「未知」状態を記憶しない。
【0020】通常のシステム動作中、オペレーティングシステムはメインメモリ103(図1)内に入出力装置構成テーブルのコピーを維持し、それに対し、記憶ユニットに関する状態情報が必要なときにシステムが照合を行う。記憶ユニットの状態に変化があるときには、その新しい状態がメモリ内の入出力装置構成テーブルおよび夫々の動作記憶ユニットの入出力装置構成テーブルに書込まれる。この状態変化にロードソースディスクユニットが含まれる場合には、その新しい状態は不揮発性RAM104にも書込まれる。システムが不確定な状態にならないようにするため次のルールを状態変化のときに参照しなければならない。
1. システムは一対のミラー化ユニットの両方をバックレベルさせてはならない。両ユニットが故障した場合にはシステム自体を停止させる。この場合、最後に故障したユニットが現在データを含む。
2. システムは故障したディスクユニットに新しいミラー状態を書込まない。
3. 次の状態変化のみを許す:ABOKからAOKに (Bユニット故障)
ABOKからBOKに (Aユニット故障)
AOKRBからAOKに (Bユニットの再同期化が不能)
BOKRAからBOKに (Aユニットの再同期化が不能)
AOKからAOKRBに (Bユニットの再同期化スタート)
BOKからBOKRAに (Aユニットの再同期化スタート)
AOKRBからABOKに (Bユニットの再同期化成功)
BOKRAからABOKに (Aユニットの再同期化成功)
コンピュータシステム100が再初期化されるとき、システムはまず2個のロードソースユニットおよび不揮発性RAMのミラー化状態データからロードソース対のミラー化ユニット状態をとり出す。一つの状態をこれらロードソースユニットの夫々と関連づける。一つのロードソースと「関連」づけられた状態は読取り可能であればそのユニットに記憶された状態であり、記憶ユニットに記憶された状態が読取り出来ないときは不揮発性RAM104内の別の状態レコード115に記憶される状態である。Aユニットに関連した状態とBユニットに関連した状態の対に対応してミラー化ロードソース対の固有の結果的状態がある。この結果状態はロードソース対の真の状態であり、図3の入出力装置構成テーブル301により限定される。メインメモリ103内のオペレーティングシステム105の116に記憶される入出力装置構成テーブル301はロードソースユニットAに関連する入力302とロードソースユニットBに関連する入力303を必要とする。システムはこのテーブルのユニットAに関連する状態に対応する列とユニットBに関連する状態に対応する行の入力をアクセスすることによりミラーロードソース対の状態をとり出す。「未知」入力状態304,305はディスクユニットまたは不揮発性RAMから読取られず、ディスクユニットまたは不揮発性RAMのいずれも読取出来ないときにのみ用いられる。「*」印を付したこのテーブルの入力は可能ではない。「 *AOK」および「 *BOK」の入力はディスクユニットから読取られる状態を用いるときには可能でないが、応答しないディスクユニットについて不揮発性RAMから読出される状態を用いるときは可能である。「**AOK」と「**BOK」の入力はBが故障のときBOKRAからABOKへの状態変化について、またはAが故障のときAOKRBからABOKへの状態変化についてのみ生じる。コンピュータシステム100はこの2段階変化を認識し処理する。
【0021】ユニットAが状態ABOKを含み、ユニットBが応答せず、そして不揮発性RAMが状態BOKを含む場合の入出力装置構成テーブル301の使用の一例として、システムは不揮発性RAMから読取られた状態BOKをBユニットから読取られている状態と置き換える。これら値をこのテーブルに入れると、その結果の状態は列ABOKと行BOKに含まれる。この結果状態はBOKである。これはAユニットが故障し、そしてそのデータが古くなり、システム電源が低下し、Aユニットが動作を再開し、Bユニットがシステム再初期化時に応答しないときに生じる状態である。
【0022】図4〜10は本発明による再初期化手順(IPL)の段階の詳細を示すものである。図4は入出力装置構成タスクを示す。このプロセスはロードソースユニットの内の一方402から記憶ユニットの論理識別子を読取ることによりはじまる。この初期段階でアクセスされるこのロードソースユニットをここでは1次ロードソースユニットと呼ぶ。この実施例ではこの1次ロードソースユニットははじめにポールに応答するユニットであり、論理AまたはBユニットである。このプロセスは次に1次ロードソースユニットから403においてメインメモリに入出力装置構成テーブル(DCT)をロードする。次に404ですべてのユニットの状態を決定するためにループに入る。記憶ユニットはラインに入るときランダムパターンでリポートする。このプロセスは各ユニットが408でリポートするのを待ち、409でこのリポートを行うユニットの論理識別子を得、そしてこのユニットがミラー対の一方405であるとき410で検索ミラー化ユニット状態ルーチンを呼び出す。
【0023】この検索ミラー化ユニット状態ルーチン410はそのときシステムについて使用可能な情報にもとづき、リポートをするユニットの状態をもどす。ルーチン410からの復帰において、両ロードソースユニットが411においてリポートしていれば、また呼出されたサブルーチンがロードソース対についての状態をもどして411で1次ロードソースが現在のデータを含まないときには、システムは413において、別のロードソースユニットを用いてその再初期化手順を再びスタートする。そうでない場合にはループ404にもどる。
【0024】ルーチン410の詳細を図5に示す。このルーチンは421でこのユニットがロードソースユニットであればロードソース状態獲得(Get Load Source State)ルーチン422に分岐する。そうでなければ入出力装置構成検査テーブルルーチン423を呼び出す。このルーチン423が424においてDCT有効であればルーチン410が425においDCTに記憶されたミラー化対の状態値をもどし、そうでなければ426で未知の状態にもどす。
【0025】422で呼び出されるロードソース状態獲得ルーチンを図6に示す。これは次に431でNVRAM検査ルーチンを、432でディスクユニットAについて記憶状態獲得ルーチンを、433でディスクBの記憶状態獲得ルーチンを呼び出し、記憶状態獲得ルーチンに対する2回の呼び出しからもどされる状態からロードソース状態をとり出すために状態導出テーブル301にアクセスする。これらもどされた状態値はロードソースユニットAとBに関連する状態である。
【0026】NVRAM検査ルーチンを図7に示す。このルーチンは単純な有効性チェックを行いNVRAMが使用可能であるかどうかを示すフラグをセットする。この検査を行う一つの理由は不揮発性RAMユニット(この場合、回路カード)が交換されており、そのためロードソースユニットの状態を決定するためにNVRAMについて応答するのに不充分であることがあるからである。このルーチンは441でNVRAM内のデータと1次ロードソースディスクユニットから読取られるデータと比較する。442においてNVRAMと1次ロードソースユニットが同一のシステムシリアル番号を含まないとされ、あるいは443で1次ロードソースユニットと同一のI/Oアドレスを含まないとされるとき、このNVRAMは使用可能とはされない。更にNVRAMが444でロードソースユニットの状態について無効値を含むならば、それは使用し得ない。
【0027】432と433の記憶状態獲得ルーチンを図8に示す。特定のディスクユニットがリポートを行った場合、このルーチンは451で、452でリポートしていればそのディスクユニットから読取られた状態をもどすように分岐する。このユニットがリポートしなかったならば、NVRAMが使用可能であるかどうかを453でチェックする。NVRAMが使用可能であれば455でNVRAMに記憶された状態をもどし、そうでなければ454で「未知状態」をもどす。
【0028】423で呼び出されるDCT検査ルーチンを図9に示す。このルーチンはDCTが使用可能かどうかを示すフラグをセットする。ロードソースがミラー対でない場合、このルーチンは461で直ちにDCT使用可能にセットするため分岐する。そうでなければ462でロードソース状態獲得ルーチンを呼び出して1次ロードソース装置の状態を得る。これは、メモリにDCTテーブルをはじめにロードした装置である。このロードソース状態獲得ルーチンが、1次ロードソース装置が現在データを有することを示す状態にもどると、このプロセスは463においてDCT使用可能をセットするために分岐する。そうでなければDCTを使用不能にセットする。次にその呼び出しルーチンにもどる。
【0029】図4に示す入出力装置構成タスクは不定に続く。それと同時に、図10に示すメインIPLタスクがスタートする。471でこのIPLタスクの第1部分が完了した後にこのタスクは、すべての要求された記憶ユニットすなわちこのシステムの記憶されたデータのすべてについての現在データを含む少くとも1個の記憶ユニットがリポートを行ったかどうかを472でチェックする。もしそうであれば、IPLは473で続行可能とされ、そうでなければエラー処理ルーチンが呼び出される。
【0030】例えば、システムがすべての点で機能しており、そして両ロードソースユニットが現在データを含むがBユニットの電源が切られたとすると、このシステムは次の処理を行う。すなわち、入出力装置構成タスクに入り、ユニットAから識別子、システムシリアル番号およびDCTを402と403で読取る。405でユニットAはミラーであるから、410で検索ミラー化ユニット状態ルーチンを呼び出す。これは421でロードソース状態獲得ルーチン422を呼び出す。ロードソース状態獲得ルーチンは431でNVRAM検査ルーチンを呼び出し、これがNVRAMを有効にセットしてもどる。次に432でユニットAについての記憶状態獲得ルーチンを呼び出して、これがABOK状態にもどる。次にユニットBの記憶状態獲得ルーチンを433で呼び出す。ユニットBは451でリポートしていないから、そしてNVRAMは453で使用可能とされるから、ABOKであるNVRAMに状態をもどす。ロードソース状態獲得ルーチンがABOKである状態取出しテーブルの結果状態を434で調べる。次にミラー化ユニット状態検索ルーチン(図5)にもどり、そしてこれが入出力装置構成タスク(図4)にもどる。両ロードソースユニットは411においてリポートしていないから、このタスクは404でループにもどり、408で次のユニットのリポートを待つ。充分な時間の経過後に、471で他のワークを行っていたメインIPLタスクは472でシステムのすべてのデータについて少くとも1つの現在ユニットがあるかどうかを検査する。Aユニットは現在として決定されたから473でIPLの続行を可能にする。
【0031】この実施例では、任意の数の記憶ユニットをミラー化しうるようにシステム設計がなされる。例えばこれらユニットのいくつかをミラー化しロードソースユニットをミラー化しないことも可能である。しかしながら、これは、再初期化時にミラー化状態情報の唯一のソースが1個のロードソースユニットとなり、ミラー化記憶手段により与えられる冗長度の多くを失うことを意味する。
【0032】すべてのディスクユニットに一つの入出力装置構成テーブルが記憶される。ロードソースユニット以外のユニットにおけるこのテーブルのコピーは上記の再初期化手順では用いられず、保存目的にのみ存在する。他の実施例では不揮発性RAMに記憶されるロードソース状態の代りにDCTのこれらコピーを用いることが出来る。更に他の実施例ではすべての他のユニットの状態情報についてDCTを用いるのではなく、ロードソースユニットの状態を決定するために用いられると同じ手順を用いて夫々のミラー化ディスクユニット対の状態を個々に決定することが出来る。これらユニットはオンラインとされてランダムにリポートを行うから、更に他の実施例ではまずミラー化対がリポートを行うものに状態決定手順を適用し、次に、残りのミラー対の状態を決定するために第1のリポートを行うミラー対の現在のユニットの内の一方の入出力装置構成テーブルからの状態情報を用いる。
【0033】本発明の好適な実施例においては不揮発性RAMに別の状態レコードを記憶する。このレコードは、システムの電源低下のときデータが持続されれば、2つのロードソースユニット以外の任意のロケーションに記憶しうる。例えばそれはロードソースユニットと同一形式の第3のディスク記憶ユニット、テープ、あるいはコンピュータシステム100とは遠く離れた、あるいは直接に接続される他のコンピュータシステムにも記憶しうる。
【0034】更に他の実施例では不揮発性RAMのシリアル番号はそのRAM自体に、そしてディスクユニットに記憶しうる。これらシリアル番号は不揮発性RAMの検査において他の冗長度レベルについてNVRAM検査ルーチンにおいて比較される。
【図面の簡単な説明】
【図1】本発明のミラー化記憶要素を使用するシステムのブロック図。
【図2】記憶ユニットの内の1つまたはメインメモリに含まれる入出力装置構成テーブルを示す図。
【図3】本発明により一対のミラー化記憶ユニットの状態を決定するために用いられる状態取出しテーブルを示す図。
【図4】入出力装置構成タスクのルーチンを示すフローチャート。
【図5】図4におけるミラー化ユニット状態検索ルーチンを示すフローチャート。
【図6】図5におけるロードソース状態を呼出すルーチンを示すフローチャート。
【図7】図6におけるNVRAM検査ルーチンを示すフローチャート。
【図8】図6におけるユニットA,Bの記憶状態を獲得するルーチンを示すフローチャート。
【図9】図5におけるDCT検査ルーチンを示すフローチャート。
【図10】主IPLタスクのルーチンを示すフローチャート。
【符号の説明】
100 コンピュータシステム
101 システムプロセッサ
102 システムバス
103 メインメモリ
104 不揮発性RAM
106 入出力装置構成テーブル
107 システムシリアル番号
108 不揮発性RAM回路カード
109,110,111 ロードソースユニット
116 状態取出しテーブル
120,130 I/Oプロセッサ

【特許請求の範囲】
【請求項1】データ処理システムにおけるミラー化された一対のデータ記憶ユニットの状態を決定するための下記段階を含む方法:上記ミラー化された一対のデータ記憶ユニットの内の第1記憶ユニットからそれに関連する状態を得るために第1状態レコードをとり出す段階;上記ミラー化された一対のデータ記憶ユニットの内の第2記憶ユニットからそれに関連する状態を得るために第2状態レコードをとり出す段階;別のロケーションから別の状態レコードをとり出す段階;上記データ記憶ユニットから状態レコードをとり出すことができないとき、それらデータ記憶ユニットの一方に関連する状態を上記別の状態レコードに含まれる状態情報で置き換える段階;及び上記第1および第2データ記憶ユニットに関連する状態対に対応する上記ミラー化された一対のデータ記憶ユニットの結果としての状態を決定する段階。
【請求項2】前記ミラー化された一対のデータ記憶ユニットの状態を決定する段階は前記第1および第2記憶ユニットに関連する状態対に対応する状態取出しテーブル内の入力から上記ミラー化されたデータ記憶ユニットの状態をとり出す段階を含んでいる請求項1の方法。
【請求項3】前記別の状態レコードは不揮発性ランダムアクセスメモリからとり出される請求項1の方法。
【請求項4】前記別の状態レコードは不揮発性ランダムアクセスメモリからとり出される請求項2の方法。
【請求項5】少くとも2対のミラー化されたデータ記憶ユニットを有するデータ処理システムにおけるこれら記憶ユニット対の状態を決定するための、下記段階を含む方法:ミラー化された第1記憶ユニット対の第1の記憶ユニットから、それに関連する状態を得るために第1状態レコードをとり出す段階;上記第1記憶ユニット対の第2記憶ユニットから、それに関連する状態を得るために第2状態レコードをとり出す段階;別のロケーションから別の状態レコードをとり出す段階;上記記憶ユニットから状態レコードをとり出すことができないとき上記第1記憶ユニット対の記憶ユニットの一方に関連する状態を上記別の状態レコードに含まれる状態情報で置き換える段階;上記第1記憶ユニット対の第1および第2記憶ユニットに関連する状態対に対応する状態を決定することにより上記第1記憶ユニット対の状態を決定する決定段階;及び上記決定段階により現在データを得るべく決定される第1記憶ユニット対からの第1記憶ユニット対以外の夫々のミラー化状態ユニットの状態をとり出す段階。
【請求項6】前記決定段階は前記第1記憶ユニット対の第1および第2記憶ユニットに関連する状態対に対応する状態とり出しテーブルの入力から上記第1ミラー対の状態をとり出す段階を含んでいる請求項5の方法。
【請求項7】前記別の状態レコードは不揮発性ランダムアクセスメモリからとり出される請求項6の方法。
【請求項8】前記別の状態レコードは不揮発性ランダムアクセスメモリからとり出される請求項7の方法。
【請求項9】ミラー化された一対のデータ記憶ユニットを有するデータ処理システム用の、下記要件を含むデータ記憶装置:上記一対のデータ記憶ユニットの状態を記憶するための状態レコードを有する、この一対のデータ記憶ユニットの第1記憶ユニット;上記一対のデータ記憶ユニットの状態を記憶するための状態レコードを有するこの一対のデータ記憶ユニットの第2記憶ユニット;これら第1および第2記憶ユニットに接続されてそれらの記憶する状態レコードをとり出すための状態取出し手段;及び上記状態取出し手段に接続され、上記データ処理システムが再初期化されるとき上記一対のデータ記憶ユニットの状態の決定を、上記再記憶ユニットが現在データを含みそして他の記憶ユニットから状態レコードをとり出し得ないことをそれらの一方からとり出された状態レコードが示しているとき決定するための状態決定手段。
【請求項10】前記状態決定手段は、状態ユニットに含まれる状態情報をとり出し得ないとき前記状態ユニットの一方に含まれる状態情報を別の状態レコードに含まれる状態レコードで置き換える手段を含んでいる請求項9の装置。
【請求項11】前記状態決定手段は前記第1記憶ユニットに関連する状態と前記第2記憶ユニットに関連する状態の対の夫々に対応する固有の状態入力を有する状態取出しテーブルを更に含み、上記データ記憶ユニット対の状態がこのテーブルから上記両状態に対応する入力をとり出すことにより決定される請求項10の装置。
【請求項12】データ記憶のための第3記憶ユニット;及び上記第3記憶ユニットに記憶されるデータのコピーを記憶するための第4記憶ユニット;を更に備え、前記状態決定手段は、前記第1および第2記憶ユニットに記憶された状態レコードに含まれる情報を用いて上記第3および第4記憶ユニットの状態を自動的に決定する、請求項11の装置。
【請求項13】下記要件を含む、データ処理システム用データ記憶装置:状態レコードを有する、データ記憶のための第1記憶ユニット;状態レコードを有し、上記第1記憶ユニットに記憶されるデータのコピーを記憶するための第2記憶ユニット;上記第1および第2記憶ユニットに接続され、それらユニットに記憶される状態レコードをとり出すための状態取り出し手段;上記状態取出し手段が記憶ユニットから状態情報をとり出し得ないとき、両記憶ユニットの一方の状態レコードに含まれる情報を別の状態レコードに含まれる情報で置き換えるための別の状態レコード置き換え手段;及び上記状態取出し手段と上記別の状態レコード置き換え手段に接続されて、データ処理システムが再初期化されるとき上記第1および第2記憶ユニットに関連する状態対に対応する状態を決定するための状態決定手段。
【請求項14】前記状態決定手段は前記第1記憶ユニットに関連する状態と前記第2記憶ユニットに関連する状態の対夫々に対応する固有の状態入力を有する状態取り出しテーブルを更に含んでいる請求項13の装置。
【請求項15】前記別の状態レコード置換え手段は不揮発性ランダムアクセスメモリから前記別の状態レコードを取り出す請求項14の装置。
【請求項16】データを記憶するための第3記憶ユニット;及びこの第3記憶ユニットに記憶されたデータのコピーを記憶するための第4記憶ユニット;を更に備え、前記状態決定手段は、前記第1および第2記憶ユニットに記憶された状態レコードに含まれる情報を用いて上記第3および第4記憶ユニットの状態を自動的に決定する、請求項15の装置。

【図2】
image rotate


【図1】
image rotate


【図3】
image rotate


【図5】
image rotate


【図6】
image rotate


【図4】
image rotate


【図7】
image rotate


【図8】
image rotate


【図9】
image rotate


【図10】
image rotate


【公開番号】特開平5−307445
【公開日】平成5年(1993)11月19日
【国際特許分類】
【出願番号】特願平3−86357
【出願日】平成3年(1991)3月26日
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレイション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION