JP4177167B2 - 不揮発性半導体記憶装置及びデータ判定方法 - Google Patents
不揮発性半導体記憶装置及びデータ判定方法 Download PDFInfo
- Publication number
- JP4177167B2 JP4177167B2 JP2003136269A JP2003136269A JP4177167B2 JP 4177167 B2 JP4177167 B2 JP 4177167B2 JP 2003136269 A JP2003136269 A JP 2003136269A JP 2003136269 A JP2003136269 A JP 2003136269A JP 4177167 B2 JP4177167 B2 JP 4177167B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- current
- reference current
- memory cells
- bit line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、一般に不揮発性半導体記憶装置に関し、詳しくは仮想接地メモリアレイを用いた不揮発性半導体記憶装置に関する。
【従来の技術】
仮想接地メモリアレイにおいては、ビット線が拡散層で形成されており、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基準電流を用い、該一本のワード線に接続され且つ該一本のビット線を共有する2つのメモリセルのデータ状態を、該一本のビット線に流れる電流が該第1基準電流より小さい場合、該2つのメモリセルのデータの双方が”0”である第1の状態、該一本のビット線に流れる電流が該第2基準電流より大きい場合、該2つのメモリセルのデータの双方が”1”である第2の状態、及び、該一本のビット線に流れる電流が該第 1 基準電流より大きく且つ該第2基準電流より小さい場合、該2つのメモリセルのデータの何れか一方が”1”で他方が”0”である第3の状態と判定するセンスアンプとを含むことを特徴とする。
【0010】
上記発明においては、従来は電流のリーク経路であったデータ判定対象ではないメモリセルをデータ判定対象として含めることで、センス対象のビット線を共有する2つのメモリセルを両方ともデータ判定対象とし、2つの異なる基準電流と該ビット線の電流を比較することにより2つのメモリセルのデータ状態を纏めて判定する。この構成では、データ判定する際にセンス対象のビット線以外のビット線は全てグラウンド電位となるため、従来必要であったビット線のプリチャージ動作が不要となる。またグラウンド電位はプリチャージ電圧に比べて極めて安定であり、ビット線抵抗による電圧降下の影響も受けない。従って、センス対象のビット線とプリチャージ対象のビット線との不安定な電位差によって従来生じていた読み出し不良を、本発明においては完全に防止することが可能になる。
【0011】
また本発明の別の側面によれば、不揮発性半導体記憶装置は、複数のワード線及び複数のビット線を含む仮想接地メモリアレイと、該複数のワード線のうち一本のワード線を選択活性化するローデコーダと、該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定するコラムデコーダと、該一本のワード線に接続され且つ該一本のビット線を共有する2つのメモリセルの間でデータ”0”の閾値電圧及びデータ”1”の閾値電圧の少なくとも一方の閾値電圧を異ならせてデータを設定する制御回路と、第1基準電流、該第1基準電流より大きい第2基準電流、及び、該第2基準電流より大きい第3基準電流を用い、該2つのメモリセルのデータ状態を、該一本のビット線に流れる電流が該第1基準電流より小さい場合、該2つのメモリセルのデータの双方が”0”である状態、該一本のビット線に流れる電流が該第1基準電流より大きく且つ該第2基準電流より小さい場合、該2つのメモリセルのデータがそれぞれ”0”、”1”である状態、該一本のビット線に流れる電流が該第2基準電流より大きく且つ該第3基準電流より小さい場合、該2つのメモリセルのデータがそれぞれ”1”、”0”である状態、及び、該一本のビット線に流れる電流が該第3基準電流より大きい場合、該2つのメモリセルのデータの双方が”1”である状態と判定するセンスアンプとを含むことを特徴とする。
【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 基準電流発生回路
Claims (7)
- 複数のワード線及び複数のビット線を含む仮想接地メモリアレイと、
該複数のワード線のうち一本のワード線を選択活性化するローデコーダと、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定するコラムデコーダと、
第1基準電流、及び、該第 1 基準電流より大きい第2基準電流を用い、該一本のワード線に接続され且つ該一本のビット線を共有する2つのメモリセルのデータ状態を、該一本のビット線に流れる電流が該第1基準電流より小さい場合、該2つのメモリセルのデータの双方が”0”である第1の状態、該一本のビット線に流れる電流が該第2基準電流より大きい場合、該2つのメモリセルのデータの双方が”1”である第2の状態、及び、該一本のビット線に流れる電流が該第 1 基準電流より大きく且つ該第2基準電流より小さい場合、該2つのメモリセルのデータの何れか一方が”1”で他方が”0”である第3の状態と判定するセンスアンプと、
を含むことを特徴とする不揮発性半導体記憶装置。 - 該ローデコーダと、該コラムデコーダと、該センスアンプを制御する制御回路を更に含むことを特徴とする請求項1記載の不揮発性半導体記憶装置。
- 該2つのメモリセルの一方のデータ状態が既知である場合に、該制御回路は、該2つのメモリセルのデータ状態が該第3の状態であるときに該一方の既知のデータ状態に基づいて他方のメモリセルのデータ状態を判定することを特徴とする請求項2記載の不揮発性半導体記憶装置。
- 複数のワード線及び複数のビット線を含む仮想接地メモリアレイにおいて
該複数のワード線のうち一本のワード線を選択活性化し、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
第1基準電流、及び、該第 1 基準電流より大きい第2基準電流を用い、該一本のワード線に接続され且つ該一本のビット線を共有する2つのメモリセルのデータ状態を、該一本のビット線に流れる電流が該第1基準電流より小さい場合、該2つのメモリセルのデータの双方が”0”である第1の状態、該一本のビット線に流れる電流が該第2基準電流より大きい場合、該2つのメモリセルのデータの双方が”1”である第2の状態、及び、該一本のビット線に流れる電流が該第 1 基準電流より大きく且つ該第2基準電流より小さい場合、該2つのメモリセルのデータの何れか一方が”1”で他方が”0”である第3の状態と判定する各段階を含むことを特徴とする不揮発性半導体記憶装置におけるデータ判定方法。 - 複数のワード線及び複数のビット線を含む仮想接地メモリアレイにおいて、
該複数のワード線のうち一本のワード線を選択活性化し、
該複数のビット線の並びのうち先頭のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
第1基準電流、及び、該第 1 基準電流より大きい第2基準電流を用い、該一本のワード線に接続される複数のメモリセルのうち該先頭のビット線に接続される先頭のメモリセルのデータ状態を、該先頭のビット線に流れる電流が該第1基準電流より小さい場合、該先頭のメモリセルのデータが”0”である状態、及び、該先頭のビット線に流れる電流が該第1基準電流より大きい場合、該先頭のメモリセルのデータが”1”である状態と判定し、
該複数のビット線の並びのうちn番目のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
該一本のワード線に接続される該複数のメモリセルのうち該n番目のビット線を共有するn−1番目のメモリセルとn番目のメモリセルについて、該n番目のメモリセルのデータ状態を、該n−1番目のメモリセルのデータ状態が”0”のときは、該n番目のビット線に流れる電流が該第1基準電流より小さい場合、該n番目のメモリセルのデータが”0”である状態、及び、該n番目のビット線に流れる電流が該第1基準電流より大きい場合、該n番目のメモリセルのデータが”1”である状態、並びに、該n−1番目のメモリセルのデータ状態が”1”のときは、該n番目のビット線に流れる電流が該第2基準電流より小さい場合、該n番目のメモリセルのデータが”0”である状態、及び、該n番目のビット線に流れる電流が該第2基準電流より大きい場合、該n番目のメモリセルのデータが”1”である状態と判定する各段階を含むことを特徴とする不揮発性半導体記憶装置におけるデータ判定方法。 - 複数のワード線及び複数のビット線を含む仮想接地メモリアレイと、
該複数のワード線のうち一本のワード線を選択活性化するローデコーダと、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定するコラムデコーダと、
該一本のワード線に接続され且つ該一本のビット線を共有する2つのメモリセルの間でデータ”0”の閾値電圧及びデータ”1”の閾値電圧の少なくとも一方の閾値電圧を異ならせてデータを設定する制御回路と、
第1基準電流、該第1基準電流より大きい第2基準電流、及び、該第2基準電流より大きい第3基準電流を用い、該2つのメモリセルのデータ状態を、該一本のビット線に流れる電流が該第1基準電流より小さい場合、該2つのメモリセルのデータの双方が”0”である状態、該一本のビット線に流れる電流が該第1基準電流より大きく且つ該第2基準電流より小さい場合、該2つのメモリセルのデータがそれぞれ”0”、”1”である状態、該一本のビット線に流れる電流が該第2基準電流より大きく且つ該第3基準電流より小さい場合、該2つのメモリセルのデータがそれぞれ”1”、”0”である状態、及び、該一本のビット線に流れる電流が該第3基準電流より大きい場合、該2つのメモリセルのデータの双方が”1”である状態と判定するセンスアンプと、
を含むことを特徴とする不揮発性半導体記憶装置。 - 複数のワード線及び複数のビット線を含む仮想接地メモリアレイにおいて、
該複数のワード線のうち一本のワード線を選択活性化し、
該複数のビット線のうち一本のビット線にセンス電圧を印加すると共に他の全てのビット線をグラウンド電位に設定し、
該一本のワード線に接続され且つ該一本のビット線を共有する2つのメモリセルの間でデータ”0”の閾値電圧及びデータ”1”の閾値電圧の少なくとも一方の閾値電圧を異ならせてデータを設定し、
第1基準電流、該第1基準電流より大きい第2基準電流、及び、該第2基準電流より大きい第3基準電流を用い、該2つのメモリセルのデータ状態を、該一本のビット線に流れる電流が該第1基準電流より小さい場合、該2つのメモリセルのデータの双方が”0”である状態、該一本のビット線に流れる電流が該第1基準電流より大きく且つ該第2基準電流より小さい場合、該2つのメモリセルのデータがそれぞれ”0”、”1”である状態、該一本のビット線に流れる電流が該第2基準電流より大きく且つ該第3基準電流より小さい場合、該2つのメモリセルのデータがそれぞれ”1”、”0”である状態、及び、該一本のビット線に流れる電流が該第3基準電流より大きい場合、該2つのメモリセルのデータの双方が”1”である状態と判定する各段階を含むことを特徴とする不揮発性半導体記憶装置におけるデータ判定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003136269A JP4177167B2 (ja) | 2002-05-15 | 2003-05-14 | 不揮発性半導体記憶装置及びデータ判定方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002140077 | 2002-05-15 | ||
JP2003136269A JP4177167B2 (ja) | 2002-05-15 | 2003-05-14 | 不揮発性半導体記憶装置及びデータ判定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004047050A JP2004047050A (ja) | 2004-02-12 |
JP4177167B2 true JP4177167B2 (ja) | 2008-11-05 |
Family
ID=31719373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003136269A Expired - Fee Related JP4177167B2 (ja) | 2002-05-15 | 2003-05-14 | 不揮発性半導体記憶装置及びデータ判定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4177167B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006228404A (ja) * | 2005-01-24 | 2006-08-31 | Sharp Corp | 半導体記憶装置、その読み出し方法、その記憶方法及び電子機器 |
JP2007109360A (ja) * | 2005-09-15 | 2007-04-26 | Sharp Corp | 半導体記憶装置の読み出し方法及び半導体記憶装置 |
KR100872880B1 (ko) | 2006-09-11 | 2008-12-10 | 삼성전자주식회사 | 상변화 메모리 장치의 테스트 방법 및 상변화 메모리 장치 |
US7554856B2 (en) * | 2006-10-06 | 2009-06-30 | Qimonda Flash Gmbh & Co. Kg | Memory cell |
-
2003
- 2003-05-14 JP JP2003136269A patent/JP4177167B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004047050A (ja) | 2004-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6567316B1 (en) | Nonvolatile semiconductor memory device and method of erasing data of nonvolatile semiconductor memory device | |
US8982629B2 (en) | Method and apparatus for program and erase of select gate transistors | |
JP3410036B2 (ja) | 不揮発性半導体記憶装置への情報の書き込み方法 | |
US6777292B2 (en) | Set of three level concurrent word line bias conditions for a NOR type flash memory array | |
JP4212901B2 (ja) | 仮想接地メモリ・アレイのためのデュアル・セルのソフト・プログラミング | |
US6515908B2 (en) | Nonvolatile semiconductor memory device having reduced erase time and method of erasing data of the same | |
JP3886673B2 (ja) | 不揮発性半導体記憶装置 | |
US6804151B2 (en) | Nonvolatile semiconductor memory device of virtual-ground memory array with reliable data reading | |
US6252803B1 (en) | Automatic program disturb with intelligent soft programming for flash cells | |
US6788580B2 (en) | Nonvolatile semiconductor storage device and data erasing method | |
JP4050048B2 (ja) | 高速プログラムおよびプログラム検証への高速切り替え方法 | |
US7251161B2 (en) | Semiconductor device and method of controlling said semiconductor device | |
GB2226184A (en) | Memory device | |
JP4870876B2 (ja) | 不揮発性半導体メモリ装置の消去方法 | |
KR20050008725A (ko) | 선 소거 단계를 이용하여 플래시 메모리를 소거하는 방법 | |
JP3974778B2 (ja) | 不揮発性半導体メモリ装置およびそのデータ消去方法 | |
US11211396B2 (en) | Semiconductor memory device | |
US6285588B1 (en) | Erase scheme to tighten the threshold voltage distribution of EEPROM flash memory cells | |
JP2012155798A (ja) | 不揮発性半導体記憶装置 | |
JP4672673B2 (ja) | 半導体装置および半導体装置の制御方法 | |
JP4177167B2 (ja) | 不揮発性半導体記憶装置及びデータ判定方法 | |
JP4794231B2 (ja) | 不揮発性半導体記憶装置 | |
US6198664B1 (en) | APDE scheme for flash memory application | |
KR101981798B1 (ko) | 불휘발성 메모리 장치의 소거 방법 및 소프트 프로그램 방법 | |
JP2815077B2 (ja) | 半導体不揮発性記憶装置の使用方法 |
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 |