JP2004227635A - 不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ - Google Patents
不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ Download PDFInfo
- Publication number
- JP2004227635A JP2004227635A JP2003012181A JP2003012181A JP2004227635A JP 2004227635 A JP2004227635 A JP 2004227635A JP 2003012181 A JP2003012181 A JP 2003012181A JP 2003012181 A JP2003012181 A JP 2003012181A JP 2004227635 A JP2004227635 A JP 2004227635A
- Authority
- JP
- Japan
- Prior art keywords
- erase
- nonvolatile semiconductor
- automatic
- semiconductor memory
- suspend
- 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.)
- Pending
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
【課題】割り込みを受け付けるまでの時間を外部に通知する不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータを得ること。
【解決手段】不揮発性半導体メモリのメモリブロックの消去動作を制御する自動消去シーケンサ208内の自動消去シーケンス制御回路254は、消去動作時には消去前書き込み制御回路256および消去/消去ベリファイ制御回路257を制御するとともに、自動消去実行中であることをステータスレジスタ207に設定する。また、デクリメンタ350、インクリメンタ351を起動する。これにより、デクリメンタ350およびインクリメンタ351が動作を開始して、処理終了までの時間およびサスペンド要求受付までの時間をカウントして外部に出力する。
【選択図】 図9
【解決手段】不揮発性半導体メモリのメモリブロックの消去動作を制御する自動消去シーケンサ208内の自動消去シーケンス制御回路254は、消去動作時には消去前書き込み制御回路256および消去/消去ベリファイ制御回路257を制御するとともに、自動消去実行中であることをステータスレジスタ207に設定する。また、デクリメンタ350、インクリメンタ351を起動する。これにより、デクリメンタ350およびインクリメンタ351が動作を開始して、処理終了までの時間およびサスペンド要求受付までの時間をカウントして外部に出力する。
【選択図】 図9
Description
【0001】
【発明の属する技術分野】
本発明は、メモリセルとして不揮発性トランジスタを用いた不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータに関するものである。
【0002】
【従来の技術】
不揮発性半導体メモリは、データを一度書き込むと電源を切っても書き込まれたデータは保持される。また、データを消去して新しいデータを書き込むことが可能である。そのため、たとえば、デジタルカメラの画像データの記録媒体、コンピュータのプログラム格納メモリなどに利用されている。
【0003】
不揮発性半導体メモリは、その構成上データの書き込みはアドレス毎に指定して書き込むことが可能であるが、データを消去する場合は、アドレスを指定して特定のアドレスのデータだけを消去することはできない。これは、メモリセルである不揮発性トランジスタに高電圧を供給してデータを消去するためである。したがって、不揮発性半導体メモリのデータの消去は、メモリブロックをいくつかに分割してそのブロックのデータを消去する自動ブロック消去かメモリ全体のデータを消去する自動一括消去のどちらかとなる。
【0004】
データの消去処理を実行中の不揮発性半導体メモリにその処理を中断させる場合、たとえば、消去中に別のブロックのデータを読み出したい場合、マイクロコンピュータは不揮発性半導体メモリに対して割り込み要求を行う。しかしながら、不揮発性半導体メモリの消去はメモリブロック単位で処理されるため、数百ns〜数msの時間を要し、その間マイクロコンピュータのCPU(Control Processing Unit)はホールド状態となってしまう。すなわち、不揮発性半導体メモリの消去が終了するまでの間、CPUの処理が停止することになり、スループットが低下してしまうという問題があった。
【0005】
このような問題を改善するために、不揮発性半導体メモリの自動消去処理を保留して他の処理を実行する技術や、不揮発性半導体メモリの状態を外部に通知する技術が考えられている(たとえば、特許文献1,2)。
【0006】
特許文献1の従来技術には、マイクロコントローラやCPUなどで構成されるフラッシュモジュール制御ユニットが不揮発性半導体メモリの動作を監視して、プログラミングプロセスまたは消去プロセスが実行されていることを外部に通知する技術が開示されている。
【0007】
また、特許文献2の従来技術には、複数のメモリブロックで構成する不揮発性半導体メモリの消去シーケンス開始後に消去延期指令を受けると、消去シーケンスを所定の時点で延期させ、消去中のメモリブロックとは異なるメモリブロックのデータを読み取る。その後、消去再開の指令により、延期していた消去シーケンスを再開する技術が開示されている。
【0008】
【特許文献1】
特表2001−516923号公報
【特許文献2】
特開平05−182482号公報
【0009】
【発明が解決しようとする課題】
前者の従来技術では、不揮発性半導体メモリの動作状態を外部に通知するようにしているため、CPUは不揮発性半導体メモリが割り込み要求を受け付けるか否かを判断することができる。しかしながら、不揮発性半導体メモリがプログラミングプロセスまたは消去プロセスを実行中で割り込み要求を受け付けることができない場合、どのくらいの時間が経過すると割り込み要求を受け付けるのかわからないという問題があった。すなわち、割り込み要求を行った場合に、CPUがどのくらいの時間ホールド状態になるのかわからないという問題があった。
【0010】
また、後者の従来技術では、不揮発性半導体メモリは消去シーケンスの所定の時点で割り込み要求を受け付けることができる。しかしながら、割り込み要求で実行できる処理は、消去しているメモリブロックとは異なるメモリブロックのデータの読み取りだけであるという問題があった。すなわち、不揮発性半導体メモリの他の動作モード、たとえば、データの書き込み、レジスタの状態を読み出すなどの動作は、消去シーケンスが完全に終了するまでは実行できないという問題があった。
【0011】
この発明は上記に鑑みてなされたもので、割り込みを受け付けるまでの時間を外部に通知する不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータを得ることを目的としている。
【0012】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる不揮発性半導体メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイで構成された複数のメモリブロックを有する不揮発性半導体メモリにおいて、サスペンド要求が入力されると前記メモリブロックの消去時における所定のポイントで前記メモリブロックのデータの消去を中断するサスペンド要求受付回路と、前記メモリブロックの消去開始時から所定のポイントまでの処理時間を外部に出力するサスペンド制御回路とを備えることを特徴とする。
【0013】
この発明によれば、不揮発性半導体メモリ内のメモリブロックを消去する際に、消去処理の区切りでサスペンド要求を受け付けるとともに、消去処理を開始してからサスペンド要求を受け付けることができる消去処理の区切りまでの時間を外部に出力するようにしている。
【0014】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータの好適な実施の形態を詳細に説明する。
【0015】
実施の形態1.
図1〜図18を用いてこの発明の実施の形態1を説明する。図1は、この発明の実施の形態1における不揮発性半導体メモリ2の構成を示すブロック図である。この発明の実施の形態1における不揮発性半導体メモリ2は、ラッチ回路205と、マイクロシーケンサ201と、メモリデコーダ203と、チャージポンプ202と、メモリブロック204とを備えている。
【0016】
ラッチ回路205は、不揮発性半導体メモリ2の外部端子のインタフェース機能を有する。アドレスバスおよびデータバスから入力される17ビットのアドレス信号Aおよび16ビットのデータ信号Dをラッチし、これらラッチした信号をマイクロシーケンサ201に出力する。また、ラッチ回路205は、マイクロシーケンサ201からの信号をアドレスバスおよびデータバスに出力する。
【0017】
マイクロシーケンサ201は、ラッチ回路205から入力されるアドレス信号Aおよびデータ信号Dが示すコマンドに基づいて不揮発性半導体メモリ2の各構成要素を統括的に制御する。
【0018】
図2は、この発明における不揮発性半導体メモリ2の動作モードの一覧を示している。図2に示すように、不揮発性半導体メモリ2は、外部からの17ビットのアドレス信号Aおよび16ビットのデータ信号により動作モードが指定される。読み出しコマンド(データ信号DがFFh)は、メモリブロック204の任意のアドレスのデータを読み出す。ステータスレジスタリードコマンド(データ信号Dが70H)は、不揮発性半導体メモリ2の動作状態を示すステータスレジスタの内容を読み出し、FFhで戻る。ステータスレジスタクリアコマンド(データ信号Dが50h)は、ステータスレジスタの内容をクリアし、FFhで戻る。自動書き込みコマンド(データ信号D40h)は、つぎのサイクルのアドレス信号で指定されたアドレスにデータ信号で指定されたデータを書き込むとともに、書き込み用のステータスレジスタに書き込みのステータスを書き込む。自動一括消去コマンド(データ信号Dが40h)は、つぎのサイクルのデータ信号が20hでメモリブロック204のデータを全て消去するとともに、消去用のステータスレジスタに自動一括消去のステータスを書き込む。自動ブロック消去コマンド(データ信号Dが20h)は、つぎのサイクルでデータ信号DがD0hとなり、アドレス信号Aで指定されたブロックアドレスのブロックのメモリブロック204のデータを消去するとともに、データを消去した後消去用のステータスレジスタに自動ブロック消去のステータスを書き込む。自動消去中断コマンド(データ信号が80h)は、自動一括消去コマンドまたは自動ブロック消去コマンドによりメモリブロック204のデータを消去中にその消去動作を中断する。自動消去再開コマンド(データ信号が20h)は、自動消去中断コマンドにより中断された消去動作を再開する。マイクロシーケンサ201は、これらのコマンドに基づいて不揮発性半導体メモリ2の各構成要素を制御する。
【0019】
図3は、図1に示したマイクロシーケンサ201の構成を示すブロック図である。マイクロシーケンサ201は、コマンドポート206と、ステータスレジスタ207と、自動消去シーケンサ208と、自動書き込みシーケンサ303と、テストモード・シーケンサ209と、パワーリセット回路210と、クロック生成回路211と、デコーダ・チャージポンプ制御信号生成回路212と、アドレスレジスタ230と、タイマー回路304と、サスペンド制御回路305とを備えている。
【0020】
コマンドポート206は、ラッチ回路205から入力されたアドレス信号およびデータ信号をデコードして、自動消去シーケンサ208、自動書き込みシーケンサ303、テストモード・シーケンサ209およびパワーリセット回路210に出力する。
【0021】
アドレスレジスタ230は、データ読み出しや自動消去/自動書き込み時などに、ラッチ回路205を介して外部から入力されたアドレスを一時的に保持し、メモリデコーダ203に出力する。
【0022】
自動消去シーケンサ208は、コマンドポート206の指示により、消去パルスの発行やポンプ立ち上げ時間設定など自動消去シーケンスで必要な各種時間の計測はタイマー回路304を用いて行い、デコーダ・チャージポンプ制御信号生成回路212を介して、チャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する。また、自動消去時のステータス状態をステータスレジスタ207に書き込む。
【0023】
自動書き込みシーケンサ303は、コマンドポート206の指示により、書き込みパルスの発行やポンプ立ち上げ時間設定など自動書き込みシーケンスで必要な各種時間の計測はタイマー回路304を用いて行い、デコーダ・チャージポンプ制御信号生成回路212を介して、チャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する。
【0024】
テストモード・シーケンサ209は、コマンドポート206の指示により、書き込みパルスと消去の発行やポンプ立ち上げ時間設定など各種テストシーケンスで必要な各種時間の計測はタイマー回路304を用いて行い、デコーダ・チャージポンプ制御信号生成回路212を介して、チャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する。
【0025】
パワーリセット回路210は、電源の立ち上げエッジを検出してリセット信号を内部回路に出力する。また、コマンドポート206を経由して入力される外部リセット入力により、マイクロシーケンサ201内部のすべての回路をリセット状態にする。
【0026】
クロック生成回路211は、所定のクロックパルスを自動消去シーケンサ208、自動書き込みシーケンサ303およびテストモード・シーケンサ209に出力する。パワーリセット回路210によりすべての回路がリセットされ非動作状態になった場合には、クロック生成回路211も機能を停止しクロック信号も停止する。
【0027】
ステータスレジスタ207は、マイクロシーケンサ201のステータス状態を保持する。すなわち、自動書き込みシーケンサ303または自動消去シーケンサ208により自動書き込みまたは自動消去動作が実行中であるか否かが設定される。また、自動消去/書き込みの処理終了時にベリファイの結果に基づいて、処理が正常に終了したかエラーが発生したかの情報も保持する。ステータスレジスタ207の内容は、ステータスレジスタリードコマンドにより読み出される。また、自動消去または書き込み実行時には、データバスのデータ信号Dの所定のビットにステータスレジスタ207の値が出力される。
【0028】
デコーダ・チャージポンプ制御信号生成回路212は、自動消去シーケンサ208、自動書き込みシーケンサ303およびテストモード・シーケンサ209の指定に基づいてチャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する制御信号を生成する。
【0029】
タイマー回路304は、自動消去シーケンサ208、自動書き込みシーケンサ303、テストモード・シーケンサ209およびパワーリセット回路210により起動され、要求のあった時間を計測する。時間の計測が終了すると、要求もとのブロックに終了信号を出力する。
【0030】
サスペンド制御回路305は、ラッチ回路205を介して外部からの割り込み要求に対して、自動消去シーケンサ208を停止または再開させるための処理を行う。また、自動消去シーケンサ208のシーケンスをモニタして、自動消去シーケンスを停止することのできるポイントまでの時間と、自動消去シーケンス終了までの時間とをラッチ回路205を介して外部に出力する。
【0031】
チャージポンプ202は、マイクロシーケンサ201から入力される制御信号に基づいてデータの書き込みおよび消去時にメモリブロック204に対して印加する電圧を発生する。図4は、図1に示したチャージポンプ202の構成を示すブロック図である。チャージポンプ202は、負電圧チャージポンプ回路213と、正電圧チャージポンプ回路214と、読み出し電圧チャージポンプ回路215と、電圧切替回路216とを備えている。
【0032】
負電圧チャージポンプ回路213は、メモリブロック204の消去時に駆動され、メモリブロック204を消去するための負電圧を生成する。正電圧チャージポンプ回路214は、メモリブロック204にデータ“H”の書き込みおよびデータ消去時の前処理としてメモリブロック204に“H”を書き込むための正電圧を生成する。読み出し電圧チャージポンプ回路215は、メモリブロック204の読み出しおよびデータ書き込み後のベリファイ時に駆動され、メモリブロック204の読み出しおよびベリファイ時に、読み出し用の電圧またはベリファイ用電圧を発生する。電圧切替回路216は、負電圧チャージポンプ回路213と正電圧チャージポンプ回路214と読み出し電圧チャージポンプ回路215の何れか1つの回路から出力される電圧を選択し、選択した電圧をメモリデコーダ203およびメモリブロック204に出力する。
【0033】
メモリデコーダ203は、マイクロシーケンサ201を介して入力されるアドレスに基づいてセレクト信号とロウアドレス信号とコラムアドレス信号とを生成してメモリブロック204に出力する。
【0034】
図5は、図1に示したメモリデコーダ203の構成を示すブロック図である。メモリデコーダ203は、セレクトゲートアドレスラッチ232と、ロウアドレスラッチ217と、コラムアドレス入力バッファラッチ218と、セレクトゲートアドレスプリデコーダ233と、ロウアドレスプリデコーダ219と、コラムアドレスプリデコーダ220とを備えている。
【0035】
セレクトゲートアドレスラッチ232は、アドレス信号をラッチして、セレクトゲートアドレスプリデコーダ233にラッチしたアドレス信号を出力する。セレクトゲートアドレスプリデコーダ233は、アドレス信号が示すアドレスのプリデコード処理を行い、セレクト信号を生成する。
【0036】
ロウアドレスラッチ217は、アドレス信号をラッチして、ロウアドレスプリデコーダ219にラッチしたアドレス信号を出力する。ロウアドレスプリデコーダ219は、アドレス信号が示すアドレスのプリデコード処理を行い、ロウアドレス信号を生成する。
【0037】
コラムアドレス入力バッファラッチ218は、アドレス信号をラッチして、コラムアドレスプリデコーダ220にラッチしたアドレス信号を出力する。コラムアドレスプリデコーダ220は、アドレス信号が示すアドレスのプリデコード処理を行い、コラムアドレス信号を生成する。
【0038】
メモリブロック204は、図6に示すように、メモリブロック204−0〜204−4の5つのブロックで構成される。メモリブロック204−4は、16進表記で00000h〜07FFFhの32KBのアドレス空間を有する。メモリブロック204−3は、16進表記で08000h〜0FFFFhの32KBのアドレス空間を有する。メモリブロック204−2は、16進表記で10000h〜07FFFhの32KBのアドレス空間を有する。メモリブロック204−1は、16進表記で18000h〜1FFFFhの32KBのアドレス空間を有する。メモリブロック204−0は、16進表記で00000h〜01FFFhの8KBのアドレス空間を有する。メモリブロック204−0は、スペシャル領域であり、固有の信号線のアクセスにより消去、書き込み、読み出しを実行する。
【0039】
図7は、図1に示したメモリブロック204の構成を示すブロック図である。メモリブロック204は、5つのメモリブロック204−0〜204−4と、センスアンプ/書き込み回路226と、セレクタ回路227とを備えている。メモリブロック204−0は、Xデコーダ204−10と、Yデコーダ204−20と、SGデコーダ204−30と、8KBのメモリセルアレイ204−40とを備えている。メモリブロック204−1は、Xデコーダ204−11と、Yデコーダ204−21と、SGデコーダ204−31と、32KBのメモリセルアレイ204−41とを備えている。メモリブロック204−2は、Xデコーダ204−12と、Yデコーダ204−22と、SGデコーダ204−32と、32KBのメモリセルアレイ204−42とを備えている。メモリブロック204−3は、Xデコーダ204−13と、Yデコーダ204−23と、SGデコーダ204−33と、32KBのメモリセルアレイ204−43とを備えている。メモリブロック204−4は、Xデコーダ204−14と、Yデコーダ204−24と、SGデコーダ204−34と、32KBのメモリセルアレイ204−44とを備えている。
【0040】
メモリセルアレイ204−40〜204−44とセンスアンプ/書き込み回路226間はグローバルビット線234で接続されている。センスアンプ/書き込み回路226は、メモリセルアレイ204−40〜204−44からの出力をグローバルビット線234とセレクタ回路227を介してデータ信号に出力するとともに、データ信号の値をセレクタ回路227、グローバルビット線234を介してメモリセルアレイ204−40〜204−44に書き込む。
【0041】
図8は、図7に示したセレクタ回路227とセンスアンプ/書き込み回路226とメモリブロック204−0とを抽出した図である。図8において、メモリセルアレイ204−40は、1本のグローバルビット線234に接続されている部分のみを示している。Yデコーダ204−10は、メモリデコーダ203から入力されるコラムアドレス信号を16本のメインビット線239〜242から一本のビット線を選択するための16本の制御信号CS0〜CS15を生成する。制御信号CS0〜CS15は、サブビット線を選択するトランジスタ235〜238のゲートに接続されている。それぞれのメインビット線239〜242は、それぞれ4本のサブビット線が接続されている。
【0042】
SGデコーダ204−30は、メモリデコーダ203から入力されるセレクト信号により4本のサブビット線SBL0〜SBL3から1本のサブビット線を選択するための制御信号SG0〜SG3を生成する。制御信号SG0〜SG3は、サブビット線を選択するトランジスタ243〜246のゲートに接続されている。
【0043】
Xデコーダ204−10は、メモリデコーダ203から入力されるロウアドレス信号により64本のワード線WL0〜WL63から1本のワード線を選択する。それぞれのサブビット線には、フローティングゲートを有する不揮発性トランジスタからなるメモリセルTr0−0〜Tr0−3、Tr1−0〜Tr1−3、…、Tr63−0〜Tr63−3が行列状に配置されている。このうち、同一行に配置されたメモリセルTr0−0〜Tr63−0のソース端子にはサブビット線SBL0が、メモリセルTr0−1〜Tr63−1のソース端子にはサブビット線SBL1が、メモリセルTr0−2〜Tr63−0ソース端子にはサブビット線SBL2が、メモリセルTr0−3〜Tr63−3のソース端子にはSBL3がそれぞれ接続されている。また、同一列に配置されたメモリセルTr0−0〜Tr0−3のゲート端子にはワード線WL0、メモリセルTr1−0〜Tr1−3のゲート端子にはワード線WL1というように、メモリセルTr63−0〜63−3まで、ゲート端子には異なるワード線が接続されている。
【0044】
メモリセルアレイ204−40のデータの読み出しは、Xアドレスプリデコーダ204−10、Yアドレスプリデコーダ204−20およびSGデコーダ204−30の出力に基づいて、サブビット線SBL0〜SBL3とワード線WL0〜WL63からそれぞれ1本のサブビット線とワード線とが選択され、選択されたビット線とワード線とに接続されたフローティングゲートを有する不揮発性トランジスタからなるメモリセルの内容が、センスアンプ/書き込み回路228内のセンスアンプを解してデータ信号に出力される。
【0045】
メモリセルアレイ204−40へのデータの書き込みは、Xアドレスプリデコーダ204−10、Yアドレスプリデコーダ204−20およびSGデコーダ204−30の出力に基づいて、サブビット線SBL0〜SBL3とワード線WBL0〜WBL63からそれぞれ1本のサブビット線とワード線とが選択され、選択されたビット線とワード線とに接続されたフローティングゲートを有する不揮発性トランジスタからなるメモリセルに、センスアンプ/書き込み回路228内の書き込み回路を介してデータ信号の値が書き込まれる。
【0046】
メモリセルアレイ204−40のデータの消去は、消去パルスが消去の対象となっているメモリブロックに印加されると、フローティングゲートを有する不揮発性トランジスタからなるメモリセルのゲートに消去パルスが印加され、データが消去される。
【0047】
つぎに、図9〜図11を用いて、マイクロシーケンサ201内の自動消去シーケンサ208およびサスペンド制御回路305の詳細について説明する。図9は、図3に示した自動消去シーケンサ208の構成を示すブロック図である。自動消去シーケンサ208は、自動消去シーケンス制御回路254と、消去前書き込み制御回路256と、消去/消去ベリファイ制御回路257と、消去前書き込み信号生成回路258と、アドレスインクリメンタ259と、消去ベリファイ回路260と、サスペンド要求受付回路255と、デクリメンタ350と、インクリメンタ351と、退避用レジスタ352と、自動消去シーケンス状態記憶回路353とを備えている。
【0048】
自動消去は、アドレス読み出し、メモリブロック204内の分割されたメモリセルアレイ204−0〜204−4を単位として、消去前書き込み、消去/消去ベリファイの一連の動作を行う。
【0049】
自動消去シーケンス状態記憶回路353は、自動消去を中断した際にその動作を再開するための再開情報を保持する。
【0050】
自動消去シーケンス制御回路254は、パワーリセット回路210によりリセットされて初期状態となる。自動消去シーケンス制御回路254は、コマンドポート206およびクロック生成回路211から入力される制御信号により、不揮発性半導体メモリ2が自動消去モードになると、消去前書き込み制御回路256および消去/消去ベリファイ制御回路257を制御するとともに、自動消去実行中であることをステータスレジスタ207に設定する。自動消去終了時には、自動消去が完了したことをステータスレジスタ207に設定する。また、前回の自動消去動作が途中で終了したため自動消去シーケンス状態記憶回路353に再開情報がある場合には、再開情報に基づいて、特定のアドレスの消去前書き込みを実行するのか消去/消去ベリファイを実行するのかを判断して、消去前書き込み制御回路256または消去/消去ベリファイ制御回路257を制御するとともに、自動消去実行中であることをステータスレジスタ207に設定する。自動消去動作を中断した場合には、再開情報を自動消去シーケンス状態記憶回路353に設定するとともに、自動消去の中断をステータスレジスタ207に設定する。
【0051】
消去前書き込み制御回路256は、自動消去シーケンス制御回路254からの信号に基づいて、消去前書き込み信号生成回路258とアドレスインクリメンタ259を制御して、メモリブロック204に対して消去前書き込み処理を行う。
【0052】
消去前書き込み信号生成回路258は、消去前書き込み制御回路256からの信号に基づいて、消去前書き込み信号をデコーダ・チャージポンプ制御信号生成回路212に出力する。
【0053】
消去/消去ベリファイ制御回路257は、自動消去シーケンス制御回路254からの信号に基づいて、消去前書き込み信号生成回路258とアドレスインクリメンタ259を制御して、メモリブロック204に対して消去および消去ベリファイ処理を行うとともに、消去パルスをデコーダ・チャージポンプ制御信号生成回路212に出力する。
【0054】
消去ベリファイ回路260は、消去/消去ベリファイ制御回路257からの信号に基づいて、アドレスインクリメンタ259を制御して、消去したメモリブロック204のデータを読み出す。読み出したデータと予め定められた期待値とを比較して、メモリブロック204が消去されているかを確認する。
【0055】
アドレスインクリメンタ259は、消去前書き込み制御回路256、消去/消去ベリファイ制御回路257および消去ベリファイ回路260の指定に基づいて、消去対象となっているメモリブロック204のアドレスを最下位アドレスから最上位アドレスまで順に生成し、生成したインクリメンタアドレスをデコーダ・チャージポンプ制御信号生成回路212に出力する。
【0056】
退避用レジスタ352は、デクリメンタ350の初期値を格納する。退避用レジスタ352に格納されている値は、外部からの専用制御信号により、ラッチ回路205を介して外部に読み出すことができる。また、読み出した値は、メモリブロック204−0に自動消去実行時間として記憶する。
【0057】
デクリメンタ350は、自動消去終了までの時間およびサスペンド要求受付までの時間をデクリメント値としてカウントして、カウント値をラッチ回路205を介して外部に出力する。デクリメンタ350の初期値は、退避用レジスタ352の値またはメモリブロック204−0に格納されているインクリメント値を用いる。自動消去中の消去パルスの照射回数などは、自動消去を実行する度に変化するため、消去パルス印加と消去ベリファイのループ処理に入ると、消去ベリファイのアドレスインクリメントの進み具合と印加した消去パルスの回数から、デクリメント値を修正する。
【0058】
インクリメンタ351は、自動消去終了までの時間をインクリメント値としてカウントし、カウントした値を自動消去が終了した後退避用レジスタ352に格納する。
【0059】
サスペンド要求受付回路255は、サスペンド制御回路305を介して入力された外部からのサスペンド要求信号を受け付ける。サスペンド要求を受け付けると、サスペンド要求受付回路255は、実行中の処理に基づいて、消去前書き込み制御回路256または消去/消去ベリファイ制御回路257にサスペンド要求を受け付けたことを通知する。また、自動消去シーケンス中の処理を停止可能なポイントまでの時間を出力するとともに、自動消去終了までの時間をデクリメント値としてサスペンド制御回路305に出力する。
【0060】
図10は、図3に示したサスペンド制御回路305の構成を示すブロック図である。サスペンド制御回路305は、サスペンド要求処理回路306と、サスペンド位置設定レジスタ307とを備えている。
【0061】
サスペンド要求処理回路306は、ラッチ回路205を介して外部から入力されるサスペンド要求の信号を受け付けて、サスペンド要求受付回路255に出力する。また、サスペンド位置設定レジスタ307に中断ポイントが設定された場合、たとえば、中断ポイントが消去前書き込み終了後であれば消去前書き込み処理中に、中断ポイントが消去パルス印加後であれば消去パルス印加中に、サスペンド要求をサスペンド要求受付回路255に出力する。サスペンド要求処理回路306は、サスペンド要求受付回路255からの信号に基づいて、サスペンド要求を受け付けたことを示すサスペンドホールド信号およびサスペンドポイントまでの時間、自動消去終了までの時間を補正計算してそれらの時間をラッチ回路205を介して外部に出力する。
【0062】
サスペンド位置設定レジスタ307は、自動消去処理を中断するポイントを格納する。サスペンド位置設定レジスタ307は、制御信号を用いてラッチ回路205を介して外部より設定する。サスペンド位置設定レジスタ307は、図11に示すように、2ビットのレジスタである。b0に“1”が設定されると、消去前書き込み終了後にサスペンド処理が実行され、“0”が設定されるとサスペンド処理は実行されない。b1に“1”が設定されると、消去パルス印加後にサスペンド処理が実行され、“0”が設定されるとサスペンド処理は実行されない。すなわち、サスペンド位置設定レジスタ307のb0またはb1に“1”を設定しておけば、サスペンド要求信号がネゲートの場合でもサスペンド処理が実行される。
【0063】
つぎに、図12〜図18を参照して、この実施の形態1の不揮発性半導体メモリ2の動作を説明する。まず、図12のフローチャートを参照して、この実施の形態1の不揮発性半導体メモリ2の書き込み動作を説明する。ラッチ回路205は、図2に示した自動書き込みの第1コマンドとしてデータバスから入力されるデータ信号の40hをラッチする(ステップS100)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動書き込みのセットアップモードになり、自動書き込みシーケンサ303を制御する。ラッチ回路205はつぎのサイクルでアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号をラッチする(ステップS110)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動書き込みシーケンサ303に出力する。これにより、自動書き込みシーケンサ303は、書き込み動作を開始する。
【0064】
自動書き込みシーケンサ303は、アドレス信号およびデータ信号に基づいてデコーダ・チャージポンプ制御信号生成回路212を介してチャージポンプ202、メモリデコーダ203およびメモリブロック204を制御して書き込みパルスを印加する(ステップS120)。
【0065】
自動書き込みシーケンサ303は、書き込んだデータのベリファイ処理を行う(ステップS130)。すなわち、書き込んだアドレスのデータを読み出して、読み出したデータと外部より取り込んだデータとをワード単位で比較する。そして、比較結果が一致した場合は、書き込み処理が正常に終了したことをステータスレジスタ207に設定して、処理を終了する。
【0066】
比較結果が不一致の場合は、自動書き込みシーケンサ303は、再度書き込み前処理を行う。このとき、自動書き込みシーケンサ303内の書き込み回数をカウントするカウンタをカウントアップする。そして、カウンタの値が予め定められた最大回数と比較する(ステップS140)。カウンタの値が、最大回数に達しない場合には、書き込みパルスを印加してデータを書き込み、ベリファイ処理を行う(ステップS120,S130)。カウンタの値が最大回数に達した場合、自動書き込みシーケンサ303は、書き込みエラーをステータスレジスタ207に設定して(ステップS150)処理を終了する。
【0067】
つぎに、図13のフローチャートを参照して、不揮発性半導体メモリ2のメモリブロック204−0〜204−4のいずれかのブロックを対象とする自動ブロック消去の動作を説明する。ラッチ回路205は、図2に示した自動ブロック消去の第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS200)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号のD0hをラッチする(ステップS210)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動消去シーケンサ208に出力する。これにより、自動消去シーケンサ208は、アドレス信号により指定されたメモリブロックの自動ブロック消去動作を開始する。
【0068】
自動消去シーケンサ208は、アドレス信号で指定されたメモリブロックに対して“1”を書き込む消去前書き込み処理を行う(ステップS220)。具体的には、自動消去シーケンス制御回路254は、デクリメンタ350、インクリメンタ351および消去前書き込み制御回路256を起動する。これにより、デクリメンタ350およびインクリメンタ351が動作を開始して、処理終了までの時間およびサスペンド要求受付までの時間が外部に出力される。消去前書き込み制御回路256は、消去前書き込み信号生成回路258とアドレスインクリメンタ259を制御する。そして、デコーダ・チャージポンプ制御信号生成回路212を介してチャージポンプ202とメモリデコーダ203によりアドレスインクリメンタ259が順次示すアドレスにワード単位でall“1”を書き込む。
【0069】
消去前書き込み処理が終了すると、自動消去シーケンサ208は、サスペンド要求の受付があるかを確認する(ステップS230)。サスペンド要求受付回路255からサスペンド要求があった場合、自動消去シーケンス制御回路254は、自動消去を中断して、メモリ読み出しを可能とする(ステップS240)。
【0070】
メモリ読み出しが終了した場合、または、サスペンド要求の受付がない場合には、自動消去シーケンサ208は、消去パルス印加の処理を行う(ステップS250)。具体的には、自動消去シーケンス制御回路254は、消去/消去ベリファイ制御回路257とアドレスインクリメンタ259を制御する。そして、デコーダ・チャージポンプ制御信号生成回路212を介してチャージポンプ202とメモリデコーダ203により、消去パルスを印加する。
【0071】
消去パルスの印加が終了すると、自動消去シーケンサ208は、サスペンド要求の受付があるかを確認する(ステップS260)。サスペンド要求受付回路255からサスペンド要求があった場合、自動消去シーケンス制御回路254は、自動消去を中断して、メモリ読み出しを可能とする(ステップS270)。
【0072】
メモリ読み出しが終了した場合、または、サスペンド要求の受付がない場合、アドレスインクリメンタ259は、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイ回路260は、読み出したデータが消去されているかを確認する(ステップS280)。消去されている場合には、最終アドレス(対象となっているメモリブロックの最上位アドレス)までデータが消去されているかの確認を繰り返す(ステップS280,S290)。
【0073】
読み出したデータが消去されていない場合、消去ベリファイ回路260は、再度消去パルス印加を行う。このとき、消去ベリファイ回路260内の消去前処理の回数をカウントするカウンタをカウントアップする。そして、カウンタの値を予め定められた最大回数と比較する(ステップS300)。カウンタの値が、最大回数に達しない場合には、消去パルス印加し(ステップS250)、その後、サスペンド要求の受付があるかを確認して(ステップS260,270)、消去に失敗したアドレスからベリファイ処理を行う(ステップS280)。カウンタの値が最大回数に達した場合、消去ベリファイ回路260は、消去エラーをステータスレジスタ207に設定して(ステップS310)処理を終了する。
【0074】
図14のタイムチャートを参照して、自動消去終了までの時間を示すデクリメント値およびサスペンド要求受付までの時間(停止可能までの時間)の出力タイミングを説明する。ここでは、クロック生成回路211が生成するクロックの周期を100nsとする。
【0075】
t1のタイミングにおいて、第1コマンドの20hが入力され、t2のタイミングにおいて、第2コマンドのD0hが入力される。これらのコマンドの入力にはライト信号IWEが使用され、ライト信号IWEの立ち上がりでコマンドがラッチされる。
【0076】
t3のタイミングにおいて、デクリメンタ350のデクリメンタ値DEC0には、メモリブロック204−0に格納された1回前に消去した際にカウントしたインクリメント値または退避用レジスタ352に設定された値が設定される。この場合は、“080000h”が設定される。この値はクロック数であり、クロックの周期は100nsであるので約0.8secを示している。また、デクリメンタ350のデクリメンタ値DEC1には、サスペンド要求時に停止可能なポイントまでの時間が設定される。この場合は、“30000h”が設定される。この値はクロック数であり、クロックの周期は100nsであるので約19msを示している。インクリメンタ351はリセットされて、インクリメンタ351のインクリメンタ値INC0は“0”になる。
【0077】
t4のタイミングにおいて、デクリメンタ値DEC0およびデクリメンタ値DEC1は、ともに1だけデクリメントされ、インクリメンタ値INC0はインクリメントされ“1”になる。このようにクロックの立ち上がりに同期してデクリメンタ値DEC0およびデクリメンタ値DEC1はデクリメントされ、インクリメンタ値INC0はインクリメントされる。
【0078】
また、t3、t4の期間では、サスペンド要求時に停止可能なポイントまでの時間が約19msであるのでステータス信号である停止可能まで10ms以上を示す信号が“H”になる。
【0079】
t5,t6,t7のタイミングでは消去前書き込み処理を行っている。t7のタイミングで消去前書き込み処理が終了する。このとき、デクリメンタ値DEC1は、“00000h”となる。すなわち、消去前書き込み処理が終了したため、サスペンド要求を受け付けることが可能となり、サスペンド要求を受け付けるまでの時間が0sとなっている。さらに、ループ処理により消去前書き込みが開始されると、デクリメンタ値DEC1に処理終了までの時間を示す値が設定され、クロックの立ち上がりに同期してデクリメントされる。t5のタイミングでは、デクリメンタ値DEC1の値は“00100h”であり、クロックの周期が100nsであるので、約25nsを示している。したがって、停止可能まで10μs以上を示す信号(図示せず)が“H”になる。
【0080】
t8,t9,t10,t11,t12のタイミングでは消去パルス印加および消去ベリファイのループ処理を行っている。t8のタイミングにおいて、デクリメント値DEC1に、処理終了までの時間を示す値“05000h”が設定される。クロックに基づいて時間に換算すると約2msであるので、ステータス信号である停止可能まで1ms以上5ms以下を示す信号を“H”にする。
【0081】
t11のタイミングにおいて、デクリメント値DEC1が“000001h”となり、クロックに基づいて時間に換算すると100nsであるので、ステータス信号である停止可能まで1ms以上5ms以下を示す信号が“L”に、ステータス信号である停止可能まで1μs以下を示す信号が“H”になる。
【0082】
t12のタイミングにおいて、消去パルスの印加の相回数は、自動消去実行の際に毎回微妙に変化するため、ループ処理中に消去パルスの印加回数とベリファイアドレスのインクリメント値に基づいてデクリメンタ350の値が修正される。たとえば、t12のタイミングで修正された値がデクリメンタ350のデクリメンタ値DEC0は“00fffeh”に修正される。デクリメンタ値DEC1は、“00000h”となる。すなわち、消去前書き込み処理が終了したため、サスペンド要求を受け付けることが可能となり、サスペンド要求を受け付けるまでの時間が0sとなっている。
【0083】
さらに、ループ処理によりt8のタイミングに戻って消去前書き込みが開始されると、デクリメンタ値DEC1に処理終了までの時間を示す値が設定され、クロックの立ち上がりに同期してデクリメントされる。
【0084】
消去パルス印加および消去ベリファイ終了後のt13〜t15のタイミングを経て自動ブロック消去が終了する。t15のタイミングにおいて、インクリメンタ値INC0の値が、退避用レジスタ352に格納される。
【0085】
つぎに、図15のフローチャートを参照して、自動一括消去の動作を説明する。自動一括消去は、メモリブロック204−1〜204−4をブロック単位で消去する。
【0086】
ラッチ回路205は、図2に示した自動一括消去の第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS400)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号の20hをラッチする(ステップS410)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動消去シーケンサ208に出力する。これにより、自動消去シーケンサ208は、自動一括消去動作を開始する。
【0087】
自動消去シーケンサ208は、図13のフローチャートに示したブロック消去手順(ステップS230〜S310)にしたがって、メモリブロック204−1〜204−4の4つのメモリブロックを1つずつ消去し、最終ブロックの消去が終了すると(ステップS420)処理を終了する。
【0088】
図16のタイムチャートは、自動一括消去終了までの時間を示すデクリメント値およびサスペンド要求受付までの時間(停止可能までの時間)の出力タイミングを示している。自動一括消去は、メモリブロック204−1〜204−4をブロック単位で消去しているので、図14のタイムチャートと同様のタイミングについてはその説明を省略する。t12のタイミングにおいて、1つのメモリブロックの消去が完了すると、消去処理の最終メモリブロックになるまで、t5〜t7のタイミングにおける消去前書き込みと、t8〜t12のタイミングにおける消去パルス印加および消去ベリファイを繰り返す。
【0089】
つぎに、消去前書き込み処理終了直後に自動消去中断コマンドが入力された場合を例に挙げて、自動ブロック消去処理が中断され、自動消去再開コマンドにより自動ブロック消去処理を再開する動作を説明する。
【0090】
図17のフローチャートを参照して、自動消去中断コマンドが入力されて自動処理ブロック消去処理を中断する動作を説明する。ラッチ回路205は、図2に示した自動ブロック消去の第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS200)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号のD0hをラッチする(ステップS210)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動消去シーケンサ208に出力する。これにより、自動消去シーケンサ208は、アドレス信号により指定されたメモリブロックの自動ブロック消去動作を開始する。
【0091】
自動消去シーケンサ208は、アドレス信号で指定されたメモリブロックに対して“1”を書き込む消去前書き込み処理を行う(ステップS220)。
【0092】
消去前書き込み処理終了直後に、自動消去中断コマンドが入力されたとする。すなわち、コマンドポート206がラッチ回路205を介して入力されたデータ信号の80hを認識し、自動消去中断コマンドが入力されたことを自動消去シーケンス制御回路254に通知する。
【0093】
自動消去中断コマンドが入力されたこと通知されると、自動消去シーケンス制御回路254は、自動消去再開コマンドが入力された場合に処理を再開するための再開処理情報を自動消去シーケンス状態記憶回路353に設定して(ステップS500)処理を終了する。これにより、図2に示したコマンドの実行が可能となる。
【0094】
つぎに、図18のタイムチャートを参照して、自動消去再開コマンドにより自動消去処理を再開する動作を説明する。ラッチ回路205は、図2に示した自動消去再開コマンドの第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS600)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてデータバスから入力されるデータ信号の40hをラッチする(ステップS610)。コマンドポート206は、自動消去シーケンサ208に自動消去再開コマンドが入力されたことを通知する。
【0095】
自動消去再開コマンドが入力された通知を受けると、自動消去シーケンサ208内の自動消去シーケンス制御回路254は、自動消去シーケンス状態記憶回路353から再開情報を読み出す(ステップS620)。自動消去シーケンス制御回路254は、再開情報に基づいて自動消去動作を再開する。この場合、再開情報は消去前書き込み処理が終了したことを示しているため、消去パルス印加から処理を再開する(ステップS250)。
【0096】
消去パルス印加の処理が終了すると、アドレスインクリメンタ259は、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでのアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイ回路260は、読み出したデータが消去されているかを確認する(ステップS280)。消去されている場合には、最終アドレス(対象となっているメモリブロックの最上位アドレス)までデータが消去されているかの確認を繰り返す(ステップS280,S290)。
【0097】
読み出したデータが消去されていない場合、消去ベリファイ回路260は、再度消去パルス印加を行う。このとき、消去ベリファイ回路260内の消去前処理の回数をカウントするカウンタをカウントアップする。そして、カウンタの値を予め定められた最大回数と比較する(ステップS300)。カウンタの値が、最大回数に達しない場合には、消去パルス印加し(ステップS250)、消去に失敗したアドレスからベリファイ処理を行う(ステップS280)。カウンタの値が最大回数に達した場合、消去ベリファイ回路260は、消去エラーをステータスレジスタ207に設定して(ステップS310)処理を終了する。
【0098】
なお、自動消去中断コマンドは、自動ブロック消去中の何処でも受け付け可能である。
【0099】
また、自動一括消去コマンドは、メモリブロック204−1〜204−4をブロック単位でデータを消去しているので、自動一括消去コマンド実行中についても、自動消去中断コマンドが入力されると、自動消去シーケンス制御回路254は、再開情報を自動消去シーケンス状態記憶回路353に格納して処理を中断する。そして、自動消去再開コマンドが入力されると、自動消去シーケンス制御回路254は、自動消去シーケンス状態記憶回路353に格納してある再開情報を読み出して、その再開情報に基づいて自動一括消去処理を再開する。
【0100】
このようにこの実施の形態1では、自動ブロック消去または自動一括消去によりメモリブロックを消去する際に、消去開始からサスペンド要求を受け付けることができる第1の消去処理の区切りまでの時間または第1の消去処理の区切りから第2の消去処理の区切りまでの処理時間を外部に出力するようにしているため、外部から割り込み処理を受け付けるまでの時間を知ることができる。
【0101】
また、自動ブロック消去または自動一括消去のコマンドが終了するまでの時間、すなわち、メモリブロックの消去開始から終了までの時間を外部に出力するようにしているため、外部からコマンド終了までの時間を知ることができる。
【0102】
さらに、外部に出力する時間を消去動作に用いるクロック数またはクロック周期を用いて時間に換算して出力するようにしているため、この不揮発性半導体メモリを使用した外部回路は制御方法に合わせてサスペンド要求を受け付けるまでの時間の情報を選択することができる。
【0103】
さらにまた、自動消去中断コマンドによりメモリブロックの消去動作を完全に停止する際に、その処理を停止したポイントを記憶しておき、自動消去再開コマンドにより、記憶しておいたポイントから消去の処理を再開するようにしているため、メモリブロックを消去している場合でもいったん処理を停止して、不揮発性半導体メモリが有するコマンドを全て実行することができる。
【0104】
実施の形態2.
図19および図20を用いてこの発明の実施の形態2を説明する。図19は、この発明の実施の形態2における不揮発性半導体メモリを内蔵したマイクロコンピュータ1の構成を示すブロック図である。この発明の実施の形態2における不揮発性半導体メモリを内蔵したマイクロコンピュータ1は、不揮発性半導体メモリ2と、インターフェース回路3と、CPU/BIU4と、割り込み制御回路5と、周辺装置6とを備えている。不揮発性半導体メモリ2は、実施の形態1で説明したものであるので、ここではその説明を省略する。
【0105】
不揮発性半導体メモリ2と、インターフェース回路3と、CPU/BIU4と、割り込み制御回路5と、周辺装置6とは、アドレスバス16、データバス17およびR/W制御信号18とで接続されている。不揮発性半導体メモリ2は、アドレスバス16、データバス17およびR/W制御信号18から入力される制御コマンド(図2参照)により動作する。
【0106】
CPU/BIU4は、中央演算処理装置およびバスインタフェース装置であり、フラッシュメモリ内蔵マイクロコンピュータ1の各構成要素を統括的に制御する。
【0107】
周辺装置6は、たとえば、CPU/BIU4が実行するプログラムを格納したROM(Read Only Memory)やRAM(Random Access Memory)、タイマー、シリアル通信回路、ポート制御ブロックなどで構成され、CPU/BIU4または不揮発性半導体メモリ2に対して割り込み要求が発生すると周辺装置割り込み信号10を割り込み制御回路5に出力する。
【0108】
割り込み制御回路5は、外部からの割り込み要求である外部割込み信号11または周辺装置6からの周辺装置割り込み信号10により割り込み制御を行う。
【0109】
インターフェース回路3は、CPUホールド制御回路9と、サスペンド許可レジスタ8と、サスペンド要求レジスタ7と、制御部(図示せず)とを備えている。
【0110】
CPUホールド制御回路9は、不揮発性半導体メモリ2が自動消去コマンド実行中の場合、すべてのバスアクセスを停止させるためのCPUホールド信号15をCPU/BIU4に出力する。また、サスペンド制御レジスタを設定する。
【0111】
図20は、サスペンド要求レジスタ7およびサスペンド許可レジスタ8の設定モードを示している。サスペンド要求レジスタ7は“0”で自動消去/自動書き込み再開(サスペンド要求なし)を、“1”でサスペンド要求ありを表す。サスペンド許可レジスタ8は、“0”でサスペンドモード無効を、“1”でサスペンドモード有効を表す。サスペンド要求レジスタ7は、サスペンド許可レジスタ8が“1”かつサスペンド要求レジスタ7が“1”の場合、サスペンド要求信号13を不揮発性半導体メモリ2とCPUホールド制御回路9とに出力する。
【0112】
制御部は、アドレスバス16およびデータバス17の指定に基づいて、CPUホールド制御回路9、サスペンド許可レジスタ8およびサスペンド要求レジスタ7を設定する。
【0113】
つぎに、この実施の形態2の不揮発性半導体メモリを内蔵したマイクロコンピュータ1の動作を説明する。CPU/BIU4は、不揮発性半導体メモリ2のデータを消去するために、自動ブロック消去コマンドまたは自動一括消去コマンドを不揮発性半導体メモリ2に出力する。不揮発性半導体メモリ2は、入力されたコマンドに基づいて自動消去処理を開始する。これにより、データバスの所定のビットに自動消去時実行中の情報が出力される。
【0114】
インターフェース回路3の制御部は、データバスの所定のビットに自動消去実行中の情報を検出すると、CPUホールド制御回路9に不揮発性半導体メモリ2が自動消去実行中であることを通知する。この通知を受けるとCPUホールド制御回路9は、CPUホールド信号15をCPU/BIU4に出力する。これにより、CPU/BIU4は、バスアクセスを停止する。
【0115】
ここで、外部からの割り込み要求である外部割込み信号11または周辺装置6からの周辺装置割り込み信号10が不揮発性半導体メモリ2に対する割り込み要求の場合、割り込み制御回路5は、不揮発性半導体メモリ2がサスペンド要求を受け付けるまでの時間を示す情報であるデクリメンタ値19とステータス信号20、不揮発性半導体メモリ2が消去を完了するまでの時間を示す情報であるデクリメンタ値21およびCPUホールド信号15に基づいて割り込み要求を行うタイミングを調整して、割り込み要求信号12をサスペンド要求レジスタ7およびCPU/BIU4に出力する。具体的には、たとえば、デクリメンタ値19またはステータス信号20が示す時間が所定の値より大きい場合、不揮発性半導体メモリ2に対して割り込み要求を行っても直ぐに実行されないと判断して待機し、デクリメンタ値19またはステータス信号20が所定の値以下になると割り込み要求信号12をCPU/BIU4とサスペンド要求レジスタ7に出力する。
【0116】
割り込み要求信号12により、サスペンド要求レジスタ7には、サスペンド要求ありが設定される。サスペンド許可レジスタ8がサスペンドモード有効である場合、サスペンド要求レジスタ7は、サスペンド要求信号13を不揮発性半導体メモリ2とCPUホールド制御回路9とに出力する。
【0117】
サスペンド要求信号13を受け付けると、不揮発性半導体メモリ2は、メモリリードが可能となり、サスペンド受付信号14をCPUホールド制御回路9に出力する。CPUホールド制御回路9は、サスペンド受付信号14を受けると、CPU/BIU4に出力しているCPUホールド信号15を停止する。これにより、CPU/BIU4はバスアクセスが可能となり、割り込み要求に応じた割り込み処理ルーチンを実行する。
【0118】
このようにこの実施の形態2では、不揮発性半導体メモリにサスペンド要求を行う際に、不揮発性半導体メモリから出力されるサスペンド要求受け付けまでの時間を参照してサスペンド要求のタイミングを調整するようにしているため、ホールド状態になっているCPU/BIUに対して、長時間割り込み要求を発生することを抑制することができる。
【0119】
なお、デクリメンタ値19またはステータス信号20が示す時間が所定の値より大きく不揮発性半導体メモリ2に対して割り込み要求を行っても直ぐに実行されないと判断した場合、または、サスペンド許可レジスタ8がサスペンドモード無効の場合、割り込み制御回路5は、自動消去中断コマンドを出力するようにしてもよい。これにより、周辺装置または外部からの割り込み要求に対して優先して割り込み処理を実行することができる。
【0120】
【発明の効果】
以上説明したように、この発明にかかる不揮発性半導体メモリによれば、不揮発性半導体メモリ内のメモリブロックを消去する際に、消去処理の区切りでサスペンド要求を受け付けるとともに、消去処理を開始してからサスペンド要求を受け付けることができる消去処理の区切りまでの時間を外部に出力するようにしているため、外部から割り込み処理を受け付けるまでの時間を知ることができる。
【図面の簡単な説明】
【図1】この発明の実施の形態1における不揮発性半導体メモリの構成を示すブロック図である。
【図2】この発明における不揮発性半導体メモリの動作モードの一覧を示す図である。
【図3】図1に示したマイクロシーケンサの構成を示すブロック図である。
【図4】図1に示したチャージポンプの構成を示すブロック図である。
【図5】図1に示したメモリデコーダの構成を示すブロック図である。
【図6】図1に示したメモリブロックのアドレス空間を示す図である。
【図7】図1に示したメモリブロックの構成を示すブロック図である。
【図8】図7に示したセレクタ回路とセンスアンプ/書き込み回路とメモリブロック抽出して示す図である。
【図9】図3に示した自動消去シーケンサの構成を示すブロック図である。
【図10】図3に示したサスペンド制御回路の構成を示すブロック図である。
【図11】図10に示したサスペンド位置設定レジスタの構成を示す図である。
【図12】この発明の実施の形態1における不揮発性半導体メモリの自動書き込みの動作を説明するためのフローチャートである。
【図13】この発明の実施の形態1における不揮発性半導体メモリの自動ブロック消去の動作を説明するためのフローチャートである。
【図14】この発明の実施の形態1における不揮発性半導体メモリの自動ブロック消去の動作のタイミングを説明するためのタイムチャートである。
【図15】この発明の実施の形態1における不揮発性半導体メモリの自動一括消去の動作を説明するためのフローチャートである。
【図16】この発明の実施の形態1における不揮発性半導体メモリの自動一括消去の動作のタイミングを説明するためのタイムチャートである。
【図17】この発明の実施の形態1における不揮発性半導体メモリの自動消去中断の動作を説明するためのフローチャートである。
【図18】この発明の実施の形態1における不揮発性半導体メモリの自動消去再開の動作を説明するためのフローチャートである。
【図19】この発明の実施の形態2における不揮発性半導体メモリを内蔵したマイクロコンピュータの構成を示すブロック図である。
【図20】図19に示したサスペンド要求レジスタおよびサスペンド許可レジスタの構成を示すブロック図である。
【符号の説明】
1 不揮発性半導体メモリを内蔵したマイクロコンピュータ、2 不揮発性半導体メモリ、3 インターフェース回路、4 CPU/BIU、5 割り込み制御回路、6 周辺装置、7 サスペンド要求レジスタ、8 サスペンド許可レジスタ、9 CPUホールド制御回路、10 周辺装置割り込み信号、11 外部割込み信号、12 割り込み要求信号、13 サスペンド要求信号、14 サスペンド受付信号、15 CPUホールド信号、16 アドレスバス、17 データバス、18 R/W制御信号、19 サスペンドまでの時間を示すデクリメンタ値、20 サスペンドまでの時間を示すステータス信号、21 消去終了までの時間を示すデクリメンタ値、201 マイクロシーケンサ、202 チャージポンプ、203 メモリデコーダ、204,204−0,204−1,204−2,204−3 メモリブロック、204−10,204−11,204−12,204−13,204−14 Xデコーダ、204−20,204−21,204−22,204−23,204−24 Yデコーダ、204−30,204−31,204−32,204−33,204−34 SGデコーダ、204−40,204−41,204−42,204−43,204−44 メモリセルアレイ、205 ラッチ回路、206 コマンドポート、207 ステータスレジスタ、208 自動消去シーケンサ、209 テストモード・シーケンサ、210 パワーリセット回路、211 クロック生成回路、212 デコーダ・チャージポンプ制御信号生成回路、213 負電圧チャージポンプ回路、214 正電圧チャージポンプ回路、215 読み出し電圧チャージポンプ回路、216電圧切り替え回路、217 ロウアドレスラッチ、218 コラムアドレス入力バッファラッチ、219 ロウアドレスプリデコーダ、220 コラムアドレスプリデコーダ、226 センスアンプ/書き込み回路、227 セレクタ回路、230 アドレスレジスタ、232 セレクトゲートアドレスラッチ、233セレクトゲートアドレスプリデコーダ、234 グローバルビット線、254自動消去シーケンス制御回路、255 サスペンド要求受付回路、256 消去前書き込み制御回路、257 消去/消去ベリファイ制御回路、258 消去前書き込み信号生成回路、259 アドレスインクリメンタ、260 消去ベリファイ回路、303 自動書き込みシーケンサ、304 タイマー回路、305サスペンド制御回路、306 サスペンド要求処理回路、307 サスペンド位置設定レジスタ、350 デクリメンタ、351 インクリメンタ、352 退避用レジスタ、353 自動消去シーケンス状態記憶回路。
【発明の属する技術分野】
本発明は、メモリセルとして不揮発性トランジスタを用いた不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータに関するものである。
【0002】
【従来の技術】
不揮発性半導体メモリは、データを一度書き込むと電源を切っても書き込まれたデータは保持される。また、データを消去して新しいデータを書き込むことが可能である。そのため、たとえば、デジタルカメラの画像データの記録媒体、コンピュータのプログラム格納メモリなどに利用されている。
【0003】
不揮発性半導体メモリは、その構成上データの書き込みはアドレス毎に指定して書き込むことが可能であるが、データを消去する場合は、アドレスを指定して特定のアドレスのデータだけを消去することはできない。これは、メモリセルである不揮発性トランジスタに高電圧を供給してデータを消去するためである。したがって、不揮発性半導体メモリのデータの消去は、メモリブロックをいくつかに分割してそのブロックのデータを消去する自動ブロック消去かメモリ全体のデータを消去する自動一括消去のどちらかとなる。
【0004】
データの消去処理を実行中の不揮発性半導体メモリにその処理を中断させる場合、たとえば、消去中に別のブロックのデータを読み出したい場合、マイクロコンピュータは不揮発性半導体メモリに対して割り込み要求を行う。しかしながら、不揮発性半導体メモリの消去はメモリブロック単位で処理されるため、数百ns〜数msの時間を要し、その間マイクロコンピュータのCPU(Control Processing Unit)はホールド状態となってしまう。すなわち、不揮発性半導体メモリの消去が終了するまでの間、CPUの処理が停止することになり、スループットが低下してしまうという問題があった。
【0005】
このような問題を改善するために、不揮発性半導体メモリの自動消去処理を保留して他の処理を実行する技術や、不揮発性半導体メモリの状態を外部に通知する技術が考えられている(たとえば、特許文献1,2)。
【0006】
特許文献1の従来技術には、マイクロコントローラやCPUなどで構成されるフラッシュモジュール制御ユニットが不揮発性半導体メモリの動作を監視して、プログラミングプロセスまたは消去プロセスが実行されていることを外部に通知する技術が開示されている。
【0007】
また、特許文献2の従来技術には、複数のメモリブロックで構成する不揮発性半導体メモリの消去シーケンス開始後に消去延期指令を受けると、消去シーケンスを所定の時点で延期させ、消去中のメモリブロックとは異なるメモリブロックのデータを読み取る。その後、消去再開の指令により、延期していた消去シーケンスを再開する技術が開示されている。
【0008】
【特許文献1】
特表2001−516923号公報
【特許文献2】
特開平05−182482号公報
【0009】
【発明が解決しようとする課題】
前者の従来技術では、不揮発性半導体メモリの動作状態を外部に通知するようにしているため、CPUは不揮発性半導体メモリが割り込み要求を受け付けるか否かを判断することができる。しかしながら、不揮発性半導体メモリがプログラミングプロセスまたは消去プロセスを実行中で割り込み要求を受け付けることができない場合、どのくらいの時間が経過すると割り込み要求を受け付けるのかわからないという問題があった。すなわち、割り込み要求を行った場合に、CPUがどのくらいの時間ホールド状態になるのかわからないという問題があった。
【0010】
また、後者の従来技術では、不揮発性半導体メモリは消去シーケンスの所定の時点で割り込み要求を受け付けることができる。しかしながら、割り込み要求で実行できる処理は、消去しているメモリブロックとは異なるメモリブロックのデータの読み取りだけであるという問題があった。すなわち、不揮発性半導体メモリの他の動作モード、たとえば、データの書き込み、レジスタの状態を読み出すなどの動作は、消去シーケンスが完全に終了するまでは実行できないという問題があった。
【0011】
この発明は上記に鑑みてなされたもので、割り込みを受け付けるまでの時間を外部に通知する不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータを得ることを目的としている。
【0012】
【課題を解決するための手段】
上記目的を達成するために、この発明にかかる不揮発性半導体メモリは、不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイで構成された複数のメモリブロックを有する不揮発性半導体メモリにおいて、サスペンド要求が入力されると前記メモリブロックの消去時における所定のポイントで前記メモリブロックのデータの消去を中断するサスペンド要求受付回路と、前記メモリブロックの消去開始時から所定のポイントまでの処理時間を外部に出力するサスペンド制御回路とを備えることを特徴とする。
【0013】
この発明によれば、不揮発性半導体メモリ内のメモリブロックを消去する際に、消去処理の区切りでサスペンド要求を受け付けるとともに、消去処理を開始してからサスペンド要求を受け付けることができる消去処理の区切りまでの時間を外部に出力するようにしている。
【0014】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータの好適な実施の形態を詳細に説明する。
【0015】
実施の形態1.
図1〜図18を用いてこの発明の実施の形態1を説明する。図1は、この発明の実施の形態1における不揮発性半導体メモリ2の構成を示すブロック図である。この発明の実施の形態1における不揮発性半導体メモリ2は、ラッチ回路205と、マイクロシーケンサ201と、メモリデコーダ203と、チャージポンプ202と、メモリブロック204とを備えている。
【0016】
ラッチ回路205は、不揮発性半導体メモリ2の外部端子のインタフェース機能を有する。アドレスバスおよびデータバスから入力される17ビットのアドレス信号Aおよび16ビットのデータ信号Dをラッチし、これらラッチした信号をマイクロシーケンサ201に出力する。また、ラッチ回路205は、マイクロシーケンサ201からの信号をアドレスバスおよびデータバスに出力する。
【0017】
マイクロシーケンサ201は、ラッチ回路205から入力されるアドレス信号Aおよびデータ信号Dが示すコマンドに基づいて不揮発性半導体メモリ2の各構成要素を統括的に制御する。
【0018】
図2は、この発明における不揮発性半導体メモリ2の動作モードの一覧を示している。図2に示すように、不揮発性半導体メモリ2は、外部からの17ビットのアドレス信号Aおよび16ビットのデータ信号により動作モードが指定される。読み出しコマンド(データ信号DがFFh)は、メモリブロック204の任意のアドレスのデータを読み出す。ステータスレジスタリードコマンド(データ信号Dが70H)は、不揮発性半導体メモリ2の動作状態を示すステータスレジスタの内容を読み出し、FFhで戻る。ステータスレジスタクリアコマンド(データ信号Dが50h)は、ステータスレジスタの内容をクリアし、FFhで戻る。自動書き込みコマンド(データ信号D40h)は、つぎのサイクルのアドレス信号で指定されたアドレスにデータ信号で指定されたデータを書き込むとともに、書き込み用のステータスレジスタに書き込みのステータスを書き込む。自動一括消去コマンド(データ信号Dが40h)は、つぎのサイクルのデータ信号が20hでメモリブロック204のデータを全て消去するとともに、消去用のステータスレジスタに自動一括消去のステータスを書き込む。自動ブロック消去コマンド(データ信号Dが20h)は、つぎのサイクルでデータ信号DがD0hとなり、アドレス信号Aで指定されたブロックアドレスのブロックのメモリブロック204のデータを消去するとともに、データを消去した後消去用のステータスレジスタに自動ブロック消去のステータスを書き込む。自動消去中断コマンド(データ信号が80h)は、自動一括消去コマンドまたは自動ブロック消去コマンドによりメモリブロック204のデータを消去中にその消去動作を中断する。自動消去再開コマンド(データ信号が20h)は、自動消去中断コマンドにより中断された消去動作を再開する。マイクロシーケンサ201は、これらのコマンドに基づいて不揮発性半導体メモリ2の各構成要素を制御する。
【0019】
図3は、図1に示したマイクロシーケンサ201の構成を示すブロック図である。マイクロシーケンサ201は、コマンドポート206と、ステータスレジスタ207と、自動消去シーケンサ208と、自動書き込みシーケンサ303と、テストモード・シーケンサ209と、パワーリセット回路210と、クロック生成回路211と、デコーダ・チャージポンプ制御信号生成回路212と、アドレスレジスタ230と、タイマー回路304と、サスペンド制御回路305とを備えている。
【0020】
コマンドポート206は、ラッチ回路205から入力されたアドレス信号およびデータ信号をデコードして、自動消去シーケンサ208、自動書き込みシーケンサ303、テストモード・シーケンサ209およびパワーリセット回路210に出力する。
【0021】
アドレスレジスタ230は、データ読み出しや自動消去/自動書き込み時などに、ラッチ回路205を介して外部から入力されたアドレスを一時的に保持し、メモリデコーダ203に出力する。
【0022】
自動消去シーケンサ208は、コマンドポート206の指示により、消去パルスの発行やポンプ立ち上げ時間設定など自動消去シーケンスで必要な各種時間の計測はタイマー回路304を用いて行い、デコーダ・チャージポンプ制御信号生成回路212を介して、チャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する。また、自動消去時のステータス状態をステータスレジスタ207に書き込む。
【0023】
自動書き込みシーケンサ303は、コマンドポート206の指示により、書き込みパルスの発行やポンプ立ち上げ時間設定など自動書き込みシーケンスで必要な各種時間の計測はタイマー回路304を用いて行い、デコーダ・チャージポンプ制御信号生成回路212を介して、チャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する。
【0024】
テストモード・シーケンサ209は、コマンドポート206の指示により、書き込みパルスと消去の発行やポンプ立ち上げ時間設定など各種テストシーケンスで必要な各種時間の計測はタイマー回路304を用いて行い、デコーダ・チャージポンプ制御信号生成回路212を介して、チャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する。
【0025】
パワーリセット回路210は、電源の立ち上げエッジを検出してリセット信号を内部回路に出力する。また、コマンドポート206を経由して入力される外部リセット入力により、マイクロシーケンサ201内部のすべての回路をリセット状態にする。
【0026】
クロック生成回路211は、所定のクロックパルスを自動消去シーケンサ208、自動書き込みシーケンサ303およびテストモード・シーケンサ209に出力する。パワーリセット回路210によりすべての回路がリセットされ非動作状態になった場合には、クロック生成回路211も機能を停止しクロック信号も停止する。
【0027】
ステータスレジスタ207は、マイクロシーケンサ201のステータス状態を保持する。すなわち、自動書き込みシーケンサ303または自動消去シーケンサ208により自動書き込みまたは自動消去動作が実行中であるか否かが設定される。また、自動消去/書き込みの処理終了時にベリファイの結果に基づいて、処理が正常に終了したかエラーが発生したかの情報も保持する。ステータスレジスタ207の内容は、ステータスレジスタリードコマンドにより読み出される。また、自動消去または書き込み実行時には、データバスのデータ信号Dの所定のビットにステータスレジスタ207の値が出力される。
【0028】
デコーダ・チャージポンプ制御信号生成回路212は、自動消去シーケンサ208、自動書き込みシーケンサ303およびテストモード・シーケンサ209の指定に基づいてチャージポンプ202、メモリデコーダ203およびメモリブロック204を制御する制御信号を生成する。
【0029】
タイマー回路304は、自動消去シーケンサ208、自動書き込みシーケンサ303、テストモード・シーケンサ209およびパワーリセット回路210により起動され、要求のあった時間を計測する。時間の計測が終了すると、要求もとのブロックに終了信号を出力する。
【0030】
サスペンド制御回路305は、ラッチ回路205を介して外部からの割り込み要求に対して、自動消去シーケンサ208を停止または再開させるための処理を行う。また、自動消去シーケンサ208のシーケンスをモニタして、自動消去シーケンスを停止することのできるポイントまでの時間と、自動消去シーケンス終了までの時間とをラッチ回路205を介して外部に出力する。
【0031】
チャージポンプ202は、マイクロシーケンサ201から入力される制御信号に基づいてデータの書き込みおよび消去時にメモリブロック204に対して印加する電圧を発生する。図4は、図1に示したチャージポンプ202の構成を示すブロック図である。チャージポンプ202は、負電圧チャージポンプ回路213と、正電圧チャージポンプ回路214と、読み出し電圧チャージポンプ回路215と、電圧切替回路216とを備えている。
【0032】
負電圧チャージポンプ回路213は、メモリブロック204の消去時に駆動され、メモリブロック204を消去するための負電圧を生成する。正電圧チャージポンプ回路214は、メモリブロック204にデータ“H”の書き込みおよびデータ消去時の前処理としてメモリブロック204に“H”を書き込むための正電圧を生成する。読み出し電圧チャージポンプ回路215は、メモリブロック204の読み出しおよびデータ書き込み後のベリファイ時に駆動され、メモリブロック204の読み出しおよびベリファイ時に、読み出し用の電圧またはベリファイ用電圧を発生する。電圧切替回路216は、負電圧チャージポンプ回路213と正電圧チャージポンプ回路214と読み出し電圧チャージポンプ回路215の何れか1つの回路から出力される電圧を選択し、選択した電圧をメモリデコーダ203およびメモリブロック204に出力する。
【0033】
メモリデコーダ203は、マイクロシーケンサ201を介して入力されるアドレスに基づいてセレクト信号とロウアドレス信号とコラムアドレス信号とを生成してメモリブロック204に出力する。
【0034】
図5は、図1に示したメモリデコーダ203の構成を示すブロック図である。メモリデコーダ203は、セレクトゲートアドレスラッチ232と、ロウアドレスラッチ217と、コラムアドレス入力バッファラッチ218と、セレクトゲートアドレスプリデコーダ233と、ロウアドレスプリデコーダ219と、コラムアドレスプリデコーダ220とを備えている。
【0035】
セレクトゲートアドレスラッチ232は、アドレス信号をラッチして、セレクトゲートアドレスプリデコーダ233にラッチしたアドレス信号を出力する。セレクトゲートアドレスプリデコーダ233は、アドレス信号が示すアドレスのプリデコード処理を行い、セレクト信号を生成する。
【0036】
ロウアドレスラッチ217は、アドレス信号をラッチして、ロウアドレスプリデコーダ219にラッチしたアドレス信号を出力する。ロウアドレスプリデコーダ219は、アドレス信号が示すアドレスのプリデコード処理を行い、ロウアドレス信号を生成する。
【0037】
コラムアドレス入力バッファラッチ218は、アドレス信号をラッチして、コラムアドレスプリデコーダ220にラッチしたアドレス信号を出力する。コラムアドレスプリデコーダ220は、アドレス信号が示すアドレスのプリデコード処理を行い、コラムアドレス信号を生成する。
【0038】
メモリブロック204は、図6に示すように、メモリブロック204−0〜204−4の5つのブロックで構成される。メモリブロック204−4は、16進表記で00000h〜07FFFhの32KBのアドレス空間を有する。メモリブロック204−3は、16進表記で08000h〜0FFFFhの32KBのアドレス空間を有する。メモリブロック204−2は、16進表記で10000h〜07FFFhの32KBのアドレス空間を有する。メモリブロック204−1は、16進表記で18000h〜1FFFFhの32KBのアドレス空間を有する。メモリブロック204−0は、16進表記で00000h〜01FFFhの8KBのアドレス空間を有する。メモリブロック204−0は、スペシャル領域であり、固有の信号線のアクセスにより消去、書き込み、読み出しを実行する。
【0039】
図7は、図1に示したメモリブロック204の構成を示すブロック図である。メモリブロック204は、5つのメモリブロック204−0〜204−4と、センスアンプ/書き込み回路226と、セレクタ回路227とを備えている。メモリブロック204−0は、Xデコーダ204−10と、Yデコーダ204−20と、SGデコーダ204−30と、8KBのメモリセルアレイ204−40とを備えている。メモリブロック204−1は、Xデコーダ204−11と、Yデコーダ204−21と、SGデコーダ204−31と、32KBのメモリセルアレイ204−41とを備えている。メモリブロック204−2は、Xデコーダ204−12と、Yデコーダ204−22と、SGデコーダ204−32と、32KBのメモリセルアレイ204−42とを備えている。メモリブロック204−3は、Xデコーダ204−13と、Yデコーダ204−23と、SGデコーダ204−33と、32KBのメモリセルアレイ204−43とを備えている。メモリブロック204−4は、Xデコーダ204−14と、Yデコーダ204−24と、SGデコーダ204−34と、32KBのメモリセルアレイ204−44とを備えている。
【0040】
メモリセルアレイ204−40〜204−44とセンスアンプ/書き込み回路226間はグローバルビット線234で接続されている。センスアンプ/書き込み回路226は、メモリセルアレイ204−40〜204−44からの出力をグローバルビット線234とセレクタ回路227を介してデータ信号に出力するとともに、データ信号の値をセレクタ回路227、グローバルビット線234を介してメモリセルアレイ204−40〜204−44に書き込む。
【0041】
図8は、図7に示したセレクタ回路227とセンスアンプ/書き込み回路226とメモリブロック204−0とを抽出した図である。図8において、メモリセルアレイ204−40は、1本のグローバルビット線234に接続されている部分のみを示している。Yデコーダ204−10は、メモリデコーダ203から入力されるコラムアドレス信号を16本のメインビット線239〜242から一本のビット線を選択するための16本の制御信号CS0〜CS15を生成する。制御信号CS0〜CS15は、サブビット線を選択するトランジスタ235〜238のゲートに接続されている。それぞれのメインビット線239〜242は、それぞれ4本のサブビット線が接続されている。
【0042】
SGデコーダ204−30は、メモリデコーダ203から入力されるセレクト信号により4本のサブビット線SBL0〜SBL3から1本のサブビット線を選択するための制御信号SG0〜SG3を生成する。制御信号SG0〜SG3は、サブビット線を選択するトランジスタ243〜246のゲートに接続されている。
【0043】
Xデコーダ204−10は、メモリデコーダ203から入力されるロウアドレス信号により64本のワード線WL0〜WL63から1本のワード線を選択する。それぞれのサブビット線には、フローティングゲートを有する不揮発性トランジスタからなるメモリセルTr0−0〜Tr0−3、Tr1−0〜Tr1−3、…、Tr63−0〜Tr63−3が行列状に配置されている。このうち、同一行に配置されたメモリセルTr0−0〜Tr63−0のソース端子にはサブビット線SBL0が、メモリセルTr0−1〜Tr63−1のソース端子にはサブビット線SBL1が、メモリセルTr0−2〜Tr63−0ソース端子にはサブビット線SBL2が、メモリセルTr0−3〜Tr63−3のソース端子にはSBL3がそれぞれ接続されている。また、同一列に配置されたメモリセルTr0−0〜Tr0−3のゲート端子にはワード線WL0、メモリセルTr1−0〜Tr1−3のゲート端子にはワード線WL1というように、メモリセルTr63−0〜63−3まで、ゲート端子には異なるワード線が接続されている。
【0044】
メモリセルアレイ204−40のデータの読み出しは、Xアドレスプリデコーダ204−10、Yアドレスプリデコーダ204−20およびSGデコーダ204−30の出力に基づいて、サブビット線SBL0〜SBL3とワード線WL0〜WL63からそれぞれ1本のサブビット線とワード線とが選択され、選択されたビット線とワード線とに接続されたフローティングゲートを有する不揮発性トランジスタからなるメモリセルの内容が、センスアンプ/書き込み回路228内のセンスアンプを解してデータ信号に出力される。
【0045】
メモリセルアレイ204−40へのデータの書き込みは、Xアドレスプリデコーダ204−10、Yアドレスプリデコーダ204−20およびSGデコーダ204−30の出力に基づいて、サブビット線SBL0〜SBL3とワード線WBL0〜WBL63からそれぞれ1本のサブビット線とワード線とが選択され、選択されたビット線とワード線とに接続されたフローティングゲートを有する不揮発性トランジスタからなるメモリセルに、センスアンプ/書き込み回路228内の書き込み回路を介してデータ信号の値が書き込まれる。
【0046】
メモリセルアレイ204−40のデータの消去は、消去パルスが消去の対象となっているメモリブロックに印加されると、フローティングゲートを有する不揮発性トランジスタからなるメモリセルのゲートに消去パルスが印加され、データが消去される。
【0047】
つぎに、図9〜図11を用いて、マイクロシーケンサ201内の自動消去シーケンサ208およびサスペンド制御回路305の詳細について説明する。図9は、図3に示した自動消去シーケンサ208の構成を示すブロック図である。自動消去シーケンサ208は、自動消去シーケンス制御回路254と、消去前書き込み制御回路256と、消去/消去ベリファイ制御回路257と、消去前書き込み信号生成回路258と、アドレスインクリメンタ259と、消去ベリファイ回路260と、サスペンド要求受付回路255と、デクリメンタ350と、インクリメンタ351と、退避用レジスタ352と、自動消去シーケンス状態記憶回路353とを備えている。
【0048】
自動消去は、アドレス読み出し、メモリブロック204内の分割されたメモリセルアレイ204−0〜204−4を単位として、消去前書き込み、消去/消去ベリファイの一連の動作を行う。
【0049】
自動消去シーケンス状態記憶回路353は、自動消去を中断した際にその動作を再開するための再開情報を保持する。
【0050】
自動消去シーケンス制御回路254は、パワーリセット回路210によりリセットされて初期状態となる。自動消去シーケンス制御回路254は、コマンドポート206およびクロック生成回路211から入力される制御信号により、不揮発性半導体メモリ2が自動消去モードになると、消去前書き込み制御回路256および消去/消去ベリファイ制御回路257を制御するとともに、自動消去実行中であることをステータスレジスタ207に設定する。自動消去終了時には、自動消去が完了したことをステータスレジスタ207に設定する。また、前回の自動消去動作が途中で終了したため自動消去シーケンス状態記憶回路353に再開情報がある場合には、再開情報に基づいて、特定のアドレスの消去前書き込みを実行するのか消去/消去ベリファイを実行するのかを判断して、消去前書き込み制御回路256または消去/消去ベリファイ制御回路257を制御するとともに、自動消去実行中であることをステータスレジスタ207に設定する。自動消去動作を中断した場合には、再開情報を自動消去シーケンス状態記憶回路353に設定するとともに、自動消去の中断をステータスレジスタ207に設定する。
【0051】
消去前書き込み制御回路256は、自動消去シーケンス制御回路254からの信号に基づいて、消去前書き込み信号生成回路258とアドレスインクリメンタ259を制御して、メモリブロック204に対して消去前書き込み処理を行う。
【0052】
消去前書き込み信号生成回路258は、消去前書き込み制御回路256からの信号に基づいて、消去前書き込み信号をデコーダ・チャージポンプ制御信号生成回路212に出力する。
【0053】
消去/消去ベリファイ制御回路257は、自動消去シーケンス制御回路254からの信号に基づいて、消去前書き込み信号生成回路258とアドレスインクリメンタ259を制御して、メモリブロック204に対して消去および消去ベリファイ処理を行うとともに、消去パルスをデコーダ・チャージポンプ制御信号生成回路212に出力する。
【0054】
消去ベリファイ回路260は、消去/消去ベリファイ制御回路257からの信号に基づいて、アドレスインクリメンタ259を制御して、消去したメモリブロック204のデータを読み出す。読み出したデータと予め定められた期待値とを比較して、メモリブロック204が消去されているかを確認する。
【0055】
アドレスインクリメンタ259は、消去前書き込み制御回路256、消去/消去ベリファイ制御回路257および消去ベリファイ回路260の指定に基づいて、消去対象となっているメモリブロック204のアドレスを最下位アドレスから最上位アドレスまで順に生成し、生成したインクリメンタアドレスをデコーダ・チャージポンプ制御信号生成回路212に出力する。
【0056】
退避用レジスタ352は、デクリメンタ350の初期値を格納する。退避用レジスタ352に格納されている値は、外部からの専用制御信号により、ラッチ回路205を介して外部に読み出すことができる。また、読み出した値は、メモリブロック204−0に自動消去実行時間として記憶する。
【0057】
デクリメンタ350は、自動消去終了までの時間およびサスペンド要求受付までの時間をデクリメント値としてカウントして、カウント値をラッチ回路205を介して外部に出力する。デクリメンタ350の初期値は、退避用レジスタ352の値またはメモリブロック204−0に格納されているインクリメント値を用いる。自動消去中の消去パルスの照射回数などは、自動消去を実行する度に変化するため、消去パルス印加と消去ベリファイのループ処理に入ると、消去ベリファイのアドレスインクリメントの進み具合と印加した消去パルスの回数から、デクリメント値を修正する。
【0058】
インクリメンタ351は、自動消去終了までの時間をインクリメント値としてカウントし、カウントした値を自動消去が終了した後退避用レジスタ352に格納する。
【0059】
サスペンド要求受付回路255は、サスペンド制御回路305を介して入力された外部からのサスペンド要求信号を受け付ける。サスペンド要求を受け付けると、サスペンド要求受付回路255は、実行中の処理に基づいて、消去前書き込み制御回路256または消去/消去ベリファイ制御回路257にサスペンド要求を受け付けたことを通知する。また、自動消去シーケンス中の処理を停止可能なポイントまでの時間を出力するとともに、自動消去終了までの時間をデクリメント値としてサスペンド制御回路305に出力する。
【0060】
図10は、図3に示したサスペンド制御回路305の構成を示すブロック図である。サスペンド制御回路305は、サスペンド要求処理回路306と、サスペンド位置設定レジスタ307とを備えている。
【0061】
サスペンド要求処理回路306は、ラッチ回路205を介して外部から入力されるサスペンド要求の信号を受け付けて、サスペンド要求受付回路255に出力する。また、サスペンド位置設定レジスタ307に中断ポイントが設定された場合、たとえば、中断ポイントが消去前書き込み終了後であれば消去前書き込み処理中に、中断ポイントが消去パルス印加後であれば消去パルス印加中に、サスペンド要求をサスペンド要求受付回路255に出力する。サスペンド要求処理回路306は、サスペンド要求受付回路255からの信号に基づいて、サスペンド要求を受け付けたことを示すサスペンドホールド信号およびサスペンドポイントまでの時間、自動消去終了までの時間を補正計算してそれらの時間をラッチ回路205を介して外部に出力する。
【0062】
サスペンド位置設定レジスタ307は、自動消去処理を中断するポイントを格納する。サスペンド位置設定レジスタ307は、制御信号を用いてラッチ回路205を介して外部より設定する。サスペンド位置設定レジスタ307は、図11に示すように、2ビットのレジスタである。b0に“1”が設定されると、消去前書き込み終了後にサスペンド処理が実行され、“0”が設定されるとサスペンド処理は実行されない。b1に“1”が設定されると、消去パルス印加後にサスペンド処理が実行され、“0”が設定されるとサスペンド処理は実行されない。すなわち、サスペンド位置設定レジスタ307のb0またはb1に“1”を設定しておけば、サスペンド要求信号がネゲートの場合でもサスペンド処理が実行される。
【0063】
つぎに、図12〜図18を参照して、この実施の形態1の不揮発性半導体メモリ2の動作を説明する。まず、図12のフローチャートを参照して、この実施の形態1の不揮発性半導体メモリ2の書き込み動作を説明する。ラッチ回路205は、図2に示した自動書き込みの第1コマンドとしてデータバスから入力されるデータ信号の40hをラッチする(ステップS100)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動書き込みのセットアップモードになり、自動書き込みシーケンサ303を制御する。ラッチ回路205はつぎのサイクルでアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号をラッチする(ステップS110)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動書き込みシーケンサ303に出力する。これにより、自動書き込みシーケンサ303は、書き込み動作を開始する。
【0064】
自動書き込みシーケンサ303は、アドレス信号およびデータ信号に基づいてデコーダ・チャージポンプ制御信号生成回路212を介してチャージポンプ202、メモリデコーダ203およびメモリブロック204を制御して書き込みパルスを印加する(ステップS120)。
【0065】
自動書き込みシーケンサ303は、書き込んだデータのベリファイ処理を行う(ステップS130)。すなわち、書き込んだアドレスのデータを読み出して、読み出したデータと外部より取り込んだデータとをワード単位で比較する。そして、比較結果が一致した場合は、書き込み処理が正常に終了したことをステータスレジスタ207に設定して、処理を終了する。
【0066】
比較結果が不一致の場合は、自動書き込みシーケンサ303は、再度書き込み前処理を行う。このとき、自動書き込みシーケンサ303内の書き込み回数をカウントするカウンタをカウントアップする。そして、カウンタの値が予め定められた最大回数と比較する(ステップS140)。カウンタの値が、最大回数に達しない場合には、書き込みパルスを印加してデータを書き込み、ベリファイ処理を行う(ステップS120,S130)。カウンタの値が最大回数に達した場合、自動書き込みシーケンサ303は、書き込みエラーをステータスレジスタ207に設定して(ステップS150)処理を終了する。
【0067】
つぎに、図13のフローチャートを参照して、不揮発性半導体メモリ2のメモリブロック204−0〜204−4のいずれかのブロックを対象とする自動ブロック消去の動作を説明する。ラッチ回路205は、図2に示した自動ブロック消去の第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS200)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号のD0hをラッチする(ステップS210)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動消去シーケンサ208に出力する。これにより、自動消去シーケンサ208は、アドレス信号により指定されたメモリブロックの自動ブロック消去動作を開始する。
【0068】
自動消去シーケンサ208は、アドレス信号で指定されたメモリブロックに対して“1”を書き込む消去前書き込み処理を行う(ステップS220)。具体的には、自動消去シーケンス制御回路254は、デクリメンタ350、インクリメンタ351および消去前書き込み制御回路256を起動する。これにより、デクリメンタ350およびインクリメンタ351が動作を開始して、処理終了までの時間およびサスペンド要求受付までの時間が外部に出力される。消去前書き込み制御回路256は、消去前書き込み信号生成回路258とアドレスインクリメンタ259を制御する。そして、デコーダ・チャージポンプ制御信号生成回路212を介してチャージポンプ202とメモリデコーダ203によりアドレスインクリメンタ259が順次示すアドレスにワード単位でall“1”を書き込む。
【0069】
消去前書き込み処理が終了すると、自動消去シーケンサ208は、サスペンド要求の受付があるかを確認する(ステップS230)。サスペンド要求受付回路255からサスペンド要求があった場合、自動消去シーケンス制御回路254は、自動消去を中断して、メモリ読み出しを可能とする(ステップS240)。
【0070】
メモリ読み出しが終了した場合、または、サスペンド要求の受付がない場合には、自動消去シーケンサ208は、消去パルス印加の処理を行う(ステップS250)。具体的には、自動消去シーケンス制御回路254は、消去/消去ベリファイ制御回路257とアドレスインクリメンタ259を制御する。そして、デコーダ・チャージポンプ制御信号生成回路212を介してチャージポンプ202とメモリデコーダ203により、消去パルスを印加する。
【0071】
消去パルスの印加が終了すると、自動消去シーケンサ208は、サスペンド要求の受付があるかを確認する(ステップS260)。サスペンド要求受付回路255からサスペンド要求があった場合、自動消去シーケンス制御回路254は、自動消去を中断して、メモリ読み出しを可能とする(ステップS270)。
【0072】
メモリ読み出しが終了した場合、または、サスペンド要求の受付がない場合、アドレスインクリメンタ259は、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイ回路260は、読み出したデータが消去されているかを確認する(ステップS280)。消去されている場合には、最終アドレス(対象となっているメモリブロックの最上位アドレス)までデータが消去されているかの確認を繰り返す(ステップS280,S290)。
【0073】
読み出したデータが消去されていない場合、消去ベリファイ回路260は、再度消去パルス印加を行う。このとき、消去ベリファイ回路260内の消去前処理の回数をカウントするカウンタをカウントアップする。そして、カウンタの値を予め定められた最大回数と比較する(ステップS300)。カウンタの値が、最大回数に達しない場合には、消去パルス印加し(ステップS250)、その後、サスペンド要求の受付があるかを確認して(ステップS260,270)、消去に失敗したアドレスからベリファイ処理を行う(ステップS280)。カウンタの値が最大回数に達した場合、消去ベリファイ回路260は、消去エラーをステータスレジスタ207に設定して(ステップS310)処理を終了する。
【0074】
図14のタイムチャートを参照して、自動消去終了までの時間を示すデクリメント値およびサスペンド要求受付までの時間(停止可能までの時間)の出力タイミングを説明する。ここでは、クロック生成回路211が生成するクロックの周期を100nsとする。
【0075】
t1のタイミングにおいて、第1コマンドの20hが入力され、t2のタイミングにおいて、第2コマンドのD0hが入力される。これらのコマンドの入力にはライト信号IWEが使用され、ライト信号IWEの立ち上がりでコマンドがラッチされる。
【0076】
t3のタイミングにおいて、デクリメンタ350のデクリメンタ値DEC0には、メモリブロック204−0に格納された1回前に消去した際にカウントしたインクリメント値または退避用レジスタ352に設定された値が設定される。この場合は、“080000h”が設定される。この値はクロック数であり、クロックの周期は100nsであるので約0.8secを示している。また、デクリメンタ350のデクリメンタ値DEC1には、サスペンド要求時に停止可能なポイントまでの時間が設定される。この場合は、“30000h”が設定される。この値はクロック数であり、クロックの周期は100nsであるので約19msを示している。インクリメンタ351はリセットされて、インクリメンタ351のインクリメンタ値INC0は“0”になる。
【0077】
t4のタイミングにおいて、デクリメンタ値DEC0およびデクリメンタ値DEC1は、ともに1だけデクリメントされ、インクリメンタ値INC0はインクリメントされ“1”になる。このようにクロックの立ち上がりに同期してデクリメンタ値DEC0およびデクリメンタ値DEC1はデクリメントされ、インクリメンタ値INC0はインクリメントされる。
【0078】
また、t3、t4の期間では、サスペンド要求時に停止可能なポイントまでの時間が約19msであるのでステータス信号である停止可能まで10ms以上を示す信号が“H”になる。
【0079】
t5,t6,t7のタイミングでは消去前書き込み処理を行っている。t7のタイミングで消去前書き込み処理が終了する。このとき、デクリメンタ値DEC1は、“00000h”となる。すなわち、消去前書き込み処理が終了したため、サスペンド要求を受け付けることが可能となり、サスペンド要求を受け付けるまでの時間が0sとなっている。さらに、ループ処理により消去前書き込みが開始されると、デクリメンタ値DEC1に処理終了までの時間を示す値が設定され、クロックの立ち上がりに同期してデクリメントされる。t5のタイミングでは、デクリメンタ値DEC1の値は“00100h”であり、クロックの周期が100nsであるので、約25nsを示している。したがって、停止可能まで10μs以上を示す信号(図示せず)が“H”になる。
【0080】
t8,t9,t10,t11,t12のタイミングでは消去パルス印加および消去ベリファイのループ処理を行っている。t8のタイミングにおいて、デクリメント値DEC1に、処理終了までの時間を示す値“05000h”が設定される。クロックに基づいて時間に換算すると約2msであるので、ステータス信号である停止可能まで1ms以上5ms以下を示す信号を“H”にする。
【0081】
t11のタイミングにおいて、デクリメント値DEC1が“000001h”となり、クロックに基づいて時間に換算すると100nsであるので、ステータス信号である停止可能まで1ms以上5ms以下を示す信号が“L”に、ステータス信号である停止可能まで1μs以下を示す信号が“H”になる。
【0082】
t12のタイミングにおいて、消去パルスの印加の相回数は、自動消去実行の際に毎回微妙に変化するため、ループ処理中に消去パルスの印加回数とベリファイアドレスのインクリメント値に基づいてデクリメンタ350の値が修正される。たとえば、t12のタイミングで修正された値がデクリメンタ350のデクリメンタ値DEC0は“00fffeh”に修正される。デクリメンタ値DEC1は、“00000h”となる。すなわち、消去前書き込み処理が終了したため、サスペンド要求を受け付けることが可能となり、サスペンド要求を受け付けるまでの時間が0sとなっている。
【0083】
さらに、ループ処理によりt8のタイミングに戻って消去前書き込みが開始されると、デクリメンタ値DEC1に処理終了までの時間を示す値が設定され、クロックの立ち上がりに同期してデクリメントされる。
【0084】
消去パルス印加および消去ベリファイ終了後のt13〜t15のタイミングを経て自動ブロック消去が終了する。t15のタイミングにおいて、インクリメンタ値INC0の値が、退避用レジスタ352に格納される。
【0085】
つぎに、図15のフローチャートを参照して、自動一括消去の動作を説明する。自動一括消去は、メモリブロック204−1〜204−4をブロック単位で消去する。
【0086】
ラッチ回路205は、図2に示した自動一括消去の第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS400)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号の20hをラッチする(ステップS410)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動消去シーケンサ208に出力する。これにより、自動消去シーケンサ208は、自動一括消去動作を開始する。
【0087】
自動消去シーケンサ208は、図13のフローチャートに示したブロック消去手順(ステップS230〜S310)にしたがって、メモリブロック204−1〜204−4の4つのメモリブロックを1つずつ消去し、最終ブロックの消去が終了すると(ステップS420)処理を終了する。
【0088】
図16のタイムチャートは、自動一括消去終了までの時間を示すデクリメント値およびサスペンド要求受付までの時間(停止可能までの時間)の出力タイミングを示している。自動一括消去は、メモリブロック204−1〜204−4をブロック単位で消去しているので、図14のタイムチャートと同様のタイミングについてはその説明を省略する。t12のタイミングにおいて、1つのメモリブロックの消去が完了すると、消去処理の最終メモリブロックになるまで、t5〜t7のタイミングにおける消去前書き込みと、t8〜t12のタイミングにおける消去パルス印加および消去ベリファイを繰り返す。
【0089】
つぎに、消去前書き込み処理終了直後に自動消去中断コマンドが入力された場合を例に挙げて、自動ブロック消去処理が中断され、自動消去再開コマンドにより自動ブロック消去処理を再開する動作を説明する。
【0090】
図17のフローチャートを参照して、自動消去中断コマンドが入力されて自動処理ブロック消去処理を中断する動作を説明する。ラッチ回路205は、図2に示した自動ブロック消去の第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS200)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてアドレスバスから入力されるアドレス信号とデータバスから入力されるデータ信号のD0hをラッチする(ステップS210)。コマンドポート206は、ラッチ回路205が入力したアドレス信号およびデータ信号を自動消去シーケンサ208に出力する。これにより、自動消去シーケンサ208は、アドレス信号により指定されたメモリブロックの自動ブロック消去動作を開始する。
【0091】
自動消去シーケンサ208は、アドレス信号で指定されたメモリブロックに対して“1”を書き込む消去前書き込み処理を行う(ステップS220)。
【0092】
消去前書き込み処理終了直後に、自動消去中断コマンドが入力されたとする。すなわち、コマンドポート206がラッチ回路205を介して入力されたデータ信号の80hを認識し、自動消去中断コマンドが入力されたことを自動消去シーケンス制御回路254に通知する。
【0093】
自動消去中断コマンドが入力されたこと通知されると、自動消去シーケンス制御回路254は、自動消去再開コマンドが入力された場合に処理を再開するための再開処理情報を自動消去シーケンス状態記憶回路353に設定して(ステップS500)処理を終了する。これにより、図2に示したコマンドの実行が可能となる。
【0094】
つぎに、図18のタイムチャートを参照して、自動消去再開コマンドにより自動消去処理を再開する動作を説明する。ラッチ回路205は、図2に示した自動消去再開コマンドの第1コマンドとしてデータバスから入力されるデータ信号の20hをラッチする(ステップS600)。コマンドポート206は、ラッチ回路205がラッチしたデータ信号により、自動ブロック消去のセットアップモードになり、自動消去シーケンサ208を制御する。ラッチ回路205はつぎのサイクルで入力される確認コマンドである第2コマンドとしてデータバスから入力されるデータ信号の40hをラッチする(ステップS610)。コマンドポート206は、自動消去シーケンサ208に自動消去再開コマンドが入力されたことを通知する。
【0095】
自動消去再開コマンドが入力された通知を受けると、自動消去シーケンサ208内の自動消去シーケンス制御回路254は、自動消去シーケンス状態記憶回路353から再開情報を読み出す(ステップS620)。自動消去シーケンス制御回路254は、再開情報に基づいて自動消去動作を再開する。この場合、再開情報は消去前書き込み処理が終了したことを示しているため、消去パルス印加から処理を再開する(ステップS250)。
【0096】
消去パルス印加の処理が終了すると、アドレスインクリメンタ259は、消去対象となっているメモリブロックに対して、最下位アドレスから最上位アドレスまでのアドレスをインクリメントさせながら消去ベリファイ処理を行う。消去ベリファイ回路260は、読み出したデータが消去されているかを確認する(ステップS280)。消去されている場合には、最終アドレス(対象となっているメモリブロックの最上位アドレス)までデータが消去されているかの確認を繰り返す(ステップS280,S290)。
【0097】
読み出したデータが消去されていない場合、消去ベリファイ回路260は、再度消去パルス印加を行う。このとき、消去ベリファイ回路260内の消去前処理の回数をカウントするカウンタをカウントアップする。そして、カウンタの値を予め定められた最大回数と比較する(ステップS300)。カウンタの値が、最大回数に達しない場合には、消去パルス印加し(ステップS250)、消去に失敗したアドレスからベリファイ処理を行う(ステップS280)。カウンタの値が最大回数に達した場合、消去ベリファイ回路260は、消去エラーをステータスレジスタ207に設定して(ステップS310)処理を終了する。
【0098】
なお、自動消去中断コマンドは、自動ブロック消去中の何処でも受け付け可能である。
【0099】
また、自動一括消去コマンドは、メモリブロック204−1〜204−4をブロック単位でデータを消去しているので、自動一括消去コマンド実行中についても、自動消去中断コマンドが入力されると、自動消去シーケンス制御回路254は、再開情報を自動消去シーケンス状態記憶回路353に格納して処理を中断する。そして、自動消去再開コマンドが入力されると、自動消去シーケンス制御回路254は、自動消去シーケンス状態記憶回路353に格納してある再開情報を読み出して、その再開情報に基づいて自動一括消去処理を再開する。
【0100】
このようにこの実施の形態1では、自動ブロック消去または自動一括消去によりメモリブロックを消去する際に、消去開始からサスペンド要求を受け付けることができる第1の消去処理の区切りまでの時間または第1の消去処理の区切りから第2の消去処理の区切りまでの処理時間を外部に出力するようにしているため、外部から割り込み処理を受け付けるまでの時間を知ることができる。
【0101】
また、自動ブロック消去または自動一括消去のコマンドが終了するまでの時間、すなわち、メモリブロックの消去開始から終了までの時間を外部に出力するようにしているため、外部からコマンド終了までの時間を知ることができる。
【0102】
さらに、外部に出力する時間を消去動作に用いるクロック数またはクロック周期を用いて時間に換算して出力するようにしているため、この不揮発性半導体メモリを使用した外部回路は制御方法に合わせてサスペンド要求を受け付けるまでの時間の情報を選択することができる。
【0103】
さらにまた、自動消去中断コマンドによりメモリブロックの消去動作を完全に停止する際に、その処理を停止したポイントを記憶しておき、自動消去再開コマンドにより、記憶しておいたポイントから消去の処理を再開するようにしているため、メモリブロックを消去している場合でもいったん処理を停止して、不揮発性半導体メモリが有するコマンドを全て実行することができる。
【0104】
実施の形態2.
図19および図20を用いてこの発明の実施の形態2を説明する。図19は、この発明の実施の形態2における不揮発性半導体メモリを内蔵したマイクロコンピュータ1の構成を示すブロック図である。この発明の実施の形態2における不揮発性半導体メモリを内蔵したマイクロコンピュータ1は、不揮発性半導体メモリ2と、インターフェース回路3と、CPU/BIU4と、割り込み制御回路5と、周辺装置6とを備えている。不揮発性半導体メモリ2は、実施の形態1で説明したものであるので、ここではその説明を省略する。
【0105】
不揮発性半導体メモリ2と、インターフェース回路3と、CPU/BIU4と、割り込み制御回路5と、周辺装置6とは、アドレスバス16、データバス17およびR/W制御信号18とで接続されている。不揮発性半導体メモリ2は、アドレスバス16、データバス17およびR/W制御信号18から入力される制御コマンド(図2参照)により動作する。
【0106】
CPU/BIU4は、中央演算処理装置およびバスインタフェース装置であり、フラッシュメモリ内蔵マイクロコンピュータ1の各構成要素を統括的に制御する。
【0107】
周辺装置6は、たとえば、CPU/BIU4が実行するプログラムを格納したROM(Read Only Memory)やRAM(Random Access Memory)、タイマー、シリアル通信回路、ポート制御ブロックなどで構成され、CPU/BIU4または不揮発性半導体メモリ2に対して割り込み要求が発生すると周辺装置割り込み信号10を割り込み制御回路5に出力する。
【0108】
割り込み制御回路5は、外部からの割り込み要求である外部割込み信号11または周辺装置6からの周辺装置割り込み信号10により割り込み制御を行う。
【0109】
インターフェース回路3は、CPUホールド制御回路9と、サスペンド許可レジスタ8と、サスペンド要求レジスタ7と、制御部(図示せず)とを備えている。
【0110】
CPUホールド制御回路9は、不揮発性半導体メモリ2が自動消去コマンド実行中の場合、すべてのバスアクセスを停止させるためのCPUホールド信号15をCPU/BIU4に出力する。また、サスペンド制御レジスタを設定する。
【0111】
図20は、サスペンド要求レジスタ7およびサスペンド許可レジスタ8の設定モードを示している。サスペンド要求レジスタ7は“0”で自動消去/自動書き込み再開(サスペンド要求なし)を、“1”でサスペンド要求ありを表す。サスペンド許可レジスタ8は、“0”でサスペンドモード無効を、“1”でサスペンドモード有効を表す。サスペンド要求レジスタ7は、サスペンド許可レジスタ8が“1”かつサスペンド要求レジスタ7が“1”の場合、サスペンド要求信号13を不揮発性半導体メモリ2とCPUホールド制御回路9とに出力する。
【0112】
制御部は、アドレスバス16およびデータバス17の指定に基づいて、CPUホールド制御回路9、サスペンド許可レジスタ8およびサスペンド要求レジスタ7を設定する。
【0113】
つぎに、この実施の形態2の不揮発性半導体メモリを内蔵したマイクロコンピュータ1の動作を説明する。CPU/BIU4は、不揮発性半導体メモリ2のデータを消去するために、自動ブロック消去コマンドまたは自動一括消去コマンドを不揮発性半導体メモリ2に出力する。不揮発性半導体メモリ2は、入力されたコマンドに基づいて自動消去処理を開始する。これにより、データバスの所定のビットに自動消去時実行中の情報が出力される。
【0114】
インターフェース回路3の制御部は、データバスの所定のビットに自動消去実行中の情報を検出すると、CPUホールド制御回路9に不揮発性半導体メモリ2が自動消去実行中であることを通知する。この通知を受けるとCPUホールド制御回路9は、CPUホールド信号15をCPU/BIU4に出力する。これにより、CPU/BIU4は、バスアクセスを停止する。
【0115】
ここで、外部からの割り込み要求である外部割込み信号11または周辺装置6からの周辺装置割り込み信号10が不揮発性半導体メモリ2に対する割り込み要求の場合、割り込み制御回路5は、不揮発性半導体メモリ2がサスペンド要求を受け付けるまでの時間を示す情報であるデクリメンタ値19とステータス信号20、不揮発性半導体メモリ2が消去を完了するまでの時間を示す情報であるデクリメンタ値21およびCPUホールド信号15に基づいて割り込み要求を行うタイミングを調整して、割り込み要求信号12をサスペンド要求レジスタ7およびCPU/BIU4に出力する。具体的には、たとえば、デクリメンタ値19またはステータス信号20が示す時間が所定の値より大きい場合、不揮発性半導体メモリ2に対して割り込み要求を行っても直ぐに実行されないと判断して待機し、デクリメンタ値19またはステータス信号20が所定の値以下になると割り込み要求信号12をCPU/BIU4とサスペンド要求レジスタ7に出力する。
【0116】
割り込み要求信号12により、サスペンド要求レジスタ7には、サスペンド要求ありが設定される。サスペンド許可レジスタ8がサスペンドモード有効である場合、サスペンド要求レジスタ7は、サスペンド要求信号13を不揮発性半導体メモリ2とCPUホールド制御回路9とに出力する。
【0117】
サスペンド要求信号13を受け付けると、不揮発性半導体メモリ2は、メモリリードが可能となり、サスペンド受付信号14をCPUホールド制御回路9に出力する。CPUホールド制御回路9は、サスペンド受付信号14を受けると、CPU/BIU4に出力しているCPUホールド信号15を停止する。これにより、CPU/BIU4はバスアクセスが可能となり、割り込み要求に応じた割り込み処理ルーチンを実行する。
【0118】
このようにこの実施の形態2では、不揮発性半導体メモリにサスペンド要求を行う際に、不揮発性半導体メモリから出力されるサスペンド要求受け付けまでの時間を参照してサスペンド要求のタイミングを調整するようにしているため、ホールド状態になっているCPU/BIUに対して、長時間割り込み要求を発生することを抑制することができる。
【0119】
なお、デクリメンタ値19またはステータス信号20が示す時間が所定の値より大きく不揮発性半導体メモリ2に対して割り込み要求を行っても直ぐに実行されないと判断した場合、または、サスペンド許可レジスタ8がサスペンドモード無効の場合、割り込み制御回路5は、自動消去中断コマンドを出力するようにしてもよい。これにより、周辺装置または外部からの割り込み要求に対して優先して割り込み処理を実行することができる。
【0120】
【発明の効果】
以上説明したように、この発明にかかる不揮発性半導体メモリによれば、不揮発性半導体メモリ内のメモリブロックを消去する際に、消去処理の区切りでサスペンド要求を受け付けるとともに、消去処理を開始してからサスペンド要求を受け付けることができる消去処理の区切りまでの時間を外部に出力するようにしているため、外部から割り込み処理を受け付けるまでの時間を知ることができる。
【図面の簡単な説明】
【図1】この発明の実施の形態1における不揮発性半導体メモリの構成を示すブロック図である。
【図2】この発明における不揮発性半導体メモリの動作モードの一覧を示す図である。
【図3】図1に示したマイクロシーケンサの構成を示すブロック図である。
【図4】図1に示したチャージポンプの構成を示すブロック図である。
【図5】図1に示したメモリデコーダの構成を示すブロック図である。
【図6】図1に示したメモリブロックのアドレス空間を示す図である。
【図7】図1に示したメモリブロックの構成を示すブロック図である。
【図8】図7に示したセレクタ回路とセンスアンプ/書き込み回路とメモリブロック抽出して示す図である。
【図9】図3に示した自動消去シーケンサの構成を示すブロック図である。
【図10】図3に示したサスペンド制御回路の構成を示すブロック図である。
【図11】図10に示したサスペンド位置設定レジスタの構成を示す図である。
【図12】この発明の実施の形態1における不揮発性半導体メモリの自動書き込みの動作を説明するためのフローチャートである。
【図13】この発明の実施の形態1における不揮発性半導体メモリの自動ブロック消去の動作を説明するためのフローチャートである。
【図14】この発明の実施の形態1における不揮発性半導体メモリの自動ブロック消去の動作のタイミングを説明するためのタイムチャートである。
【図15】この発明の実施の形態1における不揮発性半導体メモリの自動一括消去の動作を説明するためのフローチャートである。
【図16】この発明の実施の形態1における不揮発性半導体メモリの自動一括消去の動作のタイミングを説明するためのタイムチャートである。
【図17】この発明の実施の形態1における不揮発性半導体メモリの自動消去中断の動作を説明するためのフローチャートである。
【図18】この発明の実施の形態1における不揮発性半導体メモリの自動消去再開の動作を説明するためのフローチャートである。
【図19】この発明の実施の形態2における不揮発性半導体メモリを内蔵したマイクロコンピュータの構成を示すブロック図である。
【図20】図19に示したサスペンド要求レジスタおよびサスペンド許可レジスタの構成を示すブロック図である。
【符号の説明】
1 不揮発性半導体メモリを内蔵したマイクロコンピュータ、2 不揮発性半導体メモリ、3 インターフェース回路、4 CPU/BIU、5 割り込み制御回路、6 周辺装置、7 サスペンド要求レジスタ、8 サスペンド許可レジスタ、9 CPUホールド制御回路、10 周辺装置割り込み信号、11 外部割込み信号、12 割り込み要求信号、13 サスペンド要求信号、14 サスペンド受付信号、15 CPUホールド信号、16 アドレスバス、17 データバス、18 R/W制御信号、19 サスペンドまでの時間を示すデクリメンタ値、20 サスペンドまでの時間を示すステータス信号、21 消去終了までの時間を示すデクリメンタ値、201 マイクロシーケンサ、202 チャージポンプ、203 メモリデコーダ、204,204−0,204−1,204−2,204−3 メモリブロック、204−10,204−11,204−12,204−13,204−14 Xデコーダ、204−20,204−21,204−22,204−23,204−24 Yデコーダ、204−30,204−31,204−32,204−33,204−34 SGデコーダ、204−40,204−41,204−42,204−43,204−44 メモリセルアレイ、205 ラッチ回路、206 コマンドポート、207 ステータスレジスタ、208 自動消去シーケンサ、209 テストモード・シーケンサ、210 パワーリセット回路、211 クロック生成回路、212 デコーダ・チャージポンプ制御信号生成回路、213 負電圧チャージポンプ回路、214 正電圧チャージポンプ回路、215 読み出し電圧チャージポンプ回路、216電圧切り替え回路、217 ロウアドレスラッチ、218 コラムアドレス入力バッファラッチ、219 ロウアドレスプリデコーダ、220 コラムアドレスプリデコーダ、226 センスアンプ/書き込み回路、227 セレクタ回路、230 アドレスレジスタ、232 セレクトゲートアドレスラッチ、233セレクトゲートアドレスプリデコーダ、234 グローバルビット線、254自動消去シーケンス制御回路、255 サスペンド要求受付回路、256 消去前書き込み制御回路、257 消去/消去ベリファイ制御回路、258 消去前書き込み信号生成回路、259 アドレスインクリメンタ、260 消去ベリファイ回路、303 自動書き込みシーケンサ、304 タイマー回路、305サスペンド制御回路、306 サスペンド要求処理回路、307 サスペンド位置設定レジスタ、350 デクリメンタ、351 インクリメンタ、352 退避用レジスタ、353 自動消去シーケンス状態記憶回路。
Claims (12)
- 不揮発性トランジスタからなる複数のメモリセルが行列状に配置されたメモリアレイで構成された複数のメモリブロックを有する不揮発性半導体メモリにおいて、
サスペンド要求が入力されると前記メモリブロックの消去時における所定のポイントで前記メモリブロックのデータの消去を中断するサスペンド要求受付回路と、
前記メモリブロックの消去開始時から所定のポイントまでの処理時間を外部に出力するサスペンド制御回路と、
を備えることを特徴とする不揮発性半導体メモリ。 - 前記メモリブロックの消去開始時または前記所定のポイントで、つぎに消去動作を中断可能なポイントまでの消去動作の基準クロックの数が設定され、前記基準クロックの周期ごとにデクリメントする第1のデクリメンタをさらに備え、
前記サスペンド制御回路は、
前記第1のデクリメンタの値を出力することを特徴とする請求項1に記載の不揮発性半導体メモリ。 - 前記サスペンド制御回路は、
前記基準クロックに基づいて前記第1のデクリメンタの値を時間に換算して出力することを特徴とする請求項2に記載の不揮発性半導体メモリ。 - 前記サスペンド制御回路は、
前記メモリブロックのデータの消去が完了するまでの処理時間を出力することを特徴とする請求項1〜3の何れか一つに記載の不揮発性半導体メモリ。 - 前記メモリブロックの消去開始時に、消去動作完了までの基準クロックの数が設定され、前記基準クロックの周期ごとにデクリメントする第2のデクリメンタをさらに備え、
前記サスペンド制御回路は、
前記第2のデクリメンタの値を出力することを特徴とする請求項4に記載の不揮発性半導体メモリ。 - 前記サスペンド制御回路は、
前記基準クロックに基づいて前記第2のデクリメンタの値を時間に換算して出力することを特徴とする請求項5に記載の不揮発性半導体メモリ。 - 前記メモリブロックの消去を中断する所定のポイントを外部より設定するサスペンド位置レジスタをさらに備え、
前記設定された所定のポイントでサスペンド要求を前記サスペンド要求受付回路に出力することを特徴とする請求項1〜6の何れか一つに記載の不揮発性半導体メモリ。 - 前記サスペンド要求受付回路が、
前記メモリブロックの消去処理を中断して所定の処理が終了した後、メモリブロックの消去処理を再開することを特徴とする請求項1〜7の何れか一つに記載の不揮発性半導体メモリ。 - 前記メモリブロックのデータの消去時の動作状態である再開情報を記憶する自動消去シーケンス状態記憶回路をさらに備え、
自動消去中断コマンドが入力された時の再開情報を自動消去シーケンス状態記憶回路に記憶させて、前記メモリブロックのデータの消去動作を完全に停止することを特徴とする請求項1〜8の何れか一つに記載の不揮発性半導体メモリ。 - 自動消去再開コマンドが入力されると、前記自動消去シーケンス状態記憶回路に記憶されている再開情報に基づいて、前記メモリブロックのデータの消去動作を再開することを特徴とする請求項9に記載の不揮発性半導体メモリ。
- 請求項1〜10の何れか一つに記載の不揮発性半導体メモリを内蔵するマイクロコンピュータにおいて、
前記不揮発性半導体メモリにサスペンド要求を行う際に、該不揮発性半導体メモリから出力されるサスペンド要求受け付けまでの時間を参照してサスペンド要求のタイミングを調整する割り込み制御回路、
を備えることを特徴とする不揮発性半導体メモリを内蔵するマイクロコンピュータ。 - 前記割り込み制御回路は、
前記サスペンド要求受け付けまでの時間を参照して、サスペンド要求を出力するか、自動消去中断コマンドを出力するかを判断することを特徴とする請求項11に記載の不揮発性半導体メモリを内蔵するマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003012181A JP2004227635A (ja) | 2003-01-21 | 2003-01-21 | 不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003012181A JP2004227635A (ja) | 2003-01-21 | 2003-01-21 | 不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004227635A true JP2004227635A (ja) | 2004-08-12 |
Family
ID=32900873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003012181A Pending JP2004227635A (ja) | 2003-01-21 | 2003-01-21 | 不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004227635A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007226802A (ja) * | 2006-02-22 | 2007-09-06 | Samsung Electronics Co Ltd | 優先順位によるフラッシュメモリの演算処理装置及び方法 |
JP2007334646A (ja) * | 2006-06-15 | 2007-12-27 | Seiko Epson Corp | フラッシュメモリのコマンドタイプ判定方法、フラッシュメモリのコマンドタイプ判定プログラム、フラッシュメモリの制御方法、フラッシュメモリの制御プログラム |
JP2008034045A (ja) * | 2006-07-31 | 2008-02-14 | Renesas Technology Corp | 半導体集積回路及び記憶装置 |
JP2008171111A (ja) * | 2007-01-10 | 2008-07-24 | Hokkaido Univ | コンピュータを用いた計測制御方法およびそのプログラム |
JP2012043496A (ja) * | 2010-08-17 | 2012-03-01 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2017168160A (ja) * | 2016-03-14 | 2017-09-21 | 株式会社東芝 | 記憶装置 |
US10490290B2 (en) | 2017-09-13 | 2019-11-26 | Toshiba Memory Corporation | Memory system updating suspend prohibiting period |
-
2003
- 2003-01-21 JP JP2003012181A patent/JP2004227635A/ja active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007226802A (ja) * | 2006-02-22 | 2007-09-06 | Samsung Electronics Co Ltd | 優先順位によるフラッシュメモリの演算処理装置及び方法 |
JP4536742B2 (ja) * | 2006-02-22 | 2010-09-01 | 三星電子株式会社 | 優先順位によるフラッシュメモリの演算処理装置及び方法 |
JP2007334646A (ja) * | 2006-06-15 | 2007-12-27 | Seiko Epson Corp | フラッシュメモリのコマンドタイプ判定方法、フラッシュメモリのコマンドタイプ判定プログラム、フラッシュメモリの制御方法、フラッシュメモリの制御プログラム |
JP2008034045A (ja) * | 2006-07-31 | 2008-02-14 | Renesas Technology Corp | 半導体集積回路及び記憶装置 |
JP2008171111A (ja) * | 2007-01-10 | 2008-07-24 | Hokkaido Univ | コンピュータを用いた計測制御方法およびそのプログラム |
US9437308B2 (en) | 2010-08-17 | 2016-09-06 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device which performs improved erase operation |
US11062777B2 (en) | 2010-08-17 | 2021-07-13 | Toshiba Memory Corporation | Nonvolatile semiconductor memory device which performs improved erase operation |
US9025390B2 (en) | 2010-08-17 | 2015-05-05 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device which performs improved erase operation |
JP2012043496A (ja) * | 2010-08-17 | 2012-03-01 | Toshiba Corp | 不揮発性半導体記憶装置 |
US9754672B2 (en) | 2010-08-17 | 2017-09-05 | Toshiba Memory Corporation | Nonvolatile semiconductor memory device which performs improved erase operation |
US12080354B2 (en) | 2010-08-17 | 2024-09-03 | Kioxia Corporation | Nonvolatile semiconductor memory device which performs improved erase operation |
US10157675B2 (en) | 2010-08-17 | 2018-12-18 | Toshiba Memory Corporation | Nonvolatile semiconductor memory device which performs improved erase operation |
US11664077B2 (en) | 2010-08-17 | 2023-05-30 | Kioxia Corporation | Nonvolatile semiconductor memory device which performs improved erase operation |
US10685715B2 (en) | 2010-08-17 | 2020-06-16 | Toshiba Memory Corporation | Nonvolatile semiconductor memory device which performs improved erase operation |
US8559236B2 (en) | 2010-08-17 | 2013-10-15 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device which performs improved erase operation |
JP2017168160A (ja) * | 2016-03-14 | 2017-09-21 | 株式会社東芝 | 記憶装置 |
US10998060B2 (en) | 2017-09-13 | 2021-05-04 | Toshiba Memory Corporation | Memory system in which controller acquires status of nonvolatile memory and control method thereof |
US11289168B2 (en) | 2017-09-13 | 2022-03-29 | Kioxia Corporation | Controller that acquires status of nonvolatile memory and control method thereof |
US10490290B2 (en) | 2017-09-13 | 2019-11-26 | Toshiba Memory Corporation | Memory system updating suspend prohibiting period |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102184260B1 (ko) | 반도체 기억장치 및 이를 위한 연속 판독 방법 | |
JP4317604B2 (ja) | フラッシュメモリにおける書込み/消去機能を拡張するためのデータプロセシングシステム、不揮発性メモリ、および方法 | |
KR102198436B1 (ko) | 비휘발성 메모리의 리텐션 로직 | |
US7164610B2 (en) | Microcomputer having a flush memory that can be temporarily interrupted during an erase process | |
US6201739B1 (en) | Nonvolatile writeable memory with preemption pin | |
JP5115826B2 (ja) | マルチnandフラッシュメモリーデバイスの共通動作中にピーク電力消費量を減少させるための装置および方法 | |
US20180090202A1 (en) | Semiconductor memory device, flash memory and continuous reading method thereof | |
US7404033B2 (en) | Method for reading while writing to a single partition flash memory | |
US5940861A (en) | Method and apparatus for preempting operations in a nonvolatile memory in order to read code from the nonvolatile memory | |
US20190163398A1 (en) | Semiconductor memory | |
JP2008117505A (ja) | 半導体装置およびその制御方法 | |
US7660163B2 (en) | Method and unit for verifying initial state of non-volatile memory device | |
JP2004227635A (ja) | 不揮発性半導体メモリおよび不揮発性半導体メモリを内蔵したマイクロコンピュータ | |
JP2005182996A (ja) | 同期式フラッシュメモリ装置及びその動作方法 | |
JP2007066118A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2021174566A (ja) | 半導体記憶装置 | |
JP2008090995A (ja) | フラッシュメモリ装置及びその消去方法 | |
JP4455593B2 (ja) | データプロセッサ | |
JPH07296599A (ja) | 不揮発性半導体メモリ | |
US20100287337A1 (en) | Nonvolatile memory device and method of operating the same | |
JP2004071092A (ja) | 消去動作時間を短縮したフラッシュメモリ | |
JPH11175399A (ja) | フラッシュメモリにおけるメモリ読出しからレジスタ読出しを区別するための方法および装置 | |
US20080177928A1 (en) | Semiconductor memory device which includes memory cell having charge accumulation layer and control gate | |
JP2007034554A (ja) | 半導体集積回路及びマイクロコンピュータ | |
TWI676987B (zh) | 資料處理系統與資料處理方法 |