(57)【要約】【課題】フラッシュメモリーへの高速書き込み動作及びチップ面積の縮小化を可能とする集積回路装置を提供する。【解決手段】集積回路装置は、電気的に書換え可能な不揮発性メモリー１４と、外部装置からの指示に基づいて不揮発性メモリー１４を書換え可能にする制御回路１０と、を含み、制御回路１０は、外部装置からのシリアルデータを受信するシリアル通信回路１８と、受信したシリアルデータを解析するコマンド解析回路２０と、解析された内容に応じて不揮発性メモリー１４の書換えのための手順制御を行う不揮発性メモリー制御回路２２と、を含む。【選択図】図１
2011216046.tif 000002
【特許請求の範囲】
【請求項１】
電気的に書換え可能な不揮発性メモリーと、
外部装置からの指示に基づいて前記不揮発性メモリーを書換え可能にする制御回路と、
を含み、
前記制御回路は、
前記外部装置からのシリアルデータを受信するシリアル通信回路と、
前記受信した前記シリアルデータを解析するコマンド解析回路と、
前記解析された内容に応じて前記不揮発性メモリーの書換えのための手順制御を行う不揮発性メモリー制御回路と、
を含むことを特徴とする集積回路装置。
【請求項２】
請求項１に記載の集積回路装置において、
ＣＰＵをさらに含み、
前記ＣＰＵは、前記不揮発性メモリーから読み出すデータに基づいて動作し、
前記ＣＰＵが動作している間、前記制御回路は停止し、
前記制御回路が動作している間、前記ＣＰＵは停止していることを特徴とする集積回路装置。
【請求項３】
請求項１又は２に記載の集積回路装置において、
前記制御回路が前記不揮発性メモリーに書き込むデータのビット幅は、前記ＣＰＵが前記不揮発性メモリーから読み出すビット幅より大きいことを特徴とする集積回路装置。
【請求項４】
請求項１〜３のいずれか一項に記載の集積回路装置において、
ＲＡＭをさらに含み、
前記制御回路は、前記ＲＡＭを制御するＲＡＭ制御回路をさらに含み、
前記ＲＡＭ制御回路は、前記不揮発性メモリーに書き込むデータバッファーとして前記ＲＡＭを使用するための手順制御を行うことを特徴とする集積回路装置。
【請求項５】
請求項１〜４のいずれか一項に記載の集積回路装置において、
前記ＣＰＵと前記制御回路とは、駆動周波数が異なることを特徴とする集積回路装置。
【請求項６】
請求項１〜５のいずれか一項に記載の集積回路装置において、
前記ＲＡＭは、前記制御回路と前記ＣＰＵとで共有することを特徴とする集積回路装置。
【請求項７】
請求項１〜６のいずれか一項に記載の集積回路装置において、
前記制御回路は、初期化時に前記不揮発性メモリーから読み出したデータを前記ＲＡＭに書き込んでいることを特徴とする集積回路装置。
【請求項８】
請求項１〜７のいずれか一項に記載の集積回路装置において、
前記ＣＰＵは、初期化後に前記不揮発性メモリーと前記ＲＡＭとにアクセスして動作することを特徴とする集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路装置に関するものである。
【背景技術】
【０００２】
フラッシュメモリー（flash memory）は、消去（イレース（erase））時に紫外線の照射が必要なＥＰＲＯＭ（erasable programmable read only memory）とは異なり、データの書き込み（ライト（write））／消去とも電気的に行えるので、一度書き込んだプログラム／データ（データ類）の変更が容易に行えて使いやすいため、急速に市場に浸透している。このフラッシュメモリーをマイクロコンピューターに内蔵し、従来のＥＰＲＯＭやマスクＲＯＭの代わりに（データ類）の格納用メモリーとして使用するフラッシュメモリー内蔵マイクロコンピューターも、同様に急速に市場を拡大している。
【０００３】
ここで、フラッシュメモリー内蔵マイクロコンピューターにおけるフラッシュメモリーは、マイクロコンピューターに内蔵されていない単体のフラッシュメモリーと同様に、フラッシュメモリーライターと呼ばれる書き込み装置を用いて、データ類の書き込み（プログラム）及び消去を行うことができる。しかしながら、フラッシュメモリー内蔵マイクロコンピューター又は単体のフラッシュメモリーは、基板上に実装（はんだ付け）された状態ではフラッシュメモリーライターに接続することができないので、その書き込み及び消去はできない。そのため、フラッシュメモリー内蔵マイクロコンピューターのＣＰＵ（central processing unit）を使ってフラッシュメモリーへデータ類を転送し、書き込み／消去を行う、ＣＰＵ書換え機能を持つフラッシュメモリー内蔵マイクロコンピューターが考えられている（例えば、特許文献１参照）。
【０００４】
図９は、そのようなＣＰＵ書換え機能を持った、従来のフラッシュメモリー内蔵マイクロコンピューターの構成例を示すブロック図である。従来のフラッシュメモリー内蔵マイクロコンピューターとしてのマイクロコンピューター１００は、ＣＰＵ１２と、フラッシュメモリー１４と、ＲＡＭ（random access memory）２６と、マスクＲＯＭ２８と、シリアル通信回路１８と、を含んでいる。
【０００５】
図９において、従来のフラッシュメモリー１４への書き込み時の制御フローを説明する。先ず、ステップＳ４０において、フラッシュメモリーライター８から、制御コマンド（書き込み、読み出し、消去、ベリファイ等）をマイクロコンピューター１００に対してシリアル通信で送信する。
【０００６】
次に、ステップＳ４２において、マイクロコンピューター１００内では、フラッシュメモリーライター８が接続されたことを示す接続信号によりＣＰＵ１２を制御しているプログラムは、フラッシュメモリーライター８が接続された接続モードに移行し、フラッシュメモリー１４へのデータ書き込み等の制御用のプログラムを実行ルーチンに遷移する。
次に、ステップＳ４４において、ＣＰＵ１２は、フラッシュメモリーライター８とのシリアル通信制御を開始する。
次に、ステップＳ４６において、ＣＰＵ１２は、送信されたコマンドを解析する。
次に、ステップＳ４８において、ＣＰＵ１２は、解析結果に基づいてフラッシュメモリー１４に対する処理を実行する（書き込み、読み出し、消去等）。
次に、ステップＳ５０において、書き込み終了後、フラッシュメモリーライター８をマイクロコンピューター１００から取り外した後は、ＣＰＵ１２は、通常動作モードになる。
次に、ステップＳ５２において、実行プログラムが格納されたフラッシュメモリー１４をアクセスして、プログラムにしたがって動作を開始する。なお、シリアル通信時に、データバッファーとしてＲＡＭ２６を使用することもある。
【０００７】
このようにフラッシュメモリー１４を内蔵したマイクロコンピューター１００において実装基板上で書き込みを行うオンボード書き込み時に、フラッシュメモリーライター８から送信されるフラッシュメモリー１４へのデータ書き込み等の制御コマンドをＣＰＵ１２に理解させてフラッシュメモリー１４へのデータ書き込み等の制御を行うための専用のフラッシュメモリー制御用ファームウェアが必要であった。
【０００８】
図１０は、従来のフラッシュメモリー内蔵マイクロコンピューターの構成例を示すブロック図である。
また、フラッシュメモリー１４を内蔵したマイクロコンピューター２００において、そのフラッシュメモリー１４に、例えば漢字フォントデータやキャラクタデータ、データ変換テーブル等が格納されている場合、通常動作時にＣＰＵ１２は頻繁にそのデータをリードアクセスすることがある。フラッシュメモリー１４へのリードアクセスは、通常ＳＲＡＭ、ＲＯＭへのアクセスよりも大きな電力を消費するため、動作時の消費電力が大きくなってしまう。同時に、アクセスタイムもフラッシュメモリーのほうが遅く、高速アクセスすることができなかった。例えば、プログラム格納用のフラッシュメモリー（１６ｂｉｔ幅）１４、データ格納用のフラッシュメモリー（４ｂｉｔ幅）３４のような２つのフラッシュメモリーを搭載する場合、チップサイズが増大してしまう。
【０００９】
そのような不都合を解消して、フラッシュメモリーを内蔵したマイクロコンピューターに関して、フラッシュメモリーに書き込まれた一部の頻繁にアクセスするデータ領域を、高速にアクセス可能な高密度のＳＲＡＭに、ＣＰＵから命令を受けたＤＭＡ（ダイレクトメモリーアクセス）回路がデータ転送を担う技術が開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平６−６０２００号公報
【特許文献２】特開２００７−２９３５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１によれば、当然そのファームウェアを格納するためのマスクＲＯＭ２８が必要となる。これにより、フラッシュメモリー１４へのデータ書き込み等の制御をＣＰＵ１２に実行させるための専用のファームウェアを格納するためのマスクＲＯＭ２８の面積が大きく、そのためにチップ全体の面積が大きくなるという問題があった（フラッシュメモリー１４を制御するためだけにその制御用ＲＯＭを持ちたくない）。
【００１２】
また、特許文献２によれば、ＣＰＵ１２がフラッシュメモリー１４への書き込み制御を行うため、フラッシュメモリー１４への書き込み制御時間がＣＰＵ１２の実行サイクルに依存しているので、低速システムクロックを用いている場合は、フラッシュメモリー１４へのデータ書き込み等の制御に時間がかかっていた。また、ＣＰＵ１２がデータの転送を担う場合、若しくはＣＰＵ１２から命令を受けたＤＭＡ回路がデータ転送を行う場合、その制御用のプログラムを新たに追加する必要がある。
【課題を解決するための手段】
【００１３】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【００１４】
［適用例１］電気的に書換え可能な不揮発性メモリーと、外部装置からの指示に基づいて前記不揮発性メモリーを書換え可能にする制御回路と、を含み、前記制御回路は、前記外部装置からのシリアルデータを受信するシリアル通信回路と、前記受信した前記シリアルデータを解析するコマンド解析回路と、前記解析された内容に応じて前記不揮発性メモリーの書換えのための手順制御を行う不揮発性メモリー制御回路と、を含むことを特徴とする集積回路装置。
【００１５】
これによれば、不揮発性メモリー書き込み制御用にハードウェアで構成された制御回路を集積回路装置に搭載することにより、不揮発性メモリーへの書き込み制御を行うためのファームウェアを必要としない。そのため従来の、それを格納するための専用のマスクＲＯＭも必要ないので、不揮発性メモリー書き込み制御用のファームウェアが内蔵されたプログラムＲＯＭ（マスクＲＯＭ）を削除できチップ面積の縮小化を実現できる。制御回路は単純な回路なため、ゲート規模は小さい。また、制御回路で実施するため不揮発性メモリーの書き込み制御の高速化が図られる。例えば、４ビットマイコンの場合、ＣＰＵのバス幅に依存するため４ビットずつ書込みしなくてはならないが、集積回路装置では１６ビット幅で書き込みが可能になる。また、従来は周波数３２ｋＨｚに同期してデータを読んだり書いたりしていたが、ＣＰＵの動作クロックに依存しないため外部装置からの外部クロック（例えば３ＭＨｚ）に同期させることができる。
【００１６】
［適用例２］上記集積回路装置であって、ＣＰＵをさらに含み、前記ＣＰＵは、前記不揮発性メモリーから読み出すデータに基づいて動作し、前記ＣＰＵが動作している間、前記制御回路は停止し、前記制御回路が動作している間、前記ＣＰＵは停止していることを特徴とする集積回路装置。
【００１７】
これによれば、ＣＰＵを介さないことで、不揮発性メモリーへの書き込み制御を行うためのファームウェアを必要としない。また、ＣＰＵが書き込み制御を行わず、制御回路で実施するため不揮発性メモリーの書き込み制御の高速化が図られる。
【００１８】
［適用例３］上記集積回路装置であって、前記制御回路が前記不揮発性メモリーに書き込むデータのビット幅は、前記ＣＰＵが前記不揮発性メモリーから読み出すビット幅より大きいことを特徴とする集積回路装置。
【００１９】
これによれば、例えば使用するＣＰＵが４ビット幅で不揮発性メモリーが１６ビット幅であった場合、ＣＰＵが書き込み制御をする場合は、４ビットずつ制御しなくてはいけなかったが、制御回路で制御する場合は、不揮発性メモリーに対応したビット幅でアクセスでき書き込み制御の高速化が図られる。書き込み動作だけでなく、データ読み出し／ベリファイ／消去においても同様である。
【００２０】
［適用例４］上記集積回路装置であって、ＲＡＭをさらに含み、前記制御回路は、前記ＲＡＭを制御するＲＡＭ制御回路をさらに含み、前記ＲＡＭ制御回路は、前記不揮発性メモリーに書き込むデータバッファーとして前記ＲＡＭを使用するための手順制御を行うことを特徴とする集積回路装置。
【００２１】
これによれば、不揮発性メモリーの書き込み制御の高速化が図られる。
【００２２】
［適用例５］上記集積回路装置であって、前記ＣＰＵと前記制御回路とは、駆動周波数が異なることを特徴とする集積回路装置。
【００２３】
これによれば、不揮発性メモリーの書き込み制御の高速化が図られる。
【００２４】
［適用例６］上記集積回路装置であって、前記ＲＡＭは、前記制御回路と前記ＣＰＵとで共有することを特徴とする集積回路装置。
【００２５】
これによれば、不揮発性メモリーの書き込み制御の高速化が図られる。
【００２６】
［適用例７］上記集積回路装置であって、前記制御回路は、初期化時に前記不揮発性メモリーから読み出したデータを前記ＲＡＭに書き込んでいることを特徴とする集積回路装置。
【００２７】
これによれば、不揮発性メモリーを内蔵した集積回路装置に関して、不揮発性メモリーに書き込まれた一部の頻繁にアクセスするデータ領域を、高速にアクセス可能な高密度のＲＡＭに転送するための、ハードウェアで構成された専用の制御回路を集積回路装置に搭載することにより、高速アクセス、低消費電力化、チップ面積の縮小化を実現する。
【００２８】
その不揮発性メモリーに例えば、漢字フォントデータやキャラクタデータ、データ変換テーブル等が格納されている場合、通常動作時にＣＰＵは頻繁にそのデータをリードアクセスすることがある。不揮発性メモリーへのリードアクセスは、通常ＲＡＭ、ＲＯＭへのアクセスよりも大きな電力を消費するため、動作時の消費電力が大きくなってしまう。同時に、アクセスタイムも不揮発性メモリーのほうが遅く、高速アクセスすることができなかった。また、例えば、プログラム格納用不揮発性メモリー（１６ｂｉｔ幅）、データ格納用不揮発性メモリー（４ｂｉｔ幅）のような２つの不揮発性メモリーを搭載する場合、チップサイズが増大してしまう。
【００２９】
［適用例８］上記集積回路装置であって、前記ＣＰＵは、初期化後に前記不揮発性メモリーと前記ＲＡＭとにアクセスして動作することを特徴とする集積回路装置。
【００３０】
これによれば、初期化後に高速にアクセス可能な高密度のＲＡＭにアクセスするため、高速アクセス、低消費電力化、チップ面積の縮小化を実現する。
【図面の簡単な説明】
【００３１】
【図１】第１の実施形態に係るマイクロコンピューターの概要を示す図。
【図２】第１の実施形態に係るハードウェアで構成されたフラッシュメモリー制御シーケンサー回路を用いてフラッシュメモリーへ書き込みを実施した場合の制御フローを説明するための図。
【図３】第１の実施形態に係るコマンド解析シーケンスを示す図。
【図４】第２の実施形態に係るマイクロコンピューターの構成を示す図。
【図５】第２の実施形態に係るフラッシュメモリー制御シーケンサー回路を用いた場合のマイクロコンピューターの動作を説明するための図。
【図６】第２の実施形態に係るフラッシュメモリー制御シーケンサー回路を用いた場合のマイクロコンピューターの動作を説明するための図。
【図７】第２の実施形態に係るフラッシュメモリー制御シーケンサー回路を用いた場合のマイクロコンピューターの動作を説明するための図。
【図８】本実施形態に係るマイクロコンピューターをマスクＲＯＭ製品にしたときの構成を示す図。
【図９】従来のフラッシュメモリー内蔵マイクロコンピューターの構成例を示すブロック図。
【図１０】従来のフラッシュメモリー内蔵マイクロコンピューターの構成例を示すブロック図。
【発明を実施するための形態】
【００３２】
以下、実施形態について図面を用いて詳細に説明する。本実施形態においては、集積回路装置の一例としてフラッシュメモリー内蔵のマイクロコンピューターを示す。
【００３３】
（第１の実施形態）
図１は、本実施形態に係るマイクロコンピューターの概要を示す図である。
【００３４】
本実施形態に係るマイクロコンピューター２は、制御回路としてのフラッシュメモリー制御シーケンサー回路１０と、演算処理装置であるＣＰＵ１２と、プログラム及びデータメモリーとして用いられる不揮発性メモリーとしてのフラッシュメモリー１４と、データメモリーとして用いられるＲＡＭ２６と、を含んでいる。
【００３５】
フラッシュメモリー制御シーケンサー回路１０は、シリアル通信回路１８と、コマンド解析回路２０と、不揮発性メモリー制御回路としてのフラッシュメモリー制御回路２２と、ＲＡＭ制御回路２４と、を備えている。フラッシュメモリー制御シーケンサー回路１０は、外部装置としてのフラッシュメモリーライター８（図２参照）からの指示に基づいてフラッシュメモリー１４を書換え可能にする。フラッシュメモリー１４は、電気的に書換え可能である。フラッシュメモリー制御シーケンサー回路１０は、初期化するとき、フラッシュメモリー１４から読み出したデータをＲＡＭ２６に書き込んでもよい。また、フラッシュメモリー制御シーケンサー回路１０は、フラッシュメモリーライター８から送られてくるデータをＲＡＭ２６に書き込んでもよい。
【００３６】
シリアル通信回路１８は、フラッシュメモリーライター８からのシリアルデータを受信する。シリアル通信回路１８は、フラッシュメモリーライター８とシリアル通信制御を行う。
【００３７】
コマンド解析回路２０は、シリアル通信回路１８が受信したシリアルデータを解析する。
【００３８】
フラッシュメモリー制御回路２２は、コマンド解析回路２０で解析された内容に応じてフラッシュメモリー１４の書換えのための手順制御を行う。
【００３９】
ＲＡＭ制御回路２４は、フラッシュメモリー１４に書き込むデータバッファーとしてＲＡＭ２６を使用するための手順制御を行う。ＲＡＭ制御回路２４では、シリアル通信時にデータバッファーとしてＲＡＭ２６を使用する。
【００４０】
ＣＰＵ１２は、フラッシュメモリー１４から読み出すデータに基づいて動作する。ＣＰＵ１２は、フラッシュメモリー制御シーケンサー回路１０が動作している間、停止している。また、ＣＰＵ１２が動作している間、フラッシュメモリー制御シーケンサー回路１０は停止している。ＣＰＵ１２は、初期化後にフラッシュメモリー１４とＲＡＭ２６とにアクセスして動作する。
【００４１】
フラッシュメモリー制御シーケンサー回路１０がフラッシュメモリー１４に書き込むデータのビット幅は、ＣＰＵ１２がフラッシュメモリー１４から読み出すビット幅より大きい。ＣＰＵ１２とフラッシュメモリー制御シーケンサー回路１０とは、駆動周波数が異なる。フラッシュメモリー制御シーケンサー回路１０とＣＰＵ１２とは、ＲＡＭ２６を共有している。
【００４２】
図２は、本実施形態に係るハードウェアで構成されたフラッシュメモリー制御シーケンサー回路１０を用いてフラッシュメモリー１４へ書き込みを実施した場合の制御フローを説明するための図である。
【００４３】
先ず、ステップＳ１０において、フラッシュメモリーライター８から、制御コマンド（書き込み、読み出し、消去、ベリファイ等）をマイクロコンピューター２に対してシリアル通信で送信する。
【００４４】
次に、ステップＳ１２において、マイクロコンピューター２内では、フラッシュメモリーライター８の接続信号によりＣＰＵ１２は停止状態を保持し、フラッシュメモリー制御シーケンサー回路１０のシリアル通信回路１８がシリアル通信の制御を開始する。
【００４５】
次に、ステップＳ１４において、フラッシュメモリー制御シーケンサー回路１０のコマンド解析回路２０は送信されたコマンドを解析する。
【００４６】
次に、ステップＳ１６において、フラッシュメモリー制御シーケンサー回路１０は解析結果に基づいてフラッシュメモリー制御回路２２でフラッシュメモリー１４に対する処理を実行する（書き込み、読み出し、消去等）。
【００４７】
次に、ステップＳ１８において、書き込み終了後、フラッシュメモリーライター８をマイクロコンピューター２から取り外した後は、フラッシュメモリー制御シーケンサー回路１０は停止状態になり、ＣＰＵ１２は通常状態モードになる。
【００４８】
次に、ステップＳ２０において、実行プログラムが格納されたフラッシュメモリー１４をアクセスして、プログラムにしたがって動作を開始する。なお、シリアル通信時に、データバッファーとしてＲＡＭ２６を使用することもある。
【００４９】
本実施形態によれば、図９に示したマスクＲＯＭ２８を削除できる。その分、チップ面積の縮小化が図られる。また、図２で示したように、フラッシュメモリー１４への制御はＣＰＵ１２によらず、フラッシュメモリー制御シーケンサー回路１０が担うので、高速制御が可能である。さらに、図９で示したシステムに比べて、データバス３０の周りの回路を簡素化できる。例えば、４ビットのデータバスによる１６ビットのフラッシュへの書き込みを、本実施形態ではフラッシュメモリー制御シーケンサー回路１０で独立にフラッシュメモリー１４への書き込み用のデータバス３０を作ることで簡略化されている。
【００５０】
次に、フラッシュメモリー制御シーケンサー回路１０の機能概要を説明する。
図３は、本実施形態に係るコマンド解析シーケンスを示す図である。
【００５１】
本実施形態に係るフラッシュメモリー制御シーケンサー回路１０は、下記に示す機能を有する。フラッシュメモリーライター８から送信されてくる以下のフラッシュメモリー１４へのコマンドプロトコルを限定的にサポートし、マイクロコンピューター２に内蔵されているフラッシュメモリー１４への書き込み、読み出し、消去動作を行う。例えば、コマンドデータが２２Ｈは、フラッシュメモリー１４への書き込みコマンドである。コマンドデータが２４Ｈは、フラッシュメモリー１４への読み出しコマンドである。コマンドデータが２８Ｈは、フラッシュメモリー１４への消去コマンドである。
【００５２】
マイクロコンピューター２へフラッシュメモリーライター８を接続した時は、フラッシュメモリーライター８から供給されるＳＣＬＫ（３．０７２ＭＨｚ）をマイクロコンピューター２の動作クロックとする。従来のＣＰＵ１２がフラッシュメモリー１４への書き込み等を制御する場合、そのＣＰＵ１２の動作クロック（低速クロック）で制御を行うため、フラッシュメモリー制御シーケンサー回路１０を使用する場合に比べて、制御に時間がかかっていた。
【００５３】
次に、本実施形態に係るコマンド解析シーケンスの主な状態を説明する。
図３に示すように、Ｓ１のイニシャル状態の状態は、フラッシュメモリー制御シーケンサー回路１０のイニシャル状態である。フラッシュメモリー制御シーケンサー回路１０はフラッシュメモリーライター８が接続しているかを判定している。
【００５４】
Ｓ２のフラッシュメモリー１４からＲＡＭ２６へのデータ転送状態では、フラッシュメモリーライター８が接続されておらず、通常状態でリセット解除された場合、フラッシュメモリー１４かＲＡＭ２６にデータが転送される。
【００５５】
Ｓ３の通常動作状態（フラッシュメモリー制御シーケンサー回路１０の停止状態）は、ＣＰＵ１２がプログラム実行している通常状態である。このとき、フラッシュメモリー制御シーケンサー回路１０は停止状態である。
【００５６】
Ｓ４のスタートキャラクター受信待ちの状態では、フラッシュメモリーライター８が接続され、フラッシュメモリーライター８からのデータ受信モードに移行する。はじめの状態は、フラッシュメモリーライター８からのデータ送信を確認するためのデータ群を待っている状態である。
【００５７】
Ｓ５のコマンド受信完了待ちの状態では、フラッシュメモリーライター８からのデータ送信を認識するためのデータ群を受信し、次に「ライト」、「リード」、「イレース」のうち何を実行するかのコマンドデータを待っている状態である。
【００５８】
Ｓ６のライトデータ受信完了待ちの状態では、「ライト」コマンドを受信し、ライトするためのデータが送信されてくるのを待っている状態である。このときにフラッシュメモリーライター８から送信されるデータを、ＣＰＵ１２が使用するＲＡＭ２６に一時的に保管することも可能である。
【００５９】
Ｓ８のイレース動作終了待ちの状態では、「イレース」コマンドを受信し、イレースを実施し、フラッシュメモリー１４がイレースされるのを待っている状態である。
【００６０】
Ｓ９のリードデータ送信完了待ちの状態では、「リード」コマンドを受信し、フラッシュメモリー１４からデータをリードし、そのデータを送信している状態である。
【００６１】
（変形例）
本実施形態のフラッシュメモリー制御シーケンサー回路１０は、ＣＰＵ１２を介さなくてもよいので、マイクロコンピューター２だけでなく、フラッシュメモリー１４の中に搭載することも可能である。その他のフラッシュメモリー内蔵のデバイスにも搭載することも可能である。
【００６２】
（第２の実施形態）
図４は、本実施形態に係るマイクロコンピューターの構成を示す図である。
【００６３】
本実施形態に係るハードウェアで構成されたフラッシュメモリー制御シーケンサー回路１０を用いた場合のマイクロコンピューター４の構成である。本実施形態では、フラッシュメモリー１４に書き込まれた任意のデータ領域を、高速にアクセス可能な高密度のエミュレーション用ＳＲＡＭ３２に転送するための、ハードウェアで構成された専用のフラッシュメモリー制御シーケンサー回路１０を搭載する。
【００６４】
図５〜図７は、本実施形態に係るフラッシュメモリー制御シーケンサー回路１０を用いた場合のマイクロコンピューター４の動作を説明するための図である。
先ず、図５に示すように、ステップＳ３０において、システムリセットが解除されたら、フラッシュメモリー制御シーケンサー回路１０が動作し、ステップＳ３２において、フラッシュメモリー１４に格納されている太枠で囲んだデータをリードして、そのデータをエミュレーション用ＳＲＡＭ３２に転送する。
【００６５】
次に、図６に示すように、ステップＳ３４において、データ転送が終了したらフラッシュメモリー制御シーケンサー回路１０はＣＰＵ１２に対するリセットを解除する。
【００６６】
次に、図７に示すように、ステップＳ３６において、リセット解除後、ＣＰＵ１２は通常動作を開始し、プログラム実行を行う。データは転送されたエミュレーション用ＳＲＡＭ３２に対してアクセスする。
【００６７】
本実施形態では、ＣＰＵ１２が頻繁にアクセスする任意のデータ領域を、回路全体へのシステムリセットが解除された直後にフラッシュメモリー制御シーケンサー回路１０がフラッシュメモリー１４からエミュレーション用ＳＲＡＭ３２にデータ転送する。転送中は、ＣＰＵ１２はリセット状態となるようにフラッシュメモリー制御シーケンサー回路１０が制御している。転送終了後、ＣＰＵ１２に対するリセット解除をフラッシュメモリー制御シーケンサー回路１０が制御する。リセット解除後ＣＰＵ１２は予め定められたアドレスにアサインされているエミュレーション用ＳＲＡＭ３２に対してデータをアクセスする（ＣＰＵ１２がリセット期間中にデータの自動転送がされている。ＣＰＵ１２は転送処理には介さない）。
【００６８】
ＣＰＵ１２は頻繁にフラッシュメモリー１４にアクセスすることなく、エミュレーション用ＳＲＡＭ３２に転送された、求めるデータにアクセスすることができる。これにより、通常動作時の消費電力を抑えることができ、また高速なデータアクセスを可能とする。
【００６９】
また、本実施形態の１つのプログラム＋データ格納用のフラッシュメモリー（（３２ＫＢ＋１ＫＢ）×１６ｂｉｔ幅）１４と１つのデータ格納用のエミュレーション用ＳＲＡＭ（４ＫＢ×４ｂｉｔ幅）３２を設けて、プログラム＋データ格納用のフラッシュメモリー１４に格納されている１ＫＢ×１６ｂｉｔのデータをエミュレーション用ＳＲＡＭ３２に転送して使用する構成のほうが、図１０に示すプログラム格納用のフラッシュメモリー（３２ＫＢ×１６ｂｉｔ幅）１４、データ格納用のフラッシュメモリー（４ＫＢ×４ｂｉｔ幅）３４のような２つのフラッシュメモリー１４，３４を搭載するより、チップに対する占有率を小さくできる。
【００７０】
本実施形態によれば、フラッシュメモリー３４（図１０参照）よりエミュレーション用ＳＲＡＭ３２のほうがメモリーサイズが小さいため、図１０で示した従来の構成より、チップ面積の縮小化が図れる。また、フラッシュメモリー３４に格納されたデータをアクセスするより、エミュレーション用ＳＲＡＭ３２に転送されたデータをアクセスするほうが高速にアクセス可能で、かつ動作時の消費電力的にも優位である。
【００７１】
図８は、本実施形態に係るマイクロコンピューターをマスクＲＯＭ製品にしたときの構成を示す図である。
上記で示した図４の構成をマスクＲＯＭ製品のための開発用途として使用している場合、図４に示した構成をマスクＲＯＭ化にした構成図は図８のようになる。マイクロコンピューター６は、プログラム格納用のマスクＲＯＭ３６と、データ格納用のマスクＲＯＭ３８と、を含んでいる。ＣＰＵ１２がデータの転送を担う場合、若しくはＣＰＵ１２から命令を受けたＤＭＡ回路（図示省略）がデータ転送を行う場合、その制御用のプログラムを新たに追加する必要があり、図８の構成のマスクＲＯＭ製品のマイクロコンピューター６には不要なプログラムとなる。そのため、その整合性を図るため、専用のフラッシュメモリー制御シーケンサー回路１０がＣＰＵ１２を介することなく自動的に転送するほうが効率がよい。また、ＣＰＵ１２自身がデータ転送を担ってもよいが、マイクロコンピューター２，４が量産目的のマスクＲＯＭ製品の開発用途として使用されている場合、ＣＰＵ１２が担うその転送動作のプログラムはマスクＲＯＭ製品に対しては必要のない制御であり、実用的でない。
【符号の説明】
【００７２】
２，４，６，１００，２００…マイクロコンピューター（集積回路装置）  ８…フラッシュメモリーライター（外部装置）  １０…フラッシュメモリー制御シーケンサー回路（制御回路）  １２…ＣＰＵ  １４…フラッシュメモリー（不揮発性メモリー）  １８…シリアル通信回路  ２０…コマンド解析回路  ２２…フラッシュメモリー制御回路（不揮発性メモリー制御回路）  ２４…ＲＡＭ制御回路  ２６…ＲＡＭ  ２８…マスクＲＯＭ  ３０…データバス  ３２…エミュレーション用ＳＲＡＭ  ３４…フラッシュメモリー  ３６，３８…マスクＲＯＭ。
【図１】
2011216046.tif 000003
【図２】
2011216046.tif 000004
【図３】
2011216046.tif 000005
【図４】
2011216046.tif 000006
【図５】
2011216046.tif 000007
【図６】
2011216046.tif 000008
【図７】
2011216046.tif 000009
【図８】
2011216046.tif 000010
【図９】
2011216046.tif 000011
【図１０】
2011216046.tif 000012