JP2016066236A - 組み込み制御装置 - Google Patents

組み込み制御装置 Download PDF

Info

Publication number
JP2016066236A
JP2016066236A JP2014194606A JP2014194606A JP2016066236A JP 2016066236 A JP2016066236 A JP 2016066236A JP 2014194606 A JP2014194606 A JP 2014194606A JP 2014194606 A JP2014194606 A JP 2014194606A JP 2016066236 A JP2016066236 A JP 2016066236A
Authority
JP
Japan
Prior art keywords
data
importance
storage area
control device
embedded control
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
JP2014194606A
Other languages
English (en)
Other versions
JP6177748B2 (ja
Inventor
純一 大崎
Junichi Osaki
純一 大崎
正智 相澤
Masatomo Aizawa
正智 相澤
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2014194606A priority Critical patent/JP6177748B2/ja
Publication of JP2016066236A publication Critical patent/JP2016066236A/ja
Application granted granted Critical
Publication of JP6177748B2 publication Critical patent/JP6177748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】本発明は、異なる重要度を持つ処理とデータが混在する制御装置において、ある重要度を持ったデータが異常であった場合に、異常の種類を判定する技術を提供する。【解決手段】組み込み制御装置は、少なくとも2つの異なる重要度を持つ処理を実行する処理部と、前記重要度に応じて異なる記憶領域にデータを記憶する記憶部と、前記処理部が実行する処理の前記重要度に応じて、前記記憶部の重要度別の記憶領域に、異なるデータ保証情報を保存する書き込み制御部と、前記記憶部の前記重要度別の記憶領域からデータを読み出すときに、前記重要度に応じて前記データ保証情報による異なるチェック方式を実行し、前記データが正当であるかを判定する読み出し制御部と、を備える。【選択図】図3

Description

本発明は、記憶装置を備えるマイクロコンピュータを用いて構成された組み込み制御装置並びに当該装置における、記憶装置へのデータ書込み方法及び記憶装置からのデータ読出し方法に関する。
車載エンジン制御装置においては、マイクロコンピュータ(以下、マイコンという)を用いて、空燃比制御、燃料噴射制御、点火制御、各種診断など様々なデータを計算するものが広く知られている。車載エンジン制御装置では、運転者の意図しない加速や暴走を防ぐために、安全性に関わる重要なデータと、その演算部を冗長系にして、適切な値の範囲を超えた場合に、エンジン出力を制限することなどを行っている。
これら重要なデータは、安全の観点から通常制御で使用するデータとは別の記憶領域を用意し、不正なデータとならないようなセキュリティが確保された環境に格納されることが望ましい。しかし、制御プログラムやハードウェア、マイコンの機能の複雑さが増すという課題がある。
一方、重要なデータが不正な値となってしまった場合の救済方法として、同じデータを複数の領域に書き込んでバックアップを保持し、一方の領域が不正となった場合に正常なデータをコピーする技術が提案されている。
特許文献1では、相互に同じ内容のデータをそれぞれメモリ1A及び1Bに書き込み、メモリ1A及び1Bに対するデータチェックを行って双方のメモリの一方に記憶されたデータに異常を検出したとき、他方に記憶されたデータを用いて一方のデータを修正する技術が提案されている。
また、特許文献2では、不揮発性メモリのデータを保証するために、データ領域を3面に持たせてそれぞれの領域に対し同じチェックを行い、エラーが発生した領域のデータを他の正当なデータに上書きする方法が提案されている。
特開2000−148601号公報 特許第5360216号
特許文献1及び特許文献2に記載された例は、同じデータを複数の領域に書き込んでバックアップの役割を果たすものであり、不正なデータを演算に使用させない点でデータの安全性が保たれる。しかし、重要度が高いデータが不正なデータとなった場合に、その不正なデータとなった原因が電気的要因等によるデータの異常なのか、他重要度の演算を実行したことによって書き換えられた(侵害された)のかは考慮されていない。そのため、重要度の高いデータが意図せずに重要度が低い処理によって書き換えられるといった状態が発生したとき、重要度の高いデータを安全に演算できないという懸念がある。
本発明の目的は、異なる重要度を持つ処理とデータが混在する制御装置において、ある重要度を持ったデータが異常であった場合に、異常の種類を判別する技術を提供することにある。
上記課題を解決する為に、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例をあげるならば、少なくとも2つの異なる重要度を持つ処理を実行する処理部と、前記重要度に応じて異なる記憶領域にデータを記憶する記憶部と、前記処理部が実行する処理の前記重要度に応じて、前記記憶部の重要度別の記憶領域に、異なるデータ保証情報を保存する書き込み制御部と、前記記憶部の前記重要度別の記憶領域からデータを読み出すときに、前記重要度に応じて前記データ保証情報による異なるチェック方式を実行し、前記データが正当であるかを判定する読み出し制御部と、を備える組み込み制御装置が提供される。
本発明によれば、異なる重要度を持った処理とデータが混在する制御装置において、複雑な制御ロジックを組み込まずに、ある重要度のデータの異常が発生した際、異常となった原因が電気的要因等によるデータの異常なのか、他重要度の演算を実行したことによって書き換えられた(侵害された)かを判別できる。
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、上記した以外の、課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本発明を使用したエンジン制御装置の構成を示すブロック図である。 本発明の制御プログラムの機能ブロック図である。 本発明におけるデータ重要度別にメモリ領域の分割した様子を示した図である。 本発明におけるデータ重要度別にデータをメモリ領域に書き込んだ状態を示した図である。 本発明におけるデータ重要度Cのメモリチェックを実施した状態を示した図である。 本発明におけるデータ重要度Bのメモリチェックを実施した状態を示した図である。 本発明におけるデータ重要度Aのメモリチェックを実施した状態を示した図である。 本発明における各重要度のデータを読み出す処理をフローチャートで示した図である。 本発明における各重要度のデータを異常と判断した時のメモリ故障状態判別処理をフローチャートで示した図である。 本発明におけるメモリ故障状態判別処理で故障状態を示す侵害レベルと、侵害レベルに応じたデータ処理方法を纏めた図である。 本発明における重要度Aのデータがメモリチェックにて異常と判定される場合の第一の例を示した図である。 本発明における重要度Aのデータがメモリチェックにて異常と判定される場合の第一の例で、記憶領域の正当性を確認するために、重要度Bのメモリチェック方法を実施した例を示す図である。 本発明における重要度Aのデータがメモリチェックにて異常と判定される場合の第一の例で、記憶領域の正当性を確認するために、重要度Cのメモリチェック方法を実施した例を示す図である。 本発明におけるデータ重要度別のメモリチェックを実行し、侵害レベル2と判断された時のデータ異常時の処理を示したフローチャート図である。 本発明における重要度Aのデータがメモリチェックにて異常と判定される場合の第一の例で、侵害レベル別のデータ異常時の処理を実行し、異常データを正常データに修正する様子を示した図である。 本発明における重要度Aのデータがメモリチェックにて異常と判定される場合の第二の例を示した図である。 本発明における重要度Aのデータがメモリチェックにて異常と判定される場合の第二の例で、記憶領域の正当性を確認するために、重要度Bのメモリチェック方法を実施した例を示す図である。 本発明における重要度Cのデータを読み出した結果から、読み出し元の領域が適切な位置であったかを判別できる例を示した図である。
以下、添付図面を参照して本発明の実施例について説明する。なお、添付図面は本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。また、各図において共通の構成については同一の参照番号が付されている。
以下では、本発明をエンジン制御用の電子制御装置に適用した例を示す。なお、本発明は、エンジン制御用の電子制御装置に限定されず、他の組み込み制御装置にも適用可能である。
<装置構成>
図1Aは、本発明の実施の形態に係る車載制御装置100を示す構成図である。車載制御装置100は、制御対象機器200を制御する装置であり、マイコン110と、バッテリ120とを備える。マイコン110は、CPU(Central Processing Unit)111と、ROM(Rea Only Memory)112と、RAM(Random Access Memory)113と、I/O114とを備える。
CPU111は、ROM112に格納されている制御プログラムの指示にしたがって、制御対象機器200に対する制御演算を実行する演算装置である。ROM112は、CPU111が実行する制御プログラムを格納する記憶装置である。ROM112は、例えば後述の吸気制御プログラム、噴射制御プログラム、点火制御プログラムなどを格納する。RAM113は、CPU111が制御プログラムを実行している間に用いる変数などのデータを格納する記憶装置である。I/O114は、マイコン110と制御対象機器200との間でデータや信号を送受信するインターフェースである。
制御対象機器200は、任意の機器でよい。以下ではガソリン噴射式内燃機関であることを想定する。制御対象機器200は、センサ210と、アクチュエータ220とを備える。センサ210は、吸入空気量センサ、エンジン回転数センサ、及び空燃費センサを含む。アクチュエータ220は、燃料噴射弁を含む。
車載制御装置100は、吸入空気量センサから得た吸入空気量情報とエンジン回転数センサから得たエンジン回転数情報とによって算出される燃料噴射量に対し、目標空燃費と空燃費センサ出力の差分から算出した燃料噴射量補正係数を乗算して燃料噴射量とする。そして、車載制御装置100は、算出された燃料噴射量に基づいて燃料噴射弁の開弁時間を制御する信号を出力する。車載制御装置100は、動作電源が投入されている間、この処理動作を繰り返し実行する。
図1Bは、本発明の制御プログラム300の機能ブロック図であり、ROM112に格納された制御プログラムの機能ブロック図を示す。以下では、制御プログラム300の各機能ブロックの動作を説明するとき、各機能ブロックを主語として説明を行うが、上述した通り、マイコン110のCPU111が、ROM112に格納されている制御プログラム300を読み出して実行するため、CPU111を主語とした説明としてもよい。
図1Bに示すように、制御プログラム300は、各種プログラムとして、処理部301と、書き込み制御部302と、読み出し制御部303と、異常判別部304とを備える。
処理部301は、少なくとも2つの異なる重要度を持つ処理を実行する。以下で説明する例では、処理部301は、3つの異なる重要度の処理を実行する。書き込み制御部302は、処理部301が実行する処理の重要度に応じて、RAM113の重要度別の記憶領域に、異なるデータ保証情報を保存する。読み出し制御部303は、RAM113の重要度別の記憶領域からデータを読み出すときに、重要度に応じて異なるメモリチェック方式を実行し、読み出すデータが正当であるかを判定する。異常判別部304は、異常と判定された記憶領域のデータについて異なるメモリチェック方式を実行し、データ異常の発生原因を判別する。
<データ領域構成>
図2は、本発明におけるデータ重要度別にメモリ領域の分割した様子を示した図である。図2では、データの重要度に応じて書き込む領域を分けるデータ表現方法をRAM113に適用し、データの重要度に応じた異なるメモリのチェック方法を実施するためのデータ書き込みの例が示されている。
図2は、RAM113にデータが書き込まれた状態を表す。RAM113の1面の記憶領域が、異なる重要度を有する複数の領域に分割されている。図2の例では、記憶領域を3つの重要度(重要度A〜C)に分割し、重要度A〜重要度Cのデータがそれぞれの領域に書き込まれている。ここで、データの重要度は重要度A>重要度B>重要度Cとする。重要度が低い重要度B及び重要度Cの領域には、通常制御で使用するデータ(通常制御値)が格納される。重要度Aの領域には、データが不正となった場合に安全性に影響が及ぶ可能性のあるようなデータ(重要度が高い制御値)が格納される。さらに、図2の例では、重要度Aの領域が2つの領域に分けられている。例えば、重要度Aにおける第1の領域A1には、前記重要度が高い制御値が格納され、重要度Aにおける第2の領域A2には、バックアップ用として第1の領域A1と同じ制御値(ミラーリングデータ)が格納される。
なお、制御プログラム300は、処理の実行中に、どの重要度が記憶領域のどのアドレスに対応するかを示す情報を保持する。したがって、制御プログラム300は、当該情報に基づいて、ある重要度のデータをどこの領域に書き込めばよいか判別できる。また、制御プログラム300は、当該情報に基づいて、読み出すデータがどの重要度のものであるかを、データを読み出すアドレスの位置によって判別できる。
上記説明では、重要度A〜重要度Cが、RAM113の隣接する領域に設定されているが、重要度毎の領域は隣接していてもよいし、離れて設定されてもよい。重要度毎の領域が離れて設定された場合には、後述で説明する別の重要度の処理による侵害のリスクを低減できる。
<データ書き込み手順>
図3は、RAM113に重要度A・重要度B・重要度Cのデータをそれぞれ書き込む手順を説明する図である。具体的には、CPU111が、ROM112に格納された制御プログラム300を読み込み、制御プログラム300に従って各種処理を実行する。この際、CPU111が、RAM113に記憶されたデータを用いて計算したデータをRAM113に格納する際に本手順が用いられる。
本実施例では、各重要度の領域毎に、異なるデータチェック方式を用いる。重要度Cの領域では、データブロック(複数のアドレスを1つとして扱ったもの)のサムチェックを用いる。重要度Bの領域では、パリティチェックを用いる。また、重要度Aの領域では、1の補数によるサムチェックと、ミラーリングデータとの一致のチェックとを行う。
図3の(a)は、CPU111が演算した重要度Cのデータ“02”を重要度Cの記憶領域であるアドレス“1000”に書き込む様子を示した図である。処理部301が重要度CのデータをRAM113に書き込む際は、書き込み制御部302が、データ“02”の他に、データ“02”を書き込んだアドレスを含むデータブロック(複数のアドレスを1つとして扱ったもの)のサム値を計算して書き込む。
例えば、書き込み制御部302が、アドレス“1000”に書き込まれたデータを読み出す際のチェック用データ(データ保証情報)として、アドレス“1000”からアドレス“1003”までに格納されたデータ(データブロック)のサム値を計算し、そのサム値をアドレス“1004”に格納する。アドレス“1000”からアドレス“1003”に格納されたデータが“02”“04”“20”“40”の場合、これら複数のデータから計算されるサム値は“66”となる。したがって、(b)のアドレス“1004”には、サム値“66”が格納される。
図3の(c)は、CPU111が演算した重要度Bのデータ“FE”を重要度Bの記憶領域であるアドレス“2000”に書き込む様子を示した図である。処理部301が重要度BのデータをRAM113に書き込む際は、書き込み制御部302が、データ“FE”の他に、データを読み出す際のチェック用データ(データ保証情報)として、データの偶数パリティ値を計算して書き込む。この偶数パリティ値は、アドレス“2000”に格納したデータ“FE”を読み出す際のチェック用の値として格納されるものである。データが“FE”の場合、“FE”の偶数パリティ値は1+1+1+1+1+1+1+0を計算して“01”となる。(d)のアドレス“2001”には、偶数パリティ値“01”が格納される。
図3の(e)は、CPU111が演算した重要度Aのデータ“55”を重要度Aの記憶領域であるアドレス“3000”に書き込む様子を示す図である。処理部301が重要度AのデータをRAM113に書き込む際は、書き込み制御部302が、データ“55”の他に、データを読み出す際のチェック用データ(データ保証情報)として、データの1の補数を計算して書き込む。データが“55”の場合、書き込み制御部302は、アドレス“3000”に格納したデータ“55”を読み出す際のチェック用の値として、“55”の1の補数“AA”を、(f)に示すアドレス“3001”に格納する。
さらに、書き込み制御部302は、重要度Aのデータの場合、データ及びそのデータの1の補数のバックアップ用の値として、(g)に示すアドレス“4000”と“4001”に、アドレス“3000”と“3001”と同じ値をそれぞれ格納する。
なお、上記説明ではチェック対象のデータの次のアドレスにチェック用の値を格納しているが、チェック用の値はチェック対象のデータと隣接していてもよいし、隣接していなくてもよい。
以上のように、データの重要度別にRAM113中の領域にデータとデータチェック用の値を書き込むことで、特徴あるデータ集合体がRAM113上に表現される。
なお、各重要度の領域に対するデータチェック方式は、図3を用いて説明したデータチェック方式に限定されず、他のデータチェック方式を採用してもよい。各重要度の領域に対するデータチェック方式は、少なくとも1つのデータチェック方式が採用され、重要度毎に異なるチェック方式であればよい。また、図3の例において、重要度が高い重要度Aの領域では、1の補数によるサムチェックと、冗長系としてのミラーリングデータによるチェックとを採用し、二重のチェック方式を採用している。このように、各重要度の領域に対して、複数のチェック方式を組み合わせてもよい。
<データ読み出し手順1>
図3で説明したデータを読み出す際は、各重要度に応じたメモリチェック方式を実行し、読み出すデータが正当であるかを確認する。図3の(a)で説明した重要度Cのデータを読み出す際は、読み出し制御部303が、図3の(b)のアドレスに格納されたデータブロック(複数のアドレスのデータ)のサムチェック用データを一緒に読み出してサムチェックを実行する。
図4を用いて、図3の(a)のデータ重要度Cのデータ読み出し時におけるサムチェック手順を説明する。図4は、図3(a)においてCPU111がデータを書き込んだアドレス“1000”からアドレス“1003”の重要度Cのデータが正当であるかを判定する様子を示したものである。
アドレス“1004”の値は、アドレス“1000”から“1003”のデータブロックのサム値となるべきである。ここで、図4の(a)で示すアドレス“1000”から“1003”のデータブロックのサム値は“02”+“04”+“20”+“40”=“66”となる。したがって、アドレス“1000”から“1003”のデータブロックのサム値と、アドレス“1004”に格納したチェック用データとが一致する。よって、読み出し制御部303は、アドレス“1000”からアドレス“1003”のデータが正当であると判定する。もし、データチェック時の計算したサム値と、データ書き込み時に記憶したサム値が一致しない場合、読み出し制御部303は、データが不当であると判定する。
<データ読み出し手順2>
図3の(c)で説明した重要度Bのデータを読み出す際は、読み出し制御部303が、図3の(e)のアドレスに格納されたパリティチェック用のデータを一緒に読み出して、パリティチェックを実行する。
図5は、図3においてCPU111がデータを書き込んだアドレス“2000”の重要度Bのデータが正当であるかを判別する様子を示したものである。
アドレス“2001”の値はアドレス“2000”に格納したデータの偶数パリティ値である。ここで、図5の(c)のアドレス“2000”の偶数パリティ値を計算する。“FE(16進数)”=“11111110(2進数)”であり、“1”の数を数えると“7”である。“1”の数が奇数であるため、偶数パリティチェック値は“01”となる。アドレス“2000”の偶数パリティ値と、(d)のアドレス“2001”に格納したチェック用データとが一致する。よって、読み出し制御部303は、アドレス“2000”のデータが正当であると判定する。もし、データチェック時に計算した偶数パリティ値と、データ書き込み時に記憶した偶数パリティ値が一致しない場合、読み出し制御部303は、データが不当であると判定する。
<データ読み出し手順3>
図3の(e)で説明した重要度Aのデータを読み出す際は、読み出し制御部303が、図3の(f)のアドレスに格納された1の補数によるサムチェック用データと、図3の(g)のアドレスに格納されたミラーリングデータとを一緒に読み出して、読み出すデータが正当であるかを判定する。
図6は、図3において処理部301が書き込んだアドレス“3000”の重要度Aのデータが正当であるかを判別するため、データの1の補数を書き込んだアドレス“3001”の値と、データのコピーを書き込んだアドレス“4000”の値と、データの1の補数のコピーを書き込んだアドレス“4001”の値を使用したチェックを行う様子を示したものである。
ここで、データをX、データの1の補数をY、データのコピーをX’、データの1の補数のコピーをY’と表現すると、X=“55”(アドレス“3000”の値)、Y=“AA”(アドレス“3001”の値)、X’=“55”(アドレス“4000”の値)、Y’=“AA”(アドレス“4001”の値)となる。
読み出し制御部303は、X=X’かつY=Y’かつX=~(Y)かつX’=~(Y’)であることを確認する。読み出し制御部303は、前述の式が満たされている場合、アドレス“3000”の値は正常であると判定し、データを読み出すことができる。図6の例では、Yの1の補数を求めると、~Y=~(AA)(16進数)=~(10101010)(2進数)=(01010101)(2進数)=(55)(16進数)となり、X=~Yが成立する。また、X=X’、Y=Y’が成立しているため、X’=~(Y’)も成立している。X=X’かつY=Y’かつX=~(Y)かつX’=~(Y’)を満たしているため、アドレス“3000”の値は正常であると判断される。
<データの判定処理>
図7は、CPU111がRAM113から各重要度のデータを読み出す処理をフローチャートとして記載した図である。以下、図7の各ステップについて説明する。
(ステップS701)
まず、読み出し制御部303は、RAM113からデータを読み出す際に、本フローチャートを起動する。
(ステップS702)
次に、読み出し制御部303は、読み出すデータの重要度を判別する。上述したように、読み出し制御部303は、どの重要度が記憶領域のどのアドレスに対応するかを示す情報を用いて、読み出すデータのアドレス位置から、読み出すデータがどの重要度であるかを判別できる。
(ステップS703)
次に、読み出し制御部303は、ステップS702で算出したデータのデータ重要度に対応するメモリチェック方法を実行する。
(ステップS704)
次に、読み出し制御部303は、ステップS703を実行した結果として、データが正常であるかを判定する。ここで、データが正常であると判別された場合、ステップS705に移行し、異常であると判別された場合、ステップS707に移行する。
(ステップS705)
ステップS705に移行した場合、読み出し制御部303は、正常と判定されたデータを戻り値として返し、ステップS706に移行する。
(ステップS706)
そして、読み出し制御部303は、データ読み出し処理を終了する。
(ステップS707)
ステップS707に移行した場合、図8に示す、異常判別部304によるメモリ故障状態判別処理を実行する。
<メモリ故障状態判別処理>
図8は、図7のフローチャートに従いデータを読み出した結果、S704にて読み出したデータが異常であった場合のメモリ故障状態判別処理を示したものである。図8のフローチャートの各ステップを次に説明する。
(ステップS800)
まず、異常判別部304は、図7のステップS703でチェックしたデータの重要度を判別する。
(ステップS801)
異常判別部304は、ステップS800で判別したデータの重要度が重要度Aである場合、S811に移行する。一方、ステップS800で判別したデータの重要度が重要度A以外のものである場合は、S802に移行する。
(ステップS811)
ステップS811に移行した場合、異常判別部304は、図7のステップS703でチェックした重要度Aのデータに対して、重要度Bのデータチェック方法にてデータチェックを実施する。
(ステップS812)
異常判別部304は、ステップS811で重要度Aのデータに対して重要度Bのデータチェック方法を実行した結果、データとチェック用データとが一致した場合、S813に移行する。一致しない場合はS814に移行する。
(ステップS813)
異常判別部304は、重要度Bの処理が、重要度Aの記憶領域を侵害したと判定する。
(ステップS814)
異常判別部304は、重要度Bのデータチェック方法にてデータとチェック用データとが一致しなかった場合、図7のS703でチェックした重要度Aのデータに対して、重要度Cのデータチェック方法を実行する。
(ステップS815)
異常判別部304は、ステップS814で重要度Aのデータに対して重要度Cのデータチェック方法を実行した結果、データとチェック用データとが一致した場合、S816に移行する。一致しない場合はS817に移行する。
(ステップS816)
異常判別部304は、データ重要度Cの処理が、データ重要度Aの記憶領域を侵害したと判定する。
(ステップS817)
異常判別部304は、重要度Aの領域が物理的故障であると判定する。
(ステップS802)
異常判別部304は、ステップS800で判別したデータの重要度が重要度Bである場合、S821に移行する。一方、ステップS800で判別したデータの重要度が重要度B以外のもの(すなわち、重要度C)である場合は、S831に移行する。
(ステップS821)
ステップS821に移行した場合、異常判別部304は、図7のステップS703でチェックした重要度Bのデータに対して、重要度Aのデータチェック方法にてデータチェックを実施する。
(ステップS822)
異常判別部304は、ステップS821で重要度Bのデータに対して重要度Aのデータチェック方法を実行した結果、データとチェック用データとが一致した場合、S823に移行する。一致しない場合はS824に移行する。
(ステップS823)
異常判別部304は、重要度Aの処理が、重要度Bの記憶領域を侵害したと判定する。
(ステップS824)
異常判別部304は、重要度Aのデータチェック方法にてデータとチェック用データとが一致しなかった場合、図7のS703でチェックした重要度Bのデータに対して、重要度Cのデータチェック方法を実行する。
(ステップS825)
異常判別部304は、ステップS824で重要度Bのデータに対して重要度Cのデータチェック方法を実行した結果、データとチェック用データとが一致した場合、S826に移行する。一致しない場合はS827に移行する。
(ステップS826)
異常判別部304は、重要度Cの処理が、重要度Bの記憶領域を侵害したと判定する。
(ステップS827)
異常判別部304は、重要度Bの領域が物理的故障であると判定する。
(ステップS831)
異常判別部304は、ステップS802で判別したデータの重要度が重要度Cである場合、図7のS703でチェックした重要度Cのデータに対して、重要度Aのデータチェック方法にてデータチェックを実施する。
(ステップS832)
異常判別部304は、ステップS831で重要度Cのデータに対して重要度Aのデータチェック方法を実行した結果、データとチェック用データとが一致した場合、S833に移行する。一致しない場合はS834に移行する。
(ステップS833)
異常判別部304は、重要度Aの処理が、重要度Cの記憶領域を侵害したと判定する。
(ステップS834)
異常判別部304は、重要度Aのデータチェック方法にてデータとチェック用データとが一致しなかった場合、図7のS703でチェックした重要度Cのデータに対して、重要度Bのデータチェック方法を実行する。
(ステップS835)
異常判別部304は、ステップS834で重要度Cのデータに対して重要度Bのデータチェック方法を実行した結果、データとチェック用データとが一致した場合、S836に移行する。一致しない場合はS837に移行する。
(ステップS836)
異常判別部304は、重要度Bの処理が、重要度Cの記憶領域を侵害したと判定する。
(ステップS837)
異常判別部304は、重要度Cの領域が物理的故障であると判定する。
(ステップS803)
異常判別部304は、S813、S816、S817、S823、S826、S827、S833、S836、S837の判定結果から侵害レベルを判定する。具体的には、異常判別部304は、図9で示す情報を参照することにより、侵害レベルを決定する。
(ステップS804)
処理部301は、ステップS803にて決定された侵害レベルに応じた処理を実行する。
以上のように、本実施例では、複数の重要度をもつ処理が同一の揮発性メモリ上に値を記憶する制御装置において、一部の重要度のデータ読み出し時に異常であった場合、異なる重要度のデータチェック方法を実施する。異なる重要度のデータチェック方法での結果を用いることにより、データ異常の発生原因が、他の重要度の処理による侵害か、又は、電気的要因等による物理的な故障かを判別することが可能となる。
図9は、図8のステップS803で決定された侵害レベル(メモリ故障状態)と、侵害レベル決定後にステップS804で実行される処理をまとめた表である。図9の表は、例えば、ROM112に格納されており、CPU111は、当該表を読み込んで、ステップS803の処理を実行することができる。
侵害レベルと、侵害レベル決定後の処理とが関連付けられた表について、図9では「テーブル」構造を用いて説明するが、必ずしもテーブルによるデータ構造で表現されていなくても良く、他のデータ構造で表現されていても良い。データ構造に依存しないことを示すために、当該表を、単に「情報」と呼ぶことがある。
図9では、侵害レベルを6段階としており、それぞれの重要度の記憶領域が、他の重要度の処理に侵害されたか、又は、物理的故障であるかに応じて、各重要度のデータをどのようなデータに設定するかを記載している。より詳細には、表900は、記憶領域の重要度901と、メモリ異常の種類902と、侵害レベル903と、データ異常時の処理904とを構成項目として含む。
図9の各レコードと図8で判定される異常の種類との関係を説明すると、図8のS813、S816は、レコード911に対応する。また、図8のS817は、レコード915に対応する。また、図8のS823は、レコード913に対応し、図8のS826は、レコード912に対応する。図8のS827、S837は、レコード916に対応する。図8のS833、S836は、レコード914に対応する。
例えば、レコード911は、重要度Aのデータ記憶領域が下位の重要度(重要度B又はC)の処理から侵害された場合の侵害レベルと処理内容を示す。この場合、侵害レベルは、レベル6である。重要度Aのデータ記憶領域が他の重要度の処理に侵害されたと判断した場合、重要度A〜Cのデータ記憶領域の全てを初期状態にする。なお、図9での「初期化」とは、例えば、処理部301が実行する処理を最初から実行し直す(再計算する)ことを意味する。この場合、記憶領域のデータは、処理部301が実行する処理の最初の状態(初期状態)まで戻り、再計算により更新されていくことになる。
また、例えば、レコード915は、重要度Aのデータ記憶領域が物理的に故障した場合の侵害レベルと処理内容を示す。この場合、侵害レベルは、レベル2である。重要度Aのデータ記憶領域が物理的に故障した場合、重要度Aのデータ記憶領域のデータを修復するか、又は、フェールセーフ値に固定する。ここでのフェールセーフ値は、ROM112にあらかじめ格納されている。したがって、CPU111は、当該フェールセーフ値を読み込んで、重要度Aのデータ記憶領域に設定することができる。
図8の処理と図9の表により、RAM113の重要度別の記憶領域のデータに異常があった場合、データの異常発生原因をより細かく判別することができ、異常発生原因に応じてより細かくその後の処理を行うことができる。特に、本実施例によれば、下位の重要度の処理が上位の重要度の前記記憶領域を侵害したのか、上位の重要度の処理が下位の重要度の前記記憶領域を侵害したのか、前記記憶領域が物理的に故障したのか、を侵害レベルとして判定することができ、侵害レベルに応じて、その後の処理を実行することができる。なお、図9の表900は、一例であり、この内容に限定されない。表900の内容は、重要度の数、異常の種類、及び、それに対応する処理内容を考慮して、適宜変更してよい。
図7〜図9で説明した一連の処理手順を、具体的な例で説明する。図10は、重要度Aの領域のアドレス“3000”に書き込まれたデータを、図6で説明した重要度Aのデータチェック方法にてチェックする様子を説明する図である。
重要度Aの処理が重要度Aのデータを読み出した際、読み出し制御部303は、図7のステップS703にて重要度Aのデータチェック方法でデータの正当性を確認する。読み出したデータをX、データの1の補数をY、データのコピーをX’、データの1の補数のコピーをY’と表現すると、X=“54”(アドレス“3000”の値)、Y=“AA”(アドレス“3001”の値)、X’=“55”(アドレス“4000”の値)、Y’=“AA”(アドレス“4001”の値)となる。
図6では、X=X’かつY=Y’かつX=~(Y)かつX’=~(Y’)であることを確認し、前述の式が満たされている場合、アドレス“3000”の値は正常であると判断することを説明した。図10では、X≠X’、Y=Y’、X≠~(Y)、X’=~(Y’)となっているため、重要度Aのデータチェックでエラーとなる。したがって、ステップS704にてデータ異常と判断されて、ステップS707のメモリ故障状態判別処理に移行する。
図10の状態において図8のメモリ故障状態判別処理を実行すると、まず、検査するデータは重要度Aのデータであるため、ステップS801からステップS811の処理に移行する。異常判別部304は、S811にて、重要度Bのデータチェック方法を実行する。
図11は、重要度Aのデータに対して、重要度Bのデータチェック方法にてチェックする様子を説明する図である。
重要度Bのデータチェック方法は、図5で説明したパリティチェックである。データXのパリティ値を計算すると“54(16進数)”=“01010100(2進数)”であり、“1”の数を数えると“3”である。そのためパリティチェック値は“01”と計算される。アドレス“3001”に格納されているチェック用データ“AA”と比較すると不一致であるため、重要度Bのデータチェックではデータ異常となる。S811にて重要度Bのデータチェックを実行した結果、S812にてデータ異常(不一致)と判定される。したがって、S814に移行し、その後、重要度Cのデータチェックを実行する。
図12は、重要度Aのデータに対して、重要度Cのデータチェック方法にてチェックする様子を説明する図である。
重要度Cのデータチェック方法は、図4で説明したデータブロックのサムチェックである。データXを含む、アドレス“3000”〜アドレス“3003”のサム値を計算すると“54”(16進数)+“AA”(16進数)+“FF”(16進数)+“FF”(16進数)=“2FC”(16進数)となり、下位1バイトを取って、“FC”となる。アドレス“3004”に格納されているチェック用データ“FF”と比較すると不一致であるため、重要度Cのデータチェックではデータ異常となる。S814にて重要度Cのデータチェックを実行した結果、S815にてデータ異常(不一致)と判定される。したがって、S817に移行し、重要度Aの記憶領域の物理的故障と判定される。
S817にてメモリの故障原因が物理的故障と分かったので、S803にて侵害レベルを決定する。重要度Aのデータの物理的故障であるため、図9の侵害レベルを参照すると、侵害レベルはレベル2である。よって、処理部301は、データ異常時の処理として侵害レベル2の処理を選択し、S804で実行する。
侵害レベル2のデータ異常時処理は、データ異常回数に応じて、データを修復するか、又は、フェールセーフ値に固定するものである。この侵害レベル2のデータ異常時の処理を図13のフローチャートで説明する。
(ステップS1301)
異常判別部304は、S817にて重要度A領域が物理的故障と判定する。
(ステップS1302)
処理部301は、重要度A領域の過去のデータ異常の発生回数を、例えば所定の記憶領域から読み出す。
(ステップS1303)
処理部301は、過去のデータ異常発生回数が閾値以上であるかを判定する。データ異常発生回数が閾値以上であった場合はS1304に移行し、データ異常発生回数が閾値未満であった場合はS1311に移行する。
(ステップS1304)
処理部301は、S1303にて過去のデータ異常発生回数が閾値以上であった場合は、ROM112からフェールセーフ値を読み出して、異常データの代用とする。
(ステップS1305)
処理部301は、S1304にて重要度Aの記憶領域の異常データの代用としてフェールセーフ値を使用する。この際、CPU111の重要度Aの記憶領域のデータ読み出しを禁止する。
(ステップS1311)
処理部301は、重要度Aの記憶領域の異常データが修復可能であるかを判定する。修復可能であると判定された場合、S1312に移行する。ここでの判定は、例えば、重要度Aの記憶領域の異常データについて図14で説明する関係が成立しているかで行うことができる。一方、修復不可能と判定された場合は、S1304に移行する。
(ステップS1312)
処理部301は、S1311で修復可能と判定された場合、データ修復処理を行う。
(ステップS1313)
処理部301は、所定の記憶領域に記憶されているデータ異常回数のカウント値に1を追加する。
(ステップS1314)
処理部301は、異常データを正常データに修復後、通常の処理を継続する。
以上、侵害レベル2の重要度Aのデータが物理的故障による異常であった際の処理手順について説明した。この構成によれば、過去のデータ異常発生回数に応じて、RAM113の記憶領域に対して適切な処理を実行することができる。
ここで、S1312におけるデータ修復処理の実行例を、図14を用いて説明する。図14は、図10の重要度Aのデータチェックでデータ異常と判定されたデータを修復する様子を示した図である。
図10において、X=“54”(アドレス“3000”の値)、Y=“AA”(アドレス“3001”の値)、X’=“55”(アドレス“4000”の値)、Y’=“AA”(アドレス“4001”の値)である。図14に示すように、X≠X’、X≠~(Y)であるが、Y=Y’、X’=~(Y’)が成立している。よって、X=~(Y)=~(Y’)=X’であるため、処理部301は、元々のXの値“54”を破棄し、X’の値“55”を正しいデータとしてアドレス“3000”に設定する。
データ修復処理は上記例に限らず、例えば、冗長系演算処理を行った結果のコピーを正しいデータとして書き戻すことなどを行ってもよい。また、S1304におけるフェールセーフ値に固定する処理、S1305における重要度Aの記憶領域からのデータ読み出し禁止処理、S1314におけるデータ修復後の通常処理の継続などの各ステップの処理内容は上記例に限定されるものでなく、様々な処理へ変更が可能である。
次に、上記例とは別の侵害レベルと判断されるデータ読み出し異常の例を説明する。図15は、重要度Aの領域のアドレス“3000”に書き込まれたデータを、図6で説明した重要度Aのメモリチェック方法にてチェックする様子を説明する図である。
読み出したデータをX、データの1の補数をY、データのコピーをX’、データの1の補数のコピーをY’と表現すると、X=“FE”(アドレス“3000”の値)、Y=“01”(アドレス“3001”の値)、X’=“55”(アドレス“4000”の値)、Y’=“AA”(アドレス“4001”の値)となる。この状態では、X≠X’、Y≠Y’、X=~(Y)、X’=~(Y’)となっているため、重要度Aのデータチェックでエラーとなり、図7のS707のメモリ故障状態判別処理に移行する。図8のS801における重要度はAであるため、S811の処理に移行し、重要度Aのデータに対して重要度Bのデータチェック方法を実行する。
図16は、図15の重要度Aのデータに対して、重要度Bのデータチェック方法にてチェックする様子を説明する図である。
重要度Bのデータチェック方法は図5で説明したパリティチェックである。データXのパリティ値を計算すると、“FE(16進数)”=“11111110(2進数)”であり、“1”の数を数えると“7”である。“1”の数が奇数であるため、偶数パリティチェック値は“01”となる。この値と、アドレス“3001”に格納されているチェック用データ“01”と比較すると一致するため、重要度Bのデータチェック方法では、データ正常と判定される。S811にて重要度Bのデータチェックを実行した結果、S812にて一致すると判定されたため、S813に移行する。S813では、重要度Bの処理が重要度Aの領域を侵害したと判定される。
S813にてデータ異常の原因が判別されたため、S803にて侵害レベルを決定する。図9を確認すると、重要度Aのデータが下位の処理(重要度B)からの侵害により異常となった状態であるため、侵害レベルはレベル6と判断される。よって、処理部301は、データ異常時の処理として侵害レベル6の処理を選択し、S804で実行する。侵害レベル6のデータ異常時処理は“重要度A〜重要度Cのデータをすべて初期化”である。この場合、重要度A〜重要度Cの領域のデータが初期状態にセットされる。
本実施例によれば、異なる重要度を持った処理とデータが混在する車載制御装置100において、複雑な制御ロジックを組み込まずに、ある重要度のデータの異常が発生した際、異常となった原因が電気的要因等によるデータの異常なのか、他の重要度の演算を実行したことによって書き換えられた(侵害された)かを判別できる。その結果に応じて所定の処理を行う機能を備えることで、致命的な状態に陥ることを回避できる制御コントローラの提供が可能となる。
より詳細には、本実施例の車載制御装置100は、データの重要度によって異なるデータチェック方法を使用し、データ重要度で分割された記憶領域においてデータ異常個所の異常原因を検出し、それら原因に応じた異なる処理を実行する。上記実施例では、重要度Aの領域に重要度Bのデータが書き込まれたケースについて説明したが、重要度Aの領域に重要度Cのデータが書き込まれた場合や重要度Bの領域に重要度Cのデータが書き込まれたケースについても同様に適用が可能である。また、重要度はA〜Cに限らず、2つ以上の設定であれば制限を受けない。
ここまで、重要度別にデータが記憶された各領域でデータ異常を検出した際に、データ重要度に応じた処理を実施する説明を行ったが、上記機能が正常動作しているかを確認する処理を行ってもよい。この場合、任意の重要度のデータ領域に対して、意図して異なる重要度の処理によるデータ書き込みを実行し、データ異常と判断されるかを確認すればよい。
例えば、処理部301に指示することによって、車載制御装置100の起動時に重要度Aの領域に対して意図して重要度Bまたは重要度Cのデータ書き込みを行う。次に、読み出し制御部303によって、それらデータの書き込み領域に対して重要度Aのデータチェックを実行する。本発明の機能が正常に動作している場合、重要度Aのデータチェックを実行した結果、異常判別部304によって、図9における侵害レベル6の「下位の処理からの侵害」と判定され、データ異常時の処理として“重要度A〜重要度Cのデータをすべて初期化”が選択される。最終的に、処理部301によって、重要度A〜重要度Cの領域のデータが初期化される。この状態において、CPU111によって重要度A〜重要度Cの記憶領域が正しく初期化されているかを確認すれば、重要度A領域のデータ異常検知の機能が正常動作していることを確認できる。
このように、任意のタイミングで処理部301に対して指示し、意図的にある重要度の領域に対して別の重要度のデータを書き込むことによって、本実施例の機能が正常に動作しているかを確認してもよい。
[第2実施例]
第1実施例では、CPU111がRAM113のある重要度の領域からデータを読み込む際に、データが正当であるかどうかを判別するための説明を行ったが、この仕組みを逆にとらえ、CPU111が演算する際に用いるデータをRAM113から読み出す際に、どの重要度が格納された領域にアクセスしたかを確認するために活用することも考えられる。
図17は、重要度Cのデータを演算するために、CPU111がRAM113からデータを取得後に、RAM113の重要度Cのデータ記憶領域から取得したものであるかを確認する様子を示した図である。
例えば、重要度Cのデータを演算するために、重要度Cの領域からデータを取得したつもりが、重要度Aのアドレス“3000”から“3003”の値を取得したとする。アドレス“3000”からアドレス“3003”のデータはそれぞれ“55”、“AA”、“F0”、“0F”となっており、第1実施例の図6で説明したように、データとチェック用データの1の補数が連続して並んでいる状態である。この状態で図4に示した、データ重要度Cのデータ読み出し時におけるサムチェック手順を実行すると、“55”+“AA”+“F0”+“0F”=“1FE”となり、チェックサムは“FE”となる。
また、重要度Aのアドレス3800から3803に正しく重要度Aのデータが書き込まれており、その値がそれぞれ“FF”、“00”、“11”、“EE”だとすると、これらのチェックサムは、“FF”+“00”+“11”+“EE”=“1FE”で“FE”となる。したがって、重要度Aのデータに対して重要度Cのデータのメモリチェック方法を実施した場合、結果はすべて“FE”となる。
このように、重要度Cのデータを演算するために読み込んだ値でチェックサムを計算した結果、“FE”の値であった場合、重要度Aのデータを取得した可能性があると推測できる。すなわち、重要度Cのデータを演算するために読み込んだ値でチェックサムを計算した結果と、重要度Aの領域から正しく読み込んだ値でチェックサムを計算した結果とを比較して、重要度Cのデータ記憶領域から正しく読み出されたかを判定してもよい。
この手法では、重要度Cのデータを正しく読み込んだにも係らず、チェックサム値が偶発的に“FE”となってしまった場合に誤判定を起こすことも予想されるが、チェックサム計算結果を2バイトに拡張し、サム値が“1FE”と一致することをチェックする方法や、チェックサムが“FE”となった場合に、重要度Aのデータのメモリチェック時に実行される、データとデータの1の補数による計算を実行することなどで回避できると考えられる。
上記のようにして、CPU111が重要度Cのデータを演算する過程において、RAM113中の重要度Aのデータの記憶領域にアクセスしたと判断した場合、重要度Aのデータ記憶領域から読み出される全ての値をROM112に格納されたフェールセーフ値にする等の処理を実行するように制御装置を構成してもよい。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。上記実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることもできる。また、ある実施例の構成に他の実施例の構成を加えることもできる。また、各実施例の構成の一部について、他の構成を追加・削除・置換することもできる。
例えば、上記実施例では、データ保証情報を用いたチェック方式として、サム値、パリティチェック、補数計算のデータチェック方法を用いた例を紹介したが、この他にCRCやハッシュ関数などの誤り検出・訂正符号技術が適用可能である。また、1つの重要度の記憶領域のデータチェックに、それらを組み合わせて使用する形態も考えられる。
上記各構成、機能、処理部等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に格納することができる。
100 :車載制御装置
110 :マイコン
111 :CPU
112 :ROM
113 :RAM
114 :I/O
120 :バッテリ
200 :制御対象機器
210 :センサ
220 :アクチュエータ
300 :制御プログラム
301 :処理部
302 :書き込み制御部
303 :読み出し制御部
304 :異常判別部

Claims (13)

  1. 少なくとも2つの異なる重要度を持つ処理を実行する処理部と、
    前記重要度に応じて異なる記憶領域にデータを記憶する記憶部と、
    前記処理部が実行する処理の前記重要度に応じて、前記記憶部の重要度別の記憶領域に、異なるデータ保証情報を保存する書き込み制御部と、
    前記記憶部の前記重要度別の記憶領域からデータを読み出すときに、前記重要度に応じて前記データ保証情報による異なるチェック方式を実行し、前記データが正当であるかを判定する読み出し制御部と、
    を備えることを特徴とする組み込み制御装置。
  2. 請求項1に記載の組み込み制御装置において、
    前記読み出し制御部によって異常であると判定されたデータの異常発生原因を判別する異常判別部をさらに備えることを特徴とする組み込み制御装置。
  3. 請求項2に記載の組み込み制御装置において、
    前記異常判別部は、
    前記異常であると判定されたデータの前記データ保証情報に対するチェック方式とは異なるチェック方式を実行し、
    前記異常発生原因が他の重要度の処理による侵害であるか、又は、前記記憶領域の物理的故障であるかを判定することを特徴とする組み込み制御装置。
  4. 請求項3に記載の組み込み制御装置において、
    前記異常判別部は、
    下位の重要度の処理が上位の重要度の前記記憶領域を侵害したのか、
    上位の重要度の処理が下位の重要度の前記記憶領域を侵害したのか、
    前記記憶領域が物理的に故障したのか、
    を侵害レベルとして判定することを特徴とすることを特徴とする組み込み制御装置。
  5. 請求項3に記載の組み込み制御装置において、
    前記異常判別部は、前記異常であると判定されたデータについて全てのチェック方式で異常であると判定された場合、前記記憶領域の物理的故障であると判定することを特徴とする組み込み制御装置。
  6. 請求項4に記載の組み込み制御装置において、
    前記処理部は、
    前記侵害レベルと前記侵害レベルに対応する処理とが関連付けられた情報を参照し、
    前記侵害レベルに対応する処理を実行することを特徴とする組み込み制御装置。
  7. 請求項4に記載の組み込み制御装置において、
    前記処理部は、前記侵害レベルに応じて、前記記憶領域のデータを修復するか、又は、フェールセーフ値に固定することを特徴とする組み込み制御装置。
  8. 請求項2に記載の組み込み制御装置において、
    前記処理部は、前記異常発生原因に応じて、前記記憶領域のデータを修復するか、又は、フェールセーフ値に固定することを特徴とする組み込み制御装置。
  9. 請求項8に記載の組み込み制御装置において、
    前記処理部は、前記データの異常発生回数を記録することを特徴とする組み込み制御装置。
  10. 請求項9に記載の組み込み制御装置において、
    前記処理部は、前記異常発生回数に応じて、前記記憶領域のデータを修復するか、又は、フェールセーフ値に固定することを特徴とする組み込み制御装置。
  11. 請求項1に記載の組み込み制御装置において、
    前記処理部が、前記記憶部の任意の重要度の記憶領域に、当該記憶領域の重要度と異なる重要度のデータを書き込み、
    前記読み出し制御部が、前記異なる重要度のデータが書き込まれた前記記憶領域に対して、チェック方式を実行し、前記データが正当であるかを判定することを特徴とする組み込み制御装置。
  12. 請求項1に記載の組み込み制御装置において、
    前記読み出し制御部は、
    読み出したデータに対して、前記読み出したデータに対応する記憶領域のチェック方式を実行した結果と、前記読み出したデータに対応する記憶領域の重要度とは異なる重要度の記憶領域のデータに対して、前記読み出したデータに対応する記憶領域のチェック方式を実行した結果から、前記読み出したデータが、対応する記憶領域から正しく読み出されたかを判定することを特徴とする組み込み制御装置。
  13. 請求項12に記載の組み込み制御装置において、
    前記読み出し制御部は、読み出したデータに対して、前記読み出したデータに対応する記憶領域の重要度とは異なる重要度の記憶領域に対応するチェック方式を実行し、前記読み出したデータが、対応する記憶領域から正しく読み出されたかを判定することを特徴とする組み込み制御装置。
JP2014194606A 2014-09-25 2014-09-25 組み込み制御装置 Active JP6177748B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014194606A JP6177748B2 (ja) 2014-09-25 2014-09-25 組み込み制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014194606A JP6177748B2 (ja) 2014-09-25 2014-09-25 組み込み制御装置

Publications (2)

Publication Number Publication Date
JP2016066236A true JP2016066236A (ja) 2016-04-28
JP6177748B2 JP6177748B2 (ja) 2017-08-09

Family

ID=55805488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014194606A Active JP6177748B2 (ja) 2014-09-25 2014-09-25 組み込み制御装置

Country Status (1)

Country Link
JP (1) JP6177748B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5619593A (en) * 1979-07-23 1981-02-24 Nippon Telegr & Teleph Corp <Ntt> Parity check processing system for memory
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法
JP2007207092A (ja) * 2006-02-03 2007-08-16 Denso Corp 電子制御装置
JP2008192054A (ja) * 2007-02-07 2008-08-21 Megachips Lsi Solutions Inc 半導体メモリシステム
JP2014016925A (ja) * 2012-07-11 2014-01-30 Nec Saitama Ltd 情報処理システム、データ切替方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5619593A (en) * 1979-07-23 1981-02-24 Nippon Telegr & Teleph Corp <Ntt> Parity check processing system for memory
JP2004152194A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd メモリデータ保護方法
JP2007207092A (ja) * 2006-02-03 2007-08-16 Denso Corp 電子制御装置
JP2008192054A (ja) * 2007-02-07 2008-08-21 Megachips Lsi Solutions Inc 半導体メモリシステム
JP2014016925A (ja) * 2012-07-11 2014-01-30 Nec Saitama Ltd 情報処理システム、データ切替方法およびプログラム

Also Published As

Publication number Publication date
JP6177748B2 (ja) 2017-08-09

Similar Documents

Publication Publication Date Title
CN107949847B (zh) 车辆的电子控制单元
US20090055906A1 (en) Method and apparatus for embedded memory security
CN112166416A (zh) 确定由控制器从存储器读取的数据的有效性
US8751817B2 (en) Data processing apparatus and validity verification method
US8856595B2 (en) Method for verifying an application program in a failsafe programmable logic controller, and programmable logic controller for performing the method
US20200310821A1 (en) Information processing apparatus, control method therefor, and storage medium
US7143314B2 (en) Method and apparatus for ensuring integrity of critical RAM variables
CN102968348A (zh) 用于预引导数据验证的方法和系统
US10108469B2 (en) Microcomputer and microcomputer system
US8868517B2 (en) Scatter gather list for data integrity
KR20210132212A (ko) 차량의 전자 제어 유닛 비준
CN117136355A (zh) 在卸载操作中使用的错误校验数据
KR101512927B1 (ko) 비휘발성 메모리의 페이지 관리 방법 및 장치
US8117412B2 (en) Securing safety-critical variables
JP6177748B2 (ja) 組み込み制御装置
EP3454216B1 (en) Method for protecting unauthorized data access from a memory
JP2013171467A (ja) 情報処理装置、車両用電子制御装置、データ読み書き方法
US11169828B2 (en) Electronic control unit and method for verifying control program
EP3525210B1 (en) Data register monitoring
EP3649553B1 (en) Data protection
JP6469599B2 (ja) メモリ管理システム
US20120265904A1 (en) Processor system
JP4639920B2 (ja) 電子制御装置
US20230359523A1 (en) Memory integrity check
JP2023104466A (ja) 車載電子制御装置、及びメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170421

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170712

R150 Certificate of patent or registration of utility model

Ref document number: 6177748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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