TOP特許意匠商標
特許ウォッチ DM通知 Twitter
10個以上の画像は省略されています。
公開番号2021015388
公報種別公開特許公報(A)
公開日20210212
出願番号2019128948
出願日20190711
発明の名称電子制御装置
出願人日立オートモティブシステムズ株式会社
代理人特許業務法人サンネクスト国際特許事務所
主分類G06F 12/00 20060101AFI20210115BHJP(計算;計数)
要約【課題】特定の領域が集中して書き換えられることを防止し、製品の寿命を延ばすことが可能な電子制御装置を提供する。
【解決手段】電子制御装置(演算装置)9は、アドレスが付されデータセットが記録されるデータ記憶領域41および2以上のアドレスを格納可能なアドレス記憶領域42を含む不揮発性の記憶領域である記憶部4と、データセットが入力される入力部11と、入力部に入力されたデータセットをデータ記憶領域における未記録領域に記録し、未記録領域のアドレスに関する情報をアドレス記憶領域の未記録領域に記録する記録部12と、アドレス記憶領域における最新の記録に基づいてデータ記憶領域からデータセットを読み出す読出部13と、を備える。
【選択図】図2
特許請求の範囲【請求項1】
アドレスが付されデータセットが記録されるデータ記憶領域、および2以上の前記アドレスを格納可能なアドレス記憶領域を含む不揮発性の記憶領域である記憶部と、
前記データセットが入力される入力部と、
前記入力部に入力された前記データセットを前記データ記憶領域における未記録領域に記録し、前記未記録領域のアドレスに関する情報を前記アドレス記憶領域の未記録領域に記録する記録部と、
前記アドレス記憶領域における最新の記録に基づいて前記データ記憶領域から前記データセットを読み出す読出部と、を備える電子制御装置。
続きを表示(約 2,300 文字)【請求項2】
請求項1に記載の電子制御装置において、
前記未記録領域のアドレスに関する情報とは前記未記録領域のアドレスであり、
前記記録部は、前記データセットを記録した前記未記録領域のアドレスを前記アドレス記憶領域の未記録領域に最新アドレスとして記録し、
前記読み出し部は、前記アドレス記憶領域に記録された最新の前記最新アドレスが示す前記データ記憶領域から前記データセットを読み出す、電子制御装置。
【請求項3】
請求項1に記載の電子制御装置において、
前記データセットは複数のデータから構成され、
前記記録部は、前記複数のデータのそれぞれが記録されたアドレスを示すアドレステーブルを前記データセットとともに前記データ記憶領域に記録し、
前記未記録領域のアドレスに関する情報とは前記アドレステーブルが記録されているアドレスである、電子制御装置。
【請求項4】
請求項3に記載の電子制御装置において、
前記データセットを構成する前記複数のデータのそれぞれには識別子が対応付けられており、
前記入力部に入力されるデータセットには、当該データセットに含まれるデータに対応する前記識別子が付されており、
前記記録部は、前記入力部に前記データセットが入力されると、前記データセットに付された前記識別子に基づき前記アドレステーブルにおける書き換え対象を特定し、特定した前記書き換え対象を新たに記録したアドレスに書き換える電子制御装置。
【請求項5】
請求項2に記載の電子制御装置において、
前記記録部は、前記最新アドレスを前記アドレス記憶領域の未記録領域の末尾に記録し、記録した前記最新アドレスから前記データセットが読み出せると前記アドレス記憶領域の未記録領域の末尾にさらに前記最新アドレスを記録し、
前記読み出し部は、前記アドレス記憶領域に記録された2つの連続するアドレスであって、最も後ろに記録されているアドレスを前記最新アドレスと判断する電子制御装置。
【請求項6】
請求項2に記載の電子制御装置において、
前記アドレス記憶領域は、第1アドレス記憶領域および第2アドレス記憶領域から構成され、
前記記録部は、前記最新アドレスを前記第1アドレス記憶領域の未記録領域の末尾に記録し、記録した前記最新アドレスから前記データセットが読み出せると前記第2アドレス記憶領域の未記録領域の末尾に前記最新アドレスを記録し、
前記読み出し部は、前記第1アドレス記憶領域および前記第2アドレス記憶領域の同じ位置に記録されたアドレスであって、最も後ろに記録されているアドレスを前記最新アドレスと判断する電子制御装置。
【請求項7】
請求項1に記載の電子制御装置において、
前記データ記憶領域および前記アドレス記憶領域のそれぞれは、ハードウエア特性により定まるデータを消去可能な最小単位である消去単位ブロックを少なくとも2つ含む電子制御装置。
【請求項8】
請求項2に記載の電子制御装置において、
前記記録部は、前記アドレス記憶領域において、先頭から後方に向かって順番に、または末尾から先頭に向かって順番に、前記最新アドレスを書き込む電子制御装置。
【請求項9】
請求項2に記載の電子制御装置において、
前記記録部は、前記アドレス記憶領域において、先頭から後方に向かって順番に前記最新アドレスを書き込み、
前記読出部は、前記アドレス記憶領域における最後方に記録されたアドレスを前記最新アドレスと判断する電子制御装置。
【請求項10】
請求項9に記載の電子制御装置において、
前記記録部は、前記アドレス記憶領域において、先頭から後方に向かって順番に前記最新アドレスを書き込み、
前記読出部は、前記アドレス記憶領域に格納されている値を前記記録部に設定されたアドレス空間の大きさの区切りでアドレスブロックとして先頭から後方に向かって検索し、前記記憶部を初期化した際の値を有し前記検索により最初に該当したアドレスブロックの直前のアドレスブロックに格納されている値を前記最新アドレスと判断する電子制御装置。
【請求項11】
請求項3に記載の電子制御装置において、
前記記録部は、前記アドレス記憶領域において、先頭から後方に向かって順番に、または末尾から先頭に向かって順番に、前記アドレステーブルが記録されているアドレスを書き込む電子制御装置。
【請求項12】
請求項3に記載の電子制御装置において、
前記記録部は、前記アドレス記憶領域において、先頭から後方に向かって順番に前記アドレステーブルが記録されているアドレスである最新アドレスを書き込み、
前記読出部は、前記アドレス記憶領域における最後方に記録されたアドレスを前記最新アドレスと判断する電子制御装置。
【請求項13】
請求項12に記載の電子制御装置において、
前記記録部は、前記アドレス記憶領域において、先頭から後方に向かって順番に前記最新アドレスを書き込み、
前記読出部は、前記アドレス記憶領域に格納されている値を前記記録部に設定されたアドレス空間の大きさの区切りでアドレスブロックとして先頭から後方に向かって検索し、前記記憶部を初期化した際の値を有し前記検索により最初に該当したアドレスブロックの直前のアドレスブロックに格納されている値を前記最新アドレスと判断する電子制御装置。

発明の詳細な説明【技術分野】
【0001】
本発明は、電子制御装置に関する。
続きを表示(約 7,200 文字)【背景技術】
【0002】
近年では様々な機器がネットワークに接続され、機器に記録された情報を更新する仕組みが広く知られている。人が持ち歩く携帯端末や移動体に搭載する機器には、衝撃への耐性が強い不揮発性メモリが用いられることが多い。特許文献1には、車両の動作を制御する処理を実装した制御プログラムを格納する不揮発メモリ、前記制御プログラムを実行する演算部、を備え、前記不揮発メモリは、第1記憶領域と第2記憶領域を有し、前記不揮発メモリはさらに、前記第1記憶領域と前記第2記憶領域のうちいずれが現在実行すべき現行版制御プログラムを格納しているかを表す管理データを格納し、前記演算部は、前記現行版制御プログラムの更新版である更新版制御プログラムと前記現行版制御プログラムとの間の差分を表す差分データ、前記更新版制御プログラムを圧縮した圧縮データ、または前記更新版制御プログラムのうちいずれかを用いて前記更新版制御プログラムのイメージを復元し、前記演算部は、前記第1記憶領域と前記第2記憶領域のうち前記管理データが指定していない側である一方に対して前記更新版制御プログラムのイメージを書き込むとともに、前記更新版制御プログラムの書込みが正常に完了した場合は、前記管理データを前記第1記憶領域と前記第2記憶領域のうち前記管理データが指定していない側を表すデータに書き換え、前記更新版制御プログラムの書込みが正常でない場合は、前記管理データを書き換えないことを特徴とする車両制御装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
特開2018−018186号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載されている発明では、特定のアドレスの書き換え回数が多くなる傾向があり、製品寿命の観点から改善の余地がある。
【課題を解決するための手段】
【0005】
本発明の第1の態様による電子制御装置は、アドレスが付されデータセットが記録されるデータ記憶領域、および2以上の前記アドレスを格納可能なアドレス記憶領域を含む不揮発性の記憶領域である記憶部と、前記データセットが入力される入力部と、前記入力部に入力された前記データセットを前記データ記憶領域における未記録領域に記録し、前記未記録領域のアドレスに関する情報を前記アドレス記憶領域の未記録領域に記録する記録部と、前記アドレス記憶領域における最新の記録に基づいて前記データ記憶領域から前記データセットを読み出す読出部とを備える。
【発明の効果】
【0006】
本発明によれば、特定の領域が集中して書き換えられることを防止し、製品の寿命を延ばすことができる。
【図面の簡単な説明】
【0007】
電子制御装置のハードウエア構成図
電子制御装置の機能構成図
記憶部の初期状態を示す図
データセットが4回記録された記憶部の状態を示す図
記憶部の別の状態を示す図
第1の実施の形態における記録部の動作を示すフローチャート
第1の実施の形態における読出部の動作を示すフローチャート
第2の実施の形態における記録部の動作を示すフローチャート
第2の実施の形態における読出部の動作を示すフローチャート
第2の実施の形態における記憶部の状態例を示す図
第2の実施の形態の変形例2における記憶部の状態例を示す図
第3の実施の形態におけるデータセットの例を示す図
第3の実施の形態における記憶部の状態例を示す図
第3の実施の形態における記録部のS304の詳細を示すフローチャート
第3の実施の形態における読出部のS325の詳細を示すフローチャート
【発明を実施するための形態】
【0008】
―第1の実施の形態―
以下、図1〜図7を参照して、電子制御装置の第1の実施の形態を説明する。
【0009】
図1は、本発明に係る電子制御装置9のハードウエア構成図である。電子制御装置9は、中央演算装置であるCPU1、読み出し専用の記憶装置であるROM2、および読み書き可能な記憶装置であるRAM3、不揮発性の記憶領域、たとえばフラッシュメモリである記憶部4、および通信部5を備える。CPU1は、ROM2に格納されるプログラムをRAM3に展開して実行することで後述する複数の機能を実現する。
【0010】
記憶部4は、書き換え可能でかつ、ハードウエアの仕様として書き込み回数に制限がある不揮発性の記憶装置、たとえばフラッシュメモリである。記憶部4への書き込みおよび記憶部4からの読み込みは任意のデータサイズで可能である。記憶部4に記録された情報の消去は、所定のブロック単位(以下、「消去単位ブロック」)でしか実行できない。なお消去単位ブロックは数キロバイト〜数百キロバイトの製品が多いが、本実施の形態では説明の簡略のために消去単位ブロックを16バイトとする。通信部5は、電子制御装置9の外部から情報を受信する通信モジュールである。通信部5が実行する通信は、無線通信でもよいし有線通信でもよい。
【0011】
図2は、電子制御装置9の機能構成図である。ただし図2には、記憶部4の便宜的な領域構成も図示している。電子制御装置9は、その機能として、入力部11と、記録部12と、読出部13とを備える。記憶部4には、データ記憶領域41と、アドレス記憶領域42とが含まれる。入力部11は、電子制御装置9の外部から通信部5に入力された情報を取得する。入力部11は、通信部5に入力された全ての情報を取得してもよいし、特別な識別子が付された情報のみを取得してもよい。
【0012】
以下では、入力部11が取得する情報を「データセット」と呼ぶ。データセットは、電子データであればよく、その実態は不問である。たとえばデータセットは、1つの実行可能ファイル、複数の実行可能ファイル、実行可能ファイルの一部、ソースコード、ソースコードの差分、演算に用いるデータなどである。念のために記載すると、データセットはアスキーデータでもよいしバイナリデータでもよい。
【0013】
記録部12は、入力部11が取得した情報、すなわちデータセットをデータ記憶領域41に記録し、記録したアドレスの情報をアドレス記憶領域42に記録する。読出部13は、アドレス記憶領域42に記録されたアドレス情報に基づき、データ記憶領域41に記録された最新のデータセットを読み出す。読出部13は、読み出したデータセットをCPU1に提供してもよいし、通信部5を通じて外部に提供してもよい。なお読出部13は、最新以外のデータセットは読み出せる必要はなく、最新以外のデータセットは記憶部4に完全な状態で記録されていなくてもよい。記録部12および読出部13の動作は次に詳しく説明する。
【0014】
データ記憶領域41およびアドレス記憶領域42は、あらかじめ設定された記憶部4の領域である。詳しくは後述するが、データ記憶領域41およびアドレス記憶領域42はリングバッファのように使用される。記憶部4の全領域にあらかじめアドレスが設定されており、アドレスを指定することで記憶部4に記録された特定の情報にアクセスできる。アドレスは既知の固定長、たとえば32ビットであり具体的には、「0xFFFFFFFF」、「0x12345678」などである。なお例示した2つのアドレスの先頭に記載した「0x」は16進法の表記であることを示す符号であり、以下では記載を省略することもある。
【0015】
本実施の形態では、アドレスの情報を格納可能な連続する32ビット、すなわち連続する4バイトを「アドレスブロック」とも呼ぶ。さらにこのアドレスブロックは、便宜的に先頭から通し番号を付してアドレスブロック(1)、アドレスブロック(2)、・・・と呼ぶこともある。
【0016】
入力部11、記録部12、および読出部13の動作を概略すると次のとおりである。たとえば、あるプログラムのバイナリデータを通信部5が受信するたびに入力部11がそのバイナリデータをデータセットとして取得する。そして記録部12は入力部11が取得したバイナリデータを記憶部4に記録する。詳しくは後述するが、記録部12は原則としてデータセットを上書きではなく追記する。読出部13は、所定のタイミング、たとえば電子制御装置9の起動時に記憶部4に記録された最新のバイナリデータを読み取る。
【0017】
(記憶部4の初期状態)
図3は、データセットが記録される前の記憶部4、すなわち記憶部4の初期状態を示す図である。図3は、左側のベースアドレス部47と、上部のオフセットアドレス部48と、右下の大きな領域であるデータ部49とから構成される。記憶部4に実際に格納されている情報はデータ部49に示すものであり、ベースアドレス部47およびオフセットアドレス部48は便宜的に記載している。
【0018】
図3に示すデータ部49は8行から構成され、1行は16個の小さなブロックから構成される。1つの小さなブロックは、「0x00」〜「0xFF」の情報、すなわち1バイトの情報が格納できる。すなわち、オフセットアドレス部48に示す「+0」や「+1」は、アドレスをベースアドレスから指定された数のバイト数だけ増加させることを意味する。本実施の形態では、アドレスは4バイトなので、1つのアドレスはたとえばオフセットアドレス部48の「+0」〜「+3」の範囲に格納された情報で表される。
【0019】
本実施の形態では、アドレス記憶領域42はアドレス「0x00000000」から「0x0000001F」まで、データ記憶領域41はアドレス「0x00000020」から「0x0000008F」までである。初期状態では、アドレス記憶領域42およびデータ記憶領域41は全ビットが「1」で初期化されている。ただしこれは例示に過ぎず、データ記憶領域41の領域の広さおよびアドレス記憶領域42の領域の広さは任意である。
【0020】
アドレス記憶領域42の領域は、消去単位ブロックの少なくとも2倍の領域を有する。本実施の形態では消去単位ブロックが16バイト(0x10バイト)なので、アドレス記憶領域42は少なくとも32バイト(0x20バイト)の領域を有する。また、アドレス記憶領域42およびデータ記憶領域41の初期状態はあらかじめ定まっていればよく図3の状態に限定されない。具体的には、初期状態の全ビットが「0」でもよいし、データ記憶領域41とアドレス記憶領域42では初期状態のビット状態が同一でなくてもよい。
【0021】
(記憶部4の状態例)
図4は、データセットが4回記録された記憶部4の状態を示す図である。図4ではデータセットを記録された順番に「データ1−1」〜「データ1−4」と記載している。データ1−1は、「0x00000020」〜「0x0000002B」に記録されている。データ1−2は、「0x0000002C」〜「0x0000003F」に記録されている。データ1−3は、「0x00000040」〜「0x00000057」に記録されている。データ1−4は、「0x00000058」〜「0x0000006F」に記録されている。
【0022】
データ1−1〜データ1−4が記録されたアドレスを示すように、アドレス記憶領域42にはアドレス情報が格納される。前述のように本実施の形態ではアドレスは4バイトで表記するので、符号901などで示すように4つの小さなブロックが1つのアドレスを示す。アドレスブロック901に格納されている値である「0x00000020」は、データ1−1が格納される先頭のアドレスである。アドレスブロック902に格納されている値である「0x0000002C」は、データ1−2が格納される先頭のアドレスである。アドレスブロック903に格納されている値である「0x00000040」は、データ1−3が格納される先頭のアドレスである。アドレスブロック904に格納されている値である「0x00000058」は、データ1−4が格納される先頭のアドレスである。
【0023】
なお本実施の形態では、説明の都合上、バイトオーダーにビッグインディアンを採用しているがリトルインディアンを採用してもよい。また、本実施の形態では消去単位ブロックが16バイトなので、図4における1行に相当する。
【0024】
(記憶部4の別の状態例)
図5は、記憶部4の別の状態を示す図である。図5は、データ記憶領域41およびアドレス記憶領域42の全域を使いきり、それぞれの先頭領域を初期化した状態を示している。図5では「データ1−51」が「0x00000020」〜「0x00000027」および「0x00000071」〜「0x0000007F」に記録されている。符号911で示すアドレスは「0x00000032」であり、符号912で示すアドレスは「0x00000046」であり、符号913で示すアドレスは「0x0000005E」であり、符号914で示すアドレスは「0x00000071」である。
【0025】
データ記憶領域41では、データ1−51が2つに分かれて記載されているが、これは、データ記憶領域41の末尾と先頭を繋げて使用しているからである。換言すると、データ1−51における「0x0000007F」の次のデータは、「0x00000020」に記載されている。すなわちデータ1−51が記録されている先頭のアドレスは「0x00000071」であり、符号914で示す領域に記録されている。
【0026】
(記録部12の動作概要)
記録部12の動作の概要を説明する。記録部12は、入力部11がデータセットを取得すると、データセットを書き込むデータ記憶領域41を特定する。この書き込み位置は、データ記憶領域41における書き込み済の領域の直後である。すなわち記録部12は、データセットを上書きではなく追記することでデータ記憶領域41に記録する。このように記録することで、データ記憶領域41の特定のアドレスへの書き込みが集中することを避けることができ、記憶部4の寿命を延ばすことができる。
【0027】
ただし記録部12は、追記を繰り返したことでデータ記憶領域41にデータセットを記録しきれないと判断する場合は、消去可能なデータ記憶領域41を特定して消去する。そして記録部12は、残りの領域と消去した領域を用いてデータセットを記録する。この際にも記録部12は、書き込み回数が均一になるように書き込みを行う。たとえば図5に示したように、データ1−51の一部を「0x00000071」〜「0x0000007F」に記録し、残りを消去した領域である「0x00000020」〜「0x00000027」に記録する。
【0028】
また記録部12は、アドレスを書き込むアドレス記憶領域42を特定し、データセットを記録した先頭のアドレスを記録する。さらに記録部12は、データ記憶領域41と同様にアドレス記憶領域42も必要に応じて消去単位ブロックごとの消去を行う。ただし記録部12は、初期化を行った際にも書き込み回数が均一になるように書き込みを行う。このように記録することで、アドレス記憶領域42の特定のアドレスへの書き込みが集中することを避けることができ、記憶部4の寿命を延ばすことができる。
【0029】
(読出部13の動作概要)
読出部13の動作の概要を説明する。読出部13は、所定のイベントが発生した場合に、たとえば電子制御装置9に備えられる他のプログラムから指令を受けた場合や、電子制御装置9の外部から通信部5を介して指令を受けた場合に動作する。読出部13は、まずアドレス記憶領域42に記録されている最新のアドレス情報を特定する。本実施の形態では、アドレス情報はアドレス記憶領域42の先頭から順番に記録されるので、最新のアドレス情報は原則として、アドレス記憶領域42に記録されているアドレス情報のうち一番後ろのものである。すなわちアドレス記憶領域42の先頭からアドレスブロックの大きさである4バイト単位で読み込み、格納されている情報が「FFFFFFFF」ではない最後のアドレスブロックの値を最新のアドレス情報と判断する。
【0030】
例外は、アドレス記憶領域42の先頭領域を含む消去単位ブロックが初期化された場合である。この場合は、アドレス記憶領域42の先頭領域に格納されるアドレス情報が「FF・・・」となる。この場合には読出部13は、アドレス記憶領域42における最終の消去単位ブロックの先頭から検索を開始する。読出部13は、アドレスを特定すると、そのアドレスからデータセットを読み出す。
(【0031】以降は省略されています)

この特許をJ-PlatPatで参照する

関連特許

日立オートモティブシステムズ株式会社
緩衝器
日立オートモティブシステムズ株式会社
制御弁
日立オートモティブシステムズ株式会社
弁装置
日立オートモティブシステムズ株式会社
モータ
日立オートモティブシステムズ株式会社
制御装置
日立オートモティブシステムズ株式会社
印刷方法
日立オートモティブシステムズ株式会社
回転電機
日立オートモティブシステムズ株式会社
演算装置
日立オートモティブシステムズ株式会社
回転電機
日立オートモティブシステムズ株式会社
回転電機
日立オートモティブシステムズ株式会社
制御装置
日立オートモティブシステムズ株式会社
二次電池
日立オートモティブシステムズ株式会社
回路基板
日立オートモティブシステムズ株式会社
制御装置
日立オートモティブシステムズ株式会社
電子装置
日立オートモティブシステムズ株式会社
レーダ装置
日立オートモティブシステムズ株式会社
流量計測計
日立オートモティブシステムズ株式会社
電池パック
日立オートモティブシステムズ株式会社
半導体装置
日立オートモティブシステムズ株式会社
レーダ装置
日立オートモティブシステムズ株式会社
センサ装置
日立オートモティブシステムズ株式会社
熱式流量計
日立オートモティブシステムズ株式会社
燃料噴射弁
日立オートモティブシステムズ株式会社
燃料噴射弁
日立オートモティブシステムズ株式会社
画像処理装置
日立オートモティブシステムズ株式会社
電子制御装置
日立オートモティブシステムズ株式会社
電子制御装置
日立オートモティブシステムズ株式会社
電力変換装置
日立オートモティブシステムズ株式会社
外界認識装置
日立オートモティブシステムズ株式会社
電力変換装置
日立オートモティブシステムズ株式会社
電子制御装置
日立オートモティブシステムズ株式会社
電子制御装置
日立オートモティブシステムズ株式会社
電子制御装置
日立オートモティブシステムズ株式会社
電子制御装置
日立オートモティブシステムズ株式会社
燃料噴射装置
日立オートモティブシステムズ株式会社
電力変換装置
続きを見る