(57)【要約】セル間の容量性結合に起因する、メモリセルの１つの数の行に記憶されている見かけ上の電荷レベルの誤った読み出しを減少させる手法である。第１の行の全てのページが第１のパスでプログラムされ、次いで、第２の隣接する行の全てのページが第１のパスでプログラムされ、その後、第１の行が第２のパスでプログラムされ、次いで、第３の行の全てのページが第１のパスでプログラムされ、さらに第２の行を第２のパスでプログラムするステップに戻るなど、このように前後するようにアレイの全ての行にわたってプログラムが行われる。これは、後にメモリセルの隣接する行にデータを書き込むことに起因して生じる可能性のあるメモリセルの行に格納された見かけ上の電荷に対する影響を最少にする。
2005538485.tif 000002
【特許請求の範囲】
【請求項１】
データを電荷の種々のレベルとしてその電荷記憶素子に記憶させる不揮発性メモリセルアレイを操作する方法において、前記電荷記憶素子の隣接するグループ間にフィールド結合があり、前記方法は、
電荷記憶素子のグループのうちの第１のグループに、記憶レベルの第１のセットで、記憶レベルの前記第１のセットが使用されているという表示と共に、データをプログラムするステップと、
その後、電荷記憶素子のグループのうちの第２のグループに、記憶レベルの前記第１のセットで、記憶レベルの前記第１のセットが使用されているという表示と共に、データをプログラムするステップと、
その後、電荷記憶素子のグループのうちの前記第１のグループの電荷レベルを記憶レベルの前記第１のセットから記憶レベルの第２のセットまで増大し、記憶レベルの前記第２のセットが使用されているという表示を記憶させるステップと、
を含むことを特徴とする方法。
【請求項２】
電荷記憶素子の隣接するグループは、メモリセルの隣接する行内に位置することを特徴とする請求項１記載の方法。
【請求項３】
前記電荷記憶素子は、伝導性フローティングゲートであることを特徴とする請求項１記載の方法。
【請求項４】
記憶レベルの前記第１および第２のセットの各々は、３以上の記憶レベルを含み、これにより個々の記憶素子に２ビット以上のデータを記憶させることを特徴とする請求項１記載の方法。
【請求項５】
少なくともメモリセルの第１および第２のグループを有するメモリセルアレイを操作する方法において、前記第１および第２のグループ間には電場結合があり、前記方法は、
しきい値検証レベルの第１のセットでメモリセルの前記第１のグループにデータをプログラムするステップであって、しきい値レベルの前記第１のセットが利用されているという表示を記憶させることを含むプログラムするステップと、
その後、しきい値検証レベルの前記第１のセットでメモリセルの前記第２のグループにデータをプログラムするステップであって、しきい値レベルの前記第１のセットが利用されているという表示を記憶させることを含むプログラムするステップと、
その後、メモリセルの前記第１のグループにプログラムされたデータと前記表示とを読み出しレベルの第１のセットで読み出すステップと、
その後、その読み出されたデータを前記第１のグループにしきい値検証レベルの第２のセットで再プログラムするステップであって、しきい値レベルの前記第２のセットが利用されているという表示を記憶させることを含み、しきい値検証レベルの前記第２のセットがしきい値検証レベルの前記第１のセットより高いものである再プログラムするステップと、を含み、
読み出しレベルの前記第１のセットより高い読み出しレベルの第２のセットで前記第１のグループからデータを読み出すことができることを特徴とする方法。
【請求項６】
メモリセルの前記第２のグループに記憶されているデータを読み出しレベルの前記第２のセットで読み出すステップであって、プログラミング時にしきい値レベルの前記第１のセットが利用されているという前記表示を含む読み出すステップと、
しきい値レベルの前記第１のセットがプログラム時に利用されているということを読み出したことに応答して、メモリセルの前記第２のグループに記憶されているデータを読み出しレベルの前記第１のセットで再読み出しするステップと、
をさらに含むことを特徴とする請求項５記載の方法。
【請求項７】
メモリセルの隣接するグループは、メモリセルの隣接する行内に位置することを特徴とする請求項６記載の方法。
【請求項８】
前記メモリセルは、データでプログラムされる少なくとも１つの電荷記憶素子を個々に含むことを特徴とする請求項６記載の方法。
【請求項９】
前記電荷記憶素子は、伝導性フローティングゲートであることを特徴とする請求項８記載の方法。
【請求項１０】
しきい値検証レベルの前記第１および第２のセットは、３以上のレベルを各々含み、これにより個々のメモリセルに２ビット以上のデータを記憶させることを特徴とする請求項６記載の方法。
【請求項１１】
データを電荷の種々のレベルとしてその電荷記憶素子に記憶させるタイプの不揮発性メモリセルをプログラムする方法において、前記電荷記憶素子はセルアレイに渡る少なくとも第１、第２および第３の行に順に配列され、少なくともこれらの行の、互いに直ぐ近くに位置する記憶素子間にはフィールド結合があり、前記方法は、言及の順に、
前記第２の行の電荷記憶素子を、データ記憶レベルより低い第１のレベルにプログラムするステップと、
前記第１の行の電荷記憶素子の電荷レベルを、データ記憶レベルより低いレベルからデータ記憶レベルまで増大させるステップと、
前記第３の行の電荷記憶素子を、データ記憶レベルより低い第１のレベルにプログラムするステップと、
前記第２の行の電荷記憶素子の電荷レベルを、データ記憶レベルより低いレベルからデータ記憶レベルまで増大させるステップと、
を含むことを特徴とする方法。
【請求項１２】
前記第１および第２の行の電荷記憶素子の電荷レベルを増大させるステップは、
前記第１または第２の行に記憶されているデータを読み出すステップと、
前記第１または第２の行のメモリセルを、そこから読み出されたデータでデータ記憶電荷レベルにプログラムするステップと、
をそれぞれ含むことを特徴とする請求項１１記載の方法。
【請求項１３】
前記第１および第２の行の電荷記憶素子の電荷レベルを増大させるステップは、第１または第２の行に記憶されているデータを消去することなくそれぞれ達成されることを特徴とする請求項１２記載の方法。
【請求項１４】
データを電荷の種々のレベルとしてその電荷記憶素子に記憶させる不揮発性メモリセルアレイを操作する方法において、隣接するグループの電荷記憶素子は互いに容量的に結合し、前記方法は、
電荷記憶素子の個々のグループに、記憶レベルの第１のセットで、記憶レベルの前記第１のセットが使用されているという表示と共に、データを始めにプログラムするステップと、
その後、電荷記憶素子の個々のグループの電荷レベルを記憶レベルの前記第１のセットから記憶レベルの第２のセットに増大させると共に、記憶レベルの前記第２のセットが使用されているという表示を記憶させるステップと、
記憶レベルの前記第２のセットの使用に対応する読み出しレベルで前記表示を含む電荷記憶素子の個々のグループを始めに読み出すステップと、
記憶レベルの前記第１のセットが使用されているという表示が始めに読み出されたならば、記憶レベルの前記第１のセットの使用に対応する読み出しレベルで電荷記憶素子の個々のグループを再読み出しするステップと、
を含むことを特徴とする方法。
【請求項１５】
電荷記憶素子の個々のグループの電荷レベルを増大させるステップは、
電荷記憶素子の個々のグループに記憶されているデータを読み出すステップと、
データが読み出されている個々のグループのメモリセルをプログラムするステップと、
を含むことを特徴とする請求項１４記載の方法。
【請求項１６】
電荷記憶素子の個々のグループの電荷レベルを増大させるステップは、前記第１または第２の行に記憶されたデータを消去せずに行うことを含むことを特徴とする請求項１４記載の方法。
【請求項１７】
電荷記憶素子の隣接するグループは、メモリセルの隣接する行を含むことを特徴とする請求項１４記載の方法。
【請求項１８】
前記電荷記憶素子は、伝導性フローティングゲートであることを特徴とする請求項１４記載の方法。
【請求項１９】
記憶レベルの前記第１および第２のセットの各々は、３以上の記憶レベルを含み、これにより個々の記憶素子に２ビット以上のデータを記憶させることを特徴とする請求項１４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データメモリの分野に関し、より詳しくは、データを電荷のレベルとして記憶するタイプのメモリに関し、このメモリは、伝導性フローティングゲートまたは誘電性材料を電荷記憶素子として利用するフラッシュ形の電気的に消去可能でプログラム可能なリードオンリメモリ（フラッシュＥＥＰＲＯＭ）を含むけれども、これに限定はされない。
【背景技術】
【０００２】
現在の市販製品では、フラッシュＥＥＰＲＯＭアレイの各記憶素子が２進モードで動作して単一ビットのデータを格納することは普通のことであり、この場合、記憶素子トランジスタのしきい値レベルの２つの範囲が記憶レベルとして定められる。トランジスタのしきい値レベルは、その記憶素子に格納された電荷レベルの範囲に対応する。メモリアレイのサイズを小さくすることに加えて、各記憶素子トランジスタに１ビットより多いデータを格納することによって、このようなメモリアレイのデータ記憶密度をさらに高めることが趨勢となっている。これは、各記憶素子トランジスタについて３つ以上のしきい値レベルを記憶状態として定めることにより達成され、今日では４つのこのような状態（記憶素子あたりに２ビットのデータ）が市販製品に包含されている。より多くの状態、例えば記憶素子あたりに１６個の状態（４データビット）などが考慮されている。各記憶素子の記憶トランジスタは、トランジスタが実用的に操作され得る複数のしきい値電圧の一定の総範囲（ウィンドウ）を有し、この範囲はトランジスタについて定められた数の状態と、それらの状態を互いに明確に識別し得るようにするための状態間マージンとに分けられている。
【０００３】
各メモリセルに格納される状態の数が増えるに従って、記憶素子でのプログラムされた電荷レベルのシフトについての許容誤差が減少してゆく。各記憶状態のために指定された電荷の範囲は、各メモリセル記憶素子に格納される状態の数が増えるに従って必然的に狭められて互いに近づけられなければならなくなるので、プログラミングはますます高い精度で行われなければならなくなり、格納されている電荷レベルのプログラム後の許容され得るシフトの範囲は、現実のシフトであっても見かけ上のシフトであっても、減少する。１つのセルに格納されている電荷に対する現実の外乱は、そのセルをプログラムするときおよび読み出すときに、また、当該セルと同じ列または行の中の他のセルやラインまたはノードを共有する他のセルなどのセルとのある程度の電気的結合を有する他のセルを読み出したりプログラムしたり消去したりするときに、生じ得る。
【０００４】
格納されている電荷レベルの見かけ上のシフトは、複数の記憶素子間のフィールド結合に起因して発生する。この結合の程度は、メモリセル記憶素子間の間隔が減少されるに従って必然的に増大するが、それは集積回路製造技術の向上の結果として生じる。この問題は、別々のときにプログラムされた隣接するセルの２つのグループの間に非常に明確に発生する。セルの１つのグループは、その記憶素子にデータの１つのセットに対応する１つのレベルの電荷を加えるためにプログラムされる。第２のグループのセルがデータの第２のセットでプログラムされた後、第２のグループの記憶素子上の電荷が第１のものと容量的に結合していることの結果として、第１のグループのセルの記憶素子から読み出される電荷レベルがプログラムされた電荷レベルとは異なっているように見えることが良くある。このことは、ユーピン（Ｙｕｐｉｎ）効果として知られ、米国特許第５，８６７，４２９号（特許文献１）に記載され、その全体が本願明細書において参照により援用されている。この特許は、記憶素子の２つのグループを互いに物理的に隔離するか、あるいは第１のグループの記憶素子を読み出すときに第２のグループの記憶素子の電荷の効果を考慮することを開示している。
【特許文献１】米国特許第５，８６７，４２９号
【特許文献２】米国特許第５，０９５，３４４号
【特許文献３】米国特許第５，１７２，３３８号
【特許文献４】米国特許第５，６０２，９８７号
【特許文献５】米国特許第５，６６３，９０１号
【特許文献６】米国特許第５，４３０，８５９号
【特許文献７】米国特許第５，６５７，３３２号
【特許文献８】米国特許第５，７１２，１８０号
【特許文献９】米国特許第５，８９０，１９２号
【特許文献１０】米国特許第６，０９１，６３３号
【特許文献１１】米国特許第６，１０３，５７３号
【特許文献１２】米国特許第６，１５１，２４８号
【特許文献１３】米国特許出願第０９／５０５，５５５号
【特許文献１４】米国特許出願第０９／６６７，３４４号
【特許文献１５】米国特許出願第０９／９２５，１０２号
【特許文献１６】米国特許出願第０９／９２５，１３４号
【特許文献１７】米国特許第５，５７０，３１５号
【特許文献１８】米国特許第５，７７４，３９７号
【特許文献１９】米国特許第６，０４６，９３５号
【特許文献２０】米国特許出願第０９／８９３，２７７号
【特許文献２１】米国特許出願第１０／００２，６９６号
【発明の開示】
【０００５】
本発明の１つの態様の応用によれば、メモリセルの隣接するプログラムされた行の互いに対する効果を克服するために、隣接する複数の行が２つのステップでプログラムされる。第１のステップでは、メモリセルの第１の行がデータでしきい値レベルの第１の中間セットにプログラムされる。メモリセルの第２の隣接する行が同様にプログラムされた後、メモリセルの第１の行のしきい値レベルがしきい値レベルの第２の最終セットまで増大される。第１の行の最終プログラミングは第２の行の初期プログラミングの影響下で行われるので、第１の行から読み出されるデータは第２の行に最初にプログラムされたレベルから悪影響を受けない。第２の行に隣接する第３の行がしきい値レベルの第１のセットにプログラムされた後、第２の行のしきい値レベルが最終セットまで増大される。このプロセスは、隣接する行間にフィールド結合を有するメモリセルの任意の付加的な行のプログラミングについて続けて行われる。
【０００６】
本発明の他の態様の応用によれば、セルの１つの行などの１つのグループがプログラムされているレベルのセットの識別が、セルのプログラムされたグループと共に読み出されるように格納される。メモリセルのグループは、複数のレベルのセットのうちの最も普通の１つでプログラムされているセルを最善に読み出すために、選択された印加された読み出し電圧で最初に読み出される。しかし、最初に読み出された識別が、セルをレベルの他のセットでプログラムしたことを示しているならば、そのグループのセルはレベルの他のセットに対応する印加された読み出し電圧で再読み出しされる。
【０００７】
本発明は、いろいろなタイプのフラッシュＥＥＰＲＯＭセルアレイで実施され得る。１つのデザインのＮＯＲアレイでは、メモリセルは隣接するビット（列）ラインと、ワード（行）ラインに接続されたコントロールゲートとの間に接続される。個々のセルは、選択トランジスタが直列に形成されるか、または形成されない１つの記憶素子トランジスタを含むか、あるいは単一の選択トランジスタにより分離されている２つの記憶素子トランジスタを含むかのいずれかである。このようなアレイと記憶システムにおけるその使用方法の例が、サンディスク  コーポレーションの次に列挙する米国特許および係属中の特許出願において示され、その全体が本願明細書において参照により援用されている。これら特許とは、米国特許第５，０９５，３４４号（特許文献２）、第５，１７２，３３８号（特許文献３）、第５，６０２，９８７号（特許文献４）、第５，６６３，９０１号（特許文献５）、第５，４３０，８５９号（特許文献６）、第５，６５７，３３２号（特許文献７）、第５，７１２，１８０号（特許文献８）、第５，８９０，１９２号（特許文献９）、第６，０９１，６３３号（特許文献１０）、第６，１０３，５７３号（特許文献１１）および第６，１５１，２４８号（特許文献１２）、並びに、２０００年２月１７日に出願された出願第０９／５０５，５５５号（特許文献１３）、２０００年９月２２日に出願された出願第０９／６６７，３４４号（特許文献１４）、２００１年８月８日に出願された出願第０９／９２５，１０２号（特許文献１５）、および２００１年８月８日に出願された出願第０９／９２５，１３４号（特許文献１６）である。
【０００８】
１つのデザインのＮＡＮＤアレイは、両端に存する選択トランジスタを通して１つのビットラインと１つの基準電位との間に１つの直列をなして接続された８個、１６個または３２個などの１つの数のメモリセルを有する。ワードラインは種々の直列を介してセルのコントロールゲートに接続される。このようなアレイとその動作との適切な例が、次に列挙する米国特許および特許出願において示され、その全体が本願明細書において参照により援用されている。これら特許とは、米国特許第５，５７０，３１５号（特許文献１７）、第５，７７４，３９７号（特許文献１８）および第６，０４６，９３５号（特許文献１９）、並びに、２００１年６月２７日に出願された米国特許出願第０９／８９３，２７７号（特許文献２０）である。簡単に述べれば、入ってくるデータのいろいろな論理ページからの２ビットのデータを個々のセルの４つの状態のうちの１つに２つのステップでプログラムする、すなわち、始めに１ビットのデータに従って１つのセルを１つの状態にプログラムし、その後、データがそれを必要とする場合、そのセルを入ってくるデータの第２のビットに従ってその状態のうちの他の１つの状態に再プログラムする。
【０００９】
前述した特許および特許出願は、伝導性フローティングゲートをメモリセル記憶素子として使用するフラッシュＥＥＰＲＯＭシステムについて開示している。あるいは、フローティングゲートの代わりに電荷トラッピング誘電体材料を使用するメモリセルを有するフラッシュＥＥＰＲＯＭシステムを実質的に同様に操作する。その例が、“誘電体格納エレメントを用いる多状態不揮発性ＩＣメモリシステム”という２００１年１０月３１日に出願されたハラリら（Ｈａｒａｒｉ  ｅｔ  ａｌ．）の米国特許出願第１０／００２，６９６号（特許文献２１）に含まれ、その全体が本願明細書において参照により援用されている。隣接するメモリセルの誘電体記憶素子間のフィールド結合も、このようなメモリシステムから読み出されるデータの正確さに影響を及ぼす可能性がある。
【００１０】
本発明の付加的な態様、特徴および利点は、添付図面と関連して読まれるべきであるその例示の実施形態についての以下の詳細な説明から得られるであろう。
【発明を実施するための最良の形態】
【００１１】
本発明と実装例とを説明するために、大容量記憶システムの例の主要なコンポーネントの相互関係の一般的な図を図１に示す。このシステムの主要なコンポーネントは、半導体基板上に形成されたメモリセルアレイなどのメモリ１１であり、このメモリでは、メモリセル電荷の２つ以上のレベルのうちの１つをメモリセルの個々の記憶素子に格納することによって１ビット以上のデータが個々のメモリセルに格納される。不揮発性フラッシュＥＥＰＲＯＭは、このようなシステムのための普通のタイプのメモリであり、この例において使用されている。
【００１２】
図１のメモリシステムの第２の主要なコンポーネントは、コントローラ１３である。コントローラ１３は、バス１５を介して、データを格納するためにメモリシステムを使用しているホストコンピュータまたは他のシステムと通信する。コントローラ１３は、メモリセルアレイ１１の動作を制御して、ホストから提供されたデータを書き込み、ホストから要求されたデータを読み出し、メモリを操作するときに種々のハウスキーピング機能を実行する。コントローラ１３は、汎用マイクロプロセッサと、付随する不揮発性ソフトウェアメモリと、種々の論理回路などを普通は含んでいる。特定のルーチンの実行を制御するためのアレイの一部分として１つ以上の状態マシンおよび他の制御回路が含まれていても良く、その場合にはシステムコントローラの役割が軽減される。
【００１３】
メモリセルアレイ１１は、アドレスデコーダ１７を通してコントローラ１３によりアドレス指定される。デコーダ１７は、コントローラ１３によりアドレス指定されているメモリセルのグループにデータをプログラムし、グループからデータを読み出し、あるいは消去するためにアレイ１１のゲートラインおよびビットラインに正しい電圧を印加する。付加的な回路１９は、セルのアドレス指定されたグループにプログラムされるデータに依存するアレイの素子に印加される電圧を制御するプログラミングドライバを含む。回路１９は、メモリセルのアドレス指定されたグループからデータを読み出すために必要なセンス増幅器およびその他の回路も含む。回路１７および１９の種々の具体的な形が前述した発明の背景の欄で特定された特許および特許出願に記載されている。アレイにプログラムされるデータ、あるいはアレイから最近読み出されたデータは、通常はコントローラ１３内のバッファメモリ２１に格納される。コントローラ１３は、普通はコマンドおよび状況データなどを一時的に格納するための種々のレジスタも含む。
【００１４】
アレイ１１は、メモリセルの多数のブロック０〜Ｎに分割される。フラッシュＥＥＰＲＯＭシステムでは普通のことであるが、ブロックは消去の単位である。すなわち、各ブロックは、一緒に消去される最少数のメモリセルを含む。各ブロックは、通常は図１にも示されているように、或る数のページに分けられている。ページはプログラミングの単位であるけれども、個々のページは複数のセグメントに分割されていても良い。セグメントは、基本的なプログラミング動作として一度に書き込まれ、僅か１バイトのデータを記憶する最少数のセルを含むことができる。通常は１行のメモリセルに１ページ以上のデータが格納される。普通は１セクタのデータが各ページ内に格納されるが、複数のセクタを包含しても良い。図１に示されているように、セクタはユーザデータとオーバーヘッドデータとを含む。オーバーヘッドデータは、通常はセクタのユーザデータから計算されたＥＣＣを含む。コントローラ１３の部分２３は、データがアレイ１１にプログラムされるときにＥＣＣを計算し、また、データがアレイ１１から読み出されるときにそれをチェックする。あるいは、ＥＣＣおよび／または他のオーバーヘッドデータは、それらが関連するユーザデータとは違うページあるいは違うブロックに格納される。オーバーヘッドデータは、ページのデータがプログラムされたしきい値検証レベルを指定する１つ以上のＴＢビット（トラッキングビット）を含む。ＴＢフィールドの使用方法については後述する。
【００１５】
ユーザデータの１つのセクタは、通常は５１２バイトであり、磁気ディスクドライブにおけるセクタのサイズと一致する。オーバーヘッドデータは、通常は付加的な１６〜２０バイトである。１セクタのデータが普通は各ページに含まれるが、２セクタ以上が１つのページを形成しても良い。およそ８ページから、例えば３２，６４またはそれ以上の多数のページが１つのブロックを形成する。ブロックの数は、メモリシステムのために要求されるデータ記憶容量を提供するように選択される。アレイ１１は、通常は数個のサブアレイ（図示せず）に分割され、その各々はブロックの一部を含み、それらは、種々のメモリ動作の実行における並行度を高めるために、互いに或る程度無関係に動作する。複数のサブアレイの使用例が、米国特許第５，８９０，１９２号（特許文献９）に記載され、その全体が本願明細書において参照により援用されている。
【００１６】
図２は、メモリセルアレイにおける記憶素子（正方形）の配列を、それらの行間の容量性結合（破線）を例示するために示す。例えば、行３５の記憶素子２５を考察すると、隣接する行３７および３９の各々の記憶素子にフィールド結合されている。記憶素子２５は、近接している記憶素子２７および３１と最も密接に結合しているが、もっと遠くの記憶素子２６，２８，３２および３０とも弱く結合している。２つの記憶素子間の結合の量は、それらの間の距離、それらの間の絶縁材料の誘電率、それらの間に伝導性の表面があるか無いか、などに依存する。
【００１７】
図２は、記憶素子の行間のフィールド結合だけを例示しているけれども、そのような結合は記憶素子の列間にも存在する。本願明細書に記載されている例ではそれは考慮されない。というのは、これらの例では、１つ１つの行を単位としてデータがメモリセルにプログラムされ、行間の結合がプログラムされたレベルにおける見かけ上のシフトの原因であることが分かっているからである。例えば、もしデータが行３５の記憶素子上の明確な電荷レベルとしてプログラムされれば、隣接する行３７および３９のうちの一方または両方での電荷レベルの後の変化に起因して、行３５の記憶素子からその後読み出される見かけ上の電荷レベルにシフトが生じることになる。行３５の特定の記憶素子から読み出される見かけ上の電荷レベルのこのようなシフト量は、電荷のレベルが後に変化させられた他の記憶素子との結合の程度と、その変化の量とに依存する。後の変化が隣接する行へのデータのプログラミングであるときには、その結果としてのシフトの量は、各行にプログラムされるデータのパターンが監視されて、その効果の計算が各読み出し動作の一部分として行われなければ、分からない。
【００１８】
図３は、メモリセルの第１のグループ（セルの行など）に対する、メモリセルの第２のグループ（隣接する行のセルなど）の後のプログラミングの影響の例を示す。この例では、各記憶素子について４つの別々の電荷レベルが定められ、これにより２ビットのデータを各記憶素子に格納する。１つの記憶素子に格納される電荷のレベルはそのメモリセルトランジスタのしきい値電圧（ＶT ）を変化させるので、しきい値電圧は図３の曲線の水平軸上に示されている。実線は、隣接するページに何らかの変更が加えられる前の、プログラムされた直後の１つのページにおける全てのセルのしきい値電圧の数の分布を示す。縦軸は、各しきい値レベルにおけるセルの数であり、曲線はほぼガウス分布を有する。曲線４５は、消去された状態にあるセルの分布であり、この例では、ビット１１のプログラムされた状態としても示されている。複数のセルの１つのブロックが消去されると、それらのセルは１１状態にリセットされる。
【００１９】
他のプログラムされた状態４７，４９または５１のうちの１つにプログラムされる１つのページの各セルの記憶素子に、そのしきい値がセルにプログラムされるデータ０１，００または０１にそれぞれ対応する状態に達するまで、電子が注入される。適切なプログラミング技術は、前述した発明の背景の欄で特定された他の特許に記載されている。簡単に言えば、プログラムされる１つのページの複数のセルは同時にプログラムされる。１０状態にプログラムされるものは、プログラミング電圧で交互にパルスされ、その後検証しきい値レベルＶ10を用いて検証される。１つのセルがＶ10より高いしきい値レベルにプログラムされたと判定されたとき、そのセルに関してはプログラミングは停止するが、まだ自身の検証レベルに達していない他のセルについては続行される。００にプログラミムされれば、検証レベルＶ00が使用される。０１ならば、検証レベルＶ01が使用される。分布４５，４７，４９および５１の各々に割り当てられた特定のデータビット対は、図３に示されているものとは異なっていても良く、アレイにおける耐久性を平等にするためにメモリシステムの動作中に回転させられても良い。
【００２０】
各セルの状態を明瞭に読み出すことができるように、状態４５，４７，４９および５１の間に十分なマージンを保つことが望ましい。前述したように、プログラムされたセルのページが読み出されるとき、それらの状態は、それらの状態の間のマージンの中の基準しきい値レベルと個別に比較される。それらは、図３の例では、Ｒ10（ＶT ＝０）、Ｒ00およびＲ01として示されている。もちろん、利用可能なしきい値ウィンドウを十分に使用し得るように、実用的な数の異なる状態が包含され、４つの状態が示されている。他の一例として、１６個の状態がある。連続するパルスでより小さな電圧増加量でプログラムすることによって、狭められた分布の幅からより多くの状態を得ることができるけれども、これは、プログラミングを実行するために、より長い時間を要する。従って、プログラムされるセルの分布を狭めずに、あるいは分布を狭めるとともに、状態間のこのような大きなマージンの必要性を低下させる処置をとることが望ましい。（経験から発生することが分かっている）プログラム後に発生する繰り返し操作サイクルの結果として、プログラムされたセルの分布がシフトすることあるいは広がることを可能にするために、幾分大きなマージンが普通は保たれる。状態間のマージンの総幅量を減少させ得るように、このようなシフトおよび広がりを減少させることが非常に望ましい。
【００２１】
セルの隣接する行を後にプログラムすることの結果として発生する分布の広がりを、図３で破線で示す。始めにセルの１つの行をプログラムする間、著しいマージンが保たれるときでも、後にセルの隣接する行をプログラムした結果として分布が広がるとき、それらのマージンが著しく狭められる可能性がある。僅か数個のセルだけが読み出ししきい値Ｒ10，Ｒ00および／またはＲ01のうちの１つの下から上へ広がっただけでも、ＥＣＣを圧倒するのに十分な誤った読み出しが発生する可能性がある。このような場合、データは、これらのしきい値で読み出すことはできないので、臨時の処置がとられなければ普通は無効とされる。データを回復するために過去に用いられた１つの手法には、広がりの効果を避けるように、読み出ししきい値レベルＲ10，Ｒ00および／またはＲ01をマージン内で単に動かしてページをもう一度読み出すことが含まれる。しかし、広がりは各マージンの両側から生じる可能性があるので、この手法は、隣接する状態の分布が重なり合うのを防止するために、普通は望ましい広さよりも広くマージンを保つことが必要とされる。従って、プログラムされた状態間に広いマージンを保つ他の何らかの処置を取ることが好ましい。
【００２２】
後に隣接するページにプログラムされるデータがランダムであるとき、すなわち、各記憶素子に格納される状態が４つの可能な状態のうちのどれであっても良いときには、プログラムされた分布は、図３に示されているように広がると思われる。例えば、分布４７の下端に位置するレベルにプログラムされた記憶素子は、後のプログラミング時に隣接する記憶素子の電荷レベルが変化しない場合、分布４７’において同じレベルを有すると読まれ得る。一方、始めに分布４７の上端に位置するレベルにプログラムされた記憶素子は、隣接する記憶素子が消去された状態１１から最高の状態０１に後にプログラムされる場合、量Δだけ増大したレベルを有すると読まれ得る。隣接する記憶素子のより高い電荷レベルは、前にプログラムされた、そのレベルが読み出されることになる記憶素子と結合される。分布４７の隣接する複数のセルの最初のプログラミングおよび後のプログラミングの他の結合は、これら２つの極端の間に入り、その結果として見かけ上の分布４７’が生じる。見かけ上の分布４７’の下端は同じレベルにとどまるけれども、その広がりはΔだけ増大する。
【００２３】
図２および３のアレイのメモリセルをプログラムするための２つのパスによる手法が、図４Ａ，４Ｂおよび４Ｃにおいて示されている。図４Ａでは、１つの行などの１つのグループの第１のプログラミングパスから得られる４つの状態のしきい値分布６１，６２，６３および６４が示されている。分布６１は、消去された状態についての分布であり、プログラムされた状態１１でもある。曲線６２は、プログラミング時の検証しきい値レベルＶL10 の使用による１０状態にプログラムされたセルの分布を示す。同様に、曲線６３は、ＶL00 検証レベルで００状態にプログラムされたセルの分布を表し、曲線６４は、ＶL01 検証レベルで０１状態にプログラムされたセルの分布を表す。プログラミングは、前述した特許および特許出願に記載されている代表的な方法で達成され、すなわち、プログラムされるセルの塊 (chunk)を同時にパルスし、その状態を個別に読み出す（検証する）ことを交互に行うことによって達成され、各セルのプログラミングは、そのセルがプログラムされる状態の検証しきい値レベルを上回ると判定されたときに終了する。分布６１，６２，６３および６４の各々は、最後からの各プログラムパルスのレベルの増大の大きさにより決まる幅を有する。分布６１，６２，６３および６４は、図４Ａにより表されているセルがまだ十分にプログラムされていないのに対して、図３により表されているものが十分にプログラムされているという点を除けば、図３の分布４５，４７，４９および５１と同じであり得る。
【００２４】
図４Ｂは、プログラムされていたセルにおいて、物理的に隣接するセルの行などの他のグループが後に同じ分布でプログラムされたときに発生する図４Ａの広がった分布を示す。図４Ａの分布６１，６２，６３および６４は、そのしきい値が図４Ａおよび４Ｂで表されている記憶素子とフィールド結合している記憶素子を有するセルの隣接するグループがプログラムされたときに、広がって分布７１，７２，７３および７４にそれぞれなる。分布４５’、４７’、４９’および５１’のそれぞれについて図３を参照して前述したように、その広がりの量はΔである。
【００２５】
セルの隣接するグループがプログラムされ、その結果として図４Ｂに示されている広がりが生じた後、セルの最初にプログラムされたグループは、前と同じデータで、しかしより高い検証レベルで、再びプログラムされる。図４Ａに示されている最初のプログラミングに使われる検証レベルＶL-- は図４Ｃに示されているセルの同じグループの最終の再プログラミングに使われる検証レベルＶH-- より低い。その差は、１つの特定の実装例では、しきい値増加量Δであっても良く、それは図４Ｃに示されているものである。セルのグループのこの第２の最終のプログラミングは、セルの隣接するグループの第１のレベル（ＶL-- ）へのプログラミングの後に行われるので、隣接するセルの、電場結合を通しての第１のグループに対する効果は、図４Ｃの第２のプログラミングステップ中、自動的に考慮される。セルは、第２のパスにおいて、後にプログラムされた隣接するセルのフィールド効果が存在する状態でプログラムされる。セルの第１のグループの分布に対する、セルの隣接するグループの後の第２のプログラムミングステップの効果は、この第２のステップでしきい値が少量だけ増大されるに過ぎないので、非常に小さい。また、セルのグループの第１および第２のプログラミングパスの両方において同じプログラミングパルスの増大変化が使用されるとすれば、第２のプログラミングステップ後の図４Ｃの分布が図４Ａの第１のプログラミングステップのそれまで狭まることも認められ得る。
【００２６】
他の手法によっても実行され得るけれども、第２のプログラミングパス時の第１のグループのセルの電荷レベルの増大は、セルを同じデータで、しかしより高い検証しきい値レベルを使用して、セルを再プログラムすることによって好ましくは達成される。このデータは、第１のプログラミングパス後に第２のプログラミングパスまでバッファメモリにとどまることができる。しかし、これは、普通よりも大きなバッファメモリを必要とするので、普通は望ましくない。好ましくは、より低いしきい値レベルＶL-- でセルのグループにプログラムされたデータは、セルの隣接するグループが最初にプログラムされた後、そのグループから読み出される。次いで、その読み出されたデータは、同じセルに、しかしより高いしきい値レベルＶH-- で、再プログラムされる。
【００２７】
第１のパスだけでプログラムされたセルについての代表的な読み出ししきい値レベルも図４Ａに含まれ、図４Ｃには両方のプログラミングパスを受けたセルについてのものが含まれている。両方の場合に、読み出ししきい値は、隣接し合う分布間のマージンのほぼ中ほどに位置する。第１のレベルにプログラムされたセルについて（図４Ａ）は、読み出ししきい値は、隣接し合う分布間のほぼ中ほどに位置するＲL10 、ＲL00 およびＲL01 である。第２のパスのプログラミング後（図４Ｃ）、読み出ししきい値ＲH10 、ＲH00 およびＲH01 が使用され、これらは、図４Ａのそれに対応するけれども、位置が変わった分布間のほぼ中ほどにとどまるように或るしきい値量（この場合にはΔ）だけ高い。
【００２８】
記載されているプログラミングおよび読み出しの手法は、そのページが行をなすように構成されているフラッシュＥＥＰＲＯＭなどのメモリシステムに有利に適用される。すなわち、手法は、プログラミングの単位がメモリセルの１つ以上の行を含むメモリセルアレイに使用される。例えば、プロセスを、図２を参照して説明することができる。行３５の記憶素子は第１のパスでプログラムされ、次いで、行３７の記憶素子が始めに第１のパスでプログラムされたならば、第２のパスで行３７の記憶素子がプログラムされる。次いで、行３９が第１のパスでプログラムされ、さらに行３５が第２のパスでプログラムされる。メモリセルの記憶素子の隣接する行は、プログラムされるデータの単位が全てプログラムされ終わるまで、１つのアレイにわたってこのように前後にプログラムされる。これは、図５の主題でもあり、ここで、行０〜７のプログラミングの進行が説明される。最後にプログラムされる行は、第１のパスでプログラムされた状態のままにされ、第２のパスは、メモリセルの次に隣接する消去された行から始まる後のプログラミング操作まで延期される。これに関しての例外は、最後にプログラムされた行がブロック内の最後の行でもあるときであり得る。ブロックの最後の行は、高い方のしきい値レベルＶH-- で１回のパスでプログラムされても良い。セルのブロック同士は、普通は互いに隔離されているので、ブロックの最後の行から読み出される値に影響を及ぼすのに十分な最後の行とのフィールド結合を有する他の後にプログラムされた行は無いといえる。
【００２９】
行についての最適な読み出し電圧は、その行が１回のパスだけでプログラムされたのか（図４Ａ）、あるいは２回のパスでプログラムされたのか（図４Ｃ）ということに依存するので、行のプログラムされた状態は、プログラミング中はトラッキングビット（ＴＢ）として記憶される。このビットは、ユーザデータのプログラムされたページについてオーバーヘッドデータの一部分として好ましく記憶される。このトラッキングビットは、ユーザデータと同じ行にページのオーバーヘッドデータの一部として記憶されるように図１に示されている。第１のプログラミングパスの一部として、検証しきい値の低い方のセットでプログラミングが行われたことを示すようにＴＢはロー（ＬＯＷ）にセットされる。第２のプログラミングパスの一部として、ＴＢはハイ（ＨＩＧＨ）に書き直される。記載されている４つの状態の例では、ＴＢは２ビットを使用するのが最も好都合である。第１のパスについては、ＴＢ＝１１（ロー）、すなわち、１つのセルの消去された状態であり、第２のパス後、ＴＢ＝１０（ハイ）、すなわち、そのセルの高くプログラムされた状態である。このことは、その追加プログラミングにより第２のプログラミングの一部としてページのＴＢを容易に更新することを可能にしている。
【００３０】
殆ど全ての行が２つのパスでプログラムされるので、読み出しは、普通は高い方の読み出し電圧（図４Ｃ）で行われる。しかし、この初期の読み出し操作の一部として、ＴＢも読み出される。その値は、ページを読み出すプロセスの初期に判定される。もしＴＢ＝ローならば、そのページは読み出し電圧の低いほうのセットで読み直される（図４Ａ）。これは幾つかの行を２回読み出すことを必要とするけれども、任意のときに低い方のレベルでプログラムされたままになっている行の１メモリアレイにおける割合は普通は非常に小さいので、メモリの性能には顕著な影響は及ばない。低い方の検証レベルでプログラムされた行が高い方の読み出しレベルで読み出されるとしても、消去された状態１１がＴＢ＝ローを示すために使われるとき、そのトラッキングビットの読み出しにエラーがあってはならない。
【００３１】
図６のフローチャートには、前述した手法を用いて（図５に示されているような）隣接する幾つかの行を順次にプログラムする一連のステップを示す。この例では、行０，１および２の全てのページが既にプログラムされていて、行０および１は２回のパスで、行２は１回のパスだけで、プログラムされていると仮定する。後の行３＋をデータでプログラムする第１のステップは、図６において９１で示されているように、行３をアドレス指定することである。次いで、行３の全てのページが、９３で示されているように、ＴＢ＝ローで第１のパス（図４Ａ）によりプログラムされる。次いで、直ぐ前の行２が、９５で示されているように、アドレス指定される。その後、９９で示されているようにそのＴＢを含めて、９７で示されているように前の行２からデータが低い読み出しレベル（図４Ａ）で読み出される。もしＴＢ＝ローならば（この例ではそうである）、読み出しＴＢはＴＢ＝ハイに、１０に、更新される。読み出されたデータは、１０３で示されているように、ＴＢ＝ハイとともに前の行２に再プログラムされる。これでデータプログラミングの１サイクルが完了する。しかし、殆どのデータプログラミング操作は１行に含まれているより多くのページをプログラムすることを含むので、１０５で、追加の行がプログラムされなければならないか否かが判定される。もしそうならば、次の消去されている行４を第１のパスでプログラムし、次いで、そのデータを再プログラムすることによって行５の電荷レベルを増大することにより、プロセスが反復される。このサイクルは図５の行に沿って続き、ここで隣接する行のメモリセルの記憶素子は互いに顕著なレベルで容量的に結合する。
【００３２】
図６のようにプログラムされた行からデータを読み出すプロセスが図７に示されている。１０７で示されているように、読み出されるべき第１の行がアドレス指定される。次いで、１０９で示されているように、その行は高い方の読み出し電圧（図４Ｃ）で読み出される。この読み出しはトラッキングビットの読み出しを含むので、１１１で、ＴＢ＝ローであるのか、それともＴＢ＝ハイであるのかが判定される。もしＴＢ＝ローならば、その行は、１１３で示されているように、低い方の読み出しレベル（図４Ａ）で再読み出しされ、次いで、１１５で、読み出されたデータが、一時的に記憶される。これで、１行についての読み出しが完了する。しかし、殆どの読み出し操作は多くの行を順次に読み出すので、問い合わせ１１７は、それ以上の行が読み出されるべきか否かを判定する。もしそうならば、１１９で示されているように、順に次の行が読み出され、その後、プロセスは１０９に戻る。
【００３３】
図８を参照すると、メモリセルのページのデータ構造の一例が示されている。ユーザデータ１３１と、このユーザデータに関連するオーバーヘッドデータ１３３は、ホスト装置からメモリコントローラを通してユーザがアクセスし得るように格納されている。オーバーヘッドデータ１３３は、ユーザデータから計算されたＥＣＣ、種々のフラグなどを含む。図８のページが存在するブロックが消去されて再プログラムされた総回数、プログラミング、読み出しおよび消去のために使われるべき電圧などの、他のオーバーヘッドデータ１３５は、ホストからアクセスされないように隠されているが、メモリシステムを操作するためにメモリコントローラにより使用される。隠された領域には、ＴＢビットも格納され、通常はユーザデータ領域１３１で故障したビットに代わる冗長セル１３７も含まれる。従って、ユーザはホスト装置からＴＢビットにアクセスすることはできないが、ＴＢビットはメモリシステムコントローラにより読み書きされる。
【００３４】
本発明を例示の実施形態に関連して説明してきたが、添付された特許請求の範囲の全範囲においてその権利が保護されるべきであることが理解できよう。
【図面の簡単な説明】
【００３５】
【図１】本発明を実施することのできるメモリシステムの例と動作との概略図である。
【図２】図１のシステムのメモリセルアレイ内のメモリセルの記憶素子の例を示す平面図である。
【図３】順次にプログラムされるメモリセルの隣接するグループ間でのフィールド結合の効果を例示するプログラムされたメモリセルレベル分布の曲線を含む図である。
【図４Ａ】本発明の原理と、それが一例に従って実行された結果とを例示する曲線である。
【図４Ｂ】本発明の原理と、それが一例に従って実行された結果とを例示する曲線である。
【図４Ｃ】本発明の原理と、それが一例に従って実行された結果とを例示する曲線である。
【図５】特定のタイプのメモリアレイの行をプログラムするシーケンスの例を示す。
【図６】図５のシーケンスでデータを１行ずつプログラムしてゆく一連の操作を概説する。
【図７】図６の方法でプログラムされたメモリの行からデータを読み出す一連の操作を概説する。
【図８】１つのページのデータ構造の詳しい例を示す。
【図１】
2005538485.tif 000003
【図２】
2005538485.tif 000004
【図３】
2005538485.tif 000005
2005538485.tif 000006
【図５】
2005538485.tif 000007
【図６】
2005538485.tif 000008
【図７】
2005538485.tif 000009
【図８】
2005538485.tif 000010
【国際調査報告】
2005538485.tif 000011
2005538485.tif 000012