JP5486193B2 - フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法 - Google Patents

フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法 Download PDF

Info

Publication number
JP5486193B2
JP5486193B2 JP2009015685A JP2009015685A JP5486193B2 JP 5486193 B2 JP5486193 B2 JP 5486193B2 JP 2009015685 A JP2009015685 A JP 2009015685A JP 2009015685 A JP2009015685 A JP 2009015685A JP 5486193 B2 JP5486193 B2 JP 5486193B2
Authority
JP
Japan
Prior art keywords
flash memory
data
block
driver
written
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.)
Expired - Fee Related
Application number
JP2009015685A
Other languages
English (en)
Other versions
JP2010176200A (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.)
Tokai Rika Co Ltd
Original Assignee
Tokai Rika Co 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 Tokai Rika Co Ltd filed Critical Tokai Rika Co Ltd
Priority to JP2009015685A priority Critical patent/JP5486193B2/ja
Publication of JP2010176200A publication Critical patent/JP2010176200A/ja
Application granted granted Critical
Publication of JP5486193B2 publication Critical patent/JP5486193B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、データ書き換え可能な不揮発性メモリの一種であるフラッシュメモリに係り、詳しくはその動作保護装置及び動作保護方法に関する。
従来、装置や機器の動作を統括管理するコンピュータには、動作の際に必要となる各種データの格納先として種々のメモリが搭載されている。このメモリの一種としては、例えば各種データの電気的消去及び書き込みが可能なメモリとして不揮発性メモリが使用され、この不揮発性メモリには、例えば図6に示すようなフラッシュメモリ(Flash Read Only Memory:特許文献1参照)81が広く使用されている。フラッシュメモリ81は、データ書き込み先であるメモリ領域が複数(図6ではA〜Dの4つ)のブロック82〜85の集合体により構築され、このブロック単位ごとにデータ消去可能となっている。なお、これらブロック82〜85は、データ消去単位であることから、イレーズブロックとも呼ばれている。フラッシュメモリ81に対するデータ読み書きは、アプリケーション86からの指令に従って作動するドライバ87によって管理される。
ところで、フラッシュメモリ81以外の他のメモリ種であるEEPROM(Electrically Erasable PROM)やSRAM(Static Random Access Memory)には、同じアドレス上にデータを逐次書き込むことができる上書き機能があるので、データ書き込み済みのアドレスにデータ書き込み指令が出されても、このアドレスに逐次データ書き込みが可能である。しかし、前述したフラッシュメモリ81は、その特性として、データ書き込み済みのアドレス上に新たなデータを書き込む際には、ブロック全体を一旦消去してからでないと、この作業を実行することができないという制限がある。
よって、この種のフラッシュメモリ81では、データ書き込みに際して、図7及び図8に示すようにA〜Dのブロック82〜85をローテーションして使用する。このとき、まずフラッシュメモリ81に新規データを書き込む際には、図7に示すように、ドライバ87は使用ブロック(図7ではAブロック82)の空き領域にデータを順次書き増ししていく。そして、Aブロック82に空き領域がなくなると、図8に示すように、各データ(図8ではID1〜ID3)におけるその最新値を次の使用ブロックであるBブロック83にコピーし、このBブロック83を新たなデータ書き込み先として使用し、使用ブロックに空き領域が無くなる度に、この作業を順次繰り返すことでデータ書き込みが行われる。また、空き領域がなくなった使用済みブロックは、次のローテーションが回ってくるまでにデータが消去される。
特開2008−243347号公報
ところで、例えばコンピュータの電源が外的要因等により変動して電源が一時的にリセットされると、例えば図9に示すように、ドライバ87はそれまで保持していた動作情報、即ちA〜Dのブロック82〜85のうち現在使用しているブロックがどれで、その使用ブロック内のどのデータが最新値であるのかの各種情報が全て飛ぶ状態をとることがある。よって、このリセットの後にコンピュータに電源が再度供給された際、ドライバ87がフラッシュメモリ81に再アクセスする動作をとっても、電源が落ちる前の動作状態を把握することができず、結果としてドライバ87は実行すべき動作を認識できずに停止して、アプリケーション86が動作できなくなってしまう状況に陥ることがあった。
本発明の目的は、フラッシュメモリに対するドライバのアクセスを保護することができるフラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法を提供することにある。
前記問題点を解決するために、本発明では、データ書き換え可能な不揮発性メモリとしてフラッシュメモリを使用し、アプリケーションからの書き込み指令によりドライバが前記フラッシュメモリにデータ書き込みを行う際、当該フラッシュメモリのメモリ領域を構築しつつデータ消去単位となっている複数のブロックのうち、使用中のブロックにおいて、その空き領域に順次書き増しする動作をとり、書き込み領域が一杯になると、各データの最新値を次使用ブロックに書き込みつつ、データの書き込みを当該次使用ブロックで継続することにより、前記ブロックを順番にローテーションして使用しながらデータの読み書きを実行するフラッシュメモリの動作保護装置であって、複数の前記ブロックのうち前記ローテーションには使用されず、前記アプリケーションを動作させるのに最低限必要な初期動作情報が書き込まれた固定ブロックと、前記フラッシュメモリに対する前記ドライバのアクセスに対して異常があるか否かを監視する監視手段と、前記監視手段で前記異常を確認した際、前記固定ブロックに書き込んだ前記初期動作情報を、最先使用に設定されたブロックの先頭に新たに書き込んで当該初期動作情報により前記ドライバを動作させることにより、前記アクセスを継続させる保護実行手段とを備えたことを要旨とする。
この構成によれば、フラッシュメモリがメモリ領域として持つ複数のブロックのうちの所定のものを、データ読み書きのローテーションに使用しない固定ブロックとして用い、アプリケーションを動作させるのに最低限必要な初期動作情報をこの固定ブロックに書き込んでおく。そして、ドライバがフラッシュメモリにアクセスした際のそのアクセス異常の有無を監視手段で監視し、アクセス異常を確認した際には、固定ブロックから初期動作情報を読み出してこれをローテーション用のブロックに書き込み、この初期動作情報によってドライバを動作させる。このため、もし仮に電源リセット等の電圧変動によりドライバの電源が一時的にオフしてドライバが次動作を認識できない状態に陥っても、固定ブロックに書き込んだ初期動作情報によってドライバは次動作を把握可能となるので、ドライバがアクセス先を見失って停止する状況が生じ難くなる。よって、このような電圧変動によってドライバにリセットがかかっても、フラッシュメモリに対するドライバのアクセスを保護することが可能となる。
本発明では、前記初期動作情報は、前記フラッシュメモリの使用時において書き換えられることのない固定値であることを要旨とする。
この構成によれば、フラッシュメモリの使用時において初期動作情報が間違った値に書き換えられる状況がなくなるので、初期動作情報の値を信頼度の高いものとすることが可能となる。
本発明では、データ書き換え可能な不揮発性メモリとしてフラッシュメモリを使用し、アプリケーションからの書き込み指令によりドライバが前記フラッシュメモリにデータ書き込みを行う際、当該フラッシュメモリのメモリ領域を構築するデータ消去単位の複数のブロックのうち、使用中のブロックにおいて、その空き領域に順次書き増しする動作をとり、書き込み領域が一杯になると、各データの最新値を次使用ブロックに書き込みつつ、データの書き込みを当該次使用ブロックで継続することにより、前記ブロックを順番にローテーションして使用しながら前記書き込みを実行するフラッシュメモリの動作保護方法であって、複数の前記ブロックのうち前記ローテーションには使用しないものを固定ブロックとして設け、前記アプリケーションを動作させるのに最低限必要な初期動作情報を当該固定ブロックに書き込み、前記フラッシュメモリに対するアクセスに対して異常があるか否かを監視手段で監視し、前記異常が発生した際、前記固定ブロックに書き込んだ前記初期動作情報を、最先使用に設定されたブロックの先頭に新たに書き込んで当該初期動作情報により前記ドライバを動作させることにより、前記アクセスを継続させることを要旨とする。
本発明によれば、フラッシュメモリに対するドライバのアクセスを保護することができる。
一実施形態における車内運転席の外観を示す斜視図。 コンピュータのソフトウェア構成を含めた概略構成を示すブロック図。 アクセス異常が発生した際にコンピュータとる対処動作を示すブロック図。 アクセス異常が発生した際に固定ブロックのデータがローテーションブロックに書き込まれる状態を示す説明図。 本例に示したコンピュータが持つ効果を説明するブロック図。 従来におけるコンピュータの概略構成を示すブロック図。 フラッシュメモリのブロックにデータを書き込むときの動作を示す説明図。 フラッシュメモリのブロックからデータを消去するときの動作を示す説明図。 リセット等によりアクセスに不具合が発生したときの状態を示す説明図。
以下、本発明を具体化したフラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法の一実施形態を図1〜図5に従って説明する。
図1に示すように、車両1には、ステアリングホイール2の操舵角を検出する操舵角検出装置3が設けられている。この操舵角検出装置3には、同装置3のセンサ部品(例えば、磁気式センサ)としてステアリングアングルセンサ4と、操舵角検出装置3のコントロールユニットとしてコンピュータ5とが設けられている。コンピュータ5は、ステアリングアングルセンサ4から取得するセンサ出力値を基に、ステアリングホイール2の操舵角を演算し、この演算した操舵角(演算舵角値)を、必要とする他の車載機器に車内LAN(Local Area Network)を介して出力する。
図2に示すように、コンピュータ5には、各種データを書き込むためのメモリとしてフラッシュメモリ(Flash ROM)6が設けられている。フラッシュメモリ6は、自身のメモリ領域に対するデータの書き換えが可能な不揮発性メモリの一種であって、背景技術でも述べたように、データ消去単位として区分けされた複数(本例はA〜Dの4つ)のブロック7〜10からなる。即ち、この種のフラッシュメモリ6は、自身のメモリ領域に書き込んだデータが書き換え可能であるものの、データ消去はブロック単位でしか実行することができない特性を持ったメモリである。なお、これらブロック7〜10は、フラッシュメモリ6のメモリ領域を均等に区分することにより、同じ記憶容量をとる。また、これらA〜Dのブロック7〜10がブロックを構成する。
本例のフラッシュメモリ6では、データ書き込みに際して、A〜Dのブロック7〜10のうちA〜Cのブロック7〜9をデータ書込先としてローテーションして使用する。ここで、これら3つのローテーションブロック7〜9のうち、最初に使用するブロックを例えばAブロック7とすると、まずはAブロック7をデータ書き込み先として、操舵角検出装置3に関係する各種データを書き込んでいく。なお、このときにAブロック7に書き込まれるデータとしては、例えば車両1のイグニッションスイッチ(エンジンスイッチ)がイグニッションオン位置(IG ON位置)に操作されてエンジンが始動したときの時刻(ID1データ)や、イグニッションスイッチがオンしている間の時間(ID2データ)や、ステアリングアングルセンサ4のセンサ出力値(ID3データ)等がある。
ところで、フラッシュメモリ6にデータを書き込む際、フラッシュメモリ6にはデータ消去がブロック単位という制限があるので、データ書き込み済みのアドレスにデータを上書きすることができない。このため、フラッシュメモリ6は、新規書き込みデータを受け付けた際、使用中のAブロック7において、その空き領域に受け付けデータを順次書き増ししていく動作をとる。そして、書込領域が一杯になると、使用ブロックを次使用ブロック(本例はBブロック8)に切り換え、ID1〜ID3の各データの最新値をBブロック8に書き込みつつ、データの書き込みをBブロック8で継続し、ブロックに空き領域が無くなる度にこの動作を繰り返すことにより、データ書き込みを実行する。なお、データ書き込みが一杯になったブロックは、次ローテーションが回ってくるまでの間に、データ書き込みやデータ読み取りを実行していない手の空いたときにデータ消去が実行される。
図2に示すように、コンピュータ5には、同コンピュータ5を動作させるソフトウェアとして、操舵角検出装置3を動作させるための専用ソフトウェアであるアプリケーション11と、このアプリケーション11とOS(Operating System)との間の中間的な立場で機能するミドルウェア12と、フラッシュメモリ6を動作させるためのソフトウェアであるドライバ13と設けられている。アプリケーション11は、自身に入力される各種情報やデータに基づき、ミドルウェア12を介してドライバ13に動作指令を出力することにより、コンピュータ5を動作させる。また、アプリケーション11は、ドライバ13が複数存在する場合、これらドライバ13を統括管理することが可能となっている。
ドライバ13は、アプリケーション11からミドルウェア12を介して動作指令を受け付けると、この動作指令に従って動いて、フラッシュメモリ6(ブロック7〜10)へのデータ書き込み、データ読み取り、データ消去等の各種処理を実行する。このとき、ドライバ13は、アプリケーション11からの動作指令をトリガとして受け付け、アプリケーション11が他動作を実行していても、この動作指令に基づく動作をアプリケーション11の動作状態に依らず実行する。また、ドライバ13によるブロック7〜10のデータ消去は、前述したようにドライバ13がデータ書き込みやデータ読み取りを行っていないときの手の空いたときに実行される。
また、本例の場合、A〜Dのブロック7〜10のうちDブロック10は、データ書き込みのローテーションとして使用せずに、予め決められた初期動作情報をデフォルト値として書き込んでおく固定ブロック10として使用されている。この初期動作情報としては、車両1が持つ製品個々の値として製品固有値14や、動作過程上でやり取りされるデータ(ID1〜ID3)の初期値15が書き込まれている。例えば、製品固有値14としては、車両コード、車両1のシリアル番号、仕向情報等がある。また、初期値15としては、イグニッションオンの開始時刻、イグニッションオン時の経過時間、ステアリングアングルセンサ4等の初期値として「0」がある。これら製品固有値14や初期値15は、アプリケーション11が動作するのに最低限必要なデータであって、車両1の製造ライン上や製品出荷時に固定ブロック10に書き込まれ、製品出荷後の実際の使用時においては上書きされることのないものとなっている。なお、製品固有値14及び初期値15が初期動作情報を構成する。
更に、ドライバ13には、ドライバ13がフラッシュメモリ6に正常にアクセスできない異常の有無を監視する異常発生監視部16が設けられている。本例の異常発生監視部16は、ドライバ13がフラッシュメモリ6にアクセスのアクセス先を見失っているか否かを見ることで異常の有無を確認し、例えばフラッシュメモリ6にアクセスしたにも拘わらず、一定時間が経ってもデータを取得できないことを以て、フラッシュメモリ6へのアクセスに異常が発生したと認識する。なお、異常発生監視部16が監視手段に相当する。
また、ドライバ13には、異常発生監視部16が異常を確認した際に、固定ブロック10の初期動作情報(製品固有値14、初期値15)を使用して動作することにより、ドライバ13がフラッシュメモリ6にアクセスできることを確保する保護処理部17が設けられている。なお、保護処理部17が保護実行手段に相当する。また、異常発生監視部16及び保護処理部17は、コンピュータ5のCPUがプログラムに沿って動作することにより機能的に生成されるもので、図2ではこれをブロック図で図示する。
次に、本例のコンピュータ5(ドライバ13)が電源オンした後、例えば一時的な電圧変動によりコンピュータ5がリセット状態をとるときの動作例を図3及び図4に従って説明する。
イグニッションスイッチがイグニッションオン位置に操作された際、コンピュータ5は車載バッテリから電源を受け付けて、それまでの停止状態から起動状態に動作状態が切り換わる。そして、ドライバ13は、イグニッションスイッチがオンした開始時刻(ID1データ)や、イグニッションスイッチがオンしてからの経過時間(ID2データ)、これ以降においてステアリングアングルセンサ4から受け付けるセンサ出力値(ID3データ)をフラッシュメモリ6に書き込む。本例は、A〜Dのブロック7〜10のうちAブロック7が最初に使用されるブロックとして設定されているので、まずは最初にAブロック7からこれらデータが書き込まれる。
ところで、イグニッションスイッチがイグニッションオン位置から例えばエンジンスタート位置に操作された際、この操作過程におけるイグニッションスイッチのスイッチ接点の切り換わりが原因で、コンピュータ5に供給される電圧が変動して、コンピュータ5に供給される電源が一時的にオフして電源がリセットされる場合がある。このときは、瞬間的な電源オフに伴ってコンピュータ5が一時的に電圧が供給されなくなり、電圧が元のレベルまで戻ると、コンピュータ5に電源が再度供給されて、コンピュータ5が起動状態に復帰する動作をとる。
ここで、この状況下では、背景技術でも述べたように、ドライバ13は電源が落ちる前の各種情報を逐次保持しておく機能を持たないことから、一旦起動した後に一時的に電源が落ちると、ドライバ13は電源が落ちる前の各種情報、例えば電源オフ前にどのブロックを使用していたのかや、或いは使用ブロックのどのアドレス先にアクセスしていたのかなどを見失うことになる。この場合、電源が再投入された後、ドライバ13はそれまで使用していたブロックにアクセスしようしとしてもそれを実行できなくなり、場合によってはブロック7〜9に書き込んでいたデータを消失する動作に入ることもあり、結果としてブロック7〜9に書き込んだデータを消失してしまうことがあった。
しかし、本例の場合、図3に示すように、異常発生監視部16は、電源投入(電源再投入)の際、ドライバ13がフラッシュメモリ6へのアクセスに対して行き先を見失っていないか否かを確認することにより、アクセス異常の有無を見ている。なお、本例の異常発生監視部16は、ドライバ13が実際にフラッシュメモリ6にアクセスしに行って、一定時間の間にデータを読み込めるかどうかを見ることで、アクセス異常の有無を確認する。そして、異常発生監視部16は、一定時間内にブロック7〜9からデータを正常に読み取ることができれば、ドライバ13のアクセスに異常は発生していないと認識し、一方で一定時間を経てもブロック7〜9のデータを正常に読み取ることができなければ、ドライバ13のアクセスに異常が発生していると認識する。異常発生監視部16は、以上のアクセス異常有無の確認を行った後、この確認結果を保護処理部17に出力する。
保護処理部17は、異常発生監視部16から確認結果を受け付けた際、これが異常無しの通知であれば、電源リセットによってコンピュータ5の電源が一時的に落ちた状況下であっても、電源再投入後のドライバ13はフラッシュメモリ6のアクセス先を保持できていると認識する。よって、このときは、ドライバ13が通常通りにブロック7〜9にアクセスしにいってもアクセスが可能であることから、保護処理部17は特別な対処は行わず、ドライバ13によるA〜Cのブロック7〜9へのデータ書き込み、データ読み取り、データ消去等の各種処理を、通常動作に沿ってドライバ13に実行させる。
一方、保護処理部17は、異常発生監視部16から監視結果を受け付けた際、これが異常有りの通知であれば、ドライバ13によるフラッシュメモリ6へのアクセスに異常が発生して、ドライバ13がフラッシュメモリ6のアクセス先を見失ってしまっていると認識する。なお、このとき、場合によっては、電源リセットに伴ってA〜Dのブロック7〜10のうちローテーションブロック7〜9のデータが消失してしまうことがあるが、Dブロック10は値を書き換えない固定ブロック10として使用しているので、電源リセットによってローテーションブロック7〜9のデータが仮に飛んでも、この固定ブロック10に書き込まれているデータ群は保持される状態を保つ。
保護処理部17は、ドライバ13によるフラッシュメモリ6のアクセスに異常が発生したことを確認した際、図3に示すように固定ブロック10から車両1(操舵角検出装置3)が持つ製品固有値14やID1〜ID3等の初期値15を読み出すとともに、図4に示すようにこのときの読み出しデータを、最先使用に設定されたAブロック7の先頭に書き込むことにより、ブロック7内のデータを復旧する。なお、このデータ書き込み時、もし仮にAブロック7にデータが残っていたままの場合には、Aブロック7に消去処理を実行してAブロック7を空にしてから、復旧用のデータ書き込を実行する。
これにより、ドライバ13は電源リセットによって電源オフ前の使用ブロックやアクセス先アドレスが分からなくなっても、電源再投入時には最先使用のAブロック7に新たに書き込んだ製品固有値14や初期値15を読み取ることにより、電源再投入時において実行すべき動作を把握することが可能となる。よって、電源リセットを要因としてドライバ13がフラッシュメモリ6へのアクセス先を見失っても、ドライバ13は製品固有値14や初期値15というデフォルト値(初期動作情報)からではあるものの、動作の継続実行が可能となる。
さて、本例においては、電源リセットを原因としてドライバ13がフラッシュメモリ6のアクセス先を見失うアクセス異常が発生しても、各種データを固定値として保持する固定ブロック10に保存された製品固有値14や初期値15をローテーションブロック7〜9に新たに書き込み、このデータ群によって次動作をドライバ13に把握させる。このため、電源リセットによりドライバ13がアクセス先を見失っても、ドライバ13は製品固有値14や初期値15によって次動作を継続実行することが可能となる。よって、電源リセットが発生した際に、ドライバ13が次動作を把握できずに停止してしまう状況が生じ難くなり、ひいてはアプリケーション11の異常停止の防止も図られる。
本実施形態の構成によれば、以下に記載の効果を得ることができる。
(1)フラッシュメモリ6の複数のブロック7〜10の中の1つ(本例は、Dブロック10)を、ローテーションに使用しない固定ブロック10として使用し、この固定ブロック10に、アプリケーション11を動作させるのに最低限必要な初期動作情報として製品固有値14や初期値15を保存する。そして、電源リセット等によりドライバ13がアクセス先を見失った際には、固定ブロック10に保存された製品固有値14や初期値15をローテーションブロック7〜9に書き込み、これらデータによってドライバ13を継続動作させる。よって、一旦起動したコンピュータ5に電源リセットがかかっても、ドライバ13はアクセス先を把握可能となるので、ドライバ13の動作が停止してしまう状況を生じ難くすることができる。また、このようにドライバ13の動作確保を図ることが可能となれば、アプリケーション11の動作停止も生じ難くなる。
(2)製品固有値14や初期値15の保存先としては、実施形態で述べたようなフラッシュメモリ6が持つ複数のブロック7〜10の1つを固定ブロック10としてこれを保存先とすることに限定されず、例えば図5に示すように、EEPROM(Electrically Erasable PROM))21を別途設けて、これに保存することも想定される。しかし、この場合は、EEPROM21用のドライバ22を別途用意しなくてはならないので、計2つのドライバ13,22が必要となり、その分だけデータ管理が煩雑化する問題が発生するが、本例の場合はこの種のドライバが1つのドライバ13で済むので、前述したデータ管理の煩雑さという問題は考えずに済む。また、本例のようにEEPROM21が不要となれば、その分だけROMに必要となるメモリ容量も削減することができる。
(3)図5に示すように、製品固有値14や初期値15の保存先としてEEPROM21を使用した場合には、EEPROM21から読み取った製品固有値14や初期値15のデータを、ミドルウェア12を一旦介してからローテーション用のブロック7〜10に送る動作を経るので、データ転送においてミドルウェア12を経る分だけデータ処理時間が余計にかかる問題がある。しかし、本例の場合は、1つのドライバ13内で完結する処理であるので、ミドルウェア12を介さない分だけ、製品固有値14や初期値15のデータ処理速度を高速化することができる。
(4)固定ブロック10に予め書き込んでおく初期動作情報は、製品が出荷されてからの実際の使用時において、上書きされることのない固定値として設定されている。このため、製品使用時に初期動作情報が間違った値に書き換えられる状況がなくなるので、初期動作情報の値を信頼度の高いものとすることができる。
なお、実施形態はこれまでに述べた構成に限らず、以下の態様に変更してもよい。
・ アクセス異常の検出方法は、ドライバ13がフラッシュメモリ6に対するアクセス先を見失っているか否かであることに限定されない。例えば、フラッシュメモリ6(ブロック7〜9)が空になっていることや、フラッシュメモリ6に書き込まれているデータそのものが化けてしまっていることを確認するものでもよい。
・ 初期動作情報は、前述した製品固有値14や初期値15に限定されず、ドライバ13が次動作の動作内容を知ることができれば、どのような種類のものでもよい。
・ フラッシュメモリ6に書き込まれるデータは、ID1〜ID3で示すイグニッションオン開始時刻、イグニッションオン実行時間、ステアリングアングルセンサのセンサ値に限定されず、操舵角検出装置3の動作時にやり取りされるデータであれば、どのようなものでもよい。
・ ミドルウェア12は、必ずしも必要ではなく、これを省略してもよい。
・ フラッシュメモリ6のブロック数は、A〜Dの計4つに限定されず、これ以外の数をとるものでもよい。
・ 固定ブロック10の個数は、必ずしも1つに限らず、ローテーションブロック7〜9の個数が少なく済むのであれば、2つ以上あってもよい。
・ アクセス異常時において初期動作情報を書き込むその書き込み先は、必ずしもAブロック7に限らず、例えばBブロック8やCブロック9としてもよい。
・ アクセス保護の機能を持つ本例のコンピュータ5は、必ずしも操舵角検出装置3に搭載されることに限らず、メモリとしてフラッシュメモリ6を持つコンピュータ5を備えたものであれば、特に限定されるものではない。
次に、上記実施形態及び別例から把握できる技術的思想について、それらの効果とともに以下に追記する。
(1)請求項1又は2において、前記初期動作情報は、前記ブロックに書き込まれる検出値(測定値)の初期値である。この構成によれば、ドライバがフラッシュメモリ内の検出値にアクセスする際に、そのアクセスが停止してしまう状況を生じ難くすることが可能となる。
(2)請求項1又は2において、前記初期動作情報は、前記フラッシュメモリの製品個々が持つ製品固有値である。この構成によれば、ドライバがフラッシュメモリ内の製品固有値にアクセスする際に、そのアクセスが停止してしまう状況を生じ難くすることが可能となる。
6…フラッシュメモリ、7…ブロックを構成するAブロック、8…ブロックを構成するBブロック、9…ブロックを構成するCブロック、10ブロック(固定ブロック)を構成するDブロック、11…アプリケーション、13,22…ドライバ、14…初期動作情報を構成する製品固有値、15…初期動作情報を構成する初期値、16…監視手段としての異常発生監視部、17…保護実行手段としての保護処理部。

Claims (3)

  1. データ書き換え可能な不揮発性メモリとしてフラッシュメモリを使用し、アプリケーションからの書き込み指令によりドライバが前記フラッシュメモリにデータ書き込みを行う際、当該フラッシュメモリのメモリ領域を構築しつつデータ消去単位となっている複数のブロックのうち、使用中のブロックにおいて、その空き領域に順次書き増しする動作をとり、書き込み領域が一杯になると、各データの最新値を次使用ブロックに書き込みつつ、データの書き込みを当該次使用ブロックで継続することにより、前記ブロックを順番にローテーションして使用しながらデータの読み書きを実行するフラッシュメモリの動作保護装置であって
    複数の前記ブロックのうち前記ローテーションには使用されず、前記アプリケーションを動作させるのに最低限必要な初期動作情報が書き込まれた固定ブロックと、
    前記フラッシュメモリに対する前記ドライバのアクセスに対して異常があるか否かを監視する監視手段と、
    前記監視手段で前記異常を確認した際、前記固定ブロックに書き込んだ前記初期動作情報を、最先使用に設定されたブロックの先頭に新たに書き込んで当該初期動作情報により前記ドライバを動作させることにより、前記アクセスを継続させる保護実行手段と
    を備えたことを特徴とするフラッシュメモリの動作保護装置。
  2. 前記初期動作情報は、前記フラッシュメモリの使用時において書き換えられることのない固定値であることを特徴とする請求項1に記載のフラッシュメモリの動作保護装置。
  3. データ書き換え可能な不揮発性メモリとしてフラッシュメモリを使用し、アプリケーションからの書き込み指令によりドライバが前記フラッシュメモリにデータ書き込みを行う際、当該フラッシュメモリのメモリ領域を構築するデータ消去単位の複数のブロックのうち、使用中のブロックにおいて、その空き領域に順次書き増しする動作をとり、書き込み領域が一杯になると、各データの最新値を次使用ブロックに書き込みつつ、データの書き込みを当該次使用ブロックで継続することにより、前記ブロックを順番にローテーションして使用しながら前記書き込みを実行するフラッシュメモリの動作保護方法であって
    複数の前記ブロックのうち前記ローテーションには使用しないものを固定ブロックとして設け、前記アプリケーションを動作させるのに最低限必要な初期動作情報を当該固定ブロックに書き込み、前記フラッシュメモリに対するアクセスに対して異常があるか否かを監視手段で監視し、前記異常が発生した際、前記固定ブロックに書き込んだ前記初期動作情報を、最先使用に設定されたブロックの先頭に新たに書き込んで当該初期動作情報により前記ドライバを動作させることにより、前記アクセスを継続させることを特徴とするフラッシュメモリの動作保護方法。
JP2009015685A 2009-01-27 2009-01-27 フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法 Expired - Fee Related JP5486193B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009015685A JP5486193B2 (ja) 2009-01-27 2009-01-27 フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009015685A JP5486193B2 (ja) 2009-01-27 2009-01-27 フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法

Publications (2)

Publication Number Publication Date
JP2010176200A JP2010176200A (ja) 2010-08-12
JP5486193B2 true JP5486193B2 (ja) 2014-05-07

Family

ID=42707153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009015685A Expired - Fee Related JP5486193B2 (ja) 2009-01-27 2009-01-27 フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法

Country Status (1)

Country Link
JP (1) JP5486193B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225023A (ja) * 2014-05-29 2015-12-14 日本電産サンキョー株式会社 エンコーダ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08287697A (ja) * 1995-04-18 1996-11-01 Nippondenso Co Ltd メモリ装置
JPH09282237A (ja) * 1996-04-19 1997-10-31 Fujitsu General Ltd Eepromを用いた記憶装置
JPH10320984A (ja) * 1997-05-15 1998-12-04 Sharp Corp 記憶装置
JPH11141391A (ja) * 1997-11-06 1999-05-25 Hitachi Ltd 自動車用制御装置
JP3793868B2 (ja) * 1999-11-25 2006-07-05 カシオ計算機株式会社 フラッシュメモリ管理装置及び記録媒体
JP2001331382A (ja) * 2000-05-19 2001-11-30 Matsushita Electric Ind Co Ltd 不揮発性メモリの管理方法および管理装置
JP2002041370A (ja) * 2000-07-25 2002-02-08 Canon Inc 記憶装置及びその制御方法
JP2003208352A (ja) * 2002-01-17 2003-07-25 Fujitsu Ltd 書き込み回数の制限とウエアレベリングを可能にしたフラッシュメモリ
JP3826115B2 (ja) * 2002-06-20 2006-09-27 東京エレクトロンデバイス株式会社 記憶装置、メモリ管理方法及びプログラム
TW591393B (en) * 2003-01-22 2004-06-11 Fujitsu Ltd Memory controller
JP3969494B2 (ja) * 2004-08-31 2007-09-05 三菱電機株式会社 車載電子制御装置

Also Published As

Publication number Publication date
JP2010176200A (ja) 2010-08-12

Similar Documents

Publication Publication Date Title
JP2010020586A (ja) データ処理装置
JP4227149B2 (ja) 電子制御装置の情報記憶方法
US10013343B2 (en) Apparatus and method of refreshing a memory area of a non-volatile memory unit used in an embedded system
JP2013222435A (ja) 半導体記憶装置及びその制御方法
JP5883284B2 (ja) 半導体メモリ制御装置及び制御方法
JP2010204851A (ja) 記憶装置及び情報処理装置
JP5486193B2 (ja) フラッシュメモリの動作保護装置及びフラッシュメモリの動作保護方法
JP5504604B2 (ja) Ram診断装置
JP4661369B2 (ja) メモリコントローラ
JP2010176201A (ja) フラッシュメモリのデータ消失防止装置及びフラッシュメモリのデータ消失防止方法
JP5983512B2 (ja) 書き込み装置
JP2008310896A (ja) 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法
JP4734582B2 (ja) 不揮発性メモリのデータ更新方法、制御装置、及びデータ更新プログラム
JP6040895B2 (ja) マイクロコンピュータ及び不揮発性メモリのブロック管理方法
WO2018079537A1 (ja) 電子制御装置及びそのデータ保護方法
JP6636930B2 (ja) フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム
JP2009116521A (ja) メモリのデータ書替方法
JP5520880B2 (ja) フラッシュメモリ装置
WO2011064811A1 (ja) 情報処理装置、制御プログラムおよび制御方法
JP6241373B2 (ja) 記憶装置、フラッシュメモリ制御装置、及びプログラム
JP2010015222A (ja) メモリカード
JP2008225922A (ja) 不揮発性記憶装置
JP2013003985A (ja) 情報処理装置、画像形成装置、およびプログラム
JP2006139341A (ja) 不揮発性メモリシステム
JP2011025781A (ja) 車両用制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140221

R150 Certificate of patent or registration of utility model

Ref document number: 5486193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees