JP2016009517A - Nand先読込エラー回復 - Google Patents

Nand先読込エラー回復 Download PDF

Info

Publication number
JP2016009517A
JP2016009517A JP2015102270A JP2015102270A JP2016009517A JP 2016009517 A JP2016009517 A JP 2016009517A JP 2015102270 A JP2015102270 A JP 2015102270A JP 2015102270 A JP2015102270 A JP 2015102270A JP 2016009517 A JP2016009517 A JP 2016009517A
Authority
JP
Japan
Prior art keywords
programming
data
error recovery
page
recovery operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015102270A
Other languages
English (en)
Other versions
JP6133929B2 (ja
Inventor
合田 晃
Akira Aida
晃 合田
カラヴァデ、パラナヴィ
Kalavade Pranav
スリニヴァサン、チャラン
Srinivasan Charan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2016009517A publication Critical patent/JP2016009517A/ja
Application granted granted Critical
Publication of JP6133929B2 publication Critical patent/JP6133929B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】NANDメモリデバイスにおけるメモリのページをプログラミングする技術を提供する。【解決手段】ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と、その下層ページのデータを先読込する段階とを含む。更に、その下層ページのデータにエラー回復操作を適用するか否かを判断する段階を含む。上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータが格納され、その上層ページデータは、複数の2次プログラミングパルス及びその下層ページのデータに基づいてプログラムされる。【選択図】図1

Description

本明細書で説明される複数の実施形態は、概してNANDメモリに関する。
複数のメモリデバイスは一般的に、複数のコンピュータまたは他の複数の電子デバイスの中の複数の内部半導体集積回路として提供される。ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、シンクロナスダイナミックランダムアクセスメモリ(SDRAM)、および、フラッシュメモリを含む、多数の異なるタイプのメモリがある。
複数のフラッシュメモリデバイスは、広範囲に亘る複数の電子アプリケーション向けに、不揮発性メモリのポピュラーなソースへと発達してきた。複数のフラッシュメモリデバイスは一般的に、高メモリ密度、高信頼性、および、低電力消費を実現する1トランジスタメモリセルを使用する。電荷蓄積ノード(例えば、浮遊ゲートまたは電荷トラップ)のプログラミング、または、他の複数の物理現象(例えば、相転移または分極)を通じて、複数のセルの閾値電圧を変更することにより、各セルのデータ状態を決定する。フラッシュメモリは一般的に、パーソナルコンピュータ、携帯用情報端末(PDAs)、デジタルカメラ、デジタルメディアプレーヤ、デジタルレコーダ、ゲーム、電気機器、乗り物、無線デバイス、携帯電話、および、リムーバブルメモリモジュールにおいて使用され、フラッシュメモリの利用は拡大し続けている。
本開示の複数の特徴および利点は、例示によって本開示の複数の特徴を互いに図示する添付の複数の図面と共に、以下の詳細な説明から明らかになるであろう。
ある発明例による、下層ページ電圧分布の図、および、下層ページ電圧のエラー補正に基づく正しい上層ページ電圧の図と共に上層ページプログラミング処理を図示している。 ある発明例による、複数のサブブロックのプログラミング順序に基づく上層ページプログラミング処理を図示している。 ある発明例による、下層ページデータおよび/または中層ページデータに適用されるエラー補正と共に、セル当たり3ビットのメモリにおける上層ページプログラミングの図を示している。 様々な発明例による、NANDメモリデバイスにおけるメモリのページをプログラミングする複数の方法の複数のフロー図の1つを示している。 様々な発明例による、NANDメモリデバイスにおけるメモリのページをプログラミングする複数の方法の複数のフロー図の1つを示している。 様々な発明例による、NANDメモリデバイスにおけるメモリのページをプログラミングする複数の方法の複数のフロー図の1つを示している。 ある発明例による、メモリシステム図を示している。 これから、図示される複数の例示的実施形態を参照し、それらを説明すべく特定の言語が本明細書で使用される。しかしながら、それに関して本開示の範囲の如何なる限定も意図していないことが理解されるであろう。
開示される複数の発明実施形態が説明される前に、本開示が、本明細書で開示される特定の複数の構造、処理段階、または、材料に限定されないけれども、関連技術における当業者によって認識されるような、それらの等価物にまで拡張されることが理解されるであろう。本明細書で用いられる用語は、特定の複数の例を説明する目的のみで使用され、限定することを意図していないことも理解されるべきである。異なる複数の図面における同一の参照番号は、同一要素を表している。複数のフローチャートおよび処理で提供される複数の数は、複数の段階および操作を明確に図示すべく提供されるのであって、必ずしも特定の順序またはシーケンスを示していない。
更に、説明される複数の特徴、構造、または、特性は、1または複数の実施形態において、任意の適切な方法で組み合わされてもよい。以下の説明において、様々な発明実施形態の徹底的な理解を提供すべく、複数のレイアウト、距離、ネットワーク例等の複数の例のような多数の特定の詳細が提供される。しかしながら、関連技術における当業者は、そのような複数の詳細な実施形態が、本明細書で明瞭に表現される複数の全体的発明概念を限定するものではないけれど、それらの代表例に過ぎないということを認識するだろう。
複数の例示的実施形態
複数の技術実施形態の最初の概要が以下で提供され、次に、特定の複数の技術実施形態が後で更に詳細に説明される。この最初の要約は、複数の読者が本技術をより速やかに理解するのを援助することを意図しているけれど、重要なまたは不可欠な複数の技術的特徴を識別することも、主張される主題の範囲を限定することも、意図していない。そうでないことが定義されない限り、本明細書で使用される全ての技術的かつ科学的用語は、本開示が属する分野における当業者によって一般的に理解されるものと同一の意味を有する。
本明細書の全体に亘って、「ある例」に言及することは、その例に関連して説明される特定の特徴、構造、または、特性が、少なくとも1つの発明実施形態に含まれることを意味する。従って、本明細書の全体に亘って様々な場所で「ある例において」という複数のフレーズが現れることは、必ずしも全て、同一の実施形態を参照していない。
本明細書および添付の特許請求の範囲で使用されるように、文脈でそうでないことを明らかに規定していない限りにおいて、「ある(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」という言語にも直接的なサポートが与えられるべきであり、その逆のことも言える、ということが理解される。
本説明および特許請求の範囲において「第1」、「第2」、「第3」、「第4」等といった複数の用語がもし有るならば、同様の複数の要素間で区別すべく使用されるのであって、必ずしも特定の連続的なまたは経時的な順序を説明すべく使用されるのではない。そのように使用される任意の用語は、例えば、本明細書で説明される複数の実施形態が、図示される、またはそうでなければ本明細書で説明される、複数のシーケンス以外の複数のシーケンスで操作可能となるように、複数の適切な条件下で相互に交換可能であることが理解されるであろう。同様に、ある方法が一連の段階を含むように本明細書で説明されるならば、本明細書で提示されるような複数の段階の順序は、必ずしもそのような複数の段階が実行され得る唯一の順序ではなく、述べられる複数の段階の幾つかはおそらく省略され得、および/または、本明細書で説明されないある程度の他の段階はおそらくその方法に加えられ得る。
本明細書で使用されるように、「実質的に」という用語は、動作、特性、特質、状態、構造、アイテムまたは結果の、全部または略全部の範囲または程度について言及する。例えば、「実質的」に囲まれたオブジェクトとは、オブジェクトが全部囲まれているか、略全部囲まれているかのいずれかであることを意味しているだろう。絶対的な完全性からの厳密に許容可能な逸脱の程度は、幾つかの場合において、特定の文脈に依存する。しかしながら、概して完全に近いことを話すことは、まるで絶対的かつ全体の完全性が得られたかのように、同一の全体的結果を有するべきであろう。「実質的に」という用語の使用は、動作、特性、特質、状態、構造、アイテムまたは結果の完全または略完全なる欠如について言及すべく否定的な意味で使用される場合に、等しく適用可能である。例えば、粒子を「実質的に含まない」組成とは、完全に粒子が欠如しているか、または、まるで完全に粒子を欠如しているかのように効果が同一となるように殆ど略完全に粒子が欠如しているか、のいずれかであろう。換言すれば、成分または要素を「実質的に含まない」組成とは、それらの測定可能な効果が無い限り、そのようなアイテムをまだ実際に含み得る。
本明細書で使用されるように、「約」という用語が、与えられた値が終止点の「少し上」または「少し下」であり得ると規定することによって、数値範囲の終止点に柔軟性を提供すべく使用される。そうでないことが述べられない限り、特定の数または数値範囲による「約」という用語の使用は、「約」という用語を使用せずにそのような数値用語または範囲に対するサポートを提供することも理解されるべきである。例えば、利便性および簡潔さの目的で、「約50オングストロームから約80オングストローム」の数値範囲は、「50オングストロームから80オングストローム」の範囲に対するサポートを提供することも理解されるべきである。更に、本明細書において、「約」という用語に関連する数値の記述が、「約」という用語から離れたそれ自身における実際の数値に対するサポートを提供することも意図していることが理解されるであろう。従って、例えば、「約30」という記述はまた、「30」という普通の数値に対する明白なサポートも含んでいる。
本明細書で使用されるように、複数のアイテム、構造要素、組成要素、および/または、材料は、利便性に対する一般的なリストの中で提示され得る。しかしながら、これらのリストは、リストの各部材が、別個かつ独自の部材として個別に識別されるように解釈されるべきである。従って、そのようなリストのいずれの個別の部材も、逆の示唆が無い、一般的なグループの中でのそれらの提示に専ら基づく、同一リストの任意の他の部材の事実上の等価物として解釈されるべきではない。更に、様々な実施形態および発明例が、それらの様々なコンポーネントに対する複数の代替案と共に本明細書で言及され得る。そのような複数の実施形態、例、および、代替案は、事実上互いに等価なものとして解釈されるべきではないが、様々な発明実施形態の別個かつ自律的な複数の表現と見なされるべきであることが理解される。
濃度、量および他の数値データが、本明細書において、ある範囲フォーマットの中で表現または提示され得る。そのような範囲フォーマットは、利便性および簡潔さのためだけに使用され、従って、その範囲の限定として明示的に記述された数値を含むだけでなく、まるで各数値およびサブレンジが明示的に記述されているかのように、その範囲内に包含される全ての個別の数値またはサブレンジを含むべく、柔軟に解釈されるべきであることが理解されるであろう。図示されるように、「約1から約5」の数値範囲は、約1から約5の明示的に記述された値を含むだけでなく、示された範囲内の個々の値およびサブレンジも含むべく解釈されるべきである。従って、2、3および4のような個々の値、および、1、2、3、4および5と同様に、1から3、2から4、および、3から5等のようなサブレンジが個別に、当該数値範囲の中に含まれる。
これと同じ原理が、最小値または最大値のような唯一の数値を記述する複数の範囲に適用される。更に、そのような解釈が、説明される範囲または特性の幅に関わらず適用されるべきである。
フラッシュメモリは一般的に、NORフラッシュおよびNANDフラッシュとして知られている2つの基本アーキテクチャの1つを利用する。その設計は、複数のデバイスを読込むべく使用されるロジックから導出される。NORフラッシュアーキテクチャにおいて、複数のメモリセルのロジカル列は、一般的にビットラインと呼ばれるもののような、データラインに連結される各メモリセルと並列に連結される。NANDフラッシュアーキテクチャにおいて、複数のメモリセルの列は、ビットラインに連結される列の第1メモリセルだけと直列に連結される。
複数の電子システムの性能および複雑さが増大するに連れ、システムにおける追加メモリの必要性もまた増大する。しかしながら、そのシステムのコストを削減し続けるべく、部品点数が最小化されることが望ましい。これは、複数のマルチレベルセル(MLC)のような複数の技術を使用することにより、集積回路のメモリ密度を増大することで達成できる。例えば、MLC NANDフラッシュメモリは、とても費用対効果が高い不揮発性メモリである。
複数のマルチレベルセルは、例えばビットパターンといったデータ状態をセルの特定閾値電圧(Vt)範囲に割り当てることによって、従来のフラッシュセルのアナログ性質を利用できる。この技術により、メモリセルの寿命動作中にセルに割り当てられる電圧範囲の量および割り当てられる電圧範囲の安定性に応じて、セル当たり2又は3以上のビット情報の格納が許容される。
セルをプログラム(または消去)するのに必要とされる電圧は、過去に特定のセルがプログラムされ、および/または、消去(サイクル)された回数のような、セルの使用量にかなり依存している。複数のプログラム/消去サイクルを全く経ていない、または、極僅か経たセルは一般的に、より多くのサイクル数を経たセルと比較して、ある特定の量によってその閾値電圧を高めるべく、そのゲートでより高い電圧の適用を必要とするであろう。
例えば、以前に一度もプログラムされていないセルは、何度も(数千オーダーで)サイクルされたセルと比較して相対的に高い1次プログラム電圧でプログラムされ得る。何度もサイクルされたセルは、以前にサイクルされていない、または、数回だけサイクルされたセルに比べて、より大きな量を同一のプログラムパルスによって動かされる自身の閾値電圧を有するであろう。もし高い1次プログラム電圧が何度もサイクルされたセルに使用されるならば、そのセルの閾値電圧は、そのセルが、1次プログラムパルス上でさえも自身の所望の閾値電圧をオーバーシュートするように、大きく変化し得る。従って、高い1次プログラム電圧パルスを使用することは、何度もサイクルされたセルを過度にプログラムすることとなり得るであろう。相対的に低い1次プログラム電圧は、サイクルされていない、または、僅かにサイクルされたセルの閾値電圧を、何度もサイクルされたセルが同一パルスによって動かされるであろう量に対して小さな量だけ動かすであろう。従って、低い1次プログラム電圧パルスを使用することは、サイクルされていない、または、殆どサイクルされていない複数のセルに対して、複数のより長いプログラム時間という結果をもたらすこととなり得るだろう。なぜならば、セルが自身の標的閾値電圧に達することを可能にすべく、より多くのプログラムパルスが必要とされるからである。
この本技術は、上層ページプログラミングの際の下層ページの先読込中において干渉補償またはECC(エラー補正コード)を伴うようなエラー回復スキームを利用し得る。(複数の)当該エラー回復スキームは、性能オーバーヘッドを最小化しつつ(複数の)当該エラー回復スキームによって得られる複数の利益を最大化すべく、例えば、サブブロックおよびWL(ワードライン)位置に選択的に基づき得る。
プログラム電圧をメモリセルの制御ゲートに適用することで、セルの閾値電圧が、セルがサイクルされる程度より何倍も大きな程度に変更されるであろう。何度もサイクルされた複数のセルと比較すると、相対的にサイクルされていない複数のセルをプログラミングするスピードに顕著な差もある。従って、メモリページに対するプログラミングタイムは、セルがより小さな複数のプログラミングパルスを使用する自身の標的閾値電圧に達するように、セルに適用される1次プログラム電圧を調節することによって削減され得る。例えば、相対的に低い1次パルスプログラム電圧は、何度もサイクルされたセルが所望の閾値電圧をオーバーシュートしないように、当該セルの上層ページプログラミングに対して使用され得る。その一方で、相対的に高い1次パルスプログラム電圧は、サイクルされていない、または、低いサイクル数を有するセルの上層ページプログラミングに対して使用され得る。
NANDメモリはページ毎にプログラムされるので、あるページの各セルは同一回数サイクルされている。ページがサイクルされた回数によって、そのページの各セルがサイクルされた回数も提供される。メモリの各ページにおける複数のサイクルカウンタは、ダイスペース、追加の処理時間およびストレージスペースを取る。更に、ページサイクルカウンタによっては、例えば複数の製造要因等、そのページが経た多くのサイクル以外の複数の要因に基づいて、セル性能における複数の差を説明することはできない。
あるページに対して下層ページプログラミングを開始する際に相対的に低いプログラム電圧で単一のプログラムパルスを適用した後、当該ページ上の複数のセルに対する、上記適用の結果として生じるセル閾値電圧分布の上限が決定され得る。もし当該ページがサイクルされていない、または、極僅かにサイクルされているならば、低電圧パルスは、当該分布において大したシフトも引き起こさないであろう。もし当該ページが何度もサイクルされているならば、低電圧パルスは、当該閾値電圧分布においてより大きなシフトを引き起こすであろう。1次プログラムパルス電圧は、メモリデバイスの複数のヒューズにより定義される値として決定され得る。
幾つかの発明実施形態は、UPデータプログラミングの精度を改善すべく、LPデータの先読込中のエラー回復を備える。任意の様々なエラー回復スキームが適用され得る。エラー回復スキームの適用は、選択的であり得る。換言すれば、エラー回復スキームを適用するか否かの判断がなされ得る。更に、エラー回復スキームが適用される場合、1または複数のエラー回復スキームのいずれを適用するかの判断がなされ得る。
図1は、ある発明実施形態による、LPデータの先読込中におけるエラー回復と共に、上層ページプログラミングのある例を図示している。UPデータのプログラミングが始まる場合(ステップS210)、LPデータは先読込され得る(ステップS215)。しかしながら、電圧におけるシフト、または、他の原因に起因して、LPデータは、「1」の代りに「0」と読誤られる。これは別な方法ではUPデータのプログラミングにおいてエラーを引き起こすかもしれない一方で、この例においては、LPデータはエラー回復スキームと共に先読込され得る。
複数のエラー回復スキームは、ワードライン(WL)、サブブロック、サイクリングカウント、または、任意の他の適切な基準に基づいて適用され得る。幾つかの例示的エラー回復スキームは、プログラムされているセルの1または複数の側で複数のセルから受ける干渉補償、コントローラECC、読込電圧サーチ、または、任意の他の適切なエラー回復スキームを含む。LPデータを先読込する場合、エラー回復スキームを適用するか否か、1または複数のエラー回復スキームのいずれを適用するかの判断がなされ得る。
図1の参照を続けると、たとえLP「1」ビットが「0」と読誤られたとしても、当該ビットはエラー回復スキームによって回復される。結果として、エラボレーション処理は(ステップS220)、追加ビット「0」と共に、上層ページデータが「01」としてプログラムされる予定であって、かつ、当該UPデータが正しくプログラムされるか(ステップS225)、判断する。
複数のLP先読込に対する複数のエラー回復スキームの適用によって、性能への影響を打ち消すという結果がもたらされ得る。例えば、UPプログラミングを完了するのに必要とされる時間の量は、エラー回復スキームが適用される場合、エラー回復スキームが先読込中に使用されない場合と比較して増大される。複数の異なるエラー回復スキームは、資源使用量、時間消費等という点で異なるオーバーヘッドコストを有する。エラー回復スキームの適用は、各セルのプログラミングに不可欠でなくてもよい。エラー回復スキームの適用が不必要である場合、エラー回復スキームを適用するか否かの判断によって、エラー回復スキームの適用が不必要であること、および、その適用を省略することを決定できる。エラー回復スキームの適用が役立つと思われる場合、エラー回復スキームを適用するか否かの判断によって、エラー回復スキームを適用することを決定できる。更に、エラー回復スキームを適用する場合に考慮される複数の変化するものに応じて、UPプログラミングにおける効率も維持しつつLP先読込データの精度を保証すべく、いずれのエラー回復スキームを適用するかの判断がなされ得る。
これから、図2を参照する。3次元メモリデバイスは、単一のダイ上で複数のスタックメモリアレイを使用する。そのようなアーキテクチャは、実質的に同一のダイ占有面積において、より高いメモリ密度を許容する。図2は、エラー回復オプションと共にLPデータの先読込を含む上層ページプログラミング方法のフロー図に隣接して、一般的なスタックNANDフラッシュメモリアレイのアーキテクチャの一例を図示している。スタックNANDアーキテクチャの複数の層は、複数の同一のアクセス回線(例えば、複数のワードライン(WL))および選択ゲート・ソースライン(SGS)を共有する。各層は、データライン(例えば、ビットライン(BL))バイアスによって選択される。
プログラミング操作が開始される(ステップS310)。プログラミング操作は、プログラムされた複数の選択ワードラインにプログラミング電圧(例えば20V)を適用することを含む。ワードラインは全ての層によって共有されるので、プログラミング用に選択されていない複数の層を抑制すべく、ビットラインバイアス(例えばビットライン電圧の適用)が使用される。例えば、選択されていない複数のビットラインを抑制電圧(例えば2V)でバイアスする一方で、各ビットラインをイネーブル電圧(例えば0V)でバイアスすることによって、第1層および第3層をプログラムすべく選択できる。従って、他の複数の層を選択しない一方で、第1層および第3層を選択できる。
消去およびセンス操作用に、全ての層が実質的に同時に選択され得る。センス操作において、各層の単一の行が選択される。例えば、センス操作中に、読込電圧(Vr)が共通するワードラインに適用される一方で、全てのビットラインがより低い電圧(例えば0.5V)でバイアスされ得る。選択されていない複数のワードラインが通過電圧Vpass(例えば6V)でバイアスされ得、複数の選択ゲート・ソース(SGS)ラインが作動され得る(例えば5V)。
消去操作中に、全てのワードラインが参照電圧(例えば0V)でバイアスされ得る一方で、全てのビットラインが相対的に大きな消去電圧(例えば20V)でバイアスされ得る。複数の選択ゲート・ドレインライン、および、共通する複数の選択ゲート・ソースラインが、相対的に大きな電圧(例えば20V)でバイアスされ得る。
スタックメモリアレイアーキテクチャにおけるプログラミングで1つ重要なことは、複数の層間でのプログラミング率オフセットに起因して発生し得るプログラミング障害である。例えば、もし第1層が第4層より低速率でプログラムするならば、より高速の第4層より長い時間の間に第1層のプログラミングを継続すべくより遅い第1層に適用される相対的に大きな電圧によって、第4層に対するプログラミングストレスが引き起こされ得る。そのような障害によって、複数のセンス操作中の複数のエラーが引き起こされ得る。なぜならば、妨害される層上のメモリセル閾値電圧が、消去レベル、または、独自にプログラムされた複数の電圧レベルから増大され得るからである。
図1で示されるのと同様に、1つの発明方法は、プログラミングの開始(ステップS310)、および、サブブロック(SB)ベースのエラー回復スキームのようなエラー回復スキームを伴うLPデータの先読込(ステップS315)を含むことができる。結果として、エラボレーションが(ステップS320)、UPデータとしてプログラムすべく正しいデータを決定でき、UPデータを正しくプログラムできる(ステップS325)。エラー回復を適用するか否か、および、いずれのエラー回復を適用するかの判断は、例えば、1または複数のサブブロック、ワードライン、ビットライン、サイクルカウント等に基づき得る。
図2は、UPプログラミングの開始の際の、サブブロック0(SB 0)およびサブブロック15(SB 15)におけるLP電圧分布を図示している。SB 0に対するLPデータは、明らかに「1」ビットと読込まれ得る。しかしながら、複数の上位サブブロックは、LP先読込前により多くのストレスを有する。SB 15で更に示されるように、LP電圧分布はシフトされ、LPデータが「1」よりむしろ「0」と読誤られ得る。
複数の上位サブブロックでエラー回復を実行することで、複数の上位サブブロックに対する複数のLP先読込の精度を保証できる。より低いストレス、および、より少ない読誤り確率を備える、複数の下位サブブロックに対して、より少ない回復が適用され得、または、全く回復が適用され得ない。複数の下位サブブロックにおいて、より少ない回復を使用すること、または、全く回復を使用しないことで、メモリデバイスの性能および信頼性を改善できる。異なる複数の回復スキームは、異なるコストを有し得る。複数の上位サブブロックでの複数のストレスは一般的に、複数の下位サブブロックでの複数のストレスより高いので、全てのサブブロックに対するLP先読込の精度を保証すべく、プログラミングが複数の上位サブブロックに段々と進むに連れて、コストが増々かかる複数のエラー回復スキームが適用され得る。LP電圧が100mVのような小さな量によってシフトされる場合でさえも、LP電圧の読誤りが、例えば1VのUP電圧における差という結果をもたらし得る。従って、小さな複数のエラーが、大きな複数の差という結果をもたらし得る。複数の本技術実施形態によって、そのような複数の読誤りの削減または除去を援助できる。
エラー回復スキームの一例は、セル間の干渉補償である(時々、インターセル干渉補償と呼ばれる)。セル間の干渉は、生メモリストレージの信頼性低下の原因であるノイズ源として、かなり認識されてきた。セル間の干渉は、隣接する複数の侵略セルの状態を変化させることによって、電圧分布がシフトするという結果をもたらす。その干渉は、連結比に起因した、浮遊ゲート周りの複数の寄生コンデンサによる静電容量結合のせいである。セル間の干渉補償は、隣接する、より高いセル電圧、または、より低いセル電圧によって引き起こされる複数の電圧シフトを補償すべく、隣接する複数のセルの電圧がより高いのか低いのかに依存する幾つかの量によって、LP先読込電圧Vtを調節し得る。セル間の干渉は、例えば、1つの近隣セル状態、または、複数の(例えば2つの)近隣セル状態に基づき得る。
エラー回復スキームの他の例は、コントローラによるエラー回復である。換言すれば、ECCエンジンの使用である。NANDメモリは、通常のデバイス操作中に自然と不足する複数のビットを補償すべく、ECCを使用することができる。もしECCが先読込中にエラーを補正できないならば、まだエラーが検出され得る。UPプログラミングのような複数の消去操作またはプログラム操作を実行する場合、メモリデバイスは、プログラムまたは消去することができない複数のブロックまたはサブブロックを検出して、これら複数のブロックに悪質とマークすることができる。次に、そのデータを異なる良質ブロックへと書き込むことができ、悪質ブロックマップをアップデートする。ECCの適用は、以下のように進み得る。LP先読込データが出力され得る。メモリコントローラが、ECCエンジンを使用して正しいLPデータを回復させ、正しいデータをNANDデバイスに返送する。補正されたLPデータは、エラボレーション用に使用できる。そして、正しい複数の値が、UPプログラミング用にプログラムされ得る。
エラー回復スキームの他の例は、読込電圧サーチを実行することである(なお、時々、読込電圧調節と呼ばれる)。この例において、コントローラは、固定された、または、予め定められたLP電圧値を参照するよりはむしろ、電圧を動的に読込み、最小ビットエラー率を決定する。
各エラー回復スキームは、時間消費という点のように、それとともに関連付けられるコストを有し、複数の異なるスキームは、複数の異なる程度で成功することができる。複数のスキームの組み合わせによって、累積的な成果を得ることができる。換言すれば、セル間の干渉補償の読込電圧サーチとの組み合わせによって、より有力な効果を得ることができ、もっと正確にいえば、セル間の干渉補償と読込電圧サーチとを個別に行うよりも、より確実にLPデータビットの回復という結果をもたらすことができる。
本明細書で開示される複数の方法を使用する際に、ワードライン間の複数の変更、ブロック間の複数の変更、および、複数の処理変更も含む、ページ上での複数のセルの複数の変更の全てが考慮され得る。従って、ページの複数のカウントサイクル、および、複数のサイクル量の効果推定の代わりに、または、それらに加えて、特定のWLまたはSBのような複数の尺度を、上層ページプログラミングを調節すべく使用できる。
複数の例
複数の発明実施形態の一般的な例示的実装によって、以下の表1は、適用されるエラー回復スキーム、および、各エラー回復スキームに関連付けられるタイムペナルティまたはタイムコストと共に、UPプログラミング用の複数のサブブロックのリストを提供する。
Figure 2016009517
この例において、16個のサブブロックは、それぞれが異なる回復スキームの適用例を有する4つのグループへと分割されている。サブブロック0−3は、回復を行わない標準手順に従う。これに対するタイムオーバーヘッドまたはコストは0である。なぜならば、標準のUPプログラミングに追加時間を全く加えないからである。サブブロック4−7は、タイムコスト「タイム1」と関連付けられた「エラー回復1を適用」する。サブブロック8−11は、タイムコスト「タイム2」と関連付けられた「エラー回復2を適用」する。サブブロック12−15は、タイムコスト「タイム3」と関連付けられた「エラー回復3を適用」する。サブブロック数が増大するに連れてLP先読込データにおける複数のエラーの確率が増大するので、エラー回復3は一般的に、エラー回復2に比べてより有力かつ効果的になるけれど、効率がより低下してタイムペナルティがより大きくなり得る。同様に、エラー回復2は一般的に、エラー回復1に比べてより有力かつ効果的になるけれど、効率がより低下してタイムペナルティがより大きくなり得る。
UPプログラミング中に数が段々と高くなる複数のサブブロックに対して適用される、一連のエラー回復スキームの更に特定の例は、以下の表2において提供される。
Figure 2016009517
表1と表2との間の差によって理解できるように、複数のエラー回復スキームが、複数の異なるスキーム間で均等に分割されていない複数のサブブロックの複数のグループにおける、複数のサブブロックに適用され得る。例えば、表1における複数のスキームの各々は、スキーム当たり4つのサブブロックの複数のグループに一様に適用されていた一方で、表2は複数のスキームを含み、それとともに関連付けられる2個、5個および7個のサブブロックを備える。いずれのサブブロックをいずれのエラー回復スキームに適用するかの判断は、特定の複数の適用例および表1および2における例に見合うように異なり得、または、これらに限定することを意図していない。
表2は、サブブロック0−4に対して、UPプログラミングが、LP先読込中のエラー回復無く、標準処理に従って進むことを示している。サブブロック5−6は、複数のセル、ブロックまたはサブブロックを考慮したエラー回復スキームとして、現在のセル、ブロックまたはサブブロックの単一の側での干渉補償を利用する。サブブロック7−8は、複数のセル、ブロックまたはサブブロックを考慮したエラー回復スキームとして、現在のセル、ブロックまたはサブブロックの2つの側での干渉補償を利用する。コントローラECCは、サブブロック9―15に対して適用される。幾つかの例示的タイムコストは、1つのエラー回復スキームから他のエラー回復スキームに対してどれだけタイムコストが増大し得るかを図示している表2に含まれる。
上述の説明の少なくとも幾つかは、サブブロック数に基づく複数のLP先読込エラーを回復するためのエラー回復スキームの選択および適用を説明した。その一方で、複数の発明実施形態は、サブブロック数に基づくエラー回復の選択/適用に限定されない。以下の表3は、サブブロックよりむしろWL位置を備えるUPプログラミングに基づく、先読込エラー回復スキーム選択の一般的な例である。
Figure 2016009517
表3から理解できるように、WLに基づくエラー回復スキームの適用は、サブブロックに基づくエラー回復スキームの適用の複数の前例と異なり得る。WLエラー回復適用は、例えばWLsの複数のグループに適用することができるけれど、WL数の増大のような強度/コストの増大以外の命令であり得る。いずれのWLsをいずれのエラー回復スキームに適用するかの判断は、特定のWLsに対するエラーの確率に基づき得る。エラー傾向WLsがより多い場合、エラー傾向WLsがより少ない場合に比べて、より効果的だけれどもより高コストのエラー回復を適用する。
以下の表4は、WLによるエラー回復の更に特定の例示的実装を提供する。
Figure 2016009517
表1―4で参照される複数の前例は、主にサブブロックまたはWLに基づくLP先読込エラー回復スキームを適用する。その一方で、先読込エラー回復スキームの選択は、任意の他の適切な基準を基とし得る。例えば、メモリデバイスは、プログラム/消去サイクリングカウントに基づいて複数の先読込エラー回復スキームを切り替えることができる。他の例として、複数の先読込エラー回復スキームを、例えば、サブブロック、WL位置およびサイクリングカウントの2又は3以上の組み合わせに基づいて等、2又は3以上の基準の組み合わせに基づいて選択できる。
従って、その説明は、セル当たり2ビットの複数のメモリデバイス用のUPプログラミングについて主にずっと言及してきた。その一方で、その複数の概念を、セル当たり3ビット以上の複数のメモリデバイスに適用することができる。図3は、セル当たり3ビットの実装のある例を表している。セル当たりのビット数が2、3またはそれより大きな数であろうとなかろうと、UPプログラミングは少なくとも間接的にLPデータに基づく。
図3において、UPデータのプログラミング処理は、中層ページ(MP)データを判断してプログラムすべく、LPデータを先読込し、そのLPデータおよび追加ビットに基づいてエラボレーションを実行できる。MPデータは先読込することができ、そのMPデータおよび追加ビットをエラボレーションおよびUPデータのプログラミング用に使用できる。エラー回復は、UPデータプログラミングの精度を保証すべくLPデータおよび/またはMPデータを先読込する場合に適用することができる。
図4を参照すると、発明実施形態のある例による、NANDメモリデバイスにおけるメモリのページをプログラミングするためのコンピュータ実装方法のフロー図が示されている。当該方法は、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と(ステップS510)、その下層ページのデータを先読込する段階と(ステップS520)、を含む。当該方法は更に、エラー回復操作をその下層ページのデータに適用するか否かを判断する段階(ステップS530)、を含む。上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータが格納され(ステップS540)、上層ページデータが、複数の2次プログラミングパルスおよび下層ページのデータに基づいてプログラムされる(ステップS550)。
メモリデバイスがセル当たり3ビットのデバイスである場合、当該方法は、中層ページデータのプログラミング用に使用される複数の3次プログラミングパルスを示すデータを格納する段階と、複数の3次プログラミングパルスおよび下層ページのデータに基づいて中層ページデータをプログラミングする段階とを含むことができる。上層ページデータのプログラミング用に、当該方法は更に、中層ページデータを先読込する段階と、複数の2次プログラミングパルスに基づいて上層ページデータをプログラミングする段階とを含む。下層ページのデータは、複数の2次パルスおよび中層ページのデータに基づいて上層ページデータをプログラミングすることを含む。この例において、上層ページデータをプログラミングする段階は、まだ少なくとも間接的に、下層ページデータのプログラミングに基づく。なぜならば、中層ページデータは、下層ページのデータに基づいてプログラムされるからである。
当該方法は、上層ページデータをプログラミングする段階が、下位サブブロックのプログラミングを含むのか、上位サブブロックのプログラミングを含むのか、を判断する段階を含むことができる。当該方法は、下位サブブロック用の上述のエラー回復と、上位サブブロックに対して当該エラー回復を適用する段階と、を含むことができる。
当該方法は、複数の異なるエラー回復操作の、1または複数の使用を含むことができる。上記で述べられるように、これらの操作は、サブブロックによって異なり得る。これらの操作は、上層ページプログラミング用のワードライン位置に基づいて異なり得る。これらの操作は、プログラム/消去サイクルカウントによって異なり得る。これらの操作は、サブブロック、ワードライン位置、または、プログラム/消去サイクルカウントの2又は3以上の組み合わせに基づいて異なり得る。サイクルカウントによって複数のエラー回復操作の変更を容易にすべく、当該方法は、下層ページ用のプログラミングサイクル数を判断する段階と、当該プログラミングサイクル数が予め定められた閾値を超えている場合にエラー回復操作を適用する段階と、を含むことができる。
エラー回復操作の一例は、近接ワードラインの読込電圧に基づいて下層ページのデータのサブブロックの読込電圧を変更することによる、干渉補償を含む。例えば、下層ページのデータのサブブロックの読込電圧を、単一の近接ワードラインの読込電圧に基づいて変更することができる。他の例として、下層ページのデータのサブブロックの読込電圧を、複数の近接ワードラインの読込電圧に基づいて変更することができる。
エラー回復操作の他の例は、下層ページの先読込データをECCコントローラのようなコントローラへと出力する段階を含む。当該操作は次に、コントローラと共にそのデータを補正する段階と、そのデータをメモリデバイスへと返送する段階と、メモリデバイスで上層ページデータのプログラミング用にその補正されたデータを使用する段階と、を含むことができる。
エラー回復操作の他の例は、読込電圧サーチを実行する段階を含む。当該読込電圧サーチは、最小ビットエラー率に対する読込電圧を決定し、当該最小ビットエラー率に対する読込電圧に基づいて下層ページのデータの読込電圧を調節するコントローラを使用して、実行することができる。この例において、その下層ページのデータの読込電圧は、可変となり得、かつ、固定または予め定められ得ない。
次に図5を参照すると、発明実施形態の他の例による、NANDメモリデバイスにおけるメモリのページをプログラミングするためのコンピュータ実装方法のフロー図が示されている。当該方法は、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と(ステップS610)、その下層ページのデータを先読込する段階と(ステップS620)、その下層ページのデータにエラー回復を適用する段階と(ステップS630)、を含む。当該方法は更に、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と(ステップS640)、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と(ステップS650)、を含む。
上層ページの複数の下位サブブロックをプログラミングする場合、第1エラー回復操作を適用できる。上層ページの複数の中位サブブロックをプログラミングする場合、第2エラー回復操作を適用できる。上層ページの複数の上位サブブロックをプログラミングする場合、第3エラー回復操作を適用できる。第1、第2および第3エラー回復操作の各々は異なる。第1、第2および第3エラー回復操作の各々は、異なるタイムコストを有する。エラー回復操作当たりの複数のサブブロック数は、複数のエラー回復オプション間で均等に分散され得、または、不均等に分散され得る。換言すれば、ある例として、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループであり得る。他の例として、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、複数のサブブロックの複数のグループであって、その少なくとも2つのグループは異なる数の複数のサブブロックを含む。
エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含むことができる。複数のエラー回復オプションはまた、以前に説明されたように、サイクルカウントに基づいて異なり得る。
当該方法は、上層ページの複数のサブブロックまたはワードラインをプログラミングする場合のように、上層ページをプログラミングする場合に、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階を含むことができる。
次に図6を参照すると、発明実施形態の他の例による、NANDメモリデバイスにおけるメモリのページをプログラミングするためのコンピュータ実装方法のフロー図が示されている。当該方法は、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と(ステップS710)、その下層ページのデータを先読込する段階と(ステップS720)、を含む。当該方法は、エラー回復を下層ページのデータに適用する段階を含むことができる。上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納することができ(ステップS730)、上層ページデータを、複数の2次プログラミングパルス(もっと正確にいえば、複数の2次プログラミングパルスを示すデータ)および下層ページのデータに基づいてプログラムすることができる(ステップS740)。当該方法は、上層ページの複数のサブブロックをプログラミングする場合に、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階(ステップS750)、を含むことができる。
一例において、ある発明実施形態により、データストレージシステムが提供される。当該システムは、プロセッサ、電源、および、当該プロセッサに連結され、複数のセルの配列を含む(かつ、当該電源によって動力を供給される)NANDメモリを含むことができる。当該データストレージシステムは、プログラミング方法および読込方法を実行するように構成された回路を含むことができる。例えば、当該方法は、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復を下層ページのデータに適用する段階と、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含むことができる。
一例において、ある発明実施形態により、NANDメモリまたはNANDメモリデバイスが提供される。NANDメモリは、複数のNANDメモリセルの配列と、ある方法を実行するように構成された回路と、を含むことができる。例えば、当該方法は、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復操作を下層ページのデータに適用するか否かを判断する段階と、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含むことができる。
以前または以後に説明される複数のシステムまたは装置の複数の特徴はまた、本明細書で説明される方法または任意の複数の処理に関して実施され得、その逆のことも言える。また、複数の例における詳細が、1または複数の実施形態における任意の場所で使用され得る。
これから、図7を参照する。図7は、ある発明実施形態によるメモリデバイス801の簡素化されたブロック図であり、そこで、様々な方法を実施することができる。メモリデバイス801は、複数の行および列で配列された、複数のメモリセルの配列804を含む。様々な実施形態が、主に複数のNANDメモリアレイを参照して説明されるであろうけれども、様々な実施形態は、メモリアレイ804の特定のアーキテクチャに限定されない。複数の本実施形態に適切な他の複数の配列アーキテクチャの幾つかの例は、複数のNOR配列、複数のAND配列、および、複数の仮想接地配列を含む。しかしながら、概して、本明細書で説明される複数の実施形態は、各メモリセルの閾値電圧を示すデータ信号の生成を許容する、任意の配列アーキテクチャに適応可能である。
メモリデバイス801に提供される複数のアドレス信号をデコードすべく、行デコード回路808および列デコード回路810が提供される。複数のアドレス信号が受信され、メモリアレイ804にアクセスすべくデコードされる。メモリデバイス801はまた、メモリデバイス801からのデータおよびステータス情報の出力と同様に、メモリデバイス801への複数のコマンド、複数のアドレスおよびデータの入力を管理すべく、入出力(I/O)制御回路812も含む。デコーディングの前に複数のアドレス信号をラッチすべく、入出力制御回路812と、行デコード回路808と、列デコード回路810との間にアドレスレジスタ814が連結される。複数の入力コマンドをラッチすべく、入出力制御回路812と制御ロジック816との間にコマンドレジスタ824が連結される。制御ロジック816が、複数のコマンドに応じてメモリアレイ804へのアクセスを制御し、外部プロセッサ830に対してステータス情報を生成する。制御ロジック816は、複数のアドレスに応じて、行デコード回路808および列デコード回路810を制御すべく、行デコード回路808および列デコード回路810に連結される。
制御ロジック816は、サンプル&ホールド回路818に連結され得る。サンプル&ホールド回路818は、複数のアナログデータ信号の形で、入力または出力のいずれかのデータをラッチする。例えば、サンプル&ホールド回路は、メモリセルに書き込まれるデータを表す入力データ信号、または、メモリセルからセンスされる閾値電圧を示す出力データ信号のいずれかをサンプリングすべく、複数のコンデンサ、または、他の複数のアナログ記憶装置を含むことができるだろう。サンプル&ホールド回路818は更に、外部デバイスに対してより強力なデータ信号を提供すべく、サンプリングされた信号の増幅および/またはバッファリングを備え得る。
複数のアナログデータ信号のハンドリングは、CMOS撮像素子技術の分野で周知のアプローチと同様のアプローチを採り得る。そこでは、入射照明に応じて撮像素子の複数のピクセルで生成される複数の電荷レベルが、複数のコンデンサに蓄積される。これらの電荷レベルは次に、差動増幅器への第2入力として、基準コンデンサと共に差動増幅器を使用する複数の信号へと変換される。差動増幅器の出力は次に、照明強度を表すデジタル値を得るべく、複数のアナログ・デジタル変換(ADC)デバイスへと渡される。複数の本実施形態において、メモリセルの読込またはプログラミングの各々を目的として、電荷をメモリセルの実際の閾値電圧または標的閾値電圧を示すデータ信号にかけることに応じて、コンデンサに電荷が蓄積され得る。この電荷は次に、第2入力として、接地入力または他の基準信号を有する差動増幅器を使用するアナログデータ信号へと変換され得るであろう。差動増幅器の出力は次に、読込操作の場合は、メモリデバイスからの出力用に入出力制御回路812へと渡され得、また、メモリデバイスをプログラミングする場合は、1または複数の多様な操作中の比較用に使用され得るであろう。入出力制御回路812は、メモリデバイス801がアナログデータインターフェースまたはデジタルデータインターフェースのいずれかとの通信に適合できるように、読込データをアナログデータ信号からデジタルビットパターンへと変換し、書き込みデータをデジタルビットパターンからアナログ信号へと変換すべく、アナログ・デジタル変換機能およびデジタル・アナログ変換(DAC)機能を任意に含み得るであろうことに留意すべきである。
プログラミング操作中において、メモリアレイ804の複数の標的メモリセルは、それらの電圧レベルを示す複数の電圧がサンプル&ホールド回路818で保持される複数のレベルに一致するまで、プログラムされる。これは、一例として、保持された電圧レベルを標的メモリセルの閾値電圧と比較するための差動感知デバイスを使用することで達成できる。かなり従来のメモリプログラミングと似ているが、標的メモリセルの閾値電圧を所望の値に到達または超過するまで増大させるべく、複数のプログラミングパルスが標的メモリセルに適用され得るであろう。読込操作において、複数の標的メモリセルの複数の電圧レベルが、ADC/DAC機能がメモリデバイスの外部に提供されるか内部に提供されるかに応じて、直接的に複数のアナログ信号として、または、複数のアナログ信号の複数のデジタル化表現として、いずれかで外部プロセッサ(図7では不図示)へ転送する目的で、サンプル&ホールド回路818に渡される。
複数のセルの複数の閾値電圧が、様々な方法で決定され得る。例えば、一般的にワードラインと呼ばれるもののようなアクセス回線の電圧が、標的メモリセルが活性化した状態になった時点でサンプリングされ得るであろう。代替的に、ブースト電圧が標的メモリセルの第1ソース/ドレイン側に適用され得、閾値電圧が、その制御ゲート電圧とその他方のソース/ドレイン側における電圧との間の差と見なされ得るであろう。電圧をコンデンサと連結することによって、サンプリングされた電圧を蓄積すべく、電荷がコンデンサと共有されるであろう。なお、サンプリングされた電圧は、閾値電圧と等しい必要はないが、単にその電圧を示している。例えば、ブースト電圧をメモリセルの第1ソース/ドレイン側に適用し、既知の電圧をその制御ゲートに適用する場合において、当該メモリセルの第2ソース/ドレイン側で発達した電圧は、データ信号と見なされ得るであろう。なぜならば、当該発達した電圧は、当該メモリセルの閾値電圧を示しているからである。
サンプル&ホールド回路818は、メモリデバイス801が、第1データ値を外部プロセッサに渡しつつ次のデータ値を読込み得るように、または、第1データ値をメモリアレイ804に書込みしつつ次のデータ値を受信し得るように、キャッシュ、すなわち、各データ値用の複数の記憶場所を含み得る。外部プロセッサへの出力用にステータス情報をラッチすべく、ステータスレジスタ822が、入出力制御回路812と制御ロジック816との間に連結される。
メモリデバイス801は、制御リンク832を通して、制御ロジック816で複数の制御信号を受信する。複数の制御信号は、チップイネーブルCE#、コマンドラッチイネーブルCLE、アドレスラッチイネーブルALE、および、ライトイネーブルWE#を含み得る。メモリデバイス801は、多重化された入出力(I/O)バス834を通して外部プロセッサから複数のコマンド(複数のコマンド信号の形で)、複数のアドレス(複数のアドレス信号の形で)、および、データ(複数のデータ信号の形で)を受信し、入出力バス834を通して外部プロセッサへとデータを出力し得る。
ある特定の例において、複数のコマンドは、入出力バス834の複数の入出力(I/O)ピン[7:0]を通して入出力制御回路812で受信され、コマンドレジスタ824へと書き込まれる。複数のアドレスは、バス834の複数の入出力(I/O)ピン[7:0]を通して入出力制御回路812で受信され、アドレスレジスタ814へと書き込まれる。データは、8つの並列信号を受信可能なデバイス用に複数の入出力(I/O)ピン[7:0]を通して、または、16つの並列信号を受信可能なデバイス用に複数の入出力(I/O)ピン[15:0]を通して、入出力制御回路812で受信され得、サンプル&ホールド回路818へと転送される。データはまた、8つの並列信号を送信可能なデバイス用に複数の入出力(I/O)ピン[7:0]を通して、または、16つの並列信号を送信可能なデバイス用に複数の入出力(I/O)ピン[15:0]を通して、出力され得る。追加回路および複数の信号を提供することができること、および、図7のメモリデバイスは本開示の実施形態に集中するのを助けるべく簡素化されたこと、は当業者によって理解されるであろう。
様々な実施形態において、メモリの上層ページプログラミング用の複数の下層ページデータ先読込の中でエラー回復を適用する複数の方法が、メモリ801のようなメモリで実行され得る。そのような複数の方法は、図1から6を参照して、本明細書で示され、説明されている。
図7が、サンプル&ホールド回路818に関して説明された。その一方で、制御ロジック816は、本開示の範囲から逸脱せずに、サンプル&ホールド回路818の代わりに、複数のデータラッチに連結され得るであろう、ということが理解されるべきである。複数のデータラッチは、入力または出力のいずれかのデータをラッチする。書き込み操作中、メモリアレイ804の複数の標的メモリセルは、例えば上記で説明されるような2セットのプログラミングパルスを使用して、それらの電圧レベルを示す複数の電圧が複数のデータラッチで保持されたデータと一致するまで、プログラムされる。これは、一例として、保持されたデータを標的メモリセルの閾値電圧と比較するための複数の差動感知デバイスを使用することで達成できる。
更に、図7のメモリデバイスは、様々な信号の受信および出力に対する複数の一般的な規定に従って説明されたが、その一方で、様々な実施形態が、説明された特定の複数の信号および入出力構成によって限定されないことに留意すべきである。例えば、複数のコマンド信号およびアドレス信号は、複数のデータ信号を受信するものとは別個に複数の入力で受信され得、また、複数のデータ信号は入出力バス834の単一の入出力ラインを通して連続的に伝送され得るであろう。複数のデータ信号は、個別の複数のビットの代わりに複数のビットパターンを表すので、8ビットデータ信号のシリアル通信が、個別の複数のビットを表す8つの信号のパラレル通信と同様に効率的になり得るであろう。
様々な技術、または、その幾つかの局面または部分が、複数のフロッピー(登録商標)ディスク、CD−ROM、ハードドライブ、非一時的コンピュータ可読記憶媒体、または、任意の他の機械可読記憶媒体のような複数の有形媒体の中に取り入れられるプログラムコード(すなわち、複数の命令)の形をとり得る。当該プログラムコードがコンピュータのようなある機械へとロードされて実行された場合、当該機械はその様々な技術を実施する装置となる。回路は、ハードウェア、ファームウェア、プログラムコード、実行可能なコード、複数のコンピュータ命令、および/または、ソフトウェアを含むことができる。非一時的コンピュータ可読記憶媒体は、信号を含まないコンピュータ可読記憶媒体であり得る。複数のプログラム可能なコンピュータでプログラムコードが実行される場合において、当該コンピューティングデバイスは、プロセッサ、当該プロセッサによって可読な記憶媒体(揮発性および不揮発性メモリ、および/または、複数のストレージ要素を含む)、少なくとも1つの入力デバイス、および、少なくとも1つの出力デバイスを含み得る。その揮発性および不揮発性メモリ、および/または、複数のストレージ要素は、RAM、EPROM、フラッシュドライブ、光学ドライブ、磁気ハードドライブ、ソリッドステートドライブ、または、他の電子データ格納用媒体であり得る。ノードおよび無線デバイスは、トランシーバモジュール、コンピュータモジュール、処理モジュール、および/または、クロックモジュールまたはタイマーモジュールも含み得る。本明細書で説明される様々な技術を実施または利用し得る1または複数のプログラムは、アプリケーションプログラミングインターフェース(API)、複数の再利用可能な制御装置等を使用し得る。そのような複数のプログラムは、コンピュータシステムと通信すべく、高水準手順プログラミング言語またはオブジェクト指向プログラミング言語で実施され得る。しかしながら、当該(複数の)プログラムは、望まれるのであればアセンブリ言語または機械言語で実施され得る。いずれにせよ、言語は、コンパイルまたは解釈された言語であり得、複数のハードウェア実装と組み合わされ得る。
1つの例示的発明実施形態において、NANDメモリデバイスが提供され、当該デバイスは、複数のNANDメモリセルの配列と、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用し、下層ページのデータを先読込し、エラー回復操作を下層ページのデータに適用するか否かを判断し、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納し、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラムするように構成されたコントローラと、を備える。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する。
一例において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、上層ページデータのプログラミングが下位サブブロックのプログラミングまたは上位サブブロックのプログラミングのいずれを有するのかを判断する段階を含み、その方法は更に、下位サブブロックに対する上述のエラー回復と、上位サブブロックに対してエラー回復を適用する段階とを含む。
一例において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、下層ページに対する複数のプログラミングサイクルの数を判断する段階と、複数のプログラミングサイクルの数が予め定められた閾値を超える場合はエラー回復操作を適用する段階とを含む。
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する。
一例において、第1、第2および第3エラー回復操作の各々は異なる。
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループである。
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、複数のサブブロックの複数のグループであって、少なくとも2つのグループは異なる数の複数のサブブロックを有する。
一例において、第1、第2および第3エラー回復操作の各々は、異なるタイムコストを有する。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置、上層ページプログラミング用のサブブロック、または、下層ページのデータの先読込のためのサイクルカウントの組み合わせに基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、メモリデバイスは更に、上層ページの複数のサブブロックをプログラミングする場合、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用することを含む。
1つの例示的発明実施形態において、データストレージシステムが提供され、当該システムは、プロセッサと、電源と、当該プロセッサに連結され、複数のセルの配列を含むNANDメモリと、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用し、下層ページのデータを先読込し、エラー回復を下層ページのデータに適用し、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納し、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラムするように構成されたコントローラと、を含み、エラー回復を下層ページのデータに適用する場合、当該コントローラは、上層ページデータのプログラミング中に複数の異なるエラー回復スキームを下層ページのデータに徐々に適用する。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する。
一例において、エラー回復は、近接ワードラインの読込電圧に基づいて、下層ページのデータのサブブロックの読込電圧を変更することによる干渉補償を含む。
一例において、下層ページのデータのサブブロックの読込電圧は、単一の近接ワードラインの読込電圧に基づいて変更される。
一例において、下層ページのデータのサブブロックの読込電圧は、複数の近接ワードラインの読込電圧に基づいて変更される。
一例において、エラー回復操作は、下層ページの先読込データをコントローラに出力する段階と、コントローラと共に当該データを補正する段階と、当該補正されたデータを上層ページデータのプログラミング用に使用する段階とを含む。
一例において、エラー回復操作は、最小ビットエラー率に対する読込電圧を決定し、最小ビットエラー率に対する読込電圧に基づいて下層ページのデータの読込電圧を調節するコントローラを使用する、読込電圧サーチを含む。
一例において、下層ページのデータの読込電圧は可変である。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
1つの例示的発明実施形態において、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、上層ページの複数のサブブロックをプログラミングする場合にタイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階と、を含む、NANDメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する。
1つの例示的発明実施形態によって、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復操作を下層ページのデータに適用するか否かを判断する段階と、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含む、NANDメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
一例において、当該方法は更に、中層ページデータのプログラミング用に使用される複数の3次プログラミングパルスを示すデータを格納する段階と、複数の3次プログラミングパルスおよび下層ページのデータに基づいて中層ページデータをプログラミングする段階と、中層ページデータを先読込する段階と、を含み、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階は、複数の2次パルスおよび中層ページのデータに基づいて上層ページデータをプログラミングする段階を含み、中層ページデータは下層ページのデータに基づいてプログラムされる。
1つの例示的実施形態において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、上層ページデータのプログラミングが下位サブブロックのプログラミングまたは上位サブブロックのプログラミングのいずれを有するのかを判断する段階を含み、その方法は更に、下位サブブロックに対する上述のエラー回復と、上位サブブロックに対してエラー回復を適用する段階とを含む。
1つの例示的実施形態において、エラー回復は、近接ワードラインの読込電圧に基づいて、下層ページのデータのサブブロックの読込電圧を変更することによる干渉補償を含む。
1つの例示的実施形態において、下層ページのデータのサブブロックの読込電圧は、単一の近接ワードラインの読込電圧に基づいて変更される。
1つの例示的実施形態において、下層ページのデータのサブブロックの読込電圧は、複数の近接ワードラインの読込電圧に基づいて変更される。
1つの例示的実施形態において、エラー回復操作は、下層ページの先読込データをコントローラに出力する段階と、コントローラと共に当該データを補正する段階と、当該補正されたデータを上層ページデータのプログラミング用に使用する段階とを含む。
1つの例示的実施形態において、エラー回復操作は、最小ビットエラー率に対する読込電圧を決定し、最小ビットエラー率に対する読込電圧に基づいて下層ページのデータの読込電圧を調節するコントローラを使用する、読込電圧サーチを含む。
1つの例示的実施形態において、下層ページのデータの読込電圧は可変である。
1つの例示的実施形態において、エラー回復操作を下層ページのデータに適用するか否かを判断する段階は、下層ページに対する複数のプログラミングサイクルの数を判断する段階と、複数のプログラミングサイクルの数が予め定められた閾値を超える場合はエラー回復操作を適用する段階とを含む。
1つの例示的実施形態において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
1つの例示的実施形態によって、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、エラー回復操作を下層ページのデータに徐々に適用する段階と、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、を含む、NANDメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する。
一例において、第1、第2および第3エラー回復操作の各々は異なる。
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループである。
一例において、複数の下位サブブロック、複数の中位サブブロック、および、複数の上位サブブロックは、複数のサブブロックの複数のグループであって、少なくとも2つのグループは異なる数の複数のサブブロックを有する。
一例において、第1、第2および第3エラー回復操作の各々は、異なるタイムコストを有する。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置、上層ページプログラミング用のサブブロック、または、下層ページのデータの先読込のためのサイクルカウントの組み合わせに基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、当該方法は更に、上層ページの複数のサブブロックをプログラミングする場合、タイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階を含む。
1つの例示的発明実施形態において、ページの下層ページプログラミングに対して複数の1次プログラミングパルスを適用する段階と、下層ページのデータを先読込する段階と、上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と、複数の2次プログラミングパルスおよび下層ページのデータに基づいて上層ページデータをプログラミングする段階と、上層ページの複数のサブブロックをプログラミングする場合にタイムコストが増々かかるエラー回復を下層ページのデータに徐々に適用する段階と、を含む、NANDメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法が提供される。
一例において、エラー回復操作は、上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む。
一例において、上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する。
上述の複数の例は様々な発明実施形態の複数の原理の例示であるが、その一方で、1または複数の特定の適用例において、発明的才能の使用無くして、本発明の複数の原理および概念から逸脱せずに、実装の形、使用量および複数の詳細における多数の変更が可能であることが、当業者に明らかとなるであろう。従って、以下の特許請求の範囲によって明らかにされる場合を除き、本発明を限定することは意図していない。

Claims (25)

  1. 複数のNANDメモリセルの配列と、
    コントローラと
    を備え、
    前記コントローラは、
    下層ページのプログラミングに対して複数の1次プログラミングパルスを適用し、
    前記下層ページのデータを先読込し、
    エラー回復操作を前記下層ページの前記データに適用するか否かを判断し、
    上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納し、
    前記複数の2次プログラミングパルス、および、前記下層ページの前記データに基づいて、前記上層ページデータをプログラムする
    NANDメモリデバイス。
  2. 前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項1に記載のメモリデバイス。
  3. 前記上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、前記上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、前記上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する、請求項1または2に記載のメモリデバイス。
  4. 前記エラー回復操作を前記下層ページの前記データに適用するか否かを判断する段階は、前記上層ページデータのプログラミングが下位サブブロックのプログラミングまたは上位サブブロックのプログラミングのいずれを有するのかを判断する段階を含み、更に、前記下位サブブロックに対して前記エラー回復操作を適用する段階と、前記上位サブブロックに対して前記エラー回復操作を適用する段階とを含む、請求項1から3のいずれか一項に記載のメモリデバイス。
  5. 前記エラー回復操作を前記下層ページの前記データに適用するか否かを判断する段階は、前記下層ページに対する複数のプログラミングサイクルの数を判断する段階と、前記複数のプログラミングサイクルの数が予め定められた閾値を超える場合は前記エラー回復操作を適用する段階とを含む、請求項1から4のいずれか一項に記載のメモリデバイス。
  6. 前記上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、前記上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、前記上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する、請求項1または2に記載のメモリデバイス。
  7. 前記第1エラー回復操作、前記第2エラー回復操作および前記第3エラー回復操作の各々は異なる、請求項6に記載のメモリデバイス。
  8. 前記複数の下位サブブロック、前記複数の中位サブブロック、および、前記複数の上位サブブロックは、各々が等しい数のサブブロックを含む、複数のサブブロックの複数のグループである、請求項6または7に記載のメモリデバイス。
  9. 前記複数の下位サブブロック、前記複数の中位サブブロック、および、前記複数の上位サブブロックは、複数のサブブロックの複数のグループであって、少なくとも2つのグループは異なる数の複数のサブブロックを有する、請求項6または7に記載のメモリデバイス。
  10. 前記第1エラー回復操作、前記第2エラー回復操作および前記第3エラー回復操作の各々は、異なるタイムコストを有する、請求項6から9のいずれか一項に記載のメモリデバイス。
  11. 前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項1に記載のメモリデバイス。
  12. 前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置、前記上層ページプログラミング用のサブブロック、または、前記下層ページの前記データの前記先読込のためのサイクルカウントの組み合わせに基づいて変わる、複数の異なるエラー回復操作を含む、請求項1に記載のメモリデバイス。
  13. 前記上層ページの複数のサブブロックをプログラミングする場合、タイムコストが増々かかるエラー回復操作を前記下層ページの前記データに徐々に適用することを更に含む、請求項1に記載のメモリデバイス。
  14. プロセッサと、
    電源と、
    前記プロセッサに連結され、複数のセルの配列を含むNANDメモリと、
    コントローラと
    を含み、
    前記コントローラは、
    下層ページのプログラミングに対して複数の1次プログラミングパルスを適用し、
    前記下層ページのデータを先読込し、
    エラー回復操作を前記下層ページの前記データに適用し、
    上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納し、
    前記複数の2次プログラミングパルス、および、前記下層ページの前記データに基づいて、前記上層ページデータをプログラムし、
    前記エラー回復操作を前記下層ページの前記データに適用する場合、前記コントローラは、前記上層ページデータのプログラミング中に複数の異なるエラー回復スキームを前記下層ページの前記データに徐々に適用する、
    データストレージシステム。
  15. 前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項14に記載のシステム。
  16. 前記上層ページの複数の下位サブブロックをプログラミングする場合は第1エラー回復操作を適用し、前記上層ページの複数の中位サブブロックをプログラミングする場合は第2エラー回復操作を適用し、前記上層ページの複数の上位サブブロックをプログラミングする場合は第3エラー回復操作を適用する、請求項14または15に記載のシステム。
  17. 前記エラー回復操作は、近接ワードラインの読込電圧に基づいて、前記下層ページの前記データのサブブロックの読込電圧を変更することによる干渉補償を含む、請求項14から16のいずれか一項に記載のシステム。
  18. 前記下層ページの前記データの前記サブブロックの前記読込電圧は、単一の近接ワードラインの前記読込電圧に基づいて変更される、請求項17に記載のシステム。
  19. 前記下層ページの前記データの前記サブブロックの前記読込電圧は、複数の近接ワードラインの前記読込電圧に基づいて変更される、請求項17に記載のシステム。
  20. 前記エラー回復操作は、前記下層ページの先読込された前記データをコントローラに出力する段階と、前記コントローラと共に前記データを補正する段階と、補正された前記データを前記上層ページデータのプログラミング用に使用する段階とを含む、請求項14から19のいずれか一項に記載のシステム。
  21. 前記エラー回復操作は、最小ビットエラー率に対する読込電圧を決定し、前記最小ビットエラー率に対する前記読込電圧に基づいて前記下層ページの前記データの読込電圧を調節するコントローラを使用する、読込電圧サーチを含む、請求項14に記載のシステム。
  22. 前記下層ページの前記データの前記読込電圧は可変である、請求項21に記載のシステム。
  23. 前記エラー回復操作は、前記上層ページプログラミング用のワードライン位置に基づいて変わる、複数の異なるエラー回復操作を含む、請求項14に記載のシステム。
  24. 下層ページのプログラミングに対して複数の1次プログラミングパルスを適用する段階と、
    前記下層ページのデータを先読込する段階と、
    エラー回復操作を前記下層ページの前記データに適用するか否かを判断する段階と、
    上層ページデータのプログラミング用に使用される複数の2次プログラミングパルスを示すデータを格納する段階と、
    前記複数の2次プログラミングパルスおよび前記下層ページの前記データに基づいて前記上層ページデータをプログラミングする段階と
    を含む、NANDメモリデバイスにおけるメモリのページのプログラミングのコンピュータ実装方法。
  25. 中層ページデータのプログラミング用に使用される複数の3次プログラミングパルスを示すデータを格納する段階と、
    前記複数の3次プログラミングパルスおよび前記下層ページの前記データに基づいて前記中層ページデータをプログラミングする段階と、
    前記中層ページデータを先読込する段階と
    を更に含み、
    前記複数の2次プログラミングパルスおよび前記下層ページの前記データに基づいて前記上層ページデータをプログラミングする段階は、前記複数の2次プログラミングパルスおよび前記中層ページデータに基づいて前記上層ページデータをプログラミングする段階を含み、前記中層ページデータは前記下層ページの前記データに基づいてプログラムされる、請求項24に記載の方法。
JP2015102270A 2014-06-25 2015-05-19 Nand先読込エラー回復 Active JP6133929B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/314,663 US9672102B2 (en) 2014-06-25 2014-06-25 NAND memory devices systems, and methods using pre-read error recovery protocols of upper and lower pages
US14/314,663 2014-06-25

Publications (2)

Publication Number Publication Date
JP2016009517A true JP2016009517A (ja) 2016-01-18
JP6133929B2 JP6133929B2 (ja) 2017-05-24

Family

ID=54839882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015102270A Active JP6133929B2 (ja) 2014-06-25 2015-05-19 Nand先読込エラー回復

Country Status (4)

Country Link
US (1) US9672102B2 (ja)
JP (1) JP6133929B2 (ja)
KR (1) KR101743974B1 (ja)
DE (1) DE102015108143A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9640270B2 (en) * 2014-08-12 2017-05-02 Sandisk Technologies Llc System and method of using multiple read operations
US9720754B2 (en) 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
US9576671B2 (en) 2014-11-20 2017-02-21 Western Digital Technologies, Inc. Calibrating optimal read levels
US9905302B2 (en) 2014-11-20 2018-02-27 Western Digital Technologies, Inc. Read level grouping algorithms for increased flash performance
US9558064B2 (en) * 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
US9823880B1 (en) * 2016-09-30 2017-11-21 Intel Corporation Method and apparatus for initiating pre-read operation before completion of data load operation
US9793912B1 (en) * 2016-12-27 2017-10-17 Western Digital Technologies, Inc. Analog-to-digital conversion circuitry with real-time adjusted gain and resolution
US10236067B2 (en) * 2017-08-02 2019-03-19 International Business Machines Corporation State-dependent read voltage threshold adaptation for nonvolatile memory
WO2020167283A1 (en) 2019-02-11 2020-08-20 Hewlett-Packard Development Company, L.P. Recovery from corruption
TWI688953B (zh) * 2019-04-10 2020-03-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111831210B (zh) * 2019-04-18 2023-12-15 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
US10964390B1 (en) 2019-12-10 2021-03-30 Western Digital Technologies, Inc. Skip coding for fractional bit-per-cell NAND memories
US10950315B1 (en) * 2019-12-16 2021-03-16 Micron Technology, Inc. Preread and read threshold voltage optimization
US11348643B2 (en) * 2020-02-25 2022-05-31 Apple Inc. Identifying failure type in NVM programmed in SLC mode using a single programming pulse with no verification
US11823739B2 (en) 2020-04-06 2023-11-21 Crossbar, Inc. Physically unclonable function (PUF) generation involving high side programming of bits
US11450384B2 (en) 2020-04-06 2022-09-20 Crossbar, Inc. Distinct chip identifier sequence utilizing unclonable characteristics of resistive memory on a chip
US11734094B2 (en) 2020-08-19 2023-08-22 Micron Technology, Inc. Memory component quality statistics
US11437119B2 (en) 2020-08-19 2022-09-06 Micron Technology, Inc. Error read flow component
CN113626381B (zh) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 一种基于分布式文件系统交织读预读的优化方法、装置
CN113805815B (zh) * 2021-09-18 2024-03-01 中国科学院微电子研究所 一种用于闪存的数据恢复方法、装置及系统
US20230359388A1 (en) * 2022-05-03 2023-11-09 Micron Technology, Inc. Memory read calibration based on memory device-originated metadata characterizing voltage distributions

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080019185A1 (en) * 2006-07-20 2008-01-24 Yan Li Compensating for coupling during programming
US20080019175A1 (en) * 2006-07-20 2008-01-24 Yan Li System that compensates for coupling based on sensing a neighbor using coupling
US20090016103A1 (en) * 2007-07-09 2009-01-15 Samsung Electronics Co., Ltd. Msb-based error correction for flash memory system
US20090067237A1 (en) * 2007-09-06 2009-03-12 Samsung Electronics Co., Ltd. Multi-bit data memory system and read operation
JP2009545092A (ja) * 2006-07-20 2009-12-17 サンディスク コーポレイション 結合を使用する隣接素子の検出に基づく結合の補償
JP2009545093A (ja) * 2006-07-20 2009-12-17 サンディスク コーポレイション プログラミング中における結合の補償
US20110145668A1 (en) * 2009-12-10 2011-06-16 Samsung Electronics Co., Ltd. Flash memory device, flash memory system, and method of programming flash memory device
US20120151301A1 (en) * 2010-12-10 2012-06-14 Kabushiki Kaisha Toshiba Semiconductor memory device
US20120230104A1 (en) * 2011-03-10 2012-09-13 Tae-Young Kim Non-volatile memory device and read method thereof
JP2012221522A (ja) * 2011-04-06 2012-11-12 Toshiba Corp 不揮発性半導体記憶装置
US20130329495A1 (en) * 2012-06-07 2013-12-12 Kabushiki Kaisha Toshiba Semiconductor memory and semiconductor memory control method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7508711B2 (en) * 2007-04-30 2009-03-24 Intel Corporation Arrangements for operating a memory circuit
US7656709B2 (en) * 2007-05-03 2010-02-02 Micron Technology, Inc. NAND step up voltage switching method
US8144516B2 (en) * 2009-12-03 2012-03-27 Micron Technology, Inc. Dynamic pass voltage for sense operation in a memory device
US8503257B2 (en) * 2010-07-30 2013-08-06 Apple Inc. Read disturb scorecard
US9135998B2 (en) * 2010-11-09 2015-09-15 Micron Technology, Inc. Sense operation flags in a memory device
US8732557B2 (en) * 2011-05-31 2014-05-20 Micron Technology, Inc. Data protection across multiple memory blocks
EP2780912B1 (en) 2011-11-18 2016-10-26 SanDisk Technologies LLC Non-volatile storage with data recovery
US9135989B2 (en) * 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US8887011B2 (en) * 2012-09-13 2014-11-11 Sandisk Technologies Inc. Erased page confirmation in multilevel memory
US8984369B2 (en) * 2012-11-21 2015-03-17 Micron Technology, Inc. Shaping codes for memory
US9257203B2 (en) 2012-12-06 2016-02-09 Micron Technology, Inc. Setting a default read signal based on error correction
US9543019B2 (en) * 2012-12-11 2017-01-10 Intel Corporation Error corrected pre-read for upper page write in a multi-level cell memory
US8982617B1 (en) * 2013-11-14 2015-03-17 Sandisk Technologies Inc. Block closure techniques for a data storage device

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009545092A (ja) * 2006-07-20 2009-12-17 サンディスク コーポレイション 結合を使用する隣接素子の検出に基づく結合の補償
US20080019175A1 (en) * 2006-07-20 2008-01-24 Yan Li System that compensates for coupling based on sensing a neighbor using coupling
JP2009545093A (ja) * 2006-07-20 2009-12-17 サンディスク コーポレイション プログラミング中における結合の補償
US20080019185A1 (en) * 2006-07-20 2008-01-24 Yan Li Compensating for coupling during programming
JP2009016034A (ja) * 2007-07-09 2009-01-22 Samsung Electronics Co Ltd フラッシュメモリシステム及びそのエラー訂正方法
US20090016103A1 (en) * 2007-07-09 2009-01-15 Samsung Electronics Co., Ltd. Msb-based error correction for flash memory system
JP2009064440A (ja) * 2007-09-06 2009-03-26 Samsung Electronics Co Ltd マルチ−ビットデータを格納するメモリシステム及びその読み出し方法
US20090067237A1 (en) * 2007-09-06 2009-03-12 Samsung Electronics Co., Ltd. Multi-bit data memory system and read operation
US20110145668A1 (en) * 2009-12-10 2011-06-16 Samsung Electronics Co., Ltd. Flash memory device, flash memory system, and method of programming flash memory device
US20120151301A1 (en) * 2010-12-10 2012-06-14 Kabushiki Kaisha Toshiba Semiconductor memory device
JP2012123880A (ja) * 2010-12-10 2012-06-28 Toshiba Corp 半導体記憶装置
US20120230104A1 (en) * 2011-03-10 2012-09-13 Tae-Young Kim Non-volatile memory device and read method thereof
JP2012221522A (ja) * 2011-04-06 2012-11-12 Toshiba Corp 不揮発性半導体記憶装置
US20130329495A1 (en) * 2012-06-07 2013-12-12 Kabushiki Kaisha Toshiba Semiconductor memory and semiconductor memory control method
JP2013254542A (ja) * 2012-06-07 2013-12-19 Toshiba Corp 半導体メモリ

Also Published As

Publication number Publication date
US20150378815A1 (en) 2015-12-31
KR20160000842A (ko) 2016-01-05
KR101743974B1 (ko) 2017-06-20
DE102015108143A1 (de) 2015-12-31
JP6133929B2 (ja) 2017-05-24
US9672102B2 (en) 2017-06-06

Similar Documents

Publication Publication Date Title
JP6133929B2 (ja) Nand先読込エラー回復
EP2176765B1 (en) Coarse and fine programming in a solid state memory
US8159874B2 (en) Cell operation monitoring
EP2158593B1 (en) Programming rate identification and control in a solid state memory
JP5483204B2 (ja) Mlcnandにおける不均等閾値電圧範囲
US8707112B2 (en) Refresh of non-volatile memory cells based on fatigue conditions
US7746691B2 (en) Methods and apparatus utilizing predicted coupling effect in the programming of non-volatile memory
US7751245B2 (en) Programming sequence in NAND memory
US9842655B2 (en) Reducing verification checks when programming a memory device
US8125831B2 (en) Sensing against a reference cell
US7630240B2 (en) Read method for MLC
US7995412B2 (en) Analog-to-digital and digital-to-analog conversion window adjustment based on reference cells in a memory device
US20090129152A1 (en) Program and read method for mlc

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170420

R150 Certificate of patent or registration of utility model

Ref document number: 6133929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250