(57)【特許請求の範囲】
【請求項１】
電気的に消去及び書込みが可能な一つの不揮発性メモリセルに多値の情報を記憶可能にする半導体装置であって、
一対の入出力端子を有するセンスラッチ回路と、センスラッチ回路の夫々の入出力端子に対応して設けられたビット線と、ビット線に選択的に接続され電気的に消去及び書込み可能な複数個の不揮発性メモリセルと、夫々のビット線に結合されるデータラッチ回路と、前記データラッチ回路を外部とインタフェース可能にする入出力手段と、前記メモリセルに対するデータ読み出し、消去及び書込みを制御する制御手段とを含み、
前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、データラッチ回路に保持された複数ビットの書込みデータに基づいて、ビット線への接続が選択された不揮発性メモリセルを閾値電圧の異なるどの状態にするかを決定する書込み制御情報を書込み動作毎に生成して、前記センスラッチ回路にラッチさせるものであることを特徴とする半導体装置。
【請求項２】
前記制御手段は更に、過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なうものであることを特徴とする請求項1記載の半導体装置。
【請求項３】
前記制御手段は、前記過書込みが検出された時、再消去の後に書込みを再実行させるものであることを特徴とする請求項2記載の半導体装置。
【請求項４】
電気的に消去及び書込みが可能な不揮発性メモリセルを、閾値電圧の異なる消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態に制御して、一つのメモリセルに４値の情報を記憶可能にする半導体装置であって、
一対の入出力端子を有するセンスラッチ回路と、センスラッチ回路の夫々の入出力端子に別々に設けられたプリチャージ手段と、夫々のプリチャージ手段によってプリチャージされるビット線と、ビット線に選択的に接続され電気的に消去及び書込み可能な複数個の不揮発性メモリセルと、夫々のビット線に結合されるデータラッチ回路と、前記データラッチ回路及びセンスラッチ回路を外部とインタフェース可能にする入出力手段と、前記メモリセルに対するデータ読み出し、消去及び書込みを制御する制御手段とを含み、
前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、センスラッチ回路を共有する一対のビット線に接続された2個のデータラッチ回路が保持する2ビットの書込みデータを単位として、ビット線への接続が選択された不揮発性メモリセルを前記消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態の何れの状態にするかを決定する書込み制御情報を演算して、書込み動作毎に前記センスラッチ回路にラッチさせ、ラッチされた書込み制御情報に従って前記第1乃至第3の書込み状態を制御するものであることを特徴とする半導体装置。
【請求項５】
前記制御手段は、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第１の論理値とする書込み制御情報をラッチしたとき、当該第１の論理値とされるビット線に接続されるメモリセルを書込み動作させ、
前記制御手段による前記書込み制御情報の演算は、センスラッチを共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第１の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第２の書込みデータビットとに対し、前記第１の書込みデータビットの論理反転データと前記第２の書込みデータビットとの論理和、前記第１の書込みデータビットと前記第２の書込みデータビットとの論理和、前記第１の書込みデータビットと前記第２の書込みデータビットの論理反転データとの論理和を、データラッチ回路のラッチデータに基づくビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作であり、
前記制御手段は、前記演算によって順次得られた論理和を、書込み動作毎に、前記センスラッチ回路にラッチさせ、ラッチされた論理和が第１の論理値となるメモリセル接続選択ビット線ビット線のメモリセルを書込み動作させるものでることを特徴とする請求項４記載の半導体装置。
【請求項６】
前記制御手段は更に、過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なうものであり、
前記制御手段による前記判定のための演算は、センスラッチを共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第１の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第２の書込みデータビットとに対し、前記第１の書込みデータビットと前記第２の書込みデータビットとの負論理和、前記第１の書込みデータビットと前記第２の書込みデータビットの論理反転データとの論理積、前記第１の書込みデータビットと前記第２の書込みデータビットとの論理積を、データラッチ回路のラッチデータによるビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作であり、
前記制御手段は、前記演算によって順次得られた負論理和及び論理積を、過書込み検出動作毎に、前記判定結果データとして前記センスラッチ回路にラッチさせ、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第２の論理値とする判定結果データをラッチしたとき、前記プリチャージ回路を介して当該メモリセル接続選択ビット線をプリチャージ動作させるものであることを特徴とする請求項５記載の半導体装置。
【請求項７】
前記制御回路は、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路が保持している書込みデータを書込み制御するものであることを特徴とする請求項１乃至６の何れか１項記載の半導体装置。
【請求項８】
前記制御回路は、書込み動作の異常終了の後、リカバリ読み出しコマンドの供給を受け付けたとき、データラッチ回路が保持している書込みデータを前記入出力手段を介して外部に出力させるものであることを特徴とする請求項１乃至７の何れか１項記載の半導体装置。
【請求項９】
前記制御手段は、書き換え第１コマンドが供給されると書き換えアドレスを取り込むと共に、書込みデータをデータラッチ回路に取り込み、書き換え第２コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、データラッチ回路に保持されているデータに基づいて書込み動作を制御するものであることを特徴とする請求項１乃至８の何れか１項記載の半導体装置。
【請求項１０】
前記制御手段は、書き換え第１コマンドが供給されると書き換えアドレスを取り込み、取り込んだアドレスのデータをデータラッチ回路に退避し、退避の後に書き換えアドレスの範囲内で書き換えアドレスを指定して書込みデータをデータラッチ回路に取り込み、書き換え第２コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、前記書き換えアドレスで指定された領域のデータラッチ回路に保持されているデータに基づいて書込み動作を制御するものであることを特徴とする請求項１乃至８の何れか１項記載の半導体装置。
【請求項１１】
前記制御手段は、部分消去第１コマンドが供給されるとセクタアドレスを取り込み、次いで部分消去第２コマンドが供給されると、セクタアドレスで指定される領域中の一定領域に対応されるデータラッチには当該一定領域のデータを退避すると共にその他の領域に対応されるデータラッチ回路には消去状態を指示するデータをセットし、更に、前記セクタアドレスで指定された領域に対する消去を行なってから、前記データラッチ回路に設定されたデータに従って書込み制御を行なうものであることを特徴とする請求項１乃至１０の何れか１項記載の半導体装置。
【請求項１２】
カード基板に、請求項１乃至１１の何れか１項記載の半導体装置と、前記半導体装置をアクセス制御するメモリコントローラと、メモリコントローラに接続される外部インタフェース回路とが実装されて成るものであることを特徴とするメモリカード。
【請求項１３】
請求項１乃至１１の何れか１項記載の半導体装置と、前記半導体装置をアクセス制御するメモリコントローラと、メモリコントローラを制御するプロセッサとを含んで成るものであることを特徴とするデータ処理システム。
【請求項１４】
請求項７記載の半導体装置と、前記半導体装置による書込み動作の異常終了を検出した時、リトライ書込みコマンドと書込みアドレスとを前記半導体装置に向けて出力する制御装置とを含んで成るものであることを特徴とするデータ処理システム。
【請求項１５】
請求項８記載の半導体装置を複数個有し、更に、半導体装置による書込み動作の異常終了を検出した時、リカバリ読み出しコマンドを当該異常終了に係る半導体装置に向けて出力すると共に、リカバリ読み出しコマンドが供給された半導体装置が出力する書込みデータを取り込み、取り込んだ書込みデータを別の半導体装置に書込み制御する制御装置を備えて成るものであることを特徴とするデータ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一つのメモリセルに少なくとも4値の情報（2ビット分の情報）を記憶可能な不揮発性記憶素子を有する半導体装置に関し、例えばフラッシュメモリなどの電気的に書き換え可能な不揮発性半導体記憶装置、更には当該不揮発性半導体記憶装置を用いるファイルメモリシステムなどのデータ処理システムに適用して有効な技術に関するものである。
【０００２】
【従来の技術】
浮遊ゲートに対する電子の注入や電子の引き抜きによって情報を記憶させることができる不揮発性半導体記憶装置、例えばフラッシュメモリが従来から提供されている。フラッシュメモリはフローティングゲート（浮遊ゲート）、コントロールゲート、ソース及びドレインを持つメモリセルトランジスタを有する。このメモリセルトランジスタは、前記フローティングゲートに電子が注入されると閾値電圧が上昇し、また、前記フローティングゲートから電子を引き抜くと閾値電圧が低下する。前記メモリセルトランジスタは、データ読み出しのためのワード線電圧（コントロールゲート印加電圧）に対する閾値電圧の高低に応じた情報を記憶することになる。特に制限されないが、本明細書においてメモリセルトランジスタの閾値電圧が低い状態を消去状態、高い状態を書き込み状態と称する。
【０００３】
このようなフラッシュメモリとして、1個のメモリセトランジスタに４値以上の情報を記憶するものがある。このような多値メモリについて記載された文献の例として日経マイクロデバイス（1994年11月号）第48頁及び第49頁がある。さらに、特開平9−297996号公報がある。
【０００４】
【発明が解決しようとする課題】
多値メモリにおいて、例えば、消去状態と、消去状態に対して夫々閾値電圧が相違される第1乃至第3の書込み状態との中から一つの状態を選択できるようにすれば、1個のメモリセルトランジスタに4値の情報を格納することができる。書込み動作の前に消去動作が行なわれるとすれば、第1乃至第3の書き込み状態の全てを非選択とするか、或いは何れの書き込み状態を選択するかを決定することによって、4値の情報記憶を行なうことができる。そのための書き込み動作においては、前記第1乃至第3の書き込み状態を個々に得るための書き込み動作を選択するか否かを決定するための書き込み制御情報が必要になる。そのような書き込み制御情報を保持するために、夫々ビット線に設けられたセンスラッチ回路及びデータラッチ回路を用いることができる。
【０００５】
センスランチ回路は例えばスタティックラッチから成り、そのセンスラッチの一対の入出力端子に夫々ビット線の一端が接続され、夫々のビット線に前記メモリセルトランジスタのドレインが接続される。更に各ビット線の他端にデータラッチ回路が接続される。前記センスラッチ回路は、前記メモリセルトランジスタのコントロールゲートに読み出し電圧又はベリファイ電圧を印加したとき、そのソース・ドレイン間に電流が流れたり流れなかったりする状態をセンスする。このとき、センスラッチ回路の一方の動作非選択側のビット線はリファレンスレベルにプリチャージされている。また、コントロールゲートとドレインとの間に高電位差を形成して書込みを行う場合、メモリセル毎にドレイン電圧を高くしたり低くしたりすることにより、メモリセルに対する書込み選択と書込み非選択とを区別することができ、この場合に、センスラッチ回路は書込み選択、非選択に応じたデータをラッチすることになる。このラッチデータが前記書き込み制御情報である。
【０００６】
そのような書き込み制御情報は、外部から供給される書き込みデータの2ビット毎にデータ変換回路を介して生成され、書き込み選択されるビット線のセンスラッチ回路と当該センスラッチ回路を共有するビット線対の各データラッチ回路にラッチされる。ワード線単位で書き込み動作が行なわれる場合、当該ワード線を共有する全てのビット線に関し前記センスラッチ回路及びデータラッチ回路に書き込み制御情報が予めラッチされる。
【０００７】
書き込み動作では、先ず、センスラッチ回路にラッチされた書き込み制御情報に従って第1書き込み状態への有無が決定され、次に、一方のデータラッチ回路からセンスラッチ回路に内部転送された書き込み制御情報に従って第２書き込み状態への有無が決定され、更に、他方のデータラッチ回路からセンスラッチ回路に内部転送された書き込み制御情報に従って第３書き込み状態への有無が決定される。このようにして、2ビットのデータで特定される4値の情報を1個のメモリセルに格納することができる。上記第1乃至第3書き込み状態への書き込み動作では夫々の書き込み状態に割り当てられている閾値電圧に到達したかを調べるベリファイ動作が行なわれる。
【０００８】
このとき、メモリセルの中には、第1乃至第3の各書き込み状態に対して過書き込み状態にされるものがあり、その場合には、前後の書き込み状態における閾値電圧を区別することができなくなり、例えば、第１書き込み状態とされるべきメモリセルの閾値電圧が第2書き込み状態の閾値電圧と区別できなくなるほど高くされる場合がある。そのような場合には、書き込み動作を最初からやり直しするために、書き込み対象とされたメモリセルに対して消去動作を行なった後、前記書き込み動作が再度行なわれる。
【０００９】
しかしながら、前記第1乃至第3書き込み状態への書き込み動作を一旦行なうと、最初にセンスラッチ回路にラッチされた書き込み制御情報はデータラッチ回路から内部転送された別の書き込み制御情報によって上書きされて消失されてしまっている。このため、過書き込みに起因する再書き込み動作を行なうには、再度外部から同じ書き込みデータを受け取らなければならない。そのためには、フラッシュメモリをアクセス制御する制御回路は、フラッシュメモリに対する書き込み動作の後、しばらくの間、書き込みデータをワークメモリなどに保持させておかなければならず、フラッシュメモリをアクセス制御するための負荷も大きくなり、フラッシュメモリアクセス若しくはデータ処理効率を低下させる原因になることが本発明者によって明らかにされた。
【００１０】
更に、過書き込みに起因する再書き込み動作の不良など、最終的に書き込み動作それ自体が不良である場合、その時の書き込みデータを当該フラッシュメモリの別の記憶領域に、或いは別のフラッシュメモリに記憶させることが想定される。この時も前記同様に、書込み不良に係るフラッシュメモリはその時の書込みデータを最早保持していない。したがって、その場合も、フラッシュメモリをアクセス制御する制御回路は、フラッシュメモリに対する書き込み動作の後、しばらくの間、書き込みデータをワークメモリなどに保持させておかなければならず、上記同様、フラッシュメモリアクセス若しくはデータ処理効率を低下させてしまう。
【００１１】
本発明の目的は、個々のメモリセルに多値の情報を書き込むため外部からデータラッチ回路に供給された書込みデータが書込み動作によっても失われることのない半導体装置を提供することにある。
【００１２】
本発明の別の目的は、メモリセルに対する多値情報の書込み動作を再度行なう場合に書込みデータを再度外部から受け取ることを要しない半導体装置を提供することにある。
【００１３】
本発明の更に別の目的は、書込み動作の異常終了時に、内部で保持されている当該異常終了に係る書込みデータを別のメモリアドレスを指定して再書込み可能な半導体装置を提供することにある。
【００１４】
本発明のその他の目的は、書込み動作の異常終了時に当該異常終了に係る書込みデータを外部に出力可能な半導体装置を提供することにある。
【００１５】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【００１６】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１７】
〔１〕第1の観点による本発明は、電気的に消去及び書込みが可能な一つの不揮発性メモリセルに多値の情報を記憶可能にする半導体装置において、書込み動作に付随して行なわれる過書込み検出動作（ワードディスターブ検出若しくはエラティック検出）により、メモリセルの過書込み状態が検出された場合に、再消去して再度書き込み動作を最初からやり直すときでも、書き込み動作に必要な書込みデータが内部で保存されていることを保証できるようにするものである。
【００１８】
すなわち、半導体装置は、一対の入出力端子を有するセンスラッチ回路と、センスラッチ回路の夫々の入出力端子に対応して別々に設けられたビット線と、ビット線に選択的に接続され電気的に消去及び書込み可能な複数個の不揮発性メモリセルと、夫々のビット線に結合されるデータラッチ回路と、前記データラッチ回路を外部とインタフェース可能にする入出力手段と、前記メモリセルに対するデータ読み出し、消去及び書込みを制御する制御手段とを含む。前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、データラッチ回路に保持された複数ビットの書込みデータに基づいて、ビット線への接続が選択された不揮発性メモリセルを閾値電圧の異なるどの状態にするかを決定する書込み制御情報を書込み動作毎に生成して、前記センスラッチ回路にラッチさせるものである。
【００１９】
上記手段によれば、外部から与えられる書込みデータをデータラッチ回路にラッチし、ラッチした書込みデータが多値のどの閾値に対応するかは複数段階の書込み動作毎に判定してその判定結果である書込み制御情報をセンスラッチ回路にラッチさせ、センスラッチ回路にラッチされた書込み制御情報に従って、多値の閾値電圧をメモリセルに設定するための書込み動作を段階的に行なう。したがって、書き込み動作が終了しても、データラッチ回路には、当初外部から供給された書込みデータが残っている。したがって、前記ワードディスターブ検出若しくはエラティック検出の結果により、メモリセルに対する多値情報の書込み動作を再度行なう場合にも書込みデータを再度外部から受け取ることを要しない。
【００２０】
過書込み検出には次の手法を採用することができる。すなわち、前記制御手段は更に、過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なう。
【００２１】
前記制御手段は、前記過書込みが検出された時、再消去の後に書込みを再実行させることができる。
【００２２】
〔２〕前記センスラッチ回路に書込み情報をラッチさせるための前記第1の観点による演算制御の更に具体的な手段に着目した第2の観点による発明では、閾値電圧の異なる消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態に制御して、一つのメモリセルに４値の情報を記憶可能にする半導体装置を想定する。このとき、前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、センスラッチ回路を共有する一対のビット線に接続された2個のデータラッチ回路が保持する2ビットの書込みデータを単位として、ビット線への接続が選択された不揮発性メモリセルを前記消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態の何れの状態にするかを決定する書込み情報を演算して、書込み動作毎に前記センスラッチ回路にラッチさせ、ラッチされた書込み情報に従って前記第1乃至第3の書込み状態を制御する。
【００２３】
更に具体的には、前記制御手段は、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第１の論理値とする書込み制御情報をラッチしたとき、当該第１の論理値とされるビット線に接続されるメモリセルを書込み動作させる。前記制御手段による前記書込み制御情報の演算は、センスラッチ回路を共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第１の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第２の書込みデータビットとに対し、前記第１の書込みデータビットの論理反転データと前記第２の書込みデータビットとの論理和、前記第１の書込みデータビットと前記第２の書込みデータビットとの論理和、前記第１の書込みデータビットと前記第２の書込みデータビットの論理反転データとの論理和を、データラッチ回路のラッチデータに基づくビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作である。前記制御手段は、前記演算によって順次得られた論理和を、書込み動作毎に、前記センスラッチ回路にラッチさせ、ラッチされた論理和が第１の論理値となるメモリセル接続選択ビット線のメモリセルを書込み動作させる。
【００２４】
上記に応ずる過書込み判定のための手段の更に具体例は以下のようにすることができる。前記制御手段は更に、書込み動作に起因する過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が、過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを、前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なうものである。前記制御手段による前記判定のための演算は、センスラッチ回路を共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第１の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第２の書込みデータビットとに対し、前記第１の書込みデータビットと前記第２の書込みデータビットとの負論理和、前記第１の書込みデータビットと前記第２の書込みデータビットの論理反転データとの論理積、前記第１の書込みデータビットと前記第２の書込みデータビットとの論理積を、データラッチ回路のラッチデータによるビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作である。前記制御手段は、前記演算によって順次得られた負論理和及び論理積を、過書込み検出動作毎に、前記判定結果データとして前記センスラッチ回路にラッチさせ、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第２の論理値とする判定結果データをラッチしたとき、プリチャージ回路を介して当該メモリセル接続選択ビット線をプリチャージ動作させる。
【００２５】
〔３〕上記手段より、書き込み異常が生じても、その時の書込みデータは半導体装置内部に保存されている。これに着目し、前記制御回路は、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路が保持している書込みデータを書込み制御させることができる。半導体装置がそのようなリトライ機能を有することにより、当該半導体装置をアクセス制御するメモリコントローラ若しくは制御装置は、書き込み動作の異常終了を生じた半導体装置に対して書き込みアドレス若しくはセクタアドレスを変更して再書き込みを容易に行なうことができる。
【００２６】
また、書き込み動作の異常終了後、再書き込み対象を、別の半導体装置に変更可能にすることを考慮することができる。この場合、前記制御回路は、書込み動作の異常終了の後、リカバリ読み出しコマンドの供給を受け付けたとき、データラッチ回路が保持している書込みデータを前記入出力手段を介して外部に出力させるものである。このリカバリ機能により、複数の半導体装置によって構成されるメモリカードのメモリコントローラ若しくはメモリカードをアクセス制御する制御装置は、書き込みデータを自らストアしておかなくても、書き込み動作の異常終了を生じた半導体装置とは別の半導体装置に対して再書き込みを容易に行なうことができる。
【００２７】
〔４〕書き換え動作は、消去コマンドによって消去を行なった後、書き込みコマンドにより同一領域に対して書き込みを行なうことができる。そのような書き換え処理を単一のコマンド、即ち書き換えコマンドで実現することができる。すなわち、前記制御手段は、書き換え第１コマンドが供給されると書き換えアドレスを取り込むと共に、書込みデータをデータラッチ回路に取り込み、書き換え第２コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、データラッチ回路に保持されているデータに基づいて書込み動作を制御する。これによりセクタ全データ書き換えを単一のコマンドで実現できる。
【００２８】
また、セクタの一部に対するデータ書き換えを単一のコマンドで実現することも可能である。すなわち、前記制御手段は、書き換え第１コマンドが供給されると書き換えアドレスを取り込み、取り込んだアドレスのデータをデータラッチ回路に退避し、退避の後に書き換えアドレスの範囲内で書き換えアドレスを指定して書込みデータをデータラッチ回路に取り込み、書き換え第２コマンドが供給された後、前記書き換えアドレスで指定されたセクタ領域の消去を行ない、次いで、前記書き換えアドレスで指定されたセクタ領域のデータラッチ回路に保持されているデータに基づいて書込み動作を制御する。
【００２９】
〔５〕半導体装置をファイルメモリ等に利用する場合、半導体装置のセクタには管理領域を割り当て、残りの部分をユーザ領域として開放することができる。管理領域には例えば書き換え回数やセクタの良／不良の情報などが格納され、ユーザによるセクタ単位での消去において、自動的に管理領域は消去対象外にするコマンドをサポートすることが、半導体装置、更にはファイルメモリの使い勝手を良好にする。この観点に立てば、部分消去コマンドをサポートすればよい。すなわち、前記制御手段は、部分消去第１コマンドが供給されるとセクタアドレスを取り込み、次いで部分消去第２コマンドが供給されると、セクタアドレスで指定される領域中の一定領域に対応されるデータラッチには当該一定領域のデータを退避すると共にその他の領域に対応されるデータラッチ回路には消去状態を指示するデータをセットし、更に、前記セクタアドレスで指定された領域に対する消去を行なってから、前記データラッチ回路に設定されたデータに従って書込み制御を行なう。
【００３０】
〔６〕前記半導体装置をカード基板に、該半導体装置をアクセス制御するメモリコントローラ及びメモリコントローラに接続される外部インタフェース回路と共に搭載してメモリカードを実現できる。
【００３１】
また、前記半導体装置と、前記半導体装置をアクセス制御するメモリコントローラと、メモリコントローラを制御するプロセッサとを含んでデータ処理システムを構成することができる。
【００３２】
リトライ書き込みコマンドに着目すれば、前記半導体装置による書込み動作の異常終了を検出した時、リトライ書込みコマンドと書込みアドレスとを前記半導体装置に向けて出力する制御装置とを含んでデータ処理システムを構成することができる。
【００３３】
また、前記リカバリ読み出しコマンドに着目すれば、半導体装置による書込み動作の異常終了を検出した時、リカバリ読み出しコマンドを当該異常終了に係る半導体装置に向けて出力すると共に、リカバリ読み出しコマンドが供給された半導体装置が出力する書込みデータを取り込み、取り込んだ書込みデータを別の半導体装置に書込み制御する制御装置を含んでデータ処理システムを構成することができる。
【００３４】
【発明の実施の形態】
《フラッシュメモリの全体構成》
図１には本発明の第１の実施形態に係るところの、一つのメモリセルに２ビットの情報を書き込むことができ、かつその情報を読み出すことができるフラッシュメモリ１の全体的な構成が示されている。
【００３５】
３で示されるものはメモリアレイであり、メモリマット、データラッチ回路及びセンスラッチ回路を有する。メモリマット３は電気的に消去及び書き込み可能な不揮発性のメモリセルトランジスタを多数有する。メモリセルトランジスタは、例えば図2に例示されるように、半導体基板若しくはメモリウェルSUBに形成されたソースS及びドレインDと、チャンネル領域にトンネル酸化膜を介して形成されたフローティングゲートFG、そしてフローティングゲートに層間絶縁膜を介して重ねられたコントロールゲートCGを有して構成される。コントロールゲートCGはワード線６に、ドレインDはビット線５に、ソースSは図示を省略するソース線に接続される。
【００３６】
外部入出力端子I/O0〜I/O7は、アドレス入力端子、データ入力端子、データ出力端子、コマンド入力端子に兼用される。外部入出力端子I/O0〜I/O7から入力されたXアドレス信号はマルチプレクサ７を介してXアドレスバッファ８に供給される。Ｘアドレスデコーダ９はＸアドレスバッファ８から出力される内部相補アドレス信号をデコードしてワード線を駆動する。
【００３７】
前記ビット線５の一端側には、図示を省略するセンスラッチ回路が設けられ、他端には同じく図示を省略するデータラッチ回路が設けられている。ビット線５はＹアドレスデコーダ１１から出力される選択信号に基づいてＹゲートアレイ回路１３で選択される。外部入出力端子I/O0〜I/O7から入力されたYアドレス信号はYアドレスカウンタ１２にプリセットされ、プリセット値を起点に順次インクリメントされたアドレス信号が前記Yアドレスデコーダ１１に与えられる。
【００３８】
Yゲートアレイ回路１３で選択されたビット線は、データ出力動作時には出力バッファ１５の入力端子に導通され、データ入力動作時にはデータ制御回路１６を介して入力バッファ１７の出力端子に導通される。出力バッファ１５、入力バッファ１７と前記入出力端子I/O0〜I/O7との接続は前記マルチプレクサ７で制御される。入出力端子I/O0〜I/O7から供給されるコマンドはマルチプレクサ７及び入力バッファ１７を介してモード制御回路１８に与えられる。前記データ制御回路１６は、入出力端子I/O0〜I/O7から供給されるデータの他に、モード制御回路１８の制御に従った論理値のデータをメモリアレイ３に供給可能にする。
【００３９】
制御信号バッファ回路１９には、アクセス制御信号としてチップイネーブル信号CEｂ、出力イネーブル信号ＯＥｂ、書き込みイネーブル信号ＷＥｂ、シリアルクロック信号ＳＣ、リセット信号ＲＥＳｂ及びコマンドイネーブル信号ＣＤＥｂが供給される。モード制御回路１８は、それら信号の状態に応じて外部との信号インタフェース機能などを制御し、また、コマンドコードに従って内部動作を制御する。入出力端子I/O0〜I/O7に対するコマンド又はデータ入力の場合、前記信号ＣＤＥｂがアサートされ、コマンドであれば更に信号ＷＥｂがアサート、データであればＷＥｂがネゲートされる。アドレス入力であれば、前記信号ＣＤＥｂがネゲートされ、信号ＷＥｂがアサートされる。これにより、モード制御回路１８は、外部入出力端子I/O0〜I/O7からマルチプレクス入力されるコマンド、データ及びアドレスを区別できる。モード制御回路１８は、消去や書込み動作中にレディー・ビジー信号Ｒ／Ｂｂをアサートしてその状態を外部に知らせることができる。
【００４０】
内部電源回路２０は、書込み、消去ベリファイ、読み出しなどのための各種動作電源２１を生成して、前記Ｘアドレスデコーダ９やメモリセルアレイ３に供給する。
【００４１】
前記モード制御回路１８は、コマンドに従ってフラッシュメモリ１を全体的に制御する。フラッシュメモリ１の動作は、基本的にコマンドによって決定される。
【００４２】
フラッシュメモリに割り当てられているコマンドは、例えば図３に例示されるように、読み出し、リカバリー読み出し、消去、書込み、追加書込み、リトライ書込み、部分消去、及び書き換えの各コマンドとされる。同図においてコマンドコードは１６進数表記としてある。読み出し動作に関するコマンド（読み出し、リカバリー読み出し）、書き込み動作に関するコマンドのうち書き込みデータの供給を要しないコマンド（リトライ書込み）は第1コマンドによって構成され、それ以外のコマンドは第1及び第2コマンドから構成される。コマンドの夫々の内容については後で詳述する。
【００４３】
フラッシュメモリ1はその内部状態を示すためにステータスレジスタ１８０を有し、その内容は、信号ＯＥｂをアサートすることによって入出力端子I/O0〜I/O7から読み出すことができる。ステータスレジスタ１８０の各ビット内容と入出力端子I/O0〜I/O7との対応が図４に例示されている。
【００４４】
図５には前記メモリアレイ３に含まれるデータラッチ回路とセンスラッチ回路との関係が示されている。中央にセンスラッチ回路ＳＬのアレイＳＬＡが配置され、センスラッチ回路ＳＬの一方の入出力ノード側にはスイッチ回路・演算回路アレイ３０Ｌ、メモリマットＭＭＬ、スイッチ回路・演算回路アレイ３１Ｌ、及び上位データラッチ回路ＤＬＬのアレイＤＬＬＡが配置され、他方の入出力ノード側にも同様に、スイッチ回路・演算回路アレイ３０Ｒ、メモリマットＭＭＲ、スイッチ回路・演算回路アレイ３１Ｒ、及び下位データラッチ回路ＤＬＲのアレイＤＬＲＡが配置されている。更に図5に示されるように、一対のビット線に着目してその構成を把握すれば、スタティックラッチ形態のセンスラッチ回路ＳＬの一対のデータ入出力ノードＳＬＬ，ＳＬＲにはビット線Ｇ−ＢＬＬ，Ｇ−ＢＬＲを介してデータラッチ回路ＤＬＬ，ＤＬＲが設けられている。データラッチ回路ＤＬＬ，ＤＬＲはＹゲートアレイ回路１３を介して供給される書込みデータビットをラッチすることができる。この例に従えば、フラッシュメモリ１は、8ビットの入出力端子I/O0〜I/O7を有するから、1回の書込みデータ入力によって4対のビット線のデータラッチ回路ＤＬＬ，ＤＬＲに書込みデータをセットすることができる。データセットの態様は、図6のデータラッチＤＤＬ，ＤＬＲと入出力端子I/O4，I/O0との対応関係に代表されるように、一定にされる。ここでの説明では、書込みの単位をワード線単位とするので、1本分のワード線に選択端子が結合する全てのメモリセルのビット線に関するデータラッチ回路ＤＬＬ，ＤＬＲに書込みデータをセットした後、書込み電圧印加による書込み動作が行なわれることになる。
【００４５】
図１に示されるフラッシュメモリ１が実現しようとする多値情報記憶技術において、一つのメモリセルの情報記憶状態は、消去状態（“１１”）、第１の書込み状態（“１０”）、第２の書込み状態（“００”）、第３の書込み状態（“０１”）の中から選ばれた一つの状態とされる。全部で４通りの情報記憶状態は、２ビットのデータによって決定される状態とされる。即ち、２ビットのデータを一つのメモリセルで記憶する。この4値のデータと閾値電圧との関係は、図７の閾値電圧分布図に示される通りである。
【００４６】
図7に示されるような閾値分布を得るには、書込み動作時にワード線に印加する書込みベリファイ電圧を相互に異なる３種類設定し、これらを順次切り替えて、３回に分けて書込み動作を行なう。図７において、ＶＷＶ１，ＶＷＶ２，ＶＷＶ３は夫々第１書込み状態，第２書込み状態，第３書込み状態を得る時に用いる書込みベリファイ電圧である。
【００４７】
それら３回に分けた個々の書込み動作において、ワード線とビット線の電圧印加状態の一例は図８に示される。書込み選択のビット線には０Ｖ、非選択のビット線には６Ｖを印加する。特に制限されないが、ワード線は例えば１７Ｖとされる。前記書き込み高電圧印可時間を多くするにしたがってメモリセルの閾値電圧が上昇される。３種類の書き込み閾値電圧制御は、そのような高電圧状態の時間制御、更にはワード線に印可する高電圧のレベル制御によって行うことができる。
【００４８】
ビット線に０Ｖを印加するか、６Ｖを印加するかは、センスラッチ回路ＳＬにラッチさせる書込み制御情報の論理値で決定される。詳細は後で説明するが、書込み動作選択メモリマット側においてセンスラッチのラッチデータが論理値“１”で書込み非選択、論理値“０”で書き込み選択となるように制御される。その制御の詳細は後述する。尚、前記スイッチ回路・演算回路にはプリチャージ回路が含まれており、このプリチャージ回路は、センスラッチのラッチデータが“１”でビット線に６Ｖが印加されるとき、予めビット線をプリチャージしておくように動作する。このように、予めプリチャージ回路でプリチャージを行なっておくことにより、ビット線に６Ｖを与える際のピーク電流を低減することができる。
【００４９】
上記センスラッチ回路に対する書込み制御情報のラッチ動作は、前記３回に分けた書込み動作の各動作毎に制御される。この書込み制御はモード制御回路１８が行い、そのとき、前記センスラッチ回路ＳＬがラッチすべき書込み制御情報は、データラッチ回路ＤＬＬ，ＤＬＲが保持している書込みデータビットを用いた演算を書込み動作毎に行なって生成し、それをセンスラッチ回路ＳＬにラッチさせる。例えば、図６に例示されるように、データラッチ回路ＤＬＬ，ＤＬＲにラッチされた書込みデータが“０１”であったとすると、図７に例示されるように“０１”状態は第３の書込み状態である。消去状態の後の３回に分けた書込み動作が、図９の第２の態様（Case2）の如く閾値電圧の低い順に書込み状態を生成していく書込み手順が採用されている場合、第１回目に第1の書込み状態を得るための書込み動作時にデータラッチ回路ＤＬＬ，ＤＬＲの書込みデータ（“０１”）を用いて演算された結果は論理値“１”、第２回目に第２の書込み状態を得るための書込み動作時にデータラッチ回路ＤＬＬ，ＤＬＲの書込みデータ（“０１”）を用いて演算された結果は論理値“１”、第３回目に第３の書込み状態を得るための書込み動作時にデータラッチ回路ＤＬＬ，ＤＬＲの書込みデータ（“０１”）を用いて演算された結果は論理値“０”とされる。そのような演算は、前記スイッチ回路・演算回路を動作させて行なう。したがって、第3回目の書込み時だけ、書込み電圧が印加され、当該メモリセルには４値の内の第3の書込み状態（“０１”）が実現される。
【００５０】
このようにして、3回に分けて書込み動作が行なわれたとき、最初にデータラッチ回路ＤＬＬ，ＤＬＲにラッチされた書込みデータは破壊されず、そのまま維持されている。データラッチ回路ＤＬＬ，ＤＬＲにラッチされた2ビットの書込みデータを、書き込み動作毎に演算に用いて毎回センスラッチ回路ＳＬにセットするという、制御シーケンスを採用するからである。
【００５１】
尚、書込み動作において閾値電圧を変化させる順番などは図９の第２の態様（Case2）に限定されず、第1の態様（Case1）のように閾値電圧の高いものから設定したり、或いは第３の態様（Case3）のようにどの書込み状態に対しても1回の書込み動作で得る閾値電圧の変化率を同じようにしたり、或いは第４の態様（Case4）又は第５の態様（Case5）の如く制御することも可能である。
【００５２】
データ読み出し動作時は、ワード線に印加するワード線選択レベルとしての電圧を、３種類設定し、３種類のワード線選択レベルを順次変更しながら３回の読出し動作を行い、個々の読み出し動作でメモリセルから読み出される２値（１ビット）のデータをセンスラッチ回路４にラッチする。ラッチされる度に、センスラッチされた内容をデータラッチ回路の2ビットの情報に反映させる演算を行なう。3回のセンスラッチの結果によってデータラッチ回路ＤＬＬ，ＤＬＲに得られた2ビットが、当該メモリセルが保有する4値の情報に対応されるデータとされる。
【００５３】
《メモリアレイの詳細》
次に、上記メモリアレイの詳細を説明する。図１０には、上記フラッシュメモリにおけるセンスラッチ回路及びデータラッチ回路を中心とする回路構成の一例が示される。図１０から明らかなように、センスラッチ回路ＳＬの左右のビット線Ｇ−ＢＬＬ，Ｇ−ＢＬＲの周りの構成は、センスラッチ回路ＳＬを中心に鏡面対称構造とされる。
【００５４】
メモリマットＭＭＬ，ＭＭＲは電気的に書き換え可能な複数個のメモリセルＭＣ（代表的に数個が図示されている）を有する。１個のメモリセルＭＣは、図2に示される通り、コントロールゲート、フローティングゲート、ソース及びドレインを持ち電気的に書き換え可能な１個のトランジスタ（メモリセルトランジスタ）によって構成される。メモリセルのレイアウト構造は、特に制限されないが、所謂ＡＮＤ型とされる。メモリマットＭＭＲ側に例示されるように、ＡＮＤ型の構成では、複数個の前記メモリセルトランジスタがそれらに共通のソース及びドレインを構成する夫々の拡散層（半導体領域）を介して並列配置され、ドレインを構成する拡散層は選択トランジスタＭ１を介してビット線Ｇ−ＢＬＲに、ソースを構成する拡散層は選択トランジスタＭ２を介して共通ソース線ＶＭＭＲに結合されている。ＡＮＤ型メモリセル構造の詳細については後で説明する。ＳＳｉは選択トランジスタＭ２のスイッチ制御信号、ＳＤｉは選択トランジスタＭ１のスイッチ制御信号である。ＷＬはメモリセルＭＣのコントロールゲートに結合されるワード線である。メモリマットＭＭＬも同様に構成されている。尚、本明細書に添付された図面においてＰチャンネル型ＭＯＳトランジスタはその基体ゲートに矢印を付してＮチャンネル型ＭＯＳトランジスタと区別して図示してある。
【００５５】
前記センスラッチ回路ＳＬは、一対のＣＭＯＳインバータから成るスタティックラッチ、即ち相互に一方のＣＭＯＳインバータの入力端子を他方のＣＭＯＳインバータの出力端子に結合して成る回路、によって構成されている。ＳＬＲ，ＳＬＬはセンスラッチ回路ＳＬの一対の入出力ノードである。ＳＬＰ，ＳＬＮはセンスラッチ回路ＳＬの動作電源である。ＭＯＳトランジスタＭ３Ｌ，Ｍ４Ｌの直列回路とＭＯＳトランジスタＭ３Ｒ，Ｍ４Ｒの直接回路は、前記センスラッチ回路ＳＬに相補信号でデータを入力するカラムスイッチ回路を構成する。ＭＯＳトランジスタＭ５Ｌ，Ｍ５Ｒは入出力ノードＳＬＬ，ＳＬＲを選択的にディスチャージする。
【００５６】
前記データラッチ回路ＤＬＲは、一対のＣＭＯＳインバータから成るスタティックラッチ、即ち相互に一方のＣＭＯＳインバータの入力端子を他方のＣＭＯＳインバータの出力端子に結合して成る回路、によって構成されている。ＤＬＲＲ，ＤＬＲＬはデータラッチ回路ＤＬＲの一対の入出力ノードである。ＤＬＰＲ，ＤＬＮＲはデータラッチ回路ＤＬＲの動作電源である。ＭＯＳトランジスタＭ６Ｌ，Ｍ７Ｌの直列回路とＭＯＳトランジスタＭ６Ｒ，Ｍ７Ｒの直接回路は、前記データラッチ回路ＤＬＲに相補信号形態でデータを入出力するカラムスイッチ回路を構成する。ＭＯＳトランジスタＭ８Ｌ，Ｍ８Ｒは入出力ノードＤＬＲＬ，ＤＬＲＲを選択的に電圧ＦＰＣにチャージするトランジスタである。
【００５７】
前記データラッチ回路ＤＬＬは、一対のＣＭＯＳインバータから成るスタティックラッチ、即ち相互に一方のＣＭＯＳインバータの入力端子を他方のＣＭＯＳインバータの出力端子に結合して成る回路、によって構成されている。ＤＬＬＲ，ＤＬＬＬはデータラッチ回路ＤＬＬの一対の入出力ノードである。ＤＬＰＬ，ＤＬＮＬはデータラッチ回路ＤＬＬの動作電源である。ＭＯＳトランジスタＭ９Ｌ，Ｍ１０Ｌの直列回路とＭＯＳトランジスタＭ９Ｒ，Ｍ１０Ｒの直接回路は、前記データラッチ回路ＤＬＬに相補信号形態でデータを入出力するカラムスイッチ回路を構成する。ＭＯＳトランジスタＭ１１Ｌ，Ｍ１１Ｒは入出力ノードＤＬＬＬ，ＤＬＬＲを選択的に電圧ＦＰＣにチャージするトランジスタである。
【００５８】
前記スイッチ回路・演算回路３０Ｒは、ＭＯＳトランジスタＭ２０Ｒ〜Ｍ２５Ｒによって構成される。トランジスタＭ２０Ｒはセンスラッチ回路ＳＬの入出力ノードＳＬＲの電圧レベルをゲートに受け、それがハイレベルのとき、電圧ＦＰＣをＭＯＳトランジスタＭ２１Ｒを介してビット線Ｇ−ＢＬＲに供給する。供給される電圧レベルは制御信号ＰＣＲの電圧レベルによるＭＯＳトランジスタＭ２１Ｒのコンダクタンス制御で決定される。トランジスタＭ２２Ｒは入出力ノードＳＬＲとビット線Ｇ−ＢＬＲとを選択的に導通させるトランスファゲートを構成する。ＭＯＳトランジスタＭ２３Ｒはオール判定に利用される。ＭＯＳトランジスタＭ２４Ｒ，Ｍ２５Ｒはビット線Ｇ−ＢＬＲのプリチャージ、ディスチャージに利用される。前記スイッチ回路・演算回路３０ＬもＭＯＳトランジスタＭ２０Ｌ〜Ｍ２５Ｌによって、同様に構成される。尚、ＭＯＳトランジスタＭ２０Ｌ，Ｍ２２Ｌ，Ｍ２４Ｌ，Ｍ２５Ｌのゲート制御信号は前記ＭＯＳトランジスタＭ２０Ｒ，Ｍ２２Ｒ，Ｍ２４Ｒ，Ｍ２５Ｒとは相違される。
【００５９】
前記スイッチ回路・演算回路３１Ｒは、ＭＯＳトランジスタＭ２６Ｒ〜Ｍ２８Ｒによって構成される。トランジスタＭ２６Ｒはデータラッチ回路ＤＬＲの入出力ノードＤＬＲＬの電圧レベルをゲートに受け、それがハイレベルのとき、電圧ＦＰＣをＭＯＳトランジスタＭ２７Ｒを介してビット線Ｇ−ＢＬＲに供給する。供給される電圧レベルは制御信号ＰＣＤＲの電圧レベルによるＭＯＳトランジスタＭ２７Ｒのコンダクタンス制御で決定される。トランジスタＭ２８Ｒは入出力ノードＤＬＲＬとビット線Ｇ−ＢＬＲとを選択的に導通させるトランスファゲートを構成する。前記スイッチ回路・演算回路３１ＬもＭＯＳトランジスタＭ２６Ｌ〜Ｍ２８Ｌによって、同様に構成される。尚、ＭＯＳトランジスタＭ２７Ｌ，Ｍ２８Ｌのゲート制御信号は前記ＭＯＳトランジスタＭ２７Ｒ，Ｍ２８Ｒとは相違される。
【００６０】
図１０の構成において、読み出し、書き込みにおける基本的な回路動作は以下のようにされる。例えば、図１０においてメモリマットＭＭＲに含まれるメモリセルＭＣに対して、ベリファイ動作における読み出しを行う場合には、非選択メモリマットＭＭＬ側のセットＭＯＳトランジスタＭ５Ｌをオン状態とし、センスラッチＳＬを活性化して、当該センスラッチＳＬの入出力ノードＳＬＲにハイレベルをラッチさせる。そして、ＰＣＲを例えば１Ｖ＋Ｖｔｈに制御してビット線Ｇ−ＢＬＲを１Ｖにプリチャージする。一方、非選択メモリマットＭＭＬ側では、ＭＯＳトランジスタＭ２４Ｌのゲート電圧ＲＰＣＬを０．５Ｖ＋Ｖｔｈに制御してビット線Ｇ−ＢＬＬを０．５Ｖにプリチャージする。この０．５Ｖはセンスラッチ回路ＳＬによるセンス動作のリファレンスレベルとされる。一方、読み出しコマンドに応じた読み出し動作では、選択メモリマット（ＭＭＲ）側の信号ＲＰＣＲを１Ｖ＋Ｖｔｈにし、非選択メモリマット（ＭＭＬ）側の信号ＲＰＣＬを０．５Ｖ＋Ｖｔｈにすることにより、一括して選択メモリマット側ビット線を１Ｖにプリチャージし、非選択メモリマット側ビット線を０．５Ｖにプリチャージする。もちろん、選択メモリマットがＭＭＬで、非選択メモリマットがＭＭＲであれば、信号ＲＰＣＲが０．５Ｖ＋Ｖｔｈにされ、信号ＲＰＣＬが１Ｖ＋Ｖｔｈにされる。プリチャージされた上記０．５Ｖは、上述のようにリファレンスレベルとして使われる。ワード線選択動作の後、トランスファＭＯＳトランジスタＭ２２ｌ，Ｍ２２Ｒがオン動作され、この時、センスラッチ回路ＳＬは、ビット線Ｇ−ＢＬＲのレベルが０．５Ｖよりも高いか低いかをセンスして、メモリセルＭＣからの読み出しデータをラッチする。
【００６１】
また、書込みでは、書き込み制御情報がセンスラッチＳＬにラッチされた後、ＭＯＳトランジスタＭ２１Ｒ，Ｍ２１Ｌのゲート制御信号ＰＣＲ及びＰＣＬをハイレベルに制御し、これによってセンスラッチ回路ＳＬのハイレベル側入出力ノードに結合するビット線がＭＯＳトランジスタＭ２０ＲまたはＭ２０Ｌを介してハイレベルにプリチャージされ、その後、ＭＯＳトランジスタＭ２２Ｒ、Ｍ２２Ｌがオン状態にされ、センスラッチ回路の電源ＳＬＰからセンスラッチ回路のハイレベル側入出力ノードに結合されたビット線へ電圧が印加される。この時、書き込みが選択されているメモリマットの書き込みセクタのワード線には書き込み高電圧が印加されている。これにより、書込み選択メモリマット側で書込み電圧が印加されたコントロールゲートに接続するメモリセルのうち、ビット線が接地電圧のようなローレベルにされているメモリセルが書き込み対象とされる。
【００６２】
前記オール判定用のトランジスタＭ２３Ｌ，Ｍ２３Ｒは次の様に用いられる。ＭＯＳトランジスタＭ２３Ｌ，Ｍ２３Ｒは、そのゲートが対応するビット線に、そのソースが接地電位に結合される。図１０に代表的に示された１個のセンスラッチ回路ＳＬを中心としたビット線Ｇ−ＢＬＬ，Ｇ−ＢＬＲに係る構成は実際には多数存在されている。センスラッチ回路ＳＬを挟んで図１０の左側のトランジスタＭ２３Ｌのドレインは端子ＥＣＬに全て共通接続され、ビット線Ｇ−ＢＬＬに代表される左側のビット線の状態（レベル）に応じた電流が当該端子ＥＣＬに流される。同様に、センスラッチ回路ＳＬを挟んで図１０の右側のトランジスタＭ２３Ｒのドレインも全て端子ＥＣＲに共通接続され、当該端子ＥＣＲには、ビット線Ｇ−ＢＬＲに代表される右側のビット線の状態（レベル）に応じた電流が流される。特に図示はしないが、端子ＥＣＬ（ＥＣＲ）の変化に基づいてセンスラッチ回路ＳＬの左（右）側の全てのビット線Ｇ−ＢＬＬ（Ｇ−ＢＬＲ）の状態が同じ状態になったかを検出する電流センス型のアンプが設けられている。このアンプは、消去ベリファイ又は書込みベリファイの対象とされる全てのメモリセルが所定のしきい値電圧になったかを検出すること、即ちオール判定に用いられる。
【００６３】
図１０に例示されたメモリマットＭＭＲ，ＭＭＬの構成はＡＮＤ型である。ＡＮＤ型メモリマットの更に詳細な一例は図１１に示される。特に図示はしないが、図１１に示されるメモリセルは２層のメタル配線層を用いるプロセスによって形成される構造とされ、メモリセルＭＣ及び選択ＭＯＳトランジスタＭ１，Ｍ２は並列された縦方向の拡散層と横方向に延在されたポリシリコン等から成るコントロールゲートとの交差位置に形成されている。フラッシュメモリのメモリセルＭＣは例えばＰ型基板上に構成されたＮチャンネル型ＭＯＳトランジスタとされる。
【００６４】
フラッシュメモリのメモリマットはＡＮＤ型に限定されず、図１２に示されるＮＯＲ型、図１３に示されるＤｉＮＯＲ型、図１４に示されるＮＡＮＤ型、図１５に示されるＨｉＣＲ型等の別の構造とすることも可能である。何れの構造であってもフラッシュメモリのメモリセルは基本的には全て同じ構成を備えているが、メモリセルをアレイ状に配置したとき、個々のメモリマットの特徴が現われる。前記ＮＯＲ型はメモリ毎にビット線（メタル配線層）とのコンタクトが必要であるため占有面積を小さくすることが難しいが、ＮＡＮＤ型、ＤｉＮＯＲ型、ＡＮＤ型ではビット線とのコンタクトをブロック毎に配置すれば済むので、占有面積の低減を図ることができる。
【００６５】
《書き込み動作の詳細》
図１６には第１コマンド（１ＦＨ）及び第２コマンド（４０H）によって指定される書き込み動作の一例フローチャートが示される。この書き込みはワード線を一単位とする書き込み（セクタ書き込み）とされる。
【００６６】
先ず、第１コマンド（１ＦＨ）が取り込まれると（Ｓ１）、次の入力をセクタアドレスとして取り込み（Ｓ２）、セクタアドレス取り込みの後の入力は、第２コマンド（４０H）が取り込まれるまで（Ｓ４）、書き込みデータとして取り込まれる（Ｓ３）。ステップＳ２で取り込まれるセクタアドレスは、Ｘアドレスであり、これによって、書き込み高電圧を印可する１本のワード線を選択することになる。ステップＳ３における繰り返し的な書き込みデータの取り込みは、Ｙアドレスカウンタ１２を初期値から漸次インクリメントしながらバイト単位で、データラッチ回路ＤＬＬ，ＤＬＲに対して行われる。例えば、図５に示されるように、一つのセンスラッチ回路アレイＳＬＡに関する一対のメモリマットＭＭＬ，ＭＭＲに割り当てられたデータラッチ回路アレイＤＬＬＡ，ＤＬＲＡに、書き込みデータがラッチされる。例えば１本のワード線にｎ個のメモリセルのコントロールゲートが結合されているとすると、データラッチ回路アレイＤＬＬＡ，ＤＬＲＡには、夫々ｎビットの書き込みデータがラッチされる。
【００６７】
書き込みデータをラッチした後、“０１”書き込み処理ＴＳ１、“００”書き込み処理ＴＳ２、“１０”書き込み処理ＴＳ３、エラティック／ディスターブ検出処理ＴＳ４が行われる。
【００６８】
前記“０１”書き込み処理ＴＳ１は、例えば図１７に例示されるように、４値の内の一つの状態である消去状態（“１１”）に対して、メモリセルＭＣの閾値電圧を、第３の書き込み状態（“０１”）にするための処理であり、書き込みベリファイ電圧としてＶＷＶ３を用いる。“０１”書き込み処理ＴＳ１は、図１６に概略的に示されるように、データラッチ回路ＤＬＬ，ＤＬＲにラッチされた２ビットの“０１”データに応答してイネーブルレベルの書き込み制御データをセンスラッチ回路ＳＬにラッチさせ（“０１”データラッチ）、ラッチされたイネーブルレベルの書き込み制御データによってメモリセルトランジスタに“０１”データに応ずる書き込み動作を行い（“０１”データ書き込み）、その書き込み動作に対するＶＷＶ３による書き込みベリファイを行なう処理（書込みベリファイＶＷＶ３）に大別される。
【００６９】
前記“００”書き込み処理ＴＳ２は、例えば図１８に例示されるように、４値の内の一つの状態である消去状態（“１１”）に対して、メモリセルＭＣの閾値電圧を、第２の書き込み状態（“００”）にするための処理であり、書き込みベリファイ電圧としてＶＷＶ２を用いる。この“００”書き込み処理ＴＳ２は、図１６に概略的に示されるように、データラッチ回路ＤＬＬ，ＤＬＲにラッチされた２ビットの“００”データに応答してイネーブルレベルの書き込み制御データをセンスラッチ回路ＳＬにラッチさせ（“００”データラッチ）、ラッチされたイネーブルレベルの書き込み制御データによってメモリセルトランジスタに“００”データに応ずる書き込み動作を行い（“００”データ書き込み）、その書き込み動作に対するＶＷＶ２による書き込みベリファイを行なう処理（書込みベリファイＶＷＶ２）に大別される。
【００７０】
前記“１０”書き込み処理ＴＳ３は、例えば図１９に例示されるように、４値の内の一つの状態である消去状態（“１１”）に対して、メモリセルＭＣの閾値電圧を、第１の書き込み状態（“１０”）を得るための処理であり、書き込みベリファイ電圧としてＶＷＶ１を用いる。前記“１０”書き込み処理ＴＳ３は、図１６に概略的に示されるように、データラッチ回路ＤＬＬ，ＤＬＲにラッチされた２ビットの“１０”データに応答してイネーブルレベルの書き込み制御データをセンスラッチ回路ＳＬにラッチさせ（“１０”データラッチ）、ラッチされたイネーブルレベルの書き込み制御データによってメモリセルトランジスタに“１０”データに応ずる書き込み動作を行い（“１０”データ書き込み）、その書き込み動作に対するＶＷＶ１による書き込みベリファイを行なう処理（書込みベリファイＶＷＶ１）に大別される。尚、前記書き込みベリファイ電圧は、ＶＷＶ３＞ＶＷＶ２＞ＶＷＶ１とされる。
【００７１】
前記エラティック／ディスターブ検出処理ＴＳ４は、図２０に例示されるよいうに、消去状態のメモリセルの閾値電圧がＶＷＤＳを超えているかを検出するディスターブ検出処理（図１６の“１１”ワードディスターブ検出ＶＷＤＳ）、そして“１０”書き込み処理されたメモリセルトランジスタの閾値電圧がＶＷＥ１を超えているか（図１６の“１０”エラティック検出ＶＷＥ１）、“００”書き込み処理されたメモリセルトランジスタの閾値電圧がＶＷＥ２を超えているか（図１６の“００”エラティック検出ＶＷＥ２）を検出する、エラティック検出処理である。
【００７２】
前記エラティック／ディスターブ検出処理ＴＳ４までの一連の処理結果が正常であれば、ステータスレジスタ１８０にパスフラグがセットされ（Ｓ５）、一連の書き込み処理が終了（ＯＫ）される。前記エラティック／ディスターブ検出処理ＴＳ４による検出結果がエラーである場合、エラー回数が規定の回数に達しているかが判定され（Ｓ６）、達していなければ、書き込みセクタを消去して（Ｓ７）、再度“０１”書き込みからやり直しされる。やり直し回数は図示を省略するカウンタ手段に保持されおり、カウンタ手段の計数値によってエラー回数が規定値に到達したかを判定する（Ｓ６）。エラー回数が規定値に到達した場合には、ステータスレジスタ１８０にフェイルフラグがセットされ（Ｓ８）、一連の書き込み処理が異常終了（ＮＧ）される。
【００７３】
図１６から明らかなように、再消去を行って再び書き込みを繰り返すとき、書き込みセクタの書き込みデータを再度取り込むことを要しない。前記ステップＳ３でデータラッチ回路ＤＬＬ，ＤＬＲに一旦ラッチされた１セクタ分の書き込みデータは、前記処理ＴＳ１〜ＴＳ４を行っても破壊されず、そのままデータラッチ回路ＤＬＬ，ＤＬＲに残っているからである。
【００７４】
これは、センスラッチ回路ＳＬに対する前述の書込み制御情報のラッチ動作制御形態に依るものである。即ち、前記センスラッチ回路ＳＬがラッチすべき書込み制御情報は、データラッチ回路ＤＬＬ，ＤＬＲが保持している書込みデータビットを用いた演算を書込み動作毎に行なって生成し、それをセンスラッチ回路ＳＬがラッチする。例えば、図６に例示されるように、データラッチ回路ＤＬＬ，ＤＬＲにラッチされた書込みデータが“０１”であったとすると、図７に例示されるように“０１”状態は第３の書込み状態である。消去状態の後の３回に分けた書込み動作が、図９の第２の態様（Case2）で行われる場合、第１回目に第1の書込み状態を得るための書込み動作時にデータラッチ回路ＤＬＬ，ＤＬＲの書込みデータ（“０１”）を用いて演算された結果は論理値“１”、第２回目に第２の書込み状態を得るための書込み動作時にデータラッチ回路ＤＬＬ，ＤＬＲの書込みデータ（“０１”）を用いて演算された結果は論理値“１”、第３回目に第３の書込み状態を得るための書込み動作時にデータラッチ回路ＤＬＬ，ＤＬＲの書込みデータ（“０１”）を用いて演算された結果は論理値“０”とされる。そのような演算は、前記スイッチ回路・演算回路を動作させて行なう。したがって、メモリセルトランジスタは、第3回目の書込み時だけ、書込み用の高電界がドレインとコントロールゲートの間に印加され、当該メモリセルには４値の内の第3の書込み状態（“０１”）が実現される。
【００７５】
このようにして、3回に分けて書込み動作が行なわれたとき、最初にデータラッチ回路ＤＬＬ，ＤＬＲにラッチされた書込みデータは破壊されず、そのまま維持されている。データラッチ回路ＤＬＬ，ＤＬＲにラッチされた2ビットの書込みデータを、書き込み動作毎に演算に用いて毎回センスラッチ回路ＳＬにセットするという、制御シーケンスを採用するからである。エラティック・ディスターブ検出処理においても同様に、データラッチ回路ＤＬＬ，ＤＬＲにラッチされた2ビットの書込みデータを用いて演算した結果を毎回センスラッチ回路ＳＬにセットするという、制御シーケンスを採用するから、このときも、最初にデータラッチ回路ＤＬＬ，ＤＬＲにラッチされた書込みデータは破壊されず、そのまま維持されている。
【００７６】
データラッチ回路ＤＬＬ，ＤＬＲにラッチされた2ビットの書込みデータを用いて演算した結果をセンスラッチ回路ＳＬにラッチさせる処理（データラッチ処理）は、ＴＳ１〜ＴＳ４における現在の処理との関係でその演算手法が相違される。
【００７７】
図２１は上記データラッチ処理の演算内容の一例を論理的に示したものである。図２１における演算内容は、動作選択メモリマット側のセンスラッチデータ（動作選択メモリマット側のセンスラッチ回路ＳＬの入出力ノードデータ）に関するものである。具体的な演算手法については後で詳述するが、多センス方式と、多電源方式を採用することができる。多センス方式は、ビット線プリチャージ電圧を０Ｖ、０．５Ｖ、１．０Ｖの３レベルとし、センスラッチ回路ＳＬによる複数回のセンス動作で、目的のデータをセンスラッチ回路ＳＬにラッチさせる動作である。多電源方式は、ビット線プリチャージ電圧を０Ｖ、０．５Ｖ、１．０Ｖ，２．０Ｖの４レベルとし、センスラッチ回路ＳＬによる一回のセンス動作で、目的のデータをセンスラッチ回路ＳＬにラッチさせる動作である。
【００７８】
図２１においてＡ，Ｂは1個のセンスラッチ回路ＳＬに対応される2ビットの書込みデータであり、Ａはデータラッチ回路ＤＬＬにラッチされる上位データビット、Ｂはデータラッチ回路ＤＬＲにラッチされる下位データビットである。図２１によれば、“０１"書き込みデータラッチ処理の場合はデータビットＡとＢの反転データとの論理和、“００"書き込みデータラッチ処理の場合はデータビットＡとＢとの論理和、“１０"書き込みデータラッチ処理の場合はデータビットＡの反転データとＢとの論理和であり、“００"エラティック検出データラッチ処理の場合はデータビットＡとＢの負論理和、“１０"エラティック検出データラッチ処理の場合はデータビットＡとＢの反転データとの論理積、“１１"エラティック検出データラッチ処理の場合はデータビットＡとＢの論理積とされる。
【００７９】
図２１の演算論理を採用した場合、データビットＡ，Ｂの論理値に対する演算結果の論理値は図２２に示される通りである。前述のように、センスラッチデータの論理値“０”（ローレベル）が書込み電界印加（書込み選択）を意味する。
【００８０】
図２３には前記“０１”書き込み処理ＴＳ１の更に詳細なフローチャートが例示されている。これに従えば、“０１”書き込み処理ＴＳ１は、前記データラッチ処理Ｓ１０、“０１”書込みバイアス印加処理Ｓ１１、書込みベリファイ処理Ｓ１２、オール判定処理Ｓ１３によって構成される。データラッチ処理Ｓ１０は対応する2個のデータラッチ回路ＤＬＬ，ＤＬＲに2ビットの書込みデータ“０１”がラッチされている場合にはセンスラッチ回路ＳＬに書込みイネーブルビットをラッチさせ、それ以外の書き込みデータの場合には書込みディスエーブルレベルをセンスラッチ回路ＳＬにラッチさせる。“０１”書込みバイアス印加処理Ｓ１１は、センスラッチ回路ＳＬに書き込みイネーブルレベルがラッチされているとき、書込み選択メモリマットにおいて当該イネーブルレベルの入出力ノード側のビット線とコントロールゲートとの間に高電界を印加する処理とされる。処理Ｓ１２では書き込みベリファイ電圧ＶＷＶ３によるベリファイ動作を行い、処理Ｓ１３ではオール判定結果が誤りである否かを判定し、誤りが有る場合には処理Ｓ１１に戻される。オール判定結果が正常であれば“０１”書き込み処理が終了される。前記処理ＴＳ２，ＴＳ３は、データラッチ処理のための演算手法、書込みバイアス電圧、書込みベリファイ電圧が夫々固有とされ、概略的な処理手順は処理ＴＳ１のフローチャートと同じであるから、それら処理の詳細なフローチャートは図示を省略してある。
【００８１】
図２４には、前記“１０”エラティック検出処理の詳細なフローチャートが例示されている。これに従えば、“１０”エラティック検出処理は、データラッチ処理Ｓ２０、エラティックベリファイ処理Ｓ２１、及びオール判定処理Ｓ２２によって構成される。データラッチ処理Ｓ２０は図２１及び図２２に示される演算内容に従ったラッチ処理を行なう。エラティックベリファイ処理Ｓ２１は、“１０”書き込み処理されたメモリセルトランジスタに対して閾値電圧がＶＷＥ１を超えているかのベリファイを行い、処理Ｓ２２ではオール判定結果が誤りである否かを判定し、誤りが有る場合には前記ステップＳ６に処理が移行され、オール判定結果が正常であれば“１０”エラティック検出処理は終了される。尚、前記エラティック／ディスターブ検出処理ＴＳ４のその他の処理は、図２４に対してデータッチ処理のための演算手法、ベリファイ電圧が夫々固有とされ、概略的な処理手順は“１０”エラティック検出処理と同じであるから、それら処理の詳細なフローチャートは図示を省略してある。
【００８２】
《データラッチ処理》
前記ステップＳ１０、Ｓ２０に代表されるデータラッチ処理の演算処理手法の一例は図２５乃至図３０に示される。それら図面では、動作選択メモリマットは図の右側のメモリマット（ＭＭＲ）とされる。また、各図において、ステップ(Step）毎に示された信号若しくはノードに対応して表されている数字は、小数点付き数字が電圧を意味し、小数点無し数字が論理値（ハイレベルは“１”、ローレベルは“０”）を意味する。また、データラッチ回路ＤＤＬ，ＤＤＲに対応して表された括弧付き数字は、括弧外が左側の入出力ノードの論理値、括弧内数字が右側入出力ノードの論理値を意味する。
【００８３】
例えば、多センス方式による“０１”書込みデータラッチ処理Ｓ１０の詳細を図２５に基づいて詳細に説明する。
【００８４】
データラッチ回路ＤＬＬ，ＤＬＲにはデータが既にラッチされているものとする。ラッチされているデータが“０１”、“００”、“１０”、“１１”の４通りの場合について図示されている。ステップ２（Step2）において、先ず、非選択メモリマット側のビット線Ｇ−ＢＬＬがトランジスタＭ２４Ｌを介して０．５Ｖにプリチャージされ（ａ）、また、データラッチ回路ＤＬＲのラッチデータに従ってＭ２６Ｒ，Ｍ２７Ｒを用いビット線Ｇ−ＢＬＲが０．０Ｖ又は１．０Ｖにプリチャージされる（ｂ）。
【００８５】
ステップ３（Step3）では、前記（ａ），（ｂ）の結果に従って、センスラッチ回路ＳＬを活性化してセンスラッチ動作させる。これによってセンスラッチ回路ＳＬの左右の入出力ノードＳＬ（Ｌ），ＳＬ（Ｒ）は図の（ｃ），（ｄ）の状態にされる。
【００８６】
ステップ４（Step4）では、ビット線Ｇ−ＢＬＬの電圧は（ｃ）の結果に従って（ｅ）の電圧を採り、また、他方のビット線Ｇ−ＢＬＲは論理値“０”にクリアされる。
【００８７】
ステップ５（Step5）では、データラッチ回路ＤＬＬの論理値“１”のラッチデータによってトランジスタＭ２６Ｌをオン動作させ、トランジスタＭ２７Ｌ，Ｍ２６Ｌを介して、論理値“１”をラッチするデータラッチ回路ＤＬＬに対応されるビット線Ｇ−ＢＬＬをローレベルに強制する（ｇ）。また、センスラッチ回路ＳＬの双方の入出力ノードＳＬ（Ｌ），ＳＬ（Ｒ）を論理値“０”にクリアする。
【００８８】
ステップ６(Step6)では選択メモリマット側のビット線Ｇ−ＢＬＲを０．５Ｖにプリチャージする（ｉ）。そしてステップ７(Step7)でセンスラッチ回路ＳＬをセンス動作させると、センスラッチ回路ＳＬの選択メモリマット側の入出力ノードＳＬ（Ｒ）若しくはＳＬＲは、データラッチ回路ＤＬＬ，ＤＬＲに“０１”がラッチされている場合にだけ、論理値“０”をラッチする（ｊ）。前記書込みデータラッチ処理の動作タイミングの一例は図３８に示されている。
【００８９】
センスラッチ回路ＳＬにおいて動作選択メモリマット側の入出力ノードのラッチデータが論理値“０”である場合に、当該入出力ノードに接続されるビット線のレベルが０Ｖにされ、当該ビット線にドレインが接続されたメモリセルトランジスタのドレインとコントロールゲートとの間に書き込み高電界が作用され、メモリセルトランジスタに対する書込み動作が行なわれる。
【００９０】
書込み動作における前記書込みバイアス印加処理Ｓ１１の動作の詳細として、書込みバイアス開始時を示す図３１と、書込みバイアス終了時を示す図３２がある。即ち、書込み非選択メモリマットのビット線には書込み阻止電圧が導入されている。書込み選択メモリマット側のビット線は、センスラッチ回路ＳＬのラッチデータに応じて、０Ｖ又は６Ｖにされ、ワード線に１７Ｖの様な高電圧が印加されて、メモリセルトランジスタに対する書込みが行なわれる。書込み終了後、ビット線Ｇ−ＢＬＬ，Ｇ−ＢＬＲはディスチャージされる。書込み動作タイミングの一例は図３９に示される。
【００９１】
前記書込みバイアス印加後は、前記書込みベリファイ処理Ｓ１２が行なわれ、例えば、図３３に例示されるように、書込み非選択メモリマット側のビット線例えばＧ−ＢＬＬは、参照電圧０．５Ｖに、書込み選択メモリマット側のビット線例えばＧ−ＢＬＲは１．０Ｖにプリチャージされる。その後、図３４に例示されるように、ベリファイ電圧を用いたワード線選択動作が行なわれる。ワード線選択動作により、閾値電圧がベリファイ電圧よりも低いメモリセルはオン動作され、高いメモリセルはオフ状態にされる。これによるビット線の電位差の変化による状態変化をセンスラッチ回路ＳＬが検出し(図３５）、最後に確定データをラッチする(図３６）。書込みベリファイの動作タイミングの一例は図４０に示される。
【００９２】
センスラッチ回路ＳＬが確定データをラッチした後、前記オール判定処理Ｓ１３が行なわれる。オール判定処理では、書込み動作非選択メモリマット側ビット線のＭＯＳトランジスタ例えばトランジスタＭ２３Ｌがオン動作するか否かを検出する。一つでも書き込み不良のメモリセルトランジスタが有れば、当該トランジスタが接続するビット線と反対側のビット線はハイレベルになり、トランジスタＭ２３Ｌがオン状態にされ、電流が流れる（図３７参照）。電流が流れる間は、書込み不良であり、前述のように再度メモリセルトランジスタにバイアス印加が行なわれる。オール判定の動作タイミングの一例は図４１に示される。
【００９３】
尚、図２６には多センス方式による“００”書込みデータラッチ処理の詳細が示され、図２７には多センス方式による“１０”書込みデータラッチ処理の詳細が示され、図２８には多センス方式による“００”エラティック検出データラッチ処理の詳細が示され、図２９には多センス方式による“１０”エラティック検出データラッチ処理の詳細が示され、図３０には多センス方式による“１１”ディスターブ検出データラッチ処理の詳細が示される。それら処理の具体的な内容は図２５のデータラッチ処理と細部では異なるが、プリチャージ及びセンス動作を用いると言う点では共通であり、その内容は、各図より容易に理解可能であるから、詳細な説明は省略する。
【００９４】
図４２乃至図５３には多電源方式の場合におけるデータラッチ処理などの詳細が示される。図４２乃至図４７も図２５乃至図３０と同様に、動作選択メモリマットは図の右側のメモリマットとされ、各図において、ステップ(Step）毎に示された信号若しくはノードに対応して表されている数字は、小数点付き数字が電圧を意味し、小数点無し数字が論理値（ハイレベルは“１”、ローレベルは“０”）を意味する。
【００９５】
図４２を参照しながら、例えば多電源方式による“０１”書込みデータラッチ処理について詳述する。データラッチ回路ＤＬＬ，ＤＬＲにはデータが既にラッチされているものとする。ラッチされているデータが“０１”、“００”、“１０”、“１１”の４通りの場合について図示されている。ステップ１（Step1）において、先ず、非選択メモリマット側のビット線Ｇ−ＢＬＬがトランジスタＭ２４Ｌを介して１．０Ｖにプリチャージされ（ａ）、選択メモリマット側のビット線Ｇ−ＢＬＲがトランジスタＭ２４Ｒを介して２．０Ｖにプリチャージされる（ｂ）。
【００９６】
ステップ２（Step2）では、データラッチ回路ＤＬＬの論理値“１”のラッチデータによってトランジスタＭ２６Ｌをオン動作させ、トランジスタＭ２７Ｌ，Ｍ２６Ｌを介して、論理値“１”をラッチするデータラッチ回路ＤＬＬに対応されるビット線Ｇ−ＢＬＬをローレベルに強制する（ｃ）。同様に、データラッチ回路ＤＬＲの論理値“１”のラッチデータによってトランジスタＭ２６Ｒをオン動作させ、トランジスタＭ２７Ｒ，Ｍ２６Ｒを介して、論理値“１”をラッチするデータラッチ回路ＤＬＲに対応されるビット線Ｇ−ＢＬＲをローレベルに強制する（ｄ）。
【００９７】
ステップ３（Steps）では、０．０Vのビット線Ｇ−ＢＬＲを０．５Ｖにプリチャージする（ｅ）。そしてステップ（Step4）でセンスラッチ回路ＳＬをセンス動作させると、センスラッチ回路ＳＬの選択メモリマット側の入出力ノードＳＬ（Ｒ）若しくはＳＬＲは、データラッチ回路ＤＬＬ，ＤＬＲに“０１”がラッチされている場合にだけ、論理値“０”をラッチする（ｆ）。前記“０１”書込みデータラッチ処理の動作タイミングの一例は図４８に示される。センスラッチ回路ＳＬにおいて動作選択メモリマット側の入出力ノードのラッチデータが論理値“０”である場合に、当該入出力ノードに接続されるビット線のレベルが０Ｖにされ、当該ビット線にドレインが接続されたメモリセルトランジスタのドレインとコントロールゲートとの間に書き込み高電界が作用され、メモリセルトランジスタに対する書込み動作が行なわれる。
【００９８】
尚、図４３には多電源方式による“００”書込みデータラッチ処理の詳細が示され、図４９にはその動作波形の一例が示される。図４４には多電源方式による“１０”書込みデータラッチ処理の詳細が示され、図５０にはその動作波形の一例が示される。図４５には多電源方式による“００”エラティック検出データラッチ処理の詳細が示され、図５１にはその動作波形の一例が示される。図４６には多電源方式による“１０”エラティック検出データラッチ処理の詳細が示され、図５２にはその動作波形の一例が示される。図４７には多電源方式による“１１”ディスターブ検出データラッチ処理の詳細が示され、図５３にはその動作波形の一例が示される。それら処理の具体的な内容は図４２のデータラッチ処理と細部では異なるが、プリチャージ及びセンス動作を用いると言う点では共通であり、その内容は、各図より容易に理解可能であるから、詳細な説明は省略する。
【００９９】
図５４には以上説明したフラッシュメモリの動作態様毎の各種電圧条件がまとめて図示されている。図５４において、“１１”データの読み出しワード線電圧は２．４Ｖ、“１０”データの読み出しワード線電圧は３．２Ｖ、“００”データの読み出しワード線電圧は４．０Ｖである。“１０”データ書込みワード線電圧は１５．１Ｖ、“００”データ書込みワード線電圧は１５．８Ｖ、“０１”データ書込みワード線電圧は１７．０Ｖである。“１０”データベリファイワード線電圧は２．８Ｖ、“００”データベリファイワード線電圧は３．６Ｖ、“０１”データベリファイワード線電圧は４．５Ｖである。“１１”ワードディスターブ検出電圧は２．１Ｖ、“１０”ワードディスターブ検出電圧は３．１Ｖ、“００”ワードディスターブ検出電圧は３．９Ｖである。
【０１００】
《リトライ機能＆リカバリ機能》
上述のフラッシュメモリ１は、図１６のフローチャートからも明らかなように、書き込み異常が生じても、その時の書込みデータはデータラッチ回路ＤＬＬ，ＤＬＲに保存されている。フラッシュメモリ１は、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路ＤＬＬ，ＤＬＲが保持している書込みデータの書込み動作を行なうことができる。即ち、図５５に例示されるように、フラッシュメモリ１は、リトライ書込みコマンド（１０Ｈ）を入力すると（Ｓ３０）、次にセクタアドレスを入力し（Ｓ３１，Ｓ３２）、入力したセクタアドレス（ワード線アドレス）に、既にデータラッチＤＬＬ，ＤＬＲにラッチされている書込みデータを書き込む動作をフラッシュメモリ内部で行なう（Ｓ３３）。
【０１０１】
また、上記フラッシュメモリ1は、書き込み動作の異常終了後の再書き込みとして、別のフラッシュメモリに再書き込みする処理の容易化を考慮してある。すなわち、フラッシュメモリ１は、図５６に例示されるように、書込み動作の異常終了の後、リカバリ読み出しコマンド（０１Ｈ）の供給を受け付けたとき（Ｓ４０）、データラッチ回路ＤＬＬ，ＤＬＲが保持している書込みデータを、前記出力バッファ１５、マルチプレクサ７を介して入出力端子Ｉ／Ｏ０〜Ｉ／Ｏ７に出力することができる（Ｓ４１）。
【０１０２】
図５７には前記リトライ及びリカバリ機能を有するフラッシュメモリにおける内部動作の遷移状態が示される。電源投入によってディープスタンバイ状態（Deep standby）とされ、リセット信号のネゲートによってスタンバイ状態（Standby）にされる。スタンバイ状態からチップ選択状態にされると出力不可能状態（Output disable）とされ、コマンド入力に応じた動作が可能にされる。コマンド入力に応じた動作は、読み出し（Read setup）、セクタ消去（Sector Erase setup）、書込み（Program setup）などに大別される。消去又は書込みでエラーを生じたとき、リカバリー読み出しコマンド（Recovery Read setup）、リトライ書込みコマンド（Retry Program setup）を受け付け可能にされる。
【０１０３】
図５８には前記フラッシュメモリ１を用いたメモリカードの一例が示される。同図に示されるメモリカード２００は、ローカルメモリ２０１、メモリコントローラ２０２、バッファメモリ２０３及び外部インタフェース回路２０４がカード基板に実装されて構成される。ローカルメモリ２００には前記フラッシュメモリ１が多数実装されている。メモリコントローラ２０２は、フラッシュメモリ１及びバッファメモリ２０３のアクセス制御信号を生成する制御信号コントローラ２１０、フラッシュメモリ1及びバッファメモリ２０３に対するチップ選択制御を行なうアドレスコントローラ２１１、及びフラッシュメモリ１及びバッファメモリ２０３に対するデータ、コマンド及びアドレスインタフェース制御を行なうデータI/Oコントローラ２１２を有する。外部インタフェース回路２０４は例えばPCカードインタフェースに準拠する構成を有する。
【０１０４】
図５９には前記フラッシュメモリ１を用いたデータ処理システムの一例が示される。図５８との相違点は、ＣＰＵ若しくはマイクロプロセッサ２３０が接続されるコントロールバスＣＢＵＳ、アドレスバスＡＢＵＳ及びデータバスＤＢＵＳに、ＲＯＭ２３１やＲＡＭ２３２と同じように、一つの周辺回路として前記メモリコントローラ２０２が配置されていることである。
【０１０５】
フラッシュメモリ１が前記リトライ機能を有することにより、当該フラッシュメモリ１をアクセス制御するメモリコントローラ２１０若しくはマイクロプロセッサ２３０は、書き込み動作の異常終了を生じたフラッシュメモリに対して書き込みアドレス若しくはセクタアドレスを変更して再書き込みを容易に行なうことができる。
【０１０６】
また、このリカバリ機能により、複数のフラッシュメモリによって構成されるメモリカードのメモリコントローラ若しくはメモリカードをアクセス制御する制御装置は、書き込みデータを自らストアしておかなくても、書き込み動作の異常終了を生じたフラッシュメモリとは別のフラッシュラッシュメモリに対して再書き込みを容易に行なうことができる。
【０１０７】
図６０には前記リトライ及びリカバリ機能の概念図が示される。例えば、（Ａ）のように、メモリコントローラ２０２の制御で、バッファメモリ２０３からフラッシュメモリ１に書き込みデータ及びセクタアドレスが供給され、これによってフラッシュメモリ1は、供給されたセクタアドレスにデータを書き込む動作を行なう。その書込み動作にエラーが発生したとき、フラッシュメモリ１はコントロールレジスタ１８０にエラーフラグを立てる。（Ｂ）のように、エラーフラグはメモリコントローラ２０２を介して前記マイクロプロセッサ２３０などに伝達される。その結果、（Ｃ）のように、メモリコントローラ２０２からフラッシュメモリ１にリカバリリードコマンドが出力されると、フラッシュメモリ１は、（Ｄ）のようにデータラッチ回路ＤＬＬ，ＤＬＲにラッチされている書込みデータを出力する。また、（Ｅ）のように、メモリコントローラ２０２がリトライ書込みコマンドとセクタアドレスをフラッシュメモリ１に与えると、（Ｆ）のように、フラッシュメモリ１は、既にデータラッチ回路ＤＬＬ，ＤＬＲにラッチされている書込みデータを、新たに指定されたセクタアドレスに書き込む動作を行なう。
【０１０８】
《書き換え機能》
書き換え動作は、消去コマンドによって消去を行なった後、書き込みコマンドにより書き込みを行なうことによって実現できる。図3に従えば、消去コマンドを実行してから、書込みコマンドを実行する。フラッシュメモリ１は、そのような書き換え処理を単一のコマンド、即ち書き換えコマンドで実現することができる。
【０１０９】
図６１には書き換えコマンドにより処理の一例が示される。すなわち、書き換え第１コマンドが供給されると（Ｓ６０）、書き換え対象とすべきセクタアドレスを取り込み（Ｓ６１）、取り込んだセクタアドレスのデータをデータラッチ回路ＤＬＬ，ＤＬＲに読み出し（Ｓ６２）、その後に書込みデータをデータラッチ回路ＤＬＬ，ＤＬＲに取り込み（Ｓ６３）、書き換え第２コマンドが供給された後（Ｓ６４）、前記書き換えセクタアドレスで指定されたセクタの消去を行ない（Ｓ６５）、次いで、前記データラッチ回路ＤＬＬ，ＤＬＲに保持されているデータで指定セクタの書込み動作を行なう（Ｓ６６）。指定セクタの書込み動作は図１６で説明した動作と同じである。この書き換えコマンドにより、セクタ全データの書き換えを単一のコマンドで実現できる。
【０１１０】
また、セクタの一部に対するデータ書き換えを単一のコマンドで実現することも可能である。すなわち、図６２に例示されるように、書き換え第１コマンドが供給されると（Ｓ７０）、書き換え対象とすべきセクタアドレスを取り込み（Ｓ７１）、取り込んだセクタアドレスのメモリセルからデータをデータラッチ回路ＤＬＬ，ＤＬＲに退避し（Ｓ７２）、その後、セクタの先頭ＹアドレスYA(0)から連続して必要なＹアドレスYA(k)までのデータをデータラッチ回路に取り込み（Ｓ７３）、更に、必要に応じ、ｋ＜ｍとなるＹアドレスYA(m)を取り込み（Ｓ７４）、取り込んだYアドレスYA(m)から連続して必要なYアドレスYA(m+1)までのデータをデータラッチ回路に取り込む（Ｓ７５）。書き換え第２コマンドが供給されると（Ｓ７６）、前記書き換えアドレスで指定されたセクタの消去を行ない、次いで、データラッチ回路ＤＬＬ，ＤＬＲのラッチデータに基づいて指定セクタの書込み動作を行なう（Ｓ７８）。指定セクタの書込み動作は図１６で説明した動作と同じである。
【０１１１】
また、セクタの一部に対するデータ書き換え処理は図６３のように実現することも可能である。すなわち、書き換え第１コマンドが供給されると（Ｓ８０）、書き換え対象とすべきセクタアドレスを取り込み（Ｓ８１）、取り込んだセクタアドレスのメモリセルからデータをデータラッチ回路ＤＬＬ，ＤＬＲに退避する（Ｓ８２）。その後、セクタの先頭ＹアドレスYA(ｍ)を取り込み（Ｓ８３）、先頭ＹアドレスYA(ｍ)から連続して必要なＹアドレスYA(m+k)までのデータをデータラッチ回路に取り込む（Ｓ８４）。更に、必要に応じ、ｍ＋ｋ＜ｎとなるＹアドレスYA(ｎ)を取り込み（Ｓ８５）、取り込んだYアドレスYA(ｎ)から連続して必要なYアドレスYA(ｎ+1)までのデータをデータラッチ回路に取り込む（Ｓ８６）。前記ステップS８５及びＳ８６の処理は必要に応じた回数繰り返すことができる。そして、書き換え第２コマンドが供給されると（Ｓ８７）、前記書き換えアドレスで指定されたセクタの消去を行ない（Ｓ８８）、次いで、データラッチ回路ＤＬＬ，ＤＬＲのラッチデータに基づいて指定セクタの書込み動作を行なう（Ｓ８９）。指定セクタの書込み動作は図１６で説明した動作と同じである。
【０１１２】
《部分消去機能》
フラッシュメモリ１をファイルメモリ等に利用する場合、セクタには管理領域を割り当て、残りの部分をユーザ領域として開放することができる。管理領域には例えば書き換え回数やセクタの良／不良の情報などが格納され、ユーザによるセクタ単位での消去において、自動的に管理領域を消去対象外にするコマンドをサポートすることが、フラッシュメモリ１、更にはファイルメモリの使い勝手を良好にする。この観点に立って、フラッシュメモリ１は、前記部分消去コマンドをサポートする。すなわち、部分消去機能を示す図６４において、部分消去第１コマンドが供給されると（Ｓ９０）、セクタアドレスを取り込み（Ｓ９１）、次いで部分消去第２コマンドが供給されると（Ｓ９２）、セクタアドレスで指定されるセクタ中の一定領域（例えば管理領域）に対応されるデータラッチ回路ＤＬＬ，ＤＬＲには当該一定領域のデータを退避すると共に、その他の領域に対応されるデータラッチ回路ＤＬＬ，ＤＬＲには消去状態を指示するデータをセットする（Ｓ９３）。結果的に、指定セクタの管理領域に応ずるデータラッチ回路ＤＬＬ，ＤＬＲには読み出したデータが退避され、当該セクタの他の領域に応ずるデータラッチ回路ＤＬＬ，ＤＬＲには消去状態に応ずる“１１”データがセットされる。そして、前記セクタアドレスで指定されたセクタに対する消去を行なってから、前記データラッチ回路ＤＬＬ，ＤＬＲに設定されたデータに従って書込み動作を行なう（Ｓ９４）。指定セクタの書込み動作は図１６で説明した動作と同じである。
【０１１３】
図６５及び図６６には前記ステップＳ９３の“指定セクタデータ読み出し”動作の詳細な一例を全体として示すものであり、図６６の処理は図６５の処理に続く。図６５及び図６６において、“１”は対応ノードの電位が高い場合を意味し、“０”は対応ノードの電位が低い場合を意味する。また、図６５及び図６６は右側メモリマットが動作選択メモリマットとされる場合を想定している。図６７には指定セクタデータ読み出しに用いるワード線選択レベルＶＲＷ１，ＶＲＷ２，ＶＲＷ３と閾値電圧分布との関係を示す。
【０１１４】
図６５のステップ１(Step1)では、ワード線レベルをVRW1とし、指定セクタのメモリセルのデータを読み出して、センスラッチ回路ＳＬにラッチさせる。ステップ２(Step2)では、センスララッチ回路ＳＬの右側ノードのデータをデータラッチ回路ＤＬＲに内部転送する。ステップ３(Step3)では、ワード線レベルをVRW２とし、指定セクタのメモリセルのデータを読み出して、センスラッチ回路ＳＬにラッチさせる。そして、ステップ3.5(Step3.5)において、Ｙアドレスデコーダで選択された管理領域以外のセンスラッチ回路ＳＬの右側入出力ノードにデータ“０”をセットする。そして、ステップ４(Step4)において、センスラッチ回路ＳＬの左側ノードのデータをデータラッチ回路ＤＬＬに内部転送する。これにより、データラッチ回路ＤＬＬには所要一部の読み出しデータだけが退避されることになる。
【０１１５】
ステップ5(Step5)では、ワード線レベルをVRW３とし、指定セクタのメモリセルのデータを読み出して、センスラッチ回路ＳＬにラッチさせる。そして、ステップ5.5(Step5.5)において、Ｙアドレスデコーダで選択された管理領域以外のセンスラッチ回路ＳＬの右側入出力ノードにデータ“１”をセットする。そして、ステップ6(Step6)において、データラッチＤＬＲのラッチデータをトランジスタＭ２８Ｒを通してビット線Ｇ−ＢＬＲに内部転送する。そして、ステップ７（Step7）において、その右側入出力ノードＳＬＲに“１”データが設定されているセンスラッチ回路ＳＬに対応する右側ビット線Ｇ−ＢＬＲをローレベルに制御し、ステップ８（Step8）で、センスラッチ回路ＳＬからデータラッチ回路ＤＬＲにデータを転送する。これにより、管理領域のデータラッチ回路ＤＬＬ，ＤＬＲには、指定セクタの読み出しデータの4値の情報が格納され、指定セクタの他の領域（メモリ領域）に応ずるデータラッチ回路ＤＬＬ，ＤＬＲには消去状態を指示すデータが格納される。
【０１１６】
以上説明したフラッシュメモリ、メモリカード、データ処理システムによれば、以下の作用効果を得ることができる。
【０１１７】
〔１〕外部から与えられる書込みデータをデータラッチ回路ＤＬＬ，ＤＬＲにラッチし、ラッチした書込みデータが多値のどの閾値に対応するかは複数段階の書込み動作毎に判定してその判定結果である書込み情報をセンスラッチ回路ＳＬにラッチさせ、センスラッチＳＬにラッチされた書込み情報に従って、多値の閾値電圧をメモリセルに設定するための書込み動作を段階的に行なう。よって、書き込み動作が終了しても、データラッチ回路ＤＬＬ，ＤＬＲには、当初外部から供給された書込みデータが残っている。したがって、前記ワードディスターブ検出若しくはエラティック検出の結果により、メモリセルＭＣに対する多値情報の書込み動作を再度行なう場合にも書込みデータを再度外部から受け取ることを要しない。
【０１１８】
〔２〕書き込み異常が生じても、その時の書込みデータはフラッシュメモリ内部のデータラッチ回路ＤＬＬ，ＤＬＲに保存されているから、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路が保持している書込みデータを書込み制御させることができる。フラッシュメモリがそのようなリトライ機能を有することにより、当該フラッシュメモリをアクセス制御するメモリコントローラは、書き込み動作の異常終了を生じた半導体装置に対して書き込みアドレス若しくはセクタアドレスを変更して再書き込みを容易に行なうことができる。
【０１１９】
〔３〕フラッシュメモリは、書込み動作の異常終了の後、リカバリ読み出しコマンドの供給を受け付けたとき、データラッチ回路ＤＬＬ，ＤＬＲが保持している書込みデータを外部に出力する。このリカバリ機能により、複数の半導体装置によって構成されるメモリカードのメモリコントローラ若しくはメモリカードをアクセス制御する制御装置は、書き込み動作の異常終了を生じたフラッシュメモリとは別のフラッシュメモリに対して同一データを容易に再書き込みすることができる。
【０１２０】
〔４〕書き換え第１コマンドが供給されると書き換えアドレスを取り込むと共に、書込みデータをデータラッチ回路に取り込み、書き換え第２コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、データラッチ回路に保持されているデータに基づいて書込み動作を制御する。これによりセクタ全データ書き換えを単一のコマンドで実現できる。
【０１２１】
〔５〕部分消去コマンドをサポートすることにより、セクタの管理領域などを自動的に消去対象から外すことができる。
【０１２２】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１２３】
例えば、1個のメモリセルが保有する情報は4値に限定されず、それ以上であってもよい。例えば8値とする場合、ビット線に接続されるデータラッチ回路の数を更に増やせばよい。また、データラッチ処理の演算手法は上記の説明に限定されず、適宜変更可能である。また、メモリマットの数、書込み電圧条件、消去電圧条件、ベリファイ電圧条件なども適宜変更可能である。また、消去状態と書き込み状態は上述の説明とは逆に定義することも可能である。また、本発明に係る半導体装置はフラッシュメモリのようなメモリチップに限定されず、フラッシュメモリ内蔵マイクロコンピュータなどのデータ処理用若しくは論理動作用の半導体装置にも広く適用することができる。また、本発明はＥＥＰＲＯＭにも適用可能である。
【０１２４】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【０１２５】
すなわち、個々のメモリセルに多値の情報を書き込むため外部からデータラッチ回路に供給された書込みデータが書込み動作によっても失われることはない。したがって、書き込み動作が終了しても、データラッチ回路には、当初外部から供給された書込みデータが残っているから、ワードディスターブ検出若しくはエラティック検出の結果により、メモリセルに対する多値情報の書込み動作を再度行なう場合にも書込みデータを再度外部から受け取ることを要しない。
【０１２６】
また、メモリセルに対する多値情報の書込み動作を再度行なう場合に書込みデータを再度外部から受け取ることを要しない。
【０１２７】
書込み動作の異常終了時に、内部で保持されている当該異常終了に係る書込みデータを別のメモリアドレスを指定して再書込み可能である。
【０１２８】
書込み動作の異常終了時に当該異常終了に係る書込みデータを外部に出力可能である。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るところの、一つのメモリセルに２ビットの情報を書き込むことができ、かつその情報を読み出すことができるフラッシュメモリ１の全体的なブロック図である。
【図２】メモリセルトランジスタの一例を示すデバイス説明図である。
【図３】フラッシュメモリのコマンドの一例を示す説明図である。
【図４】ステータスレジスタの各ビット内容と入出力端子I/O0〜I/O7との対応の一例を示す説明図である。
【図５】メモリアレイに含まれるデータラッチ回路、ビット線及びセンスラッチ回路の接続関係の一例を示す説明図である。
【図６】データラッチ回路と入出力端子I/O4，I/O0との対応関係の一例を示す説明図である。
【図７】  4値のデータと閾値電圧との関係を閾値電圧分布図で示す説明図である。
【図８】セクタ一括消去と書込みの電圧条件の一例を示す説明図である。
【図９】  4値書込み処理における種々の書き込み態様を例示的に示す説明図である。
【図１０】フラッシュメモリにおけるセンスラッチ回路及びデータラッチ回路を中心とする構成の一例を示す回路図である。
【図１１】ＡＮＤ型メモリマットの一例回路図である。
【図１２】ＮＯＲ型メモリマットの一例回路図である。
【図１３】ＤｉＮＯＲ型メモリマットの一例回路図である。
【図１４】ＮＡＮＤ型メモリマットの一例回路図である。
【図１５】ＨｉＣＲ型メモリマットの一例回路図である。
【図１６】第１コマンド（１ＦＨ）及び第２コマンド（４０H）によって指定される書き込み動作の一例フローチャートである。
【図１７】“０１”書き込み処理ＴＳ１の概略説明図である。
【図１８】“００”書き込み処理ＴＳ２の概略説明図である。
【図１９】“１０”書き込み処理ＴＳ３の概略説明図である。
【図２０】エラティック／ディスターブ検出処理ＴＳ４の概略説明図である。
【図２１】データラッチ処理の演算内容の一例を論理的に示した説明図である。
【図２２】図２１の演算論理を採用した場合データビットＡ，Ｂの論理値に対する演算結果の論理値を示す説明図である。
【図２３】“０１”書き込み処理ＴＳ１の更に詳細な一例を示すフローチャートである。
【図２４】“１０”エラティック検出処理の詳細ない値例を示すフローチャートである。
【図２５】多センス方式による“０１”書込みデータラッチ処理の一例を示す説明図である。
【図２６】多センス方式による“００”書込みデータラッチ処理の一例を示す説明図である。
【図２７】多センス方式による“１０”書込みデータラッチ処理の一例を示す説明図である。
【図２８】多センス方式による“００”エラティック検出データラッチ処理の一例を示す説明図である。
【図２９】多センス方式による“１０”エラティック検出データラッチ処理の一例を示す説明図である。
【図３０】多センス方式による“１１”ディスターブ検出データラッチ処理の一例を示す説明図である。
【図３１】書込み動作における書込みバイアス印加処理Ｓ１１の最初の動作の詳細を示す説明図である。
【図３２】書込み動作における書込みバイアス印加処理Ｓ１１の最後の動作の詳細を示す説明図である。
【図３３】ＶＷＶ３ベリファイ処理におけるビット線プリチャージ動作の詳細を示す説明図である。
【図３４】ＶＷＶ３ベリファイ処理におけるメモリディスチャージ動作の詳細を示す説明図である。
【図３５】ＶＷＶ３ベリファイ処理におけるセンスラッチのためのプリチャージ動作の詳細を示す説明図である。
【図３６】ＶＷＶ３ベリファイ処理におけるセンスラッチ動作の詳細を示す説明図である。
【図３７】ＶＷＶ３ベリファイ処理におけるオール判定動作の詳細を示す説明図である。
【図３８】前記書込みデータラッチ処理の動作タイミングの一例を示すタイミング図である。
【図３９】書込み動作タイミングの一例を示すタイミング図である。
【図４０】書込みベリファイの動作タイミングの一例を示すタイミング図である。
【図４１】オール判定動作タイミングの一例を示すタイミング図である。
【図４２】多電源方式による“０１”書込みデータラッチ処理の説明図である。
【図４３】多電源方式による“００”書込みデータラッチ処理の説明図である。
【図４４】多電源方式による“１０”書込みデータラッチ処理の説明図である。
【図４５】多電源方式による“００”エラティック検出データラッチ処理の説明図である。
【図４６】多電源方式による“１０”エラティック検出データラッチ処理の説明図である。
【図４７】多電源方式による“１１”ディスターブ検出データラッチ処理の説明図である。
【図４８】多電源方式による“０１”書込みデータラッチ処理の動作波形図である。
【図４９】多電源方式による“００”書込みデータラッチ処理の動作波形図である。
【図５０】多電源方式による“１０”書込みデータラッチ処理の動作波形図である。
【図５１】多電源方式による“００”エラティック検出データラッチ処理の動作波形図である。
【図５２】多電源方式による“１０”エラティック検出データラッチ処理の動作波形図である。
【図５３】多電源方式による“１１”ディスターブ検出データラッチ処理の動作波形図である。
【図５４】フラッシュメモリの動作態様毎の各種電圧条件を纏めて示した動作説明図である。
【図５５】リトライ書込み機能の一例を示すフローチャートである。
【図５６】リカバリ機能の一例を示すフローチャートである。
【図５７】リトライ及びリカバリ機能を有するフラッシュメモリにおける内部動作の状態遷移図である。
【図５８】フラッシュメモリを用いたメモリカードの一例を示しブロック図である。
【図５９】フラッシュメモリを用いたデータ処理システムの一例を示すブロック図である。
【図６０】リトライ及びリカバリ機能の概念説明図である。
【図６１】書き換えコマンドによる処理の一例を示すフローチャートである。
【図６２】セクタの一部に対するデータ書き換えを実現するための書き換えコマンドによる処理の一例を示すフローチャートである。
【図６３】セクタの一部に対するデータ書き換えを実現するための書き換えコマンドによる処理の他の例を示すフローチャートである。
【図６４】部分消去機能の一例を示すフローチャートである。
【図６５】図６４の指定セクタデータ読み出し動作の前半の詳細を示す説明図である。
【図６６】図６４の指定セクタデータ読み出し動作の後半の詳細を示す説明図である。
【図６７】指定セクタデータ読み出しに用いるワード線選択レベルと閾値電圧分布との関係を示す説明図である。
【符号の説明】
１  フラッシュメモリ
３  メモリアレイ
１６  データ制御回路
１８  モード制御回路
Ｉ／Ｏ０〜Ｉ／Ｏ７  入出力端子
ＤＬＬ，ＤＬＲ  データラッチ回路
ＤＬＬＡ，ＤＬＲＡ  データラッチ回路アレイ
ＭＭＬ，ＭＭＲ  メモリマット
ＳＬ  センスラッチ回路
ＳＬＡ  センスラッチ回路アレイ
３０Ｌ，３０Ｒ  スイッチ回路・演算回路
３１Ｌ，３１Ｒ  スイッチ回路・演算回路
ＭＣ  メモリセル
Ｇ−ＢＬＬ，Ｇ−ＢＬＲ  ビット線
２００  メモリカード
２０１  ローカルメモリ
２０２  メモリコントローラ
２０３  バッファメモリ
２０４  インタフェース回路
２３０  マイクロプロセッサ
【図１】
0003883687.tif 000002
【図２】
0003883687.tif 000003
【図３】
0003883687.tif 000004
【図４】
0003883687.tif 000005
【図５】
0003883687.tif 000006
【図６】
0003883687.tif 000007
【図７】
0003883687.tif 000008
【図８】
0003883687.tif 000009
【図９】
0003883687.tif 000010
【図１０】
0003883687.tif 000011
【図１１】
0003883687.tif 000012
【図１２】
0003883687.tif 000013
【図１３】
0003883687.tif 000014
【図１４】
0003883687.tif 000015
【図１５】
0003883687.tif 000016
【図１６】
0003883687.tif 000017
【図１７】
0003883687.tif 000018
【図１８】
0003883687.tif 000019
【図１９】
0003883687.tif 000020
【図２０】
0003883687.tif 000021
【図２１】
0003883687.tif 000022
【図２２】
0003883687.tif 000023
【図２３】
0003883687.tif 000024
【図２４】
0003883687.tif 000025
【図２５】
0003883687.tif 000026
【図２６】
0003883687.tif 000027
【図２７】
0003883687.tif 000028
【図２８】
0003883687.tif 000029
【図２９】
0003883687.tif 000030
【図３０】
0003883687.tif 000031
【図３１】
0003883687.tif 000032
【図３２】
0003883687.tif 000033
【図３３】
0003883687.tif 000034
【図３４】
0003883687.tif 000035
【図３５】
0003883687.tif 000036
【図３６】
0003883687.tif 000037
【図３７】
0003883687.tif 000038
【図３８】
0003883687.tif 000039
【図３９】
0003883687.tif 000040
【図４０】
0003883687.tif 000041
【図４１】
0003883687.tif 000042
【図４２】
0003883687.tif 000043
【図４３】
0003883687.tif 000044
【図４４】
0003883687.tif 000045
【図４５】
0003883687.tif 000046
【図４６】
0003883687.tif 000047
【図４７】
0003883687.tif 000048
【図４８】
0003883687.tif 000049
【図４９】
0003883687.tif 000050
【図５０】
0003883687.tif 000051
【図５１】
0003883687.tif 000052
【図５２】
0003883687.tif 000053
【図５３】
0003883687.tif 000054
【図５４】
0003883687.tif 000055
【図５５】
0003883687.tif 000056
【図５６】
0003883687.tif 000057
【図５７】
0003883687.tif 000058
【図５８】
0003883687.tif 000059
【図５９】
0003883687.tif 000060
【図６０】
0003883687.tif 000061
【図６１】
0003883687.tif 000062
【図６２】
0003883687.tif 000063
【図６３】
0003883687.tif 000064
【図６４】
0003883687.tif 000065
【図６５】
0003883687.tif 000066
【図６６】
0003883687.tif 000067
【図６７】
0003883687.tif 000068