(57)【特許請求の範囲】
【請求項１】
不揮発性記憶素子（４００）のセットをプログラミングする方法であって、
プログラミングシーケンスの複数の反復を実行し、
前記プログラミングシーケンスは、第１のプログラミング手順と第２のプログラミング手順を実行可能であり、少なくとも１つの反復において前記第２のプログラミング手順を実行した後で少なくとも１つの他の反復において前記第１のプログラミング手順を実行し、
前記第２のプログラミング手順が、
（ａ）奇数番号が付けられた不揮発性記憶素子をプログラミング対象として選択し、偶数番号が付けられた不揮発性記憶素子のプログラミングを阻止する状態、
あるいは、
（ｂ）偶数番号が付けられた不揮発性記憶素子をプログラミング対象として選択し、奇数番号が付けられた不揮発性記憶素子のプログラミングを阻止する状態、
の何れかの状態で、前記不揮発性記憶素子のセットにプログラミングパルス（Ｖｐｇｍ１〜Ｖｐｇｍ４）を印加し、
前記第１のプログラミング手順が、
前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第１のプログラミングパルス（１２０２、１３０２、１４０２）を印加するステップと、
前記ペアの第２のセットをプログラミング対象として選択し、前記ペアの第１のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第２のプログラミングパルス（１２０４、１３０４、１４０４）を印加するステップ、
を有し、
前記ペアの第１のセットが前記ペアの第２のセットと交互に配置されている、
ことを特徴とする方法。
【請求項２】
前記少なくとも１つの他の反復における前記第１のプログラミングパルスと前記第２のプログラミングパルスの間に、前記不揮発性記憶素子のセットに対する検証動作が実行されないことを特徴とする請求項１に記載の方法。
【請求項３】
不揮発性記憶素子（４００）のセットをプログラミングする方法であって、
プログラミングシーケンスの複数の反復を実行し、
前記プログラミングシーケンスは、第１のプログラミング手順と第２のプログラミング手順を実行可能であり、少なくとも１つの反復において前記第２のプログラミング手順を実行した後で少なくとも１つの他の反復において前記第１のプログラミング手順を実行し、
前記第２のプログラミング手順が、すべてのビットラインをプログラミング対象として選択した状態で、前記不揮発性記憶素子のセットにプログラミングパルス（Ｖｐｇｍ１〜Ｖｐｇｍ４）を印加するステップを有し、
前記第１のプログラミング手順が、
前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第１のプログラミングパルス（１２０２、１３０２、１４０２）を印加するステップと、
前記ペアの第２のセットをプログラミング対象として選択し、前記ペアの第１のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第２のプログラミングパルス（１２０４、１３０４、１４０４）を印加するステップ、
を有し、
前記ペアの第１のセットが前記ペアの第２のセットと交互に配置されている、
ことを特徴とする方法。
【請求項４】
前記少なくとも１つの他の反復における前記第１のプログラミングパルスと前記第２のプログラミングパルスの間に、前記不揮発性記憶素子のセットに対する検証動作が実行されないことを特徴とする請求項３に記載の方法。
【請求項５】
不揮発性記憶システムであって、
不揮発性記憶素子のセット（４００）と、
プログラミングシーケンスの複数の反復を実行する少なくとも１つの制御回路（５１０、５５０）、
を備えており、
前記反復の中の少なくとも１つの反復において、前記少なくとも１つの制御回路が、第１のプログラミング手順を使用し、
その第１のプログラミング手順において、前記少なくとも１つの制御回路が、前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第１のプログラミングパルス（１２０２、１３０２、１４０２）を印加し、
前記少なくとも１つの反復において、前記少なくとも１つの制御回路が、前記ペアの第２のセットをプログラミング対象として選択し、前記ペアの第１のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第２のプログラミングパルス（１２０４、１３０４、１４０４）を印加し、
前記少なくとも１つの反復における前記第１のプログラミングパルスと前記第２のプログラミングパルスの間に、前記不揮発性記憶素子のセットに対する検証動作が実行されず、
前記ペアの第１のセットが前記ペアの第２のセットと交互に配置されており、
前記不揮発性記憶素子のセットが、直列接続された不揮発性記憶素子のＮＡＮＤストリング（２２０２、２２０４、２２０６、２２０８、２２１０、２２１２、２２１４、２２１６）のセットを有し、前記各ＮＡＮＤストリングが互いに平行に伸びており、
前記不揮発性記憶システムが、導電線（２２２２、２２２４、２２２６、２２２８、２２３０、２２３２、２２３４、２２３６）のセットをさらに有しており、
各導電線が、前記ＮＡＮＤストリングの対応する１つと接続されており、少なくとも部分的に、前記ＮＡＮＤストリングの対応する１つの上を伸びており、
前記ＮＡＮＤストリング（２２０２、２２０８、２２１０、２２１６）の第１のサブセットでは、各ＮＡＮＤストリングが、ＮＡＮＤストリング上を伸びる導電線（２２２２、２２２８、２２３０、２２３６）の対応する１つに電気的に接続されており、
前記ＮＡＮＤストリング（２２０４、２２０６、２２１２、２２１４）の第２のサブセットでは、各ストリングが、隣接するＮＡＮＤストリング上を伸びる導電線（２２２６、２２２４、２２３４、２２３２）の対応する１つに電気的に接続されている、
ことを特徴とする不揮発性記憶システム。
【請求項６】
前記第１のサブセットが、隣接するＮＡＮＤストリングの交互ペアを有し、前記第２のサブセットが、前記第１のサブセットの隣接するＮＡＮＤストリングの前記交互ペアの間に交互配置された隣接するＮＡＮＤストリングの交互ペアを有することを特徴とする請求項５に記載の不揮発性記憶システム。
【請求項７】
不揮発性記憶システムであって、
不揮発性記憶素子のセット（４００）と、
プログラミングシーケンスの複数の反復を実行する少なくとも１つの制御回路（５１０、５５０）、
を備えており、
前記少なくとも１つの制御回路が、第１のプログラミング手順と第２のプログラミング手順を実行可能であり、少なくとも１つの反復において前記第２のプログラミング手順を実行した後で少なくとも１つの他の反復において前記第１のプログラミング手順を実行し、
前記少なくとも１つの制御回路が、前記第２のプログラミング手順において、
（ａ）奇数番号が付けられた不揮発性記憶素子をプログラミング対象として選択し、偶数番号が付けられた不揮発性記憶素子のプログラミングを阻止する状態、
あるいは、
（ｂ）偶数番号が付けられた不揮発性記憶素子をプログラミング対象として選択し、奇数番号が付けられた不揮発性記憶素子のプログラミングを阻止する状態、
の何れかの状態で、前記不揮発性記憶素子のセットにプログラミングパルス（Ｖｐｇｍ１〜Ｖｐｇｍ４）を印加し、
前記少なくとも１つの制御回路が、前記第１のプログラミング手順において、
前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第１のプログラミングパルス（１２０２、１３０２、１４０２）を印加するステップと、
前記ペアの第２のセットをプログラミング対象として選択し、前記ペアの第１のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第２のプログラミングパルス（１２０４、１３０４、１４０４）を印加するステップ、
を実行し、
前記ペアの第１のセットが前記ペアの第２のセットと交互に配置されている、
ことを特徴とする不揮発性記憶システム。
【請求項８】
前記少なくとも１つの他の反復における前記第１のプログラミングパルスと前記第２のプログラミングパルスの間に、前記不揮発性記憶素子のセットに対する検証動作が実行されないことを特徴とする請求項７に記載の不揮発性記憶システム。
【請求項９】
不揮発性記憶システムであって、
不揮発性記憶素子のセット（４００）と、
プログラミングシーケンスの複数の反復を実行する少なくとも１つの制御回路（５１０、５５０）、
を備えており、
前記少なくとも１つの制御回路が、第１のプログラミング手順と第２のプログラミング手順を実行可能であり、少なくとも１つの反復において前記第２のプログラミング手順を実行した後で少なくとも１つの他の反復において前記第１のプログラミング手順を実行し、
前記少なくとも１つの制御回路が、前記第２のプログラミング手順において、すべてのビットラインをプログラミング対象として選択した状態で、前記不揮発性記憶素子のセットにプログラミングパルス（Ｖｐｇｍ１〜Ｖｐｇｍ４）を印加するステップを実行し、
前記少なくとも１つの制御回路が、前記第１のプログラミング手順において、
前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、前記不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第１のプログラミングパルス（１２０２、１３０２、１４０２）を印加するステップと、
前記ペアの第２のセットをプログラミング対象として選択し、前記ペアの第１のセットのプログラミングを阻止する状態で、前記不揮発性記憶素子のセットに第２のプログラミングパルス（１２０４、１３０４、１４０４）を印加するステップ、
を実行し、
前記ペアの第１のセットが前記ペアの第２のセットと交互に配置されている、
ことを特徴とする不揮発性記憶システム。
【請求項１０】
前記少なくとも１つの他の反復における前記第１のプログラミングパルスと前記第２のプログラミングパルスの間に、前記不揮発性記憶素子のセットに対する検証動作が実行されないことを特徴とする請求項９に記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、参照により本明細書に組み込まれる、２００８年１０月３０日に出願された米国仮特許出願第６１／１０９，６１１号（事件整理番号ＳＡＮＤ−０１３９２ＵＳ０号）の利点を主張する。
【０００２】
本発明は、不揮発性メモリの技術に関する。
【背景技術】
【０００３】
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ（ＥＥＰＲＯＭ）と、フラッシュメモリは、最も普及している不揮発性半導体メモリの１つである。
【０００４】
ＥＥＰＲＯＭとフラッシュメモリの何れもが、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲート上に配置されており、そのフローティングゲートから絶縁されている。トランジスタの閾値電圧は、フローティングゲート上に保持される電荷量によって制御される。つまり、そのソースとドレインの間の導通を可能にするためにトランジスタをオンにする前に制御ゲートに印加しなければならない電圧の最小量は、そのフローティングゲート上の電荷レベルにより制御される。
【０００５】
ＮＡＮＤフラッシュメモリ素子等のＥＥＰＲＯＭ又はフラッシュメモリ素子をプログラミングするときには、通常は、プログラム電圧が制御ゲートに印加され、ビットラインが接地される。チャネルからの電子がフローティングゲートの中に注入される。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、メモリセルの閾値電圧が上昇し、メモリセルがプログラミングされた状態になる。プログラミングについての詳細は、米国特許第６，８５９，３９７号「Ｓｅｌｆ−Ｂｏｏｓｔｉｎｇ  Ｔｅｃｈｎｉｑｕｅ」及び米国特許第６，９１７，５４２号「Ｄｅｔｅｃｔｉｎｇ  Ｏｖｅｒ  Ｐｒｏｇｒａｍｍｅｄ  Ｍｅｍｏｒｙ」に記載され、両方ともその全体を参照することにより本明細書に組み込まれる。
【０００６】
いくつかのＥＥＰＲＯＭ及びフラッシュメモリ素子は２つの範囲の電荷を記憶するために使用されるフローティングゲートを有するため、メモリセルは２つの状態（消去状態とプログラム状態）の間でプログラミング／消去できる。このようなフラッシュメモリ素子はバイナリフラッシュメモリ素子と呼ばれることもある。
【０００７】
マルチ状態フラッシュメモリ素子が、禁止範囲によって分離された複数の別個の許可／有効プログラム閾値電圧範囲を識別することによって実現される。各閾値電圧範囲は、メモリ素子内で符号化されるデータビットのセットの所定値に相当する。
【０００８】
しかしながら、いくつかのメモリシステムにおいては、プログラム外乱が問題となる。例えば、選択されていない記憶素子への意図しないプログラミング等のプログラム外乱を防止するために、通常は、選択されていないビットラインのチャネル領域の電圧をブーストするために選択されていないワードラインにパス電圧が印加される。このブースト技術は役に立つが、許容範囲より低い電圧では、ブースト電圧が固定状態又は飽和状態になる場合がある。つまり、ブースト電圧を、プログラム外乱を防止できる高さに上昇させることができない。プログラム外乱に対処するために、改善された技術が必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
不揮発性メモリ素子におけるプログラム外乱を低減する技術が本明細書に説明される。
【課題を解決するための手段】
【００１０】
一実施形態では、不揮発性記憶素子のセットをプログラミングする方法は、プログラミングシーケンスの複数の反復を実行する。その反復の中の少なくとも１つの反復において、不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットに第１のプログラミングパルスを印加するステップを有する第１のプログラミング手順を使用する。ペアの第１のセットはペアの第２のセットと交互に配置されている。第１のプログラミング手順は、ペアの第２のセットをプログラミング対象として選択し、ペアの第１のセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットに第２のプログラミングパルスを印加するステップをさらに有する。反復の中の前記少なくとも１つの反復における第１のプログラミングパルスと第２のプログラミングパルスの間に、不揮発性記憶素子のセットに対する検証動作は実行されない。
【００１１】
別の実施形態では、不揮発性記憶素子のセットをプログラミングする方法は、（ａ）プログラミングシーケンスの第１の数の反復を実行する。第１の数の反復の中の各反復は、（ｉ）不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、不揮発性記憶素子のセットの隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットにプログラミングパルスを印加すること（ペアの第１のセットとペアの第２のセットは交互に配置されている）と、（ｉｉ）その後、隣接する不揮発性記憶素子のペアの第２のセットに対して検証動作を実行せずに、隣接する不揮発性記憶素子のペアの第１のセットに検証動作を実行することを含む。方法は、（ｂ）ステップ（ａ）の後に、プログラミングシーケンスの第２の数の反復をさらに実行する。第２の数の反復の中の各反復は、（ｉ）不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットをプログラミング対象として選択し、不揮発性記憶素子のセットの隣接する不揮発性記憶素子のペアの第１のセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットにプログラミングパルスを印加すること（ペアの第１のセットとペアの第２のセットは交互に配置されている）を含む。第２の数の反復の中の各反復は、（ｉｉ）その後、隣接する不揮発性記憶素子のペアの第１のセットに対して検証動作を実行せずに、隣接する不揮発性記憶素子のペアの第２のセットに検証動作を実行することをさらに含む。
【００１２】
別の実施形態では、不揮発性記憶素子のセットをプログラミングする方法では、第１のプログラミング手順を使用してプログラミングシーケンスの複数の反復を実行する。第１のプログラミング手順は、複数の連続する反復のそれぞれにおいて、（ａ）不揮発性記憶素子のセットの中の不揮発性記憶素子の第１のサブセットをプログラミング対象として選択し、不揮発性記憶素子のセットの中の不揮発性記憶素子の少なくとも第２及び第３のサブセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットに第１のプログラミングパルスを印加すること、（ｂ）その後、第２のサブセットをプログラミング対象として選択し、少なくとも第１及び第３のサブセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットに第２のプログラミングパルスを印加すること、及び（ｃ）その後、第３のサブセットをプログラミング対象として選択し、少なくとも第１及び第２のサブセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットに第３のプログラミングパルスを印加することを含む。
【００１３】
別の実施形態では、不揮発性記憶装置は、不揮発性記憶素子のセットと１つ又は複数の制御回路を含む。１つ又は複数の制御回路は、プログラミングシーケンスの複数の反復を実行する。少なくとも１つの反復では、不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットに第１のプログラミングパルスを印加することを含む第１のプログラミング手順を使用する。ペアの第１のセットはペアの第２のセットと交互に配置されている。第１のプログラミング手順は、ペアの第２のセットをプログラミング対象として選択し、ペアの第１のセットのプログラミングを阻止する状態で、不揮発性記憶素子のセットに第２のプログラミングパルスを印加することをさらに含む。少なくとも１つ反復において第１のプログラミングパルスと第２のプログラミングパルスの間で不揮発性記憶素子のセットに検証動作は実行されない。
【００１４】
別の実施形態では、不揮発性記憶システムは、直列接続された不揮発性記憶素子のストリングのセットを含み、ストリングは互いに及びビットラインのセットに平行に伸びており、各ビットラインはストリングの対応する１つと接続されているとともに少なくとも部分的にストリングの対応する１つの上を伸びている。ストリングの第１のサブセットにおいては、各ストリングは、ストリング上に延在する導電線の対応する１つに電気的に接続されている。ストリングの第２のサブセットにおいては、各ストリングは、隣接するストリング上に延在する導電線の対応する１つに電気的に接続されている。
【００１５】
本明細書に提供される方法を実行するための実行可能コードを有する、対応する方法、システム、及びコンピュータ可読記憶装置又はプロセッサ可読記憶装置も提供されうる。
【図面の簡単な説明】
【００１６】
【図１】ＮＡＮＤストリングの平面図。
【図２】ＮＡＮＤストリングの等価回路図。
【図３】ＮＡＮＤストリングの断面図。
【図４】ＮＡＮＤフラッシュメモリセルのアレイのブロック図。
【図５】不揮発性メモリシステムのブロック図。
【図６】閾値電圧分布のセットの例を示す図。
【図７】閾値電圧分布のセットの例を示す図。
【図８Ａ】種々の閾値電圧分布を示し、不揮発性メモリをプログラミングするためのプロセスを説明する図。
【図８Ｂ】種々の閾値電圧分布を示し、不揮発性メモリをプログラミングするためのプロセスを説明する図。
【図８Ｃ】種々の閾値電圧分布を示し、不揮発性メモリをプログラミングするためのプロセスを説明する図。
【図９】特定のＮＡＮＤストリングの隣接ＮＡＮＤストリングの低電圧が、その特定のＮＡＮＤストリングでジャンクションリーク及びブースト電圧クランプを引き起こすことを示すＮＡＮＤストリングの断面図。
【図１０Ａ】隣接ビットラインの、特定のビットラインのブースト電位に対する影響を示すグラフ。
【図１０Ｂ】隣接ビットラインの、特定のビットラインのフェイルビット数に対する影響を示すグラフ。
【図１０Ｃ】図１０Ｂのグラフの偶数ビットライン及び奇数ビットラインでのデータの配列を示す図。
【図１１】ビットラインの交互のペアの第１のセット及び第２のセットを含む、ビットラインのセットを示す図。
【図１２】二重プログラミングパルス及び検証パルスの単一のセットを用いるプログラミングシーケンスを示す図。
【図１３】偶数ビットライン及び奇数ビットラインを別々に検証するための、二重プログラミングパルス及び検証パルスの二重のセットを用いるプログラミングシーケンスを示す図。
【図１４】ビットラインのペアの第１のセット及び第２のセットを別々に検証するための、二重プログラミングパルス及び検証パルスの二重セットを用いるプログラミングシーケンスを示す図。
【図１５】図１２から図１４のプログラミングシーケンスと関連するプログラミング処理を示す図。
【図１６】ビットラインのペアの第１のセットをプログラミングするプログラミングシーケンスと、それに続いてビットラインのペアの第２のセットをプログラミングするプログラミングシーケンスを示す図。
【図１７】図１６のプログラミングシーケンスと関連するプログラミング処理を示す図。
【図１８】３セットのビットラインを示す図。
【図１９Ａ】３セットのビットラインを使用するプログラミングシーケンスを示す図。
【図１９Ｂ】別々の奇数−偶数検証動作を使用するための修正がされた図１９Ａのプログラミングシーケンスを示す図。
【図２０】図１９のプログラミングシーケンスと関連するプログラミング処理を示す図。
【図２１Ａ】プログラミング手順を切り替えることを伴うプログラミング処理を示す図。
【図２１Ｂ】プログラミング手順を切り替えるプログラミングシーケンスを示す図。
【図２２】ＮＡＮＤストリングレベルでのペアビットプログラミングを、ビットラインレベルでの従来の偶数／奇数検出に変換するメモリアレイのレイアウトの例を示す図。
【図２３Ａ】関連するビットラインに接続されている活性領域を示す図。
【図２３Ｂ】図２３Ａの構造の斜視図。
【図２４】隣接ビットラインに接続されている活性領域の斜視図。
【発明を実施するための形態】
【００１７】
本発明の実施に適したメモリシステムの一例は、ＮＡＮＤフラッシュメモリ構造を用いる。そのＮＡＮＤフラッシュメモリ構造は２つの選択ゲートの間に直列に接続された複数のトランジスタを有している。直列に配置されたトランジスタと選択ゲートは、ＮＡＮＤストリングと呼ばれる。図１は、１つのＮＡＮＤストリングを示す平面図である。図２はその等価回路である。図１および２のＮＡＮＤストリングは、直列に接続されており、第１の選択ゲート１２０と第２の選択ゲート１２２の間に挟まれている４つのトランジスタ１００、１０２、１０４、及び１０６を有する。選択ゲート１２０は、ＮＡＮＤストリングをビットライン１２６に接続する。選択ゲート１２２は、ＮＡＮＤストリングをソースライン１２８に接続する。選択ゲート１２０は、制御ゲート１２０ＣＧに適切な電圧が印加されることによって制御される。選択ゲート１２２は、制御ゲート１２２ＣＧに適切な電圧が印加されることによって制御される。トランジスタ１００、１０２、１０４及び１０６のそれぞれは制御ゲート及びフローティングゲートを有する。トランジスタ１００は、制御ゲート１００ＣＧ及びフローティングゲート１００ＦＧを有する。トランジスタ１０２は制御ゲート１０２ＣＧ及びフローティングゲート１０２ＦＧを有する。トランジスタ１０４は、制御ゲート１０４ＣＧ及びフローティングゲート１０４ＦＧを有する。トランジスタ１０６は、制御ゲート１０６ＣＧおよびフローティングゲート１０６ＦＧを有する。制御ゲート１００ＣＧは、ワードラインＷＬ３に接続されており、制御ゲート１０２ＣＧはワードラインＷＬ２に接続されており、制御ゲート１０４ＣＧはワードラインＷＬ１に接続されており、制御ゲート１０６ＣＧはワードラインＷＬ０に接続されている。一実施形態では、トランジスタ１００、１０２、１０４及び１０６は、それぞれ、メモリセルである。他の実施形態では、メモリセルは、複数のトランジスタを有していることもある。あるいは、図１および図２に示されているのとは異なることもある。選択ゲート１２０は、選択ラインＳＧＤに接続されている。選択ゲート１２２は、選択ラインＳＧＳに接続されている。
【００１８】
図３は、前述されたＮＡＮＤストリングの断面図を示す。図３に示されるように、ＮＡＮＤストリングのトランジスタはｐ−ウェル領域１４０に形成されている。各トランジスタは、制御ゲート（１００ＣＧ、１０２ＣＧ、１０４ＣＧ、及び１０６ＣＧ）とフローティングゲート（１００ＦＧ、１０２ＦＧ、１０４ＦＧ、及び１０６ＦＧ）から構成される積層ゲート構造を有している。フローティングゲートは、ｐ−ウェルの表面に、酸化膜又は他の誘電体膜の上に形成される。制御ゲートはフローティングゲートの上にあり、ポリシリコン間の誘電体層が制御ゲート及びフローティングゲートを分離している。メモリセル（１００、１０２、１０４及び１０６）の制御ゲートは、ワードラインを構成している。Ｎ＋ドープ層１３０、１３２、１３４、１３６、及び１３８が、隣接するセルの間で共有され、これによってセルが互いに直列に接続されており、ＮＡＮＤストリングを形成している。これらのＮ＋ドープ層は、各セルのソース及びドレインを構成している。例えば、Ｎ＋ドープ層１３０はトランジスタ１２２のドレイン及びトランジスタ１０６のソースとしての機能を果たし、Ｎ＋ドープ層１３２はトランジスタ１０６のドレイン及びトランジスタ１０４のソースとしての機能を果たし、Ｎ＋ドープ層１３４はトランジスタ１０４のドレイン及びトランジスタ１０２のソースとしての機能を果たし、Ｎ＋ドープ層１３６はトランジスタ１０２のドレイン及びトランジスタ１００のソースとしての機能を果たし、Ｎ＋ドープ層１３８はトランジスタ１００のドレイン及びトランジスタ１２０のソースとしての機能を果たす。Ｎ＋ドープ層１２６は、ＮＡＮＤストリングのためのビットラインに接続する。一方、Ｎ＋ドープ層１２８は複数のＮＡＮＤストリングのための１つの共通ソースラインに接続する。
【００１９】
図１から図３はＮＡＮＤストリング内の４個のメモリセルを示しているが、４つのトランジスタの使用は単なる例として示されていることに留意されたい。本明細書に説明される技術とともに使用されるＮＡＮＤストリングは、４個未満のメモリセル又は４個以上のメモリセルを有することができる。たとえば、いくつかのＮＡＮＤストリングは、８個、１６個、３２個又はそれ以上のメモリセルを含む。
【００２０】
各メモリセルは、アナログ形式又はデジタル形式で表されるデータを記憶できる。１ビットのデジタルデータを記憶するとき、メモリセルの閾値電圧の範囲は、論理データ「１」及び「０」が割り当てられる２つの範囲に分割される。ＮＡＮＤタイプのフラッシュメモリの一例では、電圧閾値は、メモリセルが消去された後に負となり、論理「１」として定義される。プログラム動作後に閾値電圧は正となり、論理「０」として定義される。閾値電圧が負であり、制御ゲートに０ボルトを印加することにより読み出しが試行されると、メモリセルがオンして論理１が記憶されていることが示される。閾値電圧が正であり、制御ゲートに０ボルトを印加することにより読み出し動作が試行されると、メモリセルはオンせず、論理ゼロが記憶されることが示される。
【００２１】
メモリセルは、複数の状態を記憶し、それによって複数ビットのデジタルデータを記憶することもできる。データの複数の状態を記憶するケースでは、閾値電圧ウィンドウは状態の数に分割される。例えば、４つの状態が使用される場合、データ値「１１」、「１０」、「０１」、及び「００」に割り当てられる４つの閾値範囲がある。ＮＡＮＤタイプメモリの一例では、消去動作後の閾値電圧は負であり、「１１」として定義される。正の閾値電圧は「１０」、「０１」、及び「００」の状態のために使用される。いくつかの実施形態では、フローティングゲートの閾値電圧が誤って隣の物理状態にシフトしても、１ビットだけが影響を受けるように、データ値（例えば、論理状態）は、グレーコード割り当てを使用して閾値範囲に割り当てられる。メモリセルにプログラムされたデータと、セルの閾値電圧範囲の間の特殊な関係は、メモリセルのために採用されるデータ符号化方式に依存する。例えば、両方ともその全体を参照することにより本明細書に組み込まれる、米国特許第６，２２２，７６２号及び米国特許第７，２３７，０７４号「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」は、マルチ状態フラッシュメモリセルの種々のデータ符号化方式を説明する。
【００２２】
ＮＡＮＤタイプフラッシュメモリ及びその動作の関連する例は、全てがその全体を参照することにより本明細書に組み込まれる以下の米国特許／特許明細書に示される：米国特許第５，５７０，３１５号、米国特許第５，７７４，３９７号、米国特許第６，０４６，９３５号、米国特許第５，３８６，４２２号、米国特許第６，４５６，５２８号、及び米国特許第６，５２２，５８０号。ＮＡＮＤフラッシュメモリに加え、他のタイプの不揮発性メモリも、本発明とともに使用できる。
【００２３】
フラッシュＥＥＰＲＯＭシステムで役立つ別のタイプのメモリセルは、不揮発的に電荷を蓄えるために、導電性のフローティングゲートの代わりに非導電性の誘電材料を用いる。このようなセルは、Ｃｈａｎらの記事「Ａ  Ｔｒｕｅ  Ｓｉｎｇｌｅ−Ｔｒａｎｓｉｓｔｏｒ  Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ  ＥＥＰＲＯＭ  Ｄｅｖｉｃｅ」、ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ、第ＥＤＬ−８巻、第３号、１９８７年３月、９３−９５ページに説明されている。酸化ケイ素、窒化ケイ素、及び酸化ケイ素（「ＯＮＯ」）から形成される三層誘電体が、導電性の制御ゲートと、メモリセルチャネル上の半導体基板の表面の間に挟まれる。セルは、セルチャネルから窒化物に電子を注入することによってプログラミングされ、電子は限られた領域内に閉じ込められ、蓄えられる。次に、この蓄えられた電荷が、検出可能な態様で、セルのチャネルの一部の閾値電圧を変更する。セルは、窒化物の中にホットホールを注入することによって消去される。ノザキらによる、「Ａ  １−Ｍｂ  ＥＥＰＲＯＭ  ｗｉｔｈ  ＭＯＮＯＳ  Ｍｅｍｏｒｙ  Ｃｅｌｌ  ｆｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｄｉｓｋ  Ａｐｐｌｉｃａｔｉｏｎ」、ＩＥＥＥ  Ｊｏｕｒｎａｌ  ｏｆ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ、第２６巻、第４号、１９９１年４月、４９７−５０１ページを参照すると、ドープされたポリシリコンゲートがメモリセルチャネルの一部の上に延在していることで、別個の選択トランジスタが形成されている分割ゲート構造の類似するセルが説明されている。前記の２つの記事は、その全体を参照することにより本明細書に組み込まれる。また、参照することにより本明細書に組み込まれる、Ｗｉｌｌｉａｍ Ｄ．Ｂｒｏｗｎ及びＪｏｅ Ｅ．Ｂｒｅｗｅｒ、ＩＥＥＥ  Ｐｒｅｓｓ、１９９８年によって編集された「Ｎｏｎｖｏｌａｔｉｌｅ Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｍｅｍｏｒｙ  Ｔｅｃｈｎｏｌｏｇｙ」の第１．２項に言及されるプログラミング技法も、誘電体電荷トラップデバイスに適用可能であるとその項に説明されている。その段落に説明されるメモリセルは、本発明とともに使用することもできる。したがって、本明細書に説明される技術は、異なるメモリセルの誘電領域間の結合にも適用できる。
【００２４】
各セルに２ビットを記憶するための別の手法が、Ｅｉｔａｎら、「ＮＲＯＭ：Ａ  Ｎｏｖｅｌ  Ｌｏｃａｌｉｚｅｄ  Ｔｒａｐｐｉｎｇ：  ２−Ｂｉｔ  Ｎｏｎｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ｃｅｌｌ」、ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ、第２１巻、第１１号、２０００年１１月、５４３−５４５ページに説明されている。ＯＮＯ誘電体層は、ソース拡散とドレイン拡散の間のチャネル全体に延在する。１データビットの電荷は、ドレインに隣接する誘電体層に局所化され、他のデータビットの電荷はソースに隣接する誘電体層に局所化される。マルチ状態データ記憶は、誘電体内の空間的に分離された電荷蓄積領域のバイナリ状態を別々に読み出すことによって実現される。その段落に説明されるメモリセルは、本発明と使用することもできる。
【００２５】
図４は、図１から３に図示されるようなＮＡＮＤセルのアレイ４００の例を示す。各列に沿って、ビットライン４０６が、ＮＡＮＤストリング４５０のドレイン選択ゲートのドレイン端子４２６に接続されている。ＮＡＮＤストリングの各行に沿って、ソースライン４０４が、ＮＡＮＤストリングのソース選択ゲートの全てのソース端子４２８に接続されている。
【００２６】
記憶素子のアレイは、記憶素子の多数のブロックに分割される。フラッシュＥＥＰＲＯＭシステムでは一般的なように、ブロックは消去の単位である。つまり、各ブロックは、共に消去される最小数の記憶素子を有する。各ブロックは、一般に複数のページに分割される。ページは、プログラミングの最小単位である。１ページまたは複数ページのデータは、通常、記憶素子の１行に記憶される。例えば、１行は、通常、いくつかのインタリーブされたページを含む、あるいは、１行は１ページを構成してよい。ページの全ての記憶素子は、一度に読み出され、または、プログラミングされる。さらに、ページは、１つまたは複数のセクタからユーザデータを記憶できる。セクタは、ユーザデータの便利な単位としてホストによって使用される論理概念である。つまり、セクタは、通常、コントローラに限定されるオーバヘッドデータは含まない。オーバヘッドデータは、セクタのユーザデータから計算されたエラー訂正コード（ＥＣＣ）を含むことができる。（後述される）コントローラの一部は、データがアレイにプログラミングされるときにＥＣＣを計算し、データがアレイから読み出されるときにそれをチェックする。また、ＥＣＣ及び／又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページに記憶されてもよいし、もしくは、異なるブロックに記憶されてもよい。
【００２７】
ユーザデータのセクタは一般に５１２バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の１６〜２０バイトである。多数のページがブロックを構成し、それは８ページから、例えば最大３２、６４またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、ＮＡＮＤストリングの列はブロックを含む。
【００２８】
一実施形態では、メモリセルは、十分な期間に亘ってｐ−ウェルが消去電圧（例えば２０Ｖ）に上昇され、ソースラインとビットラインがフローティングしている間に、選択されたブロックのワードラインを接地させることによって消去される。容量結合のために、未選択ワードライン、ビットライン、選択ライン、及び、ｃ−ソースも消去電圧のかなりの部分まで引き上げられる。従って、強力な電界が選択されたメモリセルのトンネル酸化物層に印加され、フローティングゲートの電子が基板側に放出されるにつれて選択されたメモリセルのデータが消去される。電子がフローティングゲートからｐ−ウェル領域に移されるのにしたがって、選択されたセルの閾値電圧は引き下げられる。消去はメモリアレイ全体、別々のブロック、又は、他のセルの単位で実行できる。
【００２９】
図５は、本発明の一実施形態に従ってメモリセルのページを同時に読み出し、プログラミングするための読み出し／書き込み回路を有するメモリ素子５９６を示す。メモリ素子５９６は、１つ以上のメモリダイ５９８を有する。メモリダイ５９８は、２次元のアレイのメモリセル４００、制御回路５１０、及び、読み出し／書き込み回路５６５を有する。メモリアレイ４００は行復号部５３０を介してワードラインによって、及び、列復号部５６０を介してビットラインによってアドレスできる。読み出し／書き込み回路５６５は複数の検出ブロック５００を有しており、１ページのメモリセルを並列に読み出し又はプログラムすることができる。一般に、制御部５５０は、１つ以上のメモリダイ５９８のように同じメモリ素子５９６（例えば、取り外し可能なストレージカード）内に含まれる。コマンド及びデータは、ライン５２０を介してホストと制御部５５０の間、及び、ライン５１８を介して制御部と１つ以上のメモリダイ５９８の間で送られる。
【００３０】
制御回路５１０は、読み出し／書き込み回路５６５と協調して、メモリアレイ４００上でメモリ動作を実行する。制御回路５１０は、状態マシン５１２、オンチップアドレスデコーダ５１４、及び電力制御モジュール５１６を含む。状態マシン５１２は、メモリ動作のチップレベル制御を提供する。オンチップアドレスデコーダ５１４は、ホストまたはメモリコントローラによって使用されるとともに、デコーダ５３０と５６０によって使用されるハードウェアアドレスの間にアドレスインタフェースを提供する。電力制御モジュール５１６は、メモリ動作中、ワードライン及びビットラインに供給される電力及び電圧を制御する。
【００３１】
別の手法では、二重行／列デコーダ及び読み出し／書き込み回路が使用される。メモリアレイ４００に対する種々の周辺回路によるアクセスは、アレイの対向する側で対称的に実施され、これによって各側のアクセスライン及び回路の密度が半減される。したがって、行デコーダは２つの行デコーダに分割されており、列デコーダは２つの列デコーダに分割されている。同様に、読み出し／書き込み回路は底部からビットラインに接続する読み出し／書き込み回路と、アレイ４００の上部からビットラインに接続する読み出し／書き込み回路に分割される。このようにして、読み出し／書き込みモジュールの密度は、基本的に２分の１、削減される。
【００３２】
図６は、各メモリセルが２ビットのデータを記憶する場合のメモリセルアレイの閾値電圧分布を示す。第１の閾値電圧分布Ｅは、消去されたメモリセルに対して提供される。プログラミングされたメモリセルの３つの閾値電圧分布Ａ、Ｂ及びＣも示されている。一実施形態では、Ｅ分布の閾値電圧は負であり、Ａ分布、Ｂ分布及びＣ分布の閾値電圧は正である。
【００３３】
それぞれの独立した閾値電圧範囲は、データビットのセットの所定値に対応する。メモリセルにプログラミングされたデータとセルの閾値電圧レベルの特殊な関係は、セルのために採用されるデータ符号化方式に依存する。例えば、両方ともその全体を参照することにより本明細書に組み込まれる、米国特許第６，２２２，７６２号及び米国特許第７，２３７，０７４号「Ｔｒａｃｋｉｎｇ  Ｃｅｌｌｓ  Ｆｏｒ  Ａ  Ｍｅｍｏｒｙ  Ｓｙｓｔｅｍ」は、マルチ状態フラッシュメモリセルの種々のデータ符号化方式を説明する。一実施形態では、フローティングゲートの閾値電圧が誤ってその隣の物理状態にシフトすると、１ビットだけが影響を受けるように、データ値がグレーコード割り当てを使用して閾値電圧範囲に割り当てられる。一例は、閾値電圧範囲Ｅ（状態Ｅ）に「１１」を、閾値電圧範囲Ａ（状態Ａ）に「１０」を、閾値電圧範囲Ｂ（状態Ｂ）に「００」を、及び閾値電圧範囲Ｃ（状態Ｃ）に「０１」を割り当てる。しかしながら、他の実施形態では、グレーコードは使用されない。図６では４つの状態が示されているが、本発明は、４つの状態より多い又は少ない状態を含む他のマルチ状態構造に使用することもできる。
【００３４】
図６は、メモリセルからデータを読み出すための３つの読み出し基準電圧、Ｖｒａ、Ｖｒｂ、及びＶｒｃも示す。所与のメモリセルの閾値電圧がＶｒａ、Ｖｒｂ、及びＶｒｃを上回るか、それとも下回るかを検査することによって、システムは、メモリセルがどの状態にあるのかを判定できる。図６はまた、３つの検証基準電圧Ｖｖａ、Ｖｖｂ、及び、Ｖｖｃを示す。メモリセルを状態Ａにプログラミングするとき、システムは、それらのメモリセルがＶｖａ以上の閾値電圧を有するかどうかをテストする。メモリセルを状態Ｂにプログラミングするとき、システムは、メモリセルがＶｖｂ以上の閾値電圧を有するかどうかをテストする。メモリセルを状態Ｃにプログラミングするとき、システムは、メモリセルがＶｖｃ以上の閾値電圧を有するかどうかをテストする。
【００３５】
フルシーケンスプログラミングとして知られている一実施形態においては、メモリセルは、消去状態Ｅからプログラミングされた状態Ａ、Ｂ又はＣの何れかに直接的にプログラミングされる。例えば、まず、プログラミングされるメモリセルの集合中の全てのメモリセルが消去状態Ｅとなるように、当該集合が消去される場合がある。次に、プログラミング処理が、メモリセルを状態Ａ、Ｂ又はＣに直接的にプログラミングするために使用される。いくつかのメモリセルは状態Ｅから状態Ａにプログラムされ、他のメモリセルは状態Ｅから状態Ｂに、及び／又は、状態Ｅから状態Ｃにプログラミングされる。ＷＬｎで状態Ｅから状態Ｃへプログラミングするときには、ＷＬｎ下のフローティングゲートに対する電圧の変化が大きくなるので、ＷＬｎ−１下の隣接フローティングゲートに対する結合の量は最大値となる。状態Ｅから状態Ｂにプログラミングするときは、隣接フローティングゲートへの結合の量は低減するが、なお大きい。状態Ｅから状態Ａにプログラミングするときは、結合の量はさらに削減される。結果的に、ＷＬｎ−１の各状態を後で読み出すために必要となる訂正の量は、ＷＬｎ上の隣接セルの状態に応じて変化する。
【００３６】
図７は、２つの異なるページ（下側ページと上側ページ）に対してデータを記憶するマルチ状態メモリセルをプログラムするツーパス技術の一例を示している。状態Ｅ（１１）、状態Ａ（１０）、状態Ｂ（００）及び状態Ｃ（０１）の４つの状態が示されている。状態Ｅの場合、両方のページが「１」を記憶する。状態Ａの場合、下側ページが「０」を記憶し、上側ページが「１」を記憶する。状態Ｂの場合、両方のページが「０」を記憶する。状態Ｃの場合、下側ページが「１」を記憶し、上側ページが「０」を記憶する。なお、各状態に対して特定のビットパターンが割り当てられているが、異なるビットパターンを割り当てることも可能であることに注意する。第１プログラミングパスでは、セルの閾値電圧レベルは下側の論理ページにプログラムされるビットに従って設定される。そのビットが論理「１」であれば、以前に消去された結果として適切な状態にあるので閾値電圧は変更されない。しかし、プログラムされるビットが論理「０」であれば、矢印７３０で示したように、セルの閾値レベルは状態Ａになるように増大される。これによって、第１プログラミングパスを終了する。
【００３７】
第２プログラミングパスでは、セルの閾値電圧レベルは上側論理ページ内にプログラムされるビットに従って設定される。上側論理ページビットが論理「１」を記憶する場合、セルは下側ページビットのプログラミングに依存する状態Ｅ又はＡの一方であり、どちらも上側ページビットは「１」を保持するのでプログラミングは生じない。上側ページビットが論理「０」となる場合、閾値電圧はシフトされる。第１パスによってセルが消去状態Ｅに留まっていれば第２段階でセルをプログラムし、矢印７３４で示したように閾値電圧が状態Ｃ内になるように増大させる。第１プログラミングパスの結果としてセルが状態Ａ内にプログラムされれば、メモリセルはさらに第２パスでプログラムされ、矢印７３２で示したように閾値電圧が状態Ｂ内になるように増大させる。第２パスの結果は、下側ページ用のデータを変更することなく、上側ページの論理「０」を記憶するように指定した状態にセルをプログラムすることである。図６および７の両方において、隣接するワードライン下のフローティングゲートへの結合量は最終状態に依存する。
【００３８】
一実施形態では、全ページを充填するのに十分なデータを書き込まれた場合、システムは全シーケンス書き込みを実行するように設定される。十分ではないデータが全ページに書き込まれた場合、プログラミング処理は受け取ったデータを用いて下側ページプログラミングを実行できる。次のデータを受け取ったときは、システムは上側ページをプログラミングする。さらに別の実施形態では、システムは下側ページをプログラムするモードで書き込みを開始し、ワードラインのメモリセルの全体（又は大部分）を充填するために次の十分なデータを受け取った場合、全シーケンスプログラミングモードに変換する。このような実施形態のさらなる詳細は、参照することによって本明細書に組み込まれる米国特許第７，１２０，０５１号（タイトル「Ｐｉｐｅｌｉｎｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  ｏｆ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｉｅｓ  Ｕｓｉｎｇ  Ｅａｒｌｙ  Ｄａｔａ」）に開示されている。
【００３９】
図８Ａから図８Ｃは、前のページの隣接メモリセルに書き込んだ後で、特定のページに対してその特定のメモリセルを書き込むことによって、その特定のメモリセルに対するフローティングゲート間結合を低減する不揮発性メモリをプログラムする別の方法を開示している。図８Ａから図８Ｃに示されるプロセスの実装形態の一例では、不揮発性メモリセルは、４つのデータ状態を用いてメモリセル毎に２ビットのデータを記憶する。例えば、状態Ｅが消去状態であり、状態Ａ、Ｂ及びＣがプログラム状態であると仮定する。状態Ｅはデータ１１を記憶している。状態Ａはデータ０１を記憶している。状態Ｂはデータ１０を記憶している。状態Ｃはデータ００を記憶している。両方のビットは隣接する状態Ａ及びＢの間で変化するので、これは非グレイ符号化の一例である。データの物理的データ状態への他の符号化を用いることもできる。各メモリセルは２ページ分のデータを記憶する。参照のために、これらのページのデータは上側ページ及び下側ページと呼ばれるが、他のラベルを与えることもできる。図８Ａから図８Ｃのプロセスの状態Ａを参照すると、上側ページはビット０を記憶し、下側ページはビット１を記憶している。状態Ｂを参照すると、上側ページはビット１を記憶し、下側ページはビット０を記憶している。状態Ｃを参照すると、両方のページがビットデータ０を記憶している。図８Ａから図８Ｃのプログラミング処理は、２つのステップの処理である。第１ステップでは、下側ページをプログラムする。下側ページがデータ１のままである場合、メモリセル状態は状態Ｅに留まる。データが０にプログラムされる場合、メモリセルの電圧の閾値は、メモリセルが状態Ｂ'にプログラミングされるように引き上げられる。状態Ｂ'は、中間状態又はあいまいな状態である。従って、図８Ａは、状態Ｅから状態Ｂ’へのメモリセルのプログラミングを示している。図８Ａに示される状態Ｂ’は暫定的状態Ｂであり、従って、検証点はＶｖｂ’として示され、Ｖｖｂより低い。
【００４０】
一実施形態では、状態Ｅから状態Ｂ’にメモリセルをプログラムした後、ＮＡＮＤストリング内の隣接メモリセル（ＷＬｎ＋１）をその下側ページに対してプログラムする。例えば、図２を見直すと、メモリセル１０６用の下側ページをプログラムした後、メモリセル１０４の下側ページをプログラムする。メモリセル１０４をプログラムした後、メモリセル１０４が状態Ｅから状態Ｂ’に上昇した閾値電圧を有していた場合、フローティングゲート間結合の影響はメモリセル１０６の見かけの閾値電圧を上昇させる。これは、図８Ｂの閾値電圧分布８５０に示したように状態Ｂ’の閾値電圧分布を拡大する効果を有する。閾値電圧分布のこの見かけの拡大は、上側ページをプログラムする際に修正される。
【００４１】
図８Ｃは、上側ページをプログラムする工程を示している。メモリセルが消去状態Ｅであって上側ページが１に留まる場合、メモリセルは状態Ｅに留まる。メモリセルが状態Ｅであり、その上側ページデータが０にプログラムされる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ａになる。メモリセルが中間の閾値電圧分布８５０であって上側ページデータが１に留まる場合、メモリセルは最終状態Ｂにプログラムされる。メモリセルが中間の閾値電圧分布８５０であって上側ページデータがデータ０になる場合、メモリセルの閾値電圧は上昇し、メモリセルは状態Ｃになる。隣接メモリセルの上側ページプログラミングだけが所定のメモリセルの見かけの閾値電圧に影響を与えるので、図８Ａから図８Ｃで示した工程はフローティングゲート間結合効果を低減する。別の状態符号化の一例は、上側ページデータが１であるとき分布８５０から状態Ｃに移動することであり、上側ページデータが０であるとき状態Ｂに移動することである。
【００４２】
図８Ａから図８Ｃは、４つのデータ状態、及び２ページのデータに関しての例を提供するが、図８Ａから図８Ｃによって教示される概念は、４つの状態より多い又は少なく、２ページ以外の他の実装例に適用できる。
【００４３】
最初に言及したように、プログラム外乱未選択のＮＡＮＤストリング又は直列接続された記憶素子の他のセットのチャネルの電圧を十分にブーストできないために、プログラム外乱がたびたび発生する。特に、例えばＮＡＮＤ技術は絶えず小さな寸法に縮小されるので、ブースト飽和又はブースト電圧クランプとして知られる新しいプログラム外乱モードに直面している。このフェイルモードでは、阻止されるＮＡＮＤストリングのブースト電位は相対的に低レベルにクランプされ、すなわち、飽和する。未選択ワードラインのパス電圧（Ｖｐａｓｓ）が上昇しても、ブースト電位は上昇せず、横ばいである。したがって、単にパス電圧を上昇するだけでは効果的ではない。クランプされたブースト電位が低すぎると、プログラム電圧（Ｖｐｇｍ）が高いときに阻止されるセルでの電界が大きくなり、意図していないトンネリング及びプログラム外乱を引き起こすため、これは重大な問題である。
【００４４】
クランプのブースト電位は隣接ＮＡＮＤストリングのステータスに依存する。実際、隣接ＮＡＮＤストリングは、クランプが発生する理由である。特定のＮＡＮＤストリングの隣接ＮＡＮＤストリングが、その隣接ＮＡＮＤストリングがプログラミング対象として選択されているときと同様に０Ｖである場合には、その特定のＮＡＮＤストリングのチャネルのブースト電位は低い値にクランプされる。しかし、隣接ＮＡＮＤストリングが、プログラミング対象として選択されておらずに阻止されているときと同様にブーストされると、前記ブースト電位は数ボルト高くなる。
【００４５】
図９は、隣接ＮＡＮＤストリングの低電圧により、阻止状態にある中央のＮＡＮＤストリングでジャンクションリーク及びブースト電圧クランプが生じ得ることを示すＮＡＮＤストリングの断面図である。この断面図は、制御ゲート（ＣＧ）、つまり、複数の記憶素子を横切って伸びるワードライン９００を示している。各記憶素子は、通常はｐ−ウェル内の基板の各チャネル領域９０８、９１０、９１２上にある、例えばＦＧ９０２、９０４、及び９０６等のフローティングゲート（ＦＧ）を有する。各チャネル領域は、ページから生じるとして視覚化できるＮＡＮＤストリングの一部である。この例では、チャネル領域９１０は阻止されるストリングのものであり、チャネル領域９０８及び９１２はプログラミングされるストリングのものである。キャパシタンスＣ１がチャネル領域９０８と９１０の間に存在し、キャパシタンスＣ２がチャネル領域９１０と９１２の間に存在する。Ｖｂｏｏｓｔはチャネル領域９１０の電位を表す。
【００４６】
言及されたように、チャネル９１０と関連付けられている記憶素子のプログラム外乱を防ぐためにＶｂｏｏｓｔが相対的に高いことが望ましい。しかしながら、チャネル９０８及び９１２と関連付けられている隣接ＮＡＮＤストリングは、ブーストされるチャネル９１０のために「ゲート」の機能を果たす。隣接ＮＡＮＤストリングのチャネルが低い（例えば０Ｖ）である場合、それはブーストチャネル上のジャンクションにリークを生じさせ、ブースト電位を制限することがある。両隣のＮＡＮＤストリングが０Ｖである場合、状況はさらに悪くなる。縮小はＮＡＮＤストリング間の有効なゲート酸化物（シャロートレンチアイソレーションつまりＳＴＩ）を縮小させ、隣接ＮＡＮＤストリングチャネルの影響をより重大にするので、この問題は縮小とともに悪化する傾向があることに留意されたい。
【００４７】
隣接ビットラインが特定のビットラインのブースト電位に与える影響が、図１０Ａに示されている。ｘ軸は、未選択のＮＡＮＤストリングのチャネル領域をブーストするために未選択のワードラインに印加されるパス電圧（Ｖｐａｓｓ）を表し、ｙ軸はＶｂｏｏｓｔ、つまり、未選択のＮＡＮＤストリングの例のチャネル９１０の電位を表す。曲線１０００は、両方の隣接チャネル９０８及び９１２のプログラミングが阻止されている状況を表す。したがって、関連のＮＡＮＤストリング／ビットラインは何れも、プログラミング対象として選択されていない。この場合、チャネル９０８及び９１２は、チャネル９１０のブースト電位と同様に、比較的高いブースト電位となる。チャネル９１０のＶｂｏｏｓｔが最高レベルにあるので、これが最も望ましい状況である。
【００４８】
曲線１００２は、一方の隣接チャネル（例えばチャネル９０８等）のプログラミングが阻止され、他方の隣接チャネル（例えばチャネル９１２等）が阻止されていない状況（又はその逆の）を表す。したがって、関連のチャネル９０８のＮＡＮＤストリング／ビットラインはプログラミング対象として選択されていない。一方、関連のチャネル９１２のＮＡＮＤストリング／ビットラインはプログラミング対象として選択されている。チャネル９１０のＶｂｏｏｓｔは中間レベルにあるので、これは次に望ましい状況である。曲線１００４は、両方の隣接チャネル（例えば９０８及び９１２等）が阻止されていない状況を表す。したがって、関連のチャネル９０８及び９１２のＮＡＮＤストリング／ビットラインは、プログラミング対象として選択されている。チャネル９１０のＶｂｏｏｓｔは最低レベルにあるので、これは最も望ましくない状況である。両方の隣接ビットラインがプログラミングされているときに最悪のクランプが発生する。この場合、隣接ＮＡＮＤストリングのチャネルは０Ｖであり、シャロートレンチアイソレーション領域（ＳＴＩ）全体に作用するこの電圧によって、阻止状態にあるビットラインでジャンクションリークが生じる。これがプログラム外乱につながる。
【００４９】
図１０Ｂは、隣接ビットラインが、特定のビットラインのフェイルビット数に与える影響を示すグラフである。ｘ軸はＶｐａｓｓを表し、ｙ軸はフェイルビット数を表す。図１０Ｃは、図１０Ｂのグラフの偶数ビットライン及び奇数ビットラインでのデータの配列を示す。偶数ビットラインではランダムデータ（Ｒ）で記憶素子のブロックをプログラムし、奇数ビットラインでは３つの異なるパターンをプログラミングした。第１のパターン（ケースＡ）は、奇数ビットラインがランダムデータを有し、したがって全てのビットラインがランダムデータを有した。第２のパターン（ケースＢ）は、奇数ビットラインが交互にランダム（Ｒ）データ及び消去（Ｅ）データを有していた（例えば、ＢＬ１にＲ、ＢＬ３にＥ、ＢＬにＲ、ＢＬ７にＥ等）。第３のパターン（ケースＣ）は、全ての奇数ビットラインが消去データを有していた。全ビットライン（ＡＢＬ）モードでプログラミングし、例えばＢＬ０、ＢＬ２、ＢＬ４、ＢＬ６、及びＢＬ８から、偶数ビットラインデータだけを読み出した。曲線１０１０は最多のフェイルビットを有するケースＡを表し、曲線１０１２は２番目に多いフェイルビットを有するケースＢを表し、曲線１０１４は最少のフェイルビットを有するケースＣを表す。
【００５０】
ケースＡは現在のＡＢＬアーキテクチャに相当し、ケースＢは後述されるペアビットプログラミング方式に相当し、ケースＣは両方の隣接チャネルが阻止された最良のケースに相当する。ペアビットプログラミング方式はフェイルビット数を大幅に減らすことができる（曲線１０１０と１０１２の間の差）。これは、ペアビットプログラミング方式が、ブースト電圧クランプにとっての効果的な解決策であることを証明している。
【００５１】
提案されたペアビットプログラミング方式では、２個の連続プログラムパルスを使用して各ワードラインをプログラミングする。パルスごとに、ビットラインは隣接するビットラインのペアにグループ化される。第１のパルスでは、ビットラインペアの交互のセットがプログラミングされ、他方は阻止される。第２のパルスでは、プログラム／阻止状態はビットラインペアにとって逆になる。この方式は、あるビットラインが阻止されているときに、その隣接ビットラインの内の少なくとも一方が阻止されることを保証する。これにより、阻止されるビットラインの隣接ビットラインの両方がプログラミングされるという最悪のケースのシナリオが排除される。常に１つの隣接ビットラインが阻止されることによって、クランプされるブースト電位は大幅に上昇する。この手法は、他のセル特性を劣化させなくてもクランプされたブースト電圧を上昇させる。
【００５２】
理想的には、全ての阻止されるビットラインの隣接ビットラインを阻止して、ブースト電圧を最大化することが好ましいが、これは不可能である。ただし、プログラミングを２つのステップに分割することによって、全ての阻止されるビットラインの少なくとも１つの隣接ビットラインが阻止されることを保証できる。考えられる１つの解決策は図１１に示される。
【００５３】
図１１は、ビットラインの交互のペアの第１のセット及び第２のセットを含む、メモリアレイ内のビットラインのセットを示す。ここでは、ビットラインのセットと関連する記憶素子が、２つのセットにグループ化される。各セットは隣接する記憶素子又はビットラインのペアを有し、セットは交互になるように配置される。例えば、ペアの第１のセットは、ペアＢＬ０、ＢＬ１、ペアＢＬ４、ＢＬ５、ペアＢＬ８、ＢＬ９、ペアＢＬ１２、ＢＬ１３等を含む。ペアの第２のセットは、ペアＢＬ２、ＢＬ３、ペアＢＬ６、ＢＬ７、ペアＢＬ１０、ＢＬ１１等を含む。
【００５４】
図１２は、二重プログラミングパルス及び単一のセットの検証パルスを用いるプログラミングシーケンスを示す。完全プログラミングシーケンスの例が示される。各プログラムパルスは、ビットペアの各セットをプログラミングするために、２つの別々のパルスに分割される。しかし、各パルスの後の検証動作は、依然として、ＡＢＬ検出を使用してワードライン上の全てのセルに対して同時に実行できる。検証動作を依然としてＡＢＬ検出を使用して行うことができるため、２つのプログラムパルスを使用することによるプログラミング時間についての性能ペナルティは小さい。さらに、プログラミング性能を改善するために、ペアビットプログラミング方式の使用を、Ｖｐｇｍが高いときのパルスに限定することができる。Ｖｐｇｍが低い早期のパルスは、プログラム外乱を生じさせる可能性が低く、したがって、単一のプログラムパルスを使用して時間を節約できるためである。図２１Ａ及び図２１Ｂを参照のこと。
【００５５】
図１２では、シーケンス１２００は、例としての二重プログラミングパルス、つまり、パルスペアを含んでおり、その後に検証動作を実行するための検証パルスのセットが続く。例えば、二重プログラミングパルスは、（ＶＰＧＭ１のレベルでの）１２０２及び１２０４、（ＶＰＧＭ２のレベルでの）１２０８及び１２１０、（ＶＰＧＭ３のレベルでの）１２１４及び１２１６、ならびに（ＶＰＧＭ４のレベルでの）１２２０及び１２２２を含む。プログラムパルスペアの中のプログラムパルスの振幅は等しいとして示されているが、実際には異なる場合がある。検証パルスのセットは、セット１２０６、１２１２、１２１８及び１２２４を含む。パルスのレベルは、前述したように、例えばＶｒａ、Ｖｒｂ、及びＶｒｃであってよい。実際には、追加プログラムパルスのペア及び検証パルスが使用され得る。二重プログラミングパルス及び検証パルスのセットの各グループがプログラミングシーケンスの反復を形成する。ここでは、２個のプログラミングパルスの各セットの第１のプログラムパルス１２０２、１２０８、１２１４及び１２２０が印加されるときには、ビットラインのペアの第１のセットがプログラミング対象として選択され、ビットラインのペアの第２のセットはプログラミング対象として選択されない（すなわち、プログラミングから阻止される）。あるいは、ビットラインのペアの第２のセットがプログラミング対象として選択され、ビットラインのペアの第１のセットはプログラミング対象として選択されない。同様に、２個のプログラミングパルスの各セットの第２のプログラムパルス１２０４、１２１０、１２１６及び１２２２が印加されるときには、ビットラインのペアの第２のセットがプログラミング対象として選択され、ビットラインのペアの第１のセットはプログラミング対象として選択されない。あるいは、ビットラインのペアの第１のセットがプログラミング対象として選択され、ビットラインのペアの第２のセットはプログラミング対象として選択されない。
【００５６】
二重プログラムパルスの各セットの後に、全ビットライン検出手法において全てのビットラインに対して検証動作を一斉に実行するために、検証パルス１２０６、１２１２、１２１８及び１２２４のセットが使用される。これは、プログラミング時間全体を短縮するので、この検出機能を有するメモリ素子にとって有益である。
【００５７】
メモリ素子の制御回路がビットラインと関連付けられた記憶素子に対してプログラム動作を行うことを示すと、そのビットラインがプログラミング対象として選択される。これは、ビットライン上の電圧を、プログラミングが可能なレベルに設定することを含む。このレベルは、例えば０Ｖであってもよいし、より高い部分的な阻止レベルであってもよい。高い場合は、低い電圧で行うよりもゆっくりとしたプログラミングが可能となる。粗モードで比較的速い速度で閾値電圧を上昇させ、ターゲット閾値検証レベルをオーバシュートするのを回避するためにファインモードで比較的遅い速度で閾値電圧を上昇させる粗ファインプログラミング処理のファインモードで、部分的な阻止レベルを使用してもよい。なお、プログラミング対象として選択された記憶素子は、いったんターゲット検証レベルに到達すると、追加のプログラミングから阻止、又は、ロックアウトされることに留意されたい。
【００５８】
制御が、ビットラインと関連付けられた記憶素子についてプログラム動作を行わないことを示すときに、ビットラインはプログラミング対象として選択されない。これは、プログラミングを禁止する高レベルにビットラインの電圧を設定することを含む。
【００５９】
図１３は、偶数ビットライン及び奇数ビットラインを別々に検証するために、二重プログラミングパルス及び検証パルスの二重セットを用いるプログラミングシーケンスを示す。シーケンス１３００は、例示の二重プログラミングパルス又はパルスペアを含んでおり、その後に、検証動作を実行するための検証パルスのセットが続く。例えば、二重プログラミングパルスは、（ＶＰＧＭ１のレベルの）１３０２及び１３０４、（ＶＰＧＭ２のレベルの）１３１０及び１３１２、（ＶＰＧＭ３のレベルの）１３１８及び１３２０、ならびに（ＶＰＧＭ４のレベルの）１３２６及び１３２８を含む。検証パルスのセットは、セット１３０６及び１３０８、１３１４及び１３１６、１３２２及び１３２４、ならびに１３３０及び１３３２を含む。
【００６０】
二重プログラミングパルス及び検証パルスの二重セットの各グループは、プログラミングシーケンスの反復を形成する。ここでは、２つのプログラミングパルスからなる各セットの中の第１のプログラムパルス１３０２、１３１０、１３１８及び１３２６が印加されるときには、ビットラインのペアの第１のセットがプログラミング対象として選択され、ビットラインのペアの第２のセットはプログラミング対象として選択されない（又はその逆である）。同様に、２つのプログラミングパルスからなる各セットの中の第２のプログラムパルス１３０４、１３１２、１３２０及び１３２８が印加されるときには、ビットラインのペアの第２のセットがプログラミング対象として選択され、ビットラインのペアの第１のセットはプログラミング対象として選択されない（又はその逆である）。
【００６１】
二重プログラムパルスの各セットの後に、例えば、ＢＬ０、ＢＬ２、ＢＬ４等の偶数（又は奇数）番号が付けられたビットラインに対して検証動作を実行するために、検証パルスの第１のセット１３０６、１３１４、１３２２及び１３３０が使用される。検証パルスの各第１セットの後に、例えば、ＢＬ１、ＢＬ３、ＢＬ５等の奇数（又は偶数）番号が付けられたビットラインに対して検証動作を実行するために、検証パルスの第２のセット１３０８、１３１６、１３２４及び１３３２が使用される。これは、奇数−偶数検出機能を有するが、全ビットライン検出機能は有さないメモリ素子に有益である。
【００６２】
図１４は、ビットラインのペアの第１のセット及び第２のセットを別々に検証するために、二重プログラミングパルス及び検証パルスの二重セットを用いるプログラミングシーケンスを示す。シーケンス１４００は、二重プログラミングパルス又はパルスペアを含んでおり、その後に検証動作を実行するための検証パルスのセットが続く。例えば、二重プログラミングパルスは、（ＶＰＧＭ１のレベルの）１４０２及び１４０４、（ＶＰＧＭ２のレベルの）１４１０及び１４１２、（ＶＰＧＭ３のレベルの）１４１８及び１４２０、ならびに（ＶＰＧＭ４のレベルの）１４２６及び１４２８を含む。検証パルスのセットは、セット１４０６及び１４０８、１４１４及び１４１６、１４２２及び１４２４、ならびに１４３０及び１４３２を含む。
【００６３】
二重プログラミングパルス及び検証パルスの二重セットの各グループは、プログラミングシーケンスの反復を形成する。ここでは、２つのプログラミングパルスからなる各セットの中の第１のプログラムパルス１４０２、１４１０、１４１８、及び１４２６が印加されるときには、ビットラインのペアの第１のセットがプログラミング対象として選択され、ビットラインのペアの第２のセットはプログラミング対象として選択されない（又はその逆である）。同様に、２つのプログラミングパルスからなる各セットの中の第２のプログラムパルス１４０４、１４１２、１４２０及び１４２８が印加されるときには、ビットラインのペアの第２のセットがプログラミング対象として選択され、ビットラインのペアの第１のセットはプログラミング対象として選択されない（又はその逆である）。
【００６４】
二重プログラムパルスの各セットの後に、例えば、ペアＢＬ０、ＢＬ１、ペアＢＬ４、ＢＬ５、ペアＢＬ８、ＢＬ９、ペアＢＬ１２、ＢＬ１３等の隣接ビットラインのペアの第１の（又は第２の）セットに対して検証動作を実行するために、検証パルスの第１のセット１４０６、１４１４、１４２２及び１４３０が使用される。検証パルスの各第１セットの後に、例えば、ペアＢＬ２、ＢＬ３、ペアＢＬ６、ＢＬ７、ペアＢＬ１０、ＢＬ１１等の隣接ビットラインのペアの第２の（又は第１の）セットに対して検証動作を実行するために、検証パルスの第２のセット１４０８、１４１６、１４２４及び１４３２が使用される。これは、図２２等の配列が使用されるときに、奇数−偶数検出機能を有するが、全ビットライン検出機能を有さないメモリ素子に有益である。
【００６５】
図１５は、図１２から図１４のプログラミングシーケンスと関連付けられるプログラミング処理を示す。ステップ１５００は、図１１に示されるような隣接記憶素子のペアの第１のセット及び第２のセットにビットラインをグループ化することを含む。メモリ素子の適切な制御回路は、このグループ化を認識するためにファームウェア等を介して構成される。ステップ１５０２は、プログラミング対象として第１のセットのビットラインを選択することと、第２のセットのビットラインがプログラミングされることを阻止することを含む。ステップ１５０４で、プログラムパルスのペアの中の第１のプログラムパルスが印加される。ステップ１５０６は、プログラミング対象として第２のセットのビットラインを選択することと、第１のセットのビットラインがプログラミングされることを阻止することとを含む。ステップ１５０８で、プログラムパルスのペアの中の第２のプログラムパルスが印加される。第１のプログラムパルスと第２のプログラムパルスの間では検証動作は実行されない。次に、メモリ素子の機能に応じて、３つの手法の内の１つを使用できる。
【００６６】
図１２のプログラミングシーケンスに対応する１つの手法では、全ビットラインが一斉に検証される（ステップ１５１０）。図１３のプログラミングシーケンスに対応する第２の手法では、偶数番号が付いたビットラインが検証され（ステップ１５１２）、次に奇数番号が付いたビットラインが検証される（ステップ１５１６）（又はその逆である）。図１４のプログラミングシーケンスに対応する第３の手法では、隣接記憶素子のペアの第１のセットが検証され（ステップ１５１４）、次に隣接記憶素子のペアの第２のセットが検証される（ステップ１５１８）（又はその逆である）。
【００６７】
決定ステップ１５２０で、プログラミングシーケンスの次の反復がある場合、プロセスはステップ１５０２に続く。プログラミングパルスの振幅は、１つの手法では、各反復において増分される。通常は、いくつかの記憶素子がプログラミングを完了せず、かつ、反復が最大許容数を超えていない場合に、追加の反復が行われる。追加の反復が示されない場合は、プログラミングが完了する（ステップ１５２２）。
【００６８】
図１６は、ビットラインのペアの第１のセットをプログラミングするためのプログラミングシーケンスと、その後に続く、ビットラインのペアの第２のセットをプログラミングするためのプログラミングシーケンスを示す。この手法では、第１のサブシーケンス１６００が実行され、その第１のサブシーケンス１６００では、単一プログラムパルスが印加された後に、検証パルスの単一セットが続く。単一プログラミングパルス及び検証パルスのセットの各グループは、プログラミングシーケンスの反復を形成する。ここでは、プログラムパルス１６０２、１６０６、１６１０及び１６１４が印加されるときには、ビットラインのペアの第１のセットがプログラミング対象として選択され、ビットラインのペアの第２のセットはプログラミング対象として選択されない。各プログラムパルスの後に、ビットラインのペアの第１のセットに対して検証動作を実行するために、検証パルス１６０４、１６０８、１６１２及び１６１６のセットが使用される。
【００６９】
一旦、第１のサブシーケンス１６００内のビットラインのペアの第１のセットに対してプログラミングが完了すると、第２のサブシーケンス１６２０が実行される。第２のサブシーケンス１６２０では、単一のプログラムパルス１６２２、１６２６、１６３０及び１６３４が印加された後に、検証パルス１６２４、１６２８、１６３２及び１６３６の単一のセットが続く。単一プログラミングパルス及び検証パルスのセットの各グループは、プログラミングシーケンスの反復を形成する。ここでは、プログラムパルス１６２２、１６２６、１６３０、及び１６３４が印加されるときには、ビットラインのペアの第２のセットがプログラミング対象として選択され、ビットラインのペアの第１のセットはプログラミング対象として選択されない（又はその逆である）。各プログラムパルスの後に、ビットラインのペアの第２セットに対して検証動作を実行するために、検証パルス１６２４、１６２８、１６３２、及び１６３６のセットが使用される。
【００７０】
類似した代替手法では、ビットラインのペアの第２のセットの後に、ビットラインのペアの第１のセットをプログラムする。
【００７１】
このプログラミングシーケンスは、第１のサブシーケンス１６００の第１の数の反復を実行した後に、第２のサブシーケンス１６２０の第２の数の反復を実行することを含むと考えてよい。第１の数の反復の中の各反復は、（ｉ）不揮発性記憶素子のセットの中の隣接する不揮発性記憶素子のペアの第１のセットをプログラミング対象として選択し、セットの中の隣接不揮発性記憶素子のペアの第２のセットのプログラミングを阻止する状態で、セットにプログラミングパルスを印加することと、（ｉｉ）その後、隣接不揮発性記憶素子のペアの第２のセットに対する検証動作を実行しないで、隣接不揮発性記憶素子のペアの第１のセットに対する検証動作を実行することとを含む。第２の数の反復の中の各反復は、（ｉ）隣接不揮発性記憶素子のペアの第２のセットをプログラミング対象として選択し、不揮発性記憶素子のセットの隣接不揮発性記憶素子のペアの第１のセットのプログラミングを阻止する状態で、セットにプログラミングパルスを印加することと、（ｉｉ）その後、隣接不揮発性記憶素子のペアの第１のセットに対する検証動作を実行しないで、隣接不揮発性記憶素子のペアの第２のセットに対する検証動作を実行することとを含む。
【００７２】
図１７は、図１６のプログラミングシーケンスに関連するプログラミング処理を示す。ステップ１７００は、図１１に示されるような隣接記憶素子のペアの第１のセット及び第２のセットにビットラインをグループ化することを含む。ステップ１７０２は、第１のセットのビットラインをプログラミング対象として選択することと、第２のセットのビットラインのプログラミングを阻止することとを含む。ステップ１７０４で、プログラムパルスが印加される。ステップ１７０６で、第１のセットのビットラインが、検証パルスのセットを用いて検証される。決定ステップ１７０８で、プログラミングサブシーケンスの次の反復がある場合には、プロセスはステップ１７０２に続く。追加の反復が示されない場合には、第１のセットのプログラミングが完了し（ステップ１７１０）、第２のプログラミングサブシーケンスが開始される。
【００７３】
ステップ１７１２は、第２のセットのビットラインをプログラミング対象として選択することと、第１のセットのビットラインのプログラミングを阻止することとを含む。ステップ１７１４で、プログラムパルスが印加される。ステップ１７１６で、第２のセットのビットラインが、検証パルスのセットを用いて検証される。決定ステップ１７１８で、プログラミングサブシーケンスの次の反復がある場合には、プロセスはステップ１７１２に続く。追加の反復が示されない場合には、第２のセットのプログラミングが完了し（ステップ１７２０）、プログラミング処理が完了する。
【００７４】
図１８は、３セットのビットラインを示す。ビットラインのセット及び関連する記憶素子は、ワン−イン−スリー手法で３つのセットにグループ化できる。セットの中の各ビットラインは、各セットの他の２つのビットラインによって、セットの中の次の最も近いビットラインから分離されている。例えば、第１のセットは、ＢＬ０、ＢＬ３、ＢＬ６、ＢＬ９、及びＢＬ１２等を含み、第２のセットはＢＬ１、ＢＬ４、ＢＬ７、ＢＬ１０、及びＢＬ１３等を含み、第３のセットは、ＢＬ２、ＢＬ５、ＢＬ８、ＢＬ１１、及びＢＬ１４等を含む。３セット以上を使用することも可能であるが、プログラミング時間がさらに増加する一方で、チャネル電圧をブーストするという点では追加の重要な利点は得られない。３セットを使用することは、阻止された各ビットラインが１つのプログラミングされる隣接ビットラインしか有さないことを保証することができる。
【００７５】
図１９Ａは、３セットのビットラインを使用するプログラミングシーケンスを示す。この手法では、ビットラインは３セットにグループ化され、１セットが２ビットラインおきにビットラインを含む。例えば、セット１は、ＢＬ０、ＢＬ３、ＢＬ６、．．．を含み、セット２はＢＬ１、ＢＬ４、ＢＬ７、．．．を含み、セット３は、ＢＬ２、ＢＬ５、ＢＬ８，．．．を含む。プログラミングシーケンス１９００が実行される。プログラミングシーケンス１９００では、３個のプログラムパルスの後に検証パルスのセットが続く。３個のプログラミングパルス及び検証パルスのセットの各グループが、プログラミングシーケンスの反復を形成する。ここでは、プログラムパルス１９０２、１９１０、及び１９１８が印加されるときには、第１のセットがプログラミング対象として選択され、第２のセット及び第３のセットは、プログラミング対象として選択されず、例えばプログラミングが阻止される。プログラムパルス１９０４、１９１２、及び１２９０が印加されるときには、第２のセットがプログラミング対象として選択され、第１のセット及び第３のセットはプログラミング対象として選択されない。同様に、プログラムパルス１９０６、１９１４、及び１９２２が印加されると、第３のセットがプログラミング対象として選択され、第１のセット及び第２のセットはプログラミング対象として選択されない。３つのプログラムパルスの各セットの後に、全ビットライン検出手法で全てのビットラインに対して検証動作を実行するために、検証パルス１９０８、１９１６及び１９２４のセットが使用される。
【００７６】
図１９Ｂは、別々の奇数−偶数検証動作を使用するための修正が加えられた図１９Ａのプログラミングシーケンスを示す。ここでは、検証パルス１９０８のセットは、偶数ビットラインを検出するために使用される。一方、検証パルス１９０９のセットは奇数ビットラインを検出するために使用される（又はその逆である）。
【００７７】
全てのプログラミング−検証動作が第１のセットに対して、次に第２のセットに対して、次に第３のセットに対して実行されるように、第１、第２、及び第３のセットを別々のシーケンスで続けてプログラミングすることも可能である。
【００７８】
図２０は、図１９Ａのプログラミングシーケンスに関連するプログラミング処理を示す。ステップ２０００は、図１８に示されるようなワン−イン−スリー手法で、ビットラインを第１、第２及び第３のセットにグループ化することを含む。ステップ２００２は、第２及び第３のセットのビットラインのプログラミングを阻止する一方で、第１のセットのビットラインをプログラミング対象として選択して、選択されたワードラインにプログラムパルスを印加することとを含む。ステップ２００４は、第１及び第３のセットのビットラインのプログラミングを阻止する一方で、第２のセットのビットラインをプログラミング対象として選択して、選択されたワードラインにプログラムパルスを印加することを含む。ステップ２００６は、第１及び第２のセットのビットラインのプログラミングを阻止する一方で、第３のセットのビットラインをプログラミング対象として選択して、選択されたワードラインにプログラムパルスを印加することを含む。
【００７９】
１つの検証オプションでは、ステップ２００８で、ビットラインの全てのセットが、全ビットライン手法で一斉に検証される。偶数−奇数検証オプションでは、ステップ２０１０で、偶数番号が付けられたビットラインが検証され、次にステップ２０１２で、奇数番号が付けられたビットラインが検証される。決定ステップ２０１４では、次の反復がある場合に、プロセスはステップ２００２に続く。追加の反復が示されない場合には、第１のセットのプログラミングが完了する（ステップ２０１６）。
【００８０】
図２１Ａは、プログラミング手順を切り替えることを含むプログラミング処理を示す。全体的なプログラムシーケンスで、２つ以上の異なるプログラミング手順を使用することができる。例えば、ビットラインの隣接ペアのプログラミングは、低い振幅のプログラムパルスよりも高い振幅のプログラムパルスが使用されるときにより有利である場合があり、この場合、プログラムパルスの振幅又はプログラムシーケンスでのプログラムパルスの数に基づいた切り替えを実行できる。また、温度、プログラミング−消去サイクル数、ワードライン位置又はどのページがプログラミングされているのか等の他の要因に基づいて切り替えをトリガすることも可能である。例えば、ビットラインの隣接ペアのプログラミングへの切り替えは、データの下側ページがプログラミングされた後（図７を参照）にデータの上側ページが最初にプログラミングされるときに行われてもよい。あるいは、粗モードプログラミングの後にファインモードプログラミングが最初に行われるときに、切り替えが行われてもよい。あるいは、マルチパスプログラミング技法において、早期プログラミングパス（例えば、図８Ａ）の後に最終プログラミングパス（例えば、図８Ｃ）が行われるときに、切り替えが行われてもよい。
【００８１】
温度に関して、試験又はシミュレーションによって種々の切り替えポイント及び種々の温度についてフェイルビット数を示すことができ、各温度についての最適切り替えポイントを得ることができる。この情報はメモリ素子の制御に用いることができる。ワードライン位置又はプログラム−消去サイクルに関して、再び、試験又はシミュレーションによって種々の切り替えポイント及び種々のワードライン位置についてのフェイルビット数、又は、プログラム−消去サイクル数を示すことができ、最適切り替えポイントを得ることができる。基本的に、切り替えの最適化は、性能に影響を及ぼすことがある任意の特性について実現できる。
【００８２】
可能なときには、二重プログラムパルスの代わりに単一プログラムパルスを使用することによってプログラミング時間を節約できる。上述したように、Ｖｐｇｍが低い早期のパルスはプログラム外乱を引き起こす可能性は低く、従って単一プログラムパルスを使用して時間を節約できるため、ペアビットプログラミング方式の使用をＶｐｇｍが高いときのパルスに制限してもよい。
【００８３】
また、プログラミング手順を切り替えるプログラミングシーケンス２１２０を示す図２１Ｂを参照されたい。シーケンス２１２０の第１の部分、つまり、第１サブシーケンス２１３０では、単一のプログラムパルス（振幅がＶＰＧＭ１、ＶＰＧＭ２、ＶＰＧＭ３．．．）が印加され、その後に、検証パルスのセットが続く。シーケンス２１２０の第２の部分、つまり、第２のサブシーケンス２１４０では、二重プログラムパルス（振幅がＶＰＧＭ（Ｎ）、ＶＰＧＭ（Ｎ＋１）、ＶＰＧＭ（Ｎ＋２）．．．）が印加され、その後に、検証パルスのセットが続く。したがって、シーケンス２１２０のＮ番目のプログラムパルスは、第２のサブシーケンス２１４０の最初のプログラムパルスである。
【００８４】
図２１Ａでは、ステップ２１００では、第１のプログラミング手順を用いてプログラミングを開始する。例えば、これは、全てのビットラインが一斉にプログラミングされる全ビットラインプログラミングである場合がある。ステップ２１０２では、プログラムパルスを印加する。ステップ２１０４は、１セットの検証パルス（又は２セットの検証パルス）を印加すること等によって、検証動作を実行する。決定ステップ２１０６では、プログラム手順を切り替えるための条件が満たされたかどうかを判定する。これは、Ｎ個のプログラムパルスが印加されたとき等（例えば、Ｎ個のプログラム反復が完了したとき等）の所定の条件である場合がある。
【００８５】
決定ステップは、プログラミングが完了した選択記憶素子のパーセンテージや、粗プログラミングからファインプログラミングに移行した選択記憶素子のパーセンテージ等のような、第１のプログラミング手順の間に判定されてメモリ素子に適応される動的条件を含んでいてもよい。静的条件と動的条件の両方を使用できる。例えば、８回のプログラム反復が完了し、かつ、選択記憶素子の５０％がプログラミングを完了して追加のプログラミングからロックアウトされている場合に、切り替えを行ってもよい。別の例では、切り替えは、８回のプログラム反復が完了し、かつ、選択された記憶素子の８０％がプログラミングを完了しているか、又は、ファインプログラミングモードに移行している場合に、切り替えを行ってもよい。
【００８６】
切り替えが決定ステップ２１０６で示されない場合には、第１のプログラミング手順の次の反復がステップ２１０８で開始され、第１のプログラミング手順のプログラミングはステップ２１０２に続く。切り替えが実際にステップ２１０６で行われる場合には、第２のプログラミング手順がステップ２１１０で開始する。例えば、ここでは、本明細書で説明されたバリエーションの何れかにより、ビットラインの隣接ペア、または、３つのうちの１つのビットラインをプログラミングすることができる。ステップ２１１２では、１つ又は複数のプログラムパルスが印加される。ステップ２１１４では、１つ又は複数の検証動作が実行される。決定ステップ２１１６では、次の反復があるかどうか（例えば、プログラミングされていない選択記憶素子が残っているか、最大数の反復を超えていないか等）を判定する。次の反復がある場合、プロセスはステップ２１１２で続行する。次の反復がない場合、プログラミングはステップ２１１８で完了する。
【００８７】
図２２は、ＮＡＮＤストリングレベルのペアビットプログラミングを、ビットラインレベルの従来の偶数／奇数検出に変換するメモリアレイのレイアウトの例である。いくつかのメモリデバイスは、隣接ビットラインを一斉に検出する全ビットライン（ＡＢＬ）検出を実行可能な検出回路を有さない。代わりに、奇数番号が付けられたビットラインとは別に、偶数番号が付けられたビットラインをプログラミングし、検証する奇数−偶数検出回路が使用される。このような回路を使用した場合、接地されたビットラインが、読み出し中の各ビットラインの両側に必要とされ、したがってビットライン放電は結合ノイズを生じさせない。標準のＮＡＮＤレイアウトを使用した場合には、従来の偶数／奇数検出でペアビットラインプログラミングを実現することは不可能であろう。
【００８８】
既存の非ＡＢＬ検出回路を維持しながら、隣接ＮＡＮＤストリングのペアを一度に検出する本明細書のプログラミング技法を実現するために、メモリデバイス内の活性領域からビットラインへの接続に修正を加えることができる。そうでなければ、既存の非ＡＢＬ検出回路はこの機能に対応できない。特に、ビットラインのペアを効果的に「フリップフロップ」するようにレイアウトを修正して、従来の偶数／奇数検出でペアビットラインプログラミングを達成する。この提案で、従来の検出に必要とされるように金属ビットラインレベルで偶数／奇数パターンを維持しながら、ＮＡＮＤストリングレベルでのペアビットラインプログラミングが達成され、これは重要である。メモリ素子が製作されるときに、修正を加えることができる。
【００８９】
メモリアレイ２２００は、記憶素子が形成される複数の活性領域２２０２、２２０４、２２０６、２２０８、２２１０、２２１２、２２１４、及び２２１６を含む。例えば、これは図３のｐ−ウェル領域１４０を含んでよい。各活性領域は、直列接続の不揮発性記憶素子のストリングの一部であり、このような活性領域のセットは、互いに平行に延在するこのようなストリングの一部の部分である。各活性領域の上方には、関連する第１及び第２の金属層があり、第２の金属層が導電性ビットラインである。活性領域から第１の金属層へのビアホールは八角形で表されている。一方、第１の金属層からより上方の第２の金属層へのビアホールは「Ｘ」の付いた正方形で表されている。各ビットラインは記憶素子のストリングの１つと接続されており、例えば、少なくとも部分的に真上に、各ストリングの上を伸びている。ビットラインのセットは、ストリングのセットに対応し、１つのビットラインが各ストリングと連通する。第１の金属層での導電路は、ビットラインに沿って、及び／又は、あるビットラインから別のビットラインに延在できる。
【００９０】
ＢＬ０の場合、第２の金属層２２２２は、導電路２２４０を通って同じビットラインの関連付けられた第１の金属層及び活性領域２２０２に接続されている。同じことがＢＬ３、ＢＬ４、及びＢＬ７に当てはまる。具体的には、ＢＬ３の場合、第２の金属層２２２８が、導電路２２５５を通して同じビットラインの関連付けられた第１の金属層及び活性領域２２０８に接続されている。ＢＬ４の場合、第２の金属層２２３０が、導電路２２６０を通して同じビットラインの関連付けられた第１の金属層及び活性領域２２１０に接続されている。ＢＬ７の場合、第２の金属層２２３６が、導電路２２７５を通して同じビットラインの関連付けられた第１の金属層及び活性領域２２１６に接続されている。アレイの全ストリングの第１のサブセットであるＢＬ０、ＢＬ３、ＢＬ４及びＢＬ７と関連付けられた記憶素子のストリングの場合、各ストリングは、ストリング上に延在するビットライン２２２２、２２２８、２２３０又は２２３６の中の１本に電気的に接続される。
【００９１】
しかしながら、ＢＬ１は、それが上にある、又は、それがビットラインのセットでの相対的な位置により関連付けられる活性領域には接続されていない。代わりに、ＢＬ１は隣の活性領域に接続されている。特に、活性領域２２０６は、導電路２２４４を通してＢＬ１の第２の金属層２２２４に接続され、ＢＬ２の場合、活性領域２２０４が導電路２２５０を通してＢＬ２の第２の金属層２２２６に接続されている。同様に、ＢＬ５の場合、活性領域２２１４が導電路２２７０を通してＢＬ５の第２の金属層２２３２に接続され、ＢＬ６の場合、活性領域２２１２が導電路２２６５を通してＢＬ６の第２の金属層２２３４に接続されている。
【００９２】
したがって、第１のセットのビットラインの隣接ペア（例えば、ＢＬ３、ＢＬ４；ＢＬ７、ＢＬ８（不図示）等）の金属ビットラインはその関連付けられた活性領域に接続されており、第２のセットのビットラインの隣接ペア（例えば、ＢＬ１、ＢＬ２；ＢＬ５、ＢＬ６）の金属ビットラインは隣のビットラインの関連付けられた活性領域に接続されている。概念は、追加のビットラインのあるメモリアレイに拡張できる。アレイ内の全ストリングの第２のサブセットであるＢＬ１、ＢＬ２、ＢＬ５、及びＢＬ６と関連付けられた記憶素子のストリングの場合には、各ストリングは、隣接ストリングの上に延在するビットライン２２２４、２２２６、２２３２又は２２３４の中の各１本に電気的に接続される。
【００９３】
結果的に、制御及び検出回路が、それらが金属層２２２６を介してＢＬ２と関連付けられた活性領域を検出していると考えるとき、ＢＬ１と関連付けられた活性領域が代わりに検出される。同様に、制御及び検出回路が、それらが金属層２２２４を介してＢＬ１と関連付けられた活性領域を検出していると考えるとき、ＢＬ２と関連付けられた活性領域が検出され、制御及び検出回路が、それらが金属層２２３２を介してＢＬ５と関連付けられた活性領域を検出していると考えるとき、ＢＬ６と関連付けられた活性領域が検出され、制御及び検出回路が、それらが金属層２２３４を介してＢＬ６と関連付けられた活性領域を検出していると考えるとき、ＢＬ５と関連付けられた活性領域が検出される。
【００９４】
結果的に、隣接ＮＡＮＤストリングのペア２２８０（活性領域２２０２及び２２０４）、２２８２（活性領域２２０６及び２２０８）、２２８４（活性領域２２１０及び２２１２）、ならびに２２８６（活性領域２２１４及び２２１６）をグループ化することができ、ペア２２８０及び２２８４は、偶数ビットライン検出の間に検証パルスの第１のセット（図１４の検証パルス１４０６、１４１４、１４２２及び１４３０等）を使用して一斉に検出される第１のセット内にあり、ペア２２８２及び２２８６は、奇数ビットライン検出の間に検証パルスの第２のセット（図１４の検証パルス１４０８、１４１６、１４２４、及び１４３２等）を使用して一斉に検出される第２のセット内にある。基本的に、どの活性領域がどのビットラインと関連付けられるかの再割り当てがされる。
【００９５】
図２３Ａは、その関連付けられたビットラインに接続される活性領域を示す。特に、ＢＬ０の活性領域２２０２は、ＮＡＮＤストリング部分２２９０及び２２９２を含むとして示される。ＮＡＮＤストリング部分２２９０及び２２９２のそれぞれが、複数の記憶素子及びドレイン側選択ゲート（ＳＧＤ）を含んでいる。ｎ型ドープ領域等の活性領域２３０５は、選択ゲート間に延在する。ソース／ドレイン領域も、隣接記憶素子の間に延在する。導電路２２４０は、活性領域２３０５から第１の金属層２３０２へ向けて上方に伸びるビアホール２３００、及び、第１の金属層２３０２からＢＬ０の第２の金属層２２２２へ向けて上方に伸びるビアホール２３０４を含む。充填材層を含む他の層は、明確にするために示されていない。図２３Ｂは、図２３Ａの構造の斜視図を示し、第２の金属層又はビットラインが、どのように活性領域／ＮＡＮＤストリング２２０２の真上にあるのかを示す。明確にするために、記憶素子及び選択ゲートは図示されていない。
【００９６】
図２４は、隣接ビットラインに接続されている活性領域の斜視図を示す。類似する番号が付けられた素子は、図中で互いに対応する。明確にするために、記憶素子及び選択ゲートは図示されていない。特に、活性領域２２０４は、ビットラインＢＬ２の金属層２２２６に導電路２２５０を介して接続される。導電路２２５０は、活性領域（不図示）から金属層部分２４０２へ向けて上方に伸びるビアホール２４００、隣接ビットラインに向かって側面方向に伸びる金属層部分２４０４、及び、金属層部分２４０４からＢＬ２の第２の金属層２２２６へ向けて上方に伸びるビアホール２４０６を含む。
【００９７】
同様に、活性領域２２０６は、ビットラインＢＬ１の金属層２２２４に導電路２２４４を介して接続される。導電路２２４４は、活性化部位（不図示）から金属層部分２４１２へ向けて上方に伸びるビアホール２４１０、隣接ビットラインに向かって側面方向に延在する金属層部分２４１４、及び金属層部分２４１４からＢＬ１の第２の金属層２２２４へ向けて上方に伸びるビアホール２４１６を含む。
【００９８】
前記発明を実施するための形態は、図解及び説明のために提示された。それは、網羅的であること、または開示されている正確な形式に本発明を制限することを意図していない。上記の教示を鑑みて、多くの修正及び変形が考えられる。説明された実施形態は、本発明及びその実践的な用途の原則を最もよく説明し、それによって当業者が多様な実施例において、及び意図された特定の使用に適するような多様な修正をもって本発明を最もよく活用できるようにするために選ばれた。本発明の範囲は、本明細書に添付される特許請求項の範囲により定められることが意図される。
【図１】
0005643212.tif 000002
【図２】
0005643212.tif 000003
【図３】
0005643212.tif 000004
【図４】
0005643212.tif 000005
【図５】
0005643212.tif 000006
【図６】
0005643212.tif 000007
【図７】
0005643212.tif 000008
【図８Ａ】
0005643212.tif 000009
【図８Ｂ】
0005643212.tif 000010
【図８Ｃ】
0005643212.tif 000011
【図９】
0005643212.tif 000012
【図１０Ａ】
0005643212.tif 000013
【図１０Ｂ】
0005643212.tif 000014
【図１０Ｃ】
0005643212.tif 000015
【図１１】
0005643212.tif 000016
【図１２】
0005643212.tif 000017
【図１３】
0005643212.tif 000018
【図１４】
0005643212.tif 000019
【図１５】
0005643212.tif 000020
【図１６】
0005643212.tif 000021
【図１７】
0005643212.tif 000022
【図１８】
0005643212.tif 000023
【図１９Ａ】
0005643212.tif 000024
【図１９Ｂ】
0005643212.tif 000025
【図２０】
0005643212.tif 000026
【図２１Ａ】
0005643212.tif 000027
【図２１Ｂ】
0005643212.tif 000028
【図２２】
0005643212.tif 000029
【図２３Ａ】
0005643212.tif 000030
【図２３Ｂ】
0005643212.tif 000031
【図２４】
0005643212.tif 000032