(57)【要約】      （修正有）【課題】３次元メモリセルの垂直ストリング内におけるメモリホール内に存在するメモリセルのゆがみによる影響を緩和する不揮発性メモリシステムを提供する。【解決手段】不揮発性メモリシステム１００において、コントローラ１２２は、第１のプログラムパラメータを使用して、消去状態から複数のプログラム状態へ不揮発性メモリセルのグループをプログラムする。１つ以上のコントローラは、グループの閾値電圧を測定してグループ内のメモリホールゆがみの程度を判定し、グループ内のメモリホールゆがみの程度に基づいて選択された第２のプログラムパラメータを使用して、グループを消去状態から複数のプログラム状態にプログラムする。【選択図】図１
2020187817.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
不揮発性メモリセルと、
前記不揮発性メモリセルと通信する１つ以上の制御回路と、を備え、前記１つ以上の制御回路が、
第１のプログラムパラメータを使用して、消去状態から複数のプログラム状態へ不揮発性メモリセルのグループをプログラムし、
前記グループの閾値電圧を測定して前記グループ内のメモリホールゆがみの程度を判定し、
前記グループ内の前記メモリホールゆがみの前記程度に基づいて選択された第２のプログラムパラメータを使用して、前記グループを前記消去状態から前記複数のプログラム状態へプログラムするように構成されている、装置。
【請求項２】
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を下回っていることに応答して、前記第１のプログラムパラメータに比べてより大きいプログラムステップサイズを、前記第２のプログラムパラメータに使用するように更に構成されている、請求項１に記載の装置。
【請求項３】
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が前記閾値を下回っていることに応答して、前記プログラム状態の中で最も低いプログラム状態のための第１の検証電圧と前記プログラム状態の中で最も高いプログラム状態のための第２の検証電圧との間のより大きい電圧ギャップを、前記より大きいプログラムステップサイズの使用と組み合わせて使用するように更に構成されている、請求項２に記載の装置。
【請求項４】
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を下回っていることに応答して、前記第１のプログラムパラメータのＡ状態検証電圧よりも低い前記第２のプログラムパラメータのＡ状態検証電圧を用いて、前記複数のプログラム状態のうちのＡ状態を検証するように更に構成されている、請求項１に記載の装置。
【請求項５】
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を上回っていることに応じて、前記第１のプログラムパラメータに比べてより小さいプログラムステップサイズを、前記第２のプログラムパラメータに使用するように更に構成されている、請求項１に記載の装置。
【請求項６】
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が前記閾値を上回っていることに応じて、前記プログラム状態の中で最も低いプログラム状態のための第１の検証電圧と前記プログラム状態の中で最も高いプログラム状態のための第２の検証電圧との間のより小さい電圧ギャップを、前記より小さいプログラムステップサイズの使用と組み合わせて使用するように更に構成されている、請求項５に記載の装置。
【請求項７】
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を上回っていることに応答して、前記第１のプログラムパラメータのＡ状態検証電圧よりも高い前記第２のプログラムパラメータのＡ状態検証電圧を用いて、前記複数のプログラム状態のうちのＡ状態を検証するように更に構成されている、請求項１に記載の装置。
【請求項８】
前記１つ以上の制御回路が、ゾーン内の閾値電圧を有するメモリセルの数に基づいて、前記グループ内の前記メモリホールゆがみの前記程度を判定するように更に構成されている、請求項１に記載の装置。
【請求項９】
前記メモリホールゆがみが、メモリホールストリエーションを含む、請求項１に記載の装置。
【請求項１０】
前記不揮発性メモリセルが、メモリセル材料の環状フィルムを含み、前記１つ以上の制御回路が、前記メモリセル材料の環状フィルムのゆがみの程度を判定するように構成されている、請求項１に記載の装置。
【請求項１１】
不揮発性メモリを動作させる方法であって、
消去状態の上限境界を画定する消去状態検証電圧を下回るレベルまで不揮発性メモリセルのグループを消去することと、
既定のＡ状態検証電圧を用いてＡ状態を検証することを含む、前記消去状態から複数のプログラム状態へ前記グループをプログラムすることと、
グループのプログラミング直後に、消去状態検証電圧と既定のＡ状態検証電圧との間のゾーン内にあるメモリセルの数を判定することと、
前記ゾーン内にある前記メモリセルの数を判定した後に、前記グループを前記消去状態へ消去することと、
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することを含む、前記消去状態から前記複数のプログラム状態へ前記グループをプログラムすることと、を含む、方法。
【請求項１２】
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することが、
前記数が閾値を下回っていることに応答して、前記既定のＡ状態検証電圧を下回る検証電圧を用いて前記Ａ状態を検証することを含む、請求項１１に記載の方法。
【請求項１３】
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することを含む、前記消去状態から前記複数のプログラム状態へ前記グループをプログラムすることが、
前記ゾーン内にある前記メモリセルの数が前記閾値を下回っていることに応答して、既定のプログラム電圧ステップサイズよりも大きいプログラム電圧ステップサイズを使用して前記グループをプログラムすることを更に含む、請求項１２に記載の方法。
【請求項１４】
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することが、
前記数が閾値を上回っていることに応答して、前記既定のＡ状態検証電圧を上回る検証電圧を用いて前記Ａ状態を検証することを含む、請求項１１に記載の方法。
【請求項１５】
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することを含む、前記消去状態から前記複数のプログラム状態へ前記グループをプログラムすることが、
前記ゾーン内にある前記メモリセルの数が前記閾値を上回っていることに応答して、既定のプログラム電圧ステップサイズよりも小さいプログラム電圧ステップサイズを使用して前記グループをプログラムすることを更に含む、請求項１４に記載の方法。
【請求項１６】
不揮発性記憶デバイスであって、
不揮発性メモリセルの列を含む３次元アレイと、
１つ以上の制御回路と、を備え、前記１つ以上の制御回路が、
第１のプログラム電圧ステップサイズを使用して、消去状態から複数のプログラム状態へ不揮発性メモリセルのグループをプログラムし、
グループをプログラムする結果としてプログラムディスターブされる消去状態メモリセルの数を判定し、
前記第１のプログラム電圧ステップサイズを使用して前記グループをプログラミング後、前記グループを消去し、
前記第１のプログラム電圧ステップサイズを使用しているときに、プログラムディスターブされる前記消去状態メモリセルの数に基づく第２のプログラム電圧ステップサイズを使用して前記グループをプログラムするように構成されている、不揮発性記憶デバイス。
【請求項１７】
前記１つ以上の制御回路が、
前記プログラムディスターブ消去状態メモリセルの数が第１の閾値を下回っていることに応答して、前記第２のプログラム電圧ステップサイズのためのより大きいステップサイズを使用し、
前記プログラムディスターブ消去状態メモリセルの数が第２の閾値を上回っていることに応答して、前記第２のプログラム電圧ステップサイズのためのより小さいステップサイズを使用するように更に構成されている、請求項１６に記載の不揮発性記憶デバイス。
【請求項１８】
前記１つ以上の制御回路が、
前記第２のプログラム電圧ステップサイズを使用しているときに、前記第１の閾値を下回っている前記数に応答して、前記第１のプログラム電圧ステップサイズを用いてプログラムする際に使用されたＡ状態検証電圧よりも低いＡ状態検証電圧を使用してＡ状態を検証し、
前記第２のプログラム電圧ステップサイズを使用しているときに、前記第２の閾値を上回っている前記数に応答して、前記第１のプログラム電圧ステップサイズを用いてプログラムする際に使用された前記Ａ状態検証電圧よりも高いＡ状態検証電圧を使用して前記Ａ状態を検証するように更に構成されている、請求項１７に記載の不揮発性記憶デバイス。
【請求項１９】
前記１つ以上の制御回路が、
前記第１の閾値と前記第２の閾値との間にある前記プログラムディスターブ消去状態メモリセルの数に応答して、第２のプログラム電圧ステップサイズのための前記第１のプログラム電圧ステップサイズを使用するように更に構成されている、請求項１７に記載の不揮発性記憶デバイス。
【請求項２０】
前記不揮発性メモリセルの列が、前記列内のメモリセル材料の環状フィルムを含み、前記１つ以上の制御回路が、前記プログラムディスターブ消去状態メモリセルの数に基づいて、前記環状フィルムのゆがみの程度を判定するように更に構成されている、請求項１６に記載の不揮発性記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリデバイスの動作に関する。
【背景技術】
【０００２】
半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、電子医療機器、モバイルコンピューティングデバイス、サーバ、ソリッドステートドライブ、非モバイルコンピューティングデバイス、及び他のデバイス等の様々な電子デバイスに広く使用されている。半導体メモリは、不揮発性メモリ又は揮発性メモリを含むことがある。不揮発性メモリにより、不揮発性メモリが電源（例えば、電池）に接続されていないときでも、情報を記憶及び保持することが可能になる。
【０００３】
３次元（three-dimensional、３Ｄ）メモリ構造では、メモリセルは、スタック内の垂直ストリング内に配置されてもよく、スタックは、交互の導電層及び誘電体層を含む。導電層は、メモリセルに接続されるワード線として機能する。メモリセルのストリングは、交互の酸化ケイ素及び犠牲層のスタックを通してメモリホールを穿孔し、犠牲層を導電層で置き換え、及びメモリセル材料の環状フィルムでメモリホールを充填することによって形成されてもよい。導電層は、ワード線、並びにメモリセルの制御ゲートの両方として機能する。環状フィルムは、制御ゲートに隣接する遮断層と、電荷蓄積領域と、トンネル誘電体と、チャネル（又は本体）と、を含み得る。
【０００４】
いくつかの技術では、メモリセルのグループのプログラミング前に、消去状態と呼ばれるグループは消去される。次いで、メモリセルの一部は、消去状態から１つ以上のプログラム状態へプログラムされる。メモリセルの一部は、プログラミング後に消去状態へ留まることができる。いくつかのプログラミング技術では、各メモリセルは、プログラミング後の２つの状態のうちの１つにあり、これは単一レベルセル（single level cell、「ＳＬＣ」）と呼ばれ得る。いくつかのプログラミング技術では、各メモリセルは、プログラミング後の４つ以上の状態のうちの１つにあり、これはマルチレベルセル（mult-level cell、「ＭＬＣ」）と呼ばれ得る。いくつかのメモリセルは、プログラム可能な閾値電圧（threshold voltage、Ｖｔ）を有する。消去状態及び１つ以上のプログラム状態は、メモリセル閾値電圧に関して画定されてもよい。
【０００５】
プログラミング中、プログラミング用に選択されたメモリセルに接続されるワード線（「選択されたワード線」）にプログラミング電圧が印加されてもよい。次いで、メモリセルの閾値電圧は、各メモリセルがプログラムされている状態の適切な検証電圧で試験される。検証段階の後、選択されたワード線に別のプログラミング電圧を印加することができる。いくつかの技術では、プログラム電圧の大きさは、各検証段階後に増加する。検証を合格したメモリセルは、更なるプログラミングからロックアウトされてもよい。
【０００６】
選択されたワード線に接続されるメモリセル（「非選択メモリセル」）の一部は、プログラミングを禁止する必要があり得る。いくつかの技術では、メモリセルがプログラミングを受信しないワード線（「非選択ワード線」）に昇圧電圧が印加される。昇圧電圧は、プログラミングが禁止されるこのような非選択メモリセルのチャネル電位を上昇させるのに役立ち、それにより、非選択メモリセルの望ましくないプログラミングを防止する。
【図面の簡単な説明】
【０００７】
同様に番号付けされた要素は、異なる図で共通の構成要素を指す。
【０００８】
【図１】メモリデバイスの機能ブロック図である。
【０００９】
【図２】図１のセンスブロック５１の一実施形態を示すブロック図である。
【００１０】
【図３】メモリシステムの一実施形態を描画するブロック図である。
【００１１】
【図４】メモリデバイスの斜視図である。
【００１２】
【図４Ａ】一実施形態における、３Ｄメモリ構造の例示的なワード線層の上面図を示す。
【００１３】
【図４Ｂ】図４Ａと一致する例示的なＳＧＤ層の上面図を示す。
【００１４】
【図４Ｃ】図４のブロックのうちの１つの一部分の例示的な断面図を示す。
【００１５】
【図４Ｄ】図４Ｃの領域４２３の図を示す。
【００１６】
【図４Ｅ】図４Ｄのメモリホール４１０の断面（ｘ−ｙ平面内）を示す。
【００１７】
【図５】著しくゆがんでいるメモリホールの一実施例の断面図である。
【００１８】
【図６】アレイに編成されたメモリセルのＮＡＮＤストリングをプログラムするためのプロセスの一実施形態を説明するフローチャートである。
【００１９】
【図７Ａ】プログラムされたメモリセルに関する閾値電圧の分布を示す。
【００２０】
【図７Ｂ】重度のゆがみを有するメモリセルのグループで発生し得る問題を示すための、プログラミング後の８つの可能な閾値電圧分布を示す。
【００２１】
【図７Ｃ】図７Ａの実施例で使用されたものとは異なるプログラムパラメータを使用したプログラミング後の８つの閾値電圧分布を示す。
【００２２】
【図７Ｄ】図７Ｃの実施例で使用されたものとは異なるプログラムパラメータを使用して示すための、プログラミング後の閾値電圧分布を示す。
【００２３】
【図８】メモリセルのグループのメモリホールゆがみの程度に１つ以上のプログラムパラメータを調整するために使用されるメモリセルをプログラムするプロセスの一実施形態である。
【００２４】
【図９】Ａ状態検証電圧が、消去検証電圧とＡ状態検証電圧との間のゾーン内のメモリセルのカウントに基づいて調整されるプロセスの一実施形態のフローチャートである。
【００２５】
【図１０】プログラムステップサイズが、消去検証電圧とＡ状態検証電圧との間のゾーン内のメモリセルのカウントに基づいて調整されるプロセスの一実施形態のフローチャートである。
【００２６】
【図１１】プログラムステップサイズ及び１つ以上の検証レベルの両方が、消去検証電圧とＡ状態検証電圧との間のゾーン内のメモリセルのカウントに基づいて調整されるプロセスの一実施形態のフローチャートである。
【発明を実施するための形態】
【００２７】
ゆがんだ不揮発性メモリセルの緩和のための技術が提供される。ゆがみは、メモリセルの性能に悪影響を及ぼし得る。例えば、ゆがみにより、消去状態へ留まるべきメモリセルが、プログラミング直後に別の状態になる場合がある。以下でより詳細に考察されるように、この問題の原因として、ゆがんだメモリホール内に存在するメモリセル内の電界の性質が考えられる。
【００２８】
いくつかの実施形態では、メモリホール内に存在するメモリセルのゆがみが緩和される。メモリホールは、半導体製造プロセス中に形成される任意の開口部であり、メモリセル又はメモリセルの一部分が形成される。いくつかの実施形態では、メモリホールは、交互の酸化ケイ素層及び窒化ケイ素層のスタックを通してメモリホールを穿孔し、窒化ケイ素層を導電層で置換し、メモリセル材料の環状フィルムでメモリホールを充填することによって形成される。導電層は、ワード線、並びにメモリセルの制御ゲートの両方として機能する。環状フィルムは、制御ゲートに隣接する遮断酸化物層と、電荷蓄積領域と、トンネル誘電体と、チャネル（又は本体）と、を含み得る。
【００２９】
図４Ｅは、本明細書でメモリホール（memory hole、ＭＨ）と呼ばれるものに存在する不揮発性メモリセルの環状フィルムの一実施例の断面図を示す。いくつかの環状メモリセルフィルム４６３〜４６７が示されている。これらのフィルム４６３〜４６７は、メモリホール内に形成されてもよい。例えば、不揮発性メモリセルは、ＳｉＮ又は他の窒化物などの遮断酸化物／遮断高ｋ材料４６３、電荷トラップ層又はフィルム４６４、トンネル層４６５、ポリシリコン本体又はチャネル４６６、及び誘電体コア４６７を含み得る。ブロック酸化物４６３は、いくつかの実施形態では、導電性制御ゲート（図４Ｅに示されていない）によって取り囲まれている。
【００３０】
製造プロセスの制限によって、メモリホールがゆがみとなる場合がある。図５は、ゆがんだメモリホール内に存在する不揮発性メモリセルの環状フィルムの別の例の断面図を示す。メモリホールの不規則な形状により、環状フィルム４６３〜４６７も不規則な形状を有する。上述のように、環状フィルムは、導電性制御ゲートによって取り囲まれてもよい。導電性制御ゲートは図５には示されていないが、導電性制御ゲートは、フィルム４６３の境界に不規則な形状を有することが理解されるであろう。メモリホールの不規則な形状は、メモリセル内の電界の強度に影響を及ぼす。例えば、メモリセル動作中、電圧が制御ゲートに印加されると、制御ゲート形状がより尖った場所で電界が強く、制御ゲート形状が真直な場所で電界が弱くなり得る。対照的に、メモリセル動作中、電界は、図４Ｅの例示的なメモリホールに対してより均一になる。図５のメモリホールゆがみの１つの考えられる結果は、非選択メモリセル（選択されたワード線に接続された）の望ましくないプログラミングを防止することを意図した（制御ゲートに印加される）昇圧電圧は、望ましくないプログラミングを防止するのに十分に有効でない場合があることである。可能な影響は、消去状態へ留まるべきメモリセルであって、プログラミング直後にプログラム状態（例えば、Ａ状態）にあるべきであるメモリセルに関する。
【００３１】
いくつかの実施形態では、不揮発性メモリセルのグループのプログラミング中の１つ以上のプログラムパラメータは、グループ内のメモリホールゆがみの程度に基づいて選択される。１つ以上のプログラムパラメータは、１）プログラムループ間のプログラム電圧ステップサイズ、２）消去状態検証基準電圧とＡ状態検証基準電圧との間の電圧ギャップ、３）メモリセルがその目標状態へプログラムされているかどうかを検証するために使用される１つ以上の検証基準レベル、及び／又は４）最低プログラム状態の第１の検証基準電圧と最高プログラム状態の第２の検証基準電圧との間の電圧ギャップを含み得るが、これらに限定されない。
【００３２】
なお、いくつかの実施形態では、各メモリホールゆがみの程度を特徴付けるのではなく、メモリセルのグループのメモリホールゆがみの程度が判定されることに留意されたい。グループ内のゆがみの程度には、多くのばらつきが存在し得る。グループ内のいくつかのメモリホールは、良好に形成されてもよく（図４Ｅの例など）、グループ内の他のメモリホールは非常に不規則であってもよく（図５の例など）、グループ内の他のメモリホールは、図４Ｅの例と図５の例との間の不規則性を有してもよく、更に他のメモリホールは図５の例よりも更に不規則であり得る。いくつかの実施形態では、グループ内のメモリホールゆがみの程度は、消去状態検証電圧と、グループをプログラミング直後のＡ状態検証電圧との間のゾーン内に閾値電圧を有するメモリセルの数に基づく。このゾーンは、消去状態検証基準電圧とＡ状態検証基準電圧との間の領域全体を占有する必要はないことに留意されたい。例えば、ゾーンは、Ａ状態を読み出すために使用される基準電圧とＡ状態検証基準電圧との間にあり得る。
【００３３】
上記は、メモリセルのグループのゆがみの程度にプログラムパラメータを調整するために使用されてもよい。メモリセルのグループのメモリホールが著しくゆがんでいる場合、１つ以上のプログラムパラメータは、ゆがみに起因して生じる１つ以上の問題に対処するように選択されてもよい。なお、グループ内のメモリホールの一部（更には多く）は、十分に形成され得ることに留意されたい。一実施形態では、グループ内のメモリホールゆがみが閾値を上回っていることに応答して、消去状態検証電圧とＡ状態検証レベルとの間のマージンが増加する。一実施形態では、メモリホールゆがみの程度が閾値を上回っていることに応答して、より小さいプログラムステップサイズが使用される。一実施形態では、メモリホールゆがみの程度が閾値を上回っていることに応答して、より小さいプログラムステップサイズ及び増加したＡ状態検証レベルの両方が使用される。このプログラムパラメータの組を使用することにより、使用に好適でない可能性があるメモリセルのグループ（例えば、ダイ、平面、ブロック）を使用するのを可能にし得る。
【００３４】
メモリセルのグループのメモリホールゆがみの程度が低い場合、プログラムパラメータは、例えば、既定の値に対する性能レベルを増加させるように調整することができる。グループ内のメモリホールの数は、（図５の例ように）やや不規則であってもよく、又は更には著しく不規則であってもよいことに留意されたい。一実施形態では、メモリホールゆがみの程度が閾値を下回ると判定することに応答して、メモリセルのグループの性能レベルを（既定の性能レベルに対して）増大させる。一実施形態では、メモリホールゆがみの程度が閾値を下回っていることに応答して、（既定のプログラムステップサイズに対して）より大きいプログラムステップサイズが使用される。より大きいプログラムステップサイズを使用して、プログラミング時間を短縮することにより性能を向上させることができる。一実施形態では、消去状態検証基準電圧とＡ状態検証基準レベルとの間のマージンは、グループ内のメモリホールゆがみが閾値を下回っていることに応答して（既定のＡ状態検証基準レベルに比べて）減少し、他のプログラム状態間のマージンをより大きくすることを可能にし得る。一実施形態では、メモリホールゆがみの程度が閾値を下回っていることに応答して、より大きいプログラムステップサイズ及び増加したＡ状態検証レベルの両方が使用される。したがって、性能は、既定の性能レベルに比べて改善され得る。
【００３５】
図１〜４Ｅは、本明細書で提案される技術を実装するために使用することができるメモリシステムの一実施例を記載する。図１は、例示的メモリシステム１００の機能ブロック図である。図１に示す構成要素は、電気回路である。メモリシステム１００は、１つ以上のメモリダイ１０８を含む。１つ以上のメモリダイ１０８は、完全なメモリダイ又は部分的なメモリダイであり得る。一実施形態では、各メモリダイ１０８は、メモリ構造１２６、制御回路１１０、及び読み出し／書き込み回路１２８を含む。メモリ構造１２６は、行デコーダ１２４を介してワード線によりアドレス指定可能であり、列デコーダ１３２を介してビット線によりアドレス指定可能である。読み出し／書き込み／消去回路１２８は、ＳＢ１、ＳＢ２、ＳＢｐ（感知回路）を含む複数のセンスブロック５１を含み、メモリセルのページが並列に読み出し又はプログラムされることを可能にする。また、多くのメモリセルストリングを同時に消去することができる。
【００３６】
一部のシステムでは、コントローラ１２２は、１つ以上のメモリダイ１０８と同じパッケージ（例えば、リムーバブルストレージカード）に含まれる。しかしながら、他のシステムでは、コントローラはメモリダイ１０８から分離することができる。いくつかの実施形態では、コントローラはメモリダイ１０８とは異なるダイ上にあることになる。いくつかの実施形態では、１つのコントローラ１２２は、複数のメモリダイ１０８と通信することになる。他の実施形態では、各メモリダイ１０８はそれ自体のコントローラを有する。コマンド及びデータは、データバス１２０を介してホスト１４０とコントローラ１２２との間で、また、線１１８を介してコントローラ１２２と１つ以上のメモリダイ１０８との間で伝送される。一実施形態では、メモリダイ１０８は、線１１８に接続する１組の入力及び／又は出力（input and/or output、Ｉ／Ｏ）ピンを含む。
【００３７】
制御回路１１０は、読み出し／書き込み回路１２８と協働して、メモリ構造１２６でメモリ動作（例えば、書き込み、読み出し、消去等）を実施し、ステートマシン１１２、オンチップアドレスデコーダ１１４、及び電力制御回路１１６を含む。一実施形態では、制御回路１１０は、レジスタ、ＲＯＭヒューズ、並びにベース電圧及び他のパラメータな等の既定の値を記憶するための他の記憶デバイス等のバッファを含む。
【００３８】
オンチップアドレスデコーダ１１４は、ホスト１４０又はコントローラ１２２によって使用されるアドレスと、デコーダ１２４及び１３２によって使用されるハードウェアアドレスとの間のアドレスインターフェースを提供する。電力制御回路１１６は、メモリ動作中にワード線、ビット線、及び選択線に供給される電力及び電圧を制御する。電力制御回路１１６は、一実施形態では、電圧回路を含む。電力制御回路１１６は、電圧を生成するための電荷ポンプを含み得る。センスブロックは、ビット線ドライバを含む。電力制御回路１１６は、一実施形態では、ステートマシン１１２の制御下で実行される。
【００３９】
図１に描画される他の回路の全て又は一部と組み合せたステートマシン１１２及び／又はコントローラ１２２（又は同等に機能する回路）は、本明細書に記載する機能を実施する１つ以上の制御回路であるとみなすことができる。１つ以上の制御回路は、ハードウェアのみ、又はハードウェアとソフトウェア（ファームウェアを含む）との組み合せを含むことができる。例えば、本明細書に記載する機能を実施するためにファームウェアによってプログラムされたコントローラは、制御回路の一例である。１つ以上の制御回路は、プロセッサ、プログラマブルゲートアレイ（Programmable Gate Array、ＰＧＡ）、フィールドプログラマブルゲートアレイ（Field Programmable Gate Array、ＦＰＧＡ）、特定用途向け集積回路（Application Specifuc Integrated Circuit、ＡＳＩＣ）、集積回路、又は他の種類の回路を含むことができる。
【００４０】
（オンチップ又はオフチップの）コントローラ１２２（一実施形態では電気回路である）は、１つ以上のプロセッサ１２２ｃ、ＲＯＭ１２２ａ、ＲＡＭ１２２ｂ、メモリインターフェース（memory interface、ＭＩ）１２２ｄ、及びホストインターフェース（host interface、ＨＩ）１２２ｅを含んでもよく、これらの全ては、相互接続されている。記憶デバイス（ＲＯＭ１２２ａ、ＲＡＭ１２２ｂ）は、１組の命令（ファームウェアを含む）等のコード（ソフトウェア）を記憶し、１つ以上のプロセッサ１２２ｃは、この１組の命令を実行して本明細書に記載する機能を提供するように動作可能である。代替的に又は追加的に、１つ以上のプロセッサ１２２ｃは、１つ以上のワード線に接続されたメモリセルの予約領域等の、メモリ構造内の記憶デバイスからコードにアクセスすることができる。ＲＡＭ１２２ｂは、キャッシュするプログラムデータ（後述する）を含む、コントローラ１２２のためのデータを記憶することができる。ＲＯＭ１２２ａ、ＲＡＭ１２２ｂ及びプロセッサ１２２ｃと通信するメモリインターフェース１２２ｄは、コントローラ１２２と１つ以上のメモリダイ１０８との間の電気的インターフェースを提供する電気回路である。例えば、メモリインターフェース１２２ｄは、信号のフォーマット又はタイミングを変更すること、バッファを提供すること、サージから隔離すること、Ｉ／Ｏをラッチすること等が可能である。１つ以上のプロセッサ１２２ｃは、メモリインターフェース１２２ｄを介して、制御回路１１０（又はメモリダイ１０８の別の構成要素）にコマンドを発することができる。ホストインターフェース１２２ｅは、ホスト１４０からコマンド、アドレス及び／又はデータを受信して、ホスト１４０にデータ及び／又はステータスを提供するために、ホスト１４０データバス１２０との電気的インターフェースを提供する。
【００４１】
一実施形態では、メモリ構造１２６は、ウェハ等の単一の基板上に複数のメモリレベルが形成される不揮発性メモリセルの３次元メモリアレイを含む。メモリ構造は、シリコン（又は他の種類の）基板上に配置された活性領域を有するメモリセルのアレイの１つ以上の物理レベルに、モノリシックに形成される任意の種類の不揮発性メモリを含み得る。一実施例では、不揮発性メモリセルは、電荷トラップ材料を有する垂直ＮＡＮＤストリングを含む。
【００４２】
別の実施形態では、メモリ構造１２６は、不揮発性メモリセルの２次元メモリアレイを含む。一実施例では、不揮発性メモリセルは、浮遊ゲートを利用するＮＡＮＤフラッシュメモリセルである。他の種類のメモリセル（例えば、ＮＯＲ型フラッシュメモリ）も使用することができる。
【００４３】
メモリ構造１２６に含まれるメモリアレイアーキテクチャ又はメモリセルの正確な種類は、上記の例に限定されない。多くの異なる種類のメモリアレイアーキテクチャ又はメモリ技術を使用して、メモリ構造１２６を形成することができる。本明細書で提案された新たに特許請求される実施形態の目的には、特定の不揮発性メモリ技術は必要とされない。メモリ構造１２６のメモリセルのための好適な技術の他の例としては、相変化メモリ（例えば、ＰＣＭ）などが挙げられる。メモリ構造１２６のメモリセルアーキテクチャに適した技術の例として、２次元アレイ、３次元アレイ、クロスポイントアレイ、スタック型２次元アレイ、垂直ビット線アレイ等が挙げられる。
【００４４】
当業者であれば、本明細書に記載されるこの技術は単一の特定のメモリ構造に限定されず、本明細書に記載され、当業者によって理解されるように、技術の趣旨及び範囲内で、多くの関連するメモリ構造をカバーすることを、理解するであろう。
【００４５】
記憶デバイスは、１組の命令などのコードを含み、プロセッサは、この１組の命令を実行して本明細書に記載される機能を提供するように動作可能である。代替的に又は追加的に、プロセッサは、１つ以上のワード線内のメモリセルの予約領域等の、メモリ構造の記憶デバイス１２６ａからコードにアクセスすることができる。
【００４６】
例えば、プログラムは、プログラミング、読み出し、及び消去動作などのために、メモリ構造にアクセスするために、コントローラによって使用され得る。コードは、起動コード及び制御コード（例えば、１組の命令）を含むことができる。起動コードは、起動又は起動プロセス中にコントローラを初期化し、コントローラがメモリ構造にアクセスできるようにするソフトウェアである。コードは、１つ以上のメモリ構造を制御するためにコントローラによって使用され得る。電源投入されると、プロセッサ１２２ｃは、実行のためにＲＯＭ１２２ａ又は記憶デバイス１２６から起動コードをフェッチし、起動コードはシステム構成要素を初期化し、制御コードをＲＡＭ１２２ｂにロードする。制御コードがＲＡＭにロードされると、プロセッサによって実行される。制御コードは、メモリの制御及び割り当て、命令の処理の優先順位付け、並びに入力及び出力ポートの制御などの基本タスクを実施するためのドライバを含む。
【００４７】
一般に、制御コードは、以下で更に考察されるフローチャートのステップを含む、本明細書に記載される機能を実施する命令を含むことができ、以下で更に考察されるものを含む電圧波形を提供することができる。制御回路は、本明細書に記載される機能を実施する命令を実行するように構成され得る。
【００４８】
図２は、図１のセンスブロック５１の一実施形態を示すブロック図である。個別のセンスブロック５１は、感知回路６０〜６３又はセンスアンプとして参照される１つ以上のコア部分と、管理回路１９０として参照される共通部分とに区画化される。一実施形態では、各ビット線に結合された別個のセンスアンプと、１組の複数（例えば、４個又は８個）のセンスアンプのための１つの共通の管理回路１９０とが存在する。グループ内の各感知回路は、データバス１７２を介して関連する管理回路と通信する。したがって、１組の記憶素子（メモリセル）の感知回路と通信する１つ以上の管理回路が存在する。
【００４９】
感知回路６０は、一実施例として、接続されたビット線内の伝導電流が所定の閾値レベルを上回るか又は下回るかどうかを判定することによって感知を実施する感知回路１７０を備える。感知は、読み出し又は検証動作において発生し得る。感知回路はまた、プログラム動作におけるプログラム電圧の印加中にビット線電圧を供給する。
【００５０】
感知回路は、Ｖｂｌセレクタ１７３、感知ノード１７１、比較回路１７５、及びトリップラッチ１７４を含み得る。プログラム電圧の印加中、Ｖｂｌセレクタ１７３は、プログラムイネーブル電圧（例えば、Ｖ＿ｐｇｍ＿ｅｎａｂｌｅ）又はプログラム禁止電圧（例えば、Ｖｂｌ＿ｉｎｈ）を、メモリセルに接続されたビット線に渡すことができる。本明細書では、「プログラムイネーブル電圧」は、メモリセルに印加される電圧として定義され、プログラム電圧（例えば、Ｖｐｇｍ）がメモリセルにも印加されている間、メモリセルのプログラミングを可能にする。特定の実施形態では、プログラム電圧がメモリセルの制御ゲートに印加されている間、プログラムイネーブル電圧がメモリセルに結合されたビット線に印加される。本明細書では、「プログラム禁止電圧」は、メモリセルに結合されたビット線に印加される電圧として定義され、プログラム電圧（例えば、Ｖｐｇｍ）がメモリセルにも印加されている（例えば、メモリセルの制御ゲートに印加される）間、メモリセルのプログラミングを禁止する。昇圧電圧（例えば、Ｖｐａｓｓ）は、ビット線に印加されるプログラム禁止電圧と共に、非選択ワード線に印加され得ることに留意されたい。
【００５１】
プログラム禁止電圧は、プログラムされないメモリセルに結合されたビット線及び／又はプログラミングプロセスの実行を通じてそれぞれの目標閾値電圧に到達したメモリセルを有するビット線に印加される。これらは、「非選択ビット線」と呼ばれ得る。プログラム禁止電圧は、プログラムされるメモリセルを有するビット線（「選択されたビット線」）に印加されない。プログラム禁止電圧が非選択ビット線に印加されると、一実施形態では、ビット線はＮＡＮＤチャネルから切断される。したがって、一実施形態では、プログラム禁止電圧は、ＮＡＮＤチャネルに渡されない。昇圧電圧が非選択ワード線に印加されて、ＮＡＮＤチャネルの電位を上昇させ、その制御ゲートにおいてプログラム電圧を受信するメモリセルのプログラミングを禁止する。
【００５２】
トランジスタ５５（例えば、ｎＭＯＳ）は、トランジスタの制御ゲート電圧を十分に高く、例えば、Ｖｂｌセレクタから渡されたＶｂｌよりも高く設定することによって、Ｖｂｌセレクタ１７３からＶｂｌを渡すためのパスゲートとして構成され得る。例えば、セレクタ５６は、電源電圧Ｖｄｄ、例えば、３〜４Ｖをトランジスタ５５の制御ゲートに渡すことができる。
【００５３】
感知回路６０は、ビット線に電圧が印加されるタイミングを制御するように構成されている。感知回路６０は、一実施形態において、ＱＰＷ電圧がビット線に印加される時間の長さを制御するように構成されている。一実施形態では、予測プログラミング中に弱いプログラムイネーブル電圧がＢＬに印加される時間の長さは、非ＣＰ状態（ＢＬに関連するメモリセルがプログラムされている）に依存する。一実施形態では、予測プログラミング中に全プログラムイネーブル及び弱いプログラムイネーブル電圧の両方がＢＬに印加される時間の長さは、非ＣＰ状態（ＢＬに関連するメモリセルがプログラムされている）に依存する。
【００５４】
読み出し及び検証動作などの感知動作中、ビット線電圧は、セレクタ５６が渡された電圧に基づいてトランジスタ５５によって設定される。ビット線電圧は、トランジスタの制御ゲート電圧からそのＶｔ（例えば、１Ｖ）を引いたものとほぼ等しい。例えば、Ｖｂｌ＋Ｖｔがセレクタ５６によって渡される場合、ビット線電圧はＶｂｌとなる。これは、ソース線が０Ｖにあると仮定する。トランジスタ５５は、制御ゲート電圧に従ってビット線電圧をクランプし、パスゲートではなくソースフォロワとして作用する。Ｖｂｌセレクタ１７３は、トランジスタ５５上の制御ゲート電圧よりも高いＶｄｄなどの比較的高い電圧を渡して、ソースフォロワモードを提供することができる。感知中、トランジスタ５５は、ビット線を充電する。
【００５５】
１つのアプローチでは、各感知回路のセレクタ５６は、Ｖｂｌ又はＶｄｄを渡すために、他の感知回路のセレクタとは別個に制御することができる。各感知回路のＶｂｌセレクタ１７３はまた、他の感知回路のＶｂｌセレクタとは別個に制御することができる。
【００５６】
感知中、感知ノード１７１は、Ｖｓｅｎｓｅ＿ｉｎｉｔ＝３Ｖなどの初期電圧まで充電される。感知ノードは次に、トランジスタ５５を介してビット線に接続され、感知ノードの減衰量は、メモリセルが導電性又は非導電性状態にあるかどうかを判定するために使用される。比較回路１７５は、感知ノード電圧を感知時間でトリップ電圧と比較するために使用される。感知ノード電圧がトリップ電圧Ｖｔｒｉｐを下回って減衰する場合、メモリセルは導電性状態となり、そのＶｔは検証信号の電圧以下である。感知ノード電圧がＶｔｒｉｐを下回って減衰しない場合、メモリセルは非導電性状態となり、そのＶｔは検証信号の電圧を上回る。感知回路６０は、メモリセルが導電性又は非導電性状態であるかどうかに基づいて比較回路１７５によって設定されるトリップラッチ１７４を含む。トリップラッチ内のデータは、プロセッサ１９２によって読み出されるビットであり得る。
【００５７】
管理回路１９０は、プロセッサ１９２、データラッチ１９４〜１９７の４つの例示的な組、及びデータラッチ１９４の組とデータバス１２０との間に結合されたＩ／Ｏインターフェース１９８を含む。例えば、個々のラッチＬＤＬ、ＭＤＬ、及びＵＤＬを含む１組のデータラッチが、各感知回路のために提供され得る。場合によっては、追加のデータラッチが使用されてもよい。ＬＤＬは、データの下位ページのビットを記憶し、ＭＤＬは、データの中央ページのビットを記憶し、ＵＤＬは、データの上位ページのビットを記憶する。これは、メモリセルメモリデバイス毎に８ビット又は３ビットである。
【００５８】
プロセッサ１９２は、感知されたメモリセルに記憶されたデータを判定し、データラッチの組内に判定されたデータを記憶するように、計算を実施する。データラッチ１９４〜１９７の各組は、読み出し動作中にプロセッサ１９２によって判定されたデータビットを記憶し、メモリにプログラムされることを意味する書き込みデータを表すプログラム動作中にデータバス１２０からインポートされたデータビットを記憶するために使用される。Ｉ／Ｏインターフェース１９８は、データラッチ１９４〜１９７とデータバス１２０との間のインターフェースを提供する。
【００５９】
プロセッサ１９２はまた、ラッチの状態に基づいて、ビット線に印加する電圧を判定するために使用されてもよい。これは、弱いプログラムイネーブル電圧がビット線に印加される時間の大きさ及び／又は長さを管理するために使用され得る。
【００６０】
読み出し中、システムの動作は、アドレス指定されたメモリセルへの異なる制御ゲート電圧の供給を制御するステートマシン１１２の制御下にある。メモリによってサポートされる様々なメモリ状態に対応する様々な所定の制御ゲート電圧をステップ実行すると、感知回路はこれらの電圧のうちの１つでトリップすることができ、対応する出力は、データバス１７２を介してプロセッサ１９２に感知回路から提供されることになる。その時点で、プロセッサ１９２は、感知回路のトリップイベント及び入力線１９３を介したステートマシンからの印加された制御ゲート電圧に関する情報を考慮することによって、結果として得られるメモリ状態を判定する。次いで、メモリ状態のバイナリ符号化を計算し、結果として得られるデータビットをデータラッチ１９４〜１９７に記憶する。
【００６１】
ある実装形態は、複数のプロセッサ１９２を含むことができる。一実施形態では、各プロセッサ１９２は、出力線の各々が有線ＯＲであるように、出力線（図示せず）を含む。いくつかの実施形態では、出力線は、有線ＯＲ線に接続される前に反転される。この構成により、有線ＯＲを受信するステートマシンは、プログラムされている全てのビットが所望のレベルに到達したことを判定することができるため、プログラミングプロセスが完了したときのプログラム検証テスト中に迅速に判定できる。例えば、各ビットがその所望のレベルに到達したとき、そのビットの論理ゼロは、有線ＯＲ線（又は、データ１が反転）に送信される。全てのビットがデータ０（又は、データ１が反転）を出力すると、ステートマシンはプログラミングプロセスを終了することを知る。各プロセッサは８つの感知回路と通信するため、ステートマシンは有線ＯＲ線を８回読み出す必要があり、又は、論理は、関連するビット線の結果を蓄積するためにプロセッサ１９２に追加されて、ステートマシンが有線ＯＲ線を一度に読み出す必要がある。同様に、論理レベルを正しく選択することによって、グローバルステートマシンは、第１のビットがその状態を変更し、それに応答してアルゴリズムを変更するときを検出することができる。
【００６２】
プログラム又はメモリセルの動作を検証する間、プログラムされるデータ（書き込みデータ）は、メモリセル実装当たり３ビットで、ＬＤＬ、ＭＤＬ、及びＵＤＬラッチ内のデータバス１２０からデータラッチ１９４〜１９７の組内に記憶される。
【００６３】
プログラム動作は、ステートマシンの制御下で、アドレス指定されたメモリセルの制御ゲートに１組のプログラミング電圧パルスを印加する。各電圧パルスは、増加型ステップパルスプログラミングと呼ばれる処理のステップサイズ分だけ、前のプログラムパルスから大きさがステップアップし得る。各プログラム電圧に続いて、メモリセルが所望のメモリ状態にプログラムされているかどうかを判定するための検証動作が続く。場合によっては、プロセッサ１９２は、所望のメモリ状態に対して読み戻しメモリ状態を監視する。２つが一致しているとき、プロセッサ１９２は、そのラッチを更新することなどによって、ビット線をプログラム禁止モードに設定する。これにより、追加のプログラムパルスがその制御ゲートに印加されても、ビット線に結合されたメモリセルの更なるプログラミングが禁止される。
【００６４】
データラッチ１９４〜１９７の各組は、各感知回路のデータラッチのスタックとして実装されてもよい。一実施形態では、感知回路６０当たり３つのデータラッチが存在する。いくつかの実装形態では、データラッチはシフトレジスタとして実装されているため、そこに記憶されたパラレルデータはデータバス１２０のシリアルデータに変換され、逆もまた同様である。メモリセルの読み出し／書き込みブロックに対応する全てのデータラッチをリンクして、データのブロックがシリアル転送によって入力又は出力され得るように、ブロックシフトレジスタを形成することができる。具体的には、読み出し／書き込み回路のバンクは、データラッチの組の各々が、読み出し／書き込みブロック全体のシフトレジスタの一部であるかのように、データバスの中又は外のデータをシーケンス内でシフトさせるように適合される。
【００６５】
データラッチは、関連するメモリセルがプログラム動作において特定のマイルポストに到達したときを識別する。例えば、ラッチは、メモリセルのＶｔが特定の検証電圧を下回ることを識別し得る。データラッチは、メモリセルが現在データページから１つ以上のビットを記憶しているかどうかを示す。例えば、ＬＤＬラッチを使用して、より低いデータページを記憶することができる。下部ページビットが関連するメモリセルに記憶されているとき、ＬＤＬラッチは（例えば、０〜１）フリップされる。ＭＤＬ又はＵＤＬラッチは、中央又は上部ページビットがそれぞれ関連付けられたメモリセルに記憶されるときにフリップされる。これは、関連するメモリセルがプログラミングを完了するときに生じる。
【００６６】
図３は、コントローラ１２２のより詳細な一実施形態を描画する例示的メモリシステム１００のブロック図である。図３のコントローラはフラッシュメモリコントローラであるが、不揮発性メモリ１０８はフラッシュに限定されないことに留意されたい。したがって、コントローラ１２２は、フラッシュメモリコントローラの例に限定されない。本明細書で使用するように、フラッシュメモリコントローラは、フラッシュメモリに記憶されたデータを管理し、コンピュータ又は電子デバイス等のホストと通信するデバイスである。フラッシュメモリコントローラは、本明細書に記載する特定の機能に加えて、様々な機能を有することができる。例えば、フラッシュメモリコントローラは、フラッシュメモリをフォーマットしてメモリが適切に動作していることを確実にし、不良のフラッシュメモリセルを打ち出し、将来の故障セルと置換される予備メモリセルを割り当てることができる。予備セルの一部は、フラッシュメモリコントローラを動作させ、他の機能を実装するためのファームウェアを保持するために使用することができる。動作中、ホストがデータをフラッシュメモリから読み出すか又はデータをフラッシュメモリに書き込む必要があるとき、ホストはフラッシュメモリコントローラと通信する。ホストがデータを読み出し／書き込むべき論理アドレスを提供する場合、フラッシュメモリコントローラは、ホストから受信される論理アドレスをフラッシュメモリの物理アドレスに変換することができる。（代替的に、ホストが物理アドレスを提供することもできる）。フラッシュメモリコントローラはまた、これだけに限定されないが、ウェアレベリング（さもなければ繰り返し書き込まれる特定のメモリブロックの消耗を回避するために書き込みを分散させること）及びガーベッジコレクション（ブロックが満杯となった後、全ブロックを消去し再利用することができるように有効なデータページのみを新たなブロックに移すこと）等の様々なメモリ管理機能も実施することができる。
【００６７】
コントローラ１２２と不揮発性メモリダイ１０８との間のインターフェースは、トグルモード２００、４００、又は８００等の任意の好適なフラッシュインターフェースであってもよい。一実施形態では、メモリシステム１００は、セキュアデジタル（secure digital、ＳＤ）又はマイクロセキュアデジタル（マイクロＳＤ）カード等のカードによるシステムであってもよい。代替の実施形態では、メモリシステム１００は、埋め込みメモリシステムの一部であってもよい。例えば、フラッシュメモリは、ホスト内に埋め込まれてもよい。他の例では、メモリシステム１００は、ソリッドステートドライブ（solid state drive、ＳＳＤ）の形態であり得る。
【００６８】
いくつかの実施形態では、不揮発性メモリシステム１００は、コントローラ１２２と不揮発性メモリダイ１０８との間に単一のチャネルを含み、本明細書に記載する主題は単一のメモリチャネルを有することに限定されない。例えば、一部のメモリシステムアーキテクチャでは、コントローラの能力に応じて、コントローラとメモリダイとの間に２、４、８、又はそれ以上のチャネルが存在してもよい。本明細書に記載する実施形態のいずれにおいても、たとえ単一のチャネルが図面に示されているとしても、コントローラとメモリダイとの間に単一より多いチャネルが存在することがある。
【００６９】
メモリダイ１０８上のメモリセルは、１つ以上の平面に配置することができる。一実施形態では、メモリ動作は、同じメモリダイ上の異なる面上のメモリセルのグループ上で並行して実施される。一実施形態では、メモリ動作は、異なるメモリダイ１０８上のメモリセルのグループ上で並行して実施される。
【００７０】
図３に描画するように、コントローラ１２２は、ホストとインターフェースするフロントエンドモジュール２０８と、１つ以上の不揮発性メモリダイ１０８とインターフェースするバックエンドモジュール２１０と、本明細書で詳細に説明することになる機能を実施する様々な他のモジュールを含む。
【００７１】
図３に描画するコントローラ１２２の構成要素は、他の構成要素と共に使用するように設計されるパッケージ化された機能ハードウェアユニット（例えば、電気回路）、（マイクロ）プロセッサ若しくは関連機能の特定の機能を通常実施する処理回路によって実行可能なプログラムコード（例えば、ソフトウェア又はファームウェア）の一部分、又は例えば、より大きいシステムとインターフェースする自己完結型のハードウェア若しくはソフトウェア構成要素の形態を取り得る。例えば、各モジュールは、特定用途向け集積回路（ＡＳＩＣ）、書替え可能ゲートアレイ（ＦＰＧＡ）、回路、デジタル論理回路、アナログ回路、ディスクリート回路の組み合せ、ゲート、他の任意の種類のハードウェア、又はそれらの組み合せを含み得る。代替的に又は追加的に、各モジュールは、本明細書に記載する機能をコントローラ１２２が実施するためにプロセッサをプログラムするための、プロセッサ可読デバイス（例えば、メモリ）に記憶されるソフトウェアを含んでもよい。図３に描画するアーキテクチャは、図１に描画したコントローラ１２２の構成要素（即ち、ＲＡＭ、ＲＯＭ、プロセッサ、インターフェース）を使用してもよい（又は使用しなくてもよい）実装形態の一実施例である。
【００７２】
コントローラ１２２のモジュールを再び参照し、バッファマネージャ／バスコントロール２１４が、ランダムアクセスメモリ（random access memory、ＲＡＭ）２１６内のバッファを管理し、コントローラ１２２の内部バスの調停を制御する。読み出し専用メモリ（read only memory、ＲＯＭ）１０８は、システム起動コードを記憶する。図３ではコントローラ１２２から離れて位置しているものとして図示するが、他の実施形態では、ＲＡＭ２１６及びＲＯＭ２１８の一方又は両方がコントローラ内に位置し得る。更に、他の実施形態では、ＲＡＭ及びＲＯＭの一部がコントローラ１２２内及びコントローラ外の両方に位置し得る。更に、いくつかの実装形態では、コントローラ１２２、ＲＡＭ２１６、及びＲＯＭ２１８が別個の半導体ダイ上に位置し得る。
【００７３】
フロントエンドモジュール２０８は、ホスト又は次のレベルの記憶域コントローラとの電気的インターフェースを提供するホストインターフェース２２０及び物理層インターフェース（physical layer interface、ＰＨＹ）２２２を含む。ホストインターフェース２２０の種類の選択は、使用されているメモリの種類によって決まり得る。ホストインターフェース２２０の例として、これだけに限定されないが、ＳＡＴＡ、ＳＡＴＡ  Ｅｘｐｒｅｓｓ、ＳＡＳ、ファイバチャネル、ＵＳＢ、ＰＣＩｅ、及びＮＶＭｅが挙げられる。ホストインターフェース２２０は、典型的に、データ、制御信号、及びタイミング信号の転送を促進する。
【００７４】
バックエンドモジュール２１０は、ホストから受信したデータバイトを符号化し、不揮発性メモリから読み出したデータバイトを復号してエラーを訂正するエラー訂正コード（error correction code、ＥＣＣ）エンジン２２４を含む。コマンドシーケンサ２２６は、不揮発性メモリダイ１０８に伝送されるプログラムコマンドシーケンス及び消去コマンドシーケンス等のコマンドシーケンスを生成する。ＲＡＩＤ（Redundant Array of Independent Die、独立ダイの冗長アレイ）モジュール２２８はＲＡＩＤパリティの生成及び障害データの回復を管理する。ＲＡＩＤパリティは、不揮発性メモリシステム１００内に書き込まれているデータのための完全性保護の更なるレベルとして使用してもよい。場合によっては、ＲＡＩＤモジュール２２８がＥＣＣエンジン２２４の一部であり得る。ＲＡＩＤパリティは、通称によって暗示されるように追加のダイとして加えてもよいが、例えば、追加の平面、追加のブロック、又はブロック内の追加のワード線として既存のダイ中に加えてもよいことに留意されたい。不揮発性メモリ１０８に接続されるように構成されたメモリインターフェース２３０は、コマンドシーケンスを不揮発性メモリダイ１０８に提供し、不揮発性メモリダイ１０８からステータス情報を受信する。一実施形態では、メモリインターフェース２３０は、トグルモード２００、４００、又は８００インターフェース等のダブルデータレート（double data rate、ＤＤＲ）インターフェースであり得る。フラッシュ制御層２３２は、バックエンドモジュール２１０の全体的な動作を制御する。
【００７５】
図３に図示するシステム１００の追加の構成要素は、不揮発性メモリダイ１０８のメモリセルのウェアレベリングを実施するメディア管理層２３８を含む。システム１００はまた、外部の電気的インターフェース、外部のＲＡＭ、抵抗、コンデンサ、又はコントローラ１２２とインターフェースし得る他の構成要素等の他のディスクリート構成要素２４０も含む。代替の実施形態では、物理層インターフェース２２２、ＲＡＩＤモジュール２２８、メディア管理層２３８、及びバッファ管理／バスコントローラ２１４のうちの１つ以上が、コントローラ１２２内で不要である任意選択的な構成要素である。
【００７６】
フラッシュエラー及びホストとのインターフェースを扱い得るフラッシュ管理の一部として、フラッシュ変換層（Flash Translation Layer、ＦＴＬ）又はメディア管理層（Media Management Layer、ＭＭＬ）２３８が統合され得る。具体的には、ＭＭＬはフラッシュ管理内のモジュールであってもよく、ＮＡＮＤ管理の内部的特性に関与してもよい。具体的には、ＭＭＬ２３８は、ホストからの書き込みをダイ１０８のメモリ１２６への書き込みに変換するメモリデバイスファームウェア内のアルゴリズムを含み得る。ＭＭＬ２３８は、１）メモリの耐久性が限られている場合があること、２）メモリ１２６がページの倍数単位でのみ書き込むことができること、及び／又は３）メモリ１２６はブロック（又はいくつかの実施形態ではブロック内のティア）として消去されない限り書き込むことができないこと、を理由に必要とされ得る。ＭＭＬ２３８は、ホストにとって可視でない可能性があるメモリ１２６のこれらの潜在的制約を理解する。したがって、ＭＭＬ２３８は、ホストからの書き込みをメモリ１２６内への書き込みに変換しようと試みる。
【００７７】
コントローラ１２２は、１つ以上のメモリダイ１０８とインターフェースし得る。一実施形態では、コントローラ１２２及び複数のメモリダイ（共に不揮発性記憶システム１００を含む）が、ソリッドステートドライブ（ＳＳＤ）を実装し、ＳＳＤは、ＮＡＳデバイス等として、ラップトップ、タブレット、サーバ等のホスト内のハードディスクドライブをエミュレートし、置換し、又はその代わりに使用され得る。加えて、ＳＳＤはハードドライブとして機能するように作られなくてもよい。
【００７８】
ＥＣＣ２２４、シーケンサ２２６、ＲＡＩＤ２２８、フラッシュ制御層２３２、メディア管理層２３８、及び／又はバッファ管理／バス制御２１４のうちの１つ以上は、プロセッサ回路と呼ばれてもよい。プロセッサ回路は、ハードウェアのみ、又はハードウェアとソフトウェア（ファームウェアを含む）との組み合せを含むことができる。例えば、本明細書に記載する機能を実施するためにファームウェアによってプログラムされたコントローラは、制御回路の一例である。プロセッサ回路は、プロセッサ、プログラマブルゲートアレイ（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、集積回路、又は他の種類の回路を含むことができる。
【００７９】
不揮発性記憶システムのうちのいくつかの実施形態は、１つのコントローラ１２２に接続された１つのメモリダイ１０８を含むことになる。しかしながら、他の実施形態は、１つ以上のコントローラ１２２と通信する複数のメモリダイ１０８を含み得る。一実施例では、複数のメモリダイをメモリパッケージの組にグループ化することができる。各メモリパッケージは、コントローラ１２２と通信する１つ以上のメモリダイを含む。一実施形態では、メモリパッケージは、１つ以上のメモリダイが搭載されたプリント回路基板（又は同様の構造）を含む。いくつかの実施形態では、メモリパッケージは、メモリパッケージのメモリダイを収容するための成形材料を含むことができる。いくつかの実施形態では、コントローラ１２２は、メモリパッケージのいずれかから物理的に分離されている。
【００８０】
図４は、図１Ａのメモリ構造１２６の例示的な３Ｄ構成における１組のブロックを含むメモリデバイス３００の斜視図である。基板上には、メモリセル（記憶素子）のブロックＢＬＫ０、ＢＬＫ１、ＢＬＫ２、及びＢＬＫ３、並びにブロックによって使用される回路を有する周辺領域がある。基板は、ｘ−ｙ平面内に延在する主表面を有する。ブロックは、主表面の上に形成されてもよい。周辺領域３０４は、周辺領域３０５がブロックの組の端部にある間、各ブロックの縁部に沿って走る。各周辺領域は、制御ゲート層、ビット線、及びブロックのソース線に接続され得る電圧ドライバを含むが、これらに限定されない回路を含むことができる。
【００８１】
基板３０１はまた、回路の信号を搬送するために導電路内でパターン化された１つ以上の下部金属層と共に、ブロックの下に回路を搬送することができる。ブロックは、メモリデバイスの中間領域３０２に形成される。メモリデバイスの上部領域３０３において、１つ以上の上部金属層は、回路の信号を搬送するために導電路内でパターン化される。各ブロックは、メモリセルのスタック領域を含み、スタックの交互レベルはワード線を表す。１つの可能なアプローチでは、各ブロックは、垂直接点が上方金属層まで上方に延在して導電路への接続を形成する、対向する階層側面を有する。４つのブロックが例として示されているが、ｘ方向及び／又はｙ方向に延在する２つ以上のブロックを使用することができる。
【００８２】
１つの可能なアプローチでは、ブロックは平面内にあり、ｘ方向の平面の長さは、ワード線への信号経路が１つ以上の上部金属層に延在する方向（ワード線又はＳＧＤ線方向）を表し、また、ｙ方向の平面の幅は、ビット線への信号経路が１つ以上の上部金属層内に延在する方向（ビット線方向）を表す。Ｚ方向は、メモリデバイスの高さを表す。ブロックはまた、複数の平面内に配置されてもよい。
【００８３】
図４Ａは、一実施形態における、３Ｄメモリ構造の例示的なワード線層４００の上面図を示す。３Ｄメモリデバイスは、交互の導電層及び誘電体層のスタックを含むことができる。本明細書では、層は、基板３０１のｘ−ｙ表面に対するそれらの配向により、水平層と呼ばれ得る。導電層は、ＳＧトランジスタ及びメモリセルの制御ゲートを提供する。ＳＧトランジスタに使用される層はＳＧ層であり、メモリセルに使用される層はワード線層である。更に、メモリホールはスタック内に形成され、電荷トラップ材料及びチャネル材料で充填される。電荷トラップ材料及びチャネル材料に加えて、トンネル誘電材料などの他の材料が、メモリホール内に形成されてもよい。これにより、垂直ＮＡＮＤストリングが形成される。ソース線は、スタックの下方のＮＡＮＤストリングに接続され、ビット線は、スタックの上方のＮＡＮＤストリングに接続される。
【００８４】
３Ｄメモリデバイス内のブロックＢＬＫはサブブロックに分割することができ、各サブブロックは、共通のＳＧＤ制御線を有する１組のＮＡＮＤストリングを含む。更に、ブロック内のワード線層を領域に分割することができる。各領域は、メモリデバイスの製造プロセス中にワード線層を処理するために、スタック内に周期的に形成されたスリット間に延在することができる。この処理は、ワード線層の犠牲材料を金属で置き換えることを含み得る。一般に、スリット間の距離は、エッチング剤が横方向に移動して犠牲材料を除去でき、金属が移動して犠牲材料の除去によって作成されるボイドを充填する距離の限界を考慮して、比較的小さくする必要がある。例えば、スリット間の距離は、隣接するスリット間のメモリホールのいくつかの行を可能にし得る。メモリホール及びスリットのレイアウトはまた、各ビット線が異なるメモリセルに接続されている間に、領域にわたって延在することができるビット線の数の限界を考慮しなければならない。ワード線層を処理した後、スリットは、任意選択的に金属で充填されて、スタックを介して相互接続を提供することができる。
【００８５】
ワード線層は、各々コネクタ４１３によって接続される領域４０６、４０７、４０８及び４０９に分割される。金属充填スリット４０１、４０２、４０３及び４０４（例えば、金属相互接続）は、領域４０６〜４０９の縁部の間に、かつそれに隣接して位置してもよい。金属充填スリットは、スタックの底部からスタックの頂部までの導電路を提供する。例えば、スタックの底部のソース線は、スタックの上方の導電線に接続されてもよく、導電線は、メモリデバイスの周辺領域内の電圧ドライバに接続される。
【００８６】
ブロック内のワード線層の最後の領域は、１つのアプローチにおいて、次のブロック内のワード線層の第１の領域に接続され得る。コネクタは、次に、ワード線層のための電圧ドライバに接続される。この例では、隣接するスリット間には、４行のメモリホールが存在する。ここでの行は、ｘ方向に整列されたメモリホールのグループである。更に、メモリホールの行は、メモリホールの密度を増加させるために千鳥状パターンである。領域４０６は、線４１２ａに沿った例示的なメモリホール４１０及び４１１を有する。領域４０７は、例示的なメモリホール４１４及び４１５を有する。領域４０８は、例示的なメモリホール４１６及び４１７を有する。領域４０９は、例示的なメモリホール４１８及び４１９を有する。
【００８７】
各円は、ワード線層又はＳＧ層におけるメモリホールの断面を表す。各円は、代替的に、メモリホール内の材料によって、及び隣接するワード線層によって提供されるメモリセルを表すことができる。本明細書で使用するとき、「メモリホール」という用語は、例えば、エッチング、並びにメモリセルフィルムで充填された後のその領域に形成される空の領域を指すために使用され得ることに留意されたい。
【００８８】
図４Ａ及び他の図は必ずしも縮尺どおりではない。実際には、領域は、追加のメモリホールを収容するために示されるものよりもｙ方向に対してｘ方向にはるかに長くなり得る。
【００８９】
図４Ｂは、図４Ａと一致する例示的なＳＧＤ層４２０の上面図を示す。ＳＧＤ層は、領域４２６、４２７、４２８及び４２９に分割される。各領域は、異なる電圧ドライバに接続することができる。これにより、ワード線層の１つの領域内の１組のメモリセルが同時にプログラムされることを可能にし、各メモリセルは、対応するビット線に接続されたそれぞれのＮＡＮＤストリング内にある。各ビット線に電圧を設定して、各プログラム電圧の間のプログラミングを許可又は禁止することができる。
【００９０】
領域４２６は、ビット線ＢＬ０と一致する線４１２ｂに沿った例示的なメモリホール４１０及び４１１を有する。領域４２７はまた、ビット線ＢＬ１と一致する例示的なメモリホール４１４を有する。「Ｘ」記号で示されているように、多数のビット線がメモリホールの上方に延在し、メモリホールに接続される。ＢＬ０は、メモリホール４１１、４１５、４１７及び４１９を含む１組のメモリホールに接続される。別の例示的なビット線ＢＬ１は、メモリホール４１０、４１４、４１６及び４１８を含む１組のメモリホールに接続される。図４Ａから、金属充填スリット４０１、４０２、４０３及び４０４もまた、スタックを通って垂直に延在するように描かれている。ビット線は、ｘ方向にＳＧＤ層４２０にわたってシーケンスＢＬ０〜ＢＬ２３で番号付けされ得る。実際には、多くのビット線をＳＧＤ層４２０に使用することができる。
【００９１】
異なる行のセルには、異なるビット線のサブセットが接続される。例えば、ＢＬ０、ＢＬ４、ＢＬ８、ＢＬ１２、ＢＬ１６、及びＢＬ２０は、各領域の右縁部のセルの第１の行内のセルに接続される。ＢＬ２、ＢＬ６、ＢＬ１０、ＢＬ１４、ＢＬ１８、及びＢＬ２２は、右縁部の第１の行に隣接して、隣接するセルの行内のセルに接続される。ＢＬ３、ＢＬ７、ＢＬ１１、ＢＬ１５、ＢＬ１９、及びＢＬ２３は、各領域の左縁部のセルの第１の行内のセルに接続される。ＢＬ１、ＢＬ５、ＢＬ９、ＢＬ１３、ＢＬ１７、及びＢＬ２１は、左縁部の第１の行に隣接して、隣接するセルの行内のセルに接続される。
【００９２】
図４Ａ及び図４Ｂのメモリホールは、ｘ−ｙ断面で円形であるように描画されている。上述したように、メモリホールは、不規則な形状（例えば、図５に示される不規則な形状など）を有してもよい。本明細書では、ブロック内のワード線層におけるメモリホールなどのグループのメモリホールゆがみの程度を特徴付ける技術が開示される。グループをプログラムするための１つ以上のプログラムパラメータは、グループのメモリホールゆがみの程度に基づいて選択され得る。これらの選択されたプログラムパラメータは、そのグループに対して直接測定を実施する必要なく、他のグループに適用することができる。例えば、ブロックのワード線におけるメモリホールゆがみの程度を特徴付けるための測定を実施した後、同じブロック内の他のワード線が、メモリホールゆがみのほぼ同じ程度を有すると仮定することができる。一方、製造プロセスの性質により、メモリホールゆがみの程度は、ブロック内の層に依存し得る。
【００９３】
図４Ｃは、図４のブロックのうちの１つの一部分の例示的な断面図を示す。断面図は、図４Ａの線４１２ａ、並びに図４Ｂの線４１２ｂと一致する。ブロックは、交互の導電層及び誘電体層のスタック４３２を含む。この例では、導電層は、データワード線層（又はワード線）ＷＬＬ０〜ＷＬＬ１４に加えて、ＳＧＤ層、ＳＧＳ層、ダミーワード線層（又はワード線）ＤＷＬｄ、ＤＷＬを含む。誘電体層をＤＬ０〜ＤＬ１９とラベル付けする。更に、ＮＡＮＤストリングＮＳ１及びＮＳ２を含むスタックの領域が示されている。各ＮＡＮＤストリングは、ワード線に隣接するメモリセルを形成する材料で充填されたメモリホール４１０又は４１１を包含する。スタックの領域４２３は、図４Ｄでより詳細に示されている。なお、多かれ少なかれ、ＳＧＤ層、ＳＧＳ層、ダミーワード線層、及びデータワード線層が存在し得ることに留意されたい。
【００９４】
スタックの下にはソース線（source line、ＳＬ）４３４がある。１つのアプローチでは、ソース線ＳＬの一部分は、ブロック内の各メモリセルストリングのソース端と接触するポリシリコン層４３４ａを含む。ポリシリコン層４３４ａは、ＮＡＮＤストリングチャネル（図４Ｃには図示せず）と電気的に接触している。ポリシリコン層４３４ａは、金属４３４ｂ（例えば、タングステン）層と接触する。ソース線４３４は、１つのアプローチにおいて、平面内の全てのブロックによって共有され得る。
【００９５】
ＮＳ１は、スタック４３２の底部４６６ｂにソース端４３６を有し、スタックの上部４６６ａにドレイン端４５２を有する。金属充填スリット４０１、４０２は、ソース線をスタックの上方の線に接続するように、スタックを通って延在する相互接続として、スタックにわたって周期的に設けられてもよい。スリットは、ワード線の形成中に使用され、続いて金属で充填されてもよい。ビット線ＢＬ０の一部分も示されている。導電ビア４２１は、ＮＳ２のドレイン端４５２をＢＬ０に接続する。
【００９６】
１つのアプローチでは、メモリセルのブロックは、交互の制御ゲート及び誘電体層のスタックを含み、メモリセルは、スタック内の垂直に延在するメモリホール内に配置される。
【００９７】
１つのアプローチでは、各ブロックは、ＳＧＳ、ＷＬ、及びＳＧＤ層を含む各層に垂直相互接続が接続され、水平経路から電圧源へと上向きに延在する。
【００９８】
図４Ｄは、図４Ｃの領域４２３の図を示す。図４Ｅは、図４Ｄのメモリホール４１０の断面（ｘ−ｙ平面内）を示す。領域４２３は、いくつかのメモリセル４８２、４８３、４８４を含む。メモリホール４１０は、多数のメモリセルフィルム４６３〜４６７を含む。例えば、各列（例えば、メモリホール内の材料によって形成されるピラー）は、ＳｉＮ又は他の窒化物などの遮断酸化物／遮断高ｋ材料４６３、電荷トラップ層又はフィルム４６４、トンネル層４６５、ポリシリコン本体又はチャネル４６６、及び誘電体コア４６７を含み得る。ワード線層は、制御ゲートとしてタングステンなどの導電性金属を含むことができる。例えば、制御ゲート４９２、４９３及び４９４が提供される。この実施例では、金属を除く全ての層が、メモリホール内に提供される。他のアプローチでは、メモリフィルム層の一部は、制御ゲート層内にあり得る。したがって、メモリホール４１０は、図４Ｄ及び図４Ｅに示されるよりも少ない（又はそれ以上の）メモリフィルム層を含み得る。また、図示された層の一部は、１つ以上の層から形成され得ることに留意されたい。追加のピラーは、異なるメモリホール内に同様に形成される。ピラーは、ＮＡＮＤストリングの柱状活性領域（active area、ＡＡ）を形成することができる。
【００９９】
メモリセルトランジスタがプログラムされるとき、電子は、メモリセルトランジスタに関連する電荷トラップ層４６４の一部分に蓄積される。これらの電子は、チャネル４６６からトンネル層４６５を通って電荷トラップ層に引き込まれる。メモリセルトランジスタのＶｔは、蓄積電荷量に比例して増加する。消去動作中、電子はチャネルに戻る。非データトランジスタ（例えば、選択トランジスタ、ダミーメモリセルトランジスタ）はまた、電荷トラップ層４６４を含んでもよい。したがって、少なくともいくつかの非データトランジスタの閾値電圧はまた、電荷トラップ層４６４から電子を蓄積又は除去することによって調整されてもよい。全ての非データトランジスタが調節可能なＶｔを有することは必須ではない。例えば、電荷トラップ層４６４は、全ての選択トランジスタに存在する必要はない。
【０１００】
いくつかの実施形態では、メモリホールは、交互層のスタック（例えば、導電性材料と犠牲材料との交互層）にホールを穿孔（又はエッチング）することによって形成される。メモリセルフィルムは、メモリホールの側壁上に堆積されてもよい。例えば、最初に、遮断層４６３は、原子層堆積法又は別の堆積技術を使用して、メモリホール側壁上に堆積されてもよい。次いで、電荷トラップ層４６４を遮断層４６３の上に堆積させてもよい。次に、電荷トラップ層４６４の上にトンネル層４６５を堆積させることができる。場合によっては、トンネル層４６５は、酸化物−窒化物−酸化物の構成などの複数の層を含むことができる。次いで、本体４６６は、トンネル層４６５の上に堆積させることができる。次いで、誘電体コア４６７を本体４６６内に形成することができる。他の技術を使用して、メモリセルフィルムを形成することができる。上述したように、「メモリホール」という用語は、スタックにホールを穿孔（又はエッチング）した後に存在する空の領域、又はメモリセルフィルムで充填された後の領域の両方を指すために使用されてもよい。
【０１０１】
図４Ｅの例では、フィルム４６３〜４６７の各々は環状リングを含む。フィルムは、ゆがみではない、十分に形成されたメモリホールの一実施例を表す。フィルム４６３〜４６７が形成されたメモリホールは、「ｒ」の半径を有する円形の断面形状を有する。動作中、ワード線、並びに他の領域に電圧が印加される。一実施例は、選択されたワード線にプログラム電圧を印加し、非選択ワード線に電圧を昇圧することである。昇圧電圧は、現在プログラミング用に選択されていないメモリセルの望ましくないプログラミングを防止するのに役立つ。ワード線とメモリセルフィルム４６３〜４６７との間の境界面の形状は、その領域内の電界の性質に影響を及ぼす。したがって、ワード線電圧の性質は、メモリホールの形状により影響され得る。
【０１０２】
メモリホールは、全ての場合において完全に円形ではない。完全な円からのゆがみの量は、１つのメモリホールから次のメモリホールまで大きく変化し得る。図５は、著しくゆがんでいるメモリホールの一実施例の断面図である。メモリホールは、不規則な形状を有する。形状は、不規則な円として説明することができる。不規則な円は、本明細書では「メモリホールストリエーション」と呼ばれる。図４Ｅのメモリホールは、メモリホールストリエーションを有さない。ｒ’、ｒ’’、及びｒ’’’とラベル付けされた多数の線が図５に示されている。各線は、メモリホールの中心としてフィルム４６３の外側に画定される共通点から延在する。なお、フィルム４６３の外側は、本実施例ではメモリホールの境界として画定されるが、記載されるように、メモリホールは他の種類のフィルムで充填され得ることに留意されたい。線ｒ’、ｒ’’、及びｒ’’’は、長さが異なってもよい。換言すれば、メモリホールの境界は円形ではなく、不規則な形状を有する。更に、不規則な形状は、異なる領域において異なる曲率を有する（いくつかの領域５１０、５２０、５３０は破線円で示される）。メモリホールの不規則な形状は、比較的鋭い角部を有する領域を有する。例えば、領域５３０は、比較的鋭い角部を有する。メモリホールの不規則な形状は、比較的平坦な形状を有する領域を有する。例えば、領域５１０は、比較的平坦な形状を有する。メモリホールの形状は、電界の性質に影響を及ぼす。したがって、ワード線に印加される電圧は、メモリホールの不規則な形状により影響され得る。例えば、メモリホールの形状がより尖った場所で電界が強く、メモリホールの形状が真直な場合は電界が弱くなり得る。例えば、メモリセル動作中、電圧が制御ゲートに印加されると、制御ゲート形状がより尖った場所で電界が強く、制御ゲート形状が真直な場所で電界が弱くなり得る。対照的に、電界は、図４Ｅの例ではより均一になる。
【０１０３】
図５のメモリホールゆがみの１つの可能な結果は、非選択メモリセル（選択されたワード線に接続された）の望ましくないプログラミングを防止することを意図した（制御ゲートに印加される）昇圧電圧は、望ましくないプログラミングを防止するのに十分に有効でない場合があることである。可能な影響は、消去状態へ留まるべきメモリセルであって、プログラミング直後にプログラム状態（例えば、Ａ状態）にあるべきであるメモリセルに関する。図５のメモリホールゆがみの別の考えられる結果は、プログラミングスロープがより低くなり得ることである。プログラミングスロープとは、プログラム電圧の増加がメモリセルＶｔの変化に及ぼす影響を指す。
【０１０４】
図６は、アレイに編成されたメモリセルのＮＡＮＤストリングをプログラムするためのプロセス６００の一実施形態を説明するフローチャートである。例示的な一実施形態では、図６のプロセスは、上述の制御回路を使用してメモリダイ１０８上で実施される。例えば、図６のプロセスは、ステートマシン１１２の方向で実施することができる。
【０１０５】
典型的には、プログラム動作中に（選択されたワード線を介して）制御ゲートに印加されるプログラム電圧は、一連のプログラムパルスとして印加される。プログラミングパルスの少なくとも一部の間には、１組の検証パルスが存在して検証を実施する。多くの実装では、プログラムパルスの大きさは、所定のステップサイズだけ、各連続するパルスにあわせて増加する。ステップのサイズは、いくつかの実施形態では、メモリセルのゆがみの程度に応答して変化する。図６のステップ６４０において、プログラミング電圧（Ｖｐｇｍ）が開始量（例えば、約１２〜１６Ｖ又は別の好適なレベル）に初期化され、ステートマシン１１２によって維持されるプログラムカウンタＰＣが、１に初期化される。
【０１０６】
一実施形態では、プログラムされるように選択されたメモリセルのグループ（本明細書では、選択されたメモリセルと呼ばれる）は、同時にプログラムされ、全てが同じワード線（選択されたワード線）に接続される。プログラミング用に選択されていない他のメモリセル（非選択メモリセル）は、選択されたワード線にも接続されている可能性がある。すなわち、選択されたワード線はまた、プログラミングが禁止されると想定されるメモリセルに接続される。例えば、データが１組のメモリセルに書き込まれると、メモリセルの一部は、状態Ｓ０に関連付けられたデータを記憶する必要があり（図６を参照）、それらはプログラムされない。加えて、メモリセルがそれらの意図された目標データ状態へ到達すると、更なるプログラミングが禁止される。プログラミングが禁止される選択されたワード線に接続されたメモリセルを含むＮＡＮＤストリング（例えば、非選択ＮＡＮＤストリング）は、プログラミングを禁止するためにそれらのチャネルが昇圧されている。チャネルが昇圧電圧を有する場合、チャネルとワード線との間の電圧差は、プログラミングを引き起こすほど大きくない。昇圧を支援するために、ステップ６４２において、メモリシステムは、プログラミングを禁止される選択されたワード線に接続されたメモリセルを含むＮＡＮＤストリングのチャネルをプリチャージする。いくつかの実施形態では、チャネルは、ＮＡＮＤストリングのドレイン端からプリチャージされる。「ドレイン端」とは、ビット線に接続されたＮＡＮＤストリングの端部を意味する。いくつかの実施形態では、チャネルは、ソース端からプリチャージされる。「ソース端」とは、ソース線に接続されたＮＡＮＤストリングの端部を意味する。いくつかの実施形態では、チャネルは、ドレイン端及びソース端の両方からプリチャージされる。
【０１０７】
ステップ６４４において、プログラミングが禁止される選択されたワード線に接続されたメモリセルを含むＮＡＮＤストリングは、プログラミングを禁止するためにそれらのチャネルが昇圧されている。このようなＮＡＮＤストリングは、本明細書では「非選択ＮＡＮＤストリング」と呼ばれる。一実施形態では、非選択ワード線は、１つ以上の昇圧電圧（例えば、約７〜１１ボルト）を受信して、昇圧方式を実施する。プログラム禁止電圧が、非選択ＮＡＮＤストリングに結合されたビット線に印加される。これにより、昇圧電圧がＮＡＮＤチャネルの電位を昇圧することが可能になる。
【０１０８】
ステップ６４６において、プログラム信号Ｖｐｇｍのプログラムパルスが、選択されたワード線（プログラミングのために選択されたワード線）に印加される。ＮＡＮＤストリング上のメモリセルがプログラムされるべきである場合、一実施形態では、対応するビット線はプログラムイネーブル電圧でバイアスされる。ここで、このようなＮＡＮＤストリングは、「選択されたＮＡＮＤストリング」と呼ばれる。ステップ６４６において、プログラムパルスが、選択されたワード線に接続された全てのメモリセルに同時に印加され、その結果、（プログラミングが禁止されていない限り）選択されたワード線に接続された全てのメモリセルが同時にプログラムされる。即ち、それらのメモリセルは、同時に、又は重複する時間の間に（どちらも同時であるとみなされる）プログラムされる。このようにして、選択されたワード線に接続された全てのメモリセルは、プログラミングが禁止されていない限り、同時にそれらの閾値電圧を変化させる。
【０１０９】
ステップ６４８において、それらの目標状態へ到達したメモリセルは、更なるプログラミングからロックアウトされる。ステップ６４８は、１つ以上の検証基準レベルで検証を実施することを含み得る。一実施形態では、検証プロセスは、プログラミングのために選択されたメモリセルの閾値電圧が適切な検証基準電圧に到達したどうかの試験によって、実施される。一実施形態では、検証基準電圧は、目標状態の下部テールにある。本明細書で使用するとき、「下部テール」とは、分布の頂点におけるその最低閾値電圧レベルと閾値電圧レベルとの間の分布の一部分を指す。同様に、本明細書で使用するとき、「上部テール」とは、分布の頂点におけるその最高閾値電圧レベルと閾値電圧レベルとの間の分布の一部分を指す。
【０１１０】
ステップ６４８において、メモリセルがその目標状態へ到達したことをメモリセルが検証した後（Ｖｔの試験によって）メモリセルをロックすることができる。
【０１１１】
ステップ６５０において、全てのメモリセルが目標閾値電圧に到達した（合格）と判定される場合、全ての選択されたメモリセルがプログラムされ、それらの目標状態に検証されたため、プログラミングプロセスは完了して成功している。ステップ６５２において、「合格」の状態が報告される。そうではなく、６５０において、全てのメモリセルがそれらの目標閾値電圧に到達していない（不合格）という判定がなされる場合、プログラミングプロセスはステップ６５４に続く。
【０１１２】
ステップ６５４において、メモリシステムは、それぞれの目標閾値電圧分布にまだ到達していないメモリセルの数をカウントする。即ち、システムは、これまでに目標状態に到達できなかったメモリセルの数をカウントする。このカウントは、ステートマシン、コントローラ１２２、又はその他の論理で実行することができる。一実施形態では、センスブロックの各々が、それらのそれぞれのセルの状態（合格／不合格）を記憶することになる。一実施形態では、１つの合計カウントが存在し、これは、最後の検証ステップを失敗した現在プログラムされているメモリセルの総数を反映している。別の実施形態では、データ状態ごとに別個のカウントが維持される。
【０１１３】
ステップ６５６において、ステップ６５４でのカウントが所定の限界値以下であるかどうかの判定がなされる。一実施形態では、所定の限界値は、メモリセルのページについての読み出しプロセスの間に、エラー訂正コード（ＥＣＣ）によって訂正することができるビットの数である。失敗したセルの数が所定の限界値以下である場合、プログラミングプロセスは停止することができ、「合格」の状態がステップ６５２で報告される。この状況では、十分な数のメモリセルが正確にプログラムされており、その結果、完全にプログラムされていない残りの僅かのメモリセルは、読み出しプロセスの間に、ＥＣＣを使用して訂正することができる。いくつかの実施形態では、ステップ６５６で使用される所定の限界値は、今後の／追加のエラーを見越して、読み出しプロセスの間にエラー訂正コード（ＥＣＣ）によって訂正することができるビットの数より小さい。１ページに対する全てのメモリセルよりも少ないメモリセルをプログラムする場合、又は、１つのデータ状態のみ（又は全ての状態よりも少ない状態）に対するカウントを比較する場合、所定の限界値は、メモリセルのページの読み出しプロセスの間にＥＣＣによって訂正することができるビットの数の（比例した、又は比例しない）一部とすることができる。いくつかの実施形態では、限界値は予め決められていない。代わりに、限界値は、そのページについて既にカウントされた誤りの数、実施されるプログラム−消去のサイクル数、又は他の基準に基づいて変化する。
【０１１４】
失敗したメモリセルの数が所定の限界値以上である場合、プログラミングプロセスはステップ６５８に進み、プログラムカウンタＰＣはプログラム限界値（program limit value、ＰＬ）と照合される。プログラム限界値の例としては、６、１２、１６、１９及び３０が挙げられるが、他の値を使用することもできる。プログラムカウンタＰＣがプログラム限界値ＰＬ以上である場合、プログラムプロセスは失敗したとみなされ、不合格の状態がステップ６６２で報告される。プログラムカウンタＰＣがプログラム限界値ＰＬ未満である場合、プロセスはステップ６６０に進み、このステップの間に、プログラムカウンタＰＣは１だけインクリメントされ、プログラム電圧Ｖｐｇｍは次の大きさにステップアップされる。例えば、次のパルスの大きさは、１ステップサイズ（例えば、０．１〜１．０ボルトのステップサイズ）だけ前のパルスよりも大きい。ステップ６６０の後、このプロセスはステップ６４２にループして戻り、別のプログラムパルスが選択されたワード線に印加され、その結果、図６のプログラミングプロセスの別の反復（ステップ６４２〜６６０）が実施される。
【０１１５】
良好なプログラミングプロセスの最後に、必要に応じて、メモリセルの閾値電圧は、プログラムされたメモリセルの閾値電圧の１つ以上の分布内、又は消去されたメモリセルの閾値電圧の分布内にあるべきである。図７Ａは、各メモリセルが３ビットのデータを記憶するときのメモリアレイの例示的な閾値電圧分布を示す。しかしながら、他の実施形態は、メモリセル当たり他のデータ容量（例えば、メモリセル当たり１、２、４、又は５ビットのデータ等）を使用し得る。図７Ａは、８つのデータ状態へ対応する８つの閾値電圧分布を示す。第１の閾値電圧分布（データ状態）Ｓ０は、消去されるメモリセルを表す。状態Ｓ０はまた、本明細書では消去状態（erase state、Ｅｒ  Ｓｔａｔｅ）と呼ばれてもよい。他の７つの閾値電圧分布（プログラム状態）Ｓ１〜Ｓ７は、プログラムされるメモリセルを表し、したがって、プログラム状態と呼ばれる。プログラム状態は、文字によって参照することもできる。例えば、プログラム状態の組（Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、及びＧ）は、プログラム状態の組（Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、及びＳ７）に対応してもよい。各閾値電圧分布（データ状態）は、データビットの組に対する所定の値に対応する。メモリセルにプログラムされたデータとセルの閾値電圧レベルとの間の特定の関係は、そのセルに採用されたデータ符号化方式によって決まる。一実施形態では、データ値は、グレーコード割り当てを使用して閾値電圧範囲に割り当てられ、その結果、メモリの閾値電圧がその隣の物理状態に誤ってシフトした場合に、１ビットのみが影響を受けるようになる。
【０１１６】
図７Ａは、８つの閾値電圧分布７０２〜７１６を示す。分布７０２は状態Ｓ０に対応し、分布７０４は状態Ｓ１に対応し、分布７０６は状態Ｓ２に対応し、分布７０８は状態Ｓ３に対応し、分布７１０は状態Ｓ４に対応し、分布７１２は状態Ｓ５に対応し、分布７１４は状態Ｓ６に対応し、分布７１６は状態Ｓ７に対応する。図７Ａはまた、メモリセルからデータを読み出すための、７つの読み出し基準電圧Ｖｒ１、Ｖｒ２、Ｖｒ３、Ｖｒ４、Ｖｒ５、Ｖｒ６、及びＶｒ７を示す。所与のメモリセルの閾値電圧がこの７つの読み出し基準電圧よりも高いか低いかを試験する（例えば、感知動作を実施する）ことによって、システムは、メモリセルがどのデータ状態（即ち、Ｓ０、Ｓ１、Ｓ２、Ｓ３、．．．）にあるのかを判定することができる。
【０１１７】
図７Ａはまた、７つの検証基準電圧Ｖｖ１、Ｖｖ２、Ｖｖ３、Ｖｖ４、Ｖｖ５、Ｖｖ６、及びＶｖ７を示す。いくつかの実施形態では、メモリセルをデータ状態Ｓ１にプログラムするとき、システムは、それらのメモリセルがＶｖ１以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ２にプログラムするとき、システムは、メモリセルがＶｖ２以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ３にプログラムするとき、システムは、メモリセルがＶｖ３以上の閾値電圧を有するかどうかを判定する。メモリセルをデータ状態Ｓ４にプログラムするとき、システムは、それらのメモリセルがＶｖ４以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ５にプログラムするとき、システムは、それらのメモリセルがＶｖ５以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ６にプログラムするとき、システムは、それらのメモリセルがＶｖ６以上の閾値電圧を有するかどうかを試験する。メモリセルをデータ状態Ｓ７にプログラムするとき、システムは、それらのメモリセルがＶｖ７以上の閾値電圧を有するかどうかを試験する。最小振幅基準電圧（例えば、Ｖｖ１）によって検証されるプログラム状態（例えば、Ｓ１又はＡ状態）は、本明細書では「最低プログラム状態」と呼ばれる。最高の大きさの基準電圧（例えば、Ｖｖ７）によって検証されるプログラム状態（例えば、Ｓ７又はＧ状態）は、本明細書では「最高プログラム状態」と呼ばれる。
【０１１８】
図７Ａはまた、メモリセルが適切に消去されているかどうかを試験する電圧レベルである（「消去検証電圧」のための）Ｖｅｖも示す。図７Ａに示すように、消去されるメモリセルは、Ｖｅｖ未満のＶｔを有するべきである。以下でより詳細に考察されるように、プログラミングプロセス後、ＶｅＶ未満のＶｔを有するべきであるメモリセル（すなわち、消去状態であるべきである）は、Ｖｅｖを超えるＶｔを有し得る。場合によっては、ＶｔはＶｒ１よりも高くてもよく、又は更にはＶｖ１を超えてもよい。ゆがんだメモリセルでは、そのような挙動を呈する可能性がより高くなり得る。消去状態に留まっているべきであったが、特定の電圧（例えば、Ｖｅｖ又はＶｒ１）を超えるＶｔを有するメモリセルは、本明細書では「プログラムディスターブ消去状態セル」と呼ばれる。
【０１１９】
フルシーケンスプログラミングとして知られる一実施形態では、メモリセルを、消去されたデータ状態Ｓ０からプログラムされたデータ状態Ｓ１〜Ｓ７のいずれかに直接的にプログラムすることができる。例えば、プログラムされることになるメモリセルの母集団は、母集団の全てのメモリセルが消去されたデータ状態Ｓ０になるように、まず消去されることがある。次いで、プログラミングプロセスを使用して、メモリセルをデータ状態Ｓ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、及び／又はＳ７に直接的にプログラムする。例えば、いくつかのメモリセルがデータ状態Ｓ０からデータ状態Ｓ１にプログラムされる一方で、他のメモリセルは、データ状態Ｓ０からデータ状態Ｓ２へプログラムされ、かつ／又はデータ状態Ｓ０からデータ状態Ｓ３にプログラムされ、以下同様である。いくつかの実施形態では、データ状態Ｓ１〜Ｓ７は、重複することができ、コントローラ１２２は、エラー訂正に応答して、記憶されている正しいデータを識別する。
【０１２０】
本明細書に記載する技術はまた、フルシーケンスプログラミング（これに限定されるわけではないが、複数の段階／フェーズのプログラミングを含む）に加えて、他の種類のプログラミングと共に使用することもできる。複数の段階／フェーズプログラミングの一実施形態では、全てのメモリセルは、データ状態Ｓ４〜Ｓ７のいずれかで終了するようにプログラムされ、第１のフェーズでＳ４以下の中間状態にプログラムされる。データ状態Ｓ０〜Ｓ３のいずれかで終了するメモリセルは、第１のフェーズでプログラミングを受信しない。第２のフェーズでは、データ状態Ｓ２又はＳ３のいずれかで終了するメモリセルは、Ｓ２以下の状態にプログラムされる。データ状態Ｓ６又はＳ７のいずれかで終了するメモリセルは、Ｓ６以下の状態にプログラムされる。第３のフェーズでは、メモリセルは、それらの最終状態にプログラムされる。一実施形態では、第１のページは第１のフェーズでプログラムされ、第２のページは第２のフェーズでプログラムされ、第３のページは第３のフェーズでプログラムされる。本明細書では、ページがメモリセルのグループにプログラムされると、メモリセルを読み戻してページを取得することができる。したがって、マルチフェーズプログラミングに関連する中間状態は、本明細書ではプログラム状態とみなされる。
【０１２１】
一般に、検証動作及び読み出し動作の間には、選択されたワード線は、電圧に接続され、そのレベルは、関連しているメモリセルの閾値電圧がこのようなレベルに到達しているかどうかを判定するために、読み出し動作（例えば、図７Ａの読み出し比較レベルＶｒ１、Ｖｒ２、Ｖｒ３、Ｖｒ４、Ｖｒ５、Ｖｒ６、及びＶｒ７を参照）又は検証動作（図７Ａの検証目標レベルＶｖ１、Ｖｖ２、Ｖｖ３、Ｖｖ４、Ｖｖ５、Ｖｖ６、及びＶｖ７を参照）ごとに指定される。ワード線電圧を印加した後、メモリセルの伝導電流を測定して、ワード線に印加された電圧に応答してメモリセルがオンになっている（電流が流れている）かどうかを判定する。伝導電流がある値よりも大きいと測定される場合、メモリセルがオンにされ、ワード線に印加される電圧がメモリセルの閾値電圧よりも大きいと仮定する。伝導電流が所定の値より大きいと測定されない場合、メモリセルはオンにならず、ワード線に印加される電圧はメモリセルの閾値電圧以下であると仮定する。読み出し又は検証プロセスの間、非選択メモリセルには、それらの制御ゲートにおいて１つ以上の読み出しパス電圧（バイパス電圧とも呼ばれる）が提供され、その結果、これらのメモリセルは、パスゲートとして動作することになる（例えば、プログラムされているか消去されているかにかかわらず電流を流す）。
【０１２２】
読み出し又は検証動作中にメモリセルの伝導電流を測定する多くの方法がある。一実施例では、メモリセルの伝導電流は、センスアンプ内の専用コンデンサを放電又は充電する速度によって測定される。別の実施例では、選択されたメモリセルの伝導電流は、メモリセルを含むＮＡＮＤストリングが対応するビット線を放電することを可能にする（又は可能にしない）。ビット線の電圧は、それが放電されていたかどうかを調べるために一定時間後に測定される。本明細書に記載される技術は、検証／読み出しのための当該技術分野で既知の様々な方法と共に使用され得ることに留意されたい。当該技術分野で既知の他の読み出し及び検証技術も使用することができる。
【０１２３】
図７Ｂは、重度のゆがみを有するメモリセルのグループで発生し得る問題を示すための、プログラミング後の８つの可能な閾値電圧分布７２２〜７３６を示す。分布７２２は状態Ｓ０に対応し、分布７２４は状態Ｓ１に対応し、分布７２６は状態Ｓ２に対応し、分布７２８は状態Ｓ３に対応し、分布７３０は状態Ｓ４に対応し、分布７３２は状態Ｓ５に対応し、分布７３４は状態Ｓ６に対応し、分布７３６は状態Ｓ７に対応する。比較の目的で、メモリセルは、図７Ａの例と同じプログラミングパラメータ（例えば、プログラム電圧ステップサイズ、検証基準レベル）を使用して、同じ状態（Ｓ０〜Ｓ７）にプログラムされた。したがって、検証基準レベルＶｖ１〜Ｖｖ７は、同じ図７Ａ及び図７Ｂである。同様に、読み出し基準レベルＶｒ１〜Ｖｖ７は、図７Ａ及び図７Ｂ中で同じである。
【０１２４】
Ｓ０状態の閾値電圧分布７２２は、図７ＡのＳ０状態の閾値電圧分布７０２とは著しく異なる。閾値電圧分布７２２を参照すると、メモリセルのうちのいくつかは、消去検証レベル（Ｖｅｖ）を超えるＶｔを有し、メモリセルの一部はＶｒ１を超えるＶｔを有する。閾値電圧分布７２２内のメモリセルの一部は、Ｖｖ１よりも高いＶｔを有するが、図７Ｂには示されていない。閾値電圧分布は、プログラム状態（Ｓ１〜Ｓ７）も図７Ａのものと異なってもよい。
【０１２５】
いくつかの実施形態では、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のゾーン内のＶｔを有するメモリセルのカウントが行われる。図７Ｂは、ゾーン７２０の一実施形態を示す。ゾーン７２０は、Ｖｒ１とＶｖ１との間にある。ゾーンは、他の基準電圧に基づいて画定することができる。このカウントは、いくつかの実施形態では、グループのメモリホールゆがみの程度を判定するために使用される。いくつかの実施形態では、高いカウントは、グループのメモリホールゆがみの高程度を示す。いくつかの実施形態では、低いカウントは、グループのメモリホールゆがみの低程度を示す。
【０１２６】
いくつかの実施形態では、１つ以上のプログラムパラメータがカウントに基づいて選択される。カウントに基づいて選択される１つのプログラムパラメータは、一実施形態では、プログラムステップサイズである。例えば、プロセス６００のステップ６６０におけるプログラムステップサイズを選択することができる。いくつかの実施形態では、より大きいプログラムステップサイズは、より速いプログラミング、したがってより高い性能をもたらす。いくつかの実施形態では、より小さいプログラムステップサイズは、より遅いプログラミングをもたらす。しかしながら、より小さいプログラムステップサイズは、メモリホールゆがみの高程度を有するグループが確実に使用されることを可能にし得る。いくつかの実施形態では、カウントに基づいて選択される別のプログラムパラメータは、Ｖｖ１である。Ｖｖ１を調整すると、ＶｅＶとＶｖ１との間のマージンが変化する。Ｖｖ１が移動されると、他の検証基準レベルＶｖ２〜Ｖｖ７のうちの１つ以上も移動され得る（典型的には、Ｖｖ７は移動しない）。
【０１２７】
図７Ｃは、図７Ａの実施例で使用されたものとは異なるプログラムパラメータを使用したプログラミング後の８つの閾値電圧分布７４２〜７５６を示す。一実施形態では、グループのメモリホールゆがみの程度が低いと判定することに応答して、異なるプログラムパラメータが使用される。図７Ｃで使用されるプログラムパラメータは、プログラミング性能を増大させるために使用され得る。分布７４２は状態Ｓ０に対応し、分布７４４は状態Ｓ１に対応し、分布７４６は状態Ｓ２に対応し、分布７４８は状態Ｓ３に対応し、分布７５０は状態Ｓ４に対応し、分布７５２は状態Ｓ５に対応し、分布７５４は状態Ｓ６に対応し、分布７５６は状態Ｓ７に対応する。上述のように、グループのメモリホールゆがみの程度が閾値を下回ると判定することに応答して、プログラミング性能を増大させることができる。
【０１２８】
比較の目的で、図７Ａからのプログラム状態Ｓ１〜Ｓ７の閾値分布７０４〜７１６は、破線で示されている。メモリセルは、図７Ａの実施例で使用されたものよりも高い性能レベルを使用して、消去状態（Ｓ０）から閾値分布７４４〜７５６にプログラムされた。
【０１２９】
メモリセルは、図７Ａの例とは異なるプログラミングパラメータ（例えば、プログラム電圧ステップサイズ、検証基準レベル）を使用して、閾値分布７４４〜７５６にプログラムされた。１つの相違点は、図７Ｃの実施例では、プログラム電圧ステップサイズが大きいことである。別の相違点は、Ｖｖ１が図７Ｃにおいて図７Ａよりも低い電圧であることである。したがって、Ｖｖ１は、図７Ａよりも図７ＣのＶｅｖに近い。別の相違点は、Ｖｖ１とＶｖ７との間の電圧差が図７Ｃにおいて図７Ａよりも大きいことである。Ｖｖ１〜Ｖｖ７の間のより大きなギャップを有することにより、状態間の電圧マージンの増加による信頼性を向上させることができる。
【０１３０】
図７Ｄは、図７Ｃの実施例で使用されたものとは異なるプログラムパラメータを使用して示すための、プログラミング後の閾値電圧分布７６２〜７７６を示す。一実施形態では、グループのメモリホールゆがみの程度が高いと判定することに応答して、異なるプログラムパラメータが使用される。分布７６２は状態Ｓ０に対応し、分布７６４は状態Ｓ１に対応し、分布７６６は状態Ｓ２に対応し、分布７６８は状態Ｓ３に対応し、分布７７０は状態Ｓ４に対応し、分布７７２は状態Ｓ５に対応し、分布７７４は状態Ｓ６に対応し、分布７７６は状態Ｓ７に対応する。プログラミング性能（例えば、プログラミング速度）は、メモリホールゆがみの程度が閾値を上回ると判定することに応答して低下し得る。例えば、プログラムステップサイズを小さくすることができる。しかしながら、より小さいステップサイズを使用することは、より正確な閾値電圧分布を形成することを支援し得、信頼性を向上させることができる。
【０１３１】
比較の目的で、図７Ｂからのプログラム状態Ｓ１〜Ｓ７の閾値電圧分布７２４〜７３６は、破線で示されている。メモリセルは、図７Ｂの例とは異なるプログラミングパラメータ（例えば、プログラム電圧ステップサイズ、検証基準レベル）を使用して、閾値電圧分布７６４〜７７６にプログラムした。１つの相違点は、図７Ｄの実施例では、プログラム電圧ステップサイズが小さいことである。別の相違点は、Ｖｖ１が図７Ｄにおいて図７Ｃよりも高い電圧であることである。したがって、Ｖｖ１は、図７Ｃよりも図７ＤのＶｅｖから遠い。別の相違点は、Ｖｖ１とＶｖ７との間の電圧差が図７Ｄにおいて図７Ｃよりも小さいことである。しかしながら、より小さいプログラムステップサイズは、Ｖｖ１〜Ｖｖ７の間のより小さいギャップを補償するために使用され得る。
【０１３２】
図８は、不揮発性記憶デバイス内のメモリセルをプログラムするプロセス８００の一実施形態である。不揮発性記憶デバイスは、本明細書に記載される任意の不揮発性記憶デバイスであり得る。いくつかの実施形態では、メモリセルは３Ｄメモリアレイ内にある。３次元アレイは、図４Ａ〜図４Ｅの例などであるがこれらに限定されない不揮発性メモリセルの列を含む。図４Ｅの例のように、不揮発性メモリホールの全てが円形断面を有するわけではないことに留意されたい。いくつかのメモリセルは、図５の実施例と同様に、重度のゆがみを有し得る。このプロセスは、一実施形態では、メモリセルのグループのメモリホールゆがみの程度に１つ以上のプログラムパラメータを調整するために使用される。これにより、グループのメモリホールゆがみの程度に基づいて、異なるグループが異なるプログラムパラメータを有することを可能にする。グループは、任意のユニット（例えば、ワード線に接続されたメモリセル、メモリセルのブロック、平面、メモリダイ１０８）であり得る。プロセス８００は、いくつかの実施形態では、図１に示される他の回路の全て又はサブセットと組み合わせて、ステートマシン１１２及び／又はコントローラ１２２（又は同等に機能する回路）によって実施される。
【０１３３】
ステップ８０２は、メモリセルのグループを消去することを含む。メモリセルは、消去状態（例えば、Ｓ０又はＥｒ）へ消去される。消去状態の上限境界は、消去検証電圧（例えば、ＶｅＶ）によって画定される。換言すれば、消去検証電圧は、消去プロセス中に使用され、メモリセルが消去状態にあるかどうかを検証する。グループ内の全てのメモリセルは、消去が完了するための消去検証電圧よりも低いＶｔを有することは必須ではない。いくつかの実施形態では、消去が完了した後に、所定の数のメモリセルは、消去検証電圧より高いＶｔを有し得る。一実施例として、グループは１つのワード線に接続されたメモリセルであってもよいことに留意されたい。このグループを消去するとき、他のメモリセルも消去されてもよい。例えば、（グループがその一部である）メモリセルのブロック全体は、一緒に消去されてもよい。
【０１３４】
ステップ８０４は、１つ以上の第１のプログラムパラメータを使用して、グループ内のメモリセルを消去状態から複数のプログラム状態へプログラムすることを含む。１つ以上のプログラムパラメータは、１）プログラムループ間のプログラム電圧ステップサイズ、２）消去状態検証電圧（例えば、Ｖｅｖ）とＡ状態（又はＳ１）検証電圧（例えば、Ｖｖ１）との間の電圧ギャップ、３）メモリセルがその目標状態へプログラムされているかどうかを検証するために使用される１つ以上の検証レベル（例えば、Ｖｖ１〜Ｖｖ７のいずれか）、及び／又は４）最低プログラム状態（例えば、Ｓ０）の第１の検証電圧（例えば、Ｖｖ１）と最高プログラム状態（例えば、Ｓ７）の第２の検証電圧（例えば、Ｖｖ７）との間の電圧ギャップを含み得るが、これらに限定されない。なお、７つ超又は７つ未満のプログラム状態を使用してもよいことに留意されたい。
【０１３５】
ステップ８０６は、メモリセルのＶｔｓに基づいてグループのメモリホールゆがみの程度を判定することを含む。一実施形態では、メモリホールゆがみの程度を判定するために、メモリセルの閾値電圧を測定する。メモリセルの閾値電圧を測定し得る多数の方法がある。いくつかの実施形態では、メモリセルのカウントは、Ｖｔ測定値に基づいて行われる。いくつかの実施形態では、グループ内のメモリホールゆがみの程度は、ゾーン内に閾値電圧を有するメモリセルの数に基づいて判定される。ゾーンの一実施例を図７Ｂに示すが、他のゾーンを使用することもできる。一実施形態では、カウントは、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のゾーン内にあるＶｔを有するメモリセルの数で作製される。ゾーンは、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のギャップ全体を占有する必要はない。図７Ｂは、一実施形態でカウントに使用されるゾーン７２０を示す。ゾーン７２０は、Ｖｒ１とＶｖ１との間にある。ゾーンは、他の基準電圧に基づいて画定することができる。グループに対するメモリホールゆがみの程度は、いくつかの実施形態では、カウントに基づく。いくつかの実施形態では、より高いカウントは、グループのより重度のメモリホールゆがみを示す。いくつかの実施形態では、より低いカウントは、グループのより重度のメモリホールゆがみを示す。
【０１３６】
一実施形態では、ステップ８０６において、ＶｅＶ未満のＶｔを有するメモリセルの数のカウントが行われる。この実施例では、Ｖｅｖ未満の領域は、グループ内のメモリホールゆがみの程度を判定するために使用されるゾーンとみなすことができる。このゾーン内のセルのカウント（ＶｅＶ未満）は、消去状態にあるべき（すなわち、ＶｅＶ未満のＶｔを有するべき）メモリセルの数と比較される。いくつかの実施形態では、データ状態（すなわち、消去状態及びプログラム状態）の各々は、それぞれ同じ数のセルを有するべきである。例えば、８つのデータ状態が存在する場合、メモリセルの１／８は消去状態にあるべきである。したがって、消去状態にあるべきであるが、Ｖｅｖを超えるＶｔを有するメモリセルの数を判定することができる。より多くの数は、グループのより重度のメモリホールゆがみを示す。Ｖｅｖ未満のＶｔを有するメモリセルの数をカウントする代わりに、Ｖｒ１などの別のレベルを使用することができる。
【０１３７】
ステップ８０６は、一実施形態では、グループ内のメモリセルのプログラミング直後に実施される。グループ内のメモリセルのプログラミング直後とは、読み出しディスターブを引き起こす可能性のある介在する感知動作がなく、かつプログラムディスターブをグループに引き起こす可能性があるメモリセルの別のグループをプログラムしないことを意味する。したがって、ステップ８０６は、一実施形態では、（他のグループのプログラミングからの）読み出しディスターブ及びプログラムディスターブの影響を回避する。
【０１３８】
ステップ８０６は、一実施形態では、グループをプログラムする結果としてプログラムディスターブされる消去状態メモリセルの数を判定する。すなわち、消去状態セルは、グループがプログラムされているときにプログラミングを受信することを禁止されるべきである。しかしながら、消去状態セルが適切に抑制されていない場合、プログラムディスターブを被る可能性がある。このようなメモリセルは、本明細書では、プログラムディスターブ消去状態メモリセルと呼ばれる。一実施形態では、ステップ８０６で説明されるＶｔｓを測定する技術のいずれかを使用して、プログラムディスターブ消去状態メモリセルの数を判定することができる。しかしながら、プログラムディスターブ消去状態メモリセルの数を判定することは、ステップ８０６で説明される実施例に限定されない。
【０１３９】
ステップ８０８は、メモリセルのグループを消去することを含む。ステップ８０６とステップ８０８との間の矢印は、ステップ８０６とステップ８０８との間を有意な時間が経過し得ることを示すために破線で示されている。
【０１４０】
ステップ８１０は、１つ以上の第２のプログラムパラメータを使用して、グループ内のメモリセルを消去状態から複数のプログラム状態にプログラムすることを含む。１つ以上の第２のプログラムパラメータは、いくつかの実施形態では、グループのメモリホールゆがみの程度に基づく。
【０１４１】
一実施形態では、ステップ８１０は、メモリホールゆがみの程度が閾値を下回っていることに応答して、１つ以上の第１のプログラムパラメータに比べてより大きいプログラムステップサイズを、１つ以上の第２のプログラムパラメータで使用することを含む。一実施形態では、閾値はゾーン（例えば、ゾーン７２０）内のメモリセルのカウントである。一実施形態では、ステップ８１０は、メモリホールゆがみの程度が閾値を下回っていることに応答して、１つ以上の第１のプログラムパラメータのＡ状態検証電圧よりも低い１つ以上の第２のプログラムパラメータのＡ状態検証電圧を用いてＡ状態を検証することを含む。
【０１４２】
一実施形態では、ステップ８１０は、メモリホールゆがみの程度が閾値を上回っていることに応答して、１つ以上の第１のプログラムパラメータに比べてより小さいプログラムステップサイズを、１つ以上の第２のプログラムパラメータで使用することを含む。一実施形態では、閾値はゾーン（例えば、ゾーン７２０）内のメモリセルのカウントである。一実施形態では、ステップ８１０は、メモリホールゆがみの程度が閾値を上回っていることに応答して、１つ以上の第１のプログラムパラメータのＡ状態検証電圧よりも高い１つ以上の第２のプログラムパラメータのＡ状態検証電圧を用いてＡ状態を検証することを含む。
【０１４３】
図９は、Ａ状態検証電圧が、消去検証電圧とＡ状態検証電圧との間のゾーン内のメモリセルのカウントに基づいて調整されるプロセス９００の一実施形態のフローチャートである。プロセス９００における様々なステップがプロセス８００で使用されてもよい。しかしながら、プロセス９００は、プロセス８００とは独立して実施することができる。プロセス９００は、いくつかの実施形態では、図１に示される他の回路の全て又はサブセットと組み合わせて、ステートマシン１１２及び／又はコントローラ１２２（又は同等に機能する回路）によって実施される。
【０１４４】
ステップ９０２は、メモリセルのグループを消去することを含む。メモリセルは、消去状態（例えば、Ｓ０又はＥｒ）へ消去される。消去検証電圧（例えば、ＶｅＶ）は、消去プロセス中に使用され、メモリセルが消去状態にあるかどうかを検証する。グループ内の全てのメモリセルは、消去が完了するための消去検証電圧よりも低いＶｔを有することは必須ではない。いくつかの実施形態では、消去が完了した後に、所定の数のメモリセルは、消去検証電圧より高いＶｔを有し得る。
【０１４５】
ステップ９０４は、既定のＡ状態検証電圧を使用して、メモリセルを消去状態から複数のプログラム状態へプログラムすることを含む。既定のＡ状態検証電圧は、いくつかの実施形態では、メモリホールゆがみの程度に関係なく使用される電圧を指す。既定のＡ状態検証電圧の一実施例は、図７Ａ〜図７ＤのいずれかにおけるＶｖ１である。ステップ９０４は、プロセス８００のステップ８０４の実施形態で使用されてもよい。
【０１４６】
ステップ９０６は、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のゾーン内にあるＶｔを有するメモリセルの数のカウントを判定することを含む。ゾーンは、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のギャップ全体を占有する必要はない。図７Ｂは、一実施形態でカウントに使用されるゾーン７２０を示す。ゾーン７２０は、Ｖｒ１とＶｖ１との間にある。ゾーンは、他の基準電圧に基づいて画定することができる。ステップ９０６は、一実施形態では、メモリセルのプログラミング直後に実施される。したがって、一実施形態では、メモリセルに対する読み出しディスターブのいかなる影響も回避される。ステップ９０６は、プロセス８００のステップ８０６の実施形態で使用されてもよい。
【０１４７】
ステップ９０８は、カウントに基づいてＡ状態検証電圧を設定する方法の判定を含む。Ａ状態検証レベルは、このメモリセルのグループがプログラムされる次の時間に使用される。カウントが比較的低い（第１の閾値Ｔ１を下回る）場合、ステップ９１０でＡ状態検証電圧が減少する。Ａ状態検証電圧を減少させる一実施例は、図７Ｃに示すように、Ｖｖ１〜Ｖｖ１’へと減少させることである。一実施例は、Ａ状態検証電圧を既定の電圧から１００ｍＶ減少させることである。他の検証電圧も減少させることができる。例えば、Ｖｖ２〜Ｖｖ６のうちの１つ以上は、それぞれＶｖ２’〜Ｖｖ６’に減少する。一実施例は、既定の電圧から８０ｍＶだけＢ状態検証電圧を減少させ、既定の電圧から６０ｍＶだけＣ状態検証電圧を減少させ、既定の電圧から４０ｍＶだけＤ状態検証電圧を減少させ、既定の電圧から３０ｍＶだけＥ状態検証電圧を減少させ、既定の電圧から２０ｍＶだけＦ状態検証電圧を減少させ、Ｇ状態検証電圧を既定の電圧のままとする。
【０１４８】
カウントが比較的高い（第２の閾値Ｔ２を上回る）場合、ステップ９１２でＡ状態検証電圧が増加する。Ａ状態検証電圧を増加させる一実施例は、図７Ｄに示すように、Ｖｖ１〜Ｖｖ１’’へと減少させることである。一実施例は、Ａ状態検証電圧を既定の電圧から１００ｍＶ増加させることである。他の検証電圧も増加させることができる。例えば、Ｖｖ２〜Ｖｖ６のうちの１つ以上は、それぞれＶｖ２’’〜Ｖｖ６’’に増加される。一実施例は、既定の電圧から８０ｍＶだけＢ状態検証電圧を増加させ、既定の電圧から６０ｍＶだけＣ状態検証電圧を増加させ、既定の電圧から４０ｍＶだけＤ状態検証電圧を増加させ、既定の電圧から３０ｍＶだけＥ状態検証電圧を増加させ、既定の電圧から２０ｍＶだけＦ状態検証電圧を増加させ、Ｇ状態検証電圧を既定の電圧のままとする。
【０１４９】
カウントが高くも低くもない場合（第１の閾値Ｔ１と第２の閾値Ｔ２との間）、Ａ状態検証電圧は、ステップ９１４で同じに保たれる。一実施形態では、他の検証電圧も同じに保たれる。
【０１５０】
ステップ９１０は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。ステップ９１２は、プロセス８００のステップ８１０の一実施形態で実施される。ステップ９１０及びステップ９１２の両方は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。ステップ９１０、９１２、及び９１４は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。
【０１５１】
図１０はプログラムステップサイズが、消去検証電圧とＡ状態検証電圧との間のゾーン内のメモリセルのカウントに基づいて調整されるプロセス１０００の一実施形態のフローチャートである。プロセス１０００における様々なステップがプロセス８００で使用されてもよい。しかしながら、プロセス１０００は、プロセス８００とは独立して実施することができる。プロセス１０００は、いくつかの実施形態では、図１に示される他の回路の全て又はサブセットと組み合わせて、ステートマシン１１２及び／又はコントローラ１２２（又は同等に機能する回路）によって実施される。
【０１５２】
ステップ１００２は、メモリセルのグループを消去することを含む。メモリセルは、消去状態（例えば、Ｓ０又はＥｒ）へ消去される。消去検証電圧（例えば、ＶｅＶ）は、消去プロセス中に使用され、メモリセルが消去状態にあるかどうかを検証する。グループ内の全てのメモリセルは、消去が完了するための消去検証電圧よりも低いＶｔを有することは必須ではない。いくつかの実施形態では、消去が完了した後に、所定の数のメモリセルは、消去検証電圧より高いＶｔを有し得る。
【０１５３】
ステップ１００４は、既定のプログラム電圧ステップサイズを使用して、メモリセルを消去状態から複数のプログラム状態へプログラムすることを含む。既定のプログラム電圧ステップサイズは、いくつかの実施形態では、メモリホールゆがみの程度に関係なく使用されるプログラム電圧ステップサイズを指す。既定のプログラム電圧ステップサイズの一実施例は０．６Ｖである。既定のプログラム電圧ステップは、より高くても、又はより低くてもよい。ステップ１００４は、プロセス８００のステップ８０４の実施形態で使用されてもよい。
【０１５４】
ステップ１００６は、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のゾーン内にあるＶｔを有するメモリセルの数のカウントを判定することを含む。ゾーンは、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のギャップ全体を占有する必要はない。図７Ｂは、一実施形態でカウントに使用されるゾーン７２０を示す。ゾーン７２０は、Ｖｒ１とＶｖ１との間にある。ゾーンは、他の基準電圧に基づいて画定することができる。ステップ１００６は、一実施形態では、メモリセルのプログラミング直後に実施される。ステップ９０６は、プロセス８００のステップ８０６の実施形態で使用されてもよい。
【０１５５】
ステップ１００８は、カウントに基づいてプログラム電圧ステップサイズを設定する方法の判定を含む。カウントが比較的低い（第１の閾値Ｔ１を下回る）場合、ステップ１０１０でプログラム電圧ステップサイズが増加する。一実施例は、プログラム電圧ステップサイズを既定から０．０５Ｖ増加させることである。例えば、プログラム電圧ステップサイズは、０．６Ｖ〜０．６５Ｖ増加させることができる。増加は、０．０５Ｖを超えるか、又は０．０５Ｖ未満であってもよい。
【０１５６】
カウントが比較的高い（第２の閾値Ｔ２を超える）場合、ステップ１０１２でプログラム電圧ステップサイズが減少する。一実施例は、プログラム電圧ステップサイズを既定から０．０５Ｖ減少させることである。例えば、プログラム電圧ステップサイズは、０．６Ｖ〜０．５５Ｖ減少させることができる。増加は、０．０５Ｖを超えるか、又は０．０５Ｖ未満であってもよい。閾値Ｔ１、Ｔ２は、プロセス９００で使用される閾値Ｔ１、Ｔ２と同じでも異なってもよいことに留意されたい。
【０１５７】
カウントが高くも低くもない場合（第１の閾値Ｔ１と第２の閾値Ｔ２との間）、プログラム電圧ステップサイズは、ステップ１０１４で同じに保たれる。
【０１５８】
ステップ１０１０は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。ステップ１０１２は、プロセス８００のステップ８１０の一実施形態で実施される。ステップ１０１０及びステップ１０１２の両方は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。ステップ１０１０、１０１２、及び１０１４は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。
【０１５９】
プロセス９００のステップ９１０〜９１４で実施されるアクションは、プロセス１０００のステップ１０１０〜１０１４におけるアクションと組み合わされてもよい。換言すれば、プログラムステップサイズ及び１つ以上の検証電圧の両方を調整することができる。図１１は、プログラムステップサイズ及び１つ以上の検証レベルの両方が、消去検証電圧とＡ状態検証電圧との間のゾーン内のメモリセルのカウントに基づいて調整されるプロセス１１００の一実施形態のフローチャートである。プロセス１１００における様々なステップがプロセス８００で使用されてもよい。しかしながら、プロセス１１００は、プロセス８００とは独立して実施することができる。プロセス１１００は、いくつかの実施形態では、図１に示される他の回路の全て又はサブセットと組み合わせて、ステートマシン１１２及び／又はコントローラ１２２（又は同等に機能する回路）によって実施される。
【０１６０】
ステップ１１０２は、メモリセルのグループを消去することを含む。メモリセルは、消去状態（例えば、Ｓ０又はＥｒ）へ消去される。消去検証電圧（例えば、ＶｅＶ）は、消去プロセス中に使用され、メモリセルが消去状態にあるかどうかを検証する。グループ内の全てのメモリセルは、消去が完了するための消去検証電圧よりも低いＶｔを有することは必須ではない。いくつかの実施形態では、消去が完了した後に、所定の数のメモリセルは、消去検証電圧より高いＶｔを有し得る。
【０１６１】
ステップ１１０４は、既定のプログラム電圧ステップサイズ及び既定の検証電圧を使用して、メモリセルを消去状態から複数のプログラム状態へプログラムすることを含む。既定のプログラム電圧ステップサイズ及び既定の検証電圧の実施例は、ステップ１００４、及び９０４に関連して考察された。
【０１６２】
ステップ１１０６は、消去検証レベル（Ｖｅｖ）とＳ１検証レベル（Ｖｖ１）との間のゾーン内にあるＶｔを有するメモリセルの数のカウントを判定することを含む。ステップ１１０６は、一実施形態では、メモリセルのプログラミング直後に実施される。ステップ１１０６は、プロセス８００のステップ８０６の実施形態で使用されてもよい。ゾーン７２０に基づくカウントの一実施例は、ステップ９０６及び１００６に関連して考察された。
【０１６３】
ステップ１１０８は、プログラム電圧ステップサイズ及び１つ以上の検証電圧をカウントに基づいて設定する方法の判定を含む。カウントが比較的低い（第１の閾値Ｔ１を下回る）場合、ステップ１１１０で、プログラム電圧ステップサイズが増加し、１つ以上の検証電圧が減少する。電圧ステップサイズ及び検証電圧を増加させる実施例は、ステップ１０１０及び９１０に関連して考察された。
【０１６４】
カウントが比較的高い（第２の閾値Ｔ２を超える）場合、ステップ１０１２で、プログラム電圧ステップサイズが増加し、１つ以上の検証電圧が増加する。電圧ステップサイズを減少させ、検証電圧を減少させる実施例は、ステップ１０１２及び９１２に関連して考察された。
【０１６５】
カウントが高くも低くもない場合（第１の閾値Ｔ１と第２の閾値Ｔ２との間）、プログラム電圧ステップサイズ及び検証電圧は、ステップ１１１４で同じに保たれる。
【０１６６】
ステップ１１１０は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。ステップ１１１２は、プロセス８００のステップ８１０の一実施形態で実施される。ステップ１１１０及びステップ１１１２の両方は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。ステップ１１１０、１１１２、及び１１１４は、（カウントに応じて）プロセス８００のステップ８１０の一実施形態で実施される。
【０１６７】
本明細書に開示される第１の実施形態は、不揮発性メモリセルと、不揮発性メモリセルと通信する１つ以上の制御回路と、を備える装置を含む。１つ以上の制御回路は、第１のプログラムパラメータを使用して、消去状態から複数のプログラム状態へ不揮発性メモリセルのグループをプログラムし、グループの閾値電圧を測定してグループ内のメモリホールゆがみの程度を判定し、グループ内のメモリホールゆがみの程度に基づいて選択された第２のプログラムパラメータを使用して、グループを消去状態から複数のプログラム状態へプログラムするように構成されている。
【０１６８】
第２の実施形態では、第１の実施形態を促進するために、１つ以上の制御回路は、メモリホールゆがみの程度が閾値を下回っていることに応答して、第１のプログラムパラメータに比べてより大きいプログラムステップサイズを、第２のプログラムパラメータに使用するように更に構成されている。
【０１６９】
第３の実施形態では、第１又は第２の実施形態を促進するために、１つ以上の制御回路が、メモリホールゆがみの程度が閾値を下回っていることに応答して、プログラム状態の中で最も低いプログラム状態のための第１の検証電圧とプログラム状態の中で最も高いプログラム状態のための第２の検証電圧との間のより大きい電圧ギャップを、より大きいプログラムステップサイズの使用と組み合わせて使用するように更に構成されている。
【０１７０】
第４の実施形態では、第１〜第３の実施形態のうちのいずれかを促進するために、１つ以上の制御回路は、メモリホールゆがみの程度が閾値を下回っていることに応答して、第１のプログラムパラメータのＡ状態検証電圧よりも低い第２のプログラムパラメータのＡ状態検証電圧を用いて、複数のプログラム状態のうちのＡ状態を検証するように更に構成されている。
【０１７１】
第５の実施形態では、第１〜第４の実施形態のうちのいずれかを促進するために、１つ以上の制御回路は、メモリホールゆがみの程度が閾値を上回っていることに応じて、第１のプログラムパラメータに比べてより小さいプログラムステップサイズを、第２のプログラムパラメータで使用するように更に構成されている。
【０１７２】
第６の実施形態では、第１〜第５の実施形態のうちのいずれかを促進するために、１つ以上の制御回路は、メモリホールゆがみの程度が閾値を上回っていることに応じて、プログラム状態の中で最も低いプログラム状態のための第１の検証電圧とプログラム状態の中で最も高いプログラム状態のための第２の検証電圧との間のより小さい電圧ギャップを、より小さいプログラムステップサイズの使用と組み合わせて使用するように更に構成されている。
【０１７３】
第７の実施形態では、第１〜第６の実施形態のうちのいずれかを促進するために、１つ以上の制御回路は、メモリホールゆがみの程度が閾値を上回っていることに応答して、第１のプログラムパラメータのＡ状態検証電圧よりも高い第２のプログラムパラメータのＡ状態検証電圧を用いて、複数のプログラム状態のうちのＡ状態を検証するように更に構成されている。
【０１７４】
第９の実施形態では、第１〜第７の実施形態のうちのいずれかを促進するために、１つ以上の制御回路は、ゾーン内の閾値電圧を有するメモリセルの数に基づいて、グループ内のメモリホールゆがみの程度を判定するように更に構成されている。
【０１７５】
第１０の実施形態では、第１〜第９の実施形態のうちのいずれかを促進するために、メモリホールゆがみは、メモリホールストリエーションを含む。
【０１７６】
第１１の実施形態では、第１〜第１０の実施形態のうちのいずれかを促進するために、不揮発性メモリセルは、メモリセル材料の環状フィルムを含む。１つ以上の制御回路は、メモリセル材料の環状フィルムのゆがみの程度を判定するように構成される。
【０１７７】
一実施形態は、不揮発性メモリを動作させる方法を含む。方法は、消去状態の上限境界を画定する消去状態検証電圧を下回るレベルまで不揮発性メモリセルのグループを消去することと、既定のＡ状態検証電圧を用いてＡ状態を検証することを含む、消去状態から複数のプログラム状態へグループをプログラムすることと、グループのプログラミング直後に、消去状態検証電圧と既定のＡ状態検証電圧との間のゾーン内にあるメモリセルの数を判定することと、ゾーン内にあるメモリセルの数を判定した後に、グループを消去状態へ消去することと、ゾーン内にあるメモリセルの数に基づく検証電圧を用いてＡ状態を検証することを含む、消去状態から複数のプログラム状態へグループをプログラムすることと、を含む。
【０１７８】
一実施形態は、不揮発性メモリセルの列を含む３次元アレイと、１つ以上の制御回路と、を含む不揮発性記憶デバイスを含む。１つ以上の制御回路は、第１のプログラム電圧ステップサイズを使用して、消去状態から複数のプログラム状態へ不揮発性メモリセルのグループをプログラムし、グループをプログラムする結果としてプログラムディスターブされる消去状態メモリセルの数を判定し、第１のプログラム電圧ステップサイズを使用してグループをプログラミング後、グループを消去し、第１のプログラム電圧ステップサイズを使用しているときに、プログラムディスターブ消去状態メモリセルの数に基づく第２のプログラム電圧ステップサイズを使用してグループをプログラムように構成されている。
【０１７９】
本明細書の目的のために、明細書中の「実施形態」、「一実施形態」、「いくつかの実施形態」又は「別の実施形態」に対する言及は、異なる実施形態又は同一の実施形態について記述するために使用されることがある。
【０１８０】
本明細書の目的のために、接続とは、直接的な接続又は間接的な接続（例えば、１つ以上の他の部分を介して）であってもよい。場合によっては、ある要素が別の要素に接続されているか又は結合されていると言及される場合、この要素は、他の要素に直接的に接続されてもよく、又は、介在要素を介して他の要素に間接的に接続されてもよい。ある要素が別の要素に直接的に接続されていると言及される場合、この要素と他の要素との間には介在要素は存在しない。２つのデバイスは、それらが互いの間で電子信号を交換することができるように直接的に又は間接的に接続されている場合、「通信状態」にある。
【０１８１】
本明細書の目的のために、「基づいて」という用語は、「少なくとも部分的に基づいて」と理解することができる。
【０１８２】
本明細書の目的のために、追加の文脈がない、「第１の」物体、「第２の」物体、及び「第３の」物体等の数値的な用語の使用は、物体の順序を示唆するものではなく、代わりに、異なる物体を識別するための識別目的で使用されることがある。
【０１８３】
本明細書の目的のために、物体の「組」という用語は、複数の物体のうちの１つ以上の物体の「組」を指すことがある。
【０１８４】
前述の詳細な説明は、例示及び説明の目的のために提示されている。前述の詳細な説明は、網羅的であること、又は開示された正確な形態に限定することを意図したものではない。上記の教示に鑑みて多くの修正及び変形が可能である。説明した実施形態は、提案した技術の原理及びその実際の用途を最もよく説明するために選択されたものであり、それによって、当業者が様々な実施形態で、企図される特定の使用法に適するように様々な修正を伴って、この技術を最も良いように利用することを可能にする。本範囲は、本明細書に添付の特許請求の範囲によって定義されることが意図される。
以下の項目は、本出願時の特許請求の範囲に記載の要素である。
［項目１］
装置であって、
不揮発性メモリセルと、
前記不揮発性メモリセルと通信する１つ以上の制御回路と、を備え、前記１つ以上の制御回路が、
第１のプログラムパラメータを使用して、消去状態から複数のプログラム状態へ不揮発性メモリセルのグループをプログラムし、
前記グループの閾値電圧を測定して前記グループ内のメモリホールゆがみの程度を判定し、
前記グループ内の前記メモリホールゆがみの前記程度に基づいて選択された第２のプログラムパラメータを使用して、前記グループを前記消去状態から前記複数のプログラム状態へプログラムするように構成されている、装置。
［項目２］
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を下回っていることに応答して、前記第１のプログラムパラメータに比べてより大きいプログラムステップサイズを、前記第２のプログラムパラメータに使用するように更に構成されている、項目１に記載の装置。
［項目３］
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が前記閾値を下回っていることに応答して、前記プログラム状態の中で最も低いプログラム状態のための第１の検証電圧と前記プログラム状態の中で最も高いプログラム状態のための第２の検証電圧との間のより大きい電圧ギャップを、前記より大きいプログラムステップサイズの使用と組み合わせて使用するように更に構成されている、項目２に記載の装置。
［項目４］
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を下回っていることに応答して、前記第１のプログラムパラメータのＡ状態検証電圧よりも低い前記第２のプログラムパラメータのＡ状態検証電圧を用いて、前記複数のプログラム状態のうちのＡ状態を検証するように更に構成されている、項目１に記載の装置。
［項目５］
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を上回っていることに応じて、前記第１のプログラムパラメータに比べてより小さいプログラムステップサイズを、前記第２のプログラムパラメータに使用するように更に構成されている、項目１に記載の装置。
［項目６］
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が前記閾値を上回っていることに応じて、前記プログラム状態の中で最も低いプログラム状態のための第１の検証電圧と前記プログラム状態の中で最も高いプログラム状態のための第２の検証電圧との間のより小さい電圧ギャップを、前記より小さいプログラムステップサイズの使用と組み合わせて使用するように更に構成されている、項目５に記載の装置。
［項目７］
前記１つ以上の制御回路が、前記メモリホールゆがみの前記程度が閾値を上回っていることに応答して、前記第１のプログラムパラメータのＡ状態検証電圧よりも高い前記第２のプログラムパラメータのＡ状態検証電圧を用いて、前記複数のプログラム状態のうちのＡ状態を検証するように更に構成されている、項目１に記載の装置。
［項目８］
前記１つ以上の制御回路が、ゾーン内の閾値電圧を有するメモリセルの数に基づいて、前記グループ内の前記メモリホールゆがみの前記程度を判定するように更に構成されている、項目１に記載の装置。
［項目９］
前記メモリホールゆがみが、メモリホールストリエーションを含む、項目１に記載の装置。
［項目１０］
前記不揮発性メモリセルが、メモリセル材料の環状フィルムを含み、前記１つ以上の制御回路が、前記メモリセル材料の環状フィルムのゆがみの程度を判定するように構成されている、項目１に記載の装置。
［項目１１］
不揮発性メモリを動作させる方法であって、
消去状態の上限境界を画定する消去状態検証電圧を下回るレベルまで不揮発性メモリセルのグループを消去することと、
既定のＡ状態検証電圧を用いてＡ状態を検証することを含む、前記消去状態から複数のプログラム状態へ前記グループをプログラムすることと、
グループのプログラミング直後に、消去状態検証電圧と既定のＡ状態検証電圧との間のゾーン内にあるメモリセルの数を判定することと、
前記ゾーン内にある前記メモリセルの数を判定した後に、前記グループを前記消去状態へ消去することと、
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することを含む、前記消去状態から前記複数のプログラム状態へ前記グループをプログラムすることと、を含む、方法。
［項目１２］
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することが、
前記数が閾値を下回っていることに応答して、前記既定のＡ状態検証電圧を下回る検証電圧を用いて前記Ａ状態を検証することを含む、項目１１に記載の方法。
［項目１３］
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することを含む、前記消去状態から前記複数のプログラム状態へ前記グループをプログラムすることが、
前記ゾーン内にある前記メモリセルの数が前記閾値を下回っていることに応答して、既定のプログラム電圧ステップサイズよりも大きいプログラム電圧ステップサイズを使用して前記グループをプログラムすることを更に含む、項目１２に記載の方法。
［項目１４］
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することが、
前記数が閾値を上回っていることに応答して、前記既定のＡ状態検証電圧を上回る検証電圧を用いて前記Ａ状態を検証することを含む、項目１１に記載の方法。
［項目１５］
前記ゾーン内にある前記メモリセルの数に基づく検証電圧を用いて前記Ａ状態を検証することを含む、前記消去状態から前記複数のプログラム状態へ前記グループをプログラムすることが、
前記ゾーン内にある前記メモリセルの数が前記閾値を上回っていることに応答して、既定のプログラム電圧ステップサイズよりも小さいプログラム電圧ステップサイズを使用して前記グループをプログラムすることを更に含む、項目１４に記載の方法。
［項目１６］
不揮発性記憶デバイスであって、
不揮発性メモリセルの列を含む３次元アレイと、
１つ以上の制御回路と、を備え、前記１つ以上の制御回路が、
第１のプログラム電圧ステップサイズを使用して、消去状態から複数のプログラム状態へ不揮発性メモリセルのグループをプログラムし、
グループをプログラムする結果としてプログラムディスターブされる消去状態メモリセルの数を判定し、
前記第１のプログラム電圧ステップサイズを使用して前記グループをプログラミング後、前記グループを消去し、
前記第１のプログラム電圧ステップサイズを使用しているときに、プログラムディスターブされる前記消去状態メモリセルの数に基づく第２のプログラム電圧ステップサイズを使用して前記グループをプログラムするように構成されている、不揮発性記憶デバイス。
［項目１７］
前記１つ以上の制御回路が、
前記プログラムディスターブ消去状態メモリセルの数が第１の閾値を下回っていることに応答して、前記第２のプログラム電圧ステップサイズのためのより大きいステップサイズを使用し、
前記プログラムディスターブ消去状態メモリセルの数が第２の閾値を上回っていることに応答して、前記第２のプログラム電圧ステップサイズのためのより小さいステップサイズを使用するように更に構成されている、項目１６に記載の不揮発性記憶デバイス。
［項目１８］
前記１つ以上の制御回路が、
前記第２のプログラム電圧ステップサイズを使用しているときに、前記第１の閾値を下回っている前記数に応答して、前記第１のプログラム電圧ステップサイズを用いてプログラムする際に使用されたＡ状態検証電圧よりも低いＡ状態検証電圧を使用してＡ状態を検証し、
前記第２のプログラム電圧ステップサイズを使用しているときに、前記第２の閾値を上回っている前記数に応答して、前記第１のプログラム電圧ステップサイズを用いてプログラムする際に使用された前記Ａ状態検証電圧よりも高いＡ状態検証電圧を使用して前記Ａ状態を検証するように更に構成されている、項目１７に記載の不揮発性記憶デバイス。
［項目１９］
前記１つ以上の制御回路が、
前記第１の閾値と前記第２の閾値との間にある前記プログラムディスターブ消去状態メモリセルの数に応答して、第２のプログラム電圧ステップサイズのための前記第１のプログラム電圧ステップサイズを使用するように更に構成されている、項目１７に記載の不揮発性記憶デバイス。
［項目２０］
前記不揮発性メモリセルの列が、前記列内のメモリセル材料の環状フィルムを含み、前記１つ以上の制御回路が、前記プログラムディスターブ消去状態メモリセルの数に基づいて、前記環状フィルムのゆがみの程度を判定するように更に構成されている、項目１６に記載の不揮発性記憶デバイス。
【図１】
2020187817.tif 000003
【図２】
2020187817.tif 000004
【図３】
2020187817.tif 000005
【図４】
2020187817.tif 000006
【図４Ａ】
2020187817.tif 000007
【図４Ｂ】
2020187817.tif 000008
【図４Ｃ】
2020187817.tif 000009
【図４Ｄ】
2020187817.tif 000010
【図４Ｅ】
2020187817.tif 000011
【図５】
2020187817.tif 000012
【図６】
2020187817.tif 000013
【図７Ａ】
2020187817.tif 000014
【図７Ｂ】
2020187817.tif 000015
【図７Ｃ】
2020187817.tif 000016
【図７Ｄ】
2020187817.tif 000017
【図８】
2020187817.tif 000018
【図９】
2020187817.tif 000019
【図１０】
2020187817.tif 000020
【図１１】
2020187817.tif 000021
【外国語明細書】
2020187817000001.pdf
2020187817000002.pdf
2020187817000003.pdf
2020187817000004.pdf