JP2018028830A - 電子制御装置およびその情報記憶方法 - Google Patents

電子制御装置およびその情報記憶方法 Download PDF

Info

Publication number
JP2018028830A
JP2018028830A JP2016160969A JP2016160969A JP2018028830A JP 2018028830 A JP2018028830 A JP 2018028830A JP 2016160969 A JP2016160969 A JP 2016160969A JP 2016160969 A JP2016160969 A JP 2016160969A JP 2018028830 A JP2018028830 A JP 2018028830A
Authority
JP
Japan
Prior art keywords
storage
data
stored
information
storage block
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.)
Pending
Application number
JP2016160969A
Other languages
English (en)
Inventor
恭輔 小原
kyosuke Ohara
恭輔 小原
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2016160969A priority Critical patent/JP2018028830A/ja
Priority to US15/448,748 priority patent/US20180052635A1/en
Priority to DE102017104698.4A priority patent/DE102017104698A1/de
Priority to CN201710684816.4A priority patent/CN107766174A/zh
Publication of JP2018028830A publication Critical patent/JP2018028830A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】不揮発性メモリに対して、信頼性と有効な情報の読み出し、記憶領域の効率的な利用方法の電子制御装置を得る。【解決手段】不揮発性メモリ5は、記憶領域内に単数または複数の記憶グループ5Gと、記憶グループに複数の記憶ブロック5Bを設け、記憶ブロックの各々は、電源遮断後も使用する制御データを格納する情報格納部55と、情報格納部に格納されている制御データが正常に記憶されたことを示す情報を格納するチェックデータ部51と、格納された制御データの新旧を判定するための管理情報を格納する管理情報部52〜54を有し、情報格納部には、制御データを格納するための記憶エリア5Eを単数もしくは複数設け、記憶エリア内にはデータ格納部553を持った記憶セクション5Sを単数もしくは複数設け、記憶ブロックは1回の操作でデータ消去が可能な消去単位とし、記憶セクションはデータ書き込み単位とした。【選択図】図3

Description

この発明は、複数の記憶領域を設けた電気的に消去可能な不揮発性メモリと揮発性メモリとを備える電子制御装置および電子制御装置の情報記憶方法に関するものである。
自動車用電子制御装置においては、車両の電源を切断された場合にも保持しておくべき制御学習値および故障自己診断結果というような記憶情報が存在し、これらは揮発性メモリに記録されていたため、電源切断時にも揮発性メモリの記憶内容を保持しておくために車両のバッテリから常時電源が供給されている必要があった。
これに対し、車両重量低減などの観点でのバッテリ容量削減の要求から、電源切断後待機中の消費電力低減が求められるようになり、電源切断時に揮発性メモリに記録されていた記憶情報を電気的に消去可能な不揮発性半導体メモリ(EEPROM)に移行して記録し、電源投入時にこの記憶情報を読み出して利用するような方法が取られるようになった。
また、通常のEEPROMを使用する場合には一般的に制御用マイコンとは別の半導体素子を制御基板上に実装することが必要になるが、これをマイコンに内蔵された制御プログラムおよび制御用定数の格納に使われるフラッシュメモリの一部に記憶することによりコスト削減と信頼性の向上が可能となる。
近年では、高速アクセスが可能な制御プログラムや制御用定数を記憶することに特化させたフラッシュメモリと、書換え可能回数を多く保障されており制御データの記憶と更新があることを前提としたフラッシュメモリなど、特性の異なる複数のフラッシュメモリを内蔵したマイコンなども一般的になってきている。しかしながら、フラッシュメモリのような不揮発性半導体メモリの場合には、データの書き換え(消去と記憶)回数に上限があり、それを超えて消去と記憶を繰り返した場合、動作は保証されない。
最近、フラッシュメモリの書き換え可能回数は大幅に改善されてはいるが、記憶する制御データの更新頻度によっては、まだまだ書き換え可能回数の不足は否めず、同じメモリセルに対して所定回数以上の書き換えを繰り返すとある時点以降正常に消去や書き込みが行えなくなる。このようになると、有効な情報を記憶することができなくなるため、同じメモリセルに対する書き込み回数をできるだけ制限する必要があり、また仮に所定回数以上の書き換えが行われて正常に情報が更新できなくなった場合でも過去の情報が完全に失われてしまうようなことは避けなければならない。
これらの問題の対策として、例えば特許文献1に記載されているようにメモリ上に複数の記憶領域を設け、制御カウンタの値に基づいて記憶領域を選択して順にデータを更新する情報記憶方法が知られている。この方法では複数の記憶領域に時分割的にデータの更新処理を行うことになるため、ある記憶領域に対する書き込み回数を低減しながら全体としての更新回数を増やすことができる。
しかしながら、特許文献1の情報記憶方法では記憶領域とは別に制御カウンタを設けなければならず、また何らかの原因により制御カウンタの値が破壊された場合には一切のデータの読み出しが保証できなくなってしまうため、データ保持の信頼性の面で問題がある。
この問題の対策として、例えば特許文献2に記載されているようにメモリ上に情報の有効性を検証可能な巡回冗長検査による演算結果を格納するチェックデータ部と各記憶領域の情報の新旧を相対的に判定可能なカウンタを当該記憶領域内に設ける方法が知られている。
ところで、一般的にフラッシュメモリを利用する場合、たとえば、一度の処理で消去する範囲が書き込む範囲よりも非常に広いこと、消去しないと再度書き込みができないこと、フラッシュメモリの機種毎に消去後の領域を読み込んだ値が異なることなどの仕様上の制約がある。
一度の処理で消去できる範囲が書き込み単位よりも非常に広いフラッシュメモリに対して、特許文献2に記載の情報記憶方法を活用するならば、チェックデータ部とカウンタ部と制御データ部を一組として構成され、データを記憶させる際に使用するデータ書き込み単位と、旧データを消去する時に使用するフラッシュ消去単位の二種類の制御単位を持つ必要がある。本文ではデータ書き込み単位を記憶セクション、フラッシュ消去単位を記憶ブロックと呼称する。記憶ブロックは単数もしくは複数の記憶セクションを持つ構成になる。
また、記憶ブロックに消去指示を出した場合、記憶ブロックに記憶した情報は全て消去されるため、情報の記憶中に電源が遮断するなどの不測の事態が発生した場合も記憶情報を保持する必要があるならば、記憶するデータに対して複数の記憶ブロックを使用しなければならない。この同じ制御データを記憶するために使用する複数の記憶ブロックを一組とした制御単位を本文では記憶グループと呼称する。しかしながら不測の事態が発生した場合も記憶情報を保持する必要がない場合は、記憶ブロックは単数でもよい。
前記の通りにフラッシュメモリ内を構成すると、1種類の制御データを記憶するために、少なくとも一つの記憶グループを持つ必要があり、一つの記憶グループ内には単数または複数の記憶ブロックが配置され、一つの記憶ブロック内には複数の記憶セクションが配置される。
前記の構成ならば、制御データの記憶指示があるたびにカウンタ値最大の記憶セクションの次の情報未記憶の記憶セクションに情報を記憶させ、カウンタ値最大の記憶セクションが配置されている記憶ブロック内に情報未記憶の記憶セクションが無い場合、記憶グループ内の次の記憶ブロックに格納された旧情報を削除してから次の記憶ブロックの先頭の記憶セクションに情報を記憶させるという手順で制御データを記憶させることができる。
しかしながら、フラッシュメモリの資源は限られており、ハードウェアの制約上、記憶ブロックを10に満たない数しか配置できないようなフラッシュメモリが一般的である。従って、一つの制御データを複数の記憶ブロックで管理するならば、前記の情報記憶方法では、フラッシュメモリに記憶できる制御データは2、3種類に限定されてしまう。
この解決策として、複数の制御データを一つの記憶グループで管理する方法がある。本文では、記憶グループ内に配置されるそれぞれの制御データを管理する領域を記憶エリアと呼称する。記憶エリアを考慮してフラッシュメモリ内を構成すると、一つの記憶グループ内に複数の記憶ブロックが配置され、一つの記憶ブロック内には複数の記憶エリアが配置され、一つの記憶エリア内には複数の記憶セクションが配置される。
ただし、前記の構成にて、記憶ブロックの一つの記憶エリアに情報未記憶の記憶セクションが無くなった場合、次の記憶ブロックに記憶されている全ての記憶エリアの情報を消去してから次の記憶ブロックへ情報を移行する必要があるため、次の記憶ブロックに別の記憶エリアで管理している最新の制御データが格納されていることは許されない。従って、記憶グループに属する全ての記憶エリアで管理している最新の制御データが同じ記憶ブロック内に記憶されていなければならない。
全ての記憶エリアで管理している最新の制御データを同じ記憶ブロック内に記憶させるならば、一つの記憶エリア内の記憶セクションを使い切り、次の記憶ブロックに移行する際、全ての記憶エリアの最新の制御データを次の記憶ブロックにコピーする必要がある。
しかしながら、ある記憶エリアの記憶セクション内のチェックデータやカウンタに異常が発生し最新の記憶データを現在使用している記憶ブロックから取得できなくなった場合、その記憶エリアで管理されている制御データは別の記憶ブロックに格納されている有効な記憶セクションから取得しなければならなくなる。その場合、その記憶エリアだけ最新の記憶データが別の記憶ブロックに格納されていることになる。従って、前記の制御方法では次に制御データの記憶を指示した時、制御データの種類によって記憶ブロックの移行先が変わってしまうという問題がある。
前記問題の解決策として、記憶ブロックに管理情報を格納する領域を設けて、最新の記憶ブロックを特定するロジックを実装する。これにより、最新記憶ブロック以外の記憶エリアから取得した最新の制御データを最新の記憶ブロック内の情報未記憶の記憶セクションに記憶させるなどの処置を実装することが可能になる。
特開平11−144478号公報 特開2007−287022号公報
最新の記憶ブロックであるかを判定させるロジックとして、記憶ブロックの管理情報部にカウンタ部を設けて管理する方法がある。特許文献1で記載されているようにカウンタ部と制御データ部を持つ管理単位を複数用意し、そのデータ部には特許文献2で記載されているようにカウンタ部と制御データ部とチェックデータ部を持つ管理単位を複数用意する方法である。つまり、記憶ブロックの制御は特許文献1に記載の情報記憶方法、記憶セクションの制御は特許文献2に記載の情報記憶方法で制御するという方法である。
しかしながら、この方法は特許文献2で既に示されているように記憶ブロックを制御するカウンタ部に何かしら異常が発生した場合に記憶させた制御データを取得できなくなる恐れがあり、また、消去した領域が不定値となるような特性を持ったフラッシュメモリも存在するため使用できない。また、記憶ブロックの制御も記憶セクションの制御も特許文献2に記載の情報記憶方法で管理しようとしても、制御データの更新のたびに記憶ブロック内に値が記憶されるため、制御ブロックの使用を開始する際にチェックデータを作成することができない。
この発明は、上記のような課題を解決するためになされたものであり、不揮発性メモリの仕様に極力影響を受けずに、記憶させる情報の種類の増加や書き込み回数の低減を可能とする電子制御装置および電子制御装置の情報記憶方法を提供することを目的とするものである。
この発明に係る電子制御装置は、電気的に消去可能な不揮発性メモリと揮発性メモリと
を備える電子制御装置において、不揮発性メモリには、記憶領域内に単数または複数の記憶グループと、この記憶グループの1つに単数または複数の記憶ブロックを設け、記憶ブロックの各々は、電源遮断後も使用する制御データを格納する情報格納部と、情報格納部に格納されている制御データが正常に記憶されたことを示す情報を格納するチェックデータ部と、格納された制御データの新旧を判定するための情報を含む管理情報を格納する管理情報部を有し、情報格納部には、記憶ブロックに記憶させる制御データをそれぞれ格納するための記憶エリアを単数もしくは複数設け、記憶エリア内にはデータ格納部を持った記憶セクションを単数もしくは複数設け、記憶ブロックは1回の操作でデータ消去が可能な消去単位とし、記憶セクションはデータ書き込み単位としたものである。
この発明に係る電子制御装置の情報記憶方法は、電気的にデータを消去可能な不揮発性メモリの記憶領域内に、1回の操作でデータの消去が可能な記憶ブロックを単数または複数設け、記憶ブロックの各々には制御データを記憶できる記憶エリアを単数または複数設け、記憶ブロックの各々には記憶エリアに記憶された制御データの新旧を判定するための管理情報を記憶する領域を割り付けた管理情報部を設け、不揮発性メモリに記憶した制御データを読み出す場合や、新しく制御データを不揮発性メモリに記憶する必要が生じた場合には、管理情報部に記憶されている新旧を判定するための管理情報を参照することで、新たな制御データが記憶されている記憶ブロックを特定するようにしたものである。
また、この発明に係る電子制御装置の情報記憶方法は、電気的にデータを消去可能な不揮発性メモリの記憶領域内に、1回の操作でデータの消去が可能な記憶ブロックを単数または複数設け、記憶ブロックの各々には制御データを記憶できる記憶エリアを単数または複数設け、記憶ブロックの各々には、電源遮断後も使用する制御データを格納する情報格納部と、情報格納部に格納されている制御データが正常に記憶されたことを示す情報を格納するチェックデータ部と、記憶ブロックに記憶された制御データを次に使う記憶ブロックに移行する際に制御データの移行を開始したことを示す情報を格納する移行開始データ部と、次に使う記憶ブロックへの制御データの格納が完了したことを示す情報を格納する移行完了データ部と、記憶ブロックの移行回数をカウントするカウンタ部を設け、記憶エリアのうち、新たな制御データを記憶する記憶エリアのメモリが不足状態にあると判断した場合は、記憶ブロックのうち、移行元記憶ブロックの移行開始データ部に予め定めた情報を記憶するステップ、記憶ブロックのうち、移行先記憶ブロックとして選定した1個の記憶ブロックに記憶された制御データを消去するステップ、新たな制御データを移行先記憶ブロックに割り付けられた記憶エリアに記憶させるステップ、移行先記憶ブロックのカウンタ部に前記移行元記憶ブロックのカウンタ部から取得し増加させ保持しておいたカウンタ値を記憶させるステップ、移行先記憶ブロックのチェックデータ部に予め定めた情報を記憶するステップ、前記移行元記憶ブロックの前記移行完了データ部に予め定めた情報を記憶するステップを有するものである。
この発明によれば、不揮発性メモリの記憶領域の分割に関して、旧データの消去時に使用する記憶ブロックという制御単位と新データの書き込み時に使用する記憶セクションという制御単位、記憶ブロックに複数の種類の制御データを持つための記憶エリアという制御単位を持つことができ、フラッシュメモリの制約によって制限されていた記憶できる制御データの種類を大幅に増加させることができ、書き込みタイミングの異なる様々なデータを不揮発性メモリに記憶させることができる。
この発明の実施の形態1に係る電子制御装置の概要を示す構成図である。 この発明の実施の形態1における電子制御装置の不揮発性メモリの記憶領域と揮発性メモリ(RAM)の記憶領域との構成を示す図である。 この発明の実施の形態1における電子制御装置の不揮発性メモリの記憶グループの内部割り付けを示す構成図である。 この発明の実施の形態1における電子制御装置の最新情報読出し手順を示すフローチャート図である。 この発明の実施の形態1における電子制御装置の不揮発性メモリの最新記憶ブロック検出手順を示すフローチャート図である。 この発明の実施の形態1における電子制御装置の情報移行手順を示すフローチャート図である。
実施の形態1.
以下、この発明の実施の形態1に係る電子制御装置およびその情報記憶方法を図に従って説明する。実施の形態1では、車載回転機の回転速度制御を実施するためのインバータ制御ECUとしてこの発明を具体化しており、以下には電子制御装置(ECU)の構成および作用を詳細に説明する。
図1は電子制御装置(以下、ECU)の概略構成を示す図である。図1に示すように、ECU1はマイコン(マイクロコンピュータ)2を備え、そのマイコン2にはCPU3、揮発性メモリであるRAM4、電気的に消去可能な不揮発性メモリであるフラッシュメモリ5が内蔵されている。このフラッシュメモリ5には制御プログラムや制御データが格納され、その一部は制御学習値や故障自己診断結果を記憶するための複数の記憶領域が割り当てられている。CPU3はフラッシュメモリ5に格納された制御プログラムに従い、回転機の回転速度を制御する。また、ECU1は電源保持回路6を持ち、電源スイッチSWによる電源遮断信号をCPU3が受け付けた後、マイコン2が電源保持回路6に遮断の指令を送るまで電源を保持することが可能となっている。
次に、フラッシュメモリ5およびRAM4の構成を図2にて詳細に説明する。フラッシュメモリ5は単数もしくは複数の記憶グループ5Gに分割されている。それらの各記憶グループを、たとえば図2に示すように記憶グループ1、2、3とするが、これら記憶グループ1、2、3にはそれぞれ別々の情報を格納する。また、RAM4には複数のミラー領域4Mが配置され、たとえばRAM4内にミラー領域1から6が配置された場合に、それぞれのミラー領域1〜6には異なる制御データが格納される。
フラッシュメモリ5の内部構成については図3で詳しく説明するが、一つの記憶グループ5G内に単数または複数の記憶ブロック5Bが配置され、一つの記憶ブロック5B内には単数または複数の記憶エリア5Eが配置され、一つの記憶エリア5E内には単数または複数の記憶セクション5Sが配置されている。
それぞれのミラー領域4Mの大きさは、フラッシュメモリ5に設定された記憶グループ5Gに配置してあるそれぞれのミラー領域4Mに格納する制御データに対応した制御データを管理する記憶エリア5E内の記憶セクション5Sで管理されているデータ格納部553の一つと等しい。
フラッシュメモリ5に記憶させた情報を取得する際は、フラッシュメモリ5の対応するデータ格納部553からRAM4のミラー領域4Mに情報をコピーする。制御中はRAM4のミラー領域4Mに格納された値を適宜更新してよい。RAM4のミラー領域4Mに格納された情報をフラッシュメモリ5に保持させたいタイミングでフラッシュメモリ5への書き込み指示を発行すると、RAM4に記憶された情報が対応する記憶グループ5Gの対応する記憶エリア5Eの記憶可能な記憶セクション5Sに記憶される。
図3を用いてフラッシュメモリ5に配置されている記憶グループ5Gの内部構成を説明
する。1つの記憶グループ5Gはそれぞれ単数もしくは複数の記憶ブロック5Bで構成する。それぞれの記憶グループ5Gに配置される単数もしくは複数の記憶ブロック5Bはそれぞれの記憶グループ内部において等しい構成と大きさになっており、同じ種類の情報を記憶する。各記憶ブロック5Bは、チェックデータ部51、カウンタ部52、移行開始データ部53、移行完了データ部54、情報格納部55から構成される。たとえば、図3に示すように記憶グループ1の記憶ブロック5Bにおける構成を記憶ブロック1−1、1−2、1−3とした場合、それぞれの記憶ブロック5Bはチェックデータ部51とカウンタ部52と移行開始データ部53と移行完了データ部54と情報格納部55を持ち、それぞれの記憶ブロックの情報格納部55の内部は同じ構成・大きさとなる。
ここで、記憶ブロック5Bのチェックデータ部51は、記憶ブロックの移行時に情報格納部55に記憶されている制御データが正常に書き込めたことを示す情報を格納するための領域であり、この情報は、記憶セクション5Sに制御データを記憶した後に最後に記憶されるもので、正常に記憶されたことを示す情報であればどのようなものでもよく、例えば有効値(単なる「1」または「0」の情報)でもよい。カウンタ部52は記憶ブロックの移行回数をカウントして、各領域の情報の新旧を相対的に判定可能なカウンタ値を格納する領域であり、データ消去中の電源遮断やフラッシュメモリの故障などにより、移行開始データや移行完了データだけでは最新記憶ブロックが特定できなくなった場合に使用する。移行開始データ部53は次の領域へデータの移行を開始したことを示す情報を格納する領域であり、移行完了データ部54は次の領域へデータの移行を完了したことを示す情報を格納する領域であり、情報が記憶されているか否かが分かるものであればどのような情報でもよく、例えば有効値(単なる「1」または「0」の情報)でもよい。これら移行開始データと移行完了データで最新の記憶ブロックを特定する。情報格納部55は複数の記憶エリア5Eを配置する領域である。
なお、カウンタ部52と移行開始データ部53と移行完了データ部54は、格納された制御データの新旧を判定するための情報を含む管理データを格納する管理情報部の領域として機能するものである。
また、カウンタ部52は、記憶ブロックを移行する際、移行先記憶ブロックのチェックデータ部51に情報を記憶させる前に、移行元記憶ブロックのカウンタ部52に格納された値を増加させ、移行先記憶ブロックのカウンタ部52に記憶させることで、記憶ブロックの新旧の判断をする際に、移行開始データ部と移行完了データ部の異常で記憶ブロックの新旧を判断できなくなった場合、チェックデータ部51により制御データが正常に書き込まれたことを保証されたカウンタ部52に格納された値で情報の新旧を特定することができるとともに、フラッシュメモリ5の消去回数を取得することができる。
図3を用いて記憶ブロック内の情報格納部55の構成例を説明する。情報格納部55は単数もしくは複数の記憶エリア5Eから構成される。記憶エリア5E内には単数もしくは複数の記憶セクション5Sが配置される。各記憶セクション5Sは記憶開始データ部551、記憶完了データ部552、データ格納部553から構成される。
ここで、記憶セクション5Sの記憶開始データ部551はデータ格納部553に制御データの記憶を開始したことを示す情報を格納する領域であり、記憶完了データ部552はデータ格納部553の制御データの記憶が完了したことを示す情報を格納する領域であり、データ格納部553は任意の制御データを記憶する領域である。記憶開始データ部551および記憶完了データ部552に格納される情報は、正常に記憶されたことが分かる(有効であることが分かる)のであれば何でもよく、例えば有効値(単なる「1」または「0」の情報)でもよい。
図3では記憶ブロック1−1の情報格納部55を情報格納部1−1としており、情報格納部1−1内には複数の記憶エリア1−1−1、1−1−2、1−1−3が配置され、記
憶エリア1−1−1内には複数の記憶セクション1−1−1−1、1−1−1−2、1−1−1−3が配置されている。
以降は各領域の呼称を「領域名−(第一番号)−(第二番号)−(第三番号)−(第四番号)」とする。第一番号は記憶グループ番号、第二番号は記憶ブロック番号、第三番号は記憶エリア番号、第四番号は記憶セクション番号を示す。たとえば、記憶グループ2の先頭から3番目の記憶ブロックを記憶ブロック2−3と呼称し、記憶ブロック2−3の先頭の記憶エリアを記憶エリア2−3−1と呼称し、記憶エリア2−3−1の2番目の記憶セクションを記憶セクション2−3−1−2と呼称し、記憶セクション2−3−1−2に属する記憶開始データ部を「記憶開始データ部2−3−1−2」と呼称する。
以上説明したフラッシュメモリ5の記憶領域の構成を纏めると次のようになっている。
(1)記憶グループ5G
・記憶領域内には複数の記憶グループを配置する。
・記憶グループ内には複数の記憶ブロック5Bを配置する。
(2)記憶ブロック5B
・同じ記憶グループ内に配置されている記憶ブロックは、記憶エリア数や記憶セク
ション数などにおいて全て同じ構成とする。
・記憶ブロックの容量はフラッシュの消去単位の倍数で設定する。従って、記憶ブ
ロックには単数もしくは複数のフラッシュブロックが含まれる。
・記憶ブロック内には、チェックデータ部51とカウンタ部52と移行開始データ
部53と移行完了データ部54と情報格納部55の領域を配置する。
(3)記憶エリア5E
・記憶エリア内には複数の記憶セクション5Sを配置する。
(4)記憶セクション5S
・記憶セクション内には複数の制御データを記憶することが可能で、それらの制御
データは全て同じタイミングで一つの記憶セクションに記憶される。これらの複
数の制御データのことを制御データ群と呼んでいる。
・同じ記憶エリア内に配置されている複数の記憶セクションには全て同じ種類の制
御データが格納される。
・記憶セクション内には、記憶開始データ部551と記憶完了データ部552とデ
ータ格納部553の領域を配置する。
なお、上記説明において複数と記載している箇所はどの箇所も単数にすることができる。
ここでは各記憶セクション5Sがデータ書き込み単位となり、各記憶ブロック5Bがフラッシュ消去単位となる。同じ制御データを記憶するために使用する複数の記憶ブロック5Bを一組とした制御単位を記憶グループと呼称する。記憶グループ内に配置されるそれぞれの制御データを管理する領域を記憶エリア5Eと呼称する。
記憶エリア5Eを考慮してフラッシュメモリ5内を構成すると、一つの記憶グループ5G内に複数の記憶ブロック5Bが配置され、一つの記憶ブロック5B内には複数の記憶エリア5Eが配置され、一つの記憶エリア5E内には複数の記憶セクション5Sが配置される。
記憶グループ5Gはそれぞれが独立しており、複数の記憶ブループがある場合はそれぞれの記憶グループ5Gで異なる制御データが記憶される(同じ制御データでも問題ない)。記憶エリア5Eは記憶グループ5G内で管理する制御データ群の種類となっており、同じ記憶グループ5G内で管理したい制御データ群の種類の数だけ配置される。
また、以降はRAM4のミラー領域1とフラッシュメモリ5の記憶エリア1−1−1で管理する情報を制御データA、RAM4のミラー領域2とフラッシュメモリ5の記憶エリア1−1−2で管理する情報を制御データB、RAM4のミラー領域3とフラッシュメモ
リ5の記憶エリア1−1−3で管理する情報を制御データCとする。制御データA、B、Cはそれぞれ制御データの種類の名称とする。
次に、これらの構成としたフラッシュメモリ5に記憶された制御データの記憶領域から最後に記憶された制御データを取得して、RAM4のミラー領域にコピーする手順について、図2から図5を用いて詳しく説明する。
まず図4において、処理S101は、1つの記憶グループ5G内に配置された複数の記憶ブロック5Bの中から正常に情報が格納されている有効な記憶ブロックを選出するため、全記憶ブロックのチェックデータ部51に有効値(正常に制御データが記憶されていることを示す)が書かれているかどうかを確認し、書かれている場合、有効記憶ブロックとする。たとえば、制御データAの最新データを選出する場合、記憶グループ1内の記憶ブロック1−1、1−2、1−3それぞれのチェックデータ部51の有効値を確認し、有効値が書かれている記憶ブロックを選出する。
続いて処理S102は、有効な記憶ブロックが複数ある場合、その中で最後に正常に制御データを記憶した最新の記憶ブロックを選出するため、全ての有効記憶ブロックの移行開始データ部53と、移行完了データ部54に格納された情報をもとに有効記憶ブロックの選出を行う。たとえば、記憶ブロック1−1と記憶ブロック1−2が有効な記憶ブロックだった場合は、移行開始データ部1−1、1−2と移行完了データ部1−1、1−2に格納された値を取得する。
この処理S102における詳細な処理手順を図5において説明する。図5において、処理S201は、移行開始データ部53と移行完了データ部54に共に情報が記憶されていない(消去された状態)記憶ブロックが一つだけ存在する場合、移行開始データ部53と移行完了データ部54に情報が記憶されていない記憶ブロックは移行元記憶ブロックから移行先記憶ブロックへ最新記憶ブロックの移行を実施していないため、移行開始データ部53と移行完了データ部54に共にデータが記憶されていない記憶ブロックを最新記憶ブロックとする。
処理S201において、移行開始データ部53と移行完了データ部54に共に情報が記憶されていない(消去された状態)記憶ブロックが複数存在する場合、移行開始データ部53と移行完了データ部54だけでは最新の記憶ブロックが特定できないため、処理S202に進む。処理S202は、移行開始データ部53と移行完了データ部54に共に情報が記憶されていない複数の記憶ブロックのカウンタ部52の比較により、カウンタ値が最大の記憶ブロックを検出する。カウンタ値が最大の記憶ブロックが一つだけある場合は、このカウンタ値最大の記憶ブロックは最後に正常に情報を記憶した最新記憶ブロックとして特定する。処理S202において、カウンタ値が最大の記憶ブロックが複数ある場合は、記憶ブロックの検出を失敗として処理S103で検索エラーとする。
処理S201において、移行開始データ部53と移行完了データ部54に情報が共に記憶されていない(消去された状態)記憶ブロックが存在しない場合は処理S203に進む。例えば記憶ブロックの移行時に電源が遮断するなどのアクシデントがあった場合はこの状態になる。処理S203は、正常に情報が格納されている有効記憶ブロックの中から、移行開始データ部53に情報が記憶されていて、移行完了データ部54に情報が記憶されていない記憶ブロックを検出する。処理S203において、移行完了データ部54に情報が記憶されていない記憶ブロックが一つだけ存在する場合、前回のデータ記憶で移行元記憶ブロックから移行先記憶ブロックへ最新記憶ブロックを移行する際に何らかの原因で移行先記憶ブロックのチェックデータ部51に有効値を記憶する前にデータの記憶が中断されて、移行元記憶ブロックが移行開始データ部53に情報が記憶され移行完了データ部54に情報が記憶されていない状態になっているため、移行完了データ部54にデータが記憶されていない記憶ブロックを最新記憶ブロックとする。
処理S203において、移行開始データ部53と移行完了データ部54に情報が共に記憶されていない(消去された状態)記憶ブロックが存在せず、移行開始データ部53に情報が記憶されていて移行完了データ部54に情報が記憶されていない記憶ブロックが複数存在する場合、移行開始データ部53と移行完了データ部54だけでは最新の記憶ブロックが特定できないため、処理S202に進む。処理S202にて移行開始データ部53に情報が記憶されていて移行完了データ部54に情報が記憶されていない複数の記憶ブロックのカウンタ部52の比較により、カウンタ値が最大の記憶ブロックが一つだけある場合はカウンタ値が最大の記憶ブロックを最新記憶ブロックとして特定する。処理S202においてカウンタ値が最大の記憶ブロックが複数ある場合は記憶ブロック検出を失敗として処理S103で検索エラーとする。
処理S203において、移行完了データ部54に情報が記憶されていない記憶ブロックが存在しない場合は処理S204に進む。処理S204は、移行開始データ部53と移行完了データ部54に共に管理データが記憶されていない(消去された状態)記憶ブロックが存在せず、移行開始データ部53にだけ管理データが記憶されている記憶ブロックも存在しない場合、何らかの理由で本来最新記憶ブロックだった記憶ブロックの管理データが破損したとして移行開始データ部53と移行完了データ部54だけでは最新の記憶ブロックが特定できないため、有効記憶ブロックのカウンタ部52の比較を行う。処理S204において、有効記憶ブロックのカウンタ部52の比較によりカウンタ値最大の記憶ブロックが一つだけある場合は、カウンタ値が最大の記憶ブロックを最新記憶ブロックとして特定する。もしカウンタ値が最大の記憶ブロックが複数ある場合は記憶ブロック検出を失敗として処理S103で検索エラーとする。
続いて図4の処理S104は、最新記憶ブロックの各記憶エリア5Eから最後に制御データが記憶された最新記憶セクションの特定を行うため、フラッシュの下から順に各記憶セクション5Sの記憶開始データ部551と記憶完了データ部552の有効値を取得し、記憶開始データ部551と記憶完了データ部552に有効値が格納されている場合、記憶開始データ部551と記憶完了データ部552に有効値が格納されている記憶セクション5Sを最新記憶セクションとする。たとえば、制御データAの最新の制御データを検索しており、最新記憶ブロックが1−1だった場合、記憶開始データ部1−1−1−3と記憶完了データ部1−1−1−3に有効値が格納されている場合は記憶セクション1−1−1−3を最新記憶セクションとし、記憶開始データ部1−1−1−3と記憶完了データ部1−1−1−3のいずれかに有効値が格納されておらず、記憶開始データ部1−1−1−2と記憶完了データ部1−1−1−2に有効値が格納されている場合は記憶セクション1−1−1−2を最新記憶セクションとする。
最後に処理S105は、最新記憶セクションとして選出された記憶セクション5Sのデータ格納部553に記憶されている制御データを読み出してRAM4のミラー領域へコピーする。たとえば、記憶セクション1−1−1−1が最新記憶セクションとして選出されたならば、データ格納部1−1−1−1に格納された制御データAをミラー領域1へコピーする。
次に、フラッシュメモリ5へ新たな制御データを記憶する記憶エリアが不足した場合の、記憶ブロックへのデータ移行手順について、図2、図3、図6を用いて詳しく説明する。フラッシュメモリ5への記憶は制御データ毎に行う。
まず図6の処理S301は、最新制御データの選出時に最新として選出した記憶セクション5Sが記憶ブロック5Bの情報格納部55のどこに位置するかを確認する。最新の記憶セクション5Sが最新の記憶ブロックの記憶エリア5E内の末尾の記憶セクションの場合は、最新の記憶ブロックに新しい制御データを記憶できる記憶セクションが無いと判定する。
最新の記憶セクション5Sが最新の記憶ブロックの記憶エリア5E内の末尾の記憶セクションではない場合は、以降の記憶セクションに情報未記憶の記憶セクションがあるかをフラッシュの並び順で確認し、情報未記憶のセクションが無い場合は最新の記憶ブロックに新しい制御データを記憶できる記憶セクションが無いと判定して、情報未記憶のセクションがある場合は最新の記憶ブロックに新しい制御データを記憶できる記憶セクションがあると判定する。
例えば情報格納部55が図3のような構成の場合、最新の記憶セクションが記憶セクション1−1−1−3の場合、未使用の記憶セクションが無いと判定する。最新の記憶セクションが記憶セクション1−1−1−1で記憶セクション1−1−1−2に何も記憶されていない場合は記憶セクション1−1−1−2を記憶対象の記憶セクションとする。最新の記憶セクションが記憶セクション1−1−1−1で記憶セクション1−1−1−2に何か記憶されており記憶セクション1−1−1−3に何も記憶されていない場合は記憶セクション1−1−1−3を記憶対象の記憶セクションとする。最新の記憶セクションが記憶セクション1−1−1−1で記憶セクション1−1−1−2と1−1−1−3に何か記憶されている場合は未使用の記憶セクションがないと判定する。
処理S301において、情報未記憶の記憶セクションがあると判定した場合、処理S302にて記憶対象の記憶セクション5Sの記憶開始データ部551、データ格納部553、記憶完了データ部552に順に予め定めた情報を書き込む。たとえば、制御データAを記憶させる場合、記憶対象の記憶セクションが記憶セクション1−1−1−2ならば、記憶開始データ部1−1−1−2に有効値を記憶させ、データ格納部1−1−1−2に制御データAを記憶させ、記憶完了データ部1−1−1−2に有効値を記憶させて、制御データの記憶を完了する。
記憶グループ内の最新記憶ブロックの次の記憶ブロックを移行先記憶ブロックとし、現在最新としている記憶ブロックを移行元記憶ブロックとする。処理S301において、情報未記憶の記憶セクションが無いと判定した場合、処理S303以降に進み、移行元記憶ブロックから移行先記憶ブロックへ最新記憶ブロックの移行を開始する。たとえば図3のような構成ならば、最新記憶ブロックの移行は記憶ブロック1−1、1−2、1−3、1−1の順で実施する。
最新ブロックの移行ではまず、移行元記憶ブロックのカウンタ部52からカウンタ値を取り出して増加させ保持しておく。
その後処理S303で移行元記憶ブロックの移行開始データ部53に予め定めた情報を格納する。続いて処理S304で移行先記憶ブロックに記憶されている古い情報を全て消去する。
つづいて処理S305において、移行先記憶ブロック内の指定された制御データを管理している記憶エリア5Eの先頭の記憶セクション5Sに記憶開始データ部551、データ格納部553、記憶完了データ部552の順に予め定めた情報を記憶する。たとえば、制御データAの記憶指示を発行し、記憶ブロック1−1から記憶ブロック1−2へ最新記憶ブロックを移行する場合は、記憶開始データ部1−1−1−1に有効値、データ格納部1−1−1−1に制御データA、記憶完了データ1−1−1−1に有効値を順に記憶させる。
つづいて処理S306において、操作中の記憶グループ5Gに複数の記憶エリア5Eが
配置されている場合、記憶指示をされていない制御データを管理している記憶エリアの最新データを移行元記憶ブロックから移行先記憶ブロックへコピーする。たとえば、制御データAの記憶指示を発行し、記憶ブロック1−1から記憶ブロック1−2へ最新記憶ブロックを移行する場合は、記憶開始データ部1−1−2−1に有効値、データ格納部1−1−2−1に制御データB、記憶完了データ部1−1−2−1に有効値を順に記憶させ、記憶開始データ部1−1−3−1に有効値、データ格納部1−1−3−1に制御データC、記憶完了データ1−1−3−1に有効値を順に記憶させる。記憶グループに配置されている記憶エリア5Eが一つの場合は処理S306を省略する。
その後処理S307において、移行先記憶ブロックのカウンタ部52に移行元記憶ブロックのカウンタ部52から取得し増加させ保持しておいたカウンタ値を記憶させる。つづいて処理S308で移行先記憶ブロックのチェックデータ部51に有効値を記憶させる。最後に処理S309で移行元記憶ブロックの移行完了データ部54に有効値を記憶させて制御データの記憶を完了する。
なお実施の形態1では、不揮発性メモリとしてフラッシュメモリを適用した場合について説明したが、本発明はフラッシュメモリに限定されるものではなく、例えばEEPROMやMRAMなど他の不揮発性メモリを記憶媒体として使用する場合にも適用可能である。
また実施の形態1では、この発明を電子制御装置として車載回転機の回転速度制御を実施するためのインバータ制御ECUに適用した場合について説明したが、これに限定されることはなく電源遮断時にデータ保持の必要な電子機器一般について適用可能である。
また実施の形態1では、フラッシュメモリの記憶領域を記憶グループ1、2、3の3領域に分割する例を示したが、資源の状況によって記憶グループ数を単数もしくは複数に変更可能である。記憶する情報の更新頻度によって情報をグループ分けして、更新頻度の低い情報を管理する記憶グループは記憶ブロック数を少なく、更新頻度の多い情報を管理しる記憶グループは記憶ブロックを多く配置するなどの工夫をすることで不揮発性メモリの各領域の更新頻度に偏りが無いように調整することができる。
また例えばデータを消失した場合に重大な問題になる重要な情報を消失しても、リカバリー可能な情報を別の記憶グループに管理させることで、リカバリー可能な情報を管理している記憶グループが記憶ブロック移行に失敗した際に重要な情報まで消失してしまうような状況を回避することができる。
また実施の形態1では、記憶グループを記憶ブロック1−1、1−2、1−3の3領域に分割する例を示したが、資源の状況によって分割数を単数もしくは複数に変更可能である。記憶ブロックを多く配置した場合は情報の損失リスクは低下するが不揮発性メモリの占有量は増加するため、損失リスクと占有量をトレードオフして記憶ブロックの配置数を調整することができる。
また実施の形態1では、記憶ブロックの情報格納部1−1内に配置している記憶エリア1−1−1を記憶セクション1−1−1−1、1−1−1−2、1−1−1−3の3領域に分割する例を示したが、資源の状況によって分割数を単数もしくは複数に変更可能である。たとえば一つの記憶グループで管理している複数の情報に更新頻度の高い情報と更新頻度の低い情報がある場合、更新頻度の高い情報を管理している記憶エリアは記憶セクションの分割数を多くして、更新頻度の低い情報を管理している記憶エリアは記憶セクションの分割数を少なくすることで、記憶ブロック移行時の移行元記憶ブロックの未記憶領域を減らすことができるため、メモリ領域内を無駄なく使用することができ、結果的に記憶領域の更新頻度を減少させることができる。
また実施の形態1では、記憶セクションに記憶開始データ部と記憶完了データ部を配置して最新の記憶セクションを特定したが、記憶セクションの情報の有効性と複数の記憶セクションの更新順序を特定できるデータであれば問題ないため、たとえば特許文献2で知られている巡回冗長検査のデータとカウンタを記憶させておき最新の記憶セクションを選出する方法などを適応することも可能である。
以上、この発明の実施の形態を記述したが、この発明は実施の形態に限定されるものではなく、種々の設計変更を行うことが可能であり、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
1:ECU(電子制御装置)、 2:マイコン、 3:CPU、
4:RAM(揮発性メモリ)、 5:フラッシュメモリ(不揮発性メモリ)、
6:電源保持回路、 51:チェックデータ部、 52:カウンタ部(管理情報部)、
53:移行開始データ部(管理情報部)、 54:移行完了データ部(管理情報部)、
55:情報格納部、 551:記憶開始データ部、 552:記憶完了データ部、
553:データ格納部、5G:記憶グループ、 5B:記憶ブロック、
5E:記憶エリア、 5S:記憶セクション
この発明に係る電子制御装置は、電気的に消去可能な不揮発性メモリと揮発性メモリとを備える電子制御装置において、不揮発性メモリには、記憶領域内に単数または複数の記憶グループと、この記憶グループの1つに単数または複数の記憶ブロックを設け、記憶ブロックの各々は、電源遮断後も使用する制御データを格納する情報格納部と、情報格納部に格納されている制御データが正常に記憶されたことを示す情報を格納するチェックデータ部と、格納された制御データの新旧を判定するための情報を含む管理情報を格納する管理情報部を有し、情報格納部には、記憶ブロックに記憶させる制御データをそれぞれ格納するための記憶エリアを単数もしくは複数設け、記憶エリア内にはデータ格納部を持った記憶セクションを単数もしくは複数設け、記憶ブロックの管理情報部は、記憶ブロックの移行回数をカウントするカウンタ部を備え、有効な記憶ブロックが複数存在する場合、複数の記憶ブロックのカウンタ部のカウンタ値の比較により、カウンタ値が最大の記憶ブロックを最新データの格納された記憶ブロックとして特定し、記憶ブロックは1回の操作でデータ消去が可能な消去単位とし、記憶セクションはデータ書き込み単位としたものである。
この発明に係る電子制御装置の情報記憶方法は、電気的にデータを消去可能な不揮発性メモリの記憶領域内に、1回の操作でデータの消去が可能な記憶ブロックを単数または複数設け、記憶ブロックの各々には制御データを記憶できる記憶エリアを単数または複数設け、記憶ブロックの各々には記憶エリアに記憶された制御データの新旧を判定するための管理情報を記憶する領域を割り付けた管理情報部を設け、不揮発性メモリに記憶した制御データを読み出す場合や、新しく制御データを不揮発性メモリに記憶する必要が生じた場合には、管理情報部に記憶されている新旧を判定するための管理情報を参照することで、新たな制御データが記憶されている記憶ブロックを特定し、管理情報部には、記憶ブロックの移行回数をカウントするカウンタ部を設け、有効な記憶ブロックが複数存在する場合、複数の記憶ブロックのカウンタ部のカウンタ値の比較により、カウンタ値が最大の記憶ブロックを最新データの格納された記憶ブロックとして特定するようにしたものである。

Claims (15)

  1. 電気的に消去可能な不揮発性メモリと揮発性メモリとを備える電子制御装置において、
    前記不揮発性メモリには、記憶領域内に単数または複数の記憶グループと、この記憶グループの1つに単数または複数の記憶ブロックを設け、前記記憶ブロックの各々は、電源遮断後も使用する制御データを格納する情報格納部と、前記情報格納部に格納されている制御データが正常に記憶されたことを示す情報を格納するチェックデータ部と、格納された制御データの新旧を判定するための情報を含む管理情報を格納する管理情報部を有し、
    前記情報格納部には、前記記憶ブロックに記憶させる制御データをそれぞれ格納するための記憶エリアを単数もしくは複数設け、前記記憶エリア内にはデータ格納部を持った記憶セクションを単数もしくは複数設け、
    前記記憶ブロックは1回の操作でデータ消去が可能な消去単位とし、前記記憶セクションはデータ書き込み単位とした電子制御装置。
  2. 前記記憶ブロックの管理情報部は、記憶ブロックに記憶された制御データを次に使う記憶ブロックに移行する際に制御データの移行を開始したことを示す情報を格納する移行開始データ部と、次に使う記憶ブロックへの制御データの格納が完了したことを示す情報を格納する移行完了データ部を備え、前記移行開始データ部と前記移行完了データ部に格納された情報に基づき、格納された情報の新旧を比較することで最新データの格納された記憶ブロックを特定するようにした請求項1に記載の電子制御装置。
  3. 前記記憶ブロックの管理情報部は、記憶ブロックの移行回数をカウントするカウンタ部を備え、有効な記憶ブロックが複数存在する場合、複数の記憶ブロックの前記カウンタ部のカウンタ値の比較により、前記カウンタ値が最大の記憶ブロックを最新データの格納された記憶ブロックとして特定するようにした請求項1または請求項2に記載の電子制御装置。
  4. 前記記憶セクションには、任意のデータを記憶する領域であるデータ格納部と、前記データ格納部にデータの記憶を開始したことを示す情報を格納する領域である記憶開始データ部と、前記データ格納部のデータの記憶が完了したことを示す情報を格納する領域である記憶完了データ部とを設けた請求項1から請求項3のいずれか1項に記載の電子制御装置。
  5. 電気的にデータを消去可能な不揮発性メモリの記憶領域内に、1回の操作でデータの消去が可能な記憶ブロックを単数または複数設け、前記記憶ブロックの各々には制御データを記憶できる記憶エリアを単数または複数設け、前記記憶ブロックの各々には前記記憶エリアに記憶された制御データの新旧を判定するための管理情報を記憶する領域を割り付けた管理情報部を設け、前記不揮発性メモリに記憶した制御データを読み出す場合や、新しく制御データを不揮発性メモリに記憶する必要が生じた場合には、前記管理情報部に記憶されている新旧を判定するための管理情報を参照することで、新たな制御データが記憶されている記憶ブロックを特定することを特徴とする電子制御装置の情報記憶方法。
  6. 前記記憶ブロックの各々は、電源遮断後も使用する制御データを前記記憶エリアに格納する情報格納部と、前記情報格納部に格納されている制御データが正常に記憶されたことを示す情報を格納するチェックデータ部を有し、前記チェックデータ部に格納された情報に基づく記憶ブロックの有効性検証の結果、有効な記憶ブロックとして選別された記憶ブロックの中から、前記管理情報部に記憶されている制御データの新旧を判定するための管理情報を参照することで、新たな制御データが記憶されている記憶ブロックを特定することを特徴とする請求項5に記載の電子制御装置の情報記憶方法。
  7. 前記記憶ブロックの管理情報部は、記憶ブロックに記憶された制御データを次に使う記憶ブロックに移行する際に制御データの移行を開始したことを示す情報を格納する移行開始データ部と、次に使う記憶ブロックへの制御データの格納が完了したことを示す情報を格納する移行完了データ部を有し、前記移行開始データ部と前記移行完了データ部に格納された情報に基づき、格納された情報の新旧を比較することで最新データの格納された記憶ブロックを特定し、最新の記憶ブロック内の各記憶エリアからそれぞれ最新の記憶セクションを特定するようにした請求項6に記載の電子制御装置の情報記憶方法。
  8. 前記記憶ブロックの各々の前記チェックデータ部と前記移行開始データ部と前記移行完了データ部に記憶されたデータを参照し、
    前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行開始データ部および前記移行完了データ部の記憶データが消去された状態の前記記憶ブロックが単一の場合は、前記記憶ブロックが最新の制御データが格納された記憶ブロックであると選定することを特徴とする請求項7に記載の電子制御装置の情報記憶方法。
  9. 前記記憶ブロックの管理情報部は、記憶ブロックの移行回数をカウントするカウンタ部を有し、前記記憶ブロックを移行する際に移行する前の記憶ブロックのカウンタ部に記憶されている値よりも大きい値を移行先記憶ブロックのカウンタ部に記憶させることで、前記記憶ブロックの各々の前記チェックデータ部と前記移行開始データ部と前記移行完了データ部に記憶されたデータを参照し、
    前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行開始データ部および前記移行完了データ部の記憶データが消去された状態の前記記憶ブロックを複数検出した場合は、検出された複数の記憶ブロックの中から前記カウンタ部に格納されたカウント値を比較し、カウント値が最大の記憶ブロックが1つだけある場合、その記憶ブロックを正常に記憶されている制御データのうち最新の制御データが記憶されている記憶ブロックとして選定することを特徴とする請求項7または請求項8に記載の電子制御装置の情報記憶方法。
  10. 前記記憶ブロックの各々の前記チェックデータ部と前記移行開始データ部と前記移行完了データ部に記憶されたデータを参照し、
    前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行開始データ部および前記移行完了データ部の記憶データが消去された状態の前記記憶ブロックが無い場合は、前記記憶ブロックの各々の前記チェックデータ部と前記移行完了データ部に記憶されたデータを参照し、
    前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行完了データ部の記憶データが消去された状態の前記記憶ブロックが単一の場合は、前記記憶ブロックを正常に記憶されている制御データのうち最新の制御データが格納されている記憶ブロックであると選定することを特徴とする請求項7から請求項9のいずれか1項に記載の電子制御装置の情報記憶方法。
  11. 前記記憶ブロックの管理情報部は、記憶ブロックの移行回数をカウントするカウンタ部を有し、前記記憶ブロックを移行する際に移行する前の記憶ブロックのカウンタ部に記憶されている値よりも大きい値を移行先記憶ブロックのカウンタ部に記憶させることで、前記記憶ブロックの各々の前記チェックデータ部と前記移行開始データ部と前記移行完了データ部に記憶されたデータを参照し、
    前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行開始データ部および前記移行完了データ部の記憶データが消去された状態の前記記憶ブロックが無い場合は、前記記憶ブロックの各々の前記チェックデータ部と前記移行完了データ部に記憶されたデータを参照し、
    前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行完了データ
    部の記憶データが消去された状態の前記記憶ブロックを複数検出した場合は、
    前記複数検出された記憶ブロックの中から前記カウンタ部に格納されたカウント値を比較し、カウント値が最大の記憶ブロックが1つだけある場合、その記憶ブロックを正常に記憶されている制御データのうち最新の制御データが記憶されている記憶ブロックとして選定することを特徴とする請求項7から請求項10のいずれか1項に記載の電子制御装置の情報記憶方法。
  12. 前記記憶ブロックの管理情報部は、記憶ブロックの移行回数をカウントするカウンタ部を有し、前記記憶ブロックを移行する際に移行する前の記憶ブロックのカウンタ部に記憶されている値よりも大きい値を移行先記憶ブロックのカウンタ部に記憶させることで、
    前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行開始データ部および前記移行完了データ部の記憶データが消去された状態の前記記憶ブロックが無く、前記チェックデータ部の記憶データが正常に記憶されており、かつ前記移行完了データ部の記憶データが消去された状態の前記記憶ブロックが無い場合に、前記記憶ブロックの各々の前記チェックデータ部に記憶されたデータを参照し、前記チェックデータ部の記憶データが正常に記憶された状態の前記記憶ブロックが複数検出された場合は、
    前記複数検出された記憶ブロックの中から前記カウンタ部に格納されたカウント値を比較し、カウント値が最大の記憶ブロックが1つだけある場合、その記憶ブロックを正常に記憶されている制御データのうち最新の制御データが記憶されている記憶ブロックとして選定することを特徴とする請求項7から請求項11のいずれか1項に記載の電子制御装置の情報記憶方法。
  13. 電気的にデータを消去可能な不揮発性メモリの記憶領域内に、1回の操作でデータの消去が可能な記憶ブロックを単数または複数設け、前記記憶ブロックの各々には制御データを記憶できる記憶エリアを単数または複数設け、前記記憶ブロックの各々には、電源遮断後も使用する制御データを格納する情報格納部と、前記情報格納部に格納されている制御データが正常に記憶されたことを示す情報を格納するチェックデータ部と、記憶ブロックに記憶された制御データを次に使う記憶ブロックに移行する際に制御データの移行を開始したことを示す情報を格納する移行開始データ部と、次に使う記憶ブロックへの制御データの格納が完了したことを示す情報を格納する移行完了データ部と、記憶ブロックの移行回数をカウントするカウンタ部を設け、
    前記記憶エリアのうち、新たな制御データを記憶する記憶エリアのメモリが不足状態にあると判断した場合は、前記記憶ブロックのうち、移行元記憶ブロックの前記移行開始データ部に予め定めた情報を記憶するステップ、前記記憶ブロックのうち、移行先記憶ブロックとして選定した1個の記憶ブロックに記憶された制御データを消去するステップ、前記新たな制御データを前記移行先記憶ブロックに割り付けられた記憶エリアに記憶させるステップ、前記移行先記憶ブロックの前記カウンタ部に前記移行元記憶ブロックのカウンタ部から取得し増加させ保持しておいたカウンタ値を記憶させるステップ、前記移行先記憶ブロックの前記チェックデータ部に予め定めた情報を記憶するステップ、前記移行元記憶ブロックの前記移行完了データ部に予め定めた情報を記憶するステップを有する電子制御装置の情報記憶方法。
  14. 前記不揮発性メモリは、フラッシュメモリであることを特徴とする請求項1から請求項4のいずれか1項に記載の電子制御装置。
  15. 前記不揮発性メモリは、フラッシュメモリであることを特徴とする請求項5から請求項13のいずれか1項に記載の電子制御装置の情報記憶方法。
JP2016160969A 2016-08-19 2016-08-19 電子制御装置およびその情報記憶方法 Pending JP2018028830A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016160969A JP2018028830A (ja) 2016-08-19 2016-08-19 電子制御装置およびその情報記憶方法
US15/448,748 US20180052635A1 (en) 2016-08-19 2017-03-03 Electronic control apparatus and information storage method for the same
DE102017104698.4A DE102017104698A1 (de) 2016-08-19 2017-03-07 Elektroniksteuervorrichtung und Informationsspeicherverfahren dafür
CN201710684816.4A CN107766174A (zh) 2016-08-19 2017-08-11 电子控制装置及其信息存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016160969A JP2018028830A (ja) 2016-08-19 2016-08-19 電子制御装置およびその情報記憶方法

Publications (1)

Publication Number Publication Date
JP2018028830A true JP2018028830A (ja) 2018-02-22

Family

ID=61082767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016160969A Pending JP2018028830A (ja) 2016-08-19 2016-08-19 電子制御装置およびその情報記憶方法

Country Status (4)

Country Link
US (1) US20180052635A1 (ja)
JP (1) JP2018028830A (ja)
CN (1) CN107766174A (ja)
DE (1) DE102017104698A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6935190B2 (ja) * 2016-12-07 2021-09-15 いすゞ自動車株式会社 制御装置、及び、制御装置へのデータ書き込み方法
JP7003975B2 (ja) * 2018-08-10 2022-01-21 株式会社デンソー 車両情報通信システム,センター装置及びセンター装置のメッセージ送信方法
CA3133438C (en) * 2019-03-14 2023-06-20 Honda Motor Co., Ltd. Vehicle diagnosis method, vehicle diagnosis system, and external diagnosis device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065503A (ja) * 2004-08-25 2006-03-09 Matsushita Electric Ind Co Ltd 権利情報を格納した記録媒体、情報処理装置及び権利情報の管理方法
JP2007287022A (ja) * 2006-04-19 2007-11-01 Mitsubishi Electric Corp 電子制御装置の情報記憶方法
JP2009116601A (ja) * 2007-11-06 2009-05-28 Sony Corp メモリ装置、メモリ管理方法、およびプログラム
JP2016062319A (ja) * 2014-09-18 2016-04-25 カシオ計算機株式会社 データ読み出し装置、プログラムおよびデータ読み出し方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11144478A (ja) 1997-11-10 1999-05-28 Hitachi Device Eng Co Ltd 不揮発性半導体メモリの情報記憶方法および電子機器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006065503A (ja) * 2004-08-25 2006-03-09 Matsushita Electric Ind Co Ltd 権利情報を格納した記録媒体、情報処理装置及び権利情報の管理方法
JP2007287022A (ja) * 2006-04-19 2007-11-01 Mitsubishi Electric Corp 電子制御装置の情報記憶方法
JP2009116601A (ja) * 2007-11-06 2009-05-28 Sony Corp メモリ装置、メモリ管理方法、およびプログラム
JP2016062319A (ja) * 2014-09-18 2016-04-25 カシオ計算機株式会社 データ読み出し装置、プログラムおよびデータ読み出し方法

Also Published As

Publication number Publication date
DE102017104698A1 (de) 2018-02-22
CN107766174A (zh) 2018-03-06
US20180052635A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
US8527730B2 (en) Data updating method, memory system and memory device
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN102750191B (zh) 用于启动固态非易失性存储设备内的刷新操作的方法
TWI436369B (zh) 記憶裝置之使用壽命量測方法及系統內編程碼置換方法、及其資料儲存系統
JP2010517131A5 (ja)
JP4666081B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4301301B2 (ja) 不揮発性半導体記憶装置およびその管理方法
JP2013222435A (ja) 半導体記憶装置及びその制御方法
JP2018028830A (ja) 電子制御装置およびその情報記憶方法
CN108604207B (zh) 用于独立于硬件的存储器存储的系统及方法
JP2017142776A (ja) 寿命管理装置および寿命管理方法
US9948809B2 (en) Image forming apparatus, memory management method for image forming apparatus, and program, using discretely arranged blocks in prioritizing information
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
JP5541194B2 (ja) フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置
JP2008117299A (ja) 記憶媒体制御装置
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
JP4710918B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
TW202209124A (zh) 於斷電保護備份失敗後支援唯讀模式之固態硬碟
US8503241B2 (en) Electronic apparatus and data reading method
JP5520880B2 (ja) フラッシュメモリ装置
JP4952742B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9773562B2 (en) Storage apparatus, flash memory control apparatus, and program
JP6317653B2 (ja) 自動車用電子制御装置及びデータ記憶方法
JP2002108721A (ja) ディスクアレイ装置
JP6118045B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180123