JP3425838B2 - データ退避読み出し方法 - Google Patents
データ退避読み出し方法Info
- Publication number
- JP3425838B2 JP3425838B2 JP10926396A JP10926396A JP3425838B2 JP 3425838 B2 JP3425838 B2 JP 3425838B2 JP 10926396 A JP10926396 A JP 10926396A JP 10926396 A JP10926396 A JP 10926396A JP 3425838 B2 JP3425838 B2 JP 3425838B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- read
- saved
- volatile 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.)
- Expired - Fee Related
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、データ退避読み出
し方法に係り、特に、退避データ量の少ない情報処理機
器に好適なデータ退避読み出し方法に関する。
し方法に係り、特に、退避データ量の少ない情報処理機
器に好適なデータ退避読み出し方法に関する。
【0002】
【従来の技術】従来、電源遮断時に情報を退避保持する
情報処理装置は、装置の電源が落ちる前にそれを検知
し、保持しておく必要のある情報を不揮発性メモリに書
き込む。そして、装置の電源が投入された時、不揮発性
メモリに記憶させておいた情報を再び読み出して使用す
る。
情報処理装置は、装置の電源が落ちる前にそれを検知
し、保持しておく必要のある情報を不揮発性メモリに書
き込む。そして、装置の電源が投入された時、不揮発性
メモリに記憶させておいた情報を再び読み出して使用す
る。
【0003】データ退避用の不揮発性メモリには、電気
的にデータの書き換えが可能な、EEPROM,Fla
sh Memory,NVRAM等が用いられ、データ
を退避すべき機会が生じる度に不揮発性メモリの内容を
書き換えて情報を退避させていた。一方、情報を保持す
る手段として、バッテリー等の二次電源を用いる方法も
あるが、情報の保持時間の制約から、不揮発性メモリを
採用する方式が主流となっている。
的にデータの書き換えが可能な、EEPROM,Fla
sh Memory,NVRAM等が用いられ、データ
を退避すべき機会が生じる度に不揮発性メモリの内容を
書き換えて情報を退避させていた。一方、情報を保持す
る手段として、バッテリー等の二次電源を用いる方法も
あるが、情報の保持時間の制約から、不揮発性メモリを
採用する方式が主流となっている。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来例にあっては、必要とする情報量に比べはるかに大規
模で高価な不揮発性メモリを採用せねばならない不都合
があった。これは、情報を退避するのに不揮発性メモリ
は必然である一方、一般に入手され使用可能な素子の選
択範囲は限られ、必要とする情報量に比べはるかに大規
模で高価な素子を使用せざるをえないからである。
来例にあっては、必要とする情報量に比べはるかに大規
模で高価な不揮発性メモリを採用せねばならない不都合
があった。これは、情報を退避するのに不揮発性メモリ
は必然である一方、一般に入手され使用可能な素子の選
択範囲は限られ、必要とする情報量に比べはるかに大規
模で高価な素子を使用せざるをえないからである。
【0005】また、退避情報の記録では、記録処理の所
用時間が短いことが強く望まれるが、不揮発性メモリの
書き換え処理には、相応に時間を要するという不都合が
あった。即ち、一般に使用できる書き換え可能な不揮発
性メモリは、書き換え処理、特に前の情報を消去するの
に時間を費やすものであったため、緊急遮断時に備えて
補助電源を強力にするなど、電力確保の策を講じる必要
があった。
用時間が短いことが強く望まれるが、不揮発性メモリの
書き換え処理には、相応に時間を要するという不都合が
あった。即ち、一般に使用できる書き換え可能な不揮発
性メモリは、書き換え処理、特に前の情報を消去するの
に時間を費やすものであったため、緊急遮断時に備えて
補助電源を強力にするなど、電力確保の策を講じる必要
があった。
【0006】ここで、書き換え特性が改善された素子も
開発されつつあるが、未だ非常に高価である。
開発されつつあるが、未だ非常に高価である。
【0007】
【発明の目的】本発明は、かかる従来例の有する不都合
を改善し、特に、不揮発性メモリを比較的安価なもの
(PROM等)へ置き換え、また、退避に要する所要時
間を短縮することにより補助電源の軽減を図ることで、
情報退避手段に係わるコスト低減を実現するデータ退避
読み出し方法を提供することを、その目的とする。
を改善し、特に、不揮発性メモリを比較的安価なもの
(PROM等)へ置き換え、また、退避に要する所要時
間を短縮することにより補助電源の軽減を図ることで、
情報退避手段に係わるコスト低減を実現するデータ退避
読み出し方法を提供することを、その目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明では、定常動作においてデータ
の退避が必要か否かを判断し、退避が必要なデータを予
め揮発性メモリに保持しておき、装置の電源遮断前に揮
発性メモリ上に存するデータを不揮発性メモリに一時退
避させ、装置の再起動時に不揮発性メモリから前記デー
タを再び読み出して使用するためのデータ退避読み出し
方法であって、データを、不揮発メモリに既に退避され
ているデータの格納領域と重ならない格納領域に退避さ
せるようにデータの退避先アドレスを設定する、という
方法を採っている。本発明では、退避データは、不揮発
性メモリの未書き込みの領域に格納される。
め、請求項1記載の発明では、定常動作においてデータ
の退避が必要か否かを判断し、退避が必要なデータを予
め揮発性メモリに保持しておき、装置の電源遮断前に揮
発性メモリ上に存するデータを不揮発性メモリに一時退
避させ、装置の再起動時に不揮発性メモリから前記デー
タを再び読み出して使用するためのデータ退避読み出し
方法であって、データを、不揮発メモリに既に退避され
ているデータの格納領域と重ならない格納領域に退避さ
せるようにデータの退避先アドレスを設定する、という
方法を採っている。本発明では、退避データは、不揮発
性メモリの未書き込みの領域に格納される。
【0009】請求項2記載の発明では、退避先アドレス
は、データを不揮発性メモリの先頭アドレスに最も近い
格納領域に退避させるように設定する、という方法を採
っている。本発明では、退避データが、不揮発性メモリ
の先頭アドレスに最も近い未書き込み領域から順々に格
納されてゆく。
は、データを不揮発性メモリの先頭アドレスに最も近い
格納領域に退避させるように設定する、という方法を採
っている。本発明では、退避データが、不揮発性メモリ
の先頭アドレスに最も近い未書き込み領域から順々に格
納されてゆく。
【0010】請求項3記載の発明では、不揮発性メモリ
に退避されたデータを読み出すと共に当該データに無効
を示すコードを付加し、この無効を示すコードが付加さ
れたデータは読み出さない、という方法を採っている。
本発明では、直前に退避させたデータは再起動時に読み
出されるけれども、それ以前に退避されそのまま残留し
ていたデータは読み出されない。
に退避されたデータを読み出すと共に当該データに無効
を示すコードを付加し、この無効を示すコードが付加さ
れたデータは読み出さない、という方法を採っている。
本発明では、直前に退避させたデータは再起動時に読み
出されるけれども、それ以前に退避されそのまま残留し
ていたデータは読み出されない。
【0011】請求項4記載の発明では、データを不揮発
性メモリに退避させた後、当該データを電源切断前に読
み出して該データの正否を確認し、データ誤りがある場
合には揮発性メモリに存するデータを不揮発性メモリに
再退避させる、という方法を採っている。本発明では、
一度退避されたデータが正しく格納されているか否かが
確認され、正しくない場合は、不揮発性メモリのハード
ウェア的不良箇所を避けるために不揮発性メモリの格納
領域を改めて再退避される。
性メモリに退避させた後、当該データを電源切断前に読
み出して該データの正否を確認し、データ誤りがある場
合には揮発性メモリに存するデータを不揮発性メモリに
再退避させる、という方法を採っている。本発明では、
一度退避されたデータが正しく格納されているか否かが
確認され、正しくない場合は、不揮発性メモリのハード
ウェア的不良箇所を避けるために不揮発性メモリの格納
領域を改めて再退避される。
【0012】請求項5記載の発明では、上記データ誤り
のあるデータに無効を示すコードを付加し、この無効を
示すコードが付加されたデータは読み出さない、という
方法を採っている。本発明では、退避時に不揮発性メモ
リに正しく格納されなかったデータは装置の再起動時に
読み出されないけれども、その後に再退避されたデータ
が装置の再起動時に読み出される。
のあるデータに無効を示すコードを付加し、この無効を
示すコードが付加されたデータは読み出さない、という
方法を採っている。本発明では、退避時に不揮発性メモ
リに正しく格納されなかったデータは装置の再起動時に
読み出されないけれども、その後に再退避されたデータ
が装置の再起動時に読み出される。
【0013】これらにより、前述した目的を達成しよう
とするものである。
とするものである。
【0014】
【発明の実施の形態】以下、本発明の一実施形態を図1
乃至図3に基づいて説明する。
乃至図3に基づいて説明する。
【0015】図1は本実施形態の構成を示すブロック図
である。本実施形態における退避情報記録装置は、不揮
発性メモリ1と、この不揮発性メモリ1にデータを書き
込むデータ書き込み手段2と、不揮発メモリ1からデー
タを読み出すデータ読み出し手段3と、主電源の切断か
ら所定時間に渡り装置要素への電力の供給を保つ補助電
源4と、これら各装置要素の動作タイミングを制御する
制御手段5とを備えている。
である。本実施形態における退避情報記録装置は、不揮
発性メモリ1と、この不揮発性メモリ1にデータを書き
込むデータ書き込み手段2と、不揮発メモリ1からデー
タを読み出すデータ読み出し手段3と、主電源の切断か
ら所定時間に渡り装置要素への電力の供給を保つ補助電
源4と、これら各装置要素の動作タイミングを制御する
制御手段5とを備えている。
【0016】以下の説明において、制御手段5により書
き込み手段2をして不揮発性メモリ1に退避されるデー
タを単位データ111という。
き込み手段2をして不揮発性メモリ1に退避されるデー
タを単位データ111という。
【0017】制御手段5では、不揮発性メモリ1に書き
込むべき単位データの形式が予め定義されている。この
単位データ111の構成例を図2に示す。この図2に示
す単位データは、不揮発性メモリ1に退避させるべき本
来の退避情報113(退避データ)と、この退避情報1
13が不揮発性メモリ1に正しく格納されたか否かを判
断するためのチェックコード114と、当該単位データ
の処理状況を示す処理コード112とを備えている。
込むべき単位データの形式が予め定義されている。この
単位データ111の構成例を図2に示す。この図2に示
す単位データは、不揮発性メモリ1に退避させるべき本
来の退避情報113(退避データ)と、この退避情報1
13が不揮発性メモリ1に正しく格納されたか否かを判
断するためのチェックコード114と、当該単位データ
の処理状況を示す処理コード112とを備えている。
【0018】この単位データ111は、制御手段5によ
り、既に格納されている単位データの格納領域と重なら
ない格納領域に退避されるようになっている。また、単
位データ111は、不揮発性メモリ1の先頭アドレスに
最も近い格納領域に退避されるようになっている。単位
データ111が書き込み手段2により不揮発性メモリ1
に書き込まれた際には、当該書き込み後の単位データが
正しく格納されているか否かがチェックコード114の
参照により確認されるようになっている。
り、既に格納されている単位データの格納領域と重なら
ない格納領域に退避されるようになっている。また、単
位データ111は、不揮発性メモリ1の先頭アドレスに
最も近い格納領域に退避されるようになっている。単位
データ111が書き込み手段2により不揮発性メモリ1
に書き込まれた際には、当該書き込み後の単位データが
正しく格納されているか否かがチェックコード114の
参照により確認されるようになっている。
【0019】次に、上記実施形態の全体動作を図3に基
づいて説明する。
づいて説明する。
【0020】主装置の電源が投入されると、退避情報記
録装置も稼働する(ステップS1)。制御手段5は、電
源投入時に、既に不揮発性メモリ1に記憶されている単
位データのチェックを実行する。このため、まず、読み
出しアドレスを不揮発性メモリ1の先頭アドレスに設定
し(ステップS2)、このアドレスを保存する(ステッ
プS3)。続いて、制御手段5は、設定したアドレスか
ら単位データを読み出し(ステップS4)、上述した単
位データの処理コード112及びチェックコード114
を参照して、当該単位データが有効なデータとして扱う
べきもの(以下、有効データという)か否かを判断する
(ステップS5)。この結果、有効データであれば当該
単位データ中に含まれた退避情報113に基づいて所定
の処理を実行した後(ステップS7)、当該単位データ
は処理済のものであることを明示するために、処理コー
ド112を無効データを示す所定のコードに書き換える
(ステップS8)。
録装置も稼働する(ステップS1)。制御手段5は、電
源投入時に、既に不揮発性メモリ1に記憶されている単
位データのチェックを実行する。このため、まず、読み
出しアドレスを不揮発性メモリ1の先頭アドレスに設定
し(ステップS2)、このアドレスを保存する(ステッ
プS3)。続いて、制御手段5は、設定したアドレスか
ら単位データを読み出し(ステップS4)、上述した単
位データの処理コード112及びチェックコード114
を参照して、当該単位データが有効なデータとして扱う
べきもの(以下、有効データという)か否かを判断する
(ステップS5)。この結果、有効データであれば当該
単位データ中に含まれた退避情報113に基づいて所定
の処理を実行した後(ステップS7)、当該単位データ
は処理済のものであることを明示するために、処理コー
ド112を無効データを示す所定のコードに書き換える
(ステップS8)。
【0021】そして、不揮発性メモリ1から単位データ
を読み出すべきアドレスを1データ分進めて(ステップ
S9)、ステップS3からの処理を繰り返す。処理を進
めた結果、読み出しアドレスが単位データの未だ書き込
まれていない未書き込み部分に達すると、主装置が行う
本来の動作に処理を渡す(ステップS6,S10)。こ
こで、未書き込み部分の判定は、単位データの読み出し
工程において(ステップS4)、未書き込み領域に対応
した処理コードが取得されることに基づいて行われる
(ステップS6)。
を読み出すべきアドレスを1データ分進めて(ステップ
S9)、ステップS3からの処理を繰り返す。処理を進
めた結果、読み出しアドレスが単位データの未だ書き込
まれていない未書き込み部分に達すると、主装置が行う
本来の動作に処理を渡す(ステップS6,S10)。こ
こで、未書き込み部分の判定は、単位データの読み出し
工程において(ステップS4)、未書き込み領域に対応
した処理コードが取得されることに基づいて行われる
(ステップS6)。
【0022】主装置の処理が開始されると(ステップS
10)、その処理中に情報の退避が必要か否かが逐次判
断され(ステップS12)、必要であれば、当該退避情
報が単位データとしてRAM(図示せず)に一時留保さ
れる(ステップS13)。その後、主装置本来の処理が
実行され(ステップS14)、当該退避情報にまつわる
処理が無事に終了すれば、保持の必要がなくなったRA
M上の単位データを消去し(ステップS16)、ステッ
プS10からの処理が繰り返される。
10)、その処理中に情報の退避が必要か否かが逐次判
断され(ステップS12)、必要であれば、当該退避情
報が単位データとしてRAM(図示せず)に一時留保さ
れる(ステップS13)。その後、主装置本来の処理が
実行され(ステップS14)、当該退避情報にまつわる
処理が無事に終了すれば、保持の必要がなくなったRA
M上の単位データを消去し(ステップS16)、ステッ
プS10からの処理が繰り返される。
【0023】一方、主装置の処理中に当該装置の主電源
が遮断されると(ステップS17)、RAM上に退避情
報が留保されているか否かが確認され(ステップS1
8)、存在する場合は、当該単位データが不揮発性メモ
リ1にコピーされる(ステップS19)。そして、その
後に補助電源4が切断される(ステップS20)。
が遮断されると(ステップS17)、RAM上に退避情
報が留保されているか否かが確認され(ステップS1
8)、存在する場合は、当該単位データが不揮発性メモ
リ1にコピーされる(ステップS19)。そして、その
後に補助電源4が切断される(ステップS20)。
【0024】従って、電源遮断時には、最小限の情報を
書き込む処理のみを行えば良く、不揮発性メモリ中のデ
ータの消去が必要な従来例に比べ、大幅な退避処理の時
間短縮を実現することができ、また、この間の電力を供
給する補助電源の規模も縮小することができる。更に、
退避情報を検索し単位データの有効性を識別して処理す
るので、以前の情報が残されていても差し支えなく、デ
ータ消去が行えないPROMを不揮発性メモリとして使
用できるようになる。
書き込む処理のみを行えば良く、不揮発性メモリ中のデ
ータの消去が必要な従来例に比べ、大幅な退避処理の時
間短縮を実現することができ、また、この間の電力を供
給する補助電源の規模も縮小することができる。更に、
退避情報を検索し単位データの有効性を識別して処理す
るので、以前の情報が残されていても差し支えなく、デ
ータ消去が行えないPROMを不揮発性メモリとして使
用できるようになる。
【0025】
【0026】以下、上記実施形態に基づく詳細な実施例
を図4乃至図10に基づいて説明する。
を図4乃至図10に基づいて説明する。
【0027】図4は、本実施例に係るデータ退避読み出
し装置の構成を示すブロック図である。この図4に示す
データ退避読み出し装置は、データ退避用のPROM1
1と、このPROM11に退避させるためのデータを一
時保持するRAM52と、PROM11を書き込みモー
ドと読み出しモードに切り替えるスイッチ22とを備え
ている。また、RAM52又はPROM11にデータ書
き込み用の信号を印加するデコーダ21,31と、これ
ら各装置要素の動作を制御するプロセッサ51とを有し
ている。ここで、符号41は、装置の動作用電源を示
す。
し装置の構成を示すブロック図である。この図4に示す
データ退避読み出し装置は、データ退避用のPROM1
1と、このPROM11に退避させるためのデータを一
時保持するRAM52と、PROM11を書き込みモー
ドと読み出しモードに切り替えるスイッチ22とを備え
ている。また、RAM52又はPROM11にデータ書
き込み用の信号を印加するデコーダ21,31と、これ
ら各装置要素の動作を制御するプロセッサ51とを有し
ている。ここで、符号41は、装置の動作用電源を示
す。
【0028】これを更に詳述すると、本実施例におい
て、プロセッサ51は、予め準備された制御プログラム
に従い、制御信号線500を制御することにより上述の
各構成要素の動作タイミングを制御する。制御信号線5
00は、アドレスの指定を行うI/Oアドレス信号50
1と、I/Oライトストローブ信号502と、I/Oリ
ードストローブ信号503と、データの指定及び読み出
しを行うI/Oデータ信号504とを選択的に出力可能
となっている。
て、プロセッサ51は、予め準備された制御プログラム
に従い、制御信号線500を制御することにより上述の
各構成要素の動作タイミングを制御する。制御信号線5
00は、アドレスの指定を行うI/Oアドレス信号50
1と、I/Oライトストローブ信号502と、I/Oリ
ードストローブ信号503と、データの指定及び読み出
しを行うI/Oデータ信号504とを選択的に出力可能
となっている。
【0029】また、デコーダ21は、プロセッサ51か
ら出力されたI/Oアドレス信号501,及びI/Oラ
イトストローブ信号502を入力として、RAM52へ
のライトストローブ信号201,PROM11へのライ
ストストローブ信号202,及びスイッチ22を切り替
える制御信号203を出力する。
ら出力されたI/Oアドレス信号501,及びI/Oラ
イトストローブ信号502を入力として、RAM52へ
のライトストローブ信号201,PROM11へのライ
ストストローブ信号202,及びスイッチ22を切り替
える制御信号203を出力する。
【0030】一方、デコーダ31は、プロセッサ51か
ら出力されたI/Oアドレス信号501,及びI/Oリ
ードストローブ信号503を入力として、RAM52へ
のリードストローブ信号301,PROM11へのリー
ドストローブ信号302を出力する。
ら出力されたI/Oアドレス信号501,及びI/Oリ
ードストローブ信号503を入力として、RAM52へ
のリードストローブ信号301,PROM11へのリー
ドストローブ信号302を出力する。
【0031】これらデコーダの出力に応じてデータの書
き込み又は読み出しが行われるPROM11は、一般的
なプログラマブルリードオンリィメモリである。このP
ROM11は、デコーダ21から出力されるライトスト
ローブ信号202,デコーダ31より出力されるリード
ストローブ信号302,及びスイッチ22をして出力さ
れる制御信号204を受けてデータの記録又は記録デー
タの出力を行う。このPROM11は、スイッチ22を
介し電源41から供給される電力404を受けて書き込
み動作を実行するようになっている。本実施例におい
て、PROM11は、未書き込み状態で全てのビットが
1であり、0ビットを書き込んでゆくことによりデータ
の格納を行う形式のものを採用している。
き込み又は読み出しが行われるPROM11は、一般的
なプログラマブルリードオンリィメモリである。このP
ROM11は、デコーダ21から出力されるライトスト
ローブ信号202,デコーダ31より出力されるリード
ストローブ信号302,及びスイッチ22をして出力さ
れる制御信号204を受けてデータの記録又は記録デー
タの出力を行う。このPROM11は、スイッチ22を
介し電源41から供給される電力404を受けて書き込
み動作を実行するようになっている。本実施例におい
て、PROM11は、未書き込み状態で全てのビットが
1であり、0ビットを書き込んでゆくことによりデータ
の格納を行う形式のものを採用している。
【0032】また、PROM11に併設されたRAM5
2は、一般的なランダムアクセスメモリであり、デコー
ダ21から出力されるライストローブ信号201,及び
デコーダ31から出力されるリードスローブ信号301
を受信して動作し、PROM11に退避させるべきデー
タ等を一時保持する。
2は、一般的なランダムアクセスメモリであり、デコー
ダ21から出力されるライストローブ信号201,及び
デコーダ31から出力されるリードスローブ信号301
を受信して動作し、PROM11に退避させるべきデー
タ等を一時保持する。
【0033】PROM11と電源41の間に設けられた
スイッチ22は、デコーダ21から出力される制御信号
203に応じて制御信号204をPROM11に入力す
る。このPROM11に入力される制御信号204は、
当該PROM11の動作モードを書き込みモード又は読
み出しモードに択一的に設定するものである。また、ス
イッチ22は、PROM11に供給する電力404を、
PROM11の動作モードに応じ、電源41から通常に
供給される電力402又は書き込み用に供給される電力
403に択一的に切り替えるようになっている。
スイッチ22は、デコーダ21から出力される制御信号
203に応じて制御信号204をPROM11に入力す
る。このPROM11に入力される制御信号204は、
当該PROM11の動作モードを書き込みモード又は読
み出しモードに択一的に設定するものである。また、ス
イッチ22は、PROM11に供給する電力404を、
PROM11の動作モードに応じ、電源41から通常に
供給される電力402又は書き込み用に供給される電力
403に択一的に切り替えるようになっている。
【0034】このスイッチ22をしてPROM11に電
力を供給する電源41は、外部供給される主電源電力4
01を受け、PROM11の他、データ退避装置の各構
成要素に動作用の電力を供給するものである(結線図示
せず)。また、電源41は、主電源電力401の一部を
充電するバッテリBtを内蔵し、主電源電力が遮断され
た場合には、所定時間に渡りバッテリBtからPROM
11の書き込み動作に必要な電力や他の各装置要素の動
作用電力を提供する機能を備えている。
力を供給する電源41は、外部供給される主電源電力4
01を受け、PROM11の他、データ退避装置の各構
成要素に動作用の電力を供給するものである(結線図示
せず)。また、電源41は、主電源電力401の一部を
充電するバッテリBtを内蔵し、主電源電力が遮断され
た場合には、所定時間に渡りバッテリBtからPROM
11の書き込み動作に必要な電力や他の各装置要素の動
作用電力を提供する機能を備えている。
【0035】本実施例において、PROM11及びRA
M52におけるデータ書き込み処理及びデータ読み出し
処理は、以下のように実行される。
M52におけるデータ書き込み処理及びデータ読み出し
処理は、以下のように実行される。
【0036】プロセッサ51において、PROM11へ
のデータの書き込み命令が実行されると、制御信号線5
00を通じデコーダ21にI/Oアドレス信号501と
I/Oライトストローブ信号502が入力される。この
信号を受信したデコーダ21は、スイッチ22に制御信
号203を入力してPROM11の動作モードを書き込
みモードに設定すると共に、当該PROM11にライト
ストローブ信号202を入力する。これにより、書き込
みアドレスと書き込みデータを指定した書き込み命令が
実行される。書き込み命令の終了後は、スイッチ22に
よりPROM11の書き込みモードが解除されるように
なっている。
のデータの書き込み命令が実行されると、制御信号線5
00を通じデコーダ21にI/Oアドレス信号501と
I/Oライトストローブ信号502が入力される。この
信号を受信したデコーダ21は、スイッチ22に制御信
号203を入力してPROM11の動作モードを書き込
みモードに設定すると共に、当該PROM11にライト
ストローブ信号202を入力する。これにより、書き込
みアドレスと書き込みデータを指定した書き込み命令が
実行される。書き込み命令の終了後は、スイッチ22に
よりPROM11の書き込みモードが解除されるように
なっている。
【0037】一方、プロセッサ51において、PROM
11からのデータの読み出し命令が実行されると、制御
信号線500を通じデコーダ31にI/Oアドレス信号
501とI/Oリードストローブ信号503が入力され
る。この信号を受信したデコーダ31は、PROM11
にリードストローブ信号302を入力する。これによ
り、読み出しアドレスを指定した読み出し命令が実行さ
れる。
11からのデータの読み出し命令が実行されると、制御
信号線500を通じデコーダ31にI/Oアドレス信号
501とI/Oリードストローブ信号503が入力され
る。この信号を受信したデコーダ31は、PROM11
にリードストローブ信号302を入力する。これによ
り、読み出しアドレスを指定した読み出し命令が実行さ
れる。
【0038】また、プロセッサ51において、RAM5
2へのデータの書き込み命令が実行されると、制御信号
線500を通じデコーダ21にI/Oアドレス信号50
1とI/Oライトストローブ信号502が入力される。
この信号を受信したデコーダ21は、RAM52にライ
トストローブ信号201を入力する。これにより、書き
込みアドレスと書き込みデータを指定した書き込み命令
が実行される。
2へのデータの書き込み命令が実行されると、制御信号
線500を通じデコーダ21にI/Oアドレス信号50
1とI/Oライトストローブ信号502が入力される。
この信号を受信したデコーダ21は、RAM52にライ
トストローブ信号201を入力する。これにより、書き
込みアドレスと書き込みデータを指定した書き込み命令
が実行される。
【0039】一方、プロセッサ51において、RAM5
2からのデータの読み出し命令が実行されると、制御信
号線500を通じデコーダ31にI/Oアドレス信号5
01とI/Oリードストローブ信号503が入力され
る。この信号を受信したデコーダ31は、RAM52に
リードストローブ信号301を入力する。これにより、
読み出しアドレスを指定した読み出し命令が実行され
る。
2からのデータの読み出し命令が実行されると、制御信
号線500を通じデコーダ31にI/Oアドレス信号5
01とI/Oリードストローブ信号503が入力され
る。この信号を受信したデコーダ31は、RAM52に
リードストローブ信号301を入力する。これにより、
読み出しアドレスを指定した読み出し命令が実行され
る。
【0040】上記動作によりPROM11には、所定の
退避情報が書き込まれ、また、読み出される。ここで、
退避情報の書き込み及び読み出しは、データ長の固定さ
れた単位データのやり取りにより実行される。この単位
データの形式を図5に示す。
退避情報が書き込まれ、また、読み出される。ここで、
退避情報の書き込み及び読み出しは、データ長の固定さ
れた単位データのやり取りにより実行される。この単位
データの形式を図5に示す。
【0041】単位データ6は、本来の退避情報62と、
この退避情報を所定のアルゴリズムを介して変換したチ
ェックコード63と、単位情報の処理経過を示す処理コ
ード61とを備えている。本実施例において、処理コー
ド61は1バイト,退避情報62はM−2バイト,チェ
ックコード63は1バイトのデータで構成されるように
なっている。
この退避情報を所定のアルゴリズムを介して変換したチ
ェックコード63と、単位情報の処理経過を示す処理コ
ード61とを備えている。本実施例において、処理コー
ド61は1バイト,退避情報62はM−2バイト,チェ
ックコード63は1バイトのデータで構成されるように
なっている。
【0042】処理コード61には、初期コード(FF
h),保持コード(EEh),無効コード(AAh),
完結コード(CCh)及びこれら以外の不良コードがあ
る。初期コード(FFh)は、PROM11の未書き込
み領域を検出するためのコードである(本実施例におい
て、PROM11は未書き込み状態で全てのビットが1
であり、1バイトが示すデータは、全てFFhであ
る)。保持コード(EEh)は、書き込み時の全ての単
位データに与えられるコードである。無効コード(AA
h)は、単位データを読み出した際にデータ誤りが検出
されたことを示すコードである。完結コード(CCh)
は、読み出し済の単位データを示すコードである。
h),保持コード(EEh),無効コード(AAh),
完結コード(CCh)及びこれら以外の不良コードがあ
る。初期コード(FFh)は、PROM11の未書き込
み領域を検出するためのコードである(本実施例におい
て、PROM11は未書き込み状態で全てのビットが1
であり、1バイトが示すデータは、全てFFhであ
る)。保持コード(EEh)は、書き込み時の全ての単
位データに与えられるコードである。無効コード(AA
h)は、単位データを読み出した際にデータ誤りが検出
されたことを示すコードである。完結コード(CCh)
は、読み出し済の単位データを示すコードである。
【0043】単位データ6は、上述した処理コード61
の種類と、退避情報に基づくチェックコードの正否との
関係により、図5のように6種類の態様で示される。即
ち、処理コード61が初期コード(FFh)の場合(こ
の場合、PROM11の該当格納箇所は未書き込みであ
るからチェックコードも当然に初期コードと同様に全ビ
ットが1である)は、未書き込みデータ601を成す。
処理コードが保持コード(EEh)であってチェックコ
ードが不正コード(退避情報と符合しないコード)の場
合は、不良データ602を成す。処理コードが保持コー
ド(EEh)であってチェックコードが正規コード(退
避情報と符合するコード)の場合は、保持データ603
を成す。処理コードが無効コード(AAh)の場合は、
不良処理データ604を成す。処理コードが完結コード
(CCh)であってチェックコードが正規コードの場合
は、処理済みコード605を成す。そして、処理コード
が上記以外の場合は、不良データ606を成す。
の種類と、退避情報に基づくチェックコードの正否との
関係により、図5のように6種類の態様で示される。即
ち、処理コード61が初期コード(FFh)の場合(こ
の場合、PROM11の該当格納箇所は未書き込みであ
るからチェックコードも当然に初期コードと同様に全ビ
ットが1である)は、未書き込みデータ601を成す。
処理コードが保持コード(EEh)であってチェックコ
ードが不正コード(退避情報と符合しないコード)の場
合は、不良データ602を成す。処理コードが保持コー
ド(EEh)であってチェックコードが正規コード(退
避情報と符合するコード)の場合は、保持データ603
を成す。処理コードが無効コード(AAh)の場合は、
不良処理データ604を成す。処理コードが完結コード
(CCh)であってチェックコードが正規コードの場合
は、処理済みコード605を成す。そして、処理コード
が上記以外の場合は、不良データ606を成す。
【0044】このうち、未書き込みデータ601,不良
データ602,不良処理データ604,処理済みデータ
605,不良データ606は、退避情報の読み出し処理
にあたり、もはやPROMから読み出すことを要しない
無効データとして扱われ、保持データ603のみが有用
な退避情報を含む単位データであるとして読み出しの対
象となる。
データ602,不良処理データ604,処理済みデータ
605,不良データ606は、退避情報の読み出し処理
にあたり、もはやPROMから読み出すことを要しない
無効データとして扱われ、保持データ603のみが有用
な退避情報を含む単位データであるとして読み出しの対
象となる。
【0045】ここで、PROM11は、未書き込みの状
態で全ビットが1であり、0ビットを書き込んでゆく点
は既に言及したが、これがため、FFhが書き込まれて
いる領域(即ち、未書き込み領域)にEEhを上書きす
ることはもちろん、EEhが書き込まれている領域にA
Ah又はCChを上書きすることはビットの関係上可能
である。
態で全ビットが1であり、0ビットを書き込んでゆく点
は既に言及したが、これがため、FFhが書き込まれて
いる領域(即ち、未書き込み領域)にEEhを上書きす
ることはもちろん、EEhが書き込まれている領域にA
Ah又はCChを上書きすることはビットの関係上可能
である。
【0046】次に、PROM11への単位データ6の書
き込み形式を図6に基づいて説明する。PROM11に
は、その先頭アドレスに最も近い未書き込み領域から順
に単位データが格納されるように処理を行う。即ち、処
理コード1バイト,退避情報M−2バイト,チェックコ
ード1バイトの順で先頭アドレスから順に書き加えられ
る。
き込み形式を図6に基づいて説明する。PROM11に
は、その先頭アドレスに最も近い未書き込み領域から順
に単位データが格納されるように処理を行う。即ち、処
理コード1バイト,退避情報M−2バイト,チェックコ
ード1バイトの順で先頭アドレスから順に書き加えられ
る。
【0047】次に、RAM52の主要なデータマップを
図7に示す。所定のアドレスaには次回に単位データ6
を書き込むべきPROM上のアドレスが格納されるよう
になっている。また、アドレスb〜b+M−1までのM
バイトには、PROM11に書き込むべき単位データ6
を生成し一時的に保持するための領域が確保されてい
る。
図7に示す。所定のアドレスaには次回に単位データ6
を書き込むべきPROM上のアドレスが格納されるよう
になっている。また、アドレスb〜b+M−1までのM
バイトには、PROM11に書き込むべき単位データ6
を生成し一時的に保持するための領域が確保されてい
る。
【0048】次に、上記実施例の全体動作を図8乃至図
10に基づいて説明する。図8乃至図10に示すフロー
チャートは、実施形態の説明として上述した図3のフロ
ーチャートの要部を更に具体的に示すものであるから、
以下の説明においても適宜図3を参照することとする。
10に基づいて説明する。図8乃至図10に示すフロー
チャートは、実施形態の説明として上述した図3のフロ
ーチャートの要部を更に具体的に示すものであるから、
以下の説明においても適宜図3を参照することとする。
【0049】〔主装置を起動した際に実行される処理〕
【0050】以下、主として図8に基づいて説明を加え
る。
る。
【0051】主装置が稼働状態に設定されると、本実施
例によるデータ退避読み出し装置も稼働状態に設定され
る。稼働状態に設定されたプロセッサ51は、読み出す
べき単位データの先頭アドレスを格納するレジスタ(ト
ップアドレスレジスタ)と、当該単位データの先頭アド
レスからのバイト数を格納するレジスタ(ポジションレ
ジスタ)と、当該単位データのチェックコードを格納す
るレジスタ(チェックコードレジスタ)とをそれぞれ確
保し、PROM11に格納された単位データの検証及び
読み出しを実行する。
例によるデータ退避読み出し装置も稼働状態に設定され
る。稼働状態に設定されたプロセッサ51は、読み出す
べき単位データの先頭アドレスを格納するレジスタ(ト
ップアドレスレジスタ)と、当該単位データの先頭アド
レスからのバイト数を格納するレジスタ(ポジションレ
ジスタ)と、当該単位データのチェックコードを格納す
るレジスタ(チェックコードレジスタ)とをそれぞれ確
保し、PROM11に格納された単位データの検証及び
読み出しを実行する。
【0052】まず、プロセッサ51は、トップアドレス
レジスタ及びポジションレジスタにそれぞれ0を設定し
(ステップS31)、PROM11の先頭アドレスから
Mバイトに渡り格納されている単位データ6の初めの1
バイト(即ち、処理コード)を指定する(ステップS3
1)。
レジスタ及びポジションレジスタにそれぞれ0を設定し
(ステップS31)、PROM11の先頭アドレスから
Mバイトに渡り格納されている単位データ6の初めの1
バイト(即ち、処理コード)を指定する(ステップS3
1)。
【0053】続いて、プロセッサ51は、現に設定され
ているトップアドレスレジスタの値をRAM52のアド
レスaに格納した後(ステップS32)、トップアドレ
スレジスタの値とポジションレジスタの値を加えたアド
レスから1バイトのデータを読み出す(ステップS3
3)。トップアドレス0,ポジション0の場合に読み出
されるデータは、PROM11の先頭アドレスからMバ
イトに渡り記録されている単位データの処理コードであ
る。
ているトップアドレスレジスタの値をRAM52のアド
レスaに格納した後(ステップS32)、トップアドレ
スレジスタの値とポジションレジスタの値を加えたアド
レスから1バイトのデータを読み出す(ステップS3
3)。トップアドレス0,ポジション0の場合に読み出
されるデータは、PROM11の先頭アドレスからMバ
イトに渡り記録されている単位データの処理コードであ
る。
【0054】処理コードを読み出したプロセッサ51
は、当該処理コードが保持コード(EEh)か否かを判
断し(ステップS34)、保持コード(EEh)でなけ
れば初期コードか否かを判断する(ステップS35)。
この結果、初期コード(FFh)でもない場合は、トッ
プアドレスレジスタの値にMを加え(ステップS4
7)、次の単位データ6の先頭アドレスを設定する(ス
テップS47)。そして、上述したステップS32から
の処理を繰り返す。即ち、無効データに対しては何等処
理を行わずに、次の単位データの処理に移る。
は、当該処理コードが保持コード(EEh)か否かを判
断し(ステップS34)、保持コード(EEh)でなけ
れば初期コードか否かを判断する(ステップS35)。
この結果、初期コード(FFh)でもない場合は、トッ
プアドレスレジスタの値にMを加え(ステップS4
7)、次の単位データ6の先頭アドレスを設定する(ス
テップS47)。そして、上述したステップS32から
の処理を繰り返す。即ち、無効データに対しては何等処
理を行わずに、次の単位データの処理に移る。
【0055】一方、ステップS34の判断において、読
み出した処理コードが保持コード(EEh)であった場
合は、チェックコードレジスタを初期化すると共に(ス
テップS36)、ポジションレジスタの値を1増加させ
(ステップS37)、トップアドレスレジスタの値とポ
ジションレジスタの値とを加えたPROM11のアドレ
スから1バイトのデータを読み出す(ステップS3
8)。
み出した処理コードが保持コード(EEh)であった場
合は、チェックコードレジスタを初期化すると共に(ス
テップS36)、ポジションレジスタの値を1増加させ
(ステップS37)、トップアドレスレジスタの値とポ
ジションレジスタの値とを加えたPROM11のアドレ
スから1バイトのデータを読み出す(ステップS3
8)。
【0056】そして、ポジションレジスタの値がM−1
か否かを判断することにより、今読み出したデータがチ
ェックコードか否かを判断する(ステップS39)。こ
の結果、チェックコード63でなければ、チェックコー
ドレジスタの値と読み出したデータ値とを一定のチェッ
クコード算出アルゴリズムに通し、新規チェックコード
を算出した後、チェックコードレジスタに格納する(ス
テップS40)。以降、ステップS37からの処理を繰
り返す。ここで、PROM11に格納された単位データ
は、その退避時に上述と同一のアルゴリズムに基づいて
生成されたチェックコード63を伴っている。よって、
単位データが正しく格納され、かつ、正しく読み出され
る場合には、ステップS39でチェックコードを読み出
したことを確認した時点で、チェックコードレジスタに
格納されている値と読み出したチェックコードとが一致
するようになっている。
か否かを判断することにより、今読み出したデータがチ
ェックコードか否かを判断する(ステップS39)。こ
の結果、チェックコード63でなければ、チェックコー
ドレジスタの値と読み出したデータ値とを一定のチェッ
クコード算出アルゴリズムに通し、新規チェックコード
を算出した後、チェックコードレジスタに格納する(ス
テップS40)。以降、ステップS37からの処理を繰
り返す。ここで、PROM11に格納された単位データ
は、その退避時に上述と同一のアルゴリズムに基づいて
生成されたチェックコード63を伴っている。よって、
単位データが正しく格納され、かつ、正しく読み出され
る場合には、ステップS39でチェックコードを読み出
したことを確認した時点で、チェックコードレジスタに
格納されている値と読み出したチェックコードとが一致
するようになっている。
【0057】ステップS39において、チェックコード
の読み出しが確認されると、プロセッサ51は、スイッ
チ22を通じPROM11を書き込みモードに設定した
後(ステップS41)、読み出したチェックコードがチ
ェックコードレジスタに格納されている値と等しいか否
かを判断する(ステップS42,S43)。比較結果が
一致すれば当該単位データを有効データとして退避情報
62の内容に応じた処理を実行する(ステップS7、図
3のステップS7に対応)。そして、当該単位データの
処理コード(保持コードEEh)が記録されているアド
レスに完結コードCChを上書きする(ステップS4
4)。これにより、当該データは次回の読み出し時から
は無効データとして扱われ、今回のように装置の起動時
に読み出されることがなくなる(ステップS34)。
の読み出しが確認されると、プロセッサ51は、スイッ
チ22を通じPROM11を書き込みモードに設定した
後(ステップS41)、読み出したチェックコードがチ
ェックコードレジスタに格納されている値と等しいか否
かを判断する(ステップS42,S43)。比較結果が
一致すれば当該単位データを有効データとして退避情報
62の内容に応じた処理を実行する(ステップS7、図
3のステップS7に対応)。そして、当該単位データの
処理コード(保持コードEEh)が記録されているアド
レスに完結コードCChを上書きする(ステップS4
4)。これにより、当該データは次回の読み出し時から
は無効データとして扱われ、今回のように装置の起動時
に読み出されることがなくなる(ステップS34)。
【0058】一方、ステップS34の判断において、チ
ェックコードが正しくなかった場合は、当該単位データ
の処理コード(保持コードEEh)が記録されているア
ドレスに無効コードAAhが上書きされる(ステップS
45)。これによっても、当該単位データは、次回の読
み出し時から無効データとして扱われ、装置の起動時に
読み出されることがなくなる(ステップS34)。
ェックコードが正しくなかった場合は、当該単位データ
の処理コード(保持コードEEh)が記録されているア
ドレスに無効コードAAhが上書きされる(ステップS
45)。これによっても、当該単位データは、次回の読
み出し時から無効データとして扱われ、装置の起動時に
読み出されることがなくなる(ステップS34)。
【0059】このように、ステップS44,45の処理
により、次回の電源投入時には、データの内容チェック
処理(ステップS36〜)が省略され、電源投入時の処
理時間の短縮を図っている。
により、次回の電源投入時には、データの内容チェック
処理(ステップS36〜)が省略され、電源投入時の処
理時間の短縮を図っている。
【0060】処理コードの書替が完了すると、プロセッ
サ51は、PROM11の書き込みモードを解除する
(ステップS46)。その後、トップアドレスレジスタ
の値にMを加えると共に、ポジションレジスタの値を初
期化して、次の単位データの1バイト目を指定し、上記
ステップS32からの処理を繰り返す。
サ51は、PROM11の書き込みモードを解除する
(ステップS46)。その後、トップアドレスレジスタ
の値にMを加えると共に、ポジションレジスタの値を初
期化して、次の単位データの1バイト目を指定し、上記
ステップS32からの処理を繰り返す。
【0061】また、上述したステップS35において、
読みだした処理コードが初期コードであった場合には、
書き込まれていた単位データを一通り検査して読みだし
アドレスが未書き込み領域に達したことになるので、当
該トップアドレスレジスタの値を保持したまま、主装置
により実行される処理に移行する(図3のステップS1
0)。
読みだした処理コードが初期コードであった場合には、
書き込まれていた単位データを一通り検査して読みだし
アドレスが未書き込み領域に達したことになるので、当
該トップアドレスレジスタの値を保持したまま、主装置
により実行される処理に移行する(図3のステップS1
0)。
【0062】〔主装置の処理中における単位データの生
成処理〕
成処理〕
【0063】以下、主に図9に基づいて説明を加える。
【0064】主装置による所定の処理が開始されると共
に、プロセッサ51は、RAM52上のアドレスb〜b
+M−1に単位データの格納領域を確保する。また、R
AM52上のアドレスを指定するRAMアドレスレジス
タと、上述のチェックコードレジスタを確保する。
に、プロセッサ51は、RAM52上のアドレスb〜b
+M−1に単位データの格納領域を確保する。また、R
AM52上のアドレスを指定するRAMアドレスレジス
タと、上述のチェックコードレジスタを確保する。
【0065】主装置の処理により生じた種々のデータ
は、退避の必要なデータか否かが逐次判断され(ステッ
プS12、図3のステップS12に対応)、必要と判断
された場合に、プロセッサ51による以下の処理が実行
される。
は、退避の必要なデータか否かが逐次判断され(ステッ
プS12、図3のステップS12に対応)、必要と判断
された場合に、プロセッサ51による以下の処理が実行
される。
【0066】まず、プロセッサ51は、チェックコード
レジスタを初期化した後(ステップS51)、RAMア
ドレスレジスタをb+1に設定する(ステップS5
2)。これにより、RAM52上の退避情報格納領域
(b+1〜b+M−2)の1バイト目が指定される。
レジスタを初期化した後(ステップS51)、RAMア
ドレスレジスタをb+1に設定する(ステップS5
2)。これにより、RAM52上の退避情報格納領域
(b+1〜b+M−2)の1バイト目が指定される。
【0067】そして、プロセッサ51は、1バイト目の
退避情報を生成し(ステップS53)、RAMアドレス
レジスタで指定されているRAM52上のアドレスに書
き込む。このとき、チェックコードレジスタの値と今R
AM52に書き込んだデータの値とを上述したチェック
コード算出用のアルゴリズムに通し、所定のチェックコ
ードを生成する(ステップS55)。生成したチェック
コードは、チェックコードレジスタに逐次更新する。
退避情報を生成し(ステップS53)、RAMアドレス
レジスタで指定されているRAM52上のアドレスに書
き込む。このとき、チェックコードレジスタの値と今R
AM52に書き込んだデータの値とを上述したチェック
コード算出用のアルゴリズムに通し、所定のチェックコ
ードを生成する(ステップS55)。生成したチェック
コードは、チェックコードレジスタに逐次更新する。
【0068】続いて、プロセッサ51は、RAMアドレ
スレジスタの値を+1増加させ(ステップS56)、M
−2バイト分の退避情報がRAM52上に格納されるま
で、ステップS53からの処理を繰り返す(ステップS
57)。
スレジスタの値を+1増加させ(ステップS56)、M
−2バイト分の退避情報がRAM52上に格納されるま
で、ステップS53からの処理を繰り返す(ステップS
57)。
【0069】所定の退避情報をRAM52上に格納し終
えると、この時点でチェックコードレジスタに格納され
ている値を現に設定されているRAMアドレス、即ち、
b+M−1バイト目に格納し(ステップS58)、ま
た、処理コードとして保持コードEEhをアドレスbに
格納する(ステップS59)。これにより、RAM52
上に単位データが生成される。
えると、この時点でチェックコードレジスタに格納され
ている値を現に設定されているRAMアドレス、即ち、
b+M−1バイト目に格納し(ステップS58)、ま
た、処理コードとして保持コードEEhをアドレスbに
格納する(ステップS59)。これにより、RAM52
上に単位データが生成される。
【0070】そして、プロセッサ51は、主装置の処理
が実行され終了されるのを待つ(ステップS14,S1
5,S17、図3に対応)。ステップS15において主
装置の処理が終了した場合は、先ほどRAM52上に生
成した単位データの処理コード部分に完結コードCCh
を更新し(ステップS61,62)、主装置の処理(図
3のステップS10)に応じてステップS12からの処
理を繰り返し実行する。
が実行され終了されるのを待つ(ステップS14,S1
5,S17、図3に対応)。ステップS15において主
装置の処理が終了した場合は、先ほどRAM52上に生
成した単位データの処理コード部分に完結コードCCh
を更新し(ステップS61,62)、主装置の処理(図
3のステップS10)に応じてステップS12からの処
理を繰り返し実行する。
【0071】また、上述したステップS12の判断にお
いて、情報の退避が不要と判断された場合は、そのまま
主装置の処理が継続される(図3のステップS10)。
いて、情報の退避が不要と判断された場合は、そのまま
主装置の処理が継続される(図3のステップS10)。
【0072】一方、ステップS17において主装置の処
理中に装置の主電源が遮断されると、電源41に主電源
電圧が供給されなくなり、電源41の出力がバッテリB
tによる電力出力に切り替えられ、図10に示す電源遮
断時のデータ退避処理が実行される。
理中に装置の主電源が遮断されると、電源41に主電源
電圧が供給されなくなり、電源41の出力がバッテリB
tによる電力出力に切り替えられ、図10に示す電源遮
断時のデータ退避処理が実行される。
【0073】〔電源遮断時のデータ退避処理〕
【0074】以下、主に図10に基づいて説明を加え
る。
る。
【0075】装置の主電源が遮断されると、プロセッサ
51は、単位データを書き込み又は読み出すべきPRO
M11の領域の先頭アドレスを設定するトップアドレス
レジスタと、単位データの先頭からのバイト数を指定す
るポジションレジスタと、当該単位データのチェックコ
ードを格納するチェックコードレジスタと、RAM52
上に生成されている単位データを読み出すべきアドレス
を指定するRAMアドレスレジスタとを確保する。
51は、単位データを書き込み又は読み出すべきPRO
M11の領域の先頭アドレスを設定するトップアドレス
レジスタと、単位データの先頭からのバイト数を指定す
るポジションレジスタと、当該単位データのチェックコ
ードを格納するチェックコードレジスタと、RAM52
上に生成されている単位データを読み出すべきアドレス
を指定するRAMアドレスレジスタとを確保する。
【0076】まず、プロセッサ51は、RAMアドレス
レジスタの値をbに設定し、アドレスbに格納されてい
るデータ、即ち、処理コードを読み出す(ステップS7
1)。そして、読みだした処理コードが保持コード(E
Eh)であるか否かを判断し(ステップS72)、保持
コード(EEh)でない場合は、退避処理を実行せず
に、電源41の電力出力が停止するまでそのまま待機す
る(ステップS20)。
レジスタの値をbに設定し、アドレスbに格納されてい
るデータ、即ち、処理コードを読み出す(ステップS7
1)。そして、読みだした処理コードが保持コード(E
Eh)であるか否かを判断し(ステップS72)、保持
コード(EEh)でない場合は、退避処理を実行せず
に、電源41の電力出力が停止するまでそのまま待機す
る(ステップS20)。
【0077】一方、ステップS72において、読みだし
た処理コードが保持データであった場合は、以下のデー
タ退避処理を実行する。
た処理コードが保持データであった場合は、以下のデー
タ退避処理を実行する。
【0078】データ退避処理が開始されると、プロセッ
サ51は、RAM52のアドレスaから次に単位データ
を書き込むべきPROM上のアドレスを取得し、その値
をトップアドレスレジスタにセットする。これにより、
単位データを書き込むべきPROM11の先頭アドレス
が設定される(ステップS73)。続いて、プロセッサ
51は、RAMアドレスレジスタにbをセットすると共
に、ポジションレジスタを0にセットし、単位データの
読み出しを始めるRAM52上のアドレスを設定する
(ステップS74)。
サ51は、RAM52のアドレスaから次に単位データ
を書き込むべきPROM上のアドレスを取得し、その値
をトップアドレスレジスタにセットする。これにより、
単位データを書き込むべきPROM11の先頭アドレス
が設定される(ステップS73)。続いて、プロセッサ
51は、RAMアドレスレジスタにbをセットすると共
に、ポジションレジスタを0にセットし、単位データの
読み出しを始めるRAM52上のアドレスを設定する
(ステップS74)。
【0079】そして、プロセッサ51は、PROM11
を書き込みモードに切り替え(ステップS75)、RA
Mアドレスレジスタの値とポジションレジスタの値とを
加えたアドレスに格納されているRAM52上のデータ
を読み出し、当該データをトップアドレスレジスタの値
とポジションレジスタの値とを加えたPROM11上の
アドレスに書き込む。これにより、RAM52上の単位
データがPROM11上の未書き込み領域に1バイトコ
ピーされる(ステップS76)。
を書き込みモードに切り替え(ステップS75)、RA
Mアドレスレジスタの値とポジションレジスタの値とを
加えたアドレスに格納されているRAM52上のデータ
を読み出し、当該データをトップアドレスレジスタの値
とポジションレジスタの値とを加えたPROM11上の
アドレスに書き込む。これにより、RAM52上の単位
データがPROM11上の未書き込み領域に1バイトコ
ピーされる(ステップS76)。
【0080】続いて、プロセッサ51は、ポジションレ
ジスタの値がM−1に達したか否かを判断し、いまだ達
していなければ、ポジションレジスタの値を+1増加さ
せ、ステップS76からの処理を繰り返し実行する。こ
れにより、RAM52上の単位データがPROM11の
未書き込み領域に徐々にコピーされてゆく。
ジスタの値がM−1に達したか否かを判断し、いまだ達
していなければ、ポジションレジスタの値を+1増加さ
せ、ステップS76からの処理を繰り返し実行する。こ
れにより、RAM52上の単位データがPROM11の
未書き込み領域に徐々にコピーされてゆく。
【0081】そして、ポジションレジスタがM−1に達
し、Mバイトの単位データを全てコピーし終えると(ス
テップS77)、プロセッサ51は、PROM11の書
き込みモードを解除し、元の動作モードに復帰させる
(ステップS79)。
し、Mバイトの単位データを全てコピーし終えると(ス
テップS77)、プロセッサ51は、PROM11の書
き込みモードを解除し、元の動作モードに復帰させる
(ステップS79)。
【0082】続いて、プロセッサ51は、以下の手順
で、今書き込んだ単位データの検証処理を実行する。
で、今書き込んだ単位データの検証処理を実行する。
【0083】プロセッサ51は、ポジションレジスタの
値を0に戻した後、トップアドレスレジスタの値を加
え、今PROM11に書き込んだばかりの単位データ6
の先頭アドレスを指定し(ステップS80)、PROM
11からデータを読み出す(ステップS81)。
値を0に戻した後、トップアドレスレジスタの値を加
え、今PROM11に書き込んだばかりの単位データ6
の先頭アドレスを指定し(ステップS80)、PROM
11からデータを読み出す(ステップS81)。
【0084】そして、読み出したデータが保持コード
(EEh)になっているか検証し(ステップS82)、
保持コード(EEh)であれば、続けて格納されている
退避情報の正否を検証する。この退避情報の検証処理
は、上述した図8のステップS36〜S43とほぼ同様
に実行されれば良いが(ステップS83)、ステップS
43の処理は省略するものとする。そして、チェックコ
ードの検証処理で得られたチェックコードの正否を判断
し(ステップS84)、正規コードであれば、PROM
11上に保持データ603が確実に記録されているか
ら、そのまま電源41の電力が停止するまで待機する
(ステップS20)。
(EEh)になっているか検証し(ステップS82)、
保持コード(EEh)であれば、続けて格納されている
退避情報の正否を検証する。この退避情報の検証処理
は、上述した図8のステップS36〜S43とほぼ同様
に実行されれば良いが(ステップS83)、ステップS
43の処理は省略するものとする。そして、チェックコ
ードの検証処理で得られたチェックコードの正否を判断
し(ステップS84)、正規コードであれば、PROM
11上に保持データ603が確実に記録されているか
ら、そのまま電源41の電力が停止するまで待機する
(ステップS20)。
【0085】一方、ステップS84の判断において退避
情報から導かれたチェックコードが正規コードでない場
合、及び、ステップS82の処理において、読みだした
処理コードが保持コードでなかった場合は、無効なデー
タが検出されたことになるので、PROMのトップアド
レスレジスタの値にMを加え、次の単位データを書き込
むべき未書き込み領域にPROM11の先頭アドレスを
設定する(ステップS85)。そして、RAM52上の
単位データを再度PROM11にコピーするため、上述
したステップS74からの処理を繰り返し実行する。こ
の再コピーの処理は、PROM11のビット不良を回避
する措置であるから、現実には何度も繰り返されること
はない。
情報から導かれたチェックコードが正規コードでない場
合、及び、ステップS82の処理において、読みだした
処理コードが保持コードでなかった場合は、無効なデー
タが検出されたことになるので、PROMのトップアド
レスレジスタの値にMを加え、次の単位データを書き込
むべき未書き込み領域にPROM11の先頭アドレスを
設定する(ステップS85)。そして、RAM52上の
単位データを再度PROM11にコピーするため、上述
したステップS74からの処理を繰り返し実行する。こ
の再コピーの処理は、PROM11のビット不良を回避
する措置であるから、現実には何度も繰り返されること
はない。
【0086】このように、本実施形態によれば、単位デ
ータを、PROMに既に退避されている単位データの格
納領域と重ならない格納領域に退避させるように単位デ
ータの退避先アドレスを設定するので、データ退避用の
不揮発性メモリとして安価なPROMを採用することが
でき、装置のコスト低減を図ることができる。また、従
来例のようにデータ退避時に不揮発性メモリの内容を消
去する処理を必要としないので、データ退避処理を速や
かに終了することができ、補助電源の小規模化による更
なるコスト低減を図ることができる。また、PROMに
は退避されたデータの履歴がそのまま残されるので、こ
れらのデータに基づいた装置の異常診断も可能となる。
ータを、PROMに既に退避されている単位データの格
納領域と重ならない格納領域に退避させるように単位デ
ータの退避先アドレスを設定するので、データ退避用の
不揮発性メモリとして安価なPROMを採用することが
でき、装置のコスト低減を図ることができる。また、従
来例のようにデータ退避時に不揮発性メモリの内容を消
去する処理を必要としないので、データ退避処理を速や
かに終了することができ、補助電源の小規模化による更
なるコスト低減を図ることができる。また、PROMに
は退避されたデータの履歴がそのまま残されるので、こ
れらのデータに基づいた装置の異常診断も可能となる。
【0087】また、退避先のアドレスは、単位データを
PROMの先頭アドレスに最も近い格納領域に退避させ
るように設定するので、単位データをPROMの先頭ア
ドレスから詰めて格納することで無駄なく活用すること
ができ、PROMの記憶容量を有効に活用することがで
きる。
PROMの先頭アドレスに最も近い格納領域に退避させ
るように設定するので、単位データをPROMの先頭ア
ドレスから詰めて格納することで無駄なく活用すること
ができ、PROMの記憶容量を有効に活用することがで
きる。
【0088】更に、PROMに退避されたデータを読み
出すと共に当該データに完結コードを付加し、この完結
コードが付加されたデータは読み出さないこととしたの
で、以前に退避されたデータがそのまま残されていて
も、起動時に必要な単位データだけを迅速に読み出すこ
とができ、退避データの読みだし処理にかかる時間が長
時間になることを防止することができる。
出すと共に当該データに完結コードを付加し、この完結
コードが付加されたデータは読み出さないこととしたの
で、以前に退避されたデータがそのまま残されていて
も、起動時に必要な単位データだけを迅速に読み出すこ
とができ、退避データの読みだし処理にかかる時間が長
時間になることを防止することができる。
【0089】これに加え、データをPROMに退避させ
た後、当該データを電源遮断前に読み出して該データの
正否を確認し、データ誤りがある場合には格納領域をず
らしてRAMに存するデータをPROMに再退避させる
ようにしたので、信頼性の高いデータ退避処理を実現す
ることができる。
た後、当該データを電源遮断前に読み出して該データの
正否を確認し、データ誤りがある場合には格納領域をず
らしてRAMに存するデータをPROMに再退避させる
ようにしたので、信頼性の高いデータ退避処理を実現す
ることができる。
【0090】また、データ誤りのあるデータに無効を示
すコードを付加し、この無効を示すコードが付加された
データは読み出さないこととしたので、退避データの読
みだし処理にかかる時間をより短縮することができる。
すコードを付加し、この無効を示すコードが付加された
データは読み出さないこととしたので、退避データの読
みだし処理にかかる時間をより短縮することができる。
【0091】
【発明の効果】本発明は、以上のように構成され機能す
るので、これによると、定常動作においてデータの退避
が必要か否かを判断し、退避が必要なデータを予め揮発
性メモリに保持しておき、電源遮断時には、揮発性メモ
リのデータを、不揮発性メモリに既に退避されているデ
ータの格納領域と重ならない格納領域に退避させるよう
に単位データの退避先アドレスを設定するので、電源遮
断時には、最小限の情報を書き込む処理のみを行えば良
く、不揮発性メモリ中のデータの消去が必要な従来例に
比べ、大幅な退避処理の時間短縮を実現することがで
き、また、この間の電力を供給する補助電源の規模も縮
小することができる。更に、退避情報を検索し単位デー
タの有効性を識別して処理するので、以前の情報が残さ
れていても差し支えなく、データ消去が行えないPRO
Mを不揮発性メモリとして使用できるようになる。すな
わち、データ退避用の不揮発性メモリとして安価なPR
OMを採用することができ、装置のコスト低減を図るこ
とができる。また、従来例のようにデータ退避時に不揮
発性メモリの内容を消去する処理を必要としないので、
データ退避処理を速やかに終了することができ、補助電
源の小規模化による更なるコスト低減を図ることができ
る。また、不揮発性メモリには退避されたデータの履歴
がそのまま残されるので、これらのデータに基づいた装
置の異常診断も可能となる。
るので、これによると、定常動作においてデータの退避
が必要か否かを判断し、退避が必要なデータを予め揮発
性メモリに保持しておき、電源遮断時には、揮発性メモ
リのデータを、不揮発性メモリに既に退避されているデ
ータの格納領域と重ならない格納領域に退避させるよう
に単位データの退避先アドレスを設定するので、電源遮
断時には、最小限の情報を書き込む処理のみを行えば良
く、不揮発性メモリ中のデータの消去が必要な従来例に
比べ、大幅な退避処理の時間短縮を実現することがで
き、また、この間の電力を供給する補助電源の規模も縮
小することができる。更に、退避情報を検索し単位デー
タの有効性を識別して処理するので、以前の情報が残さ
れていても差し支えなく、データ消去が行えないPRO
Mを不揮発性メモリとして使用できるようになる。すな
わち、データ退避用の不揮発性メモリとして安価なPR
OMを採用することができ、装置のコスト低減を図るこ
とができる。また、従来例のようにデータ退避時に不揮
発性メモリの内容を消去する処理を必要としないので、
データ退避処理を速やかに終了することができ、補助電
源の小規模化による更なるコスト低減を図ることができ
る。また、不揮発性メモリには退避されたデータの履歴
がそのまま残されるので、これらのデータに基づいた装
置の異常診断も可能となる。
【0092】請求項2記載の発明では、退避先のアドレ
スは、データを不揮発性メモリの先頭アドレスに最も近
い格納領域に退避させるように設定するので、データを
不揮発性メモリの先頭アドレスから詰めて格納すること
で、無駄なく活用することができ、不揮発性メモリの記
憶容量を有効に活用することができる。
スは、データを不揮発性メモリの先頭アドレスに最も近
い格納領域に退避させるように設定するので、データを
不揮発性メモリの先頭アドレスから詰めて格納すること
で、無駄なく活用することができ、不揮発性メモリの記
憶容量を有効に活用することができる。
【0093】請求項3記載の発明では、不揮発性メモリ
に退避されたデータを読み出すと共に当該データに無効
を示すコードを付加し、この無効を示すコードが付加さ
れたデータは読み出さないこととしたので、以前に退避
されたデータがそのまま残されていても、起動時に必要
なデータだけを迅速に読み出すことができ、退避データ
の読みだし処理にかかる時間が長時間になることを防止
することができる。
に退避されたデータを読み出すと共に当該データに無効
を示すコードを付加し、この無効を示すコードが付加さ
れたデータは読み出さないこととしたので、以前に退避
されたデータがそのまま残されていても、起動時に必要
なデータだけを迅速に読み出すことができ、退避データ
の読みだし処理にかかる時間が長時間になることを防止
することができる。
【0094】請求項4記載の発明では、データを不揮発
性メモリに退避させた後、当該データを電源切断前に読
み出して該データの正否を確認し、データ誤りがある場
合には格納領域をずらして揮発性メモリに存するデータ
を不揮発性メモリに再退避させるようにしたので、信頼
性の高いデータ退避処理を実現することができる。
性メモリに退避させた後、当該データを電源切断前に読
み出して該データの正否を確認し、データ誤りがある場
合には格納領域をずらして揮発性メモリに存するデータ
を不揮発性メモリに再退避させるようにしたので、信頼
性の高いデータ退避処理を実現することができる。
【0095】請求項5記載の発明では、データ誤りのあ
るデータに無効を示すコードを付加し、この無効を示す
コードが付加されたデータは読み出さないこととしたの
で、退避データの読みだし処理にかかる時間をより短縮
することができる、という従来にない優れたデータ退避
読み出し方法を提供することができる。
るデータに無効を示すコードを付加し、この無効を示す
コードが付加されたデータは読み出さないこととしたの
で、退避データの読みだし処理にかかる時間をより短縮
することができる、という従来にない優れたデータ退避
読み出し方法を提供することができる。
【図1】本発明の一実施形態を示すブロック図である。
【図2】単位データの構成を示す構成図である。
【図3】図1に示す実施形態の全体動作を説明するフロ
ーチャートである。
ーチャートである。
【図4】本発明の一実施例を示すブロック図である。
【図5】単位データの構成と種類を示す説明図である。
【図6】PROMへの単位データの格納形式を示す説明
図である。
図である。
【図7】RAMへの主要データの格納形式を示す説明図
である。
である。
【図8】図4に示す実施例の起動時の処理を示すフロー
チャートである。
チャートである。
【図9】図4に示す実施例の単位データ生成処理を示す
フローチャートである。
フローチャートである。
【図10】図4に示す実施例の単位データ退避処理を示
すフローチャートである。
すフローチャートである。
1 不揮発性メモリ
2 書き込み手段
3 読み出し手段
4 補助電源
5 制御手段
6 単位データ
11 PROM
21、31 デコーダ
22 スイッチ
41 電源
51 プロセッサ
52 RAM
61 処理コード
62 退避情報
63 チェックコード
─────────────────────────────────────────────────────
フロントページの続き
(58)調査した分野(Int.Cl.7,DB名)
G06F 12/16
Claims (2)
- 【請求項1】 定常動作においてデータの退避が必要か
否かを判断し、退避が必要なデータを予め揮発性メモリ
に保持しておき、装置の電源遮断前に前記揮発性メモリ
上に存するデータを不揮発性メモリに一時退避させ、前
記装置の再起動時に前記不揮発性メモリから前記データ
を再び読み出して使用するためのデータ退避読み出し方
法であって、前記電源遮断前に 前記データを、前記不揮発メモリに既
に退避されているデータの格納領域と重ならない格納領
域に退避させるように前記データの退避先アドレスを設
定し、前記電源遮断前に 前記データを不揮発性メモリに退避さ
せた後、当該データを前記電源遮断前に読み出して該デ
ータの正否を確認し、データ誤りがある場合には前記揮
発性メモリに存するデータを前記不揮発性メモリに再退
避させ、前記再起動時に前記データ誤りのあるデータに無効を示
すコードを付加し前記不揮発性メモリに書込み、この無
効を示すコードが付加され前記不揮発性メモリに書込ま
れたデータは読み出さず、 前記再起動時に前記不揮発性メモリに退避されたデータ
を読み出すと共に当該データに完結を示すコードを付加
し前記不揮発性メモリに書込み、この完結を示すコード
が付加され前記不揮発性メモリに書込まれたデータは読
み出さない ことを特徴としたデータ退避読み出し方法。 - 【請求項2】 前記退避先アドレスは、前記データを前
記不揮発性メモリの先頭アドレスに最も近い格納領域に
退避させるように設定することを特徴とした請求項1記
載のデータ退避読み出し方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10926396A JP3425838B2 (ja) | 1996-04-30 | 1996-04-30 | データ退避読み出し方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10926396A JP3425838B2 (ja) | 1996-04-30 | 1996-04-30 | データ退避読み出し方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09297715A JPH09297715A (ja) | 1997-11-18 |
JP3425838B2 true JP3425838B2 (ja) | 2003-07-14 |
Family
ID=14505746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10926396A Expired - Fee Related JP3425838B2 (ja) | 1996-04-30 | 1996-04-30 | データ退避読み出し方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3425838B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2010307632B2 (en) | 2009-10-15 | 2013-12-05 | L E Tech Co., Ltd. | Microcomputer and operation method thereof |
US20130055017A1 (en) * | 2010-03-30 | 2013-02-28 | L E Tech Co., Ltd. | Device and method for restoring information in a main storage unit |
CN113478494B (zh) * | 2021-09-07 | 2021-11-30 | 成都博恩思医学机器人有限公司 | 机器人及其信号处理方法、信号处理***和信号处理装置 |
-
1996
- 1996-04-30 JP JP10926396A patent/JP3425838B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09297715A (ja) | 1997-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7558904B2 (en) | Controller, data memory system, data rewriting method, and computer program product | |
JP4129381B2 (ja) | 不揮発性半導体記憶装置 | |
JP2002351685A (ja) | 不揮発性メモリのデータ更新方法及び制御装置 | |
KR920022093A (ko) | 복구가능한 베이식 펌웨어를 가진 컴퓨터시스템 동작방법 | |
JPH06195258A (ja) | 半導体記憶装置 | |
JP4146006B2 (ja) | フラッシュメモリを有する電子機器 | |
JP3875139B2 (ja) | 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム | |
JP3830867B2 (ja) | シングルチップマイクロコンピュータおよびそのブート領域切り替え方法 | |
JP3425838B2 (ja) | データ退避読み出し方法 | |
JP2005222202A (ja) | 不揮発性記憶装置のデータ保護方法 | |
JPH07248978A (ja) | 不揮発性メモリ | |
JP2001117766A (ja) | マスクromのパッチ機能を備えた情報処理装置 | |
US20050068842A1 (en) | Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory | |
JPH11353064A (ja) | 携帯情報端末装置 | |
JP2000010872A (ja) | フラッシュメモリを混載するマイクロコンピュータおよびそのデバッグ方法 | |
JP3166659B2 (ja) | 記憶装置 | |
JPH07287603A (ja) | エンジン制御装置 | |
JP3281858B2 (ja) | マイクロコンピュータの評価装置 | |
JP2003242046A (ja) | 情報処理装置、情報処理装置の動作方法及びプログラム | |
JP2023020590A (ja) | 情報処理装置、及び監視方法 | |
JPH11328039A (ja) | メモリ制御装置およびメモリ制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JPH0895869A (ja) | メモリ制御装置 | |
JPH05134928A (ja) | メモリ装置 | |
JP3133710B2 (ja) | マイクロコンピュータの評価装置 | |
JP2001195260A (ja) | ブートプログラム書き換えシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000509 |
|
LAPS | Cancellation because of no payment of annual fees |