JP4235047B2 - Memory device with improved safety of stored data and data processing device using the same - Google Patents

Memory device with improved safety of stored data and data processing device using the same Download PDF

Info

Publication number
JP4235047B2
JP4235047B2 JP2003203711A JP2003203711A JP4235047B2 JP 4235047 B2 JP4235047 B2 JP 4235047B2 JP 2003203711 A JP2003203711 A JP 2003203711A JP 2003203711 A JP2003203711 A JP 2003203711A JP 4235047 B2 JP4235047 B2 JP 4235047B2
Authority
JP
Japan
Prior art keywords
data
buffer
memory unit
memory
checkpoint
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
Application number
JP2003203711A
Other languages
Japanese (ja)
Other versions
JP2005049975A (en
Inventor
範明 田中
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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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 NXP USA Inc filed Critical NXP USA Inc
Priority to JP2003203711A priority Critical patent/JP4235047B2/en
Publication of JP2005049975A publication Critical patent/JP2005049975A/en
Application granted granted Critical
Publication of JP4235047B2 publication Critical patent/JP4235047B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、メモリ装置およびデータ処理装置に関し、例えば自動車、保安制御その他のための高い信頼性を要求するコンピュータシステムなどに使用され、記憶データの安全性を高めたメモリ装置および該メモリ装置を用いたデータ処理装置に関する。
【0002】
【従来の技術】
例えば自動車のエンジン制御、保安用機器その他においては高度のシステム機能を容易に実現するため、マイクロ・コントローラ・ユニット(MCU)が使用されている。このようなマイクロ・コントローラ・ユニットはメモリ装置を内蔵したものが多い。このようなマイクロ・コントローラ・ユニットを使用し、かつ該マイクロ・コントローラ・ユニットを動かすプログラムを適切に設計することにより、比較的簡単な装置構成によって多様な機能を容易に達成することができる。そして、プログラムの工夫によってマイクロ・コントローラ・ユニットを使用したシステムの信頼性をある程度高めることができる。例えば自動車のエンジン制御の用途においては、何らかのパラメータの値が予め定められた範囲を逸脱した場合には、プログラムによってエンジンの動作を停止しあるいは制御することによって障害による悪影響を防止することができる。なお、従来技術の特許文献として特開平8−153039号公報、および特開2002−244995号公報がある。
【0003】
【発明が解決しようとする課題】
しかしながら、このような従来のマイクロ・コントローラ・ユニット(MCU)を使用したシステムにおいても、MCUに内蔵されたあるいはMCUに接続されたメモリ装置の記憶データが破壊されれば、システムの信頼性ある動作は期待できなくなる。
【0004】
一般に、MCUにおいては、メモリへの書き込み動作の間に例えばウォッチドッグ・リセットのような偶発的なハードウェア・リセット・シーケンスが生じた場合には、適切なメモリ内容を保つことは保証できなくなる。さらに、書き込みに複数サイクルを要する書き込みシーケンスが中断されると適切なメモリ内容を保つことができなくなり、記憶データの安全性が脅かされる。
【0005】
このようなメモリ内容の安全性は、少容量のメモリを備えたMCUにおいては問題とならないことが多い。それは、このような少容量のメモリを備えたMCUにおいては、メモリ内容は短時間で書き込まれ、更新されあるいは初期化できるからである。しかしながら、大容量のメモリを備えたMCUを初期化するには長い時間を必要とし、従って初期化のための応答速度が遅くなる。このため、大容量のメモリを備えたMCUにおいては、上述のような偶発的な事象によって記憶データの安全性が脅かされる可能性が高くなる。
【0006】
したがって、本発明の目的は、記憶データの安全性を高めたメモリ装置を提供することにある。
【0007】
本発明の他の目的は、データ書き込みに複数サイクルを必要とする場合のように、データ書き込みに比較的長時間を要するメモリ装置にあっても的確にデータ書き込みが行なわれるようにすることにある。
【0008】
本発明のさらに他の目的は、偶発的なリセット・シーケンスや書き込み動作の中断などによってメモリ内容の安全性が脅かされることのないメモリ装置およびそのようなメモリ装置を使用したデータ処理装置を提供することにある。
【0009】
本発明のさらに他の目的は、記憶データの安全性に関して高い信頼性を有するメモリ装置およびそのようなメモリ装置を使用したデータ処理装置を提供することにある。
【0010】
【課題を解決するための手段】
本発明の一態様によれば、記憶データの安全性を高めたメモリ装置が提供され、該メモリ装置は、データを記憶するためのメモリ部と、前記メモリ部に書き込むデータを一時記憶するバッファと、前記バッファから前記メモリ部へのデータ書き込みの可否を示す情報を記憶するセマフォレジスタと、を具備し、前記メモリ部への書き込みを行う場合、予め前記セマフォレジスタをセットして前記メモリ部をロックし、書き込みデータを複数回に分けて前記バッファに書き込み、前記バッファにデータが記憶された後に、前記セマフォレジスタのセットが解除されて前記メモリ部がアンロックされた時に、前記バッファから前記メモリ部へ一度にデータ書き込みを行うことを特徴とする。
【0011】
前記メモリ装置において、前記セマフォレジスタがセットされている間に前記バッファへのデータ書き込みの完全性を損なう偶発的なリセット事象が生じた場合には、前記バッファの内容は破棄されるよう構成すると好都合である。
【0012】
また、前記セマフォレジスタがセットされている間に前記バッファへの書き込み動作が中断された場合は、前記バッファの内容を破棄するよう構成すると好都合である。
【0013】
さらに、前記バッファへの書き込みデータを入力するデータバスを備え、該データバスの伝送容量は前記バッファの容量より小さくてもよい。
【0014】
さらに、データの読出しは前記メモリ部から直接行なうことができる。
【0015】
本発明の他の態様によれば、データ処理装置が提供され、該データ処理装置は:中央処理装置(CPU);およびメモリ装置であって、データを記憶するためのメモリ部と、前記メモリ部に書き込むデータを一時記憶するバッファと、前記バッファから前記メモリ部へのデータ書き込みの可否を示す情報を記憶するセマフォレジスタと、を備え、前記メモリ部への書き込みを行う場合、予め前記セマフォレジスタをセットして前記メモリ部をロックし、書き込みデータを複数回に分けて前記バッファに書き込み、前記バッファにデータが記憶された後に、前記セマフォレジスタのセットが解除されて前記メモリ部がアンロックされた時に、前記バッファから前記メモリ部へ一度にデータ書き込みを行うメモリ装置;を具備し、前記中央処理装置は実行すべきジョブを複数のタスクに分けて実行し、各タスク間にはチェックポイントが設けられ、各タスク終了時に前記メモリ装置に対しチェックポイントデータの書き込みを行なうことによってチェックポイントの記録を行ない、かつ各タスク開始時に前記メモリ装置から前記チェックポイントデータを読み出すことによってチェックポイントの初期状態の再生を行なうことを特徴とする。
【0016】
前記チェックポイントの記録は、各チェックポイントにおいて中央処理装置がタスクを再開するのに必要なチェックポイントデータを前記メモリ装置の前記バッファに順次書き込み、前記チェックポイントの記録中に前記バッファへのデータ書き込みの完全性を損なう偶発的なリセット事象または前記バッファへのデータ書き込みの中断がなかった場合に、前記バッファに書き込まれたデータを前記メモリ部へ一括転送することによって前記チェックポイントの記録を行なうと好都合である。
【0017】
前記セマフォレジスタがセットされている間に前記バッファへのデータ書き込みの完全性を損なう偶発的なリセット事象が生じた場合、あるいは前記バッファへの書き込み動作が途中で中断された場合は、前記バッファの内容は破棄されるよう構成することができる。
【0018】
前記偶発的なリセット事象はウォッチドッグタイマによって前記中央処理装置の動作の異常を検出した場合に前記中央処理装置をリセットすることによって生じるものとすることができる。
【0019】
あるいは、前記偶発的なリセット事象はクロック発振器の発振停止を検出したことに応じて該クロック発振器と前記中央処理装置にリセットをかけることによって生じるものであってもよい。
【0020】
さらに、前記偶発的なリセット事象は前記データ処理装置に供給される電源電圧の瞬時的な低下を検出した場合に前記中央処理装置にリセットをかけることによって生じるものであってもよい。
【0021】
前記データ処理装置はマイクロ・コントローラ・ユニット(MCU)であってもよい。
【0022】
【発明の実施の形態】
以下、図面を参照して本発明の好ましい実施形態につき説明する。
図1は、本発明の一実施形態に係わるメモリ装置の概略の構成を示す。同図に示されるメモリ装置は、メモリ部11と、バッファ13と、アドレスデコーダ15と、セレクタ17と、セマフォレジスタ19などによって構成される。
【0023】
メモリ部11は複数のメモリセル11aを備えている。各メモリセル11aは、例えば、フリップフロップ、トランスペアレントなラッチ、その他で構成される。バッファ13は、メモリ部11への書き込みデータを一時記憶するために設けられ、複数のビットセル13aから構成される。各ビットセル13aは、メモリ部11のメモリセル11aと同様に、フリップフロップ、トランスペアレントなラッチ、その他で構成される。アドレスデコーダ15は、アドレスバス23から入力される書き込みアドレスをデコードしてバッファ13の各ビットセル13aの制御端子Gに供給される制御信号を生成するものである。さらに、セレクタ17はメモリ部11からの出力の内アドレスバス27によって指定されたアドレスに対応する読出しデータを読出し用データバス29に出力するものである。
【0024】
セマフォレジスタ(semaphore register)19は、例えばフリップフロップによって構成され、ロック指示信号(LOCK)およびコミット信号(COMMIT)すなわち書き込み転送指示信号を受け、これらの信号の論理状態に応じて、イネーブル信号(ENABLE)および内部コミット信号を出力するものである。より詳細には、セマフォレジスタ19は、ロック指示信号を受けて内部コミット信号を出力しメモリ部11をロック、すなわち書き込み禁止する。また、イネーブル信号を出力してアドレスデコーダ15に供給し、アドレスバス23からのアドレスデータに応じてバッファ13へのデータ書き込みを許容する。セマフォレジスタ19は、さらに、入力コミット信号を受けて、内部コミット信号をメモリ部11に供給し、バッファ13からメモリ部11へのデータ書き込みを許容する。
【0025】
メモリ部11の各メモリセル11aは、バッファ13の対応するビットセル13aの出力Qを受けるデータ入力Dと、セマフォレジスタ19からの内部コミット信号を受ける制御端子Gと、記憶した信号を出力する出力端子Qを備えている。出力端子Qはセレクタ17に接続されている。
【0026】
バッファ13の各ビットセル13aも、メモリ部11のメモリセル11aと同様に、データ入力端子D、制御端子G、および出力端子Qを備えている。データ入力端子Dは書き込み用データバス25に接続され、制御端子Gはアドレスデコーダ15の出力に接続されている。
【0027】
このような構成を有するメモリ装置は、例えば後述のようにマイクロ・コントローラ・ユニット(MCU)に内蔵され、該MCUの中央処理装置(CPU)がプログラムを実行する時に安全性が必要なデータを記憶するために使用される。
【0028】
次に、図1に示されるメモリ装置の動作を説明する。前述のようにCPUがプログラムに従って動作し、メモリ装置の書き込みを行ないメモリ内容を更新しようとする場合は、まず、プログラムによってセマフォレジスタ19にロック信号が供給され、該セマフォレジスタ19がメモリ部11への書き込みをロックする。すなわち、セマフォレジスタ19から出力される内部コミット信号が否定、例えば論理“0”とされる。このロック状態の間は、メモリ部11へのデータ書き込みは行なわれず、書き込みデータはまずバッファ13に書き込まれる。ただし、図1のメモリ装置からの読出しは、メモリ部11の記憶データをアドレスバス27から供給されるアドレス信号に従ってセレクタ17が選択し、読出し用データバス29に読出しデータを出力することができる。
【0029】
上記メモリロック状態では、セマフォレジスタ19はイネーブル信号を肯定し、例えば論理“1”とする。これに応じて、アドレスバス23から供給される書き込みアドレスデータがアドレスデコーダ15に供給されて、バッファ13の選択されたビットセル13aに書き込み用データバス25からのデータが書き込まれる。MCUにおいては、バッファ13のビット数、すなわちビットセル13aの数が書き込み用データバス25のビット数より大きい場合が多く、このような場合はバッファ13へのデータ書き込みは複数の書き込みサイクルによって行なわれる。
【0030】
このようなバッファ13へのデータ書き込みを行なっている途中で、例えばCPUがリセットされることがある。これは、例えばCPUがハードウェア的に問題があり、正常に動作しないことが検出された場合に、CPUをリセットすることによって障害に対処しCPUを含むシステムを保護する。このようなリセットは、例えば、MCUに内蔵された図示しないウォッチドッグ・タイマのタイムアップによりウォッチドッグ・リセットが行なわれる場合などに相当する。このようなリセットが行なわれると、MCUを使用したシステムのプログラム処理が中断され、再びプログラムの始めから処理が実行される。
【0031】
したがって、バッファ13へのデータ書き込みの途中でこのようなリセットが生じた場合には、バッファ13の内容は破棄され、後に説明するバッファ13からメモリ部11へのデータ転送は行なわれない。
【0032】
バッファ13へのデータ書き込みが完了すると、CPUはセマフォレジスタ19に対しロックを解除しコミット信号を供給する。これに応じて、セマフォレジスタ19は内部コミット信号を肯定し、例えば論理“1”とし、メモリ部11への書き込みをアンロックする。したがって、バッファ13の各ビットセル13aの記憶データが一度にメモリ部11の対応するメモリセル11aに書き込まれる。すなわち、セマフォレジスタのアンロック動作に対応してコミット動作が行なわれる。
【0033】
このように、メモリがロックされている間に偶発的なリセットシーケンスが生じた場合には、バッファの内容は破棄され、従ってメモリ部11の記憶データは変更されない。そして、メモリ部11への書き込みは前記コミット動作によって一度に行なわれるから、メモリ部11の記憶データは破壊されることがなく的確なデータへと更新され、安全な状態に保たれる。
【0034】
図2は、上述のようなメモリ装置、すなわちコミット可能(commitable)メモリ装置、を含むデータ処理装置の一例を示す。このようなデータ処理装置は、例えばマイクロ・コントローラ・ユニット(MCU)として、例えば、1つの集積回路チップ上に構成することもできる。図2のデータ処理装置は、中央処理装置(CPU)31と、該CPU31とバス33によって接続されたウォッチドッグタイマ35、コミット可能メモリ37、ランダムアクセスメモリ(RAM)39、および周辺機器41などによって構成される。
【0035】
ウォッチドッグタイマ35は、例えば、CPU31が異常動作を引き起こしていることを動作タイミングの監視などによって検出し、CPU31にリセットをかけるものである。コミット可能メモリ37は、後に説明するように、CPU31が実行するジョブの各タスク間に設けられたチェックポイントにおいて、データ処理装置の動作を再開する上で必要な各レジスタ、フラグ、その他のチェックポイントデータを保存するために使用されるものである。RAM39は、例えばCPU31が実行するプログラムや処理データを記憶するものである。また、周辺機器41は、例えば自動車のエンジン制御その他のようにMCUによって制御を受けるペリフェラル機器であり、MCUの外部に設けられることが多い。
【0036】
図2に示されるデータ処理装置においては、CPU31はRAM39に記憶されたプログラムに従って周辺機器41を制御するための所定のジョブを実行する。該所定のジョブは複数のタスクに分けて順次実行され、各タスクの間にチェックポイントが設けられる。各チェックポイントにおいては、該チェックポイントにおけるデータ処理装置各部のステータスデータ、例えばレジスタ、フラグ、その他のデータ処理装置の動作に必要なデータをコミット可能メモリ37に記憶させることによってチェックポイントの記録が行なわれる。また、各チェックポイントからのタスクを開始する場合には、コミット可能メモリ37から必要なデータを読み出すタスクの初期化が行なわれる。これによって、後により詳細に説明するように中央処理装置はジョブを外乱の影響を受けることなく安全に実行することが可能になる。なお、図2のウォッチドッグタイマ35は、CPU31がタスクを実行している最中に、CPU31の動作異常から本来実行すべきプログラムを実行していない時にウォッチドッグタイマ35が異常を検出し、CPU31に対して非同期に、すなわちCPU31の動作とは無関係に、リセットをかける。
【0037】
図3は、上記コミット可能メモリが使用されるデータ処理装置の別の構成例を示す。図3のデータ処理装置は、図2のデータ処理装置におけるウォッチドッグタイマ35に代えて、あるいはウォッチドッグタイマ35に加えて、水晶振動子43を有するクロック発振器45と該クロック発振器の発振状態を監視するクロックモニタ47とを備えている。その他の部分は、図2のものと同じでよく、同一参照数字で示されている。
【0038】
図3の中央処理装置においては、例えば水晶振動子または水晶発振子43が、外乱により発振を停止し、または異常発振を始めた場合は、クロックモニタ47がこのような異常状態を検出し、クロック発振器45とCPU31に非同期に、すなわちCPUの動作とは無関係に、リセットをかけて再起動を行なう。
【0039】
図4は、本発明に係わるコミット可能メモリを使用したデータ処理装置の別の構成例を示す。同図のデータ処理装置は、商用電源からデータ処理装置を動作させるための電源電圧を生成する安定化電源装置49と、商用電源の瞬時的な低下を検出する瞬停検出部51を備えている。その他の部分は図2のデータ処理装置と同じ構成でよく、同一部分は同一参照数字で示されている。
【0040】
図4のデータ処理装置においては、データ処理装置が例えば商用電源で動作している場合に、該商用電源の瞬間的な電力の低下を検出した場合に、CPU31にリセットをかけ、不安定な状態になる前に安全に停止させる。この場合、データ処理装置のシステムは、図示しないバックアップ電源によってメモリのデータを保持したままで、システムの他の部分への電力を断って、電力の回復を待つ。この場合に、CPU31を安全に停止する目的で、非同期にリセットをかける。
【0041】
なお、図2、図3および図4に示される各データ処理装置においては、ウォッチドッグタイマ35によるリセット、クロックモニタ47などによるリセット、瞬停検出回路51などによるリセットを行なう回路部分のみが示されているが、これらの各回路部分は任意の組み合わせで複数種類の回路部分をデータ処理装置に設けてもよいことは明らかである。
【0042】
次に、上述のようなデータ処理装置において、コミット可能メモリを設けることによりどのようにして記憶データの安全性が保たれ信頼性の高いジョブの実行が行なわれるかなどにつき詳細に説明する。
【0043】
一例として、ある計算時間の長いジョブがある場合に、このジョブを雑音が多いなどの悪環境下で実行すると、実行中に雑音の影響を受けてジョブの実行が中断されてしまう場合がある。例えば図5に示すように、雑音などによる外乱のない場合は、計算時間の長いジョブでも、該ジョブの開始から終了まで中断されることなく実行できる。これに対し、外乱のある場合は、ジョブの開始後外乱によって重要なデータが破壊され、ジョブが中断されることがある。特に、ジョブの開始から終了までの時間が長くなればなる程、外乱の影響を受け易くなり、ジョブが中断された場合には始めからやり直す必要があり、全体のジョブ処理時間が指数関数的に長くなってしまう。
【0044】
このような不都合を除去するため、ジョブを複数のタスクに細切れにして、各タスクの間にチェックポイントを設ける。そして、ジョブが中断された場合には、その中断の直前のチェックポイントからジョブを再開する方法が用いられる。すなわち、図6に示すように、ジョブをチェックポイントCP1,CP2,CP3,CP4などによって複数のタスクに分けて順次実行する。各タスクにおいては、該タスクの開始時にチェックポイントから初期状態の再生、すなわち初期化、を行ない、また、各ジョブの終了時にチェックポイントの記録を行なう。チェックポイントの記録では、データ処理装置がタスクまたはジョブを実行するのに必要なパラメータがメモリに記録される。これらのパラメータは、例えばデータ処理システムの各レジスタ、フラグ、その他のデータなどが保持される。各タスクの開始時には、これらの各データがメモリから読み出されレジスタなどにセットされて初期状態の再生が行なわれた後タスクが実行される。これによって、チェックポイントからの初期状態の再生およびチェックポイントの記録というオーバヘッドが増えるが、中断されたジョブは確実に実行される。
【0045】
すなわち、図6では、チェックポイントCP2の後のタスクの実行中にCPUの偶発的なリセットなどのジョブの中断が生じた場合には、チェックポイントCP2から再びタスクを再開する。また、チェックポイントCP4の後のタスクで中断が生じた場合には、該チェックポイントCP4から再びタスクを再開しジョブを確実に終了することができる。
【0046】
ところが、このような処理方式でも、「チェックポイントの記録」のフェーズで、処理が中断されてしまうと、次に実行すべきタスクの初期状態が再生できなくなる可能性がある。すなわち、図7に示すように、各タスクには、処理を実行するタスク本体部分と、該処理の実行が終了した後に、チェックポイントとして必要なデータを記録するチェックポイントの記録のフェーズがある。例えば、チェックポイントとして必要な情報はA,B,C,D,Eであり、これら全てのデータをタスク終了時に記録しておく必要があるものとする。この場合、チェックポイントの記録中に偶発的なリセットにより、データDおよびEを記録する前に処理が中断してしまうと、そのチェックポイントはデータが壊れていることになり使用不能になる。このため、通常ジョブ全体のやり直しが必要となる。
【0047】
このような場合に、本発明に係わるコミット可能メモリをチェックポイントの記録に使用することにより、チェックポイントの整合性を保ち、ジョブ全体のやり直しを行なうことなく、安全かつ迅速にタスクを実行しジョブを終了することができる。
【0048】
例えば、図8に示されるように、本発明に係わるデータ処理装置においては、各タスクにおけるタスク本体部の後のチェックポイントの記録のフェーズにおいて、チェックポイントとして必要なデータA,B,C,D,Eを順次コミット可能メモリのバッファ(図1の13)に書き込む。そして、チェックポイントの記録が中断されることなく行なわれ、前記バッファへのデータ書き込みが完全に行なわれた場合には、前記バッファへの書き込み終了後にセマフォレジスタ(19、図1)のセットが解除されてバッファからメモリ部(11、図1)に対し一度にデータ転送が行なわれ、すなわちコミット動作が行なわれる。これによって、チェックポイントのデータは新たな値に更新される。
【0049】
これに対し、例えば図9に示されるように、チェックポイントの記録中にCPUのリセットなどにより処理が中断された場合には、前記「コミット」動作が発生しないので、チェックポイントは更新されない。この場合は、バッファの内容は破棄され、チェックポイントは該バッファの内容によって更新されることはない。このため、チェックポイントの記録のフェーズで処理の中断があった場合には、タスクのやり直しが行なわれ、該タスクの初期状態はコミット可能メモリに前から保持されているデータによって正しく再生することができる。したがって、チェックポイントに必要なデータが破壊されてジョブを始めからやり直す必要はなくなり、迅速にジョブを終了することが可能になる。
【0050】
【発明の効果】
以上から明らかなように、本発明によれば、CPUが偶発的にリセットされても、メモリ部の記憶データは破壊されることなく安全な状態で保存される。また、メモリ部へのデータ書き込みはバッファから一度に行なわれるから、メモリ部に対し不適切なデータが書き込まれる可能性は極めて低くなる。したがって、本発明のメモリ装置によれば、記憶データの安全性を高めることができ、かつこのようなメモリ装置を使用したデータ処理装置の信頼性を大幅に高め処理速度の低下を防止することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係わるメモリ装置の概略の構成を示すブロック図である。
【図2】本発明に係わるメモリ装置を使用した中央処理装置の概略の構成を示すブロック図である。
【図3】本発明に係わるメモリ装置を使用したデータ処理装置の他の構成例を示すブロック図である。
【図4】本発明に係わるメモリ装置を使用したデータ処理装置のさらに他の構成例を示すブロック図である。
【図5】中央処理装置によって実行されるジョブの外乱による影響を示す説明図である。
【図6】ジョブを複数のタスクに分割して実行する処理を示す説明図である。
【図7】タスクのチェックポイントの記録中における処理の中断の様子を示す説明図である。
【図8】本発明に係わるメモリ装置を使用してチェックポイントの記録を行なう手順を示す説明図である。
【図9】本発明に係わるメモリ装置を使用してチェックポイントを記録した場合における、チェックポイントの記録中の処理の中断があった場合の処理の様子を示す説明図である。
【符号の説明】
11 メモリ部
11a メモリセル
13 バッファ
13a ビットセル
15 アドレスデコーダ
17 セレクタ
19 セマフォレジスタ
31 中央処理装置(CPU)
33 バス
35 ウォッチドッグタイマ
37 コミット可能メモリ
39 ランダムアクセスメモリ(RAM)
41 周辺機器
43 水晶発振子
45 クロック発振器
47 クロックモニタ
49 安定化電源装置
51 瞬停検出回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a memory device and a data processing device, and is used in, for example, a computer system that requires high reliability for automobiles, security control, and the like, and uses the memory device and the memory device that increase the safety of stored data. Related to the data processing apparatus.
[0002]
[Prior art]
For example, in order to easily realize advanced system functions in automobile engine control, security equipment, and the like, a micro controller unit (MCU) is used. Many of such micro controller units incorporate a memory device. By using such a micro controller unit and appropriately designing a program for operating the micro controller unit, various functions can be easily achieved with a relatively simple device configuration. And the reliability of the system using the micro controller unit can be improved to some extent by devising the program. For example, in an automobile engine control application, if a parameter value deviates from a predetermined range, an adverse effect due to a failure can be prevented by stopping or controlling the operation of the engine by a program. As prior art patent documents, there are JP-A-8-153039 and JP-A-2002-244995.
[0003]
[Problems to be solved by the invention]
However, even in a system using such a conventional micro controller unit (MCU), if the data stored in the memory device built in the MCU or connected to the MCU is destroyed, the system can operate reliably. Can no longer be expected.
[0004]
In general, in an MCU, if an accidental hardware reset sequence such as a watchdog reset occurs during a write operation to the memory, it cannot be guaranteed that the proper memory contents are maintained. Furthermore, if a write sequence that requires a plurality of cycles for writing is interrupted, appropriate memory contents cannot be maintained, and the safety of stored data is threatened.
[0005]
Such safety of the memory contents often does not pose a problem in an MCU having a small capacity memory. This is because in the MCU having such a small capacity memory, the memory contents are written in a short time and can be updated or initialized. However, it takes a long time to initialize an MCU having a large-capacity memory, and therefore the response speed for initialization is slow. For this reason, in an MCU having a large-capacity memory, there is a high possibility that the safety of stored data is threatened by an accidental event as described above.
[0006]
Therefore, an object of the present invention is to provide a memory device that increases the safety of stored data.
[0007]
Another object of the present invention is to ensure that data is accurately written even in a memory device that requires a relatively long time for data writing, such as when multiple cycles are required for data writing. .
[0008]
Still another object of the present invention is to provide a memory device in which the safety of memory contents is not threatened by an accidental reset sequence or interruption of a write operation, and a data processing device using such a memory device. There is.
[0009]
Still another object of the present invention is to provide a memory device having high reliability with respect to the safety of stored data and a data processing device using such a memory device.
[0010]
[Means for Solving the Problems]
According to one aspect of the present invention, a memory device with improved safety of stored data is provided, the memory device including a memory unit for storing data, and a buffer for temporarily storing data to be written to the memory unit. A semaphore register that stores information indicating whether or not data can be written from the buffer to the memory unit. When writing to the memory unit, the semaphore register is set in advance to lock the memory unit. The write data is written into the buffer in a plurality of times, and after the data is stored in the buffer, the memory unit is unlocked from the buffer when the semaphore register is set and the memory unit is unlocked. It is characterized in that data is written at once.
[0011]
In the memory device, the contents of the buffer are advantageously discarded if an accidental reset event occurs that impairs the integrity of data writing to the buffer while the semaphore register is set. It is.
[0012]
In addition, if the write operation to the buffer is interrupted while the semaphore register is set, it is advantageous to discard the contents of the buffer.
[0013]
Furthermore, a data bus for inputting write data to the buffer may be provided, and the transmission capacity of the data bus may be smaller than the capacity of the buffer.
[0014]
Furthermore, data can be read directly from the memory unit.
[0015]
According to another aspect of the present invention, a data processing device is provided, the data processing device comprising: a central processing unit (CPU); and a memory device, a memory unit for storing data, and the memory unit A buffer for temporarily storing data to be written to the memory, and a semaphore register for storing information indicating whether data can be written from the buffer to the memory unit. Set to lock the memory unit, write data to the buffer divided into multiple times, and after the data is stored in the buffer, the semaphore register is unset and the memory unit is unlocked A memory device for writing data from the buffer to the memory unit at a time. Executes a job to be executed by dividing it into a plurality of tasks, checkpoints are provided between the tasks, and checkpoints are recorded by writing checkpoint data to the memory device at the end of each task. In addition, the initial state of the checkpoint is reproduced by reading the checkpoint data from the memory device at the start of each task.
[0016]
The checkpoint recording is performed by sequentially writing checkpoint data necessary for the central processing unit to resume a task at each checkpoint to the buffer of the memory device, and writing data to the buffer during the checkpoint recording. When the checkpoint is recorded by collectively transferring the data written in the buffer to the memory unit when there is no accidental reset event that impairs the integrity of the data or interruption of data writing to the buffer Convenient.
[0017]
If an accidental reset event that impairs the integrity of the data write to the buffer occurs while the semaphore register is set, or if the write operation to the buffer is interrupted halfway, The content can be configured to be discarded.
[0018]
The accidental reset event may be caused by resetting the central processing unit when an abnormal operation of the central processing unit is detected by a watchdog timer.
[0019]
Alternatively, the accidental reset event may be caused by resetting the clock oscillator and the central processing unit in response to detecting the oscillation stop of the clock oscillator.
[0020]
Further, the accidental reset event may be caused by resetting the central processing unit when an instantaneous drop in power supply voltage supplied to the data processing unit is detected.
[0021]
The data processing device may be a micro controller unit (MCU).
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows a schematic configuration of a memory device according to an embodiment of the present invention. The memory device shown in FIG. 1 includes a memory unit 11, a buffer 13, an address decoder 15, a selector 17, a semaphore register 19, and the like.
[0023]
The memory unit 11 includes a plurality of memory cells 11a. Each memory cell 11a includes, for example, a flip-flop, a transparent latch, and others. The buffer 13 is provided for temporarily storing data to be written to the memory unit 11, and includes a plurality of bit cells 13a. Each bit cell 13a includes a flip-flop, a transparent latch, and the like, like the memory cell 11a of the memory unit 11. The address decoder 15 decodes the write address input from the address bus 23 and generates a control signal supplied to the control terminal G of each bit cell 13 a of the buffer 13. Further, the selector 17 outputs read data corresponding to the address specified by the address bus 27 in the output from the memory unit 11 to the read data bus 29.
[0024]
A semaphore register 19 is constituted by, for example, a flip-flop, receives a lock instruction signal (LOCK) and a commit signal (COMMIT), that is, a write transfer instruction signal, and an enable signal (ENABLE) according to the logical state of these signals. ) And an internal commit signal. More specifically, the semaphore register 19 receives the lock instruction signal and outputs an internal commit signal to lock the memory unit 11, that is, write prohibition. Further, an enable signal is output and supplied to the address decoder 15, and data writing to the buffer 13 is permitted according to the address data from the address bus 23. The semaphore register 19 further receives an input commit signal, supplies an internal commit signal to the memory unit 11, and allows data writing from the buffer 13 to the memory unit 11.
[0025]
Each memory cell 11a of the memory unit 11 has a data input D that receives the output Q of the corresponding bit cell 13a of the buffer 13, a control terminal G that receives an internal commit signal from the semaphore register 19, and an output terminal that outputs a stored signal. Q is provided. The output terminal Q is connected to the selector 17.
[0026]
Each bit cell 13 a of the buffer 13 includes a data input terminal D, a control terminal G, and an output terminal Q, similarly to the memory cell 11 a of the memory unit 11. The data input terminal D is connected to the write data bus 25, and the control terminal G is connected to the output of the address decoder 15.
[0027]
The memory device having such a configuration is incorporated in a micro controller unit (MCU) as described later, for example, and stores data that requires safety when the central processing unit (CPU) of the MCU executes a program. Used to do.
[0028]
Next, the operation of the memory device shown in FIG. 1 will be described. As described above, when the CPU operates in accordance with a program and attempts to update the memory contents by writing to the memory device, first, a lock signal is supplied to the semaphore register 19 by the program, and the semaphore register 19 is sent to the memory unit 11. Lock the writing of That is, the internal commit signal output from the semaphore register 19 is negated, for example, logic “0”. During this locked state, data writing to the memory unit 11 is not performed, and write data is first written to the buffer 13. However, in reading from the memory device of FIG. 1, the selector 17 selects the stored data in the memory unit 11 in accordance with the address signal supplied from the address bus 27, and the read data can be output to the read data bus 29.
[0029]
In the memory lock state, the semaphore register 19 affirms the enable signal, for example, logic “1”. In response to this, the write address data supplied from the address bus 23 is supplied to the address decoder 15, and the data from the write data bus 25 is written into the selected bit cell 13 a of the buffer 13. In the MCU, the number of bits of the buffer 13, that is, the number of bit cells 13a is often larger than the number of bits of the write data bus 25. In such a case, data writing to the buffer 13 is performed by a plurality of write cycles.
[0030]
During the writing of data to the buffer 13, for example, the CPU may be reset. For example, when it is detected that the CPU has a hardware problem and does not operate normally, the CPU is reset to cope with the failure and protect the system including the CPU. Such a reset corresponds to, for example, a case where a watchdog reset is performed by a time-up of a watchdog timer (not shown) built in the MCU. When such a reset is performed, the program processing of the system using the MCU is interrupted, and the processing is executed again from the beginning of the program.
[0031]
Therefore, when such a reset occurs in the middle of data writing to the buffer 13, the contents of the buffer 13 are discarded, and data transfer from the buffer 13 to the memory unit 11 described later is not performed.
[0032]
When the data writing to the buffer 13 is completed, the CPU releases the lock to the semaphore register 19 and supplies a commit signal. In response to this, the semaphore register 19 affirms the internal commit signal, for example, sets the logic to “1”, and unlocks the writing to the memory unit 11. Therefore, the data stored in each bit cell 13a of the buffer 13 is written into the corresponding memory cell 11a of the memory unit 11 at a time. That is, the commit operation is performed in response to the unlock operation of the semaphore register.
[0033]
In this way, if an accidental reset sequence occurs while the memory is locked, the contents of the buffer are discarded, and therefore the data stored in the memory unit 11 is not changed. Since writing to the memory unit 11 is performed at once by the commit operation, the stored data in the memory unit 11 is updated to appropriate data without being destroyed, and kept in a safe state.
[0034]
FIG. 2 shows an example of a data processing device including a memory device as described above, i.e., a commitable memory device. Such a data processing apparatus can also be configured on, for example, one integrated circuit chip as a micro controller unit (MCU), for example. 2 includes a central processing unit (CPU) 31, a watchdog timer 35, a committable memory 37, a random access memory (RAM) 39, and peripheral devices 41 connected to the CPU 31 by a bus 33. Composed.
[0035]
The watch dog timer 35 detects, for example, that the CPU 31 is causing an abnormal operation by monitoring the operation timing, and resets the CPU 31. As will be described later, the committable memory 37 includes registers, flags, and other checkpoints necessary for resuming the operation of the data processing device at checkpoints provided between tasks of the job executed by the CPU 31. It is used to store data. The RAM 39 stores programs executed by the CPU 31, for example, and processing data. The peripheral device 41 is a peripheral device that is controlled by the MCU, such as an engine control of an automobile, for example, and is often provided outside the MCU.
[0036]
In the data processing apparatus shown in FIG. 2, the CPU 31 executes a predetermined job for controlling the peripheral device 41 in accordance with a program stored in the RAM 39. The predetermined job is sequentially executed by being divided into a plurality of tasks, and checkpoints are provided between the tasks. At each checkpoint, the checkpoint is recorded by storing in the committable memory 37 the status data of each part of the data processing device at the checkpoint, such as registers, flags, and other data necessary for the operation of the data processing device. It is. When starting a task from each checkpoint, the task for reading out necessary data from the committable memory 37 is initialized. This allows the central processing unit to safely execute the job without being affected by disturbances, as will be described in more detail later. Note that the watchdog timer 35 in FIG. 2 detects an abnormality when the CPU 31 is executing a task and the CPU 31 is not executing a program to be executed due to an abnormal operation of the CPU 31, and the CPU 31 detects the abnormality. Is reset asynchronously, that is, irrespective of the operation of the CPU 31.
[0037]
FIG. 3 shows another configuration example of the data processing apparatus in which the committable memory is used. 3 replaces the watchdog timer 35 in the data processing apparatus of FIG. 2 or in addition to the watchdog timer 35, the clock oscillator 45 having the crystal unit 43 and the oscillation state of the clock oscillator are monitored. The clock monitor 47 is provided. The other parts may be the same as in FIG. 2 and are indicated with the same reference numerals.
[0038]
In the central processing unit of FIG. 3, for example, when the crystal resonator or the crystal oscillator 43 stops oscillating due to a disturbance or starts abnormal oscillation, the clock monitor 47 detects such an abnormal state, and the clock Asynchronous with the oscillator 45 and the CPU 31, that is, regardless of the operation of the CPU, is reset and restarted.
[0039]
FIG. 4 shows another configuration example of the data processing apparatus using the committable memory according to the present invention. The data processing apparatus in FIG. 1 includes a stabilized power supply 49 that generates a power supply voltage for operating the data processing apparatus from a commercial power supply, and an instantaneous power failure detection unit 51 that detects an instantaneous drop in the commercial power supply. . Other parts may be the same as those of the data processing apparatus of FIG. 2, and the same parts are denoted by the same reference numerals.
[0040]
In the data processing apparatus shown in FIG. 4, when the data processing apparatus is operating with a commercial power supply, for example, when an instantaneous power reduction of the commercial power supply is detected, the CPU 31 is reset to an unstable state. Stop safely before it becomes. In this case, the system of the data processing apparatus cuts off the power to the other parts of the system while holding the memory data with a backup power source (not shown) and waits for the power to be restored. In this case, resetting is performed asynchronously for the purpose of safely stopping the CPU 31.
[0041]
2, 3, and 4, only the circuit portion that performs reset by the watchdog timer 35, reset by the clock monitor 47, and reset by the instantaneous power failure detection circuit 51 is shown. However, it is clear that a plurality of types of circuit parts may be provided in the data processing device in any combination of these circuit parts.
[0042]
Next, in the data processing apparatus as described above, how to execute a highly reliable job in which stored data is kept safe by providing a committable memory will be described in detail.
[0043]
As an example, when there is a job with a long calculation time, if this job is executed under a bad environment such as a lot of noise, the execution of the job may be interrupted due to the influence of noise during the execution. For example, as shown in FIG. 5, when there is no disturbance due to noise or the like, even a job having a long calculation time can be executed without being interrupted from the start to the end of the job. On the other hand, when there is a disturbance, important data may be destroyed by the disturbance after the job starts, and the job may be interrupted. In particular, the longer the time from the start to the end of the job, the more susceptible to disturbances, and if the job is interrupted, it is necessary to start over from the beginning, and the overall job processing time is exponential It will be long.
[0044]
In order to eliminate such inconvenience, the job is divided into a plurality of tasks, and checkpoints are provided between the tasks. When the job is interrupted, a method of restarting the job from the checkpoint immediately before the interruption is used. That is, as shown in FIG. 6, the job is divided into a plurality of tasks and executed sequentially by checkpoints CP1, CP2, CP3, CP4, and the like. In each task, the initial state is reproduced, that is, initialized from the checkpoint at the start of the task, and the checkpoint is recorded at the end of each job. In the checkpoint recording, parameters necessary for the data processing apparatus to execute a task or job are recorded in the memory. These parameters hold, for example, each register, flag, and other data of the data processing system. At the start of each task, each piece of data is read from the memory, set in a register, etc., and the initial state is reproduced, and then the task is executed. This increases the overhead of replaying the initial state from the checkpoint and recording the checkpoint, but the interrupted job is reliably executed.
[0045]
That is, in FIG. 6, when a job interruption such as an accidental reset of the CPU occurs during the execution of the task after the checkpoint CP2, the task is resumed from the checkpoint CP2. Further, when an interruption occurs in a task after the checkpoint CP4, the task can be restarted again from the checkpoint CP4 and the job can be surely terminated.
[0046]
However, even in such a processing method, if the process is interrupted in the “checkpoint recording” phase, there is a possibility that the initial state of the task to be executed next cannot be reproduced. That is, as shown in FIG. 7, each task has a task body portion for executing processing and a checkpoint recording phase for recording necessary data as checkpoints after execution of the processing is completed. For example, it is assumed that information necessary as a checkpoint is A, B, C, D, and E, and all these data must be recorded at the end of the task. In this case, if the process is interrupted before recording the data D and E due to an accidental reset during the recording of the checkpoint, the checkpoint becomes unusable because the data is broken. For this reason, it is necessary to redo the entire normal job.
[0047]
In such a case, by using the committable memory according to the present invention for the checkpoint recording, the task can be executed safely and quickly without maintaining the consistency of the checkpoint and re-doing the entire job. Can be terminated.
[0048]
For example, as shown in FIG. 8, in the data processing apparatus according to the present invention, data A, B, C, D required as checkpoints in the checkpoint recording phase after the task main body in each task. , E are sequentially written to the buffer (13 in FIG. 1) of the committable memory. When the checkpoint recording is performed without interruption and the data writing to the buffer is completely performed, the semaphore register (19, FIG. 1) is released after the writing to the buffer is completed. Then, data is transferred from the buffer to the memory unit (11, FIG. 1) at a time, that is, a commit operation is performed. As a result, the checkpoint data is updated to a new value.
[0049]
On the other hand, as shown in FIG. 9, for example, when the processing is interrupted by resetting the CPU during the recording of the checkpoint, the “commit” operation does not occur, so the checkpoint is not updated. In this case, the contents of the buffer are discarded and the checkpoint is not updated with the contents of the buffer. For this reason, if processing is interrupted in the checkpoint recording phase, the task is re-executed, and the initial state of the task can be correctly reproduced by the data previously stored in the committable memory. it can. Therefore, the data necessary for the checkpoint is destroyed and there is no need to restart the job from the beginning, and the job can be completed quickly.
[0050]
【The invention's effect】
As is apparent from the above, according to the present invention, even if the CPU is accidentally reset, the stored data in the memory unit is stored in a safe state without being destroyed. In addition, since data is written to the memory unit at a time from the buffer, the possibility that inappropriate data is written to the memory unit is extremely low. Therefore, according to the memory device of the present invention, the safety of stored data can be improved, and the reliability of a data processing device using such a memory device can be greatly increased to prevent a reduction in processing speed. It becomes possible.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration of a memory device according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a schematic configuration of a central processing unit using a memory device according to the present invention.
FIG. 3 is a block diagram showing another configuration example of the data processing apparatus using the memory device according to the present invention.
FIG. 4 is a block diagram showing still another configuration example of the data processing apparatus using the memory device according to the present invention.
FIG. 5 is an explanatory diagram showing an influence due to a disturbance of a job executed by the central processing unit.
FIG. 6 is an explanatory diagram showing processing for dividing a job into a plurality of tasks and executing the job.
FIG. 7 is an explanatory diagram showing a state in which processing is interrupted during recording of task checkpoints.
FIG. 8 is an explanatory diagram showing a procedure for recording checkpoints using the memory device according to the present invention;
FIG. 9 is an explanatory diagram showing a state of processing when a check point is recorded using the memory device according to the present invention and there is an interruption in processing during check point recording;
[Explanation of symbols]
11 Memory part
11a memory cell
13 buffers
13a bit cell
15 Address decoder
17 Selector
19 Semaphore register
31 Central processing unit (CPU)
33 Bus
35 Watchdog timer
37 Commitable memory
39 Random Access Memory (RAM)
41 Peripheral devices
43 Crystal oscillator
45 clock oscillator
47 Clock monitor
49 Stabilized power supply
51 Instantaneous power failure detection circuit

Claims (12)

データを記憶するためのメモリ部と、
前記メモリ部に書き込むデータを一時記憶するバッファと、
前記バッファから前記メモリ部へのデータ書き込みの可否を示す情報を記憶するセマフォレジスタと、
を具備し、前記メモリ部への書き込みを行う場合、予め前記セマフォレジスタをセットして前記メモリ部をロックし、書き込みデータを複数回に分けて前記バッファに書き込み、前記バッファにデータが記憶された後に、前記セマフォレジスタのセットが解除されて前記メモリ部がアンロックされた時に、前記バッファから前記メモリ部へ一度にデータ書き込みを行うことを特徴とする記憶データの安全性を高めたメモリ装置。
A memory unit for storing data;
A buffer for temporarily storing data to be written to the memory unit;
A semaphore register that stores information indicating whether data can be written from the buffer to the memory unit;
When the writing to the memory unit is performed, the semaphore register is set in advance to lock the memory unit, and the write data is written into the buffer in multiple times, and the data is stored in the buffer A memory device with improved safety of stored data, wherein after the semaphore register is released and the memory unit is unlocked, data is written from the buffer to the memory unit at a time.
前記セマフォレジスタがセットされている間に前記バッファへのデータ書き込みの完全性を損なう偶発的なリセット事象が生じた場合には、前記バッファの内容は破棄されることを特徴とする請求項1に記載のメモリ装置。2. The buffer contents are discarded if an accidental reset event occurs that impairs the integrity of data writing to the buffer while the semaphore register is set. The memory device described. 前記セマフォレジスタがセットされている間に前記バッファへの書き込み動作が中断された場合は、前記バッファの内容は破棄されることを特徴とする請求項1に記載のメモリ装置。2. The memory device according to claim 1, wherein if a write operation to the buffer is interrupted while the semaphore register is set, the contents of the buffer are discarded. さらに、前記バッファへの書き込みデータを入力するデータバスを備え、該データバスの伝送容量が前記バッファの容量より小さいことを特徴とする請求項1に記載のメモリ装置。2. The memory device according to claim 1, further comprising a data bus for inputting write data to the buffer, wherein a transmission capacity of the data bus is smaller than a capacity of the buffer. データの読出しは前記メモリ部から直接行われることを特徴とする請求項1に記載のメモリ装置。2. The memory device according to claim 1, wherein data is read directly from the memory unit. データ処理装置であって:
中央処理装置(CPU);および
メモリ装置であって、データを記憶するためのメモリ部と、前記メモリ部に書き込むデータを一時記憶するバッファと、前記バッファから前記メモリ部へのデータ書き込みの可否を示す情報を記憶するセマフォレジスタと、を備え、前記メモリ部への書き込みを行う場合、予め前記セマフォレジスタをセットして前記メモリ部をロックし、書き込みデータを複数回に分けて前記バッファに書き込み、前記バッファにデータが記憶された後に、前記セマフォレジスタのセットが解除されて前記メモリ部がアンロックされた時に、前記バッファから前記メモリ部へ一度にデータ書き込みを行うメモリ装置;
を具備し、前記中央処理装置は実行すべきジョブを複数のタスクに分けて実行し、各タスク間にはチェックポイントが設けられ、各タスク終了時に前記メモリ装置に対しチェックポイントデータの書き込みを行なうことによってチェックポイントの記録を行ない、かつ各タスク開始時に前記メモリ装置から前記チェックポイントデータを読み出すことによってチェックポイントの初期状態の再生を行なうことを特徴とするデータ処理装置。
A data processing device:
A central processing unit (CPU); and a memory unit, a memory unit for storing data, a buffer for temporarily storing data to be written to the memory unit, and whether data can be written from the buffer to the memory unit A semaphore register for storing information, and when writing to the memory unit, the semaphore register is set in advance and the memory unit is locked, and the write data is written to the buffer in a plurality of times, A memory device for writing data from the buffer to the memory unit at a time when the semaphore register is released and the memory unit is unlocked after data is stored in the buffer;
The central processing unit divides a job to be executed into a plurality of tasks, executes checkpoints between the tasks, and writes checkpoint data to the memory device at the end of each task. A data processing apparatus for performing checkpoint recording by reading the checkpoint data and reading the checkpoint data from the memory device at the start of each task.
前記チェックポイントの記録は、各チェックポイントにおいて中央処理装置がタスクを再開するのに必要なチェックポイントデータを前記メモリ装置の前記バッファに順次書き込み、前記チェックポイントの記録中に前記バッファへのデータ書き込みの完全性を損なう偶発的なリセット事象または前記バッファへのデータ書き込みの中断が生じなかった場合に、前記バッファに書き込まれたデータを前記メモリ部へ一括転送することによって前記チェックポイントの記録を行なうことを特徴とする請求項6に記載のデータ処理装置。The checkpoint recording is performed by sequentially writing checkpoint data necessary for the central processing unit to resume a task at each checkpoint to the buffer of the memory device, and writing data to the buffer during the checkpoint recording. When the accidental reset event that impairs the integrity of the data or the interruption of the data writing to the buffer does not occur, the checkpoint is recorded by collectively transferring the data written in the buffer to the memory unit The data processing apparatus according to claim 6. 前記セマフォレジスタがセットされている間に前記バッファへのデータ書き込みの完全性を損なう偶発的なリセット事象が生じた場合、あるいは前記バッファへの書き込み動作が途中で中断された場合は、前記バッファの内容は破棄されることを特徴とする請求項6または7に記載のデータ処理装置。If an accidental reset event that impairs the integrity of the data write to the buffer occurs while the semaphore register is set, or if the write operation to the buffer is interrupted halfway, 8. The data processing apparatus according to claim 6, wherein the contents are discarded. 前記偶発的なリセット事象はウォッチドッグタイマによって前記中央処理装置の動作の異常を検出した場合に前記中央処理装置にリセットをかけることによって生じる請求項7または8に記載のデータ処理装置。9. The data processing apparatus according to claim 7, wherein the accidental reset event is generated by resetting the central processing unit when an abnormal operation of the central processing unit is detected by a watch dog timer. 前記偶発的なリセット事象はクロック発振器の発振停止を検出したことに応じて該クロック発振器と前記中央処理装置にリセットをかけることによって生じることを特徴とする請求項7または8に記載のデータ処理装置。9. The data processing apparatus according to claim 7, wherein the accidental reset event is generated by resetting the clock oscillator and the central processing unit in response to detecting the oscillation stop of the clock oscillator. . 前記偶発的なリセット事象は前記データ処理装置に供給される電源電圧の瞬時的な低下を検出した場合に前記中央処理装置にリセットをかけることによって生じることを特徴とする請求項7または8に記載のデータ処理装置。9. The accidental reset event is generated by resetting the central processing unit when an instantaneous decrease in power supply voltage supplied to the data processing unit is detected. Data processing equipment. 前記データ処理装置はマイクロ・コントローラ・ユニット(MCU)であることを特徴とする請求項6〜11の内のいずれか1項に記載のデータ処理装置。The data processing apparatus according to any one of claims 6 to 11, wherein the data processing apparatus is a micro controller unit (MCU).
JP2003203711A 2003-07-30 2003-07-30 Memory device with improved safety of stored data and data processing device using the same Expired - Fee Related JP4235047B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003203711A JP4235047B2 (en) 2003-07-30 2003-07-30 Memory device with improved safety of stored data and data processing device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003203711A JP4235047B2 (en) 2003-07-30 2003-07-30 Memory device with improved safety of stored data and data processing device using the same

Publications (2)

Publication Number Publication Date
JP2005049975A JP2005049975A (en) 2005-02-24
JP4235047B2 true JP4235047B2 (en) 2009-03-04

Family

ID=34262969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003203711A Expired - Fee Related JP4235047B2 (en) 2003-07-30 2003-07-30 Memory device with improved safety of stored data and data processing device using the same

Country Status (1)

Country Link
JP (1) JP4235047B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799595B (en) * 2021-02-02 2023-06-23 联想(北京)有限公司 Data processing method, device and storage medium

Also Published As

Publication number Publication date
JP2005049975A (en) 2005-02-24

Similar Documents

Publication Publication Date Title
EP3770765B1 (en) Error recovery method and apparatus
EP0679981A2 (en) Reset circuit of electronic device
CN110069363B (en) Method for updating boot loader of multiprocessor device, storage medium and device
US20090217090A1 (en) Method, operating system and computing hardware for running a computer program
US20060218444A1 (en) Method and apparatus for managing log data, and computer product
KR20020026814A (en) Method and Apparatus for Suspending And Resuming Operation of A Computer System
JP4653838B2 (en) Arithmetic processing device, control method of arithmetic processing device, and control program
JP4235047B2 (en) Memory device with improved safety of stored data and data processing device using the same
JP2007034469A (en) Data error detection device and data error detection method
JP5579257B2 (en) Apparatus and method for restoring information in main memory
WO2004003714A2 (en) Circuit for detection of internal microprocessor watchdog device execution and method for resetting microprocessor system
US7426659B2 (en) Forced diagnostic entry upon power-up
JP4535316B2 (en) Terminal fail-safe system, terminal fail-safe method, and terminal fail-safe program
JP2006318105A (en) Monitoring system
JP3785931B2 (en) I / O request blocking method, I / O request blocking method, and recording medium recording I / O request blocking program
US20050210328A1 (en) Forced diagnostic entry upon power-up
JP4543505B2 (en) Microcomputer control method and abnormality monitoring device
JP3191282B2 (en) Failure information data collection method
JP3060376U (en) Memory device
JP2870083B2 (en) Microcomputer with built-in watchdog timer
JPH06250860A (en) Data processor
JP2022047564A (en) Information processing device
JP2000339100A (en) File updating/monitoring method and system
JPS585856A (en) Error recovery system for logical device
JPH04273553A (en) Computer system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041217

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060711

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4235047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121219

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees