(57)【特許請求の範囲】
【請求項１】
それぞれ、複数の２データ・ビット以上を記憶するように構成された、マルチレベル非揮発性単一トランジスタ・セルのメモリ・アレイであって、
（ａ）各群が複数のメモリ・セルを備え、各メモリ・セルは、制御ゲートと、浮動ゲートと、ソースとドレーンとの間に形成されたチャネルとを有し、各群のメモりセルがそれぞれのチャネルを直列に結合した複数の群と、
（ｂ）２つの選択トランジスタが各群を選択するように結合された複数の選択トランジスタと、
（ｃ）それぞれの浮動ゲートに所定の電荷を蓄積することによって、各メモリ・セルを前記２データ・ビット以上のＮ個のレベルのうちの１つに対応した所定の電流レベルにプログラムする第１のプログラミング回路と、
（ｄ）前記２データ・ビット以上のＮ個のレベルの各１つに対応する書込み参照電流をそれぞれが生じるよう前記群内の各メモリ・セルに対するＮ個の書込み参照セルをプログラムする第２のプログラミング回路と、
（ｅ）各メモリ・セルを流れる電流を順次、前記Ｎ個の書込み参照セルのそれぞれの電流と比較して当該各メモリ・セルのプログラムが完了したか検証しなお完了していないとの検証結果を得た場合に、前記第１のプログラミング回路に再プログラミングを行わせるための検証回路と、
（ｆ）前記２データ・ビット以上のＮ個のレベルの各１つに対応する読取り参照電流をそれぞれが生じるよう前記群内の各メモリ・セルに対するＮ個の読取り参照セルをプログラムする第３のプログラミング回路と、
（ｇ）各メモリ・セルを流れる電流を順次、前記Ｎ個の読取り参照セルのそれぞれの電流と比較し、前記各メモリ・セルに記憶されているレベルを読取る読取り回路と、
（ｈ）前記Ｎ個の書込み参照セルの選択された１つに結合される第１の入力と、書込み参照セルのプログラミング時には当該選択された書込み参照セルのプログラムが完了したか否か判定するために所定の書込み電流基準を、メモリ・セルの読取り時には読取り時間を測定するために前記Ｎ個の読取り参照セルのうちの１つの読取り参照セルの電流を、受け取ることができるよう選択的に結合される第２の入力とを有する第１の比較器と、
（ｉ）前記読取り参照セルのプログラミング時に該読取り参照セルのプログラムが完了したか否か検証するために、前記読取り参照セルの選択された１つに結合された第１の入力と、前記書込み電流基準より大きい電流値を有する所定の読取り電流基準を与える第２の入力とを有する第２の比較器と
を備えることを特徴とするメモリ・アレイ。
【請求項２】
前記検証回路がさらに、メモリ・セルのプログラムの完了時にそのメモリ・セルに対するさらなるプログラミングをディスエーブルするロジックに結合していることを特徴とする請求項１に記載のメモリ・アレイ。
【請求項３】
前記第１の比較器がセンス増幅器で構成されることを特徴とする請求項１に記載のメモリ・アレイ。
【請求項４】
前記第２の比較器がセンス増幅器で構成されることを特徴とする請求項１に記載のメモリ・アレイ。
【請求項５】
さらに、メモリ・セル、読取り参照セル及び書込み参照セルに結合された行選択ロジックと、プログラムされあるいは読取られるメモリ・セル、読取り参照セル及び書込み参照セルを選択するために前記メモリ・セル、読取り参照セル及び書込み参照セルにそれぞれ結合されたメモリ列選択ロジック、読取り列選択ロジック及び書込み列選択ロジックとを有するアドレス復号回路を備え、選択された各メモリ・セル、読取り参照セルまたは書込み参照セルのそれぞれの読取り時にそのセルを飽和モードに、それ以外の残りのメモリ・セル、読取り参照セルまたは書込み参照セルを線形モードに維持することを特徴とする請求項１に記載のメモリ・アレイ。
【請求項６】
さらに、それぞれが前記Ｎ個のレベルのうちの１つを表す、Ｎ個の論理状態を順次与えるために前記読取り列選択ロジックおよび書込み列選択ロジックに結合されたカウンタを備え、このカウンタが、メモリ・セル、読取り参照セルまたは書込み参照セルのそれぞれのプログラミング時に論理状態０からカウントを開始して論理状態Ｎまで増分し、メモリ・セルの読取り時に論理状態Ｎから開始して論理状態０まで減分することを特徴とする請求項５に記載のメモリ・アレイ。
【請求項７】
さらに、読取り参照セルのプログラミング時または書込み参照セルのプログラミング時に、選択された読取り参照セルまたは書込み参照セルがカウンタから与えられた論理状態に対応するレベルにプログラムされたときに、前記選択された読取り参照セルまたは書込み参照セルのさらなるプログラミングが停止されることを特徴とする請求項６に記載のメモリ・アレイ。
【請求項８】
さらに、前記第１のプログラミング回路がメモリ・セルにプログラムすべき電流レベルに対応する値を格納する記憶装置を備えることを特徴とする請求項１に記載のメモリ・セル。
【請求項９】
それぞれ、複数の２データ・ビット以上を記憶するように構成された、非揮発性単一トランジスタ・セルのメモリ・アレイ上にマルチレベルをプログラムする方法であって、
（ａ）各メモリ・セルが、制御ゲートと、浮動ゲートと、ソースとドレーンとの間に形成されたチャネルとを有する複数のメモリ・セルからなる各群ごとにそれぞれの群に属するメモリ・セルのチャネルを直列に結合した複数の群を用意するステップと、
（ｂ）それぞれの浮動ゲートに所定の電荷を蓄積することによって、各メモリ・セルを前記２データ・ビット以上のＮ個のレベルのうちの１つに対応した所定の電流レベルにプログラムするプログラミング・ステップと、
（ｃ）前記Ｎ個のレベルのそれぞれのレベルを格納するＮ個の読取り参照セルであって、そのそれぞれの格納レベルが第１の電流値を有する読取り電流基準によりそれぞれベリファイされたＮ個の読取り参照セルのそれぞれの電流と前記メモリ・セルの電流とを順次比較して、前記メモリ・セルに記憶されているレベルを読取る読取りステップと、
（ｄ）対応するメモリ・セルの読取りと同時に、前記Ｎ個の書込み参照セルと前記Ｎ個の読取り参照セルの各々の一つを読み取ることによって前記メモリ・セルの読取り時間を測定するステップと、
を含んでおり、前記Ｎ個の書込み参照セルの各々は前記Ｎレベルの１つを格納しており、さらに、そのそれぞれの格納レベルが前記第１の電流値より小さい第２の電流値を有する書込み電流基準によりそれぞれベリファイされていることを特徴とする方法。
【請求項１０】
さらに、プログラミング・ステップ時に選択されたメモリ・セルのトランジスタを飽和モードに維持し、それ以外の残りの未選択メモリ・セルのトランジスタを線形モードに維持するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
さらに、１つのメモリ・セルの電流を順次、対応するＮ個の書込み参照セルのうちの１つの電流と比較して当該メモリ・セルのプログラミングが完了したか検証しなお完了していない場合に、前記プログラミング・ステップを再度行わせるステップを含むことを特徴とする請求項９に記載の方法。
【請求項１２】
マルチレベル非揮発性メモリ・システムであって、
（ａ）それぞれが複数のメモリ・セルを有する、複数のメモリ・ブロックで構成されたメモリ・アレイと、
（ｂ）Ｎ個のレベルの各１つに対応する読取り参照電流をそれぞれが生じるようプログラムされたＮ個の読取り参照セルを、それぞれが有する、複数の読取り参照ブロックと、
（ｃ）Ｎ個のレベルの各１つに対応する書込み参照電流をそれぞれが生じるようプログラムされたＮ個の書込み参照セルを、それぞれが有する、複数の書込み参照ブロックと、
（ｄ）前記メモリ・セルを所望のバイナリ値に対応する電流レベルにブログラムするとともに、前記バイナリ値に対応したＮ個のゲート電圧の内の１つを印加することによって、このプログラムされたメモリ・セルの電流と前記Ｎ個の書込み参照セルの一つからの書込み参照電流とを比較して該メモリ・セルのプログラムが完了したか否かを検証し、さらなるプログラムが必要な場合に前記メモリ・セルに対して再度のプログラムを行うメモリ・セル・プログラミング回路と、
（ｅ）前記バイナリ値に対応したＮ個のゲート電圧の内の１つを印加することによって、メモリ・セルの電流と前記Ｎ個の読取り参照セルの１つからの読取り参照電流とを比較して該メモリ・セルに記憶された電流レベルを読み取る回路と、
（ｆ）各状態が、前記Ｎ個のゲート電圧のうちの１つを表し、前記メモリ・セル、読取り参照セルまたは書込み参照セルのそれぞれのプログラミング時に論理状態０から開始して論理状態Ｎまで増分し、メモリ・セルの読取り時に論理状態Ｎから開始して論理状態０まで減分する、Ｎ個の論理状態を順次与えるカウンタであって、このカウンタのＮ個の論理状態の低い方から高い方への増分に対応して前記Ｎ個のゲート電圧が低い方から高い方へ増加され、かつ前記Ｎ個の論理状態の高い方から低い方への減分に対応して前記Ｎ個のゲート電圧が高い方から低い方へ減少されるよう構成されたカウンタと、
（ｇ）メモリ・セルのプログラミング時に、選択されたメモリ・セルにプログラムすべきバイナリ値とカウンタのバイナリ値とが一致しているメモリ・セルがカウンタから与えられた論理状態に対応するレベルにプログラムされたときに、前記選択されたメモリ・セルがさらにプログラムされるのをディスエーブルする出力を与えるために入出力バスに結合された再プログラム禁止手段と、
（ｈ）メモリ・セルの読取り時に、選択されたメモリ・セルがカウンタから与えられた論理状態に対応するレベルでの読取り時において該メモリ・セルの電流が読取り参照電流よりもはじめて低くなったときに、そのときのカウンタのバイナリ値をメモリ・セルに記憶されたバイナリ値とする手段と
を備え、
各メモリ・ブロック、読取り参照ブロック及び書込み参照ブロックが、それぞれ少なくとも１つの単一トランジスタ・セル行と少なくとも１つの単一トランジスタ・セル列とを有し、ＮＡＮＤ型アーキテクチャとして構成された各セル列が、２つの選択トランジスタを有し、各セルが、各セル内に複数の情報データ・ビットを記憶するために浮動ゲートを有することを特徴とするマルチレベル非揮発性メモリ・システム。
【請求項１３】
さらに、メモリ・セル、読取り参照セル及び書込み参照セルに結合した行選択回路と、プログラムされあるいは読取られるメモリ・セル、読取り参照セル及び書込み参照セルを選択するために前記メモリ・セル、読取り参照セル及び書込み参照セルにそれぞれ結合したメモリ列選択回路、読取り列選択回路及び書込み列選択回路とを有するアドレス復号回路を備え、選択された各セルの読取り時にそのセルが飽和モードに維持され、それ以外の残りのセルが線形モードに維持されることを特徴とする請求項１２に記載のマルチレベル非揮発性メモリ・システム。
【請求項１４】
さらに、入出力バスと比較手段との間に結合され、前記選択されたメモリ・セルにプログラムすべき目標値を記憶する記憶手段を備えることを特徴とする請求項１２に記載のマルチレベル・メモリ・システム。
【請求項１５】
選択されたメモリ・セル内の電流を受け取るためにメモリ・セルに結合された第１の入力と、メモリ読取り動作時に選択されたメモリ・セルに対応する読取り参照セル内の電流を受け取り、あるいはメモリ書込み動作時に選択されたメモリ・セルに対応する書込み参照セル内の電流を受け取るように選択的に結合された第２の入力とを有する比較器回路を備えることを特徴とする請求項１２に記載のマルチレベル非揮発性メモリ・システム。
【請求項１６】
さらに、読取り列選択回路に結合された第１の入力と、システム初期設定時に読取り参照ブロックのプログラミングを検証する際に第１の入力と第２の入力を比較するために所定の読取り電流参照レベルを受け取るように結合された第２の入力とを有する読取り参照比較器を備えることを特徴とする請求項１３に記載のマルチレベル非揮発性メモリ・システム。
【請求項１７】
さらに、書込み参照比較器を備えており、この書込参照比較器は、書込み列選択回路に結合された第１の入力と、システム初期設定時に書込み参照ブロックのプログラミングを検証する際に前記読取り電流参照レベルより低いレベルの所定の書込み電流参照レベルを受け取るように結合される第２の入力とを有することを特徴とする請求項１６に記載のマルチレベル非揮発性メモリ・システム。
【請求項１８】
前記書込み参照比較器の第２の入力は、メモリ・アレイの読取り時に読取り時間を測定するために読取り列選択回路に結合されるように、選択的に結合されることを特徴とする請求項１７に記載のマルチレベル非揮発性メモリ・システム。
【発明の詳細な説明】
発明の分野
本発明は、ＥＥＰＲＯＭメモリ技法におけるマルチレベル記憶の分野に関する。詳細には、本発明は、単一のＮＡＮＤ型ＥＥＰＲＯＭメモリ・セルとの間で数ビットの情報を記憶し、かつ読み取る方法および装置に関する。
発明の背景
初期の非揮発性メモリ技法では、浮動ゲートをプログラムし、かつ消去することができた。そのようなトランジスタは選択的に２つの状態のうちの一方、すなわちプログラム済みまたは消去済みになるので、単一ビット・データをプログラムすることができた。単一の非揮発性セルに複数ビット情報を記憶できることが知られている。そのようなデータ記憶は通常、浮動ゲートのしきい値電圧を制御するためにトランジスタの浮動ゲート上に特定の量の電荷を慎重に置ことによって行われる。知られているように、２ビット・データを記憶するには少なくとも４つの異なる状態を与えなければならず、３ビット・データを記憶するには少なくとも８つの状態を与えなければならず、以下同様である。このようなしきい値に対応するセル電流を検出し、ビットを復号するためにセンス増幅器が設けられる。
非揮発性トランジスタ・メモリ・セルを組み込んだタイプのメモリ・アレイを構成するための２つの従来型のＥＥＰＲＯＭアーキテクチャ、すなわちＮＯＲアーキテクチャおよびＮＡＮＤアーキテクチャがある。ＥＥＰＲＯＭ  ＮＯＲ型アーキテクチャでは、各トランジスタ・メモリ・セルにそれ自体の選択トランジスタが用意されている。したがって、ＮＯＲを用いた場合、プログラム動作および読取り動作時にメモリ・アレイ内の他のセルからの干渉はない。そのため、ＮＯＲ型アーキテクチャを使用して複数のプログラミング・レベルをプログラムし、検知する回路を設計することは容易である。残念なことに、各記憶セルにそれ自体の選択トランジスタが必要であるので、ビット・サイズ当たり面積が大きく、コストがかかる。
ある従来技術では、最大で８ビットの情報を与え、Ｆｏｗｌｅｒ−Ｎｏｒｄｈｅｉｍトネリングを使用したＮＯＲ型ＥＥＰＲＯＭメモリ・セルを使用してこの情報をプログラムし、検出する装置が教示されている。この種のセルのプログラミングは、増分プログラミングによって行うことができる。言い換えれば、浮動ゲートにある量の電荷が蓄積される。その場合、セル電流が所定の参照電流と突き合わせて検証される。セル電流が参照電流に対して受け入れられる分散量内にない場合、浮動ゲートから少量の電荷が除去され、このサイクルが、セル電流と参照電流がほぼ等しくなるまで繰り返される。浮動ゲートから電荷を連続的に除去するこのこの手順によってセルのしきい値電圧が低減されるので、セル電流は最初、参照電流より低い。セル電流が増分的に参照電流を超えると、プログラミング動作が終了する。
他の従来技術の文献によれば、プログラミングにホット・チャネル電子注入を使用したＮＯＲ型ＥＰＲＯＭメモリ上に２ビット（４アナログ・レベル）が記憶される。このプログラミング技法は制御がより困難なので、単一のセル上に４つより多くのレベルを記憶することはますます困難になる。また、従来技術では、記憶セルのすべてのゲートに一定のゲート電圧が印加されることが教示されている。セルによって導かれた電流が測定され、セルがどちらのレベルにプログラムされているかが判定される。カリフォルニア州Ｓａｎｔａ  Ｃｌａｒａのインテル社（Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ）によって導入された実施形態では、既知の一定のゲート電圧をセルに印加することによってセルのレベルが判定される。セルは、浮動ゲートのプログラミングのレベルに応じて、指定された範囲内の電流を導くように設計される。アクセスされたセルによって導かれる電流が電流範囲の中点より高いか、それとも低いかを決定するセンス増幅器が結合される。この判定が下された後、２つの追加センス増幅器のうちの一方を使用して、セルによって導かれる電流が、必要に応じて範囲の４分の１または４分の３より高いか、それとも低いかが判定され、以下同様であり、この判定は、アクセスされたセルによって導かれる電流の量が、対応する電流範囲内であることが判明するまで行われる。
ＮＡＮＤ  ＥＥＰＲＯＭ型アーキテクチャは、各群が隣接する群とのビット線接点を共用するので、いくつかのセルを直列に使用する。このように、ＮＡＮＤアーキテクチャを使用する群全体に必要なのは２つの選択トランジスタだけである。各群ごとに２つの選択トランジスタ以外のすべての選択トランジスタをなくすことによって、著しく高い記憶セル密度が達成される。これは、各セルがそれ自体の選択トランジスタを有し、隣接する２つのセル間で１つの接点を共用するＮＯＲアーキテクチャと著しく対照的である。
ＮＡＮＤ型アーキテクチャに存在する問題は、単一のセルの読取り動作またはプログラム検証動作時に検出される電流がその群内の他のすべてのセルのしきい値の影響を受けることである。あるセルを正確にプログラムした後、群内の他のセルをプログラムすると、検出される電流が変化し、そのレベルを隣接するプログラム・レベルと区別することが困難になる恐れがある。この干渉レベルは、単一ビット（２レベル）プログラミングの場合には許容できるが、より多くのレベルを確実に記憶し、検出することを非常に困難にする。
ＮＡＮＤ型構成を使用できるようにし、しかも群間干渉の問題を回避するマルチレベル非揮発性記憶アーキテクチャが必要である。
発明の簡単な概要
本発明は、マルチレベル非揮発性ＮＡＮＤメモリ・アレイをプログラムし、読み取るための信頼できるアーキテクチャおよびその方法について説明する。好ましい実施態様では、各セルは、４つの異なるプログラミング・レベルを必要とする２データ・ビットを記憶する。ＮＡＮＤセルはＥＥＰＲＯＭ技法で形成される。このアーキテクチャは、直列接続された１６個のトランジスタを各群に含む。この技法は、セル当たりに２ビットより多くのビットを収容するように容易に修正することができる。
それぞれ、４列のセルを有する、読取り参照ブロックおよび書込み参照ブロックは参照向けにプログラムされ、各列が、４つの異なるプログラム・レベルのうちの１つを保持する。したがって、アレイ内の各ブロックのあらゆる行にすべての参照セルを使用することができる。精度および追跡を向上させるには、１６行の各ブロックが対応する参照ブロックを有するようにメモリ・アレイ全体にわたって参照ブロックを繰り返すことができる。メモリ読取りサイクル中に、読取り中の各メモリ・セル内の電流とすべての対応する読取り参照セルの電流を比較することによって、プログラミング・レベルが判定される。プログラム・レベルが判定された後、データ・ビットが復号され出力される。メモリ・プログラム・サイクル中に、メモリ・アレイ内のすべてのセルがプログラムされ、書込み参照セルと突き合わせて検証される。
アレイ・ブロック内のメモリ・セルの各行ごとに４つの読取り参照セルおよび４つの書込み参照セルが設けられる。各参照セルは、４つの異なるプログラミング・レベルに対応するように構成される。センス増幅器は順次、メモリ・セル内の電流を対応する各参照セル内の電流と比較し、プログラミング・レベル、したがってプログラム済みビットを判定する。
消去済みセルのしきい値電圧は約−２Ｖである。プログラミング・サイクル中に、各セルは少量ずつ増分してプログラムされる。しきい値電圧が増加するにつれて、セル電流が降下し、書込み参照セル内の電流と比較される。セルをある高いしきい値レベルにプログラムする必要がある場合、所望のプログラミング・レベルが達成されるまで、この手順が繰り返され、対応する書込み参照セルと比較される。
【図面の簡単な説明】
第１図は、メモリ・ブロック・アレイの好ましい実施形態のブロック図である。
第２図は、第１図で使用される典型的なメモリ・ブロックを示す図である。
第３図は、消去動作時の典型的なメモリ・ブロックを示す図である。
第４図は、プログラム動作時の典型的なメモリ・ブロックを示す図である。
第５図は、典型的なメモリ・ブロックの従来技術の読取り動作を示す図である。
第６図は、典型的なメモリ・ブロックの本発明の読取り動作を示す図である。
第７図は、第１図のプログラム／検証／読取りの詳細図である。
第８図は、第１図の２ビット・レジスタおよび２ビット比較器ブロックのより詳細な図である。
発明の詳細な説明
第１図は、本発明の好ましい実施形態のブロック図である。当業者には、このメモリ・アレイを任意のサイズの記憶空間を収容するように拡張できることが明らかであろう。この好ましい実施形態の説明には多数の同じ要素があることが理解されよう。そのような要素は、英字接尾辞を有する同じ参照符号を使用して参照される。複数またはすべてのそのような要素を一般的な方法で参照する際、参照符号は接尾辞なしで使用される。
データは、入出力バス１００を介して本発明の装置に結合される。好ましい実施形態によれば、複数の２ビット入出力レジスタ１０２Ａないし１０２Ｎが入出力バス１００とメモリの残りの部分との間でデータを送受信するように結合される。異なる数の記憶レベルを使用する他の構成では、入出力レジスタ１０２全体にわたって他の数のビットを結合することができる。
各２ビット比較器１０４Ａないし１０４Ｎは、２ビット入出力レジスタ１０２と２ビット・バス１２２のいずれか適切な一方からデータを受け取り比較する。各２ビット比較器１０４Ａないし１０４Ｎは、それぞれプログラム／検証／読取り（ＰＶＲ）制御ブロック１０６Ａないし１０６Ｎに比較信号ＣＭＰを与えるようにも結合されている。各ＰＶＲブロック１０６Ａないし１０６Ｎはまた、それぞれ列選択ブロック１０８Ａないし１０８Ｎに二方向結合される。各列選択ブロック１０８は、メモリ・アレイ・ブロック１１２内の選択を行うように結合される。列選択ブロック１０８およびメモリ・アレイ・ブロック１１２（Ａ、Ａ）ないし１１２（Ｍ、Ｎ）にはアドレス復号回路１１０も結合される。２ビット・バス１２２を使用した読取り動作およびプログラム検証動作時に適切な行電圧を与えるプログラム／読取り電圧発生装置ブロック１３０がアドレス復号回路１１０に結合される。
メモリ・アレイ・ブロックだけでなく、読取り参照ブロックおよび書込み参照ブロックがある。読取り参照セル間の選択を行う列選択ブロック１０８Ｘが設けられ、２ビット・バス１２２を使用して書込み参照セル間の選択を行う列選択ブロック１０８Ｙが設けられる。アドレス復号回路１１０は、読取り参照ブロックと書込み参照ブロックの両方の行選択を行う。さらに、アドレス復号回路１１０はメモリ・ブロック１１２（Ａ、Ａ）ないし１１２（Ｍ、Ｎ）の行および列の選択も行う。
読取り参照アレイ・ブロック１１２Ｘは、列選択ブロック１０８Ｘを通じてセンス増幅器１１４の第１の入力に結合され、スイッチＳＷ１  １２０が位置２にあるときにＳＷ１を通じて選択的にＰＶＲブロック１０６に結合される。センス増幅器１１４は、読取り参照アレイ・ブロック１１２Ｘの出力を参照電流Ｉｒｅｆ１と比較するように結合される。センス増幅器１１４の出力は２入力ＡＮＤゲート１１８に結合される。ＡＮＤゲート１１８は、検証読取り参照セル信号を受け取るようにも結合される。ＡＮＤゲート１１８の出力は読取り参照セル・プログラム完了信号である。回路のこの部分は、読取り参照セルを所望のレベルにプログラムするためにセットアップ・フェーズ中に使用される。
書込み参照アレイ・ブロック１１２Ｙは列選択ブロック１０８Ｙおよび１４０を通じてセンス増幅器１２６の第１の入力に結合される。センス増幅器１２６の第２の入力は、参照電流Ｉｒｅｆ２と読取り参照列選択ブロックの出力１３８とのどちらかを受け取るように選択的に結合される。ＳＷ２  １３６は、センス増幅器１２６への入力として、位置１のＩｒｅｆ２と位置２の１３８との間の切換を行う。センス増幅器１２６の出力は、検証書込み参照セル信号からの他の入力を受け取る２入力ＡＮＤゲート１２８に接続される。回路のこの部分は、書込み参照セルの所望のレベルへのプログラミング時に使用される。下記の本発明の説明全体にわたって、メモリ・セルのプログラミングと書込みは、同じ動作、すなわちメモリ・セルのプログラミングを説明するために相互交換可能に使用される。さらに、読取り動作、検証動作、書込み動作については、メモリ・セル、読取り参照セル、書込み参照セルに関して説明する。しかし、これらの動作のうちのいくつかが別々で独立の動作であることを理解されたい。特に、１）書込み参照せるのプログラミングと、２）読取り参照セルのプログラミングと、３）メモリ・セルのプログラミングおよび検証と、４）メモリ・セルの読取りとからなる４つの動作について詳しく説明する。
メモリ・ブロック、読取り参照ブロック、書込み参照ブロックはそれぞれ、第２図に示したように、ＮＡＮＤ型アーキテクチャとして接続された複数のＥＥＰＲＯＭセルを含む。本発明によれば、ＥＥＰＲＯＭトランジスタ記憶セル２１０Ａ、Ａないし２１０Ｄ、Ｐのそれぞれに２ビット・データが記憶される。これを行うために、４つの固有のゲート電圧レベルが使用される。メモリ・アレイ・ブロック１１２Ａ、Ａないし１１２Ｍ、Ｎのセルは、プログラムされ、メモリ・セルのプログラミング時には適切な書込み参照セル内の電流と比較され、読取り時には、適切な読取り参照セル内の電流と比較される。セル電流が書込み参照セル電流に対して増分的に低くなる場合、セルはプログラム済みとみなされる。顕著なことであり、かつ下記の議論でさらに明確になるように、メモリ・セル、読取り参照セル、または書込み参照セルは、プログラムされあるいは読み取られるセルとして選択されると、飽和モードにされ、それに対して残りの未選択セルは線形モードに維持される。
しきい値電圧は、セルがプログラムされると上昇する。消去されたセルのしきい値電圧は約−２Ｖである。本発明は、負電圧の生成や使用をサポートしない半導体製造プロセスで使用されるように設計されているので、ゲート電圧が０．０Ｖであるセルによって論理状態「００」が形成され、その電流は適切な書込み参照セル内の電流に対して増分的に低くなる。本発明の好ましい実施形態は、０．７Ｖをゲート電圧として使用して論理状態「０１」を表し、ゲート電圧１．４Ｖを使用して論理状態「１０」を表し、ゲート電圧２．１Ｖを使用して論理状態「１１」を表す。当業者には、他の電圧レベルを同様に使用できることが自明であろう。
下記の表１は、４レベル・プログラミングに関する基準電圧に対応する近似電流レベルを示す。たとえば、論理状態「００」でプログラムされたセルの読取り時には、セルのゲートに０．０Ｖが置かれている場合、セルによって最大で５μＡ、最小で４．５μＡが導かれる。下記の表２は、１６レベル・プログラミング、すなわち４ビットに関する同様な電流対参照電圧状態を示す。
0003929070.tif 000002
0003929070.tif 000003
0003929070.tif 000004
２ビットが４つの適切な電圧である場合、固有のゲート電圧は、従来型の回路を使用してチップ上で生成することができる。好ましい実施形態では、内部バンドギャップ電圧発生装置は２．１Ｖを与え、２．１Ｖと０．０Ｖとの間に接続された３つの等価直列抵抗器は残りの電圧を生成する。当然のことながら、４つのゲート電圧はメモリ・デバイス・チップの外部に設けることができる。
第２図は、それぞれ、各列に１６個のＥＥＰＲＯＭセルを含む４つの列を有する、メモリ・ブロック、読取り参照ブロック、または書込み参照ブロックの構成を示す。選択線１  ２００は複数の選択トランジスタ２０２ＡないしＤをアクティブにする。ビット線は、トランジスタの１列のみをアクティブにするために選択トランジスタ２０２のドレーンに結合される。複数のトランジスタ・セル２１０は、それぞれのチャネルを用いて各選択トランジスタに直列に結合される。好ましい実施形態には、各列に１６個のセルがあり、１６行４列ブロックが構成される。
第２の複数の選択トランジスタ２０６ＡないしＤをアクティブにする第２の選択線２０４も設けられる。各選択トランジスタ２０６は、各列および共通ソース線２０８に結合される。
各列の各選択トランジスタ２０２のゲートは互いに接続される。行内のトランジスタ・セルは共通のゲートを有する。
本発明のＮＡＮＤアーキテクチャは、各ブロック内で直列接続された１６個のトランジスタを使用する。前述のように、従来技術の設計では、この場合、あるセルを読み取る際に、センス増幅器によって検出される電流が、群内の他の１５個のセルのしきい値電圧の影響を受けるという問題が生じる。たとえば、極端なケースでは、群内のすべての他の１５個のトランジスタと同じ最高許容しきい値レベルを有する１つのセルによって検出された電流レベルと、群内のすべての他の１５個のトランジスタが最低許容しきい値を有するときの１段階高いしきい値を有する１つのセルによって検出された電流とを区別することは非常に困難である。
第１図の回路の動作は、読取り参照ブロック１１２Ｘのプログラミング、書込み参照ブロック１１２Ｙのプログラミング、メモリ・ブロック１１２（Ａ、Ａ）ないし（Ｍ、Ｎ）のプログラミング、最後にメモリ・ブロックの読取りの４つの機能によって表すことができる。ブロック消去動作は従来技術と同じであると仮定される。メモリ・ブロック１１２（Ａ、Ａ）ないし１１２（Ｍ、Ｎ）が読取り参照ブロックおよび書込み参照ブロックとは別に消去されることに留意されたい。実際、通常の動作時にデータ・ブロックが消去されても、読取り参照ブロックおよび書込み参照ブロックは消去されない。前述のように、読取り参照ブロック１１２Ｘおよび書込み参照ブロック１１２Ｙのプログラミングは、消去後の製品試験およびセットアップ時に１度しか行われない。実際、読取り参照ブロック１１２Ｘおよび書込み参照ブロック１１２Ｙがそれぞれ、システムのセットアップを再開することが必要になるまで最初にプログラムされたままでいることは、本発明の重要な態様である。これは、読取り参照ブロック・セルおよび書込み参照ブロック・セルが、すべての温度変動および電源変動の下でメモリ・アレイ・ブロック・セルを追跡する必要があるからである。
１．書込み参照ブロックのプログラミング
まず、書込み参照ブロック１１２Ｙ内のセルが、それぞれのセルのしきい値を約−２Ｖに設定することで消去される。第１図で、ＳＷ２  １３６が位置１にセットされ、センス増幅器１２６への入力としてＩｒｅｆ２が選択される。アドレス復号回路１１０は、プログラムするセルの第１のセル行を選択するようにセットされる。
２ビット・カウンタ１３２が論理状態「００」にセットされる。２ビット・バス１２２は、書込み参照ブロック１１２Ｙセルの第１の列を選択し、プログラム検証時に、プログラム／読取り電圧発生装置１３０の出力に０．０Ｖを与えると共に選択された行に０．０Ｖを与える。
プログラミング・ステップと呼ばれるステップで、第４図に示したように、書込み参照ブロック１１２Ｙ内のセルに短時間の間適切な電圧が印加され、アドレス復号回路１１０が列選択回路１０８Ｙと共に選択した列アドレスおよび行アドレスによって選択されたセルがプログラムされる。他のすべての列はディスエーブルされる。それに続いて、検証ステップと呼ばれるステップで、第６図による書込み参照セルに適切な電圧が印加され、プログラム済みセル内の電流が読み取られる。検証書込み参照信号がアクティブにされ、選択されたセル内の電流がＩｒｅｆ２（好ましい実施形態では〜２．５μＡまたはＩｒｅｆ１の２分の１）と比較される。
Ｉｒｅｆ２が、Ｉｒｅｆ１よりも低く、しかもある電流しきい値レベルと他の電圧しきい値レベルが交差するほど低すぎないように慎重に選択されることに留意されたい。好ましい実施形態では、Ｉｒｅｆ２は２．５μＡの電流を与えるように選択され、それに対してＩｒｅｆ１は５μＡの電流を与えるように選択される。この電流差の余裕によって、セルの電流変動にもかかわらずメモリ・セルをより正確に読み取ることができ、さらに、対応する書込み参照セルを使用して、メモリ・セルを読み取るために必要な時間を測定することができる。したがって、メモリ・セルは、電流レベルが２．５μＡの書込み参照セルと対比してプログラムされ、それに対して電流レベルが５μＡの参照セルと対比して読み取られる。繰り返すと、メモリ・セルが、同じセルを読み取るために使用される参照電流よりも低い電流に対してプログラムされる場合、記憶される値が不正確に読み取られる可能性は低い。また、メモリ・セルを書込み参照セル電流レベルに対してプログラムすることによって、メモリ・セル電流は書込み参照セルよりもわずかに低くなり、書込み参照セルはそれ自体が読取り参照セルよりも低い電流レベルにプログラムされるので、メモリ・セルを読み取るために必要な時間は、対応する書込み参照セルを読み取るために必要な時間よりも確実に短くなる。書込み参照セルを使用して、メモリ・セルを読み取るのに必要な時間を測定すると、読取りを行うのに十分な時間が確保される。メモリ・セルが２．５μＡよりも低い値にプログラムされ、それに対して対応する書込み参照セルが２．５μＡにプログラムされるので、メモリ・セルを読み取るのに必要な時間は短くなる。このことは第７図に示されている。この図では、メモリ読取り動作時に、対応する書込み参照セルが読み取られると入力信号（Ｓ）とも呼ばれる読取り時間完了信号がハイになり、これにより、メモリ・セルの読取りが完了することによってＡＮＤゲート７１０の入力、すなわちセンス増幅器７０６の出力がセットされるので同じＡＮＤゲートの出力がセットされる。
他の代替策は、読取り参照と書込み参照の両方ではなく１組の参照セルのみを与えることであり、その場合、プログラム検証と読取りの両方の間に、メモリ・セルが１組の対応する参照セルのみと比較される。この場合、余裕を与えるようにセンス増幅器が調整される。しかし、この代替策ではメモリ・セル追跡変動が減少することが予想される。
第１のプログラム・ステップの後、セル電流はＩｒｅｆ２よりずっと高くなり、そしてプログラミング・ステップが繰り返されるにつれて低減していく。セル電流がＩｒｅｆ２よりわずかに低くなり、センス増幅器１２６および２入力ＡＮＤ１２８の出力がハイになったときに、選択された書込み参照セルのプログラミングが完了する。
次に、２ビット・カウンタ１３２が論理状態「０１」に増分される。２ビット・バス１２２は、書込み参照ブロック１１２Ｙセルの第２の列を選択し、また、プログラム検証時に、プログラム／読取り電圧発生装置ブロック１３０の出力上で０．７Ｖを与えると共に選択された行に０．７Ｖを与える。前述のようにカウンタ１３２が論理状態「００」であったときと同様に、セルが０．７Ｖに対応する論理状態「０１」向けにプログラムされるまでプログラム・ステップおよび検証ステップが実施される。
前述のように、カウンタ１３２が論理状態「１０」に増分され、２ビット・バス１２２が第３の書込み参照セル列を選択し、プログラム検証時に、ブロック１３０の出力上で１．４Ｖを選択し、かつ選択された行に１．４Ｖを選択することを除いて、再び前述のようにプログラムおよび検証が実行される。同じことが論理状態「１１」の場合にも行われ、この場合は、第４の書込み参照列が選択され、ブロック１３０によってその選択された行に２．１Ｖが与えられる。これによって、書込み参照ブロック１１２Ｙセルの第１の行のプログラミングが完了する。
次に、アドレス復号回路１１０がブロックの第２の行を選択するようにセットされ、次いで、ブロックの第１の行の場合と同様にプログラミングが実行される。アドレス復号回路１１０は次いで、第３の行を選択するようにセットされ、前述のようにその行のプログラミングが再開し、それに続いて第４の行、第５の行がプログラムされ、書込み参照ブロック１１２Ｙ内のすべての残りのセルがプログラムされるまで以下同様である。すべてのメモリ・セルに１つの書込み参照ブロックを使用することができるが、好ましい実施形態では、複数の書込み参照ブロックをアレイ全体にわたって繰り返して精度および追跡を向上させた。
第１図に示した書込み参照ブロックのうちの複数のブロックがある場合、１１２ＹＡなど第１の書込み参照ブロックの完了時に、すべての参照ブロック１１２ＹＡないしＭがプログラムされるまで残りの書込み参照ブロックが同様にプログラムされる。
書込み参照セルは、プログラムされた後、システム動作時に消去されることはなく、下記に論じるように、メモリ・ブロック・アレイ１１２（Ａ、Ａ）ないし１１２（Ｍ、Ｎ）の記憶セルにデータを書き込むための参照レベルとして使用される。
２．読取り参照ブロックのプログラミング
読取り参照ブロック１１２Ｘのプログラミングは、前述の書込み参照ブロック１１２Ｙのプログラミングに非常に類似している。アドレス復号回路１１０が、プログラムすべきセルとして第１のセル行を選択するようにセットされる。カウンタ１３２は最初、値「００」にセットされ、それによって第１の列が選択される。カウンタ出力「００」は、値が０．０Ｖである電圧発生装置１３０の電圧レベルを選択し、読取り参照ブロックの選択された行に印加される。非選択セルのプログラミングを防止するために、第２図の残りのビット線およびワード線は１０Ｖに接続される。
第４図による選択された読取り参照セルにプログラミング・パルスが短時間の間印加され、それに続いて第６図に従って適切な電圧が印加され、プログラム済みセル内の電流が読み取られる。検証読取り参照セル信号がアクティブにされ、セル内の電流がＩｒｅｆ１（〜５μＡ）と比較される。最初、セル電流はＩｒｅｆ１よりずっと高い。プログラミングステップが繰り返されるにつれて、セル電流は、Ｉｒｅｆ１よりわずかに低くなり、それによってセンス増分１１４がハイになり２入力ＡＮＤ１１８が、このレベルの参照セル・プログラムが完了したことを示すまで低減し続ける。
次に、２ビット・カウンタ１３２が論理状態「０１」にセットされ、２ビット・バス１２２が読取り参照ブロック１１２Ｘセルの第２の列を選択し、プログラム検証時に、電圧発生装置１３０の出力上で０．７Ｖが与えられ、かつ選択された行に０．７Ｖが与えられる。所望のレベルに達するまでプログラム・ステップおよび検証ステップが実施される。それに続いて、カウンタ１３２が論理状態「１０」に増分され、１．４Ｖを使用して第３の列がプログラムされ、それに続いて２．１Ｖを使用して第４の列がプログラミングされる。
１つの読取り参照セル行のプログラミングが完了した後、次のセル行が同様にプログラムされ、カウンタ１３２は論理状態「００」から開始し、状態「１１」に進む。第１図に示した読取り参照ブロックのうちの複数のブロックがある場合、１１２ＸＡなど第１の読取り参照ブロックの完了時に、すべての参照ブロック１１２ＸＡないしＭがプログラムされるまで残りの読取り参照ブロックが同様にプログラムされる。
読取り参照セルは、プログラムされた後、システム動作時に消去されることはなく、下記に論じるように、メモリ・ブロック・アレイ１１２（Ａ、Ａ）ないし１１２（Ｍ、Ｎ）の記憶セルからデータを読み取るための参照レベルとして使用される。
３．メモリ・アレイ・ブロックのプログラミング
まず、メモリ・セルがプログラムされていれば、同じメモリ・セルを再プログラムする前に消去しておかなければならない。プログラム時に、書込み参照セルがプログラムされた後、それらはメモリ・ブロック・アレイ１１２の記憶セルにデータをプログラムするための参照として使用される。好ましい実施形態では、データのページ全体が順次、入出力バス１００からレジスタ１０２にロードされる。ＰＶＲ１０６の制御下で、入出力レジスタ内のデータが下記のように、列選択回路１０８およびアドレス復号回路１１０によって選択されたセルにプログラムされる。
書込みデータｉｎ０−Ｋを順次アクティブにすることによって、プログラムすべきデータがレジスタ１０２にロードされる。アドレス復号ブロック１１０が、プログラムすべき行および列を選択する。ＳＷ１  １２０が位置１にセットされ、書込み参照、セルがＰＶＲブロック１０６の入出力として選択される。
ＲＳＴ信号がアクティブにされ、第７図のすべてのプログラム・ディスエーブル・ラッチ７００がリセットされる。これによって、セルの最終プログラム・レベルにはかかわらずに、ページ（すなわち、すべてのメモリ・ブロック１１２Ａないし１１２Ｎを横切る１つの行と各メモリ・ブロック１１２（Ａ、Ａ）から１１２（Ｍ、Ｎ）までの１つの列）内のセルをプログラムすることができる。
２ビット・カウンタが「００」にセットされ、２ビット・バス１２２が第１の読取り参照セル列および第１の書込み参照セル列を選択し、プログラム検証時に、ブロック１３０の出力上に０．０Ｖを与え、かつ選択された行に０．０Ｖを与える。
第８図は、２ビット入出力レジスタ１０２および比較器１０４内の回路、関連する入出力バス、ドライバ８１２、８１４、２ビット・バス１２２の詳細図である。第７図はＰＶＲブロック１０６の詳細回路である。メモリ・プログラム動作時には、データのページ全体が２ビット入出力レジスタ１０２に記憶される。
第８図で、書込みデータ入力信号がイネーブルされ、それによって、入出力バス上に現れた値をラッチ回路８０４および８０６にラッチすることができる。ラッチ回路８０４および８０６の出力は比較器１０４への入力として与えられる。ラッチされている値が、２ビット・バス１２２上のカウンタ１３２から与えられた値に一致する場合、第７図のＰＶＲ回路への入力として与えられるＣＭＰ信号はハイになる。すべての２ビット比較器１０４Ａないし１０４Ｎは、対応する２ビット入出力レジスタの内容を２ビット・バス上の「００」と比較する。２ビット入出力レジスタに「００」を有するすべての比較器のＣＭＰ出力はハイになる。これによって、第７図の対応する３入力ＡＮＤ７０８がイネーブルされ、また、プログラム完了（Ｐ）信号がローにプルされる。「００」を含む２ビット・レジスタ１０２がない場合、（Ｐ）がハイになり、このプログラミング・レベルがスキップされる。メモリ・ブロック１１２のプログラム時に、第１図のＳＷ１が位置１にセットされ、そのため、第７図のセンス増幅器７０６に入力されたＲは、対応する書込み参照セルの電流を受け取る。センス増幅器７０６は、列選択回路１０８Ａから与えられた選択されたメモリ・ブロック・セルの電流を表す入力Ｃ上の電流を入力Ｒ上の電流と比較する。
第４図による行および列に適切な電圧が短時間の間印加され、選択されたセルがプログラムされる（これをプログラミング・ステップと呼ぶ）。他のすべての列はディスエーブルされる。第６図による行および列に適切な電圧が印加され、プログラム済みのセル内の電流が読み取られる（これを検証ステップと呼ぶ）。
次に、第７図のプログラム検証信号信号がアクティブにされ、第７図のセンス増幅器７０６が、セル電流を、１１２Ｙの対応するブロック内の選択された書込み参照セルからの対応する電流と比較する。最初、セル電流は参照電流よりずっと高い。プログラミング・ステップおよび検証ステップを繰り返した後、いくつかのセル内の電流が書込み参照電流よりわずかに低くなる。これらのセルでは、対応するＣＭＰがハイである場合、センス増幅器７０６および３入力ＡＮＤ７０８の出力がハイになり、ラッチ７００がセットされ、３入力ＮＯＲ７０２がローになり、プルダウン（Ｐ）がディスエーブルされ、プログラム・ディスエーブル信号、すなわち２入力ＮＯＲ７０４の出力がハイになる。これによって、対応する列線上で適切な電圧が印加され（好ましい実施形態では１０Ｖ）、セルをそれ以上プログラムすることはできなくなる。
プログラミングおよび検証は、ＣＭＰがハイであるすべてのセルがプログラムされ、対応する２ビット入出力レジスタ内のプログラム完了信号（Ｐ）がハイになるまで上記のように継続する。これによって、「００」レベルのプログラミングが完了する。
それに続いて、２ビット・カウンタ１３２が論理状態「０１」に増分され、２ビット・バス１２２が読取り参照セルおよび書込み参照セルの第２の列を選択し、プログラム検証時に、ブロック１３０の出力上で０．７Ｖを与え、かつ選択された行に０．７Ｖを与える。すべての２ビット比較器１０４Ａないし１０４Ｎは、対応する２ビット入出力レジスタの内容を２ビット・バス１２２上の「０１」論理状態と比較する。２ビット入出力レジスタに論理状態「０１」を有するすべての比較器のＣＭＰ出力はハイになる。これによって、第７図の対応する３入力ＡＮＤ７０８がイネーブルされ、また、プログラム完了（Ｐ）信号がローにプルされる。
このページ内のすべてのセルはすでに、前のプログラミング・ステップの後に「００」レベル近くにプログラムされている。プログラム・ステップおよび検証ステップは、２ビット・レジスタが「０１」を含むすべてのセルがプログラムされ、それに対応する列がディスエーブルされるまで繰り返される。
次に、２ビット・カウンタ１３２が「１０」に増分される。２ビット・バス１２２は次に、読取り参照セルおよび書込み参照セルの第３の列を選択し、プログラム検証時にブロック１３０の出力および選択された行に１．４Ｖを印加することを選択する。すべての２ビット比較器１０４Ａないし１０４Ｎは、対応する２ビット入出力レジスタ１０２の内容を２ビット・バス１２２上の論理状態「１０」と比較する。対応する２ビット入出力レジスタに「１０」を有するすべての比較器のＣＭＰ出力はハイになる。これによって、第７図の対応する３入力ＡＮＤ７０８がイネーブルされ、また、プログラム完了（Ｐ）信号がローにプルされる。このページ内のすべての残りのセルはすでに、近「０１」論理状態にプログラムされている。したがって、プログラム・ステップおよび検証ステップは、対応する２ビット入出力レジスタ１０２が「１０」であるすべてのセルがプログラムされ、それに対応する列がディスエーブルされるまで繰り返される。
２ビット・カウンタ１３２は次に、「１１」に増分され、２ビット・バス１２２が、読取り参照セルと書込み参照セルの第４の列を選択し、また、プログラム検証時にブロック１３０の出力上で２．１Ｖを与え、かつ選択された行に２．１Ｖを与える。すべての２ビット比較器１０４Ａないし１０４Ｎは、対応する２ビット入出力レジスタの内容を２ビット・バス上の「１１」と比較する。対応する２ビット入出力レジスタに「１１」を有するすべての比較器のＣＭＰ出力はハイになる。これによって、第７図の対応する３入力ＡＮＤ７０８がイネーブルされ、また、プログラム完了（Ｐ）信号がローにプルされる。
このページ内のすべての残りのセルはすでに、近「１０」レベルにプログラムされている。したがって、プログラム・ステップおよび検証ステップは、２ビット・レジスタに「１１」を有するすべてのセルがプログラムされ、それに対応する列がディスエーブルされるまで繰り返される。この点で、すべての４つのレベルがメモリの１ページにプログラムされている。上記で論じたのと同じステップが繰り返され、追加ページがプログラムされる。
４．メモリ・アレイ・ブロックの読取り
スイッチＳＷ１  １２０およびＳＷ２  １３６が位置２にセットされ、読取り参照ブロックおよび書込み参照ブロック１１２が選択される。ＲＳＴ信号がアクティブにされ、第７図のすべてのプログラム・ディスエーブル・ラッチ７００がリセットされる。メモリ読取り動作時に、これらのラッチを使用して、所望のレベルが検出され入出力レジスタにロードされた後にその入出力レジスタのロードがディスエーブルされる。３入力ＮＯＲゲート７０２がハイであり、そのため２入力ＡＮＤ７１２がイネーブルされることに留意されたい。
次に、アドレス復号回路１１０に行アドレスおよび列アドレスが印加され、読み取るべきメモリの所望のページが選択される。メモリ・セルのプログラミングを論理状態「００」から開始したが、メモリ・セルの読取りは論理状態「１１」から開始することに留意されたい。２ビット・カウンタが「１１」にセットされ、２ビット・バスが読取り参照セルおよび書込み参照セルの第４の列を選択し、メモリ読取り時にブロック１３０の出力上で２．１Ｖを与え、かつ選択された行に２．１Ｖを与える。
その後、メモリ読取り信号がアクティブにされ、ロード信号がハイになり、２ビット・バス１２２上に現れた値が入出力レジスタ１０２にロードされる。すべての入出力レジスタに「１１」がロードされる。
第７図のセンス増幅器７０６によって、すべての選択されたセル内の電流が、対応する読取り参照セルと比較される。センス増幅器１２６は、選択された読取り参照セルおよび書込み参照セルをタイミングに関して比較する。書込み参照セルおよび読取り参照セルの読取りが完了すると、２入力ＡＮＤゲート１１６の出力がハイになり、読取り時間完了信号（Ｓ）をアクティブにする。この時点で、すでに「１１」がプログラムされているすべてのセルのセンス増幅器７０６がハイになり、２入力ＡＮＤ７１０ゲートの出力がハイになる。これによって、ラッチ７００がセットされ、ロード信号がディスエーブルされる。対応するセルが「１１」値以外にプログラムされた他のすべてのラッチのロード信号はアクティブになる。
それに続いて、２ビット・カウンタ１３２が「１０」に減分され、電圧レベル１．４Ｖより低い値にプログラムされたセルを読み取ることができるようになる。２ビット・バス１２２が読取り参照セルおよび書込み参照セルの第３の列を選択し、メモリ読取り時にブロック１３０の出力上で１．４Ｖを与え、かつ選択された行に１．４Ｖを与える。
メモリ読取り信号が再びアクティブにされ、ロード信号がハイになり、ロード信号がディスエーブルされていないレジスタの入出力レジスタ１０２に２ビット・バス１２２の値がロードされる。これらの入出力レジスタには「１０」がロードされる。センス増幅器７０６によって、すべての選択されたセル内の電流が、対応する読取り参照セルと比較される。センス増幅器１２６が、選択された読取り参照セルおよび書込み参照セルをタイミングに関して比較し、検知時間の後に、２入力ＡＮＤゲート１１６がハイになる。これによって、読取り時間完了（Ｓ）信号がアクティブにされる。この時点で、すでに「１０」にプログラムされているすべてのセルのセンス増幅器７０６がハイになり、２入力ＡＮＤ７１０ゲートの出力がハイになり、それによって、ラッチ７００がセットされ、ロード信号がディスエーブルされる。対応するセルが「１１」にも、あるいは「１０」にもプログラムされていない他のすべてのラッチのロード信号がアクティブになることに留意されたい。
２ビット・カウンタ１３２が「０１」に減分され、２ビット・バス１２２が読取り参照セルおよび書込み参照セルの第２の列を選択し、メモリ読取り時にブロック１３０の出力に０．７Ｖを与え、かつ選択された行に０．７Ｖを与える。メモリ読取り信号がアクティブにされ、ロード信号がハイになり、ロード信号がディスエーブルされていないレジスタの入出力レジスタ１０２に２ビット・バスの値がロードされる。これらの入出力レジスタには「０１」がロードされる。
センス増幅器７０６によって、すべての選択されたセル内の電流が読取り参照セルと比較される。センス増幅器１２６が、選択された読取り参照セルおよび書込み参照セル内の信号をタイミングに関して比較し、検知時間の後に、２入力ＡＮＤゲート１１６がハイになる。これによって、読取り時間完了（Ｓ）信号がアクティブにされる。この時点で、すでに「０１」にプログラムされているすべてのセルのセンス増幅器７０６がハイになり、２入力ＡＮＤ７１０ゲートがハイになり、それによって、ラッチ７００がセットされ、３入力ＮＯＲゲート７０２がローになり、したがってロード信号がディスエーブルされる。対応するセルが「１１」にも、あるいは「１０」にも、あるいは「０１」にもプログラムされていない他のすべてのラッチのロード信号がアクティブになることに留意されたい。
２ビット・カウンタ１３２が「００」に減分され、２ビット・バス１２２が読取り参照セルおよび書込み参照セルの第１の列を選択し、メモリ読取り時に電圧発生装置１３０の出力に０．０Ｖを与え、かつ選択された行に０．０Ｖを与える。メモリ読取り信号がアクティブにされ、それによってロード信号がハイになり、ロード信号がディスエーブルされていないレジスタの入出力レジスタに２ビット・バス１２２の値がロードされる。これらの入出力レジスタには「００」がロードされる。
センス増幅器７０６によって、あらゆる選択されたセル内の電流が読取り参照セルと比較される。センス増幅器１２６が、選択された読取り参照セルおよび書込み参照セル内の信号をタイミングに関して比較し、検知が行われた後、２入力ＡＮＤゲート１１６の出力がハイになる。これによって、読取り時間完了（Ｓ）信号がアクティブにされる。この時点で、すでに「００」にプログラムされているすべてのセルのセンス増幅器７０６がハイになり、２入力ＡＮＤ７１０がハイになり、それによって、ラッチ７００がセットされ、ロード信号がディスエーブルされる。
したがって、それぞれのメモリ・セルからのすべての入出力レジスタ１０２のロードが完了し、次に、それぞれの異なる入出力レジスタ群に対する読取りデータ出力信号をアクティブにし、入出力バス１００へデータを転送できるようにすることができる。
各ページの読取り時に、ＳＷ２が位置２に切り換えられ、対応する読取り参照ブロック内の電流が列選択回路１０８Ｘを通じてセンス増幅器１２６の２つの入力のうちの一方に与えられる。センス増幅器１２６の他方の入力は、対応する書込み参照セルである。読取り参照セルと書込み参照セルの比較が完了したときにハイになるセンス増幅器１２６の出力は、ＰＶＲブロック１０６にＳ入力を与える。実際上、書込み参照セルによって導かれる電流と読取り参照セルによって導かれる電流との比較の結果であるＳ入力は、対応するメモリ・セルを読み取るのに必要な最大時間を測定する。言い換えれば、ＰＶＲブロックへのＳ入力がハイになると、読取り動作も完了したと仮定され、その結果によってラッチ７００がセットされる。
本発明の重要な態様は、メモリ・アレイ・ブロックが読取り参照セルおよび書込み参照セルと突き合わせてプログラムされ検証されるため、ディジタル・アナログ変換器およびアナログ・ディジタル変換器が不要になることである。また、デバイスがある１組の条件の下でプログラムされ異なる１組の条件の下で読み取られる場合に電源および温度の追跡が向上する。
第３図は、消去ステップ時のアレイとの電源接続を示す。すべてのトランジスタ・セルのゲートに０．０Ｖが結合される。ソース線２０８およびウェルに２０Ｖが結合される。ビット線は開放されている。ブロック選択線はアクティブにされる。
第４図は、プログラミング動作時のアレイとの電源接続を示す。プログラムすべきセルは、破線の楕円で囲まれている。プログラムされている行中のすべてのセルのゲート電圧は２０Ｖである。他のすべてのセル行のゲート電圧は１０Ｖである。プログラムされているセルのビット線は０Ｖである。他のすべてのビット線は１０Ｖである。ソース線はグラウンド、すなわち、好ましい実施形態では０．０Ｖに結合される。ブロック選択線はプログラム時にアクティブにされる。
第５図は、従来技術の非揮発性２レベル・メモリ・アレイの読取り時のアレイとの電源接続を示す。０Ｖゲート電圧を有する読取り中のセルを除いてすべてのセルが５Ｖのゲート電圧を有する。ソース線はグラウンドに結合される。ブロック選択線はアクティブにされる。
第６図は、本発明のアレイの読取り時のアレイとの電源接続を示す。読み取られていないすべてのセルのゲート電圧が１０Ｖに設定される。これによって、そのようなセルによる非常に低いインピーダンスが与えられ、直列メモリ・セルのために電圧損失の悪影響が軽減される。読み取られているセルのゲート電圧は、４つの所定のゲート電圧レベルのうちの１つの設定される。ソース線はグラウンドに結合される。ブロック選択線はアクティブにされる。
第７図のＰＶＲブロック１０６の詳細なブロック図では、ラッチ７００はリセットＲＳＴ入力を含む。プログラム動作と読取り動作のどちらかの前に、ＲＳＴ信号が印加されラッチ７００がリセットされる。ラッチ７００は、読取り動作とプログラム動作のどちらかの間にセットされると、その後の読取り動作またはプログラム動作の始めにＲＳＴ信号が印加されるまでセットされたままである。
本発明を好ましい実施形態に関して開示した。本明細書を読んだ後にのみ当業者に明らかになる改良、修正、代替例は本発明の趣旨および範囲に含まれるものとみなされる。
【図１】
0003929070.tif 000005
【図２】
0003929070.tif 000006
【図３】
0003929070.tif 000007
【図４】
0003929070.tif 000008
【図５】
0003929070.tif 000009
【図６】
0003929070.tif 000010
【図７】
0003929070.tif 000011
【図８】
0003929070.tif 000012