(57)【要約】【課題】構成機器に生じたエラーを適切に推定してエラー処理を行うこと。【解決手段】ＣＰＵ、メモリその他の複数の構成機器を備えるマイクロコンピュータであって、レジスタと、該レジスタに書き込まれるデータと同一のデータが書き込まれるＭＲＡＭと、前記レジスタ及び前記ＭＲＡＭから定期的に出力されるデータを比較して比較結果を出力する比較手段と、を有する一以上のバックアップ機能付き記憶装置を備え、前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す場合に、前記複数の構成機器のいずれか又は全部にエラーが生じたと推定して所定のエラー処理を行うことを特徴とする、マイクロコンピュータ。【選択図】図１
2011237928.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ、メモリその他の複数の構成機器を備えるマイクロコンピュータであって、
レジスタと、該レジスタに書き込まれるデータと同一のデータが書き込まれるＭＲＡＭと、前記レジスタ及び前記ＭＲＡＭから定期的に出力されるデータを比較して比較結果を出力する比較手段と、を有する一以上のバックアップ機能付き記憶装置を備え、
前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す場合に、前記複数の構成機器のいずれか又は全部にエラーが生じたと推定して所定のエラー処理を行うことを特徴とする、
マイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータであって、
前記ＭＲＡＭ及び前記レジスタは、前記ＭＲＡＭが表面側となるように積層形成される、マイクロコンピュータ。
【請求項３】
請求項１又は２に記載のマイクロコンピュータであって、
前記レジスタと前記ＭＲＡＭのビット数は同一であり、
前記比較手段は、前記レジスタ及び前記ＭＲＡＭのビット数分のＥＯＲ（Exclusive  OR）回路を備える、マイクロコンピュータ。
【請求項４】
請求項１ないし３のいずれか１項に記載のマイクロコンピュータであって、
前記バックアップ機能付き記憶装置を異なる箇所に複数個備え、
前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す比較結果を出力したバックアップ機能付き記憶装置に、予め対応づけられている構成機器について、所定のエラー処理を行うことを特徴とする、
マイクロコンピュータ。
【請求項５】
請求項４に記載のマイクロコンピュータであって、
前記複数のバックアップ機能付き記憶装置と前記複数の構成機器は、近い距離に取り付けられたものが予め対応づけられていることを特徴とする、
マイクロコンピュータ。
【請求項６】
請求項４又は５に記載のマイクロコンピュータであって、
前記所定のエラー処理の内容は、対象とする構成機器の種類に応じて異なることを特徴とする、
マイクロコンピュータ。
【請求項７】
請求項４ないし６のいずれか１項に記載のマイクロコンピュータであって、
前記所定のエラー処理の内容は、前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示した回数に応じて段階的に変更され、
該回数に対する基準は、対象とする構成機器の種類によって異なることを特徴とする、
マイクロコンピュータ。
【請求項８】
請求項１ないし７のいずれか１項に記載のマイクロコンピュータであって、
前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す場合に、前記レジスタ及び前記ＭＲＡＭに修正用データを書き込むことを特徴とする、
マイクロコンピュータ。
【請求項９】
ＣＰＵ、メモリその他の複数の構成機器を備えるマイクロコンピュータであって、
レジスタと、該レジスタに書き込まれるデータと同一のデータが書き込まれるＭＲＡＭと、前記レジスタ及び前記ＭＲＡＭから定期的に出力されるデータを比較して比較結果を出力する比較手段と、を有する一以上のバックアップ機能付き記憶装置を備え、
前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す場合に、前記レジスタ及び前記ＭＲＡＭに直近に書き込まれたデータを、前記レジスタ及び前記ＭＲＡＭに修正用データとして書き込むことを特徴とする、
マイクロコンピュータ。
【請求項１０】
車両に搭載され、車載機器制御のための処理を行う、請求項１ないし９のいずれか１項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵやメモリ等の複数の構成機器を有するマイクロコンピュータに関する。
【背景技術】
【０００２】
従来、ＣＰＵやメモリ等の複数の構成機器を有するマイクロコンピュータが広く用いられている。マイクロコンピュータの構成機器は、主にトランジスタ等によって製造されており、ソフトエラー及び外来磁場によるエラーの双方について脆弱性を孕んでいる。
【０００３】
ソフトエラーとは、宇宙線その他の高エネルギー荷電粒子によってレジスタ等の半導体メモリに記憶されたデータが変化してしまうことをいい、外来磁場によるエラーとは、外来磁場によってＭＲＡＭ（磁気抵抗メモリ）やＨＤＤ（Hard  Disc  Drive）等の磁気記憶装置に記憶されたデータが変化してしまうことをいう。
【０００４】
マイクロコンピュータにおいては、ソフトエラー及び外来磁場によるエラーの双方が起こり得るため、何らかのエラー検出機能やバックアップ機能等を有する必要がある場合がある。しかしながら、ＣＰＵやメモリ等の複数の構成機器の全てについてエラー検出機能やバックアップ機能等を持たせると、必要以上に構成が冗長となってしまう。
【０００５】
ところで、特許文献１には、主メモリとして機能するＤＲＡＭ（Dynamic  Random  Access  Memory）と、バックアップ用のＭＲＡＭを積層させ、ＤＲＡＭに記憶された値とＭＲＡＭに記憶された値が異なる場合に、ＤＲＡＭに記憶された値をＭＲＡＭに書き込むように制御するメモリシステムについて記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３０９６８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１には、自己が有するＤＲＡＭがＭＲＡＭのデータを自己修復することについて記載されているが、それ以外のマイクロコンピュータの構成機器との関係について何ら記載されていない。従って、前述のマイクロコンピュータの構成機器が有する脆弱性を解決することが可能なものではない。
【０００８】
本発明はこのような課題を解決するためのものであり、構成機器に生じたエラーを適切に推定してエラー処理を行うことが可能なマイクロコンピュータを提供することを、主たる目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明の第１の態様は、
ＣＰＵ、メモリその他の複数の構成機器を備えるマイクロコンピュータであって、
レジスタと、該レジスタに書き込まれるデータと同一のデータが書き込まれるＭＲＡＭと、前記レジスタ及び前記ＭＲＡＭから定期的に出力されるデータを比較して比較結果を出力する比較手段と、を有する一以上のバックアップ機能付き記憶装置を備え、
前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す場合に、前記複数の構成機器のいずれか又は全部にエラーが生じたと推定して所定のエラー処理を行うことを特徴とする、
マイクロコンピュータである。
【００１０】
この本発明の第１の態様によれば、ソフトエラーを生じる可能性があるレジスタと外来磁場によるエラーを可能性があるＭＲＡＭの双方を備えているバックアップ機能付き記憶装置を用いて他の構成機器のエラー発生を推定するため、構成機器に生じたエラーを適切に推定してエラー処理を行うことができる。
【００１１】
本発明の第１の態様において、
前記ＭＲＡＭ及び前記レジスタは、前記ＭＲＡＭが表面側となるように積層形成されるものとすると、好適である。
【００１２】
こうすれば、主メモリとして機能するレジスタに対するバックアップ機能付き記憶装置の面積増分は、比較手段の分のみとなり、装置のサイズが増大するのを抑制することができる。
【００１３】
また、本発明の第１の態様において、
前記レジスタと前記ＭＲＡＭのビット数は同一であり、
前記比較手段は、前記レジスタ及び前記ＭＲＡＭのビット数分のＥＯＲ（Exclusive  OR）回路を備えるものとしてもよい。
【００１４】
また、本発明の第１の態様において、
前記バックアップ機能付き記憶装置を異なる箇所に複数個備え、
前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す比較結果を出力したバックアップ機能付き記憶装置に、予め対応づけられている構成機器について、所定のエラー処理を行うことを特徴とするものとすると、好適である。
【００１５】
こうすれば、エラーの局所発生を適切に推定することができる。この結果、余剰なエラー処理による電力消費の増大や、マイクロコンピュータ寿命低下を抑制することができる。
【００１６】
バックアップ機能付き記憶装置を異なる箇所に複数個備える場合、
前記複数のバックアップ機能付き記憶装置と前記複数の構成機器は、例えば近い距離に取り付けられたものが予め対応づけられている。
【００１７】
また、バックアップ機能付き記憶装置を異なる箇所に複数個備える場合、
前記所定のエラー処理の内容は、対象とする構成機器の種類に応じて異なることを特徴とするものとしてもよい。
【００１８】
こうすれば、エラーの深刻度に応じて異なるエラー処理を行うことができる。この結果、余剰なエラー処理による電力消費の増大や、マイクロコンピュータ寿命低下を更に抑制することができる。また、マイクロコンピュータ全体に影響を及ぼすような主要な構成機器にエラーが発生した場合に、迅速にシステム停止等の処理を行うことができ、マイクロコンピュータが制御対象とする機器の安全を確保することができる。
【００１９】
また、バックアップ機能付き記憶装置を異なる箇所に複数個備える場合、
前記所定のエラー処理の内容は、前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示した回数に応じて段階的に変更され、
該回数に対する基準は、対象とする構成機器の種類によって異なることを特徴とするものとしてもよい。
【００２０】
こうすれば、エラーの深刻度に応じて異なるエラー処理を行うことができる。この結果、余剰なエラー処理による電力消費の増大や、マイクロコンピュータ寿命低下を更に抑制することができる。また、マイクロコンピュータ全体に影響を及ぼすような主要な構成機器にエラーが発生した場合に、迅速にシステム停止等の処理を行うことができ、マイクロコンピュータが制御対象とする機器の安全を確保することができる。
【００２１】
本発明の第１の態様において、
前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す場合に、前記レジスタ及び前記ＭＲＡＭに修正用データを書き込むことを特徴とするものとしてもよい。
【００２２】
こうすれば、レジスタとＭＲＡＭのいずれかに生じたエラーを迅速に修正することができる。
【００２３】
本発明の第２の態様は、
ＣＰＵ、メモリその他の複数の構成機器を備えるマイクロコンピュータであって、
レジスタと、該レジスタに書き込まれるデータと同一のデータが書き込まれるＭＲＡＭと、前記レジスタ及び前記ＭＲＡＭから定期的に出力されるデータを比較して比較結果を出力する比較手段と、を有する一以上のバックアップ機能付き記憶装置を備え、
前記バックアップ機能付き記憶装置の比較手段が出力する比較結果が、前記レジスタ及び前記ＭＲＡＭから出力されたデータが異なるものであったことを示す場合に、前記レジスタ及び前記ＭＲＡＭに直近に書き込まれたデータを、前記レジスタ及び前記ＭＲＡＭに修正用データとして書き込むことを特徴とする、
マイクロコンピュータである。
【００２４】
本発明の第２の態様によれば、レジスタとＭＲＡＭのいずれかに生じたエラーを迅速に修正することができる。
【００２５】
本発明の第１又は第２の態様は、
車両に搭載され、車載機器制御のための処理を行うものとしてもよい。
【発明の効果】
【００２６】
本発明によれば、構成機器に生じたエラーを適切に推定してエラー処理を行うことが可能なマイクロコンピュータを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１実施例に係るマイクロコンピュータ１のシステム構成例である。
【図２】バックアップ機能付き記憶装置５０の構成を模式的に示す図である。
【図３】レジスタ５２とＭＲＡＭセル５４のいずれかにエラーが生じてから、このエラーが修正されるまでの流れを示すタイミングチャートである。
【図４】本実施例に係るバックアップ機能付き記憶装置５０との比較例であり、従来用いられていたチェックサムを用いたエラー検出回路の構成例である。
【図５】レジスタ５２とＭＲＡＭセル５４のビット数が１ビットである場合のバックアップ機能付き記憶装置５０の構成を模式的に示す図である。
【図６】マイクロコンピュータ１において実行されるエラー処理の流れを示すフローチャートである。
【図７】本発明の第２実施例に係るマイクロコンピュータ２のシステム構成例である。
【図８】ブロック判定回路６０の回路構成例である。
【図９】いずれかのバックアップ機能付き記憶装置５０が有するレジスタ５２又はＭＲＡＭセル５４にエラーが生じてから、このエラーが修正されるまでの流れを示すタイミングチャートである。
【図１０】マイクロコンピュータ２において実行されるエラー処理の流れを示すフローチャートである。
【図１１】マイクロコンピュータ２において実行されるエラー処理の流れを示すフローチャートの他の例である。
【発明を実施するための形態】
【００２８】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２９】
＜第１実施例＞
以下、図面を参照し、本発明の第１実施例に係るマイクロコンピュータ１について説明する。マイクロコンピュータ１は、例えば車両に搭載され、種々の車載機器制御を行う車載制御装置の一部を構成するコンピュータに、好適に適用される。後述の第２実施例についても同様である。
【００３０】
車載制御装置の例としては、例えばエンジン制御装置、ブレーキ制御装置、パワーステアリング等を制御するステアリング制御装置、ドアロック等を制御するボデー制御装置、ＶＳＣ（Vehicle  Stability  Control）やＶＤＩＭ（Vehicle  Dynamics  Integrated  Management）等の車両安定化制御装置、ＡＣＣ（Adaptive  Cruise  Control）等の運転支援装置、ナビゲーション制御装置等が挙げられる。
【００３１】
［全体構成］
図１は、本発明の第１実施例に係るマイクロコンピュータ１のシステム構成例である。マイクロコンピュータ１は、主要な構成として、ＣＰＵ（Central  Processing  Unit）１０と、ＳＲＡＭ（Static  Random  Access  Memory）２０と、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory：磁気抵抗メモリ）３０と、周辺回路４０と、複数のバックアップ機能付き記憶装置５０＃１〜５０＃５と、を備え、これらの構成要素がバスによって相互に接続されている。
【００３２】
このバスにおいては、例えばＡＭＢＡ（Advanced  Microcontroller  Bus  Architecture）に代表されるＬＳＩ内の接続バス仕様に基づいて、データの送受信が行われている。
【００３３】
ＣＰＵ１０は、例えば、命令デコーダ、各種レジスタ、演算回路、プログラムカウンタ等を有する。ＣＰＵ１０は、図示しないプログラムメモリに格納されたプログラム（命令）を専用レジスタにフェッチし、これをデコードして実行することにより、種々の処理を行なうことができる。プログラムメモリとしては、例えばＲＯＭ（Read  Only  Memory）やＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）等が用いられる。
【００３４】
ＳＲＡＭ２０は、フリップフロップ回路を使ったスタティック型メモリであり、例えばキャッシュメモリ、ワークメモリとして機能する。
【００３５】
ＭＲＡＭ３０は、磁化が固定された強磁性層と磁化が可変な強磁性層の間を薄い絶縁層で仕切った構造となっており、磁化が可変な強磁性層の磁化方向を変化させて抵抗値を切り替えることによって、２値信号を表現している。ＭＲＡＭ３０は、不揮発性メモリであるため、マイクロコンピュータ１の電源が切られても保持する必要のあるデータが格納される。
【００３６】
周辺回路４０は、例えば、バスコントローラやＡ／Ｄ変換回路等を含む。
【００３７】
［バックアップ機能付き記憶装置］
複数のバックアップ機能付き記憶装置５０＃１〜５０＃５は、同様の構成を有している。従って、以下では複数のバックアップ機能付き記憶装置５０＃１〜５０＃５を、必要に応じて単にバックアップ機能付き記憶装置１０と称する。
【００３８】
図２は、バックアップ機能付き記憶装置５０の構成を模式的に示す図である。バックアップ機能付き記憶装置５０は、同一のバスＡに接続されたレジスタ５２及びＭＲＡＭセル５４と、検出回路５６Ａ〜５６Ｄと、を備える。
【００３９】
レジスタ５２は、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）ロジック回路で構成された４ビット長のレジスタである。レジスタ５２は、バスＡから入力されるデータが書き込まれると共に、必要に応じてバスＡにデータを出力し、主メモリとして機能する。
【００４０】
ＭＲＡＭセル５４は、前述のＭＲＡＭ３０と同様の構造を有しており、レジスタ５２と同じく４ビット長のデータを記憶可能である。ＭＲＡＭセル５４は、バスＡから入力されるデータ（レジスタ５２に書き込まれるデータと同一のもの）が書き込まれ、バックアップ用メモリとして機能する。
【００４１】
レジスタ５２とＭＲＡＭセル５４は、ＭＲＡＭセル５４が表面側となるように積層形成される。半導体集積回路に集積されるＭＲＡＭは、配線層に作り込むことができるからである。これによって、主メモリとして機能するレジスタ５２に対するバックアップ機能付き記憶装置５０の面積増分は、検出回路５６Ａ〜５６Ｄの分のみとなる。
【００４２】
レジスタ５２には、例えばマイクロコンピュータ１の内部クロックが供給され、例えば内部クロックの立ち上がりのタイミングで各ビットのデータを検出回路５６Ａ〜５６Ｄに出力する。また、ＭＲＡＭセル５４には読み出し回路が取り付けられており、この読み出し回路が、内部クロックの立ち上がりのタイミング等で各ビットのデータを検出回路５６Ａ〜５６Ｄに出力する。
【００４３】
検出回路５６Ａ〜５６Ｄは、例えば、それぞれがＥＯＲ（Exclusive  OR；排他的論理和）回路であり、レジスタ５２及びＭＲＡＭセル５４のビット長に対応して４個取り付けられている。検出回路５６Ａは、レジスタ５２及びＭＲＡＭセル５４が出力した１ビット目のデータが一致した場合に値０を示す信号を出力し、一致しなかった場合に値１を示す信号を出力する。検出回路５６Ｂは、レジスタ５２及びＭＲＡＭセル５４が出力した２ビット目のデータが一致した場合に値０を示す信号を出力し、一致しなかった場合に値１を示す信号を出力する。検出回路５６Ｃは、レジスタ５２及びＭＲＡＭセル５４が出力した３ビット目のデータが一致した場合に値０を示す信号を出力し、一致しなかった場合に値１を示す信号を出力する。検出回路５６Ｄは、レジスタ５２及びＭＲＡＭセル５４が出力した４ビット目のデータが一致した場合に値０を示す信号を出力し、一致しなかった場合に値１を示す信号（エラー検出信号）を出力する。
【００４４】
そして、検出回路５６Ａ〜５６Ｄの出力信号は、前述したＣＰＵ１０、或いは図示しない割り込みコントローラ、監視回路、ＯＳが制御する機器等に出力される。これらの機器は、検出回路５６Ａ〜５６Ｄの出力信号のいずれかが値１を示す場合に、修正用データをレジスタ５２及びＭＲＡＭセル５４に出力すると共に、後述するようなエラー処理をマイクロコンピュータ１全体に対して実行する（又は起動させる）。
【００４５】
図３は、レジスタ５２とＭＲＡＭセル５４のいずれかにエラーが生じてから、このエラーが修正されるまでの流れを示すタイミングチャートである。
【００４６】
バスＡにデータが出力されると（時刻ｔ１）、これがレジスタ５２及びＭＲＡＭセル５４に格納される（時刻ｔ２）。これらの処理は、マイクロコンピュータ１が実行するタスクの内容に応じて繰り返し実行される。
【００４７】
宇宙線の照射等によってレジスタ５２にソフトエラーが発生すると（時刻ｔ３）、検出回路５６Ａ〜５６Ｄのいずれか又は全部がエラー検出信号を出力する（時刻ｔ４）。
【００４８】
エラー検出信号を検知したＣＰＵ１０、割り込みコントローラ、監視回路、ＯＳが制御する機器等は、直近にバスＡに出力したデータを再度、修正用データとしてバスＡに出力し（時刻ｔ５）、これがレジスタ５２及びＭＲＡＭセル５４に格納される（時刻ｔ６）。これによって、エラー検出信号の出力が停止する（時刻ｔ７）。
【００４９】
なお、修正用データをバスＡに出力しようとしているタイミングで新規データが生成されている場合は、当該新規データをバスＡに出力してよい。
【００５０】
このように、検出回路５６Ａ〜５６Ｄの出力したエラー検出信号に応じて修正用データをバスＡに出力することにより、レジスタ５２とＭＲＡＭセル５４のいずれかに生じたエラーを迅速に修正することができる。
【００５１】
図４は、本実施例に係るバックアップ機能付き記憶装置５０との比較例であり、従来用いられていたチェックサムを用いたエラー検出回路の構成例である。このエラー検出回路は、レジスタへの書き込みの際にチェックサムを算出する３個のＥＯＲ回路と、チェックサムを格納するフラグと、レジスタへの書き込み及び読み出しのためのバスと、レジスタの値とチェックサムとの不一致を検出するための４個のＥＯＲ回路とを有している。
【００５２】
本実施例に係るバックアップ機能付き記憶装置５０は、図４に示した従来のエラー検出回路に比して、主メモリとして機能するレジスタ５２に対する面積増分が小さく、装置サイズを縮小することができる。また、レジスタ５２に格納された各データをチェックすることができるため、チェック精度が高いものとなっている。
【００５３】
なお、レジスタ５２とＭＲＡＭセル５４のビット数は、同一であることが望ましいが、必ずしも４ビットである必要はない。図５は、レジスタ５２とＭＲＡＭセル５４のビット数が１ビットである場合のバックアップ機能付き記憶装置５０の構成を模式的に示す図である。この場合、バックアップ機能付き記憶装置５０は、データを保持するための記憶装置というよりは、主に後述するエラー推定のために用いられ得る。
【００５４】
［エラー推定、及びエラー処理］
以下、バックアップ機能付き記憶装置５０をエラー推定のための装置として用いるマイクロコンピュータ１のエラー推定、及びエラー処理について説明する。以下の説明では、説明を簡略にするために、バックアップ機能付き記憶装置５０が有するレジスタ５２とＭＲＡＭセル５４のビット数は１ビットであるものとする（図５参照）。
【００５５】
マイクロコンピュータ１では、バックアップ機能付き記憶装置５０の検出回路５６がエラー検出信号を出力したときに、マイクロコンピュータ１の他の構成要素、すなわちＣＰＵ１０、ＳＲＡＭ２０、ＭＲＡＭ３０、周辺回路４０にも同種類のエラーが発生したものと推定し、初期化、停止等のエラー処理を実行する。エラー処理の実行主体は、ＣＰＵ１０、割り込みコントローラ、監視回路、ＯＳが制御する機器等である。
【００５６】
バックアップ機能付き記憶装置５０は、ソフトエラーを生じる可能性があるレジスタ５２と、外来磁場によるエラーを生じる可能性があるＭＲＡＭセル５４との双方を備えている。このため、マイクロコンピュータ１の他の構成要素についてソフトエラー又は外来磁場によるエラーが生じた可能性が高い環境下では、高い確率でエラー検出信号を出力するように構成されている。従って、バックアップ機能付き記憶装置５０を用いて他の構成機器のエラー発生を推定することにより、構成機器に生じたエラーを適切に推定してエラー処理を行うことができる。
【００５７】
図６は、マイクロコンピュータ１において実行されるエラー処理の流れを示すフローチャートである。本フローは、前述のエラー処理の実行主体によって実行される。
【００５８】
まず、マイクロコンピュータ１では、バックアップ機能付き記憶装置５０＃１〜５０＃５のレジスタ５２とＭＲＡＭセル５４に、同一のデータを記憶させる（Ｓ１００）。
【００５９】
次に、いずれかのバックアップ機能付き記憶装置５０がエラー検出信号を出力したか否かを判定する（Ｓ１０２）。本ステップにおいて否定的な判定を得た場合は、ポーリング動作を行う。これを、いずれかのバックアップ機能付き記憶装置５０がエラー検出信号を出力するまで、或いはマイクロコンピュータ１がシャットダウンされるまでの間、繰り返し実行する。
【００６０】
Ｓ１０２において、いずれかのバックアップ機能付き記憶装置５０がエラー検出信号を出力したと判定した場合は、当該エラー検出信号の出力が一回目であるか否かを判定する（Ｓ１０４）。なお、「一回目」の基準は、マイクロコンピュータ１のシステム起動時であり、エラー検出信号の出力回数はマイクロコンピュータ１が備えるＮＶメモリ（Non-Volatileメモリ）等にカウント値として格納される。そして、マイクロコンピュータ１がシャットダウンされると、カウント値はリセットされる。
【００６１】
エラー検出信号の出力が一回目である場合は、エラー履歴、及びエラー検出信号の出力回数をレジスタ等に記憶させる（Ｓ１０６）。そして、マイクロコンピュータ１の初期化を行って（Ｓ１０８）、Ｓ１００に戻る。マイクロコンピュータ１の初期化は、マイクロコンピュータ１の各構成要素、及びこれらが備えるレジスタ等に、図示しないＲＯＭやＥＥＰＲＯＭに記憶された初期データを書き込む処理を含む。
【００６２】
一方、エラー検出信号の出力が二回目である場合は、マイクロコンピュータ１を強制的に停止させ（Ｓ１１０）、本フローを終了する。
【００６３】
以上説明した本実施例のマイクロコンピュータ１によれば、ソフトエラーを生じる可能性があるレジスタ５２と外来磁場によるエラーを生じる可能性があるＭＲＡＭセル５４との双方を備えているバックアップ機能付き記憶装置５０を用いて他の構成機器のエラー発生を推定するため、構成機器に生じたエラーを適切に推定してエラー処理を行うことができる。
【００６４】
また、バックアップ機能付き記憶装置５０は、レジスタ５２に格納された各データをチェックするため、チェック精度が高いものとなっている。従って、構成機器に生じたエラーを高精度に推定することができる。
【００６５】
更に、バックアップ機能付き記憶装置５０は、主メモリとして機能するレジスタ５２に対する面積増分が小さく、装置サイズが小さくて済むため、マイクロコンピュータ１の複数の箇所にバックアップ機能付き記憶装置５０を配置しても、マイクロコンピュータ１のサイズが増大するのを抑制することができる。
【００６６】
＜第２実施例＞
以下、図面を参照し、本発明の第２実施例に係るマイクロコンピュータ２について説明する。
【００６７】
［全体構成］
図７は、本発明の第２実施例に係るマイクロコンピュータ２のシステム構成例である。マイクロコンピュータ１は、主要な構成として、ＣＰＵ１０と、ＳＲＡＭ２０と、ＭＲＡＭ３０と、周辺回路４０と、複数のバックアップ機能付き記憶装置５０＃１〜５０＃４と、ブロック判定回路６０と、を備え、これらの構成要素がバスによって相互に接続されている。
【００６８】
このバスにおいては、例えばＡＭＢＡ（Advanced  Microcontroller  Bus  Architecture）に代表されるＬＳＩ内の接続バス仕様に基づいて、データの送受信が行われている。
【００６９】
ＣＰＵ１０、ＳＲＡＭ２０、ＭＲＡＭ３０、周辺回路４０については、第１実施例と同様の機能を有するため、説明を省略する。
【００７０】
また、各バックアップ機能付き記憶装置についても、第１実施例と同様の機能を有するため、説明を省略する。
【００７１】
［エラー推定、及びエラー処理］
以下、バックアップ機能付き記憶装置５０をエラー推定のための装置として用いるマイクロコンピュータ２のエラー推定、及びエラー処理について説明する。以下の説明では、説明を簡略にするために、バックアップ機能付き記憶装置５０が有するレジスタ５２とＭＲＡＭセル５４のビット数は１ビットであるものとする（図５参照）。
【００７２】
第２実施例に係るマイクロコンピュータ２では、図７に示すように、バックアップ機能付き記憶装置５０＃１〜５０＃４を異なる箇所に複数個備えており、これらのうちエラー検出信号を出力したバックアップ機能付き記憶装置５０に予め対応づけられている構成機器について、エラー処理を行う。そして、バックアップ機能付き記憶装置５０＃１〜５０＃４と複数の構成機器は、近い距離に取り付けられたものが予め対応づけられている。
【００７３】
そして、本実施例に係るマイクロコンピュータ２では、バックアップ機能付き記憶装置５０＃１がエラー検出信号を出力した場合には周辺回路４０にエラーが生じたと推定し、バックアップ機能付き記憶装置５０＃２がエラー検出信号を出力した場合にはＣＰＵ１０にエラーが生じたと推定し、バックアップ機能付き記憶装置５０＃３がエラー検出信号を出力した場合にはＭＲＡＭ３０にエラーが生じたと推定し、バックアップ機能付き記憶装置５０＃４がエラー検出信号を出力した場合にはＳＲＡＭ２０にエラーが生じたと推定する。
【００７４】
これによって、エラーの局所発生を適切に推定することができる。従って、構成機器に生じたエラーを更に適切に推定してエラー処理を行うことができる。この結果、余剰なエラー処理による電力消費の増大や、マイクロコンピュータ寿命低下を抑制することができる。
【００７５】
バックアップ機能付き記憶装置５０＃１〜５０＃４と複数の構成機器の対応付けは、ブロック判定回路６０によって行われる。図７の例では、例えば、バックアップ機能付き記憶装置５０＃１と周辺回路４０が、バックアップ機能付き記憶装置５０ＢとＣＰＵ１０が、バックアップ機能付き記憶装置５０ＣとＭＲＡＭ３０が、バックアップ機能付き記憶装置５０＃４とＳＲＡＭ２０が、それぞれ対応づけられている。図８は、ブロック判定回路６０の回路構成例である。図示するように、ブロック判定回路６０は、全てのバックアップ機能付き記憶装置５０の検出回路の出力が入力されるＯＲ（論理和）回路６２と、全てのバックアップ機能付き記憶装置５０の検出回路の出力が入力されるＡＮＤ（論理席）回路６４と、を備える。そして、ＯＲ回路６２の出力信号（いずれかのバックアップ機能付き記憶装置５０がエラー検出信号を出力したことを示す親エラー検出信号）、ＡＮＤ回路６４の出力信号（全てのバックアップ機能付き記憶装置５０がエラー検出信号を出力したことを示す信号）、及び入力された全てのバックアップ機能付き記憶装置５０の検出回路の出力信号（子エラー検出信号）を外部に出力している。
【００７６】
そして、ブロック判定回路６０の出力信号は、前述したＣＰＵ１０、或いは図示しない割り込みコントローラ、監視回路、ＯＳが制御する機器等に出力される。これらの機器は、親エラー検出信号が値１を示す場合に、子エラー検出信号を参照していずれのバックアップ機能付き記憶装置５０がエラー検出信号を出力したかを判別し、修正用データを当該バックアップ機能付き記憶装置５０のレジスタ５２及びＭＲＡＭセル５４に出力すると共に、後述するようなエラー処理をマイクロコンピュータ２全体に対して実行する（又は起動させる）。
【００７７】
図９は、いずれかのバックアップ機能付き記憶装置５０が有するレジスタ５２又はＭＲＡＭセル５４にエラーが生じてから、このエラーが修正されるまでの流れを示すタイミングチャートである。
【００７８】
バスＡにデータが出力されると（時刻ｔ１１）、これが全てのバックアップ機能付き記憶装置５０のレジスタ５２及びＭＲＡＭセル５４に格納される（時刻ｔ１２）。これらの処理は、マイクロコンピュータ２が実行するタスクの内容に応じて繰り返し実行される。
【００７９】
宇宙線の照射等によって全てのバックアップ機能付き記憶装置５０のレジスタ５２にソフトエラーが発生すると（時刻ｔ１３）、全てのバックアップ機能付き記憶装置５０の検出回路が子エラー検出信号を出力する（時刻ｔ１４）。この結果、ブロック判定回路６０は親エラー検出信号及び４つの子エラー検出信号を出力する。
【００８０】
親エラー検出信号、及び４つの子エラー検出信号を検知したＣＰＵ１０、割り込みコントローラ、監視回路、ＯＳが制御する機器等は、マイクロコンピュータ２の初期化を実行する（時刻ｔ１５）。そして、直近にバスＡに出力したデータを再度、修正用データとしてバスＡに出力し（時刻ｔ１６）、これが全てのバックアップ機能付き記憶装置５０のレジスタ５２及びＭＲＡＭセル５４に格納される（時刻ｔ１７）。これによって、エラー検出信号の出力が停止する。なお、修正用データをバスＡに出力しようとしているタイミングで新規データが生成されている場合は、当該新規データをバスＡに出力してよい。
【００８１】
次いで、宇宙線の照射等によってバックアップ機能付き記憶装置５０＃１のレジスタ５２にのみソフトエラーが発生すると（時刻ｔ１８）、バックアップ機能付き記憶装置５０＃１の検出回路が子エラー検出信号を出力する（時刻ｔ１９）。この結果、ブロック判定回路６０は親エラー検出信号及び１つの子エラー検出信号＃１を出力する。
【００８２】
親エラー検出信号、及び１つの子エラー検出信号＃１を検知したＣＰＵ１０、割り込みコントローラ、監視回路、ＯＳが制御する機器等は、周辺回路４０の初期化を実行する（時刻ｔ２０）。そして、直近にバスＡに出力したデータを再度、修正用データとしてバスＡに出力し（時刻ｔ２１）、これが全てのバックアップ機能付き記憶装置５０のレジスタ５２及びＭＲＡＭセル５４に格納される（時刻ｔ２２）。これによって、エラー検出信号の出力が停止する。
【００８３】
なお、この場合、バックアップ機能付き記憶装置５０＃１のレジスタ５２及びＭＲＡＭセル５４にのみ修正用データが格納されるように、識別子等をバスＡに出力してもよい。
【００８４】
このように、バックアップ機能付き記憶装置５０の検出回路の出力したエラー検出信号に応じて、修正用データをバスＡに出力することにより、レジスタ５２とＭＲＡＭセル５４のいずれかに生じたエラーを迅速に修正することができる。
【００８５】
また、本実施例に係るマイクロコンピュータ２では、エラー処理の内容を、対象とする構成機器の種類に応じて異ならせており、更に、エラー処理の内容は、エラー検出信号の出力回数に応じて段階的に変更され、この回数に対する基準も、対象とする構成機器の種類によって異ならせている。
【００８６】
これによって、エラーの深刻度に応じて異なるエラー処理を行うことができる。この結果、余剰なエラー処理による電力消費の増大や、マイクロコンピュータ寿命低下を更に抑制することができる。また、マイクロコンピュータ２全体に影響を及ぼすような主要な構成機器にエラーが発生した場合に、迅速にシステム停止等の処理を行うことができ、マイクロコンピュータ２が制御対象とする機器の安全を確保することができる。
【００８７】
エラー処理の実行主体は、第１実施例と同様、ＣＰＵ１０、割り込みコントローラ、監視回路、ＯＳが制御する機器等である。
【００８８】
図１０は、マイクロコンピュータ２において実行されるエラー処理の流れを示すフローチャートである。本フローは、前述のエラー処理の実行主体によって実行される。
【００８９】
まず、マイクロコンピュータ２では、バックアップ機能付き記憶装置５０＃１〜５０＃４のレジスタ５２とＭＲＡＭセル５４に、同一のデータを記憶させる（Ｓ２００）。
【００９０】
次に、ブロック判定回路６０が親エラー検出信号を出力したか否かを判定する（Ｓ２０２）。本ステップにおいて否定的な判定を得た場合は、ポーリング動作を行う。これを、いずれかのバックアップ機能付き記憶装置５０がエラー検出信号を出力するまで、或いはマイクロコンピュータ２がシャットダウンされるまでの間、繰り返し実行する。
【００９１】
Ｓ２０２において、ブロック判定回路６０が親エラー検出信号を出力したと判定した場合は、子エラー検出信号＃１以外の子エラー検出信号が検出されたか否かを判定する（Ｓ２０４）。子エラー検出信号＃１以外の子エラー検出信号が検出された場合とは、全ての子エラー検出信号が検出された場合を含む。
【００９２】
子エラー検出信号＃１以外の子エラー検出信号が検出された場合には、当該エラー検出信号の出力が一回目であるか否かを判定する（Ｓ２０６）。
【００９３】
エラー検出信号の出力が一回目である場合は、エラー履歴、及びエラー検出信号の出力回数をＮＶメモリ等に記憶させる（Ｓ２０８）。そして、マイクロコンピュータ２の初期化を行って（Ｓ２１０）、Ｓ２００に戻る。マイクロコンピュータ２の初期化は、マイクロコンピュータ１の各構成要素、及びこれらが備えるレジスタ等に図示しないＲＯＭやＥＥＰＲＯＭからデータを書き込む処理を含む。
【００９４】
一方、エラー検出信号の出力が二回目である場合は、マイクロコンピュータ２を強制的に停止させ（Ｓ２１２）、本フローを終了する。
【００９５】
Ｓ２０４において、子エラー検出信号＃１以外の子エラー検出信号が検出されなかった場合、すなわち子エラー検出信号＃１のみが検出された場合は、周辺回路４０が使用中でなくなるまで待機する（Ｓ２２０）。
【００９６】
周辺回路４０が使用中でなくなると、当該エラー検出信号の出力が十回目未満であるか否かを判定する（Ｓ２２２）。エラー検出信号の出力が十回目未満である場合は、エラー履歴、及びエラー検出信号の出力回数をレジスタ等に記憶させる（Ｓ２２４）。そして、周辺回路４０の初期化のみ行って（Ｓ２２６）、Ｓ２００に戻る。なお、Ｓ２２６において、マイクロコンピュータ２の初期化を行ってもよい。
【００９７】
一方、エラー検出信号の出力が十回目以上である場合は、マイクロコンピュータ２を強制的に停止させ（Ｓ２２８）、本フローを終了する。なお、本ステップに代えて、周辺回路４０のみを強制的に停止させてもよい。
【００９８】
なお、図１０のフローでは、エラー処理の内容、及びその内容が段階的に変更される回数に対する基準を、周辺回路４０とそれ以外の構成機器で異ならせたが、図１１に示すように、より細かく設定してもよい。図１１は、マイクロコンピュータ２において実行されるエラー処理の流れを示すフローチャートの他の例である。本フローは、前述のエラー処理の実行主体によって実行される。
【００９９】
まず、マイクロコンピュータ２では、バックアップ機能付き記憶装置５０＃１〜５０＃４のレジスタ５２とＭＲＡＭセル５４に、同一のデータを記憶させる（Ｓ３００）。
【０１００】
次に、ブロック判定回路６０が親エラー検出信号を出力したか否かを判定する（Ｓ３０２）。本ステップにおいて否定的な判定を得た場合は、一定時間待機した後に、再度同じ判定を行う。これを、いずれかのバックアップ機能付き記憶装置５０がエラー検出信号を出力するまで、或いはマイクロコンピュータ２がシャットダウンされるまでの間、繰り返し実行する。
【０１０１】
Ｓ３０２において、ブロック判定回路６０が親エラー検出信号を出力したと判定した場合は、全ての子エラー検出信号、又は子エラー検出信号＃２が検出されたか否かを判定する（Ｓ３０４）。
【０１０２】
全ての子エラー検出信号、又は子エラー検出信号＃２が検出された場合には、当該エラー検出信号の出力が一回目であるか否かを判定する（Ｓ３０６）。
【０１０３】
エラー検出信号の出力が一回目である場合は、エラー履歴、及びエラー検出信号の出力回数をレジスタ等に記憶させる（Ｓ３０８）。そして、マイクロコンピュータ２の初期化を行って（Ｓ３１０）、Ｓ３００に戻る。
【０１０４】
一方、エラー検出信号の出力が二回目である場合は、マイクロコンピュータ２を強制的に停止させ（Ｓ３１２）、本フローを終了する。このように、ＣＰＵ１０のエラー、又はマイクロコンピュータ１全体のエラーが推定された場合には、最も迅速にマイクロコンピュータ２の強制停止が行われる。
【０１０５】
Ｓ３０４において、全ての子エラー検出信号、又は子エラー検出信号＃２が検出されなかった場合は、子エラー検出信号＃３又は＃４が検出されたか否かを判定する（Ｓ３２０）。
【０１０６】
子エラー検出信号＃３又は＃４が検出された場合は、ＳＲＡＭ２０及びＭＲＡＭ３０が使用中でなくなるまで待機する（Ｓ３２２）。
【０１０７】
ＳＲＡＭ２０及びＭＲＡＭ３０が使用中でなくなると、当該エラー検出信号の出力が五回目未満であるか否かを判定する（Ｓ３２４）。エラー検出信号の出力が五回目未満である場合は、エラー履歴、及びエラー検出信号の出力回数をＮＶメモリ等に記憶させる（Ｓ３２６）。そして、ＳＲＡＭ２０及びＭＲＡＭ３０の初期化を行って（Ｓ３２８）、Ｓ３００に戻る。ＳＲＡＭ２０やＭＲＡＭ３０の初期化とは、例えばＲＯＭ等から初期データを再度読み込む処理をいう。
【０１０８】
一方、エラー検出信号の出力が五回目以上である場合は、マイクロコンピュータ２を強制的に停止させ（Ｓ３３０）、本フローを終了する。なお、本ステップに代えて、ＳＲＡＭ２０及びＭＲＡＭ３０を強制的に停止させてもよい。
【０１０９】
Ｓ３２０において子エラー検出信号＃３又は＃４が検出されなかった場合、すなわち子エラー検出信号＃１のみが検出された場合は、周辺回路４０が使用中でなくなるまで待機する（Ｓ３４０）。
【０１１０】
周辺回路４０が使用中でなくなると、当該エラー検出信号の出力が十回目未満であるか否かを判定する（Ｓ３４２）。エラー検出信号の出力が十回目未満である場合は、エラー履歴、及びエラー検出信号の出力回数をレジスタ等に記憶させる（Ｓ３４４）。そして、周辺回路４０の初期化のみ行って（Ｓ３４６）、Ｓ３００に戻る。なお、Ｓ３４６において、マイクロコンピュータ２の初期化を行ってもよい。
【０１１１】
一方、エラー検出信号の出力が十回目以上である場合は、マイクロコンピュータ２を強制的に停止させ（Ｓ３４８）、本フローを終了する。なお、本ステップに代えて、周辺回路４０のみを強制的に停止させてもよい。
【０１１２】
以上説明した本実施例のマイクロコンピュータ２によれば、第１実施例と同様、ソフトエラーを生じる可能性があるレジスタ５２と外来磁場によるエラーを生じる可能性があるＭＲＡＭセル５４との双方を備えているバックアップ機能付き記憶装置５０を用いて他の構成機器のエラー発生を推定するため、構成機器に生じたエラーを適切に推定してエラー処理を行うことができる。
【０１１３】
また、バックアップ機能付き記憶装置５０は、レジスタ５２に格納された各データをチェックするため、チェック精度が高いものとなっている。従って、構成機器に生じたエラーを高精度に推定することができる。
【０１１４】
更に、バックアップ機能付き記憶装置５０は、主メモリとして機能するレジスタ５２に対する面積増分が小さく、装置サイズが小さくて済むため、マイクロコンピュータ１の複数の箇所にバックアップ機能付き記憶装置５０を配置しても、マイクロコンピュータ１のサイズが増大するという不都合が小さいものとなる。
【０１１５】
しかも、本実施例のマイクロコンピュータ２では、エラーの局所発生を適切に推定することができるため、余剰なエラー処理による電力消費の増大や、マイクロコンピュータ寿命低下を抑制することができる。
【０１１６】
更に、本実施例のマイクロコンピュータ２では、エラー処理の内容、及び段階的に変更されるエラー処理の回数に対する基準を、対象とする構成機器の種類によって異ならせているため、エラーの深刻度に応じて異なるエラー処理を行うことができる。この結果、余剰なエラー処理による電力消費の増大や、マイクロコンピュータの寿命低下を更に抑制することができる。また、マイクロコンピュータ２全体に影響を及ぼすような主要な構成機器にエラーが発生した場合に、迅速にシステム停止等の処理を行うことができ、マイクロコンピュータ２が制御対象とする機器の安全を確保することができる。
【０１１７】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０１１８】
１、２  マイクロコンピュータ
１０  ＣＰＵ
２０  ＳＲＡＭ
３０  ＭＲＡＭ
４０  周辺回路
５０  バックアップ機能付き記憶装置
５２  レジスタ
５４  ＭＲＡＭセル
５６Ａ〜Ｄ  検出回路
６０  ブロック判定回路
Ａ  バス
【図１】
2011237928.tif 000003
【図２】
2011237928.tif 000004
【図３】
2011237928.tif 000005
【図４】
2011237928.tif 000006
【図５】
2011237928.tif 000007
【図６】
2011237928.tif 000008
【図７】
2011237928.tif 000009
【図８】
2011237928.tif 000010
【図９】
2011237928.tif 000011
【図１０】
2011237928.tif 000012
【図１１】
2011237928.tif 000013