JP4478298B2 - データ転送システム - Google Patents
データ転送システム Download PDFInfo
- Publication number
- JP4478298B2 JP4478298B2 JP2000187103A JP2000187103A JP4478298B2 JP 4478298 B2 JP4478298 B2 JP 4478298B2 JP 2000187103 A JP2000187103 A JP 2000187103A JP 2000187103 A JP2000187103 A JP 2000187103A JP 4478298 B2 JP4478298 B2 JP 4478298B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory block
- memory
- written
- storage area
- 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
Links
Images
Landscapes
- Read Only Memory (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、メモリブロックを単位としてデータの消去を行うメモリにデータを書き込むメモリの書き込み装置に関し、特に、書き込み先となるメモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を短くした装置に関する。
【0002】
【従来の技術】
例えば記憶装置の一種であるフラッシュメモリ等では、記憶されたデータを書き換えることが可能であるが、RAM(Random Access Memory)等とは異なり、書き込み先となる記憶領域に記憶されたデータを消去した後に書き込み対象となるデータを当該記憶領域に書き込むといった手順が必要である。
【0003】
一例として、電気的にデータの書き換えが可能である上記したフラッシュメモリでは、その記憶領域が例えば64Kバイト等に相当する幾つかの領域(メモリブロック)に分割されており、当該メモリブロック単位(つまり、64Kバイト等のデータ単位)でしかデータの消去を行うことができないといったものがある。このため、このようなフラッシュメモリでは、通常のRAM等とは異なり、データを1バイト単位で書き換えることはできない。
【0004】
ところで、上記のようなフラッシュメモリ等にプログラムデータを格納するとともに当該フラッシュメモリ等とマイクロコンピュータ(マイコン)とを接続して動作を行う電気製品等の装置では、マイコンと外部のプログラム転送装置とを接続して、フラッシュメモリ等に記憶されたプログラムデータの一部又は全部の内容を消去して当該消去した記憶領域にプログラム転送装置から転送(伝送)された新たなプログラムデータの内容を書き込むことが多く行われている。
【0005】
しかしながら、例えば小型の電気製品等では、通常は、フラッシュメモリ等のメモリブロック1個分より少ない記憶容量を有したRAMしか搭載していないことも多く、このような場合には、例えばメモリブロック1個分に相当する量のデータをRAMに一旦蓄積した後に実際の書き込み先となるメモリブロックに対してデータの書き込みを行うといったことはできない。
【0006】
このため、従来では、例えば書き込み先となるメモリブロックに記憶されたプログラムデータを消去した後に、外部のプログラム転送装置から書き込み対象となるプログラムデータを転送して当該データを書き込み先となるメモリブロックに書き込むといった手順が用いられていた。ここで、外部の装置からの転送処理にはシリアルデータを伝送するシリアル通信が用いられることも多いが、このような転送処理は、通常、同一の装置の内部でデータをメモリ転送する場合と比べて、非常に遅く、長い時間がかかってしまう。
【0007】
このようなことから、上記のようなデータの書き込みの仕方では、例えばプログラムデータ等の重要なデータを記憶するメモリブロックのデータが転送処理により書き換えられている途中で当該書き換え処理が中断されてしまうようなこと(例えば装置の電源がオフにされてしまうようなこと)が発生する可能性が高く、このようなことが発生すると、上記した電気製品等の装置が正常に動作しなくなってしまうといった不具合があった。
【0008】
また、例えば割り込み処理が行われる装置において、割り込み処理ルーチンの格納場所(格納されている記憶領域)を示す割り込みベクターを記憶するメモリブロックのデータを書き換える場合には、当該メモリブロックに記憶されたデータ(割り込みベクターを含むデータ)を消去してから書き込み対象となるデータ(割り込みベクターを含むデータ)を書き込み終わるまでの間は割り込み処理を実行することができないが、上記のような外部の装置からの転送処理には上述のように非常に長い時間がかかってしまうため、長い時間の間、割り込み処理を実行することができなくなってしまうといった不具合があった。
【0009】
ここで、例えば特開平10−124403号公報に記載された「ブロック消去型フラッシュメモリの書込み方法」では、フラッシュメモリが有する複数のメモリブロックの一部を退避メモリブロックとするとともに他をデータ書込み用メモリブロックとし、所望のデータ書込み用メモリブロック(書込該当メモリブロック)に新たなデータを書き込む場合には、当該書込該当メモリブロックに既に書き込まれている既存データを退避メモリブロックに書き込んだ後に、当該書込該当メモリブロックに対してデータの消去及び書込みを実行することが行われる。
【0010】
この方法では、前記書込該当メモリブロックに対する書込み処理が行われるときに前記既存データが保存されることになるが、例えば上記のような外部の装置からの転送処理が行われるような場合に書込該当メモリブロックを使用することができない時間(すなわち、当該書込該当メモリブロックに対する書き込みにかかる時間)が長いといったことは解消されず、本来使用すべき書込該当メモリブロックを用いて処理を実行することができない時間が長くなってしまう。
【0011】
【発明が解決しようとする課題】
上述のように、従来のフラッシュメモリ等のデータ書き換え処理では、例えば書き込み対象となるデータが外部の装置から転送されるような場合には特に、書き込み先となるメモリブロックに記憶されたデータが消去されてから当該メモリブロックに新たなデータが書き込まれ終わるまでの時間が非常に長くなり、本来使用すべき当該メモリブロックを用いて処理を実行することができない時間が長くなってしまうといった不具合があった。
【0012】
本発明は、このような従来の課題を解決するためになされたもので、メモリのメモリブロックに記憶されたデータを書き換えるに際して、当該メモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を短くすることができるメモリの書き込み装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るメモリの書き込み装置では、次のようにして、メモリが有するメモリブロックに記憶されたデータを消去して当該メモリブロックに書き込み対象となるデータを書き込む。ここで、本発明に言うメモリはデータを記憶する複数のメモリブロックを有しており、メモリブロックに記憶されたデータはメモリブロックを単位として消去される構成となっている。
【0014】
すなわち、データ蓄積手段が書き込み対象となるデータの書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに書き込み対象となるデータを書き込み、データ書き込み手段がデータ蓄積手段による書き込みが完了したことに応じて、書き込み先となるメモリブロックに記憶されたデータを消去するとともに、データ蓄積用メモリブロックに記憶された書き込み対象となるデータを読み出して当該データを書き込み先となるメモリブロックに書き込む。
【0015】
従って、書き込み対象となるデータがデータ蓄積用メモリブロックに書き込まれ終わった後に、書き込み先となるメモリブロックに記憶されたデータが消去されて、データ蓄積用メモリブロックに記憶されたデータが当該書き込み先となるメモリブロックに書き込まれるため、当該書き込み先となるメモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を非常に短くすることができる。
【0016】
なお、メモリブロックに記憶されるデータとしては、特に限定はなく、種々なデータであってもよい。
また、メモリとしても、例えば複数のメモリブロックを有してメモリブロック単位でデータの消去を行うようなものであれば、どのようなメモリが用いられてもよい。
【0017】
また、メモリが有するメモリブロックの数としては、複数であれば、任意であってもよい。
また、書き込み先となるメモリブロックやデータ蓄積用のメモリブロックとして割り当てられるメモリブロックの数としては、それぞれ1以上であれば、任意であってもよい。
また、書き込み先となるメモリブロックやデータ蓄積用のメモリブロックとしては、例えば予め固定的に割り当てられている構成であってもよく、また、例えばメモリの使用状況等に応じて可変的に割り当てられる構成であってもよい。
【0018】
【発明の実施の形態】
本発明に係る一実施例を図面を参照して説明する。
図1には、本発明を適用した記憶領域更新装置1を備えたデータ転送システムの回路構成例を示してあり、このシステムには、記憶領域を更新する機能を有した当該記憶領域更新装置1と、データを転送(伝送)する機能を有したデータ転送装置2と、シリアルデータを伝送する機能を有したシリアル通信接続線3とが備えられており、記憶領域更新装置1とデータ転送装置2とがシリアル通信接続線3を介して接続されている。
【0019】
本例では、記憶領域更新装置1の内部に備えられたフラッシュメモリ11のデータ書き込み用データブロック1部B1に記憶されたデータの内容をデータ転送装置2の内部に備えられた主記憶装置21の転送データ部Dに記憶されたデータの内容に書き換える場合を例として本発明の一実施例を説明する。
【0020】
記憶領域更新装置1には、フラッシュメモリ11と、RAM12と、シリアル変換器13と、CPU(Central Processing Unit)14とが備えられている。フラッシュメモリ11としては、本例では、ブロック消去型の記憶装置であり、且つ、1バイト単位でデータの書き込みが可能なものが用いられている。具体的には、本例のフラッシュメモリ11の記憶領域は4つの領域(メモリブロックB1〜B4)に分割されており、各メモリブロックB1〜B4は例えば64Kバイトの記憶領域に相当している。
【0021】
本例では、上記した4つのメモリブロックB1〜B4の内の3個のメモリブロックB1〜B3がデータ書き込み用のメモリブロック(以下で、それぞれ、データ書き込み用データブロック1部B1、データ書き込み用データブロック2部B2、データ書き込み用データブロック3部と言う)として割り当てられており、残りの1個のメモリブロックB4がデータ蓄積用のメモリブロック(以下で、バッファブロックB4と言う)として割り当てられている。
【0022】
また、本例では、上記した各データ書き込み用データブロックB1〜B3は、例えばCPU14を制御するためのプログラムデータを格納(記憶)するために設けられており、また、上記したバッファブロックB4は、例えばデータ書き込み用データブロックB1〜B3に対して書き込もうとするデータを一時的に蓄積(記憶)するために設けられている。なお、上記したように、本例のフラッシュメモリ11では、例えば各メモリブロックB1〜B4に対するデータの書き込みについては1バイト単位で行うことが可能であるが、各メモリブロックB1〜B4に記憶されたデータの消去についてはメモリブロック単位(つまり、本例では、64Kバイト単位)でしか行うことができない。
【0023】
RAM12は、例えば上記したフラッシュメモリ11のメモリブロック1個分より少ない量(すなわち、本例では、64Kバイト未満)のデータを記憶する機能を有した記憶装置であり、本例では、CPU14により処理されるプログラム等のデータを一時的に記憶する領域として用いられる。
シリアル変換器13は、シリアルデータとパラレルデータとを変換する機能を有しており、本例では、後述するデータ転送装置2のシリアル変換器22とシリアル通信接続線3を介して接続されており、シリアル通信接続線3を介して受信したシリアルデータをCPU14により処理可能なパラレルデータへ変換してCPU14へ出力する機能を有している。
【0024】
CPU14は、例えばRAM12の記憶領域を用いてフラッシュメモリ11に記憶された各種のプログラムを実行することにより当該記憶領域更新装置1に係る各種の処理や制御を実行する機能を有しており、本例では、例えばフラッシュメモリ11に記憶されたデータをメモリブロックB1〜B4毎に消去する処理や、例えばフラッシュメモリ11に対してデータを書き込む処理や、例えばフラッシュメモリに記憶されたデータを読み出す処理や、例えば後述するデータ転送装置2からシリアル通信接続線3を介して送信(転送)されるデータをシリアル変換器13により受信する処理等を実行する。
【0025】
一方、データ転送装置2には、主記憶装置21と、シリアル変換器22と、CPU23とが備えられている。
主記憶装置21は、CPU23から直接アクセスすることが可能なメモリ(記憶装置)であり、本例では、CPU23により転送処理の動作を実行させるためのプログラム(転送プログラム)のデータを記憶した記憶領域(転送プログラム部P)と、記憶領域更新装置1に対して転送するデータ(転送データ)を記憶した記憶領域(転送データ部D)とを有している。なお、転送データとしては、本例では、上記した記憶領域更新装置1のフラッシュメモリ11のデータ書き込み用データブロック1部B1に書き込むべきデータが記憶される。
【0026】
シリアル変換器22は、シリアルデータとパラレルデータとを変換する機能を有しており、本例では、上記した記憶領域更新装置1のシリアル変換器13とシリアル通信接続線3を介して接続されており、CPU23から入力されるパラレルデータをシリアルデータへ変換してシリアル通信接続線3へ送信出力する機能を有している。
【0027】
CPU23は、例えばRAM(図示せず)の記憶領域を用いて主記憶装置21に記憶された各種のプログラムを実行することにより当該データ転送装置2に係る各種の処理や制御を実行する機能を有しており、本例では、例えば主記憶装置21から転送プログラムのデータや転送データを読み出す処理や、例えば読み出した転送データ等をシリアル変換器22によりシリアルデータとしてシリアル通信接続線3を介して記憶領域更新装置1へ送信(転送)する処理等を実行する。
【0028】
なお、本例のデータ転送装置2と記憶領域更新装置1との間で行われる転送処理では、データ転送装置2が特定のパターン(本例では、一例として、“AAhAAh”というパターン)を記憶領域更新装置1に対して送信出力した後に当該データ転送装置2が転送データ部Dに記憶された転送データを当該記憶領域更新装置1に対して送信(転送)する手順が用いられており、このような転送処理の手順が上記した転送プログラムによって規定されている。
【0029】
次に、図2を参照して、本例のデータ転送システムにより行われる処理動作の一例を示す。
なお、本例では、上述したように、記憶領域更新装置1に備えられたフラッシュメモリ11のデータ書き込み用データブロック1部B1の記憶内容を新たなプログラムデータの内容に書き換える場合を例として示す。
【0030】
ここで、上記した新たなプログラムデータは、例えばデータ転送装置2に備えられた主記憶装置21の転送データ部Dに転送データとして予め格納されているか、或いは、例えば以下に示す転送処理が行われる前にユーザ等により当該転送データ部Dに転送データとして格納されるものとする。また、本例では、記憶領域更新装置1に備えられたフラッシュメモリ11のデータ書き込み用データブロック1部B1及びバッファブロックB4にはプログラムデータが書き込まれた状態であるとし、残りのデータ書き込み用データブロック2部B2及びデータ書き込み用データブロック3部B3にはプログラムデータが書き込まれた状態であっても書き込まれていない状態(空の状態)であってもよいとする。
【0031】
また、上記図2では、新たなプログラムデータの書き込み前にデータ書き込み用データブロック1部B1に記憶されているプログラムデータを“旧プログラム”として示し、当該書き込み前にバッファブロックB4に記憶されているプログラムデータを“データ”として示し、当該新たなプログラムデータを“新プログラム”として示してある。また、同図では、プログラムデータが記憶されていても記憶されていなくてもよい残りの2つのデータ書き込み用データブロックB2、B3の記憶状態を“データ或いは空”として示し、データ書き込み用データブロック1部B1やバッファブロックB4に記憶されたデータが消去された状態を“消去”として示してある。
【0032】
まず、データ転送装置2が動作させられて転送プログラムに従った処理が開始されると、データ転送装置2では、CPU23が上記したパターン“AAhAAh”のデータをシリアル変換器22へ送ることで当該データをシリアル通信接続線3を介して記憶領域更新装置1へ送信し、その後、当該CPU23が主記憶装置21の転送データ部Dに記憶された(本例では、記憶領域更新装置1のフラッシュメモリ11に対する書き込み対象となる)転送データを同様にして記憶領域更新装置1へ送信(転送)する。なお、このような転送処理が開始される前における記憶領域更新装置1のフラッシュメモリ11の状態が上記図2(a)に示されている。
【0033】
上記したパターン“AAhAAh”のデータや転送データの送信処理がデータ転送装置2により行われると、当該パターン“AAhAAh”のデータや当該転送データがシリアル通信接続線3を介して記憶領域更新装置1のシリアル変換器13に届く。そして、記憶領域更新装置1では、シリアル変換器13がこのようなパターン“AAhAAh”のデータや転送データを受信して、受信したデータをCPU14により処理することが可能なパラレルデータへ変換してCPU14へ送る。
【0034】
記憶領域更新装置1では、まず、CPU14がシリアル変換器13からパターン“AAhAAh”のデータを受け取ったことに応じて、フラッシュメモリ11の記憶領域の記憶内容を更新する要求があったと判断して、フラッシュメモリ11のバッファブロックB4に記憶されているプログラムデータを消去する。なお、このような消去が行われたときにおける記憶領域更新装置1のフラッシュメモリ11の状態が上記図2(b)に示されている。
【0035】
次に、記憶領域更新装置1では、CPU14がシリアル変換器13から転送データを受信したことに応じて、当該転送データの内容をバッファブロックB4に書き込んでいく。そして、記憶領域更新装置1では、CPU14がシリアル変換器13を介してデータ転送装置2から転送データの全てを受信して当該転送データの全てをバッファブロックB4に書き込んだと判断したときに、当該CPU14がデータ書き込み用データブロック1部B1に記憶されているプログラムデータを消去して、バッファブロックB4に書き込まれた転送データを読み出して当該転送データをデータ書き込み用データブロック1部B1に書き込む。
【0036】
なお、転送データの内容がバッファブロックB4に書き込まれたときにおける記憶領域更新装置1のフラッシュメモリ11の状態が上記図2(c)に示されており、データ書き込み用データブロック1部B1に記憶されたプログラムデータが消去されたときにおける記憶領域更新装置1のフラッシュメモリ11の状態が上記図2(d)に示されており、データ書き込み用データブロック1部B1に転送データが書き込まれたときにおける記憶領域更新装置1のフラッシュメモリ11の状態が上記図2(e)に示されている。
【0037】
以上のように、本例のデータ転送システムでは、データ転送装置2から記憶領域更新装置1に対して書き込み対象となる転送データを転送して当該転送データを記憶領域更新装置1に備えられたフラッシュメモリ11に書き込むときに、記憶領域更新装置1がまずデータ蓄積用のバッファブロックB4の記憶内容を消去した後に当該バッファブロックB4に受信した転送データを書き込んで蓄積し、このようなバッファブロックB4に対する書き込みが完了した後に、当該転送データの書き込み先となるデータ書き込み用データブロック(本例では、データ書き込み用データブロック1部B1)の記憶内容を消去してから、当該バッファブロックB4に蓄積された転送データを当該書き込み先となるデータ書き込み用データブロックに転送して書き込むことが行われる。
【0038】
従って、本例のデータ転送システムに備えられた記憶領域更新装置1では、例えば本例のようにRAM12の記憶容量が少ない状況においてブロック消去型メモリ(本例では、フラッシュメモリ11)のメモリブロックの記憶内容を書き換えるような場合であっても、書き込み先となるメモリブロック(本例では、データ書き込み用データブロック1部B1)の記憶内容を消去してから当該メモリブロックに対するデータの書き込みが完了するまでに要する時間を極めて短くすることができる。
【0039】
そして、本例の記憶領域更新装置1では、例えばプログラム等の重要なデータを記憶するメモリブロックの記憶内容を書き換える途中で、バッファブロック(本例では、バッファブロックB4)から書き込み先となるメモリブロックへのデータ転送の動作が中断されてしまったような場合であっても、書き込み対象となるデータが消失してしまう可能性を極めて低くすることができ、このため、記憶領域の更新を安全に行うことができる。
【0040】
また、本例の記憶領域更新装置1では、例えば割り込みベクターを含むデータを記憶したメモリブロックの記憶内容を書き換えるような場合であっても、書き込み対象となるデータの全てを外部の装置(本例では、データ転送装置2)から受け取った後に書き込み先となるメモリブロックに対するデータの消去及びデータの書き込みが行われることから、当該データ消去が行われるまでは当該メモリブロックに記憶された割り込みベクターを用いて割り込み処理を実行することが可能であり、書き込み先となるメモリブロックに記憶された割り込みベクターを用いて割り込み処理を行うことができない時間を極めて短くすることができる。
【0041】
なお、本例では、フラッシュメモリ11が有する1個のデータ書き込み用データブロックB1のみに対してデータを書き込む例を示したが、例えば本例と同様な書き込み処理を複数回行うことにより、複数のデータ書き込み用データブロックB1〜B3に対してデータを書き込むことができる。また、本例では、1個のバッファブロックB4のみを用意したが、例えば複数個のバッファブロックを用意しておくことも可能である。
【0042】
また、本例では、書き込み対象となるデータ(本例では、転送データ)を一括してデータ転送装置2から記憶領域更新装置1へ送る構成としたが、例えば当該データを幾つかのブロックに分けて送ることも可能である。また、書き込み対象となるデータを一括して送る場合或いは幾つかのブロックに分けて送る場合のいずれの場合においても、例えばデータ転送装置2が誤り訂正符号や誤り検出符号を転送対象となるデータに付加するとともに記憶領域更新装置1が受信した当該データに関して誤り訂正処理や誤り検出処理を行って、誤りが発生したときに当該データの再送を行う構成とすることも可能である。
【0043】
また、記憶領域更新装置1において、例えばバッファブロックB4から書き込み先となるデータ書き込み用データブロックB1へ書き込み対象となるデータ(本例では、転送データ)を転送する前に当該バッファブロックB4に格納された当該データに関して巡回冗長検査(CRC:Cyclic Redundancy Check)やSUMチェック等を行ってデータ転送装置2から当該バッファブロックB4への当該データの転送が正常に行われたか否かを判定するようにし、当該転送が正常に行われたことを確認したことに応じてバッファブロックB4から書き込み先となるデータ書き込み用データブロックB1へのデータ転送を行う構成とすることも可能である。
【0044】
ここで、本例の記憶領域更新装置1では、フラッシュメモリ11が本発明に言うメモリに相当し、4個のメモリブロックB1〜B4が本発明に言う複数のメモリブロックに相当し、上記した転送データが本発明に言う書き込み対象となるデータに相当し、データ書き込み用データブロック1部B1が本発明に言う書き込み先となるメモリブロックに相当し、バッファブロックB4が本発明に言う書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに相当する。
【0045】
なお、メモリ(本例では、フラッシュメモリ11)が有する複数のメモリブロックに対してデータ蓄積用のメモリブロックとデータ書き込み用のメモリブロックとを割り当てる態様としては、必ずしも本例の態様に限られず、種々な態様が用いられてもよい。本例では、メモリが有する複数のメモリブロックの中の1以上の(本例では、1個の)メモリブロックをデータ蓄積用のメモリブロックとして割り当てるとともに、それ以外のメモリブロックをデータ書き込み用の(すなわち、データ蓄積用ではなく、データを格納するために本来使用されるべき)メモリブロックとして割り当てる態様を用いた。
【0046】
また、本例では、本発明に言うメモリとしてフラッシュメモリを用いた場合を示したが、例えば複数のメモリブロックを有してメモリブロックに記憶されたデータがメモリブロックを単位として消去されるようなものであれば、他のメモリが用いられてもよい。
【0047】
また、本例の記憶領域更新装置1では、CPU14がデータ蓄積用のバッファブロックB4に書き込み対象となる転送データ(本例では、プログラムデータ)を書き込む機能により、本発明に言うデータ蓄積手段が構成されている。
また、本例の記憶領域更新装置1では、CPU14がバッファブロックB4に対する転送データの書き込みが完了したことを確認したことに応じて、書き込み先となるデータ書き込み用データブロック1部B1に記憶されたプログラムデータを消去するとともに、バッファブロックB4に記憶された前記転送データを読み出して当該データを書き込み先となるデータ書き込み用データブロック1部B1に書き込む機能により、本発明に言うデータ書き込み手段が構成されている。
【0048】
なお、本発明に係るメモリの書き換え装置の構成としては、必ずしも本例で示したものに限られず、種々な構成が用いられてもよい。
一例として、本例では、本発明に係るメモリの書き換え装置により行われる各種の処理が、例えばプロセッサ(本例では、CPU14)やメモリ(本例では、RAM12)等を備えたハードウエア資源においてプロセッサがROM(本例では、フラッシュメモリ11)に格納された制御プログラムを実行することにより制御される構成としたが、例えば当該処理を実行するための各機能手段を独立したハードウエア回路として構成することも可能である。
【0049】
また、本発明は上記の制御プログラムを格納したフロッピーディスクやCD−ROM等のコンピュータにより読み取り可能な記録媒体として把握することもでき、当該制御プログラムを記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【0050】
【発明の効果】
以上説明したように、本発明に係るメモリの書き換え装置によると、データを記憶する複数のメモリブロックを有してメモリブロックに記憶されたデータがメモリブロックを単位として消去されるメモリに対して、メモリブロックに記憶されたデータを消去して当該メモリブロックに書き込み対象となるデータを書き込むに際して、書き込み対象となるデータの書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに書き込み対象となるデータを書き込んだ後に、書き込み先となるメモリブロックに記憶されたデータを消去するとともに、データ蓄積用メモリブロックに記憶された書き込み対象となるデータを読み出して当該データを書き込み先となるメモリブロックに書き込むようにしたため、書き込み先となるメモリブロックに対するデータ消去の開始からデータ書き込みの完了までに要する時間を非常に短くすることができる。
【図面の簡単な説明】
【図1】本発明を適用した記憶領域更新装置を備えたデータ転送システムの一例を示す図である。
【図2】メモリブロックの書き換え処理の一例を説明するための図である。
【符号の説明】
1・・記憶領域更新装置、 2・・データ転送装置、
3・・シリアル通信接続線、 11・・フラッシュメモリ、
B1〜B3・・データ書き込み用データブロック、
B4・・バッファブロック、 12・・RAM、
13、22・・シリアル変換器、 14、23・・CPU、
21・・主記憶装置、 P・・転送プログラム部、 D・・転送データ部、
Claims (2)
- データ転送装置と、データを記憶する複数のメモリブロックを有してメモリブロックに記憶されたデータがメモリブロックを単位として消去されるメモリのメモリブロックに記憶されたデータを消去して当該メモリブロックに書き込み対象となるデータを書き込む記憶領域更新装置とを有し、前記データ転送装置と前記記憶領域更新装置とがシリアル通信接続線を介して接続され、前記記憶領域更新装置に設けられたRAMはメモリのメモリブロック1個分より少ない量のデータを記憶するものであり、前記データ転送装置から前記記憶領域更新装置に対して書き込み対象となるデータを転送して当該データを前記記憶領域更新装置に備えられたメモリに書き込むデータ転送システムにおいて、
前記データ転送装置は、
前記記憶領域更新装置に対して書き込み対象となるデータを転送する手段と、
前記転送される書き込み対象となるデータに誤り訂正符号又は誤り検出符号を付加する手段と、を備え、
前記記憶領域更新装置は、
前記データ転送装置から書き込み対象となるデータを受信する手段と、
書き込み対象となるデータの書き込み先となるメモリブロック以外のメモリブロックの中でデータ蓄積用のメモリブロックとして割り当てられたメモリブロックに書き込み対象となるデータを書き込むデータ蓄積手段と、
前記データ蓄積手段による書き込みが完了したことに応じて、書き込み先となるメモリブロックに記憶されたデータを消去するとともに、データ蓄積用メモリブロックに記憶された書き込み対象となるデータを読み出して当該データを書き込み先となるメモリブロックに書き込むデータ書き込み手段と、
書き込み対象となるデータに関して誤り訂正処理又は誤り検出処理を行う手段と、を備え、
当該データ転送システムでは、前記データ転送装置において誤り訂正符号又は誤り検出符号を転送対象となるデータに付加するとともに前記記憶領域更新装置において受信した当該データに関して誤り訂正処理又は誤り検出処理を行い、誤りが発生したときに当該データの再送を行う、
ことを特徴とするデータ転送システム。 - 請求項1に記載のデータ転送システムにおいて、
前記記憶領域更新装置では、前記データ蓄積用のメモリブロックから前記書き込み先となるメモリブロックへ書き込み対象となるデータを転送する前に前記データ蓄積用のメモリブロックに格納された当該データに関して巡回冗長検査又はSUMチェックを行って前記データ転送装置から前記データ蓄積用のメモリブロックへの当該データの転送が正常に行われたか否かを判定し、当該転送が正常に行われたことを確認したことに応じて前記データ蓄積用のメモリブロックから前記書き込み先となるメモリブロックへのデータ転送を行う、
ことを特徴とするデータ転送システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000187103A JP4478298B2 (ja) | 2000-06-22 | 2000-06-22 | データ転送システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000187103A JP4478298B2 (ja) | 2000-06-22 | 2000-06-22 | データ転送システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002008382A JP2002008382A (ja) | 2002-01-11 |
JP4478298B2 true JP4478298B2 (ja) | 2010-06-09 |
Family
ID=18687141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000187103A Expired - Fee Related JP4478298B2 (ja) | 2000-06-22 | 2000-06-22 | データ転送システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4478298B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005250882A (ja) * | 2004-03-04 | 2005-09-15 | Fuji Xerox Co Ltd | 情報処理装置およびプログラムの書き換え方法 |
JP2006039206A (ja) | 2004-07-27 | 2006-02-09 | Canon Inc | 暗号化装置および復号化装置 |
KR100703807B1 (ko) | 2006-02-17 | 2007-04-09 | 삼성전자주식회사 | 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치 |
JP2013003831A (ja) * | 2011-06-16 | 2013-01-07 | Dainippon Printing Co Ltd | Icチップ、icチップ用処理プログラム、及びicチップにおける書き込み処理方法 |
-
2000
- 2000-06-22 JP JP2000187103A patent/JP4478298B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002008382A (ja) | 2002-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101507194B1 (ko) | 직렬 인터페이스 nand | |
US7890732B2 (en) | Memory card and semiconductor device | |
JP5173818B2 (ja) | 組込みコントローラを介するフラッシュストレージの初期化 | |
JP3898305B2 (ja) | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 | |
US7664923B2 (en) | Method and system for updating software | |
US20100122017A1 (en) | Memory controller, non-volatile memory system, and host device | |
JPH10124401A (ja) | メモリ装置 | |
US7242632B2 (en) | Memory device, memory managing method and program | |
KR20110094047A (ko) | 전자 디바이스 및 전자 디바이스 시스템 | |
EP2054800A2 (en) | Flash memory access circuit | |
JP4843222B2 (ja) | 半導体記憶装置の制御方法、メモリカード、及びホスト機器 | |
US5878257A (en) | Self-booting mechanism to allow dynamic system configuration and diagnostic | |
KR20020036717A (ko) | 마이크로컴퓨터 및 그 제어 방법 | |
JP3627915B2 (ja) | ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法 | |
JP4478298B2 (ja) | データ転送システム | |
JP2007052717A (ja) | データ転送装置およびデータ転送方法 | |
US6301709B1 (en) | Circuit pack system with semi-or fully-automatic upgrade capability | |
JP4793798B2 (ja) | マイクロコンピュータ | |
JPH1027097A (ja) | フラッシュromのデータ書換え方法および装置 | |
KR100316584B1 (ko) | 시스템에서 부팅 및 수행 프로그램을 공유하는 플래시메모리 및 그 메모리 갱신 방법 | |
JP2005071170A (ja) | 記憶領域更新装置 | |
JP2001117778A (ja) | ファームウェア書き換え機能を備えたusb装置 | |
JPH04277850A (ja) | ディスクリプタ制御方式 | |
JPH11167525A (ja) | 不揮発性メモリ混載マイコン及びその不揮発性メモリ書換え方法並びに不揮発性メモリ混載マイコンの不揮発性メモリ書換えプログラムを記録した記録媒体 | |
US20010037437A1 (en) | Information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070619 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071010 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071010 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091006 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100204 |
|
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: 20100302 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100315 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |