(57)【特許請求の範囲】
【請求項１】
データ転送装置と、データを記憶する複数のメモリブロックを有してメモリブロックに記憶されたデータがメモリブロックを単位として消去されるメモリのメモリブロックに記憶されたデータを消去して当該メモリブロックに書き込み対象となるデータを書き込む記憶領域更新装置とを有し、前記データ転送装置と前記記憶領域更新装置とがシリアル通信接続線を介して接続され、前記記憶領域更新装置に設けられたＲＡＭはメモリのメモリブロック１個分より少ない量のデータを記憶するものであり、前記データ転送装置から前記記憶領域更新装置に対して書き込み対象となるデータを転送して当該データを前記記憶領域更新装置に備えられたメモリに書き込むデータ転送システムにおいて、
前記データ転送装置は、
前記記憶領域更新装置に対して書き込み対象となるデータを転送する手段と、
前記転送される書き込み対象となるデータに誤り訂正符号又は誤り検出符号を付加する手段と、を備え、
前記記憶領域更新装置は、
前記データ転送装置から書き込み対象となるデータを受信する手段と、
書き込み対象となるデータの書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに書き込み対象となるデータを書き込むデータ蓄積手段と、
前記データ蓄積手段による書き込みが完了したことに応じて、書き込み先となるメモリブロックに記憶されたデータを消去するとともに、データ蓄積用メモリブロックに記憶された書き込み対象となるデータを読み出して当該データを書き込み先となるメモリブロックに書き込むデータ書き込み手段と、
書き込み対象となるデータに関して誤り訂正処理又は誤り検出処理を行う手段と、を備え、
当該データ転送システムでは、前記データ転送装置において誤り訂正符号又は誤り検出符号を転送対象となるデータに付加するとともに前記記憶領域更新装置において受信した当該データに関して誤り訂正処理又は誤り検出処理を行い、誤りが発生したときに当該データの再送を行う、
ことを特徴とするデータ転送システム。
【請求項２】
請求項１に記載のデータ転送システムにおいて、
前記記憶領域更新装置では、前記データ蓄積用のメモリブロックから前記書き込み先となるメモリブロックへ書き込み対象となるデータを転送する前に前記データ蓄積用のメモリブロックに格納された当該データに関して巡回冗長検査又はＳＵＭチェックを行って前記データ転送装置から前記データ蓄積用のメモリブロックへの当該データの転送が正常に行われたか否かを判定し、当該転送が正常に行われたことを確認したことに応じて前記データ蓄積用のメモリブロックから前記書き込み先となるメモリブロックへのデータ転送を行う、
ことを特徴とするデータ転送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリブロックを単位としてデータの消去を行うメモリにデータを書き込むメモリの書き込み装置に関し、特に、書き込み先となるメモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を短くした装置に関する。
【０００２】
【従来の技術】
例えば記憶装置の一種であるフラッシュメモリ等では、記憶されたデータを書き換えることが可能であるが、ＲＡＭ（Random Access Memory）等とは異なり、書き込み先となる記憶領域に記憶されたデータを消去した後に書き込み対象となるデータを当該記憶領域に書き込むといった手順が必要である。
【０００３】
一例として、電気的にデータの書き換えが可能である上記したフラッシュメモリでは、その記憶領域が例えば６４Ｋバイト等に相当する幾つかの領域（メモリブロック）に分割されており、当該メモリブロック単位（つまり、６４Ｋバイト等のデータ単位）でしかデータの消去を行うことができないといったものがある。このため、このようなフラッシュメモリでは、通常のＲＡＭ等とは異なり、データを１バイト単位で書き換えることはできない。
【０００４】
ところで、上記のようなフラッシュメモリ等にプログラムデータを格納するとともに当該フラッシュメモリ等とマイクロコンピュータ（マイコン）とを接続して動作を行う電気製品等の装置では、マイコンと外部のプログラム転送装置とを接続して、フラッシュメモリ等に記憶されたプログラムデータの一部又は全部の内容を消去して当該消去した記憶領域にプログラム転送装置から転送（伝送）された新たなプログラムデータの内容を書き込むことが多く行われている。
【０００５】
しかしながら、例えば小型の電気製品等では、通常は、フラッシュメモリ等のメモリブロック１個分より少ない記憶容量を有したＲＡＭしか搭載していないことも多く、このような場合には、例えばメモリブロック１個分に相当する量のデータをＲＡＭに一旦蓄積した後に実際の書き込み先となるメモリブロックに対してデータの書き込みを行うといったことはできない。
【０００６】
このため、従来では、例えば書き込み先となるメモリブロックに記憶されたプログラムデータを消去した後に、外部のプログラム転送装置から書き込み対象となるプログラムデータを転送して当該データを書き込み先となるメモリブロックに書き込むといった手順が用いられていた。ここで、外部の装置からの転送処理にはシリアルデータを伝送するシリアル通信が用いられることも多いが、このような転送処理は、通常、同一の装置の内部でデータをメモリ転送する場合と比べて、非常に遅く、長い時間がかかってしまう。
【０００７】
このようなことから、上記のようなデータの書き込みの仕方では、例えばプログラムデータ等の重要なデータを記憶するメモリブロックのデータが転送処理により書き換えられている途中で当該書き換え処理が中断されてしまうようなこと（例えば装置の電源がオフにされてしまうようなこと）が発生する可能性が高く、このようなことが発生すると、上記した電気製品等の装置が正常に動作しなくなってしまうといった不具合があった。
【０００８】
また、例えば割り込み処理が行われる装置において、割り込み処理ルーチンの格納場所（格納されている記憶領域）を示す割り込みベクターを記憶するメモリブロックのデータを書き換える場合には、当該メモリブロックに記憶されたデータ（割り込みベクターを含むデータ）を消去してから書き込み対象となるデータ（割り込みベクターを含むデータ）を書き込み終わるまでの間は割り込み処理を実行することができないが、上記のような外部の装置からの転送処理には上述のように非常に長い時間がかかってしまうため、長い時間の間、割り込み処理を実行することができなくなってしまうといった不具合があった。
【０００９】
ここで、例えば特開平１０−１２４４０３号公報に記載された「ブロック消去型フラッシュメモリの書込み方法」では、フラッシュメモリが有する複数のメモリブロックの一部を退避メモリブロックとするとともに他をデータ書込み用メモリブロックとし、所望のデータ書込み用メモリブロック（書込該当メモリブロック）に新たなデータを書き込む場合には、当該書込該当メモリブロックに既に書き込まれている既存データを退避メモリブロックに書き込んだ後に、当該書込該当メモリブロックに対してデータの消去及び書込みを実行することが行われる。
【００１０】
この方法では、前記書込該当メモリブロックに対する書込み処理が行われるときに前記既存データが保存されることになるが、例えば上記のような外部の装置からの転送処理が行われるような場合に書込該当メモリブロックを使用することができない時間（すなわち、当該書込該当メモリブロックに対する書き込みにかかる時間）が長いといったことは解消されず、本来使用すべき書込該当メモリブロックを用いて処理を実行することができない時間が長くなってしまう。
【００１１】
【発明が解決しようとする課題】
上述のように、従来のフラッシュメモリ等のデータ書き換え処理では、例えば書き込み対象となるデータが外部の装置から転送されるような場合には特に、書き込み先となるメモリブロックに記憶されたデータが消去されてから当該メモリブロックに新たなデータが書き込まれ終わるまでの時間が非常に長くなり、本来使用すべき当該メモリブロックを用いて処理を実行することができない時間が長くなってしまうといった不具合があった。
【００１２】
本発明は、このような従来の課題を解決するためになされたもので、メモリのメモリブロックに記憶されたデータを書き換えるに際して、当該メモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を短くすることができるメモリの書き込み装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るメモリの書き込み装置では、次のようにして、メモリが有するメモリブロックに記憶されたデータを消去して当該メモリブロックに書き込み対象となるデータを書き込む。ここで、本発明に言うメモリはデータを記憶する複数のメモリブロックを有しており、メモリブロックに記憶されたデータはメモリブロックを単位として消去される構成となっている。
【００１４】
すなわち、データ蓄積手段が書き込み対象となるデータの書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに書き込み対象となるデータを書き込み、データ書き込み手段がデータ蓄積手段による書き込みが完了したことに応じて、書き込み先となるメモリブロックに記憶されたデータを消去するとともに、データ蓄積用メモリブロックに記憶された書き込み対象となるデータを読み出して当該データを書き込み先となるメモリブロックに書き込む。
【００１５】
従って、書き込み対象となるデータがデータ蓄積用メモリブロックに書き込まれ終わった後に、書き込み先となるメモリブロックに記憶されたデータが消去されて、データ蓄積用メモリブロックに記憶されたデータが当該書き込み先となるメモリブロックに書き込まれるため、当該書き込み先となるメモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を非常に短くすることができる。
【００１６】
なお、メモリブロックに記憶されるデータとしては、特に限定はなく、種々なデータであってもよい。
また、メモリとしても、例えば複数のメモリブロックを有してメモリブロック単位でデータの消去を行うようなものであれば、どのようなメモリが用いられてもよい。
【００１７】
また、メモリが有するメモリブロックの数としては、複数であれば、任意であってもよい。
また、書き込み先となるメモリブロックやデータ蓄積用のメモリブロックとして割り当てられるメモリブロックの数としては、それぞれ１以上であれば、任意であってもよい。
また、書き込み先となるメモリブロックやデータ蓄積用のメモリブロックとしては、例えば予め固定的に割り当てられている構成であってもよく、また、例えばメモリの使用状況等に応じて可変的に割り当てられる構成であってもよい。
【００１８】
【発明の実施の形態】
本発明に係る一実施例を図面を参照して説明する。
図１には、本発明を適用した記憶領域更新装置１を備えたデータ転送システムの回路構成例を示してあり、このシステムには、記憶領域を更新する機能を有した当該記憶領域更新装置１と、データを転送（伝送）する機能を有したデータ転送装置２と、シリアルデータを伝送する機能を有したシリアル通信接続線３とが備えられており、記憶領域更新装置１とデータ転送装置２とがシリアル通信接続線３を介して接続されている。
【００１９】
本例では、記憶領域更新装置１の内部に備えられたフラッシュメモリ１１のデータ書き込み用データブロック１部Ｂ１に記憶されたデータの内容をデータ転送装置２の内部に備えられた主記憶装置２１の転送データ部Ｄに記憶されたデータの内容に書き換える場合を例として本発明の一実施例を説明する。
【００２０】
記憶領域更新装置１には、フラッシュメモリ１１と、ＲＡＭ１２と、シリアル変換器１３と、ＣＰＵ（Central Processing Unit）１４とが備えられている。フラッシュメモリ１１としては、本例では、ブロック消去型の記憶装置であり、且つ、１バイト単位でデータの書き込みが可能なものが用いられている。具体的には、本例のフラッシュメモリ１１の記憶領域は４つの領域（メモリブロックＢ１〜Ｂ４）に分割されており、各メモリブロックＢ１〜Ｂ４は例えば６４Ｋバイトの記憶領域に相当している。
【００２１】
本例では、上記した４つのメモリブロックＢ１〜Ｂ４の内の３個のメモリブロックＢ１〜Ｂ３がデータ書き込み用のメモリブロック（以下で、それぞれ、データ書き込み用データブロック１部Ｂ１、データ書き込み用データブロック２部Ｂ２、データ書き込み用データブロック３部と言う）として割り当てられており、残りの１個のメモリブロックＢ４がデータ蓄積用のメモリブロック（以下で、バッファブロックＢ４と言う）として割り当てられている。
【００２２】
また、本例では、上記した各データ書き込み用データブロックＢ１〜Ｂ３は、例えばＣＰＵ１４を制御するためのプログラムデータを格納（記憶）するために設けられており、また、上記したバッファブロックＢ４は、例えばデータ書き込み用データブロックＢ１〜Ｂ３に対して書き込もうとするデータを一時的に蓄積（記憶）するために設けられている。なお、上記したように、本例のフラッシュメモリ１１では、例えば各メモリブロックＢ１〜Ｂ４に対するデータの書き込みについては１バイト単位で行うことが可能であるが、各メモリブロックＢ１〜Ｂ４に記憶されたデータの消去についてはメモリブロック単位（つまり、本例では、６４Ｋバイト単位）でしか行うことができない。
【００２３】
ＲＡＭ１２は、例えば上記したフラッシュメモリ１１のメモリブロック１個分より少ない量（すなわち、本例では、６４Ｋバイト未満）のデータを記憶する機能を有した記憶装置であり、本例では、ＣＰＵ１４により処理されるプログラム等のデータを一時的に記憶する領域として用いられる。
シリアル変換器１３は、シリアルデータとパラレルデータとを変換する機能を有しており、本例では、後述するデータ転送装置２のシリアル変換器２２とシリアル通信接続線３を介して接続されており、シリアル通信接続線３を介して受信したシリアルデータをＣＰＵ１４により処理可能なパラレルデータへ変換してＣＰＵ１４へ出力する機能を有している。
【００２４】
ＣＰＵ１４は、例えばＲＡＭ１２の記憶領域を用いてフラッシュメモリ１１に記憶された各種のプログラムを実行することにより当該記憶領域更新装置１に係る各種の処理や制御を実行する機能を有しており、本例では、例えばフラッシュメモリ１１に記憶されたデータをメモリブロックＢ１〜Ｂ４毎に消去する処理や、例えばフラッシュメモリ１１に対してデータを書き込む処理や、例えばフラッシュメモリに記憶されたデータを読み出す処理や、例えば後述するデータ転送装置２からシリアル通信接続線３を介して送信（転送）されるデータをシリアル変換器１３により受信する処理等を実行する。
【００２５】
一方、データ転送装置２には、主記憶装置２１と、シリアル変換器２２と、ＣＰＵ２３とが備えられている。
主記憶装置２１は、ＣＰＵ２３から直接アクセスすることが可能なメモリ（記憶装置）であり、本例では、ＣＰＵ２３により転送処理の動作を実行させるためのプログラム（転送プログラム）のデータを記憶した記憶領域（転送プログラム部Ｐ）と、記憶領域更新装置１に対して転送するデータ（転送データ）を記憶した記憶領域（転送データ部Ｄ）とを有している。なお、転送データとしては、本例では、上記した記憶領域更新装置１のフラッシュメモリ１１のデータ書き込み用データブロック１部Ｂ１に書き込むべきデータが記憶される。
【００２６】
シリアル変換器２２は、シリアルデータとパラレルデータとを変換する機能を有しており、本例では、上記した記憶領域更新装置１のシリアル変換器１３とシリアル通信接続線３を介して接続されており、ＣＰＵ２３から入力されるパラレルデータをシリアルデータへ変換してシリアル通信接続線３へ送信出力する機能を有している。
【００２７】
ＣＰＵ２３は、例えばＲＡＭ（図示せず）の記憶領域を用いて主記憶装置２１に記憶された各種のプログラムを実行することにより当該データ転送装置２に係る各種の処理や制御を実行する機能を有しており、本例では、例えば主記憶装置２１から転送プログラムのデータや転送データを読み出す処理や、例えば読み出した転送データ等をシリアル変換器２２によりシリアルデータとしてシリアル通信接続線３を介して記憶領域更新装置１へ送信（転送）する処理等を実行する。
【００２８】
なお、本例のデータ転送装置２と記憶領域更新装置１との間で行われる転送処理では、データ転送装置２が特定のパターン（本例では、一例として、“ＡＡｈＡＡｈ”というパターン）を記憶領域更新装置１に対して送信出力した後に当該データ転送装置２が転送データ部Ｄに記憶された転送データを当該記憶領域更新装置１に対して送信（転送）する手順が用いられており、このような転送処理の手順が上記した転送プログラムによって規定されている。
【００２９】
次に、図２を参照して、本例のデータ転送システムにより行われる処理動作の一例を示す。
なお、本例では、上述したように、記憶領域更新装置１に備えられたフラッシュメモリ１１のデータ書き込み用データブロック１部Ｂ１の記憶内容を新たなプログラムデータの内容に書き換える場合を例として示す。
【００３０】
ここで、上記した新たなプログラムデータは、例えばデータ転送装置２に備えられた主記憶装置２１の転送データ部Ｄに転送データとして予め格納されているか、或いは、例えば以下に示す転送処理が行われる前にユーザ等により当該転送データ部Ｄに転送データとして格納されるものとする。また、本例では、記憶領域更新装置１に備えられたフラッシュメモリ１１のデータ書き込み用データブロック１部Ｂ１及びバッファブロックＢ４にはプログラムデータが書き込まれた状態であるとし、残りのデータ書き込み用データブロック２部Ｂ２及びデータ書き込み用データブロック３部Ｂ３にはプログラムデータが書き込まれた状態であっても書き込まれていない状態（空の状態）であってもよいとする。
【００３１】
また、上記図２では、新たなプログラムデータの書き込み前にデータ書き込み用データブロック１部Ｂ１に記憶されているプログラムデータを“旧プログラム”として示し、当該書き込み前にバッファブロックＢ４に記憶されているプログラムデータを“データ”として示し、当該新たなプログラムデータを“新プログラム”として示してある。また、同図では、プログラムデータが記憶されていても記憶されていなくてもよい残りの２つのデータ書き込み用データブロックＢ２、Ｂ３の記憶状態を“データ或いは空”として示し、データ書き込み用データブロック１部Ｂ１やバッファブロックＢ４に記憶されたデータが消去された状態を“消去”として示してある。
【００３２】
まず、データ転送装置２が動作させられて転送プログラムに従った処理が開始されると、データ転送装置２では、ＣＰＵ２３が上記したパターン“ＡＡｈＡＡｈ”のデータをシリアル変換器２２へ送ることで当該データをシリアル通信接続線３を介して記憶領域更新装置１へ送信し、その後、当該ＣＰＵ２３が主記憶装置２１の転送データ部Ｄに記憶された（本例では、記憶領域更新装置１のフラッシュメモリ１１に対する書き込み対象となる）転送データを同様にして記憶領域更新装置１へ送信（転送）する。なお、このような転送処理が開始される前における記憶領域更新装置１のフラッシュメモリ１１の状態が上記図２（ａ）に示されている。
【００３３】
上記したパターン“ＡＡｈＡＡｈ”のデータや転送データの送信処理がデータ転送装置２により行われると、当該パターン“ＡＡｈＡＡｈ”のデータや当該転送データがシリアル通信接続線３を介して記憶領域更新装置１のシリアル変換器１３に届く。そして、記憶領域更新装置１では、シリアル変換器１３がこのようなパターン“ＡＡｈＡＡｈ”のデータや転送データを受信して、受信したデータをＣＰＵ１４により処理することが可能なパラレルデータへ変換してＣＰＵ１４へ送る。
【００３４】
記憶領域更新装置１では、まず、ＣＰＵ１４がシリアル変換器１３からパターン“ＡＡｈＡＡｈ”のデータを受け取ったことに応じて、フラッシュメモリ１１の記憶領域の記憶内容を更新する要求があったと判断して、フラッシュメモリ１１のバッファブロックＢ４に記憶されているプログラムデータを消去する。なお、このような消去が行われたときにおける記憶領域更新装置１のフラッシュメモリ１１の状態が上記図２（ｂ）に示されている。
【００３５】
次に、記憶領域更新装置１では、ＣＰＵ１４がシリアル変換器１３から転送データを受信したことに応じて、当該転送データの内容をバッファブロックＢ４に書き込んでいく。そして、記憶領域更新装置１では、ＣＰＵ１４がシリアル変換器１３を介してデータ転送装置２から転送データの全てを受信して当該転送データの全てをバッファブロックＢ４に書き込んだと判断したときに、当該ＣＰＵ１４がデータ書き込み用データブロック１部Ｂ１に記憶されているプログラムデータを消去して、バッファブロックＢ４に書き込まれた転送データを読み出して当該転送データをデータ書き込み用データブロック１部Ｂ１に書き込む。
【００３６】
なお、転送データの内容がバッファブロックＢ４に書き込まれたときにおける記憶領域更新装置１のフラッシュメモリ１１の状態が上記図２（ｃ）に示されており、データ書き込み用データブロック１部Ｂ１に記憶されたプログラムデータが消去されたときにおける記憶領域更新装置１のフラッシュメモリ１１の状態が上記図２（ｄ）に示されており、データ書き込み用データブロック１部Ｂ１に転送データが書き込まれたときにおける記憶領域更新装置１のフラッシュメモリ１１の状態が上記図２（ｅ）に示されている。
【００３７】
以上のように、本例のデータ転送システムでは、データ転送装置２から記憶領域更新装置１に対して書き込み対象となる転送データを転送して当該転送データを記憶領域更新装置１に備えられたフラッシュメモリ１１に書き込むときに、記憶領域更新装置１がまずデータ蓄積用のバッファブロックＢ４の記憶内容を消去した後に当該バッファブロックＢ４に受信した転送データを書き込んで蓄積し、このようなバッファブロックＢ４に対する書き込みが完了した後に、当該転送データの書き込み先となるデータ書き込み用データブロック（本例では、データ書き込み用データブロック１部Ｂ１）の記憶内容を消去してから、当該バッファブロックＢ４に蓄積された転送データを当該書き込み先となるデータ書き込み用データブロックに転送して書き込むことが行われる。
【００３８】
従って、本例のデータ転送システムに備えられた記憶領域更新装置１では、例えば本例のようにＲＡＭ１２の記憶容量が少ない状況においてブロック消去型メモリ（本例では、フラッシュメモリ１１）のメモリブロックの記憶内容を書き換えるような場合であっても、書き込み先となるメモリブロック（本例では、データ書き込み用データブロック１部Ｂ１）の記憶内容を消去してから当該メモリブロックに対するデータの書き込みが完了するまでに要する時間を極めて短くすることができる。
【００３９】
そして、本例の記憶領域更新装置１では、例えばプログラム等の重要なデータを記憶するメモリブロックの記憶内容を書き換える途中で、バッファブロック（本例では、バッファブロックＢ４）から書き込み先となるメモリブロックへのデータ転送の動作が中断されてしまったような場合であっても、書き込み対象となるデータが消失してしまう可能性を極めて低くすることができ、このため、記憶領域の更新を安全に行うことができる。
【００４０】
また、本例の記憶領域更新装置１では、例えば割り込みベクターを含むデータを記憶したメモリブロックの記憶内容を書き換えるような場合であっても、書き込み対象となるデータの全てを外部の装置（本例では、データ転送装置２）から受け取った後に書き込み先となるメモリブロックに対するデータの消去及びデータの書き込みが行われることから、当該データ消去が行われるまでは当該メモリブロックに記憶された割り込みベクターを用いて割り込み処理を実行することが可能であり、書き込み先となるメモリブロックに記憶された割り込みベクターを用いて割り込み処理を行うことができない時間を極めて短くすることができる。
【００４１】
なお、本例では、フラッシュメモリ１１が有する１個のデータ書き込み用データブロックＢ１のみに対してデータを書き込む例を示したが、例えば本例と同様な書き込み処理を複数回行うことにより、複数のデータ書き込み用データブロックＢ１〜Ｂ３に対してデータを書き込むことができる。また、本例では、１個のバッファブロックＢ４のみを用意したが、例えば複数個のバッファブロックを用意しておくことも可能である。
【００４２】
また、本例では、書き込み対象となるデータ（本例では、転送データ）を一括してデータ転送装置２から記憶領域更新装置１へ送る構成としたが、例えば当該データを幾つかのブロックに分けて送ることも可能である。また、書き込み対象となるデータを一括して送る場合或いは幾つかのブロックに分けて送る場合のいずれの場合においても、例えばデータ転送装置２が誤り訂正符号や誤り検出符号を転送対象となるデータに付加するとともに記憶領域更新装置１が受信した当該データに関して誤り訂正処理や誤り検出処理を行って、誤りが発生したときに当該データの再送を行う構成とすることも可能である。
【００４３】
また、記憶領域更新装置１において、例えばバッファブロックＢ４から書き込み先となるデータ書き込み用データブロックＢ１へ書き込み対象となるデータ（本例では、転送データ）を転送する前に当該バッファブロックＢ４に格納された当該データに関して巡回冗長検査（CRC:Cyclic Redundancy Check）やＳＵＭチェック等を行ってデータ転送装置２から当該バッファブロックＢ４への当該データの転送が正常に行われたか否かを判定するようにし、当該転送が正常に行われたことを確認したことに応じてバッファブロックＢ４から書き込み先となるデータ書き込み用データブロックＢ１へのデータ転送を行う構成とすることも可能である。
【００４４】
ここで、本例の記憶領域更新装置１では、フラッシュメモリ１１が本発明に言うメモリに相当し、４個のメモリブロックＢ１〜Ｂ４が本発明に言う複数のメモリブロックに相当し、上記した転送データが本発明に言う書き込み対象となるデータに相当し、データ書き込み用データブロック１部Ｂ１が本発明に言う書き込み先となるメモリブロックに相当し、バッファブロックＢ４が本発明に言う書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに相当する。
【００４５】
なお、メモリ（本例では、フラッシュメモリ１１）が有する複数のメモリブロックに対してデータ蓄積用のメモリブロックとデータ書き込み用のメモリブロックとを割り当てる態様としては、必ずしも本例の態様に限られず、種々な態様が用いられてもよい。本例では、メモリが有する複数のメモリブロックの中の１以上の（本例では、１個の）メモリブロックをデータ蓄積用のメモリブロックとして割り当てるとともに、それ以外のメモリブロックをデータ書き込み用の（すなわち、データ蓄積用ではなく、データを格納するために本来使用されるべき）メモリブロックとして割り当てる態様を用いた。
【００４６】
また、本例では、本発明に言うメモリとしてフラッシュメモリを用いた場合を示したが、例えば複数のメモリブロックを有してメモリブロックに記憶されたデータがメモリブロックを単位として消去されるようなものであれば、他のメモリが用いられてもよい。
【００４７】
また、本例の記憶領域更新装置１では、ＣＰＵ１４がデータ蓄積用のバッファブロックＢ４に書き込み対象となる転送データ（本例では、プログラムデータ）を書き込む機能により、本発明に言うデータ蓄積手段が構成されている。
また、本例の記憶領域更新装置１では、ＣＰＵ１４がバッファブロックＢ４に対する転送データの書き込みが完了したことを確認したことに応じて、書き込み先となるデータ書き込み用データブロック１部Ｂ１に記憶されたプログラムデータを消去するとともに、バッファブロックＢ４に記憶された前記転送データを読み出して当該データを書き込み先となるデータ書き込み用データブロック１部Ｂ１に書き込む機能により、本発明に言うデータ書き込み手段が構成されている。
【００４８】
なお、本発明に係るメモリの書き換え装置の構成としては、必ずしも本例で示したものに限られず、種々な構成が用いられてもよい。
一例として、本例では、本発明に係るメモリの書き換え装置により行われる各種の処理が、例えばプロセッサ（本例では、ＣＰＵ１４）やメモリ（本例では、ＲＡＭ１２）等を備えたハードウエア資源においてプロセッサがＲＯＭ（本例では、フラッシュメモリ１１）に格納された制御プログラムを実行することにより制御される構成としたが、例えば当該処理を実行するための各機能手段を独立したハードウエア回路として構成することも可能である。
【００４９】
また、本発明は上記の制御プログラムを格納したフロッピーディスクやＣＤ−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体として把握することもでき、当該制御プログラムを記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【００５０】
【発明の効果】
以上説明したように、本発明に係るメモリの書き換え装置によると、データを記憶する複数のメモリブロックを有してメモリブロックに記憶されたデータがメモリブロックを単位として消去されるメモリに対して、メモリブロックに記憶されたデータを消去して当該メモリブロックに書き込み対象となるデータを書き込むに際して、書き込み対象となるデータの書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに書き込み対象となるデータを書き込んだ後に、書き込み先となるメモリブロックに記憶されたデータを消去するとともに、データ蓄積用メモリブロックに記憶された書き込み対象となるデータを読み出して当該データを書き込み先となるメモリブロックに書き込むようにしたため、書き込み先となるメモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を非常に短くすることができる。
【図面の簡単な説明】
【図１】本発明を適用した記憶領域更新装置を備えたデータ転送システムの一例を示す図である。
【図２】メモリブロックの書き換え処理の一例を説明するための図である。
【符号の説明】
１・・記憶領域更新装置、  ２・・データ転送装置、
３・・シリアル通信接続線、  １１・・フラッシュメモリ、
Ｂ１〜Ｂ３・・データ書き込み用データブロック、
Ｂ４・・バッファブロック、  １２・・ＲＡＭ、
１３、２２・・シリアル変換器、  １４、２３・・ＣＰＵ、
２１・・主記憶装置、  Ｐ・・転送プログラム部、  Ｄ・・転送データ部、
【図１】
0004478298.tif 000002
【図２】
0004478298.tif 000003