JPH07219860A - メモリ書換え制御方法と制御装置 - Google Patents

メモリ書換え制御方法と制御装置

Info

Publication number
JPH07219860A
JPH07219860A JP6033154A JP3315494A JPH07219860A JP H07219860 A JPH07219860 A JP H07219860A JP 6033154 A JP6033154 A JP 6033154A JP 3315494 A JP3315494 A JP 3315494A JP H07219860 A JPH07219860 A JP H07219860A
Authority
JP
Japan
Prior art keywords
memory
data
random access
program
access memory
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
JP6033154A
Other languages
English (en)
Inventor
Kenji Sato
賢二 佐藤
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP6033154A priority Critical patent/JPH07219860A/ja
Publication of JPH07219860A publication Critical patent/JPH07219860A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【構成】 ランダムアクセスメモリから不揮発性メモリ
に対しプログラムやデータの転送を行う途中で、電源断
による障害等が発生すると、転送中のデータに障害が発
生する。フラッシュメモリは電源が切れても、その障害
があるデータをそのまま保持する。従って、フラッシュ
メモリリセット処理後最初にアクセスされるアドレスに
修復動作用のプログラムを格納し、障害部分の修復動作
を実行させる。修復動作用のプログラムは、外部装置か
らランダムアクセスメモリへ必要なデータを受け入れ、
これを不揮発性メモリの一定の領域に改めて書き込む。 【効果】 誤って、障害のある不揮発性メモリ中のデー
タを含むプログラムを動作させて暴走するのを防止でき
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、適当なタイミングで不
揮発性メモリの内容を書き換えて一定の処理を行うもの
において、その書換え動作の際に発生した障害の修復を
自動的に行う情報処理装置のメモリ書換え制御方法と制
御装置に関する。
【0002】
【従来の技術】不揮発性の半導体メモリは、装置の電源
を遮断しても、その内容はランダムアクセスメモリのよ
うに消滅することがないため、特に装置の立上げ後、高
速処理を必要とするようなプログラムを格納し保持して
おくことに利用される。不揮発性の半導体メモリには、
リード・オンリ・メモリのほか、書き換え可能なEEP
ROM、フラッシュメモリ等がある。書き換え可能な半
導体メモリは、比較的頻繁なバージョンアップ等が行わ
れるようなプログラムを格納するために利用される。
【0003】従って、装置のバージョンアップの際に、
新たなプログラムやデータを不揮発性メモリに格納して
動作を開始しようとする場合、所定の転送動作用プログ
ラムが実行される。例えば、そのような転送動作用のプ
ログラムをフラッシュメモリの一定の領域に格納してお
き、これを動作させることによって外部装置から一旦別
のランダムアクセスメモリへ転送用のデータを受け入れ
る。そして、その次に、ランダムアクセスメモリからフ
ラッシュメモリの適当な領域に該当するデータやプログ
ラムを書き込む。従来、このような手順でプログラム制
御用の不揮発性メモリが制御され管理されていた。
【0004】
【発明が解決しようとする課題】ところで、上記のよう
な従来の制御方法や制御装置では次のような解決すべき
課題があった。フラッシュメモリを書き換えるためのプ
ログラム実行中に、例えば停電や電源電圧が急激に低下
するような障害が発生した場合、転送用のデータを格納
していたランダムアクセスメモリの内容が消え、フラッ
シュメモリへ転送中のデータは破壊される。
【0005】従って、そのような障害発生後、不揮発性
メモリに格納されたプログラムを実行すると、障害発生
部分でプログラムが暴走する。また、不揮発性メモリの
内容を書き換えるためのプログラムが不揮発性メモリの
一部に格納されてそのまま実行されると、不揮発性メモ
リへのデータ等の転送動作中に障害を生じたとき、この
転送制御用のプログラムも破壊してしまう場合がある。
この場合には、転送制御中にプログラムが暴走するおそ
れもある。
【0006】従って、ランダムアクセスメモリからフラ
ッシュメモリへのデータ転送動作中に障害が発生した場
合、その障害が発生した部分を速やかに確実に修復する
制御が必要となる。また、転送動作用のプログラムの破
壊を防止することも動作の信頼性につながる。更に、修
復動作は短時間に速やかに行われることが好ましい。
【0007】
【課題を解決するための手段】本発明は以上の点を解決
するため、次の構成を採用する。一時記憶用のランダム
アクセスメモリに格納したデータをプログラム制御用の
不揮発性メモリに書き込む転送動作中に障害が発生して
転送動作が中断したとき、リセット処理後最初にアクセ
スされる不揮発性メモリの所定の領域に修復動作のため
のプログラムを格納しておく。
【0008】このプログラムは障害発生後リセット処理
をした後、動作を開始し、まず、不揮発性メモリに書き
込まれたデータの検証を行う。全てのデータに障害がな
ければ良いが、障害のある領域が存在すると判断された
場合、修復動作を実行する。この動作は、外部回路から
ランダムアクセスメモリに該当するデータを受け入れる
処理と、そのデータをランダムアクセスメモリから不揮
発性メモリの障害のある領域に書き込む動作によって進
められる。
【0009】
【作用】ランダムアクセスメモリから不揮発性メモリに
対しプログラムやデータの転送を行う途中で電源断によ
る障害等が発生すると、転送中のデータ等に障害が発生
する。フラッシュメモリは電源が切れても、その障害が
あるデータやプログラムを保持する。従って、リセット
処理後最初にアクセスされるアドレスに修復動作用のプ
ログラムを格納し、まずその障害部分の修復動作を実行
させる。これにより、誤って障害のある不揮発性メモリ
中のプログラムを動作させ、暴走するのを防止できる。
修復の場合、外部装置からランダムアクセスメモリへ一
旦必要なデータを受け入れ、これを不揮発性メモリの一
定の領域に書き込む。
【0010】
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。 [実施例1]図1は、本発明の第1の実施例の方法を示
す説明図である。図は、本発明の方法を実施するための
メモリマップを示したものである。本発明の方法では、
図に示すように、ランダムアクセスメモリ(RAM)の
記憶領域を対象としたRAMエリア1と、不揮発性メモ
リとして例えばフラッシュメモリを使用した場合の記憶
領域を示すフラッシュメモリエリア2をこの図に示すよ
うにマッピングする。
【0011】最終的にフラッシュメモリエリア2の所定
の領域2−1に書き込まれるべきデータは、予め外部装
置3から転送され、RAMエリア1の転送用のデータを
格納すべき領域1−1に格納される。そして、これがフ
ラッシュメモリエリア2の領域2−2に格納された転送
動作用のプログラムに従って、所定の領域2−1に転送
される。ここで、このような転送動作中に障害が発生し
て転送動作が中断したとする。なお、この障害には、具
体的には電源が停電したり、あるいは急激な電圧の低下
によって装置の動作が不能となった場合等が挙げられ
る。この場合に、装置の保守管理担当者は、装置自体に
何らかの異常がないかを点検した後、電源の再投入を行
う。このとき、まず、一定のCPUリセット処理が実行
される。CPUリセット処理では装置内部のメモリや装
置に接続された入出力装置の動作チェック等が行われ
る。
【0012】このようなリセット処理後に最初にアクセ
スされるアドレスを図に示すフラッシュメモリエリア2
の領域2−3にセットしておく。ここには修復動作用の
プログラムを格納しておくものとする。この修復動作用
のプログラムは、図に示すように、まずフラッシュメモ
リエリア2に格納されたデータに障害が発生しているか
どうかの検証を行う。この処理は書き込まれたデータの
正誤判断のためのチェックビットを一つ一つ確認する処
理でも良いし、RAMエリア1の転送用のデータとフラ
ッシュメモリエリア2の所定の領域2−1のデータを比
較してもよい。また図示しない障害ログ用の領域に書き
込まれた障害情報を参照するようにしても良い。この障
害情報は、例えばフラッシュメモリエリア2の所定の領
域2−1にデータを転送中に障害を発生したから、この
領域2−1に書き込まれているデータが障害を有してい
る、といった内容となる。
【0013】このようなデータの検証の結果、一定の領
域に障害部分があると判断されると、まず修復動作用の
プログラムが外部装置3に対しデータの要求を行う。こ
れによって、外部装置3はRAMエリア1の所定の領域
1−1に転送用のデータを送り込む。ランダムアクセス
メモリは電源がオフになると、そこに格納されたデータ
を失ってしまう。従って、電源を再投入し、電源が遮断
される直前まで行っていたデータの転送作業を再開しよ
うとすれば、同一のデータを改めて外部装置3から受け
入れる必要が生じる。これはそのための処理である。
【0014】こうして転送用のデータが領域1−1に書
き込まれると、その後、修復動作用のプログラムは転送
用のデータをフラッシュメモリエリア2の所定の領域2
−1に転送するよう転送動作を開始する。これによって
フラッシュメモリエリア2の障害の発生したデータが修
復され、その後は通常の動作に移行する。
【0015】上記のような方法を実施するために、例え
ば図2に示すような回路が使用される。図2は、本発明
の実施に適するハードウェアを説明するための回路ブロ
ック図である。この回路は、プロセッサ(CPU)5に
対しバスライン6を介して上記のようなランダムアクセ
スメモリ(RAM)7とフラッシュメモリ8とを接続し
たものである。なお、この回路にはアドレスラッチ用の
レジスタ9と、外部装置との間の通信制御用の通信制御
部11が設けられている。この通信制御部11は外部装
置3に対し通信回線12を介して接続されている。
【0016】また、プロセッサ5のアドレスラッチイネ
ーブル端子(ALE)はアドレスラッチ用のレジスタ9
のイネーブル端子ENに接続されている。プロセッサ5
のチップセレクト端子CS1はランダムアクセスメモリ
7の制御のために、そのチップセレクト端子CSに接続
されている。また、プロセッサ5のチップセレクト端子
CS2はフラッシュメモリ8のチップセレクト端子CS
に接続されている。更に、プロセッサ5の読み出しイネ
ーブル信号出力端子RDはランダムアクセスメモリ7と
フラッシュメモリ8の読み出し制御端子RDに接続さ
れ、プロセッサ5の書き込みイネーブル信号出力端子W
Rはランダムアクセスメモリ7とフラッシュメモリ8の
書き込み制御端子WRに接続されている。
【0017】プロセッサ5の周辺回路用チップセレクト
端子PCS1は通信制御部11のチップセレクト端子C
Sに接続されている。この通信制御部11の読み出し制
御端子RDと書き込み制御端子WRもランダムアクセス
メモリ7やフラッシュメモリ8と同様にプロセッサ5の
読み出しイネーブル信号出力端子RDと書き込みイネー
ブル信号出力端子WRとに接続されている。
【0018】外部装置3からデータの転送を受ける場合
には、チップセレクト端子PCS1から出力されるチッ
プセレクト信号が有効になり、通信制御部11が動作
し、通信回線12を介して外部装置3との間のデータ受
入れ処理を実行する。バスライン6を介して受け入れら
れたデータはランダムアクセスメモリ7に入力する。こ
のとき、プロセッサ5のチップセレクト端子CS1の出
力がランダムアクセスメモリ7を有効にする。プロセッ
サ5からバスライン6に出力されるアドレス信号は、ア
ドレスラッチイネーブル端子ALEから出力される信号
によってレジスタ9に保持され、ランダムアクセスメモ
リ7の書き込み制御端子WRが有効となって、そのアド
レスへのデータ書き込みが行われる。
【0019】以上の動作を繰り返して必要なデータがラ
ンダムアクセスメモリ7に書き込まれると、今度はラン
ダムアクセスメモリ7からデータを読み出し、これをフ
ラッシュメモリ8に書き込む動作が実行される。この場
合には、ランダムアクセスメモリ7と共にフラッシュメ
モリ8のチップセレクト端子CSの信号が有効になり、
またフラッシュメモリ8の書き込み制御端子WRが有効
になる。
【0020】なお、図1に示すようなフラッシュメモリ
エリア2へのデータの書き込みと消去はフラッシュメモ
リエリア2をいくつかに分割した適当なブロック単位で
行われる。従って、フラッシュメモリ8の該当するブロ
ックのデータ消去処理とランダムアクセスメモリ7から
転送されたデータの書き込み処理とが交互に行われ、全
ての必要な動作の転送が終了すると転送動作用プログラ
ムが終了する。
【0021】図3に、障害を生じたブロックの修復動作
用プログラムを説明するためのフローチャートを示す。
ランダムアクセスメモリ7からフラッシュメモリ8への
データの転送中に障害が発生し電源が遮断されると、C
PUリセット処理が実行される。まず、図3のステップ
S1では、先に説明したように、フラッシュメモリ8の
内部のデータ検証が行われる。ここで、データが破壊さ
れていないと判断された場合には修復動作は行われず、
ステップS6に移り、通常の動作プログラムがそのまま
実行される。
【0022】一方、データの破壊が発見されるとステッ
プS2に移り、その破壊されたデータが格納されたブロ
ックを特定する。そして、ステップS3において、その
ブロックのデータを外部装置3からランダムアクセスメ
モリ7に転送するよう要求する。こうしてランダムアク
セスメモリ7に必要なデータが書き込まれると、ステッ
プS4において、フラッシュメモリの該当するブロック
のデータを消去する。なお、この処理はフラッシュメモ
リの性質上設けられたもので、フラッシュメモリ以外の
記憶素子を使用して、ランダムアクセスメモリからのデ
ータ転送によって該当するブロックのデータが完全に消
去される場合には、このような消去処理を設ける必要は
ない。
【0023】次に、ステップS5において、ランダムア
クセスメモリ7のデータをフラッシュメモリ8へ書き込
む。これによって、障害の発生した部分のデータが修復
され、その後はステップS6に移り、通常のプログラム
実行が可能となる。
【0024】[実施例2]実施例1においては、図1に
示したように、転送動作用のプログラムをフラッシュメ
モリエリア2の中の一定の領域2−2に格納し、更に修
復動作用のプログラムもフラッシュメモリエリア2の中
の一定の領域2−3に格納した。しかしながら、先に説
明したように、フラッシュメモリエリア2の内部に書き
込まれたデータを書き換えるためのプログラムをこのフ
ラッシュメモリエリア2に設けておくと、誤ってこのプ
ログラムを破壊しプログラムが暴走してしまうおそれも
ある。
【0025】そこで、この実施例では、例えば転送動作
用のプログラムを予めRAMエリア1に設けた一定の領
域1−2に転送しておく。この領域1−2は転送用のデ
ータを格納した領域1−1とは別のところに設ける。従
って、転送動作はランダムアクセスメモリ7に格納され
た転送動作用のプログラムにより制御される。こうすれ
ばデータ転送中の転送動作用プログラムの破壊が予防さ
れる。同様の考え方から、修復動作用のプログラムをR
AMエリア1に転送した上で、動作させることもでき
る。これは、後で説明する別の実施例によって具体的な
構成を説明する。
【0026】[実施例3]実施例1の修復動作用プログ
ラムは、図1に示すように、始めにフラッシュメモリエ
リア2に格納されたデータの検証を行い、次に外部装置
3に対し修復用のデータの転送を要求する。これは電源
がオフされることによってRAMエリア1に格納された
フラッシュメモリの修復のための転送用のデータが消滅
してしまうためである。逆にこのようなデータの消滅が
なければ、リセット処理後、修復動作用のプログラムは
データの検証が済めば直ちにランダムアクセスメモリ7
からフラッシュメモリ8へ該当するデータの転送を開始
することができる。
【0027】実施例1、2ではランダムアクセスメモリ
は通常の使い方をしたが、実施例3では、この目的のた
めに、破線のようにランダムアクセスメモリをバッテリ
でバックアップする。即ち破線部分は実施例3のために
追加したものである。図4に、このようなRAMのバッ
テリバックアップ例ブロック図を示す。この回路は、図
2に示した回路とほぼ同一の構成であって、ランダムア
クセスメモリ7にバックアップ用のバッテリ13が接続
された部分が相違している。このような構成にした場
合、通信回線12を通じて外部装置3からランダムアク
セスメモリ7に受け入れられたデータは電源をオフして
もそのまま保存される。従って、停電や電源電圧の低下
によって電源を一旦オフし、その後電源の再投入を行っ
てリセット処理後フラッシュメモリ8の修復を行う場
合、ランダムアクセスメモリ7に保存されたデータをそ
のまま利用することができる。
【0028】図5に、このようなRAMをバックアップ
したときの動作フローチャートを示す。まず、図3で説
明した処理と同様に、CPUのリセット後フラッシュメ
モリのデータ検証が行われる(ステップS1)。ここ
で、そのデータが破壊されていると判断された場合、ス
テップS2に移り、修復の対象となるブロックが特定さ
れる。そしてステップS3において、ランダムアクセス
メモリ7の中に破壊されたブロックに転送すべきデータ
が残っているかを判断する。ランダムアクセスメモリ7
からフラッシュメモリ8へのデータ転送中に障害が発生
し動作が中断した場合、特別何らかの手が加えられない
限りランダムアクセスメモリ7には丁度その破壊された
データが保存されている。従って、その場合、ステップ
S5に移り、該当するブロックについてフラッシュメモ
リ8の消去処理が行われ、ランダムアクセスメモリ7か
ら該当するデータをフラッシュメモリ8へ書き込む動作
が行われる(ステップS6)。
【0029】なお、ランダムアクセスメモリ7の中に該
当するデータが保存されていない場合にはステップS4
に移り、図3で説明したと同様に外部装置3から該当す
るデータをランダムアクセスメモリ7に受け入れ、その
後データの修復が進められる。これ以外の動作は図3で
説明した実施例と同様である。上記のようなランダムア
クセスメモリに該当するデータが保存されているかどう
かの確認は、該当するデータ中に含まれる属性情報等を
用いて判断する。即ち、ランダムアクセスメモリ7に格
納されている転送用のデータにはフラッシュメモリのど
のブロックに書き込まれるべきデータであるかを識別す
る属性情報が格納されている。これを認識して上記の処
理を行えばよい。
【0030】[実施例4]図6に、次の実施例の動作説
明図を示す。この実施例は修復動作用のプログラムをラ
ンダムアクセスメモリ7にコピーした場合の例を示す。
先に説明したように、障害発生前の転送動作を行うため
のプログラムもランダムアクセスメモリの側に格納され
ていれば、フラッシュメモリエリアへのデータ転送時に
そのプログラムを破壊するおそれが少ない。更に、先に
説明した修復動作用のプログラムも同様の目的でランダ
ムアクセスメモリ側に設けられ、これが実行される方が
安全性が高い。
【0031】しかも、修復動作用のプログラムが破壊さ
れているような場合にリセット処理を行って、そのプロ
グラムを最初にアクセスするアドレスに配置し実行しよ
うとすると、暴走して装置を正常に立ち上げることがで
きない。そこで、この実施例では修復動作用のプログラ
ムを図に示すようにRAMエリア1の所定の領域1−3
に格納し、リセット処理後に最初にアクセスされるアド
レスをこの領域の先頭に設定する。もちろん、この場合
にはRAMエリア1のデータが装置の電源を遮断した後
も保存されていることが前提となり、図4に示したよう
なランダムアクセスメモリ7のバッテリ13によるバッ
クアップが必要となる。
【0032】[実施例5]図7に、次の実施例の装置ブ
ロック図を示す。このブロック図は実施例4で説明した
発明を実施するために、リセット処理後に最初にアクセ
スされるべきアドレスを、フラッシュメモリ8からラン
ダムアクセスメモリ7の側に切り換えるようにアドレス
信号供給先選択手段を設けたものである。プロセッサ5
の動作プログラムを変更せずに最初にアクセスすべきメ
モリをフラッシュメモリからランダムアクセスメモリに
変更するためである。
【0033】この選択のための手段は、この実施例では
2個の手動切り換え方式のスイッチ16,17から構成
される。このスイッチ16,17は、いずれも1個の入
力端子と2個の出力端子を備え、入力端子といずれか一
方の出力端子の間をジャンパーピンの差替えによって接
続するよく知られた構成の切り換えスイッチである。例
えば、図に示すスイッチ16はプロセッサ5のチップセ
レクト端子CS1とランダムアクセスメモリ7のチップ
セレクト端子CSとを接続している。このスイッチを切
り換えると、プロセッサ5のチップセレクト端子CS1
をフラッシュメモリ8のチップセレクト端子CSにつな
ぎ換えることができる。スイッチ17も同様の構成とな
っている。
【0034】なお、この回路には更に電源電圧監視回路
15が設けられている。この電源電圧監視回路は、電源
電圧が異常に低下した場合にこれを検出し、割り込み信
号をプロセッサ5の割り込み入力端子NMIに送り込む
構成となっている。また、この回路にはその他に、LE
Dドライバ18と一対のLED(発光ダイオード)2
1,22が接続されている。
【0035】このLEDドライバ18はバスライン6に
接続されており、バスライン6を通じていずれかのLE
D21,22を点灯する旨のデータを受け入れて格納す
るレジスタとしての機能を備えている。LEDドライバ
18のチップセレクト端子CSは、プロセッサ5のチッ
プセレクト信号出力端子PCS2と接続され、LEDド
ライバ18の書き込み制御端子WRはプロセッサ5の書
き込みイネーブル信号出力端子WRに接続されている。
また、このLEDドライバ18は一旦格納した信号を装
置の電源が遮断された後も保持できるように、バッテリ
23によってバックアップされている。
【0036】これによって、LEDドライバ18に対し
いずれかのLED21や22を点灯するためのデータが
バスライン6より供給され、同時にチップセレクト端子
CSにチップセレクト信号が入力し、書き込み制御端子
WRが有効になると、バスライン6から制御用の信号を
受け入れて保持する。その後は、内容が書き換えられる
までそのデータを保持し、いずれかのLED21,22
を点灯させた状態となる。なお、この実施例において
は、LED21は、リセット後に最初にアクセスされる
べきフラッシュメモリ8の所定のブロックがランダムア
クセスメモリ7からのデータ転送中に破壊されたことを
表示するために設けられている。また、LED22は、
このような破壊されたフラッシュメモリ8中のデータが
修復動作によって修復された場合に点灯し、これを表示
するために設けられている。
【0037】なお、この図7に示す装置は、通常動作の
際には、プロセッサ5のチップセレクト端子CS1をラ
ンダムアクセスメモリ7のチップセレクト端子CSに接
続し、もう一方のチップセレクト端子CS2をフラッシ
ュメモリ8のチップセレクト端子CSに接続しておく。
この状態でランダムアクセスメモリ7に外部装置3から
所定のデータが送り込まれ、これがフラッシュメモリ8
に転送されて書き込みが行われる。
【0038】図8に、アドレスを切り換える場合のメモ
リマップ説明図を示す。図の(a)は装置の動作開始の
際の通常動作時のメモリマップを示す。また、(b)は
図7に示したスイッチ16,17を切り換えた場合のア
ドレス切り換え時のメモリマップを示す。図8(a)に
示すように、記憶領域にはランダムアクセスメモリエリ
ア1とフラッシュメモリエリア2とがマッピングされて
いる。このフラッシュメモリエリア2は、例えば4個の
ブロックB1〜B4に区分されている。このブロック単
位でランダムアクセスメモリエリア1に格納されたデー
タが転送され、フラッシュメモリエリア2の書換えが行
われる。通常の設定では、装置の電源立上げやリセット
の際、例えばフラッシュメモリエリア2のブロックB4
からアクセスが開始され、この部分に書き込まれたプロ
グラムから動作を開始する。
【0039】しかしながら、このブロックB4に書き込
まれたプログラムが破壊されているような場合、図7に
示したスイッチ16,17を切り換えて、図8(b)に
示すように、見かけ上のアドレスマッピングを変更す
る。即ち、これまでフラッシュメモリエリア2がマッピ
ングされていた部分にランダムアクセスメモリエリア1
を移動させる。これによって、プロセッサ5はフラッシ
ュメモリエリア2のこれまで同様のブロックをリセット
後アクセスするように動作するが、実際にはスイッチの
切り換えによってランダムアクセスメモリエリア1の所
定のアドレスから起動される。従って、このランダムア
クセスメモリエリア1の所定の領域に該当するプログラ
ムを格納しておけば、装置は正常に動作する。
【0040】図7に示す装置は具体的に次のように動作
する。図9は、上記のLED21,22の動作説明フロ
ーチャートである。まず、このフローチャートを使って
LED21の動作状態を説明する。始めに、この図のス
テップS1の直前で電源が遮断されたり電圧が低下する
ことによって、ランダムアクセスメモリ7からフラッシ
ュメモリ8へのデータ転送が中断し、一定のデータが破
壊されたものとする。この場合、これをプロセッサ5が
検出し、LEDドライバ18を駆動してLED21を点
灯させる(ステップS1)。その後、リセット処理が行
われ(ステップS2)、先に説明した手順でステップS
3からステップS6の間にフラッシュメモリ中の破壊さ
れたデータの修復を行う。
【0041】即ち、ステップS3において、ランダムア
クセスメモリ7の中に破壊されたブロックのデータが残
っているかどうかを判断し、残っていればステップS5
に直ちに移り、残っていなければステップS4におい
て、外部回路からランダムアクセスメモリへ必要なデー
タの転送を受ける。そして、ステップS5において、フ
ラッシュメモリの該当するブロックのデータを消去し、
ランダムアクセスメモリ7からフラッシュメモリ8へ修
復すべきデータの書き込みを行う(ステップS6)。
【0042】このようにしてデータの修復が終了する
と、ステップS7において、LED21が消灯される。
そして、修復終了の旨を示すLED22が点灯する。図
のステップS3からステップS7の間の処理は、図7に
示したスイッチ16,17を切り換えた状態で行う。即
ち、ステップS1のLED21の点灯は、通常の状態か
らスイッチを切り換えることをオペレータに指示するた
めの表示であって、ステップS7におけるLED22の
点灯は、切り換えられたスイッチを元に戻すようオペレ
ータに知らせるための表示である。従って、いずれの場
合においても、オペレータのスイッチ切換えと装置の電
源オンオフ作業を挟んで、破壊されたブロックの修復が
実行されることになる。
【0043】図10は、上記のような装置のオペレータ
によるアドレス信号供給先選択作業を含む全体の動作を
説明するフローチャートである。まず、ステップS1に
おいて、図7に示す電源電圧監視回路15は電源電圧の
低下を検出すると、LED21を点灯する。これに従っ
てオペレータは、ステップS2において電源をオフした
状態でスイッチ16,17のショートプラグの入れ換え
を行う。これによって、チップセレクト信号を入れ換
え、図8に示す(a)の状態から(b)の状態にメモリ
マッピングを変更する。その後、ステップS2におい
て、装置の電源をオンする。これによって、ステップS
3でCPUリセット処理が実行される。次に、ステップ
S4、S5、S6、S7によって、既に図9で説明した
通りのフラッシュメモリ中の該当するブロックのデータ
修復が行われる。
【0044】このデータ修復が完了すると、ステップS
8においてLED21が消灯し、LED22が点灯す
る。ステップS9ではオペレータが手動によって電源を
オフし、ショートプラグを通常の状態に戻す。そして、
電源をオンすると再びCPUリセットが実行され(ステ
ップS10)、その後は通常のプログラムの実行が開始
される(ステップS11)。
【0045】[実施例6]図11には、上記のようなア
ドレス切換えを自動的に行う装置の実施例ブロック図を
示す。この図の場合、図7に示したスイッチ16,17
の代わりにリレー25,26を挿入する。このリレー2
5,26は、それぞれスイッチ25−1と26−1を備
え、これらのスイッチはソレノイド25−2または26
−2によってオンオフされる。これらのリレー25,2
6の役割はスイッチ16,17と全く同様である。な
お、このようなリレー25,26を電気的にオンオフ制
御するために、ラッチ付デコーダ27が設けられてい
る。このラッチ付デコーダ27は、バスライン6に接続
され、更にプロセッサ5のチップセレクト端子PCS2
の出力をチップセレクト端子CSに受け入れる構成とな
っている。
【0046】ラッチ付デコーダ27の出力はソレノイド
25−2,26−2を同時に励磁するよう動作し、その
励磁状態を維持するためにバスライン6から受け入れた
データを一時格納できる構成となっている。そして、電
源オフ後もこの一時格納したデータを失わないようにバ
ッテリ28によってバックアップされている。即ち、プ
ロセッサ5がリレー25,26の切り換え信号をバスラ
イン6を通じてラッチ付デコーダ27に送り、チップセ
レクト端子CSに入力するチップセレクト信号を有効に
すれば、リレー25,26を切り換えるための信号がラ
ッチ付デコーダ27に格納され、その状態は電源遮断後
も保持される。その後、再びプロセッサ5がリレー2
5,26の接続を元に戻すように制御信号をバスライン
6に出力し、これをラッチ付デコーダ27が受け入れる
と、リレー25,26が元の状態に復帰する。このリレ
ー25,26の切り換えタイミングは、図9を用いて説
明したものと同様となる。
【0047】図12に、上記のような装置のアドレス自
動切り換え動作を含む全体的な動作説明用フローチャー
トを示す。まず、ステップS1において、電源電圧監視
回路15が電源電圧の低下を検出する。この検出結果は
プロセッサ5に割り込みにより通知される。プロセッサ
5は、このときラッチ付デコーダ27に対するチップセ
レクト信号を有効にし、更にリレーの接続を切り換える
ためのデータをバスライン6に出力する。これによっ
て、ラッチ付デコーダ27からリレー25,26を励磁
する信号が出力され、リレー25,26はスイッチ25
−1,26−1の接続を切り換える。これによって、図
8に示した(a)の通常時の状態から(b)のアドレス
切り換え時の状態へメモリマッピングが変更される。
【0048】その後、装置は電源が遮断され、フラッシ
ュメモリの破壊された部分を修復するための処理を進め
るべく再び電源の供給が再開される(ステップS3)。
これによって、ステップS4で装置のリセット処理が実
行され、ステップS5でランダムアクセスメモリ中に破
壊されたブロックのデータが残っているかどうかが判断
される。残っていればステップS7へ、残っていなけれ
ば外部データからランダムアクセスメモリへデータを受
け入れるステップS6に進む。ステップS7では該当す
るフラッシュメモリのブロックを消去し、ステップS8
においてランダムアクセスメモリからフラッシュメモリ
へデータを書き込む。これによって、フラッシュメモリ
の修復が終了する。この処理が終了すると、プロセッサ
5は再びラッチ付デコーダ27を動作させてリレー2
5,26を元の状態に復帰させる。これによって、チッ
プセレクト信号の接続状態が通常の状態に切り替わる
(ステップS9)。その後、ステップS10において、
再びリセット処理が行われ、ステップS11以降、通常
のプログラムの処理が開始される。
【0049】以上のような処理によって、オペレータの
手を煩わせることなくアドレスマッピングを変更し、自
動的にフラッシュメモリの該当する箇所の修復が行われ
る。しかも、リセット処理後最初にアクセスされるブロ
ックは、データが正常に保持されているランダムアクセ
スメモリ側に設定されるため、フラッシュメモリ側の破
壊されたプログラムを最初にアクセスすることによって
生じる暴走を未然に防ぐことができる。
【0050】本発明は以上の実施例に限定されない。上
記実施例においては、不揮発性メモリとしてフラッシュ
メモリを使用した例を示したが、フラッシュメモリ以外
に装置動作のためのプログラムやデータの転送を受け、
内容の書換えが行われる不揮発性の半導体メモリを広く
採用することができる。
【0051】また、転送動作用のプログラムの格納位置
や修復動作用のプログラムの格納位置は、フラッシュメ
モリエリアの自由な位置に設定してよく、またRAMエ
リアにコピーする場合も同様に、自由な位置に設定する
ことができる。更に、不揮発性メモリ側に書き込まれた
データの検証を行う動作は、装置の障害を監視するシス
テムに記憶された障害情報を参照したり、あるいはラン
ダムアクセスメモリに格納された転送用のデータとフラ
ッシュメモリエリアに格納されたデータとの比較照合に
よっても実行することができる。
【0052】また、ランダムアクセスメモリのバックア
ップは、装置の電源が遮断された後、保存しておくべき
データを格納した部分だけでよく、その他の部分全てま
でバックアップする必要はない。
【0053】
【発明の効果】以上説明した本発明のメモリ書換え制御
方法と制御装置によれば、一次記憶用のランダムアクセ
スメモリに格納したデータをプログラム制御用の不揮発
性メモリに書き込む転送動作中に、障害が発生して転送
動作が中断したとき、リセット処理後最初にアクセスさ
れる不揮発性メモリの所定の領域に修復用のプログラム
を格納し、これによって不揮発性メモリに書き込まれた
データの検証と、データのランダムアクセスメモリへの
受入れやランダムアクセスメモリから障害のある領域へ
の書き込み動作等を実行するようにしたので、障害発生
後リセット処理を行って装置を再起動した場合に、不揮
発性メモリ中に格納されたプログラムの障害によって暴
走するといった問題が解決する。
【図面の簡単な説明】
【図1】本発明の方法の実施例を示す説明図である。
【図2】本発明の実施に適する回路のブロック図であ
る。
【図3】本発明の動作フローチャートである。
【図4】RAMのバッテリバックアップ例を示すブロッ
ク図である。
【図5】RAMをバックアップしたときの動作フローチ
ャートである。
【図6】RAM側に修復用プログラムをコピーした場合
の動作説明図である。
【図7】アドレス信号供給先選択例を示すブロック図で
ある。
【図8】アドレスを切り換えるときのメモリマップで、
(a)は通常時、(b)はアドレス切換え時のメモリマ
ップである。
【図9】LEDの表示動作を説明するフローチャートで
ある。
【図10】アドレス信号供給先選択動作説明のためのフ
ローチャートである。
【図11】アドレス自動切り換え実施例を示すブロック
図である。
【図12】アドレス自動切り換え動作を示すフローチャ
ートである。
【符号の説明】
1 RAMエリア 2 フラッシュメモリエリア 1−1,1−2,2−1〜2−3 記憶領域 3 外部装置

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 一時記憶用のランダムアクセスメモリに
    格納したデータをプログラム制御用の不揮発性メモリに
    書き込む転送動作中に、障害が発生して前記転送動作が
    中断したとき、 リセット処理後最初にアクセスされる前記不揮発性メモ
    リの所定の領域に対し、 当該不揮発性メモリに書き込まれたデータの検証を行
    い、 データに障害のある領域が存在する場合、 前記ランダムアクセスメモリに外部装置から該当する転
    送用のデータを受入れて、 そのデータを前記障害のある領域に書込む修復動作を行
    なうプログラムを格納しておくことを特徴とするメモリ
    書換え制御方法。
  2. 【請求項2】 バックアップにより不揮発性とされた一
    時記憶用のランダムアクセスメモリに格納したデータ
    を、プログラム制御用の不揮発性メモリに書き込む転送
    動作中に、障害が発生して前記転送動作が中断したと
    き、 リセット処理後最初にアクセスされる前記不揮発性メモ
    リの所定の領域に対し、 当該不揮発性メモリに書き込まれたデータの検証を行
    い、 データに障害のある領域が存在する場合、 前記ランダムアクセスメモリに格納された該当する転送
    用のデータを、 前記障害のある領域に書込む修復動作を行なうプログラ
    ムを格納しておくことを特徴とするメモリ書換え制御方
    法。
  3. 【請求項3】 バックアップにより不揮発性とされた一
    時記憶用のランダムアクセスメモリと、 前記ランダムアクセスメモリに格納したデータの転送を
    受けて動作するプログラム制御用の不揮発性メモリと、 前記ランダムアクセスメモリから前記不揮発性メモリへ
    のデータ転送を制御する転送動作制御部とを備え、 前記不揮発性メモリの、リセット処理後最初にアクセス
    される所定の領域には、 前記転送動作中に障害が発生し、当該転送動作が中断し
    たとき、 当該不揮発性メモリに書き込まれたデータの検証を行
    い、 データに障害のある領域が存在する場合、 前記ランダムアクセスメモリに格納された該当するデー
    タを、 前記障害のある領域に書込む修復動作を行なうプログラ
    ムが格納されていることを特徴とするメモリ書換え制御
    装置。
  4. 【請求項4】 バックアップにより不揮発性とされた一
    時記憶用のランダムアクセスメモリと、 前記ランダムアクセスメモリに格納したデータの転送を
    受けて動作するプログラム制御用の不揮発性メモリと、 前記ランダムアクセスメモリから前記不揮発性メモリへ
    のデータ転送を制御する転送動作制御部とを備え、 前記転送動作中に障害が発生し、当該転送動作が中断し
    たとき、リセット処理後最初に実行されるべきプログラ
    ムを、前記ランダムアクセスメモリに格納しておき、 前記不揮発性メモリに格納された同一内容のプログラム
    に代わって、前記ランダムアクセスメモリに格納された
    当該プログラムのアドレスを、リセット処理後にアクセ
    スするように、 最初のアドレス信号を前記ランダムアクセスメモリに供
    給するための、アドレス信号供給先選択部を設けたこと
    を特徴とするメモリ書換え制御装置。
  5. 【請求項5】 アドレス信号供給先選択部は、手動切り
    換えスイッチから構成され、 転送動作中に障害が発生し、当該転送動作が中断したと
    き、リセット動作前に、前記手動切り換えスイッチの操
    作を促すための表示を出力する表示部を備えたことを特
    徴とする請求項4記載のメモリ書換え制御装置。
  6. 【請求項6】 表示部は、リセット処理後に最初にアク
    セスされるべきプログラムの転送動作に障害が発生した
    ことを通知する第1表示器と、 リセット動作後に不揮発性メモリ中の当該プログラムの
    修復が終了したことを通知する第2表示器とを備えたこ
    とを特徴とする請求項5記載のメモリ書換え制御装置。
  7. 【請求項7】 アドレス信号供給先選択部は、アドレス
    信号をランダムアクセスメモリと不揮発性メモリの何れ
    か一方に供給する選択スイッチと、 リセット処理後最初に実行されるべきプログラム実行の
    ためのアドレス信号を前記ランダムアクセスメモリに供
    給し、 そのプログラムによって不揮発性メモリの障害のある領
    域のデータが修復された後、アドレス信号が不揮発性メ
    モリに供給されるように前記選択スイッチを切り換え制
    御するスイッチ制御部を備えたことを特徴とする請求項
    4記載のメモリ書換え制御装置。
  8. 【請求項8】 不揮発性メモリに格納された修復動作制
    御用のプログラムを、 予めランダムアクセスメモリに転送し、 このランダムアクセスメモリに格納された前記転送動作
    制御用のプログラムを起動して転送動作を実行すること
    を特徴とする請求項1又は2記載のメモリ書換え制御方
    法。
JP6033154A 1994-02-04 1994-02-04 メモリ書換え制御方法と制御装置 Pending JPH07219860A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6033154A JPH07219860A (ja) 1994-02-04 1994-02-04 メモリ書換え制御方法と制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6033154A JPH07219860A (ja) 1994-02-04 1994-02-04 メモリ書換え制御方法と制御装置

Publications (1)

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

Family

ID=12378662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6033154A Pending JPH07219860A (ja) 1994-02-04 1994-02-04 メモリ書換え制御方法と制御装置

Country Status (1)

Country Link
JP (1) JPH07219860A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11514124A (ja) * 1996-08-22 1999-11-30 シュネーデル、オートマシォン オペレーティングシステムをロードする方法
JP2001079164A (ja) * 1999-09-16 2001-03-27 Okumura Yu-Ki Co Ltd パチンコ機
JP2001079248A (ja) * 1999-09-16 2001-03-27 Okumura Yu-Ki Co Ltd パチンコ機
JP2002095838A (ja) * 2001-08-09 2002-04-02 Okumura Yu-Ki Co Ltd パチンコ機
JP2002095805A (ja) * 2001-08-09 2002-04-02 Okumura Yu-Ki Co Ltd パチンコ機
JP2002333988A (ja) * 2001-05-08 2002-11-22 Teac Corp プログラム処理装置、及びそれにおけるプログラムのバージョンアップ方法及びプログラムバージョンアップ用プログラム
US6851015B2 (en) 2001-05-22 2005-02-01 Sankyo Seiki Mfg. Co., Ltd. Method of overwriting data in nonvolatile memory and a control apparatus used for the method
JP2008112315A (ja) * 2006-10-31 2008-05-15 Hioki Ee Corp 電子機器およびプログラム書換え方法
JP2014232364A (ja) * 2013-05-28 2014-12-11 京セラドキュメントソリューションズ株式会社 電子機器

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11514124A (ja) * 1996-08-22 1999-11-30 シュネーデル、オートマシォン オペレーティングシステムをロードする方法
JP2001079164A (ja) * 1999-09-16 2001-03-27 Okumura Yu-Ki Co Ltd パチンコ機
JP2001079248A (ja) * 1999-09-16 2001-03-27 Okumura Yu-Ki Co Ltd パチンコ機
JP2002333988A (ja) * 2001-05-08 2002-11-22 Teac Corp プログラム処理装置、及びそれにおけるプログラムのバージョンアップ方法及びプログラムバージョンアップ用プログラム
US6851015B2 (en) 2001-05-22 2005-02-01 Sankyo Seiki Mfg. Co., Ltd. Method of overwriting data in nonvolatile memory and a control apparatus used for the method
JP2002095838A (ja) * 2001-08-09 2002-04-02 Okumura Yu-Ki Co Ltd パチンコ機
JP2002095805A (ja) * 2001-08-09 2002-04-02 Okumura Yu-Ki Co Ltd パチンコ機
JP2008112315A (ja) * 2006-10-31 2008-05-15 Hioki Ee Corp 電子機器およびプログラム書換え方法
JP2014232364A (ja) * 2013-05-28 2014-12-11 京セラドキュメントソリューションズ株式会社 電子機器

Similar Documents

Publication Publication Date Title
US7206971B2 (en) Selectable and updatable computer boot memory
US7290097B2 (en) Nonvolatile memory
US5793943A (en) System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
KR100316981B1 (ko) 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법
JP2940480B2 (ja) コンピュータシステム
US7941658B2 (en) Computer system and method for updating program code
EP1607865B1 (en) Data control unit capable of correcting boot errors, and corresponding method
CN111158599B (zh) 一种写数据的方法、装置、设备及存储介质
US20150199190A1 (en) System and method for updating firmware
JP2007507016A (ja) シリアルインターフェイスを介したフラッシュプログラミングによる電子制御装置のソフトウェアアップデート方法およびこれに対応する状態自動装置
CN105653405B (zh) 一种通用引导程序的故障处理方法及系统
JPH07219860A (ja) メモリ書換え制御方法と制御装置
JP2023035930A (ja) コンピュータシステム及びコンピュータシステムのブート方法
JP2004054616A (ja) ファームウェア自動修復機能を有する情報処理装置
JP2005284902A (ja) 端末装置、その制御方法及び制御プログラム、ホスト装置、その制御方法及び制御プログラム、遠隔更新システム、方法及びプログラム
JP2007320456A (ja) 車載用電子機器制御装置
JPH1011293A (ja) 情報処理装置
JP2000293376A (ja) ブートプログラムの切替回路及び切替方法
JP6911591B2 (ja) 情報処理装置、制御装置および情報処理装置の制御方法
JPH07239813A (ja) データのバックアップ方法
JP2004005152A (ja) 不揮発性メモリの書き換え装置
JPH0784894A (ja) 不揮発性メモリの書き込み方法
JPH06250866A (ja) メモリ制御装置
CN114237377B (zh) 一种显示面板的电源管理集成芯片的控制方法和系统
JP2974311B1 (ja) 無線基地局装置