(57)【要約】【課題】バックアップ用メモリとしてフラッシュメモリを使用した場合におけるフラッシュメモリ特有の課題を解決する。【解決手段】揮発性メモリに一時的に記憶したバックアップデータを、所定条件の成立をトリガとしてフラッシュメモリに記憶するバックアップ方法であって、前記フラッシュメモリの記憶領域において常に消去済み領域を確保しておき、前記バックアップデータを記憶する際には前記消去済み領域の先頭アドレスから順番にバックアップデータの書込みを行う。【選択図】図１
2010113580.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリに一時的に記憶したバックアップデータを、所定条件の成立をトリガとしてフラッシュメモリに記憶するバックアップ方法であって、
前記フラッシュメモリの記憶領域において常に消去済み領域を確保しておき、前記バックアップデータを記憶する際には前記消去済み領域の先頭アドレスから順番にバックアップデータの書込みを行うことを特徴とするバックアップ方法。
【請求項２】
前記消去済み領域の総容量を監視し、当該総容量が規定容量以下となった場合に、前記消去済み領域の終了アドレスの次アドレスを先頭アドレスに持つ、消去可能な最小単位であるブロック内のバックアップデータを消去することで消去済み領域を確保することを特徴とする請求項１記載のバックアップ方法。
【請求項３】
消去すべき前記ブロック内に最新のバックアップデータが存在する場合、当該最新のバックアップデータを現存する消去済み領域の先頭アドレスから順番に書き込んだ後に、前記ブロック内のバックアップデータを消去することを特徴とする請求項２記載のバックアップ方法。
【請求項４】
電源投入時の初期化処理において、前記フラッシュメモリに存在する消去済み領域を検索してその先頭アドレス及び終了アドレスを抽出すると共に、前記検索された消去済み領域以外の領域に記憶されている最新のバックアップデータ及びその保存先アドレスを示す最新データ保存先アドレスを前記揮発性メモリに展開し、
通常動作時において、前記揮発性メモリに展開されたバックアップデータを新たに取得したバックアップデータに更新すると共に、前記揮発性メモリのバックアップデータと、前記フラッシュメモリの前記最新データ保存先アドレスに記憶されているバックアップデータとを比較して、両者が不一致であった場合に、前記フラッシュメモリにおける前記消去済み領域の先頭アドレスから順番に前記更新後のバックアップデータの書き込みを行い、その書き込みアドレスに応じて前記最新データ保存先アドレスと前記消去済み領域の先頭アドレスとを更新することを特徴とする請求項１〜３のいずれか一項に記載のバックアップ方法。
【請求項５】
前記フラッシュメモリの記憶領域は１データレコード単位であるセクターに分割されており、当該セクター単位で前記バックアップデータの書き込みを行うことを特徴とする請求項１〜４のいずれか一項に記載のバックアップ方法。
【請求項６】
揮発性メモリと、フラッシュメモリと、前記揮発性メモリに一時的に記憶したバックアップデータを、所定条件の成立をトリガとしてフラッシュメモリに記憶するメモリ制御手段とを備えるバックアップ装置であって、
前記メモリ制御手段は、前記フラッシュメモリの記憶領域において常に消去済み領域を確保しておき、前記バックアップデータを記憶する際には前記消去済み領域の先頭アドレスから順番にバックアップデータの書込みを行うことを特徴とするバックアップ装置。
【請求項７】
前記メモリ制御手段は、前記消去済み領域の総容量を監視し、当該総容量が規定容量以下となった場合に、前記消去済み領域の終了アドレスの次アドレスを先頭アドレスに持つ、消去可能な最小単位であるブロック内のバックアップデータを消去することで消去済み領域を確保することを特徴とする請求項６記載のバックアップ装置。
【請求項８】
前記メモリ制御手段は、消去すべき前記ブロック内に最新のバックアップデータが存在する場合、当該最新のバックアップデータを現存する消去済み領域の先頭アドレスから順番に書き込んだ後に、前記ブロック内のバックアップデータを消去することを特徴とする請求項７記載のバックアップ装置。
【請求項９】
前記メモリ制御手段は、電源投入時の初期化処理において、前記フラッシュメモリに存在する消去済み領域を検索してその先頭アドレス及び終了アドレスを抽出すると共に、前記検索された消去済み領域以外の領域に記憶されている最新のバックアップデータ及びその保存先アドレスを示す最新データ保存先アドレスを前記揮発性メモリに展開し、
通常動作時において、前記揮発性メモリに展開されたバックアップデータを新たに取得したバックアップデータに更新すると共に、前記揮発性メモリのバックアップデータと、前記フラッシュメモリの前記最新データ保存先アドレスに記憶されているバックアップデータとを比較して、両者が不一致であった場合に、前記フラッシュメモリにおける前記消去済み領域の先頭アドレスから順番に前記更新後のバックアップデータの書き込みを行い、その書き込みアドレスに応じて前記最新データ保存先アドレスと前記消去済み領域の先頭アドレスとを更新することを特徴とする請求項６〜８のいずれか一項に記載のバックアップ装置。
【請求項１０】
前記フラッシュメモリの記憶領域は１データレコード単位であるセクターに分割されており、前記メモリ制御手段は、前記セクター単位で前記バックアップデータの書き込みを行うことを特徴とする請求項６〜９のいずれか一項に記載のバックアップ装置。
【請求項１１】
車両状態に関する情報をバックアップデータとしてフラッシュメモリに記憶する請求項６〜１０のいずれか一項に記載のバックアップ装置を備えることを特徴とする車両用電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップ方法及び装置並びに車両用電子制御装置に関する。
【背景技術】
【０００２】
一般的に、車両衝突時に乗員を保護するためのシステムとして、ＳＲＳ(Supplemental Restraint System)エアバッグシステムが知られている。このＳＲＳエアバッグシステムとは、車両の各部に設置された加速度センサから得られる加速度データを基に衝突が発生したことを検知し、エアバッグやシートベルトプリテンショナ等の乗員保護装置を起動するものである。このようなＳＲＳエアバッグシステムを統括制御する電子制御装置（ＥＣＵ：Electronic Control Unit）はＳＲＳユニットと呼ばれ、エンジン制御用ＥＣＵやＡＢＳ(Anti-Brake System)用ＥＣＵ等の他のＥＣＵと独立して設けられていることが多い。
【０００３】
例えば、下記特許文献１には、車両の衝突事故原因を調査するために、衝突時の車両情報（走行速度、加速度、ブレーキ動作情報、アクセル操作情報など）を事故後に分析・解析できるように、ＳＲＳユニット内のＲＡＭ（Random Access Memory）に、走行中に各種センサや他のＥＣＵから得られる車両情報を逐次更新・記憶しておき、車両衝突を検知した時にＲＡＭに記憶されている車両情報を読み出して、不揮発性メモリであるＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）に記憶する技術が開示されている。
【特許文献１】特開２００３−２５２２５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように、従来では、車両情報等の不揮発性データ（バックアップデータ）のバックアップ用メモリとしてＥＥＰＲＯＭが使用されることが多かった。その一方で、近年、バックアップデータとして記録すべき情報量の増大に伴い、より安価で高速書込み可能なフラッシュメモリをＥＥＰＲＯＭの代替メモリとして使用することが求められている。しかしながら、フラッシュメモリの採用に当たっては以下のような課題がある。
【０００５】
図１３は、フラッシュメモリとＥＥＰＲＯＭとの性能比較表である。この図１３に示すように、フラッシュメモリは、ＥＥＰＲＯＭに対して、「byte単価」及び「書込み速度」の点で優っているが、「書込み単位」、「消去速度」、「消去単位」、「リテンション（データ保持年数）」、「書換え回数」の点で劣っている。つまり、フラッシュメモリの採用に当たっては、（１）書換え時間が長い（単純に消去→書込みによって書換え動作を行うと、１byteの書換えのために数百ｍｓｅｃの書換え時間が必要となる）、（２）書換え回数が少ない、という課題を解決する必要がある。
【０００６】
本発明は、上述した事情に鑑みてなされたものであり、バックアップ用メモリとしてフラッシュメモリを使用した場合におけるフラッシュメモリ特有の課題を解決することが可能なバックアップ方法及び装置並びに車両用電子制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、バックアップ方法に係る第１の解決手段として、
揮発性メモリに一時的に記憶したバックアップデータを、所定条件の成立をトリガとしてフラッシュメモリに記憶するバックアップ方法であって、前記フラッシュメモリの記憶領域において常に消去済み領域を確保しておき、前記バックアップデータを記憶する際には前記消去済み領域の先頭アドレスから順番にバックアップデータの書込みを行うことを特徴とする。
【０００８】
また、バックアップ方法に係る第２の解決手段として、上記第１の解決手段において、前記消去済み領域の総容量を監視し、当該総容量が規定容量以下となった場合に、前記消去済み領域の終了アドレスの次アドレスを先頭アドレスに持つ、消去可能な最小単位であるブロック内のバックアップデータを消去することで消去済み領域を確保することを特徴とする。
【０００９】
また、バックアップ方法に係る第３の解決手段として、上記第２の解決手段において、消去すべき前記ブロック内に最新のバックアップデータが存在する場合、当該最新のバックアップデータを現存する消去済み領域の先頭アドレスから順番に書き込んだ後に、前記ブロック内のバックアップデータを消去することを特徴とする。
【００１０】
また、バックアップ方法に係る第４の解決手段として、上記第１〜第３のいずれかの解決手段において、電源投入時の初期化処理において、前記フラッシュメモリに存在する消去済み領域を検索してその先頭アドレス及び終了アドレスを抽出すると共に、前記検索された消去済み領域以外の領域に記憶されている最新のバックアップデータ及びその保存先アドレスを示す最新データ保存先アドレスを前記揮発性メモリに展開し、通常動作時において、前記揮発性メモリに展開されたバックアップデータを新たに取得したバックアップデータに更新すると共に、前記揮発性メモリのバックアップデータと、前記フラッシュメモリの前記最新データ保存先アドレスに記憶されているバックアップデータとを比較して、両者が不一致であった場合に、前記フラッシュメモリにおける前記消去済み領域の先頭アドレスから順番に前記更新後のバックアップデータの書き込みを行い、その書き込みアドレスに応じて前記最新データ保存先アドレスと前記消去済み領域の先頭アドレスとを更新することを特徴とする。
【００１１】
また、バックアップ方法に係る第５の解決手段として、上記第１〜第４のいずれかの解決手段において、前記フラッシュメモリの記憶領域は１データレコード単位であるセクターに分割されており、当該セクター単位で前記バックアップデータの書き込みを行うことを特徴とする。
【００１２】
一方、本発明は、バックアップ装置に係る第１の解決手段として、揮発性メモリと、フラッシュメモリと、前記揮発性メモリに一時的に記憶したバックアップデータを、所定条件の成立をトリガとしてフラッシュメモリに記憶するメモリ制御手段とを備えるバックアップ装置であって、前記メモリ制御手段は、前記フラッシュメモリの記憶領域において常に消去済み領域を確保しておき、前記バックアップデータを記憶する際には前記消去済み領域の先頭アドレスから順番にバックアップデータの書込みを行うことを特徴とする。
【００１３】
また、バックアップ装置に係る第２の解決手段として、上記第１の解決手段において、前記メモリ制御手段は、前記消去済み領域の総容量を監視し、当該総容量が規定容量以下となった場合に、前記消去済み領域の終了アドレスの次アドレスを先頭アドレスに持つ、消去可能な最小単位であるブロック内のバックアップデータを消去することで消去済み領域を確保することを特徴とする。
【００１４】
また、バックアップ装置に係る第３の解決手段として、上記第２の解決手段において、前記メモリ制御手段は、消去すべき前記ブロック内に最新のバックアップデータが存在する場合、当該最新のバックアップデータを現存する消去済み領域の先頭アドレスから順番に書き込んだ後に、前記ブロック内のバックアップデータを消去することを特徴とする。
【００１５】
また、バックアップ装置に係る第４の解決手段として、上記第１〜第３のいずれかの解決手段において、前記メモリ制御手段は、電源投入時の初期化処理において、前記フラッシュメモリに存在する消去済み領域を検索してその先頭アドレス及び終了アドレスを抽出すると共に、前記検索された消去済み領域以外の領域に記憶されている最新のバックアップデータ及びその保存先アドレスを示す最新データ保存先アドレスを前記揮発性メモリに展開し、通常動作時において、前記揮発性メモリに展開されたバックアップデータを新たに取得したバックアップデータに更新すると共に、前記揮発性メモリのバックアップデータと、前記フラッシュメモリの前記最新データ保存先アドレスに記憶されているバックアップデータとを比較して、両者が不一致であった場合に、前記フラッシュメモリにおける前記消去済み領域の先頭アドレスから順番に前記更新後のバックアップデータの書き込みを行い、その書き込みアドレスに応じて前記最新データ保存先アドレスと前記消去済み領域の先頭アドレスとを更新することを特徴とする。
【００１６】
また、バックアップ装置に係る第５の解決手段として、上記第１〜第４のいずれかの解決手段において、前記フラッシュメモリの記憶領域は１データレコード単位であるセクターに分割されており、前記メモリ制御手段は、前記セクター単位で前記バックアップデータの書き込みを行うことを特徴とする。
【００１７】
さらに、本発明は、車両用電子制御装置に係る解決手段として、車両状態に関する情報をバックアップデータとしてフラッシュメモリに記憶する上述のバックアップ装置を備えることを特徴とする。
【発明の効果】
【００１８】
本発明では、単純に消去→書込みによってフラッシュメモリの書換え動作を行うのではなく、常に消去済み領域を確保しておくことにより、つまり時間がかかる消去動作を書込み動作とは別のタイミングで予め行っておくことにより、実際にバックアップデータの更新を行う場合には、高速動作が可能な書込み動作だけを行えば良いため、フラッシュメモリにおけるバックアップデータの書き換え時間を短縮することができる。
【００１９】
また、フラッシュメモリの１セル当たりに規定された書き換え回数は不変であるが、消去済み領域の先頭アドレスから順番に新たなバックアップデータの書込みを行うことにより、１セル当たりのウェアレベルを削減することができ、その結果、フラッシュメモリの実質的な書き換え回数の上限を延ばすことができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して、本発明の一実施形態について説明する。
図１は、本実施形態に係るバックアップ装置を備える車両用電子制御装置の構成概略図である。なお、本実施形態に係る車両用電子制御装置として、車両衝突時に乗員を保護するためのＳＲＳエアバッグシステムを統括制御するＳＲＳユニットを例示して説明する。
【００２１】
図１に示すように、本実施形態に係るＳＲＳユニット１は、電源回路１ａ、ユニットセンサ１ｂ、通信Ｉ／Ｆ１ｃ、ＣＰＵ(Central Processing Unit)１ｄ、点火回路１ｅ、ＲＯＭ(Read Only Memory)１ｆ、ＲＡＭ(Random Access Memory)１ｇ、フラッシュメモリ１ｈから構成されている。上記のＣＰＵ１ｄはメモリ制御手段に相当し、ＲＡＭ１ｇは揮発性メモリに相当する。つまり、上記の構成要素の内、ＣＰＵ１ｄ、ＲＡＭ１ｇ及びフラッシュメモリ１ｈによってバックアップ装置が構成されている。
【００２２】
電源回路１ａは、イグニションスイッチ２を介してバッテリ等の外部電源３と接続されており、イグニションスイッチ２がオン状態に切り替わった場合に、外部電源３から電源電圧の供給を受け、この電源電圧を所定の内部電源電圧に変換して、ユニットセンサ１ｂ、通信Ｉ／Ｆ１ｃ、ＣＰＵ１ｄ、点火回路１ｅ、ＲＯＭ１ｆ、ＲＡＭ１ｇ及びフラッシュメモリ１ｈに供給する。また、この電源回路１ａには、車両衝突時に外部電源３からの電源供給が遮断した場合でもＳＲＳユニット１が動作できるように、バックアップ用電源（例えばバックアップコンデンサ）が設けられている。
【００２３】
ユニットセンサ１ｂは、車両の長さ方向または幅方向（若しくはそれら両方向）に作用する加速度を検出する加速度センサであり、その検出した加速度に応じた加速度データをＣＰＵ１ｄに出力する。通信Ｉ／Ｆ１ｃは、外部に設置されているエンジン制御用ＥＣＵ４、ＡＢＳ用ＥＣＵ５、サテライトセンサ６及び車速センサ７とＣＰＵ１ｄとの間のデータ通信を中継するインタフェース回路である。
【００２４】
ここで、エンジン制御用ＥＣＵ４は、エンジン制御を主とする電子制御装置であり、エンジン状態に関する情報（エンジンデータ）を通信Ｉ／Ｆ１ｃを介してＣＰＵ１ｄに送信する。ＡＢＳ用ＥＣＵ５は、アンチ・ブレーキシステムを統括制御する電子制御装置であり、ブレーキ動作に関する情報（ブレーキングデータ）を通信Ｉ／Ｆ１ｃを介してＣＰＵ１ｄに送信する。サテライトセンサ６は、車両の所定箇所（例えばフロント部や両サイド）に設置された加速度センサであり、それぞれの設置位置に作用する加速度を検出し、その検出結果に応じた加速度データを通信Ｉ／Ｆ１ｃを介してＣＰＵ１ｄに送信する。車速センサ７は、車両の走行速度を検出し、その検出結果に応じた車速データを通信Ｉ／Ｆ１ｃを介してＣＰＵ１ｄに送信する。
【００２５】
ＣＰＵ１ｄは、ＲＯＭ１ｆに記憶されている制御プログラムに従って動作し、ユニットセンサ１ｂから得られる加速度データと、通信Ｉ／Ｆ１ｃを介してサテライトセンサ６から得られる加速度データとを基に車両衝突が発生したか否かを判定し、その判定結果に応じて点火回路１ｅを制御することにより、乗員保護装置であるエアバッグ８の起動（展開）制御を行う。なお、上記のような加速度データに基づく衝突判定手法としては、従来と同様の手法を採用できるため、本実施形態では説明を省略する。
【００２６】
また、このＣＰＵ１ｄは、イグニションスイッチ２のオン回数（起動回数）をカウントする機能や故障診断機能を有し、これらの機能によって得られるイグニション・オン回数や故障診断履歴、さらに衝突判定履歴、エアバッグ８の起動履歴、エンジンデータ、ブレーキングデータ、車速データ等をバックアップデータとしてＲＡＭ１ｇに一時的に記憶し、そのバックアップデータを所定条件の成立をトリガとしてフラッシュメモリ１ｈに記憶するバックアップ機能を有している。なお、このようにＣＰＵ１ｄが有するバックアップ機能の詳細については後述する。
【００２７】
点火回路１ｅは、ＣＰＵ１ｄによる制御の下、エアバッグ８のインフレータ内部のスクイブに電流を流して点火することにより、エアバッグ８を展開する。このエアバッグ８としては、運転席及び助手席エアバッグやサイドエアバッグ、カーテンエアバッグ等が挙げられる。なお、車両衝突時に起動する乗員保護装置としてエアバッグ８だけでなく、シートベルトプリテンショナ等を加えても良い。
【００２８】
ＲＯＭ１ｆは、ＣＰＵ１ｄで実行される制御プログラムやエアバッグ８の起動制御に必要な不揮発性データ等を予め記憶している読出し専用の不揮発メモリである。ＲＡＭ１ｇは、上述したバックアップデータやＣＰＵ１ｄが各種処理を実行する上で必要な揮発性データを一時的に記憶するために使用される書換え可能な揮発性メモリである。フラッシュメモリ１ｈは、ＲＡＭ１ｇに一時的に記憶されたバックアップデータを、所定条件成立後に記憶するためにバックアップ用メモリとして使用される書換え可能な不揮発性メモリである。
【００２９】
図２に示すように、本実施形態では、フラッシュメモリ１ｈの全容量を６４kbyteと想定する。また、フラッシュメモリ１ｈの記憶領域は１データレコード単位であるセクターに分割されており、バックアップデータの書き込みはセクター単位で行われる。本実施形態では、１セクター当たりの容量を１６byteと想定しているため、フラッシュメモリ１ｈの記憶領域は４０００個のセクター（セクター「０」〜「３９９９」）に分割される。
【００３０】
１６byteのセクター容量の内、１５byteは実データ領域（バックアップデータの記憶領域）に割り当てられ、残り１byteは管理データ領域（実データ領域に記憶されているバックアップデータの種別を表す管理データの記憶領域）に割り当てられている。例えば、あるセクターにバックアップデータとして車速データを記憶する場合、実データ領域には車速データそのものが記憶され、管理データ領域には実データ領域に車速データが記憶されていることを指し示す管理データが記憶される。なお、記憶したいバックアップデータが１セクター内に収まりきらない場合には、複数のセクターがそのバックアップデータの記憶用に割り当てられることになる。
【００３１】
また、本実施形態のフラッシュメモリ１ｈにおいて、記憶されているバックアップデータの消去は、消去可能な最小単位であるブロック毎に行われる。本実施形態では、この消去可能な最小単位であるブロックの容量を１６kbyteと想定しているため、フラッシュメモリ１ｈの記憶領域は４つのブロック（ブロック「１」〜「４」）で区分され、１ブロックにつき、１０００個のセクターデータが一括して消去されることになる。
なお、本実施形態では、セクター「０」のアドレスが最も小さいアドレスであり、セクター「３９９９」のアドレスが最も大きいアドレスであるとし、セクター「０」のアドレスを全記憶領域の先頭アドレス、セクター「３９９９」のアドレスを全記憶領域の終了アドレスと想定する。
【００３２】
次に、上記のように構成された本実施形態に係るＳＲＳユニット１の動作について説明する。なお、本実施形態に係るＳＲＳユニット１におけるエアバッグ８の起動制御に関する動作は従来と同様であるため説明を省略し、以下ではバックアップデータのバックアップに関する動作について詳細に説明する。
【００３３】
図３は、電源投入時（イグニションスイッチ２のオン時）において、ＣＰＵ１ｄが実行する初期化処理を表すフローチャートである。この図３に示すように、ＣＰＵ１ｄは、初期化処理において、まず、フラッシュメモリ１ｈのブランクチェック処理を行う（ステップＳ１）。ここで、ブランクチェック処理とは、フラッシュメモリ１ｈの記憶領域の先頭アドレスから終了アドレスまでの全セクターを走査することにより、フラッシュメモリ１ｈに存在する消去済み領域を検索してその先頭アドレス及び終了アドレスを抽出することを指す。
【００３４】
例えば、図４に示すように、ブロック「１」の全セクターと、ブロック「３」のセクター「２００２」〜「２９９９」と、ブロック「４」の全セクターとを含む領域が消去済み領域である場合、セクター「２００２」のアドレスが消去済み領域の先頭アドレスとなり、セクター「９９９」のアドレスが消去済み領域の終了アドレスとなる。この理由は、後述するように本実施形態では、消去済み領域の先頭アドレス（小さい側のアドレス）から順番にバックアップデータの書込みを行い（セクター「３９９９」まで書き込みが終了したらセクター「０」に戻る）、また、バックアップデータを消去する場合（消去済み領域を確保する場合）には、現在の消去済み領域の終了アドレスの次アドレスを先頭アドレスに持つブロックからブロック単位で消去していくためである。
【００３５】
そのため、図５（ａ）に示すように、１ブロックの小さい側のアドレスのセクターのみが消去済みである状態や、図５（ｂ）に示すように、消去済み領域が連続した１つの領域ではない状態などは、フラッシュメモリ１ｈに対する制御上発生し得ない。よって、ブランクチェック中にあるブロックの先頭アドレスのセクターが消去済みであれば、そのブロック全体は消去済みであるはずなので、そのブロック全体をブランクチェックし、消去済みではないセクターが存在する場合には、故障を報知するための信号を出力する機能をＣＰＵ１ｄに持たせることが望ましい。また、図５（ｂ）に示すような、消去済み領域が連続した１つの領域ではない場合にも、同様に故障を報知するための信号を出力する機能をＣＰＵ１ｄに持たせることが望ましい。
【００３６】
図３に戻って説明を続けると、ＣＰＵ１ｄは、上記のようなブランクチェック処理が完了すると、次にデータマウント処理を行う（ステップＳ２）。ここで、データマウント処理とは、ブランクチェック処理にて検索した消去済み領域以外の領域（つまりバックアップデータが存在する領域）に記憶されている最新のバックアップデータ及びその保存先アドレスを示す最新データ保存先アドレスを読み出して、ＲＡＭ１ｇの共有記憶領域にテーブル上に展開することを指す。
【００３７】
具体的には、例えば、図６に示すように、フラッシュメモリ１ｈの消去済み領域以外の領域にセクター「１０００」〜「２００１」が含まれている場合、これらセクター「１０００」〜「２００１」の各々の管理データを基に同一種別のバックアップデータを検索し（例えば車速データに属するバックアップデータのみを検索する）、それら同一種別のバックアップデータから最新のバックアップデータを抽出する。バックアップデータは小さい側のアドレスから順番に書込まれているため、同一種別のバックアップデータの内、最も大きなアドレスのセクターに記憶されているものが最新のバックアップデータである。
【００３８】
そして、その抽出した最新のバックアップデータ（例えば最新の車速データ）と、その保存先アドレス（最新データ保存先アドレス）とを管理データと対応付けてＲＡＭ１ｇの共有記憶領域にテーブル上に展開する。同様に、他の種別のバックアップデータ（例えば、イグニション・オン回数や故障診断履歴等）についても、セクター「１０００」〜「２００１」からそれぞれの最新のバックアップデータとその最新データ保存先アドレスを抽出し、管理データと対応付けてＲＡＭ１ｇの共有記憶領域にテーブル上に展開する。
なお、ブランクチェック処理によって得られる消去済み領域の先頭アドレス及び終了アドレスもＲＡＭ１ｇに記憶しておく。
【００３９】
図３に戻って説明を続けると、ＣＰＵ１ｄは、上記のようなデータマウント処理が完了すると、次にロック解除処理を行う（ステップＳ３）。このロック解除処理とは、フラッシュメモリ１ｈに書込みを禁止するロック機構が設けられている場合に、そのロック機構を解除するために行われるものである。なお、フラッシュメモリ１ｈにロック機構が設けられていない場合には、このステップＳ３の処理を省略しても良い。
【００４０】
以上説明した電源投入時の初期化処理によって、図６に示したように、ＲＡＭ１ｇの共有記憶領域には、フラッシュメモリ１ｈに記憶されている最新のバックアップデータと、その最新データ保存先アドレスとが管理データと対応付けられてテーブル上に展開（記憶）されることになる。また、消去済み領域の先頭アドレス及び終了アドレスもＲＡＭ１ｇに記憶されることになる。
【００４１】
続いて、図７のフローチャートを参照して、通常動作時においてＣＰＵ１ｄが実行するバックアップ処理について説明する。なお、このバックアップ処理は、所定周期で繰り返し実行されるものである。また、ＣＰＵ１ｄは、通常動作時において、このバックアップ処理と並行して、初期化処理によってＲＡＭ１ｇの共有記憶領域に展開されたバックアップデータを、新たに取得したバックアップデータに更新する処理を所定周期で行っている。つまり、通常動作時において、ＲＡＭ１ｇの共有記憶領域に展開されたバックアップデータは、逐次、新たなバックアップデータに更新されている。これを前提として、以下、バックアップ処理について説明する。
【００４２】
図７に示すように、ＣＰＵ１ｄは、バックアップ処理において、まず、フラッシュメモリ１ｈに対するデータライト処理を行う（ステップＳ１０）。ここで、データライト処理とは、ＲＡＭ１ｇの共有記憶領域に記憶されているバックアップデータと、フラッシュメモリ１ｈの最新データ保存先アドレスに記憶されているバックアップデータとを比較して、両者が不一致であった場合に（所定条件が成立した場合に）、ＲＡＭ１ｇの共有記憶領域からバックアップデータを読み出して、フラッシュメモリ１ｈにおける消去済み領域の先頭アドレスから順番に書込みを行うことを指す。
【００４３】
具体的には、例えば、図８に示すように、ＲＡＭ１ｇの共有記憶領域に記憶されているバックアップデータの内、車速データの最新データ保存先アドレスがセクター「１００２」のアドレスを示すものであった場合を想定すると、ＣＰＵ１ｄは、ＲＡＭ１ｇの共有記憶領域に記憶されている車速データと、フラッシュメモリ１ｈのセクター「１００２」に記憶されている車速データとを比較する。
【００４４】
そして、ＣＰＵ１ｄは、両者が不一致の場合、図９に示すように、ＲＡＭ１ｇの共有記憶領域から車速データを読み出して、現在の消去済み領域の先頭アドレス（セクター「２００２」のアドレス）への書込みを行うと共に、ＲＡＭ１ｇ上の車速データに関する最新データ保存先アドレスをセクター「２００２」のアドレスに更新し、また、消去済み領域の先頭アドレスをセクター「２００３」のアドレスに更新する。
【００４５】
上記のようなデータライト処理が、各種別のバックアップデータ毎に行われることにより、消去済み領域の先頭アドレスから順番に新たなバックアップデータが書込まれ、その書込みアドレスに応じて、ＲＡＭ１ｇ上の最新データ保存先アドレスと、消去済み領域の先頭アドレスとが逐次更新される。つまり、ＲＡＭ１ｇ上の最新データ保存先アドレスは、常に、その種別の最新バックアップデータの保存先を指し示し、ＲＡＭ１ｇ上の消去済み領域の先頭アドレスは、常に、フラッシュメモリ１ｈに存在する消去済み領域の最新の先頭アドレスを指し示すことになる。
【００４６】
図７に戻って説明を続けると、ＣＰＵ１ｄは、上記のようなデータライト処理が完了すると、フラッシュメモリ１ｈへの書込みが発生したか否かを判断し（ステップＳ１１）、「Ｙｅｓ」の場合はバックアップ処理を終了する一方、「Ｎｏ」の場合はガベージコレクション処理を行う（ステップＳ１２）。ここで、ガベージコレクション処理とは、フラッシュメモリ１ｈに存在する消去済み領域の総容量を監視し、当該総容量が規定容量以下となった場合に、消去済み領域の終了アドレスの次アドレスを先頭アドレスに持つブロック内のバックアップデータを消去することで常に一定容量の消去済み領域を確保することを指す。
【００４７】
例えば、消去済み領域の総容量が２ブロック分の容量以下になった場合に、ブロック消去を行うと規定されている場合を想定すると、図１０に示すように、ブロック「１」とブロック「４」とが消去済み領域として存在する場合、ブロック「２」を消去対象ブロックとしてバックアップデータの消去を行う。なお、現存する消去済み領域の総容量は、ＲＡＭ１ｇ上に記憶されている消去済み領域の先頭アドレス及び終了アドレスを用いて算出することができる。
【００４８】
ここで、消去対象ブロックであるブロック「２」に、有効データ、つまり最新のバックアップデータが存在する場合、当該最新のバックアップデータを現存する消去済み領域の先頭アドレスから順番に書込んだ後に、ブロック「２」内のバックアップデータを消去する。具体的には、例えば、図１１に示すように、消去対象ブロック「２」のセクター「１９９８」とセクター「１９９９」に最新のバックアップデータが存在すると想定すると、セクター「１９９８」のバックアップデータを、消去済み領域の先頭アドレスのセクター「３０００」に書込み、セクター「１９９９」のバックアップデータを、消去済み領域の先頭アドレスの次アドレスのセクター「３００１」に書込む。
【００４９】
そして、上記のようなバックアップデータの退避が完了すると、図１２に示すように、消去対象ブロック「２」のバックアップデータを消去すると共に、ＲＡＭ１ｇ上に記憶されている消去済み領域の先頭アドレス及び終了アドレスを更新する。つまり、新たな消去済み領域の先頭アドレスは、セクター「３００２」のアドレスとなり、新たな消去済み領域の終了アドレスは、セクター「１９９９」のアドレスとなる。
【００５０】
以上説明したバックアップ処理が所定周期で繰り返されることにより、フラッシュメモリ１ｈの記憶領域において常に一定容量（少なくとも２ブロック分の容量）の消去済み領域が確保されつつ、その消去済み領域の先頭アドレスから順番に新たなバックアップデータの書込みが行われることになる。
【００５１】
すなわち、本実施形態では、単純に消去→書込みによってフラッシュメモリ１ｈの書換え動作を行うのではなく、バックアップデータの更新（書き換え）を行わない期間に長い処理時間が必要な消去動作のみを行って、常に一定容量の消去済み領域を確保しておくことにより、実際にバックアップデータの更新を行う場合には、高速動作が可能な書込み動作だけを行えば良いため、フラッシュメモリ１ｈにおけるバックアップデータの書き換え時間を短縮することができる。
【００５２】
また、フラッシュメモリ１ｈの１セル当たりに規定された書き換え回数は不変であるが、消去済み領域の先頭アドレスから順番に新たなバックアップデータの書込みを行うことにより、１セル当たりのウェアレベルを削減することができ、その結果、フラッシュメモリ１ｈの実質的な書き換え回数の上限を延ばすことができる。例えば、バックアップデータの総容量を２kbyteと想定すると、１６kbyteの１ブロック当たり、規定書き換え回数×８回の書き換え回数を保証でき、４ブロック全体では、規定書き換え回数×３２回の書き換え回数を保証できるようになる。
【００５３】
以上のように、本実施形態によれば、バックアップ用メモリとしてフラッシュメモリを使用した場合におけるフラッシュメモリ特有の課題（書き換え時間が長い、書き換え回数が少ない）を解決することが可能となる。
【００５４】
なお、上記実施形態では、ＣＰＵ１ｄ、ＲＡＭ１ｇ及びフラッシュメモリ１ｈによって構成されるバックアップ装置を備えた車両用電子制御装置として、ＳＲＳエアバッグシステムを統括制御するＳＲＳユニット１を例示して説明したが、この他、バックアップ機能が必要な車両用電子制御装置（例えばエンジン制御用ＥＣＵ４など）であれば、本実施形態におけるバックアップ装置を適用することができる。また、車両用電子制御装置に限らず、バックアップ機能が必要な電子機器であれば、本実施形態におけるバックアップ装置を適用することができる。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施形態におけるバックアップ装置を備える車両用電子制御装置（ＳＲＳユニット１）の構成概略図である。
【図２】フラッシュメモリ１ｈの記憶領域に関する説明図である。
【図３】ＳＲＳユニット１のＣＰＵ１ｄの電源投入時における初期化処理を表すフローチャートである。
【図４】初期化処理おけるブランクチェック処理に関する第１説明図である。
【図５】初期化処理おけるブランクチェック処理に関する第２説明図である。
【図６】初期化処理おけるデータマウント処理に関する説明図である。
【図７】ＳＲＳユニット１のＣＰＵ１ｄの通常動作時におけるバックアップ処理を表すフローチャートである。
【図８】バックアップ処理おけるデータライト処理に関する第１説明図である。
【図９】バックアップ処理おけるデータライト処理に関する第２説明図である。
【図１０】バックアップ処理おけるガベージコレクション処理に関する第１説明図である。
【図１１】バックアップ処理おけるガベージコレクション処理に関する第２説明図である。
【図１２】バックアップ処理おけるガベージコレクション処理に関する第３説明図である。
【図１３】フラッシュメモリとＥＥＰＲＯＭとの性能比較表である。
【符号の説明】
【００５６】
１…ＳＲＳユニット、１ａ…電源回路、１ｂ…ユニットセンサ、１ｃ…通信Ｉ／Ｆ、１ｄ…ＣＰＵ(Central Processing Unit)、１ｅ…点火回路、１ｆ…ＲＯＭ(Read Only Memory)、１ｇ…ＲＡＭ(Random Access Memory)、１ｈ…フラッシュメモリ、２…イグニションスイッチ、３…外部電源、４…エンジン制御用ＥＣＵ、５…ＡＢＳ用ＥＣＵ、６…サテライトセンサ、７…車速センサ、８…エアバッグ
【図１】
2010113580.tif 000003
【図２】
2010113580.tif 000004
【図３】
2010113580.tif 000005
【図４】
2010113580.tif 000006
【図５】
2010113580.tif 000007
【図６】
2010113580.tif 000008
【図７】
2010113580.tif 000009
【図８】
2010113580.tif 000010
【図９】
2010113580.tif 000011
【図１０】
2010113580.tif 000012
【図１１】
2010113580.tif 000013
【図１２】
2010113580.tif 000014
【図１３】
2010113580.tif 000015