JP2008059053A - 半導体集積回路及びシングルチップマイクロコンピュータ - Google Patents

半導体集積回路及びシングルチップマイクロコンピュータ Download PDF

Info

Publication number
JP2008059053A
JP2008059053A JP2006232273A JP2006232273A JP2008059053A JP 2008059053 A JP2008059053 A JP 2008059053A JP 2006232273 A JP2006232273 A JP 2006232273A JP 2006232273 A JP2006232273 A JP 2006232273A JP 2008059053 A JP2008059053 A JP 2008059053A
Authority
JP
Japan
Prior art keywords
data
program
nonvolatile
control unit
nonvolatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006232273A
Other languages
English (en)
Other versions
JP5013450B2 (ja
JP2008059053A5 (ja
Inventor
Takashi Kurafuji
崇 倉藤
Masamichi Fujito
正道 藤戸
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006232273A priority Critical patent/JP5013450B2/ja
Publication of JP2008059053A publication Critical patent/JP2008059053A/ja
Publication of JP2008059053A5 publication Critical patent/JP2008059053A5/ja
Application granted granted Critical
Publication of JP5013450B2 publication Critical patent/JP5013450B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】書き込みデータサイズや書き込みモードの異なるプログラム格納不揮発性メモリ5、6とデータ格納不揮発性メモリ9とのいずれの書き込みを共通の不揮発制御ユニット8により実行すること。
【解決手段】シングルチップマイクロコンピュータ1は、メインCPU2、プログラム格納不揮発性メモリ5、6、データ格納不揮発性メモリ9、不揮発制御ユニット8を有する。書き込みデータサイズの大きなプログラム格納時と小さなデータ格納時にデータサイズ情報(H´80、H´40)と書き込みモード情報(H‘E8、H’E9)とがメインCPU2から不揮発制御ユニット8へ供給される。この情報に応答して不揮発制御ユニット8は、書き込みデータサイズの異なるプログラム格納不揮発性メモリ5、6とデータ格納不揮発性メモリ9とへの書き込みとモードの異なる書き込みとを実行する。
【選択図】図1

Description

本発明は不揮発性メモリを備えたシングルチップマイクロコンピュータ更には半導体集積回路に関わり、特に、電気的に書き込み及び消去可能な不揮発性フラッシュメモリを内蔵したシングルチップマイクロコンピュータに利用して有効な技術に関するものである。
特許文献1には、不揮発性フラッシュメモリを内蔵したシングルチップマイクロコンピュータについての記載がある。このシングルチップマイクロコンピュータは、中央処理ユニット(CPU)に接続されたデータ格納用のランダムアクセスメモリ(RAM)とともにフラッシュメモリを備える。フラッシュメモリは、CPUのプログラムの格納やデータの格納に利用される。フラッシュメモリによって、その内容を、随時書換え可能にし、使い勝手を向上することができる。特許文献1に記載されたマイクロコンピュータでは、オンチップのフラッシュメモリに対する書き込み・消去を内蔵CPUに制御させる動作モードと、外部のPROMライタに制御させる動作モードとを選択可能になっている。内蔵CPUで制御する場合、内蔵CPUは書き込み・消去を制御する専用のプログラムを逐次実行ながら、消去電圧の印加と消去ベリファイの制御を繰り返すことにより消去を実行して、また、書き込み電圧の印加と書き込みベリファイの制御を繰り返すことにより書き込みを実行する。PROMライタで制御する動作モードが設定されると、マイクロコンピュータは外部から見かけ上フラッシュメモリ単体チップと同じように見える。この状態でPROMライタが消去電圧の印加及び消去ベリファイの制御により消去を実行して、書き込み電圧の印加及び書き込みベリファイの制御により書き込みを実行する。
一方特許文献2に記載されたメモリ単体チップとしてのフラッシュメモリは、外部から供給される書き込みコマンドや消去コマンドに応答して書き込み及び消去の制御を内部で行う専用ハードウェアを有する。専用ハードウェアを備える場合、システム外部のホストCPUはフラッシュメモリに書き込みや消去のコマンドを発行するだけで良く、ホストCPUはフラッシュメモリの書き込み及び消去の動作制御に占有されない。
特開平5−266220号公報 特開平10−92958号公報
本発明者等は本発明に先立ってフラッシュメモリモジュールとメインCPUとをチップ上に搭載したシングルチップマイクロコンピュータの開発に従事した。フラッシュメモリモジュールは、フラッシュメモリとフラッシュ制御ユニットとを含み、フラッシュメモリモジュールのフラッシュメモリの書き込み及び消去の制御はフラッシュ制御ユニットのサブCPUのプログラム制御によって行われる。
マイクロコンピュータのメインCPUはフラッシュ制御ユニットのサブCPUにフラッシュメモリの書き込み又は消去を行う所定のコマンドを発行すると、所定のコマンドに応答してサブCPUは命令の逐次実行によりフラッシュメモリの書き込み又は消去を行う。その結果、フラッシュ制御ユニットのサブCPUによるフラッシュメモリの書き込み又は消去の動作と並列に、メインCPUはフラッシュメモリへのアクセス以外のその他のデータ処理の動作を実行することが可能となり、リアルタイム性能を向上することができる。
このようなシングルチップマイクロコンピュータのフラッシュメモリには、メインCPUが実行するプログラムの命令が格納されるとともに、メインCPUによるプログラムの命令実行結果のデータも格納される。本発明に先立ったフラッシュメモリを搭載したシングルチップマイクロコンピュータの開発に際して、フラッシュメモリへのプログラムの命令が格納される頻度は比較的低いのに対して命令実行結果のデータが格納される頻度が高いこと、またシングルチップマイクロコンピュータの性能向上のためにはフラッシュメモリに格納されたプログラムの命令の読み出し速度を向上する必要性があること、フラッシュメモリに格納されるプログラムのデータサイズは比較的大きいのに対してフラッシュメモリに格納される命令実行結果のデータサイズは比較的小さいことが、本発明者等による検討により明らかとされた。
このような経緯から、シングルチップマイクロコンピュータのフラッシュメモリを高速読み出し可能なプログラム格納フラッシュメモリとデータ格納フラッシュメモリとに分割して、プログラム格納フラッシュメモリへの書き込みデータサイズを大きくする一方、データ格納フラッシュメモリへの書き込みデータサイズを小さくすることが検討された。また、プログラム格納フラッシュメモリの読み出し性能を向上するために、2つのプログラム格納フラッシュメモリをインターリーブでアクセスすることも検討された。
しかし、過去に開発されたシングルチップマイクロコンピュータでは、フラッシュ制御ユニットのサブCPUによるフラッシュメモリの書き込みは固定の書き込みデータサイズにのみ対応しているだけで異なる書き込みデータサイズには対応していないと言う問題が明らかとされた。また、フラッシュ制御ユニットのサブCPUによるフラッシュメモリの書き込みは、1つのフラッシュメモリに対する書き込みモードに対応しているだけで、インターリーブでアクセスするような2つのフラッシュメモリに対する書き込みモードには対応していないと言う問題も明らかにされた。
本発明は上記の如き本発明に先立った本発明者等の検討を基にしてなされたものであり、本発明の目的とするところは書き込みデータサイズや書き込みモードの異なるプログラム格納不揮発性メモリとデータ格納不揮発性メモリとのいずれの不揮発性メモリの書き込みを共通の不揮発制御ユニットにより実行可能なシングルチップマイクロコンピュータ、更には半導体集積回路を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
本発明の1つの形態によるシングルチップマイクロコンピュータ(1)は、メインCPU(2)と、電気的に書き込み及び消去可能な不揮発性メモリモジュール(FLM)とを具備する。
前記不揮発性メモリモジュール(FLM)は、不揮発性メモリ(5、6、9)と、不揮発制御ユニット(8)とを含む。
前記メインCPU(2)から発行されたコマンドに応答して前記不揮発制御ユニット(8)は前記不揮発性メモリ(5、6、9)の書き込み及び消去の制御を行うものである。
前記不揮発性メモリ(5、6、9)は、前記メインCPU(2)が実行するプログラムを格納するプログラム格納不揮発性メモリ(5、6)と、前記メインCPUによる前記プログラムの命令実行結果のデータを格納するデータ格納不揮発性メモリ(9)とを含む。
前記不揮発制御ユニット(8)による前記プログラム格納不揮発性メモリ(5、6)へのプログラム書き込みのデータサイズは、前記不揮発制御ユニット(8)による前記データ格納不揮発性メモリ(9)へのデータ書き込みのデータサイズと異なるサイズに設定されている。
前記メインCPU(2)は前記不揮発制御ユニット(8)に前記プログラム格納不揮発性メモリ(5、6)へのプログラム書き込みの要求を行う際に前記プログラム書き込みのデータサイズに対応する第1のサイズ情報(H´80)を前記不揮発制御ユニット(8)へ供給する。
前記メインCPU(2)は前記不揮発制御ユニット(8)に前記データ格納不揮発性メモリ(9)へのデータ書き込みの要求を行う際に前記データ書き込みのデータサイズに対応する第2のサイズ情報(H´40)を前記不揮発制御ユニット(8)へ供給する。
前記不揮発制御ユニット(8)は前記メインCPU(2)から供給される前記第1のサイズ情報(H´80)および前記第2のサイズ情報(H´40)に応答して前記不揮発性メモリ(5、6、9)の前記プログラム格納不揮発性メモリ(5、6)および前記データ格納不揮発性メモリ(9)へのプログラムおよびデータの書き込みを実行する(図1、図3参照)。
本発明の前記1つの形態による手段によれば、前記メインCPU(2)が前記不揮発性メモリ(5、6、9)の前記プログラム格納不揮発性メモリ(5、6)または前記データ格納不揮発性メモリ(9)へプログラムまたはデータの書き込みを要求するかに対応して前記メインCPU(2)はデータサイズ情報(H´80、H´40)を前記不揮発制御ユニット(8)へ供給する。従って、前記不揮発制御ユニット(8)は、書き込みデータサイズの異なる前記プログラム格納不揮発性メモリ(5、6)と前記データ格納不揮発性メモリ(9)とに書き込みを実行することができる。
また、前記第1のデータサイズ情報(H´80)および第2のデータサイズ情報(H´40)を任意の値に変更することにより、前記プログラム書き込みのデータサイズを前記データ書き込みのデータサイズよりも大きくしたり、書き込みのデータサイズを小さくしたりすることが可能である。
本発明の1つの好適な形態によるシングルチップマイクロコンピュータ(1)では、前記不揮発制御ユニット(8)による前記プログラム格納不揮発性メモリ(5、6)へのプログラム書き込みの前記データサイズは、前記不揮発制御ユニット(8)による前記データ格納不揮発性メモリ(9)へのデータ書き込みの前記データサイズよりも大きくされている。
本発明の1つの好適な形態によるシングルチップマイクロコンピュータ(1)では、前記データ格納不揮発性メモリは少なくとも1個のフラッシュメモリ(9)を含み、前記プログラム格納不揮発性メモリは少なくとも2個のフラッシュメモリ(5、6)を含む。
本発明の1つのより好適な形態によるシングルチップマイクロコンピュータ(1)では、前記メインCPU(2)から供給される動作モード(H´E8)に応答して情報前記不揮発制御ユニット(8)は書き込みデータ(WD1…WD128)を前記プログラム格納不揮発性メモリの前記2個のフラッシュメモリ(5、6)へシリアルにデータ転送するものである(図3参照)。
本発明の1つのより好適な形態によるシングルチップマイクロコンピュータ(1)では、前記メインCPU(2)から供給される他の動作モード(H´E9)に応答して前記不揮発制御ユニット(8)は書き込みデータ(WD1…WD128)を前記プログラム格納不揮発性メモリの前記2個のフラッシュメモリ(5、6)へインターリーブにより交互にデータ転送するものである(図4参照)。
本発明の1つのより好適な形態によるシングルチップマイクロコンピュータ(1)では、前記データ格納不揮発メモリ(9)への書き込みにおいては、前記メインCPU(2)から供給される動作モード(H‘E8)に応答して前記不揮発制御ユニット(8)は書き込みデータ(WD1…WD64)を前記データ格納不揮発メモリ(9)へシリアルにデータ転送する(図3参照)。
本発明の1つの具体的な形態によるシングルチップマイクロコンピュータ(1)では、前記不揮発制御ユニット(8)はサブCPU(FCPU12)と、コントロールメモリ(CRAM15)とを含む。
前記プログラム格納不揮発性メモリ(5、6)には、前記不揮発制御ユニット(8)の前記サブCPU(FCPU12)による前記不揮発性メモリ(5、6、9)の書き込みおよび消去を制御する書き込み・消去制御プログラムが格納されている。
システム起動時には前記プログラム格納不揮発性メモリ(5、6)に格納された前記書き込み・消去制御プログラムが前記不揮発制御ユニット(8)の前記コントロールメモリ(CRAM15)へ転送される。
前記不揮発性メモリ(5、6、9)の書き込み及び消去の制御は前記メインCPUから発行されたコマンドに応答して前記不揮発制御ユニット(8)の前記サブCPU(FCPU12)が前記コントロールメモリ(CRAM15)に転送された書き込み・消去制御プログラムの命令を実行することにより行われるものである。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、本発明によれば、書き込みデータサイズや書き込みモードの異なるプログラム格納不揮発性メモリとデータ格納不揮発性メモリとのいずれの不揮発性メモリの書き込みを共通の不揮発制御ユニットにより実行可能とすることができる。
≪シングルチップマイクロコンピュータの全体構成≫
図1は、本発明の1つの実施形態によるシングルチップマイクロコンピュータを示すブロック図である。
同図に示されたシングルチップマイクロコンピュータ1を構成する回路素子は、CMOSフラッシュメモリ製造プロセスによって、単結晶シリコンの1個の半導体基板上に形成される。
マイクロコンピュータ1は、メインCPU2、ランダムアクセスメモリ(RAM)3、バスコントローラ(BSC)4、フラッシュメモリモジュール(FLM)、システムコントローラ10、周辺回路(PRHRL)11、I/Oポート(IOP)12を有している。
フラッシュメモリモジュール(FLM)は、第1のプログラム格納フラッシュメモリ(FLP_A)5、第2のプログラム格納フラッシュメモリ(FLP_B)6、プログラム格納フラッシュ読み出しバッファ(FLBUF)7、フラッシュ書き込み・消去制御を行うフラッシュ制御ユニット(FCU)8、データ格納フラッシュメモリ(FLD)9を含んでいる。
周辺回路11には、タイマ、パルス出力回路、シリアルコミュニケーションインタフェース、A/D変換器などが含まれる。図示はしないが、割り込みコントローラやクロック発振器などの回路モジュールも搭載される。
メインCPU2は、プログラム格納フラッシュメモリ5、6から命令をフェッチしてデコードする命令制御部と、命令制御部による命令デコード結果に基づいて演算等を行って命令を実行する命令実行部とを有する。ランダムアクセスメモリ3は、メインCPU2のワーク領域とされる。
システムコントローラ10には、外部のモード端子MD0〜MD2及びリセット端子RESET等が接続される。リセット端子RESETがローレベルにされると内部の初期化が開始され、リセット端子RESETがハイレベルにされてリセット指示が解除されると、メインCPU2は例えばプログラムの先頭アドレスの命令をフェッチして命令実行動作を開始する。リセットの指示が解除される時に、モード端子MD0〜MD2の状態に応じてマイクロコンピュータの動作モードが決定される。例えば、動作モードが、通常モード又はテストモードにされる。テストモードは、特に制限されないが、通常モードに比べ、デバイステスト、デバイス評価、更にはシステム評価の便に供する機能を利用可能な動作モードである。
≪フラッシュメモリモジュール≫
フラッシュメモリモジュール(FLM)では、プログラム格納フラッシュメモリ5、6はメインCPU2のプログラムの格納に利用されて、データ格納フラッシュメモリ9はメインCPU2による命令実行結果のデータ等の不揮発記憶すべきデータの格納に利用される。これらのフラッシュメモリ5、6、9は、電気的に消去及び書き込み可能な不揮発性メモリトランジスタを含む複数の不揮発性メモリセルを有する。不揮発性メモリトランジスタには、例えば、ソースとドレインの間のチャネル形成領域の上にフローティングゲートのような電荷蓄積領域とコントロールゲートを積み重ねたスタックドゲート構造を採用可能である。あるいはチャネル形成領域の上に選択ゲートとメモリゲートを分離して配置して、メモリゲートとチャンネル形成領域との間にシリコンナイトライドのような電荷蓄積領域を形成したスプリット構造等を採用することができる。
不揮発性メモリセルのトランジスタは電荷蓄積領域に電子が注入される書き込みによってしきい値電圧が高くされ、書き込みによって蓄積された電子の放出又はホールの注入によってしきい値電圧が低くされる。例えばメモリゲートと基板の間に高電界を形成して、ソース・ドレイン間電流によって発生されるホットエレクトロンを電荷蓄積領域に注入することによって書き込みが行われる。消去の場合には、ホットホールを発生させてこれを電荷蓄積領域に注入するか、高電界によるトンネル効果により電荷蓄積領域から電子を放出すればよい。高電界を形成するのに、書き込みでは書き込みパルス電圧を用い、消去では消去パルス電圧を用いる。不揮発性メモリセルのトランジスタは、そのしきい値電圧の相違として情報を記憶する。1個のメモリセルによる情報記憶は1ビットを示す低しきい値電圧と高しきい値電圧との2値、或いは2ビットを示す低しきい値電圧と低中間しきい値電圧と高中間しきい値電圧と高しきい値電圧との4値等の多値のいずれであっても良い。
≪バスの構成≫
シングルチップマイクロコンピュータ1は、内部バスIBUS、周辺バスPBUS、及び外部バスEXBUSを有する。それぞれのバスは、アドレスバス、データバス以外に、バス権要求信号、バスアクノレッジ信号、バスコマンド(またはリード信号、ライト信号、バスサイズ信号)、レディ信号(またはウェイト信号)等の信号線を含む。
内部バスIBUSは、メインCPU2や図示されていないデータ転送コントローラ(DTC)、ダイレクトメモリアクセスコントローラ(DMAC)のようなその他の内部バスマスタに直接接続されるバスである。内部バスIBUSにはRAM3、バスコントローラ4、プログラム格納フラッシュ読み出しバッファ(FLBUF)7、I/Oポート8等、少数の回路モジュールが接続される。
メインCPU2等が周辺バスPBUSを使用しない時に、周辺バスPBUSはバスコントローラ4を介して内部バスIBUSと分離される。これにより、メインCPU2のプログラムリードなどで、主として使用する内部バスIBUSの負荷を軽減して、アクセスを高速化することができる。更に、メインCPU2等が周辺バスPBUSを使用しない時に、周辺バスの状態を保持することが可能になるから、これによって低消費電力化することができる。メインCPU2が周辺バスPBUSに接続される回路モジュール内の内部I/Oレジスタをアクセスする場合は、内部バスIBUS及びバスコントローラ4を経由して行う。内部I/Oレジスタのアクセスは、2ステートで行われる。内部バスIBUSに比べて周辺バスPBUSの接続先は多数であるため、周辺バスPBUSのバス幅を広げると物理的な規模が増加するため、周辺バスPBUSは例えば16ビットのデータバスを有する。
通常モードにおけるフラッシュメモリ4の読み出し動作は、内部バスIBUSを経由して行う。しかし、書き込み及び消去を指示するためのコマンド及びデータの供給は、周辺バスPBUSを経由してフラッシュ制御ユニット8に対して行う。書き込み及び消去動作は、それ自体に時間がかかり、また、書き込み及び消去動作の頻度はそれほど高くなく、少なくとも内部バスIBUSを経由した読み出し動作より大幅に少ないことを考慮したものである。また、フラッシュ制御ユニット8を内部バスIBUSに直接接続すると、内部バスIBUSの負荷が大幅に増えることになるからである。
内部バスIBUSと外部バスEXBUSは、外部バスバッファ回路(BUF)13によってインタフェースされる。外部バスバッファ回路13は、入出力ポート12に含まれる。周辺バスPBUS及び外部バスEXBUSに対するバス制御は、バスコントローラ4が行う。
≪プログラム格納フラッシュメモリとデータ格納フラッシュメモリ≫
プログラム格納フラッシュメモリFLP_A(5)、FLP_B(6)は、メインCPU2が実行するプログラムを格納するためのフラッシュメモリであり、読み出しを高速実行できることが求められる。FLP_A(5)とFLP_B(6)は、内部バスIBUSのデータ幅と同じ32ビットの読み出しデータ幅を持つメモリであるが、読み出し実行に内部バスIBUSのアクセスに2ステートを要する。また、FLP_A(5)とFLP_B(6)の少なくともいずれか一方には、フラッシュ制御ユニット(FCU)8内部のサブCPUによるFLP_A(5)、FLP_B(6)、データ格納フラッシュメモリ(FLD)9の書き込みと制御とを実行するための書き込み・消去プログラムが格納されている。
プログラム格納フラッシュ読み出しバッファ(FLBUF)7は、FLP_A(5)とFLP_B(6)の読み出しデータを格納するバッファ回路である。メインCPU2によるプログラム格納用のフラッシュメモリに対する内部バスIBUSのアクセスが発生して、アクセス先のデータがFLBUF7内のバッファに存在しない場合には、FLBUF7はFLP_A(5)とFLP_B(6)に対するアクセスを発行する。アクセスにより読み出された64ビット分のデータをFLBUF7内のバッファに格納すると同時に、内部バスIBUSを経由してアクセス先の32ビットデータをメインCPU2へ出力する。この場合には、内部バスIBUSのアクセスの2ステート分の読み出し時間が必要になるため、直接的にFLP_A(5)とFLP_B(6)を読み出した場合と同等の読み出し性能を確保できる。アクセス先のデータがFLBUF7内のバッファに存在する場合には、FLBUF7はバッファに格納された64ビットデータのうち、アクセス先に相当する32ビットのデータを選択して内部バスIBUSを経由してメインCPU2へ出力する。この場合には、内部バスIBUSのアクセスに1ステート分の時間で読み出しが実行可能であるため、FLP_A(5)とFLP_B(6)を直接読み出すよりも高速な読み出し性能を実現できる。
データ格納フラッシュメモリ(FLD)9は、メインCPU2のプログラム処理結果を格納するためのフラッシュメモリであり、読み出しを高速で実行する必要がない。このため、FLD9は内部バスIBUSよりも低速な周辺バスPBUSにFLBUF7のようなバッファ回路を介さずに接続されている。
図2は、メインCPU2のアドレス空間におけるFLP_A(5)とFLP_B(6)のアドレス配置を示す図である。FLBUF7による64ビット読み出しに対応するために、メインCPU2のアドレス空間において、FLP_A(5)が上位32ビット側、FLP_B(6)が下位32ビット側に配置されている。プログラム格納用フラッシュメモリの連続的な空間に対して書き込みを行う場合には、FLP_A(5)とFLP_B(6)を書き込む必要があるため、書き込みは256バイト単位で実行する必要がある。一方で、データ格納用のフラッシュメモリ空間にはFLD9のみが配置されているため、128バイト単位での書き込みが実行できる。
≪フラッシュ制御ユニット≫
フラッシュ制御ユニット(FCU)8はFLP_A(5)、FLP_B(6)、FLD9の書き込み・消去を実行するためのシーケンサである。FCU8によるFLP_A(5)、FLP_B(6)、FLD9のそれぞれに対する書き込みは、128バイト単位で実行される。
FCU8は、後で詳述するようにサブCPU(FCPU)を含んでいる。通常モードにおいてサブCPU(FCPU)は、メインCPU2から発行されたコマンドに応答して逐次命令を実行してフラッシュメモリ5、6、9に対する書き込み及び消去制御を行うものである。その結果、メインCPU2は、コマンド発行後にフラッシュメモリ5、6、9の書き込み及び消去制御から開放される。しかし、テストモードではメインCPU2が、任意の種々の逐次命令を実行することによりフラッシュメモリ4に対する書き込み及び消去動作の試作評価やテスト評価を自在に行うことが可能にされる。その結果、フラッシュメモリ5、6に格納されたFCPU12の動作プログラムに制限されることなく、メインCPU2の高い自由度のプログラムに従ってテストや検証のための書き込み及び消去制御を自由に行うことができる。
≪フラッシュメモリへの書き込みの動作≫
図3は、本発明の1つの実施形態によるフラッシュメモリへの書き込みの動作を示す図である。
メインCPU2によるストア命令発行などによって、フラッシュメモリ書き込み用コマンド発行用に割り当てられたアドレスに対して周辺バスPBUSライトを発行すると、FCU8は周辺バスPBUSライトの内容に対応した処理を実行する。
最初の周辺バスPBUSのライトアクセス(C1)のデータはコマンドの種類を決定するためのサイクルであり、メインCPU2がFCU8に対してフラッシュメモリの書き込みを要求する場合にはH´E8をライトする周辺バスPBUSアクセスを発行すればよい。
次の周辺バスPBUSのライトアクセス(S1)は、メインCPU2が書き込みデータのサイズを16ビット単位で決定するためのサイクルである。FLP_A(5)とFLP_B(6)とに対して合計256バイトの書き込みの場合にはH´80をライトする周辺バスPBUSアクセスをメインCPU2が発行して、FLD9に対して合計128バイトの書き込みの場合にはH´40をライトする周辺バスPBUSアクセスをメインCPU2が発行すればよい。
アクセスS1よりも後の周辺バスPBUSのライトアクセス(D1〜D128)は、16ビット単位(2バイト単位)で書き込みデータを転送するためのサイクルである。
図3の上に示すようにFLP_A(5)とFLP_B(6)とに対して合計256バイト書き込みの場合には、128回(D1〜D128)の周辺バスPBUSのライトアクセスを発行する。FCU8は1回目(D1)から128回目(D128)までのデータをFLP_A(5)およびFLP_B(6)のデータラッチへインターリーブで連続してシリアルデータ転送する。FLP_A(5)とFLP_B(6)はインターリーブで交互にアクセスされるため、奇数回目(D1、D3、・・・・、D127)のデータはFLP_A(5)のデータラッチに格納され、偶数回目(D2、D4、・・・・、D128)のデータはFLP_B(6)のデータラッチに格納されることになる。
図3の下に示すようにFLD9に対して合計128バイト書き込みの場合には、64回(D1〜D64)の周辺バスPBUSのライトアクセスを発行すればFLD9のデータラッチへ連続してシリアルデータ転送が実行される。
また、書き込み先のフラッシュメモリのアドレスはD1サイクルにおける周辺バスPBUSアクセスのアドレスによって決定される。書き込みデータの転送が完了した後に、H´D0をライトする周辺バスPBUSのアクセス(F1)を発行する。すると、図3の上の256バイトの書き込みの場合には、FCU8はFLP_A(5)とFLP_B(6)とに関してラッチへ転送されたWD1〜W128のデータをフラッシュメモリアレーへ並列内部書き込み処理を行う。図3の下の128バイトの書き込みの場合には、FCU8は
FLD9に対して、WD1〜W64のデータをラッチからフラッシュメモリアレーへ連続的に書き込む内部書き込み処理を実行する。
フラッシュメモリの書き込みデータに先行する書き込みコマンドに、書き込みサイズを指定するS1サイクルが存在している。従って、FCU8はS1サイクルで指定されたサイズの書き込みデータの転送完了を待つだけでよく、FCU8の制御を簡素化できる。書き込みデータの転送が完了すると、FCU8はフラッシュメモリのラッチに転送されたデータをフラッシュメモリアレーへプログラムとベリファイとの反復による内部書き込み処理を実行する。もし、S1サイクルが存在しない場合には、FCU8が書き込み先のフラッシュメモリの種類を判定して書き込みデータのサイズを決定する必要があり、制御が複雑になる。
また、書き込みサイズが全く異なるフラッシュメモリへ書き込みを行う場合にも、S1サイクルで指定されたサイズの書き込みデータの転送完了を待つ制御を変更する必要がない。このため、フラッシュメモリの追加・変更が発生しても、FCU8を変更せずに対応することが可能である。
書き込みサイズを指定するサイクル(S1)に要する時間は、データ転送用のサイクル(D1〜D128)やFCU8によるフラッシュメモリ書き込み処理に要する時間と比較して短い。従って、S1サイクルのフラッシュメモリへの書き込み動作に要する時間に対する悪影響は、ほとんどない。
図4は、本発明の他の実施形態によるフラッシュメモリへの書き込みの動作を示す図である。この動作は、16ビット単位(2バイト単位)毎のデータ転送が行われるフラッシュメモリがFLP_A(5)とFLP_B(6)との間で交代する256バイトのインターリーブの書き込みである。インターリーブの書き込みを行うためのコマンドが図3の上の256バイト書き込みコマンドと相違するのは、最初のサイクル(C2)における書き込みデータの値がH´E9であることである。
256バイトのインターリーブ書き込みコマンドの最終サイクル(F1)に対応する周辺バスPBUSのライトアクセスが発行されると、FCU8はFLP_A(5)とFLP_B(6)に対する内部書き込み処理を開始する。インターリーブの書き込みコマンドに対する書き込み処理では、FCU8は最初に奇数番のデータWD1、WD3…WD127の128バイトのデータをFLP_A(5)のラッチからFLP_A(5)フラッシュメモリアレーへ転送して内部書き込みを実行する。その後、FCU8は偶数番のデータWD2、WD4…WD128の128バイトのデータをFLP_B(6)のラッチからFLP_B(6)のフラッシュメモリアレーへ転送して内部書き込みを実行する。
図4に示した256バイトのインターリーブ書き込みコマンドで要求された書き込みをFCU8が実行する際には、書き込みデータをFLP_A(5)用とFLP_B(6)用とに分類して転送データを事前に準備する。その後、コマンド発行時の周辺バスPBUSのライトアクセスで書き込まれたのとは異なる順番の事前準備データを転送する必要がある。
一方、図3の上に示した256バイトの書き込みコマンドでは、コマンド発行時の周辺バスPBUSのライトアクセスと同じ順番でデータをFLP_A(5)、FLP_B(6)へFCU8が転送する。図4に示した256バイトのインターリーブコマンドでは、最初のサイクル(C2)でインターリーブ書き込みであることが指定されている。従って、FCU8が書き込み先のフラッシュメモリの種類を判定して書き込みデータの書き込み順を切り替える制御をする必要がなく、事前準備データを転送すればよいので、FCU8の制御を簡素化できる。
フラッシュメモリに書き込み単位分のデータを書き込む期間は、書き込み先のメモリに高電圧を印加する必要がある。256バイトのデータをFLP_A(5)とFLP_B(6)とに並列内部書き込みを行う図3の上の方式の場合、FLP_A(5)とFLP_B(6)とに同時に高電圧を印加する必要があるため、電源供給能力を大きくしなければならない。図4の方式では、最初にFLP_A(5)に128バイト分のデータを内部書き込みした後に、FLP_B(6)に128バイト分のデータを内部書き込みするため、FLP_A(5)とFLP_B(6)とに同時に高電圧を印加する必要がなく、電源供給能力を大きくする必要がない。
≪フラッシュ制御ユニットの構成≫
図5は、図1のシングルチップマイクロプロセッサ1の内部のフラッシュ制御ユニット(FCU)5の内部構成を示す図である。
同図に示すようにFCU8は、サブCPU(FCPU)12以外にも、フラッシュCPUインタフェースコントローラ(FIMC)13、フラッシュバス制御回路(FBSC)14、コントロールRAM(CRAM)15、フラッシュ書き込み・消去制御回路(FLC)16、誤り訂正回路(ECC)33、フラッシュバスFBUSを有する。FCU8はメインCPU2のアドレス空間に配置され、メインCPU2は周辺バスPBUSを経由してFCU8の内部をアクセスすることができる。すなわち、フラッシュCPUインタフェースコントローラ13(FIMC)は周辺バスPBUSに接続され、メインCPU2からのアクセスに対してFCU8の全体的な制御を行う。FIMC13はFCPU12に割り込み要求信号IRQと対応するベクタとを発行して、FCPU12を起動する。また、FIMC13はフラッシュバス制御回路(FBSC)14にバスコマンドを発行することによって、コントロールRAM15及びFLC16に対するフラッシュバスFBUS経由のバス制御を行う。コントロールRAM15はFCPU12のフラッシュ書き込み・消去の動作プログラムの格納領域、或いはFCPU12のワーク領域等に用いられる。FLC16は、フラッシュメモリ5、6、9に対する動作制御レジスタ(FCNTR)18、消去ブロック指定レジスタ(EBLKR)17及びトリミングレジスタを有する。FLC16は、動作制御レジスタ18に設定される制御ビットの状態に従って、フラッシュメモリ5、6、9の書き込み・消去の動作を制御する。動作制御レジスタ18の制御ビットは、例えば書き込みイネーブルビットWE、書き込み指示ビットP、及び消去指示ビットE等とされている。書き込みイネーブルビットWEは、論理値“1”によって書き込み・消去動作の指示の有効性を示す。書き込み指示ビットPは、論理値“1”によって書き込みパルス電圧の印加を指示する。消去指示ビットEは、論理値“1”によって消去パルス電圧の印加を指示する。FLC16のトリミングレジスタには、フラッシュメモリ5、6、9の書き込みパルス電圧、消去パルス電圧、ドレイン電圧、ソース電圧、ベリファイ電圧の各々の電圧レベルの微調整や、書き込みパルス電圧及び消去パルス電圧のパルス幅の微調整を行うためのトリミングデータが設定される。
トリミングデータやFCPU12の書き込み・消去の動作プログラムの初期値はフラッシュメモリ9が保有しており、トリミングデータと書き込み・消去の動作プログラムとはパワーオンリセットに応答してメインCPU2、データ転送コントローラ(DTC、図示せず)、ダイレクトメモリアクセスコントローラ(DMAC、図示せず)のいずれかがトリミングデータレジスタ及びコントロールRAM15とにそれぞれ内部転送することが可能である。トリミングデータレジスタ及びコントロールRAM15のプログラム領域は通常モードではユーザープログラムを実行しているメインCPU2からの書き込みアクセス不可能にされ、保護されている。しかし、テストモードでは、これらはメインCPU2により自由にアクセス可能にされる。消去ブロック指定レジスタ17には、消去ブロック又は消去アドレスが設定される。書き込みデータ及び書き込みアドレスは、フラッシュメモリ内部のデータレジスタ及びアドレスレジスタにセットされる。
割り込みによるFCPU12の起動について、説明する。FIMC13は、メインCPU2から周辺バスPBUSを経由してアクセス可能にされる内部I/Oレジスタ(IIOR)20、コントロールレジスタ(CNTR)21、ステータスレジスタ(STSR)22、割り込み制御レジスタ(INTR)31、CRAM制御レジスタ(CRCNTR)32を有する。コントロールレジスタ21は書き込み・消去フラグFENTRY等の設定領域とされ、メインCPU2によって書き込み可能にされ、FCPU12によって読み出し可能にされている。ステータスレジスタ22はビジーフラグBUSYやコマンドエンドフラグCMDE等の記憶領域とされ、FCPU12によって書き込み可能にされ、メインCPU2によって読み出し可能にされている。また、FCPU12は経路23からステータスレジスタ22に対する書き込みを行う。割り込み制御レジスタ31の割り込みイネーブルビットINTENがセットされている状態でステータスレジスタ22のエラービットERRが誤り訂正回路33によりセットされると、誤り割り込み信号ERRINTがアサートされて、バスコントローラ4を経由してメインCPU2に割り込み要求が通知される。誤り訂正回路33はコントロールRAM15に格納されたFCU12の書き込み・消去制御プログラムのソフトエラーによるデータ誤りを検出すると、ステータスレジスタ22にエラービットERRをセットして、フラッシュメモリ5、6からCRAM15へのFCU12の書き込み・消去制御プログラムの再転送を要求する。再転送されたFCU12の書き込み・消去制御プログラムをCRAM15へ書き込むために、CRAM制御レジスタ32のCRAMアクセスイネーブルビットCRENがセットされる。CRAMアクセスイネーブルビットCRENはCRAMアクセス通知信号CRAMENに反映されて、CRAMアクセス通知信号CRAMENはバスコントローラ4へ供給される。バスコントローラ4は内部バスIBUS上のフラッシュメモリ5、6から読み出されたFCU12の書き込み・消去制御プログラムを周辺バスPBUSに転送するので、メインCPU2、DTC、DMACのいずれかがBSC4を経由してCRAM15へのFCU12の書き込み・消去制御プログラムの再転送を実行する。
通常モードにおいて書き込み・消去フラグFENTRY=“1”の時に、メインCPU2からフラッシュメモリ5、6、9の不揮発性メモリアレイにマッピングされたアドレスにデータを書き込むアクセスをFIMC13が検出すると、その書き込みアクセスをFIMC13はフラッシュ書き込みコマンドとして認識する。また、メインCPU2から消去ブロック指定レジスタ17に消去アドレス若しくは消去ブロック指定情報を書込むアクセスをFIMC13が検出すると、その書き込みアクセスをFIMC13はフラッシュ消去コマンドとして認識する。FIMC13はそのコマンド解釈に従ってFCPU12への割り込み要求信号IRQを活性化して、コマンドに応ずるベクタを発行する。これによってFCPU12は、ベクタによって指定される書き込み制御プログラム又は消去制御プログラムをコントロールRAM15からフェッチして実行する。フラッシュ書き込みコマンドに応答する場合、FCPU12はその書き込み制御プログラムに従ってフラッシュ書き込みコマンドと認識した書き込みアクセスに係るアドレスとデータを内部IOレジスタ20からコントロールRAM15に取り込み、フラッシュメモリに転送して、FLC16内部のFCNTR18のWE、Pビット等を順次設定しながら、フラッシュメモリ5、6、9に対する書き込みを行う。フラッシュ消去コマンドに応答する場合、FCPU12はその消去制御プログラムに従ってフラッシュ消去コマンドと認識した消去ブロック指定データを内部IOレジスタ20からコントロールRAM15に取り込み、フラッシュメモリに転送して、FLC16内部のFCNTR18のWE、Eビット等を順次設定しながら、フラッシュメモリ5、6、9に対する消去を行う。
FCU8からの書き込み・消去フラグFENTRYは、FIMC13からバスコントローラ(BSC)6に供給される。通常モードにおいて書き込み・消去フラグFENTRY=“0”の時に、フラッシュメモリ5、6、9のマッピングアドレス又は消去ブロック指定レジスタ17に対するメインCPU2からの書き込みアクセスをBSC4が検出すると、例えばアドレスエラーを発生させてフラッシュメモリ5、6、9への書き込み動作を無効とする。従って、通常モードにおいて書き込み・消去フラグFENTRY=“0”の時には、フラッシュメモリ5、6、9には内部バスIBUS経由のリードアクセスだけが可能にされる。尚、テストモードでは書き込み・消去フラグFENTRYはBSC4によるフラッシュメモリ5、6、9に対するアクセス経路の制御だけに用いられる。すなわち、フラッシュメモリ5、6、9に対しては、テストモードにおいてFENTRY=1の時にはBSC4及び周辺バスPBUS経由のアクセスだけが許容され、FENTRY=“0”の時には内部バスIBUS経由のリードアクセスだけが許容される。
フラッシュバス制御回路(FBSC)14を経由するコントロールRAM15及びFLC16のアクセス制御について、説明する。通常モード及びテストモードのいずれにおいても、フラッシュ制御ユニット(FCU)5のマッピングアドレス(消去ブロック指定レジスタ17のマッピングアドレスを除く)に対するメインCPU2またはDTC、DMACのいずれかからのアクセスに対して、CPUインタフェースコントローラ(FIMC)13はアクセスコマンドをFBSC14に発行する。発行されたアクセスコマンドに従ってFBSC14は、フラッシュバスFBUSの制御を行ってコントロールRAM15及びFLC16へのリードアクセス及びライトアクセスを行うことができる。特に制限されないが、通常モードではFLC16のトリミングレジスタに対する自由なアクセスは許容されていない。しかし、テストモードでは、メインCPU2からフラッシュメモリ5、6、9のマッピングアドレスにデータを書き込むアクセスがあっても、また、メインCPU2から消去ブロック指定レジスタ17に対してデータを書き込むアクセスがあっても、CPUインタフェースコントローラ13はFCPU12を起動せず、対応するアクセスコマンドをFBSC14に発行する。それに従ってFBSC14がフラッシュバスFBUSの制御を行って、CPUインタフェースコントローラ13の内部IOレジスタ20に保持された書き込みデータ及び書き込みアドレスをフラッシュメモリ5、6、9に供給して、又は消去ブロックアドレスを消去ブロック指定レジスタ17に供給する。この後、メインCPU2はFLC16のレジタ18に対する書き込みアクセスを発行することによって消去ビットEやプログラムビットPを直接操作して、消去動作又は書き込み動作を行うことができる。
テストモードでは、メインCPU2はFLC16のトリミングレジスタを直接操作することができるから、トリミングデータの設定次第で、例えば、フラッシュメモリ5、6、9における書き込みパルス電圧、消去パルス電圧、パルス印加時間、ドレイン電圧、及びソース電圧等を微調整することができる。そのような電圧や時間を微調整することによって、マイクロコンピュータ1の製造プロセス、不揮発性メモリの素子構成、あるいはマイクロコンピュータ1の個体差などに即して、最適な書き込み、最適な消去の制御が可能にされる。これらの電圧や時間は量産時には固定にされるのがよいが、少なくとも試作評価時には可変にする必要がある。
更にテストモードでは、メインCPU2はコントロールRAM15に格納されたFCPU12の書き込み・消去制御プログラムを書き換えることができる。試作評価時には、テストモードで、メインCPU2による制御プログラム実行で書き込み・消去を実行して、基本機能や必要なパラメータなどの確認を行うことができる。試作評価時は、機器制御を行うわけではないので、リアルタイム性の要求される割り込み処理などを考慮する必要がない。
図5に示したFCU8のエラー訂正回路(ECC)33は、コントロールRAM(CRAM)15の格納データが破壊されたことを検出するための回路である。フラッシュバスFBUSを経由してCRAM15に対する書き込みが実行される場合には、ECC33がFBUSから出力されたデータに対応したエラー訂正符号を生成して、書き込みデータとともにエラー訂正符号をCRAM15に書き込む。フラッシュバスFBUSを経由してCRAM15に対する読み出しが実行される場合には、ECC33がCRAM15から読み出されたデータとエラー訂正符号に基づいて読み出しデータを生成して、フラッシュバスFBUSに出力する。読み出しデータ生成時に、ECC33がCRAM15から読み出されたデータまたはエラー訂正符号に誤りを検出すると、ECCエラー信号ECCERRがアサートされる。FIMC13のステータスレジスタ(STSR)22のエラービットERRは、ECCエラー信号ECCERRがアサートされるとセットされるフラグである。割り込み制御レジスタ(INTR)31の割り込みイネーブルビットINTENがセットされた状態で、STSR22のエラービットERRがセットされると、エラー割り込み信号ERRINTがアサートされて、メインCPU2に割り込み要求が通知される。すると、メインCPU2、DTC、DMACのいずれかを用いて、フラッシュメモリ5、6に格納されたFCU8のFCPU12によるフラッシュメモリ5、6、9の書き込み・消去制御プログラムのデータをFCU8のCRAM15へ再転送するものである。
尚、CRAM制御レジスタ(CRCNTR)32のCRAMアクセスイネーブルビットCRENは、CRAM15へのアクセス許可・禁止を制御するためのビットである。CRAMアクセスイネーブルビットCRENが“0”の場合にはCRAM15へのアクセスは禁止され、“1”の場合にはCRAM15へのアクセスが許可される。CRAMアクセス通知信号CRAMENはCRAMアクセスイネーブルビットCRENの値をFCU8からBSC4に通知するための信号である。BSC4は、CRAMアクセス通知信号CRAMENがアサートされている場合のみ、CRAM15に対する内部バスIBUSのアクセスを周辺バスPBUSに伝播する。しかし、CRAMアクセス通知信号CRAMENがネゲートされた状態で発行されたCRAM15に対するアクセスは、無効化される。
このマイクロコンピュータ1では、システム起動後にフラッシュメモリ4に格納されたユーザープログラムのメインCPU2による実行と並行して、DTC、DMACのいずれかを使用してフラッシュメモリ5、6からCRAM15にFCU8のFCPU12によるフラッシュメモリ5、6、9の書き込み・消去制御プログラムを転送することが可能である。また、システムの起動後にメインCPU2がFCPU12によるフラッシュメモリ5、6、9の書き込み・消去制御プログラムをフラッシュメモリ5、6からCRAM15に転送することも可能である。
更に、このマイクロコンピュータ1では、メインCPU2によりFCU8のFIMC13のSTSR22のエラービットERRを読み出し、またはエラー割り込み信号ERRINTによって、CRAM15の格納データが破壊されているかどうかを判定することが可能である。CRAM15の格納データが破壊された場合には、FCU8のFCPU12によるフラッシュメモリ5、6、9の書き込み・消去制御プログラムのプログラムをメインCPU2、DTC、DMACのいずれかがフラッシュメモリ5、6からCRAM15へ再転送するため、FCU8の誤動作を防止して、マイクロコンピュータの信頼性を向上することができると言う効果が得られる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシングルチップマイクロコンピュータに適用した場合について説明したが、それに限定されるものではなく、その他の半導体集積回路装置、例えば、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)を中心にした半導体集積回路装置にも適用可能である。
さらに不揮発性メモリとしては、フラッシュメモリ等のように電荷蓄積領域に電荷を注入したり電荷蓄積領域から電荷を放出するタイプ以外に、例えば相変化メモリも採用することができる。例えば、相変化メモリの消去はメモリセルの抵抗に電流を流すことにより抵抗を溶融した後に電流を激減させることで多結晶化して高抵抗とし、相変化メモリの書き込みはメモリセルの抵抗に電流を流すことにより抵抗を溶融した後に電流を徐々に減少させることで単結晶化して低抵抗とすることで実現することができる。この相変化メモリでも、消去処理や書き込み処理は消去または書き込みの電流パルスの印加とベリファイ動作との反復処理となる。本発明は少なくとも、不揮発性メモリとデータ処理装置を内蔵した半導体集積回路装置に適用することができる。
図1は、本発明の1つの実施形態によるシングルチップマイクロコンピュータを示すブロック図である。 図2は、図1のマイクロプロセッサのメインCPU2のアドレス空間におけるプログラム格納フラッシュメモリ5、6のアドレス配置を示す図である。 図3は、本発明の1つの実施形態によるフラッシュメモリへの書き込みの動作を示す図である。 図4は、本発明の他の実施形態によるフラッシュメモリへの書き込みの動作を示す図である。 図5は、図1のシングルチップマイクロプロセッサの内部のフラッシュ制御ユニット5の内部構成を示す図である。
符号の説明
1 シングルチップマイクロコンピュータ
2 中央処理ユニット(CPU)
3 ランダムアクセスメモリ(RAM)
4 バスコントローラ(BSC)
FLM フラッシュモジュール
5 プログラム格納フラッシュ
6 プログラム格納フラッシュ
7 プログラム格納フラッシュ読み出しバッファ
8 フラッシュ制御ユニット
9 データ格納フラッシュ
10 システムコントローラ(SYSC)
MD0〜MD2 モード端子
11 周辺回路(PRHRL)
12 I/Oポート(IOP)
内部バスIBUS 内部バス
周辺バスPBUS 周辺バス
EXBUS 外部バス

Claims (12)

  1. メインCPUと、電気的に書き込み及び消去可能な不揮発性メモリモジュールとを具備してなり、
    前記不揮発性メモリモジュールは、不揮発性メモリと、不揮発制御ユニットとを含み、
    前記メインCPUから発行されたコマンドに応答して前記不揮発制御ユニットは前記不揮発性メモリの書き込み及び消去の制御を行うものであり、
    前記不揮発性メモリは、前記メインCPUが実行するプログラムを格納するプログラム格納不揮発性メモリと、前記メインCPUによる前記プログラムの命令実行結果のデータを格納するデータ格納不揮発性メモリとを含み、
    前記不揮発制御ユニットによる前記プログラム格納不揮発性メモリへのプログラム書き込みのデータサイズは、前記不揮発制御ユニットによる前記データ格納不揮発性メモリへのデータ書き込みのデータサイズと異なるサイズに設定され、
    前記メインCPUは前記不揮発制御ユニットに前記プログラム格納不揮発性メモリへのプログラム書き込みの要求を行う際に前記プログラム書き込みのデータサイズに対応する第1のサイズ情報を前記不揮発制御ユニットへ供給して、
    前記メインCPUは前記不揮発制御ユニットに前記データ格納不揮発性メモリへのデータ書き込みの要求を行う際に前記データ書き込みのデータサイズに対応する第2のサイズ情報を前記不揮発制御ユニットへ供給して、
    前記不揮発制御ユニットは前記メインCPUから供給される前記第1のサイズ情報および前記第2のサイズ情報に応答して前記不揮発性メモリの前記プログラム格納不揮発性メモリおよび前記データ格納不揮発性メモリへのプログラムおよびデータの書き込みを実行する半導体集積回路。
  2. 前記不揮発制御ユニットによる前記プログラム格納不揮発性メモリへのプログラム書き込みの前記データサイズは、前記不揮発制御ユニットによる前記データ格納不揮発性メモリへのデータ書き込みの前記データサイズよりも大きくされた請求項1記載の半導体集積回路。
  3. 前記データ格納不揮発性メモリは少なくとも1個のフラッシュメモリを含み、前記プログラム格納不揮発性メモリは少なくとも2個のフラッシュメモリを含む請求項1または請求項2のいずれかに記載の半導体集積回路。
  4. 前記メインCPUから供給される動作モードに応答して前記不揮発制御ユニットは書き込みデータを前記プログラム格納不揮発性メモリの前記2個のフラッシュメモリへシリアルにデータ転送するものである請求項3に記載の半導体集積回路。
  5. 前記メインCPUから供給される他の動作モードに応答して前記不揮発制御ユニットは書き込みデータを前記プログラム格納不揮発性メモリの前記2個のフラッシュメモリへインターリーブにより交互にデータ転送するものである請求項3に記載の半導体集積回路。
  6. 前記不揮発制御ユニットは、サブCPUと、コントロールメモリとを含み、
    前記プログラム格納不揮発性メモリには、前記不揮発制御ユニットの前記サブCPUによる前記不揮発性メモリの書き込みおよび消去を制御する書き込み・消去制御プログラムが格納され、
    システム起動時には前記プログラム格納不揮発性メモリに格納された前記書き込み・消去制御プログラムが前記不揮発制御ユニットの前記コントロールメモリへ転送され、
    前記不揮発性メモリの書き込み及び消去の制御は前記メインCPUから発行されたコマンドに応答して前記不揮発制御ユニットの前記サブCPUが前記コントロールメモリに転送された書き込み・消去制御プログラムの命令を実行することにより行われるものである請求項1から請求項5のいずれかに記載の半導体集積回路。
  7. メインCPUと、電気的に書き込み及び消去可能な不揮発性メモリモジュールとを具備してなり、
    前記不揮発性メモリモジュールは、不揮発性メモリと、不揮発制御ユニットとを含み、
    前記メインCPUから発行されたコマンドに応答して前記不揮発制御ユニットは前記不揮発性メモリの書き込み及び消去の制御を行うものであり、
    前記不揮発性メモリは、前記メインCPUが実行するプログラムを格納するプログラム格納不揮発性メモリと、前記メインCPUによる前記プログラムの命令実行結果のデータを格納するデータ格納不揮発性メモリとを含み、
    前記不揮発制御ユニットによる前記プログラム格納不揮発性メモリへのプログラム書き込みのデータサイズは、前記不揮発制御ユニットによる前記データ格納不揮発性メモリへのデータ書き込みのデータサイズと異なるサイズに設定され、
    前記メインCPUは前記不揮発制御ユニットに前記プログラム格納不揮発性メモリへのプログラム書き込みの要求を行う際にプログラム書き込みのデータサイズに対応する第1のサイズ情報を前記不揮発制御ユニットへ供給して、
    前記メインCPUは前記不揮発制御ユニットに前記データ格納不揮発性メモリへのデータ書き込みの要求を行う際にデータ書き込みのデータサイズに対応する第2のサイズ情報を前記不揮発制御ユニットへ供給して、
    前記不揮発制御ユニットは前記メインCPUから供給される前記第1のサイズ情報および前記第2のサイズ情報に応答して前記不揮発性メモリの前記プログラム格納不揮発性メモリおよび前記データ格納不揮発性メモリへのプログラムおよびデータの書き込みを実行するシングルチップマイクロコンピュータ。
  8. 前記不揮発制御ユニットによる前記プログラム格納不揮発性メモリへのプログラム書き込みの前記データサイズは、前記不揮発制御ユニットによる前記データ格納不揮発性メモリへのデータ書き込みの前記データサイズよりも大きくされた請求項7に記載のシングルチップマイクロコンピュータ。
  9. 前記データ格納不揮発性メモリは少なくとも1個のフラッシュメモリを含み、前記プログラム格納不揮発性メモリは少なくとも2個のフラッシュメモリを含む請求項7または請求項8のいずれかに記載のシングルチップマイクロコンピュータ。
  10. 前記メインCPUから供給される動作モードに応答して情報前記不揮発制御ユニットは書き込みデータを前記プログラム格納不揮発性メモリの前記2個のフラッシュメモリへシリアルにデータ転送するものである請求項9に記載のシングルチップマイクロコンピュータ。
  11. 前記メインCPUから供給される他の動作モードに応答して前記不揮発制御ユニットは書き込みデータを前記プログラム格納不揮発性メモリの前記2個のフラッシュメモリへインターリーブにより交互にデータ転送するものである請求項9に記載のシングルチップマイクロコンピュータ。
  12. 前記不揮発制御ユニットは、サブCPUと、コントロールメモリとを含み、
    前記プログラム格納不揮発性メモリには、前記不揮発制御ユニットの前記サブCPUによる前記不揮発性メモリの書き込みおよび消去を制御する書き込み・消去制御プログラムが格納され、
    システム起動時には前記プログラム格納不揮発性メモリに格納された前記書き込み・消去制御プログラムが前記不揮発制御ユニットの前記コントロールメモリへ転送され、
    前記不揮発性メモリの書き込み及び消去の制御は前記メインCPUから発行されたコマンドに応答して前記不揮発制御ユニットの前記サブCPUが前記コントロールメモリに転送された書き込み・消去制御プログラムの命令を実行することにより行われるものである請求項7から請求項11のいずれかに記載のシングルチップマイクロコンピュータ。
JP2006232273A 2006-08-29 2006-08-29 半導体集積回路及びシングルチップマイクロコンピュータ Expired - Fee Related JP5013450B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006232273A JP5013450B2 (ja) 2006-08-29 2006-08-29 半導体集積回路及びシングルチップマイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006232273A JP5013450B2 (ja) 2006-08-29 2006-08-29 半導体集積回路及びシングルチップマイクロコンピュータ

Publications (3)

Publication Number Publication Date
JP2008059053A true JP2008059053A (ja) 2008-03-13
JP2008059053A5 JP2008059053A5 (ja) 2009-10-08
JP5013450B2 JP5013450B2 (ja) 2012-08-29

Family

ID=39241754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006232273A Expired - Fee Related JP5013450B2 (ja) 2006-08-29 2006-08-29 半導体集積回路及びシングルチップマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP5013450B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799560B2 (en) 2009-08-21 2014-08-05 Hitachi, Ltd. Semiconductor device
JP5565464B2 (ja) * 2010-08-20 2014-08-06 株式会社村田製作所 順止バルブ、燃料電池システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023385A1 (ja) * 2002-08-29 2004-03-18 Renesas Technology Corp. 半導体処理装置及びicカード
JP2004273117A (ja) * 2004-05-19 2004-09-30 Ricoh Co Ltd 複合化フラッシュメモリを搭載した半導体装置及び携帯用機器
JP2006018591A (ja) * 2004-07-01 2006-01-19 Matsushita Electric Ind Co Ltd メモリカード

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023385A1 (ja) * 2002-08-29 2004-03-18 Renesas Technology Corp. 半導体処理装置及びicカード
JP2004273117A (ja) * 2004-05-19 2004-09-30 Ricoh Co Ltd 複合化フラッシュメモリを搭載した半導体装置及び携帯用機器
JP2006018591A (ja) * 2004-07-01 2006-01-19 Matsushita Electric Ind Co Ltd メモリカード

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799560B2 (en) 2009-08-21 2014-08-05 Hitachi, Ltd. Semiconductor device
JP5565464B2 (ja) * 2010-08-20 2014-08-06 株式会社村田製作所 順止バルブ、燃料電池システム
US9169938B2 (en) 2010-08-20 2015-10-27 Murata Manufacturing Co., Ltd. Forward check valve and fuel cell system

Also Published As

Publication number Publication date
JP5013450B2 (ja) 2012-08-29

Similar Documents

Publication Publication Date Title
KR102184260B1 (ko) 반도체 기억장치 및 이를 위한 연속 판독 방법
CN108572933B (zh) 用于直接存储器存取的数据缓冲器指针找取
JP2008059052A (ja) 半導体集積回路及びマイクロコンピュータ
KR20180034190A (ko) 반도체 기억 장치, 플래시 메모리 및 그 연속 독출 방법
US20020011607A1 (en) Integrated circuit with flash memory
JP4869713B2 (ja) マルチチップパッケージデバイス
US7240146B2 (en) Random access interface in a serial memory device
TWI506424B (zh) 可使用一主機以組態記憶體裝置執行一自動背景操作之方法及記憶體裝置
US9317459B2 (en) Memory device distributed controller system
TW201709213A (zh) 記憶體系統
US11573891B2 (en) Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
TWI633459B (zh) Memory system and method for protecting memory cells
JP5013450B2 (ja) 半導体集積回路及びシングルチップマイクロコンピュータ
TWI471731B (zh) 記憶體存取方法、記憶體存取控制方法、spi快閃記憶體裝置以及spi控制器
JP4873526B2 (ja) 半導体集積回路及びマイクロコンピュータ
US6549975B2 (en) Tri-stating output buffer during initialization of synchronous memory
JP4455593B2 (ja) データプロセッサ
US20220283725A1 (en) Memory controller and operating method thereof
TWI625625B (zh) 包括一多解析度內部快取之記憶體系統控制器
WO2008001363A2 (en) Monolithic flash memory having integrated code and data memory portions
JP2008059053A5 (ja)
WO2017017842A1 (ja) メモリの制御装置、記憶装置、および、メモリの書込み方法
US20220180946A1 (en) Memory controller and operating method thereof
US7487287B2 (en) Time efficient embedded EEPROM/processor control method
JP2007066119A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090825

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

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

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

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

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees