JP6156117B2 - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP6156117B2
JP6156117B2 JP2013259151A JP2013259151A JP6156117B2 JP 6156117 B2 JP6156117 B2 JP 6156117B2 JP 2013259151 A JP2013259151 A JP 2013259151A JP 2013259151 A JP2013259151 A JP 2013259151A JP 6156117 B2 JP6156117 B2 JP 6156117B2
Authority
JP
Japan
Prior art keywords
abnormality
group
data
storage unit
abnormal
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.)
Active
Application number
JP2013259151A
Other languages
English (en)
Other versions
JP2015115049A (ja
Inventor
基彰 桑原
基彰 桑原
敏和 日置
敏和 日置
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2013259151A priority Critical patent/JP6156117B2/ja
Publication of JP2015115049A publication Critical patent/JP2015115049A/ja
Application granted granted Critical
Publication of JP6156117B2 publication Critical patent/JP6156117B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、読出し専用の記憶部に記憶されている異常データを読み書き可能な記憶部に書き込む車載電子制御装置に搭載されるマイクロコンピュータに関する。
電子制御装置の記憶部に異常が発生し、プログラムまたは定数等のデータを正常に読み出せない場合、正常な処理を実行できなくなる。この場合、電子制御装置をリセットして読出しをリトライすることが考えられる。しかし、リトライしても記憶部の異常が回復しない場合には、処理を実行できないという問題がある。
特に、車両に搭載される電子制御装置の場合、電子制御装置をリセットしてリトライしても記憶部の異常が回復しないと車両制御を実行できないので、車両を正常に走行させることができない。したがって、記憶部の異常が発生したときに適切な処理を施して車両制御を実行することが望まれる。
そこで、特許文献1に開示されている技術では、書き込み可能な記憶装置に記憶されたデータが異常の場合、同じ書き込み可能な記憶装置の空き領域に異常データを訂正して書き込んでいる。そして、訂正されたデータに基づいて処理が実行される。
特表2009−506445号公報
異常データが記憶されている同じ書き込み可能な記憶装置の空き領域に異常データを訂正して書き込む構成では、書き込み可能な記憶装置の空き領域の容量を予め確保しておかないと、容量が不足して異常データを訂正して書き込むことが困難になるおそれがある。また、空き領域が正常であるとは限らないので、異常な空き領域に訂正したデータを書き込むおそれがある。
本発明は、上記課題を解決するためになされたものであり、読出し専用の記憶部に記憶された異常データを有する異常グループを他の空き領域に容量を確保して正常に書き込む車載電子制御装置に搭載されるマイクロコンピュータを提供することを目的とする。
本発明のマイクロコンピュータは、読出し専用の第1記憶部と、読み書き可能な第2記憶部と、第1記憶部の異常を検出する第1異常検出手段と、第2記憶部の異常を検出する第2異常検出手段と、第1記憶部に記憶されているグループのうち、少なくとも第1異常検出手段が異常を検出した異常データを有する異常グループを、第2異常検出手段が異常を検出した第2記憶部の異常領域以外の正常領域に書き込む書込手段と、を備える。
この構成によれば、読出し専用の第1記憶部とは異なる読み書き可能な第2記憶部に異常データを有する異常グループを書き込むので、異常グループを書き込むための空き領域の容量を十分に確保できる。また、第2記憶部の異常を検出した上で第2記憶部の異常領域以外の正常領域に異常グループを書き込むので、異常データを正常に第2記憶部に書き込むことができる。
そして、読み書き可能な第2記憶部に異常グループを書き込むので、異常データを訂正せずに第2記憶部に書き込む場合にも、第2記憶部上で必要なときに異常データを訂正して使用することができる。尚、異常データを訂正してから第2記憶部に書き込んでもよい。
第1実施形態によるマイクロコンピュータを示すブロック図。 第1実施形態によるROMからRAMへのデータ書き込みを示す模式図。 ROM異常時処理を示すフローチャート。 書込対象判定処理を示すフローチャート。 RAM空き領域チェック処理を示すフローチャート。 第2実施形態によるマイクロコンピュータを示すブロック図。 第2実施形態によるROMからRAMへのデータ書き込みを示す模式図。
以下、本発明の実施形態を図に基づいて説明する。
[第1実施形態]
図1に示すように、マイクロコンピュータ2は、CPU10とROM20とRAM30と共通バス100とを備えており、車載電子制御装置に搭載される。CPU10は、マイクロコンピュータ2の起動時と、起動後において一定時間間隔または処理負荷の低いときなどに、ROM20およびRAM30のメモリチェックを行う。
図2に示すように、ROM20には、重要度に基づく優先度および大きさに応じて分割されたグループ毎にデータが記憶されている。各グループのデータは、先頭アドレスからの相対アドレスでアクセスされる。各グループの先頭アドレスは、例えば各グループと対応付けてアドレステーブルとしてROM20に記憶されている。また、各グループのデータ属性である優先度および大きさは、例えばデータ属性テーブルとして全グループをまとめてROM20に記憶されている。
図2において、PgGrはプログラムデータを表わし、CstGrは定数データを表わし、VarGrは変数データを表わし、Parityは誤り訂正符号としてのパリティデータを表わしている。PgGr_*、CstGr_*、VarGr_*の「*」は優先度を表わしている。優先度の高さはA>B>Cである。例えば、優先度の高い「A」のプログラムはブレーキ制御、燃料噴射制御に関するプログラムであり、優先度の低い「C」のプログラムは補正処理に関するプログラムである。
本実施形態では、CPU10は、ROM20の異常を検出しない場合、ROM20に記憶されたプログラムおよび定数等のデータに基づいて車両制御を実行する。尚、変数データの領域はRAM30上に確保される。
CPU10は、ROM20の異常を検出すると、ROM20に記憶されているデータをRAM30の異常領域以外の正常領域に書き込み、RAM30に書き込まれたプログラムおよび定数等のデータに基づいて車両制御を実行する。本実施形態では、ROM20の異常時に、異常データを有する異常グループだけでなく正常データを有する正常グループもRAM30に書き込む。
異常グループをRAM30に書き込むときには、誤り訂正符号としてパリティ(Parity)データを使用し、異常を訂正できるデータであれば訂正してからRAM30に書き込む。例えば図2では、ROM20のPgGr_Bに異常データが存在しており、その異常を訂正してからRAM30に書き込んでいる。
ROM20のデータは、異常であるか正常であるかにかかわらずRAM30に無条件に書き込まれる訳ではなく、ROM20に記憶されている各グループの優先度および大きさを考慮して書込対象であるか否かを判定される。例えば図2では、PgGr_Cの優先度は低いので、RAM30の空き領域に余裕があってもPgGr_CはRAM30に書き込まれない。優先度だけでなく、大きさが大きすぎるグループもRAM30に書き込まれない。
本実施形態では、ROM20の異常時に、優先度の高い重要なデータであり、かつ大きすぎないデータをROM20からRAM30に書き込むことにより、車両を走行する上で最低限必要なデータに基づいて退避走行を実現する。
前述した各グループと各グループの先頭アドレスとを対応付けたアドレステーブルは、RAM30上に領域が確保される変数データのグループの先頭アドレスを管理する上からも、マイクロコンピュータ2の起動時にROM20からRAM30にコピーし、RAM30で適宜修正しながら使用することが望ましい。
(ROM異常時処理)
図3の異常時処理はROM20の異常を検出したときに実行される。図3および、後述する図4、5において「S」はステップを表わしている。
CPU10は、ROM20に記憶されている各グループについて、異常データを有する場合には異常データの誤り訂正を実行し(S400)、異常グループまたは正常グループにかかわらず、RAM30に書き込む対象であるか否かを判定するための処理を実行する(S402)。S402の書込対象判定処理の詳細については図4で説明する。
該当グループが書込対象ではない場合(S404:No)、CPU10は、該当グループは不要と判断してRAM30に書き込まず(S406)、S412に処理を移行する。RAM30に書き込まれないグループの先頭アドレスは、アドレステーブルから削除されるか、不要グループであることを示すデータが書き込まれる。
該当グループが書込対象である場合(S404:Yes)、CPU10は、RAM30に書き込み領域があるか否かを判定する(S408)。CPU10は、起動時と起動後において一定時間間隔または処理負荷が低いときにRAM30の空き領域チェックを含むメモリチェックを行っており、異常領域と正常領域とを検出して情報として記憶しているので、RAM30の正常領域に該当グループを書き込む容量があるか否かを判定できる。
書き込み領域がない場合(S408:No)、CPU10は、該当グループは不要と判断してRAM30に書き込まず(S406)、S412に処理を移行する。前述したように、RAM30に書き込まれないグループの先頭アドレスは、アドレステーブルから削除されるか、不要グループであることを示すデータが書き込まれる。
書き込み領域がある場合(S408:Yes)、CPU10は、ROM20の該当グループのデータをRAM30に書き込み(S410)、S412に処理を移行する。ROM20の該当グループのデータをRAM30に書き込む場合、該当グループのROM20における先頭アドレスに代えてRAM30に書き込んだ領域の先頭アドレスがアドレステーブルに書き込まれる。
S412においてCPU10は、ROM20の全グループについて書込対象の判定が終了したか否かを判定する。CPU10は、全グループについて書込対象の判定が終了していない場合(S412:No)、S400に処理を戻し、全グループについて書込対象の判定が終了している場合(S412:Yes)、本処理を終了する。
(書込対象判定処理)
図4の書込対象判定処理は、図3のS402において実行される処理である。S420においてCPU10は、ROM20に記憶されている該当グループの優先度が所定の優先度以上であるか否かを判定する。所定の優先度よりも低い場合(S420:No)、CPU10は、処理結果として「No」を返し(S422)、本処理を終了する。
所定の優先度以上の場合(S420:Yes)、CPU10は、該当グループのデータ量の大きさが所定値以下であるか否かを判定する(S424)。
CPU10は、大きさが所定値以下の場合(S424:Yes)、処理結果として「Yes」を返し(S426)、大きさが所定値よりも大きい場合(S424:No)、処理結果として「No」を返し(S422)、本処理を終了する。
(RAM空き領域チェック処理)
図5のRAM30の空き領域チェック処理は、起動時と起動後において一定時間間隔または処理負荷が低いときに実行される。RAM30の空き領域チェックは、一定の大きさのブロック毎に行ってもよいし、連続した空き領域毎に行ってもよい。
S430においてCPU10は、RAM30に空き領域があるか否かを判定する。RAM30に空き領域がない場合(S430:No)、CPU10は本処理を終了する。
RAM30に空き領域がある場合(S430:Yes)、CPU10は空き領域が正常であるか否かを判定する(S432)。空き領域が異常な場合(S432:No)、CPU10はS436に処理を移行する。空き領域が正常な場合(S432:Yes)、CPU10は空き領域の先頭アドレスをROM20のデータを書き込む再配置アドレスとして設定する(S434)。
CPU10は、RAM30の全領域について空き領域のチェックが終了していない場合(S436:No)、S430に処理を戻し、全領域について空き領域のチェックが終了すると(S436:Yes)、本処理を終了する。
[第2実施形態]
本発明の第2実施形態を図6および図7に示す。図6に示すように、第2実施形態のマイクロコンピュータ4は、ROM20と、CPUとしてコア40、50と、グローバルRAM60と、共通バス100とを備えるマルチコアマイクロコンピュータである。コア40、50にはそれぞれローカルRAM42、52が共通バス100を介さずに直接接続されている。また、コア40、50は、共通バス100を介してROM20とグローバルRAM60とに接続している。
ローカルRAM42、52は、それぞれデータ領域とプログラム領域とに分割されている。ローカルRAM42、52のは、グローバルRAM60よりも高速にアクセスできる。ROM20には、第1実施形態と同様に、プログラムおよび定数がグループ毎に記憶されている。グローバルRAM60は、コア40、50のどちらからもアクセスできる。
ローカルRAM42、52のメモリチェックはコア40、50毎に行う。ROM20とグローバルRAM60のメモリチェックは、コア40、50の一方が専門に行ってもよいし、コア40、50で分担して行ってもよい。
ROM20の異常時、所定の優先度異常のプログラムは優先的にローカルRAM42、52に書き込まれる。また、優先度の高い変数のグループは、予めローカルRAM42、52に領域が確保されている。図7のPgGr_B、PgGr_Eのような異常グループは、誤り訂正符号であるパリティデータにより誤りを訂正されてからローカルRAM42、52に書き込まれる。
優先度の低い定数のグループはグローバルRAM60に書き込まれる。また、優先度の低い変数のグループは、予めグローバルRAM60に領域が確保されている。
第2実施形態においても、グループの優先度および大きさに基づいて書込対象ではないと判定される場合、該当するグループはローカルRAM42、52およびグローバルRAM60に書き込まれない。
以上説明した上記第1、2実施形態では、ROM20の異常時に、ROM20に記憶された全てのデータではなく、優先度が所定の優先度以上であり、かつデータ量の大きさが所定値以下のグループがROM20からRAMに書き込まれるので、データを書き込むための容量をRAMに十分に確保できる。
これに対し、ROM20の異常時に、ROM20に記憶された全てのデータをRAMに記憶する構成であっても、ROMから別の記憶部であるRAMにデータを書き込むので、データを書き込むための容量をRAMに確保することは容易である。
さらに、RAMの異常を検出し、異常領域以外の正常領域に異常グループを書き込むので、RAMにデータを正常に書き込むことができる。
また、ROMの異常時に異常グループの異常データを訂正してRAMに書き込むので、何度もマイクロコンピュータをリセットすることなく、車両制御を継続できる。
ROMの異常時にROMのデータをRAMに書き込むときには、優先度の低いグループおよびデータ量の大きいグループはRAMに書き込まれないので、車両制御に不可欠で容量の小さいデータにより、車両走行に不可欠な処理を実行できる。
[他の実施形態]
上記実施形態では、ROMの異常時に異常グループだけでなく正常グループも書込対象であればRAMに書き込んだ。これに対し、異常グループだけをRAMに書き込んでもよい。この場合、各グループの先頭アドレスが記憶されたアドレステーブルに基づいて、ROMとRAMの両方において処理が実行される。
また、異常グループの異常データを訂正せずにRAMに書き込んでもよい。この場合、異常グループを使用するときに異常データをRAM上で訂正してから使用すればよい。
上記実施形態では、ROMの異常時にだけROMのデータをRAMに書き込んだ。これに対し、マイクロコンピュータの起動時に、ROMが異常であるか正常であるかにかかわらず、常にROMのデータを全てRAMに書き込んでもよい。その際に、図3〜図5で説明した処理を実行すればよい。
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
2、4:マイクロコンピュータ、10:CPU(第1異常検出手段、第2異常検出手段、書込手段、訂正手段、判定手段)、20:ROM(第1記憶部)、30:RAM(第2記憶部)、40、50:コア(第1異常検出手段、第2異常検出手段、書込手段、訂正手段、判定手段)、42、52:ローカルRAM(第2記憶部)、60:グローバルRAM(第2記憶部)

Claims (6)

  1. データ属性として優先度が設定されている所定のグループ毎にデータを記憶している読出し専用の第1記憶部(20)と、
    読み書き可能な第2記憶部(30、42、52、60)と、
    前記第1記憶部の異常を検出する第1異常検出手段(10、40、50)と、
    前記第2記憶部の異常を検出する第2異常検出手段(10、40、50、S432)と、
    前記第1記憶部に記憶されているグループのうち、少なくとも前記第1異常検出手段が異常を検出した異常データを有する異常グループを、前記第2異常検出手段が異常を検出した前記第2記憶部の異常領域以外の正常領域に書き込む書込手段(10、40、50、S410)と、
    前記正常領域に前記各グループを書き込むか否かを前記データ属性に基づいて判定する判定手段(10、40、50、S420、S424)と、
    を備えることを特徴とするマイクロコンピュータ(2、4)。
  2. データ属性として大きさが設定されている所定のグループ毎にデータを記憶している読出し専用の第1記憶部(20)と、
    読み書き可能な第2記憶部(30、42、52、60)と、
    前記第1記憶部の異常を検出する第1異常検出手段(10、40、50)と、
    前記第2記憶部の異常を検出する第2異常検出手段(10、40、50、S432)と、
    前記第1記憶部に記憶されているグループのうち、少なくとも前記第1異常検出手段が異常を検出した異常データを有する異常グループを、前記第2異常検出手段が異常を検出した前記第2記憶部の異常領域以外の正常領域に書き込む書込手段(10、40、50、S410)と、
    前記正常領域に前記各グループを書き込むか否かを前記データ属性に基づいて判定する判定手段(10、40、50、S420、S424)と、
    を備えることを特徴とするマイクロコンピュータ(2、4)。
  3. 前記書込手段が前記異常グループを前記正常領域に書き込むときに、前記異常データの誤りを訂正する訂正手段(10、40、50、S400)を備えることを特徴とする請求項1または2に記載のマイクロコンピュータ。
  4. 前記各グループにデータ属性として優先度が設定されていることを特徴とする請求項2、または請求項2を引用する請求項3に記載のマイクロコンピュータ。
  5. マルチコア(40、50)を備え、
    前記書込手段は、前記各コアが有する前記第2記憶部(42、52)の前記正常領域に少なくとも前記異常グループを書き込む、
    ことを特徴とする請求項1から4のいずれか一項に記載のマイクロコンピュータ(4)。
  6. 前記書込手段は、前記第1記憶部に記憶されている前記グループのうち、前記異常データのない正常グループも前記正常領域に書き込むことを特徴とする請求項1から5のいずれか一項に記載のマイクロコンピュータ。
JP2013259151A 2013-12-16 2013-12-16 マイクロコンピュータ Active JP6156117B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013259151A JP6156117B2 (ja) 2013-12-16 2013-12-16 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013259151A JP6156117B2 (ja) 2013-12-16 2013-12-16 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2015115049A JP2015115049A (ja) 2015-06-22
JP6156117B2 true JP6156117B2 (ja) 2017-07-05

Family

ID=53528729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013259151A Active JP6156117B2 (ja) 2013-12-16 2013-12-16 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP6156117B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4644980B2 (ja) * 2001-06-27 2011-03-09 株式会社デンソー マイクロコンピュータ
JP4196743B2 (ja) * 2003-06-12 2008-12-17 沖電気工業株式会社 半導体記憶装置
JP2005208958A (ja) * 2004-01-23 2005-08-04 Hanshin Electric Co Ltd マイコンにおけるプログラムエリアのデータ保全方法
JP5971509B2 (ja) * 2011-08-30 2016-08-17 ソニー株式会社 情報処理装置および方法、並びに記録媒体
JP2013196652A (ja) * 2012-03-22 2013-09-30 Ricoh Co Ltd 制御装置及び画像形成装置

Also Published As

Publication number Publication date
JP2015115049A (ja) 2015-06-22

Similar Documents

Publication Publication Date Title
KR101110490B1 (ko) 정보 처리 장치, 프로세서 및 메모리 관리 방법
JP4534498B2 (ja) 半導体装置およびその起動処理方法
CN104699417B (zh) 数据储存装置以及其数据存取方法
US20160117221A1 (en) Error detection and correction utilizing locally stored parity information
US9323660B2 (en) Memory access control apparatus and memory access control method
TWI486957B (zh) Nand快閃記憶體燒錄資料的處理、使用方法及裝置、運行系統
US20150310038A1 (en) Method and Device for Managing Map Data of a Digital Map for a Navigation Apparatus
US20120096335A1 (en) Data processing method and semiconductor integrated circuit
US20090164869A1 (en) Memory architecture and configuration method thereof
JP2015035121A (ja) 半導体集積回路装置
JP2004220068A (ja) メモリカード及びメモリへのデータ書き込み方法
US20130262947A1 (en) Information processing apparatus, and method of controlling information processing apparatus
WO2017107160A1 (zh) 基于异构混合内存的nvm坏块识别处理及纠错方法和系统
JP6156117B2 (ja) マイクロコンピュータ
US10042712B2 (en) Numerical controller
JP5213061B2 (ja) ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム
CN115601272B (zh) 点云数据处理方法、装置及设备
JP2013171467A (ja) 情報処理装置、車両用電子制御装置、データ読み書き方法
JP2008117299A (ja) 記憶媒体制御装置
CN113050888B (zh) 一种快速剔除Flash不稳定块的方法、系统、装置及存储介质
JP4710918B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4863472B2 (ja) メモリ管理方法
CN107977282B (zh) 一种SPI-Nand读取数据页的方法及装置
JP6469599B2 (ja) メモリ管理システム
US8503241B2 (en) Electronic apparatus and data reading method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160229

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170522

R151 Written notification of patent or utility model registration

Ref document number: 6156117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250