JP2000132462A - プログラム自己修復方式 - Google Patents

プログラム自己修復方式

Info

Publication number
JP2000132462A
JP2000132462A JP10305024A JP30502498A JP2000132462A JP 2000132462 A JP2000132462 A JP 2000132462A JP 10305024 A JP10305024 A JP 10305024A JP 30502498 A JP30502498 A JP 30502498A JP 2000132462 A JP2000132462 A JP 2000132462A
Authority
JP
Japan
Prior art keywords
error
program
memory
storage device
main cpu
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
JP10305024A
Other languages
English (en)
Inventor
Kenichi Oba
賢一 大場
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 JP10305024A priority Critical patent/JP2000132462A/ja
Publication of JP2000132462A publication Critical patent/JP2000132462A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【課題】従来のシステムでは、主記憶装置のエラーに関
して、主記憶装置を多重化し異常な主記憶装置と正常な
記憶装置を切り換えながらシステムを運用していた。こ
の方法では、ハードウエアの構成が複雑でさらにコスト
的に高価なものとなっていた。 【解決手段】自動修復不可能なエラーが発生した場合
に、サービスプロセッサにそのことを通知し、サービス
プロセッサではプログラム修復エリアを使用して修復を
行い、メインCPUは修復された部分を実行することに
より、連続動作することが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は24時間連続で動作
しなければならないマイコンシステムで、メモリのハー
ドエラーが発生しプログラムの継続実行ができなくなっ
た場合のプログラム自己修復方式に関する。
【0002】
【従来の技術】従来、メモリ素子がハードエラーとなっ
た場合、ハードエラーのアドレスがプログラムエリアに
含まれるタスクは、1ビットエラーの場合にはパリティ
等により検出することができ、さらにはECC機構によ
り自動修復ができた。また、2ビット以上の多ビットエ
ラーが発生した場合には、ECC機構により2ビット以
上のエラーが発生したことが検出可能である。また、多
ビットエラーを修復するためには、主記憶装置が多重化
されており、エラーとなった主記憶装置から正常動作す
る主記憶装置に切り換えられシステムの処理を継続実行
した。このように、ハード的に複雑で高価なシステムは
従来からあるが、ハード的に単純で低価なシステムは未
だに考案されていない。
【0003】
【発明が解決しようとする課題】工業プラント,化学プ
ラント等を制御する計装システム等の24時間連続運転
されることを前提としているシステムにおいて、現状の
システムでは記憶装置内のメモリ素子がソリッド不良等
のハードエラーとなると、そのハードエラー部にロケー
ションされているプログラムの種類によってメモリエラ
ー遭遇後の動作が以下のようになる。ハードエラー部に
ロケーションされているプログラムがI/Oドライバ,
OS等のシステムプログラムの場合、システムプログラ
ムを再ローディングし再スタートする。
【0004】また、ハードエラー部にロケーションされ
ているプログラムの種類がシステムプログラム以外のユ
ーザアプリケーションの場合、システムより切り離され
て継続実行が不可となる。また、自プログラムの内容が
他プログラムにより書き換えられてしまった場合には、
その後の動作は書き換えれた内容により、不当命令違反
となったり暴走したりする。
【0005】このように、24時間連続で運転されるシ
ステムにとって致命的となるシステムのリスタート、及
びタスクの継続不実行あるいはプログラムの暴走を回避
するため、仮にハードエラーが発生してもその部分を回
復あるいは再配置することにより、プログラムの継続実
行を可能とする。
【0006】また、従来は主記憶装置を2重化,3重化
等の多重化を行い、メモリのハードエラーが2ビット以
上の多ビットエラーが発生した場合に、異常となった主
記憶装置から、正常な主記憶装置に切り換えてシステム
を継続実行していたが、この方法ではハードウエアの構
成が複雑であり、コスト的にも高価なものになってい
た。
【0007】
【課題を解決するための手段】本発明は、システムの制
御及びデータ処理を実行するメインCPUと、メインC
PUを補佐しシステムの保守機能を実行するサービスプ
ロセッサと、プログラム本体及びデータ部とは別にプロ
グラム修復エリアを持つ主記憶装置と、主記憶内のメモ
リと同一内容を保持している補助記憶装置と、サービス
プロセッサにて動作するプログラムを格納しておくサー
ビスプロセッサ用記憶装置(ROM)と、メモリアクセ
ス時にメモリ素子の1ビットあるいは2ビット以上のハ
ードエラーに遭遇したことを検出し、1ビットエラーの
場合はECC機構により自動修復し、2ビット以上のエ
ラーの場合には、メインCPU及びサービスプロセッサ
にエラー発生を通知するエラー検出回路と、これらのモ
ジュールを結合するアドレス/データバスとを有し構成
される。
【0008】このように本発明は、メモリエラーに関し
て、システム動作実行中にソリッドエラー等のハードエ
ラーが1ビットあるいは2ビット以上発生した場合に、
システム動作を停止させずにプログラムを継続実行する
ことが可能となる。
【0009】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。
【0010】図1は本発明のハード構成を、図2はメモ
リエラーが発生した場合の修復動作モデルを、図3はプ
ログラム動作中にメモリエラーが発生した場合の修復動
作フローを示した図である。図1において、メインCPU1
01は、システム機能の制御やデータ処理を実行する。こ
れらのシステムの制御プログラムやデータ処理プログラ
ムは主記憶装置102にロケーションされている。補助
記憶装置109には、システム運転用のデータファイル
及び主記憶と同一内容の主記憶バックアップファイルが
格納されている。サービスプロセッサ104は、メイン
CPUとは独立して動作し、システムの診断等の保守機
能及びメモリ素子のハードエラーが発生した場合のプロ
グラム自動修復を実行する。
【0011】サービスプロセッサに接続されているサー
ビスプロセッサ用記憶装置105は不揮発性のROMで
あり、システムの保守診断用プログラム及びメモリ素子
の2ビット以上のハードエラーが発生した場合の自動修
復用プログラムが格納されている。
【0012】エラー検出回路103にはECC機構が含
まれ、メインCPU101からの主記憶装置102アクセス
時、1ビットのハードエラーの場合には自動修復を行
い、2ビット以上のハードエラーの場合には、メインCP
U101及びサービスプロセッサ104に対して、メインCP
U用のメモリエラー発生通知割込信号106,サービス
プロセッサ用のメモリエラー発生通知割込107により
通知する。
【0013】以上の要素を組み合わせて、プログラム動
作中にメモリ素子のハードエラーに遭遇した場合のプロ
グラムの回復方法について、図3のフローチャートに沿
って以下に説明する。システム動作中に、図2のに示
すように、主記憶上のプログラムが実行されるタスクが
メモリ素子のハードエラーに遭遇すると、1ビットエラ
ーの場合にはECC機構により自動修復されるが、2ビ
ット以上のエラーの場合には従来のシステムではシステ
ムプログラムを再ローディングしシステムをリスタート
するかあるいは2ビット以上のハードエラーを発生させ
たプログラムをシステムより切り離して縮退運転を実行
していた。
【0014】本発明においては、システム運転中にハー
ドエラーが発生すると、エラー検出回路103により、
1ビットエラーの場合にはECC機構により自動修復さ
れるが、2ビット以上のハードエラーの場合にはメイン
CPU101及びサービスプロセッサ104に対し、2ビット
以上のハードエラーが発生したことをメインCPU用メ
モリエラー発生通知割込み信号106及びサービスプロ
セッサ用メモリエラー発生通知割込み信号107にて通
知する。
【0015】また、同時にメモリエラー通知回路106
ではバスタイムアウトが発生したアクセスアドレス,そ
の時のプログラムカウンタの値、及び汎用レジスタの
値,コントロールレジスタ,ステータスレジスタの値を
記憶する。メインCPU101は、メインCPU用メモリエラ
ー発生通知割込み信号106からのメモリ素子のハード
エラー発生通知を受けて一時停止状態になり、サービス
プロセッサ104では、サービスプロセッサ用メモリエ
ラー発生通知割込み信号107からのメモリ素子のハー
ドエラー発生通知を受けてメモリ素子ハードエラー自動
修復プログラムが起動される。
【0016】メモリ素子ハードエラー自動修復プログラ
ムでは、図2のに示すようにエラー検出回路103に
記憶されているアクセスアドレスを読み出し、主記憶と
同一内容の、補助記憶装置109内にあるバックアップ
ファイルからメモリ素子のハードエラーが発生したアド
レスのデータと一つ前のアドレスのデータを取得して、
主記憶装置102内のプログラム修復エリアにそれらの
データを書き込む。また、主記憶装置102内のメモリ
素子のハードエラーが発生したアドレスの一つ前のアド
レスには、既にプログラム修復エリアに書き込んだデー
タに分岐するための分岐命令を書き込む。
【0017】これにより、図2のに示すようにプログ
ラム修復エリアに分岐するようになる。また、図2の
でプログラム修復エリアに書き込まれた、メモリ素子の
ハードエラーの発生したアドレスと同一内容のデータの
あるアドレスの次のアドレスに、主記憶装置102上の
メモリ素子のハードエラーが発生したアドレスの次のア
ドレスに分岐するための分岐命令を書き込む。
【0018】これにより、図2のに示すようにプログ
ラム修復エリアから主記憶装置102上のメモリ素子のハ
ードエラーを回避したアドレスに復帰することが出来
る。これらの機能によりプログラムの修復を行う。その
後、プログラムカウンタ,汎用レジスタ,コントロール
レジスタ,ステータスレジスタの値をそれぞれ回復させ
てプログラム動作を続行させる。ただし、記憶されてい
るプログラムカウンタの値はメモリ素子のハードエラー
が発生したアドレスであるため、その値の一つ前の、プ
ログラム修復エリアに分岐するために分岐命令を書き込
んだアドレスに変更し値を回復させる。
【0019】
【発明の効果】以上説明したように、プログラム実行時
にメモリ素子の2ビット以上のハードエラーに遭遇した
場合でも、プログラムの回復処理を実行している間以外
はシステムの動作を停止させずに連続運転が可能とな
る。また、主記憶装置を多重化することなく、若干のプ
ログラム修復エリアを主記憶装置に追加し、ソフトウェ
アにて2ビット以上のハードエラーを修復することが可
能となるため、ハードウェア構成の簡単化とコストの低
減が図れるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例であるプログラム自己修復方式
のハード構成を示した図である。
【図2】プログラム実行中にメモリエラーが発生した場
合の修復動作のモデルを示した図である。
【図3】プログラム実行中にメモリエラーが発生した場
合の修復動作フローを示したフローチャートである。
【符号の説明】
101…メインCPU、102…主記憶装置、103…
エラー検出回路、104…サービスプロセッサ、105…
サービスプロセッサ用記憶装置(ROM)、106…メ
インCPU用メモリエラー発生通知割り込み信号、10
7…サービスプロセッサ用メモリエラー発生通知割り込
み信号、108…アドレス/データバス、109…補助
記憶装置。
フロントページの続き Fターム(参考) 5B018 GA02 GA06 HA03 HA04 HA05 HA14 KA02 KA13 KA15 KA22 MA01 PA01 QA16 RA01 RA02 RA03 RA12 5B034 BB16 CC02 CC03 DD01 DD04 5B076 AB10 EA17 EB04 EB05 EB08 EB09

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】システムを総括するメインCPUとその動
    作に必要なプログラムを格納する記憶装置を具備するマ
    イコンシステムにおいて、システム運転中に主記憶装置
    のメモリ素子がエラーになったことをECC機構等のエ
    ラー検出回路により検出し、自動修復可能なエラーの場
    合にはECC機構等のエラー補正機構によりエラー補正
    を自動的に行い、自動修復不能なエラーが発生した場合
    には、メインCPUを一時停止させ、サービスプロセッ
    サの記憶装置(ROM)内の処理プログラムによって、
    補助記憶装置内の主記憶バックアップにある自動修復不
    能となったアドレスと同一内容のオペコード,オペラン
    ドを主記憶装置上のプログラム修復エリアに読み出し、
    自動修復不能となったアドレスへアクセスする代わり
    に、プログラム修復エリアにアクセスさせることで、ソ
    フト的にプログラムの自動修復を行うことを特徴とする
    プログラム自己修復方式。
JP10305024A 1998-10-27 1998-10-27 プログラム自己修復方式 Pending JP2000132462A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10305024A JP2000132462A (ja) 1998-10-27 1998-10-27 プログラム自己修復方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10305024A JP2000132462A (ja) 1998-10-27 1998-10-27 プログラム自己修復方式

Publications (1)

Publication Number Publication Date
JP2000132462A true JP2000132462A (ja) 2000-05-12

Family

ID=17940182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10305024A Pending JP2000132462A (ja) 1998-10-27 1998-10-27 プログラム自己修復方式

Country Status (1)

Country Link
JP (1) JP2000132462A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009078145A1 (ja) * 2007-12-14 2009-06-25 Kabushiki Kaisha Toshiba 制御装置
JP2010224908A (ja) * 2009-03-24 2010-10-07 Fujitsu Semiconductor Ltd 情報処理装置およびデータ修復方法
US8051333B2 (en) 2007-02-13 2011-11-01 Nec Corporation Memory failure recovery method, information processing apparatus, and program
JP2013167937A (ja) * 2012-02-14 2013-08-29 Fujitsu Ltd 情報処理装置、プログラムおよびエラー処理方法
JP2013535738A (ja) * 2010-07-26 2013-09-12 インテル コーポレイション メモリのセグメントをプロテクトするための方法及び装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051333B2 (en) 2007-02-13 2011-11-01 Nec Corporation Memory failure recovery method, information processing apparatus, and program
WO2009078145A1 (ja) * 2007-12-14 2009-06-25 Kabushiki Kaisha Toshiba 制御装置
US8145951B2 (en) 2007-12-14 2012-03-27 Kabushiki Kaisha Toshiba Control device
JP5269810B2 (ja) * 2007-12-14 2013-08-21 株式会社東芝 制御装置
JP2010224908A (ja) * 2009-03-24 2010-10-07 Fujitsu Semiconductor Ltd 情報処理装置およびデータ修復方法
JP2013535738A (ja) * 2010-07-26 2013-09-12 インテル コーポレイション メモリのセグメントをプロテクトするための方法及び装置
US9063836B2 (en) 2010-07-26 2015-06-23 Intel Corporation Methods and apparatus to protect segments of memory
JP2013167937A (ja) * 2012-02-14 2013-08-29 Fujitsu Ltd 情報処理装置、プログラムおよびエラー処理方法

Similar Documents

Publication Publication Date Title
US5530946A (en) Processor failure detection and recovery circuit in a dual processor computer system and method of operation thereof
US6438709B2 (en) Method for recovering from computer system lockup condition
US6336174B1 (en) Hardware assisted memory backup system and method
KR100532413B1 (ko) 플래시 메모리 보호 장치 및 방법
US6012154A (en) Method and apparatus for detecting and recovering from computer system malfunction
US8677189B2 (en) Recovering from stack corruption faults in embedded software systems
US7574621B2 (en) Method and system for identifying and recovering a file damaged by a hard drive failure
US7107398B2 (en) Changing a mode of a storage subsystem in a system
US5712967A (en) Method and system for graceful recovery from a fault in peripheral devices using a variety of bus structures
US6275930B1 (en) Method, computer, and article of manufacturing for fault tolerant booting
JP2000132462A (ja) プログラム自己修復方式
WO2008004330A1 (fr) Système à processeurs multiples
KR101393034B1 (ko) 시스템 복원 장치 및 방법
JP2004054616A (ja) ファームウェア自動修復機能を有する情報処理装置
JP4708088B2 (ja) 障害復旧方法およびマイクロコンピュータ
KR101300806B1 (ko) 다중 프로세스 시스템에서 오동작 처리 장치 및 방법
JP2002049509A (ja) データ処理システム
US20090204844A1 (en) Error-tolerant processor system
JP2000222232A (ja) 電子計算機及び電子計算機のメモリ障害回避方法
JPH11154099A (ja) データ処理装置
JP2010061258A (ja) デュプレックスプロセッサシステム及びプロセッサ二重化方法
JPH1125007A (ja) バックアップデータの保存・回復方法
JP2000163274A (ja) 電子機器およびromデータ監視プログラムを記録した記録媒体
JPH10187202A (ja) マイクロプロセッサ制御装置
AU669410B2 (en) Error recovery mechanism for software visible registers in computer systems