JP2002297562A - マイクロコンピュータ、書込み方法及び消去方法 - Google Patents

マイクロコンピュータ、書込み方法及び消去方法

Info

Publication number
JP2002297562A
JP2002297562A JP2001097808A JP2001097808A JP2002297562A JP 2002297562 A JP2002297562 A JP 2002297562A JP 2001097808 A JP2001097808 A JP 2001097808A JP 2001097808 A JP2001097808 A JP 2001097808A JP 2002297562 A JP2002297562 A JP 2002297562A
Authority
JP
Japan
Prior art keywords
control program
write
processing unit
central processing
microcomputer
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.)
Granted
Application number
JP2001097808A
Other languages
English (en)
Other versions
JP4230122B2 (ja
Inventor
Naoki Yada
直樹 矢田
Eiichi Ishikawa
栄一 石川
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.)
Hitachi Ltd
Renesas Semiconductor Package and Test Solutions Co Ltd
Original Assignee
Hitachi Hokkai Semiconductor Ltd
Hitachi 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 Hitachi Hokkai Semiconductor Ltd, Hitachi Ltd filed Critical Hitachi Hokkai Semiconductor Ltd
Priority to JP2001097808A priority Critical patent/JP4230122B2/ja
Priority to US10/080,681 priority patent/US20020144053A1/en
Priority to KR1020020010783A priority patent/KR20020077050A/ko
Publication of JP2002297562A publication Critical patent/JP2002297562A/ja
Priority to US11/037,261 priority patent/US7194571B2/en
Priority to US11/672,468 priority patent/US7310700B2/en
Application granted granted Critical
Publication of JP4230122B2 publication Critical patent/JP4230122B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 消去/書込み処理時間よりも短い間隔で発生
する事象に応答することが必要なシステムにおいても、
その処理中に、必要に応じてオンチップ不揮発性メモリ
の消去/書込みを行なうことができるマイクロコンピュ
ータを提供する。 【解決手段】 電気的に消去及び書き込み可能な不揮発
性メモリ(13)に対する消去及び書き込み制御プログ
ラムは、例えば高電圧パルスの印可及びデータベリファ
イ等のループを含んで構成される。このループの中に、
ユーザが指定したアドレスのサブルーチンにジャンプす
るプログラムを予めプログラミングしておけば、CPU
(2)による処理をユーザが指定したアドレスのサブル
ーチンに一時的にジャンプさせることが可能になる。し
たがって、一定期間毎に内外の事象を確認する必要のあ
るシステム、或は学習機能付きのシステム等に対して、
ユーザのプログラム実行中に消去及び書込みを実行する
ことが可能になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電気的に消去及び
書き込み可能な不揮発性メモリとCPU(中央処理装
置)を有するマイクロコンピュータ、特に前記不揮発性
メモリに対する消去及び書き込み制御に関し、例えばフ
ラッシュメモリを有するワンチップのマイクロコンピュ
ータに適用して有効な技術に関する。
【0002】
【従来の技術】フラッシュメモリなどの電気的に消去及
び書き込み可能な不揮発性メモリはメモリセルにプログ
ラムされる閾値電圧の相違に応じて情報を記憶する。フ
ラッシュメモリにおいてその閾値電圧の相違は、フロー
ティングゲートが保有する電子又は正孔の量の相違によ
って実現される。例えば熱平衡状態の閾値電圧に対して
相対的に高い閾値電圧状態を書き込み状態、相対的に低
い閾値電圧状態を消去状態と称する(逆の定義も可能で
ある)。このとき、メモリセルを消去状態にする消去及
びメモリセルを書き込み状態にする書き込みの各動作で
は、高電圧パルスの印加、それによる閾値電圧状態のベ
リファイを繰返し行うことが必要になる。
【0003】フラッシュッメモリがオンチップされたマ
イクロコンピュータにおいて、オンチップフラッシュッ
メモリに消去及び書込みを可能にする動作モードとして
ライタモード及びブートモードを有するものが有る。ラ
イタモードとは、マイクロコンピュータを見掛け上、フ
ラッシュメモリチップと等価とし、EPROMライタの
ような書込み装置に接続して、消去及び書込みを可能に
する動作モードである。ブートモードは、マイクロコン
ピュータがシステムに実装された状態で調歩同期などの
シリアルインタフェースを介して実装システムとの通信
を確立させて消去及び書込みを可能にする動作モードで
ある。システム実装前にオンチップフラッシュメモリに
プログラムやデータを初期的に書き込む場合にはライタ
モードを利用できるが、システム実装後に、プログラム
のバージョンアップやデータのチューニングのためのオ
ンチップフラッシュッメモリの記憶情報を書き換えるに
はブートモードを利用することが必要になる。また、フ
ラッシュッメモリのユーザ領域に格納したユーザ制御プ
ログラムを実行することにより、オンボードで消去及び
書込みを行なうことも可能である。
【0004】尚、フラッシュメモリを搭載したマイクロ
コンピュータについて記載された文献の例として特開平
5−266219号公報がある。
【0005】
【発明が解決しようとする課題】今までのフラッシュメ
モリオンチップ型マイクロコンピュータは、CPUを動
作させてオンチップフラッシュメモリの消去及び書込み
を行なう場合、消去又は書込みが終了するまでユーザプ
ログラムに制御を戻すことはなかった。
【0006】しかしながら、本発明者の検討によれば、
フラッシュメモリの消去/書込み処理に最短で10m秒
かかるとするなら、その間、CPUは消去/書込み処理
を制御しなければならず、CPUにその他の処理をさせ
ることはできない。このため、1m秒毎にある端子の状
態を確認することが必要なシステムでは、ユーザ制御プ
ログラムを実行中には、消去/書込み処理を行なうこと
ができないという点を見出した。要するに、消去/書込
み処理時間よりも短い間隔で発生する事象に応答するこ
とが必要なシステムにおいても、その処理中に、必要に
応じてフラッシュメモリの消去/書込みを可能にするこ
との必要性が見出された。尚、本明細書においてユーザ
とはマイクロコンピュータ等の半導体デバイスの利用者
を広義に意味する。したがって、半導体デバイスの製造
メーカが其の半導体デバイスを何らかの意味で使用すれ
ば、其の限りにおいて当該製造メーカはユーザでもあ
る。
【0007】本発明の目的は、消去/書込み処理時間よ
りも短い間隔で発生する事象に応答することが必要なシ
ステムにおいても、その処理中に、必要に応じてオンチ
ップ不揮発性メモリの消去/書込みを行なうことができ
るマイクロコンピュータを提供することにある。
【0008】本発明の他の目的は、中央処理装置と電気
的に書き込み可能な不揮発性メモリを有するマイクロコ
ンピュータにおいて、前記不揮発性メモリへデータ乃至
情報の書き込み処理途中において、前記中央処理装置
に、前記書き込み処理以外の処理を実行させることが可
能な書き込み方法を提供することにある。
【0009】本発明の更に他の目的は、中央処理装置と
電気的に消去可能な不揮発性メモリを有するマイクロコ
ンピュータにおいて、前記不揮発性メモリのデータ乃至
情報の消去処理途中において、前記中央処理装置に、前
記消去処理以外の処理を実行させることが可能な消去方
法を提供することにある。
【0010】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。
【0011】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば以下
の通りである。
【0012】〔1〕電気的に消去及び書き込み可能な不
揮発性メモリに対する消去及び書き込み制御プログラム
は、例えば高電圧パルスの印可及びデータベリファイ等
のループを含んで構成される。このループの中に、ユー
ザが指定したアドレスのサブルーチンにジャンプするプ
ログラムを予めプログラミングしておけば、ユーザブラ
ンチ即ちユーザが指定したアドレスのサブルーチンにジ
ャンプすることが可能になる。そのサブルーチンを実行
した後に、サブルーチンからのリターン命令を実行すれ
ば、元の処理ルーチンに戻ってくるので、消去及び書き
込みの処理を途中から継続することがが可能になる。
【0013】上記より以下の作用効果を得る。(1)消
去及び書き込み制御プログラムは、例えばブートマット
の中に格納されている。このプログラムには、ユーザの
特定のブランチアドレス(ジャンプ先アドレス)につい
て記述されていない。プログラムを実行する時に、ユー
ザが引数として、ジャンプ先のアドレスを渡しておけ
ば、そのアドレスをジャンプサブルーチン命令で参照す
ることにより、所望のブランチ先アドレスにジャンプす
る事が可能となり、書き込み中であっても、ユーザの制
御プログラムに、ある一定間隔で制御を戻すことができ
る。しかも、ソフトウェアで実施しているので、ユーザ
の制御に戻ってくる間隔をソフトウェアで変更すること
も可能である。ジャンプ先は、内蔵RAMや消去及び書
込みを実施してない不揮発性メモリのどこの領域に対し
て可能にしても差し支えない。(2)消去及び書き込み
中でも、ユーザ制御プログラムに一定間隔で戻ってくる
ことにより、このマクロコンピュータを使用したシステ
ムを長い時間停止させなくても、消去及び書き込みが実
施可能になる。したがって、一定期間毎に内外の事象を
確認する必要のあるシステム、或は学習機能付きのシス
テム等に対して、ユーザのプログラム実行中に消去及び
書込みを実行していくことが可能である。
【0014】〔2〕本発明の更に詳しい態様に係るマイ
クロコンピュータは、電気的に消去及び書き込み可能な
不揮発性メモリと、CPUとを有し、前記CPUは、消
去動作のための消去電圧又は書き込み動作のための書き
込み電圧の印加とベリファイ動作とを含む単位処理サイ
クル毎又は複数サイクル毎に、第1レジスタ手段(FU
BRA)に設定された情報が示す処理に一時的に分岐可
能にされ、前記第1レジスタ手段はプログラマブルに情
報設定可能にされる。第1レジスタ手段は例えばCPU
の汎用レジスタの一つである。前記第1レジスタ手段の
設定値による分岐とは、例えば、ジャンプサブルーチン
命令でその第1レジスタ手段を直接参照して分岐する手
法、或は第1レジスタ手段の設定値に基づいて、ジャン
プサブルーチン命令にジャンプ先コードを埋め込む初期
化処理を予め行なってから、そのプログラムを実行する
ようにする手法の何れであってもよい。前者の手法は、
その消去及び書込み制御プログラムのコンパイラが一つ
の関数内で引数として利用する事ができる汎用レジスタ
数の制限範囲内で第1レジスタ手段を参照できる場合に
利用するのがよい。そうでなければ、第1レジスタ手段
の設定値がスタックされ、当該レジスタを利用するため
の手続に時間を要してしまうからである。それを避ける
には後者の手法を採用すればよい。アセンブラを使用し
てプログラムの引数を渡す場合は、プログラムの作成の
容易性が失われる。
【0015】この態様のマイクロコンピュータにおいて
も、上記(1)及び(2)の作用効果を得ることができ
る。
【0016】前記CPUは、前記第1レジスタ手段にラ
イトされている情報が所定値であるとき前記分岐処理を
スキップする。分岐の実施及び不実施の制御が容易であ
る。また、分岐のインターバルを可変とする制御も容易
である。
【0017】CPUによりリード・ライト可能な第2レ
ジスタ手段(FKEY)を設け、前記不揮発性メモリは
第2レジスタ手段に第1設定値が設定されることを消去
及び書き込み動作を可能にするための必要条件とし、こ
のとき、前記CPUは、前記分岐するとき、前記第2レ
ジスタ手段に第1設定値以外の値を設定し、分岐からの
復帰毎に、第2レジスタ手段に第1設定値を設定させる
ようにするとよい。これは、ユーザブランチ先でのプロ
グラムの暴走について考慮したものである。すなわち、
消去及び書き込み制御プログラムが転送された状態で、
CPUの暴走により書込みイネーブルにされた場合は、
フラッシュッメモリの記憶情報が破壊される虞が残る。
そのような不所望な破壊の虞を少しでも低減させるた
め、ユーザブランチ先での暴走を考慮し、消去及び書き
込みフロー中で実施するユーザブランチ前に、第2レジ
スタ手段の値を変更して消去及び書き込み動作を可能に
するための必要条件を満足させないようにする。これを
実施することにより、万が一CPUが暴走しても、第2
レジスタ手段の書換えが行われなければ、消去及び書き
込み動作は開始されない。
【0018】前記第1設定値以外の値は、消去及び書き
込み処理の進捗状態を示すコード情報であってよい。要
するに、消去及び書込みの各処理サイクル間のユーザブ
ランチに対して進捗状態に応ずるコード情報が付され
る。従って、CPUの暴走などにより間違ってサブルー
チンから復帰されたようなときに、その動作異常のチェ
ックに役立つ。
【0019】消去及び書込み処理中に割込みや例外処理
を全く受け付けないとすると、緊急処理を要する事象に
対処できず、システムに復旧不可能な異常状態を生ずる
可能性が有る。逆に全ての割込みを受け付けると消去及
び書込み処理効率が著しく低下してしまう。これに対処
するため、割込み要求信号を入力し、競合する割込要求
の調停と割込み優先レベルによる割込みマスク処理を行
ってCPUに割込み信号を出力する割込み制御回路に対
し、消去及び書込みを行なうとき、マスク不可能な割込
みよりも割込み優先レベルの低い割込みをマスクさせる
設定を行うようにするとよい。
【0020】前記CPUは、消去及び書込みを行なうと
き、マスク不可能な割込み要求に対する割込み処理ルー
チンの所在をRAMのアドレスに変更する処理を行えば
よい。例えばベクタベースレジスタをRAMエリアのア
ドレスに変更し、或は専用ベクタレジスタの使用を設定
する。消去又は書込み途中のエリアの記憶情報は未だ書
込み不完全であったりするため、サブルーチンの実行を
保証できないからである。
【0021】〔3〕本発明の別の態様に係るマイクロコ
ンピュータは、消去及び書き込み可能な不揮発性メモリ
と、CPUとを有し、前記不揮発性メモリは、前記CP
Uが実行して前記不揮発性メモリを消去及び書込み制御
するための消去及び書込み制御プログラムを保有する。
前記消去及び書込み制御プログラムは、消去動作のため
の消去電圧又は書き込み動作のための書き込み電圧の印
加とベリファイ動作とを含む単位処理サイクル毎又は複
数サイクル毎に、CPUの処理を、別の処理に一時的に
分岐可能とする。前記CPUは第1レジスタ手段(FU
BRA)の設定値によって前記分岐可能な別の処理を指
示する。
【0022】上記において、消去及び書込み制御プログ
ラムのジャンプサブルーチン命令に分岐先アドレスを埋
め込んでユーザブランチを実現しようとする態様を想定
する。プログラムコードの変更(分岐先アドレスの埋め
込み)という点に着目すると、CPUのアドレス空間に
RAMを配置し、前記不揮発性メモリに前記消去及び書
き込み制御プログラムをRAMに転送する転送制御プロ
グラムを保有させ、CPUは、前記RAMに転送された
前記消去及び書き込み制御プログラムに対し、第1レジ
スタ手段の設定値に基づき分岐可能な別の処理へのパラ
メータ(分岐先アドレス)埋め込みを行なって、当該消
去及び書き込み制御プログラムを実行すればよい。
【0023】〔4〕本発明の更に別の態様は、特に、書
き込みループに着目し、書き込み時間が消去時間に比べ
て長い場合を想定する。この観点によるマイクロコンピ
ュータは、電気的に書き込み可能な複数のメモリセルを
含む不揮発性メモリと、前記不揮発性メモリに対する書
き込み制御プログラムを実行可能な中央処理装置と、を
有し、前記中央処理装置は、前記書き込み制御プログラ
ムの実行中に、前記書き込み制御プログラムと異なる第
1制御プログラムの処理へ一時的に分岐可能である。
【0024】例えば、前記書き込み制御プログラムは、
前記電気的に書き込み可能な複数のメモリセルのうち指
定されたメモリセルに対して情報の書き込みを行う場
合、複数回の書き込み処理ループを実行して前記指定さ
れたメモリセルへ情報を書き込む処理を規定し、前記中
央処理装置の処理は、前記書き込み処理ループ毎に、前
記第1制御プログラムへ分岐可能にされる。
【0025】更に具体的には前記中央処理装置によって
書き込み可能な第1記憶回路(FUBRA)を、さら
に、有し、前記第1記憶回路が前記中央処理装置によっ
て第1設定値に設定された場合、前記中央処理装置の処
理は前記書き込み制御プログラムを継続して実行し、前
記第1記憶回路が前記中央処理装置によって前記第1設
定値と異なる第2設定値に設定された場合、前記中央処
理装置の処理は、前記書き込み処理ループ毎に、前記第
1制御プログラムへ分岐される。
【0026】〔5〕本発明の更に別の態様は、特に、消
去ループに着目し、消去時間が書込み時間に比べて長い
場合を想定する。この観点によるマイクロコンピュータ
は、電気的に消去可能な複数のメモリセルを含む不揮発
性メモリと、前記不揮発性メモリに対する消去制御プロ
グラムを実行可能な中央処理装置と、を有し、前記中央
処理装置は、前記消去制御プログラムの実行中に、前記
消去制御プログラムと異なる第1制御プログラムの処理
へ一時的に分岐可能とされる。
【0027】例えば、前記消去制御プログラムは、前記
電気的に消去可能な複数のメモリセルのうち指定された
メモリセルに対して情報の消去を行う場合、複数の回の
消去処理ループを実行して前記指定されたメモリセルへ
情報を消去する処理を規定し、前記中央処理装置の処理
は、前記消去処理ループ毎に、前記第1制御プログラム
へ分岐可能にされる。
【0028】更に具体的には、前記中央処理装置によっ
て書き込み可能な第1記憶回路(FUBRA)を、更
に、有し、前記第1記憶回路が前記中央処理装置によっ
て第1設定値に設定された場合、前記中央処理装置の処
理は前記消去制御プログラムを継続して実行し、前記第
1記憶回路が前記中央処理装置によって前記第1設定値
と異なる第2設定値に設定された場合、前記中央処理装
置の処理は、前記消去処理ループ毎に、前記第1制御プ
ログラムへ分岐される。
【0029】〔6〕本発明の更に別の態様は、書込み方
法に着目する。即ち、中央処理装置と電気的に書き込み
可能な不揮発性メモリとを有するマイクロコンピュータ
における前記中央処理装置に書き込み制御プログラムを
実行させて前記不揮発性メモリに情報を書き込むための
書き込み方法は、前記不揮発性メモリの書き込みすべき
メモリセルのアドレスを供給する第1工程と、前記メモ
リセルに書き込みべき情報を供給する第2工程と、前記
メモリセルに前記書き込みべきデータを繰り返し書き込
む第3工程を有する。そして、前記第3工程は、前記メ
モリセルに書き込み電圧を印可する電圧印可工程と、前
記メモリセルに前記書き込みすべきデータが書き込まれ
たか否かを確認するベリファイ工程と、所定のレジスタ
の値を参照し、前記レジスタに所定の値が記憶されてい
る場合に、前記レジスタに設定された値に対応する所定
の処理へ前記中央処理装置の処理を移行させる工程と、
前記中央処理装置の処理を前記所定の処理から前記第3
工程へ復帰させる工程とを含む。
【0030】本発明の更に別の態様は、消去方法に着目
する。即ち、中央処理装置と電気的に消去可能な不揮発
性メモリとを有するマイクロコンピュータであって、前
記中央処理装置に消去プログラムを実行させて前記不揮
発性メモリの所定のメモリセルに記憶された情報を消去
するための消去方法は、前記不揮発性メモリの消去すべ
きメモリセルのアドレスを供給する第1工程と、前記メ
モリセルから前記情報を消去する第2工程を有する。前
記第2工程は、前記メモリセルに消去電圧を印可する電
圧印可工程と、前記メモリセルから前記情報が消去され
たか否かを確認するベリファイ工程と、所定のレジスタ
の値を参照し、前記レジスタに所定の値が記憶されてい
る場合に、前記レジスタに設定された値に対応する所定
の処理に前記中央処理装置の処理を移行させる工程と、
前記中央処理装置の処理を前記所定の処理から前記第2
工程へ復帰させる工程とを含む。
【0031】本発明の更に別の態様は、オンボード書込
み方法に着目する。即ち、中央処理装置と電気的に書き
込み可能な不揮発性メモリとを有するマイクロコンピュ
ータを基板に実装した後、前記中央処理装置に書き込み
制御プログラムを実行させて前記不揮発性メモリの所定
のメモリセルに情報を書き込み方法は、前記不揮発性メ
モリの書き込みすべきメモリセルのアドレスを供給する
第1工程と、前記メモリセルに書き込みべき情報を供給
する第2工程と、 前記メモリセルに前記書き込みべき
データを繰り返し書き込む第3工程を有する。そして、
前記第3工程は、前記メモリセルに書き込み電圧を印可
する電圧印可工程と、前記メモリセルに前記書き込みす
べきデータが書き込まれたか否かを確認するベリファイ
工程と、所定の処理へ前記中央処理装置の処理を移行さ
せる工程と、前記中央処理装置の処理を前記所定の処理
から前記第3工程へ復帰させる工程とを含む。
【0032】本発明の更に別の態様は、オンボード消去
方法に着目する。即ち、中央処理装置と電気的に消去可
能な不揮発性メモリとを有するマイクロコンピュータを
基板に実装した後、前記中央処理装置に消去プログラム
を実行させて前記不揮発性メモリの所定のメモリセルに
記憶された情報を消去するための消去方法は、前記不揮
発性メモリの消去すべきメモリセルのアドレスを供給す
る第1工程と、前記メモリセルから前記情報を消去する
第2工程を有する。そして、前記第2工程は、前記メモ
リセルに消去電圧を印可する電圧印可工程と、前記メモ
リセルから前記情報が消去されたか否かを確認するベリ
ファイ工程と、所定の処理に前記中央処理装置の処理を
移行させる工程と、前記中央処理装置の処理を前記所定
の処理から前記第2工程へ復帰させる工程とを含む。
【0033】それら方法により、中央処理装置と電気的
に書き込み可能な不揮発性メモリを有するマイクロコン
ピュータにおいて、前記不揮発性メモリへデータ乃至情
報の書き込み又は消去処理途中において、前記中央処理
装置に、前記書き込み処理以外の処理を実行させること
が可能になる。
【0034】
【発明の実施の形態】《マイクロコンピュータ》図1に
は本発明の一例に係るデータ処理装置としてのマイクロ
コンピュータが示される。同図に示されるマイクロコン
ピュータ1は、特に制限されないが、単結晶シリコンの
ような1個の半導体基板(半導体チップ)にCMOS集
積回路製造技術により形成される。
【0035】マイクロコンピュータ1は、演算制御装置
としての中央処理装置(CPU)2、不揮発性メモリと
してのRAM3、バスステートコントローラ(BSC)
4、フラッシュメモリ13、及びその他の内蔵回路を総
称するその他モジュール7を有する。前記フラッシュメ
モリ13は電気的に書き換え可能な不揮発性メモリの一
例であり、フラッシュメモリモジュール5とフラッシュ
コントロールモジュール6によって構成される。前記そ
の他モジュール7としてマスクROM8、割り込みコン
トローラ(INTC)9、タイマ(TMR)10、入出
力ポート(I/O)11、シリアルインタフェースコン
トローラ(SCI)12、その他インタフェースコント
ローラ16、DMAC(Direct Memory Access Control
ler)17及びシステムコントローラ15等を有する。
それら回路モジュールはバスIAB,IDB,PAB,
PDB,CONTを介してインタフェースされる。
【0036】前記バスIAB,IDBは情報伝送速度の
比較的速い内部アドレスバス、内部データバスである。
前記バスPAB,PDBは情報伝送速度が比較的遅い周
辺アドレスバス、周辺データバスである。バスCONT
は、バスコマンド、バスアクセス制御信号、及びタイミ
ング制御信号等を伝達する制御信号線を総称する。内部
バスIDB,IABと周辺バスPDB,PABとの動作
速度の相違若しくはアクセス対象に固有のアクセス形態
の相違に対して前記BSC4がアクセス動作タイミング
等を最適制御すると共に、前記BSC4はアクセスアド
レスに応じたチップ選択若しくはモジュール選択制御等
も行なう。
【0037】前記システムコントローラ15には外部か
ら複数ビットのモード信号14及びリセット信号RES
などが入力される。マイクロコンピュータ1のパワーオ
ンリセット或はハードウェアリセットによりリセット信
号RESがローレベルにされると、そのローレベル期間
においてマイクロコンピュータ1の内部でリセット動作
が行われる。リセット信号RESによるリセットの解除
後、複数ビットのモード信号14の状態に応じて、マイ
クロコンピュータ1の動作モードが決定される。CPU
2は、その動作モードに応じたプログラム領域のリセッ
トベクタをリードし、そのアドレスの命令をフェッチ
し、フェッチした命令を解読して、命令実行を開始す
る。
【0038】RAM3はCPU2のワーク領域若しくは
データ又はプログラムの一時記憶領域としても利用され
る。前記マスクROM8はデータテーブルなどの記憶領
域とされる。フラッシュメモリモジュール5はCPU2
のプログラムやデータの記憶領域とされる。
【0039】割り込みコントローラ10はマイクロコン
ピュータ1の外部から与えられる割込要求又はマイクロ
コンピュータ1内部の状態に応じて内蔵回路モジュール
から発生される割込要求が入力され、割り込み優先レベ
ル及び割り込みマスク等に従って、競合する割込み要求
の調停と割込み優先レベルによる割込みマスク処理を行
う。割り込みコントローラ10は割込み要求の調停と割
込みマスク処理との結果に従って、CPU2に割込み信
号IRQを与えるとと共に、受付ら得た割込み要求の割
り込み要因に応ずる割り込みベクタアドレスをCPU2
に与える。CPU2は割り込みベクタアドレスによって
指示されるプログラムに処理を分岐する。割込みコント
ローラ9はCPU2から割込みマスクデータ(IMS
K)が与えられ、この割込みマスクデータ(IMSK)
で示される割込み優先レベルよりも低い割込み要求の受
付をマスクする。
【0040】I/O11は外部アドレスバス及び外部デ
ータバスへの接続、SCI12の外部インタフェース、
TMR10の外部イベント信号入力、そのインタフェー
スコントローラ16の外部インタフェース等に用いられ
る。インタフェースコントローラ16は例えば、ATA
PI又はSCSIなどのインタフェースに適用可能であ
る。
【0041】図2には前記CPU2の具体例が示され
る。CPU2は、特に制限されないが、シフタSFT及
び算術論理演算器ALU等の演算器と、32ビットの汎
用レジスタR0〜R31、プログラムカウンタPC、ス
テータスレジスタSR及びテンポラリレジスタTR等の
レジスタ群、そしてリードデータバッファRDB、ライ
トデータバッファWDB及びアドレスバッファABなど
のバッファ回路を実行部に有し、それらは第1乃至第3
内部バスIB1〜IB3のうちの所定の内部バスに接続
される。CPU2は命令制御部として、命令レジスタI
R、命令デコーダIDEC、命令シーケンスロジックI
NTLを有する。
【0042】前記リードデータバッファRDBは例えば
32ビットのデータバスIDBから入力したデータを内
部バスIB2に供給する。ステータスレジスタSRは割
込みマスクデータIMSKのフィールドを有する。割込
みマスクデータIMSKは割込みコントローラ9に与え
られる。割込みコントローラ9は割込みマスクデータI
MSKで示される割込み優先レベルよりも低い割込み要
求をマスクする。
【0043】前記プログラムカウンタPCは次に実行す
べき命令アドレスを保有し、その命令アドレスがアドレ
スバッファABから内部アドレスバスIABに出力され
ると、RAM3等の対応アドレスからリードされた命令
が内部データバスIDBを介して命令レジスタIRにフ
ェッチされる。命令デコーダIDECは命令レジスタI
Rの命令を解読して、CPU2内部の制御信号を生成し
て、前記実行部による演算処理を制御する。命令シーケ
ンスロジックINTLは割込み信号IRQ等に応答して
命令実行順序を変更する制御を行なう。
【0044】図1においてフラッシュメモリモジュール
5は、メモリセルアレイ20、Xデコーダ・ドライバ
(XDE・DV)21、センスアンプアレイ(SAA)
22、Yスイッチアレイ(YSW)23、Yデコーダ
(YDE)24、入出力回路(IFB)25、電源回路
(VGN)26、及びタイミングジェネレータ(TG
N)27を有する。メモリセルアレイ20はマトリクス
配置されたフラッシュッメモリセル(図示せず)を有す
る。フラッシュメモリセルは、特に制限されないが、半
導体基板若しくはウェル領域にソース、ドレインを有
し、チャネルの上方に夫々絶縁膜を介してフローティン
グゲート及びコントロールゲートが形成されたスタック
構造を有し、ソースをソース線に、ドレインをビット線
に、コントロールゲートをワード線に接続して構成され
る。
【0045】フラッシュメモリセルは閾値電圧がプログ
ラム可能にされ、プログラムされた閾値電圧に応じて情
報を保持する。例えば、1個のフラッシュメモリセルが
1ビットの情報を保持する場合に、相対的に高い閾値電
圧状態を書き込み状態、相対的に低い閾値電圧状態を消
去状態と称する。書き込み状態を得る為の書き込み動作
は、特に制限されないが、コントロールゲートに10
V、ドレインに例えば5V、ソースおよび基板に例えば
0Vを印加して、ドレイン・ソース間に電流を流し、こ
れによってホットエレクトロン注入が起こり、フローテ
ィングゲートに電子が蓄積され、メモリセルの閾値電圧
が高くなる。前記消去状態を得る為の消去動作は、特に
制限されないが、コントロールゲートに10V、ソース
及び基板に例えば−10Vを印加し、さらにドレインを
例えば開放(フローティング)にして、フローティング
ゲートに蓄積された電子を基板に放出させ、これによっ
てメモリセルの閾値電圧が低くなる。
【0046】前記入出力回路25はバスIAB,ID
B,PAB,PDB,CONTとの間でアドレス、制御
信号及びコマンドを入力すると共にデータの入出力を行
なう。入出力回路25に入力されたアドレス信号はXD
EC・DV21及びYDE24に入力されて夫々デコー
ドされる。XDEC・DV21はそのデコード結果に従
ってワード線を選択する。YDE24はそのデコード結
果に従ってYSW23を介してビット線を選択する。ワ
ード線選択及びビット線選択によってフラッシュメモリ
セルが選択される。読み出し動作では、前記選択された
フラッシュメモリセルの読み出しデータは、SAA22
にて検出され、入出力回路25を経てバスPDBまたは
IDBに出力される。書き込み動作では、バスPDB又
はIDBから入出力回路25に与えられる書き込みデー
タが入出力回路25内の書き込みラッチ回路にラッチさ
れ、ワード線選択されたメモリセルに対し、ラッチデー
タに従って書き込み・書き込み阻止が制御される。書き
込み処理の前には予めブロック単位でフラッシュメモリ
セルに対する消去が行なわれる。
【0047】前記電源回路26はクランプ回路やチャー
ジポンプ回路などを有し、フラッシュメモリの書き込み
・消去・読み出しなどの動作で使用する様々な電圧を供
給する。前記タイミングジェネレータ27は、制御バス
CONTを介して供給されるストローブ信号及びデータ
バスPDB,IDBを介して入力されるコマンドに基づ
いてフラッシュメモリの外部とのインタフェース制御を
行なう。
【0048】図1において前記フラッシュコントロール
モジュール6は、フラッシュメモリモジュール5に対す
る書き込み及び消去やそのためのプログラム転送関係の
各種制御レジスタ30と制御論理回路29とを有する。
図1には制御レジスタとしてFCCS,FKEY,FM
ATS,ライタモード関係レジスタ,書き込み消去関係
レジスタが代表的に示されている。フラッシュメモリモ
ジュール5に対する書き込み及び消去動作の制御にはR
AM3の記憶領域やCPU2の汎用レジスタも利用す
る。
【0049】《フラッシュメモリのメモリマット》図3
にはフラッシュメモリのメモリマットが例示される。フ
ラッシュメモリモジュール5のメモリセルアレイ20
は、電気的に消去及び書き込み可能なブートマット(第
1領域)Tmat、ユーザブートマット(第2領域)U
mat、ユーザマット(第3領域)Mmat、及びリペ
ア及びトリミングマットRmatを有する。前記ブート
マットTmat、ユーザブートマットUmat、及びユ
ーザマットMmatは夫々CPU2のアドレス空間にお
ける先頭アドレスである0番地(H’0000000)
をスタートアドレスとしてメモリ空間が割り当てられ
る。要するに、前記ブートマットTmat、ユーザブー
トマットUmat、及びユーザマットMmatはアドレ
ス空間がオーバラップされ、前記アドレスデコーダYD
EC及びXDEC・DVはどのマットを利用するかの指
示に応答してアドレスデコード論理が選択されることに
なる。どのマットを利用するかはモード信号14で指示
されるマイクロコンピュータの動作モードなどによって
決まる。リペア及びトリミングマットRmatはメモリ
セルアレイにおける欠陥救済アドレスや回路の特性に応
じた合わせ込みのためのトリミング回路の設定データが
格納される。
【0050】《動作モード》フラッシュメモリは、プロ
セス世代が進むにつれて、書き込み関係、消去関係のプ
ログラムが複雑化しつつある。このような事情の下で、
消去及び書き込み制御プログラムをユーザが作成しなけ
ればならないとすると、ユーザの負担が大きくなる。マ
イクロコンピュータ1においては、ユーザに消去及び書
き込みプログラムを作成する負担を減らし、簡単な手続
きで消去及び書き込みをどのモードでも実施できるよう
に考慮されている。特に、フラッシュメモリ13を消去
及び書き込みするための高電圧パルス印加時間などのパ
ラメータをチューニングしたり処理フローを変更したり
するときに、ハードウェアに依存せずソフトウェアを使
用して実施でき、ユーザに負担をかけず、簡単な手続き
で消去及び書き込みを実施できる動作モードを用意して
いる。その内容を簡単に説明すると、ブートマットTm
atが保有している消去及び書き込み制御プログラムを
どの動作モードでも参照できるようにし、しかも、ブー
トマットTmatのプログラムには、セキュリティに関
する部分の記述もあるので、不都合のない範囲でユーザ
がそのプログラムを使用できるようにしてある。
【0051】マクロコンピュータ1の動作モードを詳述
する。フラッシュメモリ13に対する消去及び書き込み
に着目すると、マイクロコンピュータ1は、ライタモー
ド、ブートモード(第1モード)、ユーザブートモード
(第2モード)、及びユーザモード(第3モード)を有
する。特に制限されないが、前記モード信号14は2ビ
ットであり、システムコントローラ15は、其の論理値
の組み合わせを解読して、指示された動作モードが、前
記ライタモード、ブートモード、ユーザブートモード、
又はユーザモードの何れであるかを判定する。
【0052】前記ライタモードはEPROMライタのよ
うな書き込み装置を用いてフラッシュメモリ13の消去
及び書き込みを実施可能にする動作モードである。ライ
タモードが指定されると、リセット処理後、CPU2は
ブートマットTmatの先頭番地からベクタフェッチを
行ってプログラムの実行を開始する(ブートマットから
起動)。そして、ライターモードに必要な処理として、
コマンド判定プログラムや消去及び書き込み関係のプロ
グラムを全てRAM3に転送する。その後に、CPU2
は、RAM3に転送されたプログラムの実行に移行し、
フラッシュメモリ13はEPROMライタによって消去
及び書き込み可能にされる。このライタモードは、オフ
ボード(マイクロコンピュータがシステムボードに実装
されていない状態)で前記ユーザマットMmat及びユ
ーザブートマットUmatに任意のユーザ制御プログラ
ム等を格納するのに適している。
【0053】前記ブートモードは、マットTmat,U
mat、Mmatの全てを消去し、SCI12を使用し
て書き込みを実施可能にする動作モードである。このブ
ートモードは前記CPU2にブートマットTmatのプ
ログラムを処理させると共に当該ブートマットTmat
を消去及び書き込み不可能にする。具体的には、ブート
モードが指定されると、リセット処理後、CPU2はブ
ートマットTmatの先頭番地からベクタフェッチを行
ってプログラムの実行を開始する。そして、ブートモー
ドに必要な処理として、ブートマットTmat内の消去
及び書き込み関係のプログラム及びコマンド判定プログ
ラムをRAM3に転送する。転送終了とその他の処理終
了後に、CPU2はRAM3上のプログラム実行に移
る。RAM3上のプログラム実行でマットUmat、M
matの全てを消去した後に、コマンド判定プログラム
を起動し、SCI12を利用して書き込みが実施可能に
なる。このブートモードは、シリアル通信インタフェー
スを備えたオンボードで、前記ユーザマットMmat及
びユーザブートマットUmatに任意のユーザ制御プロ
グラム等を格納するのに適している。
【0054】前記ユーザブートモードは、前記CPU2
にユーザブートマットUmatのプログラムを処理させ
てユーザ任意のインタフェースを使用した消去及び書き
込みを実施可能とし、ブートマットTmat及びユーザ
ブートマットUmatに対しては消去及び書き込みを不
可能にする動作モードである。具体的には、ユーザブー
トモードは、ブートマットTmatから起動し、CPU
2がブートマットTmat内のプログラムを実行すると
共にRAM3へユーザブートマット切換えプログラムの
転送を行う。その後に、CPU2はRAM3上のプログ
ラム実行に移る。CPU2によるRAM3上のプログラ
ム実行で、CPU2のアドレス空間で見えるフラッシュ
メモリ13上のマットをデフォルトのユーザマットMm
atからユーザブートマットUmatへ切換え、ユーザ
ブートマットUmatのベクタアドレスを読み出した後
にその領域へジャンプする。セキュリティが掛かってい
る場合は、ユーザマットMmatの消去を実施した後に
ジャンプを実施する。書き込みを実施する時は、後述す
るSCOモードを使用して必要な消去及び書き込みプロ
グラムをブートマットTmatからRAM3にダウンロ
ードした後、その消去及び書き込み制御プログラムを利
用して、ユーザマットMmatに対する書き込みを行
う。要するに、ユーザブートマットUmatにユーザ専
用のインターフェースプログラムを用意して、ユーザの
実装ボートに合った書き込みデータ転送が実現可能とな
る。このユーザブートモードは、ユーザのシステムボー
ドが備えているオンボードインタフェースを使用して、
ユーザの制御プログラムなどをユーザマットMmatに
書き込むのに適している。この動作においてユーザブー
トマットUmatの消去は阻止される。したがって、ユ
ーザのシステムボードがシリアルインタフェースを備え
ず、オンボードでブートモードを利用できなくても、こ
れに代えて、ユーザのシステムボードが備えているオン
ボードインタフェースを介する書き込みをを保証するこ
とができる。
【0055】前記ユーザモードはユーザマットMmat
が保有するプログラムを利用して消去及び書き込みを実
施可能にする動作モードであり、ブートマットTmat
及びユーザブートマットUmatの消去及び書き込みに
ついては不可能にする。詳しくは、CPU2をユーザマ
ットMmatから起動し、ユーザマットMmat上のプ
ログラムが実行される。特に、ユーザが必要な時に、後
述するSCOビットをイネーブルにするとブートマット
TmatとユーザマットMmatが自動的に切り替わ
り、ブートマットTmatのある番地からプログラムが
スタートし、ブートマットTmat上の消去及び書き込
み制御プログラムがRAM3に転送され、プログラムの
転送が終了したらユーザマットMmatとブートマット
Tmatが自動的に切り替えられて、ユーザの処理へ復
帰し、ユーザのプログラムで前記消去及び書き込み制御
プログラムが利用されて、ユーザマットMmatに対す
る消去及び書き込みが可能にされる。要するに、ユーザ
プログラムモードでは、後述するSCOモードを使用し
てブートマットTmat上の消去及び書き込み制御プロ
グラムをRAM3上に転送しそのプログラムを利用可能
にしている。このユーザモードは、オンボードでユーザ
制御プログラム実行中にユーザマットMmat上のパラ
メータなどを書き換えるのに適している。
【0056】図4の(A),(B)には各マットの各動
作モードによるアクセス態様が示される。同図に示され
るアクセス態様は上記動作モードで説明したアクセス態
様を整理したものである。同図からも明らかなように、
リペア及びトリミングマットRmatとブートマットT
matは何れの動作モードにおいても消去及び書き込み
不可能にされ、ユーザブートマットUmatはユーザ制
御プログラムが実行可能にされるユーザブートモード及
びユーザモード(ユーザプログラムモード)において消
去及び書き込み可能にされる。このユーザブートモード
は、ユーザのシステムボードが備えているオンボードイ
ンタフェースを使用して、ユーザの制御プログラムなど
をユーザマットMmatに書き込むのに適している。こ
の動作においてユーザブートマットUmatの消去は阻
止される。したがって、ユーザのシステムボードがシリ
アルインタフェースを備えず、オンボードでブートモー
ドを利用できなくても、これに代えて、ユーザのシステ
ムボードが備えているオンボードインタフェースを介す
る書き込みを保証することができる。尚、図4において
アクセスとはリードアクセスを意味し、記号△はブート
マットに格納されたプログラムにしたがってリードアク
セス可能であることを意味し、ユーザ制御プログラムに
したがって任意にリードアクセスできることは意味しな
い。
【0057】図5にはCPUが実行するプログラムの所
在と実行による作用を模式的に示す。図5ではCPU2
の図示は省略してあり、CN1はブートマットTmat
からRAM3に転送された消去及び書き込み制御プログ
ラム等をCPU2が解読した結果の制御信号群を仮想的
に示す。CN2はブートマットTmatからRAM3に
転送されたシリアルインタフェース制御プログラムをC
PU2が解読した結果の制御信号群を仮想的に示す。C
N3はユーザブートマットUmatのユーザインタフェ
ース制御プログラムをCPU2が解読した結果の制御信
号群を仮想的に示す。CN4はユーザマットMmatの
ユーザインタフェース制御プログラムをCPU2が解読
した結果の制御信号群を仮想的に示す。制御信号CN
3,CN4はユーザブートマットUmat、ユーザマッ
トMmatから直接フェッチしたプログラムの解読結果
であるように図示されているが、一旦RAM3に転送さ
れ、RAM3からフェッチしたプログラムの解読結果で
あってよい。Sig1〜Sig4はシステムコントロー
ラ15によるリセット解除後のモード信号14の解読結
果を意味し、Sig1はブートモード、Sig2はユー
ザブートモード、Sig3はユーザモード、Sig4は
ライトモードを意味する。それら信号Sig1〜Sig
4は実際にはCPU2にも供給されるがここではその状
態の図示を省略してある。
【0058】モード信号14にてブートモードが指示さ
れると、信号Sig1に応答してフラッシュコントロー
ルモジュール6によりブートマットTmatの消去及び
書き込み制御プログラム及びシリアル通信制御プログラ
ム等がRAM3に転送される(径路P1)。CPU2び
よる其のシリアル通信制御プログラムの解読結果(CN
2)にしたがってホスト装置HST1にオンボードのシ
リアルインタフェースから書き込みデータがRAM3に
取り込まれ(径路P2)、CPU2による消去及び書き
込み制御プログラムの解読結果(CN1)にしたがって
フラッシュメモリ13が消去され、RAM3上の書込み
データを用いてユーザブートマットUmat及びユーザ
マットMmatに対してユーザ制御プログラムの書込み
が行われる(経路P3,P4)。
【0059】モード信号14にてユーザブートモードが
指示されると、信号Sig2に応答してフラッシュコン
トロールモジュール6によりブートマットTmatから
マット切換え制御プログラム等がRAM3に転送され
(径路P1)、ユーザブートマットUmatに切換えら
れ、ユーザブートマットUmatの先頭ベクタをフェッ
チして実行する。書き込みを実施する時は、消去及び書
き込みプログラムをブートマットTmatからRAM3
にダウンロードする。ユーザブートマットUmatが保
有するユーザインタフェース制御プログラムの解読結果
(CN3)にしたがってホスト装置HST2にオンボー
ドのユーザインタフェースから書き込みデータがRAM
3に取り込まれ(径路P5)、CPU2による消去及び
書き込み制御プログラムの解読結果(CN1)にしたが
ってフラッシュメモリ13が消去され、RAM3上の書
込みデータを用いてユーザマットMmatに対してユー
ザ制御プログラムやユーザデータの書込みが行われる
(経路P3,P4)。ユーザインタフェースは例えばそ
の他にインタフェースコントローラ16により実現され
るATAPI用インタフェースなどとされる。尚、ユー
ザブートマットUmatに格納されるユーザインタフェ
ース制御プログラムはブートマットTmatに格納され
たものと類似若しくは別のシリアルインタフェース制御
プログラムであってもよい。
【0060】モード信号14にてユーザモードが指示さ
れると、信号Sig3によりそれがフラッシュコントロ
ールモジュール6に伝達され、書き込みを実施する時
は、消去及び書き込みプログラムをブートマットTma
tからRAM3にダウンロードする。ユーザマットMm
atが保有するユーザインタフェース制御プログラムの
解読結果(CN4)にしたがってホスト装置HST2に
オンボードのユーザインタフェースから書き込みデータ
がRAM3に取り込まれ(径路P5)、CPU2による
消去及び書き込み制御プログラムの解読結果(CN1)
にしたがってフラッシュメモリ13が消去され、RAM
3上の書込みデータを用いてユーザマットMmatに対
してユーザ制御プログラムやユーザデータの書込みが行
われる(経路P3,P4)。尚、ユーザマットMmat
に格納されるユーザインタフェース制御プログラムはブ
ートマットTmatに格納されたものと類似若しくは別
のシリアルインタフェース制御プログラムであってもよ
い。
【0061】特に図示はしないが、マイクロコンピュー
タ1の比較例として、ユーザブートマットUmat及び
ユーザブートモードを備えていないマイクロコンピュー
タを想定する。この場合、ユーザブートマットUmat
に格納したユーザインタフェースプログラムをユーザマ
ットMmatに格納しておけば、前記マイクロコンピュ
ータ1と同じように、ホスト装置HST2のオンボード
のユーザインタフェースを介してプログラムやデータを
ユーザマットMmatに書込み又は書換えを行なうこと
ができる。但し、マクロコンピュータ1もそうである
が、ユーザマットMmatに対しては自由な書換えが許
容される関係上、ユーザマットMmatに格納されたユ
ーザインタフェースプログラムは消去される虞がある。
消去されたとき、ホスト装置HST2がブートモードで
利用可能なシリアルインタフェースをオンボードで備え
ていなければ、その比較例に係るマイクロコンピュータ
は最早ホスト装置HST2とはオンボードで情報を入出
力できなくなる。
【0062】上記動作モードを有するマイクロコンピュ
ータ1によれば、以下の作用効果を得ることができる。
(1)ユーザ専用の通信プロトコルを格納可能なユーザ
ブートマットUmatを用意したので、マイクロコンピ
ュータ1が備える任意のインタフェースをフラッシュメ
モリ13の消去及び書込みに流用することができる。
(2)フラッシュメモリ13の消去及び書き込みにユー
ザ任意のインターフェースを採用する事が可能となった
ことにより、ホスト装置HST2に必ずシリアルインタ
ーフェースを用意しなくてもよい。(3)ユーザブート
マットUmatとユーザマットMmatを分けた事によ
り、ユーザマットMmatに専用通信プロトコルを書か
なくても、消去及び書き込み用にユーザ任意の書きこみ
インターフェースが実現できるから、ユーザマットMm
atに格納して使用する制御プログラムの作成が容易に
なる。要するに、ユーザプログラムモードで使用する通
信制御プログラムの消去防止などについて特別な考慮を
払わなくてもよい。(4)ユーザブートマットUmat
から立ち上がるユーザブートモードでは、ハードウェア
的にユーザブートマットUmatを消去及び書込み不可
にするので、暴走等でユーザブートマットUmatの記
憶情報が破壊される事はなく、デバック時にCPU2が
暴走しても、外部インターフェースを制御するプログラ
ムの破壊には至らないので、実装したマイクロコンピュ
ータチップを取り外さなくても、オンボードでユーザマ
ットMmatの書換えを自由に行うことができる。
【0063】《消去及び書き込みのプロテクト》図6に
はフラッシュメモリ13の消去及び書き込みに対するプ
ロテクトのための論理構成が例示される。同図の論理は
正論理とされ、その構成はフラッシュコントロールモジ
ュール6によって実現される。
【0064】フラッシュメモリに対する消去及び書き込
み動作は、書込み消去関係レジスタ群30Aの初期値に
対して、処理に必要な制御データを設定することによっ
て可能にされる。書込み消去関係レジスタ群30Aに対
する制御データの設定は制御ビットSWEが論理値
“1”で可能になる。要するに、制御ビットSWEが論
理値“1”にされない限り、フラッシュメモリ13の消
去及び書込みは不可能にされる。
【0065】制御ビットSWEを論理値“1”にする第
1の条件は外部端子PfweによりレジスタFCCSの
イネーブルビットFWEを論理値“1”にセットするこ
とである。
【0066】第2の条件は、ナンドゲート40の出力を
論理値“1”とする動作モードの選択状態とフラッシュ
メモリのマット選択状態を得ることである。即ち、動作
モードがテストモード(TESTTM=1)、ライタモ
ード(WRTM=1)、又はブートモード(BOOT=
1)であること。或は、ユーザモード又はユーザブート
モードにおいてユーザブートマットUmatが選択され
ていないこと(UMATSEL=0)である。尚、テス
トモードとはマイクロコンピュータの製造メーカがデバ
イステストに用いる動作モードであり、全ての動作が可
能にされるが、ユーザには非公開な動作モード、即ち、
ユーザによる設定が不可能な考慮が払われている。
【0067】前記信号UMATSELはレジスタFMA
TS及び当該レジスタFMATSの設定値に対するAA
判定回路41の判定結果とされる。レジスタFMATS
は、ユーザマットMmatとユーザブートマットUma
tを切換えるときに使用する。このレジスタFMATS
を使用することによって、CPU2のオペレーションを
ユーザマットMmatからユーザブートマットUmat
へ遷移する事が可能になる。ただし、マットの切換えに
は制限事項がある。即ち、レジスタFMATSのユーザ
ブートマット選択ビットをセットできる条件は、CPU
2のオペレーションがRAM3のプログラムを実行して
いることである。この条件は、CPU2による命令フェ
ッチのアドレスエリアがRAM3のアドレスエリアであ
ることをBSC4が検出して判定する。レジスタFMA
TSの初期値はH’AA以外であり、ユーザマット選択
状態を示す。H’AAによってユーザブートマット選択
状態を示す。図7にはCPU2のオペレーション(O
P)がユーザマットMmatとユーザブートマットUm
atとの間で切換えられるときの状態遷移が示される。
【0068】この第2の条件により、ユーザブートマッ
トUmatのアクセスは、どのモードでも可能である
が、書き込み/消去は、ライターモードとブートモード
(及びテストモード)のみ可能になる。
【0069】第3の条件はレジスタFKEYが消去及び
書き込み許容値に設定されていることである。前記レジ
スタFKEYは、電圧降下やノイズ等が原因で、プログ
ラムが暴走し、それによるプログラムの破壊を防ぐため
に設けられている。消去及び書込み制御プログラム(書
き込み/消去プログラム)が転送された後にプログラム
が暴走した場合を考慮してレジスタFKEYを使用す
る。基本的には、端子Pfweと制御ビットSWEによ
り、CPU2が暴走しても、書き込み/消去が実施され
ないようになっているが、さらに信頼性を上げる為にユ
ーザは、書き込み/消去を実施する前に、レジスタFK
EYに“5A”の値をセットする。この“5A”をスト
アしてない時は、FWEがイネーブル(“1”)になっ
ていたとしても、制御ビットSWEをセットする事がで
きないようになる。レジスタFKEYに“5A”がスト
アされている状態は、A5,5A判定回路42で検出さ
れ、信号fwemkp=1にされ、これによって、SW
Eが論理値“1”にセット可能にされる。
【0070】前記レジスタFKEYは上述の書き込み/
消去プログラム関係として機能される他に、プログラム
転送関係として機能される。即ち、フラッシュッメモリ
の消去及び書き込み制御プログラムをブートマットTm
atに格納し、ブートモードの他に、ユーザブートモー
ド及びユーザモードで利用可能にする関係上、ブートマ
ットTmatの当該消去及び書き込み制御プログラムを
RAM3に転送させるため、レジスタFCCSに制御ビ
ットSCOを設け、制御ビットSCOをイネーブルする
と、自動的にユーザマットMmatとブートマットTm
atが切り替えれ、ブートマットTmatから消去及び
書込み制御プログラムがRAM3に転送され、処理終了
後にリターン命令が実行されてユーザの処理へ復帰する
ようになっている。このとき、ユーザが書き込み/消去
を実施したくない所で、プログラムが暴走し、書き込み
/消去プログラムが転送されると、ユーザプログラムを
破壊する可能性が高くなる。これを回避するために、レ
ジスタFKEYを使用する。ユーザは、制御ビットSC
Oをセットする前に、このレジスタFKEYに“A5”
をストアする。この“A5”をストアしてない時は、制
御ビットSCOをセットする事はできない。また、CP
U2がRAM3上のプログラムをオペレーションしてい
ることも条件にされる。“A5”がストアされ、RAM
3上でCPU2のオペレーションが行われている時は、
SCOビットがセット可能となり、消去及び書き込み制
御プログラムをブートマットTmatからRAM3へ転
送することが許容される。
【0071】上述のように、フラッシュメモリ13に対
する消去及び書込みに関しては、レジスタFKEYでプ
ログラムの転送と消去書き込みを排他制御しているの
で、プログラムが転送されない状態で暴走した場合は、
書き込み/消去が実行され難い。
【0072】《プログラムモード判定処理》ここで、前
記各動作モードにおける処理の詳細を説明する。図8に
はプログラムモード判定処理のフローチャート13が例
示される。SCOモードとはユーザモードにおいてフラ
ッシュメモリを消去及び書込みするときの動作モードを
意味する。ブートモード、ライタモード、ユーザブート
モード、ユーザモードは夫々対応するモード端子をセッ
トしてリセット解除すればよい。SCOモードは、ユー
ザモード中において制御ビットSCOに論理値“1”を
セットして設定される。設定された動作モードに応じて
モード判定レジスタにモード情報がセットされる。
【0073】動作モードが設定されると、CPU2はブ
ートマット内のプログラムを実行する(ブートマット内
OP)。ブートモード、ライタモード、ユーザブートモ
ードはブートマット内の先頭アドレスからベクタをフェ
ッチしてプログラム実行を開始する(S1)が、SCO
モードの場合にはブートマット内の先頭以外の所定番
地、例えば優先度の最も高い例外処理であるユーザブレ
ーク番地から処理を開始する。
【0074】処理開始すると、モード判定用レジスタを
リードし(S2)、その内容を判定し、消去及び書込み
制御プログラムの転送など、必要な前処理を行なって
(S2〜S5)、対応する処理に進む(S6〜S9)。
尚、フローチャートの各処理欄に示される“user”
はその処理がユーザにより定義されたプログラムに基づ
いて行われる処理であることを意味し、処理欄に示され
る“boot”はその処理がブートマットTmatのプ
ログラムに基づいて行われる処理であることを意味す
る。
【0075】《ライタモード処理》図9にはライタモー
ド処理のフローチャートが例示される。ライタモードが
設定されたときは、図8に示されるようにライタモード
制御プログラムがRAM3に転送されている。先ず、ラ
イタモードにおいて消去及び書込みに利用されるコマン
ド・データレジスタ(CDL)、フラグレジスタ(FL
G)がクリアされ、コマンドフラグ(CDF)に“1”
がセットされ(S11)、電源が落ちまで、フラグレジ
スタ(FLG)及びコマンドフラグ(CDF)の状態を
参照しながら、EPROMライタからコマンド・データ
レジスタ(CDL)にセットされるコマンド及び書込み
データにしたがって、ユーザマットMmat及びユーザ
ブートマットUmatに対する消去(S14,S15)
及び書込み(S12,S13)が行われる。ライトモー
ド処理はRAM3内オペレーションとされる。
【0076】《ブートモード処理》図10にはブートモ
ード処理のフローチャートが例示される。先ず、オンボ
ードのシリアルインタフェースとSCI12との送受信
を確立し(S20)、マイクロコンピュータ1の発振周
波数等の必要なパラメータをダウンロードして設定する
(S21)。次いで、ホスト装置からのコマンドを判定
し、マイクロコンピュータの製品名や消去ブロック数な
どのステータスをホスト装置に返し(S22)、コマン
ド判定プログラムと消去プログラムをRAM3に転送し
て(SCOモードを利用することも可能)、RAM3上
でのオペレーションに遷移する(S23)。そして、ユ
ーザマットMmat及びユーザブートマットUmatを
全面消去した(S24)後、コマンドに応答しながら、
ユーザマット書込み処理(S25)、ユーザブートマッ
ト書込み処理(S26)、書込みベリファイ処理(S2
7,S28)等を行なう。
【0077】《ユーザブートモード処理》図11にはユ
ーザブートモード処理のフローチャートが例示される。
ユーザブートモードでは、特に制限されないが、ブート
マットTmatの先頭ベクタからオペレーションを開始
し、ユーザブートマットUmatへの切換えプログラム
をブートマットTmatからRAM3に転送し(S3
0)、RAM3上でのオペレーションに遷移し(S3
1)、レジスタFMATSにH’AAをセットして、レ
ジスタFMATSによるユーザマット指示状態(初期
値)をユーザブートマットに切換える(S32)。ここ
で、ユーザブートマットUmatのエリア設定に誤りが
有るかを判定し(S33,S34)誤りが無ければユー
ザブートマットUmatの先頭ベクタアドレスをリード
し(S35)、リードしたベクタアドレスにサブルーチ
ンジャンプする(S36)。CPU2はユーザブートマ
ットUmat上のプログラムを実行し、先ず、ユーザ定
義の通信を確立し、書込みに必要なユーザプログラムを
RAM3に転送する(S37)。CPU2はRAM3上
のプログラム実行に遷移し(S38)、再度レジスタF
MATSの操作を行なって、処理対象マットをユーザブ
ートマットUmatからユーザマットMmatに切換え
る(S39)。そして、RAM3上のユーザプログラム
を実行して制御ビットSCOを“1”にセットし(S4
0)、SCOモード処理に遷移して、ブートマットTm
at内の消去及び書き込み制御プログラムをRAM3に
転送させ(S41)、転送された消去及び書き込み制御
プログラムを用いた書込み/消去の処理が行なわれる
(S42)。
【0078】《ユーザモード処理》図12にはユーザモ
ード処理のフローチャートが例示される。ユーザモード
が指定されると、ユーザマットMmatの先頭からベク
タフェッチが行なわれて(S50)、ユーザの制御プロ
グラムが実行される(S51)。ユーザプログラムの実
行中にユーザマットMmatへの書込みが必要になる
と、RAM3上でオペレーションを行なってSCOビッ
トを“1”にセットし(S52)、SCOモード処理に
遷移して、ブートマット内の消去及び書き込み制御プロ
グラムをRAM3に転送させ(S53)、転送された消
去及び書き込み制御プログラムを用いた書込み/消去の
処理が行なわれる(S54)。
【0079】《書き込み/消去処理》図13には前記ス
テップS42,S54の書き込み/消去処理のフローチ
ャートが例示される。ステップS60〜S63までが書
き込み/消去の初期化処理である。ここでは、消去及び
書き込み制御プログラムはマイクロコンピュータ1の製
造メーカにより予めブートマットTmatに保持されて
いる。要する、そのプログラムはユーザ固有の条件につ
いて規定しない。例えば消去電圧パルスや書き込み電圧
パルスの印加時間はフラッシュッメモリセルの特性に応
じて決まるが、そのパルス印加時間はマイクロコンピュ
ータ1の動作クロック信号で制御する必要があり、其の
ために必要な動作周波数のデータが制御レジスタFPE
FEQに設定される(S60)。制御レジスタFPEF
EQは、特に制限されないが、CPU2の汎用レジスタ
R4が割当てられる。
【0080】消去電圧パルスや書き込み電圧パルス及び
ベリファイ動作のサイクル中にユーザの処理が完全に断
たれる不都合を解消するためのユーザブランチ処理(詳
細は後述)のための分岐先処理のアドレスをレジスタF
UBRAに設定する(S61)。
【0081】この後、初期化プログラム領域にサブルー
チンジャンプし(S62)、初期化プログラムを実行し
(S64)、上記周波数やユーザブランチアドレスとい
った初期設定の内容にしたがって、消去及び書き込みの
ためのパラメータが消去及び書込み制御プログラム上に
自動的に設定される。
【0082】次に、消去及び書き込みのハードプロテク
トを解除するために、端子Pfweを介して制御ビット
FWEを論理値“1”にセットしてハードプロテクトを
解除し、ユーザプログラムの実行に遷移する(S6
4)。このオペレーション状態で、書込みデータを用意
し(S65)、ユーザが実施したい書き込み/消去を実
行する(S66)。ステップS65,S66の処理はユ
ーザが目的とする処理が終了されるまで繰返される。
【0083】《ユーザブランチ》図13の書き込み消去
処理を更に詳述しながらユーザブランチ処理について説
明する。
【0084】図14は図13の書き込み処理に着目した
概略フローチャートである。書き込み処理は、ブートマ
ットTmatからソースコード(消去及び書き込み制御
プログラム等)をRAM3に転送する処理(T1)、書
き込み初期化の実行(T2)、及び書き込み実行(T
3)に大別される。
【0085】転送処理(T1)は、転送を実施したいプ
ログラムを選択し、レジスタFKEYをセットし制御ビ
ットSCOをイネーブルにする。これを実施する事によ
って、ブートマットから自動的に転送プログラムがスタ
ートする。プログラムは、RAM3のスタートアドレス
から必要な領域だけプログラムが転送される。この時に
初期化プログラムも転送される。
【0086】初期化の実行(T2)では、初期化プログ
ラムが実行され、転送されたプログラムに対し、動作周
波数に依存するウェイトタイムループ回数の設定やユー
ザブランチアドレスが設定される。
【0087】書き込み実行(T3)では、書き込みを実
施する前に、どの様な方式でも良いが、書き込みデータ
をRAM3上に転送する。このときには、ある決まった
順序でデータを並べる必要がある。転送領域は、ユーザ
が任意に設定する事が可能で、必要な手続きを実施し、
転送を実施した後、プログラムのある決まった番地にサ
ブルーチンジャンプを実施する。このサブルーチンジャ
ンプを実施する事で書き込みが実行される。
【0088】図15にはRAM3への転送処理(T1)
の詳細が例示される。先ずレジスタFKEYを“A5”
に設定し(T10)、転送したいソースコードを選択す
る(T11)。ソースコードの選択は、書き込み消去関
係レジスタ30Aに対して行われる。選択可能なソース
コードは、特に制限されないが、書き込み及び書き込み
ベリファイプログラム、消去及び消去ベリファイプログ
ラム等である。そして制御ビットSCOが“1”にセッ
トされて、選択されたソースコードがRAM3の所定エ
リアに転送される(T12)。制御ビットSCOのイネ
ーブルを実施する時は、CPU2はフラッシュッメモリ
13の外でオペレーションを実施している必要がある。
これは、オペレーション可能なマットがユーザマットM
matからブートマットTmatに変化してしまうため
にプログラムが暴走するからである。制御ビットSCO
のイネーブルを実施したら、自動的にブートマットTm
atからプログラムがスタートする。このブートプログ
ラムは、汎用レジスタの値をソフトウェア処理でスタッ
クに退避する。ユーザの処理に戻るときは、リターン命
令でユーザの処理に復帰する。この復帰を実施する前に
ブートマットTmat内の転送プログラムは、退避を実
施した汎用レジスタの値を復帰する。最後に転送が正常
に終了したかの判別が行われる(T13)。
【0089】図16には書き込み初期化処理(T2)の
詳細が例示される。先ずレジスタFPEFEQ(R4)
にマイクロコンピュータ1の動作周波数がセットされ
(T20)、レジスタFUBRAにユーザブランチアド
レスがセットされる。レジスタFUBRAにはCPU2
の汎用レジスタR5が割当てられる。其の後、書き込み
初期化プログラムが実行される(T22)。例えば、書
き込み関係の初期化プログラムは、設定されたチップ動
作周波数の値を参照し、ウェイトタイムループ回数を決
定する。決定したウェイトタイム時間をRAM3上に転
送された書き込み制御プログラムに埋め込む処理を行な
う。また、書き込み初期化プログラムは、レジスタFU
BRA(R5)の値を参照して、ユーザブランチを実施
するか、実施した場合に何処のアドレスにジャンプする
かの書き込みプログラム変更を実施する。要するに、ユ
ーザブランチを実施するサブルーチンジャンプ命令に、
レジスタFUBRA(R5)の値が、分岐先アドレスと
して埋め込まれる。最後に、初期化処理が正常に終了し
たことを判別して(T23)、処理を終了する。
【0090】ここで、前記レジスタFUBRAは書き込
み/消去途中でのユーザブランチアドレスを指定するレ
ジスタであり、このエリアは汎用レジスタR5に存在す
る。ユーザブランチを実施したくない時は、このレジス
タにH’00000000をセットする。ユーザブラン
チにより誤動作を生じないようにするために、フラッシ
ュメモリエリアで書き込み/消去途中のエリアに関して
はユーザブランチを禁止し、内蔵RAMの内、書き込み
/消去プログラムが転送された領域へのユーザブランチ
を禁止し、プログラムデータの書き換えを禁止し、ユー
ザブランチを実施した先で、SCOモードの実行や書き
込み/消去ルーチン、書き込み/消去初期化ルーチンを
コールすることを禁止することが望ましい。
【0091】図18には図16の書き込み初期化時にお
ける内蔵RAM3、書き込みプログラム、初期化処理、
レジスタR4,R5との間のデータ接続関係が示され
る。同図により、初期化プログラムは、レジスタR4,
R5を参照し、参照結果を書き込みプログラムのユーザ
ブランチ処理に反映し、ウェイト関係パラメータに反映
することが明瞭である。
【0092】図17には書き込み実行(T3)の詳細が
例示される。先ず、マスク不可能な割込み(NMI)を
受け付けたときの分岐先をRAM3アドレスエリアに変
更する(T30)。例えばベクタベースレジスタをRA
M3のアドレスエリアに設定変更すればよい。これは、
書き込み途上のフラッシュメモリエリアを避けることが
誤動作防止の点より望ましいからである。そのようなN
MIはユーザ定義のエラー処理ルーチンをコールするた
めに利用すればよい。そして、NMIよりも割込み優先
レベルの低い割込みをマスクする(T31)。例えばス
テータスレジスタSRに割込みマスクデータIMSKの
NMIの次に低い割込み優先レベルを設定すればよい。
これは、書き込み/消去中は、状態によってフラッシュ
メモリに高電圧が掛かっている。この状態でIRQ等の
割り込みが入ったとしても、フラッシュメモリのベクタ
ーを読める事は保証できない。よって、書き込み/消去
中は、NMI以外の割り込みは禁止にする。
【0093】そして、書き込みアドレスの設定エリアを
汎用レジスタR5にセットする(T32)。すなわち、
内蔵RAM3に書かれている書き込みアドレスエリアの
先頭アドレスを汎用レジスタR5にセットする。そし
て、書き込みデータアドレスの設定エリアを汎用レジス
タR4にセットする(T33)。即ち、内蔵RAM3に
書かれている書き込みデータアドレスエリアの先頭アド
レスを汎用レジスタR4にセットする。其の後、レジス
タFKEYに書き込み/消去コード“5A”をセットし
(T34)、書き込みプログラムにジャンプして実行す
る(T35)。最後に書き込みが正常に終了したかを判
別する(T36)。
【0094】図19には書き込み時におけるRAM3、
汎用レジスタR4,R5、書き込みプログラムとの間の
データ接続関係が例示される。ここではデュアルバンク
書込みを想定しているから、書込みアドレスエリアの先
頭アドレスと書込みデータアドレスエリアの先頭アドレ
スとを夫々のバンク毎に参照できなければならないた
め、RAMエリアFMPDR0,FMPDR1をレジス
タR4で、RAMエリアFMPAR0,FMPAR1を
レジスタR5で参照可能にしている。
【0095】図20には図17のステップT35に対応
する書込みプログラムの処理フローが例示される。この
処理フローは、書込みデータラッチ(T40)、書込み
パルスの印加(T41)、書込みベリファイ(T42)
の処理サイクル中に、ユーザブランチアドレスにサブル
ーチンジャンプするかを判定するステップ(T43)を
有し、初期化処理による設定値にしたがって、サブルー
チンジャンプの指示がされている場合(ユーザブランチ
アドレスがH’00000000以外のとき)には、ユ
ーザブランチアドレスに分岐して、サブルーチンを実行
する(T44)。実行後に再び書き込み動作ルーチンに
戻ってくる。書込みベリファイで所定の閾値状態を得ら
れないときは、パルス印加回数Nをインクリメントして
再度同じループを繰返し(T45)、くり返し回数が最
大回数(WMAX)に達する前に書込み正常状態を得ら
れれば其の時点で図17のフローに戻り(T46)、最
大回数に達しても正常終了できないときは書込みエラー
処理を行なって(T47)、図17のフローに戻る。
【0096】このように、書込みパルス印可と書込みベ
リファイのサイクル中に、ユーザブランチアドレスで示
されたサブルーチン処理に分岐可能であれば、書き込み
中であっても、ユーザの制御プログラムに、ある一定間
隔で制御を戻すことができる。しかも、ソフトウェアで
実施しているので、ユーザの制御に戻ってくる間隔をソ
フトウェアで変更することも可能である。書き込み中で
も、ユーザ制御プログラムに一定間隔で戻ってくること
により、このマクロコンピュータ1を使用したシステム
を長い時間停止させなくても、消去及び書き込みが実施
可能になる。したがって、一定期間毎に内外の事象を確
認する必要のあるシステム、或は学習機能付きのシステ
ム等に対して、ユーザのプログラム実行中に消去及び書
込みを実行していくことが可能である。
【0097】図21は図13の消去処理に着目した概略
フローチャートである。消去処理は、ブートマットから
ソースコード(消去及び書き込み制御プログラム等)を
RAM3に転送する処理(T5)、消去初期化の実行
(T6)、及び消去実行(T7)に大別される。
【0098】転送処理(T5)は前記転送処理(T1)
と同じである。初期化の実行(T6)では、転送された
プログラムに関して、動作周波数に依存するウェイトタ
イムループ回数の設定やユーザブランチの設定の為に、
初期化プログラムを実行する。
【0099】消去実行(T7)では、RAM3に転送さ
れた消去プログラムのある決まった番地にジャンプサブ
ルーチンを実施する事で消去を実行する。
【0100】図22には消去初期化処理(T6)の詳細
が例示される。先ずレジスタFPEFEQ(R4)にマ
イクロコンピュータ1の動作周波数がセットされ(T6
0)、レジスタFUBRAにユーザブランチアドレスが
セットされる(T61)。レジスタFUBRAにはCP
U2の汎用レジスタR5が割当てられる。其の後、消去
初期化プログラムが実行される(T62)。転送された
時の消去プログラムは、ウェイトループ回数が初期設定
状態になっている。この事から、この初期化プログラム
を使用して、消去プログラムのウェイトループ回数を全
て変更する。この計算を実施する為に、ユーザはレジス
タFPEFEQ(R4)をセットする。レジスタFUB
RA(R5)の設定では、消去プログラムのユーザブラ
ンチ設定を実施することになる。消去初期化プログラム
は、レジスタFUBRAの設定値を参照して、ユーザブ
ランチを実施するか、実施した場合に何処のアドレスに
ジャンプするかについて、消去プログラム変更を実施す
る。この変更を実施する為に、ユーザはレジスタFUB
RAに値をセットする。最後に、初期化処理が正常終了
したことを判別して(T63)、処理を終了する。
【0101】ここで、前記レジスタFUBRAの意義は
書込みの場合と同じであり、ユーザブランチを実施した
くない時は、このレジスタにH’00000000をセ
ットする。
【0102】図24には図22の消去初期化時における
内蔵RAM3、消去プログラム、初期化処理、レジスタ
R4,R5との間のデータ接続関係が示される。同図に
より、初期化プログラムは、レジスタR4,R5を参照
し、参照結果を書き込みプログラムのユーザブランチ処
理に反映し、ウェイト関係パラメータに反映することが
明らかである。
【0103】図23には消去実行(T7)の詳細が例示
される。先ず、マスク不可能な割込み(NMI)を受け
付けたときの分岐先をRAM3アドレスエリアに変更す
る(T70)。例えばベクタベースレジスタをRAM3
のアドレスエリアに設定変更すればよい。これは、消去
途上のフラッシュメモリエリアを避けることが誤動作防
止の点より望ましいからである。そのようなNMIはユ
ーザ定義のエラー処理ルーチンをコールするために利用
すればよい。そして、NMIよりも割込み優先レベルの
低い割込みをマスクする(T71)。例えばステータス
レジスタSRに割込みマスクデータIMSKのNMIの
次に低い割込み優先レベルを設定すればよい。これは、
消去中は、状態によってフラッシュメモリに高電圧が掛
かっている。この状態でIRQ等の割り込みが入ったと
しても、フラッシュメモリのベクターを読める事は保証
できない。よって、消去中は、NMI以外の割り込みは
禁止にする。
【0104】そして、消去ブロック番号を汎用レジスタ
R4にセットする(T72)。其の後、レジスタFKE
Yに書き込み/消去コード“5A”をセットし(T7
3)、消去プログラムにジャンプして実行する(T7
4)。最後に消去正常終了を判別する(T75)。
【0105】図25には消去時におけるRAM3、汎用
レジスタR4,R5、消去プログラムとの間のデータ接
続関係が例示される。この接続関係は、ユーザが消去プ
ログラムを作成しないので消去マット選択のインターフ
ェース方法として、消去ブロック選択の受け渡しを、レ
ジスタFEBS(R4)を介して消去ブロック番号を受
け渡す事で実施する。
【0106】図26には図23のステップT74に対応
する消去プログラムの処理フローが例示される。この処
理フローは、消去データラッチ(T80)、消去パルス
の印加(T81)、消去ベリファイ(T82)の処理サ
イクル中に、ユーザブランチアドレスにサブルーチンジ
ャンプするかを判定するステップ(T83)を有し、初
期化処理による設定値にしたがって、サブルーチンジャ
ンプの指示がされている場合(ユーザブランチアドレス
がH’00000000以外のとき)には、ユーザブラ
ンチアドレスに分岐して、サブルーチンを実行する(T
84)。実行後に再び消去動作ルーチンに戻ってくる。
消去ベリファイで所定の閾値状態を得られないときは、
パルス印加回数Nをインクリメントして再度同じループ
を繰返し(T85)、くり返し回数が最大回数(EMA
X)に達する前に消去正常状態を得られれば其の時点で
図23のフローに戻り(T86)、最大回数に達しても
正常終了できないときは消去エラー処理を行なって(T
87)、図23のフローに戻る。
【0107】このように、消去パルス印可と消去ベリフ
ァイのサイクル中に、ユーザブランチアドレスで示され
たサブルーチン処理に分岐可能であれば、消去中であっ
ても、ユーザの制御プログラムに、ある一定間隔で制御
を戻すことができる。消去中でも、ユーザ制御プログラ
ムに一定間隔で戻ってくることにより、このマクロコン
ピュータ1を使用したシステムを長い時間停止させなく
ても、消去が実施可能になる。したがって、一定期間毎
に内外の事象を確認する必要のあるシステム、或は学習
機能付きのシステム等に対して、ユーザのプログラム実
行中に消去及び書込みを実行していくことが可能であ
る。
【0108】《ユーザブランチ先でのプログラムの暴
走》書き込み/消去プログラムが転送された状態で、し
かも端子Pfweがイネーブル状態(“1”)の場合
は、フラッシュメモリ13が保有する記憶情報を如何な
る場合にも正常に保持することを完全に保証する事は、
困難である。図27にはユーザブランチ先でCPU2が
暴走してフラッシュッメモリ13の記憶情報が破壊され
る事態を抑止可能にする書込み/消去処理の手法が例示
される。即ち、書き込み/消去フロー中で各処理終了毎
に実施する前記ステップT44,T84のユーザブラン
チ処理では、書込み消去の動作電源を初期化してリード
動作の動作電源に遷移させ(T90)、その後、レジス
タFKEYの値を、書込み/消去可能値“5A”以外の
任意に値に変更する(T91)。例えば7X(X=0〜
F)とする。これを実施することにより、制御ビットS
WEのセットが不可になるので、ユーザブランチ先でC
PUが暴走しても、簡単には書き込み/消去ができなく
なる。
【0109】ステップT91の処理において、レジスタ
FKEYに設定するコードを、処理に対して意味のある
コード、例えば、消去/書込みの進捗状況を示すコード
にすれば、暴走などにより、書込み/消去未完の状態で
書込み/消去の処理ルーチンからリターンしてきたよう
な場合、或はレジスタFKEYの値が期待値以外の値に
変化している場合、レジスタFKEYの値を参照するこ
とにより、異常を検出することができる。図27の例で
は、パルス印可とベリファイの間では“71”、ベリフ
ァイと書込みデータ再演算の間は“72”、再演算と書
込みパルス印可前のダミーライトの間は“73”とし、
ユーザブランチ処理から抜けるとき、レジスタFKEY
の値が“7X(X=1〜F)”であるかを判定し(T9
2)、それ以外であれば何らかの異常が有ったと見な
し、書込み/消去に対してフェイル処理を行なう(T9
3)。FKEYが“7X”であれば、正常に処理終了と
見なし、FKEYを“5A”に戻す(T93)。
【0110】尚、進捗情況を保持するレジスタはFKE
Yでなくてもよいが、ユーザブランチの場合に“5A”
以外の値に書き換えることが得策であるという事情を考
慮すれば、レジスタFKEYを利用することが、ハード
ウェアリソースと処理負担の両面において経済的であ
る。
【0111】以上本発明者によってなされた発明を実施
形態に基づいて具体的に説明したが、本発明はそれに限
定されるものではなく、その要旨を逸脱しない範囲にお
いて種々変更可能であることは言うまでもない。
【0112】例えば、消去及び書込み可能な不揮発性メ
モリは2値のフラッシュメモリに限定されない。多値フ
ラッシュメモリ、例えば、1個のフラッシュッメモリセ
ルに2ビット以上の記憶情報を保持させることが可能な
多値フラッシュメモリであってもよい。すなわち、1個
のフラッシュメモリセルは、情報記憶に際して複数ビッ
トの書き込みデータで指定される4種類以上の閾値電圧
の中の一つの閾値電圧に設定され、情報読み出しに際し
て閾値電圧の状態を対応する複数ビットの記憶情報とし
て出力する、1個のフラッシュメモリセルの記憶情報を
複数ビット化したメモリである。ここでは、一つのフラ
ッシュメモリセルに2ビットの情報を書き込むことがで
き、かつその情報を読み出すことができるフラッシュメ
モリを一例とする。このようなフラッシュメモリが実現
しようとする多値情報記憶技術において、一つのメモリ
セルの情報記憶状態は、例えば消去状態(“11”)、
第1の書き込み状態(“10”)、第2の書き込み状態
(“00”)、第3の書き込み状態(“01”)の中か
ら選ばれた一つの状態とされる。全部で4通りの情報記
憶状態は、2ビットのデータによって決定される状態と
される。即ち、2ビットのデータを一つのメモリセルで
記憶する。
【0113】また、フラッシュメモリセルはフローティ
ングゲートとコントロールゲートの縦積み構造に限定さ
れず、MOSトランジスタのゲート電極をフローティン
グゲート電極とし当該ゲート電極を延在させて形成した
MOSゲート容量を介してチャネル領域をコントロール
ゲートに用いるようなデバイス構造などを採用してもよ
い。また、不揮発性記憶素子はフラッシュメモリに限定
されず、MNOS(メタル・ナイトライド・オキサイド
・セミコンダクタ)トランジスタを記憶素子とするEE
PROM(エレクトリカリ・イレーザブル・アンド・プ
ログラマブル・リード・オンリ・メモリ)のような不揮発
性メモリ、或いは強誘電体メモリ等であってもよい。
【0114】また、マイクロコンピュータがオンチップ
で備える回路モジュールは上記の例に限定されず、適宜
変更可能である。
【0115】消去及び書込み制御プログラムをブートマ
ットに初期的に保持させる構成に限定されない。システ
ムボードからダウンロードする構成を採用してもよい。
また、各種レジスタ手段はフラッシュメモリ内蔵の周辺
レジスタであっても、CPU内蔵の汎用レジスタであっ
ても、或は、SRAMなどのメモリで構成されるメモリ
マップドI/Oレジスタであってもよい。
【0116】前記ユーザブランチは、レジスタFUBR
A(R5)の設定値に基づいて、ジャンプサブルーチン
命令のジャンプ先コードを予め書き換える初期化処理を
行なってから、其のプログラムを実行するものとして説
明した。これに代えて、ジャンプサブルーチン命令でそ
のレジスタFUBRA(R5)を直接参照して分岐する
ようにしてもよい。この場合には、その消去及び書込み
制御プログラムのコンパイラが一つの関数内で引数とし
て利用する事ができる汎用レジスタ数の制限範囲内で汎
用レジスタR5を参照できなければならない。
【0117】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。
【0118】すなわち、高電圧パルスの印可及びデータ
ベリファイ等のループ中に、ユーザが指定したアドレス
のサブルーチンにジャンプするプログラムを予めプログ
ラミングし、例えば、プログラムを実行する時に、ユー
ザが引数として、ジャンプ先のアドレスを渡しておけ
ば、そのアドレスをジャンプサブルーチン命令で参照す
ることができるから、不揮発性メモリに対する消去/書
込み中であっても、ユーザの制御プログラムに、ある一
定間隔で制御を戻すことができる。したがって、消去/
書込み処理時間よりも短い間隔で発生する事象に応答す
ることが必要なシステムにおいても、その処理中に、必
要に応じてオンチップ不揮発性メモリの消去/書込みを
行なうことができる。
【図面の簡単な説明】
【図1】本発明の一例に係るマイクロコンピュータのブ
ロック図である。
【図2】CPU2の具体例を示すブロック図である。
【図3】フラッシュメモリのメモリマットを例示する説
明図である。
【図4】フラッシュメモリのメモリマット毎の各動作モ
ードによるアクセス態様を例示する説明図である。
【図5】CPUが実行するプログラムの所在と実行によ
る作用を模式的に示す説明図である。
【図6】フラッシュメモリの消去及び書き込みプロテク
トのための論理構成を例示する論理回路図である。
【図7】CPUのオペレーションがユーザマットとユー
ザブートマットとの間で切換えられるときの状態遷移図
である。
【図8】プログラムモード判定処理のフローチャートで
ある。
【図9】ライタモード処理のフローチャートである。
【図10】ブートモード処理のフローチャートである。
【図11】ユーザブートモード処理のフローチャートで
ある。
【図12】ユーザモード処理のフローチャートである。
【図13】図11のステップS42及び図12のステッ
プS54の書き込み/消去処理のフローチャートであ
る。
【図14】図13の書き込み処理に着目した概略フロー
チャートである。
【図15】RAMへの転送処理(T1)の詳細を例示す
るフローチャートである。
【図16】書き込み初期化処理(T2)の詳細を例示す
るフローチャートである。
【図17】書き込み実行(T3)の詳細を例示するフロ
ーチャートである。
【図18】図16の書き込み初期化時における内蔵RA
M、書き込みプログラム、初期化処理、レジスタ(R
4,R5)との間のデータ接続関係を例示する説明図で
ある。
【図19】書き込み時におけるRAM、汎用レジスタ
(R4,R5)、書き込みプログラムとの間のデータ接
続関係を例示する説明図である。
【図20】図17のステップT35に対応する書込みプ
ログラムの処理フローである。
【図21】図13の消去処理に着目した概略フローチャ
ートである。
【図22】消去初期化処理(T6)の詳細を例示するフ
ローチャートである。
【図23】消去実行(T7)の詳細を例示するフローチ
ャートである。
【図24】図22の消去初期化時における内蔵RAM、
消去プログラム、初期化処理、レジスタ(R4,R5)
との間のデータ接続関係を例示する説明図である。
【図25】消去時におけるRAM、汎用レジスタ(R
4,R5)、消去プログラムとの間のデータ接続関係を
例示する説明図である。
【図26】図23のステップT74に対応する消去プロ
グラムの処理フローである。
【図27】ユーザブランチ先でCPUが暴走してフラッ
シュッメモリの記憶情報が破壊される事態を抑止可能に
するユーザブランチ処理のフローチャートである。
【符号の説明】
1 マイクロコンピュータ 2 CPU 3 RAM 4 バスステートコントローラ 5 フラッシュッメモリモジュール 6 フラッシュコントロールロジック 9 割込みコントローラ RES リセット信号 13 フラッシュッメモリ 14 モード信号 15 システムコントローラ 20 メモリセルアレイ FMATS 制御レジスタ FKEY 制御レジスタ FCCS 制御レジスタ SCO 制御ビット Rmat リペア及びトリミングマット Tmat ブートマット Umat ユーザブートマット Mmat ユーザマット Pfwe 外部端子
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/46 320 G06F 9/46 320Z 12/16 12/16 A (72)発明者 石川 栄一 北海道亀田郡七飯町字中島145番地 日立 北海セミコンダクタ株式会社内 Fターム(参考) 5B018 GA04 HA40 MA23 NA06 QA15 5B033 AA10 AA12 DA16 DB02 EA06 EA15 5B062 CC01 JJ01 5B098 AA03 BB06 EE01 EE06

Claims (39)

    【特許請求の範囲】
  1. 【請求項1】 消去及び書き込み可能な不揮発性メモリ
    と、CPUとを有し、前記CPUは、消去動作のための
    消去電圧又は書き込み動作のための書き込み電圧の印加
    とベリファイ動作とを含む単位処理のサイクル毎又は複
    数サイクル毎に、第1レジスタ手段に設定された情報が
    示す処理に一時的に分岐可能にされ、前記第1レジスタ
    手段はプログラマブルに情報設定可能にされて成るもの
    であることを特徴とするマイクロコンピュータ。
  2. 【請求項2】 前記CPUは、前記第1レジスタ手段に
    設定された情報が第1設定値であるとき前記分岐する処
    理をスキップし、第1設定値以外のとき当該値に基づい
    て指定される処理に分岐することを特徴とする請求項1
    記載のマイクロコンピュータ。
  3. 【請求項3】 CPUによりリード・ライト可能な第2
    レジスタ手段(FKEY)を有し、前記不揮発性メモリ
    は第2レジスタ手段に第2設定値が設定されることを消
    去及び書き込み動作を可能にするための必要条件とし、 前記CPUは、前記分岐するとき、前記第2レジスタ手
    段に第2設定値以外の値を設定し、分岐からの復帰毎
    に、第2レジスタ手段に第2設定値を設定することを特
    徴とする請求項1又は2記載のマイクロコンピュータ。
  4. 【請求項4】 前記第2設定値以外の値は、消去及び書
    き込み処理の進捗状態を示すコード情報であることを特
    徴とする請求項3記載のマイクロコンピュータ。
  5. 【請求項5】 割込み要求信号を入力し、競合する割込
    要求の調停と割込み優先レベルによる割込みマスク処理
    を行ってCPUに割込み信号を出力する割込み制御回路
    を有し、前記CPUは消去及び書込みを行なうとき、マ
    スク不可能な割込みよりも割込み優先レベルの低い割込
    みをマスクさせる設定を割込み制御回路に行うことを特
    徴とする請求項1又は2記載のマイクロコンピュータ。
  6. 【請求項6】 前記CPUは消去及び書込みを行なうと
    き、マスク不可能な割込み要求に対する割込み処理ルー
    チンの所在をRAMのアドレスに変更する処理を行うも
    のであることを特徴とする請求項5記載のマイクロコン
    ピュータ。
  7. 【請求項7】 消去及び書き込み可能な不揮発性メモリ
    と、CPUとを有し、 前記不揮発性メモリは、前記CPUが実行して前記不揮
    発性メモリを消去及び書込み制御するための消去及び書
    込み制御プログラムを保有し、 前記消去及び書込み制御プログラムは、消去動作のため
    の消去電圧又は書き込み動作のための書き込み電圧の印
    加とベリファイ動作とを含む単位処理サイクル毎又は複
    数サイクル毎に、CPUの処理を、別の処理に一時的に
    分岐可能とし、 前記CPUは第1レジスタ手段の設定値によって前記分
    岐可能な別の処理を指示するものであることを特徴とす
    るマイクロコンピュータ。
  8. 【請求項8】 前記第1レジスタ手段はCPUの汎用レ
    ジスタの中から選ばれたレジスタであることを特徴とす
    る請求項7記載のマイクロコンピュータ。
  9. 【請求項9】 CPUのアドレス空間に配置されたRA
    Mを更に有し、前記不揮発性メモリは前記消去及び書き
    込み制御プログラムをRAMに転送する転送制御プログ
    ラムを有し、CPUは、前記RAMに転送された前記消
    去及び書き込み制御プログラムに対し、第1レジスタ手
    段の設定値に基づき前記分岐可能な別の処理へのパラメ
    ータに設定を行なって、当該消去及び書き込み制御プロ
    グラムを実行することを特徴とする請求項7又は8記載
    のマイクロコンピュータ。
  10. 【請求項10】 電気的に書き込み可能な複数のメモリ
    セルを含む不揮発性メモリと、 前記不揮発性メモリに対する書き込み制御プログラムを
    実行可能な中央処理装置と、を有し、 前記中央処理装置は、前記書き込み制御プログラムの実
    行中に、前記書き込み制御プログラムと異なる第1制御
    プログラムの処理へ一時的に分岐可能であることを特徴
    とするマイクロコンピュータ。
  11. 【請求項11】 前記書き込み制御プログラムは、前記
    電気的に書き込み可能な複数のメモリセルのうち指定さ
    れたメモリセルに対して情報の書き込みを行う場合、複
    数回の書き込み処理ループを実行して前記指定されたメ
    モリセルへ情報を書き込む処理を規定し、 前記中央処理装置の処理は、前記書き込み処理ループ毎
    に、前記第1制御プログラムへ分岐可能にされることを
    特徴とする請求項10記載のマイクロコンピュータ。
  12. 【請求項12】 前記中央処理装置によって書き込み可
    能な第1記憶回路を、さらに、有し、 前記第1記憶回路が前記中央処理装置によって第1設定
    値に設定された場合、前記中央処理装置の処理は前記書
    き込み制御プログラムを継続して実行し、 前記第1記憶回路が前記中央処理装置によって前記第1
    設定値と異なる第2設定値に設定された場合、前記中央
    処理装置の処理は、前記書き込み処理ループ毎に、前記
    第1制御プログラムへ分岐されることを特徴とする請求
    項11記載のマイクロコンピュータ。
  13. 【請求項13】 複数のメモリセルの各々は、フローテ
    ィングゲートを有する電気的に書き込み及び消去が可能
    は不揮発性メモリセルであることを特徴とする請求項1
    0記載のマイクロコンピュータ。
  14. 【請求項14】 前記不揮発性メモリは、電気的に書き
    込み及び消去可能なフラッシュメモリであることを特徴
    とする請求項10記載のマイクロコンピュータ。
  15. 【請求項15】前記不揮発性メモリは、前記書き込み制
    御プログラムを格納することを特徴とする請求項10記
    載のマイクロコンピュータ。
  16. 【請求項16】 更に、前記書き込み制御プログラムが
    前記不揮発性メモリから転送されるメモリを有すること
    を特徴とする請求項15記載のマイクロコンピュータ。
  17. 【請求項17】 電気的に消去可能な複数のメモリセル
    を含む不揮発性メモリと、 前記不揮発性メモリに対する消去制御プログラムを実行
    可能な中央処理装置と、を有し、 前記中央処理装置は、前記消去制御プログラムの実行中
    に、前記消去制御プログラムと異なる第1制御プログラ
    ムの処理へ一時的に分岐可能であることを特徴とするマ
    イクロコンピュータ。
  18. 【請求項18】 前記消去制御プログラムは、前記電気
    的に消去可能な複数のメモリセルのうち指定されたメモ
    リセルに対して情報の消去を行う場合、複数の回の消去
    処理ループを実行して前記指定されたメモリセルへ情報
    を消去する処理を規定し、 前記中央処理装置の処理は、前記消去処理ループ毎に、
    前記第1制御プログラムへ分岐可能にされることを特徴
    とする請求項17記載のマイクロコンピュータ。
  19. 【請求項19】 前記中央処理装置によって書き込み可
    能な第1記憶回路を、更に、有し、 前記第1記憶回路が前記中央処理装置によって第1設定
    値に設定された場合、前記中央処理装置の処理は前記消
    去制御プログラムを継続して実行し、 前記第1記憶回路が前記中央処理装置によって前記第1
    設定値と異なる第2設定値に設定された場合、前記中央
    処理装置の処理は、前記消去処理ループ毎に、前記第1
    制御プログラムへ分岐されることを特徴とする請求項1
    8記載のマイクロコンピュータ。
  20. 【請求項20】 複数のメモリセルの各々は、フローテ
    ィングゲートを有する電気的に書き込み及び消去が可能
    は不揮発メモリセルであることを特徴とする請求項17
    記載のマイクロコンピュータ。
  21. 【請求項21】 前記不揮発性メモリは、電気的に書き
    込み及び消去可能なフラッシュメモリであることを特徴
    とする請求項17記載のマイクロコンピュータ。
  22. 【請求項22】 前記不揮発性メモリは、前記消去制御
    プログラムを格納することを特徴とする請求項17記載
    のマイクロコンピュータ。
  23. 【請求項23】 更に、前記消去制御プログラムが前記
    不揮発性メモリから転送されるメモリを有することを特
    徴とする請求項22記載のマイクロコンピュータ。
  24. 【請求項24】 電気的に消去及び書き込み可能な複数
    のメモリセルを含む不揮発性メモリと、 前記不揮発性メモリに対する消去制御プログラム及び書
    き込み制御プログラムを実行可能な中央処理装置と、を
    有し、 前記中央処理装置は、前記書き込み制御プログラムの実
    行中に、前記書き込み制御プログラムと異なる第1制御
    プログラムの処理へ一時的に分岐可能にされることを特
    徴とするマイクロコンピュータ。
  25. 【請求項25】 前記書き込み制御プログラムは、前記
    電気的に書き込み可能な複数のメモリセルの指定された
    メモリセルに対して情報の書き込みを行う場合、複数の
    回の書き込み処理ループを実行して前記指定されたメモ
    リセルへ情報を書き込む処理を規定し、 前記中央処理装置の処理は、前記書き込み処理ループ毎
    に、前記第1制御プログラムへ分岐可能にされることを
    特徴とする請求項24記載のマイクロコンピュータ。
  26. 【請求項26】 前記マイクロコンピュータは、さら
    に、前記中央処理装置によって書き込み可能な第1記憶
    回路を有し、 前記第1記憶回路が前記中央処理装置によって第1設定
    値に設定された場合、前記中央処理装置の処理は前記書
    き込み制御プログラムを継続して実行し、 前記第1記憶回路が前記中央処理装置によって前記第1
    設定値と異なる第2設定値に設定された場合、前記中央
    処理装置の処理は、前記書き込み処理ループ毎に、前記
    第1制御プログラムへ分岐されることを特徴とする請求
    項25記載のマイクロコンピュータ。
  27. 【請求項27】 複数のメモリセルの各々は、フローテ
    ィングゲートを有する不揮発性メモリセルであることを
    特徴とする請求項24記載のマイクロコンピュータ。
  28. 【請求項28】 前記不揮発性メモリは、フラッシュメ
    モリであることを特徴とする請求項24記載のマイクロ
    コンピュータ。
  29. 【請求項29】 前記不揮発性メモリは、前記書き込み
    制御プログラムを格納することを特徴とする請求項24
    記載のマイクロコンピュータ。
  30. 【請求項30】 更に、前記書き込み制御プログラムが
    前記不揮発性メモリから転送されるメモリを有すること
    を特徴とする請求項29記載のマイクロコンピュータ。
  31. 【請求項31】 前記中央処理装置は、前記消去制御プ
    ログラムの実行中に、前記消去制御プログラムと異なる
    第1制御プログラムの処理へ一時的に分岐可能にされる
    ことを特徴とする請求項26に記載のマイクロコンピュ
    ータ。
  32. 【請求項32】 前記消去制御プログラムは、前記電気
    的に消去可能な複数のメモリセルの指定されたメモリセ
    ルに対して情報の消去を行う場合、複数の回の消去処理
    ループを実行して前記指定されたメモリセルへ情報を消
    去する処理を規定し、 前記中央処理装置の処理は、前記消去処理ループ毎に、
    前記第1制御プログラムへ分岐可能にされることを特徴
    とする請求項31記載のマイクロコンピュータ。
  33. 【請求項33】 前記第1記憶回路が前記中央処理装置
    によって前記第1設定値に設定された場合、前記中央処
    理装置の処理は前記消去制御プログラムを継続して実行
    し、 前記第1記憶回路が前記中央処理装置によって前記第2
    設定値に設定された場合、前記中央処理装置の処理は、
    前記消去処理ループ毎に、前記第1制御プログラムへ分
    岐されることを特徴とする請求項32記載のマイクロコ
    ンピュータ。
  34. 【請求項34】 中央処理装置と電気的に書き込み可能
    な不揮発性メモリとを有するマイクロコンピュータにお
    ける前記中央処理装置に書き込み制御プログラムを実行
    させて前記不揮発性メモリに情報を書き込むための書き
    込み方法は、前記不揮発性メモリの書き込みすべきメモ
    リセルのアドレスを供給する第1工程と、 前記メモリセルに書き込みべき情報を供給する第2工程
    と、 前記メモリセルに前記書き込みべきデータを繰り返し書
    き込む第3工程を有し、 前記第3工程は、前記メモリセルに書き込み電圧を印可
    する電圧印可工程と、前記メモリセルに前記書き込みす
    べきデータが書き込まれたか否かを確認するベリファイ
    工程と、所定のレジスタの値を参照し、前記レジスタに
    所定の値が記憶されている場合に、前記レジスタに設定
    された値に対応する所定の処理へ前記中央処理装置の処
    理を移行させる工程と、前記中央処理装置の処理を前記
    所定の処理から前記第3工程へ復帰させる工程とを含む
    ことを特徴とする書き込み方法。
  35. 【請求項35】 中央処理装置と電気的に消去可能な不
    揮発性メモリとを有するマイクロコンピュータにおける
    前記中央処理装置に消去プログラムを実行させて前記不
    揮発性メモリの所定のメモリセルに記憶された情報を消
    去するための消去方法は、 前記不揮発性メモリの消去すべきメモリセルのアドレス
    を供給する第1工程と、 前記メモリセルから前記情報を消去する第2工程を有
    し、 前記第2工程は、前記メモリセルに消去電圧を印可する
    電圧印可工程と、前記メモリセルから前記情報が消去さ
    れたか否かを確認するベリファイ工程と、所定のレジス
    タの値を参照し、前記レジスタに所定の値が記憶されて
    いる場合に、前記レジスタに設定された値に対応する所
    定の処理に前記中央処理装置の処理を移行させる工程
    と、前記中央処理装置の処理を前記所定の処理から前記
    第2工程へ復帰させる工程とを含むことを特徴とする消
    去方法。
  36. 【請求項36】 中央処理装置と電気的に書き込み可能
    な不揮発性メモリとを有するマイクロコンピュータを基
    板に実装した後、前記中央処理装置に書き込み制御プロ
    グラムを実行させて前記不揮発性メモリの所定のメモリ
    セルに情報を書き込み方法は、 前記不揮発性メモリの書き込みすべきメモリセルのアド
    レスを供給する第1工程と、 前記メモリセルに書き込みべき情報を供給する第2工程
    と、 前記メモリセルに前記書き込みべきデータを繰り返し書
    き込む第3工程を有し、 前記第3工程は、前記メモリセルに書き込み電圧を印可
    する電圧印可工程と、前記メモリセルに前記書き込みす
    べきデータが書き込まれたか否かを確認するベリファイ
    工程と、所定の処理へ前記中央処理装置の処理を移行さ
    せる工程と、前記中央処理装置の処理を前記所定の処理
    から前記第3工程へ復帰させる工程とを含むことを特徴
    とする書き込み方法。
  37. 【請求項37】 所定の処理へ前記中央処理装置の処理
    を移行させる前記工程は、所定のレジスタの値を参照
    し、前記レジスタに所定の値が記憶されている場合に、
    前記レジスタに設定された値に対応する前記所定の処理
    へ移行させる工程を含むことを特徴とする請求項36記
    載の書き込み方法。
  38. 【請求項38】 中央処理装置と電気的に消去可能な不
    揮発性メモリとを有するマイクロコンピュータを基板に
    実装した後、前記中央処理装置に消去プログラムを実行
    させて前記不揮発性メモリの所定のメモリセルに記憶さ
    れた情報を消去するための消去方法は、 前記不揮発性メモリの消去すべきメモリセルのアドレス
    を供給する第1工程と、 前記メモリセルから前記情報を消去する第2工程を有
    し、 前記第2工程は、前記メモリセルに消去電圧を印可する
    電圧印可工程と、前記メモリセルから前記情報が消去さ
    れたか否かを確認するベリファイ工程と、所定の処理に
    前記中央処理装置の処理を移行させる工程と、前記中央
    処理装置の処理を前記所定の処理から前記第2工程へ復
    帰させる工程とを含むことを特徴とする消去方法。
  39. 【請求項39】 所定の処理に前記中央処理装置の処理
    を移行させ前記工程は、所定のレジスタの値を参照し、
    前記レジスタに所定の値が記憶されている場合に、前記
    レジスタに設定された値に対応する前記所定の処理へ移
    行させる工程を含むことを特徴とする請求項38記載の
    消去方法。
JP2001097808A 2001-03-30 2001-03-30 マイクロコンピュータ、書込み方法及び消去方法 Expired - Fee Related JP4230122B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001097808A JP4230122B2 (ja) 2001-03-30 2001-03-30 マイクロコンピュータ、書込み方法及び消去方法
US10/080,681 US20020144053A1 (en) 2001-03-30 2002-02-25 Microcomputer, programming method and erasing method
KR1020020010783A KR20020077050A (ko) 2001-03-30 2002-02-28 마이크로 컴퓨터, 기록방법 및 소거방법
US11/037,261 US7194571B2 (en) 2001-03-30 2005-01-19 Microcomputer, programming method and erasing method
US11/672,468 US7310700B2 (en) 2001-03-30 2007-02-07 Microcomputer, programming method and erasing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001097808A JP4230122B2 (ja) 2001-03-30 2001-03-30 マイクロコンピュータ、書込み方法及び消去方法

Publications (2)

Publication Number Publication Date
JP2002297562A true JP2002297562A (ja) 2002-10-11
JP4230122B2 JP4230122B2 (ja) 2009-02-25

Family

ID=18951544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001097808A Expired - Fee Related JP4230122B2 (ja) 2001-03-30 2001-03-30 マイクロコンピュータ、書込み方法及び消去方法

Country Status (3)

Country Link
US (3) US20020144053A1 (ja)
JP (1) JP4230122B2 (ja)
KR (1) KR20020077050A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133982A (ja) * 2004-11-04 2006-05-25 Sanyo Electric Co Ltd マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140964B2 (en) * 1997-06-23 2006-11-28 Walker Digital, Llc Gaming device for a flat rate play session and a method of operating same
US20030225962A1 (en) * 2002-05-31 2003-12-04 Hitachi, Ltd. Memory card and memory card system
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
KR101395778B1 (ko) * 2007-03-14 2014-05-19 삼성전자주식회사 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US7864589B2 (en) * 2008-08-14 2011-01-04 Micron Technology, Inc. Mitigation of runaway programming of a memory device
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
JP5590069B2 (ja) * 2012-04-27 2014-09-17 株式会社デンソー マイクロコンピュータ
KR20150050879A (ko) * 2013-11-01 2015-05-11 에스케이하이닉스 주식회사 반도체 메모리 장치, 메모리 시스템 및 그 동작 방법
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
US11182284B2 (en) 2013-11-07 2021-11-23 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
EP3066570A4 (en) 2013-11-07 2017-08-02 Netlist, Inc. Hybrid memory module and system and method of operating the same
EP3286654B1 (en) * 2015-04-20 2021-10-27 Netlist, Inc. Memory module and system and method of operation
CN109343893B (zh) * 2018-09-11 2021-05-18 中国科学院长春光学精密机械与物理研究所 一种航空遥感设备参数装订系统以及装订方法
KR102552666B1 (ko) * 2018-11-12 2023-07-10 삼성전자주식회사 전자 장치 및 그것의 동작 방법
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
KR20220067386A (ko) * 2020-11-17 2022-05-24 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355464A (en) * 1991-02-11 1994-10-11 Intel Corporation Circuitry and method for suspending the automated erasure of a non-volatile semiconductor memory
TW231343B (ja) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JPH05266219A (ja) 1992-03-17 1993-10-15 Hitachi Ltd マイクロコンピュータ
JPH0729386A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd フラッシュメモリ及びマイクロコンピュータ
FR2711831B1 (fr) * 1993-10-26 1997-09-26 Intel Corp Procédé et circuit de mémorisation et de hiérarchisation d'ordres d'effacement dans un dispositif de mémoire.
JP3292864B2 (ja) * 1995-02-07 2002-06-17 株式会社日立製作所 データ処理装置
US6738894B1 (en) * 1995-02-07 2004-05-18 Hitachi, Ltd. Data processor
US5805501A (en) * 1996-05-22 1998-09-08 Macronix International Co., Ltd. Flash memory device with multiple checkpoint erase suspend logic
JP3173407B2 (ja) * 1997-02-05 2001-06-04 日本電気株式会社 フラッシュeeprom内蔵マイクロコンピュータ
KR100313939B1 (ko) * 1998-12-05 2001-12-20 김영환 인터럽트제어기
JP3727485B2 (ja) * 1999-04-02 2005-12-14 シャープ株式会社 不揮発性メモリ内蔵マイクロコンピュータ
JP4535565B2 (ja) * 2000-06-09 2010-09-01 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133982A (ja) * 2004-11-04 2006-05-25 Sanyo Electric Co Ltd マイクロコンピュータ、マイクロコンピュータにおける不揮発性メモリのデータ保護方法

Also Published As

Publication number Publication date
US7194571B2 (en) 2007-03-20
JP4230122B2 (ja) 2009-02-25
US20020144053A1 (en) 2002-10-03
US20070130416A1 (en) 2007-06-07
US20050122777A1 (en) 2005-06-09
US7310700B2 (en) 2007-12-18
KR20020077050A (ko) 2002-10-11

Similar Documents

Publication Publication Date Title
JP2002297562A (ja) マイクロコンピュータ、書込み方法及び消去方法
US7805562B2 (en) Microcomputer with configurable communication interfacing
US7164610B2 (en) Microcomputer having a flush memory that can be temporarily interrupted during an erase process
US6587916B2 (en) Microcomputer with built-in programmable nonvolatile memory
KR100988157B1 (ko) 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체
JP2012043496A (ja) 不揮発性半導体記憶装置
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
JPH11219299A (ja) マイクロコンピュータ
WO2015127330A1 (en) System and method for modification of coded instructions in read-only memory using one-time programmable memory
JPH07325711A (ja) Romプログラム変更装置
KR100506031B1 (ko) 마이크로 컴퓨터, 전자 기기 및 에뮬레이션 방법
US7093042B2 (en) Microcomputer and data processing device
US7519802B2 (en) System and method for configuring a computer system
JPH11184724A (ja) インサーキットエミュレータ及び半導体集積回路
KR100465610B1 (ko) 온-칩 프로그래밍 능력을 가지는 내장된 플래시 메모리를 구비한 마이크로컴퓨터 및 상기 내장된 플래시 메모리에 데이터를프로그램하는 방법
JP2008186476A (ja) マイクロコンピュータ
JP2007034554A (ja) 半導体集積回路及びマイクロコンピュータ
JP3866269B2 (ja) マイクロコンピュータ
JP2010170579A (ja) データ処理装置
JPH08147186A (ja) フラッシュメモリ内蔵マイクロコンピュータ
JP2013050860A (ja) マイクロコンピュータ及びマルチマイクロコンピュータシステム
JP2004078996A (ja) データ処理装置
JPH0954692A (ja) マイクロプログラム制御システム
JP2009070195A (ja) プログラム処理システムおよびプログラム処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080618

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4230122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees