JP4848126B2 - マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法 - Google Patents

マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法 Download PDF

Info

Publication number
JP4848126B2
JP4848126B2 JP2004320823A JP2004320823A JP4848126B2 JP 4848126 B2 JP4848126 B2 JP 4848126B2 JP 2004320823 A JP2004320823 A JP 2004320823A JP 2004320823 A JP2004320823 A JP 2004320823A JP 4848126 B2 JP4848126 B2 JP 4848126B2
Authority
JP
Japan
Prior art keywords
area
data
address
nonvolatile memory
holding unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004320823A
Other languages
English (en)
Other versions
JP2006133982A (ja
Inventor
敬 市川
好将 新井
研史 須藤
茂雄 田中
亮ニ 藤原
義利 小山田
英和 加藤
秀規 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
On Semiconductor Trading Ltd
Original Assignee
On Semiconductor Trading 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 On Semiconductor Trading Ltd filed Critical On Semiconductor Trading Ltd
Priority to JP2004320823A priority Critical patent/JP4848126B2/ja
Publication of JP2006133982A publication Critical patent/JP2006133982A/ja
Application granted granted Critical
Publication of JP4848126B2 publication Critical patent/JP4848126B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、マイクロコンピュータと、マイクロコンピュータにおける不揮発性メモリ(例えばフラッシュメモリ)のデータ保護方法に関する。
マイクロコンピュータには、論理演算を実行するためのプログラムやデータを格納するための不揮発性メモリが接続あるいは内蔵されている。不揮発性メモリには、プログラムやデータを書き換えることが出来ない読み出し専用のマスクROMや、書き込み、消去が可能なEPROMやEEPROMがある。また、EEPROMの一種として、ブロック単位で消去をしてから書き込みを行うフラッシュメモリが知られている。最近のマイクロコンピュータでは、上述のプログラムやデータを格納する不揮発性メモリとして、このフラッシュメモリが内蔵される傾向が高い。また、不揮発性メモリに書き込み、消去、および読み出しを実行するモードとして、当該不揮発性メモリの内部に格納されたプログラムデータを使用するCPUモードと、マイクロコンピュータの外部装置であるLSIテスタやプログラムライタ等を使用するテストモードとがある。
従来、不揮発性メモリを内蔵したマイクロコンピュータには、CPUモードでプログラムを実行するために、不揮発性メモリのアドレスを指定するアドレスラッチ、書き込みデータを指定するデータラッチ、書き込みや消去の動作モードを指定するコントロールレジスタ等が備えられている。
図5を参照しつつ、不揮発性メモリを内蔵した従来のマイクロコンピュータについて説明する。図5は、従来のマイクロコンピュータの概要を示すブロック図である。
マイクロコンピュータ100は、フラッシュメモリ102(不揮発性メモリ)、アドレスラッチ104、データラッチ106、コントロールレジスタ108、システムバス110等を有する。
フラッシュメモリ102は、データの書き込み、読み出し、電気消去が可能で、かつ電源を切っても格納されたデータが保持される不揮発性メモリであり、マイクロコンピュータ100における種々の演算処理を実行するためのプログラムデータ、当該演算処理を実行する際に参照するテーブルデータ等が予め格納されている。
アドレスラッチ104は、フラッシュメモリ102のアドレスを指定するためのものである。アドレスラッチ104は、リセット信号RESET(例えばローレベル)でリセットされた後、フラッシュメモリ102の指定アドレスを示すアドレスデータがシステムバス110を介してセットされる。また、アドレスラッチ104は、クロックCLKの変化に同期してアドレスデータが変更される。これにより、フラッシュメモリ102は、アドレスラッチ104のアドレスデータにて指定アドレスをアクセスされ、この指定アドレスにおけるデータの書き込みまたは読み出しが可能となる。尚、アドレスラッチ104は、最初のアドレスデータがセットされた後、このアドレスデータをクロックCLKに同期してインクリメントするプログラムカウンタであってもよい。一方、アドレスラッチ104は、フラッシュメモリ102から読み出されたプログラムデータの解読結果に従って、次の指定アドレスを示すアドレスデータがシステムバス110を介してセットされるものでもよい。
データラッチ106は、フラッシュメモリ102の指定アドレスにデータを書き込むためのものである。データラッチ106は、リセット信号RESETでリセットされた後、フラッシュメモリ102の指定アドレスへの書き込みデータがシステムバス110を介してセットされる。また、データラッチ106は、クロックCLKの変化に同期して、アドレスデータの変更に伴って書き込みデータが変更される。これにより、フラッシュメモリ102は、指定アドレスに書き込みデータが格納されることとなる。
コントロールレジスタ108は、フラッシュメモリ102の動作モードを設定するためのものである。コントロールレジスタ108は、リセット信号RESETでリセットされた後、必要に応じて、フラッシュメモリ102を書き込みモードに設定する2ビットデータ(例えば論理値“01”)またはフラッシュメモリ102を消去モードに設定する2ビットデータ(例えば論理値“10”)がデータバス110を介してセットされる。尚、コントロールレジスタ108は、リセット信号RESETでリセットされた後に何もセットされない場合、フラッシュメモリ102を読み出しモードに設定する2ビットデータ(論理値“00”)がセットされたことと等価となる。また、コントロールレジスタ108は、クロックCLKの変化に同期して、2ビットデータがセットされる。これにより、フラッシュメモリ102は、読み出しモード、書き込みモード、消去モードの何れかに設定されることとなる。
システムバス110は、アドレスデータ、書き込みデータ、2ビットデータを転送するものである。尚、データバス110は、アドレスデータ用のデータ線、書き込みデータ用のデータ線、2ビットデータ用のデータ線を各々独立して設けたものでもよい。一方、データバス110は、アドレスデータ用のデータ線、書き込みデータ用のデータ線、2ビットデータ用のデータ線を兼用して設けたものでもよい。
以上の構成によって、マイクロコンピュータ100は、フラッシュメモリ102から読み出されたプログラムデータの解読結果に従って、種々の論理演算を実行することとなる。
特開2003−131951
コントロールレジスタ108は、マイクロコンピュータ100内部のプログラム処理に従って2ビットデータが選択的にセットされるものである。しかし電源投入時、マイクロコンピュータ100内部のシステム動作は不安定であるため、マイクロコンピュータ100はコントロールレジスタ108にセットすべき2ビットデータを特定することが困難である。つまり、マイクロコンピュータ100はリセット信号RESETによってリセットを実行するが、このリセット後に、仮にプログラムが暴走すると、本来“00”となるはずのコントロールレジスタ108の2ビットデータが、“01”(書き込みモード)または“10”(消去モード)となる可能性がある。その場合、フラッシュメモリ102のアドレスラッチ104の指定アドレスに、誤ってデータラッチ106のデータが書き込まれる、または書き込まれていたデータが消去される恐れがある。
また、マイクロコンピュータ100内のプログラム処理に従ってフラッシュメモリ102のデータを書き換え、または消去しているとき、本来発生すべきではないシステムリセット信号や、システムが暴走することを検出することによるウオッチドックタイマリセット(WSTリセット)信号等が発生する場合がある。これらのリセット信号によって、アドレスラッチ104、データラッチ106、コントロールレジスタ108は全てリセットされることになる。ところが、コントロールレジスタ108のリセットのタイミングが遅れると、フラッシュメモリ102のアドレス(例えば“0000”)に、データ(例えば“00”)を書き込む(2ビットデータ“01”)、またはデータを消去する(2ビットデータ“10”)という誤動作が発生することになる。
フラッシュメモリ102には、マイクロコンピュータ100のプログラムや演算処理に必要なデータなど重要なデータが格納されているので、これらのデータが一度書き換わってしまうと、マイクロコンピュータ100が正常な動作を行えなくなる場合がある。
さらに、フラッシュメモリ102に当該フラッシュメモリ102を書き換えるためのプログラムが格納されている場合、このプログラムに誤書き込みまたは誤消去が行われると、再度プログラムの書き換えをすることもできなくなってしまう。
このように、従来のマイクロコンピュータ100ではCPUモードで動作している最中にリセットが行われた場合、フラッシュメモリ102の誤書き込みや誤消去をする恐れがあるという問題点があった。
そこで、本発明は、リセットに伴う不揮発性メモリの誤書き込みおよび誤消去を行うことを防止するマイクロコンピュータおよびマイクロコンピュータにおける不揮発性メモリのデータ保護方法を提供することを目的とする。
前記課題を解決するための主たる発明は、第1エリアおよび当該第1エリア以外の第2エリアを有し、データの書き込み、読み出し、電気消去が可能である不揮発性メモリと、前記不揮発性メモリの第1エリアまたは第2エリアを指定するためのアドレスデータを保持するアドレスデータ保持部と、前記不揮発性メモリを書き込み状態または消去状態とするための制御データを保持する制御データ保持部と、を有するマイクロコンピュータであって、前記不揮発性メモリの第1エリアを指定するための指示信号と、リセット信号とに基づいて、前記アドレスデータ保持部に対して、前記不揮発性メモリの第1エリア内の所定アドレスデータをセットするアドレス生成部と、前記アドレスデータ保持部の値が前記不揮発性メモリの第1エリアの所定アドレスデータであるか否かを判別し、前記アドレスデータ保持部の値が前記所定アドレスデータであるものと判別したときの判別結果に基づいて、前記制御データ保持部の制御データを無効とする判別部と、を備えたことを特徴とする。
本発明によれば、リセットに伴う不揮発性メモリの誤書き込みおよび誤消去することを防止することができる。
本明細書および添付図面の記載により、少なくとも以下の事項が明らかとなる。
===マイクロコンピュータの構成===
図1を参照しつつ、本発明にかかるマイクロコンピュータについて説明する。図1は、本発明にかかるマイクロコンピュータの概要を示すブロック図である。
マイクロコンピュータ200は、フラッシュメモリ202(『不揮発性メモリ』)、アドレスラッチ204(『アドレスデータ保持部』)、データラッチ206、コントロールレジスタ208(『制御データ保持部』)、システムバス210、アドレス生成回路212(『アドレス生成部』)、切替回路214、216、218、アドレス判定回路220(『アドレスデータ解読部』)、ANDゲート222(『論理回路』)、モード制御回路224、BOOT端子(『外部端子』)、TEST端子、MODE端子、アドレス端子AD(以下、AD端子とする)、データ端子DE(以下、DE端子とする)、ERASE,PROG端子EP(以下、EP端子とする)等を有する。
フラッシュメモリ202は、データの書き込み、読み出し、電気消去が可能で、かつ電源を切っても格納されたデータが保持される不揮発性メモリであり、マイクロコンピュータ100における種々の演算処理を実行するためのプログラムデータ、当該演算処理を実行する際に参照するテーブルデータ等が予め格納されている。尚、フラッシュメモリ202は、フラッシュメモリ202の領域202b(『第2エリア』)を書き換えるためのプログラム等が格納されたBOOTプログラム格納領域(以下BOOT領域とする)202a(『第1エリア』)を有している。また、BOOT領域202aには、領域202aから領域202bにジャンプするためのプログラムが格納されている。尚、BOOT領域202aは、後述するように、テストモード以外で書き込みおよび消去出来ないように保護されている。
BOOT領域202aは、フラッシュメモリ202の任意の場所に設けることが可能であるが、実使用に影響の少ないフラッシュメモリ202のアドレスの最後部に設けることが望ましい。尚、領域202bは、フラッシュメモリ202におけるBOOT領域202a以外の領域であり、後述するBOOTモードが実行されるとBOOT領域202aに格納されたプログラムに基づいて演算処理を実行する。
アドレスラッチ204は、フラッシュメモリ202のアドレスを指定するためのものである。アドレスラッチ204は、リセット信号RESET(例えばローレベル)でリセットされた後、アドレス生成回路212によってBOOT領域202aまたは領域202bの指定アドレスを示すアドレスデータがセットされる。また、アドレスラッチ204は、クロックCLKの変化に同期してアドレスデータが変更される。これにより、フラッシュメモリ202は、アドレスラッチ204のアドレスデータにて指定アドレスをアクセスされる。尚、アドレスラッチ204は、最初のアドレスデータがセットされた後、このアドレスデータをクロックCLKに同期してインクリメントするプログラムカウンタであってもよい。一方、アドレスラッチ204は、フラッシュメモリ202から読み出されたプログラムデータの解読結果に従って、次の指定アドレスを示すアドレスデータがシステムバス210を介してセットされるものでもよい。
データラッチ206は、フラッシュメモリ202の指定アドレスにデータを書き込むためのものである。データラッチ206は、リセット信号RESETでリセットされた後、フラッシュメモリ202の指定アドレスへの書き込みデータがシステムバス210を介してセットされる。また、データラッチ206は、クロックCLKの変化に同期して、アドレスデータの変更に伴って書き込みデータが変更される。これにより、フラッシュメモリ202は、指定アドレスに書き込みデータが格納されることとなる。
コントロールレジスタ208は、フラッシュメモリ202の動作モードを設定するためのものである。コントロールレジスタ208は、リセット信号RESETでリセットされた後、必要に応じて、フラッシュメモリ202を書き込みモードに設定する2ビットデータ(例えば論理値“01”)またはフラッシュメモリ202を消去モードに設定する2ビットデータ(例えば論理値“10”)がデータバス210を介してセットされる。尚、コントロールレジスタ208は、リセット信号RESETでリセットされた後に何もセットされない場合、フラッシュメモリ202を読み出しモードに設定する2ビットデータ(論理値“00”)がセットされたことと等価となる。また、コントロールレジスタ208は、クロックCLKの変化に同期して、2ビットデータがセットされる。尚、このコントロールレジスタ208にセットされる2ビットデータは、フラッシュメモリ202のプログラムによって設定されるものである。これにより、フラッシュメモリ202は、読み出しモード、書き込みモード、消去モードの何れかに設定されることとなる。
システムバス210は、アドレスデータ、書き込みデータ、2ビットデータを転送するものである。尚、データバス210は、アドレスデータ用のデータ線、書き込みデータ用のデータ線、2ビットデータ用のデータ線を各々独立して設けたものでもよい。一方、データバス210は、アドレスデータ用のデータ線、書き込みデータ用のデータ線、2ビットデータ用のデータ線を兼用して設けたものでもよい。
アドレス生成回路212は、BOOT端子が「HIGH」レベル(以下、「H」とする)の時にリセット信号RESETでリセットされた場合にはBOOT領域202aの所定アドレス(例えば先頭アドレス“9C00”)をアドレスラッチ204にセットする。また、BOOT端子が「LOW」レベル(以下、「L」とする)の時にリセット信号RESETでリセットされた場合には領域202bの所定アドレス(例えば先頭アドレス“0000”)をアドレスラッチ204にセットする。
切替回路214は、モード制御回路224の出力がテストモードを示すとき(例えば「H」)AD端子側の信号を出力し、またモード制御回路224の出力がテストモード以外を示すとき(例えば「L」)アドレス生成回路212側の信号を出力するように切り替えを行う。
切替回路216は、モード制御回路224の出力がテストモードを示すとき(例えば「H」)DE端子側の信号を出力し、またモード制御回路224の出力がテストモード以外(例えば「L」)を示すときデータラッチ206側の信号を出力するように切り替えを行う。
切替回路218は、モード制御回路224の出力がテストモードを示すとき(例えば「H」)EP端子側の信号を出力し、またモード制御回路224の出力がテストモード以外を示すとき(例えば「L」)コントロールレジスタ208側の信号を出力するように切り替えを行う。
アドレス判定回路220は、アドレスラッチ204にセットされたアドレスがBOOT領域202a内のアドレスで有るか否かを判定する。そして、アドレス判定回路220は、アドレスラッチ204にセットされたアドレスがBOOT領域202a内のアドレスであると判定した場合には「H」(『一致信号』)を出力し、BOOT領域202a内のアドレスでないと判定した場合には「L」を出力する。
ANDゲート222は、アドレス判定回路220の出力の反転と、コントロールレジスタ208の出力との論理積を切替回路218に出力する。すなわち、ANDゲート222はアドレス判定回路220の出力が「H」のとき、コントロールレジスタ208の出力を無効とし、アドレス判定回路220の出力が「L」のとき、コントロールレジスタ208の出力を通過させる。
モード制御回路224は、TEST端子のレベルに基づいて、切替回路214、216、218を切り替えるための信号を出力するものである。例えば、モード制御回路224は、TEST端子が「H」の場合には「H」を出力し、TEST端子が「L」の場合には「L」を出力する。
TEST端子は、テストモードを実行することを示す端子であり、テストモードを実行する場合に「H」に設定され、テストモード以外を実行する場合に「L」に設定される。
MODE端子は、テストモード時に使用される端子であり、テストモードのテストする機能の数に応じて設けられている。
BOOT端子は、CPUモードのうちのBOOTモードを設定するための端子である。尚、CPUモードとは、リセット信号RESET(例えばローレベル)でリセットされた後、アドレス生成回路212によって領域202bの指定アドレスが指定されるモードであり、BOOTモードとは、リセット信号RESET(例えばローレベル)でリセットされた後、アドレス生成回路212によって領域202aの指定アドレスが指定されるモードである。また、LSIテスタやプログラムライタを用いてフラッシュメモリ202の書き込み、読み出し、消去を行うテストモードの時にはBOOT端子は無効になる。
AD端子、DE端子、EP端子は、テストモード時にそれぞれアドレスデータ、書き込みデータ、2ビットデータを、LSIテスタやプログラムライタ等から入力するための端子である。
尚、アドレス判定回路220とANDゲート222は判別部を構成する。また図1中のl、m、n、2はそれぞれビット数を示しており、l、m、nは任意の数値である。
以上の構成によって、マイクロコンピュータ200は、BOOT端子のレベルとTEST端子のレベルに応じて、CPUモード、BOOTモード、テストモードの何れかを実行する。
===マイクロコンピュータの動作===
図2、図3、図4を使用して本発明のマイクロコンピュータの動作を説明する。
尚、図2はTEST端子とBOOT端子の関係を示す図である。図3は、アドレス判定回路の出力とANDゲート222の出力の関係を示す図である。図4は、テストモード信号と切替回路218の関係を示す図である。
≪TEST端子が「H」の場合≫
図2に示すようにTEST端子が「H」の場合はBOOT端子の「H」、「L」に関係なくテストモードとなる。すなわち、モード制御回路224の出力が「H」となり切替回路214、216、218は、それぞれAD端子、DE端子、EP端子側に切り替えられる。そして、これらの端子を介して入力されるLSIテスタやプログラムライタ等からの信号に基づいて、BOOT領域202a、および領域202bを含めたフラッシュメモリ202の、書き込み、読み出し、消去が行われる。
よって、この場合マイクロコンピュータのプログラムを使用していないので、リセットの際のプログラムやシステムの暴走に伴うフラッシュメモリ202の誤書き込みや、誤消去は発生しない。
≪TEST端子が「L」、BOOT端子が「L」の場合≫
図2に示すようにTEST端子が「L」、BOOT端子が「L」の場合には、通常のCPUモードとなる。また、モード制御回路224の出力が「L」なので切替回路214、216、218は、それぞれアドレスラッチ204、データラッチ206、コントロールレジスタ208側に切り替えられている。
CPUモード時にマイクロコンピュータ200がリセットされると、アドレスラッチ204にはアドレス生成回路212によって、領域202b内のアドレス(例えば先頭アドレス“0000”)がセットされる。これにより、クロックCLKの変化に同期して領域202b内のアドレスが指定されるともに、アドレス判定回路220にも、当該アドレスが入力される。
アドレス判定回路の出力は、アドレスデータがBOOT領域202aの所定アドレスを示すものではないので「L」となる。従って、図3より、ANDゲート222は、コントロールレジスタ208の出力を通過させる。さらに図4より、切替回路218もコントロールレジスタ208からの信号を出力する。
このとき、リセットに伴うシステムやプログラムの暴走によって、コントロールレジスタ208からERASE信号、PROG信号が出力され、領域202bに誤書き込み、誤消去が行われる可能性がある。しかし、後述するようにBOOT端子を「H」とすることで、誤書き込み、誤消去を防止することができる。
≪TEST端子が「L」、BOOT端子が「H」の場合≫
図2に示すようにTEST端子が「L」、BOOT端子が「H」の場合には、BOOTモードとなる。また、モード制御回路224の出力が「L」となるので切替回路214、216、218は、それぞれアドレスラッチ204、データラッチ206、コントロールレジスタ208側に切り替えられている。
この、BOOT端子が「H」でマイクロコンピュータ200がリセットされると、アドレスラッチ204にはアドレス生成回路212によってBOOT領域202aの所定アドレス(例えば先頭アドレス“9C00”)がセットされる。これにより、クロックCLKの変化に同期してBOOT領域202aの所定アドレスが指定されるともに、アドレス判定回路220にも、当該アドレスが入力される。
アドレス判定回路220の出力は、入力されたアドレスがBOOT領域202a内のアドレスを示すものであるので「H」となる。従って図3よりANDゲート222の出力は「L」固定となり、コントロールレジスタ208の出力は無効となる。
従って、BOOT端子が「H」でリセットされた場合には、システムやプログラムの暴走によってコントロールレジスタ208が誤動作したとしても、またはコントロールレジスタ208のリセットのタイミングが遅れたとしても、フラッシュメモリ202に誤書き込みや誤消去を行うことを防止できる。
尚、BOOT領域202aには領域202bにジャンプするためのプログラムが格納されており、リセット後に所定のタイミングでBOOT領域202aから領域202bにジャンプすることで通常のCPUモードが実行されることになる。
以上説明したように、本発明のマイクロコンピュータは、内蔵するフラッシュメモリ202に、領域202bを書き換えるためのプログラムが格納されたBOOT領域202aを設けている。そして、BOOT端子が「H」およびTEST端子が「L」の期間にリセットとなった場合、BOOT領域202aが指定され、またANDゲート222によってコントロールレジスタ208の出力を無効とするので、書き込み中のリセットに伴いコントロールレジスタ208の出力が不安定になってもフラッシュメモリ202の誤書き込みや誤消去を防止することができる。
また、BOOT端子が「L」およびTEST端子が「L」の期間にリセットとなった場合には、アドレスラッチ204にはフラッシュメモリ202の所定アドレス(例えば先頭アドレス“0000”)がセットされるので、通常の初期状態とすることができる。
さらに、リセット時にBOOT端子が「H」であるか「L」であるかに応じて、アドレス生成回路212がアドレスラッチ204に設定するアドレスを変更することができ、BOOT端子を「H」とすることでフラッシュメモリ202の誤書き込みや誤消去を防止することができる。
フラッシュメモリ202は、BOOT領域202aに格納されたプログラムに基づいて領域202bのデータを書き換えることができる。また、BOOT端子が「H」でリセットされると、アドレス生成回路212がアドレスラッチ204にBOOT領域202aのアドレスをセットすることによって、ANDゲート222がコントロールレジスタ208の出力を無効とするのでフラッシュメモリ202の誤書き込みや誤消去を防止することができる。
また、アドレス判定回路220とANDゲート222による判別部によって、アドレスラッチ204にセットされたアドレスがBOOT領域202a内のアドレスのときにコントロールレジスタ208の出力を無効とするので、フラッシュメモリ202の誤書き込みや誤消去を防止することができる。
以上、本発明にかかるマイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法について説明したが、上記の説明は、本発明の理解を容易とするためのものであり、本発明を限定するものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得るとともに、本発明にはその等価物が含まれることは勿論である。
本発明にかかるマイクロコンピュータの概要を示すブロック図である。 TEST端子とBOOT端子の関係を示す図である。 アドレス判定回路の出力とANDゲートの出力の関係を示す図である。 テストモード信号と切替回路の関係を示す図である。 従来のマイクロコンピュータの概要を示すブロック図である。
符号の説明
200 マイクロコンピュータ
202 フラッシュメモリ
204 アドレスラッチ
206 データラッチ
208 コントロールレジスタ
210 システムバス
212 アドレス生成回路
214、216、218 切替回路
220 アドレス判定回路
222 ANDゲート
224 モード制御回路

Claims (9)

  1. 第1エリアおよび当該第1エリア以外の第2エリアを有し、データの書き込み、読み出し、電気消去が可能である不揮発性メモリと、前記不揮発性メモリの第1エリアまたは第2エリアを指定するためのアドレスデータを保持するアドレスデータ保持部と、前記不揮発性メモリを書き込み状態または消去状態とするための制御データを保持する制御データ保持部と、を有するマイクロコンピュータであって、
    前記第1又は第2エリアを指定するための第1信号が印加される第1端子と、
    前記第1エリアのデータの書き込み又は消去を行うためのテストモードを実行するための第2信号が印加される第2端子と、
    前記第1端子に印加された前記第1エリアを指定するための第1信号と、リセット信号とに基づいて、前記アドレスデータ保持部に対して、前記不揮発性メモリの第1エリア内の所定アドレスデータをセットするアドレス生成部と、
    前記アドレスデータ保持部の値が前記不揮発性メモリの第1エリアの所定アドレスデータであるか否かを判別し、前記アドレスデータ保持部の値が前記所定アドレスデータであるものと判別したときの判別結果に基づいて、前記制御データ保持部の制御データを無効とし、前記第2端子に印加された前記第2信号に基づいて、切替回路が、前記制御データ保持部の制御データを出力せずに、第3端子に入力される信号を切り替えて出力する判別部と、
    を備えたことを特徴とするマイクロコンピュータ。
  2. 前記アドレス生成部は、
    前記不揮発性メモリの第1エリアを指定していない前記第1信号と、前記リセット信号とに基づいて、前記アドレスデータ保持部に対して、前記不揮発性メモリの第2エリア内の所定アドレスデータをセットする、ことを特徴とする請求項1に記載のマイクロコンピュータ。
  3. 前記不揮発性メモリの第2エリア内の所定アドレスデータは、マイクロコンピュータを初期化するためのプログラムデータが格納されたアドレスを示す値である、ことを特徴とする請求項2に記載のマイクロコンピュータ。
  4. 前記不揮発性メモリの第1エリアは、前記不揮発性メモリの第2エリアのデータを書き換えるためのプログラムデータが格納される、ことを特徴とする請求項1乃至3の何れかに記載のマイクロコンピュータ。
  5. 前記不揮発性メモリの第1エリアを指定するための第1信号は、前記不揮発性メモリの第1エリアに格納されたプログラムデータに基づいて前記不揮発性メモリの第2エリアのデータを書き換える場合に設定される、ことを特徴とする請求項4に記載のマイクロコンピュータ。
  6. 前記不揮発性メモリの第1エリアを指定するための第1信号は、前記不揮発性メモリの第1エリアに格納されたプログラムデータに基づいて前記不揮発性メモリの第2エリアのデータを書き換える場合に一方の論理値となる1ビットデータである、ことを特徴とする請求項5に記載のマイクロコンピュータ。
  7. 前記アドレス生成部は、
    前記不揮発性メモリの第1エリアを指定するための第1信号と、リセット信号とに基づいて、前記アドレスデータ保持部に対して、前記不揮発性メモリの第1エリア内の先頭アドレスデータをセットする、ことを特徴とする請求項4乃至6の何れかに記載のマイクロコンピュータ。
  8. 前記判別部は、
    前記アドレスデータ保持部の値が前記不揮発性メモリの第1エリアの所定アドレスデータであるときに一致信号を出力するアドレスデータ解読部と、
    前記一致信号に基づいて、前記制御データ保持部の制御データを無効とする論理回路と、
    を有することを特徴とする請求項1乃至7の何れかに記載のマイクロコンピュータ。
  9. 第1エリアおよび当該第1エリア以外の第2エリアを有し、データの書き込み、読み出し、電気消去が可能である不揮発性メモリと、前記不揮発性メモリの第1エリアまたは第2エリアを指定するためのアドレスデータを保持するアドレスデータ保持部と、前記不揮発性メモリを書き込み状態または消去状態とするための制御データを保持する制御データ保持部と、を有するマイクロコンピュータにおける不揮発性メモリのデータ保護方法であって、
    前記不揮発性メモリの第1エリアを指定するための第1信号と、リセット信号とに基づいて、前記アドレスデータ保持部に対して、前記不揮発性メモリの第1エリア内の所定アドレスデータをセットし、
    前記アドレスデータ保持部の値が前記不揮発性メモリの第1エリアの所定アドレスデータであるか否かを判別し、
    前記アドレスデータ保持部の値が前記所定アドレスデータであるものと判別した判別結果に基づいて、前記制御データ保持部の制御データを無効とし、前記第1エリアのデータの書き込み又は消去を行うためのテストモードを実行するための第2信号に基づいて、切替回路が、前記制御データ保持部の制御データを出力せずに、第3信号を切り替えて出力する、
    ことを特徴とするマイクロコンピュータにおける不揮発性メモリのデータ保護方法。
JP2004320823A 2004-11-04 2004-11-04 マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法 Expired - Fee Related JP4848126B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004320823A JP4848126B2 (ja) 2004-11-04 2004-11-04 マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004320823A JP4848126B2 (ja) 2004-11-04 2004-11-04 マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法

Publications (2)

Publication Number Publication Date
JP2006133982A JP2006133982A (ja) 2006-05-25
JP4848126B2 true JP4848126B2 (ja) 2011-12-28

Family

ID=36727493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004320823A Expired - Fee Related JP4848126B2 (ja) 2004-11-04 2004-11-04 マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法

Country Status (1)

Country Link
JP (1) JP4848126B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014032601A (ja) * 2012-08-06 2014-02-20 Toshiba Corp Icカード、携帯可能電子装置、及びicカードの制御プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2623653B1 (fr) * 1987-11-24 1992-10-23 Sgs Thomson Microelectronics Procede de test de cellules de memoire electriquement programmable et circuit integre correspondant
JPH0535614A (ja) * 1991-07-30 1993-02-12 Toshiba Corp バツクアツプ装置
JPH09293063A (ja) * 1996-04-24 1997-11-11 Sanyo Electric Co Ltd マイクロコンピュータ
JP2001101086A (ja) * 1999-09-28 2001-04-13 Hitachi Kokusai Electric Inc 携帯電話とそのcpu暴走防止方法
JP2002259152A (ja) * 2000-12-26 2002-09-13 Matsushita Electric Ind Co Ltd フラッシュメモリ書換方法
JP2002216484A (ja) * 2001-01-23 2002-08-02 Matsushita Electric Ind Co Ltd フラッシュメモリ書き換え装置
JP2002251385A (ja) * 2001-02-23 2002-09-06 Nec Microsystems Ltd マイクロコンピュータ
JP4230122B2 (ja) * 2001-03-30 2009-02-25 株式会社ルネサステクノロジ マイクロコンピュータ、書込み方法及び消去方法
JP3998452B2 (ja) * 2001-10-19 2007-10-24 三洋電機株式会社 不揮発性メモリの制御回路
JP4125915B2 (ja) * 2001-12-19 2008-07-30 株式会社東芝 半導体記憶装置

Also Published As

Publication number Publication date
JP2006133982A (ja) 2006-05-25

Similar Documents

Publication Publication Date Title
US5327531A (en) Data processing system including corrupt flash ROM recovery
KR100375217B1 (ko) 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러
US7213117B2 (en) 1-chip microcomputer having controlled access to a memory and IC card using the 1-chip microcomputer
US6601132B2 (en) Nonvolatile memory and method of writing data thereto
US5991849A (en) Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
TW201935487A (zh) 記憶體裝置以及其寫入/抹除方法
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
US7096351B2 (en) Single-chip microcomputer and boot region switching method thereof
US20060080497A1 (en) Program-controlled unit
US20070133280A1 (en) Semiconductor integrated circuit apparatus and electronic system
US9142301B2 (en) Data writing method and system
US7310277B2 (en) Non-volatile semiconductor storage device with specific command enable/disable control signal
JP4848126B2 (ja) マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法
JP2001075941A (ja) フラッシュメモリ内蔵マイクロコンピュータおよびその動作方法
JP4327626B2 (ja) 不揮発性半導体記憶装置
US20100083073A1 (en) Data processing apparatus, memory controlling circuit, and memory controlling method
JP3197865B2 (ja) マイクロコンピュータ
JP3998452B2 (ja) 不揮発性メモリの制御回路
CN110232945B (zh) 存储器装置以及其写入/擦除方法
JP4118023B2 (ja) メモリ制御回路
US20050068842A1 (en) Electronic device, nonvolatile memory and method of overwriting data in nonvolatile memory
JP3695931B2 (ja) マイクロコンピュータ
JP4349886B2 (ja) 不揮発性メモリ装置
JP4236808B2 (ja) 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110308

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110524

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110722

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110829

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees