JP5638892B2 - 情報記録装置 - Google Patents

情報記録装置 Download PDF

Info

Publication number
JP5638892B2
JP5638892B2 JP2010209027A JP2010209027A JP5638892B2 JP 5638892 B2 JP5638892 B2 JP 5638892B2 JP 2010209027 A JP2010209027 A JP 2010209027A JP 2010209027 A JP2010209027 A JP 2010209027A JP 5638892 B2 JP5638892 B2 JP 5638892B2
Authority
JP
Japan
Prior art keywords
data
recording
information
file
recording medium
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
JP2010209027A
Other languages
English (en)
Other versions
JP2012064093A (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 Ten Ltd
Original Assignee
Denso Ten 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 Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2010209027A priority Critical patent/JP5638892B2/ja
Publication of JP2012064093A publication Critical patent/JP2012064093A/ja
Application granted granted Critical
Publication of JP5638892B2 publication Critical patent/JP5638892B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、取得した情報を記憶媒体上のデータファイルに記録する情報記録装置,に関する。
フラッシュメモリ等の不揮発性メモリの規格は、さまざまな装置で利用可能なように、ファイルシステムとしてFAT(File Allocation Table)を用いられるのが一般である
そのため、不揮発正メモリの記憶領域は、初期化により、予約領域,FAT領域,ルートディレクトリエントリ及びデータ領域に区切られ、データ領域内にデータファイルが格納されると、各データファイルの属性等やファイル構造を定義するファイル管理情報が、FAT領域及びルートディレクトリエントリに記憶される。従って、データ領域中のデータファイルが更新される都度、FAT領域及びルートディレクトリエントリという限られた領域がアクセス(更新)されるので、データファイルが高頻度で更新される用途に用いられる場合には、FAT領域及びルートディレクトリエントリが比較的短時間で寿命(書込回数上限)に達してしまう。
例えば、フラッシュメモリでは、書込回数上限は約10万回であるので、1秒間に1回の頻度でデータファイルの更新がなされる用途(例えば、データロガーといった情報記録装置)にあっては、27.8時間足らずで、FAT領域及びルートディレクトリエントリが寿命(書込回数上限)に達してしまうことになる。
そこで、不揮発性メモリの汎用性を多少犠牲にして、ファイル管理情報を、不揮発性メモリ上のFAT領域及びルートディレクトリ領域にエントリするのではなく、当該不揮発性メモリを外部記憶装置として用いるマイクロコンピュータの内部RAMに置くことが考えられる。
図23は、かかる考えに基づく不揮発性メモリへの情報記録装置のブロック図であるが、この情報記録装置では、マイクロコンピュータの内部RAMに記憶したファイル管理情報を保持するために、補助電源を追加的に設ける構成となっている。
特開2000−076148号公報 国際公開第08/018258号 特開2006−252535号公報
記録媒体における集中して書込みが行われるファイル管理情報を記録する領域の書込み回数を減らすために、ファイル管理情報を不揮発性メモリ上に置くのではなく、記録媒体への書き込み処理を行う記録装置の内部RAMに置く場合には、例えば、電源電圧低下やRAM異常、不意に不揮発性メモリが記録装置から取り外されてしまう、といった異常状態が発生してしまった場合には、RAM上のファイル管理情報と不揮発性メモリ上のファイル管理情報とが異なる状態となり、不揮発性メモリ上のファイル管理情報ではデータが読出せなくなってしまう、という問題が発生してしまう可能性がある。
そこで、本発明は、記録媒体におけるファイル管理情報を記録する領域の書込み回数を減らすとともに、例えば、電源電圧低下やRAM異常、不意に記録媒体が記録装置から取り外されてしまう、といった異常状態が発生してしまった場合でも、記録媒体のデータを読出し可能にすることを、課題とする。
本案による情報記録装置の第1の態様は、外部装置から読出し可能なファイル管理基準に基づいて、記録媒体への記録対象データの記録を行う情報記録装置であって、前記ファイル管理基準に基づくファイル管理のための設定情報を記憶した記憶部と、前記記録対象データの記録媒体への書込みを行う制御部を備え、前記記録媒体における設定情報の記録領域には、前記制御部による前記記録対象データの記録媒体への書込みが行われる以前に、前記記憶部に記憶された前記設定情報と同一の内容が書込まれており、前記制御部は、前記記録対象データの記録媒体への書込みを行う場合に、前記記録媒体における設定情報の更新を少なくとも毎回行わず、前記記録領部に記憶された設定情報に従って、前記記録媒体のデータ情報の記録領域に前記記録対象データの書込みを行うことを特徴とする。
また、本案による情報記録装置の第2の態様は、外部装置から読出し可能なファイル管理基準に基づいて、記録媒体への記録対象データの記録を行う情報記録装置であって、前記ファイル管理基準に基づくファイル管理のための設定情報を記憶した記憶部と、前記記録対象データの記録媒体への書込みを行う制御部を備え、前記記録媒体における設定情報の記録領域には、前記制御部による前記記録対象データの記録媒体への書込みが行われる以前に、前記記憶部に記憶された前記設定情報と同一の内容が書込まれており、前記制御部は、前記記録対象データの記録媒体への書込みを行う場合に、前記記録媒体に記憶された設定情報に異常がなければ、前記記録媒体における設定情報の更新を行わず、前記記憶部に記憶された設定情報に従って、前記記録媒体のデータ情報の記録領域に前記記録対象データの書込みを行うことを特徴とする。
以上のように構成された本案によると、記録媒体における設定情報を記録する領域の書込み回数を減らすことができるとともに、異常状態が発生してしまった場合でも、外部装置から記録媒体のデータを読み出すことが可能になる。
データ記憶装置を含む車載ネットワークシステムの概略構成を示すブロック 図 メモリカードのフォーマット図 FAT領域のデータ構成例を示す図 ルートディレクトリ領域のデータ構成例を示す図 データ領域のデータ構成例を示す図 設定ファイルの内容を示す図 データ記憶装置のマイクロコンピュータがプログラムを実行することによって実現される各機能及びRAM及びメモリカード上の各種情報を示すソフトウェア構成図 各プログラムによるデータ処理の流れを示すデータフロー図 CANデータのフォーマット図 車両情報を格納したCANデータレコードのフォーマット図 CAN通信制御部が実行する処理を示すフローチャート 記録データ生成部が実行する処理を示すフローチャート レコード蓄積用バッファからSD書込みバッファへのデータ転送時においてメモリマネージャが実行する処理を示すフローチャート SD書込みバッファに格納されたデータのメモリカード17への書込時においてメモリマネージャが実行する処理を示すフローチャート 図14のS008にて実行される書込要求処理サブルーチンを示すフローチャート 設定ファイル読込み処理サブルーチンを示すフローチャート 電源ON時においてメモリマネージャが実行する処理を示すフローチャート イグニッションON時にメモリマネージャが実行する処理を示すフローチャート RAM化けを監視するためにメモリマネージャが定期的に実行する処理を示すフローチャート イグニッションOFF時にメモリマネージャが実行する処理を示すフローチャート データファイルへのデータ書込中に異常が発生したことを示すデータ領域の論理マップ データファイルへのデータ書込中に異常が発生した場合におけるデータ領域の状態の遷移を示す論理マップ 従来の不揮発性メモリへの情報記録装置の概略構成を示すブロック図
以下、図面に基づいて、この発明を実施した形態を例示的に説明する。以下に示す実施形態は例示であり、本発明はこれらに限定されるものではない。
図1は、本実施形態によるデータ記憶装置(情報記憶装置に相当)を含む車載ネットワークシステムの概略構成を示すブロック図である。図1に示すように、車両の各電子部品(アクチュエータ,メータ等)を夫々制御するための各種ECU(Electric Control Unit)2や、車両の状態を検出するための各種センサ3は、車載ネットワークの一種である
CAN(Controller Area Network)によって相互に通信可能に接続されている。ここに
、各種ECU2には、エンジン制御ECU,ABS(Antilock Brake System)ECU,
等が含まれる。また、各種センサには、加速度センサ,排気温センサ,O2センサ,各種
スイッチやペダル類が、含まれる。これら各種ECU2及び各種センサ3は、夫々、他のECU2宛のデータを所定フォーマットのフレーム(図9)に格納して、CANへ送出する。このようにしてCANへ送出されたフレーム(以下、「CANデータ」という)は、これを必要とするECU2によって取り込まれて、当該ECU2による電子部品の制御に用いられる。データ記憶装置1は、このようにしてCAN上を流通しているCANデータのうち、車両情報(制御情報及び状態情報)を含むものを傍受して、後日における故障検査や要因解析に備えて外部のメモリカード17に記憶するためのECUであるので、他のECU2と同様にCANに接続されている。ここで、CANは車載ネットワークの一種であるが、ECU間を如何なる車載ネットワークを通じて接続するかは、必要とされるデータ帯域やコストに依る。従って、他の種類の車載ネットワーク(例えば、LIN[Local Interconnect Network],FlexRay[ダイムラー社の登録商標])に接続されているECUが存在する場合には、データ記憶装置1は、当該他の種類の車載ネットワークにも、接続されることが望ましい。
データ記憶装置1は、CANとのインタフェースをなすCANトランシーバ16,CANデータに対する処理を実行するマイクロコンピュータ14及び当該マイクロコンピュータ14に接続された外部メモリスロットとしてのメモリカードスロット15の他、電源(バッテリー)4からの12Vの電源電圧を減圧してマイクロコンピュータに5Vの電源電圧を供給するとともにメモリカードスロット15に3.3Vの電源電圧を供給する電源回路12を内蔵している。
CANトランシーバ16は、CANの物理層を終端する装置であり、CAN上で2線式作動電圧方式で変調されているCANデータを、H/Lの二値信号に変換して、マイクロコンピュータ14に伝達する。
マイクロコンピュータ14は、ハードウェア構成として、プログラムを実行する図示せぬプロセッサの他、RAM21,ROM22,電圧電源監視部24及び入力情報監視部23を、有している。
このうち、入力情報監視部23は、イグニッションスイッチ5から他のECUに入力されるイグニッション信号の状態(ON/OFF)を監視し、検査結果をプロセッサに入力する。また、電源電圧監視部24は、プロセッサがウェイクアップ状態にある間に電源(バッテリー)4の電圧を監視し、監視結果をプロセッサに入力する。これら各機能は、プログラムを実行することによってプロセッサが実現する機能である。
なお、データ記録装置1は、イグニッションスイッチやアクセサリスイッチを介さずに直接バッテリに接続されているので、イグニッションスイッチがOFFの間も電源が供給されている。これは、主として、RAM21のデータを保持するためである。そして、イグニッションスイッチがONである間のみRAM21へのデータの記録処理が行われ、イグニッションスイッチがOFFである間はスタンバイ状態(省電力モード)となる。但し、イグニッションスイッチがOFFである間もRAM21へのデータ記録がなされるように、改変されても良い。
ROM22は、プロセッサが読み出して実行する各種プログラム(図7)を格納しているとともに、FAT(File Allocation Table)ファイルシステムにおける各領域(予約
領域,FAT領域,ルートディレクトリ領域,データ領域)の定義の他、FAT領域及びルートディレクトリ領域に夫々記述すべき具体的内容を、固定的に有している。
RAM21(揮発性メモリに相当)は、プロセッサが上記各種プログラムに従った処理を実行することによって各種バッファを構築し、また、後述する設定ファイル情報45や設定ファイル番号43等のデータを一時記憶する作業領域である。
メモリカード17(不揮発性メモリに相当)は、書込回数に上限があるフラッシュメモリ等の不揮発性記憶素子から記憶領域が構成されるカード型のリムーバブル記憶メディアである。このような性質のメモリカードの規格は各種存在している。その一例として、SDメモリーカード(パナソニック株式会社、サンディスク社、株式会社東芝の商標)が挙げられる。もっとも、メモリカードスロット15に代えてUSBインタフェースが設けられるならば、メモリカード17に代えてUSBフラッシュメモリを用いることも可能である。
かかるメモリカード17のファイルフォーマットとしては、通常、FATが用いられる。図2に示すように、FATに従った記憶媒体の記憶領域は、初期化により、予約領域,FAT領域,ルートディレクトリ領域及びデータ領域に、区分される。このうち、予約領域は、ブートパラメータブロック,ディスクラベル,ブートコード等が格納される領域である。
また、FAT領域は、データ領域の位置を示すポインタの集合体である。即ち、FATにおいては、データ領域は、ブロック(クラスタ)を単位として各ファイルに割り当てられる。そこで、図3に示すように、FAT領域では、データ領域を構成する各ブロック(クラスタ)毎に、同一のファイルに割り当てられた後続のブロック(クラスタ)のブロッ
ク番号又は終了を示すマーク,若しくは、空きであることを示すマークが、記述されているのである。
また、ルートディレクトリ領域は、図4に示すように、データ領域に格納されている各ファイル毎に、先頭ブロック(クラスタ)のブロック番号(初期データ領域),ファイル名,データサイズ,等の属性情報が、記述される領域である。
以上のことから明らかなように、FAT領域に記載された情報及びルートディレクトリ領域に記載された情報の総体がファイル管理情報であり、メモリカード17にアクセスしたコンピュータ14は、これらの領域の記述を見ることにより、各ファイルに割り当てられたデータ領域中の一ないし複数のブロック(クラスタ)の位置を認識し、これらブロック(クラスタ)に格納されたデータを、一まとまりのファイルデータとして読み出すのである。例えば、図3及び図4の例においては、ブロック番号1,2の二つのブロック(クラスタ)が、ファイル名(ini1.***)を有する設定ファイル46(図7参照)に割り当てられており、ブロック番号2,4の二つのブロック(クラスタ)が、ファイル名(ini2.***)を有する設定ファイル46(図7参照)に割り当てられており、ブロック番号5,6,7,8の四つのブロック(クラスタ)が、ファイル名(data1.***)を有するデータフ
ァイルに割り当てられており、ブロック番号9,10,11,12の四つのブロック(クラスタ)が、ファイル名(data2.***)を有するデータファイルに割り当てられており、
ブロック番号21,22,23,24の四つのブロック(クラスタ)が、ファイル名(datan.***)を有するデータファイルに割り当てられていることが判る。なお、図4の例で
は、データサイズの値はブロック(クラスタ)の数を示しているが、記憶装置の最小記憶単位であるセクタは通常512バイト/セクタであるので、1ブロック(クラスタ)が1セクタからなる場合には、データサイズが2である各設定ファイル46(ini1.***,ini2.***)のバイト数は1024バイトであり、データサイズが4である各データファイル(data1.***,data2.***,…datan.***)のバイト数は2048バイトである。
本実施形態においては、上述したように、FAT領域及びルートディレクトリ領域の具体的内容が、夫々、ROM22内に予め固定的に用意されており、メモリカード17の初期化の際に、メモリカード17の記憶領域上に画定されたFAT領域及びルートディレクトリ領域に夫々複写され、以後においても、これら領域の更新はなされない。そして、FAT領域及びルートディレクトリ領域の具体的内容は、互いに同一データサイズの二つの設定ファイル46(ini1.***,ini2.***)と、互いに同一サイズのn個のデータファイル(data1.***,data2.***,…datan.***)とに、データ領域の全ブロック(クラスタ)が
割り当てられるというものである。従って、メモリカード17の初期化の時点で、データ領域には二つの設定ファイル46(ini1.***,ini2.***)と、n個のデータファイル(data1.***,data2.***,…datan.***)とが存在していることになり、その後において、こ
れらのファイルのファイル属性は変更されることがない。その結果、上記ファイル管理情報通りにデータ領域中の各データファイルが何度更新されたとしても、FAT領域及びルートディレクトリ領域の書込回数が上限に達することはありえず、また、これらFAT領域及びルートディレクトリ領域の記載内容とデータ領域の各ファイルの属性とが互いに齟齬する事態は生じないので、例えば、異常状態が発生したとしても、メモリカード17をメモリカードスロット15から取り外して、データ記憶装置1外の検査装置(コンピュータ)に接続すれば、データ領域中の各データファイルを読み出すことができる。なお、FAT領域及びルートディレクトリ領域に固定的具体的内容を書き込む処理が、マイクロコンピュータ14以外の外部装置によって行われる構成とされても良い。
なお、各設定ファイル46は、専らマイクロコンピュータ14によって参照されるファイルであり、図6に示すように、現在書込対象とされているデータファイルを特定するデータファイル番号,当該データファイルを書込対象に決定した時点以後にデータが書込ま
れたブロック(クラスタ)のうちの最後のものを示すブロック番号,書込回数,及び、チェックサム(SUM値)が記憶されたファイルである。このうち、データファイル番号及びブロック番号の組合せが、「アドレス情報」に当たる。
上述したように、データ領域における各データファイルは固定長を有するものとして初期化時に生成されるが、初期化時点においては、実際にはスタック値が格納されているだけである。そして、データはブロック(クラスタ)単位で追記していくことができるところ、その後に書き込まれた実質的なデータの存在する範囲は、FAT領域及びルートディレクトリ領域を読んでも不明である。また、マイクロコンピュータ14は、新しいデータ程長く保存されるように、各データファイルをサイクリックに書込対象ファイルとして指定し、且つ、個々のデータファイルの先頭から順に書込対象ブロック(クラスタ)として指定して、新たに得られたデータを上書きしていく必要がある。その為、マイクロコンピュータ14が既にデータの書込を行った範囲を認識するとともに、次にデータ書込を行うべきブロック(クラスタ)を特定できるように、これを特定する設定ファイル46が、データ領域に格納されているのである。
但し、データ領域には、二つの設定ファイル46が用意されている。これは、設定ファイル46を交互に更新することにより、各設定ファイル46が割り当てられたブロック(クラスタ)の不揮発性記憶素子の書込回数を半減させ、それにより、書込回数が上限に達するまでに要する期間を引き延ばすためである。かかる目的を実現するために、データ領域には、最後に更新された設定ファイル46がどちらであるかを指定する設定ファイル番号47を記述したファイルが格納されて、RAM21にも、同内容の設定ファイル番号43が格納されている。マイクロコンピュータ14は、主としてRAM21上の設定ファイル番号43を参照することにより、次に更新すべき設定ファイル46を認識することができるのである。
さらに、各設定ファイル46が割り当てられたブロック(クラスタ)の不揮発性記憶素子の書込回数を節減するため、本実施形態では、設定ファイル46に書き込むべき項目のうち書込回数を除く全項目についての情報(以下、「設定ファイル情報45」という)が、RAM21上に記憶されて、マイクロコンピュータ14の参照に供されている。即ち、マイクロコンピュータ14は、当該設定ファイル情報45を読むことで、どのデータファイルにおけるどのブロック(クラスタ)にデータを書き込むべきかを決定し、データ書込後には、当該設定ファイル情報45のみを更新するのである。
もっとも、メモリカード17上の設定ファイル46を全く更新しないとなると、何らかの原因に因って設定ファイル情報45が喪失された時に、設定ファイル46の内容とデータ領域の内容との齟齬を是正できなくなってしてしまう。そこで、本実施形態においては、後述する異常検出モジュール36がバッテリの瞬断やリセットのような異常発生を検知した際(S301),後述するメモリマネージャ34がRAM化けの様な設定ファイル情報の異常を検知した際(S503),入力情報監視部23の監視結果に基づいてイグニッション信号のOFFが検知された際(S605),等に、夫々、設定ファイル情報45の内容によって設定ファイルを更新するのである(図16)。なお、上述したRAM化けを検出するために、RAM21上には、同一内容を有する3個の設定ファイル情報(A〜C)45が相互に独立に格納され、同時に更新されることとされている。そして、3個の設定ファイル情報(A〜C)45の内容に齟齬が発見された場合に、RAM21化けがあったものと認識されるのである。
図7は、ROM22に格納されたプログラムをプロセッサが実行することによって実現される各機能及びRAM21上及びメモリカード17上に記憶される各情報を示すソフトウェア構成図である。図7に示すように、プロセッサによって実現される機能は、ECU
システム管理部31,CAN通信制御部32,記録データ生成部33及びメモリマネージャ34に、大別される。
ECUシステム管理部31は、データ記憶装置1を構成する各回路を制御する機能であって、時刻情報作成部35及び異常検出部36を支配下に有している。
時刻情報作成部35は、ソフトウェアタイマであり、記録データ生成部33に対して、現在時刻を通知する。
異常検出部36は、電源電圧監視部24からの監視情報に基づいて、電源(バッテリ)4の着脱,リセット,その他の原因に因る電源瞬断や電圧低下を検知し、また、入力情報監視部23の監視結果に基づいて、イグニッション信号のONを検知し、これらのイベント発生を、メモリマネージャ34に通知する処理を実行する。
また、ECUシステム管理部31は、マイクロコンピュータ14全体のウェイクアップ状態とスリープ状態との間での遷移を管理し、入力情報監視部23の監視結果がイグニッション信号のOFFであれば、他のプログラムによる必要な処理が完了した後に、マイクロコンピュータ14全体をスリープ状態に遷移させ、他方、スリープ状態にあっても入力情報監視部23の監視結果をチェックし、それがイグニッション信号のONを示すならば、マイクロコンピュータ14全体をウェイクアップ状態に遷移させる。
CAN通信制御部32は、CANトランシーバ18から伝達されたCANデータに対し、CANドライバ27を用いて、CANプロトロコルの論理層についての処理を行う。
記録データ生成部33は、CAN通信制御部32から渡された車両情報及び時刻情報作成部35から渡された時刻情報を、所定のフォーマットにまとめて、メモリマネージャ34に渡す。
メモリマネージャ34は、メモリカードドライバ42を用いてメモリカード17にアクセスし、メモリカード17上の各領域を管理し、各データファイルに対するデータの書き込みや、各設定ファイルの更新を行う。
以下、図8のデータフロー図,図9及び図10のフォーマット図,並びに、図11乃至図14のフローチャートを参照して、上述した各機能によるCANデータに対する具体的処理内容を説明する。
先ず、図9の概略フォーマット図に示すように、CANデータは、CANIDを格納する「CANID」フィールド,流通対象データを格納する「データ」フィールド,当該「データ」フィールドのバイト長が記述される「DLC」フィールド,CANデータの発行時刻が記述される「タイムスタンプ」フィールドを、有している。
そして、CAN通信制御部32は、CANドライバ37を用いて、CANトランシーバ18から伝達されたCANデータを、随時、受信バッファ47に格納する。他方、CAN通信制御部32は、図11に示すように、定期的に、受信バッファ47にCANデータが格納されているかどうかをチェックし(S001)、受信バッファにCANデータがある場合に限り、受信バッファ47内のCANデータを、記録データ生成部33に転送する(S002)。
異常検出部36が記録データ生成部40に通知するダイアグ情報は、CANトランシーバ16,メモリカード17又はマイクロコンピュータ14自身の動作が異常であるか全て
動作が正常であるかを示すフラグ及び異常の要因を特定する情報を、含んでいる。
記録データ生成部33は、図12に示すように、CAN通信制御部32から転送されたCANデータを受信する毎に、時刻情報作成部35から時刻情報を取得し(S003)、受信したCANデータとS003にて取得した時刻情報とから、記録用データを作成し、メモリマネージャ34に転送する(S004)。
図10のフォーマット図に示すように、この記録用データは、CANIDが格納される「識別子(CANID)」フィールド,時刻情報が格納される「時刻情報」フィールド,CANデータ中の流通対象データが格納される「データ」フィールド,及び、チェックサムの値が格納される「SUM」フィールドからなる全長12バイトのレコードである。
メモリマネージャ34は、記録データ生成部33から記録用データの転送を受ける度に、受け取った記録用データを、N個の12バイトレコードをリング形式で蓄積できるレコード蓄積用バッファ48に、サイクリックな順序で格納(上書き)していく。
また、メモリマネージャ34は、図13に示すように、定期的に、所定量,即ち、メモリカードドライバ42が一度の書込処理でメモリカード17への書込みが行える最大データ量(512バイト)以上のデータが、レコード蓄積用バッファ48に格納されているかどうかをチェックし(S005)、上記所定量(512バイト)以上のデータが格納されている場合のみ、上記所定量(512バイト)分のデータを、SD書込みバッファ49に転送する(S006)。
この所定容量は、マイクロコンピュータのメモリ(RAM21)の容量にどの程度余裕があるかによって設定されるが、車載用に用いられるマイクロコンピュータは、メモリカードへの記録処理を行う一般的なコンピュータに比べてメモリ容量が少ないため、この一度に書き込みを行うデータ量である所定容量も比較的少なくなっており、よって、メモリカードへの書き込み頻度も比較的多くなってしまう。
また、メモリマネージャ34は、図14に示すように、定期的に、SD書込みバッファ49にデータが格納されているかどうかをチェックし(S007)、SD書込みバッファ49にデータが格納されている場合のみ、SD書込みバッファ49内に格納されている上記所定量(512バイト)分のデータについての書込要求処理を実行する(S008)。
図15は、S008にて実行される書込要求処理サブルーチンを示す。このサブルーチンに入って最初のS101では、メモリマネージャ34は、RAM21上の3個の設定ファイル情報(A〜C)45を読み込む。
次のS102では、メモリマネージャ34は、S101にて読み込んだ3個の設定ファイル情報(A〜C)45の内容が相互に一致しているか否かに基づいて、設定ファイル情報(A〜C)45が正常であるか異常であるかをチェックする。そして、3個の設定ファイル情報(A〜C)45の内容が相互に一致していた場合には、メモリマネージャ34は、各設定ファイル情報(A〜C)45は正常であると判断して、処理をS104へ進める。
S104では、メモリマネージャ34は、RAM21に記憶されている設定ファイル情報(A〜C)45を読み込んで、データ書込対象のデータファイル及び当該データファイルにおけるデータ書込済みのブロック(クラスタ)の範囲を認識する。そして、メモリマネージャ34は、認識した情報に基づいて、書込対象のデータファイル中のデータ量がファイル容量の上限(132Mバイト)以上であるかどうかをチェックする。
そして、データ量が上限(132Mバイト)未満であれば、当該データファイルにSD書込バッファ49上のデータを追記できるので、メモリマネージャ34は、S105において、RAM21に記憶されている設定ファイル情報(A〜C)45における書込済みブロック(クラスタ)の番号を一つ進める。このように本実施形態においては、書込対象のデータファイルのデータ量がファイル容量の上限に達した為に書込対象のデータファイルを変更させる場合にはメモリカード17上の設定ファイル46への書き込みがなされるが(S105)、そうでない限りは、メモリカード17上の設定ファイル46への書き込みはなされず、ただ、RAM21上の設定ファイル情報45への書き込み(ブロック番号の記憶)がなされるのみである。これにより、メモリカード17の不揮発性記憶媒体への書き込み回数を節減しているのである。
なお、上記の制御では、書込対象のデータファイルを変更させない場合には、メモリカード17上の設定ファイル46への書き込みを全く行わないように構成しているが、例えば、書込対象のデータファイルを変更させない場合にも、データファイルへデータの数回書き込まれる毎に、1回メモリカード17上の設定ファイル46への書き込みがなされるように構成されても良い。
次のS108では、メモリマネージャ34は、RAM21に記憶されている設定ファイル情報(A〜C)45中のアドレス情報(データファイル番号及びブロック番号)が指定するデータファイル中のブロック(クラスタ)に、SD書込バッファ49上のデータを書き込む。しかる後に、メモリマネージャ34は、処理を図14のメインルーチンに戻し、全処理を終了する。
これに対して、データ量が上限(132Mバイト)以上であるとS104にて判定した場合には、当該データファイルにSD書込バッファ49上のデータを追記できないので、メモリマネージャ34は、S106において、メモリカード17中の設定ファイル番号47の値を他方の値へ変更し、変更後の設定ファイル番号47が示す書込対象データファイル46に記録されている書込対象データファイルのファイル番号の値を、現時点のファイル番号の値が指定するデータファイルの次のデータファイルを示す値に書き換え、書込済みブロック(クラスタ)のブロック番号を0番に書き換える。次のS107では、メモリマネージャ34は、RAM21上の設定ファイル番号43の値を他方の値へ変更し、各設定ファイル情報(A〜C)45における書込対象データファイルのファイル番号の値を、現時点のファイル番号の値が指定するデータファイルの次のデータファイルを示す値に書き換え、書込済みブロック(クラスタ)のブロック番号を0番に書き換える。しかる後に、メモリマネージャ34は、S108において、データ書込対象のデータファイルにおける上記番号に対応したブロック(クラスタ)に、SD書込バッファ49上のデータを書き込んでから、処理を図14のメインルーチンに戻し、全処理を終了する。
なお、この際の書き込み処理は、FATのファイルシステムを用いず、メモリカード17に記録されているFAT領域及びルートディレクトリ領域の情報で指定される、書き込みを行いたいデータファイル及びブロックのアドレスを直接指定して書き込み処理をすることで行われる。
一方、S102でのチェックにおいて、3個の設定ファイル情報(A〜C)45の内容の一部にでも齟齬がある場合には、マイクロコンピュータ14は、RAM化けに因って設定ファイル情報(A〜C)45に異常が生じ、設定ファイル情報(A〜C)45の内容が信用できなくなったとみなして、処理をS103へ進める。
S103では、メモリマネージャ34は、設定ファイル読込み処理を実行する。図16
は、S103にて実行される設定ファイル読込み処理サブルーチンを示すフローチャートである。このサブルーチンに入って最初のS201では、メモリマネージャ34は、二つの設定ファイル46を、メモリカード17のデータ領域から読み込む。
次のS202では、メモリマネージャ34は、S201にて読み込んだ二つの設定ファイル46のうち、対象とする設定ファイル46の内容が正常であるか異常であるかをチェックする。ここで、対象とする設定ファイル46とは、当該サブルーチンが開始されて最初にS202が実行された場合には、メモリカード17のデータ領域に格納された設定ファイル番号47が示す設定ファイル46である。S202がS206の後に実行された場合には、設定ファイル番号47が示す設定ファイル46でない方の設定ファイル46である。
そして、当該設定ファイル46の内容が正常であれば、メモリマネージャ34は、S203において、メモリカード17のデータ領域中の設定ファイル番号47の値を他方の値へ変更し、変更後の設定ファイル番号47が示す書込対象データファイル46に記録されている書込対象データファイルのファイル番号の値を、現時点のファイル番号の値が指定するデータファイルの次のデータファイルを示す値に書き換え、書込済みブロック(クラスタ)のブロック番号を0番に書き換える。次のS204では、メモリマネージャ34は、RAM21上の設定ファイル番号43の値を他方の値へ変更し、各設定ファイル情報(A〜C)45における書込対象データファイルのファイル番号の値を、現時点のファイル番号の値が指定するデータファイルの次のデータファイルを示す値に書き換え、書込済みブロック(クラスタ)のブロック番号を0番に書き換える。しかる後に、メモリマネージャ34は、処理を、元のルーチンに戻す。
これに対して、当該設定ファイル46の内容が異常(所定項目の情報が含まれていない場合を含む)であるとS202にて判断した場合には、メモリマネージャ34は、S205において、S201にて読み込んだ全ての設定ファイル46が異常であるかどうかをチェックする。そして、S202の処理の対象とされた設定ファイル46でない方の設定ファイル46が正常である場合には、メモリマネージャ34は、S206において、対象とする設定ファイル46を変更し、処理をS201に戻す。他方、S201にて読み込んだ全ての設定ファイル46が異常である場合には、メモリマネージャ34は、処理をS207へ進める。
S207では、メモリマネージャ34は、メモリカード17のデータ領域中の全設定ファイル46を初期化する。即ち、先頭のデータファイル(図5の例ではdata1.***)を書
込対象とするとともに書込済みのブロック(クラスタ)が無いとする内容を、ROM22から読み出して各設定ファイル46に書き込む。
次のS208では、メモリマネージャ34は、RAM21上の各設定ファイル情報(A〜C)45を初期化する。即ち、先頭のデータファイル(図5の例ではdata1.***)を書
込対象とするとともに書込済みのブロック(クラスタ)が無いとする内容を、ROM22から読み出して各設定ファイル情報(A〜C)45に書き込む。しかる後に、メモリマネージャ34は、処理を、元のルーチンに戻す。
上述したECUシステム管理部31から、電源[バッテリ]4の交換,リセット等に因る電源瞬断後の電源電圧付加の通知を受けると、メモリマネージャ34は、図17に示す処理を実行し、S301において、設定ファイル読込み処理を実行する。即ち、メモリマネージャ34は、上述した図16に示す設定ファイル読込み処理サブルーチンに従った処理を実行する。
また、マイクロコンピュータ14はイグニッション信号がONとなるとスリープモード等の省電力モードから復帰するが、上述したECUシステム管理部31からイグニッション信号ONの通知を受けると、メモリマネージャ34は、S401において、イグニッションスイッチがOFFの間も電源が供給されることで保持されていたRAM21上の3個の設定ファイル情報(A〜C)45の内容が相互に一致しているか否かに基づいて、設定ファイル情報(A〜C)45が正常であるか異常であるかをチェックする。そして、3個の設定ファイル情報(A〜C)45の内容が相互に齟齬している場合には、メモリマネージャ34は、各設定ファイル情報(A〜C)45が異常であると判断して、処理をS402へ進める。
これに対して、3個の設定ファイル情報(A〜C)45の内容が相互に一致していた場合には、メモリマネージャ34は、各設定ファイル情報(A〜C)45は正常であると判断して、処理を終了する。
S402では、メモリマネージャ34は、設定ファイル読込み処理を実行する。即ち、メモリマネージャ34は、上述した図16に示す設定ファイル読込み処理サブルーチンに従った処理を実行する。
次のS403では、メモリマネージャ34は、S402(S201)にて読み込んだ設定ファイル46の内容と同内容の3個の設定ファイル情報(A〜C)45を、RAM21に書き込む(上書きする)。また、マイクロコンピュータ14は、メモリカード17のデータ領域中の設定ファイル番号47により、RAM21上の設定ファイル番号43を上書きする。
メモリマネージャ34は、以上のようにしてデータファイルへのデータ書き込みを行うのと並行して、定期的に、RAM化けの異常を監視するために、図19の処理を実行する。
図19において、最初のS501では、RAM21上の3個の設定ファイル情報(A〜C)45を読み込む。
次のS502では、メモリマネージャ34は、S501にて読み込んだ3個の設定ファイル情報(A〜C)45の内容が相互に一致しているか否かに基づいて、設定ファイル情報が正常であるか異常であるかをチェックする。そして、3個の設定ファイル情報(A〜C)45の内容が相互に一致している場合には、各設定ファイル情報(A〜C)45は正常であると判断して、当該処理を終了する。
これに対して、3個の設定ファイル情報(A〜C)45の内容の一部にでも齟齬がある場合には、メモリマネージャ34は、RAM化けに因って設定ファイル情報(A〜C)45に異常が生じ、設定ファイル情報(A〜C)45の内容が信用できなくなったとみなして、処理をS503へ進める。
S503では、メモリマネージャ34は、設定ファイルの読込み処理を実行する。即ち、メモリマネージャ34は、図16に示す設定ファイル読込み処理サブルーチンを実行する。
次に、メモリマネージャ34は、入力情報監視部23がイグニッション信号のOFFを検知すると、RAM21上の設定ファイル情報(A〜C)45の内容を設定ファイルに退避させるために、図20の処理を実行する。
メモリマネージャ34は、図20の最初のS601において、RAM21上の設定ファイル情報(A〜C)45を読み込む。
次のS602では、マイクロコンピュータ14は、S601にて読み込んだ3個の設定ファイル情報(A〜C)45の内容が相互に一致しているか否かに基づいて、設定ファイル情報が正常であるか異常であるかをチェックする。そして、3個の設定ファイル情報(A〜C)45の内容の一部にでも齟齬がある場合には、メモリマネージャ34は、設定ファイル情報(A〜C)45に異常が生じ、設定ファイル情報(A〜C)45の内容が信用できなくなったとみなして、S605において、設定ファイル読込み処理を実行する。即ち、メモリマネージャ34は、図16に示す設定ファイル読込み処理サブルーチンを実行する。
これに対して、3個の設定ファイル情報(A〜C)45の内容が相互に一致している場合には、メモリマネージャ34は、各設定ファイル情報(A〜C)45は正常であると判断して、処理をS602からS603へ進める。S603では、メモリマネージャは、メモリカード17中の設定ファイル番号47の値を他方の値へ変更し、変更後の設定ファイル番号47が示す書込対象データファイル46に記録されている書込済みブロック(クラスタ)のブロック番号を一つ進める。次のS604では、メモリマネージャ34は、RAM21上の設定ファイル番号43の値を他方の値へ変更し、各設定ファイル情報(A〜C)45に記録されている書込済みブロック(クラスタ)のブロック番号を一つ進める。
そして、マイクロコンピュータ14はイグニッション信号がOFFとなるとスリープモード等の省電力モードに移行する。なお、イグニッション信号がOFFの間もCANデータを受信して記録する必要がある場合には、省電力モードには移行せずに上記通常モードで動作するように構成することもできる。
以上に説明した本実施形態によると、上述したように、メモリカード17のFAT領域及びルートディレクトリ領域を更新せずに、このメモリカード17のFAT領域及びルートディレクトリ領域の情報通りに(FAT領域及びルートディレクトリ領域の情報に変更が生じないように)データ領域へのデータ書込みを行うので、メモリカード17のFAT領域及びルートディレクトリ領域の書込回数が上限に達することによりメモリカード17の寿命が短期間で尽きてしまうという問題がない。
また、本実施形態によると、異常状態(記録装置の内部RAMに保持しているファイル管理情報を記録媒体に書込むことができない状態)が発生したとしても、メモリカード17のFAT領域及びルートディレクトリ領域の情報とデータ領域の情報とが対応する状態が保たれているので、メモリカード17からデータの読出しが可能となる。
また、本実施形態によると、いずれのデータファイルのどのブロック(クラスタ)までデータ書込を行ったかについては、メモリカード17のデータ領域中に格納された設定ファイル46により管理しているが、設定ファイル46が予め2個用意され、それら設定ファイル46が交互に更新されるので、各設定ファイル46を記録しているブロック(クラスタ)の書込回数を半減でき、よって、当該ブロック(クラスタ)の書込回数上限に達するまでの時間を引き延ばすことができる。
また、本実施形態によると、図15のS103,図17のS301,図19のS503,図20のS605において図16の処理が実行されることにより、図21に示すように、あるデータファイル(data1.***)の途中のブロックまでデータ書込をした時点で異常
(リセット,RAM化け,イグニッションOFF,等)が生じることに因り、RAM21上の設定ファイル情報(A〜C)45が信用に足りなくなった場合であっても、図22に
示すように、次回のデータ書込における書込対象データファイルを、次のデータファイル(data2.***)に切り替えて(S204)、その先頭からデータ書込を再開することがで
きる。
また、このように、異常発生時点で書込対象データファイルを切り替えることにより、異常発生時点までに書き込まれたデータが、異常発生直後のデータ書き込みによって上書きされて喪失してしまうことを防止できる。よって、異常発生時点までにデータが書き込まれたブロック(クラスタ)以外のブロック(クラスタ)にゴミデータが残存している可能性はあるものの、メモリカード17を検査装置(コンピュータ)に装填すれば、当該データファイル(data1.***)がデータ書込対象とされて以来異常発生時点までに書き込ま
れたデータを、読み出すことができるのである。
1 データ記憶装置
14 マイクロコンピュータ
15 メモリカードスロット
17 メモリカード
21 RAM
22 ROM
23 入力情報監視部
24 電源電圧監視部
31 ECUシステム管理部
32 CAN通信制御部
34 メモリマネージャ
35 時刻情報作成部
36 異常検出部
33 記録データ生成部
45 設定ファイル情報

Claims (9)

  1. 外部装置から読出し可能なファイル管理基準に基づいて、記録媒体への記録対象データの記録を行う情報記録装置であって、
    前記ファイル管理基準に基づくファイル管理のための設定情報を記憶した記憶部と、
    前記記録対象データの記録媒体への書込みを行う制御部を備え、
    前記記録媒体における設定情報の記録領域には、前記制御部による前記記録対象データの記録媒体への書込みが行われる以前に、前記記憶部に記憶された前記設定情報と同一の内容が書込まれており、
    前記制御部は、前記記録対象データの記録媒体への書込みを行う場合に、前記記録媒体における設定情報の更新を少なくとも毎回行わず、前記記憶部に記憶された設定情報通りに、前記記録媒体のデータ情報の記録領域に前記記録対象データの書込みを行う
    ことを特徴とする情報記録装置。
  2. 外部装置から読出し可能なファイル管理基準に基づいて、記録媒体への記録対象データの記録を行う情報記録装置であって、
    前記ファイル管理基準に基づくファイル管理のための設定情報を記憶した記憶部と、
    前記記録対象データの記録媒体への書込みを行う制御部を備え、
    前記記録媒体における設定情報の記録領域には、前記制御部による前記記録対象データの記録媒体への書込みが行われる以前に、前記記憶部に記憶された前記設定情報と同一の内容が書込まれており、
    前記制御部は、前記記録対象データの記録媒体への書込みを行う場合に、前記記録媒体に記憶された設定情報に異常がなければ、前記記録媒体における設定情報の更新を行わず、前記記憶部に記憶された設定情報に従って、前記記録媒体のデータ情報の記録領域に前記記録対象データの書込みを行う
    ことを特徴とする情報記録装置。
  3. 前記制御部は、前記記録対象データの記録媒体への書込みを行う場合に、前記記憶部に記憶された設定情報で規定された書込み先アドレスに直接アクセスすることによって、前記記録媒体のデータ情報の記憶領域に前記記録対象データの書込みを行う
    ことを特徴とする請求項1又は2記載の情報記録装置。
  4. 前記記録媒体のデータ情報の記録領域には、データを格納するためのデータファイルと、
    前記データファイルにおけるデータ書込済みのブロックの特定情報を格納するための設定ファイルとが記録される
    ことを特徴とする請求項1から3のいずれか1項に記載の情報記録装置。
  5. 前記現在書込対象とされているデータファイル、及び、書込対象とされているデータファイルにおけるデータ書込済みのブロックの特定情報を記憶する揮発性メモリを更に有し、
    前記制御部は、前記揮発性メモリから読み出した特定情報に基づいて、次にデータを書き込むべきブロックを特定する
    ことを特徴とする請求項4記載の情報記録装置。
  6. 前記制御部は、前回の前記記録対象データの記録媒体への書込み時から書込み対象とするデータファイルに変更が発生していない場合には、前記記録媒体の設定ファイルに、データファイルにおけるデータ書込み済みのブロックとを特定する最新の特定情報を記録しない状態で、前記記録対象データの記録媒体への書込みを行う
    ことを特徴とする請求項5記載の情報記録装置。
  7. 前記制御部は、少なくとも、前回の前記記録対象データの記録媒体への書込み時から書込み対象とするデータファイルに変更が発生した場合と、自己に投入される電源がオフされる場合に、前記記録媒体の設定ファイルに、最新の前記揮発性メモリ上の特定情報に基づいて、現在書込み対象として設定しているデータファイルと当該データファイルにおけるデータ書込み済みのブロックとを特定する特定情報を記録する
    ことを特徴とする請求項5又は6記載の情報記録装置。
  8. 前記ファイル管理基準はFATファイルシステムであり、
    前記設定情報は、FAT領域に記憶される情報とルートディレクトリ領域に記録される情報の少なくとも一方である
    ことを特徴とする請求項1から7のいずれか1項に記載の情報記録装置。
  9. 前記記録媒体は、取り外し可能な記録媒体であることを特徴とする請求項1から8のいずれか1項に記載の情報記録装置。
JP2010209027A 2010-09-17 2010-09-17 情報記録装置 Active JP5638892B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010209027A JP5638892B2 (ja) 2010-09-17 2010-09-17 情報記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010209027A JP5638892B2 (ja) 2010-09-17 2010-09-17 情報記録装置

Publications (2)

Publication Number Publication Date
JP2012064093A JP2012064093A (ja) 2012-03-29
JP5638892B2 true JP5638892B2 (ja) 2014-12-10

Family

ID=46059715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010209027A Active JP5638892B2 (ja) 2010-09-17 2010-09-17 情報記録装置

Country Status (1)

Country Link
JP (1) JP5638892B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3239854B2 (ja) * 1998-08-31 2001-12-17 松下電器産業株式会社 記録再生装置
JP2005250831A (ja) * 2004-03-04 2005-09-15 Matsushita Electric Ind Co Ltd 半導体メモリ装置

Also Published As

Publication number Publication date
JP2012064093A (ja) 2012-03-29

Similar Documents

Publication Publication Date Title
JP5138760B2 (ja) 情報記録装置
US9032182B2 (en) Electronic apparatus with storage media having real address designated by stimulated request format and storage media having real address not designated by stimulated request format
US8566561B2 (en) Method to separate and persist static and dynamic portions of a control application
US8819319B2 (en) Computer system and method for inheriting HBA identifier of PCI card
JP6585113B2 (ja) データ格納装置
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
US20170228161A1 (en) Lifetime management device and lifetime management method
US9205809B2 (en) Vehicle unit and method for operating the vehicle unit
US7555602B2 (en) Data processing apparatus and method for restoring a file system
JP5445463B2 (ja) 計算機システム、データ保存方法およびプログラム
JP5353545B2 (ja) 車載ネットワーク装置
US20100122017A1 (en) Memory controller, non-volatile memory system, and host device
US20100274986A1 (en) Control apparatus and control method therefor
US11531498B2 (en) Peer storage device messaging over control bus
JP2013214303A (ja) 車両用機器制御データの読み取り方法、同データの書き込み方法、および車両用機器のデータの保存装置
JP5485846B2 (ja) 情報記録装置
CN116820898B (zh) 一种eMMC的运行状态监控方法、系统及计算机可读存储介质
US8631166B2 (en) Storage devices with bi-directional communication techniques and method of forming bi-directional communication layer between them
JP5638892B2 (ja) 情報記録装置
US20110246702A1 (en) Management Of Configuration Data Using Persistent Memories Requiring Block-Wise Erase Before Rewriting
JP2008197804A (ja) データアクセス方法、チャネルアダプタ、データアクセス制御装置およびデータアクセスプログラム
US9372700B2 (en) Network boot system
JP5279626B2 (ja) 記憶装置制御プログラム
US7743277B2 (en) System and method for detecting and reducing data corruption in a storage device
JP2004151944A (ja) 不揮発性記憶装置へのデータの書き込み方法、プログラム、および装置、ならびに車載電子制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140402

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141023

R150 Certificate of patent or registration of utility model

Ref document number: 5638892

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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