JP2015184796A - 電子制御装置及びメモリ診断方法 - Google Patents

電子制御装置及びメモリ診断方法 Download PDF

Info

Publication number
JP2015184796A
JP2015184796A JP2014058826A JP2014058826A JP2015184796A JP 2015184796 A JP2015184796 A JP 2015184796A JP 2014058826 A JP2014058826 A JP 2014058826A JP 2014058826 A JP2014058826 A JP 2014058826A JP 2015184796 A JP2015184796 A JP 2015184796A
Authority
JP
Japan
Prior art keywords
core
memory
diagnosis
memory diagnosis
area
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
JP2014058826A
Other languages
English (en)
Other versions
JP6243266B2 (ja
Inventor
賢史 山▲崎▼
Kenshi Yamazaki
賢史 山▲崎▼
昌宏 園田
Masahiro Sonoda
昌宏 園田
和幸 戸上
Kazuyuki Togami
和幸 戸上
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 JP2014058826A priority Critical patent/JP6243266B2/ja
Publication of JP2015184796A publication Critical patent/JP2015184796A/ja
Application granted granted Critical
Publication of JP6243266B2 publication Critical patent/JP6243266B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

【課題】自動車等の車両に搭載する電子制御装置において、メモリ診断の効率化を図る。【解決手段】複数の演算装置(11、12)と、データを記憶するメモリ(2、3)とを含む電子制御装置(100)であって、各々の演算装置(11、12)は、メモリ(2、3)を複数の領域に分割して所定のメモリ診断をする際、各々の演算装置(11、12)の処理能力に基づいて割り振られたメモリ(2、3)の領域を、個別に診断するメモリ診断方法を実行する。【選択図】 図1

Description

本発明は、自動車等の車両に搭載する電子制御装置及びそのメモリ診断方法に関する。
自動車等の車両に搭載する電子制御装置(ECU(Electronic Control Unit))等の一部には、システムの起動時にメモリの診断を行う機種がある。そして、複数のプロセッサを用いて、システムの起動時に初期化処理やメモリ診断処理にかかる時間を並列処理により短縮する技術が提案されている(例えば、特許文献1参照)。
特開平6−325007号公報
しかし、単に並列処理をしたのでは、プロセッサのスペック等に応じて処理時間に差が生じて終了時間がばらつきやすくなり、待ち時間が発生しやすくなる。
そこで、本発明は、自動車等の車両に搭載する電子制御装置において、メモリ診断の効率化を図ることができる技術を提供することを目的とする。
本発明による電子制御装置は、複数の演算装置と、データを記憶するメモリとを含む電子制御装置であって、各々の演算装置は、メモリを複数の領域に分割して所定のメモリ診断をする際、各々の演算装置の処理能力に基づいて割り振られたメモリの領域を、個別に診断するメモリ診断方法を実行する。
本発明によれば、メモリ診断の効率化を図ることができる技術を提供できる。
電子制御装置のハード構成例を示す図である。 従来のマルチコアプロセッサにおけるメモリ診断の一例を説明する図である。 第1実施形態におけるメモリ診断の処理の一例を説明する図である。 第1実施形態におけるメモリ診断のタイミングチャートの一例を説明する図である。 第2実施形態におけるメモリ診断の処理の一例を説明する図である。 第3実施形態におけるメモリ診断の処理の一例を説明する図である。 第3実施形態におけるメモリ診断のタイミングチャートの一例を説明する図である。 第4実施形態におけるメモリ診断のタイミングチャート例を説明する図である。 第5実施形態におけるメモリ診断の処理の一例を説明する図である。 第5実施形態におけるメモリ診断の処理の一例を示すフローチャートである。 第5実施形態におけるメモリ診断の処理の一例を示すサブルーチンのフローチャートである。 第5実施形態におけるメモリ診断の処理の一例を説明する図である。 第5実施形態におけるメモリ診断の処理の一例を示すサブルーチンのフローチャートである。 第6実施形態におけるメモリ診断の処理の一例を説明する図である。 第6実施形態におけるメモリ診断のタイミングチャートの一例を説明する図である。 第6実施形態におけるメモリ診断の処理の一例を示すフローチャートである。 第8実施形態におけるメモリ診断の処理の一例を説明する図である。
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
先ず、電子制御装置のハード構成例について、説明する。
図1に示す電子制御装置100は、例えば、自動車に搭載され、エンジン、自動変速機、燃料ポンプなどを電子制御するデバイスである。
電子制御装置100は、プロセッサ1と、ROM(Read Only Memory)2と、RAM(Random Access Memory)3と、バス4とを備える。プロセッサ1、ROM2及びRAM3は、バス4を介して、互いに接続されている。
プロセッサ1は、電子制御装置100の統括的な制御を行うものである。ここで、プロセッサ1は、1つのCPUのパッケージに複数のCPUコア(例えば第1コア11、第2コア12)を搭載しており、物理的にCPUコアの数を増やすことで処理の高速化等を図るマルチコアプロセッサである。図1に示すプロセッサ1では、2つのCPUコアを搭載したデュアルコアを例示しているが、これに限定されず、例えば、3つのCPUコアを搭載したトリプルコア、4つのCPUコアを搭載したクアッドコアであってもよい。また、さらに多くのCPUコアを搭載してもよい。なお、CPUコア(例えば第1コア11、第2コア12)は、演算装置の一例である。
ROM2は、例えば、フラッシュROM等、電源供給を遮断してもデータが保持される不揮発性の半導体メモリである。また、ROM2は、第1コア用領域21と、第2コア用領域22とを含む。第1コア用領域21及び第2コア用領域22は、例えば、プロセッサ1(第1コア11、第2コア12等)の処理能力に応じて、メモリ診断対象のメモリの領域が設定される。
RAM3は、例えば、演算処理等に用いられるデータの一時的な作業領域となるメモリであって、電源供給が遮断されると、記憶内容が消える揮発性メモリである。より詳細には、RAM3は、アドレス等による番地情報に基づいて、任意の番地のメモリーセルに対して読み出しや書き込みといった操作ができる記憶装置である。なお、RAM3は、例えば、ダイナミックRAMやスタティックRAMであってもよい。バス4は、例えば、メモリアクセスバスを含む。
また、電子制御装置100は、プロセッサ1、ROM2、RAM3等のハードウェアと、制御プログラム等のソフトウェアとが協働することにより、各種機能を実現する。この制御プログラムには、本実施形態のメモリ診断等の処理を行うプログラムが含まれる。したがって、プロセッサ1は、第1コア11及び第2コア12が制御プログラムを実行することで、メモリ診断等の処理が実現される。
[従来例との比較]
ここで、本件に開示する技術をより深く理解するため、従来のマルチコアプロセッサにおけるメモリ診断について簡単に説明する。
図2に示すように、従来のマルチコアプロセッサにおけるメモリ診断では、一例として、メモリ2aの診断領域を均等に2分割し、マルチコアプロセッサの第1コア11が第1ROM領域21aを診断し、マルチコアプロセッサの第2コアが第2ROM領域22aを診断する。診断の仕方としては、例えばいわゆるチェックサム方式を採用している。チェックサム方式は、一例として、第1ROM領域21a、第2ROM領域22aのブロック毎に算出したチェックサム(合計値)と、予め算出しておいたチェックサム(期待値)とを各々比較する。チェックサム(合計値)とチェックサム(期待値)とが一致すれば、正常であると診断される。
ここで、第1コア11と第2コア12とにおいて、例えば、演算処理能力の目安となるクロック周波数(動作周波数)が異なると、メモリの診断等の処理時間にばらつきが生じやすくなるため、上述した通り、先にメモリ診断を終了したコアは、他のコアによるメモリ診断の終了まで無駄な待ち時間が発生することとなる。
そこで、以下に説明する実施形態において、メモリ診断の効率化を図ることができる技術等について説明する。また、例えばメモリ診断の高速化や異常時の処理についても説明する。
[第1実施形態]
図3では、第1実施形態におけるメモリ診断の処理の一例として、ROM2の領域を模式的に示している。なお、図3では、図2に示したようなブロック毎のチェックサムにおける期待値の領域の図示を省略している(以下、同様とする)。また、図3では、第2コア12が診断するメモリのブロックを斜線で例示している。ここで、第1実施形態では、第1コア11の第1クロック周波数(f)を、一例として、240MHzとし、第2コア12の第2クロック周波数(f)を、一例として、80MHzとする。
また、第1実施形態では、説明をわかりやすくするため、ROM2のメモリ領域を20ブロックに分割する(図3参照)。なお、メモリ領域を複数の領域に分割する仕方は一例であって、物理空間に応じて分割してもよく、又は、論理空間に応じて分割してもよい。つまり、メモリ診断の効率化に寄与すれば、メモリ領域を複数の領域に分割する仕方は、特に限定されない。
ここで、一例として20ブロックに分割した場合、第1コア11がメモリ診断する領域の比率rは、
=f/(f+f)=240MHz/(240+80)MHz=0.75
となる。
一方、第2コア12がメモリ診断する領域の比率rは、
=f/(f+f)=80MHz/(240+80)MHz=0.25
となる。これにより、第1コア11がメモリ診断する領域のブロック数Bは、B=20×0.75=15ブロックとなる。また、第2コア12がメモリ診断する領域のブロック数Bは、B=20×0.25=5ブロックとなる。
なお、上記比率の場合、図1に示す第1コア用領域21のブロック数が15ブロックとなり、第2コア用領域22のブロック数が5ブロックとなる。
したがって、図3に示す通り、クロック周波数が、第2コア12よりも3倍高い第1コア11の方が、その分多くのブロックを単位時間当たりで診断することができる。この点に関し、図4を用いてより詳細に説明する。
図4に示すメモリ診断のタイミングチャートにおいて、横軸は、時間軸を表しており、縦軸は、図1に示す第1コア11及び第2コア12が実行するブロックの診断時間を模式的に長方形で表している。具体的には、図1では、長方形の面積が大きいほど、診断時間を要することを示している。ここでは、電子制御装置100の起動時のメモリ診断を例示している。
図4(a)は、比較例として、第1コア11と第2コア12とで、診断領域を等分(10ブロックづつ)にした場合を例示している。図4(b)は、図3に示す通り、第1コア11が15ブロックを診断し、第2コア12が5ブロックを診断した場合を例示している。
図4(a)の場合、第1コア11は、第2コア12と比較して、クロック周波数が3倍高いので、メモリの診断時間が略3分の1の時間で終了することになる。この場合、第1コア11は、第2コア12のメモリ診断のジョブが終了しないと、次のジョブを実行できない場合、無駄な待ち時間が発生する。
一方、図4(b)の場合、第1コア11が15ブロックを診断し、第2コア12が5ブロックを診断する。これにより、第1コア11のメモリ診断の終了時と、第2コア12のメモリ診断の終了時とが、略一致する。
つまり、第1コア11と第2コア12とは、ROM2の領域を分割して、予め定められたチェックサム等を利用してメモリ診断をする際、各々のコアのクロック周波数に基づいて割り振られたメモリのブロックを、個別に診断する。したがって、第1実施形態では、クロック周波数によって、メモリ診断の領域の比率を変えることにより、マルチコアプロセッサにおけるメモリ診断の効率化を実現できる。この結果、第1実施形態では、メモリ診断の高速化も実現できる。なお、上記の比率の計算やメモリのブロックの割り振りは、例えば第1コア11と第2コア12との何れか一方が行えばよい。
[第2実施形態]
第2実施形態では、各コアの演算処理の負荷(以下「処理負荷」という)に基づいて、診断する領域の比率を決定する。なお、電子制御装置100の動作時において、第1コア11、第2コア12は、各々演算処理にかかる負荷率を管理している。
図5に示すメモリ診断の処理の一例として、具体的には、第1コア11の負荷率を60%とし、第2コア12の負荷率を20%とする。換言すると、各コアの使用可能な割合を示す余裕率が、第1コア11の場合、40%であり、第2コア12の場合、80%となる。また、第2実施形態でも、ROM2のメモリの領域を20ブロックに分割する場合について説明する。ここで、第2実施形態では、第1コア11の余裕率(s)を、一例として、40%とし、第2コア12の余裕率(s)を、一例として、80%とする。このようにした場合、第1コア11がメモリ診断する領域の比率rは、
=s/(s+s)=40/(40+80)=0.333≒33%
となる。
一方、第2コア12がメモリ診断する領域の比率rは、
=s/(s+s)=80/(40+80)=0.666≒67%
となる。これにより、第1コア11がメモリ診断する領域のブロック数Bは、B=20×0.33=6.6≒7ブロックとなる。また、第2コア12がメモリ診断する領域のブロック数Bは、B=20×0.67=13.4≒13ブロックとなる。
なお、この場合、図5に示す通り、高負荷(負荷率60%)の第1コア11が7ブロックのメモリ診断をし、低負荷(負荷率40%)の第2コア12が13ブロックのメモリ診断を行う。これにより、第2実施形態においても、各コアの処理負荷によって、メモリ診断の領域の比率を変えることにより、メモリ診断の効率化を実現できる。
[第3実施形態]
第3実施形態では、各コアのクロック周波数及び処理負荷を考慮して、メモリ診断を行う。
図6に示す第3実施形態におけるメモリ診断の処理の一例では、第1実施形態と同様、第1コア11の第1クロック周波数(f)を、240MHzとし、第2コア12の第2クロック周波数(f)を、80MHzとする。また、第1コア11の余裕率を40%とし、第2コア12の余裕率を80%とする。
ここで、各コアのクロック周波数及び処理負荷を考慮するため、第1コア11の場合、先ず、第1実施形態で算出した75%と第2実施形態で算出した33%とを乗算することにより、24.75%の値(r)が得られる。また、第2コア12の場合、先ず、第1実施形態で算出した25%と第2実施形態で算出した67%とを乗算することにより、16.75%の値(r)が得られる。
続いて、第1コア11がメモリ診断する領域の比率rは、
=r/(r+r)=24.75/(24.75+16.75)
=0.5963≒60%となる。
一方、第2コア12がメモリ診断する領域の比率rは、
=r/(r+r)=16.75/(24.75+16.75)
=0.4036≒40%となる。
したがって、図6に示す通り、第1コア11がメモリ診断する領域のブロック数Bは、B=20×0.60=12ブロックとなり、第2コア12がメモリ診断する領域のブロック数Bは、B=20×0.40=8ブロックとなる。
図7では、第3実施形態におけるメモリ診断のタイミングチャートの一例を示している。ただし、説明の便宜上、図7では、待ち時間を省略し、太線の鎖線で区切った20ブロック単位のメモリの診断時間を例示している。具体的には、図7(a)は、比較例として、第1コア11と第2コア12とにおいて、メモリ診断の領域を等分(10ブロック)に分割した場合を例示している。図7(b)は、図6に示す通り、第1コア11が12ブロックをメモリ診断し、第2コア12が8ブロックをメモリ診断した場合を例示している。
これにより、第3実施形態では、各コアのクロック周波数及び処理負荷を考慮してメモリ診断の領域の比率を変えることにより、第1、2実施形態よりもさらにメモリ診断を効率化し、また、高速化も実現できる。
[第4実施形態]
第4実施形態では、定周期のジョブの実行中にメモリ診断を実行する。
図8では、第4実施形態におけるメモリ診断のタイミングチャートの一例を示しており、プロセッサ1(第1コア11、第2コア12等)は、一例として、実行時間がそれぞれ2msec毎のジョブAと、5msec毎のジョブBと、10msec毎のジョブC等のジョブを実行する。なお、ジョブの優先度は、高い順番からジョブA、ジョブB、ジョブCとする。また、図8では、斜線のブロックで待ち時間を表している。ただし、図8では、説明の便宜上、ジョブCの待ち時間とジョブBの一部の待ち時間を、斜線のブロックであらわしている。また、図8に示す通り、2msec毎のジョブAは、A1、A2、A3、A4、A5、・・・というように、10msecの間に5回起動する。また、5msec毎のジョブBは、B1、B2、・・・というように、10msecの間に2回起動する。また、10msec毎のジョブCは、C1、・・・というように、10msecの間に1回起動する。
そして、プロセッサ1は、一例として、実行時間が10msec等の定周期のジョブCの実行中にメモリ診断を行う場合、そのジョブCの中でメモリ診断の処理を並列に行う。
なお、図8(a)において、プロセッサ1は、時間0のタイミングで、ジョブA1を起動し、その後、10msec内に、2msec毎に起動するジョブA2からA5を実行する。また、プロセッサ1は、ジョブB1を時間0のタイミングで起動するが、待ち時間により、ジョブA1の終了後にジョブB1を実行する。また、プロセッサ1は、ジョブB2を時間軸で5msecのタイミングで起動するが、途中、ジョブA4の起動により待ち時間が発生したため、2回に分けて実行する。
さらに、プロセッサ1は、ジョブC1を時間0のタイミングで起動するが、待ち時間により、10msecの間に4回に分けて実行する。
図8(b)は、ジョブA、B及びCの各実行時間の合計を示している。以上より、プロセッサ1は、定周期のジョブの実行中にメモリ診断を行う場合、そのジョブの中でメモリ診断の処理を並列に行うので、メモリ診断の効率化を実現できる。
なお、図8において、単位時間(T1)、実行時間(T2)、空き時間(T3)とした場合、負荷率(%)=(T2)/(T1)となり、余裕率(%)=(T1)/(T2)となる。この場合、プロセッサ1は、実行時間(T2)+空き時間(T3)の期間内の負荷率(又は、余裕率)に基づいて、次の周期でのメモリ診断における比率を決定してもよい。これにより、メモリ診断の効率化がさらに図られる。
[第5実施形態]
第5実施形態では、各コアのクロック周波数及び処理負荷を考慮して、メモリ診断する領域の比率を決定する。
図9に示すメモリ診断の処理の一例において、プロセッサ1は、メモリ診断する領域のブロックの比率を1度決定した場合(図9(a)参照)、全領域のメモリ診断が終了するまで、その比率を変えずにメモリ診断をしてもよい(図9(b)、(c)参照)。
具体的には、図9に示す処理において、10msecの定周期のジョブでメモリ診断をする場合、プロセッサ1(第1コア11、第2コア12等)は、図10に示すフローチャートの処理(以下「フローの処理」という)を実行する。
ステップS101:プロセッサ1は、所定の演算処理を実行する。具体的には、プロセッサ1では、例えば、各コアが処理負荷を算出する。
ステップS102:プロセッサ1は、メモリ診断処理のサブルーチンを実行する。
そして、プロセッサ1は、図10に示すフローの処理を一旦終了する。そして、プロセッサ1は、再度、10msecの定周期のジョブでメモリ診断を行うため、図10に示すフローの処理を開始する。
次に、図11に示すメモリ診断処理のサブルーチンについて、説明する。
ステップS103:プロセッサ1は、ROM2内で当該診断対象となるメモリの全領域について診断が終了したか否かを判定する。診断が終了していない場合(ステップS103:No)、後述するステップS107に移行する。一方、診断が終了した場合(ステップS103:Yes)、ステップS104の処理に移行する。
ステップS104:プロセッサ1は、各コアのクロック周波数及び処理負荷に基づいて、診断領域の分担を決定する。
ステップS105:プロセッサ1は、各領域の診断済みの情報を消去する。
ステップS106:プロセッサ1は、カウンタXの初期化処理を行う。なお、カウンタXは、例えば、メモリブロックのカウンタ値である(以下、同様とする)。
ステップS107:プロセッサ1は、第Nコアの分担領域の診断が終了したか否かを判定する。ここでは、図1に示す通り、プロセッサ1は、デュアルコアプロセッサであるので、ここでは、第1コア11、第2コア12が対象となる。診断が終了した場合(ステップS107:Yes)、メモリ診断処理のサブルーチンを終了し、ステップS102に戻り、図10に示すフローの処理を一旦終了する。一方、診断が終了していない場合(ステップS107:No)、ステップS108の処理に移行する。
ステップS108:プロセッサ1は、カウンタXに基づいて、分割したブロックのメモリの領域Xを診断する。ここで、カウンタXとメモリの領域Xとは、アドレス番号等で関連付けられている。
ステップS109:プロセッサ1は、カウンタXの更新処理を行う。そして、メモリ診断処理のサブルーチンを終了し、ステップS102に戻り、図10に示すフローの処理を一旦終了する。
以上より、プロセッサ1は、メモリ診断する領域のブロックの比率を1度決定した場合、全領域のメモリ診断が終了するまで、その比率を変えずにメモリ診断することができる。ただし、メモリ診断の最中に処理負荷が変動した場合、メモリ診断の時間にばらつきが生じるおそれがある。
そこで、図12において、プロセッサ1は、メモリ診断する領域のブロックの比率を、メモリ診断の周期毎に見直してもよい。具体的には、メモリ診断の開始時には、図12(a)に示す通り、ROM2のメモリにおいて、第1コア11がメモリ診断する領域(第1コア用領域21)は、60%であり、第2コア12がメモリ診断する領域(第2コア用領域22)は、40%である。その後、図12(b)に示す通り、第1コア11の処理負荷が減った場合、プロセッサ1は、メモリ診断する領域のブロックの比率について、第1コア11の分担の比率を60%から70%に増やし、第2コア11の分担の比率を40%から30%に減らす。そして、プロセッサ1は、メモリ診断を最後まで実行する(図12(c)参照)。
具体的には、10msecの定周期のジョブでメモリ診断を行う場合、プロセッサ1は、上述した図10に示すフローの処理を行う。ただし、ステップS102のメモリ診断処理におけるサブルーチンの処理が、上述した図11に示すサブルーチンと一部異なるので、以下、図13に示すサブルーチンのフローチャートに基づいて説明する。
ステップS201:プロセッサ1は、ROM2における当該対象のメモリの全領域について診断が終了したか否かを判定する。診断が終了していない場合(ステップS201:No)、後述するステップS204に移行する。一方、診断が終了した場合(ステップS201:Yes)、ステップS202の処理に移行する。
ステップS202:プロセッサ1は、各領域の診断済みの情報を消去する。
ステップS203:プロセッサ1は、カウンタXの初期化処理を実行する。
ステップS204:プロセッサ1は、各コアのクロック周波数及び処理負荷に基づいて、診断領域の分担を決定する。
ステップS205:プロセッサ1は、第Nコア(第1コア11、第2コア12)の分担領域の診断が終了したか否かを判定する。診断が終了した場合(ステップS205:Yes)、メモリ診断処理のサブルーチンを終了し、ステップS101に戻り、図10に示すフローの処理を一旦終了する。一方、診断が終了していない場合(ステップS205:No)、ステップS206の処理に移行する。
ステップS206:プロセッサ1は、カウンタXに基づいて、分割したブロックのメモリの領域Xを診断する。
ステップS207:プロセッサ1は、カウンタXの更新処理を行う。そして、メモリ診断処理のサブルーチンを終了し、ステップS102に戻り、図10に示すフローの処理を一旦終了する。
なお、メモリ診断の周期毎に比率を見直す場合、例えば、10msec毎であってもよく、又は、100msec毎であってもよく、メモリ診断に適した時間であれば、任意に設定してよい。
以上より、第5実施形態では、各コアのクロック周波数及び処理負荷を考慮して、メモリ診断する領域のブロックの比率を決定するので、メモリ診断の効率化や高速化を実現できる。
[第6実施形態]
第6実施形態では、メモリ診断する領域のブロックの比率を予め決定せずに、各コアのバックグランド処理により、メモリ診断を行う。つまり、第1コア11及び第2コア12は、当該ブロックの診断が終了した場合、次の未診断ブロックを診断する。
図14に示す第6実施形態におけるメモリ診断の処理の一例において、図14(a)に示す通り、第1コア11がROM2の第1ブロック目(n=1)の診断を開始し、第2コア12がROM2の第2ブロック目(n=2)の診断を開始する。なお、説明をわかりやすくするため、図14(a)から図14(c)において、各ブロックに通し番号を付与している。
ここで、図14(b)において、第1コア11が第1ブロック目の診断を終了した場合、第2コア12が第2ブロック目を診断中であれば、第1コア11は、次の未診断の第3ブロック目(n=3)を診断する。また、図14(c)において、第2コア12が第2ブロック目の診断を終了した場合、第1コア11が例えば第6ブロック目(n=6)を診断中であれば、第2コア11は、次の未診断の第7ブロック目(n=7)を診断する。以下、同様に処理をしていく。
なお、診断済みのブロックの判定方法は、例えば、メモリブロック毎に対になるフラグを持つことにより実現できる。診断開始フラグは、診断開始時にセットし、診断終了時に診断終了フラグをセットする。これにより、第1コア11、第2コア12は、診断開始フラグがセットされていないブロックを未診断のブロックであると判断できる。
図15に示す第6実施形態におけるメモリ診断のタイミングチャートの一例において、第1コア11、第2コア12は、空き時間(T3)にメモリ診断の処理を行う。
具体的には、プロセッサ1は、図16に示すバックグランド処理のフローの処理を行う。なお、図15は、図8と同様のタイミングチャートであるが、バックグランド処理が追加されている。
ステップS301:プロセッサ1は、ROM2を分割したブロックのメモリの領域Xを診断する。
ステップS302:プロセッサ1は、ROM2における当該対象のメモリの全領域について診断が終了したか否かを判定する。診断が終了していない場合(ステップS302:No)、後述するステップS305に移行する。一方、診断が終了した場合(ステップS302:Yes)、ステップS303の処理に移行する。
ステップS303:プロセッサ1は、各領域の診断済みの情報を消去する。
ステップS304:プロセッサ1は、カウンタXの初期化を行う。そして、図16に示すフローの処理を終了する。そして、プロセッサ1は、再度バックグランドの処理の実行時に、図16に示すフローの処理を開始する。つまり、図16のフローの処理は、終了の指示がない限り、常に繰り返されて実行される。
ステップS305:プロセッサ1は、カウンタXの更新処理を行う。
ステップS306:プロセッサ1は、領域Xが末診断であるか否かを判定する。領域Xが診断済みである場合(ステップS306:No)、ステップS302の処理に戻る。一方、領域Xが末診断の場合(ステップS306:Yes)、図16に示すフローの処理を終了する。そして、プロセッサ1は、再度バックグランドの処理の実行時に、図16に示すフローの処理を開始する。
以上より、第6実施形態では、空き時間にバックグランド処理にてメモリ診断を行うことにより、メモリ診断の効率化を実現できる。
[第7実施形態]
第7実施形態では、複数コアにより、相互にメモリ診断を行う。例えば、第1コア11によるメモリ診断の結果が異常であった場合には、その異常を診断した第1コア11とは異なる第2コア12が、異常と診断されたメモリの領域に対してメモリ診断を再度行う。
また、図1において、第1コア11が第2コア用領域22のメモリ診断を行い、第2コア12が第1コア用領域21のメモリ診断を行うようにしてもよい。また、第7実施形態では、各コアが使用するROM2の領域について、そのROM2の領域を使用しない他のコアがメモリ診断を行えればよい。
以上より、第7実施形態によれば、例えば、第1コア11の方に異常が発生した場合、第2コア12が第1コア用領域21のメモリ診断することで、正常であれば、第1コア11の方に異常が発生したことがわかる。したがって、異常が発生した第1コア11が、その領域を正常と誤診断することを防ぐことができるので、メモリ診断の効率化を実現できる。なお、図1において、第1コア11、第2コア12がそれぞれ、第1コア用領域21及び第2コア領域22についてクロスチェックを行うようにしてもよい。これにより、メモリ診断の精度を向上させることができる。
[第8実施形態]
第8実施形態では、メモリ診断に関して、RAM3で行う。第8実施形態におけるメモリ診断の処理の一例において、図17に示す第1コア11と第2コア12とは、RAM3のメモリ診断の領域を例えば均等に2つに分割して、それぞれ、メモリ診断を行う。具体的には、第1コア11は、第1RAM領域31をメモリ診断し、第2コア12は、第2RAM領域32をメモリ診断する。この際、第1コア11と第2コア12とは、上記実施形態の何れかのメモリ診断方法を適宜適用することができる。
なお、第1コア11と第2コア12とは、RAM診断の一例として、検査値を読み込んでから読み出して比較するベリファイ方式で行う。図17から明らかなように、各コアが分担して診断すれば、全領域の診断終了までの時間が短縮できる。さらに、第8実施形態では、上述したROM2のメモリ診断と同様、メモリ診断する領域の分担比率を変えることにより、効率的に診断できる。また、第8実施形態では、デュアルコアを例示しているが、これに限定されず、他のマルチコアの構成であってもよい。
以上より、第8実施形態によれば、RAM3のメモリ診断においても、上述したROM2のメモリ診断と同様の効果が得られる。
1…プロセッサ
11…第1コア
12…第2コア
2…ROM
21…第1コア用領域
22…第2コア用領域
3…RAM
4…バス
100…電子制御装置

Claims (4)

  1. 複数の演算装置と、データを記憶するメモリとを含む電子制御装置であって、
    各々の前記演算装置は、前記メモリを複数の領域に分割して所定のメモリ診断をする際、各々の前記演算装置の処理能力に基づいて割り振られた前記メモリの領域を、個別に診断することを特徴とする電子制御装置。
  2. 前記演算装置の前記処理能力は、前記演算装置の動作周波数と処理負荷との少なくとも一方である請求項1に記載の電子制御装置。
  3. 前記メモリ診断の結果が異常であった場合には、該異常を診断した演算装置とは異なる他の演算装置が、前記異常と診断されたメモリの領域に対して前記メモリ診断を再度行う請求項1又は請求項2に記載の電子制御装置。
  4. 電子制御装置の複数の演算装置が、メモリを複数の領域に分割して所定のメモリ診断をする際、各々の前記演算装置の処理能力に基づいて割り振られた前記メモリの領域を、個別に診断する
    ことを特徴とするメモリ診断方法。
JP2014058826A 2014-03-20 2014-03-20 電子制御装置及びメモリ診断方法 Active JP6243266B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014058826A JP6243266B2 (ja) 2014-03-20 2014-03-20 電子制御装置及びメモリ診断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014058826A JP6243266B2 (ja) 2014-03-20 2014-03-20 電子制御装置及びメモリ診断方法

Publications (2)

Publication Number Publication Date
JP2015184796A true JP2015184796A (ja) 2015-10-22
JP6243266B2 JP6243266B2 (ja) 2017-12-06

Family

ID=54351288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014058826A Active JP6243266B2 (ja) 2014-03-20 2014-03-20 電子制御装置及びメモリ診断方法

Country Status (1)

Country Link
JP (1) JP6243266B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351840A (zh) * 2015-11-25 2018-07-31 日立汽车系统株式会社 车辆控制装置
CN109976937A (zh) * 2019-01-30 2019-07-05 浙江中控技术股份有限公司 一种多核共享资源的诊断方法及系统
JP2021046799A (ja) * 2019-09-17 2021-03-25 株式会社デンソー 車載制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6258354A (ja) * 1985-09-09 1987-03-14 Nec Corp 主記憶のテスト方法
JPH04256033A (ja) * 1991-02-07 1992-09-10 Nec Corp メモリ診断システム
JP2004227488A (ja) * 2003-01-27 2004-08-12 Denso Corp 電子装置
JP2009211543A (ja) * 2008-03-05 2009-09-17 Toshiba Corp 情報処理装置、検査方法、検査プログラムおよび検査システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6258354A (ja) * 1985-09-09 1987-03-14 Nec Corp 主記憶のテスト方法
JPH04256033A (ja) * 1991-02-07 1992-09-10 Nec Corp メモリ診断システム
JP2004227488A (ja) * 2003-01-27 2004-08-12 Denso Corp 電子装置
JP2009211543A (ja) * 2008-03-05 2009-09-17 Toshiba Corp 情報処理装置、検査方法、検査プログラムおよび検査システム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351840A (zh) * 2015-11-25 2018-07-31 日立汽车系统株式会社 车辆控制装置
EP3382562A4 (en) * 2015-11-25 2019-09-04 Hitachi Automotive Systems, Ltd. VEHICLE CONTROL DEVICE
US10789184B2 (en) 2015-11-25 2020-09-29 Hitachi Automotive Systems, Ltd. Vehicle control device
CN108351840B (zh) * 2015-11-25 2022-06-10 日立汽车系统株式会社 车辆控制装置
CN109976937A (zh) * 2019-01-30 2019-07-05 浙江中控技术股份有限公司 一种多核共享资源的诊断方法及系统
JP2021046799A (ja) * 2019-09-17 2021-03-25 株式会社デンソー 車載制御装置
JP7259666B2 (ja) 2019-09-17 2023-04-18 株式会社デンソー 車載制御装置

Also Published As

Publication number Publication date
JP6243266B2 (ja) 2017-12-06

Similar Documents

Publication Publication Date Title
CN107077407B (zh) 车辆控制装置
CN108351840B (zh) 车辆控制装置
JP5994679B2 (ja) 処理装置、及び処理装置の制御方法
JP6243266B2 (ja) 電子制御装置及びメモリ診断方法
CN104718531A (zh) 并行计算装置
JP7385989B2 (ja) 演算制御装置
US20090113439A1 (en) Method and Apparatus for Processing Data
CN116257345B (zh) 深度学习任务调度方法及装置
JP2007504987A (ja) エネルギー管理方法
JP5533789B2 (ja) 車載電子制御装置
CN112236771A (zh) 计算装置和用于计算装置的运行方法
JP2011008702A (ja) 故障処理装置
JP6654230B2 (ja) 車両制御装置
CN116521266A (zh) 车载应用启动配置的管理方法、装置、车辆及存储介质
JP6365387B2 (ja) 電子制御装置
US11640321B2 (en) Method and apparatus for memory allocation in a multi-core processor system, and recording medium therefor
CN109062702B (zh) 一种计算资源分配方法、相关装置及可读存储介质
JP5561241B2 (ja) マイクロコンピュータ
JP6168847B2 (ja) マルチコアシステム
JP2020086807A (ja) 車両制御装置およびプログラム実行方法
JP2020030507A (ja) マルチコア制御装置
EP4369182A1 (en) Ota upgrade method and apparatus, electronic device, medium, and vehicle
JP6762411B2 (ja) 自動車用電子制御装置
JP2007094526A (ja) 集積回路の論理検証手法
JP2021004031A (ja) 自動車用電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171109

R150 Certificate of patent or registration of utility model

Ref document number: 6243266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250