JP3655882B2 - データ記憶用装置 - Google Patents
データ記憶用装置 Download PDFInfo
- Publication number
- JP3655882B2 JP3655882B2 JP2002065603A JP2002065603A JP3655882B2 JP 3655882 B2 JP3655882 B2 JP 3655882B2 JP 2002065603 A JP2002065603 A JP 2002065603A JP 2002065603 A JP2002065603 A JP 2002065603A JP 3655882 B2 JP3655882 B2 JP 3655882B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- data
- transistor
- bit
- logic
- 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 - Lifetime
Links
Images
Landscapes
- Read Only Memory (AREA)
Description
【発明の属する技術分野】
本発明はフラッシュEEPROMメモリ技術に関し、特に自動プログラムベリファイ及びページプログラミング用の改善されたフラッシュEEPROMメモリ構成に関する。
【0002】
【従来の技術】
フラッシュEEPROMは不揮発性記憶集積回路の中で著しく発展している。
【0003】
メモリフラッシュEEPROM内のメモリセルは、いわゆるフローティングゲートトランジスタを用いて形成され、フローティングゲートを充電または放電することによりデータはセル内に格納される。フローティングゲートはポリシリコン等の導電材料で、薄い酸化膜または他の絶縁材料によってトランジスタのチャンネルから絶縁されており、絶縁材料の第2層によりトランジスタのコントロールゲートから絶縁されている。
【0004】
フローティングゲートは Fowler-Nordheim tunneling 機構を用いてゲー
ト及びソース又はドレイン間に大きなプラス電圧をかけてることにより充電できる。これにより電子は薄い絶縁膜を介してフローティングゲートに注入される。
【0005】
又は、電位を与え高エネルギ電子をセルのチャンネル内に誘起することにより、ホットエレクトロン注入と呼ばれる雪崩注入機構を用いることができ、こ機構は絶縁膜を介してフローティングゲートに電子を注入する。フローティングゲートが充電されると、メモリセルを導通させるための閾値電圧は、リード(read)動
作の時にワードラインに与えられた電圧以上に上昇する。従って、充電されたセルがリード動作のときにアドレスされた場合、セルは導通しない。セルの非導通状態はセンス回路の極性に応じてバイナリの1又は0として示される。
【0006】
【発明が解決しようとする課題】
フローティングゲートは放電して逆のメモリ状態をとる。この機能はトランジスタのフローティングゲートとソース又はドレイン間、又はフローティングゲートと基板間のF−Nトンネル機構により一般に行われる。例えばフローティングゲートはドレインからゲートへ大きなプラス電圧を与えることにより、ドレインを介して放電する。このときソースはフローティング電位のままである。
【0007】
フローティングゲートを充電及び放電するために用いる高電圧は、特にセルサイズ及び処理仕様の減少に伴って、フラッシュメモリ装置に著しい設計的制限を与える。
【0008】
更に、フローティングゲートを充電及び放電する動作は、特にF−Nトンネル機構を用いる場合に比較的低速な処理で、速度が要求される用途でフラッシュメモリ装置の適用範囲を制限することがある。
【0009】
フラッシュメモリ装置の動作を低速にする他の処理はプログラムベリファイである。プログラムシーケンスを適用した後、プログラミングはベリファイされなければ完全なものではなく、ベリファイでエラーが検出された場合、プログラミングは再び行われる。プログラムの再実行は一般にワード単位又はバイト単位で行われる。従って、1エラービットを有するバイト内に正常にプログラムされた複数ビットはそのプログラムサイクルを繰り返し受ける。これによりオーバープログラミング及びセルの不具合が生じることがある。この問題に対する1つの方法が、米国特許出願No.5,163,021(発明者:Mehrotra,et al.
コラム19、10行以降、図14〜17)に示されている。
【0010】
従って、速度を向上し従来のオーバープログラミングエラーを克服するフラッシュEEPROMセル構成及びそのプログラミング方法の提供が望まれている。
【0011】
【課題を解決するための手段】
本発明は新たなフラッシュEEPROMセル及びアレイの設計、及びこのセル及びアレイを高速にプログラムする方法を提供する。このフラッシュEEPROMアレイの設計は"ページモード"プログラミングに基づいており、このプログラミングは、例えば1024個のフラッシュEEPROMセルを並列に含むページにより構成されるデータの行を書き込むことにより行われる。従って本発明の特徴によれば、フラッシュEEPROMトランジスタアレイが提供される。このメモリアレイはデータを格納するための複数のフラッシュEEPROMセルを有する。供給回路は複数のフラッシュEEPROMセルに電圧を供給し、メモリアレイ内の複数のフラッシュEEPROMセルをリード及びプログラムする。ページバッファは、対応するビットラインに接続された複数のビットラッチを含み、メモリアレイ内の1つのワードラインに沿ったフラッシュEEPROMセルの行にページデータの格納部を提供する。コントロールロジックは、ビットラッチ内のメモリデータ及びアドレス信号に応じて前記供給回路を制御し、前記行内の複数のフラッシユEEPROMセルにデータをプログラムする。データベリファイ回路はこの行内の各セルにプログラムされたメモリデータを自動的にベリファイし、
ベリファイに合格したセルに対応するビットラッチをリセットする。全ビットラッチがリセット状態となりセルの行がベリファイを合格したとき、ページベリファイド(verified)信号が発生し、他の場合プログラム動作は繰り返される。
【0012】
本発明の他の特徴によれば、メモリアレイは少なくともM行及びN列のフラッシュEEPROMセルを含む。フラッシュEEPROMセルの全行がプログラムシーケンスでプログラムされるように、ビットラッチは格納用メモリデータをフラッシュEEPROMセルの行に提供する。フラッシュEEPROMセルの全行がプログラムされた後、プログラムされたフラッシュEEPROMセル内のデータはベリファイされる。このデータベリファイ回路は、ベリファイロジックを含み、このロジックはフラッシュEEPROMセルからメモリデータを読み出し、対応するビットラッチをリセットし、フラッシュEEPROMセルからのメモリデータがビットラッチによりプログラムされた状態を示すとき、セルデータベリファイ信号を提供する。従ってベリファイロジックはフラッシュEEPROMセル内のメモリデータの自動プログラムベリファイを提供する。フラッシュEEPROMセルの行内の各フラッシュEEPROMセルからのメモリデータは、対応するビットラッチのメモリデータと比較され、自動的にベリファイされる。
【0013】
本発明の更に他の特徴によれば、前記データベリファイ回路は出力ロジックを含み、このロジックは、全てのセルデータベリファイ信号がベリファイされたフラッシユEEPROMセルに対して受信されたとき、ページベリファイ信号を提供する。この出力ロジックがページベリファイ信号を提供しないとき、丙試行ロジックが、プログラムベリファイで不合格となったフラッシュEEPROMセルを再度プログラムする。この再試行ロジックは再プログラム試行回数を計数し、再プログラム試行回数限度を設定するロジックを含む。
【0014】
更に本発明の他の特徴によれば、前記プログラム回路はロジックを含み、このロジックはフラッシュEEPROMセルからプログラムされた入力データをリードし、そのプログラムされた入力データとビットラッチのデータとを比較し、フラッシュEEPROMセル全てがプログラムベリファイに合格したとき、プログラムベリファイド信号を提供する。このロジックはプログラムされたフラッシュEEPROMセルが全てプログラムベリファイに合格したとき、自動的にプログラムベリファイド信号を提供する。
【0015】
更に本発明の他の特徴によれば、M行N列のフラッシュEEPROMメモリセルを有するメモリアレイ内にデータを格納する方法が提供され、この方法は、ページバッファに入力データの行をロードし、その入力データをメモリの行にプログラムするためにメモリセルの行を選択し、メモリセルの行を前記ページバッファからの入力データによりプログラムし、そのメモリセルの行を読み出し、メモリセルの行に対する入力データのプログラミングをベリファイし、メモリセルの行内の入力データがベリファイされたとき、プログラムベリファイフラグを設定する。メモリアレイは更に、ベリファイで不合格となったセルのみを再プログラムするステップを含む。
【0016】
本発明の他の特徴及び効果は図面、詳細な説明、及び請求の範囲から理解できるものである。
【0017】
【実施例】
本発明の好適実施例を図面を参照して詳細に説明する。図1は本発明によるフラッシュEEPROM集積回路モジュールの概要を示す。図1の集積回路モジュールは一般的なフラッシュEEPROMメモリアレイ100を含む。
【0018】
メモリアレイ100にはメモリアレイ内の水平デコード用のワードライン及びブロック選択デコーダ104が接続されている。又、メモリアレイ100にはアレイ内の垂直デコード用の列レコーダ及びバーチャルグランド回路105が接続されている。
【0019】
列デコーダ及びバーチャルグランド回路105には構造103内のプログラムデータ入力及びセンスアンプ107が接続されており、これはメモリアレイに接続されるデータ入出力回路を提供する。
【0020】
一般にフラッシュEEPROM集積回路は、リードオンリーモード、プログラムモード、及び消去モードで動作する。従って、モード制御回路106がチップ上のアレイ100及び他のブロック(108、109、105)に接続されている。
【0021】
最後に、本発明の一実施例によれば、プログラム及び消去モード期間中、メモリセルのゲートまたはソース及びドレインの何れかに負の電位が供給される。従って、負電圧発生器108及び正電圧発生器109がアレイに様々な参照電圧を供給するのに用いられる。一般に負電圧発生器108及び正電圧発生器109は電源電圧VCC又はVCC及び高プログラム電位VPPにより駆動される。
【0022】
図2は大規模集積回路内の2つのセグメントに関する設計の一例を示す。これらの部分は点線50に沿って一般に分割され、点線50上部のセグメント51A及び点線50下部のセグメント52Bを含む。セグメント51A内の列の第1対52は、与えられたグローバルビットライン対(例えばビットライン70、71)
に沿って、セグメント51B内の列の第2対53と鏡像(mirror imagc)となる
ように配置される。メモリセグメントはバーチャルグランド導体54A、54B(埋め込み拡散)及び金属拡散接点55、56、57、58を共用するように構成される。バーチャルグランド導体54A、54Bはアレイを水平に横切り、金属拡散接点60A、60Bを介して垂直バーチャルグランド金属線59まで延長されている。隣接するセグメントが金属バーチャルグランド線59を共用するように、セグメントは金属バーチャル線59の反対側で反復されている。従って図2のセグメント配置では、グローバルビットラインの2つのトランジスタセルの各列毎に2つの金属接触ピッチ(pitches)、及び金属バーチャルグランドライン59について各セグメント毎に1つの金属接点ピッチが必要となる。
【0023】
与えられたビットライン対に沿った各列対(例えば52、53)はEEPROMセルのセットを具備する。従って75−1、75−2、75−Nは、列の対77の第1列における第1セットのフラッシュEEPROMセルを構成する。セル76−1、76−2、76−Nは列の対77の第2列における第2セットのフラッシュEEPROMセルを構成する。
【0024】
セルの第1セット及びセルの第2セットは共通埋め込み拡散ソースライン78を共用する。セル75−1、75−2、75−Nは埋め込み拡散ドレインライン79に結合されている。セル76−1、76−2、76−Nは埋め込み拡散ドレインライン80に接続されている。上部選択トランジスタ81及び上部選択トランジスタ82を具備するセレクタ回路は、ドレイン拡散ライン79、80を金属グローバルビットライン83、84に各々結合している。従ってトランジスタ81はドレイン拡散ライン79に結合されたソースと金属接点57に結合されたドレインを有する。トランジスタ82はドレイン拡散ライン80に結合されたソースと金属接点58に結合されたドレインを有する。トランジスタ81及び82のゲートは信号TBSELAにより制御され、フラッシュEEPROMセルの各列をグローバルビットライン83及び84に接続する。
【0025】
ソース拡散ライン78は選択トランジスタ85のドレインに接続されている。
【0026】
選択トランジスタ85のソースはバーチャルグランド拡散ライン54Aに接続されている。トランジスタ85Aのゲートは信号BBSELAにより制御されている。
【0027】
更に、図2に示すように複数のセグメントのセクタは、上部及び下部ブロック選択信号TBSELA、TBSELB、BBSELA、及びBBSELBにより提
供される追加デコーディングにより、ワードライン信号を共用することができる。
【0028】
一実施例において、8つのセグメントがワードラインドライバを共用することにより、8セグメント深度(deep)のセクタを提供する。
【0029】
図から判るように本発明による構成は、セクタ分けされたフラッシュEEPROMアレイを提供する。これは効果的な構成である。なぜなら、リード、プログラム又は消去サイクル中に、選択されていないセグメント内のトランジスタのソース及びドレインは、ビットライン及びバーチャルグランドライン上の電流及び電圧から分離できるからである。従ってリード動作中にセンス動作(sensing)
改善される。なぜなら、選択されていないセグメントからの漏れ電流はビットライン上の電流に影響を及ぼさないからである。プログラム及び消去動作中、バーチャルグランドラインとビットラインの電圧は非選択セグメントから分離される。
【0030】
これにより、与えられたセクタ内のセグメントがワードラインドライバを共用するときに、セグメント毎又は好適にセクタ毎のセクタ分けされた消去動作が可能となる。
【0031】
下部ブロック選択トランジスタ(例えばトランジスタ65A、65B)は、後述の図3に示す所定構成のように不要となることが望ましい。又、これらのブロック選択トランジスタは、下部ブロック選択信号を隣接するセグメントと共用することができる。又は、下部ブロック選択トランジスタ(例えば65A、65B)
は、バーチャルグランド端子60A、60Bに隣接する単一の分離トランジスタにより置き換えることもできる。
【0032】
図3は本発明によるフラッシュEEPROMアレイの他の構成を示し、フラッシュEEPROMセルの2つの列は単一金属ビットラインを共用している。図3はアレイ列の4対を示し、列の各対はフラッシュEEPROMセルをドレイン・ソース・ドレイン構成で含んでいる。
【0033】
従って、第1列対120は第1ドレイン拡散ライン121、ソース拡散ライン122、及び第2ドレイン拡散ライン123を含む。ワードラインWL0〜WL63は各々、列対の第1列の中のセルのフローティングゲート及び列対の第2列の中のセルのフローティングゲートを覆っている。図に示すように、第1列対は、
セル124、セル125、セル126、及びセル127を含む1つの列を含む。
【0034】
ワードラインWL2〜WL61に接続されたセルは示されていない。列対120の第2列は、セル128、セル129、セル130、及びセル131を含む。アレイの同一列に沿って、第2列対135が示されている。これは鏡像に配置されていることを除き、列対120と同一構成である。
【0035】
このように、セル125のような第1列対内のトランジスタは、ドレイン拡散ライン121内のドレイン及びソース拡散ライン122内のソースを含む。フローティングゲートは、第1ドレイン拡散ライン121とソース拡散ライン122の間のチャンネル領域を覆っている。ワードラインWL1はセル125のフローティングゲートを覆い、フラッシュEEPROMセルを形成している。
【0036】
列対120及び列対135はアレイバーチャルグランド拡散136(ARVSS)を共用している。従って、列対120のソース拡散ライン122はグランド拡散136に接続されている。同様に、列対135のソース拡散ライン137はグランド拡散136に接続されている。
【0037】
前述したように、セル列の各対120は単一金属ラインを共用している。従って、ブロック右選択トランジスタ138及びブロック左選択トランジスタ139が含まれている。トランジスタ139はドレイン拡散ライン121内のドレイン、
金属接点140に接続されたソース、及びライン141上の制御信号BLTR1に接続されたゲートを含んでいる。同様に右選択トランジスタ138は、ドレイン拡散ライン123内のソース、金属接点140に接続されたドレイン、及びライン142上の制御信号BLTR0に接続されたゲートを含んでいる。従って、トランジスタ138及び139を含む選択回路は、第1ドレイン拡散ライン121と第2ドレイン拡散ライン123の、金属接点140を介した金属ライン143(MTBL0)に対する選択的接続を提供する。同様に、列対135は右選択トランジスタ144及び右選択トランジスタ145を含み、これらトランジスタは金属接点146に同様に接続されている。接点146は接点140のように同一金属ライン143に接続され、接点140は列対120に接続されている。この金属ラインは2列以上のセルにより、追加の選択回路を用いて共用することが出来る。
【0038】
図2及び3の構成は、2列のセルを形成するドレイン・ソース・ドレインユニットに基づいており、これらのセルは隣接する列のドレイン・ソース・ドレインユニットから分離され、隣接する列のセルからの漏れ電流を防止している。この構成は、センス回路の漏れ電流に対する適当な許容により、又は非選択セルからの漏れ電流に対する他の制御により、3列以上のユニットに拡張できる 従って、
例えば与えられた分離領域内に第4及び第5拡散ラインを追加し、4列のセルを提供するドレイン・ソース・ドレイン・ソース・ドレイン構造を構成できる。
【0039】
列対は水平及び垂直に配置され、Mワードライン及び2N列を具備するフラッシュEEPROMのアレイを提供する。このアレイはN本の金属ビットラインのみを必要とし、各ラインは前述したように選択回路を介してフラッシュEEPROMの列対に接続される。
【0040】
図では2つの金属ビットライン143及び152(MTBL0、MTBL1)に接続された4つの列対120、135、150、及び151のみが示されているが、アレイは必要に応じて水平及び垂直に繰り返し、大規模フラッシュEEPROMメモリアレイを構成できる。従って、1つのワードラインを共用する列対120及び150は水平に繰り返され、アレイの1セグメントを提供する。セグメントは垂直に繰り返される。共用ワードドライバに接続される複数ワードラインを各々有するセグメントグループ(例えば8セグメント)は、アレイのセクタと考えることができる。
【0041】
バーチャルグランド構成と、配置に要求される減少した金属ピッチ、及び異なるセグメント内の複数行の中にワードラインドライバを共用できる能力により、アレイの配置はコンパクトである。従ってワードラインWL63'はワードラインドライバをワードラインWL63と共用することができる。好適システムにおいて、8つのワードラインが単一のワードラインドライバを共用できる。従って、
1つのワードラインドライバ回路のピッチのみが8行のセルセットに各々必要となる。左及び右選択トランジスタ(セグメント120用の139、138)によって提供される追加デコードにより、共用ワードライン構成を達成できる。共用ワードライン構成は、セクター消去動作中、8行のセル全てが同一ワードライン電圧を受信し、消去されるべきではないセル内にワードライン干渉を発生するという欠点を有している。与えられたアレイに関してこれが問題となる場合、全てのセクタ消去動作が、共用されたワードラインドライバに接続されたセルの全行を含むセグメントに関してデコードされることを保証することにより、この干渉の問題は解決できる。単一ドライバを共用する8ワードラインについて、8セグメントの最小セクタ消去が望ましい。
【0042】
図4は本発明の特徴を説明するためのフラッシュEEPROMアレイの概略ブロック図である。従って図4に示すフラッシュEEPROMメモリモジュールは、
セクタ170−1、170−2、170−3、170−Nを含むメインフラッシュEEPROMアレイを含み、各セクタは8セグメント(例えばSEG0〜SEG7)を含む。共用ワードラインドライバ171−1、171−2、171−3、
171−Nの複数セットは、各セクタ内の8セグメントの共用ワードラインを駆動するのに用いられる。共用ワードラインドライバ171−1について示されているように、セクタ170−1について64個の共用ドライバがある。64個のドライバのそれぞれがライン172上に出力を供給する。これら各出力は64ラインの8セットに分割された区分により示されるように、セクタ170−1の各セグメント内の8本のワードラインを駆動するのに用いられる。
【0043】
アレイには複数のブロック選択ドライバ173−1、173−2、173−3、
173−Nも接続されている。各ブロック選択ドライバは、各セグメント用の左及び右ブロック選択信号を駆動する。図3に示すようにセグメントは構成され、64ワードラインの各セットに対して供給されるBLTR1及びBLTR0ブロック選択信号対がある。
【0044】
更に、フラッシュEEPROMアレイ内にはN本のグローバルビットラインがある。データ入力回路及びセンスアンプ191について、アレイ内のフラッシュEEPROMセルの2N列に対してアクセスできるようにNビットラインが用いられる。列選択デコーダ175はページプログラムビットラッチ190に接続され、これらラッチは各Nビットラインについて少なくとも1ビットラッチを含む。
【0045】
又、列選択デコーダ175はデータ入力回路及びセンスアンプ191に接続されている。データバスライン192は16ビット幅で、入力データをデータ入力回路及びセンスアップ191に提供する。データバスライン192は又、16ビットの出力データを供給する。これらの回路はフラッシュEEPROMアレイに使用するデータ入出力回路を提供する。
【0046】
Nビットライン174は列選択デコーダ175に接続される。好適システムにおいて、全1024ビットラインについてN=1024である。ブロック選択ドライバ173−1〜173−Nは、ブロックデコーダ176に接続されている。
【0047】
共用ワードラインドライバ171−1〜171−Nは行デコーダ177に接続されている。列選択デコーダ175、ブロックデコーダ176、及び行デコーダ177はライン178内のアドレス上のアドレス信号を受信する。
【0048】
列選択デコーダ175にはページプログラムビットラッチ/ベリファイブロック190が接続されている。ページプログラムビットラッチ/ベリファイブロック190はN個のラッチを含み、Nビットラインの各々に1つのラッチが用いられる。従って、1ページデータはNビット幅と考えられ、セルの各行は2ページ、
即ちページ0及びページ1の幅である。与えられた行内のページは前述のように左及び右のデコーディングを用いて選択される。ページプログラムビットラッチ/ベリファイブロック190は、アレイ内の選択された行のセルに対してプログラムされたデータのNビット幅ページ及びNビットラッチ内に格納されたデータのベリファイ用回路を含む。
【0049】
選択可能電圧源179は図中に概念的に示されるように、ワードラインドライバ171−1〜171−N及びビットラインを介してフラッシュEEPROMアレイのリード、プログラム、及び消去モード用の参照電位を供給するのに用いられる。
【0050】
アレイ内のバーチャルグランドラインはバーチャルグランドドライバ181に接続され、アレイ内のバーチャルグランド端子に様々なモードでの電位を提供する。又、p−ウェル及びn−ウェル参照電圧源199はアレイの各ウェルに接続されている。
【0051】
従って、図4から判るように、ワードラインドライバ171−1のような64個のワードラインドライバは、アレイ内の512(64×8)行に用いられる。
【0052】
ブロック選択ドライバ(例えば173−1)により提供される追加デコーディングにより、この共用ワードライン配置を達成できる。
【0053】
好適実施例におけるセルはセクタ消去動作用に構成され、この消去動作により消去されたセルの検知直後、そのセルが非導通になり、センスアンプの出力がハイになるようにフローティングゲートの充電(フローティングゲートへの電子注入)が行われる。又この構造は検知直後、プログラムされたセルが導通しフローティングゲートの放電(フローティングゲートからの電子放出)が行われるページプログラム用に構成される。
【0054】
プログラミング動作での動作電圧は、低(データ=0)閾値状態にプログラムされるセルのドレインに対してプラス6ボルト、ゲートに対してマイナス8ボルト、ソース端子に0ボルト又はフローティングである。基板又はセルのp−ウェルは接地される。この結果、フローティングゲートを放電するためのFowler-
Nordheim tunneling 機構が達成される。
【0055】
消去動作はドレインにプラス8ボルト、ゲートにプラス12ボルト、及びソースにマイナス8ボルトを供給することにより行われる。p−ウェルはマイナス8ボルトにバイアスされる。この結果、フローティングゲートを充電するための
Fowler-Nordheim tunneling 機構が達成される。読み出し電位はドレインで
1.2ボルト、ゲートで5ボルト、及びソースで0ボルトである。
【0056】
これは、消去されるセルを選択するワードラインデコーディングを使用したセクタ消去をする能力を設定する。1つのセグメント内の非選択セルに関する消去干渉状態により、ドレイン上で−8ボルト、ゲート上で0ボルト、ソース上で−8ボルトが生じる。これは十分にセルの許容範囲内の値で、セルはセル内の電荷の著しい干渉を生じること無くこれらの電位を耐える。
【0057】
同様に、プログラム干渉状態は同一セグメント内で同一ビットラインを共用するセルについて、ドレイン上で6ボルト、ゲート上で0ボルト(又は場合により1ボルト)、及びソース上の0ボルト又はフローティングである。この状態でゲートからドレインへの駆動はなく、これはセルを著しく妨害することはない。
【0058】
同一ワードラインを共用し同一ビットラインを共用しないセル、又はハイ状態を維持するアドレスされたセルに関して、干渉状態はドレイン上で0ボルト、ゲート上で−8ボルト、及びソース上で0ボルト又はフローティングである。又、この状態は非選択セル内の電荷の著しい劣化を生じない。
【0059】
図4において、ページプログラムビットラッチ/ベリファイブロック190はプログラムベリファイ回路を含み、この回路はベリファイをパスするページバッファ内のデータのビット単位リセットを行う。従って、図5に概念的に示されるような構造がフラッシュEEPROM内に含まれる。アレイのセンスアンプ450は、比較回路451に接続される。この比較回路の入力はページバッファ/ビットラッチ452である。従ってセンスアンブからのデータバイトは、対応するページバッファからのバイトと比較される。バイトに対する合否信号はページバッファ452上のビットリセットに戻される。従って合格ビットはページバッファ内でリセットされる。ページバッファ内の全ビットがリセットされると、又はプログラム動作の所定試行回数が達成されると、プログラム動作は終了する。実際には、本発明の1つの特徴によれば比較回路は必要ない。むしろ、センスされたデータをパスビットラッチのリセットに直接使用できる。
【0060】
図6は2ビットラインMTBL0 143及びMTBL1 152に関する自動ベリファイ回路及びページプログラム部を概略示す図である。図6の金属ライン143(MTBL0)は図3の金属ライン143(MTBL0)に対応する。金属ライン152(MTBL1)は図3の金属ライン152(MTBL1)に対応する。図6のアレイバーチャルグランド136(ARVSS)は図3のアレイバーチャルグランド136(ARVSS)に対応する。ライン501上の信号PWIはトランジスタ502、504、506、及び508のp−ウェルに接続されている。アレイ内の各ビットライン対はこれと同一構造を有する。
【0061】
図6において、トランジスタ502のドレイン及びトランジスタ504のドレインは金属ライン143(MTBL0)に接続されている。トランジスタ506のドレイン及びトランジスタ508のドレインは金属ライン152(MTBL1)
に接続されている。トランジスタ504のソース及びトランジスタ506のソースはアレイバーチャルグランド136(ARVSS)に接続されている。ライン570上の信号DMWLXがアクティブのとき、アレイバーチャルプランドライン136(ARVSS)はトランジスタ504及びトランジスタ506を介して金属ライン143(MTBL0)及び金属ライン152(MTBL1)に各々接続される。
【0062】
データI/Oライン574はトランジスタ502のソースに接続されている。
【0063】
データI/Oライン576はトランジスタ508のソースに接続されている。ライン572上の信号BLISOBはゲートトランジスタ502及びトランジスタ508のゲートに接続されている。信号BLISOBがハイのとき、金属ライン143はトランジスタ502を介してデータI/Oライン574に接続され、金属ライン152はトランジスタ508を介してデータI/Oライン576に接続される。
【0064】
データI/Oライン574はトランジスタ542のドレインに接続されている。
【0065】
トランジスタ542のソースはグランドに接続され、トランジスタ542のゲートはライン588上の信号DMWLに接続されれている。データI/Oライン574は信号DMWLがハイのときプルダウン(Pull down)される。
【0066】
データI/Oライン574は更に列選択トランジスタ544のドレインに接続される。トランジスタ544のソースはノード551に接続される。トランジスタ544のゲートはライン590上の信号Y0に接続される。
【0067】
バッファ550内のデータはパスゲート522のソースに接続されている。パスゲート552のドレインはノード551に接続されている。パスゲート552はライン592上の信号DINLにより制御される。
【0068】
センスアンプ554は又、ノード551に接続されている。センスアンプ554はライン594上の信号SAEBにより制御される。センスアンプ554の出力はパスゲート556のドレインに接続されている。パスゲート556のソースはラッチ回路557に接続されている。パスゲート556はライン596上の信号SARDにより制御される。
【0069】
ラッチ回路はインバータ558及び560を含む。インバータ558の入力はパスゲート556のソースに接続される。インバータ558の出力はインバータ560の入力に接続され、インバータ560の出力はパスゲート556のソースに接続されている。ラッチ回路557の出力は又、NORゲート562の第1入力に接続されている。NORゲート562の第2入力はライン598上の信号RESLATBに接続される。NORゲート562の出力はトランジスタ564のゲートに接続されている。トランジスタ564のドレインはノード551に接続され、そのソースは接地されている。
【0070】
トランジスタ508を介してビットライン152に接続されるデータI/Oライン576は同様に接続されている。従ってライン576はトランジスタ548のドレインに接続されている。トランジスタ548のソースは接地され、そのゲートはライン588上の信号DMWLに接続される。トランジスタ546のドレインは又、データI/Oライン576に接続されている。信号Y0はトランジスタ546のゲートに接続される。トランジスタ546のソースはノードDATA1 591に接続され、この591は他の側のノード551に対応する。簡単のた
め、DINバッファ550の対応するセット、センスアンプ554、ラッチ回路557及びノードDATA1 591に接続される関係する回路は示していない。
【0071】
動作に関して、DINバッファ550、パスゲート552、センスアンプ554、
パスゲート556、ラッチ回路557、NORゲート562及びトランジスタ564に類似する回路は同様に構成され、ノードDATA1 591に接続される。
【0072】
各データI/Oライン574、576は、それに接続されるビットラッチ/ベリファイロジック回路を有し、このロジック回路はデータI/Oライン574についてNANDゲート524及びインバータ526、及びデータラインI/O576についてNANDゲート534及びインバータ536を一般に具備している。
【0073】
データI/Oライン574について、パスゲート522のドレインはデータI/Oライン574に接続され、パスゲート522のソースはNANDゲート524の第1入力に接続される。NANDゲート524の第2入力はライン582上の信号BLATENに接続される。NANDゲート524の出力はインバータ526の入力に接続される。NANDゲート524及びインバータ526の入力パワーはライン580上の信号LATCHPWRに接続される。ライン578上の信号LATCHBはパスゲート522のゲートに接続される。インバータ526の出力はNANDゲート524の第1入力、トランジスタ510のゲート、及びトランジスタ530のゲートに接続されている。トランジスタ510のドレインはライン577上の信号ABLRES1に接続される。トランジスタ510のソースは接地されている。トランジスタ530のドレインはライン586上の信号DLPWRに接続される。トランジスタ530のソースはトランジスタ528のドレインに接続されている。トランジスタ528のゲートはライン584上の信号DLCTLに接続され、トランジスタ528のソースはデータI/Oライン574に接続されている。
【0074】
ラッチ回路524及び526内でラッチされたデータ=1状態は、ライン577上の信号ABLRESをプルダウンする。この論理1レベルはトランジスタ510をイネーブル(enable)とし、これによりライン577上に論理0レベルが
生じる。トランジスタ510がイネーブルとなると、ライン577は接地され、これにより信号ABLRESは論理0レベルになる。トランジスタ514及び516はインバータを具備し、このインバータはトランジスタ510及び512と共にNORロジック機能を提供する。トランジスタ514はp−チャンネルトランジスタで、そのソースはVCCに接続され、ドレインはn−チャンネルトランジスタ516のドレインに接続されている。ライン577はトランジスタ514及び516のドレインに接続されている。n−チャンネルトランジスタ516のソースは接地され、トランジスタ514及び516のゲートライン599上の信号PGPVBに接続される。インバータ518及び520は直列に接続されている。
【0075】
ライン577はインバータ518に入力を提供する。インバータ518の出力はインバータ520の入力を与え、インバータ520の出力はライン579上の信号ABLRESを提供する。従って、ラッチ回路524及び526がロジック1レベルを格納しているときは常に、信号ABLRESは論理0レベルである。トランジスタ514はライン577のプルアップを提供し、これはトランジスタ510またはトランジスタ512をイネーブルにすることにより論理0レベルに駆動することができる。
【0076】
トランジスタ516の目的は、ライン599上のデフォルト状態のPGFVBが"ハイ"の期間中、トランジスタ510、512…の全ゲートをローにすることである。トランジスタ516がない場合、ライン577上のABLRES1がフローティングとなる。この場合トランジスタ516はライン577がプルダウンされるように追加されている。アクティブモード中(ページプログラムモード中のプログラムベリファイ期間)、ライン599上のPGPVBはアクティブ"ロー"で、トランジスタ516はオフ、トランジスタ514はライン577のプルアップを提供する。
【0077】
信号LATCHB、LATCHPWR、BLATEN及びDLCTLにより制御される回路のミラー構成は、データI/Oライン576に接続されている。パスゲート532のゲートはライン578上の信号LATCHBに接続されている。
【0078】
パスゲート532のソースはNANDゲート534の第1入力に接続される。NANDゲート534の第2入力はライン582上のBLATENに接続される。
【0079】
NANDゲート534の出力はインバータ536の入力に接続される。ライン580上の信号LATCHPWRはNANDゲート534及びインバータ536に入力パワーを提供する。インバータ536の出力はNANDゲート534の第1入力、トランジスタ512のゲート、及びトランジスタ538のゲートに接続されている。トランジスタ538のソースはトランジスタ540のドレインに接続される。トランジスタ540のゲートはライン584上の信号DLCTLに接続され、トランジスタ540のソースはデータI/Oライン576に接続されている。トランジスタ521のソースは接地され、トランジスタ521のドレインはライン577に接続されている。
【0080】
図7は図6の金属ライン143(MTBL0)に対応するラインのようなメモリアレイ内のビットライン602のための単一ビットラッチの回路図である。図6のように、トランジスタ502のドレインはライン602に接続されている。
【0081】
トランジスタ502のソースはデータI/Oライン574上の信号BLISOBに接続されてる。トランジスタ502のゲートはライン572上の信号BLISOBに接続されている。トランジスタ502の幅は20ミクロンで、長さは1.2ミクロンである。トランジスタ522のドレインはデータI/Oライン574に接続され、トランジスタ522のソースはNANDゲート524の第1入力に接続されている。ライン578上の信号LATCHBはトランジスタ522のゲートに接続される。トランジスタ522の幅は6ミクロンで、長さは1.2ミクロンである。
【0082】
トランジスタ620、621、622、及び623はNANDゲート524を具備する。トランジスタ624及び625はインバータ526を具備する。ライン578上の信号LATCHPWRはNANDゲート524及びインバータ526に電力を提供する。例えば、p−チャンネルトランジスタ620のソース、p−チャンネルトランジスタ621のソース、及びp−チャンネルトランジスタ(6
24のソースもライン578上のLATCHPWRに接続される。トランジスタ620のゲートはノード630に接続され、NANDゲート524の第1入力を提供する。トランジスタ622のゲートは更にノード630に接続される。トランジスタ622のドレイン及びトランジスタ621のドレインはトランジスタ620のドレインに接続される。トランジスタ621のゲート及びトランジスタ623のゲートはライン582上の信号BLATENに接続される。ライン582上の信号BLATENはNANDゲート524に第2入力を与える。トランジスタ623のドレインはトランジスタ622のソースに接続され、トランジスタ623のソースは接地されている。
【0083】
トランジスタ621のドレインはNANDゲート524の出力を提供し、インバータ526の入力に接続される。トランジスタ624のゲート及びトランジスタ625のゲートはインバータ526への入力を与える。トランジスタ624のソースはライン578上のライン578上の信号LATCHPWRに接続され、インバータ526に対する電力が与えられる。トランジスタ624及びトランジスタ625のドレインはノード630に接続され、インバータ526に出力を提供する。トランジスタ625のソースは接地されている。トランジスタ624の基板はライン578上の信号LATCHPWRに接続される。
【0084】
トランジスタ621及び624の幅は3ミクロンで、長さは1.4ミクロンである。トランジスタ620及びトランジスタ623の幅は3ミクロンで、長さは1.2ミクロンである。
【0085】
ラッチ回路524及び526の出力はトランジスタ530のゲート及びトランジスタ522のソースに接続される。ライン586上の信号DLPWRはトランジスタ530のソースに接続される。トランジスタ530のドレインはトランジスタ528のソースに接続される。トランジスタ528のゲートはライン584上の信号DLCTLに接続される。トランジスタ528のドレインはデータI/Oライン574に接続される。トランジスタ530及びトランジスタ528の幅は6ミクロンで、長さは1.2ミクロンである。
【0086】
トランジスタ510のドレインはライン577上に出力信号ABLRES1を提供する。トランジスタ510のソースは接地され、トランジスタ510のゲートはノード630に接続されている。従って、ビットラッチの状態に依存して、信号ABLRES1はグランドに短絡するか、又はトランズミッタ514によりプルアップされる。トランジスタ510の幅は3ミクロンで、長さは0.8ミクロンである。
【0087】
トランジスタ544のドレインはデータI/Oライン574に接続され、ソースはデータライン650に接続されている。ライン590上の信号YSELはライン590上のトランジスタ544のゲートに接続される。DINバッファ550はデータライン650に接続されている。センスアンプ554はデータライン650に接続され、トランジスタ564のゲートに制御信号を提供する。トランジスタ564のドレインはデータライン650に接続され、トランジスタ564のソースは接地される。従って、センスアンプ554の出力に応じて、トランジスタ564はデータライン650をグランドに接続する。
【0088】
動作において、図6及び7に示されるフラッシュEEPROMのページプログラム及び自動ベリファイ回路は、一連の動作段階(stages)においてページプロ
グラム及びプログラムベリファイを実行する。動作段階は(1)データローディング段、(2)データプログラム段、(3)アレイデータリード段、(4)ビットラッチ段のリセット、及び(5)再試行段として一般化できる。フラッシュEEPROMアレイのページプログラム及び自動ベリファイの動作は、データI/Oライン574を参照して説明される。ページプログラム及び自動ベリファイは、
他のメモリセルに接続されているデータI/Oライン576を用いて同様に実行される。更に、ページプログラム及び自動ベリファイ回路は、フラッシュEEPROMアレイ内のメモリセルのページをプログラムするのに必要な全てのデータI/Oラインについて同様な回路を含む。
【0089】
データローディング段において、ライン580上の信号LATCHPWR、ライン578上の信号LATCHB、及びライン582上の信号BLATENには、
データラッチ回路524及び526の動作を活性化するために5ボルトが供給される。ライン580上の信号LATCHPWRはNANDゲート524及びインバータ526に動作用電圧を供給する。ライン582上の信号BLATENによりラッチ回路524及び526が入力を受信可能となる。ライン578上の信号LATCHBはパスゲート522をイネーブルとし、パスゲート522はデータI/Oライン574とNANDゲート524の第1入力を接続する。ライン572上の信号BLISOBは論理0レベルでトランジスタ502をディセーブル
(disable)とする。トランジスタ502をディセーブルとすることにより、データI/Oライン574をメタルライン143(MTBL0)から分離する。ライン584上の信号DLCYLは論理0レベルでパスゲート528をディセーブルとする。信号DLPWRは論理1レベルでVCCの電圧を有し、これは約5ボルトである。ライン588上の信号DMWLは論理0レベルで、トランジスタ542がデータI/Oライン574をグランドに接続するのを防止する。ライン590上の信号Y0は論理1レベルでトランジスタ544をイネーブルとしトランジスタ544を導通する。信号Y0はデコードされた信号で、この信号によりデータI/Oライン574はイネーブルとされ、データローディング段動作期間中、16個のDINバッファの対応する1つ(例えばバッファ550)がアクセス可能となる。ライン592上の信号DINLは論理1レベルでパスゲート552をイネーブルとする。DINバッファ550からの入力データはパスゲート552を介してデータI/Oライン574に転送される。
【0090】
入力データがデータI/Oライン574に転送されると、DINバッファ550からのデータはNANDゲート524の第1入力に転送される。DINバッファ550からのデータが論理1レベルの場合、NANDゲート524の第1入力に受信された論理1レベルにより論理0レベルが生じる。NANDゲート524の論理0レベル出力は、インバータ526への入力を提供し、インバータ526は論理1出力を提供する。NANDゲート524及びインバータ526はビットラッチ回路524及び526を有し、これはNANDゲート524に第1入力に受信したデータをラッチする。インバータ526の出力での論理1レベルにより、
パスゲート530をイネーブルとし、ライン586上の信号DLPWRをパスゲート528に転送する。しかしデータローディング段動作期間中、ライン584上の信号DLCTLは論理0で、これによりパスゲート528は信号DLPWRのデータI/Oライン574にを導通を不可能とする。
【0091】
他の場合、DINバッファ550からのデータが論理0レベルのとき、NANDゲート524の第1入力に受信した論理0レベルにより論理1出力が発生する。
【0092】
NANDゲート54の論理1レベルはインバータ526への入力を提供し、インバータ526は論理0出力を提供し、この出力はラッチ回路524及び526に格納される。インバータ526の出力での論理0レベルはパスゲート530をディセーブとし、パスゲート528を介したライン586上の信号DLPWRのデータI/Oライン574への転送を禁止する。従って、NANDゲート524及びインバータ526のビットラッチ回路は、DINバッファ550からの転送データに対応する入力データの論理1レベル又は論理0レベルを格納する。
【0093】
1024ビットの全ページ用のビットラッチは一度に16ビットがロードされる。DINバッファ550からの入力データが、全ビットラインについてのデータローディング段の実行の後にビットラッチ回路524及び526にロードされると、ベリファイシーケンスが実行され、データライト段がそれに続く。予備ライトベリファイループ(これは後述のシーケンスに従う)は、ユーザがページを同一データで2回プログラムするようなプログラミングセルの消耗を防止する。
【0094】
論理1がラッチ回路524及び526に格納されたときにデータライトが起こる。
【0095】
論理1レベルデータ=1状態がDINバッファ550から受信されると、データライト段の期間に論理1レベルがフラッシュEEPROMアレイの1セルにプログラムされる。論理0レベル(データ=0)がDINバッファ550から受信され、ラッチ回路524及び526に格納された場合、データライト段はフラッシュEEPROMのメモリセルをプログラムしない。
【0096】
本実施例において、論理1レベル(データ=1)はDINバッファ550から転送され、ビットラッチ回路524及び526に格納される。データライト段の実行中、ライン587上の信号LATCHBはディセーブルとなる。ライン578上の信号LATCHBは論理0に設定され、ラッチ回路524及び526への入力をディセーブルとする。信号LATCHPWRは高い電圧に設定され、ラッチ回路524及び526に電力を供給する。信号LATCHPWRは高い電圧に設定され、ラッチ回路524及び526に電力を供給する。ライン528上の信号BLATENは高い電圧レベルに設定され、ラッチ回路524及び526の出力をイネーブルにする。ライン572上の信号BLISOBは高い電圧レベルに設定されトランジスタ502をイネーブルにする。トランジスタ502はデータI/Oライン574をメタルライン143に接続する。ライン584上の信号DLCULは高い電圧レベルに設定されパスゲート528をイネーブルとする。ライン586上の信号DLPWRは高い電圧に設定される。ライン590上の信号Y0は論理0レベルでありトランジスタ544をディセーブルとする。信号DINLは論理0レベルで、DINバッファ550からの入力データをデータI/Oライン574から切り離す。信号SAEBは論理0レベルでセンスアンプ554をディセーブルとする。
【0097】
制御信号が正常に初期化され、データプログラム段を実行すると、ライン586上の信号DLPWRはデータI/Oライン574に転送される。信号DLPWRはプログラムパワーを提供し、フラッシュEEPROMアレイ内のメモリセルをプログラムする。従ってラッチ回路524及び526がデータ=1状態でラッチされると、パスゲート530はイネーブルとなり、信号DLPWRをパスゲート528を介して通過させる。ライン572上の信号BLISOBはトランジスタ502をイネーブルとし、信号DLPWRをメタルライン143に接続する。
【0098】
図3において、ライン141又はBLTR0上の信号BLTR1をイネーブルとすることで、セルの列をメタルライン143に接続し、信号DLPWRからプログラム電圧を提供し、8ボルトに変化したワードライン上の特定メモリセル125又は129をプログラムする。例えば、ライン141上のBLTR1が選択され、ワードラインWL1が選択された場合、信号DLPWRからのプログラミング電圧はメモリセル125に方向付けられる。
【0099】
ラッチ回路524及び526からのデータがメモリセルにプログラムされた後、
その回路はデータがデータライト段において適切にプログラムされたことを自動的にベリファイする準備が整う。これはビットラッチをリセットするかを決定するために、以下のような5ステップシーケンス(A〜E;図8のタイミング図参照)を含む。
【0100】
ステップA
関係するセンスアンプを介して不揮発性ビットから実データをリード(16個のセンスアンプは全て同時に活性化される。即ち16ビットが同時にリードされる)。検知結果は図6のラッチ557内に格納される。例えば図6において、特定されたワードラインから、選択されたセルをベリファイするには、BLISOB(572)はハイ(ON)でなければならず、選択されたY(544、546及び14個より多いそれらデバイス)はオン、センスアンプ(SA)554(及び15個の他のSA)は活性化され、SARD(596)がハイとなることにより、検知結果はラッチ(557)まで到達し、このリードステップ期間中に524及び526から構成されるビットラッチが妨害されないように、LATCHB(578)、DLCTIL(584)は低電圧(OFF)である。選択されたセルの閾値電圧はSA(554)がセンスを行うために十分な時間の後、SA(554)によりデータライン574を介して検知され、ラッチ557に格納される。
【0101】
プログラミングの後、セルの閾値電圧(VT)は(SA554がそのセルが低いVT状態であると知らせることができる程度に)十分低く、インバータの出力(5
60又は558の入力)は低レベルを反映することになり、SARD(596)はオフ、そしてSA(544)はディセーブルとなる。低レベルがラッチ(557)に格納され、次の4ステップにどんなリードがその結果起きたかは、新たなロケーションの再リードが必要となるまで問題ではない。プログラミングの後、選択されたセルVTはまだハイがリードされ、インバータ560の出力はハイレベル、即ち論理1レベルがラッチ557にラッチされる。いづれにせよデバイス564はオフであるから、ハイ又はローにラッチされたラッチ557がデバイス(564)に影響しないように、RESLATB(598)はこのステップでハイである。
【0102】
ステップB
データライン(選択又は非選択のライン全てを含む)を放電する。このステップの目的はステップ(D)において説明される。データライン574の放電の仕方は、全てのセンスアンプがディセーブル状態で、DMWL(588)をハイに活性化し、LATCHBをローにし、DLCTLをローにし、564及び552をオフにする。トランジスタ588はデータライン574に格納された電荷を放電する。放電シーケンスが高速に行われるように、BLISOB(572)はローレベルで(図8のBLISOはハイ)長いメタルビットライン(MTBL0)をデータライン(574)から分離する。
【0103】
ステップC
データラインを(関係するビットラッチに応じて選択的に)プリチャージする。
【0104】
このステップの目的はステップD)において説明される。このステップ中、DMWLはローレベル、BLISOBはまだローレベル(図8のBLISOはハイ)であり、同一ワードラインの選択された16データライン及び他の非選択データラインを高い電圧レベルにプリチャージすべきか否かは、そのビットラッチに格納されたデータにより決定される。例えば図6において、このステップ中、LATCHB(578)はまだオフ、DLCTL(584)はローからハイに切り替わり、データライン574はインバータ526の出力(これは530のゲート)がハイレベルにラッチされている場合、DLPWR(この例ではVCCレベル電源)
をデバイス530及び528を介してデータライン(574)に接続することによりハイレベルにプリチャージされる。
【0105】
ステップD
ビットラッチをリセットするか否か。このステップ中、LATCHBはローレベルからハイレベルに切り替わり、ビットラッチ(これはインバータ524及び536により構成される)をリセットするために、RESLATB(598)はインバータ560の出力が(ステップAから)ロー(にラッチされていれば)であれば、564をオンにすることによりハイからローに切り替わる。選択されたセルは既にローVTであるから、次のプログラミングの高い電圧パルスシーケンスのために、ビットラッチの内容はリセットされるべきであり、ローVTであるセルはローVTに再びプログラムされるべきではない。ビットラッチが以前のベリファイループステップ(D)からリセットされているか、又は第1プログラミングシーケンスの前でもリセット状態であったときがある。このような場合、次のリセットビットラッチステップは前者の場合ではビットラッチに何等影響することはなく、後者の場合では選択されたセルが高VTであるか否かはそのビットラッチに影響しない。なぜなら、セルが高VTの場合、ビットラッチをリセットするものはなく(ステップA及びDから564はオフである)、ビットラッチはリセット状態であるからである。セルがローVTの場合、ビットラッチを再びリセットしてもビットラッチの内容に何等変化を与えない。この構成には比較回路は必要とならない。
【0106】
LATCHBはフラッシュEEPROMの設計にて全てのビットラッチに対するグローバル信号であり、522、532…のゲートでのハイレベルにより、全てのビットラッチが、関係するデータラインにトーク(talking)することになる。
【0107】
つまり、インバータ526の出力ノードが、関係するデータライン(例えば574)と電荷を分け合うことになる。インバータ526の駆動能力は、適切なデータがビットラッチに設定できるように(インバータ526に対して勝るように)弱いデバイスとして設計されている。従って、LATCHB(528)がハイのとき、弱いインバータ(526)には、ビットラッチの存在性が曖昧となる問題が発生する。
【0108】
ステップ(B)及び(C)の目的は、ステップ(D)に移行する前に、即ちLATCHB(578)がローからハイへ切り替わる前に適切な電圧レベルをデータラインに与え、この回路が前述したように無くとも正常な動作を保証するように設計された場合でも、あらゆる"電荷共有の問題を避けることである。ステップ(B)の期間中、全データラインはローレベルに放電され、ステップ(C)では、関係するビットラッチがハイレベルを"格納している"データラインのみがハイレベルにプリチャージされる。従ってステップ(B)及び(C)は、ここでは安全を見込んだ設計による追加ステップである。
【0109】
ステップE
全データラインを再び放電する。プログラミングベリファイイングについて次のワードに移行する前に(つまり、新たなワードを充電しステップ(A)からステップ(D)を繰り返す前に)プログラムベリファイ動作は、この時点で首尾良く完了しており、ロジック制御は残りの電荷を全データラインから取り除き、新たなワードに切り替わる。例えばこのステップで、LATCHB(578)はローレベルで、RESLATB(598)はハイレベル,DMWL(598)はハイレベル、そしてBLISOB(572)はハイレベル(図8のBLISOはロー)である。
【0110】
従って、図5のページプログラム及び自動ベリファイ回路は、プログラムされたメモリセルの自動ベリファイという固有の特徴を提供する。ラッチ回路524及び526はDINバッファ550から受信した入力データを格納する。ラッチ回路524及び526に格納されたデータはABLRES1を制御する。このABLRES1はプログラムする必要のあるセルが1つまたは複数ある場合に論理0レベルに設定される。信号ABLRES1は、そのメモリセルがプログラムベリファイシーケンス中にベリファイされるまで(このシーケンスはラッチ回路524及び526が論理0レベルにリセットし、信号ABLRES1を正常にプログラムされたメモリセルを示す論理1レベルにリセットする)、論理0レベルを維持する。プログラムベリファイシーケンスは自動である。
【0111】
ライン599上の信号PGPVBは論理0レベルで、自動ベリファイシーケンス中にライン577に電荷を与える。ラッチ回路526及び524がリセットされるとき、トランジスタ510はディセーブルにされ、ライン577上の電荷はすぐさまグランドに放電される。ライン577上の信号ABLRES1は論理1レベルとなる。この論理1レベルはインバータ518に入力を与え、このインバータはインバータ529に対する入力を提供するための出力を発生し、インバータ520はライン579上に信号ABLRESの論理1レベル出力を供給する。
【0112】
ライン579上の信号ABLRESの論理1レベルは、ページプログラムドベリファイ信号を提供し、この信号はメモリセルのページがプログラムベリファイを合格したことを意味する。
【0113】
アレイのメモリセルページ内の各メモリセルはトランジスタ510を活性化し、
これによりライン577上の信号ABLRES1はローレベルとなる。従って、アレイのメモリセルページ内でのプログラムベリファイを合格しなかったメモリセルは、何れも出力信号ABLRESを論理0レベルにする。ライン579上のABLRESの論理0レベルは、そのアレイのメモリセルのページ内の少なくとも1つのメモリセルが、正常にプログラムされずにベリファイされたことを意味する。従って、正常にベリファイされたなかったメモリセルは何れも、ライン579上の信号ABLRESを論理0レベルにする。全メモリセルが正常にプログラム及びベリファイされると、ライン579上の信号ABLRESは論理1レベルになる。
【0114】
動作において、プログラムに失敗したセルは信号ABLRESが論理1レベルになるまで、再プログラム及びベリファイされる。再試行回数は、あるページがプログラムベリファイで繰り返し不良の場合に、プログラムシーケンスのルーピング(looping)を防ぐために制限されている。
【0115】
図9A及び9Bは図6のフラッシュEEPROMのプログラムの流れを示すフローチャートである。この処理はデータがプログラムされるセクタ(例えばセクタ70−1)の消去により開始する(ブロック700)。そのセクタを消去した後、消去ベリファイ動作が実行される(ブロック701)。次に、0か1のページ番号、及びセグメント番号1ないし8がホストプロセッサによる入力アドレスに応じて設定される(ブロック702)。
【0116】
ページ番号及びセグメント番号を設定した後、ページバッファにはそのページのデータがロードされる(ブロック703)。このページバッファには特定プログラム動作に応じて例えばNビットデータ、すなわちバイトデータをロードする。
【0117】
次に、ユーザが予備消去しないか、あるいは同一データを再プログラムせずに、どのセルがプログラミングを必要とするかを決定しない場合、ベリファイ動作が実行される(ブロック704)。ページバッファをロードした後、プログラム電位がプログラムされるセグメントに供給される(ブロック705)。ページプログラム動作の後、ページをベリファイするベリファイ動作が実行される。ベリファイ動作において、プログラムされたページは読み出され、各対応する読み取りビットデータがセンスアンプデータラッチに格納される(ブロック715)。
【0118】
図9Bにおいて、ベリファイを合格したページビットはリセットされる(ブロック722)。次に、アルゴリズムは全ページビットがページバッファ内でオフになったかを判断する(ブロック723)。すべてがオフではない場合、アルゴリズムは再試行の回数が最大数になったか判断し(ブロック710)、そうでない場合、ループはプロック705に戻り、不良ビットが再プログラムされるように、そのページを再びプログラムする。合格したビットはプログラムされない。
【0119】
なぜなら、ページバッファ内の対応するビットはベリファイ動作中、0にリセットされているからである。ブロック710で再試行回数が最大になった場合、アルゴリズムは中断され、動作不良を信号出力する。
【0120】
ブロック723で、全ページビットがオフの場合、アルゴリズムはそのセクタが終了したか判断、即ちそのセクタの両ページが書き込まれ、両方とも完了したか判断する(ブロック725)。これはCPUが決定したパラメータである。そのセクタが終了していない場合、アルゴリズムはブロック702へ戻り、対応するページ番号の1つまたはセグメント番号を更新する。ブロック725でそのセクタが終了すると、アルゴリズムが終了する(ブロック730)。
【0121】
【発明の効果】
以上、新たなフラッシュEEPROMセル及びアレイ構成が説明された。この構成は独特のセル配置により得られる高集積度アレイを提供する。隣接する2つの局部ドレインビットラインは1つの共通ソースビットラインを共用する。また、
この配置はアレイ内の各2列のセルについて単一のメタルラインの使用を可能とする。更にこの配置は共用ワードラインを用いることにより縮小され、ワードラインのピッチはメインアレイのサイズ決定に影響しない。セクタ消去は本発明の区分けできる構成を用いて容易にできる。また、ページプログラム及び自動ベリファイ回路は、メモリセルの高効率で正確なプログラムを提供する。従って、信頼性の高い高性能フラッシュメモリアレイがこれらの技術を使用することにより達成できる。
【0122】
フラッシュEEPROMアレイのnチャンネルの実施例が説明された。勿論、pチャンネル装置についても一般的な技術を利用して本発明を実施できる。更に、
この構成はフラッシュEEPROMセルに関して説明された。この構成の数多くの特徴は他のメモリ回路アレイにも適用できるものである。
【0123】
前述の本発明による好適実施例は単に説明を目的として示された。以上の説明は本発明を開示された形式に精細に限定する意図はない。当業者は他の様々な修正や変更を施すことができる。本発明は以下に示す請求の範囲により定義される。
【図面の簡単な説明】
【図1】本発明によるフラッシュEEPROM集積回路モジュールの概略構成図。
【図2】本発明の一実施例によるドレイン・ソース・ドレイン構成バーチャルグランドフラッシュEEPROMアレイの概略構成図。
【図3】本発明の他の一実施例を示し、1つのメタルビットラインを共用する2列のフラッシュEEPROMセルである。
【図4】本発明によるページプログラム及び自動ベリファイ機能を有するフラッシュEEPROMアレイの概略ブロック図。
【図5】本発明によるプログラムベリファイ回路の概略図。
【図6】フラッシュEEPROMアレイの2メモリセル分のページプログラム及び自動ベリファイ回路の概略図。
【図7】フラッシュEEPROMアレイ内のメモリセル用のページプログラム及び自動ベリファイ回路の概略図。
【図8】図6及び7の自動ベリファイ回路における制御信号のタイミング図。
【図9】本発明によるページプログラム及び自動ベリファイ動作を示すフローチャート。
【図10】本発明によるページプログラム及び自動ベリファイ動作を示すフローチャート。
Claims (6)
- 複数の不揮発性メモリセルを有するメモリアレイ(100)と、
該メモリアレイに接続され、該複数の不揮発性メモリセルに電圧を加えて該メモリアレイ内の複数の不揮発性メモリセルを読取りかつプログラムする供給回路(108、109)と、
ページバッファ(190)内にあり、該メモリアレイに接続され、該メモリアレイ内の不揮発性メモリセルの行の少くとも一部を含んでいる組に対してデータ記憶用のバッファを与える複数のビットラッチ(524、526、534、536)と、
該供給回路と該ビットラッチとに接続され、該供給回路を制御して不揮発性メモリセルの該組に対して該複数のビットラッチ内の該データをプログラムするようにする制御ロジック(106)と、
該メモリアレイと該複数のビットラッチとに接続され、該メモリアレイ内で不揮発性メモリセルの該組に対してデータのプログラミングが成功したことを確認する自動データ確認回路(557、567、564)と、
を備えたデータ記憶用装置であって、
該自動データ確認回路は、該ビットラッチとメモリアレイ内の不揮発性メモリセルとに接続されたセンスラッチ(557)を含む確認ロジックを備え、該確認ロジックは該ビットラッチを該不揮発性メモリセルから分離し、該不揮発性メモリセルから該メモリデータを読取り、該読取ったメモリデータを前記センスラッチ(557)の対応するものに記憶し、該読取ったメモリデータで対応するセンスラッチ(557)のものがプログラムされた状態を示すときには対応するビットラッチ(524、526、534、536)をリセットすることを特徴とするデータ記憶用装置。 - 複数の不揮発性メモリセルの各行は第1のページと第2のページとを含み、前記組は不揮発性メモリセルのあるページを含んでいる請求項1記載の装置。
- 請求項1又は請求項2記載の装置であって、
該メモリアレイは少くともMワードラインと複数の不揮発性メモリセルに接続されたNビットラインとを含み、また、該複数のビットラッチは各Nビットラインについて1ビットラッチを有しており、かつNは32よりも大きいものである装置。 - 請求項1記載の装置であって、該自動データ確認回路が、出力論理(510、512、514、516)を含み、該出力ロジックは確認されている各不揮発性メモリセルの確認ロジックに接続されていて、該自動データ確認回路は、すべてのビットラッチがある特定の二進値を記憶するときにはデータ確認した信号(ABLRES)を用意するようにした装置。
- さらに再試行ロジックを備え、このロジックは確認ロジックと制御ロジックとに接続され、また前記特定の値を記憶していない対応するビットラッチを有している不揮発性メモリセルを再プログラムするようにした請求項4記載の装置。
- 請求項5記載の装置であって、該再試行ロジックはプログラム再試行を計数し、再試行について再プログラム制限を設定するようにした装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002065603A JP3655882B2 (ja) | 2002-03-11 | 2002-03-11 | データ記憶用装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002065603A JP3655882B2 (ja) | 2002-03-11 | 2002-03-11 | データ記憶用装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08520920 Division | 1995-01-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002288989A JP2002288989A (ja) | 2002-10-04 |
JP3655882B2 true JP3655882B2 (ja) | 2005-06-02 |
Family
ID=19193084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002065603A Expired - Lifetime JP3655882B2 (ja) | 2002-03-11 | 2002-03-11 | データ記憶用装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3655882B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789807B (zh) * | 2011-05-20 | 2015-01-28 | 旺宏电子股份有限公司 | 具有二极管在存储串列中的三维阵列存储器架构 |
-
2002
- 2002-03-11 JP JP2002065603A patent/JP3655882B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002288989A (ja) | 2002-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5748535A (en) | Advanced program verify for page mode flash memory | |
JP3807744B2 (ja) | 可変プログラムパルス高及びパルス幅によるページモードフラッシュメモリ用自動プログラミングアルゴリズム | |
US5414664A (en) | Flash EPROM with block erase flags for over-erase protection | |
US5778440A (en) | Floating gate memory device and method for terminating a program load cycle upon detecting a predetermined address/data pattern | |
US5999451A (en) | Byte-wide write scheme for a page flash device | |
US6553510B1 (en) | Memory device including redundancy routine for correcting random errors | |
US5954828A (en) | Non-volatile memory device for fault tolerant data | |
JP3132637B2 (ja) | 不揮発性半導体記憶装置 | |
US6252803B1 (en) | Automatic program disturb with intelligent soft programming for flash cells | |
US5491809A (en) | Smart erase algorithm with secure scheme for flash EPROMs | |
EP0700570B1 (en) | Flash eprom with block erase flags for over-erase protection | |
US8605512B2 (en) | Nonvolatile semiconductor memory device and method of operating a nonvolatile memory device | |
US5930169A (en) | Nonvolatile semiconductor memory device capable of improving of chip's lifetime and method of operating the same | |
JPH035995A (ja) | 不揮発性半導体記憶装置 | |
US5287317A (en) | Non-volatile semiconductor memory device with over-erasing prevention | |
US6128224A (en) | Method and apparatus for writing an erasable non-volatile memory | |
JPH06215592A (ja) | 不揮発性半導体記憶装置 | |
US6075727A (en) | Method and apparatus for writing an erasable non-volatile memory | |
JP3143161B2 (ja) | 不揮発性半導体メモリ | |
EP0801795B1 (en) | Advanced program verify for page mode flash memory | |
US5903497A (en) | Integrated program verify page buffer | |
KR0172437B1 (ko) | 칼럼불량 구제 및 고속 소거검증 기능을 가지는 불휘발성 반도체 메모리 장치 | |
JP3655882B2 (ja) | データ記憶用装置 | |
JP4148990B2 (ja) | エラー許容データのための不揮発性メモリデバイス | |
JPH0750096A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040618 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040713 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041008 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041207 |
|
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: 20050208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050304 |
|
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: 20090311 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090311 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100311 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100311 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110311 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120311 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120311 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130311 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130311 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140311 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |