(57)【要約】      （修正有）【課題】ＮＡＮＤメモリデバイスにおけるメモリのページをプログラミングする技術を提供する。【解決手段】ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と、その下層ページのデータを先読込する段階とを含む。更に、その下層ページのデータにエラー回復操作を適用するか否かを判断する段階を含む。上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータが格納され、その上層ページデータは、複数の２次プログラミングパルス及びその下層ページのデータに基づいてプログラムされる。【選択図】図１
2016009517.tif 000002
【特許請求の範囲】
【請求項１】
複数のＮＡＮＤメモリセルの配列と、
コントローラと
を備え、
前記コントローラは、
下層ページのプログラミングに対して複数の１次プログラミングパルスを適用し、
前記下層ページのデータを先読込し、
エラー回復操作を前記下層ページの前記データに適用するか否かを判断し、
上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納し、
前記複数の２次プログラミングパルス、および、前記下層ページの前記データに基づいて、前記上層ページデータをプログラムする
ＮＡＮＤメモリデバイス。
【請求項２】
前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項１に記載のメモリデバイス。
【請求項３】
前記上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、前記上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、前記上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する、請求項１または２に記載のメモリデバイス。
【請求項４】
前記エラー回復操作を前記下層ページの前記データに適用するか否かを判断する段階は、前記上層ページデータのプログラミングが下位サブブロックのプログラミングまたは上位サブブロックのプログラミングのいずれを有するのかを判断する段階を含み、更に、前記下位サブブロックに対して前記エラー回復操作を適用する段階と、前記上位サブブロックに対して前記エラー回復操作を適用する段階とを含む、請求項１から３のいずれか一項に記載のメモリデバイス。
【請求項５】
前記エラー回復操作を前記下層ページの前記データに適用するか否かを判断する段階は、前記下層ページに対する複数のプログラミングサイクルの数を判断する段階と、前記複数のプログラミングサイクルの数が予め定められた閾値を超える場合は前記エラー回復操作を適用する段階とを含む、請求項１から４のいずれか一項に記載のメモリデバイス。
【請求項６】
前記上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、前記上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、前記上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する、請求項１または２に記載のメモリデバイス。
【請求項７】
前記第１エラー回復操作、前記第２エラー回復操作および前記第３エラー回復操作の各々は異なる、請求項６に記載のメモリデバイス。
【請求項８】
前記複数の下位サブブロック、前記複数の中位サブブロック、および、前記複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループである、請求項６または７に記載のメモリデバイス。
【請求項９】
前記複数の下位サブブロック、前記複数の中位サブブロック、および、前記複数の上位サブブロックは、複数のサブブロックの複数のグループであって、少なくとも２つのグループは異なる数の複数のサブブロックを有する、請求項６または７に記載のメモリデバイス。
【請求項１０】
前記第１エラー回復操作、前記第２エラー回復操作および前記第３エラー回復操作の各々は、異なるタイムコストを有する、請求項６から９のいずれか一項に記載のメモリデバイス。
【請求項１１】
前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項１に記載のメモリデバイス。
【請求項１２】
前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置、前記上層ページプログラミング用のサブブロック、または、前記下層ページの前記データの前記先読込のためのサイクルカウントの組み合わせに基づいて変わる、複数の異なるエラー回復操作を含む、請求項１に記載のメモリデバイス。
【請求項１３】
前記上層ページの複数のサブブロックをプログラミングする場合、タイムコストが増々かかるエラー回復操作を前記下層ページの前記データに徐々に適用することを更に含む、請求項１に記載のメモリデバイス。
【請求項１４】
プロセッサと、
電源と、
前記プロセッサに連結され、複数のセルの配列を含むＮＡＮＤメモリと、
コントローラと
を含み、
前記コントローラは、
下層ページのプログラミングに対して複数の１次プログラミングパルスを適用し、
前記下層ページのデータを先読込し、
エラー回復操作を前記下層ページの前記データに適用し、
上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納し、
前記複数の２次プログラミングパルス、および、前記下層ページの前記データに基づいて、前記上層ページデータをプログラムし、
前記エラー回復操作を前記下層ページの前記データに適用する場合、前記コントローラは、前記上層ページデータのプログラミング中に複数の異なるエラー回復スキームを前記下層ページの前記データに徐々に適用する、
データストレージシステム。
【請求項１５】
前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項１４に記載のシステム。
【請求項１６】
前記上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、前記上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、前記上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する、請求項１４または１５に記載のシステム。
【請求項１７】
前記エラー回復操作は、近接ワードラインの読込電圧に基づいて、前記下層ページの前記データのサブブロックの読込電圧を変更することによる干渉補償を含む、請求項１４から１６のいずれか一項に記載のシステム。
【請求項１８】
前記下層ページの前記データの前記サブブロックの前記読込電圧は、単一の近接ワードラインの前記読込電圧に基づいて変更される、請求項１７に記載のシステム。
【請求項１９】
前記下層ページの前記データの前記サブブロックの前記読込電圧は、複数の近接ワードラインの前記読込電圧に基づいて変更される、請求項１７に記載のシステム。
【請求項２０】
前記エラー回復操作は、前記下層ページの先読込された前記データをコントローラに出力する段階と、前記コントローラと共に前記データを補正する段階と、補正された前記データを前記上層ページデータのプログラミング用に使用する段階とを含む、請求項１４から１９のいずれか一項に記載のシステム。
【請求項２１】
前記エラー回復操作は、最小ビットエラー率に対する読込電圧を決定し、前記最小ビットエラー率に対する前記読込電圧に基づいて前記下層ページの前記データの読込電圧を調節するコントローラを使用する、読込電圧サーチを含む、請求項１４に記載のシステム。
【請求項２２】
前記下層ページの前記データの前記読込電圧は可変である、請求項２１に記載のシステム。
【請求項２３】
前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項１４に記載のシステム。
【請求項２４】
下層ページのプログラミングに対して複数の１次プログラミングパルスを適用する段階と、
前記下層ページのデータを先読込する段階と、
エラー回復操作を前記下層ページの前記データに適用するか否かを判断する段階と、
上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と、
前記複数の２次プログラミングパルスおよび前記下層ページの前記データに基づいて前記上層ページデータをプログラミングする段階と
を含む、ＮＡＮＤメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法。
【請求項２５】
中層ページデータのプログラミング用に使用される複数の３次プログラミングパルスを示すデータを格納する段階と、
前記複数の３次プログラミングパルスおよび前記下層ページの前記データに基づいて前記中層ページデータをプログラミングする段階と、
前記中層ページデータを先読込する段階と
を更に含み、
前記複数の２次プログラミングパルスおよび前記下層ページの前記データに基づいて前記上層ページデータをプログラミングする段階は、前記複数の２次プログラミングパルスおよび前記中層ページデータに基づいて前記上層ページデータをプログラミングする段階を含み、前記中層ページデータは前記下層ページの前記データに基づいてプログラムされる、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明される複数の実施形態は、概してＮＡＮＤメモリに関する。
【背景技術】
【０００２】
複数のメモリデバイスは一般的に、複数のコンピュータまたは他の複数の電子デバイスの中の複数の内部半導体集積回路として提供される。ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、および、フラッシュメモリを含む、多数の異なるタイプのメモリがある。
【０００３】
複数のフラッシュメモリデバイスは、広範囲に亘る複数の電子アプリケーション向けに、不揮発性メモリのポピュラーなソースへと発達してきた。複数のフラッシュメモリデバイスは一般的に、高メモリ密度、高信頼性、および、低電力消費を実現する１トランジスタメモリセルを使用する。電荷蓄積ノード（例えば、浮遊ゲートまたは電荷トラップ）のプログラミング、または、他の複数の物理現象（例えば、相転移または分極）を通じて、複数のセルの閾値電圧を変更することにより、各セルのデータ状態を決定する。フラッシュメモリは一般的に、パーソナルコンピュータ、携帯用情報端末（ＰＤＡｓ）、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電気機器、乗り物、無線デバイス、携帯電話、および、リムーバブルメモリモジュールにおいて使用され、フラッシュメモリの利用は拡大し続けている。
【図面の簡単な説明】
【０００４】
本開示の複数の特徴および利点は、例示によって本開示の複数の特徴を互いに図示する添付の複数の図面と共に、以下の詳細な説明から明らかになるであろう。
【図１】ある発明例による、下層ページ電圧分布の図、および、下層ページ電圧のエラー補正に基づく正しい上層ページ電圧の図と共に上層ページプログラミング処理を図示している。
【図２】ある発明例による、複数のサブブロックのプログラミング順序に基づく上層ページプログラミング処理を図示している。
【図３】ある発明例による、下層ページデータおよび／または中層ページデータに適用されるエラー補正と共に、セル当たり３ビットのメモリにおける上層ページプログラミングの図を示している。
【図４】様々な発明例による、ＮＡＮＤメモリデバイスにおけるメモリのページをプログラミングする複数の方法の複数のフロー図の１つを示している。
【図５】様々な発明例による、ＮＡＮＤメモリデバイスにおけるメモリのページをプログラミングする複数の方法の複数のフロー図の１つを示している。
【図６】様々な発明例による、ＮＡＮＤメモリデバイスにおけるメモリのページをプログラミングする複数の方法の複数のフロー図の１つを示している。
【図７】ある発明例による、メモリシステム図を示している。  これから、図示される複数の例示的実施形態を参照し、それらを説明すべく特定の言語が本明細書で使用される。しかしながら、それに関して本開示の範囲の如何なる限定も意図していないことが理解されるであろう。
【発明を実施するための形態】
【０００５】
開示される複数の発明実施形態が説明される前に、本開示が、本明細書で開示される特定の複数の構造、処理段階、または、材料に限定されないけれども、関連技術における当業者によって認識されるような、それらの等価物にまで拡張されることが理解されるであろう。本明細書で用いられる用語は、特定の複数の例を説明する目的のみで使用され、限定することを意図していないことも理解されるべきである。異なる複数の図面における同一の参照番号は、同一要素を表している。複数のフローチャートおよび処理で提供される複数の数は、複数の段階および操作を明確に図示すべく提供されるのであって、必ずしも特定の順序またはシーケンスを示していない。
【０００６】
更に、説明される複数の特徴、構造、または、特性は、１または複数の実施形態において、任意の適切な方法で組み合わされてもよい。以下の説明において、様々な発明実施形態の徹底的な理解を提供すべく、複数のレイアウト、距離、ネットワーク例等の複数の例のような多数の特定の詳細が提供される。しかしながら、関連技術における当業者は、そのような複数の詳細な実施形態が、本明細書で明瞭に表現される複数の全体的発明概念を限定するものではないけれど、それらの代表例に過ぎないということを認識するだろう。
【０００７】
複数の例示的実施形態
【０００８】
複数の技術実施形態の最初の概要が以下で提供され、次に、特定の複数の技術実施形態が後で更に詳細に説明される。この最初の要約は、複数の読者が本技術をより速やかに理解するのを援助することを意図しているけれど、重要なまたは不可欠な複数の技術的特徴を識別することも、主張される主題の範囲を限定することも、意図していない。そうでないことが定義されない限り、本明細書で使用される全ての技術的かつ科学的用語は、本開示が属する分野における当業者によって一般的に理解されるものと同一の意味を有する。
【０００９】
本明細書の全体に亘って、「ある例」に言及することは、その例に関連して説明される特定の特徴、構造、または、特性が、少なくとも１つの発明実施形態に含まれることを意味する。従って、本明細書の全体に亘って様々な場所で「ある例において」という複数のフレーズが現れることは、必ずしも全て、同一の実施形態を参照していない。
【００１０】
本明細書および添付の特許請求の範囲で使用されるように、文脈でそうでないことを明らかに規定していない限りにおいて、「ある(a)」、「ある(an)」および「前記(the)」といった複数の単数形は、複数の指示対象を含んでいる。従って、例えば、「ある層」に言及することは、複数のそのような層を含んでいることとなる。
【００１１】
本開示において、「備える(comprises)」、「備えている(comprising)」、「含んでいる(containing)」および「有している(having)」等の用語は、米国特許法におけるそれらの用語に帰する意味を有し得、「含む(includes)」、「含んでいる(including)」等を意味し得、概して、制限のない用語と解釈される。「から成っている(consisting of)」、または、「から成る(consists of)」といった用語は排他的な用語であり、米国特許法によるものと同様に、複数のコンポーネント、構造、段階、または、そのような複数の用語と共に具体的にリストされた同様のものだけを含む。「不可欠に〜から成っている(consisting essentially)」または「不可欠に〜から成る(consists essentially of)」という用語は概して、米国特許法によってそれらの用語に帰する意味を有する。特に、そのような複数の用語は、追加的な複数のアイテム、材料、コンポーネント、段階、または、要素の包含を許容することは例外として、概して排他的な用語であり、根本的で新規な複数の特性、または、それと共に使用される（複数の）アイテムの機能には実質的に影響を及ぼさない。例えば、複数の微量元素が組成の中に存在するけれど、もし「不可欠に〜から成る(consists essentially of)」という言語の下に存在するならば、そのような用語に従う複数のアイテムのリストにおいて明確に記述されていなくとも、複数の組成物の性質または特性に影響を及ぼさないことが許容されるだろう。「含む(comprising)」または「含んでいる(including)」のような制限のない用語を使用する場合、まるで明示的に述べられているかのように、「から成っている(consisting of)」という言語と同様、「不可欠に〜から成っている(consisting essentially」という言語にも直接的なサポートが与えられるべきであり、その逆のことも言える、ということが理解される。
【００１２】
本説明および特許請求の範囲において「第１」、「第２」、「第３」、「第４」等といった複数の用語がもし有るならば、同様の複数の要素間で区別すべく使用されるのであって、必ずしも特定の連続的なまたは経時的な順序を説明すべく使用されるのではない。そのように使用される任意の用語は、例えば、本明細書で説明される複数の実施形態が、図示される、またはそうでなければ本明細書で説明される、複数のシーケンス以外の複数のシーケンスで操作可能となるように、複数の適切な条件下で相互に交換可能であることが理解されるであろう。同様に、ある方法が一連の段階を含むように本明細書で説明されるならば、本明細書で提示されるような複数の段階の順序は、必ずしもそのような複数の段階が実行され得る唯一の順序ではなく、述べられる複数の段階の幾つかはおそらく省略され得、および／または、本明細書で説明されないある程度の他の段階はおそらくその方法に加えられ得る。
【００１３】
本明細書で使用されるように、「実質的に」という用語は、動作、特性、特質、状態、構造、アイテムまたは結果の、全部または略全部の範囲または程度について言及する。例えば、「実質的」に囲まれたオブジェクトとは、オブジェクトが全部囲まれているか、略全部囲まれているかのいずれかであることを意味しているだろう。絶対的な完全性からの厳密に許容可能な逸脱の程度は、幾つかの場合において、特定の文脈に依存する。しかしながら、概して完全に近いことを話すことは、まるで絶対的かつ全体の完全性が得られたかのように、同一の全体的結果を有するべきであろう。「実質的に」という用語の使用は、動作、特性、特質、状態、構造、アイテムまたは結果の完全または略完全なる欠如について言及すべく否定的な意味で使用される場合に、等しく適用可能である。例えば、粒子を「実質的に含まない」組成とは、完全に粒子が欠如しているか、または、まるで完全に粒子を欠如しているかのように効果が同一となるように殆ど略完全に粒子が欠如しているか、のいずれかであろう。換言すれば、成分または要素を「実質的に含まない」組成とは、それらの測定可能な効果が無い限り、そのようなアイテムをまだ実際に含み得る。
【００１４】
本明細書で使用されるように、「約」という用語が、与えられた値が終止点の「少し上」または「少し下」であり得ると規定することによって、数値範囲の終止点に柔軟性を提供すべく使用される。そうでないことが述べられない限り、特定の数または数値範囲による「約」という用語の使用は、「約」という用語を使用せずにそのような数値用語または範囲に対するサポートを提供することも理解されるべきである。例えば、利便性および簡潔さの目的で、「約５０オングストロームから約８０オングストローム」の数値範囲は、「５０オングストロームから８０オングストローム」の範囲に対するサポートを提供することも理解されるべきである。更に、本明細書において、「約」という用語に関連する数値の記述が、「約」という用語から離れたそれ自身における実際の数値に対するサポートを提供することも意図していることが理解されるであろう。従って、例えば、「約３０」という記述はまた、「３０」という普通の数値に対する明白なサポートも含んでいる。
【００１５】
本明細書で使用されるように、複数のアイテム、構造要素、組成要素、および／または、材料は、利便性に対する一般的なリストの中で提示され得る。しかしながら、これらのリストは、リストの各部材が、別個かつ独自の部材として個別に識別されるように解釈されるべきである。従って、そのようなリストのいずれの個別の部材も、逆の示唆が無い、一般的なグループの中でのそれらの提示に専ら基づく、同一リストの任意の他の部材の事実上の等価物として解釈されるべきではない。更に、様々な実施形態および発明例が、それらの様々なコンポーネントに対する複数の代替案と共に本明細書で言及され得る。そのような複数の実施形態、例、および、代替案は、事実上互いに等価なものとして解釈されるべきではないが、様々な発明実施形態の別個かつ自律的な複数の表現と見なされるべきであることが理解される。
【００１６】
濃度、量および他の数値データが、本明細書において、ある範囲フォーマットの中で表現または提示され得る。そのような範囲フォーマットは、利便性および簡潔さのためだけに使用され、従って、その範囲の限定として明示的に記述された数値を含むだけでなく、まるで各数値およびサブレンジが明示的に記述されているかのように、その範囲内に包含される全ての個別の数値またはサブレンジを含むべく、柔軟に解釈されるべきであることが理解されるであろう。図示されるように、「約１から約５」の数値範囲は、約１から約５の明示的に記述された値を含むだけでなく、示された範囲内の個々の値およびサブレンジも含むべく解釈されるべきである。従って、２、３および４のような個々の値、および、１、２、３、４および５と同様に、１から３、２から４、および、３から５等のようなサブレンジが個別に、当該数値範囲の中に含まれる。
【００１７】
これと同じ原理が、最小値または最大値のような唯一の数値を記述する複数の範囲に適用される。更に、そのような解釈が、説明される範囲または特性の幅に関わらず適用されるべきである。
【００１８】
フラッシュメモリは一般的に、ＮＯＲフラッシュおよびＮＡＮＤフラッシュとして知られている２つの基本アーキテクチャの１つを利用する。その設計は、複数のデバイスを読込むべく使用されるロジックから導出される。ＮＯＲフラッシュアーキテクチャにおいて、複数のメモリセルのロジカル列は、一般的にビットラインと呼ばれるもののような、データラインに連結される各メモリセルと並列に連結される。ＮＡＮＤフラッシュアーキテクチャにおいて、複数のメモリセルの列は、ビットラインに連結される列の第１メモリセルだけと直列に連結される。
【００１９】
複数の電子システムの性能および複雑さが増大するに連れ、システムにおける追加メモリの必要性もまた増大する。しかしながら、そのシステムのコストを削減し続けるべく、部品点数が最小化されることが望ましい。これは、複数のマルチレベルセル（ＭＬＣ）のような複数の技術を使用することにより、集積回路のメモリ密度を増大することで達成できる。例えば、ＭＬＣ  ＮＡＮＤフラッシュメモリは、とても費用対効果が高い不揮発性メモリである。
【００２０】
複数のマルチレベルセルは、例えばビットパターンといったデータ状態をセルの特定閾値電圧（Ｖｔ）範囲に割り当てることによって、従来のフラッシュセルのアナログ性質を利用できる。この技術により、メモリセルの寿命動作中にセルに割り当てられる電圧範囲の量および割り当てられる電圧範囲の安定性に応じて、セル当たり２又は３以上のビット情報の格納が許容される。
【００２１】
セルをプログラム（または消去）するのに必要とされる電圧は、過去に特定のセルがプログラムされ、および／または、消去（サイクル）された回数のような、セルの使用量にかなり依存している。複数のプログラム／消去サイクルを全く経ていない、または、極僅か経たセルは一般的に、より多くのサイクル数を経たセルと比較して、ある特定の量によってその閾値電圧を高めるべく、そのゲートでより高い電圧の適用を必要とするであろう。
【００２２】
例えば、以前に一度もプログラムされていないセルは、何度も（数千オーダーで）サイクルされたセルと比較して相対的に高い１次プログラム電圧でプログラムされ得る。何度もサイクルされたセルは、以前にサイクルされていない、または、数回だけサイクルされたセルに比べて、より大きな量を同一のプログラムパルスによって動かされる自身の閾値電圧を有するであろう。もし高い１次プログラム電圧が何度もサイクルされたセルに使用されるならば、そのセルの閾値電圧は、そのセルが、１次プログラムパルス上でさえも自身の所望の閾値電圧をオーバーシュートするように、大きく変化し得る。従って、高い１次プログラム電圧パルスを使用することは、何度もサイクルされたセルを過度にプログラムすることとなり得るであろう。相対的に低い１次プログラム電圧は、サイクルされていない、または、僅かにサイクルされたセルの閾値電圧を、何度もサイクルされたセルが同一パルスによって動かされるであろう量に対して小さな量だけ動かすであろう。従って、低い１次プログラム電圧パルスを使用することは、サイクルされていない、または、殆どサイクルされていない複数のセルに対して、複数のより長いプログラム時間という結果をもたらすこととなり得るだろう。なぜならば、セルが自身の標的閾値電圧に達することを可能にすべく、より多くのプログラムパルスが必要とされるからである。
【００２３】
この本技術は、上層ページプログラミングの際の下層ページの先読込中において干渉補償またはＥＣＣ（エラー補正コード）を伴うようなエラー回復スキームを利用し得る。（複数の）当該エラー回復スキームは、性能オーバーヘッドを最小化しつつ（複数の）当該エラー回復スキームによって得られる複数の利益を最大化すべく、例えば、サブブロックおよびＷＬ（ワードライン）位置に選択的に基づき得る。
【００２４】
プログラム電圧をメモリセルの制御ゲートに適用することで、セルの閾値電圧が、セルがサイクルされる程度より何倍も大きな程度に変更されるであろう。何度もサイクルされた複数のセルと比較すると、相対的にサイクルされていない複数のセルをプログラミングするスピードに顕著な差もある。従って、メモリページに対するプログラミングタイムは、セルがより小さな複数のプログラミングパルスを使用する自身の標的閾値電圧に達するように、セルに適用される１次プログラム電圧を調節することによって削減され得る。例えば、相対的に低い１次パルスプログラム電圧は、何度もサイクルされたセルが所望の閾値電圧をオーバーシュートしないように、当該セルの上層ページプログラミングに対して使用され得る。その一方で、相対的に高い１次パルスプログラム電圧は、サイクルされていない、または、低いサイクル数を有するセルの上層ページプログラミングに対して使用され得る。
【００２５】
ＮＡＮＤメモリはページ毎にプログラムされるので、あるページの各セルは同一回数サイクルされている。ページがサイクルされた回数によって、そのページの各セルがサイクルされた回数も提供される。メモリの各ページにおける複数のサイクルカウンタは、ダイスペース、追加の処理時間およびストレージスペースを取る。更に、ページサイクルカウンタによっては、例えば複数の製造要因等、そのページが経た多くのサイクル以外の複数の要因に基づいて、セル性能における複数の差を説明することはできない。
【００２６】
あるページに対して下層ページプログラミングを開始する際に相対的に低いプログラム電圧で単一のプログラムパルスを適用した後、当該ページ上の複数のセルに対する、上記適用の結果として生じるセル閾値電圧分布の上限が決定され得る。もし当該ページがサイクルされていない、または、極僅かにサイクルされているならば、低電圧パルスは、当該分布において大したシフトも引き起こさないであろう。もし当該ページが何度もサイクルされているならば、低電圧パルスは、当該閾値電圧分布においてより大きなシフトを引き起こすであろう。１次プログラムパルス電圧は、メモリデバイスの複数のヒューズにより定義される値として決定され得る。
【００２７】
幾つかの発明実施形態は、ＵＰデータプログラミングの精度を改善すべく、ＬＰデータの先読込中のエラー回復を備える。任意の様々なエラー回復スキームが適用され得る。エラー回復スキームの適用は、選択的であり得る。換言すれば、エラー回復スキームを適用するか否かの判断がなされ得る。更に、エラー回復スキームが適用される場合、１または複数のエラー回復スキームのいずれを適用するかの判断がなされ得る。
【００２８】
図１は、ある発明実施形態による、ＬＰデータの先読込中におけるエラー回復と共に、上層ページプログラミングのある例を図示している。ＵＰデータのプログラミングが始まる場合（ステップＳ２１０）、ＬＰデータは先読込され得る（ステップＳ２１５）。しかしながら、電圧におけるシフト、または、他の原因に起因して、ＬＰデータは、「１」の代りに「０」と読誤られる。これは別な方法ではＵＰデータのプログラミングにおいてエラーを引き起こすかもしれない一方で、この例においては、ＬＰデータはエラー回復スキームと共に先読込され得る。
【００２９】
複数のエラー回復スキームは、ワードライン（ＷＬ）、サブブロック、サイクリングカウント、または、任意の他の適切な基準に基づいて適用され得る。幾つかの例示的エラー回復スキームは、プログラムされているセルの１または複数の側で複数のセルから受ける干渉補償、コントローラＥＣＣ、読込電圧サーチ、または、任意の他の適切なエラー回復スキームを含む。ＬＰデータを先読込する場合、エラー回復スキームを適用するか否か、１または複数のエラー回復スキームのいずれを適用するかの判断がなされ得る。
【００３０】
図１の参照を続けると、たとえＬＰ「１」ビットが「０」と読誤られたとしても、当該ビットはエラー回復スキームによって回復される。結果として、エラボレーション処理は（ステップＳ２２０）、追加ビット「０」と共に、上層ページデータが「０１」としてプログラムされる予定であって、かつ、当該ＵＰデータが正しくプログラムされるか（ステップＳ２２５）、判断する。
【００３１】
複数のＬＰ先読込に対する複数のエラー回復スキームの適用によって、性能への影響を打ち消すという結果がもたらされ得る。例えば、ＵＰプログラミングを完了するのに必要とされる時間の量は、エラー回復スキームが適用される場合、エラー回復スキームが先読込中に使用されない場合と比較して増大される。複数の異なるエラー回復スキームは、資源使用量、時間消費等という点で異なるオーバーヘッドコストを有する。エラー回復スキームの適用は、各セルのプログラミングに不可欠でなくてもよい。エラー回復スキームの適用が不必要である場合、エラー回復スキームを適用するか否かの判断によって、エラー回復スキームの適用が不必要であること、および、その適用を省略することを決定できる。エラー回復スキームの適用が役立つと思われる場合、エラー回復スキームを適用するか否かの判断によって、エラー回復スキームを適用することを決定できる。更に、エラー回復スキームを適用する場合に考慮される複数の変化するものに応じて、ＵＰプログラミングにおける効率も維持しつつＬＰ先読込データの精度を保証すべく、いずれのエラー回復スキームを適用するかの判断がなされ得る。
【００３２】
これから、図２を参照する。３次元メモリデバイスは、単一のダイ上で複数のスタックメモリアレイを使用する。そのようなアーキテクチャは、実質的に同一のダイ占有面積において、より高いメモリ密度を許容する。図２は、エラー回復オプションと共にＬＰデータの先読込を含む上層ページプログラミング方法のフロー図に隣接して、一般的なスタックＮＡＮＤフラッシュメモリアレイのアーキテクチャの一例を図示している。スタックＮＡＮＤアーキテクチャの複数の層は、複数の同一のアクセス回線（例えば、複数のワードライン（ＷＬ））および選択ゲート・ソースライン（ＳＧＳ）を共有する。各層は、データライン（例えば、ビットライン（ＢＬ））バイアスによって選択される。
【００３３】
プログラミング操作が開始される（ステップＳ３１０）。プログラミング操作は、プログラムされた複数の選択ワードラインにプログラミング電圧（例えば２０Ｖ）を適用することを含む。ワードラインは全ての層によって共有されるので、プログラミング用に選択されていない複数の層を抑制すべく、ビットラインバイアス（例えばビットライン電圧の適用）が使用される。例えば、選択されていない複数のビットラインを抑制電圧（例えば２Ｖ）でバイアスする一方で、各ビットラインをイネーブル電圧（例えば０Ｖ）でバイアスすることによって、第１層および第３層をプログラムすべく選択できる。従って、他の複数の層を選択しない一方で、第１層および第３層を選択できる。
【００３４】
消去およびセンス操作用に、全ての層が実質的に同時に選択され得る。センス操作において、各層の単一の行が選択される。例えば、センス操作中に、読込電圧（Ｖｒ）が共通するワードラインに適用される一方で、全てのビットラインがより低い電圧（例えば０．５Ｖ）でバイアスされ得る。選択されていない複数のワードラインが通過電圧Ｖｐａｓｓ（例えば６Ｖ）でバイアスされ得、複数の選択ゲート・ソース（ＳＧＳ）ラインが作動され得る（例えば５Ｖ）。
【００３５】
消去操作中に、全てのワードラインが参照電圧（例えば０Ｖ）でバイアスされ得る一方で、全てのビットラインが相対的に大きな消去電圧（例えば２０Ｖ）でバイアスされ得る。複数の選択ゲート・ドレインライン、および、共通する複数の選択ゲート・ソースラインが、相対的に大きな電圧（例えば２０Ｖ）でバイアスされ得る。
【００３６】
スタックメモリアレイアーキテクチャにおけるプログラミングで１つ重要なことは、複数の層間でのプログラミング率オフセットに起因して発生し得るプログラミング障害である。例えば、もし第１層が第４層より低速率でプログラムするならば、より高速の第４層より長い時間の間に第１層のプログラミングを継続すべくより遅い第１層に適用される相対的に大きな電圧によって、第４層に対するプログラミングストレスが引き起こされ得る。そのような障害によって、複数のセンス操作中の複数のエラーが引き起こされ得る。なぜならば、妨害される層上のメモリセル閾値電圧が、消去レベル、または、独自にプログラムされた複数の電圧レベルから増大され得るからである。
【００３７】
図１で示されるのと同様に、１つの発明方法は、プログラミングの開始（ステップＳ３１０）、および、サブブロック（ＳＢ）ベースのエラー回復スキームのようなエラー回復スキームを伴うＬＰデータの先読込（ステップＳ３１５）を含むことができる。結果として、エラボレーションが（ステップＳ３２０）、ＵＰデータとしてプログラムすべく正しいデータを決定でき、ＵＰデータを正しくプログラムできる（ステップＳ３２５）。エラー回復を適用するか否か、および、いずれのエラー回復を適用するかの判断は、例えば、１または複数のサブブロック、ワードライン、ビットライン、サイクルカウント等に基づき得る。
【００３８】
図２は、ＵＰプログラミングの開始の際の、サブブロック０（ＳＢ  ０）およびサブブロック１５（ＳＢ  １５）におけるＬＰ電圧分布を図示している。ＳＢ  ０に対するＬＰデータは、明らかに「１」ビットと読込まれ得る。しかしながら、複数の上位サブブロックは、ＬＰ先読込前により多くのストレスを有する。ＳＢ  １５で更に示されるように、ＬＰ電圧分布はシフトされ、ＬＰデータが「１」よりむしろ「０」と読誤られ得る。
【００３９】
複数の上位サブブロックでエラー回復を実行することで、複数の上位サブブロックに対する複数のＬＰ先読込の精度を保証できる。より低いストレス、および、より少ない読誤り確率を備える、複数の下位サブブロックに対して、より少ない回復が適用され得、または、全く回復が適用され得ない。複数の下位サブブロックにおいて、より少ない回復を使用すること、または、全く回復を使用しないことで、メモリデバイスの性能および信頼性を改善できる。異なる複数の回復スキームは、異なるコストを有し得る。複数の上位サブブロックでの複数のストレスは一般的に、複数の下位サブブロックでの複数のストレスより高いので、全てのサブブロックに対するＬＰ先読込の精度を保証すべく、プログラミングが複数の上位サブブロックに段々と進むに連れて、コストが増々かかる複数のエラー回復スキームが適用され得る。ＬＰ電圧が１００ｍＶのような小さな量によってシフトされる場合でさえも、ＬＰ電圧の読誤りが、例えば１ＶのＵＰ電圧における差という結果をもたらし得る。従って、小さな複数のエラーが、大きな複数の差という結果をもたらし得る。複数の本技術実施形態によって、そのような複数の読誤りの削減または除去を援助できる。
【００４０】
エラー回復スキームの一例は、セル間の干渉補償である（時々、インターセル干渉補償と呼ばれる）。セル間の干渉は、生メモリストレージの信頼性低下の原因であるノイズ源として、かなり認識されてきた。セル間の干渉は、隣接する複数の侵略セルの状態を変化させることによって、電圧分布がシフトするという結果をもたらす。その干渉は、連結比に起因した、浮遊ゲート周りの複数の寄生コンデンサによる静電容量結合のせいである。セル間の干渉補償は、隣接する、より高いセル電圧、または、より低いセル電圧によって引き起こされる複数の電圧シフトを補償すべく、隣接する複数のセルの電圧がより高いのか低いのかに依存する幾つかの量によって、ＬＰ先読込電圧Ｖｔを調節し得る。セル間の干渉は、例えば、１つの近隣セル状態、または、複数の（例えば２つの）近隣セル状態に基づき得る。
【００４１】
エラー回復スキームの他の例は、コントローラによるエラー回復である。換言すれば、ＥＣＣエンジンの使用である。ＮＡＮＤメモリは、通常のデバイス操作中に自然と不足する複数のビットを補償すべく、ＥＣＣを使用することができる。もしＥＣＣが先読込中にエラーを補正できないならば、まだエラーが検出され得る。ＵＰプログラミングのような複数の消去操作またはプログラム操作を実行する場合、メモリデバイスは、プログラムまたは消去することができない複数のブロックまたはサブブロックを検出して、これら複数のブロックに悪質とマークすることができる。次に、そのデータを異なる良質ブロックへと書き込むことができ、悪質ブロックマップをアップデートする。ＥＣＣの適用は、以下のように進み得る。ＬＰ先読込データが出力され得る。メモリコントローラが、ＥＣＣエンジンを使用して正しいＬＰデータを回復させ、正しいデータをＮＡＮＤデバイスに返送する。補正されたＬＰデータは、エラボレーション用に使用できる。そして、正しい複数の値が、ＵＰプログラミング用にプログラムされ得る。
【００４２】
エラー回復スキームの他の例は、読込電圧サーチを実行することである（なお、時々、読込電圧調節と呼ばれる）。この例において、コントローラは、固定された、または、予め定められたＬＰ電圧値を参照するよりはむしろ、電圧を動的に読込み、最小ビットエラー率を決定する。
【００４３】
各エラー回復スキームは、時間消費という点のように、それとともに関連付けられるコストを有し、複数の異なるスキームは、複数の異なる程度で成功することができる。複数のスキームの組み合わせによって、累積的な成果を得ることができる。換言すれば、セル間の干渉補償の読込電圧サーチとの組み合わせによって、より有力な効果を得ることができ、もっと正確にいえば、セル間の干渉補償と読込電圧サーチとを個別に行うよりも、より確実にＬＰデータビットの回復という結果をもたらすことができる。
【００４４】
本明細書で開示される複数の方法を使用する際に、ワードライン間の複数の変更、ブロック間の複数の変更、および、複数の処理変更も含む、ページ上での複数のセルの複数の変更の全てが考慮され得る。従って、ページの複数のカウントサイクル、および、複数のサイクル量の効果推定の代わりに、または、それらに加えて、特定のＷＬまたはＳＢのような複数の尺度を、上層ページプログラミングを調節すべく使用できる。
【００４５】
複数の例
【００４６】
複数の発明実施形態の一般的な例示的実装によって、以下の表１は、適用されるエラー回復スキーム、および、各エラー回復スキームに関連付けられるタイムペナルティまたはタイムコストと共に、ＵＰプログラミング用の複数のサブブロックのリストを提供する。
【表１】
2016009517.tif 000003
【００４７】
この例において、１６個のサブブロックは、それぞれが異なる回復スキームの適用例を有する４つのグループへと分割されている。サブブロック０−３は、回復を行わない標準手順に従う。これに対するタイムオーバーヘッドまたはコストは０である。なぜならば、標準のＵＰプログラミングに追加時間を全く加えないからである。サブブロック４−７は、タイムコスト「タイム１」と関連付けられた「エラー回復１を適用」する。サブブロック８−１１は、タイムコスト「タイム２」と関連付けられた「エラー回復２を適用」する。サブブロック１２−１５は、タイムコスト「タイム３」と関連付けられた「エラー回復３を適用」する。サブブロック数が増大するに連れてＬＰ先読込データにおける複数のエラーの確率が増大するので、エラー回復３は一般的に、エラー回復２に比べてより有力かつ効果的になるけれど、効率がより低下してタイムペナルティがより大きくなり得る。同様に、エラー回復２は一般的に、エラー回復１に比べてより有力かつ効果的になるけれど、効率がより低下してタイムペナルティがより大きくなり得る。
【００４８】
ＵＰプログラミング中に数が段々と高くなる複数のサブブロックに対して適用される、一連のエラー回復スキームの更に特定の例は、以下の表２において提供される。
【表２】
2016009517.tif 000004
【００４９】
表１と表２との間の差によって理解できるように、複数のエラー回復スキームが、複数の異なるスキーム間で均等に分割されていない複数のサブブロックの複数のグループにおける、複数のサブブロックに適用され得る。例えば、表１における複数のスキームの各々は、スキーム当たり４つのサブブロックの複数のグループに一様に適用されていた一方で、表２は複数のスキームを含み、それとともに関連付けられる２個、５個および７個のサブブロックを備える。いずれのサブブロックをいずれのエラー回復スキームに適用するかの判断は、特定の複数の適用例および表１および２における例に見合うように異なり得、または、これらに限定することを意図していない。
【００５０】
表２は、サブブロック０−４に対して、ＵＰプログラミングが、ＬＰ先読込中のエラー回復無く、標準処理に従って進むことを示している。サブブロック５−６は、複数のセル、ブロックまたはサブブロックを考慮したエラー回復スキームとして、現在のセル、ブロックまたはサブブロックの単一の側での干渉補償を利用する。サブブロック７−８は、複数のセル、ブロックまたはサブブロックを考慮したエラー回復スキームとして、現在のセル、ブロックまたはサブブロックの２つの側での干渉補償を利用する。コントローラＥＣＣは、サブブロック９―１５に対して適用される。幾つかの例示的タイムコストは、１つのエラー回復スキームから他のエラー回復スキームに対してどれだけタイムコストが増大し得るかを図示している表２に含まれる。
【００５１】
上述の説明の少なくとも幾つかは、サブブロック数に基づく複数のＬＰ先読込エラーを回復するためのエラー回復スキームの選択および適用を説明した。その一方で、複数の発明実施形態は、サブブロック数に基づくエラー回復の選択／適用に限定されない。以下の表３は、サブブロックよりむしろＷＬ位置を備えるＵＰプログラミングに基づく、先読込エラー回復スキーム選択の一般的な例である。
【表３】
2016009517.tif 000005
【００５２】
表３から理解できるように、ＷＬに基づくエラー回復スキームの適用は、サブブロックに基づくエラー回復スキームの適用の複数の前例と異なり得る。ＷＬエラー回復適用は、例えばＷＬｓの複数のグループに適用することができるけれど、ＷＬ数の増大のような強度／コストの増大以外の命令であり得る。いずれのＷＬｓをいずれのエラー回復スキームに適用するかの判断は、特定のＷＬｓに対するエラーの確率に基づき得る。エラー傾向ＷＬｓがより多い場合、エラー傾向ＷＬｓがより少ない場合に比べて、より効果的だけれどもより高コストのエラー回復を適用する。
【００５３】
以下の表４は、ＷＬによるエラー回復の更に特定の例示的実装を提供する。
【表４】
2016009517.tif 000006
【００５４】
表１―４で参照される複数の前例は、主にサブブロックまたはＷＬに基づくＬＰ先読込エラー回復スキームを適用する。その一方で、先読込エラー回復スキームの選択は、任意の他の適切な基準を基とし得る。例えば、メモリデバイスは、プログラム／消去サイクリングカウントに基づいて複数の先読込エラー回復スキームを切り替えることができる。他の例として、複数の先読込エラー回復スキームを、例えば、サブブロック、ＷＬ位置およびサイクリングカウントの２又は３以上の組み合わせに基づいて等、２又は３以上の基準の組み合わせに基づいて選択できる。
【００５５】
従って、その説明は、セル当たり２ビットの複数のメモリデバイス用のＵＰプログラミングについて主にずっと言及してきた。その一方で、その複数の概念を、セル当たり３ビット以上の複数のメモリデバイスに適用することができる。図３は、セル当たり３ビットの実装のある例を表している。セル当たりのビット数が２、３またはそれより大きな数であろうとなかろうと、ＵＰプログラミングは少なくとも間接的にＬＰデータに基づく。
【００５６】
図３において、ＵＰデータのプログラミング処理は、中層ページ（ＭＰ）データを判断してプログラムすべく、ＬＰデータを先読込し、そのＬＰデータおよび追加ビットに基づいてエラボレーションを実行できる。ＭＰデータは先読込することができ、そのＭＰデータおよび追加ビットをエラボレーションおよびＵＰデータのプログラミング用に使用できる。エラー回復は、ＵＰデータプログラミングの精度を保証すべくＬＰデータおよび／またはＭＰデータを先読込する場合に適用することができる。
【００５７】
図４を参照すると、発明実施形態のある例による、ＮＡＮＤメモリデバイスにおけるメモリのページをプログラミングするためのコンピュータ実装方法のフロー図が示されている。当該方法は、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と（ステップＳ５１０）、その下層ページのデータを先読込する段階と（ステップＳ５２０）、を含む。当該方法は更に、エラー回復操作をその下層ページのデータに適用するか否かを判断する段階（ステップＳ５３０）、を含む。上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータが格納され（ステップＳ５４０）、上層ページデータが、複数の２次プログラミングパルスおよび下層ページのデータに基づいてプログラムされる（ステップＳ５５０）。
【００５８】
メモリデバイスがセル当たり３ビットのデバイスである場合、当該方法は、中層ページデータのプログラミング用に使用される複数の３次プログラミングパルスを示すデータを格納する段階と、複数の３次プログラミングパルスおよび下層ページのデータに基づいて中層ページデータをプログラミングする段階とを含むことができる。上層ページデータのプログラミング用に、当該方法は更に、中層ページデータを先読込する段階と、複数の２次プログラミングパルスに基づいて上層ページデータをプログラミングする段階とを含む。下層ページのデータは、複数の２次パルスおよび中層ページのデータに基づいて上層ページデータをプログラミングすることを含む。この例において、上層ページデータをプログラミングする段階は、まだ少なくとも間接的に、下層ページデータのプログラミングに基づく。なぜならば、中層ページデータは、下層ページのデータに基づいてプログラムされるからである。
【００５９】
当該方法は、上層ページデータをプログラミングする段階が、下位サブブロックのプログラミングを含むのか、上位サブブロックのプログラミングを含むのか、を判断する段階を含むことができる。当該方法は、下位サブブロック用の上述のエラー回復と、上位サブブロックに対して当該エラー回復を適用する段階と、を含むことができる。
【００６０】
当該方法は、複数の異なるエラー回復操作の、１または複数の使用を含むことができる。上記で述べられるように、これらの操作は、サブブロックによって異なり得る。これらの操作は、上層ページプログラミング用のワードライン位置に基づいて異なり得る。これらの操作は、プログラム／消去サイクルカウントによって異なり得る。これらの操作は、サブブロック、ワードライン位置、または、プログラム／消去サイクルカウントの２又は３以上の組み合わせに基づいて異なり得る。サイクルカウントによって複数のエラー回復操作の変更を容易にすべく、当該方法は、下層ページ用のプログラミングサイクル数を判断する段階と、当該プログラミングサイクル数が予め定められた閾値を超えている場合にエラー回復操作を適用する段階と、を含むことができる。
【００６１】
エラー回復操作の一例は、近接ワードラインの読込電圧に基づいて下層ページのデータのサブブロックの読込電圧を変更することによる、干渉補償を含む。例えば、下層ページのデータのサブブロックの読込電圧を、単一の近接ワードラインの読込電圧に基づいて変更することができる。他の例として、下層ページのデータのサブブロックの読込電圧を、複数の近接ワードラインの読込電圧に基づいて変更することができる。
【００６２】
エラー回復操作の他の例は、下層ページの先読込データをＥＣＣコントローラのようなコントローラへと出力する段階を含む。当該操作は次に、コントローラと共にそのデータを補正する段階と、そのデータをメモリデバイスへと返送する段階と、メモリデバイスで上層ページデータのプログラミング用にその補正されたデータを使用する段階と、を含むことができる。
【００６３】
エラー回復操作の他の例は、読込電圧サーチを実行する段階を含む。当該読込電圧サーチは、最小ビットエラー率に対する読込電圧を決定し、当該最小ビットエラー率に対する読込電圧に基づいて下層ページのデータの読込電圧を調節するコントローラを使用して、実行することができる。この例において、その下層ページのデータの読込電圧は、可変となり得、かつ、固定または予め定められ得ない。
【００６４】
次に図５を参照すると、発明実施形態の他の例による、ＮＡＮＤメモリデバイスにおけるメモリのページをプログラミングするためのコンピュータ実装方法のフロー図が示されている。当該方法は、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と（ステップＳ６１０）、その下層ページのデータを先読込する段階と（ステップＳ６２０）、その下層ページのデータにエラー回復を適用する段階と（ステップＳ６３０）、を含む。当該方法は更に、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と（ステップＳ６４０）、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と（ステップＳ６５０）、を含む。
【００６５】
上層ページの複数の下位サブブロックをプログラミングする場合、第１エラー回復操作を適用できる。上層ページの複数の中位サブブロックをプログラミングする場合、第２エラー回復操作を適用できる。上層ページの複数の上位サブブロックをプログラミングする場合、第３エラー回復操作を適用できる。第１、第２および第３エラー回復操作の各々は異なる。第１、第２および第３エラー回復操作の各々は、異なるタイムコストを有する。エラー回復操作当たりの複数のサブブロック数は、複数のエラー回復オプション間で均等に分散され得、または、不均等に分散され得る。換言すれば、ある例として、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループであり得る。他の例として、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、複数のサブブロックの複数のグループであって、その少なくとも２つのグループは異なる数の複数のサブブロックを含む。
【００６６】
エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含むことができる。複数のエラー回復オプションはまた、以前に説明されたように、サイクルカウントに基づいて異なり得る。
【００６７】
当該方法は、上層ページの複数のサブブロックまたはワードラインをプログラミングする場合のように、上層ページをプログラミングする場合に、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階を含むことができる。
【００６８】
次に図６を参照すると、発明実施形態の他の例による、ＮＡＮＤメモリデバイスにおけるメモリのページをプログラミングするためのコンピュータ実装方法のフロー図が示されている。当該方法は、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と（ステップＳ７１０）、その下層ページのデータを先読込する段階と（ステップＳ７２０）、を含む。当該方法は、エラー回復を下層ページのデータに適用する段階を含むことができる。上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納することができ（ステップＳ７３０）、上層ページデータを、複数の２次プログラミングパルス（もっと正確にいえば、複数の２次プログラミングパルスを示すデータ）および下層ページのデータに基づいてプログラムすることができる（ステップＳ７４０）。当該方法は、上層ページの複数のサブブロックをプログラミングする場合に、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階（ステップＳ７５０）、を含むことができる。
【００６９】
一例において、ある発明実施形態により、データストレージシステムが提供される。当該システムは、プロセッサ、電源、および、当該プロセッサに連結され、複数のセルの配列を含む（かつ、当該電源によって動力を供給される）ＮＡＮＤメモリを含むことができる。当該データストレージシステムは、プログラミング方法および読込方法を実行するように構成された回路を含むことができる。例えば、当該方法は、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復を下層ページのデータに適用する段階と、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含むことができる。
【００７０】
一例において、ある発明実施形態により、ＮＡＮＤメモリまたはＮＡＮＤメモリデバイスが提供される。ＮＡＮＤメモリは、複数のＮＡＮＤメモリセルの配列と、ある方法を実行するように構成された回路と、を含むことができる。例えば、当該方法は、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復操作を下層ページのデータに適用するか否かを判断する段階と、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含むことができる。
【００７１】
以前または以後に説明される複数のシステムまたは装置の複数の特徴はまた、本明細書で説明される方法または任意の複数の処理に関して実施され得、その逆のことも言える。また、複数の例における詳細が、１または複数の実施形態における任意の場所で使用され得る。
【００７２】
これから、図７を参照する。図７は、ある発明実施形態によるメモリデバイス８０１の簡素化されたブロック図であり、そこで、様々な方法を実施することができる。メモリデバイス８０１は、複数の行および列で配列された、複数のメモリセルの配列８０４を含む。様々な実施形態が、主に複数のＮＡＮＤメモリアレイを参照して説明されるであろうけれども、様々な実施形態は、メモリアレイ８０４の特定のアーキテクチャに限定されない。複数の本実施形態に適切な他の複数の配列アーキテクチャの幾つかの例は、複数のＮＯＲ配列、複数のＡＮＤ配列、および、複数の仮想接地配列を含む。しかしながら、概して、本明細書で説明される複数の実施形態は、各メモリセルの閾値電圧を示すデータ信号の生成を許容する、任意の配列アーキテクチャに適応可能である。
【００７３】
メモリデバイス８０１に提供される複数のアドレス信号をデコードすべく、行デコード回路８０８および列デコード回路８１０が提供される。複数のアドレス信号が受信され、メモリアレイ８０４にアクセスすべくデコードされる。メモリデバイス８０１はまた、メモリデバイス８０１からのデータおよびステータス情報の出力と同様に、メモリデバイス８０１への複数のコマンド、複数のアドレスおよびデータの入力を管理すべく、入出力（Ｉ／Ｏ）制御回路８１２も含む。デコーディングの前に複数のアドレス信号をラッチすべく、入出力制御回路８１２と、行デコード回路８０８と、列デコード回路８１０との間にアドレスレジスタ８１４が連結される。複数の入力コマンドをラッチすべく、入出力制御回路８１２と制御ロジック８１６との間にコマンドレジスタ８２４が連結される。制御ロジック８１６が、複数のコマンドに応じてメモリアレイ８０４へのアクセスを制御し、外部プロセッサ８３０に対してステータス情報を生成する。制御ロジック８１６は、複数のアドレスに応じて、行デコード回路８０８および列デコード回路８１０を制御すべく、行デコード回路８０８および列デコード回路８１０に連結される。
【００７４】
制御ロジック８１６は、サンプル＆ホールド回路８１８に連結され得る。サンプル＆ホールド回路８１８は、複数のアナログデータ信号の形で、入力または出力のいずれかのデータをラッチする。例えば、サンプル＆ホールド回路は、メモリセルに書き込まれるデータを表す入力データ信号、または、メモリセルからセンスされる閾値電圧を示す出力データ信号のいずれかをサンプリングすべく、複数のコンデンサ、または、他の複数のアナログ記憶装置を含むことができるだろう。サンプル＆ホールド回路８１８は更に、外部デバイスに対してより強力なデータ信号を提供すべく、サンプリングされた信号の増幅および／またはバッファリングを備え得る。
【００７５】
複数のアナログデータ信号のハンドリングは、ＣＭＯＳ撮像素子技術の分野で周知のアプローチと同様のアプローチを採り得る。そこでは、入射照明に応じて撮像素子の複数のピクセルで生成される複数の電荷レベルが、複数のコンデンサに蓄積される。これらの電荷レベルは次に、差動増幅器への第２入力として、基準コンデンサと共に差動増幅器を使用する複数の信号へと変換される。差動増幅器の出力は次に、照明強度を表すデジタル値を得るべく、複数のアナログ・デジタル変換（ＡＤＣ）デバイスへと渡される。複数の本実施形態において、メモリセルの読込またはプログラミングの各々を目的として、電荷をメモリセルの実際の閾値電圧または標的閾値電圧を示すデータ信号にかけることに応じて、コンデンサに電荷が蓄積され得る。この電荷は次に、第２入力として、接地入力または他の基準信号を有する差動増幅器を使用するアナログデータ信号へと変換され得るであろう。差動増幅器の出力は次に、読込操作の場合は、メモリデバイスからの出力用に入出力制御回路８１２へと渡され得、また、メモリデバイスをプログラミングする場合は、１または複数の多様な操作中の比較用に使用され得るであろう。入出力制御回路８１２は、メモリデバイス８０１がアナログデータインターフェースまたはデジタルデータインターフェースのいずれかとの通信に適合できるように、読込データをアナログデータ信号からデジタルビットパターンへと変換し、書き込みデータをデジタルビットパターンからアナログ信号へと変換すべく、アナログ・デジタル変換機能およびデジタル・アナログ変換（ＤＡＣ）機能を任意に含み得るであろうことに留意すべきである。
【００７６】
プログラミング操作中において、メモリアレイ８０４の複数の標的メモリセルは、それらの電圧レベルを示す複数の電圧がサンプル＆ホールド回路８１８で保持される複数のレベルに一致するまで、プログラムされる。これは、一例として、保持された電圧レベルを標的メモリセルの閾値電圧と比較するための差動感知デバイスを使用することで達成できる。かなり従来のメモリプログラミングと似ているが、標的メモリセルの閾値電圧を所望の値に到達または超過するまで増大させるべく、複数のプログラミングパルスが標的メモリセルに適用され得るであろう。読込操作において、複数の標的メモリセルの複数の電圧レベルが、ＡＤＣ／ＤＡＣ機能がメモリデバイスの外部に提供されるか内部に提供されるかに応じて、直接的に複数のアナログ信号として、または、複数のアナログ信号の複数のデジタル化表現として、いずれかで外部プロセッサ（図７では不図示）へ転送する目的で、サンプル＆ホールド回路８１８に渡される。
【００７７】
複数のセルの複数の閾値電圧が、様々な方法で決定され得る。例えば、一般的にワードラインと呼ばれるもののようなアクセス回線の電圧が、標的メモリセルが活性化した状態になった時点でサンプリングされ得るであろう。代替的に、ブースト電圧が標的メモリセルの第１ソース／ドレイン側に適用され得、閾値電圧が、その制御ゲート電圧とその他方のソース／ドレイン側における電圧との間の差と見なされ得るであろう。電圧をコンデンサと連結することによって、サンプリングされた電圧を蓄積すべく、電荷がコンデンサと共有されるであろう。なお、サンプリングされた電圧は、閾値電圧と等しい必要はないが、単にその電圧を示している。例えば、ブースト電圧をメモリセルの第１ソース／ドレイン側に適用し、既知の電圧をその制御ゲートに適用する場合において、当該メモリセルの第２ソース／ドレイン側で発達した電圧は、データ信号と見なされ得るであろう。なぜならば、当該発達した電圧は、当該メモリセルの閾値電圧を示しているからである。
【００７８】
サンプル＆ホールド回路８１８は、メモリデバイス８０１が、第１データ値を外部プロセッサに渡しつつ次のデータ値を読込み得るように、または、第１データ値をメモリアレイ８０４に書込みしつつ次のデータ値を受信し得るように、キャッシュ、すなわち、各データ値用の複数の記憶場所を含み得る。外部プロセッサへの出力用にステータス情報をラッチすべく、ステータスレジスタ８２２が、入出力制御回路８１２と制御ロジック８１６との間に連結される。
【００７９】
メモリデバイス８０１は、制御リンク８３２を通して、制御ロジック８１６で複数の制御信号を受信する。複数の制御信号は、チップイネーブルＣＥ＃、コマンドラッチイネーブルＣＬＥ、アドレスラッチイネーブルＡＬＥ、および、ライトイネーブルＷＥ＃を含み得る。メモリデバイス８０１は、多重化された入出力（Ｉ／Ｏ）バス８３４を通して外部プロセッサから複数のコマンド（複数のコマンド信号の形で）、複数のアドレス（複数のアドレス信号の形で）、および、データ（複数のデータ信号の形で）を受信し、入出力バス８３４を通して外部プロセッサへとデータを出力し得る。
【００８０】
ある特定の例において、複数のコマンドは、入出力バス８３４の複数の入出力（Ｉ／Ｏ）ピン［７：０］を通して入出力制御回路８１２で受信され、コマンドレジスタ８２４へと書き込まれる。複数のアドレスは、バス８３４の複数の入出力（Ｉ／Ｏ）ピン［７：０］を通して入出力制御回路８１２で受信され、アドレスレジスタ８１４へと書き込まれる。データは、８つの並列信号を受信可能なデバイス用に複数の入出力（Ｉ／Ｏ）ピン［７：０］を通して、または、１６つの並列信号を受信可能なデバイス用に複数の入出力（Ｉ／Ｏ）ピン［１５：０］を通して、入出力制御回路８１２で受信され得、サンプル＆ホールド回路８１８へと転送される。データはまた、８つの並列信号を送信可能なデバイス用に複数の入出力（Ｉ／Ｏ）ピン［７：０］を通して、または、１６つの並列信号を送信可能なデバイス用に複数の入出力（Ｉ／Ｏ）ピン［１５：０］を通して、出力され得る。追加回路および複数の信号を提供することができること、および、図７のメモリデバイスは本開示の実施形態に集中するのを助けるべく簡素化されたこと、は当業者によって理解されるであろう。
【００８１】
様々な実施形態において、メモリの上層ページプログラミング用の複数の下層ページデータ先読込の中でエラー回復を適用する複数の方法が、メモリ８０１のようなメモリで実行され得る。そのような複数の方法は、図１から６を参照して、本明細書で示され、説明されている。
【００８２】
図７が、サンプル＆ホールド回路８１８に関して説明された。その一方で、制御ロジック８１６は、本開示の範囲から逸脱せずに、サンプル＆ホールド回路８１８の代わりに、複数のデータラッチに連結され得るであろう、ということが理解されるべきである。複数のデータラッチは、入力または出力のいずれかのデータをラッチする。書き込み操作中、メモリアレイ８０４の複数の標的メモリセルは、例えば上記で説明されるような２セットのプログラミングパルスを使用して、それらの電圧レベルを示す複数の電圧が複数のデータラッチで保持されたデータと一致するまで、プログラムされる。これは、一例として、保持されたデータを標的メモリセルの閾値電圧と比較するための複数の差動感知デバイスを使用することで達成できる。
【００８３】
更に、図７のメモリデバイスは、様々な信号の受信および出力に対する複数の一般的な規定に従って説明されたが、その一方で、様々な実施形態が、説明された特定の複数の信号および入出力構成によって限定されないことに留意すべきである。例えば、複数のコマンド信号およびアドレス信号は、複数のデータ信号を受信するものとは別個に複数の入力で受信され得、また、複数のデータ信号は入出力バス８３４の単一の入出力ラインを通して連続的に伝送され得るであろう。複数のデータ信号は、個別の複数のビットの代わりに複数のビットパターンを表すので、８ビットデータ信号のシリアル通信が、個別の複数のビットを表す８つの信号のパラレル通信と同様に効率的になり得るであろう。
【００８４】
様々な技術、または、その幾つかの局面または部分が、複数のフロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ、非一時的コンピュータ可読記憶媒体、または、任意の他の機械可読記憶媒体のような複数の有形媒体の中に取り入れられるプログラムコード（すなわち、複数の命令）の形をとり得る。当該プログラムコードがコンピュータのようなある機械へとロードされて実行された場合、当該機械はその様々な技術を実施する装置となる。回路は、ハードウェア、ファームウェア、プログラムコード、実行可能なコード、複数のコンピュータ命令、および／または、ソフトウェアを含むことができる。非一時的コンピュータ可読記憶媒体は、信号を含まないコンピュータ可読記憶媒体であり得る。複数のプログラム可能なコンピュータでプログラムコードが実行される場合において、当該コンピューティングデバイスは、プロセッサ、当該プロセッサによって可読な記憶媒体（揮発性および不揮発性メモリ、および／または、複数のストレージ要素を含む）、少なくとも１つの入力デバイス、および、少なくとも１つの出力デバイスを含み得る。その揮発性および不揮発性メモリ、および／または、複数のストレージ要素は、ＲＡＭ、ＥＰＲＯＭ、フラッシュドライブ、光学ドライブ、磁気ハードドライブ、ソリッドステートドライブ、または、他の電子データ格納用媒体であり得る。ノードおよび無線デバイスは、トランシーバモジュール、コンピュータモジュール、処理モジュール、および／または、クロックモジュールまたはタイマーモジュールも含み得る。本明細書で説明される様々な技術を実施または利用し得る１または複数のプログラムは、アプリケーションプログラミングインターフェース（ＡＰＩ）、複数の再利用可能な制御装置等を使用し得る。そのような複数のプログラムは、コンピュータシステムと通信すべく、高水準手順プログラミング言語またはオブジェクト指向プログラミング言語で実施され得る。しかしながら、当該（複数の）プログラムは、望まれるのであればアセンブリ言語または機械言語で実施され得る。いずれにせよ、言語は、コンパイルまたは解釈された言語であり得、複数のハードウェア実装と組み合わされ得る。
【００８５】
１つの例示的発明実施形態において、ＮＡＮＤメモリデバイスが提供され、当該デバイスは、複数のＮＡＮＤメモリセルの配列と、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用し、下層ページのデータを先読込し、エラー回復操作を下層ページのデータに適用するか否かを判断し、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納し、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラムするように構成されたコントローラと、を備える。
【００８６】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【００８７】
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する。
【００８８】
一例において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、上層ページデータのプログラミングが下位サブブロックのプログラミングまたは上位サブブロックのプログラミングのいずれを有するのかを判断する段階を含み、その方法は更に、下位サブブロックに対する上述のエラー回復と、上位サブブロックに対してエラー回復を適用する段階とを含む。
【００８９】
一例において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、下層ページに対する複数のプログラミングサイクルの数を判断する段階と、複数のプログラミングサイクルの数が予め定められた閾値を超える場合はエラー回復操作を適用する段階とを含む。
【００９０】
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する。
【００９１】
一例において、第１、第２および第３エラー回復操作の各々は異なる。
【００９２】
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループである。
【００９３】
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、複数のサブブロックの複数のグループであって、少なくとも２つのグループは異なる数の複数のサブブロックを有する。
【００９４】
一例において、第１、第２および第３エラー回復操作の各々は、異なるタイムコストを有する。
【００９５】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【００９６】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置、上層ページプログラミング用のサブブロック、または、下層ページのデータの先読込のためのサイクルカウントの組み合わせに基づいて変わる、複数の異なるエラー回復操作を含む。
【００９７】
一例において、メモリデバイスは更に、上層ページの複数のサブブロックをプログラミングする場合、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用することを含む。
【００９８】
１つの例示的発明実施形態において、データストレージシステムが提供され、当該システムは、プロセッサと、電源と、当該プロセッサに連結され、複数のセルの配列を含むＮＡＮＤメモリと、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用し、下層ページのデータを先読込し、エラー回復を下層ページのデータに適用し、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納し、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラムするように構成されたコントローラと、を含み、エラー回復を下層ページのデータに適用する場合、当該コントローラは、上層ページデータのプログラミング中に複数の異なるエラー回復スキームを下層ページのデータに徐々に適用する。
【００９９】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【０１００】
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する。
【０１０１】
一例において、エラー回復は、近接ワードラインの読込電圧に基づいて、下層ページのデータのサブブロックの読込電圧を変更することによる干渉補償を含む。
【０１０２】
一例において、下層ページのデータのサブブロックの読込電圧は、単一の近接ワードラインの読込電圧に基づいて変更される。
【０１０３】
一例において、下層ページのデータのサブブロックの読込電圧は、複数の近接ワードラインの読込電圧に基づいて変更される。
【０１０４】
一例において、エラー回復操作は、下層ページの先読込データをコントローラに出力する段階と、コントローラと共に当該データを補正する段階と、当該補正されたデータを上層ページデータのプログラミング用に使用する段階とを含む。
【０１０５】
一例において、エラー回復操作は、最小ビットエラー率に対する読込電圧を決定し、最小ビットエラー率に対する読込電圧に基づいて下層ページのデータの読込電圧を調節するコントローラを使用する、読込電圧サーチを含む。
【０１０６】
一例において、下層ページのデータの読込電圧は可変である。
【０１０７】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【０１０８】
１つの例示的発明実施形態において、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、上層ページの複数のサブブロックをプログラミングする場合にタイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階と、を含む、ＮＡＮＤメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
【０１０９】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【０１１０】
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する。
【０１１１】
１つの例示的発明実施形態によって、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復操作を下層ページのデータに適用するか否かを判断する段階と、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含む、ＮＡＮＤメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
【０１１２】
一例において、当該方法は更に、中層ページデータのプログラミング用に使用される複数の３次プログラミングパルスを示すデータを格納する段階と、複数の３次プログラミングパルスおよび下層ページのデータに基づいて中層ページデータをプログラミングする段階と、中層ページデータを先読込する段階と、を含み、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階は、複数の２次パルスおよび中層ページのデータに基づいて上層ページデータをプログラミングする段階を含み、中層ページデータは下層ページのデータに基づいてプログラムされる。
【０１１３】
１つの例示的実施形態において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、上層ページデータのプログラミングが下位サブブロックのプログラミングまたは上位サブブロックのプログラミングのいずれを有するのかを判断する段階を含み、その方法は更に、下位サブブロックに対する上述のエラー回復と、上位サブブロックに対してエラー回復を適用する段階とを含む。
【０１１４】
１つの例示的実施形態において、エラー回復は、近接ワードラインの読込電圧に基づいて、下層ページのデータのサブブロックの読込電圧を変更することによる干渉補償を含む。
【０１１５】
１つの例示的実施形態において、下層ページのデータのサブブロックの読込電圧は、単一の近接ワードラインの読込電圧に基づいて変更される。
【０１１６】
１つの例示的実施形態において、下層ページのデータのサブブロックの読込電圧は、複数の近接ワードラインの読込電圧に基づいて変更される。
【０１１７】
１つの例示的実施形態において、エラー回復操作は、下層ページの先読込データをコントローラに出力する段階と、コントローラと共に当該データを補正する段階と、当該補正されたデータを上層ページデータのプログラミング用に使用する段階とを含む。
【０１１８】
１つの例示的実施形態において、エラー回復操作は、最小ビットエラー率に対する読込電圧を決定し、最小ビットエラー率に対する読込電圧に基づいて下層ページのデータの読込電圧を調節するコントローラを使用する、読込電圧サーチを含む。
【０１１９】
１つの例示的実施形態において、下層ページのデータの読込電圧は可変である。
【０１２０】
１つの例示的実施形態において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、下層ページに対する複数のプログラミングサイクルの数を判断する段階と、複数のプログラミングサイクルの数が予め定められた閾値を超える場合はエラー回復操作を適用する段階とを含む。
【０１２１】
１つの例示的実施形態において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【０１２２】
１つの例示的実施形態によって、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復操作を下層ページのデータに徐々に適用する段階と、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含む、ＮＡＮＤメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
【０１２３】
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する。
【０１２４】
一例において、第１、第２および第３エラー回復操作の各々は異なる。
【０１２５】
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループである。
【０１２６】
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、複数のサブブロックの複数のグループであって、少なくとも２つのグループは異なる数の複数のサブブロックを有する。
【０１２７】
一例において、第１、第２および第３エラー回復操作の各々は、異なるタイムコストを有する。
【０１２８】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【０１２９】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置、上層ページプログラミング用のサブブロック、または、下層ページのデータの先読込のためのサイクルカウントの組み合わせに基づいて変わる、複数の異なるエラー回復操作を含む。
【０１３０】
一例において、当該方法は更に、上層ページの複数のサブブロックをプログラミングする場合、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階を含む。
【０１３１】
１つの例示的発明実施形態において、ページの下層ページプログラミングに対して複数の１次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、上層ページデータのプログラミング用に使用される複数の２次プログラミングパルスを示すデータを格納する段階と、複数の２次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、上層ページの複数のサブブロックをプログラミングする場合にタイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階と、を含む、ＮＡＮＤメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
【０１３２】
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
【０１３３】
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第１エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第２エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第３エラー回復操作を適用する。
【０１３４】
上述の複数の例は様々な発明実施形態の複数の原理の例示であるが、その一方で、１または複数の特定の適用例において、発明的才能の使用無くして、本発明の複数の原理および概念から逸脱せずに、実装の形、使用量および複数の詳細における多数の変更が可能であることが、当業者に明らかとなるであろう。従って、以下の特許請求の範囲によって明らかにされる場合を除き、本発明を限定することは意図していない。
【図１】
2016009517.tif 000007
【図２】
2016009517.tif 000008
【図３】
2016009517.tif 000009
【図４】
2016009517.tif 000010
【図５】
2016009517.tif 000011
【図６】
2016009517.tif 000012
【図７】
2016009517.tif 000013
【外国語明細書】
2016009517000001.pdf