(57)【要約】    【課題】      フラッシュメモリ書換えに要する時間の短縮化を図ること。    【解決手段】  フラッシュメモリ１０１に書き込まれているデータとＲＡＭ１０４上に格納された書換えデータをバイト単位で読み出して比較するデータ比較器１０２と、比較結果によりフラッシュメモリ１０１の消去、書換えを制御する書換え回路１０５とを備える。データ比較器１０２ではフラッシュメモリ１０１に書き込まれているデータとＲＡＭ１０４上に格納している書換えデータを比較し、比較結果が一致した場合はフラッシュメモリ１０１の書換えは行わない。また、書換え回路１０５は、比較結果が一致しない場合でも、フラッシュメモリのデータが消去状態のとき、消去処理を行わずＲＡＭ１０４上の書換えデータの書換えのみ行う。書換えデータが消去状態のデータと同じ場合、消去のみを行い、データの書換え処理は行わないように制御する。  【選択図】      図１
2007052558.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリと、
前記フラッシュメモリ書換えデータを格納するＲＡＭと、
前記フラッシュメモリの書換えアドレス及び、前記ＲＡＭの書換えデータを読み出すためのアドレスを制御するアドレス制御手段と、
前記フラッシュメモリに書き込まれているデータと前記ＲＡＭに格納された書換えデータをバイト単位で読み出して比較するデータ比較手段と、
前記データ比較手段の比較結果により前記フラッシュメモリの消去、書換えを制御する書換手段と
を備えるフラッシュメモリ書換え装置。
【請求項２】
前記書換手段は、前記比較結果が一致した場合は、前記フラッシュメモリの書換えは行わない請求項１記載のフラッシュメモリ書換え装置。
【請求項３】
前記書換手段は、前記比較結果が一致しない場合は、前記フラッシュメモリのデータが消去状態のとき、消去処理を行わず前記ＲＡＭの書換えデータの書換えのみを行う請求項１記載のフラッシュメモリ書換え装置。
【請求項４】
前記書換手段は、前記書換えデータが消去状態のデータと同じ場合、消去のみを行い、データの書換え処理は行わない請求項１記載のフラッシュメモリ書換え装置。
【請求項５】
前回フラッシュメモリに書き込んだデータと新たに書き込むデータを差分比較する比較手段と、
前記差分比較により書換える必要があるデータのみを前記フラッシュメモリ側に送出する送出手段と
を備えるフラッシュメモリ書換え装置。
【請求項６】
フラッシュメモリと、前記フラッシュメモリ書換えデータを格納するＲＡＭと、前記フラッシュメモリの書換えアドレス及び、前記ＲＡＭの書換えデータを読み出すためのアドレスを制御するアドレス制御回路とを備えるフラッシュメモリ書換え方法であって、
前記フラッシュメモリに書き込まれているデータと前記ＲＡＭに格納された書換えデータをバイト単位で読み出して比較するステップと、
前記比較結果により前記フラッシュメモリの消去、書換えを制御するステップと
を有するフラッシュメモリ書換え方法。
【請求項７】
前回フラッシュメモリに書き込んだデータと新たに書き込むデータを比較するステップと、
前記書換えデータの差分比較により書換える必要があるデータのみを前記フラッシュメモリ側に送出するステップと
を有するフラッシュメモリ書換え方法。
【請求項８】
フラッシュメモリと、前記フラッシュメモリ書換えデータを格納するＲＡＭと、前記フラッシュメモリの書換えアドレス及び、前記ＲＡＭの書換えデータを読み出すためのアドレスを制御するアドレス制御回路とを備えるフラッシュメモリ書換え方法であって、前記フラッシュメモリに書き込まれているデータと前記ＲＡＭに格納された書換えデータをバイト単位で読み出して比較するステップと、前記比較結果により前記フラッシュメモリの消去、書換えを制御するステップとをコンピュータに実行させるためのプログラム。
【請求項９】
前回フラッシュメモリに書き込んだデータと新たに書き込むデータを比較するステップと、前記書換えデータの差分比較により書換える必要があるデータのみを前記フラッシュメモリ側に送出するステップとをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラムに関し、特にデータ消去及び書換えを高速化するフラッシュメモリ書換え装置及び方法の改良に関する。
【背景技術】
【０００２】
フラッシュメモリは、電気的に書換え可能なＥＥＰＲＯＭの一種で、データを書込む前に、書込む領域の消去処理が必要である。データを消去するには、セクタと呼ばれる複数の論理的な小領域単位で、ひとつずつ消去していくセクタ消去処理により、以前書込まれたデータに対してセクタ消去を行い、その後、全てのデータを書込んでいく。
【０００３】
フラッシュメモリを搭載したマイクロコンピュータのフラッシュメモリ書換え装置は、フラッシュメモリの書換えデータが格納されているＲＡＭと、フラッシュメモリの書き込むアドレス及び、ＲＡＭ上の書換えデータを読み出すためにアドレスを制御するアドレス制御回路と、フラッシュメモリのデータ書換えを行うブロック単位書換え回路とを備えて構成される。
【０００４】
フラッシュメモリの書換えを行う場合、上記ブロック単位書換え回路でフラッシュメモリをブロック単位で消去を行い、フラッシュメモリの書換えデータを格納しているＲＡＭから該当するアドレスに対する書換えデータを読み出し、フラッシュメモリをブロック単位で書換える。この処理をフラッシュメモリの最終アドレスになるまで繰り返すといった手法が採られていた。処理高速化のためフラッシュ消去状態の場合ブロック単位（セクタ）消去を行わない方法もある（例えば、特許文献１参照）。
【特許文献１】特開２００１−２９７５８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のマイクロコンピュータ内蔵のフラッシュメモリ書換え装置にあっては、フラッシュメモリのデータ書換えは、フラッシュメモリが消去された状態でも、フラッシュメモリのセクタ消去を行い、データ書換えを行っている。また、書換えデータが消去状態のデータでも書換えを行う。消去、書換え処理をフラッシュメモリのセクタに対してメモリ容量分行うため、書換え時間がかかるといった問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであり、フラッシュメモリ書換えに要する時間の短縮化を図ることができるフラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラムを提供することを目的とする。
【０００７】
また、本発明は、処理をソフトウェアの書換え処理で実現することで、汎用性の高い安価なフラッシュメモリ書換え装置、フラッシュメモリ書換え方法及びフラッシュメモリ書換えプログラムを提供することを別の目的とする。
【課題を解決するための手段】
【０００８】
本発明のフラッシュメモリ書換え装置は、フラッシュメモリと、前記フラッシュメモリ書換えデータを格納するＲＡＭと、前記フラッシュメモリの書換えアドレス及び、前記ＲＡＭの書換えデータを読み出すためのアドレスを制御するアドレス制御手段と、前記フラッシュメモリに書き込まれているデータと前記ＲＡＭに格納された書換えデータをバイト単位で読み出して比較するデータ比較手段と、前記データ比較手段の比較結果により前記フラッシュメモリの消去、書換えを制御する書換手段とを備える構成を採る。
【０００９】
本発明のフラッシュメモリ書換え装置は、前回フラッシュメモリに書き込んだデータと新たに書き込むデータを差分比較する比較手段と、前記差分比較により書換える必要があるデータのみを前記フラッシュメモリ側に送出する送出手段とを備える構成を採る。
【００１０】
本発明のフラッシュメモリ書換え方法は、フラッシュメモリと、前記フラッシュメモリ書換えデータを格納するＲＡＭと、前記フラッシュメモリの書換えアドレス及び、前記ＲＡＭの書換えデータを読み出すためのアドレスを制御するアドレス制御回路とを備えるフラッシュメモリ書換え方法であって、前記フラッシュメモリに書き込まれているデータと前記ＲＡＭに格納された書換えデータをバイト単位で読み出して比較するステップと、前記比較結果により前記フラッシュメモリの消去、書換えを制御するステップとを有する。
【００１１】
本発明のフラッシュメモリ書換え方法は、前回フラッシュメモリに書き込んだデータと新たに書き込むデータを比較するステップと、前記書換えデータの差分比較により書換える必要があるデータのみを前記フラッシュメモリ側に送出するステップとを有する。
【００１２】
また、別の観点から、本発明は、フラッシュメモリと、前記フラッシュメモリ書換えデータを格納するＲＡＭと、前記フラッシュメモリの書換えアドレス及び、前記ＲＡＭの書換えデータを読み出すためのアドレスを制御するアドレス制御回路とを備えるフラッシュメモリ書換え方法であって、前記フラッシュメモリに書き込まれているデータと前記ＲＡＭに格納された書換えデータをバイト単位で読み出して比較するステップと、前記比較結果により前記フラッシュメモリの消去、書換えを制御するステップとをコンピュータに実行させるためのプログラムである。
【００１３】
また、本発明は、前回フラッシュメモリに書き込んだデータと新たに書き込むデータを比較するステップと、前記書換えデータの差分比較により書換える必要があるデータのみを前記フラッシュメモリ側に送出するステップとをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、書換えデータによりフラッシュメモリの消去、書換えが任意のアドレスに必要なバイト数行うことが可能となり、フラッシュメモリ書換えに要する時間の短縮化を図ることができるとともに、本処理をソフトウェアの書換え処理で実現することで、汎用性の高い安価なフラッシュメモリ書換え装置を実現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１６】
（実施の形態１）
図１は、本発明の実施の形態１に係るフラッシュメモリ書換え装置の構成を示す図である。本実施の形態に係るフラッシュメモリ書換え装置は、フラッシュメモリを搭載したマイクロコンピュータに適用した例である。
【００１７】
図１において、マイクロコンピュータ１００は、フラッシュメモリ１０１、データ比較器１０２、アドレス制御回路１０３、内蔵ＲＡＭ１０４、及び書換え回路１０５を備え、フラッシュメモリ１０１は、フラッシュメモリ内アドレスＮ領域１０６、フラッシュメモリ内アドレスＮ＋１領域１０７、フラッシュメモリ書換え最終アドレス領域１１６を有する。
【００１８】
また、１０８はフラッシュメモリアドレス制御信号、１０９はフラッシュメモリデータ信号、１１０はアドレス切替要求信号、１１１は内蔵ＲＡＭアドレス制御信号、１１２は内蔵ＲＡＭ内書換えデータ信号、１１３は書換え要求信号、１１４は書換えデータ信号、１１５はフラッシュメモリ書換え信号である。
【００１９】
内蔵ＲＡＭ１０４は、フラッシュメモリ書換えデータを格納する。
【００２０】
アドレス制御回路１０３は、フラッシュメモリ１０１の書換えアドレス及び、内蔵ＲＡＭ１０４上の書換えデータを読み出す。
【００２１】
データ比較器１０２は、フラッシュメモリ１０１上のデータと内蔵ＲＡＭ１０４上の書換えデータの、２つのデータを比較する。
【００２２】
書換え回路１０５は、比較結果によりフラッシュメモリ１０１の消去、書換えを制御する。
【００２３】
以下、上述のように構成されたフラッシュメモリ書換え装置の動作を説明する。
【００２４】
フラッシュメモリ１０１の任意のアドレスＮに対して書換えを行う場合、アドレス制御回路１０３を通してマイクロコンピュータ１００のフラッシュメモリ１０１の書換えを行うアドレスＮに現在書き込まれているデータとアドレスＮ（フラッシュメモリ内アドレスＮ領域１０６）へ今回書換えるデータを格納している内蔵ＲＡＭ１０４のデータを読み出す。読み出したデータは、データ比較器１０２で書換え最小単位、例えばバイト単位で比較する。
【００２５】
比較結果が一致した場合は、アドレスＮ（フラッシュメモリ内アドレスＮ領域１０６）に対して消去処理、書換え処理は行わず、アドレス制御回路１０３にて次に書換えを行うアドレス（アドレスＮ＋１）のフラッシュメモリデータ、及びＲＡＭ１０３の書換えデータの読み出しを行う。
【００２６】
フラッシュメモリの任意のアドレスＮ（フラッシュメモリ内アドレスＮ領域１０６）を比較結果が一致しない場合でも、フラッシュメモリ１０１に書き込まれているデータが消去されている場合は書換え回路１０５でアドレスＮ（フラッシュメモリ内アドレスＮ領域１０６）に対する消去処理を行わず、データ書換えのみ行う。書き込み完了後、アドレス制御回路１０３にて次に書換えを行うアドレス（アドレスＮ＋１）フラッシュメモリデータ、及びＲＡＭ１０４の書換えデータの読み出しを行う。
【００２７】
書換えデータが消去状態のデータの場合、書換え回路１０５にて消去のみを行い、消去完了後アドレス制御回路１０３にて次に書換えを行うアドレス（図１では、アドレスＮ＋１）のフラッシュメモリデータ、及びＲＡＭ１０４の書換えデータの読み出しを行う。
【００２８】
以上の処理をフラッシュメモリ１０１の指定アドレスまで書換え最小単位で行う。
【００２９】
以上のように、実施の形態１によれば、フラッシュメモリ１０１に書き込まれているデータとＲＡＭ１０４上に格納された書換えデータをバイト単位で読み出して比較するデータ比較器１０２と、比較結果によりフラッシュメモリ１０１の消去、書換えを制御する書換え回路１０５とを備える。データ比較器１０２ではフラッシュメモリ１０１に書き込まれているデータとＲＡＭ１０４上に格納している書換えデータを比較し、比較結果が一致した場合はフラッシュメモリ１０１の書換えは行わない。また、書換え回路１０５は、比較結果が一致しない場合でも、フラッシュメモリのデータが消去状態のとき、消去処理を行わずＲＡＭ１０４上の書換えデータの書換えのみ行う。書換えデータが消去状態のデータと同じ場合、消去のみを行い、データの書換え処理は行わないように制御する。このように、書換えデータとフラッシュメモリに保存されたデータをバイト単位で比較することで、書換え処理を最適化することができる。すなわち、書換えデータによりフラッシュメモリの消去、書換えが任意のアドレスに必要なバイト数で行うことが可能となり、フラッシュメモリ書換えに要する時間の短縮化を図ることができる。
【００３０】
（実施の形態２）
実施の形態２は、マイクロコンピュータに内蔵されたソフトウェアによりフラッシュメモリの消去、書換えを制御するフラッシュメモリ書換え方法である。
【００３１】
図２は、本発明の実施の形態２に係るフラッシュメモリ書換え装置及び方法の書換え制御処理を示すフローチャートである。本フローは、例えばマイクロコンピュータ１００により実行される。図中、Ｓはフローの各ステップを示す。
【００３２】
まず、ステップＳ１でフラッシュメモリ上の書換えを行う任意のアドレスのデータとＲＡＭに格納されている書換え用データを比較し、フラッシュメモリ内データが書換えデータ（フラッシュメモリ内データ＝書換えデータ）か否かを判別する。フラッシュメモリ内データが書換えデータのときはステップＳ６に進む。フラッシュメモリ内データが書換えデータでないときは、ステップＳ２でフラッシュメモリに書き込まれているデータが消去されているか否かを判別し、フラッシュメモリに書き込まれているデータが消去されていなければ、ステップＳ３でフラッシュメモリ消去処理を行いステップＳ４に進む。フラッシュメモリに書き込まれているデータが消去されていれば、そのままステップＳ４に進む。上記ステップＳ３のフラッシュメモリ消去処理は、サブルーチンによる通常のフラッシュメモリ消去処理である。
【００３３】
ステップＳ４では、書換えデータが消去状態のデータか否かを判別し、書換えデータが消去状態のデータでなければ、ステップＳ５でフラッシュメモリ書換え処理を行いステップＳ６に進む。書換えデータが消去状態のデータであれば、そのままステップＳ６に進む。上記ステップＳ５のフラッシュメモリ書換え処理も、サブルーチンによる通常のフラッシュメモリ書換え処理である。
【００３４】
ステップＳ６では、フラッシュメモリ指定アドレスか否かを判別し、フラッシュメモリ指定アドレスでなければ、ステップＳ７で書換えアドレス制御処理を行って上記ステップＳ１に戻り、フラッシュメモリ指定アドレスになるまで上述した処理を繰り返す。上記ステップＳ７の書換えアドレス制御処理も、サブルーチンによる通常の書換えアドレス制御処理である。
【００３５】
上記ステップＳ６でフラッシュメモリ指定アドレスのときは本フローを終了する。
【００３６】
このように、フラッシュメモリ上の書換えを行うアドレスのデータとＲＡＭ上のフラッシュメモリ書換え用データを比較し（ステップＳ１）、データが一致した場合はフラッシュメモリの消去、書換えを省略し、指定アドレス判定処理（ステップＳ６）へ移行させる。不一致であれば、フラッシュメモリに書き込まれているデータが消去されているか判別し（ステップＳ２）、消去されていれば、書換えデータが消去状態のデータか判定する処理（ステップＳ４）へ移行する。消去状態のデータでなければ、フラッシュメモリの消去処理（ステップＳ３）を行う。フラッシュメモリの消去完了後、書換えデータが消去状態のデータのデータであるか判定処理（ステップＳ４）を行い、消去状態のデータの場合フラッシュメモリ書換え処理を行わず指定アドレス判定処理（ステップＳ６）へ移行させる。消去状態のデータでない場合はフラッシュメモリを書換える処理（ステップＳ５）を行う。書換え完了後、指定アドレス判定処理（ステップＳ６）へ移行させる。指定アドレス判定処理（ステップＳ６）では指定アドレスでなければ、次に書換えるアドレスへの切替え処理（ステップＳ７）を行い、指定アドレスであれば書換え処理を終了する。
【００３７】
以上のように、実施の形態２によれば、本処理をソフトウェアの書換え処理で実現することができ、汎用性の高い安価なフラッシュメモリ書換え装置を提供することが可能となる。
【００３８】
（実施の形態３）
図３は、本発明の実施の形態３に係るフラッシュメモリ書換え装置の構成を示す図である。
【００３９】
図３において、２００はマイクロコンピュータ、３００は書換え装置、３１０はマイクロコンピュータ２００と書換え装置３００間をシリアル通信で送受信するシリアル通信信号である。
【００４０】
マイクロコンピュータ２００は、マイクロコンピュータ側通信回路２０１、内蔵ＲＡＭ２０２、書換え回路２０３、及びフラッシュメモリ２０４を備えて構成される。
【００４１】
また、書換え装置３００は、前回書換えデータ格納部３０１、今回書換えデータ格納部３０２、比較回路３０３、及び書換え装置側シリアル通信回路３０４を備えて構成される。
【００４２】
マイクロコンピュータ２００と書換え装置３００はフラッシュメモリ書換えデータを通信するシリアル通信信号３１０で接続される。
【００４３】
比較回路３０３は、前回フラッシュメモリに書き込んだデータと新たに書き込むデータを差分比較する。また、比較回路３０３は、通信回路３０４を介して書換える必要があるデータのみシリアルバスなどの通信機能を用いてマイクロコンピュータ２００へ送信する。
【００４４】
以下、上述のように構成されたフラッシュメモリ書換え装置の動作を説明する。
【００４５】
書換え装置３００では、前回フラッシュメモリに対して書換えたデータ（前回書換えデータ格納部３０１に格納されたデータ）と今回フラッシュメモリに書換えるデータ（今回書換えデータ格納部３０２に格納されたデータ）を読み込ませる。読み込んだデータは、書換え装置３００の比較回路３０３でデータの比較を行う。比較結果により差異のあったデータは、通信回路３０４によるシリアル通信でアドレスとデータをマイクロコンピュータ２００へ送信される。
【００４６】
マイクロコンピュータ２００側では、通信回路２０１を通して受信したデータを内蔵ＲＡＭ２０２に格納し、書換え回路２０３で該当するアドレスに対してフラッシュメモリ２０４を消去、書換えを行う。この処理はデータに差異がなくなるまで繰り返し行われる。
【００４７】
したがって、実施の形態３によれば、マイクロコンピュータ２００と書換え装置３００とがシリアルバスなどの通信回路で接続されるシステムにおいて、実施の形態１と同様の効果を得ることができる。
【００４８】
（実施の形態４）
実施の形態４は、実施の形態３の書換え装置の構成をソフトウェアで実現したものである。
【００４９】
図４は、本発明の実施の形態４に係るフラッシュメモリ書換え装置及び方法の書換え制御処理を示すフローチャートであり、書換え装置側の処理を示す。
【００５０】
まず、ステップＳ１１で前回書換えたデータと今回書換えるデータの読み込み処理を実行し、ステップＳ１２で前回書換えたデータと今回書換えるデータの比較処理を実行し、ステップＳ１３でマイクロコンピュータへシリアル送受信処理を実行する。次いで、ステップＳ１４でフラッシュメモリ最終送信データか否かを判定し、フラッシュメモリ最終送信データでなければステップＳ１３に戻り、フラッシュメモリ最終送信データであれば本フローを終了する。
【００５１】
このように、書換え装置側では、前回フラッシュメモリを書換えたデータと今回書換えるデータを読み込む処理で読み込んだデータの比較を行う。比較結果により差異があるデータはシリアル送受信処理を通じて差異のあるデータのアドレスとデータをマイクロコンピュータ側に送信する制御を行う。この処理をフラッシュメモリの指定アドレスになるまで繰り返し行う。
【００５２】
実施の形態４によれば、実施の形態３の書換え装置３００をソフトウェアの書換え処理で実現することができ、汎用性の高い安価なフラッシュメモリ書換え装置を提供することが可能となる。
【００５３】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【００５４】
また、本実施の形態ではフラッシュメモリ書換え装置、フラッシュメモリ書換え方法という名称を用いたが、これは説明の便宜上であり、フラッシュメモリ書換え制御装置及びフラッシュメモリ制御方法等であってもよいことは勿論である。
【００５５】
さらに、上記フラッシュメモリ書換え装置を構成する各回路部、例えばアドレス制御回路等の種類、数及び接続方法などは前述した実施の形態に限られない。
【００５６】
また、以上説明したフラッシュメモリ書換え装置及び方法は、これらフラッシュメモリ書換え装置及び方法を機能させるためのプログラムでも実現される。このプログラムはコンピュータで読み取り可能な記録媒体に格納されている。
【産業上の利用可能性】
【００５７】
本発明に係るフラッシュメモリ書換え装置、フラッシュメモリ書換え方法は、データ消去及び書換えを高速化するフラッシュメモリ書換えシステムの用途に有用である。また、書き込み制御プログラムとしてフラッシュメモリ装置などを備える電子機器に組み込むことも可能である。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態１に係るフラッシュメモリ書換え装置の構成を示す図
【図２】本発明の実施の形態２に係るフラッシュメモリ書換え装置及び方法の書換え制御処理を示すフロー図
【図３】本発明の実施の形態３に係るフラッシュメモリ書換え装置の構成を示す図
【図４】本発明の実施の形態４に係るフラッシュメモリ書換え装置の書換え制御処理を示すフロー図
【符号の説明】
【００５９】
１００，２００  マイクロコンピュータ
１０１，２０４  フラッシュメモリ
１０２  データ比較器
１０３  アドレス制御回路
１０４，２０２  内蔵ＲＡＭ
１０５  書換え回路
２０１，３０４  通信回路
３００  書換え装置
３０１  前回書換えデータ格納部
３０２  今回書換えデータ格納部
３０３  比較回路
【図１】
2007052558.tif 000003
【図２】
2007052558.tif 000004
【図３】
2007052558.tif 000005
【図４】
2007052558.tif 000006