[go: up one dir, main page]

JP3883687B2 - Semiconductor device, memory card and data processing system - Google Patents

Semiconductor device, memory card and data processing system Download PDF

Info

Publication number
JP3883687B2
JP3883687B2 JP03277698A JP3277698A JP3883687B2 JP 3883687 B2 JP3883687 B2 JP 3883687B2 JP 03277698 A JP03277698 A JP 03277698A JP 3277698 A JP3277698 A JP 3277698A JP 3883687 B2 JP3883687 B2 JP 3883687B2
Authority
JP
Japan
Prior art keywords
data
write
latch circuit
semiconductor device
bit line
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.)
Expired - Fee Related
Application number
JP03277698A
Other languages
Japanese (ja)
Other versions
JPH11232886A (en
Inventor
哲也 辻川
敦史 野副
道太郎 金光
昌次 久保埜
英二 山本
謙 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP03277698A priority Critical patent/JP3883687B2/en
Priority to TW090111836A priority patent/TW462059B/en
Priority to TW089107774A priority patent/TW463170B/en
Priority to TW088101325A priority patent/TW452796B/en
Priority to KR10-1999-0004810A priority patent/KR100529990B1/en
Priority to US09/250,157 priority patent/US6046936A/en
Publication of JPH11232886A publication Critical patent/JPH11232886A/en
Priority to US09/539,633 priority patent/US6233174B1/en
Priority to US09/539,634 priority patent/US6333871B1/en
Priority to US09/820,894 priority patent/US6456526B2/en
Priority to US09/820,906 priority patent/US6320793B2/en
Priority to US09/985,116 priority patent/US6504764B2/en
Priority to US10/011,723 priority patent/US6507520B2/en
Priority to US10/211,342 priority patent/US6721207B2/en
Priority to US10/776,190 priority patent/US6992936B2/en
Application granted granted Critical
Publication of JP3883687B2 publication Critical patent/JP3883687B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3463Circuits or methods to detect overprogrammed nonvolatile memory cells, usually during program verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一つのメモリセルに少なくとも4値の情報(2ビット分の情報)を記憶可能な不揮発性記憶素子を有する半導体装置に関し、例えばフラッシュメモリなどの電気的に書き換え可能な不揮発性半導体記憶装置、更には当該不揮発性半導体記憶装置を用いるファイルメモリシステムなどのデータ処理システムに適用して有効な技術に関するものである。
【0002】
【従来の技術】
浮遊ゲートに対する電子の注入や電子の引き抜きによって情報を記憶させることができる不揮発性半導体記憶装置、例えばフラッシュメモリが従来から提供されている。フラッシュメモリはフローティングゲート(浮遊ゲート)、コントロールゲート、ソース及びドレインを持つメモリセルトランジスタを有する。このメモリセルトランジスタは、前記フローティングゲートに電子が注入されると閾値電圧が上昇し、また、前記フローティングゲートから電子を引き抜くと閾値電圧が低下する。前記メモリセルトランジスタは、データ読み出しのためのワード線電圧(コントロールゲート印加電圧)に対する閾値電圧の高低に応じた情報を記憶することになる。特に制限されないが、本明細書においてメモリセルトランジスタの閾値電圧が低い状態を消去状態、高い状態を書き込み状態と称する。
【0003】
このようなフラッシュメモリとして、1個のメモリセトランジスタに4値以上の情報を記憶するものがある。このような多値メモリについて記載された文献の例として日経マイクロデバイス(1994年11月号)第48頁及び第49頁がある。さらに、特開平9−297996号公報がある。
【0004】
【発明が解決しようとする課題】
多値メモリにおいて、例えば、消去状態と、消去状態に対して夫々閾値電圧が相違される第1乃至第3の書込み状態との中から一つの状態を選択できるようにすれば、1個のメモリセルトランジスタに4値の情報を格納することができる。書込み動作の前に消去動作が行なわれるとすれば、第1乃至第3の書き込み状態の全てを非選択とするか、或いは何れの書き込み状態を選択するかを決定することによって、4値の情報記憶を行なうことができる。そのための書き込み動作においては、前記第1乃至第3の書き込み状態を個々に得るための書き込み動作を選択するか否かを決定するための書き込み制御情報が必要になる。そのような書き込み制御情報を保持するために、夫々ビット線に設けられたセンスラッチ回路及びデータラッチ回路を用いることができる。
【0005】
センスランチ回路は例えばスタティックラッチから成り、そのセンスラッチの一対の入出力端子に夫々ビット線の一端が接続され、夫々のビット線に前記メモリセルトランジスタのドレインが接続される。更に各ビット線の他端にデータラッチ回路が接続される。前記センスラッチ回路は、前記メモリセルトランジスタのコントロールゲートに読み出し電圧又はベリファイ電圧を印加したとき、そのソース・ドレイン間に電流が流れたり流れなかったりする状態をセンスする。このとき、センスラッチ回路の一方の動作非選択側のビット線はリファレンスレベルにプリチャージされている。また、コントロールゲートとドレインとの間に高電位差を形成して書込みを行う場合、メモリセル毎にドレイン電圧を高くしたり低くしたりすることにより、メモリセルに対する書込み選択と書込み非選択とを区別することができ、この場合に、センスラッチ回路は書込み選択、非選択に応じたデータをラッチすることになる。このラッチデータが前記書き込み制御情報である。
【0006】
そのような書き込み制御情報は、外部から供給される書き込みデータの2ビット毎にデータ変換回路を介して生成され、書き込み選択されるビット線のセンスラッチ回路と当該センスラッチ回路を共有するビット線対の各データラッチ回路にラッチされる。ワード線単位で書き込み動作が行なわれる場合、当該ワード線を共有する全てのビット線に関し前記センスラッチ回路及びデータラッチ回路に書き込み制御情報が予めラッチされる。
【0007】
書き込み動作では、先ず、センスラッチ回路にラッチされた書き込み制御情報に従って第1書き込み状態への有無が決定され、次に、一方のデータラッチ回路からセンスラッチ回路に内部転送された書き込み制御情報に従って第2書き込み状態への有無が決定され、更に、他方のデータラッチ回路からセンスラッチ回路に内部転送された書き込み制御情報に従って第3書き込み状態への有無が決定される。このようにして、2ビットのデータで特定される4値の情報を1個のメモリセルに格納することができる。上記第1乃至第3書き込み状態への書き込み動作では夫々の書き込み状態に割り当てられている閾値電圧に到達したかを調べるベリファイ動作が行なわれる。
【0008】
このとき、メモリセルの中には、第1乃至第3の各書き込み状態に対して過書き込み状態にされるものがあり、その場合には、前後の書き込み状態における閾値電圧を区別することができなくなり、例えば、第1書き込み状態とされるべきメモリセルの閾値電圧が第2書き込み状態の閾値電圧と区別できなくなるほど高くされる場合がある。そのような場合には、書き込み動作を最初からやり直しするために、書き込み対象とされたメモリセルに対して消去動作を行なった後、前記書き込み動作が再度行なわれる。
【0009】
しかしながら、前記第1乃至第3書き込み状態への書き込み動作を一旦行なうと、最初にセンスラッチ回路にラッチされた書き込み制御情報はデータラッチ回路から内部転送された別の書き込み制御情報によって上書きされて消失されてしまっている。このため、過書き込みに起因する再書き込み動作を行なうには、再度外部から同じ書き込みデータを受け取らなければならない。そのためには、フラッシュメモリをアクセス制御する制御回路は、フラッシュメモリに対する書き込み動作の後、しばらくの間、書き込みデータをワークメモリなどに保持させておかなければならず、フラッシュメモリをアクセス制御するための負荷も大きくなり、フラッシュメモリアクセス若しくはデータ処理効率を低下させる原因になることが本発明者によって明らかにされた。
【0010】
更に、過書き込みに起因する再書き込み動作の不良など、最終的に書き込み動作それ自体が不良である場合、その時の書き込みデータを当該フラッシュメモリの別の記憶領域に、或いは別のフラッシュメモリに記憶させることが想定される。この時も前記同様に、書込み不良に係るフラッシュメモリはその時の書込みデータを最早保持していない。したがって、その場合も、フラッシュメモリをアクセス制御する制御回路は、フラッシュメモリに対する書き込み動作の後、しばらくの間、書き込みデータをワークメモリなどに保持させておかなければならず、上記同様、フラッシュメモリアクセス若しくはデータ処理効率を低下させてしまう。
【0011】
本発明の目的は、個々のメモリセルに多値の情報を書き込むため外部からデータラッチ回路に供給された書込みデータが書込み動作によっても失われることのない半導体装置を提供することにある。
【0012】
本発明の別の目的は、メモリセルに対する多値情報の書込み動作を再度行なう場合に書込みデータを再度外部から受け取ることを要しない半導体装置を提供することにある。
【0013】
本発明の更に別の目的は、書込み動作の異常終了時に、内部で保持されている当該異常終了に係る書込みデータを別のメモリアドレスを指定して再書込み可能な半導体装置を提供することにある。
【0014】
本発明のその他の目的は、書込み動作の異常終了時に当該異常終了に係る書込みデータを外部に出力可能な半導体装置を提供することにある。
【0015】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0016】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0017】
〔1〕第1の観点による本発明は、電気的に消去及び書込みが可能な一つの不揮発性メモリセルに多値の情報を記憶可能にする半導体装置において、書込み動作に付随して行なわれる過書込み検出動作(ワードディスターブ検出若しくはエラティック検出)により、メモリセルの過書込み状態が検出された場合に、再消去して再度書き込み動作を最初からやり直すときでも、書き込み動作に必要な書込みデータが内部で保存されていることを保証できるようにするものである。
【0018】
すなわち、半導体装置は、一対の入出力端子を有するセンスラッチ回路と、センスラッチ回路の夫々の入出力端子に対応して別々に設けられたビット線と、ビット線に選択的に接続され電気的に消去及び書込み可能な複数個の不揮発性メモリセルと、夫々のビット線に結合されるデータラッチ回路と、前記データラッチ回路を外部とインタフェース可能にする入出力手段と、前記メモリセルに対するデータ読み出し、消去及び書込みを制御する制御手段とを含む。前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、データラッチ回路に保持された複数ビットの書込みデータに基づいて、ビット線への接続が選択された不揮発性メモリセルを閾値電圧の異なるどの状態にするかを決定する書込み制御情報を書込み動作毎に生成して、前記センスラッチ回路にラッチさせるものである。
【0019】
上記手段によれば、外部から与えられる書込みデータをデータラッチ回路にラッチし、ラッチした書込みデータが多値のどの閾値に対応するかは複数段階の書込み動作毎に判定してその判定結果である書込み制御情報をセンスラッチ回路にラッチさせ、センスラッチ回路にラッチされた書込み制御情報に従って、多値の閾値電圧をメモリセルに設定するための書込み動作を段階的に行なう。したがって、書き込み動作が終了しても、データラッチ回路には、当初外部から供給された書込みデータが残っている。したがって、前記ワードディスターブ検出若しくはエラティック検出の結果により、メモリセルに対する多値情報の書込み動作を再度行なう場合にも書込みデータを再度外部から受け取ることを要しない。
【0020】
過書込み検出には次の手法を採用することができる。すなわち、前記制御手段は更に、過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なう。
【0021】
前記制御手段は、前記過書込みが検出された時、再消去の後に書込みを再実行させることができる。
【0022】
〔2〕前記センスラッチ回路に書込み情報をラッチさせるための前記第1の観点による演算制御の更に具体的な手段に着目した第2の観点による発明では、閾値電圧の異なる消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態に制御して、一つのメモリセルに4値の情報を記憶可能にする半導体装置を想定する。このとき、前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、センスラッチ回路を共有する一対のビット線に接続された2個のデータラッチ回路が保持する2ビットの書込みデータを単位として、ビット線への接続が選択された不揮発性メモリセルを前記消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態の何れの状態にするかを決定する書込み情報を演算して、書込み動作毎に前記センスラッチ回路にラッチさせ、ラッチされた書込み情報に従って前記第1乃至第3の書込み状態を制御する。
【0023】
更に具体的には、前記制御手段は、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第1の論理値とする書込み制御情報をラッチしたとき、当該第1の論理値とされるビット線に接続されるメモリセルを書込み動作させる。前記制御手段による前記書込み制御情報の演算は、センスラッチ回路を共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第1の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第2の書込みデータビットとに対し、前記第1の書込みデータビットの論理反転データと前記第2の書込みデータビットとの論理和、前記第1の書込みデータビットと前記第2の書込みデータビットとの論理和、前記第1の書込みデータビットと前記第2の書込みデータビットの論理反転データとの論理和を、データラッチ回路のラッチデータに基づくビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作である。前記制御手段は、前記演算によって順次得られた論理和を、書込み動作毎に、前記センスラッチ回路にラッチさせ、ラッチされた論理和が第1の論理値となるメモリセル接続選択ビット線のメモリセルを書込み動作させる。
【0024】
上記に応ずる過書込み判定のための手段の更に具体例は以下のようにすることができる。前記制御手段は更に、書込み動作に起因する過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が、過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを、前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なうものである。前記制御手段による前記判定のための演算は、センスラッチ回路を共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第1の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第2の書込みデータビットとに対し、前記第1の書込みデータビットと前記第2の書込みデータビットとの負論理和、前記第1の書込みデータビットと前記第2の書込みデータビットの論理反転データとの論理積、前記第1の書込みデータビットと前記第2の書込みデータビットとの論理積を、データラッチ回路のラッチデータによるビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作である。前記制御手段は、前記演算によって順次得られた負論理和及び論理積を、過書込み検出動作毎に、前記判定結果データとして前記センスラッチ回路にラッチさせ、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第2の論理値とする判定結果データをラッチしたとき、プリチャージ回路を介して当該メモリセル接続選択ビット線をプリチャージ動作させる。
【0025】
〔3〕上記手段より、書き込み異常が生じても、その時の書込みデータは半導体装置内部に保存されている。これに着目し、前記制御回路は、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路が保持している書込みデータを書込み制御させることができる。半導体装置がそのようなリトライ機能を有することにより、当該半導体装置をアクセス制御するメモリコントローラ若しくは制御装置は、書き込み動作の異常終了を生じた半導体装置に対して書き込みアドレス若しくはセクタアドレスを変更して再書き込みを容易に行なうことができる。
【0026】
また、書き込み動作の異常終了後、再書き込み対象を、別の半導体装置に変更可能にすることを考慮することができる。この場合、前記制御回路は、書込み動作の異常終了の後、リカバリ読み出しコマンドの供給を受け付けたとき、データラッチ回路が保持している書込みデータを前記入出力手段を介して外部に出力させるものである。このリカバリ機能により、複数の半導体装置によって構成されるメモリカードのメモリコントローラ若しくはメモリカードをアクセス制御する制御装置は、書き込みデータを自らストアしておかなくても、書き込み動作の異常終了を生じた半導体装置とは別の半導体装置に対して再書き込みを容易に行なうことができる。
【0027】
〔4〕書き換え動作は、消去コマンドによって消去を行なった後、書き込みコマンドにより同一領域に対して書き込みを行なうことができる。そのような書き換え処理を単一のコマンド、即ち書き換えコマンドで実現することができる。すなわち、前記制御手段は、書き換え第1コマンドが供給されると書き換えアドレスを取り込むと共に、書込みデータをデータラッチ回路に取り込み、書き換え第2コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、データラッチ回路に保持されているデータに基づいて書込み動作を制御する。これによりセクタ全データ書き換えを単一のコマンドで実現できる。
【0028】
また、セクタの一部に対するデータ書き換えを単一のコマンドで実現することも可能である。すなわち、前記制御手段は、書き換え第1コマンドが供給されると書き換えアドレスを取り込み、取り込んだアドレスのデータをデータラッチ回路に退避し、退避の後に書き換えアドレスの範囲内で書き換えアドレスを指定して書込みデータをデータラッチ回路に取り込み、書き換え第2コマンドが供給された後、前記書き換えアドレスで指定されたセクタ領域の消去を行ない、次いで、前記書き換えアドレスで指定されたセクタ領域のデータラッチ回路に保持されているデータに基づいて書込み動作を制御する。
【0029】
〔5〕半導体装置をファイルメモリ等に利用する場合、半導体装置のセクタには管理領域を割り当て、残りの部分をユーザ領域として開放することができる。管理領域には例えば書き換え回数やセクタの良/不良の情報などが格納され、ユーザによるセクタ単位での消去において、自動的に管理領域は消去対象外にするコマンドをサポートすることが、半導体装置、更にはファイルメモリの使い勝手を良好にする。この観点に立てば、部分消去コマンドをサポートすればよい。すなわち、前記制御手段は、部分消去第1コマンドが供給されるとセクタアドレスを取り込み、次いで部分消去第2コマンドが供給されると、セクタアドレスで指定される領域中の一定領域に対応されるデータラッチには当該一定領域のデータを退避すると共にその他の領域に対応されるデータラッチ回路には消去状態を指示するデータをセットし、更に、前記セクタアドレスで指定された領域に対する消去を行なってから、前記データラッチ回路に設定されたデータに従って書込み制御を行なう。
【0030】
〔6〕前記半導体装置をカード基板に、該半導体装置をアクセス制御するメモリコントローラ及びメモリコントローラに接続される外部インタフェース回路と共に搭載してメモリカードを実現できる。
【0031】
また、前記半導体装置と、前記半導体装置をアクセス制御するメモリコントローラと、メモリコントローラを制御するプロセッサとを含んでデータ処理システムを構成することができる。
【0032】
リトライ書き込みコマンドに着目すれば、前記半導体装置による書込み動作の異常終了を検出した時、リトライ書込みコマンドと書込みアドレスとを前記半導体装置に向けて出力する制御装置とを含んでデータ処理システムを構成することができる。
【0033】
また、前記リカバリ読み出しコマンドに着目すれば、半導体装置による書込み動作の異常終了を検出した時、リカバリ読み出しコマンドを当該異常終了に係る半導体装置に向けて出力すると共に、リカバリ読み出しコマンドが供給された半導体装置が出力する書込みデータを取り込み、取り込んだ書込みデータを別の半導体装置に書込み制御する制御装置を含んでデータ処理システムを構成することができる。
【0034】
【発明の実施の形態】
《フラッシュメモリの全体構成》
図1には本発明の第1の実施形態に係るところの、一つのメモリセルに2ビットの情報を書き込むことができ、かつその情報を読み出すことができるフラッシュメモリ1の全体的な構成が示されている。
【0035】
3で示されるものはメモリアレイであり、メモリマット、データラッチ回路及びセンスラッチ回路を有する。メモリマット3は電気的に消去及び書き込み可能な不揮発性のメモリセルトランジスタを多数有する。メモリセルトランジスタは、例えば図2に例示されるように、半導体基板若しくはメモリウェルSUBに形成されたソースS及びドレインDと、チャンネル領域にトンネル酸化膜を介して形成されたフローティングゲートFG、そしてフローティングゲートに層間絶縁膜を介して重ねられたコントロールゲートCGを有して構成される。コントロールゲートCGはワード線6に、ドレインDはビット線5に、ソースSは図示を省略するソース線に接続される。
【0036】
外部入出力端子I/O0〜I/O7は、アドレス入力端子、データ入力端子、データ出力端子、コマンド入力端子に兼用される。外部入出力端子I/O0〜I/O7から入力されたXアドレス信号はマルチプレクサ7を介してXアドレスバッファ8に供給される。Xアドレスデコーダ9はXアドレスバッファ8から出力される内部相補アドレス信号をデコードしてワード線を駆動する。
【0037】
前記ビット線5の一端側には、図示を省略するセンスラッチ回路が設けられ、他端には同じく図示を省略するデータラッチ回路が設けられている。ビット線5はYアドレスデコーダ11から出力される選択信号に基づいてYゲートアレイ回路13で選択される。外部入出力端子I/O0〜I/O7から入力されたYアドレス信号はYアドレスカウンタ12にプリセットされ、プリセット値を起点に順次インクリメントされたアドレス信号が前記Yアドレスデコーダ11に与えられる。
【0038】
Yゲートアレイ回路13で選択されたビット線は、データ出力動作時には出力バッファ15の入力端子に導通され、データ入力動作時にはデータ制御回路16を介して入力バッファ17の出力端子に導通される。出力バッファ15、入力バッファ17と前記入出力端子I/O0〜I/O7との接続は前記マルチプレクサ7で制御される。入出力端子I/O0〜I/O7から供給されるコマンドはマルチプレクサ7及び入力バッファ17を介してモード制御回路18に与えられる。前記データ制御回路16は、入出力端子I/O0〜I/O7から供給されるデータの他に、モード制御回路18の制御に従った論理値のデータをメモリアレイ3に供給可能にする。
【0039】
制御信号バッファ回路19には、アクセス制御信号としてチップイネーブル信号CEb、出力イネーブル信号OEb、書き込みイネーブル信号WEb、シリアルクロック信号SC、リセット信号RESb及びコマンドイネーブル信号CDEbが供給される。モード制御回路18は、それら信号の状態に応じて外部との信号インタフェース機能などを制御し、また、コマンドコードに従って内部動作を制御する。入出力端子I/O0〜I/O7に対するコマンド又はデータ入力の場合、前記信号CDEbがアサートされ、コマンドであれば更に信号WEbがアサート、データであればWEbがネゲートされる。アドレス入力であれば、前記信号CDEbがネゲートされ、信号WEbがアサートされる。これにより、モード制御回路18は、外部入出力端子I/O0〜I/O7からマルチプレクス入力されるコマンド、データ及びアドレスを区別できる。モード制御回路18は、消去や書込み動作中にレディー・ビジー信号R/Bbをアサートしてその状態を外部に知らせることができる。
【0040】
内部電源回路20は、書込み、消去ベリファイ、読み出しなどのための各種動作電源21を生成して、前記Xアドレスデコーダ9やメモリセルアレイ3に供給する。
【0041】
前記モード制御回路18は、コマンドに従ってフラッシュメモリ1を全体的に制御する。フラッシュメモリ1の動作は、基本的にコマンドによって決定される。
【0042】
フラッシュメモリに割り当てられているコマンドは、例えば図3に例示されるように、読み出し、リカバリー読み出し、消去、書込み、追加書込み、リトライ書込み、部分消去、及び書き換えの各コマンドとされる。同図においてコマンドコードは16進数表記としてある。読み出し動作に関するコマンド(読み出し、リカバリー読み出し)、書き込み動作に関するコマンドのうち書き込みデータの供給を要しないコマンド(リトライ書込み)は第1コマンドによって構成され、それ以外のコマンドは第1及び第2コマンドから構成される。コマンドの夫々の内容については後で詳述する。
【0043】
フラッシュメモリ1はその内部状態を示すためにステータスレジスタ180を有し、その内容は、信号OEbをアサートすることによって入出力端子I/O0〜I/O7から読み出すことができる。ステータスレジスタ180の各ビット内容と入出力端子I/O0〜I/O7との対応が図4に例示されている。
【0044】
図5には前記メモリアレイ3に含まれるデータラッチ回路とセンスラッチ回路との関係が示されている。中央にセンスラッチ回路SLのアレイSLAが配置され、センスラッチ回路SLの一方の入出力ノード側にはスイッチ回路・演算回路アレイ30L、メモリマットMML、スイッチ回路・演算回路アレイ31L、及び上位データラッチ回路DLLのアレイDLLAが配置され、他方の入出力ノード側にも同様に、スイッチ回路・演算回路アレイ30R、メモリマットMMR、スイッチ回路・演算回路アレイ31R、及び下位データラッチ回路DLRのアレイDLRAが配置されている。更に図5に示されるように、一対のビット線に着目してその構成を把握すれば、スタティックラッチ形態のセンスラッチ回路SLの一対のデータ入出力ノードSLL,SLRにはビット線G−BLL,G−BLRを介してデータラッチ回路DLL,DLRが設けられている。データラッチ回路DLL,DLRはYゲートアレイ回路13を介して供給される書込みデータビットをラッチすることができる。この例に従えば、フラッシュメモリ1は、8ビットの入出力端子I/O0〜I/O7を有するから、1回の書込みデータ入力によって4対のビット線のデータラッチ回路DLL,DLRに書込みデータをセットすることができる。データセットの態様は、図6のデータラッチDDL,DLRと入出力端子I/O4,I/O0との対応関係に代表されるように、一定にされる。ここでの説明では、書込みの単位をワード線単位とするので、1本分のワード線に選択端子が結合する全てのメモリセルのビット線に関するデータラッチ回路DLL,DLRに書込みデータをセットした後、書込み電圧印加による書込み動作が行なわれることになる。
【0045】
図1に示されるフラッシュメモリ1が実現しようとする多値情報記憶技術において、一つのメモリセルの情報記憶状態は、消去状態(“11”)、第1の書込み状態(“10”)、第2の書込み状態(“00”)、第3の書込み状態(“01”)の中から選ばれた一つの状態とされる。全部で4通りの情報記憶状態は、2ビットのデータによって決定される状態とされる。即ち、2ビットのデータを一つのメモリセルで記憶する。この4値のデータと閾値電圧との関係は、図7の閾値電圧分布図に示される通りである。
【0046】
図7に示されるような閾値分布を得るには、書込み動作時にワード線に印加する書込みベリファイ電圧を相互に異なる3種類設定し、これらを順次切り替えて、3回に分けて書込み動作を行なう。図7において、VWV1,VWV2,VWV3は夫々第1書込み状態,第2書込み状態,第3書込み状態を得る時に用いる書込みベリファイ電圧である。
【0047】
それら3回に分けた個々の書込み動作において、ワード線とビット線の電圧印加状態の一例は図8に示される。書込み選択のビット線には0V、非選択のビット線には6Vを印加する。特に制限されないが、ワード線は例えば17Vとされる。前記書き込み高電圧印可時間を多くするにしたがってメモリセルの閾値電圧が上昇される。3種類の書き込み閾値電圧制御は、そのような高電圧状態の時間制御、更にはワード線に印可する高電圧のレベル制御によって行うことができる。
【0048】
ビット線に0Vを印加するか、6Vを印加するかは、センスラッチ回路SLにラッチさせる書込み制御情報の論理値で決定される。詳細は後で説明するが、書込み動作選択メモリマット側においてセンスラッチのラッチデータが論理値“1”で書込み非選択、論理値“0”で書き込み選択となるように制御される。その制御の詳細は後述する。尚、前記スイッチ回路・演算回路にはプリチャージ回路が含まれており、このプリチャージ回路は、センスラッチのラッチデータが“1”でビット線に6Vが印加されるとき、予めビット線をプリチャージしておくように動作する。このように、予めプリチャージ回路でプリチャージを行なっておくことにより、ビット線に6Vを与える際のピーク電流を低減することができる。
【0049】
上記センスラッチ回路に対する書込み制御情報のラッチ動作は、前記3回に分けた書込み動作の各動作毎に制御される。この書込み制御はモード制御回路18が行い、そのとき、前記センスラッチ回路SLがラッチすべき書込み制御情報は、データラッチ回路DLL,DLRが保持している書込みデータビットを用いた演算を書込み動作毎に行なって生成し、それをセンスラッチ回路SLにラッチさせる。例えば、図6に例示されるように、データラッチ回路DLL,DLRにラッチされた書込みデータが“01”であったとすると、図7に例示されるように“01”状態は第3の書込み状態である。消去状態の後の3回に分けた書込み動作が、図9の第2の態様(Case2)の如く閾値電圧の低い順に書込み状態を生成していく書込み手順が採用されている場合、第1回目に第1の書込み状態を得るための書込み動作時にデータラッチ回路DLL,DLRの書込みデータ(“01”)を用いて演算された結果は論理値“1”、第2回目に第2の書込み状態を得るための書込み動作時にデータラッチ回路DLL,DLRの書込みデータ(“01”)を用いて演算された結果は論理値“1”、第3回目に第3の書込み状態を得るための書込み動作時にデータラッチ回路DLL,DLRの書込みデータ(“01”)を用いて演算された結果は論理値“0”とされる。そのような演算は、前記スイッチ回路・演算回路を動作させて行なう。したがって、第3回目の書込み時だけ、書込み電圧が印加され、当該メモリセルには4値の内の第3の書込み状態(“01”)が実現される。
【0050】
このようにして、3回に分けて書込み動作が行なわれたとき、最初にデータラッチ回路DLL,DLRにラッチされた書込みデータは破壊されず、そのまま維持されている。データラッチ回路DLL,DLRにラッチされた2ビットの書込みデータを、書き込み動作毎に演算に用いて毎回センスラッチ回路SLにセットするという、制御シーケンスを採用するからである。
【0051】
尚、書込み動作において閾値電圧を変化させる順番などは図9の第2の態様(Case2)に限定されず、第1の態様(Case1)のように閾値電圧の高いものから設定したり、或いは第3の態様(Case3)のようにどの書込み状態に対しても1回の書込み動作で得る閾値電圧の変化率を同じようにしたり、或いは第4の態様(Case4)又は第5の態様(Case5)の如く制御することも可能である。
【0052】
データ読み出し動作時は、ワード線に印加するワード線選択レベルとしての電圧を、3種類設定し、3種類のワード線選択レベルを順次変更しながら3回の読出し動作を行い、個々の読み出し動作でメモリセルから読み出される2値(1ビット)のデータをセンスラッチ回路4にラッチする。ラッチされる度に、センスラッチされた内容をデータラッチ回路の2ビットの情報に反映させる演算を行なう。3回のセンスラッチの結果によってデータラッチ回路DLL,DLRに得られた2ビットが、当該メモリセルが保有する4値の情報に対応されるデータとされる。
【0053】
《メモリアレイの詳細》
次に、上記メモリアレイの詳細を説明する。図10には、上記フラッシュメモリにおけるセンスラッチ回路及びデータラッチ回路を中心とする回路構成の一例が示される。図10から明らかなように、センスラッチ回路SLの左右のビット線G−BLL,G−BLRの周りの構成は、センスラッチ回路SLを中心に鏡面対称構造とされる。
【0054】
メモリマットMML,MMRは電気的に書き換え可能な複数個のメモリセルMC(代表的に数個が図示されている)を有する。1個のメモリセルMCは、図2に示される通り、コントロールゲート、フローティングゲート、ソース及びドレインを持ち電気的に書き換え可能な1個のトランジスタ(メモリセルトランジスタ)によって構成される。メモリセルのレイアウト構造は、特に制限されないが、所謂AND型とされる。メモリマットMMR側に例示されるように、AND型の構成では、複数個の前記メモリセルトランジスタがそれらに共通のソース及びドレインを構成する夫々の拡散層(半導体領域)を介して並列配置され、ドレインを構成する拡散層は選択トランジスタM1を介してビット線G−BLRに、ソースを構成する拡散層は選択トランジスタM2を介して共通ソース線VMMRに結合されている。AND型メモリセル構造の詳細については後で説明する。SSiは選択トランジスタM2のスイッチ制御信号、SDiは選択トランジスタM1のスイッチ制御信号である。WLはメモリセルMCのコントロールゲートに結合されるワード線である。メモリマットMMLも同様に構成されている。尚、本明細書に添付された図面においてPチャンネル型MOSトランジスタはその基体ゲートに矢印を付してNチャンネル型MOSトランジスタと区別して図示してある。
【0055】
前記センスラッチ回路SLは、一対のCMOSインバータから成るスタティックラッチ、即ち相互に一方のCMOSインバータの入力端子を他方のCMOSインバータの出力端子に結合して成る回路、によって構成されている。SLR,SLLはセンスラッチ回路SLの一対の入出力ノードである。SLP,SLNはセンスラッチ回路SLの動作電源である。MOSトランジスタM3L,M4Lの直列回路とMOSトランジスタM3R,M4Rの直接回路は、前記センスラッチ回路SLに相補信号でデータを入力するカラムスイッチ回路を構成する。MOSトランジスタM5L,M5Rは入出力ノードSLL,SLRを選択的にディスチャージする。
【0056】
前記データラッチ回路DLRは、一対のCMOSインバータから成るスタティックラッチ、即ち相互に一方のCMOSインバータの入力端子を他方のCMOSインバータの出力端子に結合して成る回路、によって構成されている。DLRR,DLRLはデータラッチ回路DLRの一対の入出力ノードである。DLPR,DLNRはデータラッチ回路DLRの動作電源である。MOSトランジスタM6L,M7Lの直列回路とMOSトランジスタM6R,M7Rの直接回路は、前記データラッチ回路DLRに相補信号形態でデータを入出力するカラムスイッチ回路を構成する。MOSトランジスタM8L,M8Rは入出力ノードDLRL,DLRRを選択的に電圧FPCにチャージするトランジスタである。
【0057】
前記データラッチ回路DLLは、一対のCMOSインバータから成るスタティックラッチ、即ち相互に一方のCMOSインバータの入力端子を他方のCMOSインバータの出力端子に結合して成る回路、によって構成されている。DLLR,DLLLはデータラッチ回路DLLの一対の入出力ノードである。DLPL,DLNLはデータラッチ回路DLLの動作電源である。MOSトランジスタM9L,M10Lの直列回路とMOSトランジスタM9R,M10Rの直接回路は、前記データラッチ回路DLLに相補信号形態でデータを入出力するカラムスイッチ回路を構成する。MOSトランジスタM11L,M11Rは入出力ノードDLLL,DLLRを選択的に電圧FPCにチャージするトランジスタである。
【0058】
前記スイッチ回路・演算回路30Rは、MOSトランジスタM20R〜M25Rによって構成される。トランジスタM20Rはセンスラッチ回路SLの入出力ノードSLRの電圧レベルをゲートに受け、それがハイレベルのとき、電圧FPCをMOSトランジスタM21Rを介してビット線G−BLRに供給する。供給される電圧レベルは制御信号PCRの電圧レベルによるMOSトランジスタM21Rのコンダクタンス制御で決定される。トランジスタM22Rは入出力ノードSLRとビット線G−BLRとを選択的に導通させるトランスファゲートを構成する。MOSトランジスタM23Rはオール判定に利用される。MOSトランジスタM24R,M25Rはビット線G−BLRのプリチャージ、ディスチャージに利用される。前記スイッチ回路・演算回路30LもMOSトランジスタM20L〜M25Lによって、同様に構成される。尚、MOSトランジスタM20L,M22L,M24L,M25Lのゲート制御信号は前記MOSトランジスタM20R,M22R,M24R,M25Rとは相違される。
【0059】
前記スイッチ回路・演算回路31Rは、MOSトランジスタM26R〜M28Rによって構成される。トランジスタM26Rはデータラッチ回路DLRの入出力ノードDLRLの電圧レベルをゲートに受け、それがハイレベルのとき、電圧FPCをMOSトランジスタM27Rを介してビット線G−BLRに供給する。供給される電圧レベルは制御信号PCDRの電圧レベルによるMOSトランジスタM27Rのコンダクタンス制御で決定される。トランジスタM28Rは入出力ノードDLRLとビット線G−BLRとを選択的に導通させるトランスファゲートを構成する。前記スイッチ回路・演算回路31LもMOSトランジスタM26L〜M28Lによって、同様に構成される。尚、MOSトランジスタM27L,M28Lのゲート制御信号は前記MOSトランジスタM27R,M28Rとは相違される。
【0060】
図10の構成において、読み出し、書き込みにおける基本的な回路動作は以下のようにされる。例えば、図10においてメモリマットMMRに含まれるメモリセルMCに対して、ベリファイ動作における読み出しを行う場合には、非選択メモリマットMML側のセットMOSトランジスタM5Lをオン状態とし、センスラッチSLを活性化して、当該センスラッチSLの入出力ノードSLRにハイレベルをラッチさせる。そして、PCRを例えば1V+Vthに制御してビット線G−BLRを1Vにプリチャージする。一方、非選択メモリマットMML側では、MOSトランジスタM24Lのゲート電圧RPCLを0.5V+Vthに制御してビット線G−BLLを0.5Vにプリチャージする。この0.5Vはセンスラッチ回路SLによるセンス動作のリファレンスレベルとされる。一方、読み出しコマンドに応じた読み出し動作では、選択メモリマット(MMR)側の信号RPCRを1V+Vthにし、非選択メモリマット(MML)側の信号RPCLを0.5V+Vthにすることにより、一括して選択メモリマット側ビット線を1Vにプリチャージし、非選択メモリマット側ビット線を0.5Vにプリチャージする。もちろん、選択メモリマットがMMLで、非選択メモリマットがMMRであれば、信号RPCRが0.5V+Vthにされ、信号RPCLが1V+Vthにされる。プリチャージされた上記0.5Vは、上述のようにリファレンスレベルとして使われる。ワード線選択動作の後、トランスファMOSトランジスタM22l,M22Rがオン動作され、この時、センスラッチ回路SLは、ビット線G−BLRのレベルが0.5Vよりも高いか低いかをセンスして、メモリセルMCからの読み出しデータをラッチする。
【0061】
また、書込みでは、書き込み制御情報がセンスラッチSLにラッチされた後、MOSトランジスタM21R,M21Lのゲート制御信号PCR及びPCLをハイレベルに制御し、これによってセンスラッチ回路SLのハイレベル側入出力ノードに結合するビット線がMOSトランジスタM20RまたはM20Lを介してハイレベルにプリチャージされ、その後、MOSトランジスタM22R、M22Lがオン状態にされ、センスラッチ回路の電源SLPからセンスラッチ回路のハイレベル側入出力ノードに結合されたビット線へ電圧が印加される。この時、書き込みが選択されているメモリマットの書き込みセクタのワード線には書き込み高電圧が印加されている。これにより、書込み選択メモリマット側で書込み電圧が印加されたコントロールゲートに接続するメモリセルのうち、ビット線が接地電圧のようなローレベルにされているメモリセルが書き込み対象とされる。
【0062】
前記オール判定用のトランジスタM23L,M23Rは次の様に用いられる。MOSトランジスタM23L,M23Rは、そのゲートが対応するビット線に、そのソースが接地電位に結合される。図10に代表的に示された1個のセンスラッチ回路SLを中心としたビット線G−BLL,G−BLRに係る構成は実際には多数存在されている。センスラッチ回路SLを挟んで図10の左側のトランジスタM23Lのドレインは端子ECLに全て共通接続され、ビット線G−BLLに代表される左側のビット線の状態(レベル)に応じた電流が当該端子ECLに流される。同様に、センスラッチ回路SLを挟んで図10の右側のトランジスタM23Rのドレインも全て端子ECRに共通接続され、当該端子ECRには、ビット線G−BLRに代表される右側のビット線の状態(レベル)に応じた電流が流される。特に図示はしないが、端子ECL(ECR)の変化に基づいてセンスラッチ回路SLの左(右)側の全てのビット線G−BLL(G−BLR)の状態が同じ状態になったかを検出する電流センス型のアンプが設けられている。このアンプは、消去ベリファイ又は書込みベリファイの対象とされる全てのメモリセルが所定のしきい値電圧になったかを検出すること、即ちオール判定に用いられる。
【0063】
図10に例示されたメモリマットMMR,MMLの構成はAND型である。AND型メモリマットの更に詳細な一例は図11に示される。特に図示はしないが、図11に示されるメモリセルは2層のメタル配線層を用いるプロセスによって形成される構造とされ、メモリセルMC及び選択MOSトランジスタM1,M2は並列された縦方向の拡散層と横方向に延在されたポリシリコン等から成るコントロールゲートとの交差位置に形成されている。フラッシュメモリのメモリセルMCは例えばP型基板上に構成されたNチャンネル型MOSトランジスタとされる。
【0064】
フラッシュメモリのメモリマットはAND型に限定されず、図12に示されるNOR型、図13に示されるDiNOR型、図14に示されるNAND型、図15に示されるHiCR型等の別の構造とすることも可能である。何れの構造であってもフラッシュメモリのメモリセルは基本的には全て同じ構成を備えているが、メモリセルをアレイ状に配置したとき、個々のメモリマットの特徴が現われる。前記NOR型はメモリ毎にビット線(メタル配線層)とのコンタクトが必要であるため占有面積を小さくすることが難しいが、NAND型、DiNOR型、AND型ではビット線とのコンタクトをブロック毎に配置すれば済むので、占有面積の低減を図ることができる。
【0065】
《書き込み動作の詳細》
図16には第1コマンド(1FH)及び第2コマンド(40H)によって指定される書き込み動作の一例フローチャートが示される。この書き込みはワード線を一単位とする書き込み(セクタ書き込み)とされる。
【0066】
先ず、第1コマンド(1FH)が取り込まれると(S1)、次の入力をセクタアドレスとして取り込み(S2)、セクタアドレス取り込みの後の入力は、第2コマンド(40H)が取り込まれるまで(S4)、書き込みデータとして取り込まれる(S3)。ステップS2で取り込まれるセクタアドレスは、Xアドレスであり、これによって、書き込み高電圧を印可する1本のワード線を選択することになる。ステップS3における繰り返し的な書き込みデータの取り込みは、Yアドレスカウンタ12を初期値から漸次インクリメントしながらバイト単位で、データラッチ回路DLL,DLRに対して行われる。例えば、図5に示されるように、一つのセンスラッチ回路アレイSLAに関する一対のメモリマットMML,MMRに割り当てられたデータラッチ回路アレイDLLA,DLRAに、書き込みデータがラッチされる。例えば1本のワード線にn個のメモリセルのコントロールゲートが結合されているとすると、データラッチ回路アレイDLLA,DLRAには、夫々nビットの書き込みデータがラッチされる。
【0067】
書き込みデータをラッチした後、“01”書き込み処理TS1、“00”書き込み処理TS2、“10”書き込み処理TS3、エラティック/ディスターブ検出処理TS4が行われる。
【0068】
前記“01”書き込み処理TS1は、例えば図17に例示されるように、4値の内の一つの状態である消去状態(“11”)に対して、メモリセルMCの閾値電圧を、第3の書き込み状態(“01”)にするための処理であり、書き込みベリファイ電圧としてVWV3を用いる。“01”書き込み処理TS1は、図16に概略的に示されるように、データラッチ回路DLL,DLRにラッチされた2ビットの“01”データに応答してイネーブルレベルの書き込み制御データをセンスラッチ回路SLにラッチさせ(“01”データラッチ)、ラッチされたイネーブルレベルの書き込み制御データによってメモリセルトランジスタに“01”データに応ずる書き込み動作を行い(“01”データ書き込み)、その書き込み動作に対するVWV3による書き込みベリファイを行なう処理(書込みベリファイVWV3)に大別される。
【0069】
前記“00”書き込み処理TS2は、例えば図18に例示されるように、4値の内の一つの状態である消去状態(“11”)に対して、メモリセルMCの閾値電圧を、第2の書き込み状態(“00”)にするための処理であり、書き込みベリファイ電圧としてVWV2を用いる。この“00”書き込み処理TS2は、図16に概略的に示されるように、データラッチ回路DLL,DLRにラッチされた2ビットの“00”データに応答してイネーブルレベルの書き込み制御データをセンスラッチ回路SLにラッチさせ(“00”データラッチ)、ラッチされたイネーブルレベルの書き込み制御データによってメモリセルトランジスタに“00”データに応ずる書き込み動作を行い(“00”データ書き込み)、その書き込み動作に対するVWV2による書き込みベリファイを行なう処理(書込みベリファイVWV2)に大別される。
【0070】
前記“10”書き込み処理TS3は、例えば図19に例示されるように、4値の内の一つの状態である消去状態(“11”)に対して、メモリセルMCの閾値電圧を、第1の書き込み状態(“10”)を得るための処理であり、書き込みベリファイ電圧としてVWV1を用いる。前記“10”書き込み処理TS3は、図16に概略的に示されるように、データラッチ回路DLL,DLRにラッチされた2ビットの“10”データに応答してイネーブルレベルの書き込み制御データをセンスラッチ回路SLにラッチさせ(“10”データラッチ)、ラッチされたイネーブルレベルの書き込み制御データによってメモリセルトランジスタに“10”データに応ずる書き込み動作を行い(“10”データ書き込み)、その書き込み動作に対するVWV1による書き込みベリファイを行なう処理(書込みベリファイVWV1)に大別される。尚、前記書き込みベリファイ電圧は、VWV3>VWV2>VWV1とされる。
【0071】
前記エラティック/ディスターブ検出処理TS4は、図20に例示されるよいうに、消去状態のメモリセルの閾値電圧がVWDSを超えているかを検出するディスターブ検出処理(図16の“11”ワードディスターブ検出VWDS)、そして“10”書き込み処理されたメモリセルトランジスタの閾値電圧がVWE1を超えているか(図16の“10”エラティック検出VWE1)、“00”書き込み処理されたメモリセルトランジスタの閾値電圧がVWE2を超えているか(図16の“00”エラティック検出VWE2)を検出する、エラティック検出処理である。
【0072】
前記エラティック/ディスターブ検出処理TS4までの一連の処理結果が正常であれば、ステータスレジスタ180にパスフラグがセットされ(S5)、一連の書き込み処理が終了(OK)される。前記エラティック/ディスターブ検出処理TS4による検出結果がエラーである場合、エラー回数が規定の回数に達しているかが判定され(S6)、達していなければ、書き込みセクタを消去して(S7)、再度“01”書き込みからやり直しされる。やり直し回数は図示を省略するカウンタ手段に保持されおり、カウンタ手段の計数値によってエラー回数が規定値に到達したかを判定する(S6)。エラー回数が規定値に到達した場合には、ステータスレジスタ180にフェイルフラグがセットされ(S8)、一連の書き込み処理が異常終了(NG)される。
【0073】
図16から明らかなように、再消去を行って再び書き込みを繰り返すとき、書き込みセクタの書き込みデータを再度取り込むことを要しない。前記ステップS3でデータラッチ回路DLL,DLRに一旦ラッチされた1セクタ分の書き込みデータは、前記処理TS1〜TS4を行っても破壊されず、そのままデータラッチ回路DLL,DLRに残っているからである。
【0074】
これは、センスラッチ回路SLに対する前述の書込み制御情報のラッチ動作制御形態に依るものである。即ち、前記センスラッチ回路SLがラッチすべき書込み制御情報は、データラッチ回路DLL,DLRが保持している書込みデータビットを用いた演算を書込み動作毎に行なって生成し、それをセンスラッチ回路SLがラッチする。例えば、図6に例示されるように、データラッチ回路DLL,DLRにラッチされた書込みデータが“01”であったとすると、図7に例示されるように“01”状態は第3の書込み状態である。消去状態の後の3回に分けた書込み動作が、図9の第2の態様(Case2)で行われる場合、第1回目に第1の書込み状態を得るための書込み動作時にデータラッチ回路DLL,DLRの書込みデータ(“01”)を用いて演算された結果は論理値“1”、第2回目に第2の書込み状態を得るための書込み動作時にデータラッチ回路DLL,DLRの書込みデータ(“01”)を用いて演算された結果は論理値“1”、第3回目に第3の書込み状態を得るための書込み動作時にデータラッチ回路DLL,DLRの書込みデータ(“01”)を用いて演算された結果は論理値“0”とされる。そのような演算は、前記スイッチ回路・演算回路を動作させて行なう。したがって、メモリセルトランジスタは、第3回目の書込み時だけ、書込み用の高電界がドレインとコントロールゲートの間に印加され、当該メモリセルには4値の内の第3の書込み状態(“01”)が実現される。
【0075】
このようにして、3回に分けて書込み動作が行なわれたとき、最初にデータラッチ回路DLL,DLRにラッチされた書込みデータは破壊されず、そのまま維持されている。データラッチ回路DLL,DLRにラッチされた2ビットの書込みデータを、書き込み動作毎に演算に用いて毎回センスラッチ回路SLにセットするという、制御シーケンスを採用するからである。エラティック・ディスターブ検出処理においても同様に、データラッチ回路DLL,DLRにラッチされた2ビットの書込みデータを用いて演算した結果を毎回センスラッチ回路SLにセットするという、制御シーケンスを採用するから、このときも、最初にデータラッチ回路DLL,DLRにラッチされた書込みデータは破壊されず、そのまま維持されている。
【0076】
データラッチ回路DLL,DLRにラッチされた2ビットの書込みデータを用いて演算した結果をセンスラッチ回路SLにラッチさせる処理(データラッチ処理)は、TS1〜TS4における現在の処理との関係でその演算手法が相違される。
【0077】
図21は上記データラッチ処理の演算内容の一例を論理的に示したものである。図21における演算内容は、動作選択メモリマット側のセンスラッチデータ(動作選択メモリマット側のセンスラッチ回路SLの入出力ノードデータ)に関するものである。具体的な演算手法については後で詳述するが、多センス方式と、多電源方式を採用することができる。多センス方式は、ビット線プリチャージ電圧を0V、0.5V、1.0Vの3レベルとし、センスラッチ回路SLによる複数回のセンス動作で、目的のデータをセンスラッチ回路SLにラッチさせる動作である。多電源方式は、ビット線プリチャージ電圧を0V、0.5V、1.0V,2.0Vの4レベルとし、センスラッチ回路SLによる一回のセンス動作で、目的のデータをセンスラッチ回路SLにラッチさせる動作である。
【0078】
図21においてA,Bは1個のセンスラッチ回路SLに対応される2ビットの書込みデータであり、Aはデータラッチ回路DLLにラッチされる上位データビット、Bはデータラッチ回路DLRにラッチされる下位データビットである。図21によれば、“01"書き込みデータラッチ処理の場合はデータビットAとBの反転データとの論理和、“00"書き込みデータラッチ処理の場合はデータビットAとBとの論理和、“10"書き込みデータラッチ処理の場合はデータビットAの反転データとBとの論理和であり、“00"エラティック検出データラッチ処理の場合はデータビットAとBの負論理和、“10"エラティック検出データラッチ処理の場合はデータビットAとBの反転データとの論理積、“11"エラティック検出データラッチ処理の場合はデータビットAとBの論理積とされる。
【0079】
図21の演算論理を採用した場合、データビットA,Bの論理値に対する演算結果の論理値は図22に示される通りである。前述のように、センスラッチデータの論理値“0”(ローレベル)が書込み電界印加(書込み選択)を意味する。
【0080】
図23には前記“01”書き込み処理TS1の更に詳細なフローチャートが例示されている。これに従えば、“01”書き込み処理TS1は、前記データラッチ処理S10、“01”書込みバイアス印加処理S11、書込みベリファイ処理S12、オール判定処理S13によって構成される。データラッチ処理S10は対応する2個のデータラッチ回路DLL,DLRに2ビットの書込みデータ“01”がラッチされている場合にはセンスラッチ回路SLに書込みイネーブルビットをラッチさせ、それ以外の書き込みデータの場合には書込みディスエーブルレベルをセンスラッチ回路SLにラッチさせる。“01”書込みバイアス印加処理S11は、センスラッチ回路SLに書き込みイネーブルレベルがラッチされているとき、書込み選択メモリマットにおいて当該イネーブルレベルの入出力ノード側のビット線とコントロールゲートとの間に高電界を印加する処理とされる。処理S12では書き込みベリファイ電圧VWV3によるベリファイ動作を行い、処理S13ではオール判定結果が誤りである否かを判定し、誤りが有る場合には処理S11に戻される。オール判定結果が正常であれば“01”書き込み処理が終了される。前記処理TS2,TS3は、データラッチ処理のための演算手法、書込みバイアス電圧、書込みベリファイ電圧が夫々固有とされ、概略的な処理手順は処理TS1のフローチャートと同じであるから、それら処理の詳細なフローチャートは図示を省略してある。
【0081】
図24には、前記“10”エラティック検出処理の詳細なフローチャートが例示されている。これに従えば、“10”エラティック検出処理は、データラッチ処理S20、エラティックベリファイ処理S21、及びオール判定処理S22によって構成される。データラッチ処理S20は図21及び図22に示される演算内容に従ったラッチ処理を行なう。エラティックベリファイ処理S21は、“10”書き込み処理されたメモリセルトランジスタに対して閾値電圧がVWE1を超えているかのベリファイを行い、処理S22ではオール判定結果が誤りである否かを判定し、誤りが有る場合には前記ステップS6に処理が移行され、オール判定結果が正常であれば“10”エラティック検出処理は終了される。尚、前記エラティック/ディスターブ検出処理TS4のその他の処理は、図24に対してデータッチ処理のための演算手法、ベリファイ電圧が夫々固有とされ、概略的な処理手順は“10”エラティック検出処理と同じであるから、それら処理の詳細なフローチャートは図示を省略してある。
【0082】
《データラッチ処理》
前記ステップS10、S20に代表されるデータラッチ処理の演算処理手法の一例は図25乃至図30に示される。それら図面では、動作選択メモリマットは図の右側のメモリマット(MMR)とされる。また、各図において、ステップ(Step)毎に示された信号若しくはノードに対応して表されている数字は、小数点付き数字が電圧を意味し、小数点無し数字が論理値(ハイレベルは“1”、ローレベルは“0”)を意味する。また、データラッチ回路DDL,DDRに対応して表された括弧付き数字は、括弧外が左側の入出力ノードの論理値、括弧内数字が右側入出力ノードの論理値を意味する。
【0083】
例えば、多センス方式による“01”書込みデータラッチ処理S10の詳細を図25に基づいて詳細に説明する。
【0084】
データラッチ回路DLL,DLRにはデータが既にラッチされているものとする。ラッチされているデータが“01”、“00”、“10”、“11”の4通りの場合について図示されている。ステップ2(Step2)において、先ず、非選択メモリマット側のビット線G−BLLがトランジスタM24Lを介して0.5Vにプリチャージされ(a)、また、データラッチ回路DLRのラッチデータに従ってM26R,M27Rを用いビット線G−BLRが0.0V又は1.0Vにプリチャージされる(b)。
【0085】
ステップ3(Step3)では、前記(a),(b)の結果に従って、センスラッチ回路SLを活性化してセンスラッチ動作させる。これによってセンスラッチ回路SLの左右の入出力ノードSL(L),SL(R)は図の(c),(d)の状態にされる。
【0086】
ステップ4(Step4)では、ビット線G−BLLの電圧は(c)の結果に従って(e)の電圧を採り、また、他方のビット線G−BLRは論理値“0”にクリアされる。
【0087】
ステップ5(Step5)では、データラッチ回路DLLの論理値“1”のラッチデータによってトランジスタM26Lをオン動作させ、トランジスタM27L,M26Lを介して、論理値“1”をラッチするデータラッチ回路DLLに対応されるビット線G−BLLをローレベルに強制する(g)。また、センスラッチ回路SLの双方の入出力ノードSL(L),SL(R)を論理値“0”にクリアする。
【0088】
ステップ6(Step6)では選択メモリマット側のビット線G−BLRを0.5Vにプリチャージする(i)。そしてステップ7(Step7)でセンスラッチ回路SLをセンス動作させると、センスラッチ回路SLの選択メモリマット側の入出力ノードSL(R)若しくはSLRは、データラッチ回路DLL,DLRに“01”がラッチされている場合にだけ、論理値“0”をラッチする(j)。前記書込みデータラッチ処理の動作タイミングの一例は図38に示されている。
【0089】
センスラッチ回路SLにおいて動作選択メモリマット側の入出力ノードのラッチデータが論理値“0”である場合に、当該入出力ノードに接続されるビット線のレベルが0Vにされ、当該ビット線にドレインが接続されたメモリセルトランジスタのドレインとコントロールゲートとの間に書き込み高電界が作用され、メモリセルトランジスタに対する書込み動作が行なわれる。
【0090】
書込み動作における前記書込みバイアス印加処理S11の動作の詳細として、書込みバイアス開始時を示す図31と、書込みバイアス終了時を示す図32がある。即ち、書込み非選択メモリマットのビット線には書込み阻止電圧が導入されている。書込み選択メモリマット側のビット線は、センスラッチ回路SLのラッチデータに応じて、0V又は6Vにされ、ワード線に17Vの様な高電圧が印加されて、メモリセルトランジスタに対する書込みが行なわれる。書込み終了後、ビット線G−BLL,G−BLRはディスチャージされる。書込み動作タイミングの一例は図39に示される。
【0091】
前記書込みバイアス印加後は、前記書込みベリファイ処理S12が行なわれ、例えば、図33に例示されるように、書込み非選択メモリマット側のビット線例えばG−BLLは、参照電圧0.5Vに、書込み選択メモリマット側のビット線例えばG−BLRは1.0Vにプリチャージされる。その後、図34に例示されるように、ベリファイ電圧を用いたワード線選択動作が行なわれる。ワード線選択動作により、閾値電圧がベリファイ電圧よりも低いメモリセルはオン動作され、高いメモリセルはオフ状態にされる。これによるビット線の電位差の変化による状態変化をセンスラッチ回路SLが検出し(図35)、最後に確定データをラッチする(図36)。書込みベリファイの動作タイミングの一例は図40に示される。
【0092】
センスラッチ回路SLが確定データをラッチした後、前記オール判定処理S13が行なわれる。オール判定処理では、書込み動作非選択メモリマット側ビット線のMOSトランジスタ例えばトランジスタM23Lがオン動作するか否かを検出する。一つでも書き込み不良のメモリセルトランジスタが有れば、当該トランジスタが接続するビット線と反対側のビット線はハイレベルになり、トランジスタM23Lがオン状態にされ、電流が流れる(図37参照)。電流が流れる間は、書込み不良であり、前述のように再度メモリセルトランジスタにバイアス印加が行なわれる。オール判定の動作タイミングの一例は図41に示される。
【0093】
尚、図26には多センス方式による“00”書込みデータラッチ処理の詳細が示され、図27には多センス方式による“10”書込みデータラッチ処理の詳細が示され、図28には多センス方式による“00”エラティック検出データラッチ処理の詳細が示され、図29には多センス方式による“10”エラティック検出データラッチ処理の詳細が示され、図30には多センス方式による“11”ディスターブ検出データラッチ処理の詳細が示される。それら処理の具体的な内容は図25のデータラッチ処理と細部では異なるが、プリチャージ及びセンス動作を用いると言う点では共通であり、その内容は、各図より容易に理解可能であるから、詳細な説明は省略する。
【0094】
図42乃至図53には多電源方式の場合におけるデータラッチ処理などの詳細が示される。図42乃至図47も図25乃至図30と同様に、動作選択メモリマットは図の右側のメモリマットとされ、各図において、ステップ(Step)毎に示された信号若しくはノードに対応して表されている数字は、小数点付き数字が電圧を意味し、小数点無し数字が論理値(ハイレベルは“1”、ローレベルは“0”)を意味する。
【0095】
図42を参照しながら、例えば多電源方式による“01”書込みデータラッチ処理について詳述する。データラッチ回路DLL,DLRにはデータが既にラッチされているものとする。ラッチされているデータが“01”、“00”、“10”、“11”の4通りの場合について図示されている。ステップ1(Step1)において、先ず、非選択メモリマット側のビット線G−BLLがトランジスタM24Lを介して1.0Vにプリチャージされ(a)、選択メモリマット側のビット線G−BLRがトランジスタM24Rを介して2.0Vにプリチャージされる(b)。
【0096】
ステップ2(Step2)では、データラッチ回路DLLの論理値“1”のラッチデータによってトランジスタM26Lをオン動作させ、トランジスタM27L,M26Lを介して、論理値“1”をラッチするデータラッチ回路DLLに対応されるビット線G−BLLをローレベルに強制する(c)。同様に、データラッチ回路DLRの論理値“1”のラッチデータによってトランジスタM26Rをオン動作させ、トランジスタM27R,M26Rを介して、論理値“1”をラッチするデータラッチ回路DLRに対応されるビット線G−BLRをローレベルに強制する(d)。
【0097】
ステップ3(Steps)では、0.0Vのビット線G−BLRを0.5Vにプリチャージする(e)。そしてステップ(Step4)でセンスラッチ回路SLをセンス動作させると、センスラッチ回路SLの選択メモリマット側の入出力ノードSL(R)若しくはSLRは、データラッチ回路DLL,DLRに“01”がラッチされている場合にだけ、論理値“0”をラッチする(f)。前記“01”書込みデータラッチ処理の動作タイミングの一例は図48に示される。センスラッチ回路SLにおいて動作選択メモリマット側の入出力ノードのラッチデータが論理値“0”である場合に、当該入出力ノードに接続されるビット線のレベルが0Vにされ、当該ビット線にドレインが接続されたメモリセルトランジスタのドレインとコントロールゲートとの間に書き込み高電界が作用され、メモリセルトランジスタに対する書込み動作が行なわれる。
【0098】
尚、図43には多電源方式による“00”書込みデータラッチ処理の詳細が示され、図49にはその動作波形の一例が示される。図44には多電源方式による“10”書込みデータラッチ処理の詳細が示され、図50にはその動作波形の一例が示される。図45には多電源方式による“00”エラティック検出データラッチ処理の詳細が示され、図51にはその動作波形の一例が示される。図46には多電源方式による“10”エラティック検出データラッチ処理の詳細が示され、図52にはその動作波形の一例が示される。図47には多電源方式による“11”ディスターブ検出データラッチ処理の詳細が示され、図53にはその動作波形の一例が示される。それら処理の具体的な内容は図42のデータラッチ処理と細部では異なるが、プリチャージ及びセンス動作を用いると言う点では共通であり、その内容は、各図より容易に理解可能であるから、詳細な説明は省略する。
【0099】
図54には以上説明したフラッシュメモリの動作態様毎の各種電圧条件がまとめて図示されている。図54において、“11”データの読み出しワード線電圧は2.4V、“10”データの読み出しワード線電圧は3.2V、“00”データの読み出しワード線電圧は4.0Vである。“10”データ書込みワード線電圧は15.1V、“00”データ書込みワード線電圧は15.8V、“01”データ書込みワード線電圧は17.0Vである。“10”データベリファイワード線電圧は2.8V、“00”データベリファイワード線電圧は3.6V、“01”データベリファイワード線電圧は4.5Vである。“11”ワードディスターブ検出電圧は2.1V、“10”ワードディスターブ検出電圧は3.1V、“00”ワードディスターブ検出電圧は3.9Vである。
【0100】
《リトライ機能&リカバリ機能》
上述のフラッシュメモリ1は、図16のフローチャートからも明らかなように、書き込み異常が生じても、その時の書込みデータはデータラッチ回路DLL,DLRに保存されている。フラッシュメモリ1は、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路DLL,DLRが保持している書込みデータの書込み動作を行なうことができる。即ち、図55に例示されるように、フラッシュメモリ1は、リトライ書込みコマンド(10H)を入力すると(S30)、次にセクタアドレスを入力し(S31,S32)、入力したセクタアドレス(ワード線アドレス)に、既にデータラッチDLL,DLRにラッチされている書込みデータを書き込む動作をフラッシュメモリ内部で行なう(S33)。
【0101】
また、上記フラッシュメモリ1は、書き込み動作の異常終了後の再書き込みとして、別のフラッシュメモリに再書き込みする処理の容易化を考慮してある。すなわち、フラッシュメモリ1は、図56に例示されるように、書込み動作の異常終了の後、リカバリ読み出しコマンド(01H)の供給を受け付けたとき(S40)、データラッチ回路DLL,DLRが保持している書込みデータを、前記出力バッファ15、マルチプレクサ7を介して入出力端子I/O0〜I/O7に出力することができる(S41)。
【0102】
図57には前記リトライ及びリカバリ機能を有するフラッシュメモリにおける内部動作の遷移状態が示される。電源投入によってディープスタンバイ状態(Deep standby)とされ、リセット信号のネゲートによってスタンバイ状態(Standby)にされる。スタンバイ状態からチップ選択状態にされると出力不可能状態(Output disable)とされ、コマンド入力に応じた動作が可能にされる。コマンド入力に応じた動作は、読み出し(Read setup)、セクタ消去(Sector Erase setup)、書込み(Program setup)などに大別される。消去又は書込みでエラーを生じたとき、リカバリー読み出しコマンド(Recovery Read setup)、リトライ書込みコマンド(Retry Program setup)を受け付け可能にされる。
【0103】
図58には前記フラッシュメモリ1を用いたメモリカードの一例が示される。同図に示されるメモリカード200は、ローカルメモリ201、メモリコントローラ202、バッファメモリ203及び外部インタフェース回路204がカード基板に実装されて構成される。ローカルメモリ200には前記フラッシュメモリ1が多数実装されている。メモリコントローラ202は、フラッシュメモリ1及びバッファメモリ203のアクセス制御信号を生成する制御信号コントローラ210、フラッシュメモリ1及びバッファメモリ203に対するチップ選択制御を行なうアドレスコントローラ211、及びフラッシュメモリ1及びバッファメモリ203に対するデータ、コマンド及びアドレスインタフェース制御を行なうデータI/Oコントローラ212を有する。外部インタフェース回路204は例えばPCカードインタフェースに準拠する構成を有する。
【0104】
図59には前記フラッシュメモリ1を用いたデータ処理システムの一例が示される。図58との相違点は、CPU若しくはマイクロプロセッサ230が接続されるコントロールバスCBUS、アドレスバスABUS及びデータバスDBUSに、ROM231やRAM232と同じように、一つの周辺回路として前記メモリコントローラ202が配置されていることである。
【0105】
フラッシュメモリ1が前記リトライ機能を有することにより、当該フラッシュメモリ1をアクセス制御するメモリコントローラ210若しくはマイクロプロセッサ230は、書き込み動作の異常終了を生じたフラッシュメモリに対して書き込みアドレス若しくはセクタアドレスを変更して再書き込みを容易に行なうことができる。
【0106】
また、このリカバリ機能により、複数のフラッシュメモリによって構成されるメモリカードのメモリコントローラ若しくはメモリカードをアクセス制御する制御装置は、書き込みデータを自らストアしておかなくても、書き込み動作の異常終了を生じたフラッシュメモリとは別のフラッシュラッシュメモリに対して再書き込みを容易に行なうことができる。
【0107】
図60には前記リトライ及びリカバリ機能の概念図が示される。例えば、(A)のように、メモリコントローラ202の制御で、バッファメモリ203からフラッシュメモリ1に書き込みデータ及びセクタアドレスが供給され、これによってフラッシュメモリ1は、供給されたセクタアドレスにデータを書き込む動作を行なう。その書込み動作にエラーが発生したとき、フラッシュメモリ1はコントロールレジスタ180にエラーフラグを立てる。(B)のように、エラーフラグはメモリコントローラ202を介して前記マイクロプロセッサ230などに伝達される。その結果、(C)のように、メモリコントローラ202からフラッシュメモリ1にリカバリリードコマンドが出力されると、フラッシュメモリ1は、(D)のようにデータラッチ回路DLL,DLRにラッチされている書込みデータを出力する。また、(E)のように、メモリコントローラ202がリトライ書込みコマンドとセクタアドレスをフラッシュメモリ1に与えると、(F)のように、フラッシュメモリ1は、既にデータラッチ回路DLL,DLRにラッチされている書込みデータを、新たに指定されたセクタアドレスに書き込む動作を行なう。
【0108】
《書き換え機能》
書き換え動作は、消去コマンドによって消去を行なった後、書き込みコマンドにより書き込みを行なうことによって実現できる。図3に従えば、消去コマンドを実行してから、書込みコマンドを実行する。フラッシュメモリ1は、そのような書き換え処理を単一のコマンド、即ち書き換えコマンドで実現することができる。
【0109】
図61には書き換えコマンドにより処理の一例が示される。すなわち、書き換え第1コマンドが供給されると(S60)、書き換え対象とすべきセクタアドレスを取り込み(S61)、取り込んだセクタアドレスのデータをデータラッチ回路DLL,DLRに読み出し(S62)、その後に書込みデータをデータラッチ回路DLL,DLRに取り込み(S63)、書き換え第2コマンドが供給された後(S64)、前記書き換えセクタアドレスで指定されたセクタの消去を行ない(S65)、次いで、前記データラッチ回路DLL,DLRに保持されているデータで指定セクタの書込み動作を行なう(S66)。指定セクタの書込み動作は図16で説明した動作と同じである。この書き換えコマンドにより、セクタ全データの書き換えを単一のコマンドで実現できる。
【0110】
また、セクタの一部に対するデータ書き換えを単一のコマンドで実現することも可能である。すなわち、図62に例示されるように、書き換え第1コマンドが供給されると(S70)、書き換え対象とすべきセクタアドレスを取り込み(S71)、取り込んだセクタアドレスのメモリセルからデータをデータラッチ回路DLL,DLRに退避し(S72)、その後、セクタの先頭YアドレスYA(0)から連続して必要なYアドレスYA(k)までのデータをデータラッチ回路に取り込み(S73)、更に、必要に応じ、k<mとなるYアドレスYA(m)を取り込み(S74)、取り込んだYアドレスYA(m)から連続して必要なYアドレスYA(m+1)までのデータをデータラッチ回路に取り込む(S75)。書き換え第2コマンドが供給されると(S76)、前記書き換えアドレスで指定されたセクタの消去を行ない、次いで、データラッチ回路DLL,DLRのラッチデータに基づいて指定セクタの書込み動作を行なう(S78)。指定セクタの書込み動作は図16で説明した動作と同じである。
【0111】
また、セクタの一部に対するデータ書き換え処理は図63のように実現することも可能である。すなわち、書き換え第1コマンドが供給されると(S80)、書き換え対象とすべきセクタアドレスを取り込み(S81)、取り込んだセクタアドレスのメモリセルからデータをデータラッチ回路DLL,DLRに退避する(S82)。その後、セクタの先頭YアドレスYA(m)を取り込み(S83)、先頭YアドレスYA(m)から連続して必要なYアドレスYA(m+k)までのデータをデータラッチ回路に取り込む(S84)。更に、必要に応じ、m+k<nとなるYアドレスYA(n)を取り込み(S85)、取り込んだYアドレスYA(n)から連続して必要なYアドレスYA(n+1)までのデータをデータラッチ回路に取り込む(S86)。前記ステップS85及びS86の処理は必要に応じた回数繰り返すことができる。そして、書き換え第2コマンドが供給されると(S87)、前記書き換えアドレスで指定されたセクタの消去を行ない(S88)、次いで、データラッチ回路DLL,DLRのラッチデータに基づいて指定セクタの書込み動作を行なう(S89)。指定セクタの書込み動作は図16で説明した動作と同じである。
【0112】
《部分消去機能》
フラッシュメモリ1をファイルメモリ等に利用する場合、セクタには管理領域を割り当て、残りの部分をユーザ領域として開放することができる。管理領域には例えば書き換え回数やセクタの良/不良の情報などが格納され、ユーザによるセクタ単位での消去において、自動的に管理領域を消去対象外にするコマンドをサポートすることが、フラッシュメモリ1、更にはファイルメモリの使い勝手を良好にする。この観点に立って、フラッシュメモリ1は、前記部分消去コマンドをサポートする。すなわち、部分消去機能を示す図64において、部分消去第1コマンドが供給されると(S90)、セクタアドレスを取り込み(S91)、次いで部分消去第2コマンドが供給されると(S92)、セクタアドレスで指定されるセクタ中の一定領域(例えば管理領域)に対応されるデータラッチ回路DLL,DLRには当該一定領域のデータを退避すると共に、その他の領域に対応されるデータラッチ回路DLL,DLRには消去状態を指示するデータをセットする(S93)。結果的に、指定セクタの管理領域に応ずるデータラッチ回路DLL,DLRには読み出したデータが退避され、当該セクタの他の領域に応ずるデータラッチ回路DLL,DLRには消去状態に応ずる“11”データがセットされる。そして、前記セクタアドレスで指定されたセクタに対する消去を行なってから、前記データラッチ回路DLL,DLRに設定されたデータに従って書込み動作を行なう(S94)。指定セクタの書込み動作は図16で説明した動作と同じである。
【0113】
図65及び図66には前記ステップS93の“指定セクタデータ読み出し”動作の詳細な一例を全体として示すものであり、図66の処理は図65の処理に続く。図65及び図66において、“1”は対応ノードの電位が高い場合を意味し、“0”は対応ノードの電位が低い場合を意味する。また、図65及び図66は右側メモリマットが動作選択メモリマットとされる場合を想定している。図67には指定セクタデータ読み出しに用いるワード線選択レベルVRW1,VRW2,VRW3と閾値電圧分布との関係を示す。
【0114】
図65のステップ1(Step1)では、ワード線レベルをVRW1とし、指定セクタのメモリセルのデータを読み出して、センスラッチ回路SLにラッチさせる。ステップ2(Step2)では、センスララッチ回路SLの右側ノードのデータをデータラッチ回路DLRに内部転送する。ステップ3(Step3)では、ワード線レベルをVRW2とし、指定セクタのメモリセルのデータを読み出して、センスラッチ回路SLにラッチさせる。そして、ステップ3.5(Step3.5)において、Yアドレスデコーダで選択された管理領域以外のセンスラッチ回路SLの右側入出力ノードにデータ“0”をセットする。そして、ステップ4(Step4)において、センスラッチ回路SLの左側ノードのデータをデータラッチ回路DLLに内部転送する。これにより、データラッチ回路DLLには所要一部の読み出しデータだけが退避されることになる。
【0115】
ステップ5(Step5)では、ワード線レベルをVRW3とし、指定セクタのメモリセルのデータを読み出して、センスラッチ回路SLにラッチさせる。そして、ステップ5.5(Step5.5)において、Yアドレスデコーダで選択された管理領域以外のセンスラッチ回路SLの右側入出力ノードにデータ“1”をセットする。そして、ステップ6(Step6)において、データラッチDLRのラッチデータをトランジスタM28Rを通してビット線G−BLRに内部転送する。そして、ステップ7(Step7)において、その右側入出力ノードSLRに“1”データが設定されているセンスラッチ回路SLに対応する右側ビット線G−BLRをローレベルに制御し、ステップ8(Step8)で、センスラッチ回路SLからデータラッチ回路DLRにデータを転送する。これにより、管理領域のデータラッチ回路DLL,DLRには、指定セクタの読み出しデータの4値の情報が格納され、指定セクタの他の領域(メモリ領域)に応ずるデータラッチ回路DLL,DLRには消去状態を指示すデータが格納される。
【0116】
以上説明したフラッシュメモリ、メモリカード、データ処理システムによれば、以下の作用効果を得ることができる。
【0117】
〔1〕外部から与えられる書込みデータをデータラッチ回路DLL,DLRにラッチし、ラッチした書込みデータが多値のどの閾値に対応するかは複数段階の書込み動作毎に判定してその判定結果である書込み情報をセンスラッチ回路SLにラッチさせ、センスラッチSLにラッチされた書込み情報に従って、多値の閾値電圧をメモリセルに設定するための書込み動作を段階的に行なう。よって、書き込み動作が終了しても、データラッチ回路DLL,DLRには、当初外部から供給された書込みデータが残っている。したがって、前記ワードディスターブ検出若しくはエラティック検出の結果により、メモリセルMCに対する多値情報の書込み動作を再度行なう場合にも書込みデータを再度外部から受け取ることを要しない。
【0118】
〔2〕書き込み異常が生じても、その時の書込みデータはフラッシュメモリ内部のデータラッチ回路DLL,DLRに保存されているから、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路が保持している書込みデータを書込み制御させることができる。フラッシュメモリがそのようなリトライ機能を有することにより、当該フラッシュメモリをアクセス制御するメモリコントローラは、書き込み動作の異常終了を生じた半導体装置に対して書き込みアドレス若しくはセクタアドレスを変更して再書き込みを容易に行なうことができる。
【0119】
〔3〕フラッシュメモリは、書込み動作の異常終了の後、リカバリ読み出しコマンドの供給を受け付けたとき、データラッチ回路DLL,DLRが保持している書込みデータを外部に出力する。このリカバリ機能により、複数の半導体装置によって構成されるメモリカードのメモリコントローラ若しくはメモリカードをアクセス制御する制御装置は、書き込み動作の異常終了を生じたフラッシュメモリとは別のフラッシュメモリに対して同一データを容易に再書き込みすることができる。
【0120】
〔4〕書き換え第1コマンドが供給されると書き換えアドレスを取り込むと共に、書込みデータをデータラッチ回路に取り込み、書き換え第2コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、データラッチ回路に保持されているデータに基づいて書込み動作を制御する。これによりセクタ全データ書き換えを単一のコマンドで実現できる。
【0121】
〔5〕部分消去コマンドをサポートすることにより、セクタの管理領域などを自動的に消去対象から外すことができる。
【0122】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0123】
例えば、1個のメモリセルが保有する情報は4値に限定されず、それ以上であってもよい。例えば8値とする場合、ビット線に接続されるデータラッチ回路の数を更に増やせばよい。また、データラッチ処理の演算手法は上記の説明に限定されず、適宜変更可能である。また、メモリマットの数、書込み電圧条件、消去電圧条件、ベリファイ電圧条件なども適宜変更可能である。また、消去状態と書き込み状態は上述の説明とは逆に定義することも可能である。また、本発明に係る半導体装置はフラッシュメモリのようなメモリチップに限定されず、フラッシュメモリ内蔵マイクロコンピュータなどのデータ処理用若しくは論理動作用の半導体装置にも広く適用することができる。また、本発明はEEPROMにも適用可能である。
【0124】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0125】
すなわち、個々のメモリセルに多値の情報を書き込むため外部からデータラッチ回路に供給された書込みデータが書込み動作によっても失われることはない。したがって、書き込み動作が終了しても、データラッチ回路には、当初外部から供給された書込みデータが残っているから、ワードディスターブ検出若しくはエラティック検出の結果により、メモリセルに対する多値情報の書込み動作を再度行なう場合にも書込みデータを再度外部から受け取ることを要しない。
【0126】
また、メモリセルに対する多値情報の書込み動作を再度行なう場合に書込みデータを再度外部から受け取ることを要しない。
【0127】
書込み動作の異常終了時に、内部で保持されている当該異常終了に係る書込みデータを別のメモリアドレスを指定して再書込み可能である。
【0128】
書込み動作の異常終了時に当該異常終了に係る書込みデータを外部に出力可能である。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るところの、一つのメモリセルに2ビットの情報を書き込むことができ、かつその情報を読み出すことができるフラッシュメモリ1の全体的なブロック図である。
【図2】メモリセルトランジスタの一例を示すデバイス説明図である。
【図3】フラッシュメモリのコマンドの一例を示す説明図である。
【図4】ステータスレジスタの各ビット内容と入出力端子I/O0〜I/O7との対応の一例を示す説明図である。
【図5】メモリアレイに含まれるデータラッチ回路、ビット線及びセンスラッチ回路の接続関係の一例を示す説明図である。
【図6】データラッチ回路と入出力端子I/O4,I/O0との対応関係の一例を示す説明図である。
【図7】 4値のデータと閾値電圧との関係を閾値電圧分布図で示す説明図である。
【図8】セクタ一括消去と書込みの電圧条件の一例を示す説明図である。
【図9】 4値書込み処理における種々の書き込み態様を例示的に示す説明図である。
【図10】フラッシュメモリにおけるセンスラッチ回路及びデータラッチ回路を中心とする構成の一例を示す回路図である。
【図11】AND型メモリマットの一例回路図である。
【図12】NOR型メモリマットの一例回路図である。
【図13】DiNOR型メモリマットの一例回路図である。
【図14】NAND型メモリマットの一例回路図である。
【図15】HiCR型メモリマットの一例回路図である。
【図16】第1コマンド(1FH)及び第2コマンド(40H)によって指定される書き込み動作の一例フローチャートである。
【図17】“01”書き込み処理TS1の概略説明図である。
【図18】“00”書き込み処理TS2の概略説明図である。
【図19】“10”書き込み処理TS3の概略説明図である。
【図20】エラティック/ディスターブ検出処理TS4の概略説明図である。
【図21】データラッチ処理の演算内容の一例を論理的に示した説明図である。
【図22】図21の演算論理を採用した場合データビットA,Bの論理値に対する演算結果の論理値を示す説明図である。
【図23】“01”書き込み処理TS1の更に詳細な一例を示すフローチャートである。
【図24】“10”エラティック検出処理の詳細ない値例を示すフローチャートである。
【図25】多センス方式による“01”書込みデータラッチ処理の一例を示す説明図である。
【図26】多センス方式による“00”書込みデータラッチ処理の一例を示す説明図である。
【図27】多センス方式による“10”書込みデータラッチ処理の一例を示す説明図である。
【図28】多センス方式による“00”エラティック検出データラッチ処理の一例を示す説明図である。
【図29】多センス方式による“10”エラティック検出データラッチ処理の一例を示す説明図である。
【図30】多センス方式による“11”ディスターブ検出データラッチ処理の一例を示す説明図である。
【図31】書込み動作における書込みバイアス印加処理S11の最初の動作の詳細を示す説明図である。
【図32】書込み動作における書込みバイアス印加処理S11の最後の動作の詳細を示す説明図である。
【図33】VWV3ベリファイ処理におけるビット線プリチャージ動作の詳細を示す説明図である。
【図34】VWV3ベリファイ処理におけるメモリディスチャージ動作の詳細を示す説明図である。
【図35】VWV3ベリファイ処理におけるセンスラッチのためのプリチャージ動作の詳細を示す説明図である。
【図36】VWV3ベリファイ処理におけるセンスラッチ動作の詳細を示す説明図である。
【図37】VWV3ベリファイ処理におけるオール判定動作の詳細を示す説明図である。
【図38】前記書込みデータラッチ処理の動作タイミングの一例を示すタイミング図である。
【図39】書込み動作タイミングの一例を示すタイミング図である。
【図40】書込みベリファイの動作タイミングの一例を示すタイミング図である。
【図41】オール判定動作タイミングの一例を示すタイミング図である。
【図42】多電源方式による“01”書込みデータラッチ処理の説明図である。
【図43】多電源方式による“00”書込みデータラッチ処理の説明図である。
【図44】多電源方式による“10”書込みデータラッチ処理の説明図である。
【図45】多電源方式による“00”エラティック検出データラッチ処理の説明図である。
【図46】多電源方式による“10”エラティック検出データラッチ処理の説明図である。
【図47】多電源方式による“11”ディスターブ検出データラッチ処理の説明図である。
【図48】多電源方式による“01”書込みデータラッチ処理の動作波形図である。
【図49】多電源方式による“00”書込みデータラッチ処理の動作波形図である。
【図50】多電源方式による“10”書込みデータラッチ処理の動作波形図である。
【図51】多電源方式による“00”エラティック検出データラッチ処理の動作波形図である。
【図52】多電源方式による“10”エラティック検出データラッチ処理の動作波形図である。
【図53】多電源方式による“11”ディスターブ検出データラッチ処理の動作波形図である。
【図54】フラッシュメモリの動作態様毎の各種電圧条件を纏めて示した動作説明図である。
【図55】リトライ書込み機能の一例を示すフローチャートである。
【図56】リカバリ機能の一例を示すフローチャートである。
【図57】リトライ及びリカバリ機能を有するフラッシュメモリにおける内部動作の状態遷移図である。
【図58】フラッシュメモリを用いたメモリカードの一例を示しブロック図である。
【図59】フラッシュメモリを用いたデータ処理システムの一例を示すブロック図である。
【図60】リトライ及びリカバリ機能の概念説明図である。
【図61】書き換えコマンドによる処理の一例を示すフローチャートである。
【図62】セクタの一部に対するデータ書き換えを実現するための書き換えコマンドによる処理の一例を示すフローチャートである。
【図63】セクタの一部に対するデータ書き換えを実現するための書き換えコマンドによる処理の他の例を示すフローチャートである。
【図64】部分消去機能の一例を示すフローチャートである。
【図65】図64の指定セクタデータ読み出し動作の前半の詳細を示す説明図である。
【図66】図64の指定セクタデータ読み出し動作の後半の詳細を示す説明図である。
【図67】指定セクタデータ読み出しに用いるワード線選択レベルと閾値電圧分布との関係を示す説明図である。
【符号の説明】
1 フラッシュメモリ
3 メモリアレイ
16 データ制御回路
18 モード制御回路
I/O0〜I/O7 入出力端子
DLL,DLR データラッチ回路
DLLA,DLRA データラッチ回路アレイ
MML,MMR メモリマット
SL センスラッチ回路
SLA センスラッチ回路アレイ
30L,30R スイッチ回路・演算回路
31L,31R スイッチ回路・演算回路
MC メモリセル
G−BLL,G−BLR ビット線
200 メモリカード
201 ローカルメモリ
202 メモリコントローラ
203 バッファメモリ
204 インタフェース回路
230 マイクロプロセッサ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a semiconductor device having a nonvolatile memory element capable of storing at least four-value information (information of two bits) in one memory cell, for example, an electrically rewritable nonvolatile semiconductor memory such as a flash memory. More particularly, the present invention relates to a technology that is effective when applied to a data processing system such as a file memory system using the nonvolatile semiconductor memory device.
[0002]
[Prior art]
2. Description of the Related Art Non-volatile semiconductor memory devices such as flash memories that can store information by injecting electrons into or extracting electrons from floating gates have been provided. The flash memory has a memory cell transistor having a floating gate (floating gate), a control gate, a source and a drain. In this memory cell transistor, the threshold voltage increases when electrons are injected into the floating gate, and the threshold voltage decreases when electrons are extracted from the floating gate. The memory cell transistor stores information corresponding to the level of the threshold voltage with respect to the word line voltage (control gate applied voltage) for reading data. Although not particularly limited, in this specification, a state in which the threshold voltage of the memory cell transistor is low is referred to as an erased state, and a state in which the threshold voltage is high is referred to as a written state.
[0003]
As such a flash memory, there is one that stores information of four or more values in one memory cell transistor. Nikkei Microdevices (November 1994) pages 48 and 49 are examples of documents describing such multilevel memories. Furthermore, there is JP-A-9-297996.
[0004]
[Problems to be solved by the invention]
In a multi-level memory, for example, if one state can be selected from an erase state and first to third write states each having a different threshold voltage with respect to the erase state, one memory is selected. Four-value information can be stored in the cell transistor. If the erase operation is performed before the write operation, quaternary information can be obtained by determining whether all of the first to third write states are unselected or which write state is selected. Can memorize. In the write operation for that purpose, write control information for determining whether or not to select the write operation for individually obtaining the first to third write states is required. In order to hold such write control information, a sense latch circuit and a data latch circuit provided in each bit line can be used.
[0005]
The sense launch circuit comprises, for example, a static latch. One end of each bit line is connected to a pair of input / output terminals of the sense latch, and the drain of the memory cell transistor is connected to each bit line. Further, a data latch circuit is connected to the other end of each bit line. The sense latch circuit senses a state in which a current flows or does not flow between a source and a drain when a read voltage or a verify voltage is applied to the control gate of the memory cell transistor. At this time, one operation unselected bit line of the sense latch circuit is precharged to the reference level. In addition, when writing with a high potential difference between the control gate and the drain, the memory cell is distinguished from write selection and write non-selection by increasing or decreasing the drain voltage for each memory cell. In this case, the sense latch circuit latches data corresponding to write selection / non-selection. This latch data is the write control information.
[0006]
Such write control information is generated via a data conversion circuit for every two bits of write data supplied from the outside, and a bit line pair sharing the sense latch circuit with the sense latch circuit of the bit line selected for writing. Are latched by each data latch circuit. When a write operation is performed in units of word lines, write control information is latched in advance in the sense latch circuit and the data latch circuit for all bit lines sharing the word line.
[0007]
In the write operation, first, the presence / absence of the first write state is determined according to the write control information latched in the sense latch circuit, and then, according to the write control information internally transferred from one data latch circuit to the sense latch circuit. The presence / absence of the second write state is determined, and the presence / absence of the third write state is determined in accordance with the write control information internally transferred from the other data latch circuit to the sense latch circuit. In this way, quaternary information specified by 2-bit data can be stored in one memory cell. In the write operation to the first to third write states, a verify operation is performed to check whether the threshold voltage assigned to each write state has been reached.
[0008]
At this time, some of the memory cells are overwritten with respect to the first to third write states, and in this case, the threshold voltages in the previous and next write states can be distinguished. For example, the threshold voltage of the memory cell that should be in the first write state may be so high that it cannot be distinguished from the threshold voltage in the second write state. In such a case, in order to restart the write operation from the beginning, the erase operation is performed on the memory cell to be written, and then the write operation is performed again.
[0009]
However, once the write operation to the first to third write states is performed, the write control information first latched in the sense latch circuit is overwritten by another write control information internally transferred from the data latch circuit and lost. It has been done. For this reason, in order to perform a rewrite operation caused by overwriting, the same write data must be received from the outside again. For this purpose, the control circuit for controlling the access to the flash memory must keep the write data in the work memory for a while after the write operation to the flash memory. It has been clarified by the present inventor that the load increases and causes a reduction in flash memory access or data processing efficiency.
[0010]
Further, when the write operation itself is finally defective, such as a rewrite operation failure caused by overwriting, the write data at that time is stored in another storage area of the flash memory or in another flash memory. It is assumed that At this time, similarly to the above, the flash memory related to the write failure no longer holds the write data at that time. Therefore, even in this case, the control circuit for controlling access to the flash memory must keep the write data in the work memory for a while after the write operation to the flash memory. Or, the data processing efficiency is reduced.
[0011]
An object of the present invention is to provide a semiconductor device in which write data supplied from the outside to a data latch circuit for writing multi-value information in each memory cell is not lost by a write operation.
[0012]
Another object of the present invention is to provide a semiconductor device that does not need to receive write data from the outside again when a multi-value information write operation to a memory cell is performed again.
[0013]
Still another object of the present invention is to provide a semiconductor device capable of rewriting write data relating to the abnormal end held internally by designating another memory address when the write operation ends abnormally. .
[0014]
Another object of the present invention is to provide a semiconductor device capable of outputting write data relating to the abnormal end to the outside when the write operation ends abnormally.
[0015]
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
[0016]
[Means for Solving the Problems]
The following is a brief description of an outline of typical inventions disclosed in the present application.
[0017]
[1] The present invention according to the first aspect is a process performed in association with a write operation in a semiconductor device capable of storing multi-value information in one electrically erasable and programmable non-volatile memory cell. When an over-write state of a memory cell is detected by a write detection operation (word disturb detection or erotic detection), the write data required for the write operation is stored internally even when re-erasing and starting the write operation again from the beginning. It is possible to guarantee that it is stored in.
[0018]
That is, a semiconductor device includes a sense latch circuit having a pair of input / output terminals, bit lines provided separately corresponding to the respective input / output terminals of the sense latch circuit, and an electrical connection selectively connected to the bit lines. A plurality of nonvolatile memory cells erasable and writable, a data latch circuit coupled to each bit line, input / output means for allowing the data latch circuit to interface with the outside, and data reading from the memory cell And control means for controlling erasing and writing. The control means holds write data from the outside in the data latch circuit, and thresholds a nonvolatile memory cell selected to be connected to the bit line based on the plurality of bits of write data held in the data latch circuit. Write control information for determining which state has a different voltage is generated for each write operation and is latched by the sense latch circuit.
[0019]
According to the above means, the write data given from the outside is latched in the data latch circuit, and the threshold value of the multi-value corresponding to the latched write data is determined for each of the multi-stage write operations, and the determination result is obtained. Write control information is latched in the sense latch circuit, and a write operation for setting a multi-level threshold voltage in the memory cell is performed stepwise in accordance with the write control information latched in the sense latch circuit. Therefore, even after the write operation is completed, the write data originally supplied from the outside remains in the data latch circuit. Therefore, it is not necessary to receive the write data from the outside again even when the multi-value information write operation to the memory cell is performed again according to the result of the word disturb detection or the elastic detection.
[0020]
The following method can be employed for overwriting detection. That is, the control means further determines whether or not the threshold voltage to be set in the memory cell is a threshold voltage corresponding to the threshold voltage to be overwritten detection for each verify read operation for overwriting detection. When the latch data of the data latch circuit is calculated and determined, the determination result is latched by the sense latch circuit, and the determination result data latched by the sense latch circuit is the corresponding threshold voltage Bit line precharge is performed, and overwriting is detected based on whether or not the bit line precharge state is changed by the verify read operation.
[0021]
When the overwriting is detected, the control means can re-execute writing after re-erasing.
[0022]
[2] In the invention according to the second aspect focusing on the more specific means of the arithmetic control according to the first aspect for causing the sense latch circuit to latch write information, the erase states having different threshold voltages, A semiconductor device is assumed in which four-value information can be stored in one memory cell by controlling to a writing state, a second writing state, or a third writing state. At this time, the control means holds the external write data in the data latch circuit, and the 2-bit write data held in the two data latch circuits connected to the pair of bit lines sharing the sense latch circuit A program that determines whether the nonvolatile memory cell selected to be connected to the bit line is in the erased state, the first written state, the second written state, or the third written state in units of Information is calculated and latched by the sense latch circuit for each write operation, and the first to third write states are controlled in accordance with the latched write information.
[0023]
More specifically, the control means sets the first logical value when the sense latch circuit latches the write control information having the output data on the memory cell connection selection bit line side as the first logical value. A memory cell connected to the bit line to be written is operated for writing. The calculation of the write control information by the control means includes the first write data bit latched in the data latch circuit on one memory cell connection selection bit line side sharing the sense latch circuit and the other memory cell connection non-selection bit. A logical sum of the logically inverted data of the first write data bit and the second write data bit with respect to the second write data bit latched in the data latch circuit on the line side, the first write data A bit line pre-determined based on the latch data of the data latch circuit, the logical sum of the bit and the second write data bit, and the logical sum of the first write data bit and the logical inverted data of the second write data bit. This is an operation based on the charge operation and the sense operation by the sense latch circuit. The control means causes the sense latch circuit to latch the logical sum sequentially obtained by the calculation for each write operation, and the memory of the memory cell connection selection bit line in which the latched logical sum becomes the first logical value. Write the cell.
[0024]
A more specific example of the means for overwriting determination according to the above can be as follows. The control means further has a threshold voltage to be set in the memory cell for each verify read operation for overwriting detection caused by the writing operation, corresponding to a threshold voltage to be overwritten detection target. Whether the latch data of the data latch circuit is calculated or not, the determination result is latched by the sense latch circuit, and the determination result data latched by the sense latch circuit is the corresponding threshold voltage. In this case, bit line precharge is performed, and overwriting is detected based on whether or not the bit line precharge state is changed by the verify read operation. The operation for the determination by the control means includes the first write data bit latched in the data latch circuit on one memory cell connection selection bit line side sharing the sense latch circuit and the other memory cell connection non-selection bit. A negative OR of the first write data bit and the second write data bit, the first write data bit, and the second write data bit latched in the data latch on the line side The logical product of the second write data bit with the logically inverted data and the logical product of the first write data bit and the second write data bit are converted into the bit line precharge operation and sense by the latch data of the data latch circuit. The operation is based on the sense operation by the latch circuit. The control means causes the sense latch circuit to latch the negative logical sum and the logical product obtained sequentially by the calculation as the determination result data for each overwrite detection operation, and the sense latch circuit selects the memory cell connection selection bit. When the determination result data in which the output data on the line side is the second logic value is latched, the memory cell connection selection bit line is precharged via the precharge circuit.
[0025]
[3] Even if a write error occurs from the above means, the write data at that time is stored in the semiconductor device. Focusing on this, when the control circuit accepts the supply of the retry write command after the abnormal end of the write operation, the write data already held by the data latch circuit at the address supplied with the command is received. Can be controlled to write. Since the semiconductor device has such a retry function, the memory controller or the control device that controls the access of the semiconductor device changes the write address or sector address of the semiconductor device in which the write operation has ended abnormally and re-executes. Writing can be performed easily.
[0026]
Further, it can be considered that the rewrite target can be changed to another semiconductor device after the abnormal end of the write operation. In this case, the control circuit outputs the write data held by the data latch circuit to the outside via the input / output means when receiving the supply of the recovery read command after the abnormal end of the write operation. is there. With this recovery function, the memory controller of the memory card constituted by a plurality of semiconductor devices or the control device that controls the access of the memory card does not store the write data by itself. Rewriting can be easily performed on a semiconductor device different from the device.
[0027]
[4] In the rewrite operation, after erasing by an erase command, writing can be performed on the same region by a write command. Such a rewriting process can be realized by a single command, that is, a rewriting command. That is, when the rewrite first command is supplied, the control means captures the rewrite address, captures write data into the data latch circuit, and after the rewrite second command is supplied, stores the rewrite address in the area specified by the rewrite address. Erasing is performed, and then the write operation is controlled based on the data held in the data latch circuit. This makes it possible to rewrite all sector data with a single command.
[0028]
It is also possible to realize data rewriting for a part of the sector with a single command. In other words, when the first rewrite command is supplied, the control means takes in the rewrite address, saves the data at the fetched address in the data latch circuit, and writes after specifying the rewrite address within the range of the rewrite address after the save. After the data is fetched into the data latch circuit and the rewrite second command is supplied, the sector area specified by the rewrite address is erased, and then held in the data latch circuit of the sector area specified by the rewrite address. The write operation is controlled based on the stored data.
[0029]
[5] When the semiconductor device is used as a file memory or the like, a management area can be allocated to the sector of the semiconductor device, and the remaining part can be released as a user area. The management area stores, for example, information on the number of rewrites and good / bad sectors, and the semiconductor device can support a command to automatically exclude the management area from being erased when the sector erases by the user. Furthermore, the usability of the file memory is improved. From this point of view, a partial erase command may be supported. That is, the control means fetches the sector address when the partial erase first command is supplied, and then when the partial erase second command is supplied, the data corresponding to a certain area in the area specified by the sector address. The latch saves the data in the fixed area, sets data indicating the erase state in the data latch circuit corresponding to the other area, and erases the area specified by the sector address. The write control is performed according to the data set in the data latch circuit.
[0030]
[6] A memory card can be realized by mounting the semiconductor device on a card substrate together with a memory controller for controlling access to the semiconductor device and an external interface circuit connected to the memory controller.
[0031]
In addition, a data processing system can be configured including the semiconductor device, a memory controller that controls access to the semiconductor device, and a processor that controls the memory controller.
[0032]
Focusing on the retry write command, a data processing system is configured including a control device that outputs a retry write command and a write address to the semiconductor device when the abnormal end of the write operation by the semiconductor device is detected. be able to.
[0033]
Further, focusing on the recovery read command, when the abnormal end of the write operation by the semiconductor device is detected, the recovery read command is output to the semiconductor device related to the abnormal end, and the semiconductor to which the recovery read command is supplied A data processing system can be configured including a control device that takes in the write data output by the apparatus and controls the writing of the taken-in write data to another semiconductor device.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
<Overall configuration of flash memory>
FIG. 1 shows an overall configuration of a flash memory 1 according to the first embodiment of the present invention, in which 2-bit information can be written into one memory cell and the information can be read out. Has been.
[0035]
Reference numeral 3 denotes a memory array having a memory mat, a data latch circuit, and a sense latch circuit. The memory mat 3 has a large number of nonvolatile memory cell transistors that can be electrically erased and written. For example, as illustrated in FIG. 2, the memory cell transistor includes a source S and a drain D formed in a semiconductor substrate or a memory well SUB, a floating gate FG formed in a channel region via a tunnel oxide film, and a floating The control gate CG is configured to overlap the gate via an interlayer insulating film. The control gate CG is connected to the word line 6, the drain D is connected to the bit line 5, and the source S is connected to a source line not shown.
[0036]
The external input / output terminals I / O0 to I / O7 are also used as address input terminals, data input terminals, data output terminals, and command input terminals. The X address signal input from the external input / output terminals I / O 0 to I / O 7 is supplied to the X address buffer 8 via the multiplexer 7. X address decoder 9 decodes the internal complementary address signal output from X address buffer 8 to drive the word line.
[0037]
A sense latch circuit (not shown) is provided on one end side of the bit line 5 and a data latch circuit (not shown) is provided on the other end. The bit line 5 is selected by the Y gate array circuit 13 based on the selection signal output from the Y address decoder 11. The Y address signal inputted from the external input / output terminals I / O0 to I / O7 is preset in the Y address counter 12, and the address signal sequentially incremented from the preset value is given to the Y address decoder 11.
[0038]
The bit line selected by the Y gate array circuit 13 is conducted to the input terminal of the output buffer 15 during the data output operation, and is conducted to the output terminal of the input buffer 17 via the data control circuit 16 during the data input operation. The connection between the output buffer 15 and the input buffer 17 and the input / output terminals I / O 0 to I / O 7 is controlled by the multiplexer 7. Commands supplied from the input / output terminals I / O 0 to I / O 7 are supplied to the mode control circuit 18 via the multiplexer 7 and the input buffer 17. The data control circuit 16 makes it possible to supply the memory array 3 with logical value data in accordance with the control of the mode control circuit 18 in addition to the data supplied from the input / output terminals I / O0 to I / O7.
[0039]
The control signal buffer circuit 19 is supplied with a chip enable signal CEb, an output enable signal OEb, a write enable signal WEb, a serial clock signal SC, a reset signal RESb, and a command enable signal CDEb as access control signals. The mode control circuit 18 controls the signal interface function with the outside according to the state of these signals, and controls the internal operation according to the command code. When a command or data is input to the input / output terminals I / O0 to I / O7, the signal CDEb is asserted. If the command is a command, the signal WEb is further asserted, and if it is data, WEb is negated. If it is an address input, the signal CDEb is negated and the signal WEb is asserted. As a result, the mode control circuit 18 can distinguish commands, data, and addresses that are multiplexed from the external input / output terminals I / O0 to I / O7. The mode control circuit 18 can assert the ready / busy signal R / Bb during the erase or write operation to inform the outside of the state.
[0040]
The internal power supply circuit 20 generates various operating power supplies 21 for writing, erasing verification, reading, and the like, and supplies them to the X address decoder 9 and the memory cell array 3.
[0041]
The mode control circuit 18 controls the flash memory 1 as a whole in accordance with commands. The operation of the flash memory 1 is basically determined by commands.
[0042]
As shown in FIG. 3, for example, commands assigned to the flash memory are read, recovery read, erase, write, additional write, retry write, partial erase, and rewrite commands. In the figure, the command code is expressed in hexadecimal notation. Of commands related to read operations (read, recovery read) and commands related to write operations, commands that do not require supply of write data (retry write) are composed of the first command, and other commands are composed of the first and second commands. Is done. The contents of each command will be described in detail later.
[0043]
The flash memory 1 has a status register 180 for indicating its internal state, and its contents can be read from the input / output terminals I / O0 to I / O7 by asserting the signal OEb. FIG. 4 illustrates the correspondence between the contents of each bit of the status register 180 and the input / output terminals I / O0 to I / O7.
[0044]
FIG. 5 shows the relationship between the data latch circuit and the sense latch circuit included in the memory array 3. An array SLA of sense latch circuits SL is arranged in the center, and on one input / output node side of the sense latch circuit SL, a switch circuit / arithmetic circuit array 30L, a memory mat MML, a switch circuit / arithmetic circuit array 31L, and an upper data latch Similarly, the array DLLA of the circuit DLL is arranged, and the switch circuit / arithmetic circuit array 30R, the memory mat MMR, the switch circuit / arithmetic circuit array 31R, and the array DLRA of the lower data latch circuit DLR are similarly arranged on the other input / output node side. Has been placed. Further, as shown in FIG. 5, if the configuration is understood by focusing on a pair of bit lines, the pair of data input / output nodes SLL and SLR of the sense latch circuit SL in the static latch form are connected to the bit lines G-BLL, Data latch circuits DLL and DLR are provided via the G-BLR. The data latch circuits DLL and DLR can latch write data bits supplied via the Y gate array circuit 13. According to this example, since the flash memory 1 has 8-bit input / output terminals I / O0 to I / O7, write data is input to the data latch circuits DLL and DLR of the four pairs of bit lines by one write data input. Can be set. The mode of the data set is made constant as represented by the correspondence between the data latches DDL and DLR and the input / output terminals I / O4 and I / O0 in FIG. In this description, since the unit of writing is a word line unit, after setting the write data in the data latch circuits DLL and DLR relating to the bit lines of all the memory cells whose selection terminals are coupled to one word line. Then, the write operation by applying the write voltage is performed.
[0045]
In the multi-value information storage technology to be realized by the flash memory 1 shown in FIG. 1, the information storage state of one memory cell is the erase state (“11”), the first write state (“10”), the first One of the two write states (“00”) and the third write state (“01”) is selected. A total of four information storage states are determined by 2-bit data. That is, 2-bit data is stored in one memory cell. The relationship between the quaternary data and the threshold voltage is as shown in the threshold voltage distribution diagram of FIG.
[0046]
In order to obtain the threshold distribution as shown in FIG. 7, three different types of write verify voltages applied to the word line during the write operation are set, and these are sequentially switched to perform the write operation in three steps. In FIG. 7, VWV1, VWV2, and VWV3 are write verify voltages used when obtaining the first write state, the second write state, and the third write state, respectively.
[0047]
FIG. 8 shows an example of the voltage application state of the word line and the bit line in the individual write operations divided into three times. 0V is applied to the bit line selected for writing, and 6V is applied to the non-selected bit line. Although not particularly limited, the word line is set to 17 V, for example. As the write high voltage application time increases, the threshold voltage of the memory cell increases. Three kinds of write threshold voltage control can be performed by time control in such a high voltage state, and further by level control of a high voltage applied to the word line.
[0048]
Whether 0V or 6V is applied to the bit line is determined by the logical value of the write control information latched by the sense latch circuit SL. Although details will be described later, control is performed on the write operation selection memory mat side so that the latch data of the sense latch is selected for writing when the logic value is “1” and is selected when the logic value is “0”. Details of the control will be described later. The switch circuit / arithmetic circuit includes a precharge circuit. When the latch data of the sense latch is “1” and 6V is applied to the bit line, the precharge circuit pre-charges the bit line in advance. Operates to charge. As described above, by performing precharge in the precharge circuit in advance, it is possible to reduce the peak current when 6 V is applied to the bit line.
[0049]
The latch operation of the write control information for the sense latch circuit is controlled for each of the three write operations. This write control is performed by the mode control circuit 18, and at this time, the write control information to be latched by the sense latch circuit SL is calculated using the write data bits held by the data latch circuits DLL and DLR for each write operation. Are generated and the sense latch circuit SL latches them. For example, if the write data latched in the data latch circuits DLL and DLR is “01” as illustrated in FIG. 6, the “01” state is the third write state as illustrated in FIG. It is. If the write operation divided into three times after the erase state employs a write procedure in which the write state is generated in the order of the lower threshold voltage as in the second mode (Case 2) of FIG. 9, the first time The result calculated using the write data (“01”) of the data latch circuits DLL and DLR during the write operation for obtaining the first write state is the logical value “1”, and the second write state is the second time. The result calculated using the write data (“01”) of the data latch circuits DLL and DLR during the write operation for obtaining the logical value “1”, and the write operation for obtaining the third write state for the third time Sometimes the result calculated using the write data (“01”) of the data latch circuits DLL and DLR is a logical value “0”. Such calculation is performed by operating the switch circuit / calculation circuit. Therefore, the write voltage is applied only at the time of the third write, and the third write state (“01”) among the four values is realized in the memory cell.
[0050]
In this manner, when the write operation is performed in three steps, the write data latched in the data latch circuits DLL and DLR first is not destroyed and is maintained as it is. This is because a control sequence is adopted in which the 2-bit write data latched in the data latch circuits DLL and DLR is used for calculation for each write operation and is set in the sense latch circuit SL every time.
[0051]
The order in which the threshold voltage is changed in the write operation is not limited to the second mode (Case 2) in FIG. 9, but may be set from the first mode (Case 1) with a higher threshold voltage or the second mode (Case 1). As in the third mode (Case 3), the threshold voltage change rate obtained by one write operation is made the same for any write state, or the fourth mode (Case 4) or the fifth mode (Case 5). It is also possible to control as follows.
[0052]
During the data read operation, three types of voltages as word line selection levels to be applied to the word lines are set, and the three read operations are performed while sequentially changing the three types of word line selection levels. Binary (1 bit) data read from the memory cell is latched in the sense latch circuit 4. Every time it is latched, an operation is performed to reflect the sense latched contents in the 2-bit information of the data latch circuit. Two bits obtained in the data latch circuits DLL and DLR by the result of the three sense latches are data corresponding to the four-value information held by the memory cell.
[0053]
<Details of memory array>
Next, details of the memory array will be described. FIG. 10 shows an example of a circuit configuration centering on a sense latch circuit and a data latch circuit in the flash memory. As apparent from FIG. 10, the configuration around the left and right bit lines G-BLL and G-BLR of the sense latch circuit SL is a mirror-symmetric structure with the sense latch circuit SL as the center.
[0054]
The memory mats MML and MMR have a plurality of electrically rewritable memory cells MC (typically several are shown). As shown in FIG. 2, one memory cell MC includes a control gate, a floating gate, a source, a drain, and an electrically rewritable transistor (memory cell transistor). The layout structure of the memory cell is not particularly limited, but is a so-called AND type. As exemplified on the memory mat MMR side, in the AND type configuration, a plurality of the memory cell transistors are arranged in parallel via respective diffusion layers (semiconductor regions) that constitute a source and a drain common to them, The diffusion layer constituting the drain is coupled to the bit line G-BLR via the selection transistor M1, and the diffusion layer constituting the source is coupled to the common source line VMMR via the selection transistor M2. Details of the AND type memory cell structure will be described later. SSi is a switch control signal for the selection transistor M2, and SDi is a switch control signal for the selection transistor M1. WL is a word line coupled to the control gate of the memory cell MC. The memory mat MML is similarly configured. In the drawings attached to the present specification, the P channel type MOS transistor is shown as distinguished from the N channel type MOS transistor by attaching an arrow to the base gate.
[0055]
The sense latch circuit SL is composed of a static latch composed of a pair of CMOS inverters, that is, a circuit formed by coupling the input terminal of one CMOS inverter to the output terminal of the other CMOS inverter. SLR and SLL are a pair of input / output nodes of the sense latch circuit SL. SLP and SLN are operating power supplies of the sense latch circuit SL. The series circuit of the MOS transistors M3L and M4L and the direct circuit of the MOS transistors M3R and M4R constitute a column switch circuit that inputs data to the sense latch circuit SL as a complementary signal. MOS transistors M5L and M5R selectively discharge input / output nodes SLL and SLR.
[0056]
The data latch circuit DLR is composed of a static latch composed of a pair of CMOS inverters, that is, a circuit formed by coupling the input terminal of one CMOS inverter to the output terminal of the other CMOS inverter. DLRR and DLRL are a pair of input / output nodes of the data latch circuit DLR. DLPR and DLNR are operation power supplies of the data latch circuit DLR. The series circuit of the MOS transistors M6L and M7L and the direct circuit of the MOS transistors M6R and M7R constitute a column switch circuit that inputs and outputs data in the form of complementary signals to the data latch circuit DLR. MOS transistors M8L and M8R selectively charge input / output nodes DLRL and DLRR to voltage FPC.
[0057]
The data latch circuit DLL is constituted by a static latch composed of a pair of CMOS inverters, that is, a circuit formed by coupling the input terminal of one CMOS inverter to the output terminal of the other CMOS inverter. DLLLR and DLLL are a pair of input / output nodes of the data latch circuit DLL. DLPL and DLNL are operating power supplies for the data latch circuit DLL. The series circuit of the MOS transistors M9L and M10L and the direct circuit of the MOS transistors M9R and M10R constitute a column switch circuit that inputs and outputs data in the form of complementary signals to the data latch circuit DLL. The MOS transistors M11L and M11R selectively charge the input / output nodes DLLL and DLLR to the voltage FPC.
[0058]
The switch circuit / arithmetic circuit 30R includes MOS transistors M20R to M25R. The transistor M20R receives the voltage level of the input / output node SLR of the sense latch circuit SL at the gate, and supplies the voltage FPC to the bit line G-BLR via the MOS transistor M21R when it is at the high level. The supplied voltage level is determined by the conductance control of the MOS transistor M21R according to the voltage level of the control signal PCR. The transistor M22R forms a transfer gate that selectively connects the input / output node SLR and the bit line G-BLR. The MOS transistor M23R is used for all determination. The MOS transistors M24R and M25R are used for precharging and discharging the bit line G-BLR. The switch circuit / arithmetic circuit 30L is similarly configured by MOS transistors M20L to M25L. The gate control signals of the MOS transistors M20L, M22L, M24L, and M25L are different from those of the MOS transistors M20R, M22R, M24R, and M25R.
[0059]
The switch circuit / arithmetic circuit 31R includes MOS transistors M26R to M28R. The transistor M26R receives the voltage level of the input / output node DLRL of the data latch circuit DLR at its gate, and supplies the voltage FPC to the bit line G-BLR via the MOS transistor M27R when it is at the high level. The supplied voltage level is determined by the conductance control of the MOS transistor M27R according to the voltage level of the control signal PCDR. The transistor M28R forms a transfer gate that selectively connects the input / output node DLRL and the bit line G-BLR. The switch circuit / arithmetic circuit 31L is similarly configured by MOS transistors M26L to M28L. The gate control signals of the MOS transistors M27L and M28L are different from those of the MOS transistors M27R and M28R.
[0060]
In the configuration of FIG. 10, basic circuit operations in reading and writing are as follows. For example, in FIG. 10, when reading is performed in the verify operation for the memory cells MC included in the memory mat MMR, the set MOS transistor M5L on the non-selected memory mat MML side is turned on to activate the sense latch SL. Thus, a high level is latched at the input / output node SLR of the sense latch SL. Then, the bit line G-BLR is precharged to 1V by controlling the PCR to 1V + Vth, for example. On the other hand, on the non-selected memory mat MML side, the gate voltage RPCL of the MOS transistor M24L is controlled to 0.5V + Vth to precharge the bit line G-BLL to 0.5V. This 0.5 V is used as a reference level for the sensing operation by the sense latch circuit SL. On the other hand, in the read operation according to the read command, the signal RPCR on the selected memory mat (MMR) side is set to 1V + Vth, and the signal RPCL on the non-selected memory mat (MML) side is set to 0.5V + Vth, so The mat side bit line is precharged to 1V, and the non-selected memory mat side bit line is precharged to 0.5V. Of course, if the selected memory mat is MML and the non-selected memory mat is MMR, the signal RPCR is set to 0.5V + Vth and the signal RPCL is set to 1V + Vth. The precharged 0.5V is used as a reference level as described above. After the word line selection operation, the transfer MOS transistors M221 and M22R are turned on. At this time, the sense latch circuit SL senses whether the level of the bit line G-BLR is higher or lower than 0.5 V, and Read data from the cell MC is latched.
[0061]
In the write operation, after the write control information is latched in the sense latch SL, the gate control signals PCR and PCL of the MOS transistors M21R and M21L are controlled to a high level, thereby the high-level input / output node of the sense latch circuit SL. Is precharged to a high level via the MOS transistor M20R or M20L, and then the MOS transistors M22R and M22L are turned on, and the high-level input / output of the sense latch circuit from the power supply SLP of the sense latch circuit A voltage is applied to the bit line coupled to the node. At this time, a high write voltage is applied to the word line of the write sector of the memory mat selected for writing. As a result, among the memory cells connected to the control gate to which the write voltage is applied on the write selection memory mat side, the memory cells whose bit lines are at a low level such as the ground voltage are targeted for writing.
[0062]
The all determination transistors M23L and M23R are used as follows. MOS transistors M23L and M23R have their gates coupled to the corresponding bit lines and their sources coupled to the ground potential. There are actually a large number of configurations related to the bit lines G-BLL and G-BLR centered on one sense latch circuit SL typically shown in FIG. The drains of the transistor M23L on the left side of FIG. 10 across the sense latch circuit SL are all commonly connected to the terminal ECL, and a current corresponding to the state (level) of the left bit line represented by the bit line G-BLL is applied to the terminal. Flowed to ECL. Similarly, all the drains of the right transistor M23R in FIG. 10 across the sense latch circuit SL are also connected in common to the terminal ECR, and the terminal ECR has the state of the right bit line represented by the bit line G-BLR ( Current corresponding to the level). Although not particularly illustrated, it is detected whether all the bit lines G-BLL (G-BLR) on the left (right) side of the sense latch circuit SL are in the same state based on a change in the terminal ECL (ECR). A current sense type amplifier is provided. This amplifier is used for detecting whether all memory cells to be erase-verified or written-verified have a predetermined threshold voltage, that is, for all determination.
[0063]
The configuration of the memory mats MMR and MML illustrated in FIG. 10 is an AND type. A more detailed example of the AND type memory mat is shown in FIG. Although not shown in particular, the memory cell shown in FIG. 11 has a structure formed by a process using two metal wiring layers, and the memory cell MC and the selection MOS transistors M1 and M2 are arranged in parallel in the vertical diffusion layer. And a control gate made of polysilicon or the like extending in the lateral direction. The memory cell MC of the flash memory is, for example, an N channel type MOS transistor configured on a P type substrate.
[0064]
The memory mat of the flash memory is not limited to the AND type, and other structures such as a NOR type shown in FIG. 12, a DiNOR type shown in FIG. 13, a NAND type shown in FIG. 14, and a HiCR type shown in FIG. It is also possible to do. Regardless of the structure, all the memory cells of the flash memory basically have the same configuration, but when the memory cells are arranged in an array, the characteristics of the individual memory mats appear. The NOR type requires a contact with the bit line (metal wiring layer) for each memory, so it is difficult to reduce the occupied area. However, in the NAND type, DiNOR type, and AND type, the contact with the bit line is provided for each block. Since the arrangement is sufficient, the occupation area can be reduced.
[0065]
<Details of write operation>
FIG. 16 is a flowchart showing an example of the write operation designated by the first command (1FH) and the second command (40H). This write is a write (sector write) using a word line as a unit.
[0066]
First, when the first command (1FH) is fetched (S1), the next input is fetched as a sector address (S2), and the input after the sector address fetching is until the second command (40H) is fetched (S4). Then, it is taken in as write data (S3). The sector address fetched in step S2 is an X address, which selects one word line to which a high write voltage is applied. The repetitive fetching of the write data in step S3 is performed on the data latch circuits DLL and DLR in byte units while gradually incrementing the Y address counter 12 from the initial value. For example, as shown in FIG. 5, the write data is latched in the data latch circuit arrays DLLA and DLRA assigned to the pair of memory mats MML and MMR related to one sense latch circuit array SLA. For example, assuming that the control gates of n memory cells are coupled to one word line, n-bit write data is latched in the data latch circuit arrays DLLA and DLRA, respectively.
[0067]
After the write data is latched, a “01” write process TS1, a “00” write process TS2, a “10” write process TS3, and an elastic / disturb detection process TS4 are performed.
[0068]
For example, as illustrated in FIG. 17, the “01” write process TS1 sets the threshold voltage of the memory cell MC to the third state with respect to the erase state (“11”) which is one of the four values. In the write state (“01”), and VWV3 is used as the write verify voltage. As shown schematically in FIG. 16, the “01” write processing TS1 is a sense latch circuit that writes write control data at an enable level in response to 2-bit “01” data latched by the data latch circuits DLL and DLR. SL is latched (“01” data latch), and a write operation corresponding to “01” data is performed on the memory cell transistor by the latched enable level write control data (“01” data write), and VWV3 for the write operation is performed The processing is roughly divided into processing for performing write verification (write verification VWV3).
[0069]
In the “00” write process TS2, for example, as illustrated in FIG. 18, the threshold voltage of the memory cell MC is set to the second value for the erase state (“11”) which is one of four values. The write state is “00”, and VWV2 is used as the write verify voltage. In the “00” write process TS2, as schematically shown in FIG. 16, the write control data at the enable level is sense latched in response to the 2-bit “00” data latched in the data latch circuits DLL and DLR. The circuit SL is latched (“00” data latch), and a write operation corresponding to “00” data is performed on the memory cell transistor by the latched enable level write control data (“00” data write), and VWV2 corresponding to the write operation. Is roughly classified into a write verify process (write verify VWV2).
[0070]
For example, as illustrated in FIG. 19, the “10” write process TS3 sets the threshold voltage of the memory cell MC to the first with respect to the erased state (“11”) which is one of four values. The write state (“10”) is obtained, and VWV1 is used as the write verify voltage. As shown schematically in FIG. 16, the “10” write process TS3 sense-latches write control data at the enable level in response to 2-bit “10” data latched by the data latch circuits DLL and DLR. The circuit SL is latched (“10” data latch), and a write operation corresponding to the “10” data is performed on the memory cell transistor by the latched enable level write control data (“10” data write), and VWV1 for the write operation Is roughly classified into a write verify process (write verify VWV1). The write verify voltage is VWV3>VWV2> VWV1.
[0071]
In the elastic / disturb detection process TS4, as illustrated in FIG. 20, a disturb detection process ("11" word disturb detection VWDS in FIG. 16) detects whether the threshold voltage of the erased memory cell exceeds VWDS. The threshold voltage of the memory cell transistor subjected to the “10” write process exceeds VWE1 (“10” elastic detection VWE1 in FIG. 16), or the threshold voltage of the memory cell transistor subjected to the “00” write process is VWE2. Is an elastic detection process for detecting whether or not the value exceeds “00” (“00” elastic detection VWE2 in FIG. 16).
[0072]
If the series of processing results up to the elastic / disturb detection processing TS4 is normal, the pass flag is set in the status register 180 (S5), and the series of write processing ends (OK). If the detection result of the elastic / disturb detection process TS4 is an error, it is determined whether the number of errors has reached a specified number (S6). If not, the write sector is erased (S7) and again. Redo from "01" write. The number of redoes is held in a counter means (not shown), and it is determined whether the number of errors has reached a specified value based on the count value of the counter means (S6). When the number of errors reaches a specified value, a fail flag is set in the status register 180 (S8), and a series of write processing ends abnormally (NG).
[0073]
As is apparent from FIG. 16, when re-erasing is performed and writing is repeated again, it is not necessary to retake the write data of the write sector. This is because the write data for one sector once latched in the data latch circuits DLL and DLR in step S3 is not destroyed even if the processes TS1 to TS4 are performed, and remains in the data latch circuits DLL and DLR as they are. .
[0074]
This depends on the latch operation control mode of the write control information described above for the sense latch circuit SL. That is, the write control information to be latched by the sense latch circuit SL is generated by performing an operation using the write data bits held by the data latch circuits DLL and DLR for each write operation, and generating the control information. Latches. For example, if the write data latched in the data latch circuits DLL and DLR is “01” as illustrated in FIG. 6, the “01” state is the third write state as illustrated in FIG. It is. When the write operation divided into three times after the erase state is performed in the second mode (Case 2) of FIG. 9, the data latch circuit DLL, during the write operation for obtaining the first write state for the first time The result calculated using the write data (“01”) of the DLR is a logical value “1”, and the write data (“” of the data latch circuits DLL and DLR at the time of the write operation for obtaining the second write state at the second time. 01 ") is the logical value" 1 ", and the write data (" 01 ") of the data latch circuits DLL and DLR is used in the third write operation to obtain the third write state. The calculated result is a logical value “0”. Such calculation is performed by operating the switch circuit / calculation circuit. Therefore, in the memory cell transistor, a high electric field for writing is applied between the drain and the control gate only at the time of the third writing, and the third writing state (“01”) among the four values is applied to the memory cell. ) Is realized.
[0075]
In this manner, when the write operation is performed in three steps, the write data latched in the data latch circuits DLL and DLR first is not destroyed and is maintained as it is. This is because a control sequence is adopted in which the 2-bit write data latched in the data latch circuits DLL and DLR is used for calculation for each write operation and is set in the sense latch circuit SL every time. Similarly, in the elastic disturbance detection process, a control sequence is adopted in which the result calculated using the 2-bit write data latched in the data latch circuits DLL and DLR is set in the sense latch circuit SL every time. Also at this time, the write data latched in the data latch circuits DLL and DLR first is not destroyed and is maintained as it is.
[0076]
The processing (data latch processing) for causing the sense latch circuit SL to latch the result calculated using the 2-bit write data latched in the data latch circuits DLL and DLR is related to the current processing in TS1 to TS4. The method is different.
[0077]
FIG. 21 logically shows an example of calculation contents of the data latch processing. The calculation contents in FIG. 21 relate to the sense latch data on the operation selection memory mat side (input / output node data of the sense latch circuit SL on the operation selection memory mat side). Although a specific calculation method will be described in detail later, a multi-sense method and a multi-power supply method can be adopted. In the multi-sense method, the bit line precharge voltage is set to three levels of 0 V, 0.5 V, and 1.0 V, and the sense latch circuit SL latches the target data by a plurality of sense operations by the sense latch circuit SL. is there. In the multi-power supply system, the bit line precharge voltage is set to four levels of 0 V, 0.5 V, 1.0 V, and 2.0 V, and the target data is transferred to the sense latch circuit SL by one sensing operation by the sense latch circuit SL. It is an operation to latch.
[0078]
In FIG. 21, A and B are 2-bit write data corresponding to one sense latch circuit SL, A is an upper data bit latched in the data latch circuit DLL, and B is latched in the data latch circuit DLR. Lower data bit. According to FIG. 21, in the case of “01” write data latch processing, the logical sum of inverted data of data bits A and B, in the case of “00” write data latch processing, the logical sum of data bits A and B, “ In the case of 10 "write data latch processing, the logical sum of the inverted data of data bit A and B is obtained. In the case of" 00 "elastic detection data latch processing, negative logical sum of data bits A and B, and" 10 "error. In the tick detection data latch process, the logical product of the inverted data of the data bits A and B is used. In the “11” elastic detection data latch process, the logical product of the data bits A and B is used.
[0079]
When the arithmetic logic of FIG. 21 is adopted, the logical value of the arithmetic result for the logical values of the data bits A and B is as shown in FIG. As described above, the logical value “0” (low level) of the sense latch data means application of a write electric field (write selection).
[0080]
FIG. 23 illustrates a more detailed flowchart of the “01” write process TS1. According to this, the “01” write process TS1 includes the data latch process S10, the “01” write bias application process S11, the write verify process S12, and the all determination process S13. In the data latch process S10, when the 2-bit write data “01” is latched in the corresponding two data latch circuits DLL, DLR, the write enable bit is latched in the sense latch circuit SL, and the other write data In this case, the write disable level is latched by the sense latch circuit SL. In the “01” write bias application process S11, when the write enable level is latched in the sense latch circuit SL, a high electric field is applied between the bit line on the input / output node side of the enable level and the control gate in the write selection memory mat. Is applied. In the process S12, a verify operation is performed with the write verify voltage VWV3. In the process S13, it is determined whether or not the all determination result is an error. If there is an error, the process returns to the process S11. If the all determination result is normal, the “01” writing process is terminated. In the processes TS2 and TS3, the calculation method, the write bias voltage, and the write verify voltage for the data latch process are unique, and the general processing procedure is the same as the flowchart of the process TS1, so the details of these processes are described. The flowchart is not shown.
[0081]
FIG. 24 illustrates a detailed flowchart of the “10” elastic detection process. According to this, the “10” elastic detection process includes a data latch process S20, an elastic verify process S21, and an all determination process S22. The data latch process S20 performs a latch process according to the calculation contents shown in FIGS. The elastic verify process S21 verifies whether the threshold voltage exceeds VWE1 with respect to the memory cell transistor subjected to the “10” write process. In process S22, it is determined whether the all determination result is an error. If YES, the process proceeds to step S6. If the all determination result is normal, the “10” elastic detection process is terminated. The other processes of the elastic / disturb detection process TS4 are specific to the calculation method and verify voltage for the data process with respect to FIG. 24, and the general processing procedure is "10" elastic detection process. The detailed flowchart of these processes is not shown in the figure.
[0082]
<Data latch processing>
An example of an arithmetic processing method of data latch processing represented by steps S10 and S20 is shown in FIGS. In these drawings, the operation selection memory mat is the memory mat (MMR) on the right side of the drawing. Also, in each figure, for the numbers shown corresponding to the signals or nodes shown for each step, numbers with a decimal point mean voltage, numbers without a decimal point are logical values (high level is “1”) ", Low level means" 0 "). The numbers in parentheses corresponding to the data latch circuits DDL and DDR indicate the logical value of the left input / output node outside the parentheses, and the number in parentheses indicates the logical value of the right input / output node.
[0083]
For example, the details of the “01” write data latch processing S10 by the multi-sense method will be described in detail with reference to FIG.
[0084]
It is assumed that data is already latched in the data latch circuits DLL and DLR. The case where the latched data is “01”, “00”, “10”, “11” is illustrated. In Step 2 (Step 2), first, the bit line G-BLL on the non-selected memory mat side is precharged to 0.5 V through the transistor M24L (a), and M26R, M27R according to the latch data of the data latch circuit DLR. Is used to precharge the bit line G-BLR to 0.0V or 1.0V (b).
[0085]
In step 3 (Step 3), the sense latch circuit SL is activated in accordance with the results of (a) and (b) to perform a sense latch operation. As a result, the left and right input / output nodes SL (L) and SL (R) of the sense latch circuit SL are brought into the states shown in FIGS.
[0086]
In Step 4 (Step 4), the voltage of the bit line G-BLL takes the voltage of (e) according to the result of (c), and the other bit line G-BLR is cleared to the logical value “0”.
[0087]
In step 5 (Step 5), the transistor M26L is turned on by the latch data having the logical value “1” of the data latch circuit DLL, and the data latch circuit DLL latches the logical value “1” via the transistors M27L and M26L. The bit line G-BLL to be executed is forced to a low level (g). Further, both input / output nodes SL (L) and SL (R) of the sense latch circuit SL are cleared to a logical value “0”.
[0088]
In step 6 (Step 6), the bit line G-BLR on the selected memory mat side is precharged to 0.5 V (i). When the sense latch circuit SL is sensed in step 7 (Step 7), the input / output node SL (R) or SLR on the selected memory mat side of the sense latch circuit SL latches “01” in the data latch circuits DLL and DLR. Only when this is done, the logical value “0” is latched (j). An example of the operation timing of the write data latch process is shown in FIG.
[0089]
When the latch data of the input / output node on the operation selection memory mat side in the sense latch circuit SL is a logical value “0”, the level of the bit line connected to the input / output node is set to 0V, and the drain is connected to the bit line. A high write electric field is applied between the drain and the control gate of the memory cell transistor to which is connected, and a write operation to the memory cell transistor is performed.
[0090]
As details of the operation of the write bias application process S11 in the write operation, there are FIG. 31 showing the start of the write bias and FIG. 32 showing the end of the write bias. That is, a write blocking voltage is introduced to the bit line of the write non-selected memory mat. The bit line on the write selection memory mat side is set to 0V or 6V according to the latch data of the sense latch circuit SL, and a high voltage such as 17V is applied to the word line to perform writing to the memory cell transistor. After completion of writing, the bit lines G-BLL and G-BLR are discharged. An example of the write operation timing is shown in FIG.
[0091]
After the write bias is applied, the write verify process S12 is performed. For example, as illustrated in FIG. 33, the bit line on the write non-selected memory mat side, such as G-BLL, is written to the reference voltage 0.5V. The bit line on the selected memory mat side, such as G-BLR, is precharged to 1.0V. Thereafter, as illustrated in FIG. 34, a word line selection operation using a verify voltage is performed. By the word line selection operation, the memory cell whose threshold voltage is lower than the verify voltage is turned on, and the high memory cell is turned off. The sense latch circuit SL detects a change in state due to the change in the potential difference of the bit line (FIG. 35), and finally latches the definite data (FIG. 36). An example of the write verify operation timing is shown in FIG.
[0092]
After the sense latch circuit SL latches the definite data, the all determination process S13 is performed. In the all determination process, it is detected whether or not the MOS transistor, for example, the transistor M23L of the bit line on the write operation non-selected memory mat side is turned on. If there is at least one memory cell transistor in which writing is defective, the bit line opposite to the bit line to which the transistor is connected goes to the high level, the transistor M23L is turned on, and a current flows (see FIG. 37). While the current flows, there is a write failure, and a bias is applied to the memory cell transistor again as described above. An example of the operation timing of the all determination is shown in FIG.
[0093]
26 shows details of the “00” write data latch process by the multi-sense method, FIG. 27 shows details of the “10” write data latch process by the multi-sense method, and FIG. 28 shows the multi-sense method. Details of the “00” elastic detection data latch processing by the method are shown, FIG. 29 shows details of the “10” elastic detection data latch processing by the multi-sense method, and FIG. 30 shows “11” by the multi-sense method. “Details of disturb detection data latch processing are shown. The specific contents of these processes are different from the data latch process of FIG. 25 in detail, but are common in that precharge and sense operations are used, and the contents can be easily understood from each figure. Detailed description is omitted.
[0094]
42 to 53 show details such as data latch processing in the case of the multiple power supply system. Similarly to FIGS. 25 to 30, FIGS. 42 to 47 are similar to FIGS. 25 to 30, and the operation selection memory mat is the memory mat on the right side of the figure, and in each figure, the operation selection memory mat is displayed corresponding to the signal or node shown for each step. Numbers with a decimal point mean voltage, and numbers without a decimal point mean logical values (high level is “1”, low level is “0”).
[0095]
With reference to FIG. 42, for example, “01” write data latch processing by the multi-power supply method will be described in detail. It is assumed that data is already latched in the data latch circuits DLL and DLR. The case where the latched data is “01”, “00”, “10”, “11” is illustrated. In Step 1 (Step 1), first, the bit line G-BLL on the non-selected memory mat side is precharged to 1.0 V via the transistor M24L (a), and the bit line G-BLR on the selected memory mat side is turned on to the transistor M24R. (B) is precharged to 2.0V.
[0096]
In step 2 (Step 2), the transistor M26L is turned on by the latch data having the logical value “1” of the data latch circuit DLL, and the data latch circuit DLL latches the logical value “1” via the transistors M27L and M26L. The bit line G-BLL to be executed is forced to a low level (c). Similarly, the bit line corresponding to the data latch circuit DLR that turns on the transistor M26R by the latch data of the logical value “1” of the data latch circuit DLR and latches the logical value “1” via the transistors M27R and M26R. Force G-BLR to low level (d).
[0097]
In step 3 (Steps), the 0.0V bit line G-BLR is precharged to 0.5V (e). When the sense latch circuit SL is sensed in step (Step 4), the input / output node SL (R) or SLR on the selected memory mat side of the sense latch circuit SL is latched "01" in the data latch circuits DLL and DLR. Only when it is, the logic value “0” is latched (f). An example of the operation timing of the “01” write data latch process is shown in FIG. When the latch data of the input / output node on the operation selection memory mat side in the sense latch circuit SL is a logical value “0”, the level of the bit line connected to the input / output node is set to 0V, and the drain is connected to the bit line. A high write electric field is applied between the drain and the control gate of the memory cell transistor to which is connected, and a write operation to the memory cell transistor is performed.
[0098]
FIG. 43 shows details of the “00” write data latch process by the multi-power supply method, and FIG. 49 shows an example of the operation waveform. FIG. 44 shows details of the “10” write data latch processing by the multi-power supply method, and FIG. 50 shows an example of the operation waveform. FIG. 45 shows details of the “00” elastic detection data latch processing by the multi-power supply method, and FIG. 51 shows an example of the operation waveform. FIG. 46 shows details of the “10” elastic detection data latch processing by the multi-power supply method, and FIG. 52 shows an example of the operation waveform. FIG. 47 shows details of the “11” disturb detection data latch processing by the multi-power supply method, and FIG. 53 shows an example of the operation waveform. Although the specific contents of these processes differ from the data latch process of FIG. 42 in detail, they are common in that precharge and sense operations are used, and the contents can be easily understood from each figure. Detailed description is omitted.
[0099]
FIG. 54 collectively shows various voltage conditions for each operation mode of the flash memory described above. 54, the read word line voltage of “11” data is 2.4V, the read word line voltage of “10” data is 3.2V, and the read word line voltage of “00” data is 4.0V. The “10” data write word line voltage is 15.1V, the “00” data write word line voltage is 15.8V, and the “01” data write word line voltage is 17.0V. The “10” data verify word line voltage is 2.8V, the “00” data verify word line voltage is 3.6V, and the “01” data verify word line voltage is 4.5V. The “11” word disturb detection voltage is 2.1V, the “10” word disturb detection voltage is 3.1V, and the “00” word disturb detection voltage is 3.9V.
[0100]
《Retry function and recovery function》
As is apparent from the flowchart of FIG. 16, in the above-described flash memory 1, even when a write abnormality occurs, the write data at that time is stored in the data latch circuits DLL and DLR. When the flash memory 1 receives a retry write command after abnormal termination of the write operation, the flash memory 1 writes the write data already held by the data latch circuits DLL and DLR to the address supplied with the command. Operation can be performed. That is, as illustrated in FIG. 55, when the flash memory 1 inputs a retry write command (10H) (S30), it next inputs a sector address (S31, S32), and the input sector address (word line address). ), The write data already latched in the data latches DLL and DLR is written in the flash memory (S33).
[0101]
In addition, the flash memory 1 takes into account the simplification of the process of rewriting to another flash memory as rewriting after abnormal termination of the writing operation. That is, as illustrated in FIG. 56, the flash memory 1 holds the data latch circuits DLL and DLR when the supply of the recovery read command (01H) is received after the abnormal end of the write operation (S40). The written data can be output to the input / output terminals I / O0 to I / O7 through the output buffer 15 and the multiplexer 7 (S41).
[0102]
FIG. 57 shows a transition state of the internal operation in the flash memory having the retry and recovery functions. When the power is turned on, a deep standby state (Deep standby) is set, and when the reset signal is negated, the standby state (Standby) is set. When the chip is selected from the standby state, the output is disabled (output disable), and the operation according to the command input is enabled. Operations according to command input are broadly classified into read (Read setup), sector erase (Sector Erase setup), write (Program setup), and the like. When an error occurs in erasing or writing, a recovery read command (Recovery Read setup) and a retry write command (Retry Program setup) can be accepted.
[0103]
FIG. 58 shows an example of a memory card using the flash memory 1. The memory card 200 shown in the figure is configured by mounting a local memory 201, a memory controller 202, a buffer memory 203, and an external interface circuit 204 on a card board. Many flash memories 1 are mounted in the local memory 200. The memory controller 202 generates a control signal controller 210 that generates access control signals for the flash memory 1 and the buffer memory 203, an address controller 211 that performs chip selection control for the flash memory 1 and the buffer memory 203, and the flash memory 1 and the buffer memory 203. It has a data I / O controller 212 that performs data, command and address interface control. The external interface circuit 204 has a configuration conforming to, for example, a PC card interface.
[0104]
FIG. 59 shows an example of a data processing system using the flash memory 1. The difference from FIG. 58 is that the memory controller 202 is arranged as one peripheral circuit on the control bus CBUS, the address bus ABUS and the data bus DBUS to which the CPU or the microprocessor 230 is connected, like the ROM 231 and the RAM 232. It is that.
[0105]
When the flash memory 1 has the retry function, the memory controller 210 or the microprocessor 230 that controls access to the flash memory 1 changes the write address or sector address for the flash memory in which the write operation is abnormally terminated. Thus, rewriting can be easily performed.
[0106]
In addition, this recovery function causes the memory controller of a memory card constituted by a plurality of flash memories or a control device that controls access to the memory card to end abnormally even if the write data is not stored by itself. Further, rewriting can be easily performed to a flash rush memory different from the flash memory.
[0107]
FIG. 60 shows a conceptual diagram of the retry and recovery function. For example, as shown in (A), the write data and the sector address are supplied from the buffer memory 203 to the flash memory 1 under the control of the memory controller 202, whereby the flash memory 1 operates to write data to the supplied sector address. To do. When an error occurs in the write operation, the flash memory 1 sets an error flag in the control register 180. As in (B), the error flag is transmitted to the microprocessor 230 or the like via the memory controller 202. As a result, when a recovery read command is output from the memory controller 202 to the flash memory 1 as shown in (C), the flash memory 1 writes data latched in the data latch circuits DLL and DLR as shown in (D). Output data. When the memory controller 202 gives a retry write command and a sector address to the flash memory 1 as shown in (E), the flash memory 1 is already latched by the data latch circuits DLL and DLR as shown in (F). The write data is written to the newly designated sector address.
[0108]
《Rewrite function》
The rewrite operation can be realized by erasing with an erase command and then writing with a write command. According to FIG. 3, after executing the erase command, the write command is executed. The flash memory 1 can realize such rewrite processing with a single command, that is, a rewrite command.
[0109]
FIG. 61 shows an example of processing by a rewrite command. That is, when the first rewrite command is supplied (S60), the sector address to be rewritten is fetched (S61), the data of the fetched sector address is read to the data latch circuits DLL and DLR (S62), and then written. Data is taken into the data latch circuits DLL and DLR (S63), and after the rewrite second command is supplied (S64), the sector specified by the rewrite sector address is erased (S65), and then the data latch circuit The designated sector is written with the data held in the DLL and DLR (S66). The write operation of the designated sector is the same as the operation described with reference to FIG. With this rewrite command, rewriting of all sector data can be realized with a single command.
[0110]
It is also possible to realize data rewriting for a part of the sector with a single command. That is, as illustrated in FIG. 62, when the first rewrite command is supplied (S70), the sector address to be rewritten is fetched (S71), and the data latch circuit receives data from the memory cell of the fetched sector address. The data is saved in the DLL and DLR (S72), and then data from the head Y address YA (0) of the sector to the necessary Y address YA (k) is taken into the data latch circuit (S73), and further necessary Accordingly, the Y address YA (m) satisfying k <m is fetched (S74), and data from the fetched Y address YA (m) to the necessary Y address YA (m + 1) is fetched into the data latch circuit. (S75). When the rewrite second command is supplied (S76), the sector designated by the rewrite address is erased, and then the designated sector write operation is performed based on the latch data of the data latch circuits DLL and DLR (S78). . The write operation of the designated sector is the same as the operation described with reference to FIG.
[0111]
Further, the data rewriting process for a part of the sector can be realized as shown in FIG. That is, when the first rewrite command is supplied (S80), a sector address to be rewritten is fetched (S81), and data is saved in the data latch circuits DLL and DLR from the memory cell of the fetched sector address (S82). . Thereafter, the head Y address YA (m) of the sector is fetched (S83), and data from the head Y address YA (m) to the necessary Y address YA (m + k) is fetched into the data latch circuit (S84). . Further, if necessary, the Y address YA (n) satisfying m + k <n is fetched (S85), and the data from the fetched Y address YA (n) to the necessary Y address YA (n + 1) is stored as data. The data is taken into the latch circuit (S86). The processes in steps S85 and S86 can be repeated as many times as necessary. When the second rewrite command is supplied (S87), the sector designated by the rewrite address is erased (S88), and then the designated sector write operation is performed based on the latch data of the data latch circuits DLL and DLR. (S89). The write operation of the designated sector is the same as the operation described with reference to FIG.
[0112]
<Partial erase function>
When the flash memory 1 is used as a file memory or the like, a management area can be allocated to the sector and the remaining part can be released as a user area. The management area stores, for example, information on the number of rewrites and good / bad sectors, and the flash memory 1 supports a command to automatically exclude the management area from being erased when the user erases in units of sectors. Furthermore, the usability of the file memory is improved. From this point of view, the flash memory 1 supports the partial erase command. That is, in FIG. 64 showing the partial erase function, when the partial erase first command is supplied (S90), the sector address is fetched (S91), and then when the partial erase second command is supplied (S92), the sector address The data latch circuits DLL and DLR corresponding to a certain area (for example, the management area) in the sector designated by (1) are saved to the data latch circuits DLL and DLR corresponding to other areas. Sets data instructing the erased state (S93). As a result, the read data is saved in the data latch circuits DLL and DLR corresponding to the management area of the designated sector, and “11” data corresponding to the erased state is stored in the data latch circuits DLL and DLR corresponding to the other areas of the sector. Is set. Then, after erasing the sector specified by the sector address, a write operation is performed in accordance with the data set in the data latch circuits DLL and DLR (S94). The write operation of the designated sector is the same as the operation described with reference to FIG.
[0113]
65 and 66 show a detailed example of the “designated sector data read” operation in step S93 as a whole, and the processing in FIG. 66 follows the processing in FIG. 65 and 66, “1” means that the potential of the corresponding node is high, and “0” means that the potential of the corresponding node is low. 65 and 66 assume a case where the right memory mat is an operation selection memory mat. FIG. 67 shows the relationship between the word line selection levels VRW1, VRW2, and VRW3 used for reading specified sector data and the threshold voltage distribution.
[0114]
In Step 1 (Step 1) of FIG. 65, the word line level is set to VRW1, the data of the memory cell in the designated sector is read, and is latched by the sense latch circuit SL. In step 2 (Step 2), data at the right node of the sense latch circuit SL is internally transferred to the data latch circuit DLR. In step 3 (Step 3), the word line level is set to VRW2, the data of the memory cell in the designated sector is read, and is latched by the sense latch circuit SL. In step 3.5 (Step 3.5), data “0” is set to the right input / output node of the sense latch circuit SL other than the management area selected by the Y address decoder. In step 4 (Step 4), the data of the left node of the sense latch circuit SL is internally transferred to the data latch circuit DLL. As a result, only a part of the required read data is saved in the data latch circuit DLL.
[0115]
In step 5 (step 5), the word line level is set to VRW3, the data of the memory cell in the designated sector is read, and is latched by the sense latch circuit SL. In step 5.5 (Step 5.5), data “1” is set to the right input / output node of the sense latch circuit SL other than the management area selected by the Y address decoder. In step 6 (step 6), the latch data of the data latch DLR is internally transferred to the bit line G-BLR through the transistor M28R. In Step 7 (Step 7), the right bit line G-BLR corresponding to the sense latch circuit SL in which “1” data is set in the right input / output node SLR is controlled to a low level, and Step 8 (Step 8). Thus, data is transferred from the sense latch circuit SL to the data latch circuit DLR. As a result, the 4-level information of the read data of the designated sector is stored in the data latch circuits DLL and DLR in the management area, and the data latch circuits DLL and DLR corresponding to other areas (memory areas) in the designated sector are erased. Data indicating the state is stored.
[0116]
According to the flash memory, memory card, and data processing system described above, the following operational effects can be obtained.
[0117]
[1] The write data given from the outside is latched in the data latch circuits DLL and DLR, and the threshold value of the multi-value corresponding to the latched write data is determined for each of the write operations in a plurality of stages, and the determination result. Write information is latched by the sense latch circuit SL, and a write operation for setting a multi-value threshold voltage in the memory cell is performed stepwise in accordance with the write information latched in the sense latch SL. Therefore, even after the write operation is completed, the write data originally supplied from the outside remains in the data latch circuits DLL and DLR. Therefore, it is not necessary to receive the write data from the outside again even when the multi-value information write operation to the memory cell MC is performed again according to the result of the word disturb detection or the elastic detection.
[0118]
[2] Even if a write error occurs, the write data at that time is stored in the data latch circuits DLL and DLR in the flash memory, so when the supply of the retry write command is accepted after the abnormal end of the write operation, Write data already held in the data latch circuit can be controlled to be written to an address supplied with the command. Since the flash memory has such a retry function, the memory controller that controls access to the flash memory can easily rewrite the semiconductor device in which the write operation is abnormally changed by changing the write address or the sector address. Can be done.
[0119]
[3] The flash memory outputs the write data held by the data latch circuits DLL and DLR to the outside when receiving supply of the recovery read command after the abnormal end of the write operation. With this recovery function, the memory controller of a memory card composed of a plurality of semiconductor devices or a control device that controls access to the memory card can store the same data in a flash memory different from the flash memory in which the write operation is abnormally terminated. Can be easily rewritten.
[0120]
[4] When the rewrite first command is supplied, the rewrite address is fetched and the write data is taken into the data latch circuit. After the rewrite second command is supplied, the area specified by the rewrite address is erased. Next, the write operation is controlled based on the data held in the data latch circuit. This makes it possible to rewrite all sector data with a single command.
[0121]
[5] By supporting the partial erase command, the management area of the sector can be automatically excluded from the erase target.
[0122]
Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof.
[0123]
For example, the information held by one memory cell is not limited to four values and may be more than that. For example, in the case of eight values, the number of data latch circuits connected to the bit line may be further increased. The calculation method of the data latch process is not limited to the above description, and can be changed as appropriate. In addition, the number of memory mats, write voltage conditions, erase voltage conditions, verify voltage conditions, and the like can be changed as appropriate. Further, the erased state and the written state can be defined in the opposite direction to the above description. The semiconductor device according to the present invention is not limited to a memory chip such as a flash memory, and can be widely applied to a semiconductor device for data processing or logic operation such as a microcomputer with built-in flash memory. The present invention can also be applied to an EEPROM.
[0124]
【The invention's effect】
The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
[0125]
In other words, since multi-value information is written to each memory cell, the write data supplied to the data latch circuit from the outside is not lost by the write operation. Therefore, even after the write operation is completed, the write data originally supplied from the outside remains in the data latch circuit. Therefore, the multi-value information write operation to the memory cell is performed based on the result of the word disturb detection or the elastic detection. It is not necessary to receive the write data from the outside again when the process is performed again.
[0126]
Further, when the multi-value information write operation to the memory cell is performed again, it is not necessary to receive the write data from the outside again.
[0127]
When the write operation ends abnormally, the write data related to the abnormal end held inside can be rewritten by designating another memory address.
[0128]
When the writing operation ends abnormally, write data related to the abnormal end can be output to the outside.
[Brief description of the drawings]
FIG. 1 is an overall block diagram of a flash memory 1 according to a first embodiment of the present invention, in which 2-bit information can be written into and read from one memory cell. is there.
FIG. 2 is a device explanatory diagram illustrating an example of a memory cell transistor.
FIG. 3 is an explanatory diagram illustrating an example of a command of a flash memory.
FIG. 4 is an explanatory diagram showing an example of correspondence between each bit content of a status register and input / output terminals I / O0 to I / O7.
FIG. 5 is an explanatory diagram illustrating an example of a connection relationship among a data latch circuit, a bit line, and a sense latch circuit included in a memory array;
FIG. 6 is an explanatory diagram showing an example of a correspondence relationship between a data latch circuit and input / output terminals I / O4 and I / O0.
FIG. 7 is an explanatory diagram showing a relationship between four-value data and a threshold voltage in a threshold voltage distribution diagram.
FIG. 8 is an explanatory diagram showing an example of voltage conditions for sector batch erase and write.
FIG. 9 is an explanatory diagram exemplarily illustrating various writing modes in a four-value writing process.
FIG. 10 is a circuit diagram showing an example of a configuration centering on a sense latch circuit and a data latch circuit in a flash memory;
FIG. 11 is an example circuit diagram of an AND type memory mat.
FIG. 12 is a circuit diagram of an example of a NOR type memory mat.
FIG. 13 is an example circuit diagram of a DiNOR type memory mat.
FIG. 14 is a circuit diagram of an example of a NAND type memory mat.
FIG. 15 is a circuit diagram of an example of a HiCR type memory mat.
FIG. 16 is a flowchart illustrating an example of a write operation designated by a first command (1FH) and a second command (40H).
FIG. 17 is a schematic explanatory diagram of a “01” write process TS1.
FIG. 18 is a schematic explanatory diagram of a “00” write process TS2.
FIG. 19 is a schematic explanatory diagram of a “10” write process TS3.
FIG. 20 is a schematic explanatory diagram of an elastic / disturb detection process TS4.
FIG. 21 is an explanatory diagram logically showing an example of calculation contents of data latch processing.
22 is an explanatory diagram showing a logical value of a calculation result for logical values of data bits A and B when the arithmetic logic of FIG. 21 is employed.
FIG. 23 is a flowchart showing a more detailed example of “01” write processing TS1.
FIG. 24 is a flowchart showing a non-detailed value example of “10” elastic detection processing;
FIG. 25 is an explanatory diagram showing an example of a “01” write data latch process by a multi-sense method.
FIG. 26 is an explanatory diagram showing an example of a “00” write data latch process by a multi-sense method.
FIG. 27 is an explanatory diagram showing an example of “10” write data latch processing by a multi-sense method;
FIG. 28 is an explanatory diagram showing an example of a “00” elastic detection data latch process by a multi-sense method.
FIG. 29 is an explanatory diagram showing an example of a “10” elastic detection data latch process by a multi-sense method;
FIG. 30 is an explanatory diagram showing an example of “11” disturb detection data latch processing by the multi-sense method;
FIG. 31 is an explanatory diagram showing details of the first operation of the write bias application processing S11 in the write operation.
FIG. 32 is an explanatory diagram showing details of the final operation of the write bias application processing S11 in the write operation.
FIG. 33 is an explanatory diagram showing details of a bit line precharge operation in the VWV3 verify process;
FIG. 34 is an explanatory diagram showing details of a memory discharge operation in the VWV3 verify process;
FIG. 35 is an explanatory diagram showing details of a precharge operation for a sense latch in the VWV3 verify process.
FIG. 36 is an explanatory diagram showing details of a sense latch operation in the VWV3 verify process.
FIG. 37 is an explanatory diagram showing details of an all determination operation in the VWV3 verify process;
FIG. 38 is a timing chart showing an example of operation timing of the write data latch process.
FIG. 39 is a timing chart showing an example of a write operation timing.
FIG. 40 is a timing chart showing an example of operation timing of write verify.
FIG. 41 is a timing chart showing an example of an all determination operation timing.
FIG. 42 is an explanatory diagram of a “01” write data latch process by a multi-power supply method.
FIG. 43 is an explanatory diagram of a “00” write data latch process by a multi-power supply method.
FIG. 44 is an explanatory diagram of “10” write data latch processing by a multi-power supply method;
FIG. 45 is an explanatory diagram of “00” elastic detection data latch processing by a multi-power supply method;
FIG. 46 is an explanatory diagram of “10” elastic detection data latch processing by a multi-power supply system;
FIG. 47 is an explanatory diagram of “11” disturb detection data latch processing by the multi-power supply method;
FIG. 48 is an operation waveform diagram of “01” write data latch processing by a multi-power supply method;
FIG. 49 is an operation waveform diagram of “00” write data latch processing by the multi-power supply method;
FIG. 50 is an operation waveform diagram of “10” write data latch processing by the multiple power supply method;
FIG. 51 is an operation waveform diagram of “00” elastic detection data latch processing by a multiple power supply method;
FIG. 52 is an operation waveform diagram of “10” elastic detection data latch processing by a multiple power supply method;
FIG. 53 is an operation waveform diagram of “11” disturb detection data latch processing by the multiple power supply method;
FIG. 54 is an operation explanatory diagram collectively showing various voltage conditions for each operation mode of the flash memory.
FIG. 55 is a flowchart illustrating an example of a retry writing function.
FIG. 56 is a flowchart illustrating an example of a recovery function.
FIG. 57 is a state transition diagram of an internal operation in a flash memory having a retry and recovery function.
FIG. 58 is a block diagram showing an example of a memory card using a flash memory.
FIG. 59 is a block diagram illustrating an example of a data processing system using a flash memory.
FIG. 60 is a conceptual explanatory diagram of a retry and recovery function.
FIG. 61 is a flowchart illustrating an example of processing by a rewrite command.
FIG. 62 is a flowchart showing an example of processing by a rewrite command for realizing data rewriting for a part of a sector.
FIG. 63 is a flowchart showing another example of processing by a rewrite command for realizing data rewriting for a part of a sector.
FIG. 64 is a flowchart illustrating an example of a partial erase function.
65 is an explanatory diagram showing details of the first half of the designated sector data read operation of FIG. 64; FIG.
66 is an explanatory diagram showing details of the latter half of the designated sector data read operation of FIG. 64;
67 is an explanatory diagram showing a relationship between a word line selection level used for reading specified sector data and a threshold voltage distribution; FIG.
[Explanation of symbols]
1 Flash memory
3 Memory array
16 Data control circuit
18 Mode control circuit
I / O0 to I / O7 I / O terminals
DLL, DLR data latch circuit
DLLA, DLRA Data latch circuit array
MML, MMR Memory mat
SL sense latch circuit
SLA sense latch circuit array
30L, 30R switch circuit / arithmetic circuit
31L, 31R Switch circuit and arithmetic circuit
MC memory cell
G-BLL, G-BLR bit line
200 memory card
201 Local memory
202 Memory controller
203 Buffer memory
204 Interface circuit
230 Microprocessor

Claims (15)

電気的に消去及び書込みが可能な一つの不揮発性メモリセルに多値の情報を記憶可能にする半導体装置であって、
一対の入出力端子を有するセンスラッチ回路と、センスラッチ回路の夫々の入出力端子に対応して設けられたビット線と、ビット線に選択的に接続され電気的に消去及び書込み可能な複数個の不揮発性メモリセルと、夫々のビット線に結合されるデータラッチ回路と、前記データラッチ回路を外部とインタフェース可能にする入出力手段と、前記メモリセルに対するデータ読み出し、消去及び書込みを制御する制御手段とを含み、
前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、データラッチ回路に保持された複数ビットの書込みデータに基づいて、ビット線への接続が選択された不揮発性メモリセルを閾値電圧の異なるどの状態にするかを決定する書込み制御情報を書込み動作毎に生成して、前記センスラッチ回路にラッチさせるものであることを特徴とする半導体装置。
A semiconductor device capable of storing multi-value information in one nonvolatile memory cell that can be electrically erased and written,
A sense latch circuit having a pair of input / output terminals, a bit line provided corresponding to each input / output terminal of the sense latch circuit, and a plurality of electrically erasable and writable bits selectively connected to the bit line Nonvolatile memory cells, data latch circuits coupled to the respective bit lines, input / output means for allowing the data latch circuits to interface with the outside, and control for controlling data reading, erasing and writing to the memory cells Means,
The control means holds external write data in the data latch circuit, and thresholds a nonvolatile memory cell selected to be connected to the bit line based on a plurality of bits of write data held in the data latch circuit. Write control information for determining which state is different in voltage is generated for each write operation and is latched by the sense latch circuit.
前記制御手段は更に、過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なうものであることを特徴とする請求項1記載の半導体装置。The control unit further determines whether the threshold voltage to be set in the memory cell is a threshold voltage corresponding to a threshold voltage to be overwritten detection for each verify read operation for overwriting detection. If the latch data of the latch circuit is operated and determined, the determination result is latched by the sense latch circuit, and the determination result data latched by the sense latch circuit is the corresponding threshold voltage. 2. The semiconductor device according to claim 1, wherein line precharge is performed and overwriting is detected based on whether or not the bit line precharge state is changed by a verify read operation. 前記制御手段は、前記過書込みが検出された時、再消去の後に書込みを再実行させるものであることを特徴とする請求項2記載の半導体装置。3. The semiconductor device according to claim 2, wherein when the overwriting is detected, the control unit re-executes writing after re-erasing. 電気的に消去及び書込みが可能な不揮発性メモリセルを、閾値電圧の異なる消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態に制御して、一つのメモリセルに4値の情報を記憶可能にする半導体装置であって、
一対の入出力端子を有するセンスラッチ回路と、センスラッチ回路の夫々の入出力端子に別々に設けられたプリチャージ手段と、夫々のプリチャージ手段によってプリチャージされるビット線と、ビット線に選択的に接続され電気的に消去及び書込み可能な複数個の不揮発性メモリセルと、夫々のビット線に結合されるデータラッチ回路と、前記データラッチ回路及びセンスラッチ回路を外部とインタフェース可能にする入出力手段と、前記メモリセルに対するデータ読み出し、消去及び書込みを制御する制御手段とを含み、
前記制御手段は、外部からの書込みデータを前記データラッチ回路に保持させ、センスラッチ回路を共有する一対のビット線に接続された2個のデータラッチ回路が保持する2ビットの書込みデータを単位として、ビット線への接続が選択された不揮発性メモリセルを前記消去状態、第1の書込み状態、第2の書込み状態又は第3の書込み状態の何れの状態にするかを決定する書込み制御情報を演算して、書込み動作毎に前記センスラッチ回路にラッチさせ、ラッチされた書込み制御情報に従って前記第1乃至第3の書込み状態を制御するものであることを特徴とする半導体装置。
A non-volatile memory cell that can be electrically erased and written is controlled to be in an erase state, a first write state, a second write state, or a third write state with different threshold voltages, so that one memory cell has 4 A semiconductor device capable of storing value information,
Select a sense latch circuit having a pair of input / output terminals, a precharge means provided separately for each input / output terminal of the sense latch circuit, a bit line precharged by each precharge means, and a bit line Non-volatile memory cells electrically connected and electrically erasable and writable, a data latch circuit coupled to each bit line, and an input enabling the data latch circuit and the sense latch circuit to interface with the outside. Output means, and control means for controlling data reading, erasing and writing to the memory cell,
The control means holds external write data in the data latch circuit, and uses 2-bit write data held by two data latch circuits connected to a pair of bit lines sharing the sense latch circuit as a unit. Write control information for determining whether the nonvolatile memory cell selected to be connected to the bit line is in the erased state, the first written state, the second written state, or the third written state A semiconductor device, wherein the first and third write states are controlled in accordance with the latched write control information by calculating and latching the sense latch circuit for each write operation.
前記制御手段は、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第1の論理値とする書込み制御情報をラッチしたとき、当該第1の論理値とされるビット線に接続されるメモリセルを書込み動作させ、
前記制御手段による前記書込み制御情報の演算は、センスラッチを共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第1の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第2の書込みデータビットとに対し、前記第1の書込みデータビットの論理反転データと前記第2の書込みデータビットとの論理和、前記第1の書込みデータビットと前記第2の書込みデータビットとの論理和、前記第1の書込みデータビットと前記第2の書込みデータビットの論理反転データとの論理和を、データラッチ回路のラッチデータに基づくビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作であり、
前記制御手段は、前記演算によって順次得られた論理和を、書込み動作毎に、前記センスラッチ回路にラッチさせ、ラッチされた論理和が第1の論理値となるメモリセル接続選択ビット線ビット線のメモリセルを書込み動作させるものでることを特徴とする請求項4記載の半導体装置。
The control means is connected to the bit line having the first logic value when the sense latch circuit latches the write control information having the output data on the memory cell connection selection bit line side as the first logic value. Write the memory cell
The calculation of the write control information by the control means includes the first write data bit latched in the data latch circuit on one memory cell connection selection bit line side sharing the sense latch and the other memory cell connection non-selection bit line. Logical inversion data of the first write data bit and the second write data bit with respect to the second write data bit latched in the data latch circuit on the side, the first write data bit A bit line precharge based on the latch data of the data latch circuit, and a logical sum of the first write data bit and a logical inversion data of the second write data bit. Operation based on the operation and sense operation by the sense latch circuit,
The control means causes the sense latch circuit to latch the logical sum sequentially obtained by the operation for each write operation, and the memory cell connection selection bit line bit line in which the latched logical sum becomes the first logical value 5. The semiconductor device according to claim 4, wherein the memory cell is subjected to a write operation.
前記制御手段は更に、過書込み検出のためのベリファイ読み出し動作毎に、メモリセルに設定されるべき閾値電圧が過書込み検出対象とされる閾値電圧に対応する閾値電圧であるか否かを前記データラッチ回路のラッチデータを演算して判定し、その判定結果を前記センスラッチ回路にラッチさせ、センスラッチ回路にラッチされた判定結果データが前記対応する閾値電圧であることを意味する場合にはビット線プリチャージが行われ、ビット線プリチャージ状態がベリファイ読み出し動作によって変化されるか否かに基づいて過書込みの検出を行なうものであり、
前記制御手段による前記判定のための演算は、センスラッチを共有する一方のメモリセル接続選択ビット線側のデータラッチ回路にラッチされた第1の書込みデータビットと他方のメモリセル接続非選択ビット線側のデータラッチ回路にラッチされた第2の書込みデータビットとに対し、前記第1の書込みデータビットと前記第2の書込みデータビットとの負論理和、前記第1の書込みデータビットと前記第2の書込みデータビットの論理反転データとの論理積、前記第1の書込みデータビットと前記第2の書込みデータビットとの論理積を、データラッチ回路のラッチデータによるビット線プリチャージ動作とセンスラッチ回路によるセンス動作とに基づいて演算する動作であり、
前記制御手段は、前記演算によって順次得られた負論理和及び論理積を、過書込み検出動作毎に、前記判定結果データとして前記センスラッチ回路にラッチさせ、前記センスラッチ回路がメモリセル接続選択ビット線側の出力データを第2の論理値とする判定結果データをラッチしたとき、前記プリチャージ回路を介して当該メモリセル接続選択ビット線をプリチャージ動作させるものであることを特徴とする請求項5記載の半導体装置。
The control unit further determines whether the threshold voltage to be set in the memory cell is a threshold voltage corresponding to a threshold voltage to be overwritten detection for each verify read operation for overwriting detection. If the latch data of the latch circuit is operated and determined, the determination result is latched by the sense latch circuit, and the determination result data latched by the sense latch circuit is the corresponding threshold voltage. Line precharge is performed, and overwriting is detected based on whether the bit line precharge state is changed by the verify read operation.
The operation for the determination by the control means includes the first write data bit latched in the data latch circuit on the side of one memory cell connection selection bit line sharing the sense latch and the other memory cell connection non-selection bit line. A negative OR of the first write data bit and the second write data bit, the first write data bit and the second write data bit latched in the data latch circuit on the side The logical product of two write data bits with logically inverted data and the logical product of the first write data bit and the second write data bit are converted into a bit line precharge operation and a sense latch by latch data of a data latch circuit. It is an operation that calculates based on the sense operation by the circuit,
The control means causes the sense latch circuit to latch the negative logical sum and the logical product obtained sequentially by the calculation as the determination result data for each overwrite detection operation, and the sense latch circuit selects the memory cell connection selection bit. The memory cell connection selection bit line is precharged via the precharge circuit when the determination result data having the line side output data as the second logic value is latched. 5. The semiconductor device according to 5.
前記制御回路は、書込み動作の異常終了の後、リトライ書込みコマンドの供給を受け付けたとき、当該コマンドに伴って供給されるアドレスに、既にデータラッチ回路が保持している書込みデータを書込み制御するものであることを特徴とする請求項1乃至6の何れか1項記載の半導体装置。When the control circuit receives supply of a retry write command after abnormal termination of the write operation, the control circuit performs write control of the write data already held by the data latch circuit at the address supplied with the command. The semiconductor device according to claim 1, wherein the semiconductor device is a semiconductor device. 前記制御回路は、書込み動作の異常終了の後、リカバリ読み出しコマンドの供給を受け付けたとき、データラッチ回路が保持している書込みデータを前記入出力手段を介して外部に出力させるものであることを特徴とする請求項1乃至7の何れか1項記載の半導体装置。The control circuit outputs the write data held by the data latch circuit to the outside via the input / output means when receiving the supply of the recovery read command after the abnormal end of the write operation. 8. The semiconductor device according to claim 1, wherein the semiconductor device is characterized in that: 前記制御手段は、書き換え第1コマンドが供給されると書き換えアドレスを取り込むと共に、書込みデータをデータラッチ回路に取り込み、書き換え第2コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、データラッチ回路に保持されているデータに基づいて書込み動作を制御するものであることを特徴とする請求項1乃至8の何れか1項記載の半導体装置。When the rewrite first command is supplied, the control means takes in the rewrite address, fetches the write data into the data latch circuit, and after the rewrite second command is supplied, erases the area specified by the rewrite address. 9. The semiconductor device according to claim 1, wherein the writing operation is controlled based on data stored in the data latch circuit. 前記制御手段は、書き換え第1コマンドが供給されると書き換えアドレスを取り込み、取り込んだアドレスのデータをデータラッチ回路に退避し、退避の後に書き換えアドレスの範囲内で書き換えアドレスを指定して書込みデータをデータラッチ回路に取り込み、書き換え第2コマンドが供給された後、前記書き換えアドレスで指定された領域の消去を行ない、次いで、前記書き換えアドレスで指定された領域のデータラッチ回路に保持されているデータに基づいて書込み動作を制御するものであることを特徴とする請求項1乃至8の何れか1項記載の半導体装置。When the first rewrite command is supplied, the control means fetches a rewrite address, saves the data at the fetched address in the data latch circuit, specifies the rewrite address within the range of the rewrite address after saving, and writes the write data. After the second command for rewriting is supplied to the data latch circuit, the area designated by the rewrite address is erased, and then the data held in the data latch circuit in the area designated by the rewrite address is stored. 9. The semiconductor device according to claim 1, wherein the write operation is controlled on the basis of the write operation. 前記制御手段は、部分消去第1コマンドが供給されるとセクタアドレスを取り込み、次いで部分消去第2コマンドが供給されると、セクタアドレスで指定される領域中の一定領域に対応されるデータラッチには当該一定領域のデータを退避すると共にその他の領域に対応されるデータラッチ回路には消去状態を指示するデータをセットし、更に、前記セクタアドレスで指定された領域に対する消去を行なってから、前記データラッチ回路に設定されたデータに従って書込み制御を行なうものであることを特徴とする請求項1乃至10の何れか1項記載の半導体装置。When the partial erase first command is supplied, the control means takes in the sector address, and when the partial erase second command is supplied, the control means stores the data latch corresponding to a certain area in the area specified by the sector address. Saves the data in the fixed area, sets data indicating an erase state in the data latch circuit corresponding to the other area, and further erases the area specified by the sector address, and then 11. The semiconductor device according to claim 1, wherein write control is performed in accordance with data set in the data latch circuit. カード基板に、請求項1乃至11の何れか1項記載の半導体装置と、前記半導体装置をアクセス制御するメモリコントローラと、メモリコントローラに接続される外部インタフェース回路とが実装されて成るものであることを特徴とするメモリカード。A semiconductor device according to any one of claims 1 to 11, a memory controller for controlling access to the semiconductor device, and an external interface circuit connected to the memory controller are mounted on a card board. A memory card characterized by 請求項1乃至11の何れか1項記載の半導体装置と、前記半導体装置をアクセス制御するメモリコントローラと、メモリコントローラを制御するプロセッサとを含んで成るものであることを特徴とするデータ処理システム。12. A data processing system comprising: the semiconductor device according to claim 1; a memory controller that controls access to the semiconductor device; and a processor that controls the memory controller. 請求項7記載の半導体装置と、前記半導体装置による書込み動作の異常終了を検出した時、リトライ書込みコマンドと書込みアドレスとを前記半導体装置に向けて出力する制御装置とを含んで成るものであることを特徴とするデータ処理システム。8. A semiconductor device according to claim 7, and a control device for outputting a retry write command and a write address to the semiconductor device when an abnormal end of a write operation by the semiconductor device is detected. A data processing system. 請求項8記載の半導体装置を複数個有し、更に、半導体装置による書込み動作の異常終了を検出した時、リカバリ読み出しコマンドを当該異常終了に係る半導体装置に向けて出力すると共に、リカバリ読み出しコマンドが供給された半導体装置が出力する書込みデータを取り込み、取り込んだ書込みデータを別の半導体装置に書込み制御する制御装置を備えて成るものであることを特徴とするデータ処理システム。A plurality of semiconductor devices according to claim 8, and further, when the abnormal end of the write operation by the semiconductor device is detected, a recovery read command is output to the semiconductor device related to the abnormal end, and the recovery read command What is claimed is: 1. A data processing system comprising: a controller that takes in write data output from a supplied semiconductor device and controls writing of the taken write data into another semiconductor device.
JP03277698A 1998-02-16 1998-02-16 Semiconductor device, memory card and data processing system Expired - Fee Related JP3883687B2 (en)

Priority Applications (14)

Application Number Priority Date Filing Date Title
JP03277698A JP3883687B2 (en) 1998-02-16 1998-02-16 Semiconductor device, memory card and data processing system
TW090111836A TW462059B (en) 1998-02-16 1999-01-28 Non-volatile semiconductor memory apparatus
TW089107774A TW463170B (en) 1998-02-16 1999-01-28 Non-volatile semiconductor memory divice
TW088101325A TW452796B (en) 1998-02-16 1999-01-28 Semiconductor apparatus, memory card, and data processing system
KR10-1999-0004810A KR100529990B1 (en) 1998-02-16 1999-02-11 Semiconductor, memory card, and data processing system
US09/250,157 US6046936A (en) 1998-02-16 1999-02-16 Semiconductor, memory card, and data processing system
US09/539,633 US6233174B1 (en) 1998-02-16 2000-03-30 Non volatile semiconductor, memory
US09/539,634 US6333871B1 (en) 1998-02-16 2000-03-30 Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation
US09/820,894 US6456526B2 (en) 1998-02-16 2001-03-30 Non-volatile memory device operation in response to two different types of read commands and a write command which includes write verification
US09/820,906 US6320793B2 (en) 1998-02-16 2001-03-30 Non-volatile memory device
US09/985,116 US6504764B2 (en) 1998-02-16 2001-11-01 Non-volatile memory device
US10/011,723 US6507520B2 (en) 1998-02-16 2001-12-11 Nonvolatile memory system
US10/211,342 US6721207B2 (en) 1998-02-16 2002-08-05 Non-volatile memory system including a control device to control writing, reading and storage and output operations of non-volatile devices including memory cells and data latches
US10/776,190 US6992936B2 (en) 1998-02-16 2004-02-12 Semiconductor, memory card, and data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03277698A JP3883687B2 (en) 1998-02-16 1998-02-16 Semiconductor device, memory card and data processing system

Publications (2)

Publication Number Publication Date
JPH11232886A JPH11232886A (en) 1999-08-27
JP3883687B2 true JP3883687B2 (en) 2007-02-21

Family

ID=12368255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03277698A Expired - Fee Related JP3883687B2 (en) 1998-02-16 1998-02-16 Semiconductor device, memory card and data processing system

Country Status (4)

Country Link
US (5) US6046936A (en)
JP (1) JP3883687B2 (en)
KR (1) KR100529990B1 (en)
TW (3) TW462059B (en)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19615105A1 (en) * 1996-04-17 1997-10-23 Bosch Gmbh Robert Method for operating a control device with a programmable memory device
US5974058A (en) * 1998-03-16 1999-10-26 Storage Technology Corporation System and method for multiplexing serial links
JP2001126490A (en) 1999-10-25 2001-05-11 Hitachi Ltd Writing method for nonvolatile semiconductor multi-level storage device
GB2363498B (en) * 2000-06-16 2005-06-01 Marconi Caswell Ltd Transponder device for generating a data bearing output
JP4082482B2 (en) 2000-12-11 2008-04-30 株式会社ルネサステクノロジ Storage system and data processing system
JP2002197878A (en) 2000-12-26 2002-07-12 Hitachi Ltd Semiconductor device and data processing system
US6480419B2 (en) * 2001-02-22 2002-11-12 Samsung Electronics Co., Ltd. Bit line setup and discharge circuit for programming non-volatile memory
JP4849728B2 (en) 2001-03-30 2012-01-11 ルネサスエレクトロニクス株式会社 Semiconductor device
TW561491B (en) 2001-06-29 2003-11-11 Toshiba Corp Semiconductor memory device
JP2003036681A (en) * 2001-07-23 2003-02-07 Hitachi Ltd Non-volatile storage device
TW546840B (en) 2001-07-27 2003-08-11 Hitachi Ltd Non-volatile semiconductor memory device
JP2003077283A (en) 2001-08-31 2003-03-14 Hitachi Ltd Semiconductor integrated circuit, semiconductor nonvolatile memory, memory card, and microcomputer
JP2003141900A (en) * 2001-10-31 2003-05-16 Hitachi Ltd Nonvolatile semiconductor memory device
JP2003233534A (en) * 2002-02-07 2003-08-22 Hitachi Ltd Memory system
JP4012152B2 (en) 2002-02-28 2007-11-21 株式会社ルネサステクノロジ Nonvolatile semiconductor memory device
US6958940B2 (en) 2002-02-28 2005-10-25 Renesas Technology Corp. Nonvolatile semiconductor memory device capable of realizing optimized erasing operation in a memory array
JP2004319034A (en) * 2003-04-18 2004-11-11 Renesas Technology Corp Data processor
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
JP2004348791A (en) * 2003-05-20 2004-12-09 Sharp Corp Semiconductor memory device and portable electronic equipment
JP4041057B2 (en) 2003-11-13 2008-01-30 株式会社東芝 Nonvolatile semiconductor memory device
JP4170952B2 (en) 2004-01-30 2008-10-22 株式会社東芝 Semiconductor memory device
JP4750034B2 (en) 2004-07-30 2011-08-17 スパンション エルエルシー Semiconductor device and writing method
JP2006065928A (en) * 2004-08-25 2006-03-09 Renesas Technology Corp Nonvolatile semiconductor storage device and semiconductor integrated circuit device
KR100645043B1 (en) * 2004-09-08 2006-11-10 삼성전자주식회사 Nonvolatile memory device having a test buffer and its test method
US6980471B1 (en) * 2004-12-23 2005-12-27 Sandisk Corporation Substrate electron injection techniques for programming non-volatile charge storage memory cells
TWI286764B (en) * 2005-01-20 2007-09-11 Himax Tech Ltd Memory architecture of display device and memory writing method for the same
JP4991131B2 (en) * 2005-08-12 2012-08-01 株式会社東芝 Semiconductor memory device
US7515482B2 (en) 2005-09-29 2009-04-07 Hynix Semiconductor Inc. Pipe latch device of semiconductor memory device
KR100784107B1 (en) 2006-04-24 2007-12-10 주식회사 하이닉스반도체 Driving method of flash memory device
KR100794663B1 (en) * 2006-08-28 2008-01-14 삼성전자주식회사 Flash memory device with disturb monitoring scheme
KR100836762B1 (en) * 2006-12-11 2008-06-10 삼성전자주식회사 Multi bit flash memory device and its program method
KR100799688B1 (en) 2007-01-03 2008-02-01 삼성전자주식회사 Memory system having a backup circuit and program method thereof
ES2335332B1 (en) * 2008-01-16 2011-01-07 Alejandro Rodriguez Barros ASSEMBLY OF MULTISEÑAL EXTERIOR REAR VIEW MIRROR OF A VEHICLE.
US7957197B2 (en) * 2008-05-28 2011-06-07 Sandisk Corporation Nonvolatile memory with a current sense amplifier having a precharge circuit and a transfer gate coupled to a sense node
KR101521997B1 (en) 2008-06-19 2015-05-22 삼성전자주식회사 MEMORY CARDS USING MULTI-LEVEL SIGNALING AND MEMORY SYSTEM CONTAINING THE SAME
US8397024B2 (en) 2008-10-25 2013-03-12 Sandisk 3D Llc Page buffer program command and methods to reprogram pages without re-inputting data to a memory device
US8089805B2 (en) 2008-11-20 2012-01-03 Micron Technology, Inc. Two-part programming methods and memories
KR101662271B1 (en) * 2009-06-29 2016-10-04 삼성전자주식회사 Page buffer and Nonvolatile semiconductor memory device comprising the same
KR20110078747A (en) * 2009-12-31 2011-07-07 주식회사 하이닉스반도체 Operation Method of Semiconductor Memory Device
JP2011204298A (en) 2010-03-24 2011-10-13 Toshiba Corp Nonvolatile semiconductor memory
WO2012009812A1 (en) 2010-07-21 2012-01-26 Mosaid Technologies Incorporated Multipage program scheme for flash memory
KR101155249B1 (en) * 2010-11-10 2012-06-13 에스케이하이닉스 주식회사 Semiconductor memory device and method of erasing the same
US8325534B2 (en) 2010-12-28 2012-12-04 Taiwan Semiconductor Manufacturing Co., Ltd. Concurrent operation of plural flash memories
KR101996004B1 (en) * 2012-05-29 2019-07-03 삼성전자주식회사 Programming method of nonvolatile memory device and memory system having the same
KR102005709B1 (en) * 2012-10-22 2019-08-01 삼성전자 주식회사 A method of operating the memory device and the memory system
US9416987B2 (en) 2013-07-26 2016-08-16 Honeywell International Inc. HVAC controller having economy and comfort operating modes
JP2015056199A (en) * 2013-09-13 2015-03-23 株式会社東芝 Nonvolatile semiconductor storage device and data transfer method
JP2015176628A (en) * 2014-03-17 2015-10-05 株式会社東芝 Semiconductor memory device and memory controller
JP6453718B2 (en) * 2015-06-12 2019-01-16 東芝メモリ株式会社 Semiconductor memory device and memory system
US10331561B1 (en) 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
US10261704B1 (en) 2016-06-29 2019-04-16 EMC IP Holding Company LLC Linked lists in flash memory
US10055351B1 (en) 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10297338B2 (en) * 2016-09-20 2019-05-21 Toshiba Memory Corporation Memory system
US10600484B2 (en) * 2017-12-20 2020-03-24 Silicon Storage Technology, Inc. System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory
CN110968451B (en) 2018-09-30 2021-09-21 华为技术有限公司 Memory access technology and computer system
CN111863081A (en) * 2019-04-29 2020-10-30 北京兆易创新科技股份有限公司 Method and device for controlling programming verification of NOR flash memory
US11507816B2 (en) * 2019-09-19 2022-11-22 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
KR102752629B1 (en) * 2019-12-04 2025-01-10 에스케이하이닉스 주식회사 Memory device and operating method thereof

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3083547B2 (en) * 1990-07-12 2000-09-04 株式会社日立製作所 Semiconductor integrated circuit device
US5602789A (en) * 1991-03-12 1997-02-11 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile and multi-level memory systemn with write-verify controller
US5361227A (en) * 1991-12-19 1994-11-01 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
KR0169267B1 (en) * 1993-09-21 1999-02-01 사토 후미오 Nonvolatile Semiconductor Memory
JP3199989B2 (en) * 1994-09-30 2001-08-20 株式会社東芝 Nonvolatile semiconductor memory device and overwriting remedy method
KR0172401B1 (en) * 1995-12-07 1999-03-30 김광호 Multistate Nonvolatile Semiconductor Memory Devices
JP3200006B2 (en) * 1996-03-18 2001-08-20 株式会社東芝 Nonvolatile semiconductor memory device
JP3740212B2 (en) * 1996-05-01 2006-02-01 株式会社ルネサステクノロジ Nonvolatile semiconductor memory device
US6026014A (en) * 1996-12-20 2000-02-15 Hitachi, Ltd. Nonvolatile semiconductor memory and read method
JP3401395B2 (en) * 1996-12-25 2003-04-28 シャープ株式会社 Data write circuit for nonvolatile semiconductor memory
US6226708B1 (en) * 1997-08-18 2001-05-01 Texas Instruments Incorporated Method and system for efficiently programming non-volatile memory

Also Published As

Publication number Publication date
JPH11232886A (en) 1999-08-27
US6233174B1 (en) 2001-05-15
KR100529990B1 (en) 2005-11-22
US6046936A (en) 2000-04-04
US20020027807A1 (en) 2002-03-07
TW452796B (en) 2001-09-01
US20010009520A1 (en) 2001-07-26
US6456526B2 (en) 2002-09-24
US6320793B2 (en) 2001-11-20
TW462059B (en) 2001-11-01
KR19990072588A (en) 1999-09-27
TW463170B (en) 2001-11-11
US6504764B2 (en) 2003-01-07
US20010010644A1 (en) 2001-08-02

Similar Documents

Publication Publication Date Title
JP3883687B2 (en) Semiconductor device, memory card and data processing system
JP4090570B2 (en) Semiconductor device, data processing system, and nonvolatile memory cell threshold value changing method
US6992936B2 (en) Semiconductor, memory card, and data processing system
JP3784163B2 (en) Nonvolatile semiconductor memory device
KR100322824B1 (en) Semiconductor Nonvolatile Memory
KR101126006B1 (en) Controlling a memory device responsive to degradation
US6603680B2 (en) Semiconductor device and data processing system
US8605512B2 (en) Nonvolatile semiconductor memory device and method of operating a nonvolatile memory device
JP2004022112A (en) Non-volatile semiconductor memory device
US5812451A (en) Nonvolatile semiconductor storage apparatus and method of writing data to the same
JP2001023383A (en) Semiconductor device, memory card and data processing system
JPH1093054A (en) Semiconductor device and data processing system
JPH09213093A (en) Nonvolatile semiconductor memory and testing method and trimming method therefor
JP2007095233A (en) Nonvolatile memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040331

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061115

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20091124

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20091124

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees