(58)【調査した分野】(Int.Cl.,DB名)
動作系主記憶装置と動作系キャッシュメモリと動作系CPUとを有する動作系情報処理システムと、待機系主記憶装置と待機系キャッシュメモリと待機系CPUとを有する待機系情報処理システムとから構成される二重化情報処理システムであって、
前記動作系キャッシュメモリの内容を前記待機系キャッシュメモリにコピーするキャッシュコピー手段と、
前記動作系主記憶装置の内容を前記待機系主記憶装置にコピーする主記憶コピー手段と、
前記主記憶コピー手段によるコピーが完了するまでの間、前記動作系CPUおよび前記待機系CPUからのリードおよびライトを前記動作系主記憶装置に対するリードおよびライトとして処理する主記憶アービタ手段とを有し、
前記動作系CPUと前記待機系CPUとは、前記キャッシュコピー手段によるコピーの完了時、前記主記憶コピー手段によるコピーの完了を待たずに、同一タイミングで同一の処理の実行を開始する
ことを特徴とする二重化情報処理システム。
前記主記憶アービタ手段は、前記動作系CPUと前記待機系CPUとから前記動作系主記憶装置の同一アドレスにライトされるデータどうしを比較し、不一致を検出した場合には前記動作系主記憶装置へのライトは行わない
ことを特徴とする請求項1に記載の二重化情報処理システム。
前記主記憶アービタ手段は、前記動作系CPUと前記待機系CPUとから前記動作系主記憶装置の同一アドレスにライトされるデータどうしを比較し、不一致を検出すると前記動作系CPUおよび前記待機系CPUに対して二重化運転を停止させるエラー信号を出力する
ことを特徴とする請求項1または2に記載の二重化情報処理システム。
前記動作系情報処理システムだけが動作している非二重化運転中は、前記動作系CPUから出力されるデータを二重化情報処理システムの出力データとして外部に出力し、前記動作系情報処理システムと前記待機系情報処理システムとが同期して同一の処理を二重に実行している運転中は、前記動作系CPUから出力されるデータと前記待機系CPUから出力されるデータとを照合し、一致する場合に限り、前記動作系CPUから出力されるデータを二重化情報処理システムの出力データとして外部に出力する照合手段を有する
請求項1乃至4の何れかに記載の二重化情報処理システム。
動作系主記憶装置と動作系キャッシュメモリと動作系CPUとを有する動作系情報処理システムと、待機系主記憶装置と待機系キャッシュメモリと待機系CPUとを有する待機系情報処理システムとから構成され、キャッシュコピー手段と、主記憶コピー手段と、主記憶アービタ手段とを有する二重化情報処理システムが実行する二重化運転方法であって、
前記キャッシュコピー手段が前記動作系キャッシュメモリの内容を前記待機系キャッシュメモリにコピーすると共に、前記主記憶コピー手段が前記動作系主記憶装置の内容を前記待機系主記憶装置にコピーし、
前記主記憶アービタ手段が、前記主記憶コピー手段によるコピーが完了するまでの間、前記動作系CPUおよび前記待機系CPUからのリードおよびライトを前記動作系主記憶装置に対するリードおよびライトとして処理し、
前記動作系CPUと前記待機系CPUとが、前記キャッシュコピー手段によるコピーの完了時、前記主記憶コピー手段によるコピーの完了を待たずに、同一タイミングで同一の処理の実行を開始する
ことを特徴とする二重化運転方法。
【発明を実施するための形態】
【0012】
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態にかかる二重化情報処理システムは、動作系の情報処理システム1aと、待機系の情報処理システム1bとを有する。動作系の情報処理システム1aは、動作系の主記憶装置2a、キャッシュメモリ3a、およびCPU4aを有する。待機系の情報処理システム1bは、待機系の主記憶装置2b、キャッシュメモリ3b、およびCPU4bを有する。また本実施形態にかかる二重化情報処理システムは、キャッシュコピー手段5と、主記憶コピー手段6と、主記憶アービタ手段7とを有する。
【0013】
キャッシュコピー手段5は、動作系のキャッシュメモリ3aの内容を待機系のキャッシュメモリ3bにコピーする機能を有する。主記憶コピー手段6は、動作系の主記憶装置2aの内容を待機系の主記憶装置2bにコピーする機能を有する。主記憶アービタ手段7は、主記憶コピー手段6によるコピーが完了するまでは、動作系CPU4aおよび待機系CPU4bからのリードおよびライトを動作系の主記憶装置2aに対するリードおよびライトとして処理する機能を有する。すなわち、主記憶アービタ手段7は、動作系の主記憶装置2aを動作系と待機系とで一時的に共有させるための手段である。
【0015】
今、待機系情報処理システム1bが二重化情報処理システムから論理的に切り離されており、動作系情報処理システム1aだけが動作しているとする。このような状況においては、動作系のCPU4aは、主記憶アービタ手段7を通じて動作系の主記憶装置2aをアクセスし、特定の処理を実行している。また動作系のキャッシュメモリ3aには、CPU4aが最近アクセスした主記憶装置2aの命令コードやデータの写しが保持されている。
【0016】
このように動作系情報処理システム1aだけが動作している二重化情報処理システムに待機系情報処理システム1bを組み入れて、同一の処理を動作系と待機系の両方の情報処理システム1a、1bで並行して実行させる場合、以下のような手順で二重化運転が開始される。
【0017】
まず、キャッシュコピー手段5は動作系のキャッシュメモリ3aの内容を待機系のキャッシュメモリ3bにコピーする動作を開始すると共に、主記憶コピー手段6は動作系の主記憶装置2aの内容を待機系の主記憶装置2bにコピーする動作を開始する。また、主記憶アービタ手段7は、主記憶コピー手段6によるコピーが完了するまでは、動作系CPU4aおよび待機系CPU4bからのリードおよびライトを動作系の主記憶装置2aに対するリードおよびライトとして処理する。
【0018】
その後、キャッシュコピー手段5によるコピーが完了すると、動作系のCPU4aと待機系のCPU4bは、主記憶コピー手段6によるコピーの完了を待たずに、同一タイミングで同一の処理を開始する。具体的には、動作系のCPU4aと待機系のCPU4bとは、動作系の主記憶装置2aの同一のアドレスに存在する同一の命令コードから始まる同一のプログラムの実行を同時に開始する。これにより、二重化情報処理システムは、動作系と待機系の両方の情報処理システム1a、1bが同一の処理を並行して実行する二重化運転状態となる。
【0019】
その後、主記憶コピー手段6によるコピーが完了すると、主記憶アービタ手段7は、動作系CPU4aからのリードおよびライトを動作系の主記憶装置2aに対するリードおよびライトとして処理し、待機系CPU4bからのリードおよびライトを待機系の主記憶装置2bに対するリードおよびライトとして処理する状態に切り替わる。これにより、動作系情報処理システム1aと待機系情報処理システム1bとは、主記憶装置も含めて互いに独立して同一の処理を二重に実行する運転状態に遷移する。
【0020】
このように本実施形態によれば、動作系の情報処理システム1aのみが稼働している状態から、動作系の情報処理システム1aと待機系の情報処理システム1bとが同一の処理を並行して実行する二重化運転状態に速やかに移行することができる。その理由は、動作系の主記憶装置2aを動作系CPU4aおよび待機系CPU4bで一時的に共有させる主記憶アービタ手段7を備えているため、キャッシュメモリのコピーさえ完了すれば動作系CPU4aと待機系CPU4bとで同一の処理を同時に実行することが可能になるためである。
【0021】
[第2の実施形態]
図2を参照すると、本発明の第2の実施形態にかかる二重化情報処理システムは、
図1に示した第1の実施形態にかかる二重化情報処理システムと比較して、主記憶アービタ手段7の代わりに主記憶アービタ手段8を備えている点と、新たに照合手段9を備えている点でのみ相違する。
【0022】
主記憶アービタ手段8は、主記憶アービタ手段7と同様の機能を有すると共に、さらに、動作系のCPU4aと待機系のCPU4bとから主記憶装置2aの同一アドレスにライトされるデータどうしを比較し、不一致を検出すると、CPU4a、4bに対してエラー信号8aを出力する機能を有する。
【0023】
照合手段9は、動作系情報処理システム1aだけが動作している非二重化運転中は、動作系のCPU4aから出力されるデータを二重化情報処理システムの出力データとして外部に出力する機能を有する。また照合手段9は、動作系情報処理システム1aと待機系情報処理システム1bとが同期して同一の処理を二重に実行している運転中は、動作系のCPU4aから出力されるデータと待機系のCPU4bから出力されるデータとを照合し、一致する場合に限り、動作系のCPU4aから出力されるデータを二重化情報処理システムの出力データとして外部に出力する機能を有する。
【0025】
今、待機系情報処理システム1bが二重化情報処理システムから論理的に切り離されており、動作系情報処理システム1aだけが動作しているとする。このような状況においては、動作系のCPU4aは、主記憶アービタ手段7を通じて動作系の主記憶装置2aをアクセスし、特定の処理を実行している。また動作系のキャッシュメモリ3aには、CPU4aが最近アクセスした主記憶装置2aの命令コードやデータの写しが保持されている。さらに、照合手段9は、動作系のCPU4aから出力されるデータを外部に出力している。
【0026】
このように動作系情報処理システム1aだけが動作している二重化情報処理システムに待機系情報処理システム1bを組み入れて、同一の処理を動作系と待機系の両方の情報処理システム1a、1bで並行して実行させる場合、以下のような手順で二重化運転が開始される。
【0027】
まず、キャッシュコピー手段5は動作系のキャッシュメモリ3aの内容を待機系のキャッシュメモリ3bにコピーする動作を開始すると共に、主記憶コピー手段6は動作系の主記憶装置2aの内容を待機系の主記憶装置2bにコピーする動作を開始する。また、主記憶アービタ手段7は、主記憶コピー手段6によるコピーが完了するまでは、動作系CPU4aおよび待機系CPU4bからのリードおよびライトを動作系の主記憶装置2aに対するリードおよびライトとして処理する。
【0028】
その後、キャッシュコピー手段5によるコピーが完了すると、動作系のCPU4aと待機系のCPU4bは、主記憶コピー手段6によるコピーの完了を待たずに、同一タイミングで同一の処理を開始する。具体的には、動作系のCPU4aと待機系のCPU4bとは、動作系の主記憶装置2aの同一のアドレスに存在する同一の命令コードから始まる同一のプログラムの実行を同時に開始する。これにより、二重化情報処理システムは、動作系と待機系の両方の情報処理システム1a、1bが同一の処理を並行して実行する二重化運転状態となる。
【0029】
このような二重化運転中、主記憶アービタ手段8は、動作系のCPU4aと待機系のCPU4bとから主記憶装置2aの同一アドレスにライトされるデータどうしを比較し、不一致を検出すると、CPU4a、4bに対してエラー信号8aを出力する。動作系のCPU4aと待機系のCPU4bとは、エラー信号8aを受信すると、同期化した二重化運転を停止し、予め定められたエラー処理を実行する。このエラー処理では、再び動作系の情報処理システム1aのみが動作する状態に遷移し、キャッシュコピー手段5および主記憶コピー手段6によるコピー処理が最初からやり直される。これにより、動作系のCPU4aと待機系のCPU4bとから主記憶装置2aの同一アドレスにライトされるデータが不一致となった原因が、キャッシュコピー中のデータ化けによるキャッシュ不一致による場合、復旧が可能になる。
【0030】
また、二重化運転中、照合手段9は、動作系のCPU4aから出力されるデータと待機系のCPU4bから出力されるデータとを照合し、一致する場合に限り、動作系のCPU4aから出力されるデータを外部に出力する。
【0031】
その後、主記憶コピー手段6によるコピーが完了すると、主記憶アービタ手段7は、動作系CPU4aからのリードおよびライトを動作系の主記憶装置2aに対するリードおよびライトとして処理し、待機系CPU4bからのリードおよびライトを待機系の主記憶装置2bに対するリードおよびライトとして処理する状態に切り替わる。これにより、動作系情報処理システム1aと待機系情報処理システム1bとは、主記憶装置も含めて互いに独立して同一の処理を二重に実行する運転状態に遷移する。このような二重化運転中も照合手段9は、動作系のCPU4aから出力されるデータと待機系のCPU4bから出力されるデータとを照合し、一致する場合に限り、動作系のCPU4aから出力されるデータを外部に出力する。
【0032】
このように本実施形態によれば、第1の実施形態と同様の効果が得られると共に、二重化情報処理システムの信頼性を高めることができる。その理由は、主記憶アービタ手段8が動作系のCPU4aと待機系のCPU4bとから主記憶装置2aの同一アドレスにライトされるデータどうしの不一致を検出すると、キャッシュコピー手段5および主記憶コピー手段6によるコピー処理を最初からやり直し、同期を取り直すようにしているためである。また、他の理由は、照合手段9が動作系のCPU4aから出力されるデータと待機系のCPU4bから出力されるデータとを照合し、一致する場合に限り、動作系のCPU4aから出力されるデータを外部に出力するためである。
【0033】
[第3の実施形態]
図3を参照すると、本発明の第3の実施形態にかかる二重化情報処理システムは、実際に処理を行う動作系の情報処理システム100aと、情報処理システム100aに障害が発生した際に処理を引き継ぐ待機系の情報処理システム100bとから構成されている。
【0034】
動作系、待機系の情報システム100a、100bは、それぞれCPU(中央処理装置)102a、102bと、主記憶制御装置103a、103bと、主記憶装置104a、104bと、ライトバック方式のキャッシュメモリ105a、105bと、キャッシュメモリ制御装置106a、106bと、主記憶アービタ装置107a、107bとを備えている。
【0035】
主記憶制御装置103a、103bは、動作系の主記憶装置104a、104bの内容を待機系の主記憶装置104b、104aにコピーする機能と、自系の主記憶装置104a、104bの内容を他系の主記憶装置104b、104aへコピーする機能と、情報処理システムの同期化中に主記憶装置へのライトデータを双方の主記憶装置104a、104bに対してコピーする機能を有する。
【0036】
キャッシュメモリ制御装置106a、106bは、動作系のキャッシュメモリ105a、105bの内容を待機系のキャッシュメモリ105b、105aにコピーする機能と、情報処理システムの同期化中にキャッシュメモリへのライトデータを双方のキャッシュメモリにライトする機能を有する。
【0037】
主記憶アービタ装置107a、107bは、CPU102a、1102bと主記憶制御装置103a、103bとの転送バス機能と、動作系の主記憶アービタ装置107a、107bからのリードデータを待機系の主記憶アービタ装置107b、107aを経由し待機系のCPU102b、101aと動作系のCPUとに対して転送する機能と、同一アドレスに対する動作系CPU102a、102bからのライトデータと待機系CPU102b、102aからのライトデータとの比較一致確認を行い、一致している場合に限って主記憶制御装置にライトする機能を有する。
【0039】
図3において動作系の情報処理システム100aが動作を開始したとき、キャッシュメモリ105aには有効なデータが格納されていないため、CPU102aがライト、リードを行うデータは全てミスヒットとなる。そのため、CPU102aは、処理対象のデータを主記憶アービタ装置107aを介して主記憶制御装置103aに対して要求する。
【0040】
主記憶制御装置103aは、要求されたデータを主記憶装置104aからリードし主記憶アービタ装置107aを介してCPU102aに送信する。CPU102aは、受信したリードデータをキャッシュメモリ105aにライトすることで主記憶装置104aの内容のコピーを格納し、さらに受信したリードデータの値に従い演算処理をする。この演算処理の内容が主記憶装置に対するライト処理の場合は、キャッシュメモリ105aに対してライトを行う。
【0041】
CPU102aは、次にライト、リードを行うデータがキャッシュメモリ105aに格納されていない場合はミスヒットとなり、前述の動作と同様に主記憶アービタ装置107aと主記憶制御装置103aとを介して主記憶装置104aからデータをリードし、キャッシュメモリ105aに格納する。これに対し、ライト、リードを行うデータがキャッシュメモリ105aに格納されている場合は、キャッシュヒットとなり、キャッシュメモリ105aにライト、リードを行う。このキャッシュヒットかつライト時の動作により、キャッシュメモリ105aの内容と主記憶装置104aの内容に不一致が生じることになる。また、このような動作が繰り返されることによりキャッシュメモリ105aには頻繁に使用されるデータが格納され、CPU102aは主記憶装置104aにだけ有効なデータが存在するときと比べて高速なライトおよびリードを実現する。
【0042】
次に
図4のシーケンス図を用いて、動作系と待機系とを同期化する際の動作について説明する。なお
図4において、実線矢印を用いて処理の流れを、破線矢印を用いてデータの流れを示す。
【0043】
図3で示した二重化情報システムにおいて、動作系の情報システム100aに待機系の情報システム100bを同期化するにあたり、まず、動作系のCPU102aは、キャシュメモリ105aのデータを待機系のキャッシュメモリ105bに転送するために、キャッシュメモリ制御装置106aに対してキャッシュメモリコピー指示を与える(S20)。キャッシュメモリ制御装置へのコピー指示に続き動作系のCPU102aは、主記憶装置104aのデータを待機系の主記憶装置104bに転送するために、主記憶アービタ装置107aを介して主記憶制御装置103aに対して主記憶コピー指示を与える(S21)。
【0044】
次にキャシュメモリ制御装置106aは、動作系のキャッシュメモリ105aのデータをリードし、待機系のキャッシュメモリ105bの同一アドレスに対するコピーをキャシュメモリの有効なデータアレイ全領域のデータに対して行う。さらに、指示を受けた動作系の主記憶制御装置103aは、動作系の主記憶装置104aのデータをリードし、待機系の主記憶装置104bの同一アドレスに対するコピーを、主記憶装置全領域のデータに対して行う。
【0045】
動作系のキャッシュメモリ転送装置106aは、動作系のキャッシュメモリ105aの有効なデータアレイ全領域のコピーが待機系のキャッシュメモリ105bに対して完了したタイミングで、動作系のCPU102aに対して、キャッシュメモリのコピー完了を通知する(S22)。キャッシュメモリのコピー完了通知を受信した動作系のCPU102aは、動作系の主記憶アービタ装置107aに対して、動作系の主記憶装置からのリードデータを動作系の主記憶アービタ装置107aから動作系のCPU102aに転送すると共に、待機系の主記憶アービタ装置107bを介して待機系のCPU102bに転送する設定を指示する(S23)。動作系の主記憶アービタ装置107aへの指示完了後から主記憶装置104a、105bの同期化が完了するまでは、動作系の主記憶装置104aのデータを双方のCPU102a、CPU102bの演算処理に用いて、同一タイミングで演算処理を開始し、主記憶アービタ装置107aにて動作系と待機系とからの主記憶装置に対する演算結果データの一致を確認し、同期化した情報システムとして運用を行う。
【0046】
同期化処理中において本実施形態においては、同期化処理の完了を待つことなく冗長した情報処理システムの運用を開始することで待機時間の軽減を計り、さらにキャッシュメモリ105a,105bにコピーデータが格納されているため、CPU102a,102bからキャッシュメモリ105a,105bに対するキャッシュヒットの確率が高く処理能力の向上を見込む。
【0047】
動作系の主記憶制御装置103aは、動作系の主記憶装置104aの全領域データのコピーが待機系の主記憶装置104bに対して完了したタイミングで、動作系のCPU102aに対して主記憶装置のコピー完了を通知する(S24)。主記憶装置のコピー完了通知を受信した動作系のCPU102aは、動作系の主記憶アービタ装置107aに対して、動作系の主記憶装置からのリードデータを動作系の主記憶アービタ装置107aから待機系の主記憶アービタ装置107bを介して待機系のCPU102bへ分配する処理を停止するよう指示をする(S25)。動作系の主記憶アービタ装置107aに対して分配停止指示後に、同期化処理が完了する。同期化処理が完了後は、演算処理実行途中のアドレスから継続し同期化したシステムとし処理を行う。
【0048】
同期化処理の完了後も本実施形態においては、キャッシュメモリ107a,107bにコピーデータが格納されているため、CPU102a,102bからキャッシュメモリ107a,107bに対するキャッシュヒットの確率が高く処理能力の向上を見込む。
【0049】
ちなみに、キャッシュメモリの同期化が完了後、動作系の情報処理システム100aの主記憶装置104a及び主記憶制御装置103a以外の装置(例えばCPU102a等)に障害が発生した場合は待機系の情報処理システム100bを動作系とし、動作系であった情報処理システム100aの処理を引き継ぎ実施する。障害が発生した情報処理システム100aの障害が復旧した場合は、情報処理システム100bの待機系の情報システムとして同期化処理を行う。
【0050】
このように本実施形態によれば、以下のような効果が得られる。
【0051】
第1の効果は、待機時間が軽減することである。その理由は、主記憶装置の同期化処理の完了を待つことなく冗長した情報処理システムの運用を開始するためである。
【0052】
第2の効果は、同期化キャッシュヒット確率向上による処理能力の向上である。その理由は、同期化処理によりキャッシュメモリ107a,107bにコピーデータを格納することで、CPU102a,102bからキャッシュメモリ107a,107bに対するキャッシュヒットの確率を高めているためである。
【0053】
[第4の実施形態]
次に、本発明の第4の実施形態について図面を参照して詳細に説明する。
図5は、本発明の第4の実施形態による二重化情報処理システムの全体構成を示すブロック図である。第3の実施形態においては、動作系と待機系とに主記憶制御装置103a、103b、キャッシュメモリ転送装置106a、106bならびに主記憶アービタ装置107a、107bを有していたが、本実施形態ではCPU102a,102bと主記憶装置104a,104b間にCPUと同数のバスBus02,Bus03を配置し、そのバスに動作系と待機系で共通に使用する主記憶制御装置103と主記憶アービタ装置107とを接続し、またCPU102a,102bとキャッシュメモリ105a,105b間にCPUと同数のバスBus00,Bus01を配置し、そのバスに動作系と待機系で共通に使用するキャッシュメモリ転送装置106を接続している。
【0054】
図5で示した二重化情報システムにおいて、動作系の情報処理システム100aに待機系の情報処理システム100bを同期化するにあたり、まず、動作系のCPU102aは、キャシュメモリ105aのデータを待機系のキャッシュメモリ105bに転送するために、キャッシュメモリ制御装置106に対してキャッシュメモリコピー指示を与える。キャッシュメモリ制御装置へのコピー指示に続き動作系のCPU102aは、主記憶装置104aのデータを経由し待機系の主記憶装置104bに転送するために、主記憶制御装置103に対して主記憶コピー指示を与える。
【0055】
次にキャシュメモリ制御装置106は、動作系のキャッシュメモリ105aのデータをバスBus00を介してリードし、待機系のキャッシュメモリ105bの同一アドレスに対するコピーをキャシュメモリの有効なデータアレイ全領域のデータに対してバスBus01を介して行う。さらに、指示を受けた主記憶制御装置103は、動作系の主記憶装置104aのデータをバスBus03を介してリードし、待機系の主記憶装置104bの同一アドレスに対してバスBus03を介してコピーする処理を、主記憶装置全領域のデータに対して行う。
【0056】
キャッシュメモリ転送装置106は、動作系のキャッシュメモリ105aの有効なデータアレイ全領域のコピーが待機系のキャッシュメモリ105bに対して完了したタイミングで、動作系のCPU102aと待機系のCPU102bと主記憶アービタ装置107に対して、キャッシュメモリのコピー完了を通知する。
【0057】
動作系のCPU102aと待機系のCPU102bと主記憶アービタ装置107への指示完了後から主記憶装置104a、105bの同期化が完了するまでは、動作系の主記憶装置104aのデータをバスBus02を介して双方のCPU102a、CPU102bの演算処理に用いて、同一タイミングで演算処理を開始し、主記憶アービタ装置107は、動作系CPU102aから動作系の主記憶装置104aへのライトデータと、待機系CPU102bから動作系の主記憶装置104aへのライトデータの値が一致していることを確認し、なおかつバスBus02上にて双方のCPU102a、102bからのライトデータの調停を行う。
【0058】
主記憶制御装置103は、動作系の主記憶装置104aの全領域データのコピーが待機系の主記憶装置104bに対して完了したタイミングで、動作系のCPU102aと待機系のCPU102bと主記憶アービタ装置107に対して、主記憶装置のコピー完了を通知することで、同期化処理が完了する。同期化処理が完了後は、演算処理実行途中のアドレスから継続し同期化したシステムとし処理を行う。
【0059】
このように本実施形態によれば、第3の実施形態と同様の効果が得られると共に、キャッシュメモリ転送装置、主記憶制御装置および主記憶アービタ装置を動作系および待機系で共有することによる構成の簡略化が可能である。