JP2004013719A - Updating circuit, and updating method of multiplexed nonvolatile memory - Google Patents

Updating circuit, and updating method of multiplexed nonvolatile memory Download PDF

Info

Publication number
JP2004013719A
JP2004013719A JP2002169013A JP2002169013A JP2004013719A JP 2004013719 A JP2004013719 A JP 2004013719A JP 2002169013 A JP2002169013 A JP 2002169013A JP 2002169013 A JP2002169013 A JP 2002169013A JP 2004013719 A JP2004013719 A JP 2004013719A
Authority
JP
Japan
Prior art keywords
nonvolatile memory
updating
area
nonvolatile
memory
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.)
Withdrawn
Application number
JP2002169013A
Other languages
Japanese (ja)
Inventor
Isao Sasazaki
笹崎 勲
Masayuki Okamoto
岡本 雅之
Toshibumi Yamagami
山上 俊文
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002169013A priority Critical patent/JP2004013719A/en
Publication of JP2004013719A publication Critical patent/JP2004013719A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method in which a plurality of nonvolatile memories are easily updated and the read check of the memories is easily performed when the plurality of the nonvolatile memories are multiplexed. <P>SOLUTION: An area which is continuous to the first nonvolatile memory 2a and the second nonvolatile memory 2b is divided on a single memory map, and the second nonvolatile memory 2b allocated on a backup area is updated. A system is started using a program updated on the second nonvolatile memory 2b which becomes a main area by replacing memory areas by selectors 6a and 6b, and then the first nonvolatile memory 2a newly allocated on the backup area is updated. Therefore, the first and second nonvolatile memories can be updated using a single CPU. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
この発明は、不揮発性メモリの更新に関し、特に、複数個の不揮発性メモリを用いて多重化した構成において各不揮発性メモリの更新を行う多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法に関する。
【0002】
【従来の技術】
CPUは、電源投入時リセットベクタから実行を開始する。そのため、リセットベクタから起動するプログラムが存在するLSI等の電子デバイスは、電源が切れても内容を保持するため不揮発性メモリ(Flash−ROM)内蔵品を使用することが多い。このような、不揮発性メモリ内のプログラムに変更が必要となった場合には、そのLSIを一度プリント基板から取り外してROMライタ等によって再書込みを行う。
【0003】
不揮発性メモリとして用いられるEEPROMは、電気的に再書込みができるため、LSIにCPUと共に内蔵させた構成においては、CPUの処理によって、不揮発性メモリの内容の変更が可能となる。LSI内部での不揮発性メモリの更新について説明する。図12は、不揮発性メモリの更新時の全体の流れを示すフローチャートである。消去(erase)の工程(ステップS1)、書き込み(write)の工程(ステップS2)、リードチェック(read check)の工程(ステップS3)、判定工程(ステップS4)を含んでいる。
【0004】
図13は、消去工程(ステップS1)の手順を示すフローチャートである。消去工程では、不揮発性メモリのコマンドレジスタへeraseコマンドをライトする(ステップS11)。これによって、不揮発性メモリ内のデータは全て消去される(例えばデータは0xFFに更新される)。
【0005】
図14は、書き込み工程(ステップS2)の手順を示すフローチャートである。書き込み工程では、不揮発性メモリのコマンドレジスタへ、writeコマンドをライトし(ステップS21)、その後ライトするアドレスとデータをライトする(ステップS22)。これによって、不揮発性メモリ内の指定されたアドレスへデータが書き込まれる。次に、ライトすべきアドレスをインクリメントし(ステップS23)、最終アドレスに至るまでの間は(ステップS24:No)、ステップS22に復帰して全てのデータを更新し、最終アドレスに達したら(ステップS24:Yes)、書き込み工程を終了する。
【0006】
図15は、リードチェック工程(ステップS3)の手順を示すフローチャートである。リードチェック工程では、不揮発性メモリのコマンドレジスタへリード/リセットコマンドをライトする(ステップS31)。これによって、不揮発性メモリは通常状態となり、データのリードが可能となる。その後、データをリードして期待値と比較する(ステップS32)。
【0007】
比較結果が一致すれば(ステップS32:OK)、アドレスをインクリメントし(ステップS33)、最終アドレスに至るまでの間は(ステップS34:No)、ステップS32に復帰して全てのデータを比較し、最終アドレスに達したら(ステップS34:Yes)、正常終了(normal end)となる。一方、比較結果が一致しなければ(ステップS32:NG)、エラーカウンタ1をインクリメントし(ステップS35)、エラーカウンタ1が予め定めた回数(例えば100回)に至るまでは(ステップS36:No)、ステップS32に復帰してリトライを行う。リトライが予め定めた回数(エラーカウンタ1が例えば100回)に達した場合には(ステップS36:Yes)、エラーフラグを「1」にして異常終了(abnormal end)となる。
【0008】
この後、図12に示す判定工程S4に移行してエラー対応処理を行う。リードチェック工程(ステップS3)でエラーが発生せずエラーフラグが「0」であれば(ステップS5:No)、書き換えが正常終了(normal end)と判定し終了する。一方、リードチェック工程(ステップS3)でエラーが発生しエラーフラグが「1」であれば(ステップS5:Yes)、エラーカウンタ2を更新し(ステップS6)、エラーカウンタが所定値(例えば10000回)に達するまでは(ステップS7:No)、消去工程(ステップS1)に復帰させる。そして、eraseコマンドからやり直し、このやり直しが所定回数(上記10000回)に達した場合は(ステップS7:Yes)、不揮発性メモリに物理的なエラーがあり書き換えが異常終了(abnormal end)と判定し、不揮発性メモリの更新を終了する。
【0009】
【発明が解決しようとする課題】
しかしながら、このような不揮発性メモリが1個のみ備えたシステムにおいて、上記の不揮発性メモリ更新中に永久的なエラーが発生し不揮発性メモリ更新プログラムが異常終了した場合には、以後システムが起動しなくなる可能性を有している。このため、不揮発性メモリを2個用いる等、多重化することによって、一方の不揮発性メモリ更新に失敗しても他方の不揮発性メモリからシステムを起動できる方式が考えられている。
【0010】
このような不揮発性メモリをシステムに複数個配置した構成においては、各不揮発性メモリの更新作業と、互いのデータのリードチェックにかかる作業を効率的に行える方法が望まれている。また、CPUと不揮発性メモリを内蔵したLSIは、プリント基板上に配置され、着脱が不可能であるため、プリント基板上に搭載されたままの状態で、且つシステムを動作させながら多重化された不揮発性メモリの内容の更新及びリードチェックできる方法が望まれている。
【0011】
この発明は、上記問題点に鑑みてなされたものであって、複数個の不揮発性メモリを用いた多重化時にこれら複数個の不揮発性メモリの更新及びリードチェックを容易に行える多重化された不揮発性メモリの更新回路、及び方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
上記目的を達成するため、本発明は、単一のメモリマップ上で複数個の不揮発性メモリに対し領域を主領域とバックアップ領域とに分割し、バックアップ側領域に割り当てられた不揮発性メモリに対して更新を行う。この後、メモリ領域を入れ替えて主領域となった旧バックアップ領域の更新データによってシステム起動させ、新たにバックアップ領域に割り当てられた他の不揮発性メモリを更新することを特徴とする。
【0013】
この発明によれば、単一のCPUを用いて多重化された複数の不揮発性メモリを順次更新できるようになる。主領域とバックアップ領域に割り当てられた不揮発性メモリにそれぞれプログラムを格納する多重化によって、いずれか一つの不揮発性メモリを用いてシステム起動が可能となる。また更新中に異常終了した場合であってもシステムの復旧が可能となる。
【0014】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る多重化された不揮発性メモリの更新回路、及び方法の好適な実施の形態を詳細に説明する。本発明では、不揮発性メモリ(Flash−ROM)を2個用いる構成を前提に説明する。これら双方の不揮発性メモリは、両方とも同じデータ内容を有し、設定によってマッピングを入れ替えることが可能なよう構成したものである。
【0015】
(実施の形態1)
図1は、本発明の多重化不揮発性メモリを備えた電子デバイスの実施の形態1の構成を示すブロック図である。LSI1内部には、CPU(不図示)と、第1,第2の不揮発性メモリ(Flash−ROM1,2)2a,2bが内蔵され、CPUによってこれら第1,第2の不揮発性メモリ2a,2bを順次更新する。
【0016】
図2は、CPUがアクセスするメモリマップを示す図である。図示のように、主領域Aとバックアップ領域Bは、個別の領域として確保され、互いにアドレス上で連続するようマッピングされており、かつ、同一のデータ内容を有している。主領域A及びバックアップ領域Bには、第1の不揮発性メモリ2a、あるいは第2の不揮発性メモリ2bのメモリ領域が割り当てられ、セレクタ6a,6bの選択によって、領域の入れ替えが可能となっている。なお、領域Cは、内蔵RAM等周辺回路の設定データ等の格納領域である。また、リセットベクタは主領域A側の所定アドレスに一つのみ存在している。
【0017】
通常時においては、CPUは主領域である第1の不揮発性メモリ2aのリセットベクタから実行を開始し、第1の不揮発性メモリ2aに格納されたデータのみを用いてシステム起動させる。そして、異常時においては、バックアップ領域側に設定された第2の不揮発性メモリ2bから実行を開始することができる。
【0018】
図1に示すように、LSI1内部には、第1,第2の不揮発性メモリ2a,2b更新のための切替手段3を備えている。切替手段3は、設定を保持可能なFlash−ROM等の不揮発性メモリからなる設定保持用メモリ4と、第1,第2の不揮発性メモリ2a,2bに対応して2系統に分割された回路を有する。各系統には、それぞれデコーダ5a,5bと、セレクタ6a,6bと、ORゲートからなる論理和回路7a,7bが設けられる。設定保持用メモリ4の出力には保持回路8が接続される。
【0019】
設定保持用メモリ4には、CPUの暴走を検出するウォッチドッグタイマー10が接続されている。ウォッチドッグタイマー10は、第1,第2の不揮発性メモリ2a,2bの更新処理中、CPUによって定期的にリセットされる。このウォッチドッグタイマー10は、CPUの暴走によってリセットされなかったときに、CPUへ割込みの発生またはCPUのリセット等を行いCPUの暴走検出を行う。
【0020】
設定保持用メモリ4は、ウォッチドッグタイマー10が正常にリセットされている状態でCPUからCPUライト信号20が入力されると、書き込み要求信号23を保持回路8に出力する。保持回路8はD型フリップフロップ(D−F/F)からなり、D端子に書き込み要求信号21が入力され、リセット端子にリセット信号22が入力される。保持回路8は、書き込み要求信号21を保持した状態でQ端子から切替信号23を出力し、リセット信号22の入力で切替信号23を反転保持しQ端子から出力する。
【0021】
デコーダ5a,5bには、第1,第2の不揮発性メモリ2a,2bの更新時のアドレスが入力される。これらデコーダ5a,5bによる2つのアドレスデコードによって、デコーダ5aは、CPUが図2に示す主領域Aに割り当てられた第1の不揮発性メモリ2a(あるいは第2の不揮発性メモリ2b)をアクセスしたことを示すアクセス信号24aを生成し、デコーダ5bは、バックアップ領域Bに割り当てられた第2の不揮発性メモリ2b(あるいは第1の不揮発性メモリ2a)をアクセスしたことを示すアクセス信号24bを生成する。
【0022】
セレクタ6a,6bは、それぞれアクセス信号24a,24bが入力され、セレクト端子Sへの切替信号23の入力によって、いずれか一方の入力を選択する。これらセレクタ6a,6bは、互いに入力端子Q,Lが反転して接続されており、更新時にはいずれか一方の系統が選択される。
【0023】
具体的には、切替信号23が「0」の時には、アクセス信号24aが「1」になると主領域Aに第1の不揮発性メモリ2aが割り当てられ、アクセス信号24bが「1」になると主領域Aに第2の不揮発性メモリ2bが割り当てられる。一方、切替信号23が「1」の時には、アクセス信号24aが「1」になると主領域Aに第2の不揮発性メモリ2bが割り当てられ、アクセス信号24bが「1」になると主領域Aに第1の不揮発性メモリ2aが割り当てられる。このように、セレクタ6a,6bの切替によって、主領域Aとバックアップ領域Bに対する第1,第2の不揮発性メモリ2a,2bの割り当てを切り替えることができる。同時に、主領域Aに割り当てられた第1,第2の不揮発性メモリ2a,2bからシステム起動することになる。
【0024】
セレクタ6aの出力は、論理和回路7aを介して第1の不揮発性メモリ2aに対する制御用の選択信号25aとして供給される。セレクタ6bの出力は、論理和回路7bを介して第2の不揮発性メモリ2bに対する制御用の選択信号25bとして供給される。論理和回路7a,7bには、パラレルモード信号27が入力される。このパラレルモード信号27は、第1,第2の不揮発性メモリ2a,2bの内容照合(リードチェック)を同時に行う際にCPUから出力される。
【0025】
次に、上記構成による第1,第2の不揮発性メモリ2a,2bの更新処理について説明する。図3は、実施の形態1による多重化された不揮発性メモリの更新手順を示すフローチャートである。LSI内部に設けられたCPUによって不揮発性メモリを更新する場合、ウォッチドッグタイマー10を起動させてCPUの暴走による不揮発性メモリの誤書込みを防ぐ。次に、設定保持用メモリ4は、CPUからのCPUライト信号を受けて書き込み要求信号21を出力する。これによって保持回路8は切替信号23を出力し、セレクタ6a,6bが切り替えられる。図4は、メモリマップの配置替えを示す図である。この際、配置替え前に図4(a)に示すように、一方の系統(バックアップ領域B側)に第2の不揮発性メモリ2bが選択された(割り当てられた)とする。
【0026】
この状態で、CPUはバックアップ領域B側の不揮発性メモリ(第2の不揮発性メモリ2b)に対してデータの更新処理を実行する(ステップS41)。この更新処理は、前述した消去の工程と、更新データの書き込みの工程、リードチェックの工程からなる。書き込みの工程では、バックアップ領域Bの更新開始アドレスからデータの書き込みをアドレスをインクリメントしながら行う。リードチェックの工程で、異常が検出された場合には、第2の不揮発性メモリ2bの更新に失敗したと判断し、不揮発性メモリ更新エラーの通知を行う。
【0027】
図5は、実施の形態1による第1,第2の不揮発性メモリ2a,2bの選択制御を示すタイミングチャートである。第2の不揮発性メモリ2bの更新処理が正常終了した場合、CPUは再度CPUライト信号20を出力する(図5(a))。これによって、設定保持用メモリ4は、元の値を反転した値を保持し、この反転した値を書き込み要求信号21として保持回路8に出力する(ステップS42,図5(b))。これによって、配置替え後は図4(b)に示すように、第1,第2の不揮発性メモリ2a,2bの配置が入れ替えられる。
【0028】
その後、システムをリセットすると(ステップS43)、リセット信号22が保持回路8に入力される(図5(c))。対応して、保持回路8はリセット信号22の立ち上がりで切替信号23を切り替える(図5(d))。これによって、第1,第2の不揮発性メモリ2a,2bへのアクセスが切り替わり、上記更新された第2の不揮発性メモリ2bが主領域Aに割り当てられる。
【0029】
これによって、CPUは第2の不揮発性メモリ2bのリセットベクタにアクセスしてシステム起動が実行開始する(ステップS44)。この際、バックアップ領域Bには第1の不揮発性メモリ2aが割り当てられている。そして、この第1の不揮発性メモリ2aに対する更新処理を実行する(ステップS45)。第1の不揮発性メモリ2aに対する更新処理についても、上述した第2の不揮発性メモリ2bに対する更新処理と処理内容は同一であり詳細は省略する。
【0030】
上記手順によれば、LSI1がプリント基板上に搭載された状態のまま、内蔵されている第1,第2の不揮発性メモリ2a,2bの内容を、同じLSIに内蔵された単一のCPUを用いてシステムリセットすることによって順次更新できるようになる。これによって、LSI1をプリント基板から取り外さなくても容易に更新できるようになる。
【0031】
(実施の形態2)
図6は、本発明の多重化不揮発性メモリを備えた電子デバイスの実施の形態2の構成を示すブロック図である。実施の形態2では、多重化された不揮発性メモリの更新時にシステムリセットを不要とした構成である。実施の形態2も、実施の形態1同様に、LSI内部にCPU及び2個の不揮発性メモリを備えた構成を前提とする。
【0032】
図示のように、実施の形態2の構成は、切替手段3の構成部のうち、保持回路8を省いてある。設定保持用メモリ4の出力の信号線は、直接、2系統のセレクタ6a,6bのセレクト端子Sに接続される。
【0033】
次に、上記構成による第1,第2の不揮発性メモリ2a,2bの更新処理について説明する。図7は、実施の形態2による多重化された不揮発性メモリの更新手順を示すフローチャートである。同図を用いた説明において実施の形態と同一の処理内容の説明は簡略化してある。
【0034】
まず始めに、ウォッチドッグタイマー10を起動させてCPUの暴走による不揮発性メモリの誤書込みを防ぐ。次に、設定保持用メモリ4は、CPUからのCPUライト信号を受けて書き込み要求信号21を出力する。図8は、メモリマップの配置替えを示す図である。この際、配置替え前において図8(a)に示すように、一方の系統(バックアップ領域B側)に第2の不揮発性メモリ2bが選択された(割り当てられた)とする。その後、第2の不揮発性メモリ2bに対するデータの更新処理を実行する(ステップS51)。
【0035】
この更新処理のリードチェック工程で、第2の不揮発性メモリ2bの内容をリードして確実に更新できたことを確認する。この後、アプリケーションが第1,第2の不揮発性メモリ2a,2b内のプログラムを使用していないことを確認し、使用していればプログラムを終了させ、システムで使用している外部割込み及びソフトウェア割込みを全部禁止する(ステップS52)。
【0036】
図9は、実施の形態2による第1,第2の不揮発性メモリ2a,2bの選択制御を示すタイミングチャートである。第2の不揮発性メモリ2bの更新処理が正常終了した場合、CPUは再度CPUライト信号20を出力する(図9(a))。これによって、設定保持用メモリ4は、元の値を反転した値を保持し、この反転した値を書き込み要求信号21としてセレクタ6a,6bに出力する(ステップS53,図9(b))。この実施の形態2では、実施の形態1で説明した切替信号23(図9(c))として、この書き込み要求信号21を用いる。
【0037】
これによって、配置替え後は図8(b)に示すように、第1,第2の不揮発性メモリ2a,2bの配置が入れ替えられる。この際、書き込み要求信号21は反転されており、第1,第2の不揮発性メモリ2a,2bへのアクセスが切り替わり、第2の不揮発性メモリ2bが選択され、上記更新された第2の不揮発性メモリ2bが主領域Aに割り当てられる。
【0038】
この構成によれば、システムのリセットが不要でメモリマップを切り替えることができる。これによって、CPUは更新された第2の不揮発性メモリ2bにアクセスし始め、割り込み禁止を解除し、アプリケーションが第1,第2の不揮発性メモリ2a,2b内のプログラムを使用する場合にはこれを許可する(ステップS54)。
【0039】
この際、バックアップ領域Bには第1の不揮発性メモリ2aが割り当てられている。そして、この第1の不揮発性メモリ2aに対する更新処理を実行する(ステップS55)。第1の不揮発性メモリ2aに対する更新処理についても、上述した第2の不揮発性メモリ2bに対する更新処理と処理内容は同一であり詳細は省略する。
【0040】
この実施の形態2の更新方法では、実施の形態1で説明した更新方法と比較してシステムリセットを入れなくて済み、システムを停止させずに第1,第2の不揮発性メモリ2a,2bを更新できるという利点を有している。但し、システム上で動作するアプリケーションによっては、第1,第2の不揮発性メモリ2a,2b上にあるBIOSプログラム等が途中のメモリマップの配置替えで入れ替わると問題が発生する場合がある。このようなプログラムを有する場合には、実施の形態1で説明した更新方法(メモリマップの切替時にシステムリセットする方法)を用いる方がよい。
【0041】
上記手順によれば、LSI1がプリント基板上に搭載された状態のまま、内蔵されている第1,第2の不揮発性メモリ2a,2bの内容を、同じLSI1に内蔵された単一のCPUを用いて順次更新でき、かつシステムリセットせずとも行えるようになる。
【0042】
次に、上記実施の形態1,2で説明した更新方法によって多重化された不揮発性メモリの更新後におけるデータ照合処理について説明する。このデータ照合処理は、図1,図6に示す論理和回路7a,7bと、比較器30の構成を備えて実行できる。
【0043】
第1,第2の不揮発性メモリ2a,2bに対する更新処理後は、これら第1,第2の不揮発性メモリ2a,2bの内容が同一であるか照合しておく必要がある。このため、第1,第2の不揮発性メモリ2a,2bの更新後に内容を照合して一致判別をする。論理和回路7a,7bに対しパラレルモード信号27を供給すると、第1,第2の不揮発性メモリ2a,2bに対して同時に選択信号25a,25bが供給される。したがって、CPUは、リードチェックの工程を実行する際に、パラレルモード信号27を供給することによって、第1,第2の不揮発性メモリ2a,2bから同時にデータを読み出すことができる。
【0044】
この際、アドレスをインクリメントさせながら順次読み出されたデータは、正常に更新されていれば、主領域Aとバックアップ領域Bにそれぞれ割り当てられた第1,第2の不揮発性メモリ2a,2bで常に一致する筈である。この点を比較器30でデータ照合し一致検出する。CPUは、全てのアドレスのデータで一致検出されれば正常終了したと判断し、一部でも不一致が生じた場合には異常終了(不一致)であると判断する。
【0045】
上記構成によれば、不揮発性メモリを多重化した場合であっても、主領域A及びバックアップ領域Bいずれのデータも信頼できるようになり、一方の領域に割り当てられた不揮発性メモリを用いたシステムの起動不能時に、他方の領域に割り当てられた不揮発性メモリを用いてシステム起動することができ、システム起動の確実性を向上できるようになる。
【0046】
上述した実施の形態1,2の構成では、CPUと、第1,第2の不揮発性メモリ2a,2bがLSI1の同一パッケージに内蔵された構成を例に説明した。本発明は、LSI1内部にこれらを全てパッケージするに限らず、CPUと、第1,第2の不揮発性メモリ2a,2bと、切替手段3を全て別のパッケージの回路素子で構成したり、一部のみを同一パッケージにする等ができ、種々の態様に対し上述した更新方法が適用できる。
【0047】
(実施の形態3)
図10は、本発明の実施の形態3による多重化不揮発性メモリを備えた電子デバイスの回路構成を示すブロック図である。実施の形態3では、専用ROMライタを用いて多重化された不揮発性メモリを更新する。図示のように、第1,第2の不揮発性メモリ2a,2bには、専用ROMライタからの制御用のパラレルモード信号27が同時に供給できるよう構成する。
【0048】
図11は、実施の形態3による多重化された不揮発性メモリの更新手順を示すフローチャートである。始めに、図10に示すLSI1等のチップ回路を専用ROMライタ(不図示)に実装する(ステップS61)。次に、更新するプログラムを外部PC(パソコン)等から専用ROMライタにダウンロードする(ステップS62)。
【0049】
次に、専用ROMライタは、パラレルモード信号27をアクティブにして第1,第2の不揮発性メモリ2a,2bを同時に選択し、これら第1,第2の不揮発性メモリ2a,2bに対し同時に同じプログラムをライトする(ステップS63)。これによって、更新にかかる時間を短縮できるようになる。
【0050】
更新の終了後、パラレルモード信号27をアクティブにして第1,第2の不揮発性メモリ2a,2bを同時に選択し、第1,第2の不揮発性メモリ2a,2bから同時にデータをリードする。この際、一方(第1の不揮発性メモリ2a)のデータをLSI1の外へ出力すると共に、両方の不揮発性メモリ2a,2bのデータを比較器30にて比較する。このように、第1,第2の不揮発性メモリ2a,2bの更新後のデータが一致しているかLSI1内部でチェックしてその結果をLSIの外へ出力する(ステップS64)。これによって、不揮発性メモリを多重化した場合であっても、リードチェックの時間を従来と同じ時間で行うことができる。
【0051】
リードチェックの詳細は、前述した図12に示す手順と同様であり、エラー発生の有無をチェックし(ステップS65)、エラーなしの場合(ステップS65:No)で書き換えが正常終了と判定し終了する。一方、リードチェック時にエラーが発生した場合には(ステップS65:Yes)、異常終了(abnormal end)と判定する。異常終了時には、消去工程を含む更新処理を再実行させる。
【0052】
上記の更新手順は、専用ROMライタを用いた例であるため、既存のROMライタを使用した場合、多重化された不揮発性メモリのデータを一致比較する手段を有していない。このように既存のROMライタを用いて第1,第2の不揮発性メモリ2a,2bのデータを一致比較するには、これら第1,第2の不揮発性メモリ2a,2bに対してシリアルにリードチェックを行えばよい。例えば、図2のメモリマップに示したように、第1,第2の不揮発性メモリ2a,2bが各領域に連続して配置される場合、これら各領域で対応するデータをアドレス単位でリードチェックする。また、メモリマップ上でアドレスを連続的に変化させて得たデータを規定のデータと一致判別してもよい。この場合、第1,第2の不揮発性メモリ2a,2bが各領域に連続して配置されていれば既存のROMライタを用いてこれら各領域のデータを順次読み出すことができる。
【0053】
上述した実施の形態1,2で用いる第1,第2の不揮発性メモリ2a,2b、及び設定保持用メモリ4としてはEEPROMを用いて構成できる。これによって、LSI1がプリント基板に搭載された後であっても、第1,第2の不揮発性メモリ2a,2bを内蔵されたCPUで何度でも更新できるようになる。また、実施の形態3で用いる第1,第2の不揮発性メモリ2a,2bについては、EEPROMに限らずEPROMを用いて紫外線の消去工程実行後に、第1,第2の不揮発性メモリ2a,2bを同時に更新、及びリードチェックできるようになる。なお、各実施形態で使用する不揮発性メモリの個数も2個以上複数個にしてもよく、主領域Aに1個の不揮発性メモリを割り当て、バックアップ領域Bに複数個の不揮発性メモリを割り当てて用いることができる。
【0054】
以上説明した更新方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、各種記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【0055】
(付記1)プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新回路であって、
前記複数の不揮発性メモリによって形成されるメモリアドレスを、CPUのリセットベクタを有する主領域とバックアップ領域によって構成し、該主領域とバックアップ領域によって連続する一つのアドレス空間を形成させるマッピング手段と、
前記マッピング手段によって設定された主領域と、バックアップ領域に対し前記各不揮発性メモリが有する領域をそれぞれ割り当て、相互に入れ替え可能に制御する切替手段と、
前記バックアップ領域に割り当てられた不揮発性メモリに対するデータ更新を行う更新手段と、
を具備することを特徴とする多重化された不揮発性メモリの更新回路。
【0056】
(付記2)前記切替手段は、前記主領域及びバックアップ領域に対する前記各不揮発性メモリの割り当て状態を保持する保持手段を備え、
該保持手段は更新時のCPUライト信号の入力に基づき、前記割り当て領域を入れ替えることを特徴とする付記1に記載の多重化された不揮発性メモリの更新回路。
【0057】
(付記3)前記更新手段は、CPUの暴走検出を行うウォッチドッグタイマーが起動している時にデータ更新を行うことを特徴とする付記1,2のいずれか一つに記載の多重化された不揮発性メモリの更新回路。
【0058】
(付記4)前記保持手段は、電源状態に影響を受けず電気的に値を変更でき、変更状態を保持する不揮発性メモリからなることを特徴とする付記2に記載の多重化された不揮発性メモリの更新回路。
【0059】
(付記5)プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新回路であって、
CPUのリセットベクタを有する主領域とバックアップ領域に対し前記CPUがいずれの領域をアクセスしているか判別するためのデコーダと、
前記主領域と、バックアップ領域に対し前記各不揮発性メモリが有する領域をそれぞれ割り当て、選択信号の入力に基づき割り当ての領域を相互に入れ替え可能に制御するセレクタと、
前記主領域及びバックアップ領域に対する前記各不揮発性メモリの割り当て状態を保持、出力し、CPUライトの入力で設定を反転保持する設定保持用の不揮発性メモリと、
前記不揮発性メモリの保持出力をシステムリセットに基づき前記セレクタに選択信号として出力する保持回路と、
前記システムリセットの前後でそれぞれバックアップ領域に割り当てられた不揮発性メモリに対するデータ更新を行うCPUと、
を備えた多重化された不揮発性メモリの更新回路。
【0060】
(付記6)プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新回路であって、
CPUのリセットベクタを有する主領域とバックアップ領域とに対し前記CPUがいずれの領域をアクセスしているか判別するためのデコーダと、
前記主領域と、バックアップ領域に対し前記各不揮発性メモリが有する領域をそれぞれ割り当て、選択信号の入力に基づき割り当ての領域を相互に入れ替え可能に制御するセレクタと、
前記主領域及びバックアップ領域に対する前記各不揮発性メモリの割り当て状態を保持、出力し、CPUライトの入力によって設定を反転保持して前記セレクタに選択信号として出力する設定保持用の不揮発性メモリと、
前記CPUライトの前後でそれぞれバックアップ領域に割り当てられた不揮発性メモリに対するデータ更新を行うCPUと、
を備えた多重化された不揮発性メモリの更新回路。
【0061】
(付記7)前記各構成回路が単一個の電子回路素子の一部としてパッケージ化されたことを特徴とする付記5,6のいずれか一つに記載の多重化された不揮発性メモリの更新回路。
【0062】
(付記8)前記各不揮発性メモリは、EEPROMからなることを特徴とする付記1〜7のいずれか一つに記載の不揮発性メモリの更新回路。
【0063】
(付記9)前記多重化された複数の不揮発性メモリは、同時に前記更新時のデータの書き込み/読み出しを行えるよう構成されており、
前記各不揮発性メモリから同時に読み出したデータを照合する比較器を備え、各不揮発性メモリの更新後の一致判別を行う構成とされた付記1〜8のいずれか一つに記載の多重化された不揮発性メモリの更新回路。
【0064】
(付記10)プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新方法であって、
前記各不揮発性メモリが有するメモリアドレスを、CPUのリセットベクタを有する主領域と、バックアップ領域とにそれぞれ割り当て、該主領域とバックアップ領域によって連続する一つのアドレス空間を形成させるマッピング工程と、CPUライトに基づき前記マッピング工程によって設定されたバックアップ領域に割り当てられた前記不揮発性メモリに対するデータ更新を行う第1の更新工程と、
システムリセットに基づき、前記各不揮発性メモリに対する主領域とバックアップ領域の割り当てを相互に入れ替え、新たに主領域に割り当てられた旧バックアップ領域の不揮発性メモリによってシステム起動させる領域入れ替え工程と、CPUライトに基づき前記割り当ての入れ替えの状態で新たにバックアップ領域に割り当てられた他の不揮発性メモリに対するデータ更新を行う第2の更新工程と、
を含むことを特徴とする多重化された不揮発性メモリの更新方法。
【0065】
(付記11)プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新方法であって、
前記各不揮発性メモリが有するメモリアドレスを、CPUのリセットベクタを有する主領域と、バックアップ領域とにそれぞれ割り当て、該主領域とバックアップ領域によって連続する一つのアドレス空間を形成させるマッピング工程と、CPUライトに基づき前記マッピング工程によって設定されたバックアップ領域に割り当てられた前記不揮発性メモリに対するデータ更新を行う第1の更新工程と、
再度のCPUライトに基づき前記各不揮発性メモリに対する主領域とバックアップ領域の割り当てを相互に入れ替える領域入れ替え工程と、
新たに主領域に割り当てられた旧バックアップ領域の不揮発性メモリをシステムが用い、新たにバックアップ領域に割り当てられた他の不揮発性メモリに対するデータ更新を行う第2の更新工程と、
を含むことを特徴とする多重化された不揮発性メモリの更新方法。
【0066】
(付記12)前記領域入れ替え工程は、システムが使用する全ての割込みを禁止し、不揮発性メモリ内でアプリケーションが使用するプログラムの終了後に実行することを特徴とする付記11に記載の多重化された不揮発性メモリの更新方法。
【0067】
【発明の効果】
本発明によれば、単一のメモリマップが主領域とバックアップ領域に分割され、バックアップ領域に割り当てられた不揮発性メモリに対して更新を行い、メモリ領域を入れ替えて主領域となった旧バックアップ領域の更新データによってシステム起動させ、新たにバックアップ領域に割り当てられた他の不揮発性メモリを更新するため、単一のCPUを用いて多重化された複数の不揮発性メモリを順次更新できるようになる。そして、主領域とバックアップ領域に割り当てられた不揮発性メモリにそれぞれプログラムを格納する多重化の構造によって、一つの不揮発性メモリを用いたシステム起動が不能であっても他の不揮発性メモリのプログラムを用いたシステム起動が行えるようになる。さらに、更新中に異常終了した場合であってもシステムの復旧が可能となるためシステムの安全性を向上できるようになる。また、更新のためには1個のCPUを用いて各不揮発性メモリを順次更新すればよく、回路量が少なくて済み、CPU及び不揮発性メモリを含む回路素子を単一パッケージでLSI化することができ、低コスト化が図れる。加えて、プリント基板上にLSIが搭載された状態のまま複数の不揮発性メモリを更新することができるようになる。
【図面の簡単な説明】
【図1】本発明の多重化不揮発性メモリを備えた電子デバイスの実施の形態1の構成を示すブロック図である。
【図2】CPUがアクセスするメモリマップを示す図である。
【図3】実施の形態1による多重化された不揮発性メモリの更新手順を示すフローチャートである。
【図4】メモリマップの配置替えを示す図である。
【図5】実施の形態1による第1,第2の不揮発性メモリの選択制御を示すタイミングチャートである。
【図6】本発明の多重化不揮発性メモリを備えた電子デバイスの実施の形態2の構成を示すブロック図である。
【図7】実施の形態2による多重化された不揮発性メモリの更新手順を示すフローチャートである。
【図8】メモリマップの配置替えを示す図である。
【図9】実施の形態2による第1,第2の不揮発性メモリの選択制御を示すタイミングチャートである。
【図10】本発明の実施の形態3による多重化不揮発性メモリを備えた電子デバイスの回路構成を示すブロック図である。
【図11】実施の形態3による多重化された不揮発性メモリの更新手順を示すフローチャートである。
【図12】不揮発性メモリの更新時の全体の流れを示すフローチャートである。
【図13】消去工程の手順を示すフローチャートである。
【図14】書き込み工程の手順を示すフローチャートである。
【図15】リードチェック工程の手順を示すフローチャートである。
【符号の説明】
1 LSI
2a 第1の不揮発性メモリ
2b 第2の不揮発性メモリ
3 切替手段
4 設定保持用メモリ
5a,5b デコーダ
6a,6b セレクタ
7a,7b 論理和回路
8 保持回路
10 ウォッチドッグタイマー
30 比較器
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to updating a nonvolatile memory, and more particularly, to a multiplexed nonvolatile memory update circuit that updates each nonvolatile memory in a multiplexed configuration using a plurality of nonvolatile memories, and a multiplexed nonvolatile memory update circuit. And a method of updating a nonvolatile memory.
[0002]
[Prior art]
The CPU starts execution from the power-on reset vector. Therefore, an electronic device such as an LSI having a program to be activated from a reset vector often uses a built-in nonvolatile memory (Flash-ROM) to retain its contents even when the power is turned off. When such a program in the nonvolatile memory needs to be changed, the LSI is once removed from the printed circuit board and rewritten by a ROM writer or the like.
[0003]
An EEPROM used as a nonvolatile memory can be electrically rewritten. Therefore, in a configuration in which the EEPROM is built in the LSI together with the CPU, the contents of the nonvolatile memory can be changed by processing of the CPU. The update of the nonvolatile memory inside the LSI will be described. FIG. 12 is a flowchart showing the overall flow when updating the nonvolatile memory. It includes an erase step (step S1), a write step (step S2), a read check step (step S3), and a determination step (step S4).
[0004]
FIG. 13 is a flowchart showing the procedure of the erasing step (step S1). In the erasing step, an erase command is written to the command register of the nonvolatile memory (Step S11). As a result, all the data in the nonvolatile memory is erased (for example, the data is updated to 0xFF).
[0005]
FIG. 14 is a flowchart showing the procedure of the writing step (step S2). In the writing step, a write command is written to the command register of the nonvolatile memory (step S21), and then the address and data to be written are written (step S22). As a result, data is written to the specified address in the nonvolatile memory. Next, the address to be written is incremented (step S23). Until the address reaches the final address (step S24: No), the process returns to step S22 to update all data, and when the address reaches the final address (step S23). S24: Yes), ends the writing process.
[0006]
FIG. 15 is a flowchart showing the procedure of the read check step (step S3). In the read check step, a read / reset command is written to a command register of the nonvolatile memory (Step S31). As a result, the nonvolatile memory enters a normal state, and data can be read. Thereafter, the data is read and compared with the expected value (step S32).
[0007]
If the comparison result matches (step S32: OK), the address is incremented (step S33). Until the final address is reached (step S34: No), the process returns to step S32 to compare all data. When the address reaches the final address (step S34: Yes), the process ends normally (normal end). On the other hand, if the comparison results do not match (step S32: NG), the error counter 1 is incremented (step S35), and until the error counter 1 reaches a predetermined number (for example, 100) (step S36: No). Then, the process returns to step S32 to perform a retry. If the number of retries has reached a predetermined number (the error counter 1 is, for example, 100 times) (step S36: Yes), the error flag is set to "1", and the process ends abnormally (abnormal end).
[0008]
Thereafter, the process proceeds to the determination step S4 shown in FIG. If no error occurs in the read check step (step S3) and the error flag is “0” (step S5: No), rewriting is determined to be normal end (normal end), and the rewriting is terminated. On the other hand, if an error occurs in the read check step (step S3) and the error flag is “1” (step S5: Yes), the error counter 2 is updated (step S6), and the error counter is set to a predetermined value (for example, 10000 times). ) (Step S7: No), the process returns to the erasing step (Step S1). Then, redoing from the erase command is performed. If the redoing has reached a predetermined number of times (10000 times above) (step S7: Yes), it is determined that there is a physical error in the nonvolatile memory and rewriting is abnormally ended (abnormal end). Then, the update of the nonvolatile memory is completed.
[0009]
[Problems to be solved by the invention]
However, in a system having only one such non-volatile memory, if a permanent error occurs during the above-described non-volatile memory update and the non-volatile memory update program ends abnormally, the system is thereafter started up. It has the possibility of disappearing. For this reason, a method is considered in which the system can be started from the other non-volatile memory by multiplexing, such as using two non-volatile memories, even if updating of one non-volatile memory fails.
[0010]
In a configuration in which a plurality of such nonvolatile memories are arranged in a system, there is a demand for a method capable of efficiently performing the work of updating each nonvolatile memory and the work of performing a read check of each other's data. Further, since the LSI with the built-in CPU and nonvolatile memory is arranged on a printed circuit board and cannot be attached or detached, it is multiplexed while operating on the system while being mounted on the printed circuit board. There is a need for a method that can update the contents of a nonvolatile memory and perform a read check.
[0011]
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has been made in consideration of the above problems, and has been made in consideration of the above circumstances. It is an object of the present invention to provide a circuit and a method for updating a memory.
[0012]
[Means for Solving the Problems]
In order to achieve the above object, the present invention divides an area into a main area and a backup area for a plurality of nonvolatile memories on a single memory map, Update. Thereafter, the memory area is replaced, the system is started by the update data of the old backup area which has become the main area, and another nonvolatile memory newly allocated to the backup area is updated.
[0013]
According to the present invention, a plurality of multiplexed nonvolatile memories can be sequentially updated using a single CPU. By multiplexing the programs stored in the nonvolatile memories allocated to the main area and the backup area, the system can be started using any one of the nonvolatile memories. Also, even if the system terminates abnormally during the update, the system can be restored.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Preferred embodiments of a multiplexed nonvolatile memory update circuit and method according to the present invention will be described in detail below with reference to the accompanying drawings. The present invention will be described on the premise of a configuration using two nonvolatile memories (Flash-ROM). Both of these non-volatile memories have the same data content, and are configured so that the mapping can be switched by setting.
[0015]
(Embodiment 1)
FIG. 1 is a block diagram illustrating a configuration of an electronic device including a multiplexed nonvolatile memory according to a first embodiment of the present invention. In the LSI 1, a CPU (not shown) and first and second nonvolatile memories (Flash-ROM1, 2) 2a and 2b are built in, and the first and second nonvolatile memories 2a and 2b are built by the CPU. Are sequentially updated.
[0016]
FIG. 2 is a diagram showing a memory map accessed by the CPU. As shown in the figure, the main area A and the backup area B are secured as individual areas, are mapped so as to be continuous with each other on an address, and have the same data content. A memory area of the first nonvolatile memory 2a or the second nonvolatile memory 2b is allocated to the main area A and the backup area B, and the areas can be switched by selecting the selectors 6a and 6b. . The area C is a storage area for setting data of peripheral circuits such as a built-in RAM. Also, only one reset vector exists at a predetermined address on the main area A side.
[0017]
Under normal conditions, the CPU starts execution from the reset vector of the first nonvolatile memory 2a, which is the main area, and starts the system using only the data stored in the first nonvolatile memory 2a. Then, in the event of an abnormality, the execution can be started from the second nonvolatile memory 2b set on the backup area side.
[0018]
As shown in FIG. 1, a switching unit 3 for updating the first and second nonvolatile memories 2a and 2b is provided inside the LSI 1. The switching means 3 includes a setting holding memory 4 composed of a nonvolatile memory such as a Flash-ROM capable of holding a setting, and a circuit divided into two systems corresponding to the first and second nonvolatile memories 2a and 2b. Having. Each system is provided with decoders 5a and 5b, selectors 6a and 6b, and OR circuits 7a and 7b each composed of an OR gate. A holding circuit 8 is connected to an output of the setting holding memory 4.
[0019]
A watchdog timer 10 for detecting runaway of the CPU is connected to the setting holding memory 4. The watchdog timer 10 is periodically reset by the CPU during the updating process of the first and second nonvolatile memories 2a and 2b. When the watchdog timer 10 is not reset due to the runaway of the CPU, it generates an interrupt to the CPU or resets the CPU to detect runaway of the CPU.
[0020]
When the CPU write signal 20 is input from the CPU while the watchdog timer 10 is normally reset, the setting holding memory 4 outputs a write request signal 23 to the holding circuit 8. The holding circuit 8 is composed of a D-type flip-flop (DF / F). A write request signal 21 is input to a D terminal, and a reset signal 22 is input to a reset terminal. The holding circuit 8 outputs the switching signal 23 from the Q terminal while holding the write request signal 21, inverts and holds the switching signal 23 when the reset signal 22 is input, and outputs it from the Q terminal.
[0021]
The addresses at the time of updating the first and second nonvolatile memories 2a and 2b are input to the decoders 5a and 5b. Due to the two address decodings by the decoders 5a and 5b, the decoder 5a has access to the first nonvolatile memory 2a (or the second nonvolatile memory 2b) assigned to the main area A shown in FIG. , And the decoder 5b generates an access signal 24b indicating that the second nonvolatile memory 2b (or the first nonvolatile memory 2a) assigned to the backup area B has been accessed.
[0022]
The selectors 6a and 6b receive the access signals 24a and 24b, respectively, and select one of the inputs according to the input of the switching signal 23 to the select terminal S. These selectors 6a and 6b have their input terminals Q and L inverted and connected to each other, and when updating, either one of them is selected.
[0023]
Specifically, when the switching signal 23 is “0”, the first non-volatile memory 2a is allocated to the main area A when the access signal 24a becomes “1”, and when the access signal 24b becomes “1”, the main area A becomes A is assigned to the second nonvolatile memory 2b. On the other hand, when the switching signal 23 is “1”, the second nonvolatile memory 2b is allocated to the main area A when the access signal 24a becomes “1”, and the second nonvolatile memory 2b is allocated to the main area A when the access signal 24b becomes “1”. One nonvolatile memory 2a is allocated. As described above, by switching the selectors 6a and 6b, the assignment of the first and second nonvolatile memories 2a and 2b to the main area A and the backup area B can be switched. At the same time, the system is started from the first and second nonvolatile memories 2a and 2b allocated to the main area A.
[0024]
The output of the selector 6a is supplied as a selection signal 25a for controlling the first nonvolatile memory 2a via the OR circuit 7a. The output of the selector 6b is supplied as a control selection signal 25b to the second nonvolatile memory 2b via the OR circuit 7b. The parallel mode signal 27 is input to the OR circuits 7a and 7b. The parallel mode signal 27 is output from the CPU when the content comparison (read check) of the first and second nonvolatile memories 2a and 2b is performed simultaneously.
[0025]
Next, an update process of the first and second nonvolatile memories 2a and 2b according to the above configuration will be described. FIG. 3 is a flowchart showing a procedure for updating the multiplexed nonvolatile memory according to the first embodiment. When the nonvolatile memory is updated by the CPU provided inside the LSI, the watchdog timer 10 is activated to prevent erroneous writing of the nonvolatile memory due to runaway of the CPU. Next, the setting holding memory 4 receives a CPU write signal from the CPU and outputs a write request signal 21. Thereby, the holding circuit 8 outputs the switching signal 23, and the selectors 6a and 6b are switched. FIG. 4 is a diagram showing the rearrangement of the memory map. At this time, as shown in FIG. 4A, it is assumed that the second nonvolatile memory 2b is selected (assigned) to one system (the backup area B side) before the rearrangement.
[0026]
In this state, the CPU executes data update processing on the nonvolatile memory (second nonvolatile memory 2b) on the backup area B side (step S41). The updating process includes the above-described erasing process, a process of writing update data, and a read check process. In the writing step, data writing is performed from the update start address of the backup area B while incrementing the address. If an abnormality is detected in the read check step, it is determined that the update of the second nonvolatile memory 2b has failed, and a notification of a nonvolatile memory update error is made.
[0027]
FIG. 5 is a timing chart showing selection control of the first and second nonvolatile memories 2a and 2b according to the first embodiment. When the update processing of the second nonvolatile memory 2b ends normally, the CPU outputs the CPU write signal 20 again (FIG. 5A). As a result, the setting holding memory 4 holds the value obtained by inverting the original value, and outputs the inverted value to the holding circuit 8 as the write request signal 21 (step S42, FIG. 5B). Thus, after the rearrangement, as shown in FIG. 4B, the arrangement of the first and second nonvolatile memories 2a and 2b is switched.
[0028]
Thereafter, when the system is reset (step S43), the reset signal 22 is input to the holding circuit 8 (FIG. 5C). Correspondingly, the holding circuit 8 switches the switching signal 23 at the rise of the reset signal 22 (FIG. 5D). Thus, the access to the first and second nonvolatile memories 2a and 2b is switched, and the updated second nonvolatile memory 2b is allocated to the main area A.
[0029]
As a result, the CPU accesses the reset vector of the second nonvolatile memory 2b and starts executing the system (step S44). At this time, the first nonvolatile memory 2a is allocated to the backup area B. Then, an update process is performed on the first nonvolatile memory 2a (step S45). The update processing for the first non-volatile memory 2a is the same as the above-described update processing for the second non-volatile memory 2b, and the details are omitted.
[0030]
According to the above procedure, while the LSI 1 is mounted on the printed circuit board, the contents of the built-in first and second nonvolatile memories 2a and 2b are transferred to a single CPU built in the same LSI. The system can be updated sequentially by resetting the system. This makes it possible to easily update the LSI 1 without removing it from the printed circuit board.
[0031]
(Embodiment 2)
FIG. 6 is a block diagram illustrating a configuration of an electronic device including a multiplexed nonvolatile memory according to a second embodiment of the present invention. The second embodiment has a configuration in which a system reset is not required when updating a multiplexed nonvolatile memory. As in the first embodiment, the second embodiment is based on the premise that the LSI includes a CPU and two nonvolatile memories.
[0032]
As shown in the figure, the configuration of the second embodiment does not include the holding circuit 8 in the components of the switching unit 3. The output signal line of the setting holding memory 4 is directly connected to the select terminals S of the two selectors 6a and 6b.
[0033]
Next, an update process of the first and second nonvolatile memories 2a and 2b according to the above configuration will be described. FIG. 7 is a flowchart showing a procedure for updating a multiplexed nonvolatile memory according to the second embodiment. In the description using the same drawing, the description of the same processing content as in the embodiment is simplified.
[0034]
First, the watchdog timer 10 is started to prevent erroneous writing in the nonvolatile memory due to runaway of the CPU. Next, the setting holding memory 4 receives a CPU write signal from the CPU and outputs a write request signal 21. FIG. 8 is a diagram showing the rearrangement of the memory map. At this time, it is assumed that the second non-volatile memory 2b is selected (assigned) to one system (the backup area B side) before the rearrangement, as shown in FIG. 8A. Thereafter, a data update process is performed on the second nonvolatile memory 2b (step S51).
[0035]
In the read check step of the update process, the contents of the second nonvolatile memory 2b are read to confirm that the update has been performed reliably. Thereafter, it is confirmed that the application does not use the programs in the first and second nonvolatile memories 2a and 2b, and if so, the program is terminated, and the external interrupt and software used in the system are used. All interrupts are prohibited (step S52).
[0036]
FIG. 9 is a timing chart showing selection control of the first and second nonvolatile memories 2a and 2b according to the second embodiment. When the update processing of the second nonvolatile memory 2b ends normally, the CPU outputs the CPU write signal 20 again (FIG. 9A). As a result, the setting holding memory 4 holds the inverted value of the original value, and outputs the inverted value to the selectors 6a and 6b as the write request signal 21 (step S53, FIG. 9B). In the second embodiment, the write request signal 21 is used as the switching signal 23 (FIG. 9C) described in the first embodiment.
[0037]
Thus, after the rearrangement, as shown in FIG. 8B, the arrangement of the first and second nonvolatile memories 2a and 2b is switched. At this time, the write request signal 21 is inverted, the access to the first and second nonvolatile memories 2a and 2b is switched, the second nonvolatile memory 2b is selected, and the updated second nonvolatile memory 2b is selected. The memory 2b is allocated to the main area A.
[0038]
According to this configuration, the memory map can be switched without resetting the system. As a result, the CPU starts to access the updated second nonvolatile memory 2b, cancels the inhibition of the interrupt, and if the application uses the programs in the first and second nonvolatile memories 2a and 2b, Is permitted (step S54).
[0039]
At this time, the first nonvolatile memory 2a is allocated to the backup area B. Then, an update process is performed on the first nonvolatile memory 2a (step S55). The update processing for the first non-volatile memory 2a is the same as the above-described update processing for the second non-volatile memory 2b, and the details are omitted.
[0040]
In the updating method according to the second embodiment, a system reset is not required as compared with the updating method described in the first embodiment, and the first and second nonvolatile memories 2a and 2b are stored without stopping the system. It has the advantage that it can be updated. However, depending on the application operating on the system, a problem may occur when the BIOS programs and the like in the first and second nonvolatile memories 2a and 2b are replaced by rearrangement of the memory map in the middle. When such a program is provided, it is better to use the updating method (method of resetting the system when the memory map is switched) described in the first embodiment.
[0041]
According to the above procedure, the contents of the built-in first and second non-volatile memories 2a and 2b are transferred to a single CPU built in the same LSI 1 while the LSI 1 is mounted on a printed circuit board. And can be updated sequentially without using a system reset.
[0042]
Next, a description will be given of a data collation process after updating the non-volatile memories multiplexed by the updating method described in the first and second embodiments. This data collation processing can be executed by using the configuration of the OR circuits 7a and 7b and the comparator 30 shown in FIGS.
[0043]
After updating the first and second nonvolatile memories 2a and 2b, it is necessary to check whether the contents of the first and second nonvolatile memories 2a and 2b are the same. For this reason, after updating the first and second nonvolatile memories 2a and 2b, the contents are collated to determine a match. When the parallel mode signal 27 is supplied to the OR circuits 7a and 7b, the selection signals 25a and 25b are simultaneously supplied to the first and second nonvolatile memories 2a and 2b. Therefore, the CPU can read data from the first and second nonvolatile memories 2a and 2b at the same time by supplying the parallel mode signal 27 when executing the read check process.
[0044]
At this time, if the data sequentially read while incrementing the address is normally updated, the data is always stored in the first and second nonvolatile memories 2a and 2b respectively allocated to the main area A and the backup area B. Should match. This point is compared by the comparator 30 to detect a match. The CPU determines that the process has been completed normally if the match is detected in the data of all the addresses, and determines that the process has been abnormally ended (mismatch) if any part of the data does not match.
[0045]
According to the above configuration, even when the non-volatile memory is multiplexed, the data in both the main area A and the backup area B can be trusted, and the system using the non-volatile memory allocated to one area can be used. When the system cannot be activated, the system can be activated using the nonvolatile memory allocated to the other area, and the reliability of the system activation can be improved.
[0046]
In the configurations of Embodiments 1 and 2 described above, the configuration in which the CPU and the first and second nonvolatile memories 2a and 2b are incorporated in the same package of the LSI 1 has been described as an example. The present invention is not limited to packaging all of these inside the LSI 1, but also includes the CPU, the first and second non-volatile memories 2a and 2b, and the switching means 3 all composed of circuit elements of different packages. Only the parts can be made the same package, and the updating method described above can be applied to various aspects.
[0047]
(Embodiment 3)
FIG. 10 is a block diagram showing a circuit configuration of an electronic device including a multiplexed nonvolatile memory according to the third embodiment of the present invention. In the third embodiment, the multiplexed nonvolatile memory is updated using a dedicated ROM writer. As shown in the figure, the first and second nonvolatile memories 2a and 2b are configured to be able to simultaneously supply a parallel mode signal 27 for control from a dedicated ROM writer.
[0048]
FIG. 11 is a flowchart showing a procedure for updating a multiplexed nonvolatile memory according to the third embodiment. First, a chip circuit such as the LSI 1 shown in FIG. 10 is mounted on a dedicated ROM writer (not shown) (step S61). Next, a program to be updated is downloaded from an external PC (personal computer) or the like to a dedicated ROM writer (step S62).
[0049]
Next, the dedicated ROM writer activates the parallel mode signal 27 to select the first and second nonvolatile memories 2a and 2b at the same time, and the same for the first and second nonvolatile memories 2a and 2b at the same time. The program is written (step S63). As a result, the time required for updating can be reduced.
[0050]
After the update, the parallel mode signal 27 is activated to select the first and second nonvolatile memories 2a and 2b at the same time, and to read data from the first and second nonvolatile memories 2a and 2b at the same time. At this time, the data of one (first nonvolatile memory 2a) is output to the outside of the LSI 1, and the data of both nonvolatile memories 2a and 2b are compared by the comparator 30. As described above, the LSI 1 checks whether the updated data in the first and second nonvolatile memories 2a and 2b match, and outputs the result outside the LSI (step S64). As a result, even when the nonvolatile memories are multiplexed, the read check time can be performed in the same time as in the related art.
[0051]
The details of the read check are the same as the procedure shown in FIG. 12 described above. It is checked whether or not an error has occurred (step S65), and if there is no error (step S65: No), it is determined that the rewriting has been completed normally and the process ends. . On the other hand, if an error occurs during the read check (step S65: Yes), it is determined that the reading has been abnormally terminated (abnormal end). At the time of abnormal termination, the updating process including the erasing process is executed again.
[0052]
Since the above update procedure is an example using a dedicated ROM writer, when an existing ROM writer is used, there is no means for matching and comparing data in the multiplexed nonvolatile memory. In order to compare and match the data in the first and second nonvolatile memories 2a and 2b using the existing ROM writer in this manner, the data is serially read from the first and second nonvolatile memories 2a and 2b. You only have to check. For example, as shown in the memory map of FIG. 2, when the first and second nonvolatile memories 2a and 2b are continuously arranged in each area, the corresponding data in each of these areas is read-checked in address units. I do. Further, data obtained by continuously changing the address on the memory map may be determined to coincide with prescribed data. In this case, if the first and second non-volatile memories 2a and 2b are arranged continuously in each area, the data in each area can be sequentially read using an existing ROM writer.
[0053]
The first and second nonvolatile memories 2a and 2b and the setting holding memory 4 used in the first and second embodiments can be configured using an EEPROM. Thus, even after the LSI 1 is mounted on the printed circuit board, the first and second nonvolatile memories 2a and 2b can be updated by the built-in CPU any number of times. Further, the first and second nonvolatile memories 2a and 2b used in the third embodiment are not limited to the EEPROM, and after the step of erasing ultraviolet rays using the EPROM, the first and second nonvolatile memories 2a and 2b are used. Can be simultaneously updated and read checked. The number of nonvolatile memories used in each embodiment may be two or more, and one nonvolatile memory is allocated to the main area A, and a plurality of nonvolatile memories is allocated to the backup area B. Can be used.
[0054]
The updating method described above can be realized by executing a prepared program on a computer such as a personal computer or a workstation. This program is recorded on various recording media, and is executed by being read from the recording medium by a computer. The program may be a transmission medium that can be distributed via a network such as the Internet.
[0055]
(Supplementary Note 1) A nonvolatile memory updating circuit that includes a plurality of nonvolatile memories for storing a program and updates each nonvolatile memory.
Mapping means for forming a memory address formed by the plurality of nonvolatile memories by a main area having a reset vector of a CPU and a backup area, and forming one continuous address space by the main area and the backup area;
A main area set by the mapping means, and a switching means for allocating an area of each of the non-volatile memories to a backup area and controlling the areas to be interchangeable with each other;
Updating means for updating data in the nonvolatile memory assigned to the backup area,
A multiplexed nonvolatile memory update circuit, comprising:
[0056]
(Supplementary Note 2) The switching unit includes a holding unit that holds an assignment state of each of the nonvolatile memories to the main area and the backup area,
2. The multiplexed nonvolatile memory update circuit according to claim 1, wherein said holding means exchanges the assigned area based on a CPU write signal input at the time of update.
[0057]
(Supplementary note 3) The multiplexed nonvolatile memory according to any one of Supplementary notes 1 and 2, wherein the updating unit updates the data when a watchdog timer for detecting runaway of the CPU is activated. Update circuit for non-volatile memory.
[0058]
(Supplementary note 4) The multiplexed nonvolatile memory according to supplementary note 2, wherein the holding unit includes a nonvolatile memory that can electrically change a value without being affected by a power supply state and holds the changed state. Memory update circuit.
[0059]
(Supplementary Note 5) A nonvolatile memory updating circuit that includes a plurality of nonvolatile memories that store a program, and updates each nonvolatile memory.
A decoder for determining which area the CPU is accessing with respect to a main area having a reset vector of the CPU and a backup area;
A selector for allocating each of the non-volatile memories to the main area and the backup area, and controlling the allocated areas to be interchangeable based on an input of a selection signal;
A setting holding nonvolatile memory for holding and outputting an allocation state of each of the nonvolatile memories to the main area and the backup area, and inverting and holding a setting by input of a CPU write;
A holding circuit that outputs a holding output of the nonvolatile memory to the selector as a selection signal based on a system reset;
A CPU that updates data in a nonvolatile memory assigned to a backup area before and after the system reset,
A multiplexed nonvolatile memory update circuit comprising:
[0060]
(Supplementary Note 6) A nonvolatile memory update circuit that includes a plurality of nonvolatile memories for storing a program, and updates each nonvolatile memory.
A decoder for determining which area the CPU is accessing with respect to a main area having a reset vector of the CPU and a backup area;
A selector for allocating each of the non-volatile memories to the main area and the backup area, and controlling the allocated areas to be interchangeable based on an input of a selection signal;
A setting holding non-volatile memory for holding and outputting an allocation state of each of the non-volatile memories to the main area and the backup area, inverting and holding a setting by input of a CPU write, and outputting the setting as a selection signal to the selector;
A CPU for updating data in a nonvolatile memory assigned to a backup area before and after the CPU write,
A multiplexed nonvolatile memory update circuit comprising:
[0061]
(Supplementary note 7) The update circuit of the multiplexed nonvolatile memory according to any one of Supplementary notes 5 and 6, wherein each of the constituent circuits is packaged as a part of a single electronic circuit element. .
[0062]
(Supplementary note 8) The nonvolatile memory updating circuit according to any one of Supplementary notes 1 to 7, wherein each of the nonvolatile memories is formed of an EEPROM.
[0063]
(Supplementary Note 9) The multiplexed nonvolatile memories are configured to be able to simultaneously write / read data at the time of updating.
The multiplexed multiplexing device according to any one of Supplementary notes 1 to 8, further comprising a comparator for collating data read simultaneously from each of the nonvolatile memories, and configured to perform a match determination after updating each nonvolatile memory. Update circuit for nonvolatile memory.
[0064]
(Supplementary Note 10) A non-volatile memory updating method including a plurality of non-volatile memories for storing a program, and updating each of the non-volatile memories.
A mapping step of allocating a memory address of each of the nonvolatile memories to a main area having a reset vector of the CPU and a backup area, and forming one continuous address space by the main area and the backup area; A first update step of updating data in the nonvolatile memory allocated to the backup area set by the mapping step based on
Based on the system reset, the assignment of the main area and the backup area to each of the nonvolatile memories is exchanged with each other, and the system is started by the nonvolatile memory of the old backup area newly assigned to the main area. A second update process of updating data in another nonvolatile memory newly allocated to the backup area based on the exchange of the allocation based on the data;
A method of updating a multiplexed non-volatile memory, comprising:
[0065]
(Supplementary Note 11) A non-volatile memory update method including a plurality of non-volatile memories for storing a program, and updating each of the non-volatile memories.
A mapping step of allocating a memory address of each of the nonvolatile memories to a main area having a reset vector of the CPU and a backup area, and forming one continuous address space by the main area and the backup area; A first update step of updating data in the nonvolatile memory allocated to the backup area set by the mapping step based on
An area exchange step of exchanging the assignment of the main area and the backup area to each of the nonvolatile memories based on the CPU write again;
A second update step in which the system uses the nonvolatile memory of the old backup area newly assigned to the main area and updates data to another nonvolatile memory newly assigned to the backup area;
A method of updating a multiplexed non-volatile memory, comprising:
[0066]
(Supplementary note 12) The multiplexed multiplexing method according to supplementary note 11, wherein the area replacement step inhibits all interrupts used by the system, and is executed after the end of the program used by the application in the nonvolatile memory. How to update nonvolatile memory.
[0067]
【The invention's effect】
According to the present invention, a single memory map is divided into a main area and a backup area, an update is performed on the non-volatile memory allocated to the backup area, and the old backup area is replaced with the memory area and becomes the main area. Since the system is started by the update data and the other nonvolatile memory newly allocated to the backup area is updated, a plurality of multiplexed nonvolatile memories can be sequentially updated using a single CPU. The multiplexing structure in which the programs are stored in the non-volatile memories allocated to the main area and the backup area, respectively, enables the programs in the other non-volatile memories to be stored even if the system cannot be started using one non-volatile memory. The system used can be started. Further, the system can be restored even if the process ends abnormally during the update, so that the security of the system can be improved. Further, for updating, it is only necessary to sequentially update each non-volatile memory using one CPU, so that the circuit amount is small, and the circuit elements including the CPU and the non-volatile memory can be integrated into an LSI in a single package. And cost can be reduced. In addition, a plurality of nonvolatile memories can be updated while the LSI is mounted on the printed circuit board.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an electronic device including a multiplexed nonvolatile memory according to a first embodiment of the present invention.
FIG. 2 is a diagram showing a memory map accessed by a CPU.
FIG. 3 is a flowchart showing a procedure for updating a multiplexed nonvolatile memory according to the first embodiment;
FIG. 4 is a diagram showing rearrangement of a memory map.
FIG. 5 is a timing chart showing selection control of first and second nonvolatile memories according to the first embodiment;
FIG. 6 is a block diagram illustrating a configuration of an electronic device including a multiplexed nonvolatile memory according to a second embodiment of the present invention.
FIG. 7 is a flowchart showing a procedure for updating a multiplexed nonvolatile memory according to the second embodiment;
FIG. 8 is a diagram showing rearrangement of a memory map.
FIG. 9 is a timing chart showing selection control of first and second nonvolatile memories according to the second embodiment;
FIG. 10 is a block diagram illustrating a circuit configuration of an electronic device including a multiplexed nonvolatile memory according to a third embodiment of the present invention.
FIG. 11 is a flowchart showing a procedure for updating a multiplexed nonvolatile memory according to the third embodiment;
FIG. 12 is a flowchart showing an entire flow at the time of updating a nonvolatile memory.
FIG. 13 is a flowchart illustrating a procedure of an erasing step.
FIG. 14 is a flowchart illustrating a procedure of a writing step.
FIG. 15 is a flowchart illustrating a procedure of a read check process.
[Explanation of symbols]
1 LSI
2a First nonvolatile memory
2b Second nonvolatile memory
3 Switching means
4 Setting holding memory
5a, 5b decoder
6a, 6b selector
7a, 7b OR circuit
8 Holding circuit
10 Watchdog timer
30 comparator

Claims (5)

プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新回路であって、
前記複数の不揮発性メモリによって形成されるメモリアドレスを、CPUのリセットベクタを有する主領域とバックアップ領域によって構成し、該主領域とバックアップ領域によって連続する一つのアドレス空間を形成させるマッピング手段と、
前記マッピング手段によって設定された主領域と、バックアップ領域に対し前記各不揮発性メモリが有する領域をそれぞれ割り当て、相互に入れ替え可能に制御する切替手段と、
前記バックアップ領域に割り当てられた不揮発性メモリに対するデータ更新を行う更新手段と、
を具備することを特徴とする多重化された不揮発性メモリの更新回路。
A nonvolatile memory updating circuit that includes a plurality of nonvolatile memories for storing a program and updates each nonvolatile memory,
Mapping means for forming a memory address formed by the plurality of nonvolatile memories by a main area having a reset vector of a CPU and a backup area, and forming one continuous address space by the main area and the backup area;
A main area set by the mapping means, and a switching means for allocating an area of each of the non-volatile memories to a backup area and controlling the areas to be interchangeable with each other;
Updating means for updating data in the nonvolatile memory assigned to the backup area,
A multiplexed nonvolatile memory update circuit, comprising:
前記切替手段は、前記主領域及びバックアップ領域に対する前記各不揮発性メモリの割り当て状態を保持する保持手段を備え、
該保持手段は更新時のCPUライト信号の入力に基づき、前記割り当て領域を入れ替えることを特徴とする請求項1に記載の多重化された不揮発性メモリの更新回路。
The switching unit includes a holding unit that holds an allocation state of each of the nonvolatile memories to the main area and the backup area,
2. The multiplexed nonvolatile memory updating circuit according to claim 1, wherein said holding unit replaces the assigned area based on a CPU write signal input at the time of updating.
前記保持手段は、電源状態に影響を受けず電気的に値を変更でき、変更状態を保持する不揮発性メモリからなることを特徴とする請求項2に記載の多重化された不揮発性メモリの更新回路。3. The multiplexed non-volatile memory according to claim 2, wherein the holding unit includes a non-volatile memory that can change a value electrically without being affected by a power supply state and holds the changed state. circuit. プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新方法であって、
前記各不揮発性メモリが有するメモリアドレスを、CPUのリセットベクタを有する主領域と、バックアップ領域とにそれぞれ割り当て、該主領域とバックアップ領域によって連続する一つのアドレス空間を形成させるマッピング工程と、
CPUライトに基づき前記マッピング工程によって設定されたバックアップ領域に割り当てられた前記不揮発性メモリに対するデータ更新を行う第1の更新工程と、
システムリセットに基づき、前記各不揮発性メモリに対する主領域とバックアップ領域の割り当てを相互に入れ替え、新たに主領域に割り当てられた旧バックアップ領域の不揮発性メモリによってシステム起動させる領域入れ替え工程と、
CPUライトに基づき前記割り当ての入れ替えの状態で新たにバックアップ領域に割り当てられた他の不揮発性メモリに対するデータ更新を行う第2の更新工程と、
を含むことを特徴とする多重化された不揮発性メモリの更新方法。
A method for updating a nonvolatile memory, comprising a plurality of nonvolatile memories for storing a program, and updating each nonvolatile memory,
A mapping step of allocating a memory address of each of the nonvolatile memories to a main area having a reset vector of the CPU and a backup area, and forming one continuous address space by the main area and the backup area;
A first updating step of updating data in the nonvolatile memory allocated to the backup area set by the mapping step based on a CPU write;
Based on a system reset, swapping the assignment of the main area and the backup area to each of the non-volatile memories, and starting the system with the non-volatile memory of the old backup area newly assigned to the main area;
A second updating step of updating data in another nonvolatile memory newly allocated to the backup area in a state where the allocation has been replaced based on the CPU write;
A method of updating a multiplexed non-volatile memory, comprising:
プログラムを格納する不揮発性メモリを複数備え、各不揮発性メモリを更新する不揮発性メモリの更新方法であって、
前記各不揮発性メモリが有するメモリアドレスを、CPUのリセットベクタを有する主領域と、バックアップ領域とにそれぞれ割り当て、該主領域とバックアップ領域によって連続する一つのアドレス空間を形成させるマッピング工程と、
CPUライトに基づき前記マッピング工程によって設定されたバックアップ領域に割り当てられた前記不揮発性メモリに対するデータ更新を行う第1の更新工程と、
再度のCPUライトに基づき前記各不揮発性メモリに対する主領域とバックアップ領域の割り当てを相互に入れ替える領域入れ替え工程と、
新たに主領域に割り当てられた旧バックアップ領域の不揮発性メモリをシステムが用い、新たにバックアップ領域に割り当てられた他の不揮発性メモリに対するデータ更新を行う第2の更新工程と、
を含むことを特徴とする多重化された不揮発性メモリの更新方法。
A method for updating a nonvolatile memory, comprising a plurality of nonvolatile memories for storing a program, and updating each nonvolatile memory,
A mapping step of allocating a memory address of each of the nonvolatile memories to a main area having a reset vector of the CPU and a backup area, and forming one continuous address space by the main area and the backup area;
A first updating step of updating data in the nonvolatile memory allocated to the backup area set by the mapping step based on a CPU write;
An area exchange step of exchanging the assignment of the main area and the backup area to each of the nonvolatile memories based on the CPU write again;
A second update step in which the system uses the nonvolatile memory of the old backup area newly assigned to the main area and updates data to another nonvolatile memory newly assigned to the backup area;
A method of updating a multiplexed non-volatile memory, comprising:
JP2002169013A 2002-06-10 2002-06-10 Updating circuit, and updating method of multiplexed nonvolatile memory Withdrawn JP2004013719A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002169013A JP2004013719A (en) 2002-06-10 2002-06-10 Updating circuit, and updating method of multiplexed nonvolatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002169013A JP2004013719A (en) 2002-06-10 2002-06-10 Updating circuit, and updating method of multiplexed nonvolatile memory

Publications (1)

Publication Number Publication Date
JP2004013719A true JP2004013719A (en) 2004-01-15

Family

ID=30435765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002169013A Withdrawn JP2004013719A (en) 2002-06-10 2002-06-10 Updating circuit, and updating method of multiplexed nonvolatile memory

Country Status (1)

Country Link
JP (1) JP2004013719A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604877B1 (en) 2004-07-03 2006-07-31 삼성전자주식회사 Apparatus and method for controlling memory address mapping in embedded system
WO2006125391A1 (en) * 2005-05-24 2006-11-30 China Unionpay A computer processing system for achieving data upgrading and a data upgrading method
WO2008075646A1 (en) * 2006-12-18 2008-06-26 International Business Machines Corporation Information processing system and method for starting/recovering the system
US7900036B2 (en) 2006-12-18 2011-03-01 International Business Machines Corporation System and method for implementing boot/recovery on a data processing sysem
JP2011118514A (en) * 2009-12-01 2011-06-16 Yokogawa Electric Corp Data processing apparatus and data processing method
US8516208B2 (en) 2009-03-19 2013-08-20 Fujitsu Limited Data backup method and information processing apparatus
JP6011687B1 (en) * 2015-07-09 2016-10-19 日本電気株式会社 Storage device and control method thereof
CN110032405A (en) * 2018-01-11 2019-07-19 旺宏电子股份有限公司 System boot code memory management method, memory device and the electronic system using it

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604877B1 (en) 2004-07-03 2006-07-31 삼성전자주식회사 Apparatus and method for controlling memory address mapping in embedded system
WO2006125391A1 (en) * 2005-05-24 2006-11-30 China Unionpay A computer processing system for achieving data upgrading and a data upgrading method
EP2124151A4 (en) * 2006-12-18 2010-09-15 Ibm Information processing system and method for starting/recovering the system
EP2124151A1 (en) * 2006-12-18 2009-11-25 Nternational Business Machines Corporation Information processing system and method for starting/recovering the system
JPWO2008075646A1 (en) * 2006-12-18 2010-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation Information processing system and method for starting / recovering the system
JP4456653B2 (en) * 2006-12-18 2010-04-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing system and method for starting / recovering the system
WO2008075646A1 (en) * 2006-12-18 2008-06-26 International Business Machines Corporation Information processing system and method for starting/recovering the system
US7900036B2 (en) 2006-12-18 2011-03-01 International Business Machines Corporation System and method for implementing boot/recovery on a data processing sysem
KR101107446B1 (en) * 2006-12-18 2012-01-19 인터내셔널 비지네스 머신즈 코포레이션 Information processing system and method for starting/recovering the system
US8516208B2 (en) 2009-03-19 2013-08-20 Fujitsu Limited Data backup method and information processing apparatus
JP2011118514A (en) * 2009-12-01 2011-06-16 Yokogawa Electric Corp Data processing apparatus and data processing method
JP6011687B1 (en) * 2015-07-09 2016-10-19 日本電気株式会社 Storage device and control method thereof
CN110032405A (en) * 2018-01-11 2019-07-19 旺宏电子股份有限公司 System boot code memory management method, memory device and the electronic system using it

Similar Documents

Publication Publication Date Title
US7290097B2 (en) Nonvolatile memory
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
KR100316981B1 (en) Microcomputer provided with flash memory and method of storing program into flash memory
GB2385167A (en) Non-volatile memory initialisation by a controller loading firmware from the non-volatile memory to volatile memory attached to a processor.
JPH07114497A (en) Semiconductor integrated circuit device
JPH11110306A (en) Storage device, system and method for processing data
JP2012128643A (en) Memory system
US5933595A (en) Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory
KR20190099796A (en) Memory device
KR100894251B1 (en) Memory module system with multiple SPD ROM and boothing method of the memory module system
JP4843222B2 (en) Semiconductor memory device control method, memory card, and host device
JP2004013719A (en) Updating circuit, and updating method of multiplexed nonvolatile memory
JP3376306B2 (en) Data processing apparatus and data processing method
JP5730034B2 (en) Semiconductor device
US8219860B2 (en) Microprocessor system for controlling at least partly safety-critical processes
JP5066894B2 (en) Storage medium control device
JPWO2006040798A1 (en) Semiconductor integrated circuit device and electronic system
JP2002015584A (en) Read/protect circuit for non-volatile memory
JP2005050442A (en) Redundant memory circuit
JP3651886B2 (en) Electronic system
US20050068842A1 (en) Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory
US7849279B2 (en) Method for the secure updating data areas in non volatile memory, device to perform such a method
JPH1011277A (en) Computer device with electrically rewritable nonvolatile memory and nonvolatile semiconductor memory
JPH07122087A (en) Eeprom error check system
JP2853593B2 (en) Download device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050906