JPH07219802A - 2重化制御方式 - Google Patents

2重化制御方式

Info

Publication number
JPH07219802A
JPH07219802A JP6010240A JP1024094A JPH07219802A JP H07219802 A JPH07219802 A JP H07219802A JP 6010240 A JP6010240 A JP 6010240A JP 1024094 A JP1024094 A JP 1024094A JP H07219802 A JPH07219802 A JP H07219802A
Authority
JP
Japan
Prior art keywords
storage unit
cpu
main system
contents
main
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.)
Pending
Application number
JP6010240A
Other languages
English (en)
Inventor
Shuji Maeda
周二 前田
Mitsuhiro Yamaguchi
光博 山口
Toshiaki Atsumi
俊明 厚海
Yoshiharu Iwamoto
義晴 岩本
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6010240A priority Critical patent/JPH07219802A/ja
Publication of JPH07219802A publication Critical patent/JPH07219802A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】2重化システムにおいて、主系CPU障害時の
制御の連続性を確保すること。 【構成】2重化システムにおいて、記憶制御部がバッフ
ァへ主系記憶部の変更内容を逐次記憶させ、主系処理の
区切りを契機とした通知により主系CPUのプログラム
カウンタ、レジスタなどのコンテキストをバッファに格
納し、同時に別のバッファ領域へ主系記憶部の変更内容
を記憶させ始め、並行して前バッファ領域の内容、コン
テキストを予備系の記憶部へ反映させ、主系CPU障害
検知により系切り替えを行い、前契機の旧主系と同じ内
容の新主系の記憶部の利用とそこからのコンテキストの
回復により、処理の区切りからの再開を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は制御系を2重化した2重
化制御方式に係わり、特にCPU障害による系切り替え
時にも制御の連続性を確保するようにした2重化制御方
式に関するものである。
【0002】
【従来の技術】従来の2重化制御方式では特開平3−2
19333号公報に記載されたように、CPU、記憶部
を2重化し運用中は主系のCPUが主系の記憶部に演算
結果であるデータを記憶するとともに常時予備系の記憶
部にも同じデータをコピーしておき、主系の故障検出を
契機に系切り替えが実施され、予備系が新主系として処
理を継続している。
【0003】また最近の製品の中には、記憶部の2重化
を主系のCPUに頼らず、CPUとは独立な記憶制御部
が行っているものもある。この記憶制御部は主系CPU
の記憶部変更内容を常時監視し、得られた内容通りの変
更を予備系の記憶部に施す機能を持つ。これらの方式に
より交換機やフォールトトレラントコンピュータは制御
の連続性を確保しているが、主系CPU障害においては
障害検出に到るまでに主系記憶部の内容を破壊している
恐れがあり、上記2重化方式で再開できなかった場合は
記憶部の内容を破棄し、初期設定プログラムから再開す
る固定点再開方式が取られている。オンライン業務での
システムダウンは莫大な損失を生むようになってきてお
り、CPU障害という希なケースにも高いフォールトト
レラント性へのニーズは高まっている。
【0004】
【発明が解決しようとする課題】上記のような2重化方
式では、主系、予備系の記憶部の一致を保証しているの
みである。主系CPU障害の場合、その検出は記録部へ
書き出したデータの異常やそれによるソフトウェアの暴
走、内部例外多発により判明するものであり、CPU障
害検出時点の主系の記憶部は破壊されている可能性が高
く、またいつ発生したのかという情報も、記憶部が破壊
されているため得られにくいという問題が発生する。従
来の2重化方式では障害検出時に予備系に切り替えて
も、予備系の記憶部の内容は誤った主系のものと同じで
あるため、再開できないケースが発生してしまう。本発
明の目的は上記の点に絡み、主系のCPU障害に対して
系の切り替えを実現させ、処理の連続性を確保すること
を目的とする。
【0005】
【課題を解決するための手段】上記目的は、主系CPU
とは独立に動作する記憶制御部が内部のバッファへ主系
CPUの主系記憶部への変更内容を逐次記憶させ、主系
CPU上で動作しているプログラム処理の区切りを契機
とした通知により主系CPUのプログラムカウンタ、レ
ジスタなどのコンテキストをそのバッファに格納し、そ
の契機と同時に別のバッファ領域へ主系CPUの記憶部
への変更内容を記憶させ始め、並行して前バッファ領域
の内容通りの変更、及びコンテキストのコピーを予備系
の記憶部へ行い始める手段と、主系CPU障害検知によ
り予備系を新主系として切り替えを行うとともに、新主
系の記憶部からコンテキストを回復して新主系CPUに
設定し、そのコンテキストがセーブされた時点での内容
を持つ新主系の記憶部を利用することにより、そのプロ
グラム処理の区切りからの再開を可能とする手段により
達成される。
【0006】
【作用】主系が正常に動作するときは、主系CPUの主
系記憶部への変更内容を常時記憶制御部が自己の管理す
るバッファ領域へ格納している。主系CPU上で動作し
ているプログラム処理の区切りを契機とした通知によ
り、記憶制御部は主系CPUのコンテキストをそのバッ
ファ領域へ格納し、主系CPUの記憶部変更内容は別の
バッファ領域に格納し始める。この処理と同時に記憶制
御部は先のバッファ領域の内容を予備系の記憶部へ反映
させる処理を並行して行う。記憶制御部は主系CPU上
で動作しているプログラム処理の区切りを契機に上記処
理を繰り返す。本方式により予備系の記憶部では、前契
機での主系と同じ内容の記憶部の状態が保存され、前契
機時点でのコンテキストが格納されていることになる。
【0007】主系のCPU障害発生が検知された場合、
主系の記憶部とその変更内容を格納中の記憶制御部バッ
ファ領域は廃棄し、前契機までの記憶部変更内容と前契
機時点でのコンテキストが格納されているバッファ領域
の内容を記憶制御部が予備系記憶部へ反映完了させた時
点で予備系を新主系として系を切り替える。新主系CP
Uは新主系記憶部よりコンテキストを回復し、新主系を
開始させる。以上の処理により、主系CPU上で動作し
ていたプログラム処理区切りの前契機からの再開が新主
系により可能となる。
【0008】
【実施例】次に本発明の実施例を図面に基づいて説明す
る。
【0009】図1においてCPU10と記憶部を構成す
るRAM11、ROM12とこれらを接続するメモリバ
ス13が第1系を構成しており、またCPU20と記憶
部を構成するRAM21、ROM22とこれらを接続す
るメモリバス23が第2系を構成している。また両系の
RAMには再開時に自系CPUに設定すべきコンテキス
トを格納しておくエリアが固定的に割当てられており、
各系のROMにはOSシステムコール発行時にコンテキ
ストを自系RAM内のコンテキストセーブエリアへセー
ブし、再開時にはそこからコンテキストを取り出して自
系CPUへ設定して系を開始させるOSが登載されてい
る。
【0010】これら2つの系に対して、主系、予備系の
管理を行い、各系のCPUの内部例外多発による故障を
監視し、故障検出に基づいて、それまで予備系として待
機していた系に系切り替え指令を与えて、新主系として
起動させる系切り替え回路30と、系切り替え回路30
より第1、2系に対する主/予備が指定され、主系CP
Uによる主系RAMへの変更内容をシーケンスNoと共
にバッファ32に格納しOSのシステムコールがあった
ことを主系CPU上のOSから通知される(OSはシス
テムコール発行時にコンテキストセーブエリアへコンテ
キストを書き込むため、本通知契機でのコンテキストも
バッファ32へ蓄えられていることになる。)と同時に
主系CPUの主系RAMへの変更内容はインクリメント
したシーケンスNoと共にバッファ32へ格納し、以後
は主系CPUの主系RAMへの変更内容はそのシーケン
スNoと共にバッファ32へ格納し、並行して先のシー
ケンスNoと共に格納されているRAMへの変更内容に
基づき予備系RAMの内容を書き換え(明らかにバッフ
ァ32内のコンテキストも予備系RAMのコンテキスト
セーブエリアへコピーすることとなる。)、以後OSシ
ステムコールを契機とする主系CPU上のOSからの通
知に対し、シーケンスNoを利用してバッファ32をサ
イクリックに使用することで上記処理を繰り返すMXC
31が接続されている。
【0011】また系切り替え回路30は、系切り替え時
にはその旨をMXC31に通知し、MXC31は現在の
シーケンスNoの内容を破棄し、前シーケンスNoの内
容を予備系に反映完了した時点で、系切り替え回路30
へ完了を通知する。系切り替え回路30はMXC31か
らの完了通知を待って実際に系切り替えを行う。
【0012】次に上記の構成による動作を説明する。
【0013】今、第1系が主系、第2系が予備系として
動作している。すなわち系切り替え回路30は第1系が
主系、第2系を予備系として管理している。CPU10
はROM12内のプログラムに従い処理を行いRAM1
1へメモリバス13を経由してデータの設定、書き換え
を行っている。この時MXC31は系切り替え回路30
の指示により、CPU10からRAM11へのアクセス
をメモリバス13を介して監視してRAMへの書き換え
の内容を逐次シーケンスNoと共にバッファ32へ蓄積
している。CPU10上でのOSはシステムコール発行
時、コンテキストをRAM11のコンテキストセーブエ
リアへセーブして、その旨をMXC31へ通知する。M
XC31はその通知をシーケンスNoインクリメントの
契機とし(インクリメント直前にCPU10のコンテキ
ストがバッファ32に格納されたことになる。)、並行
してMXC31は前シーケンスNoまでのバッファ32
の内容に従って予備系であるRAM21の内容を書き換
える。(シーケンスNoインクリメント直前、即ちOS
システムコール時のコンテキストがRAM21内のコン
テキストセーブエリアへ格納されることになる。)CP
U10のOSはシステムコール発行時毎にその旨を通知
し、MXC31はシーケンスNoをインクリメントしな
がら上記処理を続ける。
【0014】図2にバッファ32における情報の格納例
を示す。本図は縦方向にバッファの行を当てはめてい
る。各々の行にはシーケンスNo、書き込みアドレス、
書き込みデータの格納フィールドを設ける。
【0015】ここで、バッファ32はオーバーフローし
ないように十分大きくとるか、またはオーバーフローし
ないような間隔で、OSシステムコールが発行されなけ
ればならない。しかし、万一オーバーフローして情報が
消滅してしまうのを防ぐために、以下のような策が考え
られる。バッファ32への書き込みが、バッファ32か
らの読みだしを追い越しそうになったときに、MXC3
1は主系CPUにその旨を通知する。主系CPUはその
通知を受けることにより実行中の処理を一時中断し、M
XC31によるバッファ32の読み出しを待つ。
【0016】第1系が主系の時、CPU10に障害が発
生し、RAM11の内容を破壊した場合、内部例外の多
発として現れ、系切り替え回路30はこれを検知すると
MXC31への切り替え要求を出す。MXC31は現在
のシーケンスNoの内容を破棄し、前シーケンスNoの
内容を予備系に反映完了した時点で、系切り替え回路3
0へ完了を通知する。系切り替え回路30はMXC31
からの完了通知を待って系切り替えを実行し、第2系を
新主系として再開させる。CPU20はROM22内の
OSプログラムに従い、RAM21内のコンテキストセ
ーブエリアからコンテキストを回復して処理を再開する
ことができる。
【0017】この両系RAMの書き込み状態とバッファ
32の書き込み状態を横軸を時間として図3に表す。こ
こでデータA、データB、データCは正常時の書き込み
データであり、データDは障害発生による誤った書き込
みデータである。シーケンスNoが3の時に障害が検出
されデータC、データDの内容は破棄され、予備系への
データBの書き込みが完了した時点で系切り替えが実行
され、t2の時の主系の状態と同じ状態から新主系が再
開できる。
【0018】説明においては第1系を主系、第2系を予
備系としたが、第2系が主系、第1系が予備系としても
同様の方式で系切り替えが可能なのは明らかである。ま
た主系に障害が発生して系が切り替わった場合、新主系
が制御中に障害のある旧主系を交換して新予備系を組み
込むことにより、本発明の2重化方式を維持すれば、C
PU障害に対しても運転に対して高い連続性を得られる
のは明らかである。
【0019】
【発明の効果】本発明の2重化方式によれば、主系CP
U障害発生による主記憶の破壊が発生したとしても、従
来のように固定点再開方式によらず、プログラム処理の
区切りを契機とした再開が、予備系を新主系に切り替え
ることで可能となる。従って障害発生時の被害を最小に
することができ、制御上、高い連続性が確保できる。
【図面の簡単な説明】
【図1】本発明の1実施例の概略構成を示すブロック図
である。
【図2】本発明の1実施例におけるバッファのデータ格
納方法を示す図である。
【図3】本発明の1実施例における系切り替え時のRA
M、バッファのデータ書き込み状態を説明するタイムチ
ャートである。
【符号の説明】
1…第1系、 2…第2系、 10、20…CPU、 11、21…RAM、 12、22…ROM、 13、23…メモリバス、 30…系切り替え回路、 31…MXC(メモリクロスコントローラ)、 32…バッファ。
フロントページの続き (72)発明者 岩本 義晴 神奈川県横浜市戸塚区戸塚町216番地株式 会社日立製作所情報通信事業部内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】主系にて処理を行っている最中に障害が検
    出された場合は、予備系に切り替えて処理を続行するた
    めに、両系の記憶部内容を同一に保つべく、主系の記憶
    部への書き込みデータを予備系の記憶部へも書き込みを
    行う2重化制御方式において、主系記憶部に発生した書
    き込み内容を、主系CPUとは独立に動作する記憶制御
    部によりその内部のバッファへ逐次記憶させ、主系CP
    Uからの指示により、主系CPUの記憶部変更内容を別
    のバッファ領域へ記憶させ始め、並行して前バッファ領
    域の内容通りの変更を予備系の記憶部へ対して行うこと
    を特徴とする2重化制御方式。
  2. 【請求項2】請求項1において、主系CPUとは独立に
    動作する記憶制御部が内部のバッファへ主系CPUの主
    系記憶部への変更内容を逐次記憶させ、主系CPU上で
    動作しているプログラム処理の区切りを契機とした通知
    により主系CPUのプログラムカウンタ、レジスタなど
    のコンテキストをそのバッファに格納し、その契機と同
    時に別のバッファ領域へ主系CPUの記憶部への変更内
    容を記憶させ始め、並行して前バッファ領域の内容通り
    の変更、及びコンテキストのコピーを予備系の記憶部へ
    行っておき、主系CPU障害検知時には、予備系を新主
    系として切り替えを行うとともに、新主系の記憶部から
    コンテキストを回復して新主系CPUに設定し、そのコ
    ンテキストがセーブされた時点での内容を持つ新主系の
    記憶部を利用することにより、そのプログラム処理の区
    切りからの再開を可能とすることを特徴とした2重化制
    御方式。
JP6010240A 1994-02-01 1994-02-01 2重化制御方式 Pending JPH07219802A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6010240A JPH07219802A (ja) 1994-02-01 1994-02-01 2重化制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6010240A JPH07219802A (ja) 1994-02-01 1994-02-01 2重化制御方式

Publications (1)

Publication Number Publication Date
JPH07219802A true JPH07219802A (ja) 1995-08-18

Family

ID=11744785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6010240A Pending JPH07219802A (ja) 1994-02-01 1994-02-01 2重化制御方式

Country Status (1)

Country Link
JP (1) JPH07219802A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205409A (ja) * 2008-02-27 2009-09-10 Nec Corp 冗長構成システム、該冗長構成システムに用いられる情報管理方法及び情報管理制御プログラム
JP2009211517A (ja) * 2008-03-05 2009-09-17 Nec Corp 仮想計算機冗長化システム
JP2012059098A (ja) * 2010-09-10 2012-03-22 Nec Commun Syst Ltd 情報処理システム、および、情報処理方法
JP2018076072A (ja) * 2018-02-07 2018-05-17 日本精工株式会社 電動パワーステアリング装置の制御装置
JP2018100091A (ja) * 2018-02-07 2018-06-28 日本精工株式会社 電動パワーステアリング装置の制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009205409A (ja) * 2008-02-27 2009-09-10 Nec Corp 冗長構成システム、該冗長構成システムに用いられる情報管理方法及び情報管理制御プログラム
JP2009211517A (ja) * 2008-03-05 2009-09-17 Nec Corp 仮想計算機冗長化システム
JP2012059098A (ja) * 2010-09-10 2012-03-22 Nec Commun Syst Ltd 情報処理システム、および、情報処理方法
JP2018076072A (ja) * 2018-02-07 2018-05-17 日本精工株式会社 電動パワーステアリング装置の制御装置
JP2018100091A (ja) * 2018-02-07 2018-06-28 日本精工株式会社 電動パワーステアリング装置の制御装置

Similar Documents

Publication Publication Date Title
US6622263B1 (en) Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance
JP2505928B2 (ja) フォ―ルト・トレラント・システムのためのチェックポイント機構
US6687849B1 (en) Method and apparatus for implementing fault-tolerant processing without duplicating working process
CA2288016C (en) Method and system for recovery in a partitioned shared nothing database system using virtual shared disks
JP5392594B2 (ja) 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム
JPH08263454A (ja) 障害回復処理方法
US6654880B1 (en) Method and apparatus for reducing system down time by restarting system using a primary memory before dumping contents of a standby memory to external storage
WO2010100757A1 (ja) 演算処理システム、再同期方法、およびファームプログラム
JP2003058324A (ja) ディスクアレイ装置
JPH1195933A (ja) ディスクアレイ装置
JPH1115604A (ja) データ多重化方法
JP2001290608A (ja) ディスク制御装置
JP2772052B2 (ja) 資源情報引き継ぎ処理方法
JPH07281933A (ja) 計算機システム
JPH10240620A (ja) コンピュータシステムおよび同システムにおけるチェックポイントイメージ保存方法
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JP3090182B2 (ja) 代替セクタの登録方式
JP3254886B2 (ja) 二重化データベースシステムおよびその二重化データベースシステムの運用方法
JPH03265951A (ja) 故障回復型計算機
KR100675136B1 (ko) 엠엠유를 이용한 운영체제 기반 이중화 방법
JPS59180897A (ja) バツテリバツクアツプメモリの二重化方式
JP2000163276A (ja) ネットワークワイド予備方式
JPH05265789A (ja) メモリ複写方式
JPH02118745A (ja) メモリバックアップ装置
JP2943173B2 (ja) 二重化ファイル記憶装置