JP5250117B2 - メモリのための適応消去及びソフトプログラミング - Google Patents

メモリのための適応消去及びソフトプログラミング Download PDF

Info

Publication number
JP5250117B2
JP5250117B2 JP2011540722A JP2011540722A JP5250117B2 JP 5250117 B2 JP5250117 B2 JP 5250117B2 JP 2011540722 A JP2011540722 A JP 2011540722A JP 2011540722 A JP2011540722 A JP 2011540722A JP 5250117 B2 JP5250117 B2 JP 5250117B2
Authority
JP
Japan
Prior art keywords
erase
pulses
soft programming
verify
pulse
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.)
Active
Application number
JP2011540722A
Other languages
English (en)
Other versions
JP2012511790A (ja
Inventor
世俊 李
ゲルト ヤン ヘミンク
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.)
SanDisk Corp
Original Assignee
SanDisk 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 SanDisk Corp filed Critical SanDisk Corp
Publication of JP2012511790A publication Critical patent/JP2012511790A/ja
Application granted granted Critical
Publication of JP5250117B2 publication Critical patent/JP5250117B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • G11C11/5635Erasing 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Description

本発明は、不揮発性メモリに関する。
半導体メモリは、様々な電子装置に使用されることが一般的になってきている。例えば、不揮発性半導体メモリは、携帯電話、デジタルカメラ、パーソナルデジタルアシスタント、モバイルコンピュータ、非モバイルコンピュータ及び他の装置の中に使用されている。電気的消去・プログラム可能型読取専用メモリ(EEPROM)と、フラッシュメモリは、最も普及している不揮発性半導体メモリの1つである。EEPROMの一種であるフラッシュメモリを用いると、メモリアレイ全体のコンテンツ、あるいはメモリの一部のコンテンツは、従来のフル機能のEEPROMと対照的に1つのステップで消去できる。
従来のEEPROMとフラッシュメモリの何れもが、半導体基板内のチャネル領域上に配置され、そのチャネル領域から絶縁されたフローティングゲートを利用している。フローティングゲートは、ソース領域とドレイン領域の間に配置されている。制御ゲートは、フローティングゲート上に配置されており、そのフローティングゲートから絶縁されている。このように形成されたトランジスタの閾値電圧(VTH)は、フローティングゲート上に保持される電荷量によって制御される。つまり、そのソースとドレインの間の導通を可能にするためにトランジスタをオンにする前に制御ゲートに印加しなければならない電圧の最小量は、そのフローティングゲート上の電荷レベルにより制御される。
いくつかのEEPROM及びフラッシュメモリ素子は2つの範囲の電荷を記憶するために使用されるフローティングゲートを有するため、記憶素子は2つの状態、例えば消去状態とプログラム状態の間でプログラミング/消去できる。各記憶素子が1ビットのデータを記憶できるため、このようなフラッシュメモリ素子はバイナリフラッシュメモリ素子と呼ばれることもある。
マルチ状態(マルチレベルとも呼ばれる)フラッシュメモリ素子は、複数の別個の許可/有効プログラム閾値電圧範囲を識別することによって実現される。各閾値電圧範囲は、メモリ素子内で符号化されるデータビットのセットの所定値に相当する。例えば、素子が4つの閾値電圧範囲に相当する4つの独立した電荷バンドの1つに格納できるときに、各記憶素子は2ビットのデータを記憶できる。
通常、プログラム動作中に制御ゲートに印加されるプログラム電圧VPGMは、経時的に増大する一連のパルスとして印加される。1つの考えられる手法では、パルスの大きさは、各連続パルスとともに例えば0.2から0.4V等の所定のステップサイズずつ増加される。VPGMはフラッシュメモリ素子の制御ゲートに印加できる。プログラムパルスとプログラムパルスの間の期間では、検証動作が実行される。すなわち、平行してプログラミングされている素子のグループの各素子のプログラミングレベルが、連続する2つのプログラミングパルスの間で読み出され、素子がプログラミングされる検証レベル以上であるか否かが判断される。マルチ状態フラッシュメモリ素子のアレイの場合、検証ステップが素子の各状態について実行され、素子がそのデータに関する検証レベルに到達したか否かが判断される場合もある。例えば、4つの状態でデータを記憶できるマルチ状態記憶素子は、3つの比較点について検証動作を実行する必要がある。
さらに、EEPROM又はNANDストリングのNANDフラッシュメモリ素子等のフラッシュメモリ素子をプログラミングするときには、通常、VPGMが制御ゲートに印加され、ビットラインが接地され、セル又は例えば記憶素子等のメモリ素子のチャネルからの電子をフローティングゲートの中に注入させる。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、記憶素子の閾値電圧が上昇して、記憶素子がプログラム状態にあると見なされるようになる。
記憶素子のセットは、プログラミングできるようになる前に、消去動作及びソフトプログラミング動作を含む消去シーケンスで消去される。消去動作は、プログラミングされた記憶素子のフローティングゲートから電荷を引き出す高基板電圧を印加することを含む。その後、ソフトプログラミングで、記憶素子の閾値電圧が狭められ、消去状態に相当するレベルまで引き上げられる。ただし、消去シーケンスは多大な時間を要することがある。
本発明は、消去シーケンス中のメモリ素子の性能を改善するための技法を提供することによって上記の問題及び他の問題に対処する。
一実施形態では、不揮発性記憶装置を動作させる方法は、第1の検証条件が満たされるまで1つ又は複数の消去パルスを不揮発性記憶素子のセットに印加するステップと、印加された消去パルスのカウントを判定するステップを有する。方法は、検証動作を実行せずに、1つ又は複数のソフトプログラミングパルスを、前記カウントに基づく数NSPGM−SKIPだけ不揮発性記憶素子のセットに印加するステップをさらに有する。方法は、その後、第2の検証条件が満たされるまで、不揮発性記憶素子のセットに1つ又は複数の追加のソフトプログラミングパルスを印加するステップをさらに有し、その1つ又は複数の追加のソフトプログラミングパルスの各ソフトプログラミングパルスの後に検証動作が続く。
別の実施形態では、不揮発性記憶装置を動作させる方法は、消去検証条件が満たされるまで1つ又は複数の消去パルスを不揮発性記憶素子のセットに印加するステップと、印加された消去パルスのカウントを判定するステップと、ソフトプログラミング検証条件が満たされるまで1つ又は複数のソフトプログラミングパルスを不揮発性記憶素子のセットに印加するステップを含む消去シーケンスのソフトプログラミング動作を実行するステップを含む消去シーケンスの消去動作を実行することを含む。1つまたは複数のソフトプログラミングパルスの特徴は、カウントに基づいて設定される。
別の実施形態では、不揮発性記憶装置を動作させる方法は、第1の消去動作で、第1の検証条件が満たされるまで1つ又は複数の消去パルスを不揮発性記憶素子のセットに印加するステップを含む。方法は、第1の消去動作で印加された消去パルスのカウントを判定するステップを実行し、第1の消去動作後に、検証動作を実行せずに1つ又は複数の消去パルスを数NERASE−SKIPだけ印加するステップを含む第2の消去動作を実行し(ここでは、NERASE−SKIPがカウントに基づく)、その後、1つ又は複数の追加の消去パルスを印加するステップ実行する。その1つ又は複数の追加の消去パルスの各消去パルスの後に検証動作が続く。
別の実施形態では、不揮発性記憶装置は、不揮発性記憶素子のセット、及び1つ又は複数の制御回路を含む。1つ又は複数の制御回路は、第1の検証条件が満たされるまで1つ又は複数の消去パルスを不揮発性記憶素子のセットに印加し、印加された消去パルスのカウントを判定する。1つ又は複数の制御回路は、検証動作を実行せずに、1つ又は複数のソフトプログラミングパルスをカウントに基づく数NSPGM−SKIPだけ不揮発性記憶素子のセットにさらに印加する。その後、1つ又は複数の制御回路は、第2の検証条件が満たされるまで1つ又は複数の追加のソフトプログラミングパルスを不揮発性記憶素子のセットに印加する。1つ又は複数の追加のソフトプログラミングパルスの各ソフトプログラミングパルスの後に検証動作が続く。
本明細書に提供される方法を実行するための実行可能コードを有する、対応する方法、システム及びコンピュータ又はプロセッサで読み取り可能な記憶装置も提供され得る。
NANDストリングの平面図。 図1aのNANDストリングの等価回路図。 NANDフラッシュ記憶素子のアレイのブロック図。 基板に形成されたNANDストリングの断面図。 消去状態及びより高いデータ状態の閾値電圧分布を示す図。 プログラム−消去サイクルの数の関数として不揮発性記憶素子の挙動を示す図。 消去パルスの数に対するソフトプログラミング検証スキップの関係を示す図。 消去パルスの数に基づいて設定できる異なるソフトプログラミングの特徴を示す図。 隣接する消去パルス間に奇数検証パルスと偶数検証パルスがある消去パルスのシリーズを示す図。 隣接する消去パルス間に単一の検証パルスのある消去パルスのシリーズを示す図。 繰り返し使用済みのデバイスに適切となるように、検証動作がスキップされない場合、すなわち、隣接するソフトプログラミングパルス間に奇数検証パルスと偶数検証パルスがあるソフトプログラミングパルスのシリーズを示す図。 寿命初期のデバイスに適切となるように、最初の10個のパルスの後に検証パルスが続かないソフトプログラミングパルスのシリーズを示す図。 使用期間が中程度のデバイスに適切となるように、最初の5つのパルスの後に検証パルスが続かないソフトプログラミングパルスのシリーズを示す図。 最初の5つのパルスの後に検証動作が続かず、かつ、高振幅、中振幅、又は低振幅を有するソフトプログラミングパルスのシリーズを示す図。 最初の5つのパルスの後に検証動作が続かず、かつ、考えられる3つのステップサイズを有するソフトプログラミングパルスのシーケンスを示す図。 考えられる3つのパルス幅を有するソフトプログラミングパルスのシーケンスを示す図。 消去動作で使用される消去パルスの数に基づいてソフトプログラミング動作を調整することを含む、記憶素子を消去し、プログラミングする方法を示す図。 消去動作で使用される消去パルスの数をカウントすることと、続くソフトプログラミング動作でスキップするためにソフトプログラミング検証動作の数を設定することを含む、消去動作を実行する方法を示す図。 複数の検証動作をスキップすることによってソフトプログラミング動作を実行する方法を示す図。 消去動作でスキップするために検証動作の数を決定する方法を示す図。 複数の検証動作をスキップすることを含む、消去動作を実行する方法を示す図。 最初の3つのパルスの後に検証パルスが続かない、消去パルスのシリーズを示す図。 NANDフラッシュ記憶素子のアレイのブロック図。 単一の行/列デコーダと読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図。 検出ブロックの一実施形態を示すブロック図。 全ビットラインメモリアーキテクチャ用、及び奇数−偶数メモリアーキテクチャ用のブロックにメモリアレイを編成する例を示す図。 不揮発性メモリをプログラミングするためのプロセスの一実施形態を説明するフローチャート。 検証動作が奇数ビットラインと偶数ビットラインの記憶素子に同時に実行される場合において、プログラミング中に不揮発性記憶素子の制御ゲートに印加されるパルス列の例を示す図。 検証動作が奇数ビットラインと偶数ビットラインの記憶素子に別々に実行される場合において、プログラミング中に不揮発性記憶素子の制御ゲートに印加されるパルス列の例を示す図。
本発明は、消去シーケンス中のメモリ素子の性能を改善する技法を提供する。
本発明の実施に適したメモリシステムの一例は、NANDフラッシュメモリ構造を用いる。そのNANDフラッシュメモリ構造は2つの選択ゲートの間に直列に並んでいる複数のトランジスタを含んでいる。直列のトランジスタと選択ゲートは、NANDストリングと呼ばれる。図1aは、1つのNANDストリングを示す平面図である。図1bはその等価回路である。図1a及び1bに示されるNANDストリングは、直列に接続されており、第1の選択ゲート120と第2の選択ゲート122の間に挟まれている4つのトランジスタ100、102、104、及び106を有する。選択ゲート120は、ビットライン126へのNANDストリングの接続をゲートで制御する。選択ゲート122は、ソースライン128へのNANDストリングの接続をゲートで制御する。選択ゲート120は、制御ゲート120CGに適切な電圧を印加することによって制御される。選択ゲート122は、制御ゲート122CGに適切な電圧を印加することによって制御される。トランジスタ100、102、104及び106のそれぞれは制御ゲート及びフローティングゲートを有する。トランジスタ100は、制御ゲート100CG及びフローティングゲート100FGを有する。トランジスタ102は制御ゲート102CG及びフローティングゲート102FGを有する。トランジスタ104は、制御ゲート104CG及びフローティングゲート104FGを有する。トランジスタ106は、制御ゲート106CGおよびフローティングゲート106FGを有する。制御ゲート100CGは、ワードラインWL3に接続されており(またはワードラインWL3であり)、制御ゲート102CGはワードラインWL2に接続されており、制御ゲート104CGはワードラインWL1に接続されており、制御ゲート106CGはワードラインWL0に接続されている。一実施形態では、トランジスタ100、102、104及び106は、それぞれ、メモリセルとも呼ばれる記憶素子である。他の実施形態では、記憶素子は、複数のトランジスタを有していることもある。あるいは、図1aまたは図1bに示されているのとは異なることもある。選択ゲート120は、選択ラインSGDに接続されている。選択ゲート122は、選択ラインSGSに接続されている。
図1cは、3つのNANDストリングを描く回路図である。NAND構造を使用するフラッシュメモリシステムの典型的なアーキテクチャは、いくつかのNANDストリングを含む。例えば、3つのNANDストリング、320、340及び360が、さらに多くのNANDストリングを有するメモリアレイ内に示される。各NANDストリングが、2つの選択ゲートと4つの記憶素子を有している。簡単にするために4つの記憶素子が描かれているが、最近のNANDストリングは、例えば最高32個又は64個の記憶素子を有する場合がある。
例えば、NANDストリング320は選択ゲート322と327、及び、記憶素子323〜326を有し、NANDストリング340は選択ゲート342と347、及び、記憶素子343〜346を有し、NANDストリング360は選択ゲート362と367、及び、記憶素子363〜366を有する。各NANDストリングは、その選択ゲート(例えば、選択ゲート327、347、又は367)によってソースラインに接続されている。選択ラインSGSは、ソース側選択ゲートを制御するために使用される。種々のNANDストリング320、340、及び360は、選択ゲート322、342、362等の選択トランジスタによって、それぞれのビットライン321、341、及び361に接続されている。これらの選択トランジスタは、ドレイン選択ラインSGDによって制御される。他の実施形態では、選択ラインは、必ずしもNANDストリングの間で共通である必要はない。すなわち、異なるNANDストリングには、異なる選択ラインを提供できる。ワードラインWL3は、記憶素子323、343及び、363用の制御ゲートに接続されている。ワードラインWL2は、記憶素子324、344、及び364用の制御ゲートに接続されている。ワードラインWL1は、記憶素子325、345、及び365用の制御ゲートに接続されている。ワードラインWL0は、記憶素子326、346及び366用の制御ゲートに接続されている。つまり、各ビットラインと各NANDストリングは記憶素子のアレイ又はセットの列を含む。ワードライン(WL3、WL2、WL1及びWL0)は、アレイ又はセットの行を含む。各ワードラインは、行において各記憶素子の制御ゲートを接続している。また、制御ゲートはワードライン自体によって提供されてもよい。例えば、ワードラインWL2は、記憶素子324、344、及び、364に制御ゲートを提供する。実際には、1つのワードラインに数千の記憶素子がある場合がある。
各記憶素子はデータを記憶できる。例えば、1ビットのデジタルデータを記憶するときは、記憶素子の考えられる閾値電圧(VTH)の範囲は、ローカルデータ「1」と「0」を割り当てられる2つの範囲に分割される。NANDタイプのフラッシュメモリの一例では、前記VTHは、記憶素子が消去された後に負となり、論理「1」として定義される。プログラム動作後の前記VTHは正であり、論理「0」として定義される。VTHが負であり、読み出しが試行されると、記憶素子がオンして論理「1」が記憶されていることが示される。前記VTHが正であり、読み出し動作が試行されると、記憶素子はオンにならず、論理「0」が記憶されていることが示される。また、記憶素子は、例えば複数ビットのデジタルデータ等の複数のレベルの情報も記憶できる。このケースでは、VTH値の範囲はデータレベルの数に分割される。例えば、4つのレベルの情報が記憶されている場合には、データ値「11」、「10」、「01」、及び、「00」に割り当てられる4つのVTH範囲がある。NANDタイプのメモリの一例では、消去動作後の前記VTHは負となり、「11」として定義される。正のVTH値は「10」、「01」及び「00」の状態のために使用される。記憶素子の中にプログラミングされたデータと、素子の閾値電圧範囲の間の特殊な関係は、記憶素子のために採用されるデータ符号化方式に依存する。
フラッシュ記憶素子をプログラミングするときには、プログラム電圧が記憶素子の制御ゲートに印加されるとともに、その記憶素子に接続されたビットラインが接地される。チャネルからの電子はフローティングゲートに注入される。電子がフローティングゲートに蓄積すると、フローティングゲートは負に帯電し、記憶素子のVTHが上昇する。プログラミング中の記憶素子の制御ゲートにプログラム電圧を印加するために、そのプログラム電圧は適切なワードラインに印加される。前述したように、各NANDストリング中の1つの記憶素子は同じワードラインを共用する。例えば、図1cの記憶素子324をプログラミングするときには、プログラム電圧は、記憶素子344および364の制御ゲートにも印加される。
図2は、基板上に形成されたNANDストリングの断面図を示す。図は簡略化されており、正確な縮尺ではない。NANDストリング400は、ソース側選択ゲート406、ドレイン側選択ゲート424、及び8つの記憶素子408、410、412、414、416、418、420及び422を有しており、これらは基板438に形成されている。複数のソース/ドレイン領域(例えば、ソース/ドレイン領域430)が、各記憶素子、及び、選択ゲート406、424の両側に設けられる。1つの手法では、基板438は、pウェル領域432をnウェル領域434内に含み、そしてnウェル領域434はp型基板領域436内にあるトリプルウェル技術を利用する。NANDストリング及びその不揮発性記憶素子は、少なくとも部分的にpウェル領域上に形成される。電位がVBLのビットライン426に加えて、電位がVSOURCEのソース供給ライン404が設けられている。ボディーバイアス電圧等の電圧を、端子402を介してpウェル領域432に、及び/又は端子403を介してnウェル領域434に印加することができる。
プログラム動作中に、制御ゲート電圧VPGMが選択ワードライン(この例では、記憶素子414に接続されているWL3)に印加される。さらに、記憶素子の制御ゲートがワードラインの一部として設けられてもよいことに留意されたい。例えば、WL0、WL1、WL2、WL3、WL4、WL5、WL6及びWL7は、それぞれ、記憶素子408、410、412、414、416、418、420及び422の制御ゲートを介して延設されていてもよい。1つの考えられるブースト方式では、パス電圧VPASSが、NANDストリング400に接続されている残りのワードラインに印加される。VSGSとVSGDが、それぞれ選択ゲート406と424に印加される。消去動作中に、高い正の電圧パルスが基板436に印加され、記憶素子のフローティングゲートから電荷を引き出す。
図3は、消去状態と、より高いデータ状態の閾値電圧分布を示す。x軸は閾値電圧を示し、y軸は記憶素子の数を示す。この例では、4つのデータ状態、つまり消去(E)状態442、状態A444、状態B446、及び状態C448がある。例えば8つ又は16のデータ状態等の追加のデータ状態があるメモリ素子も、より一般的になると期待される。消去シーケンスは、消去動作とソフトプログラミング動作を含む。通常は記憶素子が消去状態442を越えて過剰消去されて、分布440が消去動作後に実現される。消去動作では、消去中の記憶素子の閾値電圧が消去検証レベルVERASE−VERIFY以下に遷移するまで、1つ又は複数の消去パルスが基板に印加される。この遷移は、左向きの矢印で表されている。いったん消去動作が完了すると、ソフトプログラミング動作が実行される。ソフトプログラミング動作では、複数の正の電圧パルスがワードライン等を介して記憶素子の制御ゲートに印加され、ソフトプログラミング(SPGM)検証レベルVSPGM−VERIFYに近い、及び、それより低い分布440内の記憶素子のいくつか又は全ての閾値電圧を消去状態442まで増加させる。例えば、記憶素子の特定の部分が、VSPGM−VERIFYを超えるVTHを有するようにソフトプログラミングされ、他の記憶素子が、VSPGM−VERIFYに近いがそれを下回るVTHのまま維持されてもよい。この遷移は、右向きの矢印で表されている。VSPGM−VERIFYは、通常、VERASE−VERIFYを超えているか、それに等しい。ソフトプログラミング動作は、狭い消去状態分布442を生じさせるのに有効である。いったんソフトプログラミング動作が完了すると、それぞれ検証レベルVVERIFY−A、VVERIFY−B、及びVVERIFY−Cを使用する状態A、B及びC等のさらに高いデータ状態へのプログラミングを実行することができる。続く読み出し動作は、レベルVREAD−A、VREAD−B及びVREAD−Cを使用できる。
ERASE−VERIFYとVSPGM−VERIFYは、同じである場合も、異なる場合もあることに留意されたい。また、不揮発性記憶素子のセットは、VERASE−VERIFYの第1の検証条件が満たされるときに、少なくとも部分的に消去状態442より小さい第1の閾値電圧分布440を有し、VSPGM−VERIFYの第2の検証条件が満たされるときに、消去状態で第2のより狭い閾値電圧分布442を有する。
図4は、複数のプログラム消去サイクルの関数として、不揮発性記憶素子のセットの挙動を示す。メモリ素子が経時的にプログラミングサイクルと消去サイクルを経験するのに伴い、その性能は変化する。例えば、メモリ素子が、10,000サイクル以上に耐えると期待されることがある。通常は、消去動作を完了するために必要とされる消去パルス、つまり、ループの数は増加する(曲線452)。一方、ソフトプログラミング動作を完了するために必要とされるソフトプログラミングパルス、つまり、ループの数は減少する(曲線450)。VERASEの値(例えば、図7a及び図7bを参照)とVSPGMの値(例えば、図8aから図8fを参照)は、通常、各デバイスにとって最適である所定値として、ダイソート中に調節される。通常、VERASEは、デバイスが寿命初期であるときに記憶素子を1つの消去パルスだけで消去できるように十分に高く調節される。VSPGMは、ソフトプログラミングが、特定数のパルスを必要とするように十分に低く調節される。VERASE−VERIFY及びVSPGM−VERIFYは、通常、所定値に設定される。ソフトプログラミングは、各ソフトプログラミングパルスの後に検証動作が実行されるときに長い時間を消費する。さらに、検証動作は、奇数番号のビットラインの記憶素子と偶数番号のビットラインの記憶素子を別々にすることがあり、検証時間をさらに長くすることがある。その結果として、消去シーケンスの性能は、特に、相対的に多数のソフトプログラムパルス及び関連する検証パルスの印加を受けている低範囲及び中範囲の数のサイクルにとって最適化されない。
図5は、ソフトプログラミング検証スキップと消去パルスの数との関係を示す。x軸は、消去パルス数を示し、y軸は検証スキップ数を示す。消去シーケンスによって、及び、特にソフトプログラミング動作によって費やされる時間を短縮するために、消去動作中に使用される消去パルス数に基づいて、複数の初期の検証動作をスキップできる。消去パルス数は、メモリ素子のサイクル数のインジケータとして働く。消去パルス数は、メモリ素子の実際の現在の挙動を反映しているため、サイクル数よりもデバイスの状態のより正確なインジケータである。同じ又は類似したサイクルカウントの異なるデバイスが異なる性能を有することがあるので、消去パルス数は、サイクルカウントに基づいた期待される挙動とは相関しないことがある。ただし、サイクルカウントを使用することも可能である。
特に、曲線500は、測定された消去パルス数の関数として設定される検証スキップ数の関係を示す。階段波形510は、消去パルス数を、3つのグループG1、G2、及びG3等のように検証スキップの個別のレベルの数に変換する。一例として、G1は、たとえば10回のスキップ等の検証スキップの第1の数と関連付けられる1つの消去パルスを表し、G2は5回のスキップ等の検証スキップの第2の数と関連付けられる2つから4つの消去パルスを表し、G3はゼロ回のスキップ等の検証スキップの第3の数と関連付けられる5つ又は6つの消去パルスを表してよい。グループG1は、多数の検証スキップが適切である0〜c1サイクルの範囲を有する未使用の、又は、寿命初期のデバイスに対応する。グループG2は、中程度の数の検証スキップが適切であるc1〜c2サイクルの範囲を有する中範囲又は寿命中期のデバイスに対応する。グループG3は、ゼロ又は少数の検証スキップが適切であるc2〜c3サイクル、又は、c2サイクルを超える範囲を有する繰り返し使用後の寿命終期のデバイスに対応する。変数c1、2、及びc3は、デバイスに特定である数を表す。
検証スキップの数を消去パルスの各異なる数に関連付けることも可能である。メモリ素子は、消去パルスの数を追跡調査し、検証スキップの数を消去パルスの数と関連付けるための表又は式を維持する能力を含むように改良されてもよい。ルックアップ関数を、消去パルスの数に相当する検証スキップの数を検索するために使用できる。さらに、(a)検証スキップ数の(b)消去パルス数に対する異なる関係が、例えば、複数レベルの記憶素子を含むデバイス内の異なるワードライン、ブロック、アレイ、及び平面等のメモリ素子内の不揮発性記憶素子の異なるセットについて確立されていてもよい。これは、異なるセットが、異なる数のサイクルを経験している場合がある、及び/又は、同じ数のサイクルを経験していても異なる挙動を有することがあるので、適切である。または、共通の検証スキップと消去パルスの関係が、メモリ素子全体について確立されていてもよい。適切なデータ構造及び制御論理は、例えば、メモリチップの外部にある、又は、チップ上にあるコントローラメモリ内で実現できる。
検証スキップ数は、時間節約が最大となるように可能な限り多いほうがよいが、検証スキップが実行されているときにメモリ素子が検証レベルに到達しない程度に少ない必要がある。検証スキップの最適数は、例えば、消去パルス数を、ソフトプログラミング検証レベルを越えて記憶素子を遷移させる第1のソフトプログラミングパルスの識別と相関させ、その特定されたパルス以下のパルスのマージンを提供することによって、実験から決定できる。例えば、寿命初期のデバイスでは平均して12番目のソフトプログラミングパルスによって記憶素子がソフトプログラミング検証レベルを越えて遷移する場合には、検証スキップ数を10(12から2というマージンを差し引いた数)に設定してもよい。記憶素子をソフトプログラミング検証レベルを越えて遷移させ、検証スキップの数を所望される信頼度で設定させるソフトプログラミングパルス数の標準偏差等の統計上の測定基準を取得するために、多数のメモリ素子をテストしてもよい。この手順は、検証スキップの最適数を設定するために、異なる数の消去パルス及びサイクルについて繰り返すことができる。
図6は、消去パルスの数に基づいて設定できる異なるソフトプログラミング特徴を示す。消去パルスの数に基づく検証スキップの数を設定することに加えて、又は、代替として、消去パルス数に基づいて、ソフトプログラミング動作の1つ又は複数の特徴を設定できる。これらの特徴は、電圧VSPGM等の開始振幅、ステップサイズ、パルス期間、パルスの最大許容数、及び、最大パルス振幅を含む。開始振幅に関しては、図8dを参照のこと。ステップサイズに関しては、図8eを参照のこと。パルス期間に関しては、図8fを参照のこと。パルスの最大許容数に関して、1つの考えられる実施例では、寿命終期のデバイスはより少ないソフトプログラミングパルスでソフトプログラミングを完了できなければならないので、寿命初期のデバイスと比べて寿命終期のデバイスでは最大許容数が低くなる。最大パルス振幅に関して、1つの考えられる実施例では、寿命終期のデバイスはより低い最大振幅プログラミングパルスでソフトプログラミングを完了できなければならないので、寿命初期のデバイスと比べて寿命終期のデバイスでは最大パルス振幅が低くなる。パルス振幅は、プログラミングパルスの電気信号を表す。一般に、プログラミングでは、記憶素子の状態を変更するために、電圧又は電流等の信号が記憶素子に印加される。
図7aは、隣接する消去パルス間に奇数検証パルス及び偶数検証パルスがある、消去パルスのシリーズ700を示す。VERASE1からVERASE8は、1つの実施例において、消去動作中にメモリ素子の基板に印加される消去パルスを表す。消去パルスの振幅は、例えば、固定ステップサイズ又は変化するステップサイズに従って増加してもよいし、消去パルスが固定振幅を有していてもよい。隣接する消去パルスの間では、奇数番号及び偶数番号のビットラインの記憶素子に対する別々の消去検証パルスが記憶素子の制御ゲートに印加される。消去検証パルスはVERASE−VERIFYの振幅を有する。パルス710は、奇数番号ビットラインの記憶素子のための消去検証パルスの例であり、パルス712は、偶数番号ビットラインの記憶素子のための消去検証パルスの例である。
検証動作は、消去動作中であろうと、ソフトプログラミング動作中であろうと、又は、正規のプログラミング動作中であろうと、電圧又は電流が記憶素子に印加されるときにその記憶素子が導電性であるかどうかを判断することを含むことがある。この判定の結果に応じて、1つ又は複数の追加のパルスが印加される。例えば、消去検証パルス710が印加されると、奇数番号のビットラインの記憶素子が導電性であるかどうかに関して判定が行われる。記憶素子が導電性である場合には、それらの閾値電圧が十分低いことを意味し、消去動作が完了される。同様に、消去検証パルス712が印加されると、偶数番号のビットラインの記憶素子が導電性であるかどうかに関しての判定が行われる。消去パルスの印加とこれに関連する検証動作が、消去ループである。
図7bは、隣接する消去パルス間に単一の検証パルスがある消去パルスのシリーズ713を示す。この場合、奇数番号のビットライン及び偶数番号のビットラインの記憶素子が、全ビットライン消去検証動作で、同時に検証される。例示の消去検証パルス714が印加されると、奇数番号のビットライン及び偶数番号のビットラインの記憶素子が導電性であるかどうかが判定される。
図8aは、隣接するソフトプログラミングパルス間に奇数検証パルス及び偶数検証パルスがあるソフトプログラミングパルスのシリーズを示しており、ここでは、寿命終期のデバイスにとって適切なように、検証動作がスキップされていない。15個のソフトプログラミングパルスが、一例として使用されている。用語「ソフト」プログラミングは、データの状態を変更する「正規の」プログラミング又は「ハード」プログラミングとは対照的に、プログラミングが記憶素子のデータ状態を変更しないことを示す。VSPGM1からVSPGM15は、一つの実施例において、検証動作中に、記憶素子の制御ゲートに印加されるソフトプログラミングパルスを表す。他のケースでは、電流を印加できる。ソフトプログラミングパルスは、例えばステップサイズに従って振幅が増加することがあり、また、固定振幅を有することもある。隣接するソフトプログラミングパルスの間で、奇数番号ビットラインと偶数番号ビットラインの記憶素子のための別々の検証パルスが記憶素子に印加される。消去検証パルスは、VSPGM VERIFYという振幅を有する。パルス810は、奇数番号のビットラインの記憶素子のためのソフトプログラミング検証パルスの例であり、パルス812は、偶数番号ビットラインの記憶素子のためのソフトプログラミング検証パルスの例である。別のオプションとして、奇数番号ビットライン及び偶数番号ビットラインが同時に検証されるように、隣接するソフトプログラミングパルス間でただ1つの検証パルスを有してもよい。
図8aでは、検証スキップはない。すなわち、検証動作は、最初のソフトプログラミングパルスの後、及び、後の各ソフトプログラミングパルスの後に実行される。このシナリオは、相対的に多数のプログラム−消去サイクルを経験している寿命終期のデバイスにとって適切である。多数のサイクルを経験したメモリ素子にとって検証スキップがないことが適切であることを示す図5を参照されたい。
図8bは、寿命初期のデバイスにとって適切であるように、最初の10個のパルスの後に検証パルスが続かないソフトプログラミングパルスのシリーズを示す。ここでは10個の検証スキップが行われる。11番目のソフトプログラミングパルス(VSPGM11)及びその後の各プログラミングパルスの後には検証動作が続く。最大数の検証スキップが寿命初期のメモリ素子に適切であることを示す図5を参照されたい。多数の検証動作をスキップすると、電力消費の削減に加えて、ソフトプログラミング時間が大幅に短縮され、よりよい性能につながる。
図8cは、寿命中期のデバイスにとって適切であるように、最初の5つのパルスの後に検証パルスが続かないソフトプログラミングパルスのシリーズを示す。ここでは、最初の5つのソフトプログラミングパルスの後には検証動作は続かないため、5つの検証スキップが行われる。6番目のソフトプログラミングパルス(VSPGM6)及びその後の各プログラミングパルスの後には検証動作が続く。検証スキップの中程度の数が、中程度の数のサイクルを経験したメモリ素子にとって適切であることを示す図5を参照されたい。
図8dは、高振幅、中振幅、又は低振幅を有するソフトプログラミングパルスのシリーズ860を示しており、ここでは、最初の5つのパルスの後に検証パルスが続かない。図6に関連して言及されたように、ソフトプログラミング動作の少なくとも1つの特徴を、消去動作を完了するために必要とされる消去パルスの数に基づいて設定できる。この例では、特徴はソフトプログラミングパルスの振幅である。第1のソフトプログラミングパルスの振幅は、残りのパルスの振幅を決定するステップサイズとともに指定できる。サイクル数が増加するに従って、メモリ素子はプログラミングするのがより容易になる。したがって、寿命初期のデバイスと比較して、ソフトプログラミングを完了するために、より低い振幅パルスを使用できる。また、より低い振幅パルスを使用することによって、過剰プログラミングを回避又は削減できる。たとえば、高振幅、中振幅及び低振幅を、それぞれ寿命初期のデバイス、寿命中期のデバイス、及び、寿命終期のデバイスに使用できる。ソフトプログラムパルスの振幅を削減すると、電力消費を削減できる。また、ソフトプログラムパルス振幅を増加すると、ソフトプログラミングを高速化できる。さらに、一例として、複数の検証スキップを実施してもよい。一例として、高振幅、中振幅、及び低振幅は、それぞれ10V、7.5V、及び5Vであってよい。
図8eは、考えられる3つのステップサイズのソフトプログラミングパルスのシリーズ880を示しており、ここでは、最初の5つのパルスの後に検証パルスが続かない。△V1、△V2、及び△V3は、それぞれ第1のステップサイズ、第2のステップサイズ、及び第3のステップサイズを示す。ソフトプログラミングのための典型的なステップサイズは、消去動作の場合、約0.2V又は0.5Vである。この例では、消去パルス数に基づいて設定されるソフトプログラミングの特徴は、ソフトプログラミングパルスのステップサイズである。サイクル数が増加するのに従ってメモリ素子はプログラムされ易くなるので、ソフトプログラミングを完了するために寿命初期のデバイスよりも小さいステップサイズを使用できる。例えば、高ステップサイズ、中ステップサイズ、及び、低ステップサイズを、それぞれ、寿命初期のデバイス、寿命中期のデバイス、及び、寿命終期のデバイスに使用できる。ステップサイズを削減すると、プログラミング精度を改善し、電力消費を削減することができる。一方、ステップサイズを増加すると、ソフトプログラミングを高速化できる。さらに、検証のスキップ数も、一例として実施されている。
図8fは、考えられる3つのパルス幅のソフトプログラミングパルスのシリーズ890を示している。詳細を示すために、3つのパルスだけが示されている。時間期間t1、t2、及びt3は、それぞれ第1の、第2の、及び第3のソフトプログラミングパルス幅又は期間を示す。この例では、消去パルス数に基づいて設定されるソフトプログラミングの特徴は、ソフトプログラミングパルスの幅である。サイクル数が増加するにつれてメモリ素子はプログラムされ易くなるので、ソフトプログラミングを完了するために寿命初期のデバイスよりも小さいパルス幅を使用できる。例えば、長パルス、中パルス、及び短パルスを、それぞれ、寿命初期のデバイス、寿命中期のデバイス、及び、寿命終期のデバイスに使用できる。パルス幅を削減すると、電力消費を削減できる。一方、パルス幅を増加すると、ソフトプログラミングを高速化できる。
図9aは、消去動作で使用される消去パルスの数に基づいてソフトプログラミング動作を調整する記憶素子の消去、及び、プログラミング方法を示している。ステップ900では、消去動作を開始する。ステップ901では、消去動作で使用される消去パルスの数NERASEを特定する。これは、消去パルスのカウントに基づいた測定基準の一例である。このステップは、各消去シーケンスに対して別々に実行可能であり、又は、1つ又は複数の以前の消去シーケンスの履歴データを、例えば過去数回の消去シーケンスにおける消去パルス数の移動平均を得るため等に使用できる。ステップ901は、例えばNERASEに基づいて、複数のグループG1、G2及びG3の内の1つに、メモリ素子、または、メモリ素子の記憶素子のセットを分類するステップをオプションとして有している。例えば、図5を参照すると、少数の消去パルスが寿命初期のデバイス(グループG1)と相関し、中程度の消去パルスが寿命中期のデバイス(グループG2)と相関し、多数の消去パルスが寿命終期のデバイス(グループG3)と相関する。ステップ903では、グループに基づいて(又はNERASEに直接的に基づいて)、検証動作を実行せずに印加するソフトプログラミングパルスNSPGM−SKIPの数が設定される。ステップ904では、グループに基づいて(又はNERASEに直接的に基づいて)、ソフトプログラミングの特徴が設定される。ステップ903と904の1方又は両方が実行されてよい。ステップ900、905及び906の詳細は、図9b、図9c、及び図15に関連してそれぞれ説明される。
図9bは、消去動作で使用される消去パルスの数をカウントするステップと、後のソフトプログラミング動作でスキップするソフトプログラミング検証動作の数を設定するステップを有する消去動作を実行する方法を示す。消去動作は、ステップ910で開始する。消去パルスの数(NERASE)のカウンタは、ステップ912で1に設定される。決定ステップ916でNERASEが消去パルスの最大許容数を超えている場合には、ステップ918でフェールが宣言される。決定ステップ916でnoと判定されると、ステップ920で消去パルスが印加され、ステップ922で検証動作が実行される。1つの考えられる実施例では、消去検証動作で図3のVVERIFY−ERASEが使用されることを留意されたい。決定ステップ924では、例えば記憶素子の全て又はほぼ全てが検証レベルVERASE VERIFYに達した場合等のように検証が成功すると、ステップ926でNERASEの現在の値が記憶され、ステップ928で消去動作が終了する。決定ステップ924でyesであることは、第1の検証条件が満たされていることを意味する。決定ステップ924で、検証が成功しない場合は、ステップ914でNERASEが増分され、決定ステップ916で消去パルスの最大許容数を超えない限り、追加の消去パルスがステップ920で印加される。
図9cは、いくつかの検証動作をスキップすることによってソフトプログラミング動作を実行する方法を示す。ステップ930で開始するソフトプログラミング動作は、消去動作の完了に応じて、図9bの消去動作の直後に行うことができる。ステップ932では、NERASEに基づいてスキップするソフトプログラミングパルスの数(NSPGM−SKIP)を決定する。代わりに、このステップが消去動作と関連して実行されてもよく、この場合には、NSPGM−SKIPが、メモリに記憶され、ソフトプログラミング動作で使用するために取り出されることに留意されたい。実際には、消去動作及びその後のソフトプログラミング動作は消去シーケンスの一部として実行され、したがって、これらは共通プロセスの一部である。オプションのステップ934では、NERASEに基づいてソフトプログラミングの1つ又は複数の特徴を設定する。このステップも、代わりに、消去動作と関連して実行されてもよく、この場合には、1つ又は複数の特徴が、メモリに記憶され、ソフトプログラミング動作で使用するために取り出される。
ソフトプログラミングパルス数NSPGMのカウンタは、ステップ936で1に設定される。決定ステップ940でNSPGMがソフトプログラミングパルスの最大許容数を超える場合には、ステップ942でフェールが宣言される。決定ステップ940でnoと判定された場合には、ステップ944でソフトプログラミングパルスが印加される。決定ステップ946で、NSPGMが検証スキップ数NSPGM−SKIPを超える場合には、ステップ948で検証動作が実行される。この場合、NSPGMソフトプログラミングパルスは、以前に検証動作を実行せずに印加されている。ソフトプログラミング検証動作では、図3のVVERIFY−SPGMが使用されることに留意されたい。決定ステップ946でNSPGMが検証スキップ数NSPGM−SKIPを超えていない場合には、検証動作は実行されない。これは、プロセスがまだ検証スキップ段階にあることを意味する。検証動作を実行しないことによって、ソフトプログラミング動作をより高速に実行できる。決定ステップ946でNOと判定された場合には、ステップ938でNSPGMが増分され、決定ステップ940でソフトプログラミングパルスの最大許容数を超えない限り、ステップ944で追加のソフトプログラミングパルスが印加される。
決定ステップ950で、例えば、記憶素子の全て、又は、ほとんど全てが検証レベルVSPGM VERIFYを越えている場合等のように検証が成功すると、ソフトプログラミング動作はステップ952で終了する。その後、正規のプログラミング動作またはハードプログラミング動作で、記憶素子が、例えばA、BまたはC等のより高いデータ状態にプログラミングされる。決定ステップ950でYESであることは、第2の検証状態が満たされていることを意味する。決定ステップ950で検証が成功しないと、NSPGMはステップ938で増分され、決定ステップ940でソフトプログラミングパルスの最大許容数を超えない限り、ステップ944で追加のソフトプログラミングパルスが印加される。
図10aは、消去動作においてスキップする検証動作の数を決定する方法を示す。事前の消去動作を完了するために必要とされる消去パルスの数によって決定されるメモリ素子の検出された挙動の関数として、必要ではないときにソフトプログラミング検証動作をスキップすることによってソフトプログラミング時間を短縮できることは前述された。同様に、必要ではないときに消去検証動作を実行しないことによって消去動作時間を短縮することができる。これは、単独で、又は、デバイスの現在の挙動に基づいてソフトプログラミング時間を短縮する、及び/又は、ソフトプログラミングの特徴を調整する前述の技法とともに実行できる。例示のプロセスにおいて、ステップ1000では、複数の消去動作で使用されたパルスの数が特定される。ステップ1002では、各動作で使用された消去パルスの平均数NERASE−AVGが計算される。ステップ1004では、NERASE−SKIP=NERASE−AVG−NMARGINによって、次の消去動作で検証動作を実行せずに印加する消去パルスの数が設定される。例えば、NMARGINは、1つ又は2つのパルスである場合がある。一例として、寿命終期のデバイスでは、平均して4消去パルスが必要とされることがあり、この場合、NERASE−SKIP=4−1=3によってNMARGINは1パルスとして設定される。また、NERASE−SKIPを、以前の複数の消去動作の平均、中間、又は他の測定基準ではなく、1つ前の消去動作に基づいて設定できることにも留意されたい。
将来のデバイスは、例えば最高8個から15個の消去パルス等、多数の消去パルスを使用することが予想されるので、消去検証動作をスキップすることにより、時間を顕著に節約することができる。電力消費も削減される。
図10bは、複数の検証動作をスキップすることによって消去動作を実行する方法を示す。このプロセスは、図10aのプロセスと併せて実行され得る。消去動作は、ステップ1010で開始する。ステップ1012で、消去パルス数(NERASE)のカウンタが1に設定される。決定ステップ1016でNERASEが消去パルスの最大許容数を超える場合には、ステップ1018でフェールが宣言される。決定ステップ1016でNOと判定された場合には、ステップ1020で消去パルスが印加される。決定ステップ1022でNERASEが消去検証スキップ数NERASE−SKIPを超える場合には、ステップ1024で検証動作が実行される。この場合、以前にNERASE消去パルスは検証動作を実行せずに印加されている。消去検証動作が、図3のVVERIFY−ERASEを使用することに留意されたい。決定ステップ1022でNERASEがNERASE−SKIPを超えない場合には、検証動作は実行されない。これは、プロセスが、依然として検証スキップ段階にあることを意味する。検証動作を実行しないことによって、消去動作をより高速に実行できる。
決定ステップ1022でNOと判定された場合には、ステップ1014でNERASEが増分され、決定ステップ1016で消去パルスの最大許容数を超えない限り、ステップ1020で追加の消去パルスが印加される。決定ステップ1026で検証が成功すると、消去動作はステップ1028で終了する。決定ステップ1026で検証が成功しないと、ステップ1014でNERASEが増分され、決定ステップ1016で消去パルスの最大許容数を超えない限り、ステップ1020で追加の消去パルスが印加される。
使用される消去パルス数及びソフトプログラミング検証スキップの適切な数を決定するためだけではなく、消去動作時間を短縮するためにも図9b及び図10bのプロセスを結合できることに留意されたい。
前述された技法は、1つの考えられる実施例では、後に詳述されるように、NANDメモリ素子と関連して使用できる。
図10cは、最初の3つのパルスの後に検証パルスが続かない消去パルス1030のシリーズを示す。例えば、第1の消去検証パルス1032は、シリーズ1030の中の第4の消去パルスVERASE4の後で発生し、その後の各消去パルスの後で発生する。
図11は、図1a及び図1bに図示されるようなNAND記憶素子のアレイ1100の例を示す。各列に沿って、ビットライン1106が、NANDストリング1150のドレイン選択ゲートのドレイン端子1126に接続されている。NANDストリングの各行に沿って、ソースライン1104が、NANDストリングのソース選択ゲートの全てのソース端子1128に接続されている。
記憶素子のアレイは、記憶素子の多数のブロックに分割される。フラッシュEEPROMシステムでは一般的なように、ブロックは消去の単位である。つまり、各ブロックは、共に消去される最小数の記憶素子を有する。各ブロックは、一般に複数のページに分割される。ページは、プログラミングの最小単位である。1ページまたは複数ページのデータは、通常、記憶素子の1行に記憶される。例えば、1行は、通常、いくつかのインタリーブされたページを含む、あるいは、1行は1ページを構成してよい。ページの全ての記憶素子は、一度に読み出され、または、プログラミングされる。さらに、ページは、1つまたは複数のセクタからユーザデータを記憶できる。セクタは、ユーザデータの便利な単位としてホストによって使用される論理概念である。つまり、セクタは、通常、コントローラに限定されるオーバヘッドデータは含まない。オーバヘッドデータは、セクタのユーザデータから計算されたエラー訂正コード(ECC)を含むことができる。(後述される)コントローラの一部は、データがアレイにプログラミングされるときにECCを計算し、データがアレイから読み出されるときにそれをチェックする。また、ECC及び/又は他のオーバヘッドデータは、それらが関連するユーザデータ以外の異なるページに記憶されてもよいし、もしくは、異なるブロックに記憶されてもよい。
ユーザデータのセクタは一般に512バイトであり、磁気ディスクドライブ内のセクタのサイズに対応する。オーバヘッドデータは一般に、追加の16〜20バイトである。多数のページがブロックを構成し、それは8ページから、例えば最大32、64,128またはそれ以上のページのいずれであってもよい。いくつかの実施形態では、NANDストリングの列はブロックを含む。
一実施形態では、メモリ記憶素子は、十分な期間に亘ってp−ウェルが消去電圧(例えば14〜22V)に上昇され、ソースラインとビットラインがフローティングしている間に、選択されたブロックのワードラインを接地させることによって消去される。容量結合のために、未選択ワードライン、ビットライン、選択ライン、及び、c−ソースも消去電圧のかなりの部分まで引き上げられる。従って、強力な電界が選択された記憶素子のトンネル酸化物層に印加され、ファウラーノルドハイムトンネルメカニズムによってフローティングゲートの電子が基板側に放出されるにつれて選択された記憶素子のデータが消去される。電子がフローティングゲートからp−ウェル領域に移されるのにしたがって、選択された記憶素子の閾値電圧は引き下げられる。消去はメモリアレイ全体、別々のブロック、又は、他の記憶素子の単位で実行できる。
図12は、単一の行/列復号部及び読み出し/書き込み回路を使用する不揮発性メモリシステムのブロック図である。図は、本発明の一実施形態に従って記憶素子のページを同時に読み出し、プログラミングするための読み出し/書き込み回路を有するメモリ素子1296を示す。メモリ装置1296は、1つ以上のメモリダイ1298を有する。メモリダイ1298は、2次元のアレイの記憶素子1100、制御回路1210、及び、読み出し/書き込み回路1265を有する。いくつかの実施形態では、記憶素子のアレイは3次元であり得る。メモリアレイ1100は行復号部1230を介してワードラインによって、及び、列復号部1260を介してビットラインによってアドレスできる。読み出し/書き込み回路1265は複数の検出ブロック1200を有しており、1ページの記憶素子を並列に読み出し又はプログラムすることができる。一般に、制御部1250は、1つ以上のメモリダイ1298のように同じメモリ装置1296(例えば、取り外し可能なストレージカード)内に含まれる。コマンド及びデータは、ライン1220を介してホストと制御部1250の間、及び、ライン1218を介して制御部と1つ以上のメモリダイ1298の間で送られる。
制御回路1210は、読み出し/書き込み回路1265と協調して、メモリアレイ1100上でメモリ動作を実行する。制御回路1210は、状態マシン1212、オンチップアドレスデコーダ1214、及び電力制御モジュール1216を含む。状態マシン1212は、プリチャージを制御することを含むメモリ動作のチップレベル制御を提供する。オンチップアドレスデコーダ1214は、ホストまたはメモリコントローラによって使用されるとともに、デコーダ1230と1260によって使用されるハードウェアアドレスの間にアドレスインタフェースを提供する。電力制御モジュール1216は、メモリ動作中、ワードライン及びビットラインに供給される電力及び電圧を制御する。
いくつかの実装形態では、図12の構成要素のいくつかを結合することができる。多様な設計では、記憶素子アレイ1100以外の構成要素の1つまたは複数を(単独でまたは組み合わせて)1つの管理回路と見なすことができる。例えば、1つ以上の管理回路は、制御回路1210、状態マシン1212、復号部1214/1260、電力制御1216、検出ブロック1200、読み出し/書き込み回路1265、制御部1250等の1つ、またはそれらの組み合わせを有してよい。
言及されたように、適切なデータ構造及び制御論理は、例えばメモリチップの外部にある、又はチップ上にあるコントローラメモリで実現できる。
別の手法では、二重行/列デコーダ及び読み出し/書き込み回路が使用される。多様な周辺回路によるメモリアレイ1100へのアクセスは、アレイの対向する側で対称的に実現され、したがって、各側でのアクセスライン及び回路の密度が半減される。したがって、行デコーダは2つの行デコーダに分割され、列デコーダは2つの列デコーダに分割されている。同様に、読み出し/書き込み回路は、底部からビットラインに接続する読み出し/書き込み回路と、アレイ1100の上部からビットラインに接続する読み出し/書き込み回路に分割されている。このようにして、読み出し/書き込みモジュールの密度は、本質的に2分の1、削減される。
図13は、検出ブロックの一実施形態を示すブロック図である。個々の検出ブロック1200は、検出モジュール1280と呼ばれるコア部と共通部1290とに分割される。一実施形態では、各ビットラインの別個の検出モジュール1280と、複数の検出モジュール1280の集合の1つの共通部1290があってもよい。一例では、検出ブロックは、1つの共通部1290と8つの検出モジュール1280を有することができる。グループ内の各検出モジュールは、データバス1272を介して関連する共通部と通信できる。
検出モジュール1280は検出回路1270を有しており、検出回路1270は接続されたビットライン内の伝導電流が所定の閾値レベルより高いか低いかを判定する。検出モジュール1280はさらにビットラインラッチ1282を有しており、ビットラインラッチ1282は接続されたビットライン上の電圧条件を設定するために用いられる。例えば、ビットラインラッチ1282内にラッチされる所定の状態によって、接続されたビットラインはプログラム禁止を指定する状態(例えば、1.5〜3V)とされる。
共通部1290は、プロセッサ1292、1セットのデータラッチ1294、及び1セットのデータラッチ1294とデータバス1220の間を接続するI/Oインタフェース1296を有する。プロセッサ1292は計算を実行する。例えば、その機能の1つは、検出された記憶素子内に記憶されているデータを判定し、判定したデータを1セットのデータラッチ内に記憶することである。1セットのデータラッチ1294は、読み出し動作中に、プロセッサ1292によって判定されたデータビットを記憶するために用いられる。それは、プログラム動作中に、データバス1220から取り込まれたデータビットを記憶するためにも用いられる。取り込まれたデータビットは、メモリ内にプログラムする予定の書き込みデータを表す。I/Oインタフェース1296は、データラッチ1294とデータバス1220の間のインタフェースを提供する。
読み出し又は検出中には、システムの動作は状態マシン1212の制御下にあり、状態マシン1212はアドレスされた記憶素子への異なる制御ゲート電圧の供給を制御する。メモリによってサポートされた様々なメモリ状態に対応する様々な既定制御ゲート電圧のステップを進む際に、検出モジュール1280はこれらの電圧の1つにおいてトリップし、バス1272を介して検出モジュール1280からプロセッサ1292に出力が提供される。その時点で、プロセッサ1292は、検出モジュールのトリッピングの発生と、状態マシンから入力ライン1293を介して印加された制御ゲート電圧についての情報を考慮することによって得られたメモリ状態を決定する。それから、メモリ状態に対するバイナリ符号化を計算し、得られたデータビットをデータラッチ1294に記憶する。コア部の別の実施形態では、ビットラインラッチ1282は、検出モジュール1280の出力をラッチするラッチ、及び、上記のようなビットラインラッチの両方として、2つの役割を果たす。
当然のことながら、いくつかの実装形態では複数のプロセッサ1292を有することができる。一実施形態では、各プロセッサ1292は出力ライン(図示せず)を有し、各出力ラインは共にワイヤードOR接続される。いくつかの実施形態では、出力ラインは、ワイヤードORラインに接続する前に反転される。ワイヤードORを受け取る状態マシンはプログラムされる全てのビットがいつ所望のレベルに到達するかを決定できる。したがって、この構成はプログラミング処理がいつ完了するかについてのプログラム検証処理中の素早い決定を可能にする。例えば、各ビットがその所望のレベルに到達すると、そのビット用の論理0がワイヤードORラインに送られる(又はデータ1を反転させる)。全てのビットがデータ0を出力する(又はデータ1を反転させる)と、状態マシンはプログラミング処理を終了することを認識する。各プロセッサが8つの検出モジュールと通信するので、状態マシンはワイヤードORラインを8回読み出す必要があるか、あるいは関連するビットラインの結果を蓄積するために論理がプロセッサ1292に追加され、状態マシンがワイヤードORラインを一度だけ読み出せばいいようにする。同様に、論理レベルを正しく選ぶことにより、グローバル状態マシンは、第1のビットがいつその状態を変更し、相応してアルゴリズムを変更するのかを検出できる。
プログラム又は検証中に、プログラムされるデータはデータバス1220から1セットのデータラッチ1294内に記憶される。状態マシンの制御下のプログラム動作は、アドレスされる記憶素子の制御ゲートに印加されるプログラミング電圧パルスのシリーズを有する。各プログラミングパルスに続いてリードバック(検証)が実行され、記憶素子が所望のメモリ状態にプログラムされたかどうかを判定する。プロセッサ1292は、所望のメモリ状態に対するリードバックメモリ状態を監視する。その2つが一致する場合、プロセッサ1292はビットラインラッチ1282を設定し、プログラム禁止を指定する状態にビットラインを設定する。これにより、たとえプログラミングパルスがその制御ゲートに現れても、ビットラインに接続した記憶素子がさらにプログラムされないようにする。他の実施形態では、プロセッサが最初にビットラインラッチ1282をロードし、検出回路が検証処理中に禁止値にそれを設定する。
データラッチスタック1294は、検出モジュールに対応するデータラッチのスタックを有する。一実施形態では、検出モジュール1280毎に3つのデータラッチが存在する。いくつかの実装形態では、(必須ではないが)データラッチはシフトレジスタとして実装され、内部に記憶されたパラレルデータをデータバス1220のシリアルデータに変換したり、その逆を行ったりする。好適実施形態では、m個の記憶素子の読み出し/書き込みブロックに対応する全てのデータラッチを共にリンクさせてブロックシフトレジスタを形成し、シリアル転送によってデータのブロックを入力または出力できるようにする。特に、r個の読み出し/書き込みモジュールのバンクを調整し、そのセットのデータラッチが読み出し/書き込みブロックの全体のシフトレジスタの一部であっても、そのセットのデータラッチのそれぞれが順にデータバスの内外にデータをシフトできるようにする。
図14は、全ビットラインメモリアーキテクチャのために、および、奇数−偶数メモリアーキテクチャのために、メモリアレイをブロックに編成する例を示す。メモリアレイ1100の例示的な構造が説明される。一例として、1,024個のブロックに分割されるNANDフラッシュEEPROMが説明されている。各ブロックに記憶されるデータは同時に消去できる。一実施形態では、ブロックは、同時に消去される記憶素子の最小単位である。この例では、各ブロックに、ビットラインBL0、BL1、...BL8511に対応する8,512の列が存在する。全ビットライン(ABL)アーキテクチャ(アーキテクチャ1410)と呼ばれる一実施形態では、ブロックの全ビットラインは、読み出し動作及びプログラム動作中に同時に選択される。共通のワードラインに沿っており、任意のビットラインに接続される記憶素子は、同時にプログラミングされる。
示される例では、4個の記憶素子が直列に接続されていることによってNANDストリングが形成されている。4個の記憶素子は各NANDストリングに含まれると示されているが、4個より多い、又は、4個未満を使用することもできる(例えば、16、32,64、又は別の数)。NANDストリングの1つの端子は、(選択ゲートドレインラインSGDに接続される)ドレイン選択ゲートを介して対応するビットラインに接続され、別の端子が(ゲートソースラインSGSを選択するために接続される)ソース選択ゲートを介してc−ソースに接続される。
奇数−偶数アーキテクチャ(アーキテクチャ1400)と呼ばれる別の実施形態では、ビットラインは偶数ビットライン(BLe)と奇数ビットライン(BLo)に分割される。奇数/偶数ビットラインアーキテクチャでは、共通ワードラインに沿っており、奇数ビットラインに接続されている記憶素子はあるタイミングでプログラミングされ、共通ワードラインに沿っており、偶数ビットラインに接続されている記憶素子は別のタイミングでプログラミングされる。この例では、各ブロックに、偶数列と奇数列に分割される8,512の列がある。この例では、4個の記憶素子が直列で接続されていることによって、NANDストリングが形成されている。
読み出し動作及びプログラミング動作の1つの構成の間に、4,256個の記憶素子が同時に選択される。選択された記憶素子は、同じワードラインと同じ種類のビットライン(例えば、偶数又は奇数)を有する。従って、1論理ページを形成する532バイトのデータを同時に読み出し、あるいは、プログラミングすることが可能であり、1ブロックのメモリが少なくとも8論理ページ(それぞれ奇数ページと偶数ページがある4ワードライン)を記憶できる。4個のマルチ状態記憶素子の場合、各記憶素子が2ビットのデータを記憶し、これらの2ビットのそれぞれが別のページに記憶されると、1ブロックは16の論理ページを記憶する。他のサイズのブロック及びページも使用できる。
ABLアーキテクチャ又は奇数−偶数アーキテクチャの何れかの場合は、p−ウェルを消去電圧(例えば20V)に上昇させ、選択されたブロックのワードラインを接地することによって、記憶素子を消去できる。ソースライン及びビットラインはフローティングされる。消去は、メモリアレイ全体、別々のブロック、又はメモリ素子の一部である記憶素子の別の単位で実行できる。電子は、記憶素子のフローティングゲートからp−ウェル領域に移され、記憶素子のVTHが負となる。
読み出し動作及び検証動作では、選択ゲート(SGDとSGS)が2.5〜4.5Vの範囲の電圧に接続され、未選択ワードライン(例えば、WL2が選択されたワードラインであるときにWL0、WL1、及び、WL3)は読み出しパス電圧VREAD(通常、4.5〜6Vの範囲の電圧)に上昇され、トランジスタを通過ゲートとして動作させる。選択されたワードラインWL2はある電圧に接続され、電圧のレベルは、関係する記憶素子のVTHがこのようなレベルを超えているのか、あるいは、下回っているのかを決定するために、読み出し動作及び検証動作ごとに指定される。例えば、2レベルの記憶素子のための読み出し動作では、選択されたワードラインWL2が接地されて、VTHが0Vより高いか否かが検出される。2レベル記憶素子の検証動作では、選択されたワードラインWL2が例えば0.8Vに接続されて、VTHが少なくとも0.8Vに到達したか否かが検証される。ソース及びp−ウェルは0Vにある。偶数ビットライン(BLe)であると仮定される選択されたビットラインは、例えば0.7Vのレベルに事前に充電される。VTHがワードライン上の読み出しレベル又は検証レベルより高い場合は、対象の記憶素子と関連するビットライン(BLe)の電位レベルは、非導電性記憶素子のために高いレベルに維持される。他方、VTHが読み出しレベル又は検証レベルより低い場合は、導電性記憶素子がビットラインを放電するために、対象のビットライン(BLe)の電位レベルは、例えば0.5V未満等の低いレベルに減少する。これによって、記憶素子の状態が、ビットラインに接続される電圧コンパレータセンス増幅器によって検出される。
図15は、不揮発性メモリをプログラミングする方法の一実施形態を説明するフローチャートである。上述したように、消去シーケンスが完了した後に、消去状態より高いデータ状態へのプログラミングが行われる。一実施例では、記憶素子が、プログラミング前に(ブロック単位又は他の単位で)消去される。ステップ1500で、コントローラによって「データロード」コマンドが発行され、制御回路1210(図12を参照)によって入力が受け取られる。ステップ1505で、ページアドレスを指定するアドレスデータが、コントローラ又はホストからデコーダ1214に入力される。ステップ1510では、アドレス指定されたページのプログラムデータのページが、プログラミングのためにデータバッファに入力される。そのデータは、ラッチの適切なセットでラッチされる。ステップ1515で、コントローラによって状態マシン1212に対し「プログラム」コマンドが発行される。
「プログラム」コマンドによってトリガされることによって、ステップ1510でラッチされたデータは、適切な選択ワードラインに印加されたステップされるプログラムパルスを使用して、状態マシン1212によって制御される選択された記憶素子にプログラミングされる。ステップ1520で、プログラム電圧VPGMが開始パルス(例えば、12V又は他の値)に初期化され、状態マシン1212によって維持されたプログラムカウンタ(PC)がゼロに初期化される。ステップ1530で、第1のVPGMパルスが選択ワードラインに印加され、選択ワードラインに接続された記憶素子へのプログラミングが開始する。対応する記憶素子がプログラミングされなければならないことを示す論理「0」が特定のデータラッチに記憶されている場合には、対応するビットラインが接地される。他方、対応する記憶素子が現在のデータ状態のままと維持されなければならないことを示す論理「1」が特定のラッチに記憶されている場合には、対応するビットラインが1.5〜3Vに接続され、プログラミングが抑制される。
ステップ1535で、選択された記憶素子の状態が検証される。選択された記憶素子のターゲット閾値電圧が適切なレベルに達したと検出されると、対応するデータラッチに記憶されているデータは、論理「1」に変更される。閾値電圧が適切なレベルに到達していないことが検出されると、対応するデータラッチに記憶されているデータは変更されない。このように、対応するデータラッチに記憶された論理「1」を有するビットラインは、プログラミングされる必要はない。データラッチの全てが論理「1」を記憶しているときは、状態マシンは(上述されたワイヤードORタイプの機構を介して)全ての選択された記憶素子がプログラミングされたことを知る。ステップ1540で、データラッチの全てが論理「1」を記憶するかどうかに関してチェックが行われる。データラッチの全てが論理「1」を記憶している場合、全ての選択された記憶素子がプログラミングされ、検証されたため、プログラミングプロセスは完了であり、成功である。「合格(PASS)」のステータスが、ステップ1545で報告される。いくつかの実施形態では、全ての選択された記憶素子がプログラミングされていると検証されていなくても、プログラミングプロセスが完了し、成功したと見なされる。このような場合、十分にプログラミングされなかった記憶素子のために、後の読み取り動作の間にエラーが発生することがある。ただし、これらのエラーはECCによって補正できる。
ステップ1540で、データラッチの全てが論理「1」を記憶しているわけではないと判断されると、プログラミングプロセスが続行する。いくつかの実施形態では、データラッチのすべてが論理「1」を記憶していなくても、プログラムプロセスは停止する。ステップ1550では、プログラムカウンタPCが、プログラム限界値PCmaxに照らしてチェックされる。プログラム限界値の一例は、20である。ただし、他の数も使用できる。プログラムカウンタPCがPCmax未満ではない場合には、プログラムプロセスは失敗し、ステップ1555で「フェール(FAIL)」のステータスが報告される。プログラムカウンタPCがPCmax未満である場合には、VPGMがステップサイズ分だけ増分され、ステップ1560でプログラムカウンタPCが増分される。次に、プロセスはステップ1530にループバックし、次のVPGMパルスが印加される。
図16aは、プログラミング中に不揮発性記憶素子の制御ゲートに印加されるパルス列の一例を示しており、ここでは、検証動作が奇数ビットラインと偶数ビットラインに対して同時に実行される。パルス列1600は、プログラミングのために選択されたワードラインに印加されるプログラムパルス1602、1604、1606、1608、1610、...のシリーズを含んでいる。一実施形態では、プログラミングパルスは、12Vで開始し、例えば20〜25Vの最大値に達するまで、連続するプログラミングパルスごとに、例えば0.5Vずつ増加する電圧VPGM1を有する。プログラムパルス間には、例えば3つの検証パルス等の検証パルスがある。いくつかの実施形態では、データが状態A、B及びCにプログラミングされている状態ごとに検証パルスがある。他の実施形態では、より多くの、又はより少ない検証パルスがある。各セットの検証パルスは、例えば、VVERIFY−A、VERIFY−B及びVVERIFY−C(図3)の振幅を有する。例示の検証パルス1603のセットは、奇数番号ビットラインと偶数番号ビットラインの両方の記憶素子に印加される。
図16bは、プログラミング中の不揮発性揮発素子の制御ゲートに印加されるパルス列の例を示しており、ここでは、奇数ビットラインと偶数ビットラインに別々に検証動作が実行される。パルス列1640は、プログラミングのために選択されたワードラインに印加されるプログラムパルス1642、1644、1646、1648、1650...のシリーズを含む。例示の検証パルス1643のセットは、奇数番号ビットラインの記憶素子に印加され、例示の検証パルス1645のセットは偶数番号ビットラインの記憶素子に印加される。
前記発明を実施するための形態は、図解及び説明のために提示された。それは、網羅的であること、または開示されている正確な形式に本発明を制限することを意図していない。上記の教示を鑑みて、多くの修正及び変形が考えられる。説明された実施形態は、本発明及びその実践的な用途の原則を最もよく説明し、それによって当業者が多様な実施例において、及び意図された特定の使用に適するような多様な修正をもって本発明を最もよく活用できるようにするために選ばれた。本発明の範囲は、本明細書に添付される特許請求項の範囲により定められることが意図される。

Claims (15)

  1. 不揮発性記憶素子を動作させる方法であって、
    第1の検証条件(Verase verify)が満たされるまで、1つ又は複数の消去パルス(Verase1−Verase8)を、不揮発性記憶素子(1100)のセットに印加するステップと、
    印加された前記消去パルスのカウント(Nerase)を判定するステップと、
    検証動作を実行せずに、1つ又は複数のソフトプログラミングパルス(Vspgm1−Vspgm5)を、前記カウントに基づく数Nspgm−skipだけ不揮発性記憶素子の前記セットに印加し、その後、第2の検証条件(Vspgm verify)が満たされるまで、1つ又は複数の追加のソフトプログラミングパルス(Vspgm6−Vspgm15)を不揮発性記憶素子の前記セットに印加するステップ、
    を有しており、
    前記1つ又は複数の追加のソフトプログラミングパルスの各ソフトプログラミングパルスの後に検証動作(710、712、714、810、812)が続くこと、
    を特徴とする方法。
  2. 不揮発性揮発素子の前記セットを、前記カウントに基づいて複数の使用可能なグループ(G1、G2、G3)の内の1つのグループに分類するステップをさらに有し、
    Nspgm−skipが、不揮発性記憶素子の前記セットが分類される前記グループに基づいている、
    ことを特徴とする請求項1に記載の方法。
  3. 前記第2の検証条件が満たされるのに応じて、前記セットの中の不揮発性記憶素子の少なくとも1つを、より高いデータ状態(A、B、C)にプログラミングするステップをさらに有することを特徴とする請求項1又は2に記載の方法。
  4. Nspgm−skipが、複数の消去動作(1002)で印加される消去パルスのカウントに基づくことを特徴とする請求項1から3のいずれか1つに記載の方法。
  5. 不揮発性揮発素子の前記セットが、前記第1の検証条件が満たされるときに、少なくとも部分的に、消去状態(442)に満たない第1の閾値電圧分布(440)を有し、前記第2の検証条件が満たされるときに、前記消去状態において第2のより狭い閾値電圧分布(442)を有することを特徴とする請求項1から4のいずれか1つに記載の方法。
  6. 前記1つ又は複数のソフトプログラミングパルスの第1のソフトプログラミングパルス(Vspgm1)のレベル(高、中、低)が、前記カウントに基づいて設定されることを特徴とする請求項1から5のいずれか1つに記載の方法。
  7. 前記1つ又は複数のソフトプログラミングパルスのステップサイズ(△V1、△V2、△V3)が、前記カウントに基づいて設定されることを特徴とする請求項1から6のいずれか1つに記載の方法。
  8. 前記1つ又は複数のソフトプログラミングパルスのパルス幅(t1、t2、t3)が、前記カウントに基づいて設定されることを特徴とする請求項1から7のいずれか1つに記載の方法。
  9. ソフトプログラミングパルスの数の最大限度(許容最大値)が、前記カウントに基づいて設定されることを特徴とする請求項1から8のいずれか1つに記載の方法。
  10. 1つ又は複数の消去パルスを印加する前記ステップが、第1の消去シーケンスの消去動作(700、713)の一部であり、
    1つ又は複数のソフトプログラミングパルスを前記数Nspgm−skipだけ印加する前記ステップが、前記第1の消去シーケンスのソフトプログラミング動作(800、820、840、860、880)の一部である、
    ことを特徴とする請求項1から9のいずれか1つに記載の方法。
  11. 複数の消去検証パルスが前記カウントに基づいてスキップされる第2の消去シーケンスの追加消去動作を実行するステップをさらに有することを特徴とする請求項10に記載の方法。
  12. 不揮発性記憶素子(1100)のセットと、
    第1の検証条件(Verase verify)が満たされるまで、不揮発性記憶素子の前記セットに1つ又は複数の消去パルス(Verase1−Verase8)を印加する手段(1210、1250)と、
    印加された前記消去パルスのカウント(Nerase)を判定する手段(1210、1250)と、
    検証動作を実行せずに、1つ又は複数のソフトプログラミングパルス(Vspgm1−Vspgm5)を、前記カウントに基づく数Nspgm−skipだけ不揮発性記憶素子の前記セットに印加し、その後、第2の検証条件(Vspgm verify)が満たされるまで、不揮発性記憶素子の前記セットに1つ又は複数の追加のソフトプログラミングパルス(Vspgm6−Vspgm15)を印加する手段(1210、1250)、
    を有しており、
    前記1つ又は複数の追加ソフトプログラミングパルスの各ソフトプログラミングパルスの後に検証動作(710、712、714、810、812)が続くこと、
    を特徴とする不揮発性記憶装置。
  13. 不揮発性記憶素子の前記セットを、前記カウントに基づいて複数の使用可能なグループの内の1つのグループ(G1、G2、G3)に分類する手段をさらに有し、
    Nspgm−skipが、不揮発性記憶素子の前記セットが分類される前記グループに基づいている、
    ことを特徴とする請求項12に記載の不揮発性記憶装置。
  14. 1つ又は複数の消去パルスの前記印加が、第1の消去シーケンスの消去動作(700、713)の一部であり、
    1つ又は複数のソフトプログラミングパルスの前記数Nspgm−skipだけの前記印加が、前記第1の消去シーケンスのソフトプログラミング動作(800、820、840、860、880)の一部である、
    ことを特徴とする請求項12又は13に記載の不揮発性記憶装置。
  15. 前記1つ又は複数のソフトプログラミングパルスの少なくとも1つのレベル(高、中、低)、ステップサイズ(△V1、△V2、△V3)、及び、パルス幅(t1、t2、t3)の少なくとも1つが、前記カウントに基づいて設定されることを特徴とする請求項12から14のいずれか1つに記載の不揮発性記憶装置。
JP2011540722A 2008-12-11 2009-09-23 メモリのための適応消去及びソフトプログラミング Active JP5250117B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/332,646 US7839690B2 (en) 2008-12-11 2008-12-11 Adaptive erase and soft programming for memory
US12/332,646 2008-12-11
PCT/US2009/058002 WO2010068323A1 (en) 2008-12-11 2009-09-23 Adaptive erase and soft programming for memory

Publications (2)

Publication Number Publication Date
JP2012511790A JP2012511790A (ja) 2012-05-24
JP5250117B2 true JP5250117B2 (ja) 2013-07-31

Family

ID=41347840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011540722A Active JP5250117B2 (ja) 2008-12-11 2009-09-23 メモリのための適応消去及びソフトプログラミング

Country Status (7)

Country Link
US (2) US7839690B2 (ja)
EP (1) EP2368248B1 (ja)
JP (1) JP5250117B2 (ja)
KR (1) KR101565563B1 (ja)
CN (1) CN102292775B (ja)
TW (1) TWI494931B (ja)
WO (1) WO2010068323A1 (ja)

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8189396B2 (en) 2006-12-14 2012-05-29 Mosaid Technologies Incorporated Word line driver in a hierarchical NOR flash memory
KR101348173B1 (ko) * 2007-05-25 2014-01-08 삼성전자주식회사 플래시 메모리 장치, 그것의 소거 및 프로그램 방법들,그리고 그것을 포함한 메모리 시스템
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
WO2009037697A2 (en) 2007-09-20 2009-03-26 Densbits Technologies Ltd. Improved systems and methods for determining logical values of coupled flash memory cells
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072105A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US7839690B2 (en) * 2008-12-11 2010-11-23 Sandisk Corporation Adaptive erase and soft programming for memory
US8250417B2 (en) * 2009-01-14 2012-08-21 Micron Technology, Inc. Method for detecting flash program failures
KR101005145B1 (ko) * 2009-03-06 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
JP5316299B2 (ja) * 2009-08-07 2013-10-16 富士通セミコンダクター株式会社 半導体メモリ、システムおよび半導体メモリの動作方法
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) * 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
JP2011258260A (ja) * 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
JP5566797B2 (ja) * 2010-07-02 2014-08-06 株式会社東芝 不揮発性半導体記憶装置
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8351276B2 (en) * 2010-07-13 2013-01-08 Freescale Semiconductor, Inc. Soft program of a non-volatile memory block
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
JP2012069186A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8391068B2 (en) * 2010-12-20 2013-03-05 Texas Instruments Incorporated Adaptive programming for flash memories
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
JP4902002B1 (ja) 2011-04-20 2012-03-21 株式会社東芝 不揮発性半導体記憶装置
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) * 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8488382B1 (en) * 2011-12-21 2013-07-16 Sandisk Technologies Inc. Erase inhibit for 3D non-volatile memory
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US8971125B2 (en) 2012-07-02 2015-03-03 Micron Technology, Inc. Erase operations with erase-verify voltages based on where in the erase operations an erase cycle occurs
KR102009435B1 (ko) * 2012-08-24 2019-08-12 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US9070474B2 (en) 2013-02-14 2015-06-30 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US9240224B2 (en) 2013-04-30 2016-01-19 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with variable verify operations
US8879330B1 (en) * 2013-04-30 2014-11-04 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with variable verify operations
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
WO2014210424A2 (en) 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9343172B2 (en) 2013-08-13 2016-05-17 Freescale Semiconductor, Inc. Extended protection for embedded erase of non-volatile memory cells
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
WO2015100434A2 (en) 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
KR102116674B1 (ko) * 2014-03-21 2020-06-08 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치 및 그것의 동작 방법
CN105006252A (zh) * 2014-04-17 2015-10-28 晶豪科技股份有限公司 抹除非易失性存储器的方法
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US9257191B1 (en) 2014-08-29 2016-02-09 Sandisk Technologies Inc. Charge redistribution during erase in charge trapping memory
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9552885B2 (en) 2014-12-10 2017-01-24 Sandisk Technologies Llc Partial block erase for open block reading in non-volatile memory
US9543023B2 (en) 2015-01-23 2017-01-10 Sandisk Technologies Llc Partial block erase for block programming in non-volatile memory
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
CN105989895B (zh) * 2015-02-03 2019-03-15 华邦电子股份有限公司 快闪存储器晶圆测试方法以及机台
US9343160B1 (en) 2015-02-11 2016-05-17 Sandisk Technologies Inc. Erase verify in non-volatile memory
US9236139B1 (en) 2015-02-11 2016-01-12 Sandisk Technologies Inc. Reduced current program verify in non-volatile memory
KR20160108770A (ko) 2015-03-06 2016-09-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
CN106328212B (zh) * 2015-07-01 2019-09-24 华邦电子股份有限公司 快闪存储器晶片测试方法以及中测台
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
FR3039921B1 (fr) * 2015-08-06 2018-02-16 Stmicroelectronics (Rousset) Sas Procede et systeme de controle d'une operation d'ecriture d'une donnee dans une cellule-memoire du type eeprom
JP6088602B2 (ja) * 2015-08-12 2017-03-01 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体記憶装置
KR102347182B1 (ko) * 2015-09-04 2022-01-04 삼성전자주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
JP6144741B2 (ja) * 2015-09-28 2017-06-07 ウィンボンド エレクトロニクス コーポレーション 不揮発性半導体メモリ
TWI596477B (zh) 2015-12-18 2017-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9852800B2 (en) * 2016-03-07 2017-12-26 Sandisk Technologies Llc Adaptive determination of program parameter using program of erase rate
US10074440B2 (en) 2016-10-28 2018-09-11 Sandisk Technologies Llc Erase for partially programmed blocks in non-volatile memory
US10379769B2 (en) * 2016-12-30 2019-08-13 Western Digital Technologies, Inc. Continuous adaptive calibration for flash memory devices
US10522229B2 (en) * 2017-08-30 2019-12-31 Micron Technology, Inc. Secure erase for data corruption
KR102524916B1 (ko) * 2018-03-13 2023-04-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102513498B1 (ko) * 2018-04-06 2023-03-24 에스케이하이닉스 주식회사 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템
US10747909B2 (en) * 2018-09-25 2020-08-18 Northrop Grumman Systems Corporation System architecture to mitigate memory imprinting
KR20210111584A (ko) * 2020-03-03 2021-09-13 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US11342029B2 (en) 2020-09-28 2022-05-24 Sandisk Technologies Llc Non-volatile memory with switchable erase methods
KR20220076974A (ko) * 2020-12-01 2022-06-08 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
US11475957B2 (en) * 2021-01-14 2022-10-18 Sandisk Technologies Llc Optimized programming with a single bit per memory cell and multiple bits per memory cell
US12057172B2 (en) * 2022-01-12 2024-08-06 Sandisk Technologies Llc Hybrid multi-block erase technique to improve erase speed in a memory device
US11972805B2 (en) 2022-08-05 2024-04-30 Sandisk Technologies Llc Non-volatile memory with narrow and shallow erase

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
JP3088247B2 (ja) * 1994-09-12 2000-09-18 日本電気株式会社 不揮発性半導体記憶装置及びその消去方法
KR100323554B1 (ko) 1997-05-14 2002-03-08 니시무로 타이죠 불휘발성반도체메모리장치
US6452836B1 (en) 2001-03-09 2002-09-17 Micron Technology, Inc. Non-volatile memory device with erase cycle register
US6614695B2 (en) * 2001-08-24 2003-09-02 Micron Technology, Inc. Non-volatile memory with block erase
JP2003242787A (ja) * 2002-02-14 2003-08-29 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6639844B1 (en) * 2002-03-13 2003-10-28 Advanced Micro Devices, Inc. Overerase correction method
US6901010B1 (en) * 2002-04-08 2005-05-31 Advanced Micro Devices, Inc. Erase method for a dual bit memory cell
JP4170682B2 (ja) 2002-06-18 2008-10-22 株式会社東芝 不揮発性半導体メモリ装置
JP2004334994A (ja) * 2003-05-09 2004-11-25 Renesas Technology Corp 半導体集積回路装置
US7200708B1 (en) 2003-12-31 2007-04-03 Intel Corporation Apparatus and methods for storing data which self-compensate for erase performance degradation
US6888758B1 (en) * 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
JP4668199B2 (ja) * 2004-08-30 2011-04-13 スパンション エルエルシー 不揮発性記憶装置の消去方法、および不揮発性記憶装置
ITMI20041904A1 (it) * 2004-10-07 2005-01-07 Atmel Corp "metodo e sistema per un approccio di programmazione per un dispositivo elettronico non volatile"
US7408804B2 (en) 2005-03-31 2008-08-05 Sandisk Corporation Systems for soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells
KR100921014B1 (ko) * 2005-03-31 2009-10-09 샌디스크 코포레이션 메모리 셀들의 서브세트들에 대한 개별 검증 및 추가소거를 이용한 비휘발성 메모리의 소거
ITMI20050798A1 (it) * 2005-05-03 2006-11-04 Atmel Corp Metodo e sistema per la generazi0ne di impulsi di programmazione durante la programmazione di dispositivi elettronici non volatili
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
TWI286318B (en) * 2005-10-04 2007-09-01 Elite Semiconductor Esmt An erase method to reduce erase time and to prevent over-erase
JP2008084471A (ja) 2006-09-28 2008-04-10 Toshiba Corp 半導体記憶装置
JP2008135100A (ja) 2006-11-28 2008-06-12 Toshiba Corp 半導体記憶装置及びそのデータ消去方法
US7385851B1 (en) * 2006-12-22 2008-06-10 Spansion Llc Repetitive erase verify technique for flash memory devices
US7414891B2 (en) 2007-01-04 2008-08-19 Atmel Corporation Erase verify method for NAND-type flash memories
EP2458592B1 (en) * 2007-02-20 2014-03-26 SanDisk Technologies, Inc. Multiple pass write sequence for non-volatile storage
US7564711B2 (en) 2007-02-20 2009-07-21 Sandisk Corporation Multiple pass write sequence for non-volatile storage
US7679961B2 (en) 2007-04-25 2010-03-16 Micron Technology, Inc. Programming and/or erasing a memory device in response to its program and/or erase history
KR100953045B1 (ko) * 2008-05-23 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US7978527B2 (en) * 2008-06-03 2011-07-12 Sandisk Technologies Inc. Verification process for non-volatile storage
US7839690B2 (en) 2008-12-11 2010-11-23 Sandisk Corporation Adaptive erase and soft programming for memory
US8036044B2 (en) * 2009-07-16 2011-10-11 Sandisk Technologies Inc. Dynamically adjustable erase and program levels for non-volatile memory

Also Published As

Publication number Publication date
US20110019483A1 (en) 2011-01-27
US20100149881A1 (en) 2010-06-17
JP2012511790A (ja) 2012-05-24
KR20110106874A (ko) 2011-09-29
CN102292775B (zh) 2014-05-21
EP2368248A1 (en) 2011-09-28
US7839690B2 (en) 2010-11-23
US8081519B2 (en) 2011-12-20
EP2368248B1 (en) 2012-10-24
WO2010068323A1 (en) 2010-06-17
TW201027543A (en) 2010-07-16
CN102292775A (zh) 2011-12-21
KR101565563B1 (ko) 2015-11-03
TWI494931B (zh) 2015-08-01

Similar Documents

Publication Publication Date Title
JP5250117B2 (ja) メモリのための適応消去及びソフトプログラミング
TWI467585B (zh) 以高解析度可變初始程式化脈衝程式化非揮發性記憶體
JP5426666B2 (ja) 不揮発性記憶装置のチャネルブーストを増加させるためのビットラインプレチャージを強化する方式
TWI424436B (zh) 於非揮發性儲存器中在讀取操作時耦合的補償
JP4954223B2 (ja) フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作
JP5439488B2 (ja) 不揮発性メモリアレイの最終ワードラインのデータ保持力改善
TWI416527B (zh) 用於運作非揮發性儲存器之方法及非揮發性儲存裝置
JP5613663B2 (ja) 不揮発性記憶装置の消去確認処理
TWI480878B (zh) 使用字元線耦合之記憶體之多次程式化
JP5367697B2 (ja) 不揮発性記憶装置における読み出し動作中の消費電力の低減
TWI389124B (zh) 於非揮發性記憶體中使用不同參考位準以改良感測之粗略/精細程式化確認方法及系統
JP4855474B2 (ja) スマート検証を利用してマルチステート不揮発性メモリをプログラミングする方法
JP2007533055A (ja) 非揮発性メモリの可変プログラミング
WO2008083131A2 (en) Method for programming with initial programming voltage based on trial
WO2009146235A1 (en) Compensating non-volatile storage using different pass voltages during program- verify and read
JP5174829B2 (ja) 隣接メモリセルの記憶状態を考慮した不揮発性メモリセルの読み出し
JP2010530596A (ja) 書き込みパルス持続時間のインテリジェント制御
JP5134007B2 (ja) 早期ソース側ブーストを用いた不揮発性記憶装置におけるプログラム妨害の低減
JP4950299B2 (ja) 複数のブーストモードを使用した不揮発性メモリ内のプログラム妨害の低減

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120405

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: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5250117

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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