JP2024019722A - メモリ及びメモリをプログラムする方法 - Google Patents
メモリ及びメモリをプログラムする方法 Download PDFInfo
- Publication number
- JP2024019722A JP2024019722A JP2023222797A JP2023222797A JP2024019722A JP 2024019722 A JP2024019722 A JP 2024019722A JP 2023222797 A JP2023222797 A JP 2023222797A JP 2023222797 A JP2023222797 A JP 2023222797A JP 2024019722 A JP2024019722 A JP 2024019722A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- program
- programming
- memory cell
- threshold voltage
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012360 testing method Methods 0.000 claims abstract description 39
- 238000012795 verification Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims 10
- 230000014759 maintenance of location Effects 0.000 abstract description 8
- 230000002401 inhibitory effect Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
- G11C16/3486—Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5622—Concurrent multilevel programming of more than one cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5624—Concurrent multilevel programming and programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】リテンションエラーを低減するようにメモリシステムをプログラムする方法等を提供する。
【解決手段】メモリシステムは複数のメモリセルを含み、メモリセルはマルチレベルセルである。メモリシステムは、メモリセルをプログラムするためプログラム動作を実行する。各プログラム動作の後、メモリセルの閾値電圧が検証電圧よりも大きいかどうかを判定するために、少なくとも1つの閾値電圧試験が実行される。第1のメモリセルの閾値電圧が第1の検証電圧よりも大きいと判定された場合、第1のメモリセルは、次のプログラム動作中にプログラムされることが抑制される。第2のメモリセルの閾値電圧が第2の検証電圧よりも新たに大きくなると判定されたときに、第2の検証電圧が第1の検証電圧よりも大きい場合、第2のメモリセルは、次のプログラム動作中に再びプログラムされる。
【選択図】図2
【解決手段】メモリシステムは複数のメモリセルを含み、メモリセルはマルチレベルセルである。メモリシステムは、メモリセルをプログラムするためプログラム動作を実行する。各プログラム動作の後、メモリセルの閾値電圧が検証電圧よりも大きいかどうかを判定するために、少なくとも1つの閾値電圧試験が実行される。第1のメモリセルの閾値電圧が第1の検証電圧よりも大きいと判定された場合、第1のメモリセルは、次のプログラム動作中にプログラムされることが抑制される。第2のメモリセルの閾値電圧が第2の検証電圧よりも新たに大きくなると判定されたときに、第2の検証電圧が第1の検証電圧よりも大きい場合、第2のメモリセルは、次のプログラム動作中に再びプログラムされる。
【選択図】図2
Description
本発明は、メモリをプログラムする方法に関し、より詳細には、リテンションエラーを低減するようにメモリをプログラムする方法に関する。
NAND型フラッシュメモリは、ノートブック、携帯電話、およびハードドライブを含む多くの分野で広く使用されている不揮発性記憶媒体の一種である。しかしながら、NAND型フラッシュメモリに格納されたデータは、常に安定して固定されているとは限らない。例えば、フラッシュメモリセルが時間とともに電荷を失うと、フラッシュメモリセルに格納されたデータが変化して無効になる可能性がある。リテンションエラーは、フラッシュメモリセルがマルチレベルセル(MLC)である場合、さらに有害になる。
リテンションエラーを引き起こす原因の1つは瞬時(または初期)閾値電圧(Vt)シフト(IVS)と呼ばれ、それは、プログラム動作によって上昇した閾値電圧がプログラム動作後の短期間内に低下する可能性があることを意味する。場合によっては、IVSは200mV~300mVもの大きさの場合がある。この場合、読み出しマージンが減少し、一部のフラッシュメモリセルに格納されたデータが無効になる可能性がある。
本発明の一実施形態は、メモリをプログラムする方法を開示する。メモリは、複数のメモリセルを含み、複数のメモリセルはマルチレベルセル(MLC)である。
方法は、複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、第1のメモリセルの閾値電圧が所定のプログラミング状態よりも低いプログラミング状態に対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制することと、第2のメモリセルの閾値電圧が所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合、次のプログラム動作中に第2のメモリセルをプログラムし続けることとを含む。
本発明の別の実施形態は、メモリをプログラムする方法を開示する。メモリは、複数のメモリセルを含み、複数のメモリセルはマルチレベルセル(MLC)である。
本方法は、複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、第1のメモリセルの閾値電圧が第1の検証電圧よりも大きいと判定された場合に、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制することと、所定回数のプログラム動作が実行された後に、後続の閾値電圧試験において試験されるべき検証電圧を増加させることと、を含む。
本発明の別の実施形態は、メモリをプログラムする方法を開示する。メモリは、複数のメモリセルを含み、複数のメモリセルはマルチレベルセル(MLC)である。
本方法は、複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、第1のメモリセルの閾値電圧が第1の検証電圧よりも大きいと判定された場合に、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制することと、複数のメモリセルの目標プログラミング状態に対応する閾値電圧試験が実行された後に、複数のメモリセルのすべてのプログラミング状態に対応する後続の閾値電圧試験において試験されるべき検証電圧を増加させることと、を含む。
本発明の別の実施形態は、メモリを開示する。メモリは、少なくとも1つのワード線に結合された複数のメモリセルと、少なくとも1つのワード線に結合された制御回路とを含む。複数のメモリセルは、マルチレベルセル(MLC)である。
制御回路は、少なくとも1つのワード線を介してプログラム電圧を提供することによって複数のメモリセルをプログラムするために複数のプログラム動作を実行し、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行する。制御回路は、第1のメモリセルの閾値電圧が、所定のプログラミング状態よりも低いプログラミング状態に対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制する。制御回路は、第2のメモリセルの閾値電圧が、所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合、次回のプログラム動作中、第2のメモリセルのプログラミングを継続する。
本発明のこれらおよび他の目的は、様々な図および図面に示されている好ましい実施形態の以下の詳細な説明を読んだ後で、当業者には疑いなく明らかになるであろう。
図1は、本発明の一実施形態によるメモリシステム100(メモリ)を示す。メモリシステム100は、複数のメモリセルMCA(1、1)~MCA(M、N)と、制御回路110とを備え、M、Nは正の整数である。本発明のいくつかの実施形態では、メモリシステム100は、NAND型フラッシュメモリなどのフラッシュメモリとすることができる。
図1では、N個のメモリセルを同じ対応するワード線に結合することができる。例えば、メモリセルMCA(1、1)~MCA(1、N)はワード線WL1に結合され、メモリセルMCA(M、1)~MCA(M、N)はワード線WLMに結合され得る。また、制御回路110は、動作をプログラミングするためメモリセルMCA(M、1)~MCA(M、N)を制御するためワード線WL1~WLMに結合される。
いくつかの実施形態では、同じワード線に結合されたメモリセルは、ワード線を介してプログラム電圧を印加することによって同時にプログラムすることができる。
いくつかの実施形態では、メモリセルMCA(1、1)~MCA(M、N)は、クアッドレベルセル(QLC)およびトリプルレベルセル(TLC)を含むマルチレベルセル(MLC)とすることができる。すなわち、メモリセルMCA(1、1)~MCA(M、N)のそれぞれは、複数のビット状態のデータを格納することができる。
例えば、メモリセルMCA(1、1)~MCA(M、N)のそれぞれは、フローティングゲートトランジスタFTを含むことができる。メモリセルMCA(1、1)~MCA(M、N)のプログラム動作中には、メモリセルMCA(1、1)~MCA(M、N)のフローティングゲートトランジスタFTのゲート端子は、ワード線WL1~WLMからプログラム電圧を受けることができ、メモリセルMCA(1、1)~MCA(M、N)のフローティングゲートトランジスタFTの第1の端子は、基準電圧を受けることができる。いくつかの実施形態では、プログラム電圧は基準電圧よりも大きくすることができ、したがって、フローティングゲートトランジスタFTのゲート端子と第1の端子との間の高い交差電圧は、フローティングゲートトランジスタFTのゲート構造に電子を注入し、フローティングゲートトランジスタFTの閾値電圧を増加させる。
フローティングゲートトランジスタFTのゲート構造に十分な電子を注入することにより、フローティングゲートトランジスタFTの閾値電圧が所望のレベルまで上昇する。これにより、メモリセルMCA(1、1)~MCA(M、N)のフローティングゲートトランジスタFTの閾値電圧のレベルに応じて、メモリセルMCA(1、1)~MCA(M、N)に格納されたデータの状態を識別することができる。
例えば、メモリセルMCA(1、1)~MCA(M、N)は、8つの異なるデータの状態を格納可能であってもよい。この場合、メモリセルMCA(1、1)の閾値電圧が第1の検証電圧よりも小さければ、メモリセルMCA(1、1)はプログラムされていないとみなされてよく、メモリセルMCA(1、1)は第1のプログラミング状態を有しているとみなされてもよい。しかしながら、メモリセルMCA(1、1)の閾値電圧が第1の検証電圧よりも大きい場合には、メモリセルMCA(1、1)は第2のプログラミング状態を有するようにプログラムされているとみなされてもよい。また、メモリセルMCA(1、1)が、その閾値電圧が第1の検証電圧よりも大きい第2の検証電圧よりも大きくなるようにプログラムされ続けている場合、メモリセルMCA(1、1)は、第3のプログラミング状態を有するようにプログラムされているとみなされ、以下同様である。いくつかの他の実施形態では、メモリセルMCA(1、1)~MCA(M、N)は、より多いまたはより少ないデータの状態を格納することができ、データの状態は、用途の必要に応じて異なる順序で閾値電圧によって表すことができる。
しかしながら、メモリセルMCA(1、1)~MCA(M、N)が所望のレベルの閾値電圧にプログラムされた後、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧が、いわゆる瞬時閾値電圧シフト(または初期閾値電圧シフト)である短時間のうちに降下する場合がある。瞬時閾値電圧シフトは、メモリセルMCA(1、1)~MCA(M、N)のうちのいくつかの閾値電圧を検証電圧未満に低下させ、それによって、メモリセルMCA(1、1)~MCA(M、N)のうちのいくつかに格納されたデータを誤らせる可能性がある。
瞬時閾値電圧シフトによって引き起こされる問題に対処するために、マルチプログラミングが効果的であることが証明されている。すなわち、メモリセルがその閾値電圧が対応する検証電圧よりも大きくなるようにプログラムされた後、メモリセルの瞬時閾値電圧シフトを低減するためにメモリセルに対して追加のプログラム動作を実行することができる。
図2は、本発明の一実施形態によるメモリシステム100を動作させる方法200を示す。いくつかの実施形態では、方法200は、図2に示すようにステップS210~S280を含むことができるが、図2に示す順序に限定されない。
S210では、プログラム動作を実行して、メモリセルMCA(1、1)~MCA(M、N)をプログラムする。
S220では、プログラム動作の後に、少なくとも1つの閾値電圧試験を実行して、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定する。
S230では、所定回数のプログラム動作が実行された場合、ステップS240に進み、そうでない場合、ステップS250に進む。
S240では、メモリセルの閾値電圧が、所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合、ステップS242に進み、そうでない場合、ステップS250に進む。
S242では、次のプログラム動作中にメモリセルのプログラミングを継続する。
S250では、メモリセルが対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中にメモリセルがプログラムされることを抑制する。
S260では、対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、ステップS270に進み、そうでない場合、ステップS280に進む。
S270では、最大回数のプログラム動作が実行された場合、ステップS272に進み、そうでない場合、ステップS210に進む。
S272では、プログラム処理が失敗したと判定する。
S280では、プログラム処理が成功したと判定する。
いくつかの実施形態では、ステップS210~S280は、制御回路110によって実行することができる。すなわち、制御回路110は、プログラミングの進行に応じて所望のプログラム電圧を提供することができる。
ステップS210では、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧を上昇させるプログラム動作が実行されてもよく、プログラム動作が行われるたびに、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定する少なくとも1つの閾値電圧試験が実行されてもよい。例えば、第2のプログラミング状態を有するようにメモリセルMCA(1、1)をプログラムするプログラム動作が実行されてもよい。この場合、ステップS220において、第2のプログラミング状態に対応する閾値電圧テストが実行される。また、同じプログラム動作が、第3のプログラミング状態を有するようにメモリセルMCA(1、2)をプログラムしてもよい。この場合、ステップS220では、第3のプログラミング状態に対応する閾値電圧テストも実行される。
一般に、メモリセルMCA(1、1)が第2のプログラミング状態を有するようにプログラムされるように意図されており、メモリセルMCA(1、1)が第2のプログラミング状態に対応する閾値電圧試験に合格している場合、メモリセルMCA(1、1)は、ステップS250に示されるように、次のプログラム動作中に抑制される。しかしながら、メモリセルMCA(1、1)が第2のプログラミング状態に対応する閾値電圧試験に合格していない場合、すなわち、メモリセルMCA(1、1)の閾値電圧が依然として対応する検証電圧よりも小さい場合、メモリセルMCA(1、1)は、その閾値電圧を上昇させ続けるように次のプログラム動作中にプログラムされる。
図2では、瞬時閾値電圧シフトを低減するために、所定回数のプログラム動作が実行され、メモリセルの閾値電圧が所定の検証電圧以上の検証電圧よりも新たに大きくなると判定された場合にリプログラミング方式を適用することができる。すなわち、より高いプログラミング状態にプログラムされるメモリセルについて、閾値電圧をさらに確保するために追加のプログラム動作を適用することができる。
例えば、いくつかの実施形態では、所定の検証電圧は、第6のプログラミング状態に対応することができる。この場合、メモリセルMCA(1、2)が第6のプログラミング状態にプログラムされることが意図されており、ステップS220において第6のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合には、抑制されるのではなく、次のプログラム動作中にメモリセルMCA(1、2)が再びプログラムされる。したがって、瞬時閾値電圧シフトがメモリセルMCA(1、2)に与える影響を低減することができる。
メモリセルの閾値電圧が高くなると瞬時閾値電圧シフトの問題がより大きくなる可能性があるため、より高いプログラミング状態にプログラムされるように意図されたメモリセルに対して追加のプログラム動作が実行される。また、メモリセルがより低いプログラミング状態を有するときに追加のプログラム動作が追加される場合で、メモリセルがより高いプログラミング状態を有するようにプログラムされているとき、メモリセルはオーバープログラミングされる可能性があり、これにより、メモリセルを劣化させ、不安定性を引き起こす可能性がある。
したがって、ステップ230において、オーバープログラミングを防止するため追加のプログラム動作を適用する前に、実行されたプログラム動作の数がチェックされる。例えば、いくつかの実施形態では、第18のプログラム動作の前に、閾値電圧試験に合格したメモリセルは、ステップS250に示すように次のプログラム動作中に常に抑制される。しかしながら、第17のプログラム動作の後、ステップS240およびS242に示すように、より高いプログラミング状態に対応する検証電圧よりも新たに大きくなると判定されたメモリセルに対して追加のプログラム動作が実行される。
この場合、メモリセルMCA(1、1)の閾値電圧が第1のプログラミング状態に対応する検証電圧よりも大きいと判定される場合、ステップS250に示されるように、次のプログラム動作中にメモリセルMCA(1、1)が抑制される。プログラム動作が所定の回数、例えば17回であるが、これに限定されない回数よりも多く実行された後、メモリセルMCA(1、2)の閾値電圧が第6のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定される場合、次のプログラム動作中、メモリセルMCA(1、2)は再びプログラムされる。しかしながら、17回を超えてプログラム動作が実行されていない前に、メモリセルMCA(1、3)の閾値電圧が第6のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定されても、次のプログラム動作中、メモリセルMCA(1、3)は依然として抑制される。
さらに、いくつかの実施形態では、高いプログラミング状態を有するメモリセルを再プログラミングすることによって、オーバープログラミングを防止するのに十分であり得る。この場合、ステップS230は省略されてもよく、追加のプログラム動作は、実行されたプログラム動作の回数を考慮せずに、より高いプログラミング状態に対応する検証電圧よりも新たに大きくなると判定されたすべてのメモリセルに対して実行される。
さらに、プログラム動作の効率を改善するために、増分ステップパルスプログラミング(ISPP)を方法200に適用することができる。例えば、方法200では、第1のプログラム動作中、メモリセルMCA(1、1)~MCA(M、N)をプログラムするために第1のプログラムパルスが生成され、一方で、第1のプログラム動作後の第2のプログラム動作中、メモリセルMCA(1、1)~MCA(M、N)をプログラムするために第2のプログラムパルスが生成されてもよい。この場合、第2のプログラム動作においてメモリセルMCA(1、1)~MCA(M、N)の閾値電圧を上昇させるのに役立つように、第2のプログラムパルスは第1のプログラムパルスよりも電圧が大きくてもよい。
ステップS240、S242、およびS250の後、ステップS260を実行して、対応する閾値電圧試験に合格していないメモリセルが目標数より多いかどうかを判定することができる。対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、それは、メモリシステム100が正常にプログラムされておらず、より多くの回数のプログラム動作を必要とし得ることを意味し得る。しかしながら、対応する閾値電圧試験に合格していないメモリセルが目標数よりも少ない場合、それは、ステップS280で完結したようにメモリシステム100が正常にプログラムされたことを意味し得る。
さらに、いくつかの実施形態では、プログラム動作の総数は、オーバープログラミングおよびエンドレス動作を防止するため最大数未満に制限することができる。したがって、ステップS270において、最大回数を超えてプログラム動作が実行された場合、ステップS272においてプログラム処理が失敗したと判定される。そうでない場合、次のプログラム動作がステップS210において実行される。
方法200では、メモリセルの閾値電圧を確実に確保することができ、瞬時閾値電圧シフトによって引き起こされるリテンションエラーを低減することができる。
図3は、本発明の別の実施形態によるメモリシステム100を動作させる方法300を示す。いくつかの実施形態では、方法300は、図3に示すようにステップS310~S380を含むことができるが、図3に示す順序に限定されない。
S310では、プログラム動作を実行して、メモリセルMCA(1、1)~MCA(M、N)をプログラムする。
S320では、プログラム動作の後に、少なくとも1つの閾値電圧試験を実行して、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定する。
S330では、所定回数のプログラム動作が実行された場合、ステップS340に進み、そうでない場合、ステップS332に進む。
S332では、目標プログラミング状態に対応する閾値電圧試験が実行された場合、ステップS340に進み、そうでない場合、ステップS350に進む。
S340では、後続の閾値電圧試験で試験される検証電圧を増加させる。
S350では、メモリセルが対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中にメモリセルがプログラムされるのを抑制する。
S360では、対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、ステップS370に進み、そうでない場合、ステップS380に進む。
S370では、最大回数のプログラム動作が実行された場合、ステップS372に進み、そうでない場合、ステップS310に進む。
S372では、プログラム処理が失敗したと判定する。
S380では、プログラム処理が成功したと判定する。
いくつかの実施形態では、ステップS310~S380は、制御回路110によって実行することができる。すなわち、制御回路110は、プログラミングの進行に応じて所望のプログラム電圧を提供することができる。
方法300では、追加のプログラム動作を実行する代わりに、瞬時閾値電圧シフトによって引き起こされるリテンションエラーを低減するために検証電圧を増加させることができる。
例えば、ステップS310のプログラム動作およびステップS320の閾値電圧試験が実行された後、ステップS330では、所定回数のプログラム動作が実行されたかどうかを判定する。プログラム動作が所定の回数、例えば17回であるが、これに限定されない回数よりも多く実行された場合、ステップS340において、後続の閾値電圧試験で試験される検証電圧が増加される。すなわち、特定のプログラミング状態に対応する閾値電圧に合格するためには、メモリセルの閾値電圧が以前の標準レベルよりも高くなければならない。その結果、瞬時閾値電圧シフトが発生したとしても、メモリセルの閾値電圧は依然として、読み出し動作中に所望のプログラミング状態を取得するのに十分な高さである。
また、ステップS332において、閾値電圧試験のプログラミング状態を確認する。この場合、例えば第6のプログラミング状態であるが、これに限定されない目標プログラミング状態に対応する閾値電圧試験が実行された場合、ステップS340において、後続の閾値電圧試験で試験される検証電圧が増加される。したがって、より高いプログラミング状態にプログラムされるように意図されており、プログラムされることがより困難であるメモリセルは、瞬時閾値電圧シフトがリテンションエラーを引き起こすことを防止するために、プログラム処理中により厳密に試験される。
プログラム処理のまさに最初に検証電圧を増加させない理由の1つは、メモリセルMCA(1、1)~MCA(M、N)がオーバープログラミングムされるのを防ぐためである。しかしながら、いくつかの実施形態では、メモリシステム100の状態が許せば、ステップS330およびS332の一方は省略されてもよい。
要約すると、本発明の実施形態によって提供されるメモリシステムおよびメモリシステムをプログラムする方法は、新たに閾値電圧試験に合格したメモリセルに対して追加のプログラム動作を実行することができ、またはより高いプログラミング状態に対応する閾値電圧試験における検証電圧を増加させることができる。したがって、メモリセルは、十分なヘッドルームを有する読み出し動作で使用される検証電圧よりも大きい閾値電圧を有するようにプログラムすることができ、瞬時閾値電圧シフトによって引き起こされるリテンションエラーを防止し、読み出し電圧マージンを確保する。
当業者は、本発明の教示を保持しながら、装置および方法の多数の修正および変更を行うことができることを容易に理解するであろう。したがって、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。
Claims (16)
- メモリをプログラムする方法であって、
前記メモリは複数のメモリセルを備え、
前記方法は、
前記複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、
前記複数のプログラム動作の各々の後に、前記複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、を含み、
前記少なくとも1つの閾値電圧試験を実行することは、
第1のメモリセルにおいて、所定のプログラミング状態よりも低いプログラミング状態に対応する第1の検証電圧を用いた第1の検証電圧試験を実行することと、
第2のメモリセルにおいて、所定のプログラミング状態以上のプログラミング状態に対応する第2の検証電圧を用いた第2の検証電圧試験を実行することと、
前記第1のメモリセルの閾値電圧が前記第1の検証電圧よりも大きいと判定されたことに応じて、次のプログラム動作の間、前記第1のメモリセルがプログラムされることを抑制することと、
所定回数のプログラム動作が実行され、前記第2のメモリセルの閾値電圧が前記第2の検証電圧よりも大きいと判定されたことに応じて、前記第2のメモリセルに対する追加のプログラム動作の間、前記第2のメモリセルのプログラミングを継続することと、を含む、
方法。 - 前記メモリは、3DNANDメモリを含む、
請求項1に記載の方法。 - 前記複数のメモリセルは、クアッドレベルセル(QLC)又はトリプルレベルセル(TLC)を含む、
請求項1に記載の方法。 - 前記複数のメモリセルをプログラムするための前記複数のプログラム動作は、前記第1のメモリセル及び前記第2のメモリセルの両方に結合された1つのワード線を介して、プログラム電圧を供給することによって実行される
請求項1に記載の方法。 - 前記所定回数のプログラム動作が実行される前に、前記第2のメモリセルの前記閾値電圧が前記第2の検証電圧よりも大きいと判定されたことに応じて、前記第2のメモリセルに対する追加のプログラム動作中に前記第2のメモリセルがプログラムされることを抑制することをさらに含む、
請求項1に記載の方法。 - 対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、次のプログラム動作を実行することをさらに含む、
請求項1に記載の方法。 - 前記複数のプログラム動作のうちの第1のプログラム動作中に、前記複数のメモリセルをプログラムするための第1のプログラムパルスを生成することと、
前記複数のプログラム動作のうちの、前記第1のプログラム動作の後の第2のプログラム動作中に、前記複数のメモリセルをプログラムするための第2のプログラムパルスを生成することと、をさらに含み、
前記第2のプログラムパルスは、前記第1のプログラムパルスよりも電圧が大きい、
請求項1に記載の方法。 - 最大数のプログラム動作が実行されたことに応じて、プログラムが失敗したと判定し、
最大数のプログラム動作が実行されていないことに応じて、次のプログラム動作の実行を継続すること、をさらに含む、
請求項1に記載の方法。 - 少なくとも1つのワード線に結合された複数のメモリセルと、
前記少なくとも1つのワード線に結合された制御回路であって、
前記少なくとも1つのワード線を介してプログラム電圧を提供することによって前記複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、
前記複数のプログラム動作の各々の後に前記複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、を行うように構成された制御回路と、を備え、
前記制御回路は、
第1のメモリセルにおいて、所定のプログラミング状態よりも低いプログラミング状態に対応する第1の検証電圧を用いた第1の検証電圧試験を実行することと、
第2のメモリセルにおいて、所定のプログラミング状態以上のプログラミング状態に対応する第2の検証電圧を用いた第2の検証電圧試験を実行することと、
前記第1のメモリセルの閾値電圧が前記第1の検証電圧よりも大きいと判定されたことに応じて、次のプログラム動作の間、前記第1のメモリセルがプログラムされることを抑制し、
所定回数のプログラム動作が実行され、前記第2のメモリセルの閾値電圧が前記第2の検証電圧よりも大きい判定されたことに応じて、前記第2のメモリセルに対する追加のプログラム動作中に前記第2のメモリセルのプログラミングを継続するようにさらに構成されている、
メモリ。 - 前記メモリは、3DNANDメモリを含む、
請求項9に記載のメモリ。 - 前記複数のメモリセルは、クアッドレベルセル(QLC)又はトリプルレベルセル(TLC)を含む、
請求項9に記載のメモリ。 - 前記複数のメモリセルをプログラムするための前記複数のプログラム動作は、前記第1のメモリセル及び前記第2のメモリセルの両方に結合された1つのワード線を介して、プログラム電圧を供給することによって実行される
請求項9に記載のメモリ。 - 前記制御回路は、前記第2のメモリセルの前記閾値電圧が前記第2の検証電圧よりも大きいと判定され、かつ、前記所定回数のプログラム動作が実行される前であることに応じて、前記第2のメモリセルに対する追加のプログラム動作中に前記第2のメモリセルがプログラムされることを抑制するようにさらに構成されている、
請求項9に記載のメモリ。 - 前記制御回路は、対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合に、次のプログラム動作を実行するようにさらに構成されている、
請求項9に記載のメモリ。 - 前記制御回路は、
前記複数のプログラム動作のうちの第1のプログラム動作中に前記複数のメモリセルをプログラムするための第1のプログラムパルスを生成することと、
前記複数のプログラム動作のうちの前記第1のプログラム動作の後の第2のプログラム動作中に前記複数のメモリセルをプログラムするための第2のプログラムパルスを生成することと、を行うようにさらに構成され、
前記第2のプログラムパルスは、前記第1のプログラムパルスよりも電圧が大きい、
請求項9に記載のメモリ。 - 前記制御回路は、
最大数のプログラム動作が実行されたことに応じて、プログラムが失敗したと判定し、
最大数のプログラム動作が実行されていないことに応じて、次のプログラム動作の実行を継続するようにさらに構成されている
請求項9に記載のメモリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023222797A JP2024019722A (ja) | 2019-02-20 | 2023-12-28 | メモリ及びメモリをプログラムする方法 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021530282A JP7148727B2 (ja) | 2019-02-20 | 2019-02-20 | メモリシステムをプログラムする方法 |
PCT/CN2019/075549 WO2020168478A1 (en) | 2019-02-20 | 2019-02-20 | Method for programming memory system |
JP2022151045A JP7414921B2 (ja) | 2019-02-20 | 2022-09-22 | メモリシステムをプログラムする方法 |
JP2023222797A JP2024019722A (ja) | 2019-02-20 | 2023-12-28 | メモリ及びメモリをプログラムする方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022151045A Division JP7414921B2 (ja) | 2019-02-20 | 2022-09-22 | メモリシステムをプログラムする方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024019722A true JP2024019722A (ja) | 2024-02-09 |
Family
ID=67243936
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021530282A Active JP7148727B2 (ja) | 2019-02-20 | 2019-02-20 | メモリシステムをプログラムする方法 |
JP2022151045A Active JP7414921B2 (ja) | 2019-02-20 | 2022-09-22 | メモリシステムをプログラムする方法 |
JP2023222797A Pending JP2024019722A (ja) | 2019-02-20 | 2023-12-28 | メモリ及びメモリをプログラムする方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021530282A Active JP7148727B2 (ja) | 2019-02-20 | 2019-02-20 | メモリシステムをプログラムする方法 |
JP2022151045A Active JP7414921B2 (ja) | 2019-02-20 | 2022-09-22 | メモリシステムをプログラムする方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11037642B2 (ja) |
EP (1) | EP3853855B1 (ja) |
JP (3) | JP7148727B2 (ja) |
KR (1) | KR20210066899A (ja) |
CN (1) | CN110036446A (ja) |
TW (1) | TWI702608B (ja) |
WO (1) | WO2020168478A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7148727B2 (ja) | 2019-02-20 | 2022-10-05 | 長江存儲科技有限責任公司 | メモリシステムをプログラムする方法 |
CN110970082B (zh) * | 2019-11-29 | 2022-03-15 | 深圳大普微电子科技有限公司 | 降低闪存滞留错误的方法、装置及固态硬盘 |
CN113228186B (zh) * | 2021-03-29 | 2023-09-29 | 长江存储科技有限责任公司 | 多遍编程中的负栅极应力操作机器存储器件 |
CN113284541B (zh) * | 2021-06-17 | 2022-05-20 | 长江存储科技有限责任公司 | 存储器系统及其编程方法 |
US11790994B2 (en) * | 2021-09-22 | 2023-10-17 | Western Digital Technologies, Inc. | Non-volatile memory with reverse state program |
CN114400035A (zh) * | 2021-12-02 | 2022-04-26 | 长江存储科技有限责任公司 | 存储器的编程方法、存储器及存储系统 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990066130A (ko) * | 1998-01-21 | 1999-08-16 | 윤종용 | 불 휘발성 메모리 장치 및 그것의 프로그램 방법 |
DE102005009700B4 (de) | 2004-02-26 | 2009-02-05 | Samsung Electronics Co., Ltd., Suwon | Programmierverfahren und nichtflüchtiger Speicher |
KR100721012B1 (ko) * | 2005-07-12 | 2007-05-22 | 삼성전자주식회사 | 낸드 플래시 메모리 장치 및 그것의 프로그램 방법 |
KR100851853B1 (ko) * | 2006-11-22 | 2008-08-13 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법 |
US7548462B2 (en) | 2007-06-29 | 2009-06-16 | Macronix International Co., Ltd. | Double programming methods of a multi-level-cell nonvolatile memory |
ITRM20080114A1 (it) | 2008-02-29 | 2009-09-01 | Micron Technology Inc | Compensazione della perdita di carica durante la programmazione di un dispositivo di memoria. |
KR101506655B1 (ko) * | 2008-05-15 | 2015-03-30 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 오류 관리 방법 |
US8248850B2 (en) | 2010-01-28 | 2012-08-21 | Sandisk Technologies Inc. | Data recovery for non-volatile memory based on count of data state-specific fails |
KR101676816B1 (ko) * | 2010-02-11 | 2016-11-18 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
US20150348633A1 (en) * | 2010-02-11 | 2015-12-03 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices and methods of programming nonvolatile memory devices |
US8208310B2 (en) | 2010-05-04 | 2012-06-26 | Sandisk Technologies Inc. | Mitigating channel coupling effects during sensing of non-volatile storage elements |
US8493792B2 (en) * | 2010-12-02 | 2013-07-23 | Hynix Semiconductor Inc. | Programming method of non-volatile memory device |
KR101211840B1 (ko) * | 2010-12-30 | 2012-12-12 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 프로그램 방법 |
KR101855169B1 (ko) * | 2011-10-13 | 2018-05-09 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치의 프로그램 방법, 불휘발성 메모리 장치를 포함하는 메모리 시스템 |
KR101942863B1 (ko) * | 2012-06-19 | 2019-01-28 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR102083450B1 (ko) * | 2012-12-05 | 2020-03-02 | 삼성전자주식회사 | 페이지 버퍼를 포함하는 불휘발성 메모리 장치 및 그것의 동작 방법 |
KR20140088386A (ko) * | 2013-01-02 | 2014-07-10 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
US8929142B2 (en) | 2013-02-05 | 2015-01-06 | Sandisk Technologies Inc. | Programming select gate transistors and memory cells using dynamic verify level |
KR102112596B1 (ko) * | 2013-03-15 | 2020-05-19 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이의 프로그래밍 방법 |
KR102175039B1 (ko) * | 2013-06-25 | 2020-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 기입 방법 |
KR102118979B1 (ko) * | 2013-09-13 | 2020-06-05 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR102285994B1 (ko) | 2014-05-13 | 2021-08-06 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
KR102290448B1 (ko) * | 2014-09-04 | 2021-08-19 | 삼성전자주식회사 | 불휘발성 메모리 및 불휘발성 메모리의 동작 방법 |
KR20160047667A (ko) | 2014-10-22 | 2016-05-03 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR102396053B1 (ko) * | 2015-04-20 | 2022-05-10 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 동작 방법 |
KR102470606B1 (ko) * | 2015-11-26 | 2022-11-28 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치 |
KR102432483B1 (ko) * | 2015-12-31 | 2022-08-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 이의 구동 방법 |
CN107633865B (zh) * | 2016-07-19 | 2024-02-20 | 兆易创新科技集团股份有限公司 | 一种非易失性存储器的数据读取装置及方法 |
JP6652470B2 (ja) * | 2016-09-07 | 2020-02-26 | キオクシア株式会社 | 半導体記憶装置 |
KR102565888B1 (ko) * | 2016-09-12 | 2023-08-11 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
CN107689245B (zh) * | 2017-08-31 | 2019-02-22 | 长江存储科技有限责任公司 | 一种nand闪存装置的编程方法 |
TWI635499B (zh) * | 2017-09-11 | 2018-09-11 | 旺宏電子股份有限公司 | 編程非揮發性記憶體的方法及記憶體系統 |
JP2020038738A (ja) * | 2018-09-03 | 2020-03-12 | キオクシア株式会社 | 不揮発性メモリ及びメモリシステム |
JP7148727B2 (ja) | 2019-02-20 | 2022-10-05 | 長江存儲科技有限責任公司 | メモリシステムをプログラムする方法 |
-
2019
- 2019-02-20 JP JP2021530282A patent/JP7148727B2/ja active Active
- 2019-02-20 KR KR1020217013305A patent/KR20210066899A/ko not_active Application Discontinuation
- 2019-02-20 EP EP19915722.3A patent/EP3853855B1/en active Active
- 2019-02-20 CN CN201980000346.2A patent/CN110036446A/zh active Pending
- 2019-02-20 WO PCT/CN2019/075549 patent/WO2020168478A1/en unknown
- 2019-04-01 US US16/371,130 patent/US11037642B2/en active Active
- 2019-04-02 TW TW108111593A patent/TWI702608B/zh active
-
2020
- 2020-07-08 US US16/924,133 patent/US11386970B2/en active Active
-
2021
- 2021-05-12 US US17/318,992 patent/US20210264995A1/en active Pending
-
2022
- 2022-09-22 JP JP2022151045A patent/JP7414921B2/ja active Active
-
2023
- 2023-12-28 JP JP2023222797A patent/JP2024019722A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022171971A (ja) | 2022-11-11 |
JP7414921B2 (ja) | 2024-01-16 |
KR20210066899A (ko) | 2021-06-07 |
CN110036446A (zh) | 2019-07-19 |
EP3853855B1 (en) | 2023-07-12 |
TWI702608B (zh) | 2020-08-21 |
TW202032572A (zh) | 2020-09-01 |
US20210264995A1 (en) | 2021-08-26 |
EP3853855A1 (en) | 2021-07-28 |
US11386970B2 (en) | 2022-07-12 |
JP2022511447A (ja) | 2022-01-31 |
US11037642B2 (en) | 2021-06-15 |
EP3853855A4 (en) | 2022-04-27 |
US20200342947A1 (en) | 2020-10-29 |
US20200265904A1 (en) | 2020-08-20 |
JP7148727B2 (ja) | 2022-10-05 |
WO2020168478A1 (en) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7414921B2 (ja) | メモリシステムをプログラムする方法 | |
US10157675B2 (en) | Nonvolatile semiconductor memory device which performs improved erase operation | |
KR100926475B1 (ko) | 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법 | |
CN107146639B (zh) | 半导体存储装置及存储器系统 | |
US10998062B2 (en) | Method for programming a memory system | |
KR20100137128A (ko) | 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템 | |
JP2008204591A (ja) | メモリ素子の読み出し方法 | |
US9520184B2 (en) | Method for writing in-system programming code into flash memory for better noise margin | |
US9213592B2 (en) | Semiconductor memory device and method of operating the same | |
US9305637B2 (en) | Nonvolatile semiconductor memory device | |
CN110431633B (zh) | 非易失性存储器器件和用于通过施加多个位线偏置电压在非易失性存储器器件中编程的方法 | |
US10037247B2 (en) | Memory system having idle-memory devices and method of operating thereof | |
US8472246B2 (en) | Method of programming a multi-bit per cell non-volatile memory | |
US20230027384A1 (en) | Non-volatile memory and programming method thereof | |
CN116665745A (zh) | 一种闪存读取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231228 |