JP2008146521A - 自動車用電子制御装置 - Google Patents

自動車用電子制御装置 Download PDF

Info

Publication number
JP2008146521A
JP2008146521A JP2006335300A JP2006335300A JP2008146521A JP 2008146521 A JP2008146521 A JP 2008146521A JP 2006335300 A JP2006335300 A JP 2006335300A JP 2006335300 A JP2006335300 A JP 2006335300A JP 2008146521 A JP2008146521 A JP 2008146521A
Authority
JP
Japan
Prior art keywords
data
written
writing
area
write
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
JP2006335300A
Other languages
English (en)
Inventor
Toshinaka Arai
敏央 新井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006335300A priority Critical patent/JP2008146521A/ja
Publication of JP2008146521A publication Critical patent/JP2008146521A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】フラッシュメモリのメモリ容量を有効に活用でき、データの保存を効率良く行える自動車用電子制御装置を提供する。
【解決手段】フラッシュメモリにデータを書き込むときに、既にデータが書き込まれているエリアのデータを同じ値にするか、又は、FFhとして書き換えない状態にして、同一の書き込み開始アドレスによるデータ書き込みを複数回にわたって行わせる。これにより、最小書き込み単位(例えば128バイト)よりもサイズの小さいデータ(例えば1バイトデータ)を、書き込みエリアに詰めて格納させることができる。
【選択図】図4

Description

本発明は、自動車用電子制御装置に関し、詳しくは、電気的にデータの消去及び書き込みが可能な不揮発性メモリのデータ書き込み技術に関する。
特許文献1には、ブロック単位で書き換え可能なフラッシュメモリを備え、該フラッシュメモリに記憶された制御プログラムに従って自動車に搭載された所定の制御対象を制御する自動車用電子制御装置が開示されている。
特開2000−257502号公報
上記のように、前記フラッシュメモリは、ブロック単位で書き換え可能であるため、書き換え単位のブロックよりもサイズの小さいデータを書き込むときにも、ブロック単位での書き込みが行われることになり、1ブロック単位で書き込み開始アドレスをずらしてデータの書き込みを行わせると、メモリ容量の使用効率が悪いという問題があった。
本発明は上記問題点に鑑みなされたものであり、フラッシュメモリのメモリ容量を有効に活用でき、データの保存を効率良く行える自動車用電子制御装置を提供することを目的とする。
そのため請求項1記載の発明は、電気的にデータの消去及び書き込みが可能な不揮発性メモリにデータを書き込むときに、既にデータが書き込まれているエリアのデータ更新を禁止して、同一の書き込み開始アドレスで複数回にわたってデータの書き込みを行うことを特徴とする。
上記発明によると、所定の書き込み開始アドレスに基づき、不揮発性メモリ(例えばフラッシュメモリ)に対して最初のデータ書き込みを行った後、2回目のデータ書き込みにおいては、同一の書き込み開始アドレスに基づいて同一ブロックの書き込みを行うが、最初にデータを書き込んだエリアのデータ更新(書き換え)を禁止して、同一ブロックの残存エリアにデータを書き足す。このような書き込み処理を繰り返すことで、同一ブロックに複数のデータを詰めて記憶させる。
従って、不揮発性メモリに対して、ブロック単位で書き込みが行われ、かつ、書き込むデータのサイズがブロックサイズよりも小さい場合であっても、メモリ容量を有効に利用してデータを書き込むことができる。
請求項2記載の発明は、既にデータが書き込まれているエリアに対して同じデータを再度書き込むことで、データ更新を禁止することを特徴とする。
上記発明によると、同一の書き込み開始アドレスに基づいて同一ブロックに複数回にわたって書き込みを行うときに、それまでにデータが書き込まれているエリアに対しては、最初の書き込み時と同じデータを書き込ませる。
従って、同一ブロックの書き込みを繰り返し行わせても、既にデータが書き込まれているエリアのデータはそのまま保存されることになり、残存のエリアに順次新たなデータが書き込まれる。
請求項3記載の発明は、書き込まれたデータの最終アドレスを記憶し、該書き込み最終アドレスに基づいて既にデータが書き込まれているエリアを特定することを特徴とする。
上記発明によると、データの書き込みを行う毎に、その書き込みでのデータの最終アドレスを記憶し、書き込み開始アドレスから前記最終アドレスまでを、既にデータが書き込まれているエリアとして特定する。
従って、データサイズに変動があっても、前回までにデータが書き込まれたエリアを確実に特定できる。
請求項4記載の発明は、1回に書き込むデータのサイズを固定し、書き込み回数から既にデータが書き込まれているエリアを特定することを特徴とする。
上記発明によると、書き込むデータのサイズが固定されるから、データサイズに書き込み回数を乗算した結果が、前回までに書き込まれたデータの総サイズであり、書き込み開始アドレスから前記書き込み済みデータの総サイズ分だけのエリアが、前回までにデータ書き込みが行われたエリアとなる。
従って、データサイズが固定であれば、前回までにデータが書き込まれたエリアを容易に特定することができる。
請求項5記載の発明では、書き込みデータにインデックスデータを付し、前記インデックスデータに基づいて既にデータが書き込まれているエリアを特定することを特徴とする。
上記発明によると、各データにインデックスデータ(索引情報)を付して書き込みを行わせ、前記インデックスデータから個々の書き込みデータを弁別することで、前回までにデータが書き込まれたエリアを特定する。
従って、前記インデックスデータの読み取りによって、既にデータが書き込まれているエリアを確実に特定することができる。
以下に本発明の実施の形態を説明する。
図1は、実施の形態における自動車用電子制御装置としてのエンジンコントロールユニット(ECU)1の構成を示す。
エンジンコントロールユニット1は、車両用エンジンにおける燃料噴射や点火を制御するためのものであり、電気的にデータの消去及び書き込みが可能な不揮発性メモリであるフラッシュメモリ2、RAM3、及び、マイクロコンピュータ4を含んで構成される。
前記マイクロコンピュータ4は、CPU,内蔵RAM,タイマ,A/Dコンバータ,SCI等を備えて構成され、RAM3やフラッシュメモリ2に格納された各種のプログラムを実行する。
前記フラッシュメモリ2の記憶領域は、ブロックAとブロックBとに区分される。
前記ブロックAは、データの書き込みが行われる書き込みデータ格納領域である。
一方、ブロックBは、データの更新を行わない領域であって、フラッシュ書き込みプログラムが格納される領域、アプリケーションプログラムが格納される領域、更に、定数データが格納される領域からなる。
前記フラッシュ書き込みプログラムは、前記書き込みデータ格納領域におけるデータの消去・書き込みを制御するためのプログラムである。
前記アプリケーションプログラムは、車両に搭載されるエンジンを制御するためのプログラムであり、イグニッションスイッチ8のオン・オフ信号や車両用エンジンの運転状態を検出する各種センサ7からの検出信号を入力して演算処理し、燃料噴射制御信号や点火制御信号などを出力する機能を備える。
前記定数データ格納領域には、エンジン制御等に必要な各種の定数データ(閾値、係数など)が格納される。
一方、外部ツールであるフラッシュ書き込みツール5は、前記エンジンコントロールユニット1に対して通信回線6を介して着脱可能に接続される。
前記フラッシュ書き込みツール5には、フラッシュメモリ5aが備えられ、該フラッシュメモリ5aに保存されているデータを、前記エンジンコントロールユニット1に対して送信することで、フラッシュメモリ2に対するデータの書き込みが行なわれるようになっている。
即ち、前記フラッシュ書き込みツール5は、フラッシュメモリ2のブロックAに格納されるデータを書き換えるためのツールである。
図2のフローチャートは、エンジンコントロールユニット1によるフラッシュメモリ2のブロックAの書き換え処理を示す。
まず、ステップS100では、ブロックBに格納されているアプリケーションプログラムを実行して、エンジンを通常に制御する。
次のステップS110では、イグニションスイッチ(IGSW)8がオフされたか否かを判別する。
イグニションスイッチ(IGNSW)8がオン状態であれば、ステップS100へ戻って、アプリケーションプログラムの実行を継続させる。
一方、イグニションスイッチ(IGNSW)8がオフになると、ステップS120へ進み、前記フラッシュ書き込みツール5からフラッシュメモリの書換え要求信号が出力されているか否かを判別する。
ここで、前記フラッシュ書き込みツール5から書換え要求信号が出力されている場合には、ステップS130へ進む。
ステップS130では、前記フラッシュ書き込みツール5から送信される書き込みデータをバッファに格納する。
次のステップS140では、前記フラッシュ書き込みツール5から送信されたデータを、フラッシュメモリ2のデータ格納領域(ブロックA)に書き込むべく、書き込み制御プログラムを実行する。
前記書き込み制御プログラムの処理内容は、図3のフローチャートに示してある。
まず、ステップS200では、書き込み開始アドレスを設定し、次のステップS210では、書き込みエリアの値が全てFFh(消去状態)であるか否かを判別する。
書き込みエリアの値が全てFFhであれば、データ書き込みの1回目であるので、ステップS230に進み、フラッシュメモリ2に対するデータの書き込み処理を実行する。
一方、書き込みエリアの値が全てFFhでない場合であって、2回目以降の書き込みであるときには、ステップS220へ進み、既にデータが書き込まれているエリアを特定し、該書き込み済みエリアをマスクして書き込みを行わせる設定を行った後、ステップS230へ進み、フラッシュメモリ2に対するデータの書き込み処理を実行する。
ステップS240では、データの書き込みが終了したか否かを判別し、書き込みが終了するまで、ステップS200〜ステップS230の処理を繰り返す。
ここで、ステップS230におけるデータ書き込み処理の詳細を、図4に従って説明する。
図4に示す書き込み処理は、1バイトデータの書き込みであって、最小書き込みサイズ(1回の書き込み動作で書き込みを行う最小エリア)を128バイトとする例である。
まず、フラッシュメモリ2のデータ格納領域の値を全てFFh(初期値)として初期化しておく(図4(A)参照)。
そして、1回目のデータ書き込みにおいては、先頭の1バイトに指定されたデータ(図4では「01」)を書き込み、残りの127バイトにはFFhを書き込む(図4(B)参照)。
続いて、2回目のデータ書き込みにおいては、書き込み開始アドレスを前回と同じに保持し、先頭の1バイトのデータ更新を禁止して、次のアドレス(2番目の1バイト)に指定データ(図4では「02」)を書き込み、残りの126バイトにはFFhを書き込む(図4(B)参照)。
前記先頭1バイトのデータ更新の禁止(マスク)は、同じデータを再度書き込むか、又は、書き込みデータを「FFh」としてフラッシュメモリ2を書き換えない状態とすることで行われる。
3回目のデータ書き込みにおいては、やはり書き込み開始アドレスを前回と同じに保持し、先頭の1バイト及び2番目の1バイトにおけるデータ更新を禁止して、3番目の1バイトに指定データを書き込み、残りの125バイトにはFFhを書き込む。
上記処理を繰り返すことで、最小書き込みサイズの128バイトである1ブロック内に、1バイトのデータを順次詰めて格納させる。
最初の128バイトへのデータ書き込みが全て完了すると、書き込み開始アドレスを、128バイト分だけずらして、次の128バイト領域へのデータ書き込みを同様にして実行させる。
上記のように、前回までにデータが書き込まれているエリアのデータ更新を禁止し、更新が禁止されるエリアの次のアドレスに新たなデータを書き込む動作を、同一の書き込み開始アドレスで複数回にわたって行わせるようにすれば、最小書き込みサイズ(本実施形態では128バイト)よりもサイズの小さいデータ(本実施形態では1バイト)を詰めて書き込むことができ、フラッシュメモリ2の容量を効率良く使用することができる。
ここで、どのアドレスまでデータ更新を禁止し、指定データをどのアドレスに書き込むかは、データ書き込みを行った最終アドレスを記憶しておくことで判断でき、また、最終アドレスから書き込みを行う128バイト単位のブロックとして、次のブロックに移行させるべきであるか否かを判断できる。
尚、データ書き込みを行った最終アドレスを記憶する構成であれば、必ずしも書き込むデータのサイズは一定である必要はない。
また、本実施形態のように、書き込みデータのサイズが固定される場合には、書き込み回数とデータサイズとの乗算結果が、既にデータが書き込まれているエリアの大きさを示すことになる。
そこで、データ書き込みを行った最終アドレスを記憶する代わりに、書き込み回数を計数して記憶し、書き込み回数の計数結果と、予め記憶されているデータサイズとから既にデータが書き込まれているエリアの大きさ(容量)を算出し、次に指定データを書き込むべきアドレスを特定することができる。
更に、書き込むデータにインデックスデータを付すことで、既にデータが書き込まれているエリア(次回に指定データを書き込むアドレス)を特定させることができる。
例えば、データサイズが一定である場合に、データの前又は後に一定サイズのインデックスデータを付し、このインデックスデータを書き込み毎にインクリメントさせるようにする。
この場合、インデックスデータの書き込み位置は予め特定されるから、インデックスデータが書き込まれるはずのアドレス位置のデータを検証し、インデックスデータとは認められない値が格納されたアドレスのうちで最も小さいアドレスを、既にデータが書き込まれているエリアの次のアドレスであって次回の指定データを書き込むアドレスとして特定することができる。
また、インデックスデータとして、書き込み開始位置情報や書き込み終了位置情報などをデータに付すようにすることができる。
また、128バイトの1ブロックの最初からデータを書き始めるのではなく、データをブロックの後ろ側から書き込み、書き込み位置を順次前にずらすようにすることができる。
尚、本実施形態では、書き込みの最小単位を128バイト、データサイズを1バイトとしたが、これらのサイズに限定されるものでないことは明らかである。
ここで、上記実施形態から把握し得る請求項以外の技術思想について、以下にその効果と共に記載する。
(イ)前記データが一定サイズであって、前記インデックスデータが、データの前又は後に付される一定サイズで、かつ、書き込み毎にインクリメントされることを特徴とする請求項5記載の自動車用電子制御装置。
上記発明によると、データ及びインデックスデータのサイズが一定であるので、詰めて書き込みを行わせる場合には、インデックスデータが書き込まれるアドレス位置が予め特定されることになる。
従って、インデックスデータが書き込まれるアドレス位置のデータを読み取り、インデックスデータであると認められるデータが書き込まれているか否かを判断することで、どこまで書き込みが行われているか、即ち、既にデータが書き込まれているエリアを特定することができる。
実施形態における自動車用電子制御装置の構成図。 実施形態におけるフラッシュメモリへの書き込み処理のメインルーチンを示すフローチャート。 実施形態におけるフラッシュメモリへの書き込み処理のサブルーチンを示すフローチャート。 実施形態における書き込み回数毎の書き込みの様子を示す図。
符号の説明
1…エンジンコントロールユニット、2…フラッシュメモリ、3…RAM、4…マイクロコンピュータ、5…フラッシュ書き込みツール、6…通信回線

Claims (5)

  1. 電気的にデータの消去及び書き込みが可能な不揮発性メモリを備えた自動車用電子制御装置であって、
    前記不揮発性メモリにデータを書き込むときに、既にデータが書き込まれているエリアのデータ更新を禁止して、同一の書き込み開始アドレスで複数回にわたってデータの書き込みを行うことを特徴とする自動車用電子制御装置。
  2. 既にデータが書き込まれているエリアに対して同じデータを再度書き込むことで、データ更新を禁止することを特徴とする請求項1記載の自動車用電子制御装置。
  3. 書き込まれたデータの最終アドレスを記憶し、該最終アドレスに基づいて既にデータが書き込まれているエリアを特定することを特徴とする請求項1又は2記載の自動車用電子制御装置。
  4. 1回に書き込むデータのサイズを固定し、書き込み回数から既にデータが書き込まれているエリアを特定することを特徴とする請求項1又は2記載の自動車用電子制御装置。
  5. 書き込みデータにインデックスデータを付し、前記インデックスデータに基づいて既にデータが書き込まれているエリアを特定することを特徴とする請求項1又は2記載の自動車用電子制御装置。
JP2006335300A 2006-12-13 2006-12-13 自動車用電子制御装置 Pending JP2008146521A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006335300A JP2008146521A (ja) 2006-12-13 2006-12-13 自動車用電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006335300A JP2008146521A (ja) 2006-12-13 2006-12-13 自動車用電子制御装置

Publications (1)

Publication Number Publication Date
JP2008146521A true JP2008146521A (ja) 2008-06-26

Family

ID=39606605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006335300A Pending JP2008146521A (ja) 2006-12-13 2006-12-13 自動車用電子制御装置

Country Status (1)

Country Link
JP (1) JP2008146521A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118892A (ja) * 2010-12-03 2012-06-21 Yazaki Corp データ格納装置及びデータ格納方法
WO2013042513A1 (ja) 2011-09-21 2013-03-28 日立オートモティブシステムズ株式会社 自動車用電子制御装置及びデータ通信方法
JP2013069005A (ja) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd 自動車用電子制御装置
CN103176906A (zh) * 2011-09-21 2013-06-26 日立汽车***株式会社 汽车用电子控制装置及数据的写入方法
US9612773B2 (en) 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012118892A (ja) * 2010-12-03 2012-06-21 Yazaki Corp データ格納装置及びデータ格納方法
CN103890731B (zh) * 2011-09-21 2016-10-12 日立汽车***株式会社 汽车用电子控制装置以及数据通信方法
JP2013069005A (ja) * 2011-09-21 2013-04-18 Hitachi Automotive Systems Ltd 自動車用電子制御装置
CN103176906A (zh) * 2011-09-21 2013-06-26 日立汽车***株式会社 汽车用电子控制装置及数据的写入方法
CN103890731A (zh) * 2011-09-21 2014-06-25 日立汽车***株式会社 汽车用电子控制装置以及数据通信方法
US9164696B2 (en) 2011-09-21 2015-10-20 Hitachi Automotive Systems, Ltd. Electronic control unit for vehicle and data communication method
WO2013042513A1 (ja) 2011-09-21 2013-03-28 日立オートモティブシステムズ株式会社 自動車用電子制御装置及びデータ通信方法
US9836225B2 (en) 2011-09-21 2017-12-05 Hitachi Automotive Systems, Ltd. Electronic control unit for vehicle and data communication method
CN103176906B (zh) * 2011-09-21 2018-10-02 日立汽车***株式会社 汽车用电子控制装置及数据的写入方法
US10353594B2 (en) 2011-09-21 2019-07-16 Hitachi Automotive Systems, Ltd. Electronic control unit for vehicle and method of writing data
US10606229B2 (en) 2011-09-21 2020-03-31 Hitachi Automotive Systems, Ltd. Electronic control unit for vehicle and method of executing program
US11360698B2 (en) 2011-09-21 2022-06-14 Hitachi Astemo, Ltd. Electronic control unit for vehicle and method of writing data
US11556104B2 (en) 2011-09-21 2023-01-17 Hitachi Astemo, Ltd. Electronic control unit for vehicle and method of executing program
US9612773B2 (en) 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof

Similar Documents

Publication Publication Date Title
US7487286B2 (en) Flash memory and method for controlling the memory
US6598114B2 (en) Electronic control unit including flash memory and method and apparatus for storing control data group into flash memory
JP2003122622A (ja) データの受信および書き込みを制御する車両制御装置
JP5176728B2 (ja) 車両用電子制御装置
JP4135220B2 (ja) 車両用電子制御装置
JP2008146521A (ja) 自動車用電子制御装置
JP2006312356A (ja) 車両制御システム
JP3893755B2 (ja) 電子制御装置
US6044014A (en) Electronic control unit and method for storing rewrite count of nonvolatile memory
JP4706778B2 (ja) 電子制御装置、及び車両制御システム
JP2000045858A (ja) 電子制御装置及び不揮発性メモリの書換回数記憶方法
JP2004139521A (ja) 電子制御装置
JP5695112B2 (ja) データ記憶装置、データの記憶方法および車載用制御装置
JP2019016086A (ja) 自動車用電子制御装置
JP2004164601A (ja) 電子制御装置
JP6415990B2 (ja) 自動車用電子制御装置
JP5360216B2 (ja) 情報管理装置、及び情報管理方法
JP2002323902A (ja) 電子制御装置
TW200404304A (en) Electronic control apparatus
JP4556653B2 (ja) 車載電子制御装置のプログラム書換システム、車載電子制御装置のコンピュータ用ブートローダ、記録媒体、及び車載電子制御装置
JP2003104138A (ja) データ書き換えのための車両制御装置の監視システム
JP5635941B2 (ja) 自動車用電子制御装置
JP2005346635A (ja) 自動車用電子制御装置
JP2006063939A (ja) プログラム書き換え可能な電子制御装置
JP2014206905A (ja) 書き込み装置