JP2004047050A - Nonvolatile semiconductor storage device and method for determining data - Google Patents

Nonvolatile semiconductor storage device and method for determining data Download PDF

Info

Publication number
JP2004047050A
JP2004047050A JP2003136269A JP2003136269A JP2004047050A JP 2004047050 A JP2004047050 A JP 2004047050A JP 2003136269 A JP2003136269 A JP 2003136269A JP 2003136269 A JP2003136269 A JP 2003136269A JP 2004047050 A JP2004047050 A JP 2004047050A
Authority
JP
Japan
Prior art keywords
data
state
memory cell
current
reference current
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.)
Granted
Application number
JP2003136269A
Other languages
Japanese (ja)
Other versions
JP4177167B2 (en
Inventor
Mitsuteru Iijima
飯島 光輝
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003136269A priority Critical patent/JP4177167B2/en
Publication of JP2004047050A publication Critical patent/JP2004047050A/en
Application granted granted Critical
Publication of JP4177167B2 publication Critical patent/JP4177167B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a nonvolatile semiconductor storage device capable of correctly detecting data regardless of the existence of a leakage current in a virtual ground memory array. <P>SOLUTION: This nonvolatile semiconductor storage device comprises: the virtual ground memory array including a plurality of word lines and a plurality of bit lines; a row decoder for selectively activating one word line out of the plurality of word lines; a column decoder for applying sense voltage to one bit line out of the plurality of bit lines and setting all of the other bit lines in a ground potential; and a sense amplifier for judging the data state of two memory cells connected to one word line and sharing one bit line as one of a first state in which both data are 0, a second state in which both data are 1, and a third state in which one of the data is 1 and the other is 0 by comparing the current flowing the one bit line with a first reference current and a second reference current. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、一般に不揮発性半導体記憶装置に関し、詳しくは仮想接地メモリアレイを用いた不揮発性半導体記憶装置に関する。
【従来の技術】
仮想接地メモリアレイにおいては、ビット線が拡散層で形成されており、2本のビット線に対応する拡散層のうちグラウンド電位に設定した側がソースとなり電源電位に設定した側がドレインとなる。このような仮想接地メモリアレイにおいては、ビット線となる各メモリセルの拡散層が、ワード線方向で隣接するメモリセルのビット線となる拡散層と共通に形成される。従って、一般的なNOR型メモリセルアレイに存在するメモリセル毎のドレイン・コンタクトが不必要であり、メモリセル・サイズを縮小することが可能となる。
【0002】
図1は、仮想接地メモリアレイの一部を示す図である。
【0003】
図1の仮想接地メモリアレイは、メモリセルM00乃至M23、ビット線BL0乃至BL4、ワード線WL0乃至WL2を含む。メモリセルM02のデータを読み出すためには、ワード線WL0を所定の電位に設定してワード線WLに接続される全てのメモリセルを選択し、更にビット線BL0乃至BL2を例えば1Vのドレイン側電位に設定すると共に、ビット線BL3及びBL4をグラウンド電位に設定する。これによりメモリセルM02に対して、ビット線BL2がドレインとなりビット線BL3がソースとなる。この時図1に示されるようにメモリセルM02に流れる電流Im02は、ビット線BL2に流れる電流Ibl2と等しく、この電流Ibl2を図示されないセンスアンプで検出することで、メモリセルM02のデータ値を読み出す。
【0004】
この読み出し動作において、ビット線BL1に1Vを印加してビット線BL1をビット線BL2と同電位にするのは、メモリセルM01を介してビット線BL2からビット線BL1にリーク電流が流れるのを防ぐためである。仮にこのようなリーク電流が流れてしまうと、メモリセルM02に流れる電流Im02はビット線BL2に流れる電流Ibl2と異なることになり、電流Ibl2を検出してもメモリセルの正しいデータ値を読み出せない場合があり得る。
【0005】
上記のようなリーク電流を防ぐ構成において、隣接ビット線BL1に印加する電圧をプリチャージ電圧と呼び、読み出し対象ビット線BL2に印加する電圧をセンス電圧と呼ぶ。
【特許文献1】
特開平10−69794号公報
【発明が解決しようとする課題】
仮想接地メモリアレイはビット線が不純物拡散層で形成されているので、低抵抗のメタルでビット線が結線されている一般的なNOR型不揮発性メモリに比べてビット線抵抗値が大きく、ビット線に沿った電圧降下が生じやすい。このために、上記センス電圧とプリチャージ電圧とが同電位にならない場合がある。
【0006】
また上記センス電圧とプリチャージ電圧とはそれぞれ別の回路から供給される構成が通常であり、互いの間で電圧印加タイミングにずれが生じやすい。このような場合、センス電圧とプリチャージ電圧とが同電位にならない。
【0007】
図1のメモリセルM02のデータを検出するとき、隣接メモリセルM01のデータ状態が“0”で閾値電圧が高い場合には、プリチャージ電圧とセンス電圧の電位差が多少あっても、メモリセルM01にはリーク電流は殆ど流れない。しかしメモリセルM01のデータ状態が“1”で閾値電圧が低い場合には、プリチャージ電圧とセンス電圧との電位差の影響が無視できない。
【0008】
またプログラム・ベリファイ動作やイレース・ベリファイ動作を実行する際に、リーク電流の影響でメモリセルの閾値電圧が実際とは異なって検出されてしまうと、ベリファイ動作自体の信頼性が著しく落ちてしまう。その結果、メモリセル間でのデータ“0”及び“1”の閾値電圧のばらつきが大きくなり、熱ストレス等による閾値変動に対するマージンが少なくなるので、不揮発性メモリの信頼性が劣化する。
【0009】
以上を鑑みて、本発明は、仮想接地メモリアレイにおいてリーク電流の存在に関わらず正確にデータ検出が可能な不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
本発明による不揮発性半導体記憶装置は、複数のワード線及び複数のビット線を含む仮想接地メモリアレイと、該複数のワード線の一本のワード線を選択活性化するローデコーダと、該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定するコラムデコーダと、該1本のビット線に流れる電流を第1基準電流及び第2基準電流と比較することにより、該1本のワード線に接続され且つ該1本のビット線を共有する2つのメモリセルのデータ状態を、両方が0である第1の状態、両方が1である第2の状態、何れか一方が1で他方が0である第3の状態の何れかとして判定するセンスアンプを含むことを特徴とする。
【0010】
上記発明においては、従来は電流のリーク経路であったデータ判定対象ではないメモリセルをデータ判定対象として含めることで、センス対象のビット線を共有する2つのメモリセルを両方ともデータ判定対象とし、2つの異なる基準電流と該ビット線の電流を比較することにより2つのメモリセルのデータ状態を纏めて判定する。この構成では、データ判定する際にセンス対象のビット線以外のビット線は全てグラウンド電位となるため、従来必要であったビット線のプリチャージ動作が不要となる。またグラウンド電位はプリチャージ電圧に比べて極めて安定であり、ビット線抵抗による電圧降下の影響も受けない。従って、センス対象のビット線とプリチャージ対象のビット線との不安定な電位差によって従来生じていた読み出し不良を、本発明においては完全に防止することが可能になる。
【0011】
また本発明の別の側面によれば、不揮発性半導体記憶装置は、複数のワード線及び複数のビット線を含む仮想接地メモリアレイと、該複数のワード線の任意の一本に接続され且つ該複数のビット線の任意の一本のビット線を共有する2つのメモリセルの間でデータ“0”の閾値電圧及びデータ“1”の閾値電圧の少なくとも一方の閾値電圧を異ならせてデータを設定する制御回路を含むことを特徴とする。
【0012】
上記不揮発性半導体記憶装置は、該複数のワード線の一本のワード線を選択活性化するローデコーダと、該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定するコラムデコーダと、該1本のビット線に流れる電流を第1基準電流、第2基準電流、及び第3基準電流と比較することにより、該1本のワード線に接続され且つ該1本のビット線を共有する2つのメモリセルの各々のデータ状態を判定するセンスアンプを更に含むことを特徴とする。
【0013】
上記不揮発性半導体記憶装置においては、データ“0”に対する異なる閾値電圧又はデータ“1”に対する異なる閾値電圧を有する2種類のメモリセルをワード線方向に交互に並べ、データ読み出し時には、隣り合う偶数番目のメモリセルと奇数番目のメモリセルとを一対として、一対のメモリセルに流れる合計電流と3種類の異なる基準電流とを比較する。これにより、対をなすメモリセルのそれぞれに対してデータ判定を行うことが可能となる。
【発明の実施の形態】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0014】
図2は、本発明による不揮発性半導体記憶装置の構成を示す図である。
【0015】
図2の不揮発性半導体記憶装置10は、制御回路11、チップイネーブル&アウトプットイネーブル回路12、入出力バッファ13、セルアレイ14、ローデコーダ15、コラムデコーダ16、アドレスラッチ17、データラッチ18、読み出し回路19、書き込み回路20、消去回路21、及び基準電流発生回路22を含む。
【0016】
制御回路11は、ライトイネーブル/WEやチップイネーブル/CE等の制御信号、アドレス信号、データ信号を外部から受け取り、これらの信号に基づいてステートマシンとして動作して、不揮発性半導体記憶装置10の各部の動作を制御する。入出力バッファ13は、外部からデータを受け取り、このデータを制御回路11及びデータラッチ18に供給する。チップイネーブル&アウトプットイネーブル回路12は、装置外部から制御信号としてチップイネーブル信号/CE及びアウトプットイネーブル信号/OEを受け取り、入出力バッファ13及びセルアレイ14の動作/非動作を制御する。
【0017】
読み出し回路19は制御回路11の制御の下で動作し、セルアレイ14の読み出しアドレスからデータを読み出すために、アドレスラッチ17を介してセルアレイ14、ローデコーダ15、コラムデコーダ16等を制御する。書き込み回路20は制御回路11の制御の下で動作し、セルアレイ14の書き込みアドレスにデータを書き込むために、アドレスラッチ17を介してセルアレイ14、ローデコーダ15、コラムデコーダ16等を制御する。また消去回路21は制御回路11の制御の下で動作し、セルアレイ14の指定された領域を所定単位で一括消去するために、アドレスラッチ17を介してセルアレイ14、ローデコーダ15、コラムデコーダ16等を制御する。
【0018】
セルアレイ16は仮想接地メモリアレイであり、メモリセルトランジスタの配列、ワード線、ビット線等を含み、各メモリセルトランジスタにデータを記憶する。データ読み出し時には、活性化ワード線で指定されるメモリセルからのデータが、ビット線に読み出される。プログラム或いはイレーズ時には、ワード線及びビット線をそれぞれの動作に応じた適当な電位に設定することで、メモリセルに対する電荷注入或いは電荷抜き取りの動作を実行する。
【0019】
データラッチ18は制御回路11の制御の下で動作し、ローデコーダ15及びコラムデコーダ16による指定に応じてセルアレイ14から供給されるデータの電流を基準電流と比較することで、データが0であるか1であるかの判定を行う。この判定はデータラッチ18内のセンスアンプ回路により実行され、判定結果は読み出しデータとして、入出力バッファ13に供給される。またプログラム動作及びイレーズ動作に伴うベリファイ動作は、ローデコーダ15及びコラムデコーダ16による指定に応じてセルアレイ14から供給されるデータの電流を、プログラムベリファイ用及びイレーズベリファイ用の基準電流と比較することで行われる。基準電流発生回路22は、これらデータ判定動作に用いられる基準電流を発生する回路である。データラッチ18は更に、データ書き込み動作の際に外部から入出力バッファ13を介して入力されるデータをラッチし、セルアレイ14に対するデータ書き込み動作に用いられる。
【0020】
本発明の1つの特徴として、以下に説明するように基準電流発生回路22が第1の基準電流及び第2の基準電流(第2の基準電流>第1の基準電流)を生成し、データラッチ18はこれら2つの基準電流とデータ電流とを比較することで、リーク電流の存在に関わらずに正確なデータ判定を実現する。
【0021】
図3は、第1の実施例によるデータ判定動作を説明するための図である。
【0022】
セルアレイ14は仮想接地メモリアレイであり、メモリセルM00乃至M23、ビット線BL0乃至BL4、ワード線WL0乃至WL2を含む。ビット線BL0乃至BL4はコラムデコーダ16に接続され、ワード線WL0乃至WL2はローデコーダ15に接続される。コラムデコーダ16がビット線BL0乃至BL4の電位を制御し、ローデコーダ15がワード線WL0乃至WL2の電位を制御する。センスアンプ18aは、図2のデータラッチ18に設けられる回路であり、セルアレイ14からローデコーダ15とコラムデコーダ16の指定に応じて供給されるデータ電流を、基準電流発生回路22から供給される基準電流と比較することでデータ判定を実行する。
【0023】
図3においてメモリセルM02のデータを読み出すためには、ワード線WL0を所定の電位(例えば2V)に設定してワード線WLに接続される全てのメモリセルを選択し、更にビット線BL2を例えば1Vのドレイン側電位に設定すると共に、それ以外のビット線BL0、BL1、BL3、BL4をグラウンド電位に設定する。この場合図3に示されるように、メモリセルM02及び隣接するメモリセルM01にはそれぞれ、電流Im02及び電流Im01が流れる。ビット線BL2に流れる電流Ibl2は、電流Im02と電流Im01との和となる。
【0024】
センスアンプ18aは、電流Ibl2を第1基準電流IREF1と比較する。メモリセル対M01/M02に保持されていたデータは、電流Ibl2が第1基準電流IREF1より小さいときは“0/0”状態であると判定される。即ちメモリセルM01及びM02は共に、“0”状態(プログラム状態)であると判定される。
【0025】
電流Ibl2が第1基準電流IREF1より大きいときは、センスアンプ18aは、電流Ibl2を第2基準電流IREF2と比較する。電流Ibl2が第2基準電流IREF2より大きいときは、メモリセル対M01/M02のデータは“1/1”状態と判定される。即ちメモリセルM01及びM02は共に、“1”状態(イレーズ状態)であると判定される。また電流Ibl2が第2基準電流IREF2より小さいときは、メモリセル対M01/M02のデータは“1/0”又は“0/1”状態と判定される。即ち、メモリセルM01とメモリセルM02は、何れかが“1”状態であり他方が“0”状態であると判定される。
【0026】
以上のように、センスするビット線の電流を2種類の基準電流と比較することにより、このビット線を共有してワード線方向に隣接する一対のメモリセルのデータを同時に検出し、このメモリセル対のデータ状態が“0/0”状態、“1/1”状態、“1/0又は0/1”状態の何れであるかを判定する。
【0027】
図4は、第1の実施例によるデータ判定動作を示すフローチャートである。
【0028】
ステップST1において、電流Ibl2が第1基準電流IREF1より小さいか否かを判定する。小さい場合には、メモリセル対M01/M02は“0/0”状態であると判定される。小さくない場合にはステップST2に進む。
【0029】
ステップST2で、電流Ibl2が第2基準電流IREF2より大きいか否かを判定する。大きい場合には、メモリセル対M01/M02は“1/1”状態であると判定される。大きくない場合にはステップST3に進む。
【0030】
ステップST3で、メモリセル対M01/M02は“1/0”状態又は“0/1”状態と判定される。
【0031】
上記の本実施例によるデータ判定方法では、データ状態が“0/0”状態或いは“1/1”状態であるときは各メモリセルの状態を確定できるが、データ状態が“1/0又は0/1”状態であるときには何れのメモリセルが“1”であり何れのメモリセルが“0”であるかを確定することが出来ない。しかしながらこのデータ判定方法を用いることによって、セルアレイの全ビットが書き込み状態であるか或いは全ビットが消去状態であるかについては、効率的に判定することが出来る。
【0032】
この際、例えばBL0、BL2、BL4・・・のように一本おきにセンス電圧を印加して、センス対象のビット線以外のビット線をグラウンド電位にすることで、メモリセル対のデータを順に判定することが出来る。このようにデータ判定する際、センス対象のビット線以外のビット線は全てグラウンド電位となるため、従来必要だったビット線のプリチャージ動作が不要となる。またグラウンド電位はプリチャージ電圧に比べて極めて安定であり、ビット線抵抗による電圧降下の影響も受けない。従って、センス対象のビット線とプリチャージ対象のビット線との電位差によって従来生じていた読み出し不良を、本発明においては完全に防止することが可能になる。
【0033】
全ビット“0”状態或いは全ビット“1”状態であることを効率良く且つ信頼性を持って判定可能であることは、メモリセルアレイをチップ又はブロック単位でデータ一括消去を実行する際に特に有効である。
【0034】
フラッシュメモリの一括消去動作では、メモリセルが過剰消去されてディプレッション状態になると、隣り合うビット線間に電位差が無くても電流が流れてしまうコラム・リーク現象が発生し、メモリセルのデータの正常な検出ができなくなる。このような過剰消去を防止するため、通常は消去動作を実行する前に消去対象の全てのメモリセルを予め書き込み状態に設定する必要がある。即ち、消去後のメモリセル毎の閾値ばらつきを小さくして過剰消去を防止するために、消去前に全メモリセルを書き込み状態に設定して閾値ばらつきを小さくしておく必要がある。従ってフラッシュメモリにおいては、全ビット一括消去のコマンドが入力されると、まず全ビット“0”状態に設定し、次に全ビット“1”状態に設定することになる。
【0035】
上記実施例を用いれば、例えば一括消去コマンド入力の際に必要な全ビット“0”状態及び全ビット“1”状態の検出を、従来よりも確実に且つ高速に行うことが可能となる。
【0036】
なお仮想接地セルアレイ構造において電荷捕獲層として窒化膜を使用し、物理的に1つのメモリセルトランジスタに2ビットの情報を格納可能とするものがある。このような不揮発性半導体記憶装置では、ビットライン間に存在する単一の窒化膜の両端を、2つの独立したメモリセルとして取り扱い、それぞれにホットエレクトロンを注入するか否かに応じて、合計2ビットのデータを格納することが出来る。これは、この場合の電荷捕獲層である窒化膜内では、電荷が移動しないという特性により可能となる。
【0037】
このタイプのフラッシュメモリでは、コントロールゲートと基板との間に酸化膜−窒化膜−酸化膜で構成される膜が設けられ、窒化膜に電荷をトラップさせて閾値を変化させることで、データの“0”と“1”とを区別する。この場合、窒化膜等のトラップ層は絶縁膜であるので電荷は移動しない。従って、トラップ層の両端に独立に電荷を蓄えることにより1セル当たり2ビットの情報を格納することが実現可能となる。2ビットの情報は、読み出し動作においてドレインとソースとを入れ換えることで、それぞれ別々に読み出すことが出来る。
【0038】
メモリセルへの書き込みは、チャネルホットエレクトロンによる電子注入により行われる。例えばゲート電極に約12V、ドレインに約8V、ソース及び基盤に0Vを印加し、チャネルで発生するホットエレクトロンを窒化膜にトラップさせる。このときホットエレクトロンは、窒化膜内でドレインに近い側に注入される。消去動作は、ホットホールインジェクションによるホール注入により行なわれる。即ち、例えばゲート電極に約−6V、ドレインに約5Vを印加することで、ドレインから基板に流れるバンド間トンネル電流により発生するホールを窒化膜に注入し、電荷を中和させて消去する。1つのセル当たり2ビット分の電荷が注入されている場合には、ソースにもドレインと同一の電圧を印加することで、消去動作を実行することが出来る。読み出し動作は、書き込み時とドレインを逆にするリバースリードにより実行される。即ち、書き込み時にドレインであった拡散層とは逆側の拡散層をドレインとしてデータを読み出す。
【0039】
以下に記載の実施例は、窒化膜等からなるトラップ層に電荷を蓄えることで1つのメモリセル当たり2ビットの情報を格納可能なタイプのフラッシュメモリを対象とする。
【0040】
図5は、第1の実施例の変形例によるデータ判定動作を説明するための図である。図5において、図3と同一の構成要素は同一の番号で参照されその説明は省略される。
【0041】
セルアレイ14Aは2ビットの情報を格納可能なタイプの仮想接地メモリアレイであり、メモリセルM00乃至M23、ビット線BL0乃至BL4、ワード線WL0乃至WL2を含む。各メモリセルにおいて2ビットの情報を格納可能であることを示すために、2つの白抜きボックスで2つのビットの位置を表現している。
【0042】
メモリセルM02の右側のビット(ボックス内に“x”で表示)のデータとメモリセルM01の左側のビット(ボックス内に“x”で表示)のデータとを読み出すためには、ワード線WL0を所定の電位(例えば2V)に設定し、更にビット線BL2を例えば1Vのドレイン側電位に設定すると共に、それ以外のビット線BL0、BL1、BL3、BL4をグラウンド電位に設定する。この場合図5に示されるように、メモリセルM02及び隣接するメモリセルM01にはそれぞれ、電流Im02及び電流Im01が流れる。ビット線BL2に流れる電流Ibl2は、電流Im02と電流Im01との和となる。
【0043】
センスアンプ18aは、電流Ibl2を第1基準電流IREF1と比較する。M01左側ビット/M02右側ビットに保持されていたデータは、電流Ibl2が第1基準電流IREF1より小さいときは“0/0”状態であると判定される。電流Ibl2が第1基準電流IREF1より大きいときは、センスアンプ18aは、電流Ibl2を第2基準電流IREF2と比較する。電流Ibl2が第2基準電流IREF2より大きいときは、M01左側ビット/M02右側ビットのデータは“1/1”状態と判定される。また電流Ibl2が第1基準電流IREF1より大きく第2基準電流IREF2より小さいときは、M01左側ビット/M02右側ビットのデータは“1/0”又は“0/1”状態と判定される。
【0044】
上記判定動作は第1の実施例の場合と同様であるが、各メモリセルについてデータ判定をする際にセンス電圧を印加する方法が第1の実施例とは異なる。即ち、各メモリセルにおいて2ビットの情報を格納可能であるので、第1の実施例のようにビット線一本おきにセンス電圧を印加するのではなく、各ビット線に順番にセンス電圧を印加していくことによって、各メモリセルの左右両側のビットについてデータを判定することが出来る。
【0045】
以下に本発明の第2の実施例によるデータ判定方法について説明する。
【0046】
第2の実施例によるデータ判定方法は、各メモリセルに1ビットの情報を格納可能なフローティング・ゲート型の不揮発性メモリ(図3)において、“0”状態のデータと“1”状態のデータが混在している場合に、各メモリセルのデータを判定する方法に関する。
【0047】
図6(a)乃至(c)は、本発明の第2の実施例によるデータ判定方法を説明するための図である。図6(a)乃至(c)は、図3のセルアレイ14からワード線WL0に接続されるメモリセル部分だけを、説明の便宜上抜き出したものである。
【0048】
まず図6(a)に示されるように、ワード線WL0を所定の電位(例えば2V)に設定し、メモリセルブロックの端にあるビット線BL0をセンス電位(例えば1V)にすると共に、他の全てのビット線をグラウンド電位とする。この時にビット線BL0を流れる電流Ibl0を第1基準電流IREF1と比較する。メモリセルM00は、電流Ibl0が第1基準電流IREF1より小さいときは“0”状態であり、電流Ibl0が第1基準電流IREF1より大きいときは“1”状態と判定される。
【0049】
メモリセルM00のデータ判定結果は、例えば図2の制御回路11によって内部データレジスタに格納され、次のメモリセルM01のデータ判定に用いられる。
【0050】
次に図6(b)に示されるように、ワード線WL0を所定の電位(例えば2V)に設定し、前回センスしたビット線の隣のビット線BL1をセンス電位(例えば1V)にすると共に、他の全てのビット線をグラウンド電位とする。メモリセルM00及びM01にはそれぞれ、電流Im00及び電流Im01が流れる。このときビット線BL1に流れる電流Ibl1は、電流Im00と電流Im01との和となる。
【0051】
前回判定したメモリセルM00のデータが“0”状態だった場合は、電流Ibl1を第1基準電流IREF1と比較する。電流Ibl1が第1基準電流IREF1より小さいときは、メモリセルM01は“0”状態と判定される。電流Ibl1が第1基準電流IREF1より大きいときは、メモリセルM01は“1”状態と判定される。
【0052】
前回判定したメモリセルM00のデータが“1”状態だった場合は、電流Ibl1を第2基準電流IREF2と比較する。電流Ibl1が第2基準電流IREF2より小さいときは、メモリセルM01は“0”状態と判定される。電流Ibl1が第2基準電流IREF2より大きいときは、メモリセルM01は“1”状態と判定される。
【0053】
メモリセルM01のデータ判定結果は、例えば図2の制御回路11によって内部データレジスタに格納され、次のメモリセルM02のデータ判定に用いられる。
【0054】
次に図6(c)に示されるように、ワード線WL0を所定の電位(例えば2V)に設定し、前回センスしたビット線の隣のビット線BL2をセンス電位(例えば1V)にすると共に、他の全てのビット線をグラウンド電位とする。メモリセルM01及びM02にはそれぞれ、電流Im01及び電流Im02が流れる。このときビット線BL2に流れる電流Ibl2は、電流Im01と電流Im02との和となる。
【0055】
以降は、メモリセルM01についてメモリセルM00のデータに基づいてデータ判定を行ったのと同様な動作により、メモリセルM02のデータ判定をメモリセルM01のデータに基づいて実行することが出来る。
【0056】
図7は、第2の実施例によるメモリセルのデータ判定動作を示すフローチャートである。このフローチャートは、前回データ判定したメモリセルM0(n−1)のデータ状態によって、今回のメモリセルM0nをデータ判定する手順を示す。
【0057】
まずステップST1で、前回のメモリセルM0(n−1)が“0”であったか“1”であったかを判定する。“0”の場合には、ステップST2で電流Iblnを第1基準電流IREF1と比較する。電流Iblnが第1基準電流IREF1より小さいときは、ステップST3でメモリセルM0nは“0”状態と判定される。電流Iblnが第1基準電流IREF1より大きいときは、ステップST4でメモリセルM0nは“1”状態と判定される。
【0058】
前回判定したメモリセルM0(n−1)のデータが“1”だった場合は、ステップST5で電流Iblnを第2基準電流IREF2と比較する。電流Iblnが第2基準電流IREF2より小さいときは、ステップST6でメモリセルM0nは“0”状態と判定される。電流Iblnが第2基準電流IREF2より大きいときは、ステップST7でメモリセルM0nは“1”状態と判定される。
【0059】
このようにして各メモリセルのデータ状態を、メモリブロックの端から順に確定していくことが出来る。これにより“0”状態データと“1”状態データが混在している場合において、各メモリセルのデータの判定を確実に実行することが可能となる。
【0060】
以下に、書き込みベリファイ及び消去ベリファイにおけるデータ判定について本発明を適用した場合を説明する。
【0061】
メモリセル対M01/M02が“1/1”であるときに、“0/1”に変えたい場合には以下の手順を実行する。
【0062】
まずワード線WL0に例えば12Vを印加する。この状態でビット線BL0とBL1をグラウンド電位に設定すると共に、ビット線BL2、BL3、BL4...に8Vを印加して、ホットエレクトロン注入によりM01のフローティング・ゲートに電子を注入してデータ書き込みを行う。
【0063】
次に、ワード線WL0を1V、ビット線BL2を1V、その他のビット線をグラウンド電位として、ビット線BL2に流れる電流Ibl2(=IM01+IM02)を検出する。この場合は、対を成すもう一方のメモリセルM02のデータが既に“1”であることが分かっているので、Ibl2<IREF2を満たすかどうかをベリファイすればよい。即ち、Ibl2<IREF2となっていれば、M01/M02=“0/1”と判定され、書き込み及び書き込みベリファイ動作を終了する。Ibl2<IREF2となっていない場合には、Ibl2<IREF2の条件を満たすまで上記書き込み及び書き込みベリファイ動作を繰り返す。
【0064】
またメモリセル対M01/M02を更に“0/1”から“0/0”に変えたい場合には以下の手順を実行する。
【0065】
まずワード線WL0に例えば10Vを印加する。この状態でビット線BL0、BL1、BL2をグラウンド電位に設定すると共に、ビット線BL3、BL4...に5Vを印加して、ホットエレクトロン注入によりM02のフローティング・ゲートに電子を注入してデータ書き込みを行う。
【0066】
次に、ワード線WL0を1V、ビット線BL2を1V、その他のビット線をグラウンド電位として、ビット線BL2に流れる電流Ibl2(=IM01+IM02)を検出する。この場合は、対を成すもう一方のメモリセルM02のデータが“0”であることが分かっているので、Ibl2<IREF1を満たすかどうかをベリファイすればよい。即ち、Ibl2<IREF1となっていれば、M01/M02=“0/0”と判定され、書き込み及び書き込みベリファイ動作を終了する。Ibl2<IREF1となっていない場合には、Ibl2<IREF1の条件を満たすまで上記書き込み及び書き込みベリファイ動作を繰り返す。
【0067】
メモリセル対M01/M02が“0/0”であるときに、“1/1”に変えたい場合には以下の手順を実行する。
【0068】
ワード線WL0を−5V、ビット線BL2を5V、その他のビット線を浮遊電位(フローティング)又はグラウンド電位として、FNトンネリング法によりM01,M02のフローティング・ゲートに注入されている電子をBL2不純物拡散層に引きぬくことによってデータの消去を行う。
【0069】
次に、ワード線WL0を1V、ビット線BL2を1V、その他のビット線をグラウンド電位として、ビット線BL2に流れる電流Ibl2(=IM01+IM02)を検出する。この場合は、対である双方のメモリセルは同時に消去されているので、Ibl2>IREF2を満たすかどうかをベリファイすればよい。即ち、Ibl2>IREF2となっていれば、M01/M02=“1/1”と判定され、消去及び消去ベリファイ動作を終了する。Ibl2>IREF2となっていない場合は、Ibl2>IREF2の条件が満たされるまで上記消去及び消去ベリファイ動作が繰り返される。
【0070】
メモリセル対M01/M02が“0/1”であるときに、“1/1”に変えたい場合には以下の手順を実行する。
【0071】
過剰消去を防ぐためにプリプログラム動作が必要であるので、まずM02に書き込み及び書き込みベリファイを行って、M01/M02を“0/1”状態から“0/0”状態にする。以降は上記消去及び消去ベリファイ動作を実行して、“0/0”状態を“1/1”状態に変更する。
上記実施例は、読み出し動作、書き込みベリファイ、及び消去ベリファイに用いる第1及び第2の基準電流を同一のものとして説明したが、これは必ずしも同一である必要はなく、例えば書き込みベリファイ専用或いは消去ベリファイ専用の基準電流を用意してもよい。
【0072】
以下に本発明の第3の実施例によるデータ判定方法について説明する。
【0073】
第3の実施例によるデータ判定方法は、各メモリセルに1ビットの情報を格納可能なフローティング・ゲート型の不揮発性メモリ(図3)において、“0”状態のデータと“1”状態のデータが混在している場合に、各メモリセルのデータを判定する方法に関する。前述の第2の実施例では、各メモリセルのデータ状態をメモリブロックの端から順に判定していく必要があったが、第3の実施例では、所望のメモリセルについて独立にデータ判定を実行することが可能となる。
【0074】
これを実現するために第3の実施例では、メモリセルアレイにおいて、異なる“0”レベルを有する2種類のメモリセルをワード線方向に交互に並べるように構成する。具体的に説明すると、図3の構成において偶数番目のメモリセルM0(2n)、M1(2n)、M2(2n)、・・・(nは0以上の整数)は、奇数番目のメモリセルM0(2n+1)、M1(2n+1)、M2(2n+1)と異なる“0”レベルを有するように設定される。
【0075】
図8は、偶数番目のメモリセルと奇数番目のメモリセルとについてメモリセル電流の関係を示す図である。図8に示されるように、偶数番目のメモリセルと奇数番目のメモリセルとでは、“1”のデータ状態の場合にメモリセル電流量は同一である。これに対して“0” のデータ状態の場合には、偶数番目のメモリセルに流れるメモリセル電流量は第1の電流量に設定され、奇数番目のメモリセルに流れるメモリセル電流量は、上記第1の電流量と“1”のデータ状態の場合のメモリセル電流量との略中間値である第2の電流量になるように設定される。
【0076】
本実施例では、隣り合う偶数番目のメモリセルと奇数番目のメモリセルを一対として、一対のメモリセルに流れる合計電流と3種類の異なる基準電流とを比較することにより、対をなすそれぞれのメモリセルに対してデータ判定を行う。
【0077】
図9は、一対のメモリセルに流れるメモリセル電流レベルとデータ判定用の3種類の基準電流との関係を示す図である。ここで一対のメモリセルとは、例えば図3に示すメモリセルM01及びメモリセルM02である。この一対のメモリセルのデータを読み出すためには、図3においてワード線WL0を所定の電位に設定してワード線WLに接続される全てのメモリセルを選択し、更にビット線BL2を例えば1Vのドレイン側電位に設定すると共に、それ以外のビット線BL0、BL1、BL3、BL4をグラウンド電位に設定する。これにより一対のメモリセルには電流Im02及び電流Im01が流れ、電流Im02と電流Im01との和である電流Ibl2が、一対のメモリセルの合計電流となる。
【0078】
図9に示されるように、3種類の異なる基準電流IREF1、IREF2、及びIREF3を用意する。合計電流Ibl2は、偶数番目のメモリセルと奇数番目のメモリセルが双方共に“0”である場合、それぞれ“0”及び“1”である場合、それぞれ“1”及び“0”である場合、及び双方共に“1”である場合で、図9に示されるように段階的に変化する。3つの基準電流IREF1、IREF2、及びIREF3は、合計電流の4つの異なるレベルの間に位置するように設定される。
【0079】
図10は、第3の実施例においてデータを判定する処理のフローを示す図である。この判定処理において、合計電流と基準電流とを比較してデータを判定する動作は図3のセンスアンプ18aが実行し、そのセンスアンプの動作は図2の制御回路11により制御される。なお不揮発性半導体記憶装置の構成は、図2に示されるものと同様の構成でよい。但しデータ判定時に3種類の異なる基準電流とデータ電流との比較を実行する必要があるので、制御回路11は、基準電流IREF1、IREF2、及びIREF3について判定動作を制御可能なように構成される。
【0080】
図10のステップST1において、合計電流Ibl2が基準電流IREF1より小さいか否かを判定する。合計電流Ibl2が基準電流IREF1よりも小さければ、偶数番目のメモリセルと奇数番目のメモリセルは共に“0”である。それ以外の場合にはステップST2に進む。
【0081】
ステップST2において、合計電流Ibl2が基準電流IREF3より大きいか否かを判定する。合計電流Ibl2が基準電流IREF3よりも大きければ、偶数番目のメモリセルと奇数番目のメモリセルは共に“1”である。それ以外の場合にはステップST3に進む。
【0082】
ステップST3において、合計電流Ibl2が基準電流IREF2より大きいか否かを判定する。合計電流Ibl2が基準電流IREF2よりも大きければ、偶数番目のメモリセルと奇数番目のメモリセルはそれぞれ“1”及び“0”である。また合計電流Ibl2が基準電流IREF2以下であれば、偶数番目のメモリセルと奇数番目のメモリセルはそれぞれ“0”及び“1”である。
【0083】
以上でデータ判定処理を終了する。
【0084】
図11は、偶数番目のメモリセル及び奇数番目のメモリセルを消去して“1”のデータ状態に設定する処理のフローチャートである。一括消去動作は簡単には、全ビット線に例えば8Vを印加しながら全ワード線に−8Vの消去電圧パルスを印加して、これによりフローティング・ゲート中の電子をトンネル電流によりビット線に放出させることで実行する。但し図11のフローにおいては、過剰消去防止のためにプリ・プログラムの手順を実行している。
【0085】
ステップST1において、偶数番目及び奇数番目の全てのセルについて消去ベリファイを実行する。
【0086】
ステップST2において、全てのメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Ve1よりも大きいか否かを判定する。ベリファイ電圧Ve1よりも大きな閾値電圧Vt_cellを有するメモリセルが存在しない場合は、ステップST9の補正ベリファイに進む。
【0087】
ステップST9においては、補正ベリファイを実行する。更にステップST10において、全てのメモリセルについて閾値電圧Vt_cellがベリファイ電圧Ve2(<Ve1)よりも大きいか否かを判定する。“No”の場合にはステップST11で補正プログラムを実行し、ステップST9に戻り以降の処理を繰り返す。これにより、Ve2< Vt_cellになるように全てのメモリセルを”1”のデータ状態に設定する。この補正ベリファイ及びプログラム動作によって、閾値電圧Vt_cellがベリファイ電圧Ve2とVe1との間に分布するように設定される。即ち、“1”のデータ状態の閾値分布を所望の範囲に設定することができる。
【0088】
ステップST2の判定において、Ve1よりも大きな閾値電圧Vt_cellを有するメモリセルが存在する場合は、ステップST3において、プリプログラムベリファイを実行する。
【0089】
次にステップST4において、全てのメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Vp2よりも大きいか否かを判定する。ベリファイ電圧Vp2よりも大きくない閾値電圧Vt_cellを有するメモリセルが存在する場合は、ステップST5においてプリプログラムを実行する。その後ステップST3に戻り以降の動作を繰り返し、全てのメモリセルの閾値電圧Vt_cellがベリファイ電圧Vp2よりも大きくなるように設定する。このように消去の前処理として全てのセルをプログラムする工程はプリプログラムと呼ばれ、チップ又はブロック単位一括で消去が行われるフラッシュメモリにおいて過剰消去を防ぐために実行される。
【0090】
上記処理により全メモリセルを“0”のデータ状態に設定した後、ステップST6で偶数番目及び奇数番目両方の全てのメモリセルを消去し、ステップST7で消去ベリファイを実行する。ステップST7で、全てのメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Ve1よりも小さいか否かを判定する。ベリファイ電圧Ve1よりも小さくない閾値電圧Vt_cellを有するメモリセルが存在する場合は、ステップST6に戻り以降の処理を繰り返す。これにより、偶数番目及び奇数番目両方の全てのセルについて、Ve1>Vt_cellとなるようにデータが設定される。その後、前述したステップST9乃至ステップST11からなる補正ベリファイと補正プログラムとを繰り返し、Ve2<Vt_cellとなるように全メモリセルのデータを設定する。
【0091】
図12は、第3の実施例において偶数番目のメモリセルをプログラムして“0”のデータ状態に設定する処理のフローチャートである。図13は、第3の実施例において奇数番目のメモリセルをプログラムして“0”のデータ状態に設定する処理のフローチャートである。また図14において(a)は偶数番目のメモリセルをプログラムする場合のメモリセル閾値電圧の変化を示す図であり、(b)は奇数番目のメモリセルをプログラムする場合のメモリセル閾値電圧の変化を示す図である。
【0092】
偶数番目のメモリセルについては、図12の処理が実行される。まずステップST1において、偶数番目のセルをプログラムする。次にステップST2において、偶数番目のセルに対するプログラムベリファイ動作を実行する。ステップST3で、プログラム対象のメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Vp1よりも大きいか否かを判定する。“No”の場合には、ステップST1に戻り以降の処理を繰り返す。これにより、プログラム対象のメモリセルについて、Vp1<Vt_cellとなるようにデータが設定される。その結果、図14(a)に示されるように、消去ベリファイ電圧Ve1と補正ベリファイ電圧Ve2との間にある“1”のデータ状態のメモリセルの閾値電圧が、偶数番目のメモリセルに対するプログラムベリファイ電圧Vp1以上のレベルに引き上げられて、“0”のデータ状態のメモリセルとなる。
【0093】
奇数番目のメモリセルについては、図13の処理が実行される。まずステップST1において、奇数番目のセルをプログラムする。次にステップST2において、奇数番目のセルに対するプログラムベリファイ動作を実行する。ステップST3で、プログラム対象のメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Vp2よりも大きいか否かを判定する。“No”の場合には、ステップST1に戻り以降の処理を繰り返す。これにより、プログラム対象のメモリセルについて、Vp2<Vt_cellとなるようにデータが設定される。その結果、図14(b)に示されるように、消去ベリファイ電圧Ve1と補正ベリファイ電圧Ve2との間にある“1”のデータ状態のメモリセルの閾値電圧が、奇数番目のメモリセルに対するプログラムベリファイ電圧Vp2以上のレベルに引き上げられて、“0”のデータ状態のメモリセルとなる。
【0094】
なお図14(a)及び(b)に示されるように、偶数番目のメモリセルに対するプログラムベリファイ電圧Vp1に対して、奇数番目のメモリセルに対するプログラムベリファイ電圧Vp2は低く設定されている。
【0095】
上記第3の実施例においては、偶数番目のメモリセルと奇数番目のメモリセルとの間で、“1”のデータ状態のメモリセル閾値電圧は同一であるが、“0”のデータ状態のメモリセル閾値電圧が異なるように設定された。これとは逆に、“0”のデータ状態のメモリセル閾値電圧は同一であるが、“1”のデータ状態のメモリセル閾値電圧が異なるように設定してもよい。
【0096】
以下に、第4の実施例として、偶数番目のメモリセルと奇数番目のメモリセルとで“1”のデータ状態のメモリセル閾値電圧が異なる場合について説明する。
【0097】
図15は、偶数番目のメモリセルと奇数番目のメモリセルとについてメモリセル電流の関係を示す図である。図15に示されるように、偶数番目のメモリセルと奇数番目のメモリセルとでは、“0”のデータ状態の場合にメモリセル電流量は同一である。これに対して“1” のデータ状態の場合には、偶数番目のメモリセルに流れるメモリセル電流量は第1の電流量に設定され、奇数番目のメモリセルに流れるメモリセル電流量は、上記第1の電流量と“0”のデータ状態の場合のメモリセル電流量との略中間値である第2の電流量になるように設定される。
【0098】
図16は、一対のメモリセルに流れるメモリセル電流レベルとデータ判定用の3種類の基準電流との関係を示す図である。図16に示されるように、3種類の異なる基準電流IREF1、IREF2、及びIREF3を用意する。一対のメモリセルの合計電流は、偶数番目のメモリセルと奇数番目のメモリセルが双方共に“0”である場合、それぞれ“0”及び“1”である場合、それぞれ“1”及び“0”である場合、及び双方共に“1”である場合で、図16に示されるように段階的に変化する。3つの基準電流IREF1、IREF2、及びIREF3は、合計電流の4つの異なるレベルの間に位置するように設定される。
【0099】
上記説明した第4の実施例において、データを判定する処理は図10のフローの処理と同一である。
【0100】
図17は、偶数番目のメモリセル及び奇数番目のメモリセルを消去して“1”のデータ状態に設定する処理のフローチャートである。
【0101】
ステップST1において、偶数番目及び奇数番目の全てのセルについて消去ベリファイを実行する。
【0102】
ステップST2において、全てのメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Vp2よりも大きいか否かを判定する。ベリファイ電圧Vp2よりも大きな閾値電圧Vt_cellを有するメモリセルが存在しない場合は、ステップST7に進む。
【0103】
ステップST2の判定において、Vp2よりも大きな閾値電圧Vt_cellを有するメモリセルが存在する場合は、ステップST3において、プリプログラムベリファイを実行する。次にステップST4において、全てのメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Vp1(>Vp2)よりも大きいか否かを判定する。ベリファイ電圧Vp1よりも大きくない閾値電圧Vt_cellを有するメモリセルが存在する場合は、ステップST5においてプリプログラムを実行する。その後ステップST3に戻り以降の動作を繰り返し、全てのメモリセルの閾値電圧Vt_cellがベリファイ電圧Vp1よりも大きくなるように設定する。上記処理により全メモリセルを“0”のデータ状態に設定した後、ステップST6で偶数番目及び奇数番目両方の全てのメモリセルを消去する。
【0104】
次にステップST7で消去ベリファイを実行する。ステップST7で、全てのメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Ve1よりも小さいか否かを判定する。ベリファイ電圧Ve1よりも小さくない閾値電圧Vt_cellを有するメモリセルが存在する場合は、ステップST6に戻り以降の処理を繰り返す。これにより、偶数番目及び奇数番目両方の全てのセルについて、Ve1>Vt_cellとなるようにデータが設定される。
【0105】
ステップST9で補正ベリファイを実行する。ステップST10で、全てのメモリセルについて閾値電圧Vt_cellがベリファイ電圧Ve2(<Ve1)よりも大きいか否かを判定する。“No”の場合にはステップST11で補正プログラムを実行し、ステップST9に戻り以降の処理を繰り返す。これにより、Ve2< Vt_cellになるように全てのメモリセルを”1”のデータ状態に設定する。この補正ベリファイ及びプログラム動作によって、閾値電圧Vt_cellがベリファイ電圧Ve2とVe1との間に分布するように設定される。即ち、“1”のデータ状態の閾値分布を所望の範囲に設定することができる。
【0106】
ステップST12に示されるように、この時点で偶数番目メモリセルの“1”データの設定が終了する。
【0107】
次にステップST13で、奇数番目のメモリセルをプログラムする。ステップST14において、奇数番目のセルに対するプログラムベリファイ動作を実行する。ステップST15で、奇数番目のメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Vp2よりも大きいか否かを判定する。“No”の場合には、ステップST13に戻り以降の処理を繰り返す。これにより、全ての奇数番目のメモリセルについて、Vp2<Vt_cellとなるようにデータを設定する。
【0108】
図18は、第4の実施例において偶数番目又は奇数番目のメモリセルをプログラムして“0”のデータ状態に設定する処理のフローチャートである。図19(a)は、偶数番目のメモリセルについてのメモリセル閾値電圧の変化を示す図であり、(b)は、奇数番目のメモリセルについてのメモリセル閾値電圧の変化を示す図である。
【0109】
図18のステップST1において、偶数番目又は奇数番目のセルをプログラムする。次にステップST2において、偶数番目又は奇数番目のセルに対するプログラムベリファイ動作を実行する。ステップST3で、プログラム対象のメモリセルについて、その閾値電圧Vt_cellがベリファイ電圧Vp1よりも大きいか否かを判定する。“No”の場合には、ステップST1に戻り以降の処理を繰り返す。これにより、プログラム対象のメモリセルについて、Vp1<Vt_cellとなるようにデータが設定される。
【0110】
上記プログラム動作の結果、図14(a)に示されるように、消去ベリファイ電圧Ve1と補正ベリファイ電圧Ve2との間にある“1”のデータ状態の偶数番目のメモリセルの閾値電圧が、プログラムベリファイ電圧Vp1以上のレベルに引き上げられて、“0”のデータ状態のメモリセルとなる。また図14(b)に示されるように、奇数番目のメモリセルの場合には、消去ベリファイ電圧Ve1と補正ベリファイ電圧Ve2との間にある状態から、プログラムベリファイ電圧Vp2以上のレベルに閾値電圧が引き上げられた状態で“1”のデータとなっている。この状態から図18のプログラム動作の結果、奇数番目のメモリセルの閾値電圧がプログラムベリファイ電圧Vp1以上のレベルに引き上げられて、“0”のデータ状態のメモリセルとなる。
【0111】
上記第3及び第4の実施例は、フローティング・ゲート型不揮発性メモリを例にとって説明したが、図5に示したようなトラップ・ゲート型不揮発性メモリを適用対象としてもよい。トラップ・ゲート型不揮発性メモリとは、前述のように、窒化膜等からなるトラップ層に電荷を蓄えることで1つのメモリセル当たり2ビットの情報を格納可能なフラッシュメモリである。
【0112】
トラップ・ゲート型不揮発性メモリを使用した場合であっても、第3及び第4の実施例と同様に、異なる“0”レベル又は異なる“1”レベルを有する2種類のメモリセルをワード線方向に交互に並べるように設定することができる。データ読み出し時には、隣り合う偶数番目のメモリセルと奇数番目のメモリセルとを一対として、一対のメモリセルに流れる合計電流と3種類の異なる基準電流とを比較することにより、対をなすそれぞれのメモリセルに対してデータ判定を行う。このデータ判定動作は、以下に説明するように、フローティング・ゲート型不揮発性メモリの場合と同様に実行することができる。
【0113】
図5において、メモリセルM02の右側のビット(ボックス内に“x”で表示)のデータとメモリセルM01の左側のビット(ボックス内に“x”で表示)のデータとを読み出すためには、ワード線WL0を所定の電位(例えば2V)に設定し、更にビット線BL2を例えば1Vのドレイン側電位に設定すると共に、それ以外のビット線BL0、BL1、BL3、BL4をグラウンド電位に設定する。この場合、一対のメモリセルの合計電流Ibl2は、電流Im02と電流Im01との和となる。
【0114】
図20は、トラップ・ゲート型不揮発性メモリを使用した場合のデータを判定する処理のフローを示す図である。
【0115】
ステップST1において、合計電流Ibl2が基準電流IREF1より小さいか否かを判定する。合計電流Ibl2が基準電流IREF1よりも小さければ、偶数番目のメモリセルの右側のビット(M02R)と奇数番目のメモリセルの左側のビット(M01L)は共に“0”である。それ以外の場合にはステップST2に進む。
【0116】
ステップST2において、合計電流Ibl2が基準電流IREF3より大きいか否かを判定する。合計電流Ibl2が基準電流IREF3よりも大きければ、偶数番目のメモリセルの右側のビット(M02R)と奇数番目のメモリセルの左側のビット(M01L)は共に“1”である。それ以外の場合にはステップST3に進む。
【0117】
ステップST3において、合計電流Ibl2が基準電流IREF2より大きいか否かを判定する。合計電流Ibl2が基準電流IREF2よりも大きければ、偶数番目のメモリセルの右側のビット(M02R)と奇数番目のメモリセルの左側のビット(M01L)はそれぞれ“1”及び“0”である。また合計電流Ibl2が基準電流IREF2以下であれば、偶数番目のメモリセルの右側のビット(M02R)と奇数番目のメモリセルの左側のビット(M01L)はそれぞれ“0”及び“1”である。
【0118】
以上でデータ判定処理を終了する。
【0119】
また偶数番目と奇数番目とで異なる“0”レベル又は異なる“1”レベルを有するようにデータ設定するためには、フローティング・ゲート型の場合の図11乃至図13又は図17及び図18に示したものと同様の手順を用いて、トラップ・ゲート型不揮発性メモリに対してデータ消去及びプログラムを実行することができる。
【0120】
以上のようにして、本発明による第3及び第4の実施例においては、異なる閾値電圧を有する2種類のメモリセルをワード線方向に交互に並べ、データ読み出し時には、隣り合う偶数番目のメモリセルと奇数番目のメモリセルとを一対として、一対のメモリセルに流れる合計電流と3種類の異なる基準電流とを比較する。これにより、対をなすメモリセルのそれぞれに対してデータ判定を行うことが可能となる。従って、リーク電流の影響を受けることなく、確実に各メモリセルのデータ読み出しを実行することができる。
【0121】
なお上記実施例においては、偶数番目のメモリセルと奇数番目のメモリセルとで、“0”及び“1”の何れか一方についてメモリセル電流量が同一であるとして説明したが、これは同一で無くとも問題はない。各メモリセルのメモリセル電流量の設定値(即ちメモリセル閾値電圧の設定値)は、偶数番目のメモリセル及び奇数番目のメモリセルから成る一対のメモリセルに対して、データ状態に応じた4つの異なる合計電流量を判定可能であれさえすればよい。また異なるメモリセル電流量を実現するためには、プログラム或いは消去のデータ設定動作によりゲート中の電荷量を調整するのではなく、偶数番目のセルと奇数番目のセルとで例えばゲート幅を異ならせる等の不揮発性半導体記憶装置の構造上の違いとして実現することも可能である。
【0122】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【発明の効果】
本発明においては、従来は電流のリーク経路であったデータ判定対象ではないメモリセルをデータ判定対象として含めることで、センス対象のビット線を共有する2つのメモリセルを両方ともデータ判定対象とし、2つの異なる基準電流と該ビット線の電流を比較することにより2つのメモリセルのデータ状態を纏めて判定する。この構成では、データ判定する際にセンス対象のビット線以外のビット線は全てグラウンド電位となるため、従来必要であったビット線のプリチャージ動作が不要となる。またグラウンド電位はプリチャージ電圧に比べて極めて安定であり、ビット線抵抗による電圧降下の影響も受けない。従って、センス対象のビット線とプリチャージ対象のビット線との不安定な電位差によって従来生じていた読み出し不良を、本発明においては完全に防止することが可能になる。
【図面の簡単な説明】
【図1】仮想接地メモリアレイの一部を示す図である。
【図2】本発明による不揮発性半導体記憶装置の構成を示す図である。
【図3】第1の実施例によるデータ判定動作を説明するための図である。
【図4】第1の実施例によるデータ判定動作を示すフローチャートである。
【図5】第1の実施例の変形例によるデータ判定動作を説明するための図である。
【図6】(a)乃至(c)は、本発明の第2の実施例によるデータ判定方法を説明するための図である。
【図7】第2の実施例によるメモリセルのデータ判定動作を示すフローチャートである。
【図8】第3の実施例の偶数番目のメモリセルと奇数番目のメモリセルとについてメモリセル電流の関係を示す図である。
【図9】第3の実施例の一対のメモリセルに流れるメモリセル電流レベルとデータ判定用の3種類の基準電流との関係を示す図である。
【図10】第3の実施例においてデータを判定する処理のフローを示す図である。
【図11】偶数番目のメモリセル及び奇数番目のメモリセルを消去して“1”のデータ状態に設定する処理のフローチャートである。
【図12】第3の実施例において偶数番目のメモリセルをプログラムして“0”のデータ状態に設定する処理のフローチャートである。
【図13】第3の実施例において奇数番目のメモリセルをプログラムして“0”のデータ状態に設定する処理のフローチャートである。
【図14】(a)は偶数番目のメモリセルをプログラムする場合のメモリセル閾値電圧の変化を示す図であり、(b)は奇数番目のメモリセルをプログラムする場合のメモリセル閾値電圧の変化を示す図である。
【図15】第4の実施例の偶数番目のメモリセルと奇数番目のメモリセルとについてメモリセル電流の関係を示す図である。
【図16】第4の実施例の一対のメモリセルに流れるメモリセル電流レベルとデータ判定用の3種類の基準電流との関係を示す図である。
【図17】偶数番目のメモリセル及び奇数番目のメモリセルを消去して“1”のデータ状態に設定する処理のフローチャートである。
【図18】第4の実施例において偶数番目又は奇数番目のメモリセルをプログラムして“0”のデータ状態に設定する処理のフローチャートである。
【図19】(a)は、偶数番目のメモリセルについてのメモリセル閾値電圧の変化を示す図であり、(b)は、奇数番目のメモリセルについてのメモリセル閾値電圧の変化を示す図である。
【図20】トラップ・ゲート型不揮発性メモリを使用した場合のデータを判定する処理のフローを示す図である。
【符号の説明】
11 制御回路
12 チップイネーブル&アウトプットイネーブル回路
13 入出力バッファ
14 セルアレイ
15 ローデコーダ
16 コラムデコーダ
17 アドレスラッチ
18 データラッチ
19 読み出し回路
20 書き込み回路
21 消去回路
22 基準電流発生回路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention generally relates to a nonvolatile semiconductor memory device, and more particularly, to a nonvolatile semiconductor memory device using a virtual ground memory array.
[Prior art]
In the virtual ground memory array, the bit line is formed of a diffusion layer, and the side of the diffusion layer corresponding to the two bit lines set to the ground potential is the source and the side set to the power supply potential is the drain. In such a virtual ground memory array, a diffusion layer of each memory cell serving as a bit line is formed in common with a diffusion layer serving as a bit line of a memory cell adjacent in the word line direction. Therefore, a drain contact for each memory cell in a general NOR type memory cell array is unnecessary, and the memory cell size can be reduced.
[0002]
FIG. 1 is a diagram showing a part of a virtual ground memory array.
[0003]
The virtual ground memory array of FIG. 1 includes memory cells M00 to M23, bit lines BL0 to BL4, and word lines WL0 to WL2. In order to read data from the memory cell M02, the word line WL0 is set to a predetermined potential to select all the memory cells connected to the word line WL, and the bit lines BL0 to BL2 are set to a drain side potential of, for example, 1 V. And the bit lines BL3 and BL4 are set to the ground potential. Thus, the bit line BL2 becomes a drain and the bit line BL3 becomes a source for the memory cell M02. At this time, as shown in FIG. 1, the current Im02 flowing in the memory cell M02 is equal to the current Ibl2 flowing in the bit line BL2, and the data value of the memory cell M02 is read by detecting the current Ibl2 by a sense amplifier (not shown). .
[0004]
In this read operation, applying 1 V to the bit line BL1 to make the bit line BL1 the same potential as the bit line BL2 prevents a leak current from flowing from the bit line BL2 to the bit line BL1 via the memory cell M01. That's why. If such a leak current flows, the current Im02 flowing in the memory cell M02 will be different from the current Ibl2 flowing in the bit line BL2, and even if the current Ibl2 is detected, a correct data value of the memory cell cannot be read. There may be cases.
[0005]
In the configuration for preventing the leakage current as described above, the voltage applied to the adjacent bit line BL1 is called a precharge voltage, and the voltage applied to the read target bit line BL2 is called a sense voltage.
[Patent Document 1]
JP-A-10-69794
[Problems to be solved by the invention]
Since the virtual ground memory array has a bit line formed of an impurity diffusion layer, the bit line resistance value is larger than that of a general NOR type nonvolatile memory in which the bit line is connected with a low-resistance metal. Voltage drop along the line is apt to occur. Therefore, the sense voltage and the precharge voltage may not be at the same potential.
[0006]
In addition, the sense voltage and the precharge voltage are usually supplied from different circuits, respectively, and the voltage application timing tends to shift between them. In such a case, the sense voltage and the precharge voltage are not at the same potential.
[0007]
When detecting the data of the memory cell M02 in FIG. 1, if the data state of the adjacent memory cell M01 is "0" and the threshold voltage is high, even if there is a slight potential difference between the precharge voltage and the sense voltage, the memory cell M01 Almost no leak current flows through. However, when the data state of the memory cell M01 is "1" and the threshold voltage is low, the influence of the potential difference between the precharge voltage and the sense voltage cannot be ignored.
[0008]
In addition, when a program verify operation or an erase verify operation is performed, if the threshold voltage of a memory cell is detected differently from the actual one due to the influence of a leak current, the reliability of the verify operation itself is significantly reduced. As a result, the variation in the threshold voltage of the data “0” and “1” between the memory cells increases, and the margin for the threshold variation due to thermal stress or the like decreases, so that the reliability of the nonvolatile memory deteriorates.
[0009]
In view of the above, an object of the present invention is to provide a nonvolatile semiconductor memory device capable of accurately detecting data regardless of the presence of a leak current in a virtual ground memory array.
[Means for Solving the Problems]
A nonvolatile semiconductor memory device according to the present invention includes a virtual ground memory array including a plurality of word lines and a plurality of bit lines, a row decoder for selectively activating one word line of the plurality of word lines, A column decoder for applying a sense voltage to one of the bit lines and setting all other bit lines to a ground potential; and a current flowing through the one bit line as a first reference current and a second reference current. By comparing with the current, the data state of two memory cells connected to the one word line and sharing the one bit line is a first state where both are 0, and both are 1 It is characterized in that it includes a sense amplifier that determines one of the second state and the third state in which one is 1 and the other is 0.
[0010]
In the above invention, both of the two memory cells sharing the bit line to be sensed are subjected to data determination by including, as the data determination target, a memory cell that is not a data determination target that has conventionally been a current leak path, By comparing two different reference currents and the current of the bit line, the data states of the two memory cells are determined together. In this configuration, all bit lines other than the bit line to be sensed at the time of data determination have the ground potential, so that the bit line precharge operation that has been conventionally required is unnecessary. The ground potential is extremely stable as compared with the precharge voltage, and is not affected by a voltage drop due to bit line resistance. Therefore, in the present invention, it is possible to completely prevent the read failure caused by the unstable potential difference between the bit line to be sensed and the bit line to be precharged.
[0011]
According to another aspect of the present invention, a nonvolatile semiconductor memory device includes: a virtual ground memory array including a plurality of word lines and a plurality of bit lines; and a memory connected to any one of the plurality of word lines. Data is set by making at least one of the threshold voltage of data “0” and the threshold voltage of data “1” different between two memory cells sharing an arbitrary one of a plurality of bit lines. And a control circuit for performing the control.
[0012]
The nonvolatile semiconductor memory device includes a row decoder for selectively activating one word line of the plurality of word lines, a sense voltage applied to one of the plurality of bit lines, and And a column decoder for setting the bit line to the ground potential, and comparing the current flowing through the one bit line with a first reference current, a second reference current, and a third reference current to form the one word line. And a sense amplifier for determining a data state of each of two memory cells sharing the one bit line.
[0013]
In the above nonvolatile semiconductor memory device, two types of memory cells having different threshold voltages for data "0" or different threshold voltages for data "1" are alternately arranged in the word line direction, and the adjacent even-numbered memory cells are read at the time of data reading. And the odd-numbered memory cells are paired, and the total current flowing through the pair of memory cells is compared with three different reference currents. This makes it possible to perform data determination on each of the paired memory cells.
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0014]
FIG. 2 is a diagram showing a configuration of a nonvolatile semiconductor memory device according to the present invention.
[0015]
2 includes a control circuit 11, a chip enable & output enable circuit 12, an input / output buffer 13, a cell array 14, a row decoder 15, a column decoder 16, an address latch 17, a data latch 18, and a read circuit. 19, a writing circuit 20, an erasing circuit 21, and a reference current generating circuit 22.
[0016]
The control circuit 11 receives control signals such as a write enable / WE and a chip enable / CE, an address signal, and a data signal from the outside, and operates as a state machine based on these signals to operate each part of the nonvolatile semiconductor memory device 10. Control the operation of. The input / output buffer 13 receives data from the outside and supplies the data to the control circuit 11 and the data latch 18. The chip enable & output enable circuit 12 receives a chip enable signal / CE and an output enable signal / OE as control signals from outside the device, and controls the operation / non-operation of the input / output buffer 13 and the cell array 14.
[0017]
The read circuit 19 operates under the control of the control circuit 11, and controls the cell array 14, the row decoder 15, the column decoder 16 and the like via the address latch 17 to read data from the read address of the cell array 14. The write circuit 20 operates under the control of the control circuit 11, and controls the cell array 14, the row decoder 15, the column decoder 16, and the like via the address latch 17 to write data to a write address of the cell array 14. The erasing circuit 21 operates under the control of the control circuit 11, and erases a specified area of the cell array 14 at a predetermined unit at a time via the address latch 17, the cell array 14, the row decoder 15, the column decoder 16 and the like. Control.
[0018]
The cell array 16 is a virtual ground memory array, including an array of memory cell transistors, word lines, bit lines, and the like, and stores data in each memory cell transistor. At the time of data reading, data from a memory cell specified by the activation word line is read to a bit line. At the time of programming or erasing, by setting the word line and the bit line to appropriate potentials according to the respective operations, the operation of injecting or extracting the charge to the memory cell is executed.
[0019]
The data latch 18 operates under the control of the control circuit 11, and compares the current of the data supplied from the cell array 14 with the reference current according to the designation by the row decoder 15 and the column decoder 16, so that the data is 0. Or 1 is determined. This determination is performed by the sense amplifier circuit in the data latch 18, and the determination result is supplied to the input / output buffer 13 as read data. The verify operation accompanying the program operation and the erase operation is performed by comparing the current of the data supplied from the cell array 14 according to the designation by the row decoder 15 and the column decoder 16 with the reference currents for the program verify and the erase verify. Done. The reference current generation circuit 22 is a circuit that generates a reference current used for these data determination operations. The data latch 18 further latches data input from the outside via the input / output buffer 13 during a data write operation, and is used for a data write operation to the cell array 14.
[0020]
As one feature of the present invention, the reference current generating circuit 22 generates a first reference current and a second reference current (second reference current> first reference current) as described below, Reference numeral 18 compares the two reference currents with the data current, thereby realizing accurate data determination regardless of the presence of a leak current.
[0021]
FIG. 3 is a diagram for explaining the data determination operation according to the first embodiment.
[0022]
The cell array 14 is a virtual ground memory array and includes memory cells M00 to M23, bit lines BL0 to BL4, and word lines WL0 to WL2. The bit lines BL0 to BL4 are connected to a column decoder 16, and the word lines WL0 to WL2 are connected to a row decoder 15. The column decoder 16 controls the potential of the bit lines BL0 to BL4, and the row decoder 15 controls the potential of the word lines WL0 to WL2. The sense amplifier 18a is a circuit provided in the data latch 18 shown in FIG. 2, and applies a data current supplied from the cell array 14 in accordance with the designation of the row decoder 15 and the column decoder 16 to a reference current supplied from the reference current generation circuit 22. The data determination is performed by comparing with the current.
[0023]
In FIG. 3, in order to read data from the memory cell M02, the word line WL0 is set to a predetermined potential (for example, 2 V), all the memory cells connected to the word line WL are selected, and the bit line BL2 is set to, for example, The drain side potential is set to 1 V, and the other bit lines BL0, BL1, BL3, BL4 are set to the ground potential. In this case, as shown in FIG. 3, a current Im02 and a current Im01 flow through the memory cell M02 and the adjacent memory cell M01, respectively. The current Ibl2 flowing through the bit line BL2 is the sum of the current Im02 and the current Im01.
[0024]
The sense amplifier 18a compares the current Ibl2 with the first reference current IREF1. If the current Ibl2 is smaller than the first reference current IREF1, the data held in the memory cell pair M01 / M02 is determined to be in the "0/0" state. That is, both the memory cells M01 and M02 are determined to be in the “0” state (program state).
[0025]
When the current Ibl2 is larger than the first reference current IREF1, the sense amplifier 18a compares the current Ibl2 with the second reference current IREF2. When the current Ibl2 is larger than the second reference current IREF2, the data of the memory cell pair M01 / M02 is determined to be in the "1/1" state. That is, both the memory cells M01 and M02 are determined to be in the “1” state (erase state). When the current Ibl2 is smaller than the second reference current IREF2, the data of the memory cell pair M01 / M02 is determined to be "1/0" or "0/1". That is, it is determined that one of the memory cells M01 and M02 is in the “1” state and the other is in the “0” state.
[0026]
As described above, by comparing the current of the bit line to be sensed with the two types of reference currents, the data of a pair of memory cells adjacent to each other in the word line direction while sharing this bit line is simultaneously detected. It is determined whether the data state of the pair is the “0/0” state, the “1/1” state, the “1/0 or 0/1” state.
[0027]
FIG. 4 is a flowchart illustrating the data determination operation according to the first embodiment.
[0028]
In step ST1, it is determined whether the current Ibl2 is smaller than the first reference current IREF1. If smaller, it is determined that the memory cell pair M01 / M02 is in the “0/0” state. If not, the process proceeds to step ST2.
[0029]
In step ST2, it is determined whether the current Ibl2 is larger than the second reference current IREF2. If it is larger, it is determined that the memory cell pair M01 / M02 is in the “1/1” state. If not, the process proceeds to step ST3.
[0030]
In step ST3, the memory cell pair M01 / M02 is determined to be in the “1/0” state or the “0/1” state.
[0031]
In the data determination method according to the present embodiment, when the data state is the “0/0” state or the “1/1” state, the state of each memory cell can be determined, but the data state is “1/0 or 0”. When in the "/ 1" state, it cannot be determined which memory cell is "1" and which memory cell is "0". However, by using this data determination method, it can be efficiently determined whether all the bits of the cell array are in the written state or all the bits are in the erased state.
[0032]
At this time, by applying a sense voltage every other line, for example, BL0, BL2, BL4,. Can be determined. When data is determined in this manner, all bit lines other than the bit line to be sensed are set to the ground potential, so that the bit line precharge operation, which was conventionally required, becomes unnecessary. The ground potential is extremely stable as compared with the precharge voltage, and is not affected by a voltage drop due to bit line resistance. Therefore, in the present invention, it is possible to completely prevent the read failure which has conventionally occurred due to the potential difference between the bit line to be sensed and the bit line to be precharged.
[0033]
Being able to efficiently and reliably determine whether all bits are “0” state or all bit “1” state is particularly effective when executing batch data erasure on a memory cell array in chip or block units. It is.
[0034]
In the flash memory batch erasing operation, if memory cells are over-erased and become depleted, a column leak phenomenon occurs in which current flows even if there is no potential difference between adjacent bit lines, and the data in the memory cells becomes normal. Detection cannot be performed. In order to prevent such excessive erasure, it is usually necessary to set all memory cells to be erased to a write state before executing the erase operation. That is, in order to reduce the threshold variation for each memory cell after erasure and prevent excessive erasure, it is necessary to set all the memory cells to a write state before erasing to reduce the threshold variation. Therefore, in the flash memory, when a command for batch erasing of all bits is input, first, all bits are set to "0" state, and then all bits are set to "1" state.
[0035]
By using the above-described embodiment, for example, it is possible to detect the state of all bits “0” and the state of all bits “1” required at the time of inputting a batch erasure command more reliably and faster than in the past.
[0036]
There is a virtual ground cell array structure in which a nitride film is used as a charge trapping layer so that one memory cell transistor can physically store two bits of information. In such a nonvolatile semiconductor memory device, both ends of a single nitride film existing between bit lines are treated as two independent memory cells, and a total of two are determined according to whether hot electrons are injected into each memory cell. Bit data can be stored. This is made possible by the characteristic that charges do not move in the nitride film serving as the charge trapping layer in this case.
[0037]
In this type of flash memory, a film composed of an oxide film, a nitride film, and an oxide film is provided between a control gate and a substrate, and charges are trapped in the nitride film to change a threshold value. A distinction is made between "0" and "1". In this case, charges do not move because the trap layer such as a nitride film is an insulating film. Therefore, it is possible to store two bits of information per cell by storing charges independently at both ends of the trap layer. The 2-bit information can be read separately by exchanging the drain and source in the read operation.
[0038]
Writing to a memory cell is performed by electron injection using channel hot electrons. For example, about 12 V is applied to the gate electrode, about 8 V to the drain, and 0 V to the source and the substrate, and hot electrons generated in the channel are trapped in the nitride film. At this time, hot electrons are injected into the nitride film on the side near the drain. The erasing operation is performed by hole injection by hot hole injection. That is, by applying, for example, about -6 V to the gate electrode and about 5 V to the drain, holes generated by an interband tunnel current flowing from the drain to the substrate are injected into the nitride film to neutralize the charge and erase the charge. When two bits of electric charge are injected per cell, the erase operation can be performed by applying the same voltage to the source as that of the drain. The read operation is performed by a reverse read in which the drain is reversed at the time of writing. That is, data is read using the diffusion layer on the side opposite to the diffusion layer that was the drain at the time of writing as the drain.
[0039]
The embodiment described below is directed to a type of flash memory capable of storing two bits of information per memory cell by storing charges in a trap layer made of a nitride film or the like.
[0040]
FIG. 5 is a diagram for explaining a data determination operation according to a modification of the first embodiment. 5, the same elements as those of FIG. 3 are referred to by the same numerals, and a description thereof will be omitted.
[0041]
The cell array 14A is a virtual ground memory array of a type capable of storing 2-bit information, and includes memory cells M00 to M23, bit lines BL0 to BL4, and word lines WL0 to WL2. In order to show that 2-bit information can be stored in each memory cell, the positions of two bits are represented by two white boxes.
[0042]
To read the data of the right bit (represented by “x” in the box) of the memory cell M02 and the data of the left bit (represented by “x” in the box) of the memory cell M01, the word line WL0 must be connected to the word line WL0. The potential is set to a predetermined potential (for example, 2 V), the bit line BL2 is set to a drain side potential of, for example, 1 V, and the other bit lines BL0, BL1, BL3, and BL4 are set to the ground potential. In this case, as shown in FIG. 5, a current Im02 and a current Im01 flow through the memory cell M02 and the adjacent memory cell M01, respectively. The current Ibl2 flowing through the bit line BL2 is the sum of the current Im02 and the current Im01.
[0043]
The sense amplifier 18a compares the current Ibl2 with the first reference current IREF1. When the current Ibl2 is smaller than the first reference current IREF1, the data held in the M01 left bit / M02 right bit is determined to be in the "0/0" state. When the current Ibl2 is larger than the first reference current IREF1, the sense amplifier 18a compares the current Ibl2 with the second reference current IREF2. When the current Ibl2 is larger than the second reference current IREF2, the data of the M01 left bit / M02 right bit is determined to be in the "1/1" state. When the current Ibl2 is larger than the first reference current IREF1 and smaller than the second reference current IREF2, the data of the M01 left bit / M02 right bit is determined to be "1/0" or "0/1".
[0044]
The above-described determination operation is the same as that of the first embodiment, but differs from the first embodiment in the method of applying a sense voltage when performing data determination for each memory cell. That is, since 2-bit information can be stored in each memory cell, a sense voltage is applied to each bit line in order instead of applying a sense voltage to every other bit line as in the first embodiment. By doing so, data can be determined for the left and right bits of each memory cell.
[0045]
Hereinafter, a data determination method according to the second embodiment of the present invention will be described.
[0046]
The data determination method according to the second embodiment is a method of storing data of "0" state and data of "1" state in a floating gate type nonvolatile memory (FIG. 3) capable of storing 1-bit information in each memory cell. The present invention relates to a method for judging data of each memory cell in a case where are mixed.
[0047]
FIGS. 6A to 6C are diagrams for explaining a data determination method according to the second embodiment of the present invention. FIGS. 6A to 6C show only the memory cell portion connected to the word line WL0 from the cell array 14 of FIG. 3 for convenience of explanation.
[0048]
First, as shown in FIG. 6A, the word line WL0 is set to a predetermined potential (for example, 2 V), the bit line BL0 at the end of the memory cell block is set to a sense potential (for example, 1 V), and another bit line is set. All bit lines are set to the ground potential. At this time, the current Ibl0 flowing through the bit line BL0 is compared with the first reference current IREF1. The memory cell M00 is determined to be in the “0” state when the current Ibl0 is smaller than the first reference current IREF1, and is determined to be in the “1” state when the current Ibl0 is larger than the first reference current IREF1.
[0049]
The data determination result of the memory cell M00 is stored in, for example, the internal data register by the control circuit 11 of FIG. 2 and used for data determination of the next memory cell M01.
[0050]
Next, as shown in FIG. 6B, the word line WL0 is set to a predetermined potential (for example, 2 V), and the bit line BL1 next to the bit line sensed last time is set to the sense potential (for example, 1 V). All other bit lines are set to the ground potential. A current Im00 and a current Im01 flow through the memory cells M00 and M01, respectively. At this time, the current Ibl1 flowing through the bit line BL1 is the sum of the current Im00 and the current Im01.
[0051]
When the data of the memory cell M00 determined last time is in the “0” state, the current Ibl1 is compared with the first reference current IREF1. When current Ibl1 is smaller than first reference current IREF1, memory cell M01 is determined to be in the "0" state. When current Ibl1 is larger than first reference current IREF1, memory cell M01 is determined to be in the "1" state.
[0052]
When the data of the memory cell M00 determined last time is in the “1” state, the current Ibl1 is compared with the second reference current IREF2. When current Ibl1 is smaller than second reference current IREF2, memory cell M01 is determined to be in the "0" state. When current Ibl1 is larger than second reference current IREF2, memory cell M01 is determined to be in the "1" state.
[0053]
The data determination result of the memory cell M01 is stored in, for example, the internal data register by the control circuit 11 of FIG. 2 and used for data determination of the next memory cell M02.
[0054]
Next, as shown in FIG. 6C, the word line WL0 is set to a predetermined potential (for example, 2 V), and the bit line BL2 next to the bit line sensed last time is set to the sense potential (for example, 1 V). All other bit lines are set to the ground potential. A current Im01 and a current Im02 flow through the memory cells M01 and M02, respectively. At this time, the current Ibl2 flowing through the bit line BL2 is the sum of the current Im01 and the current Im02.
[0055]
Thereafter, the data determination of the memory cell M02 can be performed based on the data of the memory cell M01 by the same operation as the data determination of the memory cell M01 based on the data of the memory cell M00.
[0056]
FIG. 7 is a flowchart illustrating a data determination operation of a memory cell according to the second embodiment. This flowchart shows a procedure for determining the data of the current memory cell M0n based on the data state of the memory cell M0 (n-1) for which the data has been previously determined.
[0057]
First, in step ST1, it is determined whether the previous memory cell M0 (n-1) was "0" or "1". If it is “0”, the current Ibln is compared with the first reference current IREF1 in step ST2. When the current Ibln is smaller than the first reference current IREF1, the memory cell M0n is determined to be in the “0” state in step ST3. When the current Ibln is larger than the first reference current IREF1, the memory cell M0n is determined to be in the “1” state in step ST4.
[0058]
If the data of the memory cell M0 (n-1) determined last time is "1", the current Ibln is compared with the second reference current IREF2 in step ST5. When the current Ibln is smaller than the second reference current IREF2, the memory cell M0n is determined to be in the “0” state in step ST6. If the current Ibln is larger than the second reference current IREF2, the memory cell M0n is determined to be in the "1" state in step ST7.
[0059]
In this way, the data state of each memory cell can be determined in order from the end of the memory block. Thus, when the “0” state data and the “1” state data are mixed, it is possible to reliably determine the data of each memory cell.
[0060]
A case where the present invention is applied to data determination in write verify and erase verify will be described below.
[0061]
If the memory cell pair M01 / M02 is "1/1" and the user wants to change it to "0/1", the following procedure is executed.
[0062]
First, for example, 12 V is applied to the word line WL0. In this state, the bit lines BL0 and BL1 are set to the ground potential, and the bit lines BL2, BL3, BL4. . . 8V is applied, and electrons are injected into the floating gate of M01 by hot electron injection to write data.
[0063]
Next, the current Ibl2 (= IM01 + IM02) flowing through the bit line BL2 is detected with the word line WL0 at 1V, the bit line BL2 at 1V, and the other bit lines at the ground potential. In this case, since it is known that the data of the other memory cell M02 forming the pair is already "1", it is sufficient to verify whether or not Ibl2 <IREF2 is satisfied. That is, if Ibl2 <IREF2, it is determined that M01 / M02 = "0/1", and the write and write verify operations are terminated. If Ibl2 <IREF2 is not satisfied, the above-described write and write-verify operations are repeated until the condition of Ibl2 <IREF2 is satisfied.
[0064]
If it is desired to further change the memory cell pair M01 / M02 from "0/1" to "0/0", the following procedure is executed.
[0065]
First, for example, 10 V is applied to the word line WL0. In this state, the bit lines BL0, BL1, and BL2 are set to the ground potential, and the bit lines BL3, BL4,. . . 5V is applied, and electrons are injected into the floating gate of M02 by hot electron injection to write data.
[0066]
Next, the current Ibl2 (= IM01 + IM02) flowing through the bit line BL2 is detected with the word line WL0 at 1V, the bit line BL2 at 1V, and the other bit lines at the ground potential. In this case, since it is known that the data of the other memory cell M02 forming the pair is “0”, it is sufficient to verify whether or not Ibl2 <IREF1 is satisfied. That is, if Ibl2 <IREF1, it is determined that M01 / M02 = "0/0", and the write and write verify operations are terminated. If Ibl2 <IREF1 is not satisfied, the above-described write and write verify operations are repeated until the condition of Ibl2 <IREF1 is satisfied.
[0067]
When the memory cell pair M01 / M02 is "0/0" and the user wants to change it to "1/1", the following procedure is executed.
[0068]
With the word line WL0 set to -5 V, the bit line BL2 set to 5 V, and the other bit lines set to the floating potential (floating) or ground potential, electrons injected into the floating gates of M01 and M02 by the FN tunneling method are used as BL2 impurity diffusion layers. To erase the data.
[0069]
Next, the current Ibl2 (= IM01 + IM02) flowing through the bit line BL2 is detected with the word line WL0 at 1V, the bit line BL2 at 1V, and the other bit lines at the ground potential. In this case, since both memory cells of the pair are erased at the same time, it is sufficient to verify whether Ibl2> IREF2 is satisfied. That is, if Ibl2> IREF2, it is determined that M01 / M02 = "1/1", and the erase and erase verify operations are terminated. If Ibl2> IREF2 is not satisfied, the above-described erase and erase verify operation are repeated until the condition of Ibl2> IREF2 is satisfied.
[0070]
When the memory cell pair M01 / M02 is "0/1" and the user wants to change to "1/1", the following procedure is executed.
[0071]
Since a pre-program operation is necessary to prevent excessive erasing, first, writing and write verify are performed on M02 to change M01 / M02 from the “0/1” state to the “0/0” state. Thereafter, the erase and erase verify operations are executed to change the “0/0” state to the “1/1” state.
In the above-described embodiment, the first and second reference currents used for the read operation, the write verify, and the erase verify have been described as being the same. However, these need not necessarily be the same. A dedicated reference current may be prepared.
[0072]
Hereinafter, a data determination method according to the third embodiment of the present invention will be described.
[0073]
The data judging method according to the third embodiment is a method of storing data of "0" state and data of "1" state in a floating gate type nonvolatile memory (FIG. 3) capable of storing 1-bit information in each memory cell. The present invention relates to a method for judging data of each memory cell in a case where are mixed. In the above-described second embodiment, it was necessary to determine the data state of each memory cell in order from the end of the memory block. In the third embodiment, however, data determination was performed independently for a desired memory cell. It is possible to do.
[0074]
In order to realize this, in the third embodiment, in the memory cell array, two types of memory cells having different "0" levels are arranged alternately in the word line direction. More specifically, in the configuration of FIG. 3, even-numbered memory cells M0 (2n), M1 (2n), M2 (2n),... (N is an integer of 0 or more) are odd-numbered memory cells M0. (2n + 1), M1 (2n + 1), and M2 (2n + 1) are set to have different “0” levels.
[0075]
FIG. 8 is a diagram showing a relationship between memory cell currents for even-numbered memory cells and odd-numbered memory cells. As shown in FIG. 8, even-numbered memory cells and odd-numbered memory cells have the same amount of memory cell current in the data state of “1”. On the other hand, when the data state is "0", the amount of memory cell current flowing in the even-numbered memory cells is set to the first amount of current, and the amount of memory cell current flowing in the odd-numbered memory cells is The second current amount is set to be a substantially intermediate value between the first current amount and the memory cell current amount in the case of the data state of “1”.
[0076]
In the present embodiment, each of the paired memory cells is compared by comparing the total current flowing through the pair of memory cells with three different reference currents by taking the adjacent even-numbered memory cells and odd-numbered memory cells as a pair. Data determination is performed on the cell.
[0077]
FIG. 9 is a diagram showing a relationship between a memory cell current level flowing through a pair of memory cells and three types of reference currents for data determination. Here, the pair of memory cells is, for example, the memory cell M01 and the memory cell M02 illustrated in FIG. In order to read the data of the pair of memory cells, in FIG. 3, the word line WL0 is set to a predetermined potential, all the memory cells connected to the word line WL are selected, and the bit line BL2 is set to 1V, for example. The drain side potential is set, and the other bit lines BL0, BL1, BL3, BL4 are set to the ground potential. As a result, the currents Im02 and Im01 flow through the pair of memory cells, and the current Ibl2, which is the sum of the currents Im02 and Im01, is the total current of the pair of memory cells.
[0078]
As shown in FIG. 9, three different reference currents IREF1, IREF2, and IREF3 are prepared. The total current Ibl2 is “0” when both the even-numbered memory cell and the odd-numbered memory cell are “0”, “1” and “1”, respectively. And both are "1", and change stepwise as shown in FIG. The three reference currents IREF1, IREF2, and IREF3 are set to lie between four different levels of the total current.
[0079]
FIG. 10 is a diagram illustrating a flow of a process of determining data in the third embodiment. In this determination process, the operation of comparing the total current and the reference current to determine data is performed by the sense amplifier 18a in FIG. 3, and the operation of the sense amplifier is controlled by the control circuit 11 in FIG. Note that the configuration of the nonvolatile semiconductor memory device may be similar to that shown in FIG. However, since it is necessary to compare three different reference currents and the data current at the time of data determination, the control circuit 11 is configured to be able to control the determination operation for the reference currents IREF1, IREF2, and IREF3.
[0080]
In step ST1 of FIG. 10, it is determined whether or not the total current Ibl2 is smaller than the reference current IREF1. If the total current Ibl2 is smaller than the reference current IREF1, both the even-numbered memory cells and the odd-numbered memory cells are "0". Otherwise, the process proceeds to step ST2.
[0081]
In step ST2, it is determined whether or not the total current Ibl2 is larger than the reference current IREF3. If the total current Ibl2 is larger than the reference current IREF3, both the even-numbered memory cells and the odd-numbered memory cells are "1". Otherwise, the process proceeds to step ST3.
[0082]
In step ST3, it is determined whether or not the total current Ibl2 is larger than the reference current IREF2. If the total current Ibl2 is larger than the reference current IREF2, the even-numbered memory cells and the odd-numbered memory cells are "1" and "0", respectively. If the total current Ibl2 is equal to or smaller than the reference current IREF2, the even-numbered memory cells and the odd-numbered memory cells are "0" and "1", respectively.
[0083]
Thus, the data determination processing ends.
[0084]
FIG. 11 is a flowchart of a process of erasing even-numbered memory cells and odd-numbered memory cells and setting the data state to “1”. The batch erasing operation is simply performed by applying an erasing voltage pulse of -8 V to all the word lines while applying, for example, 8 V to all the bit lines, thereby causing electrons in the floating gate to be emitted to the bit lines by a tunnel current. Run by doing. However, in the flow of FIG. 11, a pre-program procedure is executed to prevent excessive erasure.
[0085]
In step ST1, erase verify is executed for all even-numbered and odd-numbered cells.
[0086]
In step ST2, it is determined whether or not the threshold voltage Vt_cell of all the memory cells is higher than the verify voltage Ve1. If there is no memory cell having the threshold voltage Vt_cell higher than the verify voltage Ve1, the process proceeds to the correction verify in step ST9.
[0087]
In step ST9, correction verify is executed. Further, in step ST10, it is determined whether or not the threshold voltage Vt_cell is higher than the verify voltage Ve2 (<Ve1) for all the memory cells. If "No", the correction program is executed in step ST11, and the process returns to step ST9 and repeats the subsequent processing. As a result, all the memory cells are set to the data state of "1" so that Ve2 <Vt_cell. By this correction verify and program operation, the threshold voltage Vt_cell is set so as to be distributed between the verify voltages Ve2 and Ve1. That is, the threshold distribution of the data state of “1” can be set in a desired range.
[0088]
If it is determined in step ST2 that there is a memory cell having a threshold voltage Vt_cell higher than Ve1, preprogram verify is executed in step ST3.
[0089]
Next, in step ST4, it is determined whether or not the threshold voltage Vt_cell of all the memory cells is higher than the verify voltage Vp2. If there is a memory cell having a threshold voltage Vt_cell that is not higher than the verify voltage Vp2, pre-program is executed in step ST5. Thereafter, returning to step ST3, the subsequent operations are repeated, and the threshold voltages Vt_cell of all the memory cells are set to be higher than the verify voltage Vp2. Such a step of programming all cells as pre-processing for erasing is called pre-programming, and is performed to prevent excessive erasing in a flash memory in which erasing is performed collectively in chip or block units.
[0090]
After setting all the memory cells to the data state of "0" by the above processing, all the even-numbered and odd-numbered memory cells are erased in step ST6, and erase verification is executed in step ST7. In step ST7, it is determined whether or not the threshold voltage Vt_cell of all the memory cells is lower than the verify voltage Ve1. If there is a memory cell having a threshold voltage Vt_cell that is not lower than the verify voltage Ve1, the process returns to step ST6 and repeats the subsequent processing. As a result, data is set so that Ve1> Vt_cell for all the even-numbered and odd-numbered cells. After that, the correction verification and the correction program consisting of steps ST9 to ST11 described above are repeated, and the data of all the memory cells are set so that Ve2 <Vt_cell.
[0091]
FIG. 12 is a flowchart of a process for programming even-numbered memory cells and setting the data state to “0” in the third embodiment. FIG. 13 is a flowchart of a process for programming the odd-numbered memory cells and setting the data state to “0” in the third embodiment. FIG. 14A is a diagram showing a change in a memory cell threshold voltage when programming an even-numbered memory cell, and FIG. 14B is a diagram showing a change in a memory cell threshold voltage when programming an odd-numbered memory cell. FIG.
[0092]
The processing in FIG. 12 is executed for the even-numbered memory cells. First, in step ST1, the even-numbered cells are programmed. Next, in step ST2, a program verify operation is performed on the even-numbered cells. In step ST3, it is determined whether or not the threshold voltage Vt_cell of the memory cell to be programmed is higher than the verify voltage Vp1. In the case of "No", the process returns to step ST1 and the subsequent processes are repeated. Thereby, data is set so that Vp1 <Vt_cell for the memory cell to be programmed. As a result, as shown in FIG. 14A, the threshold voltage of the memory cell in the data state of “1” between the erase verify voltage Ve1 and the correction verify voltage Ve2 changes the program verify for the even-numbered memory cell. The voltage is raised to the level of the voltage Vp1 or higher, and the memory cell becomes a data state of “0”.
[0093]
The processing of FIG. 13 is executed for the odd-numbered memory cells. First, in step ST1, odd-numbered cells are programmed. Next, in step ST2, a program verify operation is performed on the odd-numbered cells. In step ST3, it is determined whether or not the threshold voltage Vt_cell of the memory cell to be programmed is higher than the verify voltage Vp2. In the case of "No", the process returns to step ST1 and the subsequent processes are repeated. Thereby, data is set so that Vp2 <Vt_cell for the memory cell to be programmed. As a result, as shown in FIG. 14B, the threshold voltage of the memory cell in the data state of “1” between the erase verify voltage Ve1 and the correction verify voltage Ve2 is changed to the program verify for the odd-numbered memory cell. The memory cell is raised to the level of the voltage Vp2 or higher, and has a data state of "0".
[0094]
As shown in FIGS. 14A and 14B, the program verify voltage Vp2 for the odd-numbered memory cells is set lower than the program verify voltage Vp1 for the even-numbered memory cells.
[0095]
In the third embodiment, the memory cell threshold voltage in the data state of “1” is the same between the even-numbered memory cell and the odd-numbered memory cell, but the memory in the data state of “0” is the same. The cell threshold voltages were set differently. Conversely, the memory cell threshold voltage in the data state “0” may be the same, but the memory cell threshold voltage in the data state “1” may be set to be different.
[0096]
Hereinafter, as a fourth embodiment, a case will be described in which the even-numbered memory cell and the odd-numbered memory cell have different memory cell threshold voltages in the data state of “1”.
[0097]
FIG. 15 is a diagram showing a relationship between memory cell currents for even-numbered memory cells and odd-numbered memory cells. As shown in FIG. 15, the memory cell current amount is the same between the even-numbered memory cells and the odd-numbered memory cells when the data state is “0”. On the other hand, in the case of the data state of "1", the amount of memory cell current flowing in the even-numbered memory cells is set to the first current amount, and the amount of memory cell current flowing in the odd-numbered memory cells is The second current amount is set to be a substantially intermediate value between the first current amount and the memory cell current amount in the case of the data state of “0”.
[0098]
FIG. 16 is a diagram showing a relationship between a memory cell current level flowing through a pair of memory cells and three types of reference currents for data determination. As shown in FIG. 16, three different reference currents IREF1, IREF2, and IREF3 are prepared. The total current of the pair of memory cells is “1” and “0” when both the even-numbered memory cell and the odd-numbered memory cell are “0”, “0” and “1”, respectively. , And when both are “1”, they change stepwise as shown in FIG. The three reference currents IREF1, IREF2, and IREF3 are set to lie between four different levels of the total current.
[0099]
In the above-described fourth embodiment, the process of determining data is the same as the process of the flow in FIG.
[0100]
FIG. 17 is a flowchart of a process for erasing even-numbered memory cells and odd-numbered memory cells and setting the data state to “1”.
[0101]
In step ST1, erase verify is executed for all even-numbered and odd-numbered cells.
[0102]
In step ST2, it is determined whether or not the threshold voltage Vt_cell of all the memory cells is higher than the verify voltage Vp2. If there is no memory cell having the threshold voltage Vt_cell higher than the verify voltage Vp2, the process proceeds to step ST7.
[0103]
If it is determined in step ST2 that a memory cell having a threshold voltage Vt_cell higher than Vp2 exists, in step ST3, pre-program verify is executed. Next, in step ST4, it is determined whether the threshold voltage Vt_cell of all the memory cells is higher than the verify voltage Vp1 (> Vp2). If there is a memory cell having a threshold voltage Vt_cell that is not higher than the verify voltage Vp1, a pre-program is executed in step ST5. Thereafter, returning to step ST3, the subsequent operations are repeated, and the threshold voltages Vt_cell of all the memory cells are set to be higher than the verify voltage Vp1. After setting all the memory cells to the data state of "0" by the above processing, all the even-numbered and odd-numbered memory cells are erased in step ST6.
[0104]
Next, erase verify is executed in step ST7. In step ST7, it is determined whether or not the threshold voltage Vt_cell of all the memory cells is lower than the verify voltage Ve1. If there is a memory cell having a threshold voltage Vt_cell that is not lower than the verify voltage Ve1, the process returns to step ST6 and repeats the subsequent processing. As a result, data is set so that Ve1> Vt_cell for all the even-numbered and odd-numbered cells.
[0105]
In step ST9, correction verification is executed. In step ST10, it is determined whether or not the threshold voltage Vt_cell is higher than the verify voltage Ve2 (<Ve1) for all the memory cells. If "No", the correction program is executed in step ST11, and the process returns to step ST9 and repeats the subsequent processing. As a result, all the memory cells are set to the data state of "1" so that Ve2 <Vt_cell. By this correction verify and program operation, the threshold voltage Vt_cell is set so as to be distributed between the verify voltages Ve2 and Ve1. That is, the threshold distribution of the data state of “1” can be set in a desired range.
[0106]
As shown in step ST12, the setting of "1" data in the even-numbered memory cells is completed at this point.
[0107]
Next, in step ST13, the odd-numbered memory cells are programmed. In step ST14, a program verify operation is performed on the odd-numbered cells. In step ST15, it is determined whether or not the threshold voltage Vt_cell of the odd-numbered memory cell is higher than the verify voltage Vp2. In the case of “No”, the process returns to step ST13 and the subsequent processes are repeated. Thus, data is set so that Vp2 <Vt_cell for all odd-numbered memory cells.
[0108]
FIG. 18 is a flowchart of a process for programming even-numbered or odd-numbered memory cells and setting the data state to “0” in the fourth embodiment. FIG. 19A is a diagram illustrating a change in a memory cell threshold voltage for an even-numbered memory cell, and FIG. 19B is a diagram illustrating a change in a memory cell threshold voltage for an odd-numbered memory cell.
[0109]
In step ST1 of FIG. 18, the even-numbered or odd-numbered cells are programmed. Next, in step ST2, a program verify operation is performed on the even-numbered or odd-numbered cells. In step ST3, it is determined whether or not the threshold voltage Vt_cell of the memory cell to be programmed is higher than the verify voltage Vp1. In the case of "No", the process returns to step ST1 and the subsequent processes are repeated. Thereby, data is set so that Vp1 <Vt_cell for the memory cell to be programmed.
[0110]
As a result of the above-described program operation, as shown in FIG. 14A, the threshold voltage of the even-numbered memory cells in the data state of “1” between the erase verify voltage Ve1 and the correction verify voltage Ve2 becomes the program verify. The voltage is raised to the level of the voltage Vp1 or higher, and the memory cell becomes a data state of “0”. Further, as shown in FIG. 14B, in the case of the odd-numbered memory cells, the threshold voltage is changed from the state between the erase verify voltage Ve1 and the correction verify voltage Ve2 to a level higher than the program verify voltage Vp2. The data is “1” when pulled up. As a result of the program operation of FIG. 18 from this state, the threshold voltage of the odd-numbered memory cell is raised to a level equal to or higher than the program verify voltage Vp1, and the memory cell becomes a data state of “0”.
[0111]
In the third and fourth embodiments, the floating gate type nonvolatile memory has been described as an example. However, a trap gate type nonvolatile memory as shown in FIG. 5 may be applied. As described above, the trap gate nonvolatile memory is a flash memory capable of storing two bits of information per memory cell by storing charges in a trap layer made of a nitride film or the like.
[0112]
Even when the trap gate type nonvolatile memory is used, two types of memory cells having different "0" levels or different "1" levels are connected in the word line direction as in the third and fourth embodiments. Can be set to be alternately arranged. At the time of data reading, adjacent even-numbered memory cells and odd-numbered memory cells are paired, and the total current flowing through the pair of memory cells is compared with three different types of reference currents. Data determination is performed on the cell. This data determination operation can be performed in the same manner as in the case of the floating gate nonvolatile memory, as described below.
[0113]
In FIG. 5, in order to read the data of the right bit (represented by “x” in the box) of the memory cell M02 and the data of the left bit (represented by “x” in the box) of the memory cell M01, The word line WL0 is set to a predetermined potential (for example, 2 V), the bit line BL2 is set to a drain side potential of, for example, 1 V, and the other bit lines BL0, BL1, BL3, and BL4 are set to the ground potential. In this case, the total current Ibl2 of the pair of memory cells is the sum of the current Im02 and the current Im01.
[0114]
FIG. 20 is a diagram illustrating a flow of a process of determining data when a trap gate nonvolatile memory is used.
[0115]
In step ST1, it is determined whether or not the total current Ibl2 is smaller than the reference current IREF1. If the total current Ibl2 is smaller than the reference current IREF1, the right bit (M02R) of the even-numbered memory cell and the left bit (M01L) of the odd-numbered memory cell are both "0". Otherwise, the process proceeds to step ST2.
[0116]
In step ST2, it is determined whether or not the total current Ibl2 is larger than the reference current IREF3. If the total current Ibl2 is larger than the reference current IREF3, both the right bit (M02R) of the even-numbered memory cell and the left bit (M01L) of the odd-numbered memory cell are "1". Otherwise, the process proceeds to step ST3.
[0117]
In step ST3, it is determined whether or not the total current Ibl2 is larger than the reference current IREF2. If the total current Ibl2 is larger than the reference current IREF2, the right bit (M02R) of the even-numbered memory cell and the left bit (M01L) of the odd-numbered memory cell are "1" and "0", respectively. If the total current Ibl2 is equal to or smaller than the reference current IREF2, the right bit (M02R) of the even-numbered memory cell and the left bit (M01L) of the odd-numbered memory cell are "0" and "1", respectively.
[0118]
Thus, the data determination processing ends.
[0119]
In order to set data so as to have different “0” levels or different “1” levels between the even-numbered and odd-numbered numbers, FIGS. 11 to 13 or FIGS. Using the same procedure as described above, data erasing and programming can be performed on the trap gate nonvolatile memory.
[0120]
As described above, in the third and fourth embodiments according to the present invention, two types of memory cells having different threshold voltages are alternately arranged in the word line direction, and the adjacent even-numbered memory cells are used at the time of data reading. And the odd-numbered memory cells are paired, and the total current flowing through the pair of memory cells is compared with three different reference currents. This makes it possible to perform data determination on each of the paired memory cells. Therefore, data read from each memory cell can be reliably executed without being affected by the leak current.
[0121]
In the above embodiment, it has been described that the even-numbered memory cells and the odd-numbered memory cells have the same memory cell current amount for either one of “0” and “1”. There is no problem without it. The set value of the memory cell current amount of each memory cell (that is, the set value of the memory cell threshold voltage) is set to 4 according to the data state for a pair of memory cells including even-numbered memory cells and odd-numbered memory cells. It is only necessary to be able to determine three different total current amounts. Further, in order to realize different memory cell current amounts, for example, the gate width is made different between the even-numbered cells and the odd-numbered cells, instead of adjusting the charge amount in the gates by the program or erase data setting operation. It can also be realized as a difference in the structure of the nonvolatile semiconductor memory device.
[0122]
As described above, the present invention has been described based on the embodiments. However, the present invention is not limited to the above embodiments, and various modifications can be made within the scope of the claims.
【The invention's effect】
In the present invention, by including, as a data determination target, a memory cell that is not a data determination target that has conventionally been a current leak path, two memory cells sharing a bit line to be sensed are both data determination targets, By comparing two different reference currents and the current of the bit line, the data states of the two memory cells are determined together. In this configuration, all bit lines other than the bit line to be sensed at the time of data determination have the ground potential, so that the bit line precharge operation that has been conventionally required is unnecessary. The ground potential is extremely stable as compared with the precharge voltage, and is not affected by a voltage drop due to bit line resistance. Therefore, in the present invention, it is possible to completely prevent the read failure caused by the unstable potential difference between the bit line to be sensed and the bit line to be precharged.
[Brief description of the drawings]
FIG. 1 is a diagram showing a part of a virtual ground memory array.
FIG. 2 is a diagram showing a configuration of a nonvolatile semiconductor memory device according to the present invention.
FIG. 3 is a diagram for explaining a data determination operation according to the first embodiment.
FIG. 4 is a flowchart illustrating a data determination operation according to the first embodiment.
FIG. 5 is a diagram for explaining a data determination operation according to a modification of the first embodiment.
FIGS. 6A to 6C are diagrams illustrating a data determination method according to a second embodiment of the present invention.
FIG. 7 is a flowchart illustrating a data determination operation of a memory cell according to a second embodiment.
FIG. 8 is a diagram showing a relationship between memory cell currents of even-numbered memory cells and odd-numbered memory cells of the third embodiment.
FIG. 9 is a diagram showing a relationship between a memory cell current level flowing through a pair of memory cells of the third embodiment and three types of reference currents for data determination.
FIG. 10 is a diagram illustrating a flow of a process of determining data in the third embodiment.
FIG. 11 is a flowchart of a process for erasing even-numbered memory cells and odd-numbered memory cells and setting the data state to “1”;
FIG. 12 is a flowchart of a process for programming even-numbered memory cells and setting the data state to “0” in the third embodiment;
FIG. 13 is a flowchart of a process for programming an odd-numbered memory cell and setting it to a data state of “0” in the third embodiment.
14A is a diagram showing a change in a memory cell threshold voltage when an even-numbered memory cell is programmed, and FIG. 14B is a diagram showing a change in a memory cell threshold voltage when an odd-numbered memory cell is programmed; FIG.
FIG. 15 is a diagram showing a relationship between memory cell currents of even-numbered memory cells and odd-numbered memory cells of the fourth embodiment.
FIG. 16 is a diagram illustrating a relationship between a memory cell current level flowing through a pair of memory cells and three types of reference currents for data determination according to the fourth embodiment.
FIG. 17 is a flowchart of a process of erasing even-numbered memory cells and odd-numbered memory cells and setting the data state to “1”;
FIG. 18 is a flowchart of a process for programming even-numbered or odd-numbered memory cells and setting the data state to “0” in the fourth embodiment;
19A is a diagram showing a change in a memory cell threshold voltage for an even-numbered memory cell, and FIG. 19B is a diagram showing a change in a memory cell threshold voltage for an odd-numbered memory cell; is there.
FIG. 20 is a diagram showing a flow of processing for determining data when using a trap gate nonvolatile memory.
[Explanation of symbols]
11 Control circuit
12 Chip enable & output enable circuit
13 I / O buffer
14 cell array
15 Row decoder
16 column decoder
17 Address Latch
18 Data latch
19 Readout circuit
20 Write circuit
21 Erasing circuit
22 Reference current generation circuit

Claims (10)

複数のワード線及び複数のビット線を含む仮想接地メモリアレイと、
該複数のワード線の一本のワード線を選択活性化するローデコーダと、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定するコラムデコーダと、
該1本のビット線に流れる電流を第1基準電流及び第2基準電流と比較することにより、該1本のワード線に接続され且つ該1本のビット線を共有する2つのメモリセルのデータ状態を、両方が0である第1の状態、両方が1である第2の状態、何れか一方が1で他方が0である第3の状態の何れかとして判定するセンスアンプ
を含むことを特徴とする不揮発性半導体記憶装置。
A virtual ground memory array including a plurality of word lines and a plurality of bit lines;
A row decoder for selectively activating one word line of the plurality of word lines;
A column decoder for applying a sense voltage to one of the plurality of bit lines and setting all other bit lines to a ground potential;
By comparing a current flowing through the one bit line with a first reference current and a second reference current, data of two memory cells connected to the one word line and sharing the one bit line can be obtained. Including a sense amplifier that determines the state as a first state in which both are 0, a second state in which both are 1, and a third state in which one is 1 and the other is 0 A nonvolatile semiconductor memory device characterized by the above-mentioned.
該ローデコーダと、該コラムデコーダと、該センスアンプを制御する制御回路を更に含むことを特徴とする請求項1記載の不揮発性半導体記憶装置。2. The nonvolatile semiconductor memory device according to claim 1, further comprising a control circuit for controlling said row decoder, said column decoder, and said sense amplifier. 該2つのメモリセルの一方のデータ状態が既知である場合に、該制御回路は、該2つのメモリセルのデータ状態が該第3の状態であるときに該一方の既知のデータ状態に基づいて他方のメモリセルのデータ状態を判定することを特徴とする請求項2記載の不揮発性半導体記憶装置。When the data state of one of the two memory cells is known, the control circuit determines whether the data state of the two memory cells is the third state based on the one known data state. 3. The nonvolatile semiconductor memory device according to claim 2, wherein a data state of the other memory cell is determined. 複数のワード線及び複数のビット線を含む仮想接地メモリアレイにおいて該複数のワード線の一本のワード線を選択活性化し、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
該1本のビット線に流れる電流を第1基準電流及び第2基準電流と比較することにより、該1本のワード線に接続され且つ該1本のビット線を共有する2つのメモリセルのデータ状態を、両方が0である第1の状態、両方が1である第2の状態、何れか一方が1で他方が0である第3の状態の何れかとして判定する
各段階を含むことを特徴とする不揮発性半導体記憶装置におけるデータ判定方法。
Selectively activating one word line of the plurality of word lines in a virtual ground memory array including a plurality of word lines and a plurality of bit lines;
Applying a sense voltage to one of the plurality of bit lines and setting all other bit lines to ground potential;
By comparing a current flowing through the one bit line with a first reference current and a second reference current, data of two memory cells connected to the one word line and sharing the one bit line can be obtained. Determining that the state is one of a first state in which both are 0, a second state in which both are 1, and a third state in which one is 1 and the other is 0. A data determination method in a nonvolatile semiconductor memory device characterized by the above-mentioned.
複数のワード線及び複数のビット線を含む仮想接地メモリアレイにおいて該複数のワード線の一本のワード線を選択活性化し、
該複数のビット線の並びのうちで先頭のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
該先頭のビット線に流れる電流と基準電流とを比較し、
該1本のワード線に接続される複数のメモリセルのうちで該先頭のビット線に接続される先頭のメモリセルのデータ状態を該比較の結果により判定し、
該複数のビット線の並びのn番目のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
該1本のワード線に接続される該複数のメモリセルのうちで該n番目のビット線を共有するn−1番目のメモリセルとn番目のメモリセルについて、該n−1番目のメモリセルのデータ状態に応じて選択した基準電流と該n番目のビット線に流れる電流を比較することで、該n番目のメモリセルのデータ状態を判定する各段階を含むことを特徴とする不揮発性半導体記憶装置におけるデータ判定方法。
Selectively activating one word line of the plurality of word lines in a virtual ground memory array including a plurality of word lines and a plurality of bit lines;
A sense voltage is applied to the first bit line in the arrangement of the plurality of bit lines, and all other bit lines are set to the ground potential,
Comparing the current flowing through the first bit line with a reference current,
Determining the data state of the first memory cell connected to the first bit line among the plurality of memory cells connected to the one word line based on the result of the comparison;
Applying a sense voltage to the n-th bit line in the row of the plurality of bit lines and setting all other bit lines to ground potential;
Of the plurality of memory cells connected to the one word line, the (n-1) th memory cell and the (n-1) th memory cell that share the nth bit line A step of determining a data state of the nth memory cell by comparing a reference current selected according to the data state of the nth bit line with a current flowing through the nth bit line. A data determination method in a storage device.
該先頭のビット線に流れる電流と比較する対象である基準電流を第1基準電流とし、該n番目のビット線に流れる電流と比較する対象である基準電流は、該n−1番目のメモリセルのデータ状態が0のときは該第1基準電流であり、該n−1番目のメモリセルのデータ状態が1のときは該第1基準電流より大きな第2基準電流であることを特徴とする請求項5記載のデータ判定方法。The reference current to be compared with the current flowing through the head bit line is the first reference current, and the reference current to be compared with the current flowing through the n-th bit line is the (n-1) th memory cell. Is the first reference current when the data state is 0, and the second reference current is larger than the first reference current when the data state of the (n-1) th memory cell is 1. The data determination method according to claim 5. 複数のワード線及び複数のビット線を含む仮想接地メモリアレイと、
該複数のワード線の任意の一本に接続され且つ該複数のビット線の任意の一本のビット線を共有する2つのメモリセルの間でデータ“0”の閾値電圧及びデータ“1”の閾値電圧の少なくとも一方の閾値電圧を異ならせてデータを設定する制御回路
を含むことを特徴とする不揮発性半導体記憶装置。
A virtual ground memory array including a plurality of word lines and a plurality of bit lines;
The threshold voltage of data “0” and the threshold voltage of data “1” are connected between two memory cells connected to any one of the plurality of word lines and sharing any one of the plurality of bit lines. A nonvolatile semiconductor memory device including a control circuit for setting data by changing at least one of the threshold voltages.
該複数のワード線の一本のワード線を選択活性化するローデコーダと、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定するコラムデコーダと、
該1本のビット線に流れる電流を第1基準電流、第2基準電流、及び第3基準電流と比較することにより、該1本のワード線に接続され且つ該1本のビット線を共有する2つのメモリセルの各々のデータ状態を判定するセンスアンプ
を更に含むことを特徴とする請求項7記載の不揮発性半導体記憶装置。
A row decoder for selectively activating one word line of the plurality of word lines;
A column decoder for applying a sense voltage to one of the plurality of bit lines and setting all other bit lines to a ground potential;
By comparing the current flowing through the one bit line with a first reference current, a second reference current, and a third reference current, the currents are connected to the one word line and share the one bit line. 8. The nonvolatile semiconductor memory device according to claim 7, further comprising a sense amplifier for determining a data state of each of the two memory cells.
複数のワード線及び複数のビット線を含む仮想接地メモリアレイにおいて該複数のワード線の一本のワード線を選択活性化し、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
該1本のビット線に流れる電流を第1基準電流、第2基準電流、及び第3基準電流と比較することにより、該1本のワード線に接続され且つ該1本のビット線を共有する2つのメモリセルの各々のデータ状態を判定する
各段階を含むことを特徴とする不揮発性半導体記憶装置におけるデータ判定方法。
Selectively activating one word line of the plurality of word lines in a virtual ground memory array including a plurality of word lines and a plurality of bit lines;
Applying a sense voltage to one of the plurality of bit lines and setting all other bit lines to ground potential;
By comparing the current flowing through the one bit line with a first reference current, a second reference current, and a third reference current, the currents are connected to the one word line and share the one bit line. A method of determining data in a nonvolatile semiconductor memory device, comprising the steps of determining the data state of each of two memory cells.
該複数のワード線の任意の一本に接続され且つ該複数のビット線の任意の一本のビット線を共有する2つのメモリセルの間でデータ“0”の閾値電圧及びデータ“1”の閾値電圧の少なくとも一方の閾値電圧を異ならせてデータを設定する段階を更に含むことを特徴とする請求項9記載のデータ判定方法。The threshold voltage of data “0” and the threshold voltage of data “1” are connected between two memory cells connected to any one of the plurality of word lines and sharing any one of the plurality of bit lines. The method according to claim 9, further comprising the step of setting data by changing at least one of the threshold voltages.
JP2003136269A 2002-05-15 2003-05-14 Nonvolatile semiconductor memory device and data determination method Expired - Fee Related JP4177167B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003136269A JP4177167B2 (en) 2002-05-15 2003-05-14 Nonvolatile semiconductor memory device and data determination method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002140077 2002-05-15
JP2003136269A JP4177167B2 (en) 2002-05-15 2003-05-14 Nonvolatile semiconductor memory device and data determination method

Publications (2)

Publication Number Publication Date
JP2004047050A true JP2004047050A (en) 2004-02-12
JP4177167B2 JP4177167B2 (en) 2008-11-05

Family

ID=31719373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003136269A Expired - Fee Related JP4177167B2 (en) 2002-05-15 2003-05-14 Nonvolatile semiconductor memory device and data determination method

Country Status (1)

Country Link
JP (1) JP4177167B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228404A (en) * 2005-01-24 2006-08-31 Sharp Corp Semiconductor memory device, its reading method, its storing method, and electronic device
JP2007109360A (en) * 2005-09-15 2007-04-26 Sharp Corp Reading method of semiconductor storage device, and semiconductor storage device
JP2008103065A (en) * 2006-10-06 2008-05-01 Qimonda Flash Gmbh Memory cell
US7573766B2 (en) 2006-09-11 2009-08-11 Samsung Electronics Co., Ltd. Phase change random access memory and method of testing the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228404A (en) * 2005-01-24 2006-08-31 Sharp Corp Semiconductor memory device, its reading method, its storing method, and electronic device
JP2007109360A (en) * 2005-09-15 2007-04-26 Sharp Corp Reading method of semiconductor storage device, and semiconductor storage device
US7573766B2 (en) 2006-09-11 2009-08-11 Samsung Electronics Co., Ltd. Phase change random access memory and method of testing the same
JP2008103065A (en) * 2006-10-06 2008-05-01 Qimonda Flash Gmbh Memory cell

Also Published As

Publication number Publication date
JP4177167B2 (en) 2008-11-05

Similar Documents

Publication Publication Date Title
US6567316B1 (en) Nonvolatile semiconductor memory device and method of erasing data of nonvolatile semiconductor memory device
JP3410036B2 (en) Method of writing information to nonvolatile semiconductor memory device
US8982629B2 (en) Method and apparatus for program and erase of select gate transistors
US6934194B2 (en) Nonvolatile memory having a trap layer
US6818491B2 (en) Set of three level concurrent word line bias conditions for a NOR type flash memory array
JP4212901B2 (en) Dual cell soft programming for virtual ground memory arrays
US6160739A (en) Non-volatile memories with improved endurance and extended lifetime
US8027202B2 (en) Method of programming a flash memory device using self boosting
JP3886673B2 (en) Nonvolatile semiconductor memory device
US6515908B2 (en) Nonvolatile semiconductor memory device having reduced erase time and method of erasing data of the same
US6804151B2 (en) Nonvolatile semiconductor memory device of virtual-ground memory array with reliable data reading
US6122198A (en) Bit by bit APDE verify for flash memory applications
US6788580B2 (en) Nonvolatile semiconductor storage device and data erasing method
US7251161B2 (en) Semiconductor device and method of controlling said semiconductor device
GB2226184A (en) Memory device
JP2005216466A (en) Nonvolatile semiconductor memory device
JPH06275087A (en) Non-volatile semiconductor memory
JP4870876B2 (en) Erase method for nonvolatile semiconductor memory device
KR20050008725A (en) Method of erasing a flashing memory using a pre-reasing step
JP3974778B2 (en) Nonvolatile semiconductor memory device and data erasing method thereof
US6285588B1 (en) Erase scheme to tighten the threshold voltage distribution of EEPROM flash memory cells
JP4177167B2 (en) Nonvolatile semiconductor memory device and data determination method
JP4794231B2 (en) Nonvolatile semiconductor memory device
JP2815077B2 (en) Method of using semiconductor nonvolatile memory device
WO2004109806A1 (en) Non-volatile semiconductor memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060522

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080325

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

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: 20080812

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080821

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

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 5

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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