JP2016038599A - マイクロコンピュータ及びマイクロコンピュータシステム - Google Patents

マイクロコンピュータ及びマイクロコンピュータシステム Download PDF

Info

Publication number
JP2016038599A
JP2016038599A JP2014159261A JP2014159261A JP2016038599A JP 2016038599 A JP2016038599 A JP 2016038599A JP 2014159261 A JP2014159261 A JP 2014159261A JP 2014159261 A JP2014159261 A JP 2014159261A JP 2016038599 A JP2016038599 A JP 2016038599A
Authority
JP
Japan
Prior art keywords
microcomputer
abnormality
data
storage device
nvm
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.)
Granted
Application number
JP2014159261A
Other languages
English (en)
Other versions
JP6341795B2 (ja
Inventor
三ッ石 直幹
Naomiki Mitsuishi
直幹 三ッ石
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2014159261A priority Critical patent/JP6341795B2/ja
Priority to US14/803,051 priority patent/US10108469B2/en
Publication of JP2016038599A publication Critical patent/JP2016038599A/ja
Application granted granted Critical
Publication of JP6341795B2 publication Critical patent/JP6341795B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes

Abstract

【課題】不揮発性記憶装置に格納されたデータの不所望な書き換えを検出すること。【解決手段】MCU100は、互いに情報をやり取りする複数の機能ブロックを有する。NVM4は、格納する情報を書き換え可能であり、予め確認用データDAT1が書き込まれている。CPU1は、NVM4から読み出した情報を処理し、又は、NVM4に情報を書き込む。異常検出部9は、複数の機能ブロック間でのデータのやり取りの異常を検出する。NVM検査部4Aは、異常検出部9が異常を検出した場合に、確認用データDAT1を読み出し、基準データDAT2と確認用データDAT1とを比較し、比較結果が一致しない場合にNVMエラーを検出する。【選択図】図2

Description

本発明はマイクロコンピュータ及びマイクロコンピュータシステムに関する。
一般に、シングルチップマイクロコンピュータは、中央処理装置(CPU:Central Processing Unit)を中心にして、プログラム保持用のROM(Read Only Memory:リードオンリメモリ)、データ保持用のRAM(Random Access Memory:ランダムアクセスメモリ)、及びデータ又は信号の入出力を行うための入出力回路などの機能ブロックが、一つの半導体基板上に形成されている。
シングルチップマイクロコンピュータは、各種機器の制御に用いられる。シングルチップマイクロコンピュータは、入出力回路を介して、例えば、エンジンなどを制御する。この制御の際に、入出力回路が不所望の状態に陥った場合でも、エンジンのような制御対象で誤動作や故障などが発生することを防止する必要が有る。例えば、入出力回路の1つであるタイマの出力を遮断して制御対象を停止することが提案されている(特許文献1)。
また、シングルチップマイクロコンピュータでは、ROM上のプログラムを実行することで高速かつ低消費電力のシステムを構築することができる。この場合、外部のメモリを使用する方式と比較して、プログラムの内容を秘匿したり、改竄を抑止したりすることが容易にできる。しかし、ROMを含む複数の機能ブロックを1つの半導体基板に形成しなければならないため、搭載可能なROM容量には限りがある。例えば、パーソナルコンピュータのハードディスクの記憶容量に比べて、シングルチップマイクロコンピュータのROM容量は小さい。そのため、シングルチップマイクロコンピュータでは、ROM容量を考慮しつつ、ROMに記憶させるプログラムやデータを取捨する必要が有る。シングルチップマイクロコンピュータのROMとして、フラッシュメモリを内蔵する場合が増えている。フラッシュメモリは内容を随時書き換えられるので、デバッグ、チューニング、バージョンアップなどが可能であり、使い勝手を向上させることができる。例えば、記憶させるプログラムやデータも、実際の使用状況を評価して取捨することができる。
近年、ランダムアクセスが可能で情報の不揮発保持が可能なメモリ(NVRAM:Non-Volatile Random Access Memory)として、磁気抵抗メモリ(MRAM:Magnetoresistive Random Access Memory)が提案されている(特許文献2及び3)。MRAMは、通常のRAMと同様に、リード/ライトを行う(ランダムアクセス)ことができる。また、書き込みにあたって、事前に消去を行う必要がない。シングルチップマイクロコンピュータのプログラム保持用及び要保存のデータ格納用のROM、作業時の一時的な記憶用のRAMの代替として、プログラム用、要保存のデータ格納用、作業時の一時的な記憶領域用として兼用できるMRAMを内蔵することが考えられる。
マイクロコンピュータでは、書き換えが可能で不揮発保持が可能なメモリ(フラッシュメモリ、NVRAM)に、プログラムや、固定的なデータを書き込むためのプログラム(ブートプログラム)を格納し、かつ、通常動作時にブートプログラム領域をリード/ライト禁止にする場合がある。これにより、ブートプログラム領域は保護される。マイクロコンピュータを所定の動作モード(ブートモード)に設定すると、マイクロコンピュータはブートプログラムを実行して、プログラムや固定的なデータの書き込み動作を実行する(特許文献4)。
また、ブートプログラムの実行中などに、書き換えが可能で不揮発保持が可能なメモリやマイクロコンピュータに不所望の電源異常などが発生し、メモリへの書き込みが正常に実行できなかった場合の再書き込みを行う手法が提案されている(特許文献5)。また、フラッシュメモリの書き込みの制御方法も提案されている(特許文献6)。
さらに、マイクロコンピュータでノイズなどの影響で不当な命令コードが実行された場合に対処するため、不当命令例外処理が行われ、例えば初期化の後に再度所定のプログラム実行を行うことが提案されている(特許文献7)また、マイクロコンピュータのハードウェアの故障を検出するために、自己診断を行う手法も提案されている。
フラッシュメモリなどの記憶装置では、一部の記憶素子の故障や劣化による不良が生じ得る。これに対しては、ECC(Error Check and Correction)を付加して冗長性を持たせた構成とすることで、一部の記憶素子に不良があっても正常な動作を行うことができる記憶装置が提案されている(特許文献8)。
特開平8−263104号公報 特開2002−222589号公報 特開2004−86986号公報 特開2004−318330号公報 特開2001−27954号公報 特開2007−34554号公報 特開2006−171952号公報 特開2007−241625号公報
ところが、発明者は、以下で説明する問題点を新たに見出した。マイクロコンピュータの動作時には、デバッグの完了したプログラムを実行するので、本来は不当な命令コードを実行することはありえない。しかし、ノイズなどによる不所望のエラーにより、正規の命令コード(例えば、H’0000)が異なる命令コード(例えば、H’1000)に変化することで、不当な命令コードが実行されることがある。変化により生じた命令コードが、マイクロコンピュータのCPUにとって定義されていない命令である場合には、不当命令例外処理が実行される。
対照的に、変化により生じた命令コードがマイクロコンピュータのCPUにとって定義されているものであれば、不当命令例外処理は実行されず、変化により生じた正しくない命令コードが実行されてしまう。このことは、例えマイクロコンピュータで不当命令例外処理が実行された場合でも、その実行前に変化により生じた正しくない命令コードが実行されたおそれが有ることを意味する。つまり、NVRAMに本来保存されるべきデータが、正しくない命令コードが実行されることで、不所望のデータに書き換えられてしまっているおそれが有る。この場合、データそのものが変化しているので、マイクロコンピュータをリセットしても、回復することができない。このように、NVRAMに格納されたプログラムや要保存のデータの一部が書き換えられてしまうと、マイクロコンピュータは正常な動作を行うことができなくなる。また、このままマイクロコンピュータを動作させると、正常ではない動作が繰り返し実行されることになる。
よって、正しくない命令コードの実行によるNVRAMの不所望なデータ書き換えを検出する必要が有る。そして、書き換えられたデータを本来保存されるべきデータに復旧することが望ましい。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、マイクロコンピュータは、複数の機能ブロックを有するものであり、予め第1のデータが書き込まれている不揮発性記憶装置と、前記不揮発性記憶装置から読み出した情報を処理し、又は、前記不揮発性記憶装置に情報を書き込む中央処理装置と、前記複数の機能ブロック間でのデータのやり取りの異常を検出する異常検出部と、前記異常検出部が異常を検出した場合に、前記不揮発性記憶装置に書き込んだときの前記第1のデータの内容を示す第2のデータと、前記第1のデータと、を比較し、比較結果が一致しない場合に前記不揮発性記憶装置の異常を検出する不揮発性記憶装置検査部と、を備えるものである。
一実施の形態によれば、マイクロコンピュータシステムは、被制御装置と、前記被制御装置の動作を制御するマイクロコンピュータと、を備え、前記マイクロコンピュータは、予め第1のデータが書き込まれている不揮発性記憶装置と、前記不揮発性記憶装置から読み出した情報を処理し、又は、前記不揮発性記憶装置に情報を書き込む中央処理装置と、複数の機能ブロック間でのデータのやり取りの異常を検出する異常検出部と、前記異常検出部が異常を検出した場合に、前記不揮発性記憶装置に書き込んだときの前記第1のデータの内容を示す第2のデータと、前記第1のデータと、を比較し、比較結果が一致しない場合に前記不揮発性記憶装置の異常を検出する不揮発性記憶装置検査部と、を備えるものである。
一実施の形態によれば、不揮発性記憶装置に格納されたデータの不所望な書き換えを検出することができる。
実施の形態1にかかるマイクロコンピュータの構成を模式的に示すブロック図である。 実施の形態1にかかるマイクロコンピュータの基本構成を模式的に示すブロック図である。 実施の形態1にかかるマイクロコンピュータのCPUのアドレス空間を示す図である。 実施の形態1にかかるマイクロコンピュータでの信号のやりとりを示す図である。 実施の形態1にかかるマイクロコンピュータに含まれるI/Oの構成例を示すブロック図である。 実施の形態1にかかるマイクロコンピュータの動作を示すフローチャートである。 実施の形態1にかかるマイクロコンピュータの状態遷移図である。 実施の形態2にかかるマイクロコンピュータのCPUのアドレス空間を示す図である。 実施の形態2にかかるマイクロコンピュータの動作を示すフローチャートである。 実施の形態2にかかるマイクロコンピュータの状態遷移図である。 実施の形態3にかかるマイクロコンピュータの構成を模式的に示すブロック図である。 実施の形態3にかかるマイクロコンピュータの動作を示すフローチャートである。 実施の形態4にかかるマイクロコンピュータの状態遷移を示す図である。 実施の形態5にかかる制御システムの構成を模式的に示すブロック図である。
以下、図面を参照して実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。
実施の形態1
実施の形態1にかかるマイクロコンピュータ100について説明する。マイクロコンピュータ100は、シングルチップマイクロコンピュータとして構成することが可能である。図1は、実施の形態1にかかるマイクロコンピュータ100の構成を模式的に示すブロック図である。図2は、実施の形態1にかかるマイクロコンピュータ100の基本構成を模式的に示すブロック図である。以下、図1を参照して、マイクロコンピュータ100の構成を説明する。なお、マイクロコンピュータは、以下ではMCU(Micro Controller Unit)と略記する。
MCU100は、中央処理装置(CPU)1、割り込みコントローラ(Interrupt Controller:以下、INTと称する)2、モードコントローラ(MDC)3、不揮発性記憶装置(NVM)4、ランダムアクセスメモリ(RAM)5、バスコントローラ(Bus Controller:以下、BSCと称する)6、タイマ(WDT)7、通信モジュール8、異常検出部9、入出力ポート(I/O)10、内部バス11を有する。通信モジュール8として、例えばシリアルコミュニケーションインタフェースなどが設けられる。また、図示しないが、MCU100は、アナログモジュール、クロック発振器(CPG)などの、他の機能ブロックやモジュールを有していてもよい。また、モード入力信号MD、図示しないが、MCU100は、リセット入力RESや割込入力NMIの入力端子を有する。アナログモジュールとして、例えばアナログ/デジタル(A/D)変換器およびデジタル/アナログ(D/A)変換器などが設けられる。
MCU100では、動作の主体となるのはCPU1である。CPU1は、主にNVM4から命令を読み込んで動作し、作業用のデータ領域としてRAM5やI/O10などをリード/ライトする。CPU1でのプログラム実行によって、MCU100は所要の処理を実現する。
CPU1は、不当命令例外処理及び割込み例外処理を行うことによって、実行中の処理を中断し、所定ベクタで示されるアドレスから例外処理ルーチンへジャンプして実行を開始する。ジャンプ先は、MDC3からの動作モード信号MDSによって選択される。
図3は、CPU1のアドレス空間を示す図である。CPU1のアドレス空間は、一端から他端に向けてリニアにアドレスが割り当てられる。アドレス空間には、MCU100の内部の資源に対応して、NVMアドレス領域20、空領域31、RAM領域32及び内部I/Oレジスタ領域33が配置されている。内部I/Oレジスタ領域33は、BSC6、MDC3、INT2、WDT7、通信モジュール8が有するレジスタに対応する領域である。それぞれのアドレス領域の容量の設定などは、MCU100が適用される応用分野などによって、適切に設定することができる。NVMアドレス領域20には、後述する確認用データDAT1が割り当てられる。
図1に戻り、MCU100の構成について引き続き説明する。INT2は、エラー信号やその他の信号が入力されると、入力された信号に応じて、CPU1に割込み要求を与える。CPU1は、割込み要求が与えられると、命令の切れ目で割込み例外処理を行う。
MDC3は、例えば外部からのモード入力信号MDを受けて、MCU100の動作モードを指定する。MDC3は、MCU内の各機能ブロック、例えばCPU1、NVM4及びBSC3に動作モード信号MDSを出力して、CPU1、NVM4及びBSC6などの動作を制御する。
NVM4は、NVM4自体の制御機能を司るNVM検査部4Aを含んでいる。CPU1からのコマンドなどによって、NVM4は消去や書き込みの動作を開始する。NVM検査部4Aは、書き込み動作時に、書き込み内容に応じて、チェックサムや巡回符号などの確認用データDAT1を生成し、生成した確認用データDAT1をNVM4の所定の領域に書き込むことが可能である。NVM4は、消去や書き込みの動作中以外の状態では、リードオンリメモリ(ROM)として動作する。
RAM5は、CPU1の作業用に使用される。また、RAM5は、NVM4の書き換え時に書き込み内容を一時記憶するために使用される。
BSC6は、CPU1のアクセス内容と、MDC3からの動作モード信号MDSに従って、内部バス11の動作を制御する。
WDT7は、図示しないものの、カウンタやその他の制御レジスタを有する。
通信モジュール8は、所要のシステムに対応した機能を有し、外部との通信を行う。なお、通信モジュール8は、複数の種類の通信手段(通信方式)を有してもよい。
I/O10は、種々の入出力機能を有し、CPU1のプログラム実行に従って動作する。I/O10は、制御対象の状態がアナログ信号やエンコード信号として入力され、パルス信号やアナログ信号を出力して制御対象の制御を行う。I/Oは出力制御ブロックを含み、この出力制御ブロックは、エラー信号を入力し、このエラー信号が活性化されたときに、出力状態を、制御対象に応じた非活性状態などの所定の状態に切り替える。かかる所定の状態は、固定的なものであってもよく、あるいは、予め、CPUのプログラム実行によって、設定するようにしてもよい。
異常検出部9は、所定の対象機能ブロックのテストや期待値確認などを行って、MCU100内の各機能ブロック間のデータのやり取りに生じる異常を検出する。異常な検査結果が得られた場合には、異常検出部9はエラー信号を出力する。エラー信号は、異常検出を行う箇所の数は検査方法の数に応じて、複数の信号を含んでいてもよい。異常検出部9は、内部バス11を介して、エラー信号をMCU10内部の各機能ブロックに送出できる。また、異常検出部9は、通信モジュール8を介して、MCU100の外部にエラー信号を送出してもよい。さらに、異常検出部9は、異常を検出した際に、MCU100の外部にアラームを送出することもできる。
ここで、異常検出部9が検出する各機能ブロック間のデータのやり取りに生じる異常とは、例えば、各機能ブロックでのデータに生じる異常や、内部バス11を介してデータの送受の異常を意味する。以下では、異常検出部9が検出する各機能ブロック間のデータのやり取りに生じる異常を、データ異常と称する。
なお、図1では、異常検出部9を、内部バス11を介して他の機能ブロックと接続される独立した機能ブロックとして説明したが、これは例示に過ぎない。すなわち異常検出部9は、他の機能ブロック(CPU1、INT2、MDC3、NVM4、RAM5、BSC6、WDT7、通信モジュール8、I/O10)の内部に設けられていてもよい。また、異常検出部9は、1つに限られるものではなく、他の機能ブロックの一部又は全部の内部に設けられていてもよい。また、複数の異常検出部が設けられる場合には、それぞれの異常検出部は、異なる検査方法、検査対象に対応させることも可能である。
ここで、異常検出部9での異常検出動作の例について説明する。図4は、実施の形態1にかかるMCUでの信号のやりとりを示す図である。
異常検出部9の第1の例:不当命令検出
異常検出部9は、例えば、CPU1の不当命令検出を行うことが可能である。この場合、異常検出部9は、CPU1に内蔵されていてもよい。異常検出部9は、実行すべき命令を検査して、当該命令が定義されていないものである場合、検査対象となった命令を不当命令として検出する。異常検出部9は、不当命令を検出したならば、エラー信号の1つである命令エラー信号OPERRを活性化するとともに、所定の例外処理(不当命令例外処理)を発生させる。不当命令例外処理と後述するエラー検出に対応する例外処理では、NVM4上の所定のプログラムが実行することもできる。
異常検出部9の第2の例:アドレスエラー検出
異常検出部9は、例えば、BSC6でのバス動作の際のアドレスエラーを検出することができる。この場合、異常検出部9は、BSC6に内蔵されていてもよい。異常検出部9は、CPU1のアクセス内容を検査し、検査対象となったアクセスが不当なアクセスの場合、アドレスエラーを検出する。異常検出部9は、アドレスエラーを検出したならば、エラー信号の1つであるアドレスエラー信号ADERRを活性化し、INT2に伝達する。なお、不当なアクセスとは、例えば、アクセスが禁止される内部の資源が配置されていないアドレス(空領域)に対するリード/ライトや、内部I/Oレジスタ領域からのプログラムのリードをいう。
異常検出部9の第3の例:カウンタエラー検出
異常検出部9は、例えば、WDT7でのカウンタエラーを検出することができる。この場合、異常検出部9は、WDT7に内蔵されていてもよい。CPU1は、正常に動作している限り、カウンタがオーバフローする前にカウンタに0などをライトし、オーバフローを抑止するように動作する。しかし、ノイズなどによる一時的な誤動作や回路の故障などの不所望の要因により、CPU1が正常な動作を行えなくなると、カウンタがオーバフローしてしまう。異常検出部9は、カウンタのオーバフローを検出し、エラー信号の1つであるオーバフロー信号WDTOVFを活性化することができる。
上記のように、異常検出部9が異常を検出すると、異常検出部9は、命令エラー信号OPERR、アドレスエラー信号ADERR、オーバフロー信号WDTOVFなどを活性化できる。INT2は、命令エラー信号OPERR、アドレスエラー信号ADERR、オーバフロー信号WDTOVFに応じて、CPU1に割込み要求を与える。また、INT2は、エラー信号のみならず、外部から入力されるマスク不可能な割込みNMIやその他の信号が入力されたときにも、CPU1に割込み要求を与えることができる。なお、アドレスエラー信号ADERRは、マスク不可能な割込みとして扱われる。CPU1は、割込み要求が与えられると、命令の切れ目で割込み例外処理を行うことができる。
また、エラー信号に応じて割込み例外処理を行うにあたり、エラーが生じた機能ブロックに対応するI/O10の出力状態を、非活性状態などの所定の状態にすることもできる。これは、エラー信号に呼応して、ハードウェア的に実施(例えば、I/O10)してもよいし、CPU1がプログラム実行することで実施してもよい。エラー信号が複数活性化されている場合には、活性化されたエラー信号に対応した複数の出力状態を、非活性状態などの所定の状態にするようにしてもよい。I/O10の出力状態を非活性化することで、I/O10の外部への誤った信号の送出、及び、I/O10を介して入力された信号に応じて誤ったデータに基づく誤動作を防止することができる。
図5は、実施の形態1にかかるMCU100に含まれるI/O10の構成例を示すブロック図である。I/O10は、I/O制御部10A、非活性データレジスタ10B及びセレクタ10Cを有する。I/O制御部10Aは、エラー信号に応じてセレクタ10Cに制御信号CONを出力し、セレクタ10Cの動作を制御する。I/O制御部10Aは、エラー信号が非活性である場合には、セレクタ10Cに通常動作出力を外部へ出力させる。I/O制御部10Aは、エラー信号が活性化された場合には、セレクタ10Cに非活性データレジスタ10Bの出力を外部へ出力させる。これにより、エラー信号が活性化された場合には、セレクタ10Cは、通常動作出力と切り離され、固定された非活性データレジスタ10Bの出力と接続される。これにより、MCU100でエラーが生じても、I/O10が停止(非活性化)される。
MCU100でエラーが検出された場合、MCU100は所望の動作を行っておらず、I/O10から誤った信号が外部に出力され、また、I/O10を介して外部から入力された信号に誤った反応をする事態が生じ得る。この場合、I/O10を介してMCU100に制御される制御対象の制御状態も不所望の状態に陥るおそれがある。しかし、上述のように、エラー発生時にI/O10を停止することで、MCU100と制御対象とのデータのやり取りを遮断し、例えば制御対象を停止し、制御対象が不所望の状態に陥ることを防止できる。
続いて、MCU100の動作について説明する。図6は、実施の形態1にかかるMCU100の動作を示すフローチャートである。図7は、実施の形態1にかかるMCU100の状態遷移図である。
ステップS11
MCU100では、異常検出部9が内部バス11を介した機能ブロック間のデータのやり取りにエラーが生じていないかを、常時監視している(図7の第1動作モードMODE1)。
ステップS12
内部バスを介した機能ブロック間のデータのやり取りにエラーが生じた場合、異常検出部9は異常を検出する。異常検出部9は、異常を検出したことを外部に通知することができる。異常検知により、MCU100は、第1動作モードMODE1から第2動作モードMODE2へ遷移する。
ステップS13
機能ブロック間のデータのやり取りにエラーが生じた場合、NVM検査部4Aは、NVM4のデータの確認動作を実行する。NVM検査部4Aは、NVM4のアドレス領域に含まれる確認用データアドレスから、NVM4に予め確認されている確認用データDAT1を読み出す。そして、NVM検査部4Aは、予め保有している基準データDAT2と、読み出した確認用データDAT1とが一致するかを判定する。なお、基準データDAT2は、NVM4に書き込んだ確認用データDAT1の元々の内容を示すデータであり、換言すれば、確認用データDAT1の期待値を示すデータである。
ステップS14
基準データDAT2と確認用データDAT1とが一致しない場合、異常を検出する前に行われたNVM4へのデータの書き込みに問題が有るので、NVM検査部4Aは、NVMエラーを検出し、例えばアラームを送出する。その後、ステップS14に進む。
ステップS15
基準データDAT2と確認用データDAT1とが一致する場合、またはステップS14の後、I/O10を停止(非活性化)し、MCU100の外部への誤ったデータ送出が防止される。本動作の終了後は、適宜リセット処理などから動作を再開する。
以上、本構成によれば、MCU内部でデータ異常が生じた場合に、異常発生前にNVMに書き込まれたデータに異常が発生しているか否かを検出することができる。その結果、NVMへ正しいデータを再ライトし、又は、外部からNVMのリカバリを指示するなど、NVMエラーに応じた適切な対応を行うことが可能となる。
特に、単一のMCU、単一のNVMを利用するのみでNVMエラーを検出できるので、チップサイズの増加などのコストの増加を招くことなく、NVMエラーの見逃しを抑制することができる。
実施の形態2
実施の形態2にかかるMCU200について説明する。MCU200は、MCU100と同様の構成を有するが、CPU1のアドレス空間及び動作が異なる。MCU200は、NVMエラーを検出した場合、NVMのリカバリ動作をおこなうものである。
図8は、実施の形態2にかかるMCU200のCPU1のアドレス空間を示す図である。本実施の形態では、CPU1のアドレス空間の内、NVMアドレス領域20が、第1アドレス領域21及び第2アドレス領域22に区分けされている。第1アドレス領域21は、MCU100が所要の処理を行うためのプログラム(ユーザプログラム)を格納する。また、第1アドレス領域21には、NVM4のデータ確認動作で用いられるチェックサムデータなどの確認用データDAT1が保持されるアドレスが含まれる。第2アドレス領域22は、ブートモードやリカバリモードで実行するプログラムPRG(ブートプログラム、リカバリプログラム)を格納する。
続いて、MCU200の動作について説明する。図9は、実施の形態2にかかるMCU200の動作を示すフローチャートである。図10は、実施の形態2にかかるMCU200の状態遷移図である。MCU200の動作は、図6に示すステップS11〜S15に、ステップS21〜S24を追加した構成を有する。以下、追加したステップS21〜S24に焦点を当てて説明する。
MCU200では、異常検出部9が内部バス11を介した機能ブロック間のデータのやり取りにエラーが生じていないかを、常時監視している(図10の第1動作モードMODE1)。なお、BSC6は、第1動作モードMODE1のとき、CPU1のプログラム実行に従って第1アドレス領域21のリード/ライトを行うことができる。また、第1動作モードMODE1においては、NVMアドレス領域20の第2のアドレス領域22のライトが禁止される。よって、第2アドレス領域22へのライトが発生した場合には、BSC6はアドレスエラーを検出する。すなわち、第1動作モードMODE1のとき、第2アドレス領域22の内容は保護される。例えば、NVM4がフラッシュメモリなど、所定のコマンドなどによって消去や書き込みが可能である場合、ライトが禁止されることで消去及び書き込みが禁止される。BSC6ではなく、NVM4自体が動作モード信号を受け取って、ライトを禁止してもよい。
ステップS11
ステップS11については、図6と同様であるので、説明を省略する。
ステップS12
ステップS12については、図6と同様である。但し、本実施の形態では、第2動作モードMODE2に遷移することで、第1アドレス領域21及び第2アドレス領域22のリード/ライトが可能となる。これにより、CPU1は、第2アドレス領域22からリカバリプログラムPRGを読み出して実行し、第1アドレス領域21の書き込みとデータ確認を行うことができる。
ステップS13〜S15
ステップS13〜S15については、図6と同様であるので、説明を省略する。
ステップS21
CPU1がリカバリプログラムを実行することで、ステップS21以降の動作が行われる。
ステップS14においてNVMエラーが通知されたならば、ステップS15と同様にI/O10を停止する。
ステップS22
CPU1は、外部から通信モジュール8を介して、外部からNVM4に書き込むべきデータを受信する。
ステップS23
CPU1は、外部から受信したデータをNVM4に書き込む。
ステップS24
その後、第1動作モードMODE1に遷移し、通常動作に復帰する。適宜、リセット処理を実行してもよい。この際、I/O10は、活性化される。
以上、本構成によれば、NVMエラーを検出した場合に、外部からNVM4に本来書き込まれるべきデータを取得してNVM4に書き込みなおすことで、NVM4のデータを復旧することができる。これにより、NVM復旧後に、MCU100を速やかに通常動作状態に移行させることが可能となる。
なお 第2動作モードMODE2でのリカバリプログラムPRGの実行に先立って、リカバリプログラムPRG自体の内容を確認するようにしてもよい。これは、NVM4に格納されたデータが消失する可能性もあるためである。
INT2によって、プログラムの実行開始アドレスが個別に指定される場合などは、この指定に従って第2動作モードMODE2でのリカバリプログラムを複数の割込み処理ルーチンに分割して実装することができる。
さらにリカバリプログラムを第2動作モードMODE2で実行することにより、第2アドレス領域22に格納されるプログラムの内容を秘匿し、不所望の改竄を防ぐことができる。これにより、MCUの使用者がプログラムの内容を考慮することなく、NVM復旧の利便性のみを享受することができる。
実施の形態3
実施の形態3にかかるMCU300について説明する。図11は、実施の形態3にかかるMCU300の構成を模式的に示すブロック図である。MCU300は、MCU100に自己診断部12を追加した構成を有する。MCU300のその他の構成は、MCU100と同様であるので、説明を省略する。
自己診断部12は、異常検出部9がデータ異常を検出した場合に、各機能ブロックの機能に異常がないかを診断するものである。自己診断部12は、いずれかの機能ブロックの機能に異常が有る場合、自己診断エラーを検出する。自己診断部12は、自己診断エラーを他の機能ブロックやMCU300の外部にアラームなどで通知することが可能である。
自己診断は、例えば、機能ブロックから出力される値と期待値とを比較し、一致するか否かを判定することで、判定対象となった機能ブロックの故障を検出することができる。また、自己診断は、例えば、機能ブロック等に実装される機能を二重化し、二重化した機能の出力結果が一致するかを判定して、判定対象となった機能ブロック等の故障を検出することができる。さらに、自己診断は、例えば、所定のデータ経路にECCを付加し、当該データ経路でデータをリード/ライトするときのECCエラーを検出することで、当該データ経路にかかる故障を検出することができる。
続いて、MCU300の動作について説明する。図12は、実施の形態3にかかるMCU300の動作を示すフローチャートである。MCU300の動作は、図6に示すステップS11〜S15に、ステップS31及びS32を追加した構成を有する。
ステップS11
ステップS11については、図6と同様であるので、説明を省略する。
ステップS31
データエラーが検出されたならば、自己診断部12は、各機能ブロックの機能に異常がないかを診断する。
ステップS32
自己診断部12は、機能ブロックのいずれかの機能に異常が有る場合には、自己診断エラーを検出する。自己診断部12は、他の機能ブロックやMCU300の外部に自己診断エラーを通知することができる。その後、ステップS14へ進む。
ステップS12〜S15
自己診断エラーが検出されない場合、ステップS12に進み、以降は図6と同様の動作を行う。
以上、本構成によれば、データエラーの原因が、機能ブロックの機能異常によるものか、NVMエラーによるものかを切り分けて検出することができる。その結果、MCUで異常が生じた際に、異常復旧の対策を容易に策定することができる。回路の故障が生じた場合、例えば、配線の断線、トランジスタの破壊などであって、この状態は継続する。そのため、所望の所期のプログラムの実行が行えない場合が生じる。この場合には、上記の通り自己診断でNVMエラーと切り分けて故障を検出できるので、回路の故障に応じた復旧を行うこととができる。
自己診断は、通常動作状態では行えない場合が考え得る。つまり、自己診断で回路の故障を検出した場合でも、それ以前に故障した回路が命令コードの実行に関与したおそれがある。この場合には、自己診断エラーが検出された場合でも、NVMエラーが生じているか否かの検出を行うことで、故障回路が命令コード実行に関与したことで生じるNVMエラーを検出することができる。
実施の形態4
実施の形態4にかかるMCU400について説明する。MCU400は、MCU200の変形例である。なお、MCU400の構成は、MCU200と同様であるので、説明を省略する。本実施の形態では、MCU400への電源投入時や故障復帰時などにリセットされる場合に、リセットが解除された際の動作について説明する。なお、リセットは、例えばMCU400の外部から行うことが可能であり、電源投入時にはパワーオンリセットとして実行してもよい。
図13は、実施の形態4にかかるMCU400の状態遷移を示す図である。MDC3が第1動作モードMODE1での動作を指定している場合、リセット解除後にMCU400は第1動作モードMODE1での動作を開始する。その後、図9に示す動作を適宜実行する。
MDC3が第2動作モードMODE2での動作を指定している場合、リセット解除後にMCU400は第2動作モードMODE2での動作、すなわち、図9に示すステップS13から動作を開始する。
以上、本構成によれば、リセット解除後に第2動作モードMODE2が指定された場合、でリセット解除前の他の動作などによりNVMエラーが生じていたとしても、NVMを自動的に復旧することができる。これにより、リセット後のMCUの動作を正常化できる可能性をより高めることが可能となる。
実施の形態5
実施の形態5にかかる制御システム500について説明する。制御システム500は、上述のMCUが組み込まれたシステムとして構成される。図14は、実施の形態5にかかる制御システム500の構成を模式的に示すブロック図である。
制御システム500は、MCU200、制御対象501、ネットワーク(CAN)502、通信部503及び表示装置504を有する。制御システム500が自動車制御システムである場合、例えば制御対象501はエンジンであり、エンジンの点火制御などを行う。
MCU200と制御対象(エンジン)501とは、I/O10を介してデータのやりとりを行う。つまり、MCU200にデータ異常が生じた場合、I/O10を非活性化することで、例えばエンジンを停止し、自動車の運行が危険な状態にならないようにすることができる。
NVM4に書き込むべき内容は、MCU自体の通信手段(例えば、通信モジュール8)を利用して、外部から直接入力することもできる。また、CANなどのネットワーク502を介して接続された他のデバイスの通信手段(通信部503)を利用して、入力することもできる。他のデバイスが外部との通信手段として無線通信機能、例えば、WAVE(Wireless Access in Vehicle Environment)などを有する場合、無線通信機能を利用することで、リカバリ専用入力機能を削減でき、システムのハードウェア機能の追加を回避することができる。
なお、上述の他のデバイスに、上述のMCUにおけるNVMエラー検出機能を実装し、NVMに書き込むべき内容の入力手段を共通にすることができる。
また、制御システムにおいてMCU300を用いる場合には、自己診断エラーの内容を、通信手段を介して外部に出力した後、その内容に応じて、外部から受信した内容をNVM4に書き込むこと以外の処理を行うようにする指示入力を行うこともできる。
さらに、他のデバイスが、所要のビデオインタフェースなどを介して、表示装置504を制御するようにできる。この場合、自己診断エラーの内容に基づく情報を表示装置504に表示させることができる。また、自己診断エラーの内容に応答して、外部から入力した指示入力情報を表示装置に表示するようにしてもよい。例えば、運転者に必要な動作を教示して安全な運転状態を促すことで、運転者を安全な状態に導くことができる。なお、表示装置504は、ネットワーク502に接続された別のデバイスによって制御するようにしてもよい。
上述のようにシステム内にシステム外との通信を行う他のデバイスが存在する場合、自己診断エラーや故障検出の内容の外部への通知や、NVMに書き込むプログラムの入力のための通信を、システム外との通信およびマイクロコンピュータと他のデバイスとの通信を経由して行うことができる。これにより、システム上のハードウェアの機能の追加を抑止し、システムの複雑化を抑止することができる。
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態3にかかるMCU300についても、実施の形態2にかかるMCU200と同様に、ステップS21〜S24でのNVM復旧動作を併せて行うことができる。
実施の形態4にかかるMCU400についても、実施の形態3にかかるMCU300と同様にステップS31及びS32での自己診断を併せて行うことができる。
実施の形態5に係る制御システムではあ、MCU200及びMCU300を用いる例について説明したが、MCU100、MCU400及びその他上述の説明にかかるMCUを適用できることは言うまでもない。
NVMは、ランダムアクセス可能なメモリ(NVRAM)として構成することができる。この場合、NVMとRAMとを共通化し、RAMを除去することができる。また、NVMにキャッシュメモリなどを加えることもできる。
I/O10の出力状態を非活性化する場合、その手段は適宜選択し得る。例えば、I/O10をハイインピーダンス状態とすることで、非活性させることができる。非活性化にあたって、所定の状態遷移を形成するようにしてもよい。I/O10の非活性化は、ハードウェアで実装してもよいし、CPU1のプログラム実行と組み合わせて実現するようにしてもよい。
NVM検査部4Aは、専用のCPUとすれば種々の変更に対応しやすい。また、NVM検査部4Aの必要な機能を、専用のハードウェアで実装することもできる。
NVMアドレス領域20の第2アドレス領域22に対するライトの禁止の実現については、種々の手段を用いることができる。
データエラーの検出内容や検出手段は、適宜変更することができる。エラー検出の伝達経路も、適宜変更することができる。自己診断部12は、自己診断を行う対象に応じて、適切に実装すればよい。
MCUの構成やアドレス空間は例示であり、上述の例に限定されない。通信手段やそのほかの機能ブロックなども、適宜削除、追加、変更できる。
制御システム500の構成や用途は例示であり、適宜変更できる。
以上の説明では、シングルチップマイクロコンピュータの例を説明したが、これに限定されるものではなく、マイクロコンピュータの外部にフラッシュメモリなどの電気的に書き換え可能なプログラム格納用のメモリを設ける構成にすることもできる。また、その他の半導体集積回路装置、例えば、デジタルシグナルプロセッサ(DSP)を中心にした半導体集積回路装置にも適用可能である。換言すれば、上述のNVMエラー検出とこれに付随する機能、動作は、データ処理装置のプログラムを書き換え可能なメモリに格納した半導体集積回路装置に適用することができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 CPU(中央処理装置)
2 INT(割り込みコントローラ)
3 MDC(モードコントローラ)
4 NVM(不揮発性記憶装置)
4A NVM検査部
5 RAM(ランダムアクセスメモリ)
6 BSC(バスコントローラ)
7 WDT(タイマ)、
8 通信モジュール
9 異常検出部
10 I/O(入出力ポート)
10A I/O制御部
10B 非活性データレジスタ
10C セレクタ
11 内部バス
12 自己診断部
20 NVMアドレス領域
21 第1アドレス領域
22 第2アドレス領域
31 空領域
32 RAM領域
33 内部バスレジスタ領域
100、200、300、400 MCU(マイクロコンピュータ)
500 制御システム
501 制御対象
502 ネットワーク
503 通信部
504 表示装置
ADERR アドレスエラー信号
CON 制御信号
DAT1 確認用データ
DAT2 基準データ
MD モード入力信号
MDS 動作モード信号
OPERR 命令エラー信号
PRG プログラム
WDTOVF オーバフロー信号

Claims (12)

  1. 互いに情報をやり取りする複数の機能ブロックを有するマイクロコンピュータであって、
    格納する情報を書き換え可能であり、予め第1のデータが書き込まれている不揮発性記憶装置と、
    前記不揮発性記憶装置から読み出した情報を処理し、又は、前記不揮発性記憶装置に情報を書き込む中央処理装置と、
    前記複数の機能ブロック間でのデータのやり取りの異常を検出する異常検出部と、
    前記異常検出部が異常を検出した場合に、前記第1のデータを前記不揮発性記憶装置から読み出し、前記不揮発性記憶装置に書き込んだときの前記第1のデータの内容を示す第2のデータと、前記第1のデータと、を比較し、比較結果が一致しない場合に前記不揮発性記憶装置の異常を検出する不揮発性記憶装置検査部と、を備える、
    マイクロコンピュータ。
  2. 当該マイクロコンピュータと、当該マイクロコンピュータの外部の機器との間のデータの送受を行う入出力部を更に備え、
    前記異常検出部が異常を検出した場合、前記入出力部は、当該マイクロコンピュータと、当該マイクロコンピュータの外部の機器との間のデータの送受を停止する、
    請求項1に記載のマイクロコンピュータ。
  3. 前記不揮発性記憶装置の異常を検出した場合、前記中央処理装置は、
    前記不揮発性記憶装置に書き込まれるべきデータを当該マイクロコンピュータの外部から取得し、
    取得した前記データを前記不揮発性記憶装置に書き込み、前記不揮発性記憶装置のデータを復旧する、
    請求項2に記載のマイクロコンピュータ。
  4. 前記異常検出部が異常を検出した場合、当該マイクロコンピュータは、前記異常検出部での異常検出前に対応する第1動作モードから、前記異常検出部での異常検出前後に対応する第2動作モードに遷移し、
    前記前記不揮発性記憶装置のデータを復旧が完了した後に、前記第2動作モードから前記第1動作モードに遷移する、
    請求項3に記載のマイクロコンピュータ。
  5. 当該マイクロコンピュータの動作モードを指定する動作モード制御部を備え、
    前記複数の機能ブロックがリセットされ、かつ、リセットが解除されるときに、当該マイクロコンピュータは、前記動作モード制御部が指定する前記第1動作モード又は第2動作モードに対応する動作を行う、
    請求項4に記載のマイクロコンピュータ。
  6. 前記不揮発性記憶装置検査部が異常を検出した場合、異常を検出したことを他の機能ブロック及び当該マイクロコンピュータの外部の機器の両方又は一方に通知する、
    請求項1乃至5のいずれか一項に記載のマイクロコンピュータ。
  7. 前記異常検出部が異常を検出した場合、異常を検出したことを他の機能ブロック及び当該マイクロコンピュータの外部の機器の両方又は一方に通知する、
    請求項1乃至6のいずれか一項に記載のマイクロコンピュータ。
  8. 前記複数の機能ブロックの機能の異常を検出する自己診断部を更に備え、
    前記自己診断部は、前記複数の機能ブロックのいずれかの機能の異常を検出した場合、異常を検出したことを他の機能ブロック及び当該マイクロコンピュータの外部の機器の両方又は一方に通知する、
    請求項1乃至7のいずれか一項に記載のマイクロコンピュータ。
  9. 前記自己診断部が異常を検出した場合に、前記不揮発性記憶装置検査部が前記不揮発性記憶装置の異常の検出を行う、
    請求項8に記載のマイクロコンピュータ。
  10. 前記異常検出部は、前記中央処理装置から出力される命令が前記中央処理装置において定義された命令ではない場合、前記中央処理装置の不当命令異常を検出する、
    請求項1乃至9のいずれか一項に記載のマイクロコンピュータ。
  11. 前記異常検出部は、前記不揮発性記憶装置のアクセスが禁止されている領域へ前記中央処理装置がアクセスした場合、前記中央処理装置のアクセス異常を検出する、
    請求項1乃至10のいずれか一項に記載のマイクロコンピュータ。
  12. 外部から動作の制御を受ける被制御装置と、
    互いに情報をやり取りする複数の機能ブロックを有し、前記被制御装置の動作を制御するマイクロコンピュータと、を備え、
    前記マイクロコンピュータは、
    格納する情報を書き換え可能であり、予め第1のデータが書き込まれている不揮発性記憶装置と、
    前記不揮発性記憶装置から読み出した情報を処理し、又は、前記不揮発性記憶装置に情報を書き込む中央処理装置と、
    前記複数の機能ブロック間でのデータのやり取りの異常を検出する異常検出部と、
    前記異常検出部が異常を検出した場合に、前記第1のデータを前記不揮発性記憶装置から読み出し、前記不揮発性記憶装置に書き込んだときの前記第1のデータの内容を示す第2のデータと、前記第1のデータと、を比較し、比較結果が一致しない場合に前記不揮発性記憶装置の異常を検出する不揮発性記憶装置検査部と、を備える、
    マイクロコンピュータシステム。
JP2014159261A 2014-08-05 2014-08-05 マイクロコンピュータ及びマイクロコンピュータシステム Active JP6341795B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014159261A JP6341795B2 (ja) 2014-08-05 2014-08-05 マイクロコンピュータ及びマイクロコンピュータシステム
US14/803,051 US10108469B2 (en) 2014-08-05 2015-07-18 Microcomputer and microcomputer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014159261A JP6341795B2 (ja) 2014-08-05 2014-08-05 マイクロコンピュータ及びマイクロコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2016038599A true JP2016038599A (ja) 2016-03-22
JP6341795B2 JP6341795B2 (ja) 2018-06-13

Family

ID=55267480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014159261A Active JP6341795B2 (ja) 2014-08-05 2014-08-05 マイクロコンピュータ及びマイクロコンピュータシステム

Country Status (2)

Country Link
US (1) US10108469B2 (ja)
JP (1) JP6341795B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6271103B1 (ja) * 2017-02-22 2018-01-31 三菱電機株式会社 制御装置及び制御方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6295113B2 (ja) * 2014-03-17 2018-03-14 ルネサスエレクトロニクス株式会社 自己診断装置及び自己診断方法
KR102051765B1 (ko) * 2015-11-24 2019-12-03 닛본 세이고 가부시끼가이샤 전자 제어 장치 및 그것을 탑재한 전동 파워 스티어링 장치
JP6645467B2 (ja) * 2017-03-28 2020-02-14 株式会社デンソー マイクロコンピュータ
CN108255746A (zh) * 2017-12-29 2018-07-06 北京元心科技有限公司 内存改写检测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163274A (ja) * 1998-11-26 2000-06-16 Nec Corp 電子機器およびromデータ監視プログラムを記録した記録媒体
JP2006113804A (ja) * 2004-10-14 2006-04-27 Toyota Motor Corp 制御装置のデータ記憶装置
JP2006171952A (ja) * 2004-12-14 2006-06-29 Renesas Technology Corp 半導体集積回路装置
JP2013143095A (ja) * 2012-01-12 2013-07-22 Toyota Motor Corp 電子制御装置、メモリ検査方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5617531A (en) * 1993-11-02 1997-04-01 Motorola, Inc. Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor
JP3687861B2 (ja) 1995-03-20 2005-08-24 株式会社ルネサステクノロジ 制御システム及び相補ノンオーバーラップpwm信号を形成する方法
US5568437A (en) * 1995-06-20 1996-10-22 Vlsi Technology, Inc. Built-in self test for integrated circuits having read/write memory
US6070255A (en) * 1998-05-28 2000-05-30 International Business Machines Corporation Error protection power-on-self-test for memory cards having ECC on board
US6178532B1 (en) * 1998-06-11 2001-01-23 Micron Technology, Inc. On-chip circuit and method for testing memory devices
JP4375857B2 (ja) 1999-05-13 2009-12-02 富士通コンポーネント株式会社 プログラム再書き込み機能付コンピュータ
US6654648B2 (en) * 2000-04-03 2003-11-25 Toyota Jidosha Kabushiki Kaisha Technique of monitoring abnormality in plurality of CPUs or controllers
US6701474B2 (en) * 2000-06-28 2004-03-02 Cadence Design Systems, Inc. System and method for testing integrated circuits
JP4066638B2 (ja) 2000-11-27 2008-03-26 株式会社日立製作所 半導体装置
US6766480B2 (en) * 2001-03-14 2004-07-20 Hewlett-Packard Development Company, L.P. Using task description blocks to maintain information regarding operations
JP4134637B2 (ja) 2002-08-27 2008-08-20 株式会社日立製作所 半導体装置
JP4065790B2 (ja) * 2003-01-17 2008-03-26 三菱電機株式会社 車載電子制御装置
US8626820B1 (en) * 2003-01-21 2014-01-07 Peer Fusion, Inc. Peer to peer code generator and decoder for digital systems
US9372870B1 (en) * 2003-01-21 2016-06-21 Peer Fusion, Inc. Peer to peer code generator and decoder for digital systems and cluster storage system
JP2004318330A (ja) 2003-04-14 2004-11-11 Renesas Technology Corp 半導体集積回路装置およびデータ処理システム
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
JP4873526B2 (ja) 2005-07-26 2012-02-08 ルネサスエレクトロニクス株式会社 半導体集積回路及びマイクロコンピュータ
JP4686350B2 (ja) * 2005-12-09 2011-05-25 株式会社東芝 不揮発性半導体記憶装置及びその自己テスト方法
JP4936746B2 (ja) * 2006-03-08 2012-05-23 ルネサスエレクトロニクス株式会社 半導体装置
JP2007293593A (ja) * 2006-04-25 2007-11-08 Matsushita Electric Ind Co Ltd メモリセルフテスト回路及びそれを備えた半導体装置及びicカード並びにメモリセルフテスト方法
US7466603B2 (en) * 2006-10-03 2008-12-16 Inapac Technology, Inc. Memory accessing circuit system
US8344475B2 (en) * 2006-11-29 2013-01-01 Rambus Inc. Integrated circuit heating to effect in-situ annealing
ITVA20070041A1 (it) * 2007-04-11 2008-10-12 St Microelectronics Srl Procedimento e sistema di autoverifica della funzionalita' di una memoria contenuta in un dispositivo integrato
US8041989B2 (en) * 2007-06-28 2011-10-18 International Business Machines Corporation System and method for providing a high fault tolerant memory system
US8271700B1 (en) * 2007-11-23 2012-09-18 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
JP4617405B2 (ja) * 2008-02-05 2011-01-26 富士通株式会社 不良メモリを検出する電子機器、不良メモリ検出方法およびそのためのプログラム
KR101005155B1 (ko) * 2009-05-13 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 테스트 방법
EP2381265B1 (en) * 2010-04-20 2013-09-11 STMicroelectronics Srl System for performing the test of digital circuits
US20120066551A1 (en) * 2010-09-15 2012-03-15 Alexandre Palus Run-time Verification of CPU Operation
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
WO2013100748A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Watchdogable register-based i/o
BR112014027707A2 (pt) * 2012-06-06 2017-06-27 Intel Corp recuperação após eventos de contenção de erro de entrada/saída
US8924786B2 (en) * 2012-06-28 2014-12-30 Intel Corporation No-touch stress testing of memory I/O interfaces
JP6003449B2 (ja) * 2012-09-20 2016-10-05 株式会社ソシオネクスト 半導体装置及びメモリの制御方法
US9430323B2 (en) * 2013-02-01 2016-08-30 Broadcom Corporation Power mode register reduction and power rail bring up enhancement
JP6377751B2 (ja) * 2013-09-24 2018-08-22 インテル・コーポレーション メモリ中のエラーを処理するためのエラー訂正ポインタの使用
US9202516B1 (en) * 2014-06-30 2015-12-01 Dell Products, Lp Diagnostic method and apparatus for a tape storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163274A (ja) * 1998-11-26 2000-06-16 Nec Corp 電子機器およびromデータ監視プログラムを記録した記録媒体
JP2006113804A (ja) * 2004-10-14 2006-04-27 Toyota Motor Corp 制御装置のデータ記憶装置
JP2006171952A (ja) * 2004-12-14 2006-06-29 Renesas Technology Corp 半導体集積回路装置
JP2013143095A (ja) * 2012-01-12 2013-07-22 Toyota Motor Corp 電子制御装置、メモリ検査方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6271103B1 (ja) * 2017-02-22 2018-01-31 三菱電機株式会社 制御装置及び制御方法
WO2018154664A1 (ja) * 2017-02-22 2018-08-30 三菱電機株式会社 制御装置及び制御方法

Also Published As

Publication number Publication date
US20160041860A1 (en) 2016-02-11
US10108469B2 (en) 2018-10-23
JP6341795B2 (ja) 2018-06-13

Similar Documents

Publication Publication Date Title
JP6341795B2 (ja) マイクロコンピュータ及びマイクロコンピュータシステム
US7900036B2 (en) System and method for implementing boot/recovery on a data processing sysem
KR101358776B1 (ko) 장비의 리부트 이유를 기록하는 장치 및 방법
US11686767B2 (en) System, apparatus and method for functional testing of one or more fabrics of a processor
EP3198725B1 (en) Programmable ic with safety sub-system
US10691565B2 (en) Storage control device and storage control method
JP2011043957A (ja) 障害監視回路、半導体集積回路及び故障個所特定方法
JP2012198876A (ja) メモリデバイスにおける読み出し不可状態を解決するための装置及び方法
JP2008009721A (ja) 評価システム及びその評価方法
JP6290303B2 (ja) 誤り訂正能力をテストするための回路および方法
KR20140134371A (ko) 프로세서의 오류를 검출하는 장치 및 방법
US10777296B2 (en) Information handling system and method to dynamically detect and recover from thermally induced memory failures
US9130566B1 (en) Programmable IC with power fault tolerance
JP2010117813A (ja) デバッグシステム、デバッグ方法、デバッグ制御方法及びデバッグ制御プログラム
JP2007034469A (ja) データエラー検出装置およびデータエラー検出方法
WO2008004330A1 (fr) Système à processeurs multiples
KR101478907B1 (ko) 신호 처리 회로 및 이를 사용한 시험 장치
US8032720B2 (en) Memory access monitoring apparatus and related method
US11748220B2 (en) Transmission link testing
US20190034252A1 (en) Processor error event handler
JP5910356B2 (ja) 電子装置、電子装置制御方法及び電子装置制御プログラム
US8151176B2 (en) CPU instruction RAM parity error procedure
JP2007058450A (ja) 半導体集積回路
US9459977B2 (en) Data processing system with debug control
US20080195896A1 (en) Apparratus and method for universal programmable error detection and real time error detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180411

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: 20180424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180515

R150 Certificate of patent or registration of utility model

Ref document number: 6341795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150