JP2002297561A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JP2002297561A
JP2002297561A JP2001097807A JP2001097807A JP2002297561A JP 2002297561 A JP2002297561 A JP 2002297561A JP 2001097807 A JP2001097807 A JP 2001097807A JP 2001097807 A JP2001097807 A JP 2001097807A JP 2002297561 A JP2002297561 A JP 2002297561A
Authority
JP
Japan
Prior art keywords
program
area
mode
user
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
JP2001097807A
Other languages
English (en)
Other versions
JP4162863B2 (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 JP2001097807A priority Critical patent/JP4162863B2/ja
Priority to US10/080,665 priority patent/US6832285B2/en
Priority to KR1020020010099A priority patent/KR20020077048A/ko
Priority to TW091103415A priority patent/TWI251744B/zh
Publication of JP2002297561A publication Critical patent/JP2002297561A/ja
Priority to US10/981,612 priority patent/US7277979B2/en
Priority to US11/844,345 priority patent/US7805562B2/en
Application granted granted Critical
Publication of JP4162863B2 publication Critical patent/JP4162863B2/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 実装ボートにシリアルインターフェースを作
成しなくても、ユーザ専用通信プロトコルで、オンボー
ド書込みでき、暴走しても、ユーザ専用通信プロトコル
コードが破壊されないマイクロコンピュータを提供す
る。 【解決手段】 マイクロコンピュータのオンチップ不揮
発性メモリ(13)には、ユーザの制御プログラム等を
書きこむユーザマット(Mmat)以外に、ユーザブー
トマット(Umat)を用意する。このユーザブートマ
ットは、ユーザ専用の通信プロトコルを書きこむマット
とされ、該マットからプログラムを実行するユーザブー
トモードも用意する。このユーザブートモードでは、ユ
ーザブートマットは消去及び書き込み不可能にされる。
ユーザブートマットとユーザマットを分けた事により、
ユーザマットに専用通信プロトコルを書かなくても、消
去及び書き込み用にユーザ任意の書きこみインターフェ
ースが実現できる。

Description

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

Claims (39)

    【特許請求の範囲】
  1. 【請求項1】 CPUと、第1領域、第2領域及び第3
    領域を有し消去及び書き込み可能な不揮発性メモリとを
    含み、前記CPUに第1領域のプログラムを処理させる
    と共に前記第1領域を消去及び書き込み不可能にする第
    1モード、前記CPUに第2領域のプログラムを処理さ
    せると共に第1領域及び第2領域を消去及び書き込み不
    可能にする第2モード、及び前記CPUに第3領域のプ
    ログラムを処理させると共に第1領域及び第2領域を消
    去及び書き込み不可能にする第3モード、の指示手段を
    有して成るものであることを特徴とするマイクロコンピ
    ュータ。
  2. 【請求項2】 前記指示手段は、前記第1モード、第2
    モード及び第3モードを指示する信号の入力回路である
    ことを特徴とする請求項1記載のマイクロコンピュー
    タ。
  3. 【請求項3】 CPUと、消去及び書き込み可能な第1
    領域、第2領域及び第3領域を有する不揮発性メモリ
    と、第1モード、第2モード又は第3モードを選択的に
    指定する指示手段と、を含み、 前記CPUは、第1モードの指定により第1領域のプロ
    グラムを処理し、第2モードの指定により第2領域のプ
    ログラムを処理し、第3モードの指定により第3領域の
    プログラムを処理し、 前記不揮発性メモリは、第1モードの指定により前記第
    2領域及び第3領域が消去及び書き込み可能にされ且つ
    第1領域が消去及び書き込み不可能にされ、第2モード
    の指定により第3領域が消去及び書き込み可能にされ且
    つ第1領域及び第2領域が消去及び書き込み不可能にさ
    れ、第3モードに指定により第3領域が消去及び書き込
    み可能にされ且つ第1領域及び第2領域が消去及び書き
    込み不可能にされるものであることを特徴とするマイク
    ロコンピュータ。
  4. 【請求項4】 前記第1領域はマイクロコンピュータの
    外部とインタフェースを確立するための第1の通信制御
    プログラムを保有するものであることを特徴とする請求
    項1又は3記載のマイクロコンピュータ。
  5. 【請求項5】 前記第1領域はマイクロコンピュータの
    外部とインタフェースを確立するための第1の通信制御
    プログラムを保有し、前記第2領域はマイクロコンピュ
    ータの外部とインタフェースを確立するための第2の通
    信制御プログラムを保有するものであることを特徴とす
    る請求項1又は3記載のマイクロコンピュータ。
  6. 【請求項6】 前記第1の領域は、前記不揮発性メモリ
    のための消去及び書き込み制御プログラムを保有するも
    のであることを特徴とする請求項4又は5記載のマイク
    ロコンピュータ。
  7. 【請求項7】 前記第1の領域は、前記消去及び書き込
    み制御プログラムの転送制御プログラムを保有するもの
    であることを特徴とする請求項6記載のマイクロコンピ
    ュータ。
  8. 【請求項8】 前記CPUによる転送制御プログラムの
    処理により前記消去及び書き込み制御プログラムが転送
    されるRAMを有して成るものであることを特徴とする
    請求項7記載のマイクロコンピュータ。
  9. 【請求項9】 前記不揮発性メモリは、前記指示手段に
    よるモード指定とは別に、外部端子から与えられる書き
    込み動作の指示を、消去及び書き込み動作を可能にする
    ための必要条件とすることを特徴とする請求項3記載の
    マイクロコンピュータ。
  10. 【請求項10】 前記第1領域、第2領域及び第3領域
    の夫々における先頭アドレスはCPUのアドレス空間上
    同一アドレスであり、前記CPUが用いる先頭アドレス
    を第2領域とするか第3領域とするかを排他的に指定す
    る第1レジスタ手段がCPUのアドレス空間に配置され
    て成るものであることを特徴とする請求項3記載のマイ
    クロコンピュータ。
  11. 【請求項11】 前記CPUのアドレス空間に配置され
    たRAMを有して成るものであることを特徴とする請求
    項10記載のマイクロコンピュータ。
  12. 【請求項12】 CPUがRAM上でプログラムを処理
    していることを条件に、前記第1レジスタ手段の設定変
    更を許可するバス制御手段を有するものであることを特
    徴とする請求項11記載のマイクロコンピュータ。
  13. 【請求項13】 消去及び書き込み制御プログラムをR
    AMへストアさせる動作に許可を与える情報がセットさ
    れる第2レジスタ手段を有し、前記不揮発性メモリは、
    この第2レジスタ手段の許可情報がリセットされること
    を、消去及び書き込み動作を可能にするための必要条件
    とすることを特徴とする請求項11記載のマイクロコン
    ピュータ。
  14. 【請求項14】 前記CPUのアドレス空間に配置され
    たRAMを有し、前記第1領域は消去及び書き込み制御
    プログラムを有し、 前記CPUは第1モードに応答して前記消去及び書き込
    み制御プログラムを前記RAMに転送制御し、転送先の
    RAMから消去及び書き込み制御プログラムをフェッチ
    して実行するものであることを特徴とする請求項3記載
    のマイクロコンピュータ。
  15. 【請求項15】 前記第2モードにおいてCPUは、第
    3レジスタ手段の第1設定値に応答して、前記第1領域
    のプログラムを処理する状態に遷移し、前記消去及び書
    き込み制御プログラムをRAMに転送制御して、第2領
    域のプログラムを処理する状態に復帰するものであるこ
    とを特徴とする請求項14記載のマイクロコンピュー
    タ。
  16. 【請求項16】 前記第3モードにおいてCPUは、第
    3レジスタ手段の第1設定値に応答して、前記第1領域
    のプログラムを処理する状態に遷移し、前記消去及び書
    き込み制御プログラムをRAMに転送制御して、第3領
    域のプログラムを処理する状態に復帰するものであるこ
    とを特徴とする請求項15記載のマイクロコンピュー
    タ。
  17. 【請求項17】 消去及び書き込み制御プログラムをR
    AMへストアさせる動作に許可を与える情報として第2
    設定値がセットされる第2レジスタ手段を有し、前記不
    揮発性メモリは、この第2レジスタ手段の許可情報が第
    3設定値にリセットされることを、消去及び書き込み動
    作を可能にするための必要条件とし、 前記第2のレジスタ手段に第2設定値がセットされる状
    態を第3レジスタ手段に第1設定値をセット可能にする
    ための必要条件とするものであることを特徴とする請求
    項15又は16記載のマイクロコンピュータ。
  18. 【請求項18】 CPUと、消去及び書き込み可能な不
    揮発性メモリとを含み、不揮発性メモリは第1メモリマ
    ットと第2メモリマットを備え、第1メモリマットと第
    2メモリマットは、レジスタで排他的に選択可能になっ
    ており、 第1メモリマットが選択された場合は第1メモリマット
    に対する消去及び書き込み動作が抑止され、 第2メモリマットが選択された場合はRAM上でのプロ
    グラム実行状態に遷移することを解除の必要条件として
    消去及び書き込み動作が抑止される、ものであることを
    特徴とするマイクロコンピュータ。
  19. 【請求項19】 CPUと、消去及び書き込み可能な不
    揮発性メモリとを有するマイクロコンピュータであっ
    て、 前記不揮発性メモリは、外部とのインタフェースを確立
    するためにCPUにより処理される通信制御プログラム
    を保有する第1領域と、 前記CPUによる通信制御プログラムの処理により外部
    とのインタフェースが確立されて消去及び書き込み可能
    にされる第2領域と、 前記CPUによる通信制御プログラムの処理により外部
    とのインタフェースが確立されて消去及び書き込み可能
    にされ、且つCPUによる第2領域のプログラムの処理
    により消去及び書き込み可能にされる第3領域と、を有
    して成るものであることを特徴とするマイクロコンピュ
    ータ。
  20. 【請求項20】 第1インタフェースを有する実装基板
    に実装されるべきマイクロコンピュータであって、 中央処理装置と、 前記第1インタフェースと異なる第2インタフェースを
    用いた通信プロトコルを確立するための第1通信処理プ
    ログラムが格納される第1記憶領域と、前記第1インタ
    フェースを用いた通信プロトコルを確立するための第2
    通信処理プログラムが格納される第2記憶領域と、所定
    の第1動作モードで前記中央処理装置によって実行され
    る制御プログラムが格納される第3記憶領域とを有する
    不揮発性メモリと、を有することを特徴とするマイクロ
    コンピュータ。
  21. 【請求項21】 前記第1記憶領域は、さらに、書き込
    み制御プログラムが格納され、 前記第2記憶領域に格納される前記第2通信処理プログ
    ラムは、前記書き込み制御プログラム及び前記第1通信
    処理プログラムを前記中央処理装置によって実行させる
    第1書き込みモードによって、前記第2記憶領域に書き
    込まれることを特徴とする請求項20記載のマイクロコ
    ンピュータ。
  22. 【請求項22】 前記第3記憶領域に格納される前記制
    御プログラムは、前記第1書き込みモード、又は、前記
    第1記憶領域に格納された書き込み制御プログラム及び
    前記第2通信処理プログラムを前記中央処理装置によっ
    て実行させる第2書き込みモードの何れかによって、前
    記第3記憶領域に書き込まれることを特徴とする請求項
    21記載のマイクロコンピュータ。
  23. 【請求項23】 前記第1インタフェースは、ATAP
    Iインタフェース、SCSIインタフェース、または、
    HCANインタフェースであることを特徴とする請求項
    20記載のマイクロコンピュータ。
  24. 【請求項24】 前記第2インタフェースは、調歩同期
    を利用したシリアルインタフェースであることを特徴と
    する請求項20記載のマイクロコンピュータ。
  25. 【請求項25】 前記不揮発性メモリは、フローティン
    グゲートを有する不揮発性メモリセルを複数有すること
    を特徴とする請求項20記載のマイクロコンピュータ。
  26. 【請求項26】 前記不揮発性メモリは、フラッシュメ
    モリであることを特徴とする請求項25記載のマイクロ
    コンピュータ。
  27. 【請求項27】 前記第1記憶領域は、さらに、消去制
    御プログラムが格納され、 前記第2記憶領域に格納される前記第2通信処理プログ
    ラムは、前記消去制御プログラム及び前記第1通信処理
    プログラムを前記中央処理装置によって実行させる第1
    消去モードによって、前記第2記憶領域から消去可能に
    されることを特徴とする請求項20記載のマイクロコン
    ピュータ。
  28. 【請求項28】 前記第3記憶領域に格納される前記制
    御プログラムは、前記第1消去モード、又は、前記第1
    記憶領域に格納された消去制御プログラム及び前記第2
    通信処理プログラムを前記中央処理装置によって実行さ
    せる第2消去モードの何れかによって、前記第3記憶領
    域から消去可能であることを特徴とする請求項27記載
    のマイクロコンピュータ。
  29. 【請求項29】 前記第1記憶領域は、さらに、書き込
    み制御プログラムが格納され、 前記第2記憶領域に格納される前記第2通信処理プログ
    ラムは、前記書き込み制御プログラム及び前記第1通信
    処理プログラムを前記中央処理装置によって実行させる
    第1書き込みモードによって、前記第2記憶領域に書き
    込まれることを特徴とする請求項28記載のマイクロコ
    ンピュータ。
  30. 【請求項30】 前記第3記憶領域に格納される前記制
    御プログラムは、前記第1書き込みモード、又は、前記
    第1記憶領域に格納された書き込み制御プログラム及び
    前記第2通信処理プログラムを前記中央処理装置によっ
    て実行させる第2書き込みモードの何れかによって、前
    記第3記憶領域に書き込まれることを特徴とする請求項
    29記載のマイクロコンピュータ。
  31. 【請求項31】 中央処理装置と、 第1インタフェースを用いた通信プロトコルを確立する
    ための第1通信処理プログラムと書き込み制御プログラ
    ムが格納される第1記憶領域と、前記第1インタフェー
    スと異なる前記第2インタフェースを用いた通信プロト
    コルを確立するための第2通信処理プログラムが格納さ
    れる第2記憶領域と、所定の第1動作モードで前記中央
    処理装置によって実行される制御プログラムが格納され
    る第3記憶領域とを有する不揮発性メモリと、 を有することを特徴とするマイクロコンピュータ。
  32. 【請求項32】 前記第2記憶領域に格納される前記第
    2通信処理プログラムは、前記書き込み制御プログラム
    及び前記第1通信処理プログラムを前記中央処理装置に
    よって実行させる第1書き込みモードによって、前記第
    2記憶領域に書き込まれることを特徴とする請求項31
    記載のマイクロコンピュータ。
  33. 【請求項33】 前記第3記憶領域に格納される前記制
    御プログラムは、前記第1書き込みモード、又は、前記
    第1記憶領域に格納された書き込み制御プログラム及び
    前記第2通信処理プログラムを前記中央処理装置によっ
    て実行させる第2書き込みモードの何れかによって、前
    記第3記憶領域に書き込まれることを特徴とする請求項
    32記載のマイクロコンピュータ。
  34. 【請求項34】 前記第1記憶領域は、さらに、消去制
    御プログラムが格納され、 前記第2記憶領域に格納される前記第2通信処理プログ
    ラムは、前記消去制御プログラム及び前記第1通信処理
    プログラムを前記中央処理装置によって実行させる第1
    消去モードによって、前記第2記憶領域から消去にされ
    ることを特徴とする請求項31記載のマイクロコンピュ
    ータ。
  35. 【請求項35】 前記第3記憶領域に格納される前記制
    御プログラムは、前記第1消去モード、又は、前記第1
    記憶領域に格納された消去制御プログラム及び前記第2
    通信処理プログラムを前記中央処理装置によって実行さ
    せる第2消去モードの何れかによって、前記第3記憶領
    域から消去されることを特徴とする請求項34記載のマ
    イクロコンピュータ。
  36. 【請求項36】 前記第1インタフェースは、ATAP
    Iインタフェース、SCSIインタフェース、HCAN
    インタフェースから選択された少なくとも1つのインタ
    フェースであることを特徴とする請求項31記載のマイ
    クロコンピュータ。
  37. 【請求項37】 前記第2インタフェースは、調歩同期
    を利用したシリアルインタフェースであることを特徴と
    する請求項31記載のマイクロコンピュータ。
  38. 【請求項38】 前記不揮発性メモリは、フローティン
    グゲートを有する不揮発性メモリセルを複数有すること
    を特徴とする請求項31記載のマイクロコンピュータ。
  39. 【請求項39】 前記不揮発性メモリは、フラッシュメ
    モリであることを特徴とする請求項38記載のマイクロ
    コンピュータ。
JP2001097807A 2001-03-30 2001-03-30 マイクロコンピュータ Expired - Fee Related JP4162863B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2001097807A JP4162863B2 (ja) 2001-03-30 2001-03-30 マイクロコンピュータ
US10/080,665 US6832285B2 (en) 2001-03-30 2002-02-25 Microcomputer with mode-controlled memory
KR1020020010099A KR20020077048A (ko) 2001-03-30 2002-02-26 마이크로컴퓨터
TW091103415A TWI251744B (en) 2001-03-30 2002-02-26 Microcomputer
US10/981,612 US7277979B2 (en) 2001-03-30 2004-11-05 Microcomputer with mode-controlled memory
US11/844,345 US7805562B2 (en) 2001-03-30 2007-08-23 Microcomputer with configurable communication interfacing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001097807A JP4162863B2 (ja) 2001-03-30 2001-03-30 マイクロコンピュータ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008059286A Division JP2008186476A (ja) 2008-03-10 2008-03-10 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
JP2002297561A true JP2002297561A (ja) 2002-10-11
JP4162863B2 JP4162863B2 (ja) 2008-10-08

Family

ID=18951543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001097807A Expired - Fee Related JP4162863B2 (ja) 2001-03-30 2001-03-30 マイクロコンピュータ

Country Status (4)

Country Link
US (3) US6832285B2 (ja)
JP (1) JP4162863B2 (ja)
KR (1) KR20020077048A (ja)
TW (1) TWI251744B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219248B2 (en) 2004-06-21 2007-05-15 Fujitsu Limited Semiconductor integrated circuit operable to control power supply voltage
JP2007299146A (ja) * 2006-04-28 2007-11-15 Mitsumi Electric Co Ltd 情報処理装置及び映像受信装置
JP2008182327A (ja) * 2007-01-23 2008-08-07 Shimadzu Corp プログラマブルデバイス制御装置およびその方法
JP2009516879A (ja) * 2005-11-18 2009-04-23 クゥアルコム・インコーポレイテッド モービル・セキュリティ・システム及び方法
JP2020021246A (ja) * 2018-07-31 2020-02-06 キヤノン株式会社 ファームウェアを更新する画像形成装置
WO2023127516A1 (ja) * 2021-12-27 2023-07-06 ソニーグループ株式会社 置換装置、情報処理方法および情報処理装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4958201B2 (ja) * 2001-03-30 2012-06-20 ルネサスエレクトロニクス株式会社 マイクロコンピュータ
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
JP4229712B2 (ja) * 2003-01-27 2009-02-25 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
ITRM20030354A1 (it) * 2003-07-17 2005-01-18 Micron Technology Inc Unita' di controllo per dispositivo di memoria.
US7864292B2 (en) * 2005-11-16 2011-01-04 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method
US7502916B2 (en) * 2005-12-02 2009-03-10 Infineon Technologies Flash Gmbh & Co. Kg Processing arrangement, memory card device and method for operating and manufacturing a processing arrangement
US7613876B2 (en) * 2006-06-08 2009-11-03 Bitmicro Networks, Inc. Hybrid multi-tiered caching storage system
US8352659B1 (en) * 2009-10-30 2013-01-08 Xilinx, Inc. Segmentation and reassembly of a data value communicated via interrupt transactions
JP5868381B2 (ja) * 2013-12-03 2016-02-24 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US9424134B2 (en) * 2014-03-28 2016-08-23 Intel Corporation Boot management in a non-volatile memory system
WO2019043823A1 (ja) * 2017-08-30 2019-03-07 オリンパス株式会社 メモリアクセス装置、画像処理装置、および撮像装置
KR102552666B1 (ko) * 2018-11-12 2023-07-10 삼성전자주식회사 전자 장치 및 그것의 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210854A (en) * 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
US6009495A (en) 1989-12-29 1999-12-28 Packard Bell Nec Protected address range in an electrically erasable programmable read only memory
EP0464433A3 (en) * 1990-06-29 1994-05-18 Nat Semiconductor Corp Microcontroller device having remotely programmable eprom & method of programming
JPH0729386A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd フラッシュメモリ及びマイクロコンピュータ
US6148441A (en) * 1994-04-06 2000-11-14 Dell Usa, L.P. Method for reprogramming flash ROM in a personal computer implementing an EISA bus system
JP3292864B2 (ja) * 1995-02-07 2002-06-17 株式会社日立製作所 データ処理装置
US5950222A (en) 1996-03-14 1999-09-07 Sanyo Electric Co., Ltd. Microcomputer using a non-volatile memory
JPH09319727A (ja) * 1996-05-31 1997-12-12 Hitachi Ltd データプロセッサ及びデータ処理システム
JPH1055278A (ja) 1996-08-08 1998-02-24 Toshiba Microelectron Corp メモリ混載マイコン
US5901330A (en) * 1997-03-13 1999-05-04 Macronix International Co., Ltd. In-circuit programming architecture with ROM and flash memory
US6009496A (en) * 1997-10-30 1999-12-28 Winbond Electronics Corp. Microcontroller with programmable embedded flash memory
JPH11219299A (ja) 1998-02-02 1999-08-10 Mitsubishi Electric Corp マイクロコンピュータ
JP2000259420A (ja) 1999-03-05 2000-09-22 Denso Corp 電子制御装置用の学習値更新装置
JP4475709B2 (ja) * 1999-11-15 2010-06-09 株式会社ルネサステクノロジ マイクロコンピュータ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219248B2 (en) 2004-06-21 2007-05-15 Fujitsu Limited Semiconductor integrated circuit operable to control power supply voltage
JP2009516879A (ja) * 2005-11-18 2009-04-23 クゥアルコム・インコーポレイテッド モービル・セキュリティ・システム及び方法
US8499171B2 (en) 2005-11-18 2013-07-30 Qualcomm Incorporated Mobile security system and method
JP2007299146A (ja) * 2006-04-28 2007-11-15 Mitsumi Electric Co Ltd 情報処理装置及び映像受信装置
JP2008182327A (ja) * 2007-01-23 2008-08-07 Shimadzu Corp プログラマブルデバイス制御装置およびその方法
JP2020021246A (ja) * 2018-07-31 2020-02-06 キヤノン株式会社 ファームウェアを更新する画像形成装置
JP7267692B2 (ja) 2018-07-31 2023-05-02 キヤノン株式会社 ファームウェアを更新する画像形成装置
WO2023127516A1 (ja) * 2021-12-27 2023-07-06 ソニーグループ株式会社 置換装置、情報処理方法および情報処理装置

Also Published As

Publication number Publication date
US20020144052A1 (en) 2002-10-03
US7277979B2 (en) 2007-10-02
US6832285B2 (en) 2004-12-14
US20050091446A1 (en) 2005-04-28
US7805562B2 (en) 2010-09-28
TWI251744B (en) 2006-03-21
KR20020077048A (ko) 2002-10-11
JP4162863B2 (ja) 2008-10-08
US20080005454A1 (en) 2008-01-03

Similar Documents

Publication Publication Date Title
JP2002297561A (ja) マイクロコンピュータ
JP4230122B2 (ja) マイクロコンピュータ、書込み方法及び消去方法
US8185728B2 (en) System boot using NAND flash memory and method thereof
US7164610B2 (en) Microcomputer having a flush memory that can be temporarily interrupted during an erase process
JP2004538571A (ja) アプリケーションおよびファイル用不揮発性記憶装置からブートを行うシステムおよび方法
EP1343082A2 (en) System boot using nand flash memory and method thereof
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
US20060069904A1 (en) Information processing apparatus and startup control method
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
JP2008186476A (ja) マイクロコンピュータ
KR100465610B1 (ko) 온-칩 프로그래밍 능력을 가지는 내장된 플래시 메모리를 구비한 마이크로컴퓨터 및 상기 내장된 플래시 메모리에 데이터를프로그램하는 방법
JP3866269B2 (ja) マイクロコンピュータ
JP2010170579A (ja) データ処理装置
JP2002287994A (ja) マイクロコントローラ
JPH11353170A (ja) フラッシュメモリ制御装置およびフラッシュメモリ制御装置のメモリアクセス方法
JP2013050860A (ja) マイクロコンピュータ及びマルチマイクロコンピュータシステム
JPH0954692A (ja) マイクロプログラム制御システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080310

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

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

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

Free format text: PAYMENT UNTIL: 20110801

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

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

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130801

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