JP2015184796A - 電子制御装置及びメモリ診断方法 - Google Patents
電子制御装置及びメモリ診断方法 Download PDFInfo
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
先ず、電子制御装置のハード構成例について、説明する。
図1に示す電子制御装置100は、例えば、自動車に搭載され、エンジン、自動変速機、燃料ポンプなどを電子制御するデバイスである。
電子制御装置100は、プロセッサ1と、ROM(Read Only Memory)2と、RAM(Random Access Memory)3と、バス4とを備える。プロセッサ1、ROM2及びRAM3は、バス4を介して、互いに接続されている。
ここで、本件に開示する技術をより深く理解するため、従来のマルチコアプロセッサにおけるメモリ診断について簡単に説明する。
図2に示すように、従来のマルチコアプロセッサにおけるメモリ診断では、一例として、メモリ2aの診断領域を均等に2分割し、マルチコアプロセッサの第1コア11が第1ROM領域21aを診断し、マルチコアプロセッサの第2コアが第2ROM領域22aを診断する。診断の仕方としては、例えばいわゆるチェックサム方式を採用している。チェックサム方式は、一例として、第1ROM領域21a、第2ROM領域22aのブロック毎に算出したチェックサム(合計値)と、予め算出しておいたチェックサム(期待値)とを各々比較する。チェックサム(合計値)とチェックサム(期待値)とが一致すれば、正常であると診断される。
図3では、第1実施形態におけるメモリ診断の処理の一例として、ROM2の領域を模式的に示している。なお、図3では、図2に示したようなブロック毎のチェックサムにおける期待値の領域の図示を省略している(以下、同様とする)。また、図3では、第2コア12が診断するメモリのブロックを斜線で例示している。ここで、第1実施形態では、第1コア11の第1クロック周波数(f1)を、一例として、240MHzとし、第2コア12の第2クロック周波数(f2)を、一例として、80MHzとする。
ここで、一例として20ブロックに分割した場合、第1コア11がメモリ診断する領域の比率r1は、
r1=f1/(f1+f2)=240MHz/(240+80)MHz=0.75
となる。
r2=f2/(f1+f2)=80MHz/(240+80)MHz=0.25
となる。これにより、第1コア11がメモリ診断する領域のブロック数B1は、B1=20×0.75=15ブロックとなる。また、第2コア12がメモリ診断する領域のブロック数B2は、B2=20×0.25=5ブロックとなる。
なお、上記比率の場合、図1に示す第1コア用領域21のブロック数が15ブロックとなり、第2コア用領域22のブロック数が5ブロックとなる。
したがって、図3に示す通り、クロック周波数が、第2コア12よりも3倍高い第1コア11の方が、その分多くのブロックを単位時間当たりで診断することができる。この点に関し、図4を用いてより詳細に説明する。
図4(a)は、比較例として、第1コア11と第2コア12とで、診断領域を等分(10ブロックづつ)にした場合を例示している。図4(b)は、図3に示す通り、第1コア11が15ブロックを診断し、第2コア12が5ブロックを診断した場合を例示している。
つまり、第1コア11と第2コア12とは、ROM2の領域を分割して、予め定められたチェックサム等を利用してメモリ診断をする際、各々のコアのクロック周波数に基づいて割り振られたメモリのブロックを、個別に診断する。したがって、第1実施形態では、クロック周波数によって、メモリ診断の領域の比率を変えることにより、マルチコアプロセッサにおけるメモリ診断の効率化を実現できる。この結果、第1実施形態では、メモリ診断の高速化も実現できる。なお、上記の比率の計算やメモリのブロックの割り振りは、例えば第1コア11と第2コア12との何れか一方が行えばよい。
第2実施形態では、各コアの演算処理の負荷(以下「処理負荷」という)に基づいて、診断する領域の比率を決定する。なお、電子制御装置100の動作時において、第1コア11、第2コア12は、各々演算処理にかかる負荷率を管理している。
r1=s1/(s1+s2)=40/(40+80)=0.333≒33%
となる。
r2=s2/(s1+s2)=80/(40+80)=0.666≒67%
となる。これにより、第1コア11がメモリ診断する領域のブロック数B1は、B1=20×0.33=6.6≒7ブロックとなる。また、第2コア12がメモリ診断する領域のブロック数B2は、B2=20×0.67=13.4≒13ブロックとなる。
なお、この場合、図5に示す通り、高負荷(負荷率60%)の第1コア11が7ブロックのメモリ診断をし、低負荷(負荷率40%)の第2コア12が13ブロックのメモリ診断を行う。これにより、第2実施形態においても、各コアの処理負荷によって、メモリ診断の領域の比率を変えることにより、メモリ診断の効率化を実現できる。
第3実施形態では、各コアのクロック周波数及び処理負荷を考慮して、メモリ診断を行う。
ここで、各コアのクロック周波数及び処理負荷を考慮するため、第1コア11の場合、先ず、第1実施形態で算出した75%と第2実施形態で算出した33%とを乗算することにより、24.75%の値(r3)が得られる。また、第2コア12の場合、先ず、第1実施形態で算出した25%と第2実施形態で算出した67%とを乗算することにより、16.75%の値(r4)が得られる。
r1=r3/(r3+r4)=24.75/(24.75+16.75)
=0.5963≒60%となる。
一方、第2コア12がメモリ診断する領域の比率r2は、
r2=r4/(r3+r4)=16.75/(24.75+16.75)
=0.4036≒40%となる。
図7では、第3実施形態におけるメモリ診断のタイミングチャートの一例を示している。ただし、説明の便宜上、図7では、待ち時間を省略し、太線の鎖線で区切った20ブロック単位のメモリの診断時間を例示している。具体的には、図7(a)は、比較例として、第1コア11と第2コア12とにおいて、メモリ診断の領域を等分(10ブロック)に分割した場合を例示している。図7(b)は、図6に示す通り、第1コア11が12ブロックをメモリ診断し、第2コア12が8ブロックをメモリ診断した場合を例示している。
これにより、第3実施形態では、各コアのクロック周波数及び処理負荷を考慮してメモリ診断の領域の比率を変えることにより、第1、2実施形態よりもさらにメモリ診断を効率化し、また、高速化も実現できる。
第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回起動する。
なお、図8(a)において、プロセッサ1は、時間0のタイミングで、ジョブA1を起動し、その後、10msec内に、2msec毎に起動するジョブA2からA5を実行する。また、プロセッサ1は、ジョブB1を時間0のタイミングで起動するが、待ち時間により、ジョブA1の終了後にジョブB1を実行する。また、プロセッサ1は、ジョブB2を時間軸で5msecのタイミングで起動するが、途中、ジョブA4の起動により待ち時間が発生したため、2回に分けて実行する。
さらに、プロセッサ1は、ジョブC1を時間0のタイミングで起動するが、待ち時間により、10msecの間に4回に分けて実行する。
第5実施形態では、各コアのクロック周波数及び処理負荷を考慮して、メモリ診断する領域の比率を決定する。
具体的には、図9に示す処理において、10msecの定周期のジョブでメモリ診断をする場合、プロセッサ1(第1コア11、第2コア12等)は、図10に示すフローチャートの処理(以下「フローの処理」という)を実行する。
ステップS102:プロセッサ1は、メモリ診断処理のサブルーチンを実行する。
そして、プロセッサ1は、図10に示すフローの処理を一旦終了する。そして、プロセッサ1は、再度、10msecの定周期のジョブでメモリ診断を行うため、図10に示すフローの処理を開始する。
ステップ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に示すフローの処理を一旦終了する。
ステップ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に示すフローの処理を一旦終了する。
以上より、第5実施形態では、各コアのクロック周波数及び処理負荷を考慮して、メモリ診断する領域のブロックの比率を決定するので、メモリ診断の効率化や高速化を実現できる。
第6実施形態では、メモリ診断する領域のブロックの比率を予め決定せずに、各コアのバックグランド処理により、メモリ診断を行う。つまり、第1コア11及び第2コア12は、当該ブロックの診断が終了した場合、次の未診断ブロックを診断する。
ここで、図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は、図16に示すバックグランド処理のフローの処理を行う。なお、図15は、図8と同様のタイミングチャートであるが、バックグランド処理が追加されている。
ステップ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実施形態では、複数コアにより、相互にメモリ診断を行う。例えば、第1コア11によるメモリ診断の結果が異常であった場合には、その異常を診断した第1コア11とは異なる第2コア12が、異常と診断されたメモリの領域に対してメモリ診断を再度行う。
第8実施形態では、メモリ診断に関して、RAM3で行う。第8実施形態におけるメモリ診断の処理の一例において、図17に示す第1コア11と第2コア12とは、RAM3のメモリ診断の領域を例えば均等に2つに分割して、それぞれ、メモリ診断を行う。具体的には、第1コア11は、第1RAM領域31をメモリ診断し、第2コア12は、第2RAM領域32をメモリ診断する。この際、第1コア11と第2コア12とは、上記実施形態の何れかのメモリ診断方法を適宜適用することができる。
以上より、第8実施形態によれば、RAM3のメモリ診断においても、上述したROM2のメモリ診断と同様の効果が得られる。
11…第1コア
12…第2コア
2…ROM
21…第1コア用領域
22…第2コア用領域
3…RAM
4…バス
100…電子制御装置
Claims (4)
- 複数の演算装置と、データを記憶するメモリとを含む電子制御装置であって、
各々の前記演算装置は、前記メモリを複数の領域に分割して所定のメモリ診断をする際、各々の前記演算装置の処理能力に基づいて割り振られた前記メモリの領域を、個別に診断することを特徴とする電子制御装置。 - 前記演算装置の前記処理能力は、前記演算装置の動作周波数と処理負荷との少なくとも一方である請求項1に記載の電子制御装置。
- 前記メモリ診断の結果が異常であった場合には、該異常を診断した演算装置とは異なる他の演算装置が、前記異常と診断されたメモリの領域に対して前記メモリ診断を再度行う請求項1又は請求項2に記載の電子制御装置。
- 電子制御装置の複数の演算装置が、メモリを複数の領域に分割して所定のメモリ診断をする際、各々の前記演算装置の処理能力に基づいて割り振られた前記メモリの領域を、個別に診断する
ことを特徴とするメモリ診断方法。
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)
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)
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 | 情報処理装置、検査方法、検査プログラムおよび検査システム |
-
2014
- 2014-03-20 JP JP2014058826A patent/JP6243266B2/ja active Active
Patent Citations (4)
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)
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 |