(57)【要約】【課題】  消去動作の進行が遅れることを防止し、メモリ部をアクセスするシステムの性能が低下することを防止する。【解決手段】  第２制御部は、第１制御部から発行される書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行する。第２制御部は、複数のメモリ部のいずれかに消去可能なメモリ部があるときに、書き込みコマンドに応答するメモリ部のいずれかの書き込み動作後に消去コマンドを発行する。さらに、第２制御部は、消去コマンドの発行から第１期間後に、書き込みコマンドに基づく書き込み完了通知を第１制御部に発行する。これにより、書き込み要求が頻繁に発生するときにも消去動作を確実に進めることができる。この結果、消去動作の進行が遅れることを防止でき、メモリ部をアクセスするシステムの性能が低下することを防止できる。【選択図】    図３
2009110150.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリ部と、
前記複数のメモリ部の各々にデータの書き込み要求を発行する第１制御部と、
前記書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行し、前記複数のメモリ部のいずれかに消去可能なメモリ部があるときに、前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に消去動作を実行するために消去コマンドを発行する第２制御部と
を有し、
前記第２制御部は、前記消去コマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記各メモリ部は、複数の記憶領域を含み、
前記第２制御部は、
順次発行される前記書き込み要求に基づいて前記記憶領域にデータを順次書き込むために複数の前記書き込みコマンドを発行し、
前記メモリ部のいずれかにおいて前記記憶領域に書き込まれたデータが不要になったとき、他のメモリ部のいずれかに前記書き込みコマンドを発行した後に、データが不要になったメモリ部の消去動作を実行するために前記消去コマンドを発行し、
前記記憶領域への前記消去コマンドの発行から前記第１期間後に、他のメモリ部のいずれかへの書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
【請求項３】
請求項１または請求項２記載の半導体装置において、
前記第２制御部は、前記第１期間中に、前記消去コマンドに応答して消去動作を開始したメモリ部に、消去動作を中断するサスペンドコマンドを発行することを特徴とする半導体装置。
【請求項４】
請求項１または請求項２記載の半導体装置において、
前記メモリ部を含む第１メモリブロックと、
前記第２制御部の動作を実現するためのプログラムが格納され、前記第１メモリブロックと独立に動作する第２メモリブロックと
を有し、
前記第２制御部は、前記メモリ部のいずれかが前記消去コマンドに応答して消去動作を実行しているときに、新たな書き込み要求に基づいて消去動作を実行していないメモリ部に前記書き込みコマンドを発行する前に、消去動作を中断するサスペンドコマンドを発行することを特徴とする半導体装置。
【請求項５】
請求項４記載の半導体装置において、
前記第２制御部は、
前記メモリ部のいずれかが前記消去コマンドに応答して消去動作を実行しているときに、新たな書き込み要求に基づいて消去動作を実行していないメモリ部に前記書き込みコマンドを発行する前に、消去動作を中断するサスペンドコマンドを発行し、
前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に、消去動作を再開するレジュームコマンドを発行し、
前記レジュームコマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
【請求項６】
請求項４記載の半導体装置において、
前記第２制御部は、
前記メモリ部のいずれかが前記消去コマンドに応答して消去動作を実行しているときに、新たな読み出し要求に基づいて消去動作を実行していないメモリ部に前記読み出しコマンドを発行する前に、消去動作を中断するサスペンドコマンドを発行し、
前記読み出しコマンドに応答する前記メモリ部のいずれかの読み出し動作後に、消去動作を再開するレジュームコマンドを発行し、
前記レジュームコマンドの発行から第１期間後に、前記読み出しコマンドに基づく読み出し完了通知を前記第１制御部に発行することを特徴とする半導体装置。
【請求項７】
前記複数のメモリ領域の各々にデータの書き込み要求を発行し、
前記書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行し、
前記複数のメモリ領域のいずれかに消去可能なメモリ領域があるときに、前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に消去動作を実行するために消去コマンドを発行し、
前記消去コマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの書き込みおよび消去が可能な半導体装置に関する。
【背景技術】
【０００２】
フラッシュメモリ等の不揮発性半導体メモリでは、メモリセルに保持される値は、例えば、消去動作により論理１になり、書き込み動作により論理０になる。一般に、消去動作は、セクタ等のブロック単位で実行され、時間が掛かる。消去動作を実行しているブロックは、書き込み動作および読み出し動作を実行できない。
【０００３】
近時、消去動作を中断および再開する機能を有し、消去動作を中断している間に、書き込み動作または読み出し動作を実行できるフラッシュメモリと、このフラッシュメモリの消去動作の中断、再開の制御手法が提案されている（例えば、特許文献１、特許文献２参照）。さらに、メモリセルアレイを複数のバンクに分割し、一方のバンクの消去動作中に、他方のバンクの読み出し動作を実行できるフラッシュメモリが提案されている（例えば、特許文献３参照）。
【特許文献１】特開平１１−２５０６７４号公報
【特許文献２】特開２００４−３０４３８号公報
【特許文献３】特開２０００−３２２８９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
消去動作を中断および再開する機能を有するフラッシュメモリでは、書き込み要求または読み出し要求の頻度が高くなり消去動作が頻繁に中断すると、消去動作が完了するまでの時間は長くなる。消去動作が完了する前にその領域に対する書き込み要求が発生すると、書き込み動作は、消去動作が完了するまで実施できない。これにより、フラッシュメモリをアクセスするシステムの動作が長期間停止すると、システムの性能が低下するという問題がある。
【０００５】
本発明の目的は、消去動作の進行が遅れることを防止し、メモリ部をアクセスするシステムの性能が低下することを防止することである。
【課題を解決するための手段】
【０００６】
第２制御部は、第１制御部から発行される書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行する。第２制御部は、複数のメモリ部のいずれかに消去可能なメモリ部があるときに、書き込みコマンドに応答するメモリ部のいずれかの書き込み動作後に消去コマンドを発行する。さらに、第２制御部は、消去コマンドの発行から第１期間後に、書き込みコマンドに基づく書き込み完了通知を第１制御部に発行する。
【発明の効果】
【０００７】
書き込み動作の完了から書き込み完了通知を発行するまでの間に消去動作の一部を実行できるため、書き込み要求が頻繁に発生するときにも消去動作を確実に進めることができる。消去動作の進行が遅れることを防止できるため、消去動作中のメモリ部に対して書き込み要求が発生することを未然に防止できる。この結果、消去動作の完了待ちが長時間に亘り発生することを防止でき、メモリ部をアクセスするシステムの性能が低下することを防止できる。
【発明を実施するための最良の形態】
【０００８】
以下、実施形態を図面を用いて説明する。図中、太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。信号が伝達される信号線には、信号名と同じ符号を使用する。
【０００９】
図１は、一実施形態を示している。半導体装置ＳＥＭは、例えば、ＣＰＵ、フラッシュメモリＦＬＡＳＨ（以下、ＦＬＡＳＨとも称する）およびＲＡＭを内蔵したシングルチップマイクロコンピュータである。ＣＰＵ、ＦＬＡＳＨおよびＲＡＭは、バスＢＵＳを介して互いに接続されている。ＦＬＡＳＨおよびＲＡＭのアドレス空間は、ＣＰＵによりアクセス可能なアドレス空間に割り当てられる。なお、半導体装置ＳＥＭは、タイマ、ＤＭＡＣ、シリアルインタフェース回路などの周辺回路を有していてもよい。特に図示していないが、半導体装置ＳＥＭは、入力装置、表示装置等に接続された基板に、他の半導体装置とともに搭載され、システム装置を構成する。
【００１０】
ＦＬＡＳＨは、コマンド制御回路ＣＣＮＴ、電圧生成回路ＶＧＥＮ、アドレス制御回路ＡＣＮＴ、データ制御回路ＤＣＮＴおよびメモリセルアレイＡＲＹを有している。コマンド制御回路ＣＣＮＴは、ＣＰＵからのコマンド信号ＣＭＤ、アドレス信号ＡＤおよびデータ信号ＤＱをコマンドとして受け、受けたコマンドを解読し、メモリセルアレイＡＲＹのアクセスを制御する制御信号ＣＮＴと、電圧生成回路ＶＧＥＮ、アドレス制御回路ＡＣＮＴ、データ制御回路ＤＣＮＴの動作を制御する制御信号を生成する。コマンド制御回路ＣＣＮＴが受けるコマンド信号（動作コマンド）として、消去コマンド、書き込みコマンド（プログラムコマンド）、読み出しコマンド、サスペンドコマンド、レジュームコマンド等がある。サスペンドコマンドは、消去動作を一時停止するコマンドである。レジュームコマンドは、停止している消去動作を再開するコマンドである。動作コマンドの詳細は、図２以降で説明する。
【００１１】
電圧生成回路ＶＧＥＮは、消去動作や書き込み動作で使用する高電圧Ｖ１を、電源電圧を用いて生成する。電源電圧は、半導体装置ＳＥＭの外部から供給される。アドレス制御回路ＡＣＮＴは、コマンド信号ＣＭＤとともにＣＰＵから供給されるアドレス信号ＡＤを受け、受けた信号をアドレス信号ＡＤ１としてメモリセルアレイＡＲＹに出力する。データ制御回路ＤＣＮＴは、コマンド信号ＣＭＤ（書き込みコマンド）とともにＣＰＵから供給されるデータ信号ＤＱを受け、受けた信号をデータ信号ＤＴとしてメモリセルアレイＡＲＹに出力する。また、データ制御回路ＤＣＮＴは、コマンド信号ＣＭＤ（読み出しマンド）に応じてメモリセルアレイＡＲＹから出力されるデータ信号ＤＴを受け、受けた信号をバスＢＵＳに出力する。
【００１２】
メモリセルアレイＡＲＹは、例えば、複数のセクタＳＥＣ（ＳＥＣ０−５；メモリ部）を有している。各セクタＳＥＣ０−５は、いわゆるＮＯＲ構造に配置された不揮発性メモリセルを有している。不揮発性メモリセルは、フローティングゲートタイプや電荷をトラップするトラップゲートタイプ（ミラービットタイプ）である。例えば、セクタＳＥＣ０−１は、データを格納するために使用される。セクタＳＥＣ２−５は、ＣＰＵが実行するプログラムを格納するために使用される。この実施形態では、セクタＳＥＣ０−５は、コマンド制御回路ＣＣＮＴが生成する１つの制御信号群ＣＮＴによりアクセスされる。このため、セクタＳＥＣのいずれかがアクセス動作（消去動作、書き込み動作または読み出し動作）を実行しているとき、残りのセクタＳＥＣはアクセス動作を実行できない。なお、ここでは、説明を簡単にするために、メモリセルアレイＡＲＹが６個のセクタＳＥＣを有する例を示しているが、セクタＳＥＣの数は、これに限定されない。
【００１３】
ＣＰＵは、第１制御部ＣＮＴ１および第２制御部ＣＮＴ２を有している。第１および第２制御部ＣＮＴ１−２は、論理回路（ハードウエア）で実現されてもよく、ＣＰＵが実行するプログラム（ソフトウエア）により実現されてもよい。あるいは、第１および第２制御部ＣＮＴ１−２は、制御回路と、この論理回路を制御するプログラムとにより実現されてもよい。
【００１４】
第１制御部ＣＮＴ１は、セクタＳＥＣ０−１のアクセス要求を第２制御部ＣＮＴ２に発行する。例えば、アクセス要求は、図３から図５に示す書き込み要求ＷＲＥＱ、読み出し要求ＲＲＥＱおよびパワーオフ要求ＰＯＦＦである。第１制御部ＣＮＴ１がソフトウエアにより実現されるとき、第１制御部ＣＮＴ１は、ＣＰＵが実行するプログラム（アプリケーションプログラムなど）に含まれるアクセス要求（ロード命令またはストア命令など）に応じて、第２制御部ＣＮＴ２にアクセス要求（アクセス要求パケットなど）を発行する。第１制御部ＣＮＴ１がハードウエアにより実現されるとき、第１制御部ＣＮＴ１は、ＣＰＵの外部から供給されるＦＬＡＳＨのアクセス要求（割り込みなど）に応じて、第２制御部ＣＮＴ２にアクセス要求を発行する。
【００１５】
第２制御部ＣＮＴ２は、第１制御部ＣＮＴ１からのアクセス要求に基づいてアクセスコマンドをＦＬＡＳＨに発行する。アクセスコマンドは、図３から図５に示す書き込みコマンドＷＣおよび読み出しコマンドＲＣである。また、第２制御部ＣＮＴ２は、ＦＬＡＳＨの動作状態に応じて、図３から図５に示すポーリングコマンドＰＬ、消去コマンドＥＣ、サスペンドコマンドＳＵおよびレジュームコマンドＲＥをＦＬＡＳＨに発行する。ポーリングコマンドＰＬは、読み出しコマンドの一種であり、ＦＬＡＳＨの動作状態をモニタするためのコマンドである。サスペンドコマンドＳＵは、消去動作を一時的に中断するためのコマンドである。レジュームコマンドＲＥは、中断している消去動作を再開するためのコマンドである。
【００１６】
第２制御部ＣＮＴ２がソフトウエアにより実現されるとき、第２制御部ＣＮＴ２は、ＦＬＡＳＨのアクセスを制御するドライバソフトウエア（ＦＬＡＳＨのアクセス管理プログラム）として機能する。第２制御部ＣＮＴ２は、第１制御部ＣＮＴ１からのアクセス要求（アクセス要求パケットなど）に応じて、ＦＬＡＳＨにアクセスコマンドを発行する。第２制御部ＣＮＴ２がハードウエアにより実現されるとき、第２制御部ＣＮＴ２は、ＦＬＡＳＨのアクセスを制御するメモリコントローラとして機能する。第２制御部ＣＮＴ２は、第１制御部ＣＮＴ１からのアクセス要求（トリガ信号など）に応じて、ＦＬＡＳＨにアクセスコマンドを発行する。
【００１７】
ＲＡＭは、データまたはＣＰＵが実行するプログラムを格納するために使用される。特に、第１および第２制御部ＣＮＴ１−２の少なくとも一部がソフトウエアにより実現されるとき、ＣＰＵは、ＦＬＡＳＨの消去動作中にセクタＳＥＣ２−５に格納されたプログラムをフェッチできない。このとき、ＣＰＵは、ＲＡＭに格納されたプログラムをフェッチしてのＦＬＡＳＨの動作状態を確認する。
【００１８】
図２は、図１に示したメモリセルアレイＡＲＹのアクセスの例を示している。ここでは、説明を簡単にするために、セクタＳＥＣ０（第１領域）が４つの記憶領域ＭＲ（ＭＲ０１−０４）で構成され、セクタＳＥＣ１（第２領域）が４つの記憶領域ＭＲ（ＭＲ１１−１４）で構成される例を示しているが、記憶領域の数はこれに限定されない。各記憶領域ＭＲは、書き込みまたは読み出しの最小単位であり、例えば、１６ビットで構成される。網掛けの記憶領域ＭＲは、データが書き込まれた状態を示し、白い記憶領域ＭＲは、消去されていることを示し、斜線の記憶領域ＭＲは、消去中を示している。
【００１９】
フラッシュメモリ等の不揮発性半導体メモリでは、消去状態（例えば論理１）のメモリセルをプログラムすることで、メモリセルは書き込み状態（例えば論理０）に変更される。書き込み状態から消去状態に変更するための消去動作は、セクタＳＥＣ単位で実行される。このため、各セクタＳＥＣ０−１において、書き込み状態の記憶領域ＭＲに新たなデータを書き込むときに、そのセクタＳＥＣのデータを消去する必要がある。
【００２０】
図の例では、データは、セクタＳＥＣ０−１に順次に保持される。第２制御部ＣＮＴ２は、書き込みアドレスおよび書き込みデータ等とともに書き込み要求ＷＲＥＱを受ける毎に、書き込みコマンドＷＣ、書き込みアドレスおよび書き込みデータをＦＬＡＳＨに出力し、書き込みデータを書き込みアドレスが示す記憶領域ＭＲに書き込む。さらに、第２制御部ＣＮＴ２は、一方のセクタＳＥＣにおいて、最初の記憶領域ＭＲ（ＭＲ０１またはＭＲ１１）にデータを書き込んだ後、他方のセクタＳＥＣのデータが不要になったと判断し、他方のセクタＳＥＣのデータを消去するためにＦＬＡＳＨに消去コマンドＥＣを出力する（例えば、図２（ａ、ｂ））。すなわち、第２制御部ＣＮＴ２は、セクタＳＥＣのいずれかが消去可能になったとき、そのセクタに対して消去コマンドＥＣを発行する。
【００２１】
例えば、図に示したアクセスは、自動車のエンジンを制御するためのシステム装置の動作の一部を示している。具体的には、エンジンを制御するために設計された第１制御部ＣＮＴ１（例えば、アプリケーションプログラム）は、エンジンの回転数、自動車の速度、燃料の消費量などの情報を周期的にモニタし、モニタにより得られたデータをＦＬＡＳＨに順次書き込むために、書き込み要求ＷＲＥＱを発行する。例えば、モニタは、５ｍｓ毎に行われ、書き込み要求ＷＲＥＱは、ＦＬＡＳＨの書き込み状態に応じて、１０−５０ｍｓ毎に発行される。また、第１制御部ＣＮＴ１は、ＦＬＡＳＨに書き込まれたデータを読み出し、読み出したデータを、最適なエンジン出力が得られるように点火系にフィードバックする。
【００２２】
第１制御部ＣＮＴ１からの要求に応じてＦＬＡＳＨを実際にアクセスする第２制御部ＣＮＴ２（例えば、アクセス管理プログラム）は、データをセクタＳＥＣ０−１に巡回的に書き込むために、セクタＳＥＣ０−１の書き込み、消去を管理する。そして、一方のセクタＳＥＣに全ての記憶領域ＭＲにデータを書き込み、他方のセクタＳＥＣの記憶領域の１つにデータを書き込んだときに、一方のセクタＳＥＣのデータを消去するために消去コマンドＥＣを発行する。一般に、フラッシュメモリのセクタの消去時間は、数百ｍｓである。この消去時間は、書き込み要求ＷＲＥＱの最大間隔（５０ｍｓ）より長い。このため、第２制御部ＣＮＴ２は、図示しないサスペンドコマンドおよびレジュームコマンドを用いて消去動作を一時的停止している間に書き込みコマンドＷＣを発行する。書き込み要求ＷＲＥＱの頻度が高いとき、一方のセクタＳＥＣの消去動作が完了する前に、他方のセクタＳＥＣの全ての記憶領域ＭＲにデータが書き込まれてしまう。一方で、消去動作が完了する前のセクタＳＥＣに新たなデータは書き込むことはできない。このため、第２制御部ＣＮＴ２は、着目するセクタＳＥＣに対応する書き込み要求ＷＲＥＱを受ける前に、このセクタＳＥＣの消去動作を完了する必要がある。
【００２３】
なお、一方のセクタＳＥＣに対する消去コマンドＥＣの発行タイミングは、他方のセクタＳＥＣに複数回のデータの書き込みが実行されたときでもよい。あるいは、他方のセクタＳＥＣに最初のデータが書き込まれる前に、一方のセクタＳＥＣに消去コマンドを発行してもよい。また、一方のセクタＳＥＣに書き込まれたデータのいくつかを、他方のセクタＳＥＣに予備的に書き込んでもよい。
【００２４】
図３および図４は、図１に示した半導体装置ＳＥＭの動作の例を示している。なお、図では、アドレス信号およびデータ信号の受け渡しは、記載を省略している。記憶領域ＭＲの網掛け等は、図２と同じ意味である。太い実線は、第１制御部ＣＮＴ１、第２制御部ＣＮＴ２およびＦＬＡＳＨの動作期間を示している。例えば、第１制御部ＣＮＴ１の動作は、ＣＰＵがアプリケーションプログラムを実行する期間である。第２制御部ＣＮＴ２の動作は、ＣＰＵがＦＬＡＳＨのセクタＳＥＣ２−５に格納されたアクセス管理プログラムを実行する期間である。第２制御部ＣＮＴ２内の太い破線は、ＣＰＵがＲＡＭに格納されたアクセス管理プログラムを実行する期間である。ＦＬＡＳＨが書き込み動作ＷＲまたは消去動作ＥＲを実行している間、ＣＰＵは、ＦＬＡＳＨのセクタＳＥＣ２−５に格納されたプログラムを読み出すことができない。このため、ＣＰＵは、書き込み動作ＷＲの完了をモニタするためのポーリング処理（ポーリングコマンドＰＬ）および消去動作ＥＲを中断するためのサスペンド処理（サスペンドコマンドＳＵ）を、ＲＡＭに格納されたプログラムをフェッチすることで実施する。
【００２５】
図の始まりにおいて、セクタＳＥＣ０の記憶領域ＭＲ０１−０３にデータが書き込まれている。セクタＳＥＣ１（ＭＲ１１−１４）は消去済みである。第１制御部ＣＮＴ１は、新たに得たデータをＦＬＡＳＨの記憶領域ＭＲ０４に書き込むために書き込み要求ＷＲＥＱを発行する（図３（ａ））。例えば、第１制御部ＣＮＴ１の機能がアプリケーションプログラムにより実現されるとき、プログラムは、書き込み要求ＷＲＥＱ、書き込みアドレスおよび書き込みデータ等のパラメータをレジスタまたはワークエリアに設定した後、アクセス管理プログラム中の書き込み関数プログラムにサブルーチンコールする。後述する読み出し要求ＲＲＥＱの処理も同様である。
【００２６】
第２制御部ＣＮＴ２（アクセス管理プログラム）は、第１制御部ＣＮＴ１からの書き込み要求ＷＲＥＱに基づいて、ＦＬＡＳＨに書き込みコマンドＷＣ（プログラムコマンド）を発行する（図３（ｂ））。図の４本の矢印は、書き込み動作を開始するために４バスサイクルが必要なことを示している。書き込みコマンドＷＣは、書き込みアドレスおよび書き込みデータを含んでいる。書き込みコマンドＷＣおよび消去コマンドＥＣ等のＮＯＲ型フラッシュメモリのコマンドシーケンスは、公知のため、詳細な説明は省略する。ＦＬＡＳＨは、書き込みコマンドＷＣに応答して書き込み動作ＷＲを開始する（図３（ｃ））。
【００２７】
第２制御部ＣＮＴ２は、書き込み動作ＷＲの完了を検出するために、ポーリングコマンドＰＬ（読み出しコマンドの一種）を周期的にＦＬＡＳＨに発行する（図３（ｄ））。この時点で中断中の消去動作および消去動作が必要なセクタＳＥＣは存在しないため、第２制御部ＣＮＴ２は、書き込み動作ＷＲの完了に応答して、書き込み動作ＷＲの完了通知ＷＥＮＤを第１制御部ＣＮＴ１に発行する（図３（ｅ））。具体的には、元のアプリケーションプログラムにリターンする。これにより、制御は、第１制御部ＣＮＴ１に移される。
【００２８】
次に、第１制御部ＣＮＴ１は、新たに得たデータをＦＬＡＳＨの記憶領域ＭＲ１１に書き込むために書き込み要求ＷＲＥＱを発行する（図３（ｆ））。この後、書き込み動作ＷＲの完了までの処理は、上述と同じである。セクタＳＥＣ０の全ての記憶領域ＭＲ０１−０３にデータが書き込まれており、セクタＳＥＣ１の最初の記憶領域ＭＲ１１にデータが書き込まれたため、第２制御部ＣＮＴ２は、まずセクタＳＥＣ１に対して消去コマンドＥＣを発行する（図３（ｇ））。この後、第２制御部ＣＮＴ２は、完了通知ＷＥＮＤをすぐに発行せずに第１期間Ｐ１だけ待つ（図３（ｈ））。第１期間Ｐ１は、例えば、第２制御部ＣＮＴ２がＮＯＰ命令を所定の回数繰り返すことで生成される。
【００２９】
期間Ｐ１の後、第２制御部ＣＮＴ２は、ＦＬＡＳＨにサスペンドコマンドＳＵを発行し、消去動作ＥＲを中断する（図３（ｉ））。消去動作ＥＲは、期間Ｐ１だけ実行される。さらに、第２制御部ＣＮＴ２は、完了通知ＷＥＮＤを第１制御部ＣＮＴ１に発行する（図３（ｊ））。
【００３０】
次に、第１制御部ＣＮＴ１は、新たに得たデータをＦＬＡＳＨの記憶領域ＭＲ１２に書き込むために書き込み要求ＷＲＥＱを発行する（図３（ｋ））。この後、書き込み動作ＷＲの完了までは、上述と同じである。第２制御部ＣＮＴ２は、書き込み動作ＷＲの完了後、消去動作ＥＲを再開するためにレジュームコマンドＲＥをＦＬＡＳＨに発行する（図３（ｌ））。この後、上述と同様に、第２制御部ＣＮＴ２は、期間Ｐ１だけウエイトし、サスペンドコマンドＳＵをＦＬＡＳＨに発行する（図３（ｍ、ｎ））。そして、第２制御部ＣＮＴ２は、完了通知ＷＥＮＤを第１制御部ＣＮＴ１に発行する（図３（ｏ））。これにより、消去動作ＥＲは、期間Ｐ１だけ実行される。
【００３１】
次に、図４において、第１制御部ＣＮＴ１は、例えば、記憶領域ＭＲ０２に保持されたデータを読み出すために読み出し要求ＲＲＥＱを発行する（図４（ａ））。第２制御部ＣＮＴ２は、読み出し要求ＲＲＥＱに基づいて、ＦＬＡＳＨに読み出しコマンドＲＣを発行する（図４（ｂ））。読み出しコマンドＲＣは、読み出しアドレスを含んでいる。ＦＬＡＳＨは、読み出しコマンドＲＣに応答して読み出し動作ＲＤを実行する（図４（ｃ））。
【００３２】
第２制御部ＣＮＴ２は、読み出し動作ＲＤの完了後、消去動作ＥＲを再開するためにレジュームコマンドＲＥをＦＬＡＳＨに発行する（図４（ｄ））。この後、上述と同様に、第２制御部ＣＮＴ２は、期間Ｐ１だけウエイトし、サスペンドコマンドＳＵをＦＬＡＳＨに発行し、読み出し動作ＲＤの完了通知ＲＥＮＤを第１制御部ＣＮＴ１に発行する（図４（ｅ、ｆ、ｇ））。これにより、消去動作ＥＲは、期間Ｐ１だけ実行される。
【００３３】
次に、第１制御部ＣＮＴ１は、新たに得たデータをＦＬＡＳＨの記憶領域ＭＲ１３に書き込むために書き込み要求ＷＲＥＱを発行する（図４（ｈ））。この後、完了通知ＷＥＮＤが発行されるまでは、セクタＳＥＣ０の消去動作ＥＲが完了することを除き、上述と同じである。なお、第２制御部ＣＮＴ２は、消去動作ＥＲの完了タイミングを検出するために、期間Ｐ１中にポーリングコマンドＰＬをＦＬＡＳＨに発行してもよい。この場合、消去動作ＥＲの完了後、直ちに完了通知ＷＥＮＤを発行できる。
【００３４】
次に、第１制御部ＣＮＴ１は、新たに得たデータをＦＬＡＳＨの記憶領域ＭＲ１４に書き込むために書き込み要求ＷＲＥＱを発行する（図４（ｉ））。第２制御部ＣＮＴ２は、上述と同様に、ＦＬＡＳＨに書き込みコマンドＷＣおよびポーリングコマンドＰＬを発行する（図４（ｊ、ｋ））。この時点で中断中の消去動作および消去が必要なセクタＳＥＣが存在しない。このため、第２制御部ＣＮＴ２は、レジュームコマンドＲＥおよび消去コマンドＥＣを発行することなく、さらに期間Ｐ１を待つことなく、完了通知ＷＥＮＤを第１制御部ＣＮＴ１に発行する（図４（ｌ））。
【００３５】
図５は、図１に示した半導体装置ＳＥＭのパワーオフ時の動作の例を示している。第１制御部ＣＮＴ１は、半導体装置ＳＥＭが搭載されるシステム装置の電源が遮断されるとき、第２制御部ＣＮＴ２にパワーオフ要求ＰＯＦＦを発行する（図５（ａ））。パワーオフ要求ＰＯＦＦが発行されるまでの動作は、図３および図４と同じである。
【００３６】
第１制御部ＣＮＴ１は、パワーオフ要求ＰＯＦＦに基づいて、消去動作ＥＲを再開するために、ＦＬＡＳＨにレジュームコマンドＲＥを発行する（図５（ｂ））。第１制御部ＣＮＴ１は、消去動作ＥＲの完了を検出するまで、ＦＬＡＳＨにポーリングコマンドＰＬを周期的に発行する（図５（ｃ））。第２制御部ＣＮＴ２は、消去動作ＥＲの完了の検出に同期して、消去動作ＥＲの完了通知ＥＥＮＤを第１制御部ＣＮＴ１に発行する（図５（ｄ））。これにより、消去動作ＥＲの途中に電源の供給が停止することを防止でき、ＦＬＡＳＨが誤動作することを防止できる。
【００３７】
図６は、図１に示した第２制御部ＣＮＴ２の動作を示している。第２制御部ＣＮＴ２がソフトウエアで実現されるとき、図６のフローにしたがってプログラムが設計される。第２制御部ＣＮＴ２がハードウエアで実現されるとき、図６のフローが回路記述に置き換えられ、論理回路が設計される。図６のフローは、図４から図６の動作をまとめたものである。
【００３８】
第２制御部ＣＮＴ２は、書き込み要求ＷＲＥＱに基づいて、動作１０において、ＦＬＡＳＨの記憶領域にデータを書き込む。第２制御部ＣＮＴ２は、動作１２において、消去動作ＥＲを開始する必要があるか否かを判定する。消去動作ＥＲを開始する必要があるとき、第２制御部ＣＮＴ２は、動作１４において、ＦＬＡＳＨに消去コマンドＥＣを発行し、消去動作ＥＲを開始する。消去動作ＥＲが不要なとき、第２制御部ＣＮＴ２は、動作１６において、ＦＬＡＳＨがサスペンド中か否かを判定する。サスペンド中のとき、動作１８において、第２制御部ＣＮＴ２は、ＦＬＡＳＨにレジュームコマンドＲＥを発行し、消去動作ＥＲを再開する。サスペンド中でないとき、第２制御部ＣＮＴ２の動作を終了し、第１制御部ＣＮＴ１の動作に復帰する（ＲＥＴＵＲＮ）。図中の”ＲＥＴＵＲＮ”は、図３から図５に示した完了通知ＷＥＮＤ、ＲＥＮＤまたはＥＥＮＤのいずれかを示す。
【００３９】
消去動作ＥＲが開始され、または再開されたとき、第２制御部ＣＮＴ２は、動作２０において、期間Ｐ１だけ待つ。次に、動作２２において、第２制御部ＣＮＴ２は、消去動作ＥＲを中断するために、ＦＬＡＳＨにサスペンドコマンドＳＵを発行する。
【００４０】
一方、第２制御部ＣＮＴ２は、読み出し要求ＲＲＥＱに基づいて、動作２４において、ＦＬＡＳＨに読み出しコマンドＲＣを発行し、記憶領域ＭＲのいずれかからデータを読み出す。この後、動作２６から動作３２において、上述した動作１６から動作２２と同様に、第２制御部ＣＮＴ２は、ＦＡＬＳＨがサスペンド中のときにレジュームコマンドＲＥを発行し、消去動作ＥＲを再開し、期間Ｐ１待った後サスペンドコマンドＳＵを発行する。サスペンド中でないとき、第２制御部ＣＮＴ２の動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。なお、動作２６から動作３２の制御は、実施しなくてもよい。すなわち、期間Ｐ１は、書き込み要求ＷＲＥＱのみに応答して確保されてもよい。
【００４１】
さらに、第２制御部ＣＮＴ２は、パワーオフ要求ＰＯＦＦに基づいて、動作３４において、ＦＬＡＳＨがサスペンド中か否かを判定する。サスペンド中のとき、動作３６において、第２制御部ＣＮＴ２は、ＦＬＡＳＨにレジュームコマンドＲＥを発行し、消去動作ＥＲを再開する。サスペンド中でないとき、第２制御部ＣＮＴ２の動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。第２制御部ＣＮＴ２は、動作３８において、消去動作ＥＲの完了を検出するまで、ＦＬＡＳＨにポーリングコマンドＰＬを繰り返し発行する。そして、第２制御部ＣＮＴ２の動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。
【００４２】
図７は、図１に示した第２制御部ＣＮＴ２が提案される前の半導体装置ＳＥＭの動作の例を示している。図３および図４と同じ動作については、詳細な説明は省略する。この例においても、第１制御部ＣＮＴ１は、図３および図４と同様に、記憶領域ＭＲ１１−１４にデータを書き込むために、書き込み要求ＷＲＥＱを順次に発行する。第２制御部ＣＮＴ２は、書き込み動作ＷＲ後にＦＬＡＳＨに消去コマンドＥＣまたはレジュームコマンドＲＥを発行する（図７（ａ、ｂ、ｃ、ｄ））。この後、第２制御部ＣＮＴ２は、完了通知ＷＥＮＤを第１制御部ＣＮＴ１に発行する（図７（ｅ、ｆ、ｇ、ｈ））。但し、第２制御部ＣＮＴ２は、期間Ｐ１を待たずに完了通知ＷＥＮＤを発行する。
【００４３】
第１制御部ＣＮＴ１は、図３および図４と同様に、完了通知ＷＥＮＤを受けた後、書き込み要求ＷＲＥＱを発行する（図７（ｉ、ｊ、ｋ、ｌ））。第２制御部ＣＮＴ２は、新たな書き込み要求ＷＲＥＱに基づいて、ＦＬＡＳＨの消去動作ＥＲを中断するためにＦＬＡＳＨにサスペンドコマンドＳＵを発行し、書き込み動作ＷＲを実行するために、ＦＬＡＳＨに書き込みコマンドＷＣを発行する（図７（ｍ、ｎ、ｏ））。
【００４４】
しかし、この例では、期間Ｐ１がないため、消去動作ＥＲが開始または再開されてから中断するまでの期間は短い。このため、一方のセクタＳＥＣ（この例では、ＳＥＣ０）の消去動作ＥＲが完了する前に、他方のセクタＳＥＣ（この例では、ＳＥＣ１）の全ての記憶領域ＭＲ１１−１４にデータが書き込まれてしまう（図７（ｐ））。第２制御部ＣＮＴ２は、セクタＳＥＣ０の記憶領域ＭＲ０１にデータを書き込むための書き込み要求ＷＲＥＱを受けても、セクタＳＥＣ０の消去動作ＥＲが完了するまで、書き込みコマンドＷＣを発行できない（図７（ｑ））。この結果、ＦＬＡＳＨにデータを書き込みできない期間が発生してしまう。換言すれば、消去完了を待つための長い期間が発生し、見かけ上の消去期間が長くなってしまう。最悪の場合、半導体装置ＳＥＭが搭載されるシステム装置の動作が長期間停止してしまう。
【００４５】
以上、この実施形態では、消去コマンドＷＣまたはレジュームコマンドＲＥの発行から完了通知ＷＥＮＤまたはＲＥＮＤを発行するまでの間に、タイムラグＰ１を設定することにより、書き込み動作ＷＲまたは読み出し動作ＲＤの完了後に、消去動作ＥＲを比較的長い期間実行できる。したがって、書き込み要求ＷＲＥＱが頻繁に発生するときにも消去動作ＥＲを確実に進めることができる。消去動作ＥＲの進行が遅れることを防止できるため、消去動作ＥＲ中のセクタＳＥＣに対して書き込み要求ＷＲＥＱが発生することを未然に防止できる。この結果、ＦＬＡＳＨをアクセスするシステム装置の性能が低下することを防止できる。
【００４６】
図８は、別の実施形態を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、ＣＰＵは、期間Ｐ１の長さを設定するための値を保持するレジスタＰ１ＲＥＧを有している。レジスタＰ１ＲＥＧの値は、第１制御部ＣＮＴ１がレジスタ設定コマンドＲＥＧＳを発行することにより書き換えられる。第２制御部ＣＮＴ２は、レジスタＰ１ＲＥＧに保持されている値に基づいて期間Ｐ１を設定する。その他の構成は、図１と同じである。レジスタＰ１ＲＥＧが半導体装置ＳＥＭのパワーオン時に１回だけ設定されるとき、期間Ｐ１は一定の長さであり、半導体装置ＳＥＭの動作は、図３から図５と同じである。
【００４７】
図９は、図８に示した半導体装置ＳＥＭの動作の例を示している。図３との違いは、第１制御部ＣＮＴ１からレジスタ設定コマンドＲＥＧＳが発行され、レジスタＰ１ＲＥＧの値が書き換えられることにより、期間Ｐ１が変更されることである。その他の動作は、期間Ｐ１の長さが異なることを除き、図３と同じである。
【００４８】
以上、この実施形態においても、図１から図６に示した実施形態と同様の効果を得ることができる。さらに、この実施形態では、消去動作ＥＲの継続期間である期間Ｐ１を変更することにより、書き込み要求ＷＲＥＱの発生頻度と、消去動作ＥＲの継続時間とのバランスを常に最適に設定できる。この結果、図７のように消去動作ＥＲが長期間続くことを防止でき、半導体装置ＳＥＭが搭載されるシステム装置の動作が停止することを防止できる。また、セクタＳＥＣ０−１に書き込まれるデータがオーバーフローすることを防止できる。特に、書き込み要求ＷＲＥＱの頻度が高くなることが予想されるときに、頻度が高くなる前に期間Ｐ１を長くすることで、書き込み要求ＷＲＥＱの頻度が高くなったときに見かけ上の消去期間が長くなることを防止できる。
図１０は、別の実施形態を示している。上述した実施形態で説明した要素と同一の要素については、詳細な説明を省略する。この実施形態の半導体装置ＳＥＭは、第２制御部ＣＮＴ２およびフラッシュメモリＦＬＡＳＨが図１と相違している。その他の構成は、図１と同じである。すなわち、半導体装置ＳＥＭは、入力装置、表示装置等に接続された基板に、他の半導体装置とともに搭載され、システム装置を構成する。第２制御部ＣＮＴ２の動作は、図１１から図１４に示す。
【００４９】
ＦＬＡＳＨのメモリセルアレイＡＲＹは、バンクＢＫＡ（第１メモリブロック）およびバンクＢＫＢ（第２メモリブロック）を有している。バンクＢＫＡは、２つのセクタＳＥＣＡ（ＳＥＣＡ０−１）を有している。セクタＳＥＣＡ０−１の構成は、図１および図２に示したセクタＳＥＣ０−１と同じである。バンクＢＫＢは、４つのセクタＳＥＣＢ（ＳＥＣＢ０−３）を有している。各セクタＳＥＣＡ０−１、ＳＥＣＢ０−３は、いわゆるＮＯＲ構造に配置された不揮発性メモリセルを各々有している。不揮発性メモリセルは、フローティングゲートタイプや電荷をトラップするトラップゲートタイプ（ミラービットタイプ）である。例えば、バンクＢＫＡは、データを格納するために使用される。バンクＢＫＢは、ＣＰＵが実行するプログラムを格納するために使用される。なお、セクタＳＥＣＡ、ＳＥＣＢの数は、これに限定されない。
【００５０】
コマンド制御回路ＣＣＮＴは、ＣＰＵからのコマンド信号ＣＭＤ、アドレス信号ＡＤおよびデータ信号ＤＱをコマンドとして受け、受けたコマンドを解読し、バンクＢＫＡ、ＢＫＢのアクセスをそれぞれ制御する制御信号ＣＮＴＡ、ＣＮＴＢを独立に生成し、電圧生成回路ＶＧＥＮ、アドレス制御回路ＡＣＮＴ、データ制御回路ＤＣＮＴの動作を制御する制御信号を生成する。バンクＢＫＡ、ＢＫＢは、アドレス信号ＡＤ（バンクアドレス）により識別される。
【００５１】
電圧生成回路ＶＧＥＮは、消去動作や書き込み動作で使用する高電圧Ｖ１Ａ、Ｖ１Ｂを、電源電圧を用いて生成し、バンクＢＫＡ、ＢＫＢにそれぞれ供給する。電源電圧は、半導体装置ＳＥＭの外部から供給される。アドレス制御回路ＡＣＮＴは、コマンド信号ＣＭＤとともにＣＰＵから供給されるアドレス信号ＡＤ（バンクアドレスを除く）を受け、受けた信号をアドレス信号ＡＤ１Ａ、ＡＤ１ＢとしてバンクＢＫＡ、ＢＫＢにそれぞれ出力する。データ制御回路ＤＣＮＴは、コマンド信号ＣＭＤ（書き込みコマンド）とともにＣＰＵから供給されるデータ信号ＤＱを受け、受けた信号をデータ信号ＤＴＡ、ＤＴＢとしてバンクＢＫＡ、ＢＫＢにそれぞれ出力する。また、データ制御回路ＤＣＮＴは、コマンド信号ＣＭＤ（読み出しマンド）に応じてバンクＢＫＡ、ＢＫＢからそれぞれ出力されるデータ信号ＤＴＡ、ＤＴＢを受け、受けた信号をバスＢＵＳに出力する。
【００５２】
第２制御部ＣＮＴ２は、第１制御部ＣＮＴ１からのアクセス要求に基づいてアクセスコマンドをＦＬＡＳＨに発行する。アクセスコマンドは、図１１から図１３に示す書き込みコマンドＷＣおよび読み出しコマンドＲＣである。また、第２制御部ＣＮＴ２は、ＦＬＡＳＨの動作状態に応じて、図１１から図１３に示すポーリングコマンドＰＬ、消去コマンドＥＣ、サスペンドコマンドＳＵおよびレジュームコマンドＲＥをＦＬＡＳＨに発行する。
【００５３】
例えば、第２制御部ＣＮＴ２は、ソフトウエア（アクセス管理プログラム）またはハードウエア（メモリコントローラ）として構成され、あるいは、ソフトウエアとハードウエアを組み合わせて構成される。ＲＡＭは、データまたはＣＰＵが実行するプログラムを格納するために使用される。しかし、この実施形態のＦＬＡＳＨは、いわゆるデュアルバンクタイプであるため、ＣＰＵは、バンクＢＫＡの各セクタＳＥＣＡ０−１の消去中に、バンクＢＫＢのプログラムをフェッチできる。このため、半導体装置ＳＥＭは、ＲＡＭを有していなくても動作できる。
【００５４】
図１１および図１２は、図１０に示した半導体装置ＳＥＭの動作の例を示している。記憶領域ＭＲの網掛け等は、図２と同じ意味である。すなわち、データのセクタＳＥＣＡ０−１への書き込みシーケンスは、図２と同じである。図中の太線や矢印等は、図３と同じ意味である。ここでは、説明を簡単にするために、各セクタＳＥＣＡ０−１が４つの記憶領域ＭＲ（ＭＲ０１−０４、ＭＲ１１−１４）で構成される例を示しているが、記憶領域の数はこれに限定されない。各記憶領域ＭＲは、書き込みまたは読み出しの最小単位であり、例えば、１６ビットで構成される。
【００５５】
この実施形態では、例えば、第２制御部ＣＮＴ２は、ＲＡＭをアクセスすることなく、バンクＢＫＢに格納されたアクセス管理プログラムに基づいて動作する。第２制御部ＣＮＴ２がＦＬＡＳＨに消去コマンドＥＣを発行するまでの動作は、ＲＡＭがアクセスされないことを除き、図３と同じである。第２制御部ＣＮＴ２は、消去動作ＥＲが開始され、期間Ｐ１が経過した後、サスペンドコマンドＳＵを発行することなく、第１制御部ＣＮＴ１に完了通知ＷＥＮＤを発行する（図１１（ａ））。サスペンドコマンドＳＵは、第１制御部ＣＮＴ１が記憶領域ＭＲ１２に対する書き込み要求ＷＲＥＱを発行した後に発行される（図１１（ｂ））。これにより、デュアルバンクタイプのＦＬＡＳＨを用いる場合、図３に比べて、消去動作ＥＲの継続期間を長くできる。
【００５６】
第２制御部ＣＮＴ２は、記憶領域ＭＲ１２に対する書き込み動作ＷＲの完了を検出するために、ポーリングコマンドＰＬを周期的にＦＬＡＳＨに発行する（図１１（ｃ））。第２制御部ＣＮＴ２は、書き込み動作ＷＲの完了に応答してＦＬＡＳＨにレジュームコマンドＲＥを発行し、消去動作ＥＲを再開する。そして、第２制御部ＣＮＴ２は、サスペンドコマンドＳＵを発行することなく、第１制御部ＣＮＴ１に完了通知ＷＥＮＤを発行する（図１１（ｄ））。
【００５７】
次に、図１２において、第１制御部ＣＮＴ１は、例えば、記憶領域ＭＲ０２に保持されたデータを読み出すために読み出し要求ＲＲＥＱを発行する（図１２（ａ））。読み出し動作ＲＤの完了後においても、第２制御部ＣＮＴ２は、期間Ｐ１が経過した後、サスペンドコマンドＳＵを発行することなく、第１制御部ＣＮＴ１に完了通知ＲＥＮＤを発行する（図１２（ｂ））。この後、図１１と同様に、書き込み要求ＷＲＥＱに基づいて、書き込み動作ＷＲおよび消去動作ＥＲが実行される。
【００５８】
図１３は、図１０に示した半導体装置ＳＥＭのパワーオフ時の動作の例を示している。図５との違いは、サスペンドコマンドＳＵが、完了通知ＷＥＮＤの直前ではなく、書き込み要求ＷＲＥＱの直後に発行されることである（図１３（ａ））。これにより、最後の完了通知ＷＥＮＤからパワーオフ要求ＰＯＦＦまでの期間に、消去動作ＥＲを継続することができる（図１３（ｂ））。この結果、消去動作ＥＲが開始されてから完了するまでの時間を短くできる。なお、図１３の動作により、図５と同様に、消去動作ＥＲの途中に電源の供給が停止することを防止でき、ＦＬＡＳＨが誤動作することを防止できる。
【００５９】
図１４は、図１０に示した第２制御部ＣＮＴ２の動作を示している。第２制御部ＣＮＴ２がソフトウエアで実現されるとき、図１４のフローにしたがってプログラムが設計される。第２制御部ＣＮＴ２がハードウエアで実現されるとき、図１４のフローが回路記述に置き換えられ、論理回路が設計される。図１４のフローは、図１１から図１３の動作をまとめたものである。
【００６０】
第２制御部ＣＮＴ２は、書き込み要求ＷＲＥＱを受けたとき、動作４０において、ＦＬＡＳＨの消去動作ＥＲが実行されているか否かを判定する。消去動作ＥＲが実行されていないとき、第２制御部ＣＮＴ２は、動作４４を実施する。消去動作ＥＲが実行されているとき、第２制御部ＣＮＴ２は、動作４２において、消去動作ＥＲを一時的に中断するために、ＦＬＡＳＨにサスペンドコマンドＳＵを発行する。
【００６１】
第２制御部ＣＮＴ２は、動作４４において、書き込み要求ＷＲＥＱに基づく書き込み動作ＷＲを実行するために、ＦＬＡＳＨに書き込みコマンドＷＣを発行する。次に、第２制御部ＣＮＴ２は、動作４６において、消去動作ＥＲを開始する必要があるか否かを判定する。消去動作ＥＲを開始する必要があるとき、第２制御部ＣＮＴ２は、動作４８において、ＦＬＡＳＨに消去コマンドＥＣを発行し、消去動作ＥＲを開始する。消去動作ＥＲの開始が不要なとき、第２制御部ＣＮＴ２は、動作５０において、ＦＬＡＳＨの消去動作ＥＲの再開が必要か否かを判定する。消去動作ＥＲの再開が必要なとき、第２制御部ＣＮＴ２は、動作５２において、消去動作ＥＲを再開するために、ＦＬＡＳＨにレジュームコマンドＲＥを発行し、動作５４を実施する。消去動作ＥＲの再開が不要とき、すなわち、ＦＬＡＳＨがサスペンド中でないとき、第２制御部ＣＮＴ２の動作を終了し、第１制御部ＣＮＴ１の動作に復帰する（ＲＥＴＵＲＮ）。第２制御部ＣＮＴ２は、動作５４において、期間Ｐ１だけ待った後、動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。図中の”ＲＥＴＵＲＮ”は、図１１から図１３に示した完了通知ＷＥＮＤ、ＲＥＮＤまたはＥＥＮＤのいずれかを示す。
【００６２】
一方、第２制御部ＣＮＴ２は、読み出し要求ＲＲＥＱを受けたとき、動作５６において、ＦＬＡＳＨの消去動作ＥＲが実行されているか否かを判定する。消去動作ＥＲが実行されていないとき、第２制御部ＣＮＴ２は、動作６０を実施する。消去動作ＥＲが実行されているとき、第２制御部ＣＮＴ２は、動作５８において、消去動作ＥＲを一時的に中断するために、ＦＬＡＳＨにサスペンドコマンドＳＵを発行する。
【００６３】
次に、第２制御部ＣＮＴ２は、動作６０において、読み出し要求ＲＲＥＱに基づいて、ＦＬＡＳＨに読み出しコマンドＲＣを発行し、記憶領域ＭＲのいずれかからデータを読み出す。この後、第２制御部ＣＮＴ２は、動作６２において、ＦＬＡＳＨの消去動作ＥＲの再開が必要か否かを判定する。消去動作ＥＲの再開が必要なとき、第２制御部ＣＮＴ２は、動作６４において、消去動作ＥＲを再開するために、ＦＬＡＳＨにレジュームコマンドＲＥを発行する。第２制御部ＣＮＴ２は、動作６６において、第１期間Ｐ１だけ待った後に
動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。動作６２において消去動作ＥＲの再開が不要とき、すなわち、ＦＬＡＳＨがサスペンド中でないとき、第２制御部ＣＮＴ２の動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。なお、動作６６の制御は、実施しなくてもよい。すなわち、期間Ｐ１は、書き込み要求ＷＲＥＱのみに応答して確保されてもよい。
【００６４】
さらに、第２制御部ＣＮＴ２は、パワーオフ要求ＰＯＦＦを受けたとき、動作６８において、ＦＬＡＳＨの消去動作ＥＲが実行されているか否かを判定する。消去動作ＥＲが実行されていないとき、第２制御部ＣＮＴ２は、動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。消去動作ＥＲが実行されているとき、第２制御部ＣＮＴ２は、動作７０において、消去動作ＥＲの完了を検出するまで、ＦＬＡＳＨにポーリングコマンドＰＬを繰り返し発行する。そして、第２制御部ＣＮＴ２の動作を終了し、第１制御部ＣＮＴ１の動作に復帰する。
【００６５】
図１５は、図１０に示した第２制御部ＣＮＴ２が提案される前の半導体装置ＳＥＭの動作の例を示している。図１１および図１２と同じ動作については、詳細な説明は省略する。この例においても、第１制御部ＣＮＴ１は、図１１および図１２と同様に、記憶領域ＭＲ１１−１４にデータを書き込むために、書き込み要求ＷＲＥＱを順次に発行する。第２制御部ＣＮＴ２は、書き込み動作ＷＲ後にＦＬＡＳＨに消去コマンドＥＣまたはレジュームコマンドＲＥを発行する（図１５（ａ、ｂ、ｃ、ｄ））。この後、第２制御部ＣＮＴ２は、完了通知ＷＥＮＤを第１制御部ＣＮＴ１に発行する（図１５（ｅ、ｆ、ｇ、ｈ））。但し、第２制御部ＣＮＴ２は、期間Ｐ１を待たずに完了通知ＷＥＮＤを発行する。
【００６６】
第１制御部ＣＮＴ１は、図１１および図１２と同様に、完了通知ＷＥＮＤを受けた後、書き込み要求ＷＲＥＱを発行する（図１５（ｉ、ｊ、ｋ、ｌ））。第２制御部ＣＮＴ２は、新たな書き込み要求ＷＲＥＱに基づいて、ＦＬＡＳＨの消去動作ＥＲを中断するためにＦＬＡＳＨにサスペンドコマンドＳＵを発行し、書き込み動作ＷＲを実行するために、ＦＬＡＳＨに書き込みコマンドＷＣを発行する（図１５（ｍ、ｎ、ｏ））。
【００６７】
しかし、この例では、期間Ｐ１がないため、消去動作ＥＲが開始または再開されてから中断するまでの期間は短い。このため、一方のセクタＳＥＣ（この例では、ＳＥＣ０）の消去動作ＥＲが完了する前に、他方のセクタＳＥＣ（この例では、ＳＥＣ１）の全ての記憶領域ＭＲ１１−１４にデータが書き込まれてしまう（図１５（ｐ））。第２制御部ＣＮＴ２は、セクタＳＥＣ０の記憶領域ＭＲ０１にデータを書き込むための書き込み要求ＷＲＥＱを受けても、セクタＳＥＣ０の消去動作ＥＲが完了するまで、書き込みコマンドＷＣを発行できない（図１５（ｑ））。この結果、図７と同様に、ＦＬＡＳＨにデータを書き込みできない期間が発生してしまう。換言すれば、消去完了を待つための長い期間が発生し、見かけ上の消去期間が長くなってしまう。最悪の場合、半導体装置ＳＥＭが搭載されるシステム装置の動作が長期間停止してしまう。
【００６８】
以上、この実施形態においても、図１から図６に示した実施形態と同様の効果を得ることができる。さらに、この実施形態は、独立に動作する複数のバンクＢＫＡ、ＢＫＢを有するフラッシュメモリＦＬＡＳＨに適用できる。特に、複数のバンクＢＫＡ、ＢＫＢを有するフラッシュメモリＦＬＡＳＨでは、バンクＢＫＡが消去動作ＥＲを実行中にも、第１制御部ＣＮＴ１は、バンクＢＫＢをアクセスして書き込み要求ＷＲＥＱ等を発行できる。したがって、消去動作ＥＲの実行効率を向上でき、消去動作ＥＲの進行が遅れることを防止できる。
【００６９】
図１６は、別の実施形態を示している。上述した実施形態で説明した要素と同一の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、ＣＰＵは、図８と同様に、期間Ｐ１の長さを設定するためのレジスタＰ１ＲＥＧを有している。その他の構成は、図１０と同じである。
【００７０】
この実施形態では、図９で説明したように、第２制御部ＣＮＴ２は、第１制御部ＣＮＴ１からのレジスタ設定コマンドＲＥＧＳに基づいてレジスタＰ１ＲＥＧを書き換える。そして、第２制御部ＣＮＴ２は、レジスタＰ１ＲＥＧに保持されている値に基づいて期間Ｐ１を設定する。以上、この実施形態においても、図１から図６、図８および図９に示した実施形態と同様の効果を得ることができる。
【００７１】
なお、上述した実施形態は、ＮＯＲ型のフラッシュメモリに適用する例について述べた。しかし、上述した実施形態は、ＮＡＮＤ型のフラッシュメモリに適用してもよい。あるいは、ＥＥＰＲＯＭに適用してもよい。
【００７２】
上述した実施形態では、２つのセクタＳＥＣ０−１にデータを巡回的に書き込む例について述べた。しかし、３つ以上のセクタＳＥＣにデータを巡回的に書き込んでもよい。
【００７３】
図１から図１６に示した実施形態に関して、さらに以下の付記を開示する。
（付記１）
複数のメモリ部と、
前記複数のメモリ部の各々にデータの書き込み要求を発行する第１制御部と、
前記書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行し、前記複数のメモリ部のいずれかに消去可能なメモリ部があるときに、前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に消去動作を実行するために消去コマンドを発行する第２制御部と
を有し、
前記第２制御部は、前記消去コマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
（付記２）
付記１記載の半導体装置において、
前記複数のメモリ部のうち２つは、第１領域と第２領域であり、
前記第２制御部は、前記書き込み要求に基づいて前記第１領域と前記第２領域とに前記書き込みコマンドを順次発行し、
前記第２領域への書き込みコマンドのうち所定の書き込みコマンドに基づいて前記第１領域に前記消去コマンドを発行し、
前記第１領域への前記消去コマンドの発行から前記第１期間後に、前記所定の書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
（付記３）
付記１記載の半導体装置において、
前記各メモリ部は、複数の記憶領域を含み、
前記第２制御部は、
順次発行される前記書き込み要求に基づいて前記記憶領域にデータを順次書き込むために複数の前記書き込みコマンドを発行し、
前記メモリ部のいずれかにおいて前記記憶領域に書き込まれたデータが不要になったとき、他のメモリ部のいずれかに前記書き込みコマンドを発行した後に、データが不要になったメモリ部の消去動作を実行するために前記消去コマンドを発行し、
前記記憶領域への前記消去コマンドの発行から前記第１期間後に、他のメモリ部のいずれかへの書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
（付記４）
付記１ないし付記３のいずれか記載の半導体装置において、
前記第２制御部は、前記第１期間中に、前記消去コマンドに応答して消去動作を開始したメモリ部に、消去動作を中断するサスペンドコマンドを発行することを特徴とする半導体装置。
（付記５）
付記４記載の半導体装置において、
前記第２制御部は、複数のメモリ部のいずれかへのデータの書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行し、前記複数のメモリ部のいずれかに消去動作を中断しているメモリ部があるときに、前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に、消去動作を再開するレジュームコマンドを発行し、
前記レジュームコマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
（付記６）
付記４記載の半導体装置において、
前記第２制御部は、複数のメモリ部のいずれかへのデータの読み出し要求に基づいて、対応するメモリ部に読み出しコマンドを発行し、前記複数のメモリ部のいずれかに消去動作を中断しているメモリ部があるときに、前記読み出しコマンドに応答する前記メモリ部のいずれかの読み出し動作後に、消去動作を再開するレジュームコマンドを発行し、
前記レジュームコマンドの発行から第１期間後に、前記読み出しコマンドに基づく読み出し完了通知を前記第１制御部に発行することを特徴とする半導体装置。
（付記７）
付記５または付記６記載の半導体装置において、
前記第２制御部は、前記レジュームコマンドの発行後の前記第１期間中に、前記前記レジュームコマンドに応答して消去動作を再開したメモリ部に、消去動作を中断するサスペンドコマンドを発行することを特徴とする半導体装置。
（付記８）
付記１ないし付記７のいずれか１項記載の半導体装置において、
前記第２制御部は、前記第１制御部からパワーオフ要求を受けたときに消去動作を中断しているメモリ部が存在するときに、消去動作を再開するために前記レジュームコマンドを発行し、消去動作の完了に基づいて前記第１制御部に消去完了通知を発行することを特徴とする半導体装置。
（付記９）
付記１ないし付記８のいずれか１項記載の半導体装置において、
前記メモリ部と、前記第２制御部の動作を実現するためのプログラムが格納されるメモリ部とを有する第１半導体メモリと、
前記書き込み動作中に、前記書き込み動作の完了をモニタするプログラムが格納される第２半導体メモリと
を有することを特徴とする半導体装置。
（付記１０）
付記１ないし付記３のいずれか１項記載の半導体装置において、
前記メモリ部を含む第１メモリブロックと、
前記第２制御部の動作を実現するためのプログラムが格納され、前記第１メモリブロックと独立に動作する第２メモリブロックと
を有し、
前記第２制御部は、前記メモリ部のいずれかが前記消去コマンドに応答して消去動作を実行しているときに、新たな書き込み要求に基づいて消去動作を実行していないメモリ部に前記書き込みコマンドを発行する前に、消去動作を中断するサスペンドコマンドを発行することを特徴とする半導体装置。
（付記１１）
付記１０記載の半導体装置において、
前記第２制御部は、
前記メモリ部のいずれかが前記消去コマンドに応答して消去動作を実行しているときに、新たな書き込み要求に基づいて消去動作を実行していないメモリ部に前記書き込みコマンドを発行する前に、消去動作を中断するサスペンドコマンドを発行し、
前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に、消去動作を再開するレジュームコマンドを発行し、
前記レジュームコマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置。
（付記１２）
付記１０記載の半導体装置において、
前記第２制御部は、
前記メモリ部のいずれかが前記消去コマンドに応答して消去動作を実行しているときに、新たな読み出し要求に基づいて消去動作を実行していないメモリ部に前記読み出しコマンドを発行する前に、消去動作を中断するサスペンドコマンドを発行し、
前記読み出しコマンドに応答する前記メモリ部のいずれかの読み出し動作後に、消去動作を再開するレジュームコマンドを発行し、
前記レジュームコマンドの発行から第１期間後に、前記読み出しコマンドに基づく読み出し完了通知を前記第１制御部に発行することを特徴とする半導体装置。
（付記１３）
付記１０ないし付記１２のいずれか１項記載の半導体装置において、
前記第２制御部は、前記第１制御部からパワーオフ要求を受けたときに消去動作を実行しているメモリ部が存在するときに、消去動作の完了に基づいて前記第１制御部に消去完了通知を発行することを特徴とする半導体装置。
（付記１４）
付記１ないし付記１３のいずれか１項記載の半導体装置において、
前記第１期間を示す値が設定されるレジスタを有し、
前記第２制御部は、前記レジスタに設定された値に基づいて前記第１期間を設定することを特徴とする半導体装置。
（付記１５）
前記複数のメモリ領域の各々にデータの書き込み要求を発行し、
前記書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行し、
前記複数のメモリ領域のいずれかに消去可能なメモリ領域があるときに、前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に消去動作を実行するために消去コマンドを発行し、
前記消去コマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置の動作方法。
（付記１６）
付記１５記載の半導体装置の動作方法において、
前記複数のメモリ部のうち２つは、第１領域と第２領域であり、
前記書き込み要求に基づいて前記第１領域と前記第２領域とに前記書き込みコマンドを順次発行し、
前記第２領域への書き込みコマンドのうち所定の書き込みコマンドに基づいて前記第１領域に前記消去コマンドを発行し、
前記第１領域への前記消去コマンドの発行から前記第１期間後に、前記所定の書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置の動作方法。
（付記１７）
付記１５記載の半導体装置の動作方法において、
前記各メモリ部は、複数の記憶領域を含み、
順次発行される前記書き込み要求に基づいて前記記憶領域にデータを順次書き込むために複数の前記書き込みコマンドを発行し、
前記メモリ部のいずれかにおいて前記記憶領域に書き込まれたデータが不要になったとき、他のメモリ部のいずれかに前記書き込みコマンドを発行した後に、データが不要になったメモリ部の消去動作を実行するために前記消去コマンドを発行し、
前記記憶領域への前記消去コマンドの発行から前記第１期間後に、他のメモリ部のいずれかへの書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置の動作方法。
（付記１８）
付記１５ないし付記１７のいずれか記載の半導体装置の動作方法において、
前記第１期間中に、前記消去コマンドに応答して消去動作を開始したメモリ部に、消去動作を中断するサスペンドコマンドを発行することを特徴とする半導体装置の動作方法。
（付記１９）
付記１８記載の半導体装置の動作方法において、
複数のメモリ部のいずれかへのデータの書き込み要求に基づいて、対応するメモリ部に書き込みコマンドを発行し、前記複数のメモリ部のいずれかに消去動作を中断しているメモリ部があるときに、前記書き込みコマンドに応答する前記メモリ部のいずれかの書き込み動作後に、消去動作を再開するレジュームコマンドを発行し、
前記レジュームコマンドの発行から第１期間後に、前記書き込みコマンドに基づく書き込み完了通知を前記第１制御部に発行することを特徴とする半導体装置の動作方法。
（付記２０）
付記１５ないし付記１７のいずれか１項記載の半導体装置の動作方法において、
前記メモリ部を含む第１メモリブロックと、
前記第２制御部の動作を実現するためのプログラムが格納され、前記第１メモリブロックと独立に動作する第２メモリブロックと
を有し、
前記メモリ部のいずれかが前記消去コマンドに応答して消去動作を実行しているときに、新たな書き込み要求に基づいて消去動作を実行していないメモリ部に前記書き込みコマンドを発行する前に、消去動作を中断するサスペンドコマンドを発行することを特徴とする半導体装置の動作方法。
【００７４】
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００７５】
【図１】一実施形態を示している。
【図２】図１に示したメモリセルアレイのアクセスの例を示している。
【図３】図１に示した半導体装置の動作の例を示している。
【図４】図１に示した半導体装置の動作の例の続きを示している。
【図５】図１に示した半導体装置のパワーオフ時の動作の例を示している。
【図６】図１に示した第２制御部の動作を示している。
【図７】図１に示した第２制御部が提案される前の半導体装置の動作の例を示している。
【図８】別の実施形態を示している。
【図９】図８に示した半導体装置の動作の例を示している。
【図１０】別の実施形態を示している。
【図１１】図１０に示した半導体装置の動作の例を示している。
【図１２】図１０に示した半導体装置の動作の例の続きを示している。
【図１３】図１０に示した半導体装置のパワーオフ時の動作の例を示している。
【図１４】図１０に示した第２制御部の動作を示している。
【図１５】図１０に示した第２制御部が提案される前の半導体装置の動作の例を示している。
【図１６】別の実施形態を示している。
【符号の説明】
【００７６】
ＡＣＮＴ‥アドレス制御回路；ＡＲＹ‥メモリセルアレイ；ＣＣＮＴ‥コマンド制御回路；ＣＮＴ１‥第１制御部；ＣＮＴ２‥第２制御部；ＤＣＮＴ‥データ制御回路；ＥＣ‥消去コマンド；ＥＥＮＤ‥完了通知；ＥＲ‥消去動作；ＭＲ０１−０４、ＭＲ１１−１４‥記憶領域；ＰＬ‥ポーリングコマンド；ＰＯＦＦ‥パワーオフ要求；ＲＣ‥読み出しコマンド；ＲＤ‥読み出し動作；ＲＥ‥レジュームコマンド；ＲＥＮＤ‥完了通知；ＲＲＥＱ‥読み出し要求；ＳＥＣ０−５、ＳＥＣＡ０−１、ＳＥＣＢ０−３‥セクタ；ＳＵ‥サスペンドコマンド；ＶＧＥＮ‥電圧生成回路；ＷＣ‥書き込みコマンド；ＷＥＮＤ‥完了通知；ＷＲ‥書き込み動作；ＷＲＥＱ‥書き込み要求
【図１】
2009110150.tif 000003
【図２】
2009110150.tif 000004
【図３】
2009110150.tif 000005
【図４】
2009110150.tif 000006
【図５】
2009110150.tif 000007
【図６】
2009110150.tif 000008
【図７】
2009110150.tif 000009
【図８】
2009110150.tif 000010
【図９】
2009110150.tif 000011
【図１０】
2009110150.tif 000012
【図１１】
2009110150.tif 000013
【図１２】
2009110150.tif 000014
【図１３】
2009110150.tif 000015
【図１４】
2009110150.tif 000016
【図１５】
2009110150.tif 000017
【図１６】
2009110150.tif 000018