JP4475320B2 - 車両用記憶管理装置 - Google Patents

車両用記憶管理装置 Download PDF

Info

Publication number
JP4475320B2
JP4475320B2 JP2007296793A JP2007296793A JP4475320B2 JP 4475320 B2 JP4475320 B2 JP 4475320B2 JP 2007296793 A JP2007296793 A JP 2007296793A JP 2007296793 A JP2007296793 A JP 2007296793A JP 4475320 B2 JP4475320 B2 JP 4475320B2
Authority
JP
Japan
Prior art keywords
status information
data
storage
storage areas
vehicle
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
JP2007296793A
Other languages
English (en)
Other versions
JP2009120054A (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 JP2007296793A priority Critical patent/JP4475320B2/ja
Priority to DE602008005093T priority patent/DE602008005093D1/de
Priority to EP10164089A priority patent/EP2221724B1/en
Priority to EP08018845A priority patent/EP2063360B1/en
Priority to US12/266,618 priority patent/US8103403B2/en
Publication of JP2009120054A publication Critical patent/JP2009120054A/ja
Application granted granted Critical
Publication of JP4475320B2 publication Critical patent/JP4475320B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、車両に搭載される車両用記憶管理装置に関し、特に、車両における故障を表す故障コードの記憶管理を行うものである。
従来、車両(例えば自動車)に搭載されてその車両の各部を制御する電子制御装置(以下、ECUと記載する)は、必要に応じてその車両における所定の検出対象について故障の有無を判断し、故障有りと判断すると、その故障を表す故障コードをECUに設けられる半導体メモリ(例えば、SRAM、EEPROM)に記憶させるようになっている。
そして、故障コードを半導体メモリに記憶させるこの種の記憶管理において、半導体メモリへの書き込みエラー、半導体メモリに記憶されたデータのデータ化け、或いは半導体メモリ自体の異常(物理的異常)などの記憶に関する異常を検出する技術が、例えば特許文献1,2に記載されている。
特許文献1,2には、半導体メモリの記憶領域を例えば3つの領域に分割してその分割した3つの領域のそれぞれに同一のデータを書き込み、それらの多数決を採って、2つ以上で一致しない場合(つまり、3つのデータが互いに異なる場合)、異常(記憶に関する異常)と判定する技術が開示されている。
ところで、半導体メモリの3つの領域に記憶されたデータの多数決を採る場合、その領域のアドレス単位(バイト単位)、つまりデータ全体で多数決を採る場合(例えば、特許文献2参照)と、データを構成するビット毎に、そのビット単位で多数決を採る場合(例えば、特許文献3参照)とがある。
以下、この点について、図を用いて説明する。
まず、ビット単位で多数決を採る場合について、図9を用いて説明する。
ここでは、記憶すべき故障コードは、0x0118であるとする。尚、その0x0118のうち、後半4桁が、16進数表示により所定のデータ(故障コード)を表す実質的部分である。前半2桁は、後半4桁が16進数表示であることを表す符号である。そして、実際の記憶データは、2進数で表したデータであり、2バイトのデータ量を有する。尚、以下、3つの記憶領域を1面、2面、3面というように区別する。
図9(a)にて、1面目には、0x0118を2進数で表した「0000 0001 0001 1000」が記憶されているものとする。2面目についても同様である。そして、3面目については、データ化け等の異常(ここでは、13ビット目)が生じ、「0000 0001 0001 0000」が記憶されているとする。
この場合、ビット単位で多数決を採ることにより、13ビット目のデータは、「1」と認識される。つまり、多数決一致により、故障コードは、「0000 0001 0001 1000」(0x0118)となる。
次に、図9(b)にて、1面目には、「0000 0001 1001 1001」(0x0199)が記憶され、2面目には、「0000 0000 0001 0000」(0x0010)が記憶され、3面目には、「0000 0011 0100 1010」(0x034A)が記憶されているものとする。この場合、1ビット目から順に、ビット毎に多数決を採っていくと、その多数決一致により得られる故障コードは、「0000 0001 0001 1000」(0x0118)となる。つまり、1〜3面目のそれぞれに、意図する故障コード(0x0118:「0000 0001 0001 1000」)と全く異なるデータが記憶されているにもかかわらず、ビット単位の多数決を採ることで、たまたま、意図する故障コード(0x0118:「0000 0001 0001 1000」)に一致してしまう場合もある。
この点、次に説明するバイト単位の多数決のほうがより好ましいとも考えられる。
バイト単位の多数決について図10を用いて説明する。
図10(a)において、1面目には、0x0118を2進数で表した「0000 0001 0001 1000」が記憶されている。2面目についても同様である。そして、3面目については、データ化け等の異常(ここでは、13ビット目)が生じ、「0000 0001 0001 0000」(0x0110)が記憶されているとする。
この場合、バイト単位(2バイトのデータ全体)で多数決をとると、1面目の「0000 0001 0001 1000」(0x0118)、2面目の「0000 0001 0001 1000」(0x0118)、及び3面目の「0000 0001 0001 0000」(0x0110)の全体の多数決一致を採ることになる。この場合、1面目及び2面目のデータ(故障コード)が一致するため、多数決結果は、「0000 0001 0001 1000」(0x0118)となる。
次に、図10(b)にて、1面目には「0000 0001 1001 1001」(0x0199)が記憶され、2面目には「0000 0000 0001 0000」(0x0010)が記憶され、3面目には「0000 0011 0100 1010」(0x034A)が記憶されているものとする。
この場合において、バイト単位で多数決を採ると、1面目の「0000 0001 1001 1001」(0x0199)、2面目の「0000 0000 0001 0000」(0x0010)、及び3面目の「0000 0011 0100 1010」(0x034A)の全体の多数決一致を採ることになる。そして、この場合、1〜3面のデータが互いに異なるため、多数決を採ることができず、異常判定がなされる。
以上の説明の中で、特に、図9(b)と図10(b)とを比較して分かるように、ビット単位で多数決を採る場合は、バイト単位で多数決を採る場合と比べると、適切に異常を検出できない場合もある。
特開2006−286111号公報 特開2005−196515号公報 特開2001−67272号公報
ところで、バイト単位で多数決を採る場合においても、以下のような別の問題もある。
例えば、3面のうちの2面目にデータを書き込んでいる時に電源が遮断されてその2面目にはデータが書き込まれず、3面不一致となる可能性がある。そしてこの場合、異常判定がなされてしまう。つまり、半導体メモリ自体にはなんら問題が無いのに異常と断定されてしまい、この場合には、信頼できるデータへの復元の余地があるにもかかわらず復元されなくなってしまうことになりかねない。
本発明は、こうした問題に鑑みなされたもので、車両に設けられる不揮発性メモリの複数の記憶領域に故障を表す故障コードを等しく記憶させる車両用記憶管理装置において、不揮発性メモリの複数の記憶領域に記憶されるデータの異常なのか記憶段階で生じた結果なのかを確認できるようにすること、また、そのデータの復元の機会を不要に失わないようにし、ひいては記憶に関する信頼性を向上させることを目的とする。
上記目的を達成するためになされた本願発明は、車両に搭載される車両用記憶管理装置であって、この車両用記憶管理装置は、車両における故障を表す故障コードを、車両内に設けられる不揮発性メモリにおける互いに異なる3つの記憶領域(以下、故障コード記憶領域と言う)のそれぞれに等しく記憶させる記憶制御手段を備えている。
また、3つの故障コード記憶領域への故障コードの記憶が完了した後に、その3つの故障コード記憶領域へのその故障コードの記憶が完了したことを表す情報(以下、ステータス情報と言う)を、そのステータス情報を記憶するために不揮発性メモリに設けられる互いに異なる3つの記憶領域(以下、ステータス情報記憶領域と言う)のそれぞれ等しく記憶させるステータス情報記憶制御手段を備えている。
また、次のような異常判定手段を備えている。具体的には、3つのステータス情報記憶領域のデータの多数決を採って、その結果に基づき、3つの故障コード記憶領域のデータを採用するか否かを判定する採用判定手段を備え、その採用判定手段により採用すると判定されると、互いに異なる3つの故障コード記憶領域のデータの多数決を採って、その結果に基づき記憶に関する異常を判定する異常判定手段である。
このため、例えば、3つの故障コード記憶領域のうち2つ目の故障コード記憶領域(2面目)に故障コードが書き込まれている際に電源遮断が生じ、3つの故障コード記憶領域のデータが互いに異なる(3面不一致)というような場合における記憶に関する異常の判定に際し、ステータス情報に基づき3つの故障コード記憶領域には故障コードが記憶されていない(記憶が完了していない)と判断できる。また、その3つの故障コード記憶領域のデータを採用しないと判定することができる。
従って、3つの故障コード記憶領域に故障コードを記憶させている最中に電源遮断が生じるなどして3面不一致となったような場合において、その3つの故障コード記憶領域のデータを採用しない(言い換えれば、異常か否かの判定をしない)ため、異常判定がなされることがない。これによれば、異常であると断定されずに、復元の可能性が残されることになる。
このような本発明の装置では、ステータス情報記憶領域のデータに基づけば、3つの故障コード記憶領域のデータについて3面不一致となった場合でも、その原因が記憶途中の電源遮断等であるような場合(言い換えれば、復元の余地がある場合)には、異常判定を回避できるようになっている(復元の可能性が残されるようになっている)。
したがって、記憶に関する異常(3面不一致)の原因が例えば記憶途中の電源遮断であるような場合を判別でき、3つの故障コード記憶領域のデータの復元の機会を不要に失わないようにし、ひいては記憶に関する信頼性を向上させることができる。
さらには、本発明によれば、3つのステータス情報記憶領域に記憶されたデータの多数決が採られるため、そのデータ(つまり、ステータス情報)の信頼性が向上する。具体的に、ステータス情報記憶領域の1つにデータ化け等が生じても、残りの2つのステータス情報記憶領域のデータが正しければ、正しいデータ(ステータス情報)が得られる。
尚、本発明の装置で、その3つのステータス情報記憶領域にステータス情報が所定の順序で記憶されると、以下のような作用効果が得られる。
例えば、3つのステータス情報記憶領域のうち2つ目のステータス情報記憶領域(2面目)にステータス情報が書き込まれている際に電源遮断が生じ、その2つ目、及び3つ目のステータス情報記憶領域にステータス情報が記憶されていないような場合には、多数決結果に基づき、3つの故障コード記憶領域のデータを採用しない(記憶に関する異常を判定しない)と判定するようにすることができる。逆に、3つのステータス情報記憶領域のうち、少なくとも2つ目のステータス情報記憶領域まで、3つの故障コード記憶領域への故障コードの記憶が完了したことを表すステータス情報が記憶されれば、多数決結果に基づき、3つの故障コード記憶領域のデータを採用する(記憶に関する異常を判定する)と判定するようにすることができる。
本発明の装置では3つの故障コード記憶領域への故障コードの記憶が完了してはじめて、その3つの故障コード記憶領域のデータを採用する(記憶に関する異常を判定する)のであるが、このような本装置において、さらに、ステータス情報が所定の順序で記憶されるような構成とすれば、3つの故障コード記憶領域への故障コードの記憶が完了したことの確実性をより高いレベルで得ることができる。
また、本発明の装置では、不揮発性メモリのデータを初期化するか否かを判定する初期化判定手段と、初期化判定手段により、不揮発性メモリのデータを初期化すると判定されると、3つのステータス情報記憶領域のデータを初期化し、その後に、3つの故障コード記憶領域のデータを初期化する初期化制御手段と、を備える。
例えば、故障コードの記憶に関し、故障コードが表す故障について複数のトリップ期間(車両のイグニションスイッチのオンからオフまで、或いはオンから次のオンまでの期間)において正常判定がなされれば、その故障コードは消去しても良いことになっている。初期化判定手段は、そのような内容に基づき、不揮発性メモリのデータを初期化するか否かを判定するように構成することができる。
そして、初期化制御手段により、まず、真とすべき(信頼すべき)3つのステータス情報記憶領域のデータが初期化され、その後に、3つの故障コード記憶領域のデータが初期化されるため、3つの故障コード記憶領域のデータの初期化中に何かしらの異常が生じても、3つのステータス情報記憶領域のデータに基づき適切な処理を採ることができるようになる。
また、本発明の装置では、異常判定手段は、採用判定手段により3つの故障コード記憶領域のデータを採用しないと判定されると、その3つの故障コード記憶領域のデータを初期化する復元手段を備える。
これによれば、例えば3つの故障コード記憶領域のデータについて3面不一致となった場合はそのデータを採用しないと判定され、そして、その3つの故障コード記憶領域のデータが初期化される(復元)されることとなる。このように、異常状態が一旦リセットされるため、記憶に関する信頼性を向上させることができる。
た、ステータス情報記憶領域のデータを初期化して次に故障コード記憶領域のデータを初期化するような本願発明の装置において上記の復元手段を採用したならば、以下のような効果が得られる。
例えば、不揮発性メモリのデータの初期化に際し、ステータス情報記憶領域のデータの初期化が完了し、次に、3つの故障コード記憶領域のうち、例えば1つ目の故障コード記憶領域(1面目)を初期化している際に電源遮断が生じた場合を想定する。この場合、故障コード記憶領域の2面目及び3面目にはデータが残っており多数決を採れば1面目が異常であるとも判定されかねないが、ステータス情報記憶領域のデータ(初期化データ)に基づけば、不揮発性メモリの初期化中であることが分かる。このため、3つの故障コード記憶領域のデータを適切に初期化することができるようになる。
このように、本願発明の装置では、ステータス情報記憶領域のデータを真として(信頼して)、3つの故障コード記憶領域のデータを初期化するか否かを判断するため、故障コード記憶領域の初期化(復元)を適切に実行することができる。よって、記憶に関する信頼性をより向上させることができる。
また、本願発明の装置では、ステータス情報記憶制御手段は、故障コードを含むデータを、ステータス情報としてステータス情報記憶領域に記憶させるように構成し得る。
これによれば、故障コード記憶領域に記憶させるべき故障コードが、ステータス情報記憶領域のデータに含まれるため、例えば、そのステータス情報に基づいて故障コード記憶領域のデータを復元することも可能となる。これにより、記憶に関する信頼性をより向上させることができる。
次に、他の局面の本願発明は、車両に搭載される車両用記憶管理装置であって、車両における故障を表す故障コードを、車両内に設けられる不揮発性メモリにおける互いに異なる2つの記憶領域(以下、故障コード記憶領域と言う)のそれぞれに等しく記憶させる記憶制御手段を備えた車両用記憶管理装置において、2つの故障コード記憶領域への故障コードの記憶が完了した後に、その2つの故障コード記憶領域へのその故障コードの記憶が完了したことを表す情報(以下、ステータス情報と言う)を、そのステータス情報を記憶するために不揮発性メモリに設けられる互いに異なる2つの記憶領域(以下、ステータス情報記憶領域と言う)のそれぞれ等しく記憶させるステータス情報記憶制御手段を備えている。
また、次のような異常判定手段を備える。具体的には、2つのステータス情報記憶領域のデータが互いに一致するか否かを判断し、その判断結果に基づき2つの故障コード記憶領域のデータを採用するか否かを判定する採用判定手段を備え、その採用判定手段により採用すると判定されると、互いに異なる2つの故障コード記憶領域のデータが互いに一致するか否かを判断して、その判断結果に基づき記憶に関する異常を判定する異常判定手段である。
このような本願発明によれば、前述したような効果と同じ効果を得ることができる。
以下に、本発明の実施形態を図面に基づき説明する。
[第1実施形態]
まず、第1実施形態について説明する。図1は、車両に搭載される車両ネットワーク1の構成図である。
図1の車両ネットワーク1は、本発明が適用された電子制御装置(以下、ECUと記載する)10を有している。尚、ECU10は、エンジンを制御するものである。そのECU10は、CAN(Controller Area Network)バス50を介して、他のECU(以下、他ECUとも記載する)40と互いに通信可能に接続される。また、CANバス50に接続されるツール30は、例えばECU10から、車両において検出された故障を表す故障コードを読み出して、その読み出した故障コードに基づき修理者が修理等を行うためのものである。尚、ECU10,40は、車両のバッテリから電圧の供給を受けて動作する。
ECU10は、マイコン11と、不揮発性メモリとしてのEEPROM18とを備えている。
マイコン11は、所定のプログラムに従って各種処理を実行するCPU12と、CPU12が実行するプログラム等が記憶されるROM13と、CPU12の演算結果等の情報を記憶するためのRAM14と、バッテリ20から常時電圧が供給されて、電圧が供給される間データを保持可能なバックアップRAM(以下、SRAMと記載する)15と、外部の電子装置と接続するためのインタフェース(I/O)16と、それらを相互に接続するバス17とを備えている。
CPU12は、ROM13に記憶された故障診断のためのプログラムに従い動作して、車両の故障を検出するようになっている。そして、故障を検出した場合には、故障を表す故障コード(DTC:Diagnostic Trouble Codes)を、SRAM15及びEEPROM18に記憶させる。具体的には、故障コードをSRAM15に記憶させると共に、SRAM15に記憶させた故障コードと同じコードを、永久故障コード(PDTC:Permanent Diagnostic Trouble Codes)として、EEPROM18に記憶させる。この永久故障コードは、カリフォルニア州大気資源局(CARB:California Air Resources Board)による法規(OBDII)として、診断結果として記憶されているDTCを、永久故障コードとして、電子制御装置のEEPROM18に記憶し車両のバッテリ20が外されてしまっても記憶保持しておかなければいけないため、EEPROM18へ記憶させている。
EEPROM18には、例えば図4(a)に示すように、データ(故障コード)を記憶するための3つの故障コード記憶領域と、3つの故障コード記憶領域に故障コードがあるか否か(故障コードの記憶が完了したか否か)を表すステータス情報を記憶する3つのステータス情報記憶領域が設けられている。尚、記憶対象の故障コード毎に、3つの故障コード記憶領域、及び3つのステータス情報記憶領域が設けられる。また、以下、3つの故障コード記憶領域を、第1,第2,第3の故障コード記憶領域、或いは、1面、2面、3面というように区別する。3つのステータス情報記憶領域についても同様とする。
図2は、マイコン11のCPU12が実行するデータ復元処理を表すフローチャートである。この処理は、例えばイグニッションスイッチやスタートスイッチなど車両に設けられたスイッチの作動に伴いCPU12が起動する毎に実行される。尚、以下の説明において、0x0118は所定の故障を表す故障コードであり、0x0000は故障コードの初期値(初期化した値)である。
この処理では、まず、S110で、3つのステータス情報記憶領域に記憶されたステータス情報について多数決を採って、その多数決結果に基づき3つのステータス情報記憶領域のデータが一致するか否か(3面一致するか否か)を判定する。
S110にて、3つのうち2つのステータス情報記憶領域のデータが一致する(2面一致)と判定すると(S110:2面一致)、S120に移行し、残り1面のデータを、2面一致したデータに復元する。そしてその後、S130に移行する。
S110にて、3つのステータス情報記憶領域のデータが一致すると判定すると(S110:YES)、S130に移行する。
S130では、3つの故障コード記憶領域に記憶されたデータについて多数決を採って、その多数決結果に基づき3つの故障コード記憶領域のデータが一致するか否か(3面一致するか否か)を判定する。
S130にて、3つのうち2つの故障コード記憶領域のデータが一致する(2面一致)と判定すると(S130:2面一致)、S140に移行し、残り1面のデータを、2面一致したデータに復元する。そしてその後、S150に移行する。
S130にて、3つの故障コード記憶領域のデータが一致すると判定すると(S130:YES)、S150に移行する。
S150では、S110又はS120の結果に基づきステータス情報が「有り」か否かを判定し、「有り」であると判定(確定)すると(S150:YES)、S160に移行する。
S160では、S130又はS140の結果に基づき故障コードが0x0000であるか否かを判定し、0x0000で無いと判定(確定)すると(S160:NO)、そのまま当該処理を終了する。
一方、S160では、S130あるいはS140での処理により故障コードが0x0000であると判定(確定)すると(S160:YES)、S170に移行し、ステータス情報記憶領域のステータス情報を「無し」に書き換える。つまり、3つのステータス情報記憶領域のデータが「有り」で3面一致し、3つの故障コード記憶領域のデータが0x0000で3面一致した場合には、ステータス情報を初期化(復元)して「無し」にする。そしてその後、当該処理を終了する。
またここで、S150でステータス情報が「有り」でない、つまり「無し」であると判定すると(S150:NO)、S180に移行する。
S180では、S130又はS140の結果に基づき故障コードが0x0000であるか否かを判定し、0x0000であると判定(確定)すると(S180:YES)、そのまま当該処理を終了する。
一方、S180で故障コードが0x0000でないと判定(確定)すると(S180:NO)、S190に移行し、故障コードを0x0000に書き換える。つまり、3つのステータス情報記憶領域のデータが「無し」で3面一致し、3つの故障コード記憶領域のデータが0x0000以外で3面一致した場合には、ステータス情報を真とし(信頼し)、故障コードを0x0000に初期化(復元する)。すなわち、ここではステータス情報記憶領域のデータが「無し」で一致するため、これは故障コード記憶領域への書き換えが現実に完了できていたとしても、書き換えが完了していないと判断でき、故障コード記憶領域のデータを初期値へ復元するのである。例えば、故障コード記憶領域の2面目或いは3面目まで故障コードの記憶が完了していても、ステータス情報記憶領域にステータス情報を記憶させる前に電源遮断が生じてステータス情報記憶領域のデータが「無し」で3面一致するような場合には、一旦故障コード記憶領域のデータを初期値に復元する趣旨である。そしてその後、当該処理を終了する。
ところで、本実施形態においては、原則、ステータス情報記憶領域のデータを真とし(信頼し)、例えばS190の処理の場合のように、ステータス情報記憶領域のデータが「無し」であればそのデータを信頼して故障コード記憶領域のデータを初期化(復元)する。一方、S170では、故障コード記憶領域のデータが初期値としての「0x0000」で3面一致し、ステータス情報記憶領域のデータが「有り」で3面一致した場合の下、いわば故障コード記憶領域のデータを尊重してステータス情報記憶領域のデータを「無し」に書き換えている。これは、仮にステータス情報記憶領域のデータ(「有り」)を信頼することとしても、この場合、故障コード記憶領域のデータが「0x0000」で3面一致しているという現実があり、故障コード記憶領域のデータを「0x0000」以外のどのデータに復元するのが正しいのか不明であるため、いわば例外的に、故障コード記憶領域のデータを尊重する趣旨である。
また、ここで、S130にて3つの故障コード記憶領域のデータが互いに異なる(3面不一致)と判定すると(S130:3面不一致)、S200に移行する。
S200では、S110又はS120の結果に基づきステータス情報が「有り」か否かを判定し、「有り」でない、つまり「無し」であると判定すると(S200:NO)、S210に移行し、故障コードを0x0000に書き換える。つまり、3つの故障コード記憶領域のデータについて3面不一致となり、3つのステータス情報記憶領域のデータが「無し」で3面一致した場合(3つの故障コード記憶領域への故障コードの記憶が完了していないと判断できる場合)は、3つの故障コード記憶領域のデータを初期化(復元)する。つまり、故障コード記憶領域のデータが3面の不一致となり、このときにステータス情報記憶領域におけるステータス情報が「無し」であればそれは例えば故障コード記憶領域へのデータの書き込み最中に電源遮断等での3面不一致が生じている、と考えられるため、異常判定をしない。また書き換えが完了していないため、たとえ故障コード記憶領域への書き換え順序が決まっていたとしても、1面目のデータをそのまま信用するのではなく、初期値へ復元させることで、不揮発性メモリの故障コード記憶領域におけるデータの信頼性を向上させるようにしている。そしてその後、当該処理を終了する。
一方、S200でステータス情報が「有り」であると判定すると(S200:YES)、S220に移行し、異常判定する。つまり、3つの故障コード記憶領域のデータについて3面不一致となり、3つのステータス情報記憶領域のデータが「有り」で3面一致した場合(3つの故障コード記憶領域への故障コードの記憶が完了していると判断できる場合)は、異常判定する。具体的に、ここでは、車両におけるMIL(警告灯)を点灯させて、異常が生じた旨を車両の運転者に報知する。また、EEPROM18において記憶に関する異常が生じた旨のコード(以下、記憶異常コードと記載する)をSRAM15(図1参照)に記憶させる。SRAM15に記憶されたその記憶異常コードは、例えばツール30(図1参照)によりECU10から故障コードが読み出される際に、その故障コードとあわせて読み出される。そしてその後、当該処理を終了する。
また、ここで、S110にて3つのステータス情報記憶領域のデータが互いに異なる(3面不一致)であると判定すると(S110:3面不一致)、S230(図3参照)に移行する。
図3に説明を移し、S230では、3つの故障コード記憶領域のデータの多数決を採って、その多数決結果に基づき3つの故障コード記憶領域のデータが一致するか否か(3面一致するか否か)を判定する。
S230にて、3つのうち2つの故障コード記憶領域のデータが一致する(2面一致)と判定すると(S230:2面一致)、S240に移行し、残り1面のデータを、2面一致したデータに復元する。そしてその後、S250に移行する。
S230にて、3つの故障コード記憶領域のデータが一致すると判定すると(S230:YES)、S250に移行する。
S250では、S230又はS240の結果に基づき故障コードが0x0000であるか否かを判定し、0x0000であると判定(確定)すると(S250:YES)、S260に移行し、ステータス情報を「無し」に書き換える。つまり、3つのステータス情報記憶領域のデータについて3面不一致となり、3つの故障コード記憶領域のデータについて0x0000で3面一致した場合には、ステータス情報を初期化(復元)して「無し」にする。そしてその後、当該処理を終了する。
一方、S250で故障コードが0x0000でないと判定(確定)すると(S250:NO)、S270に移行し、ステータス情報を「有り」に書き換える。つまり、3つのステータス情報記憶領域のデータについて3面不一致となり、3つの故障コード記憶領域のデータについて0x0000以外で3面一致した場合には、ステータス情報を「有り」に復元する。そしてその後、当該処理を終了する。このS260或いはS270においても、S170と同様、ステータス情報記憶領域のデータについて3面不一致となっているためいわば例外的に故障コード記憶領域のデータを尊重する趣旨である。
このように、3つのステータス情報記憶領域のデータについて3面不一致の場合には、3つの故障コード記憶領域のデータの多数決結果に基づき、3つのステータス情報記憶領域のデータを復元するようにしている。つまりステータス情報を信頼して故障コード記憶領域におけるデータの確からしさを判断することを前提とするものの、ステータス情報記憶領域もまた不揮発性メモリであるがため、ステータス情報記憶領域のデータが3面不一致と言うように、ステータス情報記憶領域のデータが逆に信頼できないような場合もあれば、故障コード記憶領域へのデータ書込みは完了したものの、ステータス情報を書き換える最中での電源遮断等の事情によりステータス情報が3面で不一致、という場合も有り得る。従って、故障コード記憶領域の3面のデータにより故障コード記憶領域のデータの信頼性が得られたと判断できる場合には故障コード記憶領域のデータに基づき、ステータス情報記憶領域のデータの復元を図ることができる。
またここで、S230で3つの故障コード記憶領域のデータが互いに異なる(3面不一致)と判定すると(S230:3面不一致)、S280に移行し、異常判定する。つまり、3つのステータス情報記憶領域のデータ及び3つの故障コード記憶領域のデータの双方について3面不一致の場合には、何れも信用できない(何れを信用して良いか分からない)ため、異常判定する。この異常判定については、図2のS220と同じである。そしてその後、当該処理を終了する。
図4〜図7は、本実施形態の作用を表す図面である。この図4〜図7を用いて、データの書き込みの流れ、及び初期化の流れを中心として、データの復元の態様について説明する。尚、図4〜図7において、処理の主体は、マイコン11のCPU12である。そして、図4或いは図6において、故障コードを故障コード記憶領域に記憶させる処理は特許請求の範囲の記憶制御手段に相当し、ステータス情報をステータス情報記憶領域に記憶させる処理はステータス情報記憶制御手段に相当する。また、図5或いは図7において、EEPROM18のデータを初期化する処理は特許請求の範囲の初期化制御手段に相当する。
まず、図4は、EEPROM18におけるデータの書き込み順を表す図面である。ここでは、一例として、EEPROM18の故障コード記憶領域に、データ(故障コード)として0x0118を記憶させる場合を説明する。尚、図4において、網掛けの領域はデータの書き込み面を表す。
前述したが、図4(a)に示すように、EEPROM18は、故障コードを記憶するための故障コード記憶領域を3つ有すると共に、故障コード記憶領域へのデータの書き込みが完了したか否かを表すステータス情報を記憶するためのステータス情報記憶領域を3つ有している。
そして、例えば、車両における所定の検出対象について故障を検出し、その故障を表す故障コード(本例では、0x0118)を永久故障コードとしてEEPROM18に記憶させる場合、まず、第1の故障コード記憶領域(1面目)に0x0118を記憶させる(図4(b))。
第1の故障コード記憶領域(1面目)への記憶が完了すると、次に、第2の故障コード記憶領域(2面目)に0x0118を記憶させる(図4(c))。
第2の故障コード記憶領域(2面目)への記憶が完了すると、次に、第3の故障コード記憶領域(3面目)に0x0118を記憶させる(図4(d))。
第1〜第3の故障コード記憶領域への故障コードの記憶が完了すると、次に、第1のステータス情報記憶領域(1面目)に、故障コード記憶領域に故障コードが記憶されていること(第1〜第3の故障コード記憶領域への故障コードの記憶が完了したこと)を表すステータス情報(本例では、「有り」)を記憶させる(図4(e))。
第1のステータス情報記憶領域(1面目)への記憶が完了すると、次に、第2のステータス情報記憶領域(2面目)に、ステータス情報を記憶させる(図4(f))。
第2のステータス情報記憶領域(2面目)への記憶が完了すると、次に、第3のステータス情報記憶領域(3面目)に、ステータス情報を記憶させる(図4(g))。
このような流れにより、EEPROM18に順次データが記憶される(図4(h))。尚、以上の流れは、EEPROM18にデータを記憶させている際に電源が遮断するなどの事情がなく、記憶が順調に行われた場合の例である。
次に、図5は、EEPROM18に記憶されたデータの初期化手順を表す図面である。ここでは、一例として、EEPROM18の故障コード記憶領域に、データ(故障コード)として0x0118が記憶されているものとする(図5(a))。また、ステータス情報記憶領域には、故障コード記憶領域へのデータの記憶が完了したことを表すステータス情報(本例では、「有り」)が記憶されているものとする(図5(a))。尚、本例において、故障コードを初期化した場合の初期値は0x0000であり、ステータス情報を初期化した場合の初期値は「無し」である。また、図5において、網掛けの領域はデータの書き込み面(初期化中の面)を表す。
尚、例えば、故障コードが表す故障について複数のトリップ期間(車両のイグニションスイッチのオンからオフまで、或いはオンから次のオンまでの期間)において正常判定がなされると、その故障コードが初期化(消去)されるようになっている。複数のトリップ期間において正常判定がなされたか否かに基づき故障コードを初期化するか否かを判定する処理はCPU12が実行し、この処理は、特許請求の範囲の初期化判定手段に相当する。
EEPROM18に記憶されたデータを初期化する場合、まず、ステータス情報記憶領域のデータを初期化する。
具体的に、第1のステータス情報記憶領域(1面目)に記憶されたデータを初期化する。この場合、第1のステータス情報記憶領域のデータ(ステータス情報)は、初期値としての「無し」になる(図5(b))。
第1のステータス情報記憶領域(1面目)のデータの初期化が完了すると、次に、第2のステータス情報記憶領域(2面目)のデータを初期化する(図5(c))。
第2のステータス情報記憶領域(2面目)のデータの初期化が完了すると、次に、第3のステータス情報記憶領域(3面目)のデータを初期化する(図5(d))。
第1〜第3のステータス情報記憶領域のデータの初期化が完了すると、次に、第1〜第3の故障コード記憶領域のデータを初期化する。
具体的に、まず、第1の故障コード記憶領域(1面目)のデータを初期化する。この場合、第1の故障コード記憶領域のデータ(故障コード)は、初期値としての0x0000になる(図5(e))。
第1の故障コード記憶領域(1面目)のデータの初期化が完了すると、次に、第2の故障コード記憶領域(2面目)のデータを初期化する(図5(f))。
第2の故障コード記憶領域(2面目)のデータの初期化が完了すると、次に、第3の故障コード記憶領域(3面目)のデータを初期化する(図5(g))。
このような流れにより、EEPROM18内のデータが順次初期化される(図5(h))。尚、以上の流れは、EEPROM18のデータを初期化している際に電源が遮断するなどの事情がなく、初期化が順調に行われた場合の例である。
次に、図6は、EEPROM18にデータを記憶させている際に、電源遮断が生じた場合の作用を表す。ここでは、一例として、EEPROM18の故障コード記憶領域に、データ(故障コード)として0x0118を記憶させる場合を説明する。尚、図6において、網掛けの領域はデータの書き込み面を表す。
まず、図6(b)にて、第1の故障コード記憶領域(1面目)にデータを記憶させている際(記憶の最中)に、電源遮断が生じたとする。この場合、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:YES)、ステータス情報は「無し」と確定する(S150:NO)。そして、ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域のデータが初期化(復元)される(S180:YES、或いは、S180:NO→S190、図6(B))。
次に、図6(c)にて、第2の故障コード記憶領域(2面目)にデータを記憶させている際(記憶の最中)に、電源遮断が生じたとする。この場合、2面目の故障コードは不定となる。そして、1面目の故障コードは0x0118であり、3面目の故障コードは0x0000である。つまり、3面不一致となる。また、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:YES)、ステータス情報は「無し」と確定する(S200:NO)。ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域のデータが初期化(復元)される(S210、図6(C))。
次に、図6(d)にて、第3の故障コード記憶領域(3面目)にデータを記憶させている際(記憶の最中)に、電源遮断が生じたとする。この場合、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:YES)、ステータス情報は「無し」と確定し(S150:NO)、ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域の情報が初期化(復元)される(S180:NO→S190、図6(D))。
次に、図6(e)にて、第1〜第3の故障コード記憶領域へのデータの書き込みが完了した後、第1のステータス情報記憶領域(1面目)に第1〜第3の故障コード記憶領域へのデータの書き込みが完了した旨を表すステータス情報(本例では、「有り」)を記憶させている際(記憶の最中)に、電源遮断が生じたものとする。
この場合、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:2面一致→S120)、ステータス情報は「無し」と確定する(S150:NO)。そして、ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域、及び第1〜第3のステータス情報記憶領域のデータが初期化される(S180:NO→S190、図6(E))。
次に、図6(f)にて、第2のステータス情報記憶領域(2面目)にステータス情報(「有り」)を記憶させている際(記憶の最中)に、電源遮断が生じたものとする。
この場合、2面目のステータス情報は不定となる。そして、1面目のステータス情報は「有り」であり、3面目のステータス情報は「無し」である。つまり、3面不一致となる。
ステータス情報記憶領域のステータス情報が3面不一致の場合は(S110:3面不一致)、故障コード記憶領域の故障コードの多数決により(S230:YES)、故障コードが0x0118と確定する(S250:NO)。そして、故障コード記憶領域のデータが記憶すべき0x0118と確定したことに基づき、故障コード記憶領域への故障コードの記憶が完了したとみなされ、ステータス情報が「有り」に復元される(S270)。つまり、第1〜第3の故障コード記憶領域には0x0118が記憶され、第1〜第3のステータス情報記憶領域には「有り」が記憶される(図6(F))。
次に、図6(g)にて、第3のステータス情報記憶領域(3面目)にステータス情報を記憶させている際(記憶の最中)に、電源遮断が生じたものとする。
この場合、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:2面一致)、ステータス情報は「有り」と確定する。少なくとも、第1及び第2のステータス情報記憶領域のステータス情報が「有り」だからである。
そして、ステータス情報が「有り」であることに基づき、その第1〜第3の故障コード記憶領域の故障コードは0x0118と確定する(S160:NO)。
このような流れにより、EEPROM18にデータが記憶される(図6(h))。
次に、図7は、EEPROM18に記憶されたデータを初期化している際に、電源遮断が生じた場合の作用を表す。ここでは、一例として、EEPROM18の故障コード記憶領域に、データ(故障コード)として0x0118が記憶されているものとする(図7(a))。また、ステータス情報記憶領域には、故障コード記憶領域へのデータの記憶が完了したことを表すステータス情報(本例では、「有り」)が記憶されているものとする(図7(a))。尚、本例において、故障コードを初期化した場合の初期値は0x0000であり、ステータス情報を初期化した場合の初期値は「無し」である。また、図7において、網掛けの領域はデータの書き込み面(初期化中の面)を表す。
まず、図7(b)にて、第1のステータス情報記憶領域(1面目)のデータを初期化している際(初期化の最中)に、電源遮断が生じたものとする。
この場合、第1〜第3のステータス情報記憶領域の多数決により(S110:2面一致)、ステータス情報は「有り」と確定する(S150:YES)。そして、ステータス情報が「有り」であることに基づき、第1〜第3の故障コード記憶領域のデータ(故障コード)は0x0118と確定する(S160:NO、図7(B))。
次に、図7(c)にて、第2のステータス情報記憶領域(2面目)のデータを初期化している際(初期化の最中)に、電源遮断が生じたものとする。この場合、2面目のステータス情報は不定となる。そして、1面目のステータス情報は「無し」であり、3面目のステータス情報は「有り」である。つまり、3面不一致となる。
ステータス情報記憶領域のステータス情報が3面不一致の場合は(S110:3面不一致)、故障コード記憶領域の故障コードの多数決により(S230:YES)、故障コードが0x0118と確定し(S250:NO)、また、ステータス情報が「有り」と確定する(S270)。つまり、第1〜第3の故障コード記憶領域には0x0118が記憶され、第1〜第3のステータス情報記憶領域には「有り」が記憶される(図7(C))。
次に、図7(d)にて、第3のステータス情報記憶領域(3面目)のデータを初期化している際(初期化の最中)に、電源遮断が生じたものとする。この場合、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:2面一致)、ステータス情報は「無し」と確定する(S150:NO)。少なくとも、第1及び第2のステータス情報記憶領域のステータス情報が「無し」だからである。
そして、ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域のデータは初期化されて0x0000となる(S180:NO→S190、図7(D))。
次に、図7(e)にて、第1〜第3のステータス情報記憶領域のステータス情報の初期化が完了した後、第1の故障コード記憶領域(1面目)のデータを初期化している際(初期化の最中)に、電源遮断が生じたものとする。
この場合、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:YES)、ステータス情報は「無し」と確定する(S150:NO)。そして、ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域のデータが初期化(復元)される(S180:NO→S190、図7(E))。
次に、図7(f)にて、第2の故障コード記憶領域(2面目)のデータを初期化している際(初期化の最中)に、電源遮断が生じたものとする。この場合、2面目の故障コードは不定となる。そして、1面目の故障コードは0x0000であり、3面目の故障コードは0x0118である。つまり、3面不一致となる。また、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:YES)、ステータス情報は「無し」と確定する(S200:NO)。そして、ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域のデータが初期化(復元)される(S210、図7(F))。
次に、図7(g)にて、第3の故障コード記憶領域のデータを初期化している際(初期化の最中)に、電源遮断が生じたものとする。
この場合、第1〜第3のステータス情報記憶領域のステータス情報の多数決により(S110:YES)、ステータス情報は「無し」と確定する(S150:NO)。そして、ステータス情報が「無し」であることに基づき、第1〜第3の故障コード記憶領域のデータが初期化(復元)される(S180:YES、或いは、S180:NO→S190、図7(G))。
このような流れにより、EEPROM18のデータが初期化される(図7(h))。
以上説明したように、本実施形態では、3つの故障コード記憶領域のうち2つ目の故障コード記憶領域(2面目)に故障コードが書き込まれている際に電源遮断が生じ、3つの故障コード記憶領域のデータが互いに異なる(3面不一致)というような場合において、ステータス情報に基づき、3つの故障コード記憶領域には故障コードが記憶されていない(記憶が完了していない)と判断して、その3つの故障コード記憶領域のデータを多数決を採るのに採用しないようにすることができる。このため、電源遮断等が原因で3つの故障コード記憶領域のデータについて3面不一致となったような場合に、故障コード記憶領域のデータが異常である、或いは故障コード記憶領域に物理的に異常が生じていると断定されることはない。そして、データの復元の可能性が残されることになる。
その結果、3つの故障コード記憶領域のデータの復元の機会を不要に失わないようにすることができ、ひいては記憶に関する信頼性を向上させることができる。
さらに本実施形態では、ステータス情報は3面に記憶されるため、そのステータス情報の信頼性が向上する。具体的に、ステータス情報記憶領域の1つにデータ化け等が生じても、残りの2つのステータス情報記憶領域のデータが正しければ、正しいデータ(ステータス情報)が得られる。
また、本実施形態では、EEPROM18の初期化に際し、まず、3つのステータス情報記憶領域のデータが順次初期化され、その後に、3つの故障コード記憶領域のデータが順次初期化されるため、図7においても説明したように、以下のような作用効果が得られる。
例えば、ステータス情報記憶領域のデータの初期化が完了し、次に、3つの故障コード記憶領域のうち、例えば1つ目の故障コード記憶領域(1面目)を初期化している際に電源遮断が生じた場合を想定する。この場合、故障コード記憶領域の2面目及び3面目にはデータが残っており多数決を採れば1面目が異常であるとも判定されかねないが、ステータス情報記憶領域のステータス情報に基づけば、不揮発性メモリの初期化中であることが分かる。このため、3つの故障コード記憶領域のデータを適切に初期化することができるようになる。例えば図2のデータ復元処理におけるS150(NO判定)、S180(NO判定)、S190での初期化処理の一連の動作がこれに該当する。この「S150→S180→S190」の一連の処理は、上述のように故障コード記憶領域への書き込みが完了してないことを判断できるだけでなく、このように初期化の際に、電源途中で故障コード記憶領域のデータとステータス情報記憶領域のデータとの不一致を正し、データの復元を行うことができる。よって、記憶に関する信頼性を向上させることができる。
尚、本実施形態において、ECU10が車両用記憶管理装置に相当し、S130(及びS220)、S230(及びS280)の処理が異常判定手段に相当し、例えばS200の処理が採用判定手段に相当し、S210の処理が復元手段に相当している。
[第2実施形態]
次に、第2実施形態について説明する。
この第2実施形態は、第1実施形態と比較して、図8(a)に示すように、EEPROM18にステータス情報記憶領域が3つではなく1つのみ設けられている点が異なっている。つまり、同じ故障コードを記憶する3つの故障コード記憶領域に対して、ステータス情報記憶領域は1つである。
そして、マイコン11のCPU12が、図2,3のデータ復元処理に代えて、図8(b)のデータ復元処理を実行する点が異なっている。
図8(b)のデータ復元処理では、まず、S310で、3つの故障コード記憶領域に記憶された故障コードについて多数決を採って、その多数決結果に基づき3つの故障コードが一致するか否か(3面一致するか否か)を判定する。
S310にて、3つのうち2つの故障コードが一致する(2面一致)と判定すると(S310:2面一致)、S120に移行し、残り1面の故障コードを、2面一致したデータに復元する。そしてその後、S330に移行する。
S310にて、3つの故障コードが一致すると判定すると(S310:YES)、S330に移行する。
S330では、ステータス情報が「有り」か否かを判定し、「有り」であると判定すると(S330:YES)、S340に移行する。
S340では、故障コードが0x0000であるか否かを判定し、0x0000でないと判定すると(S340:NO)、そのまま当該処理を終了する。
一方、S340で故障コードが0x0000であると判定すると(S340:YES)、S350に移行し、ステータス情報を「無し」に書き換える。そしてその後、当該処理を終了する。
また、ここで、S330でステータス情報が「有り」でない、つまり「無し」であると判定すると(S330:NO)、S360に移行する。
S360では、故障コードが0x0000であるか否かを判定し、0x0000であると判定すると(S360:YES)、そのまま当該処理を終了する。
一方、S360で故障コードが0x0000でないと判定すると(S360:NO)、S370に移行し、故障コードを0x0000に書き換える。そしてその後、当該処理を終了する。
またここで、S310にて、3つの故障コードが互いに一致しない(3面不一致)であると判定すると(S310:3面不一致)、S380に移行する。
S380では、ステータス情報が「有り」か否かを判定し、「有り」でない、つまり「無し」であると判定すると(S380:NO)、S390に移行し、故障コードを0x0000に書き換える。そしてその後、当該処理を終了する。
一方、S380でステータス情報が「有り」であると判定すると(S380:YES)、S400に移行し、異常判定する。そしてその後、当該処理を終了する。
このような本第2実施形態によれば、EEPROM18の記憶領域を節約できる上、第1実施形態と同様の効果を得ることができる。
尚、本第2本実施形態において、S310(及びS400)の処理が異常判定手段に相当し、例えばS380の処理が採用判定手段に相当し、S390の処理が復元手段に相当している。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術範囲内において種々の形態をとることができる。
例えば、上記実施形態ではEEPROM18が故障コード記憶領域を3つ備えている場合について説明したが、故障コード記憶領域が2つの場合でも本発明を適用することができる。この場合、ステータス情報記憶領域は、2つでも良いし1つでも良い。
また、上記実施形態において、記憶すべき故障コードを含むデータを、ステータス情報として記憶させても良い。例えば、故障コード記憶領域に0x0118を記憶させる上記実施形態において、ステータス情報として、「有り」に代えて「0x0118」をステータス情報記憶領域に記憶させ、「無し」に代えて「0x0000」をステータス情報記憶領域に記憶させるようにしても良い。
本実施形態の車両ネットワーク1の構成図である。 マイコン11のCPU12が実行するデータ復元処理を表すフローチャートである(その1)。 マイコン11のCPU12が実行するデータ復元処理を表すフローチャートである(その2)。 本実施形態の作用を表す図面である。 EEPROM18に記憶されたデータの消去手順を表す図面である。 EEPROM18にデータを記憶させている際に、電源遮断が生じた場合の作用を表す図面である。 EEPROM18に記憶されたデータを消去している際に、電源遮断が生じた場合の作用を表す図面である。 第2実施形態のマイコン11のCPU12が実行するデータ復元処理を表すフローチャートである。 ビット単位の多数決を説明する図面である。 バイト単位の多数決を説明する図面である。
符号の説明
1…車両ネットワーク
10…電子制御装置(ECU)
11…マイコン
12…CPU
13…ROM
14…RAM
15…SRAM
16…I/O
17…バス
18…EEPROM
20…バッテリ
30…ツール
40…電子制御装置(ECU)
50…CANバス

Claims (9)

  1. 車両に搭載される車両用記憶管理装置であって、
    前記車両における故障を表す故障コードを、前記車両内に設けられる不揮発性メモリにおける互いに異なる3つの記憶領域(以下、故障コード記憶領域と言う)のそれぞれに等しく記憶させる記憶制御手段を備えた車両用記憶管理装置において、
    前記3つの故障コード記憶領域への前記故障コードの記憶が完了した後に、その3つの故障コード記憶領域へのその故障コードの記憶が完了したことを表す情報(以下、ステータス情報と言う)を、そのステータス情報を記憶するために前記不揮発性メモリに設けられる互いに異なる3つの記憶領域(以下、ステータス情報記憶領域と言う)のそれぞれ等しく記憶させるステータス情報記憶制御手段と、
    前記3つのステータス情報記憶領域のデータの多数決を採って、その結果に基づき、前記3つの故障コード記憶領域のデータを採用するか否かを判定する採用判定手段を備え、その採用判定手段により採用すると判定されると、互いに異なる前記3つの故障コード記憶領域のデータの多数決を採って、その結果に基づき記憶に関する異常を判定する異常判定手段と、
    を備えることを特徴とする車両用記憶管理装置。
  2. 請求項1に記載の車両用記憶管理装置において、
    前記不揮発性メモリのデータを初期化するか否かを判定する初期化判定手段と、
    前記初期化判定手段により、前記不揮発性メモリのデータを初期化すると判定されると、前記3つのステータス情報記憶領域のデータを初期化し、その後に、前記3つの故障コード記憶領域のデータを初期化する初期化制御手段と、
    を備えていることを特徴とする車両用記憶管理装置。
  3. 請求項1又は2に記載の車両用記憶管理装置において、
    前記異常判定手段は、
    前記採用判定手段により前記3つの故障コード記憶領域のデータを採用しないと判定されると、その3つの故障コード記憶領域のデータを初期化する復元手段を備えていることを特徴とする車両用記憶管理装置。
  4. 請求項1ないし請求項3の何れか1項に記載の車両用記憶管理装置において、
    前記ステータス情報記憶制御手段は、前記故障コードを含むデータを、前記ステータス情報として前記ステータス情報記憶領域に記憶させることを特徴とする車両用記憶管理装置。
  5. 車両に搭載される車両用記憶管理装置であって、
    前記車両における故障を表す故障コードを、前記車両内に設けられる不揮発性メモリにおける互いに異なる3つの記憶領域(以下、故障コード記憶領域と言う)のそれぞれに等しく記憶させる記憶制御手段を備えた車両用記憶管理装置において、
    前記3つの故障コード記憶領域への前記故障コードの記憶が完了した後に、その3つの故障コード記憶領域へのその故障コードの記憶が完了したことを表す情報(以下、ステータス情報と言う)を、前記不揮発性メモリにおけるそのステータス情報を記憶するための記憶領域(以下、ステータス情報記憶領域と言う)に記憶させるステータス情報記憶制御手段と、
    前記不揮発性メモリのデータを初期化するか否かを判定する初期化判定手段と、
    前記初期化判定手段により、前記不揮発性メモリのデータを初期化すると判定されると、前記ステータス情報記憶領域のデータを初期化し、その後に、前記3つの故障コード記憶領域のデータを順次初期化する初期化制御手段と、
    を備えていることを特徴とする車両用記憶管理装置。
  6. 車両に搭載される車両用記憶管理装置であって、
    前記車両における故障を表す故障コードを、前記車両内に設けられる不揮発性メモリにおける互いに異なる3つの記憶領域(以下、故障コード記憶領域と言う)のそれぞれに等しく記憶させる記憶制御手段を備えた車両用記憶管理装置において、
    前記3つの故障コード記憶領域への前記故障コードの記憶が完了した後に、その3つの故障コード記憶領域へのその故障コードの記憶が完了したことを表す情報(以下、ステータス情報と言う)を、前記不揮発性メモリにおけるそのステータス情報を記憶するための記憶領域(以下、ステータス情報記憶領域と言う)に記憶させるステータス情報記憶制御手段を備え、
    前記ステータス情報記憶制御手段は、前記故障コードを含むデータを、前記ステータス情報として前記ステータス情報記憶領域に記憶させることを特徴とする車両用記憶管理装置。
  7. 請求項5又は請求項に記載の車両用記憶管理装置において、
    互いに異なる前記3つの故障コード記憶領域のデータの多数決を採って、その結果に基づき記憶に関する異常を判定する異常判定手段を備え、
    前記異常判定手段は、前記ステータス情報記憶領域のデータに基づき前記3つの故障コード記憶領域のデータを採用するか否かを判定する採用判定手段を備え、その採用判定手段により採用すると判定されると、その3つの故障コード記憶領域のデータの多数決を採って、その結果に基づき記憶に関する異常を判定することを特徴とする車両用記憶管理装置。
  8. 車両に搭載される車両用記憶管理装置であって、
    前記車両における故障を表す故障コードを、前記車両内に設けられる不揮発性メモリにおける互いに異なる3つの記憶領域(以下、故障コード記憶領域と言う)のそれぞれに等しく記憶させる記憶制御手段を備えた車両用記憶管理装置において、
    前記つの故障コード記憶領域への前記故障コードの記憶が完了した後に、そのつの故障コード記憶領域へのその故障コードの記憶が完了したことを表す情報(以下、ステータス情報と言う)を、前記不揮発性メモリにおけるそのステータス情報を記憶するための記憶領域(以下、ステータス情報記憶領域と言う)に記憶させるステータス情報記憶制御手段と、
    互いに異なる前記3つの故障コード記憶領域のデータの多数決を採って、その結果に基づき記憶に関する異常を判定する異常判定手段と、を備え、
    前記異常判定手段は、前記ステータス情報記憶領域のデータに基づき前記3つの故障コード記憶領域のデータを採用するか否かを判定する採用判定手段を備え、その採用判定手段により採用すると判定されると、その3つの故障コード記憶領域のデータの多数決を採って、その結果に基づき記憶に関する異常を判定する一方、前記採用判定手段により前記3つの故障コード記憶領域のデータを採用しないと判定されるとその3つの故障コード記憶領域のデータを初期化する復元手段を備えている、ことを特徴とする車両用記憶管理装置。
  9. 車両に搭載される車両用記憶管理装置であって、
    前記車両における故障を表す故障コードを、前記車両内に設けられる不揮発性メモリにおける互いに異なる2つの記憶領域(以下、故障コード記憶領域と言う)のそれぞれに等しく記憶させる記憶制御手段を備えた車両用記憶管理装置において、
    前記2つの故障コード記憶領域への前記故障コードの記憶が完了した後に、その2つの故障コード記憶領域へのその故障コードの記憶が完了したことを表す情報(以下、ステータス情報と言う)を、そのステータス情報を記憶するために前記不揮発性メモリに設けられる互いに異なる2つの記憶領域(以下、ステータス情報記憶領域と言う)のそれぞれに等しく記憶させるステータス情報記憶制御手段と、
    前記2つのステータス情報記憶領域のデータが互いに一致するか否かを判断し、その判断結果に基づき、前記2つの故障コード記憶領域のデータを採用するか否かを判定する採用判定手段を備え、その採用判定手段により採用すると判定されると、互いに異なる前記2つの故障コード記憶領域のデータが互いに一致するか否かを判断して、その判断結果に基づき記憶に関する異常を判定する異常判定手段と、
    を備えることを特徴とする車両用記憶管理装置。
JP2007296793A 2007-11-15 2007-11-15 車両用記憶管理装置 Active JP4475320B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007296793A JP4475320B2 (ja) 2007-11-15 2007-11-15 車両用記憶管理装置
DE602008005093T DE602008005093D1 (de) 2007-11-15 2008-10-28 Fahrzeugspeicherverwaltungsvorrichtung
EP10164089A EP2221724B1 (en) 2007-11-15 2008-10-28 Vehicular Memory Management Apparatus
EP08018845A EP2063360B1 (en) 2007-11-15 2008-10-28 Vehicular memory management apparatus
US12/266,618 US8103403B2 (en) 2007-11-15 2008-11-07 Vehicular memory management apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007296793A JP4475320B2 (ja) 2007-11-15 2007-11-15 車両用記憶管理装置

Publications (2)

Publication Number Publication Date
JP2009120054A JP2009120054A (ja) 2009-06-04
JP4475320B2 true JP4475320B2 (ja) 2010-06-09

Family

ID=40292986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007296793A Active JP4475320B2 (ja) 2007-11-15 2007-11-15 車両用記憶管理装置

Country Status (4)

Country Link
US (1) US8103403B2 (ja)
EP (2) EP2063360B1 (ja)
JP (1) JP4475320B2 (ja)
DE (1) DE602008005093D1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4506868B2 (ja) * 2008-04-23 2010-07-21 株式会社デンソー 電子制御装置
DE102008024979B4 (de) * 2008-05-23 2022-03-10 Bayerische Motoren Werke Aktiengesellschaft Bordnetz-System eines Kraftfahrzeugs und ein Verfahren zum Betrieb des Bordnetz-Systems
DE102010031599A1 (de) * 2010-07-21 2012-01-26 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Überwachung einer Fußgängererfassungsvorrichtung für ein Fahrzeug
JP5689865B2 (ja) * 2012-11-29 2015-03-25 株式会社東海理化電機製作所 制御装置
KR101416408B1 (ko) * 2012-12-31 2014-07-09 기아자동차 주식회사 요소 품질 센서의 고장 진단 방법 및 장치
US9384081B2 (en) * 2014-07-01 2016-07-05 Gogo Llc Delayed disk recovery
JP6435880B2 (ja) * 2015-01-23 2018-12-12 株式会社デンソー 電子制御装置
DE102017202742A1 (de) 2017-02-21 2018-08-23 Robert Bosch Gmbh Verfahren und Steuergerät zum Speichern einer Fehlerinformation eines Fahrzeugs auf zumindest einer Fahrzeugkomponente des Fahrzeugs, Fahrzeugkomponenteneinheit mit einer Speichereinrichtung und Verfahren zum Herstellen einer Fahrzeugkomponenteneinheit
JP7059531B2 (ja) * 2017-07-21 2022-04-26 株式会社デンソー 車両用制御システム
WO2019119393A1 (zh) * 2017-12-22 2019-06-27 广州众诺电子技术有限公司 芯片复位方法、芯片及耗材容器
CN112685424B (zh) * 2021-01-04 2022-08-23 潍柴动力股份有限公司 发动机故障存储的处理方法和装置
CN113010343B (zh) * 2021-02-25 2023-07-07 中车株洲电力机车有限公司 一种高安全性设备编码方法与系统、列车
CN113110371A (zh) * 2021-03-16 2021-07-13 佛山市飞驰汽车科技有限公司 车辆故障码存储发送系统及方法
CN113934898A (zh) * 2021-10-26 2022-01-14 中国第一汽车股份有限公司 一种故障码分类存储方法、装置、设备及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03188541A (ja) * 1989-12-19 1991-08-16 Oki Electric Ind Co Ltd 計数装置
JPH0973335A (ja) 1995-09-05 1997-03-18 Toyo Commun Equip Co Ltd データ処理装置
JPH1055316A (ja) 1996-08-09 1998-02-24 Denso Corp 制御装置
JPH10283273A (ja) * 1997-04-10 1998-10-23 Kansei Corp 記憶装置及びその検査方法
US6256753B1 (en) * 1998-06-30 2001-07-03 Sun Microsystems, Inc. Bus error handling in a computer system
US7099875B2 (en) * 1999-06-29 2006-08-29 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US6363385B1 (en) 1999-06-29 2002-03-26 Emc Corporation Method and apparatus for making independent data copies in a data processing system
JP4066570B2 (ja) 1999-08-27 2008-03-26 株式会社デンソー 誤り訂正機能付きeprom並びにその故障診断方法及び装置
JP2001084002A (ja) 1999-09-10 2001-03-30 Aisin Seiki Co Ltd 制御装置
US6556901B2 (en) 2000-06-29 2003-04-29 Denso Corporation Electronic control unit and method measuring and using electric power-off period
JP3743271B2 (ja) 2000-08-11 2006-02-08 株式会社デンソー データ修復装置
US6629108B2 (en) * 2001-03-09 2003-09-30 Hewlett-Packard Development Company, Lp. Method for insuring data integrity for mirrored independently accessible memory devices
WO2003010671A1 (en) 2001-07-25 2003-02-06 Sony Corporation Non-volatile memory and non-volatile memory data rewriting method
JP2005196515A (ja) 2004-01-08 2005-07-21 Meidensha Corp 不揮発性メモリのデータ復旧方式
JP4662743B2 (ja) * 2004-09-13 2011-03-30 Necインフロンティア株式会社 データ2重化システム
JP2006286111A (ja) 2005-04-01 2006-10-19 Toyota Motor Corp 半導体メモリの管理装置
JP4274186B2 (ja) 2006-02-02 2009-06-03 トヨタ自動車株式会社 故障診断装置および故障情報記録方法
JP4363471B2 (ja) * 2007-08-03 2009-11-11 株式会社デンソー 故障コード記憶管理装置、及び記憶管理装置

Also Published As

Publication number Publication date
EP2221724A1 (en) 2010-08-25
EP2221724B1 (en) 2011-11-23
US8103403B2 (en) 2012-01-24
DE602008005093D1 (de) 2011-04-07
EP2063360B1 (en) 2011-02-23
US20090132117A1 (en) 2009-05-21
JP2009120054A (ja) 2009-06-04
EP2063360A1 (en) 2009-05-27

Similar Documents

Publication Publication Date Title
JP4475320B2 (ja) 車両用記憶管理装置
JP4345860B2 (ja) 車両用記憶管理装置
TWI505277B (zh) 在一儲存元件內追蹤錯誤資料的系統與方法
CN108062259B (zh) Mcu内部数据存储ecc处理系统及其处理方法
US8010873B2 (en) Systems and methods for efficient uncorrectable error detection in flash memory
JP4227149B2 (ja) 電子制御装置の情報記憶方法
JP2008165548A (ja) 電子制御装置
JP2014035730A (ja) 車両用制御装置
JP4552982B2 (ja) 電子制御装置
JP4789420B2 (ja) 車両制御システムにおけるデータ処理装置
KR100836384B1 (ko) 자가 진단/복구 차량용 전자제어장치 및 그 동작 방법
JP4950214B2 (ja) データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法
JP6663371B2 (ja) 電子制御装置
JP2009289049A (ja) メモリ制御装置
JP2006017468A (ja) データ記録装置
WO2018079537A1 (ja) 電子制御装置及びそのデータ保護方法
JPH09161493A (ja) 書換え可能な不揮発性メモリの管理方法
JP4041216B2 (ja) 異常検出方法および異常検出装置
JP7029366B2 (ja) 自動車用電子制御装置
JP4479775B2 (ja) 車両制御装置およびプログラム
JP5872982B2 (ja) 車両用制御装置
US20060143369A1 (en) Nonvolatile memory and card reader provided with the same
JP5129791B2 (ja) 車両用制御装置
JPH02146200A (ja) 電気的に消去可能なプログラマブルロム装置
JPH08153397A (ja) Eepromのデータ再書込制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091111

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100301

R151 Written notification of patent or utility model registration

Ref document number: 4475320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250