(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022171971
(43)【公開日】2022-11-11
(54)【発明の名称】メモリシステムをプログラムする方法
(51)【国際特許分類】
G11C 16/34 20060101AFI20221104BHJP
G11C 11/56 20060101ALI20221104BHJP
G11C 16/10 20060101ALI20221104BHJP
【FI】
G11C16/34 140
G11C11/56 210
G11C16/10 140
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022151045
(22)【出願日】2022-09-22
(62)【分割の表示】P 2021530282の分割
【原出願日】2019-02-20
(71)【出願人】
【識別番号】519237948
【氏名又は名称】長江存儲科技有限責任公司
【氏名又は名称原語表記】Yangtze Memory Technologies Co.,Ltd.
【住所又は居所原語表記】No.88 Weilai 3rd Road,East Lake High-tech Development Zone,Wuhan,Hubei,China
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】リ・ハイボ
(72)【発明者】
【氏名】ムイ・マン ルン
(57)【要約】
【課題】リテンションエラーを低減するようにメモリシステムをプログラムする方法等を提供する。
【解決手段】メモリシステムは複数のメモリセルを含み、メモリセルはマルチレベルセルである。メモリシステムは、メモリセルをプログラムするためプログラム動作を実行する。各プログラム動作の後、メモリセルの閾値電圧が検証電圧よりも大きいかどうかを判定するために、少なくとも1つの閾値電圧試験が実行される。第1のメモリセルの閾値電圧が第1の検証電圧よりも大きいと判定された場合、第1のメモリセルは、次のプログラム動作中にプログラムされることが抑制される。第2のメモリセルの閾値電圧が第2の検証電圧よりも新たに大きくなると判定されたときに、第2の検証電圧が第1の検証電圧よりも大きい場合、第2のメモリセルは、次のプログラム動作中に再びプログラムされる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
メモリシステムをプログラムする方法であって、
前記メモリシステムは複数のメモリセルを備え、
前記方法は、
前記複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、
前記複数のプログラム動作の各々の後に、前記複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、
第1のメモリセルの閾値電圧が、所定のプログラミング状態よりも低いプログラミング状態に対応する検証電圧よりも大きいと判定された場合に、次のプログラム動作の間、前記第1のメモリセルがプログラムされることを抑制することと、
第2のメモリセルの閾値電圧が、所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも大きいと判定された場合に、前記第2のメモリセルに対する追加のプログラム動作の間、前記第2のメモリセルのプログラミングを継続することと、を含み、
前記複数のメモリセルは、マルチレベルセル(MLC)である、
方法。
【請求項2】
前記第2のメモリセルの前記閾値電圧が、前記所定のプログラミング状態以上の前記プログラミング状態に対応する前記検証電圧よりも大きいと判定された場合、前記追加のプログラム動作中に前記第2のメモリセルのプログラミングを継続することは、
前記第2のメモリセルの前記閾値電圧が、前記所定のプログラミング状態以上の前記プログラミング状態に対応する前記検証電圧よりも大きいと判定され、かつ、所定回数のプログラム動作が実行された場合に、前記追加のプログラム動作中に前記第2のメモリセルのプログラミングを継続することである、
請求項1に記載の方法。
【請求項3】
前記所定回数のプログラム動作が実行される前に、第3のメモリセルの閾値電圧が前記所定のプログラミング状態以上の前記プログラミング状態に対応する前記検証電圧よりも大きいと判定された場合に、前記第3のメモリセルに対する追加のプログラム動作中に前記第3のメモリセルがプログラムされることを抑制することをさらに含む、
請求項2に記載の方法。
【請求項4】
対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、次のプログラム動作を実行することをさらに含む、
請求項2に記載の方法。
【請求項5】
前記複数のプログラム動作のうちの第1のプログラム動作中に、前記複数のメモリセルをプログラムするための第1のプログラムパルスを生成することと、
前記複数のプログラム動作のうちの、前記第1のプログラム動作の後の第2のプログラム動作中に、前記複数のメモリセルをプログラムするための第2のプログラムパルスを生成することと、をさらに含み、
前記第2のプログラムパルスは、前記第1のプログラムパルスよりも電圧が大きい、
請求項1に記載の方法。
【請求項6】
メモリシステムをプログラムする方法であって、
前記メモリシステムは複数のメモリセルを備え、
前記方法は、
前記複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、
前記複数のプログラム動作の各々の後に、前記複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、
第1のメモリセルの閾値電圧が所定の検証電圧よりも大きいと判定された場合に、次のプログラム動作の間、前記第1のメモリセルがプログラムされるのを抑制することと、
所定回数のプログラム動作が実行された後、後続の閾値電圧試験において試験されるべき検証電圧を増加させることと、を含み、
前記複数のメモリセルは、マルチレベルセル(MLC)である、
方法。
【請求項7】
前記複数のメモリセルの目標プログラミング状態に対応する閾値電圧試験が実行された後に、前記複数のメモリセルのすべてのプログラミング状態に対応する後続の閾値電圧試験において試験されるべき検証電圧を増加させることと、をさらに含む、
請求項6に記載の方法。
【請求項8】
対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、次のプログラム動作を実行することをさらに含む、
請求項6に記載の方法。
【請求項9】
前記複数のプログラム動作のうちの第1のプログラム動作中に、前記複数のメモリセルをプログラムするための第1のプログラムパルスを生成することと、
前記複数のプログラム動作のうちの、前記第1のプログラム動作の後の第2のプログラム動作中に、前記複数のメモリセルをプログラムするための第2のプログラムパルスを生成することと、をさらに含み、
前記第2のプログラムパルスは、前記第1のプログラムパルスよりも電圧が大きい、
請求項6に記載の方法。
【請求項10】
少なくとも1つのワード線に結合された複数のメモリセルと、
前記少なくとも1つのワード線に結合された制御回路であって、
前記少なくとも1つのワード線を介してプログラム電圧を提供することによって前記複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、
前記複数のプログラム動作の各々の後に前記複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、
第1のメモリセルの閾値電圧が所定のプログラミング状態よりも低いプログラミング状態に対応する検証電圧よりも大きいと判定された場合に、次のプログラム動作中に前記第1のメモリセルがプログラムされることを抑制することと、
第2のメモリセルの閾値電圧が所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも大きい判定されたときに、前記第2のメモリセルに対する追加のプログラム動作中に前記第2のメモリセルのプログラミングを継続することと、を行うように構成された制御回路と、を備え、
前記複数のメモリセルは、マルチレベルセル(MLC)である、
メモリシステム。
【請求項11】
前記制御回路は、所定回数のプログラム動作が実行されている間に、前記第2のメモリセルの前記閾値電圧が前記所定のプログラミング状態以上の前記プログラミング状態に対応する前記検証電圧よりも大きいと判定された場合、前記追加のプログラム動作中、前記第2のメモリセルのプログラミングを継続する、
請求項10に記載のメモリシステム。
【請求項12】
前記制御回路は、第3のメモリセルの閾値電圧が前記所定のプログラミング状態以上の前記プログラミング状態に対応する前記検証電圧よりも大きいと判定され、かつ、前記所定回数のプログラム動作が実行される前である場合に、前記第3のメモリセルに対する追加のプログラム動作中に前記第3のメモリセルがプログラムされることを抑制するようにさらに構成されている、
請求項11に記載のメモリシステム。
【請求項13】
前記制御回路は、対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合に、次のプログラム動作を実行するようにさらに構成されている、
請求項11に記載のメモリシステム。
【請求項14】
前記制御回路は、
前記複数のプログラム動作のうちの第1のプログラム動作中に前記複数のメモリセルをプログラムするための第1のプログラムパルスを生成することと、
前記複数のプログラム動作のうちの前記第1のプログラム動作の後の第2のプログラム動作中に前記複数のメモリセルをプログラムするための第2のプログラムパルスを生成することと、を行うようにさらに構成され、
前記第2のプログラムパルスは、前記第1のプログラムパルスよりも電圧が大きい、
請求項10に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリシステムをプログラムする方法に関し、より詳細には、リテンションエラーを低減するようにメモリシステムをプログラムする方法に関する。
【背景技術】
【0002】
NAND型フラッシュメモリは、ノートブック、携帯電話、およびハードドライブを含む多くの分野で広く使用されている不揮発性記憶媒体の一種である。しかしながら、NAND型フラッシュメモリに格納されたデータは、常に安定して固定されているとは限らない。例えば、フラッシュメモリセルが時間とともに電荷を失うと、フラッシュメモリセルに格納されたデータが変化して無効になる可能性がある。リテンションエラーは、フラッシュメモリセルがマルチレベルセル(MLC)である場合、さらに有害になる。
【0003】
リテンションエラーを引き起こす原因の1つは瞬時(または初期)閾値電圧(Vt)シフト(IVS)と呼ばれ、それは、プログラム動作によって上昇した閾値電圧がプログラム動作後の短期間内に低下する可能性があることを意味する。場合によっては、IVSは200mV~300mVもの大きさの場合がある。この場合、読み出しマージンが減少し、一部のフラッシュメモリセルに格納されたデータが無効になる可能性がある。
【発明の概要】
【0004】
本発明の一実施形態は、メモリシステムをプログラムする方法を開示する。メモリシステムは、複数のメモリセルを含み、複数のメモリセルはマルチレベルセル(MLC)である。
【0005】
方法は、複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、第1のメモリセルの閾値電圧が所定のプログラミング状態よりも低いプログラミング状態に対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制することと、第2のメモリセルの閾値電圧が所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合、次のプログラム動作中に第2のメモリセルをプログラムし続けることとを含む。
【0006】
本発明の別の実施形態は、メモリシステムをプログラムする方法を開示する。メモリシステムは、複数のメモリセルを含み、複数のメモリセルはマルチレベルセル(MLC)である。
【0007】
本方法は、複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、第1のメモリセルの閾値電圧が第1の検証電圧よりも大きいと判定された場合に、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制することと、所定回数のプログラム動作が実行された後に、後続の閾値電圧試験において試験されるべき検証電圧を増加させることと、を含む。
【0008】
本発明の別の実施形態は、メモリシステムをプログラムする方法を開示する。メモリシステムは、複数のメモリセルを含み、複数のメモリセルはマルチレベルセル(MLC)である。
【0009】
本方法は、複数のメモリセルをプログラムするために複数のプログラム動作を実行することと、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行することと、第1のメモリセルの閾値電圧が第1の検証電圧よりも大きいと判定された場合に、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制することと、複数のメモリセルの目標プログラミング状態に対応する閾値電圧試験が実行された後に、複数のメモリセルのすべてのプログラミング状態に対応する後続の閾値電圧試験において試験されるべき検証電圧を増加させることと、を含む。
【0010】
本発明の別の実施形態は、メモリシステムを開示する。メモリシステムは、少なくとも1つのワード線に結合された複数のメモリセルと、少なくとも1つのワード線に結合された制御回路とを含む。複数のメモリセルは、マルチレベルセル(MLC)である。
【0011】
制御回路は、少なくとも1つのワード線を介してプログラム電圧を提供することによって複数のメモリセルをプログラムするために複数のプログラム動作を実行し、複数のプログラム動作の各々の後に、複数のメモリセルの閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定するために少なくとも1つの閾値電圧試験を実行する。制御回路は、第1のメモリセルの閾値電圧が、所定のプログラミング状態よりも低いプログラミング状態に対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中に第1のメモリセルがプログラムされることを抑制する。制御回路は、第2のメモリセルの閾値電圧が、所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合、次回のプログラム動作中、第2のメモリセルのプログラミングを継続する。
【0012】
本発明のこれらおよび他の目的は、様々な図および図面に示されている好ましい実施形態の以下の詳細な説明を読んだ後で、当業者には疑いなく明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態によるメモリシステムを示す。
【
図2】本発明の一実施形態による、
図1のメモリシステムを動作させる方法を示す。
【
図3】本発明の別の実施形態による、
図1のメモリシステムを動作させる方法を示す。
【発明を実施するための形態】
【0014】
図1は、本発明の一実施形態によるメモリシステム100を示す。メモリシステム100は、複数のメモリセルMCA(1、1)~MCA(M、N)と、制御回路110とを備え、M、Nは正の整数である。本発明のいくつかの実施形態では、メモリシステム100は、NAND型フラッシュメモリなどのフラッシュメモリとすることができる。
【0015】
図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に結合される。
【0016】
いくつかの実施形態では、同じワード線に結合されたメモリセルは、ワード線を介してプログラム電圧を印加することによって同時にプログラムすることができる。
【0017】
いくつかの実施形態では、メモリセルMCA(1、1)~MCA(M、N)は、クアッドレベルセル(QLC)およびトリプルレベルセル(TLC)を含むマルチレベルセル(MLC)とすることができる。すなわち、メモリセルMCA(1、1)~MCA(M、N)のそれぞれは、複数のビット状態のデータを格納することができる。
【0018】
例えば、メモリセル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の閾値電圧を増加させる。
【0019】
フローティングゲートトランジスタFTのゲート構造に十分な電子を注入することにより、フローティングゲートトランジスタFTの閾値電圧が所望のレベルまで上昇する。これにより、メモリセルMCA(1、1)~MCA(M、N)のフローティングゲートトランジスタFTの閾値電圧のレベルに応じて、メモリセルMCA(1、1)~MCA(M、N)に格納されたデータの状態を識別することができる。
【0020】
例えば、メモリセル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)は、より多いまたはより少ないデータの状態を格納することができ、データの状態は、用途の必要に応じて異なる順序で閾値電圧によって表すことができる。
【0021】
しかしながら、メモリセルMCA(1、1)~MCA(M、N)が所望のレベルの閾値電圧にプログラムされた後、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧が、いわゆる瞬時閾値電圧シフト(または初期閾値電圧シフト)である短時間のうちに降下する場合がある。瞬時閾値電圧シフトは、メモリセルMCA(1、1)~MCA(M、N)のうちのいくつかの閾値電圧を検証電圧未満に低下させ、それによって、メモリセルMCA(1、1)~MCA(M、N)のうちのいくつかに格納されたデータを誤らせる可能性がある。
【0022】
瞬時閾値電圧シフトによって引き起こされる問題に対処するために、マルチプログラミングが効果的であることが証明されている。すなわち、メモリセルがその閾値電圧が対応する検証電圧よりも大きくなるようにプログラムされた後、メモリセルの瞬時閾値電圧シフトを低減するためにメモリセルに対して追加のプログラム動作を実行することができる。
【0023】
図2は、本発明の一実施形態によるメモリシステム100を動作させる方法200を示す。いくつかの実施形態では、方法200は、
図2に示すようにステップS210~S280を含むことができるが、
図2に示す順序に限定されない。
【0024】
S210では、プログラム動作を実行して、メモリセルMCA(1、1)~MCA(M、N)をプログラムする。
【0025】
S220では、プログラム動作の後に、少なくとも1つの閾値電圧試験を実行して、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定する。
【0026】
S230では、所定回数のプログラム動作が実行された場合、ステップS240に進み、そうでない場合、ステップS250に進む。
【0027】
S240では、メモリセルの閾値電圧が、所定のプログラミング状態以上のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合、ステップS242に進み、そうでない場合、ステップS250に進む。
【0028】
S242では、次のプログラム動作中にメモリセルのプログラミングを継続する。
【0029】
S250では、メモリセルが対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中にメモリセルがプログラムされることを抑制する。
【0030】
S260では、対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、ステップS270に進み、そうでない場合、ステップS280に進む。
【0031】
S270では、最大回数のプログラム動作が実行された場合、ステップS272に進み、そうでない場合、ステップS210に進む。
【0032】
S272では、プログラム処理が失敗したと判定する。
【0033】
S280では、プログラム処理が成功したと判定する。
【0034】
いくつかの実施形態では、ステップS210~S280は、制御回路110によって実行することができる。すなわち、制御回路110は、プログラミングの進行に応じて所望のプログラム電圧を提供することができる。
【0035】
ステップ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のプログラミング状態に対応する閾値電圧テストも実行される。
【0036】
一般に、メモリセルMCA(1、1)が第2のプログラミング状態を有するようにプログラムされるように意図されており、メモリセルMCA(1、1)が第2のプログラミング状態に対応する閾値電圧試験に合格している場合、メモリセルMCA(1、1)は、ステップS250に示されるように、次のプログラム動作中に抑制される。しかしながら、メモリセルMCA(1、1)が第2のプログラミング状態に対応する閾値電圧試験に合格していない場合、すなわち、メモリセルMCA(1、1)の閾値電圧が依然として対応する検証電圧よりも小さい場合、メモリセルMCA(1、1)は、その閾値電圧を上昇させ続けるように次のプログラム動作中にプログラムされる。
【0037】
図2では、瞬時閾値電圧シフトを低減するために、所定回数のプログラム動作が実行され、メモリセルの閾値電圧が所定の検証電圧以上の検証電圧よりも新たに大きくなると判定された場合にリプログラミング方式を適用することができる。すなわち、より高いプログラミング状態にプログラムされるメモリセルについて、閾値電圧をさらに確保するために追加のプログラム動作を適用することができる。
【0038】
例えば、いくつかの実施形態では、所定の検証電圧は、第6のプログラミング状態に対応することができる。この場合、メモリセルMCA(1、2)が第6のプログラミング状態にプログラムされることが意図されており、ステップS220において第6のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定された場合には、抑制されるのではなく、次のプログラム動作中にメモリセルMCA(1、2)が再びプログラムされる。したがって、瞬時閾値電圧シフトがメモリセルMCA(1、2)に与える影響を低減することができる。
【0039】
メモリセルの閾値電圧が高くなると瞬時閾値電圧シフトの問題がより大きくなる可能性があるため、より高いプログラミング状態にプログラムされるように意図されたメモリセルに対して追加のプログラム動作が実行される。また、メモリセルがより低いプログラミング状態を有するときに追加のプログラム動作が追加される場合で、メモリセルがより高いプログラミング状態を有するようにプログラムされているとき、メモリセルはオーバープログラミングされる可能性があり、これにより、メモリセルを劣化させ、不安定性を引き起こす可能性がある。
【0040】
したがって、ステップ230において、オーバープログラミングを防止するため追加のプログラム動作を適用する前に、実行されたプログラム動作の数がチェックされる。例えば、いくつかの実施形態では、第18のプログラム動作の前に、閾値電圧試験に合格したメモリセルは、ステップS250に示すように次のプログラム動作中に常に抑制される。しかしながら、第17のプログラム動作の後、ステップS240およびS242に示すように、より高いプログラミング状態に対応する検証電圧よりも新たに大きくなると判定されたメモリセルに対して追加のプログラム動作が実行される。
【0041】
この場合、メモリセルMCA(1、1)の閾値電圧が第1のプログラミング状態に対応する検証電圧よりも大きいと判定される場合、ステップS250に示されるように、次のプログラム動作中にメモリセルMCA(1、1)が抑制される。プログラム動作が所定の回数、例えば17回であるが、これに限定されない回数よりも多く実行された後、メモリセルMCA(1、2)の閾値電圧が第6のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定される場合、次のプログラム動作中、メモリセルMCA(1、2)は再びプログラムされる。しかしながら、17回を超えてプログラム動作が実行されていない前に、メモリセルMCA(1、3)の閾値電圧が第6のプログラミング状態に対応する検証電圧よりも新たに大きくなると判定されても、次のプログラム動作中、メモリセルMCA(1、3)は依然として抑制される。
【0042】
さらに、いくつかの実施形態では、高いプログラミング状態を有するメモリセルを再プログラミングすることによって、オーバープログラミングを防止するのに十分であり得る。この場合、ステップS230は省略されてもよく、追加のプログラム動作は、実行されたプログラム動作の回数を考慮せずに、より高いプログラミング状態に対応する検証電圧よりも新たに大きくなると判定されたすべてのメモリセルに対して実行される。
【0043】
さらに、プログラム動作の効率を改善するために、増分ステップパルスプログラミング(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のプログラムパルスよりも電圧が大きくてもよい。
【0044】
ステップS240、S242、およびS250の後、ステップS260を実行して、対応する閾値電圧試験に合格していないメモリセルが目標数より多いかどうかを判定することができる。対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、それは、メモリシステム100が正常にプログラムされておらず、より多くの回数のプログラム動作を必要とし得ることを意味し得る。しかしながら、対応する閾値電圧試験に合格していないメモリセルが目標数よりも少ない場合、それは、ステップS280で完結したようにメモリシステム100が正常にプログラムされたことを意味し得る。
【0045】
さらに、いくつかの実施形態では、プログラム動作の総数は、オーバープログラミングおよびエンドレス動作を防止するため最大数未満に制限することができる。したがって、ステップS270において、最大回数を超えてプログラム動作が実行された場合、ステップS272においてプログラム処理が失敗したと判定される。そうでない場合、次のプログラム動作がステップS210において実行される。
【0046】
方法200では、メモリセルの閾値電圧を確実に確保することができ、瞬時閾値電圧シフトによって引き起こされるリテンションエラーを低減することができる。
【0047】
図3は、本発明の別の実施形態によるメモリシステム100を動作させる方法300を示す。いくつかの実施形態では、方法300は、
図3に示すようにステップS310~S380を含むことができるが、
図3に示す順序に限定されない。
【0048】
S310では、プログラム動作を実行して、メモリセルMCA(1、1)~MCA(M、N)をプログラムする。
【0049】
S320では、プログラム動作の後に、少なくとも1つの閾値電圧試験を実行して、メモリセルMCA(1、1)~MCA(M、N)の閾値電圧が少なくとも1つの検証電圧よりも大きいかどうかを判定する。
【0050】
S330では、所定回数のプログラム動作が実行された場合、ステップS340に進み、そうでない場合、ステップS332に進む。
【0051】
S332では、目標プログラミング状態に対応する閾値電圧試験が実行された場合、ステップS340に進み、そうでない場合、ステップS350に進む。
【0052】
S340では、後続の閾値電圧試験で試験される検証電圧を増加させる。
【0053】
S350では、メモリセルが対応する検証電圧よりも大きいと判定された場合、次のプログラム動作中にメモリセルがプログラムされるのを抑制する。
【0054】
S360では、対応する閾値電圧試験に合格していないメモリセルが目標数より多い場合、ステップS370に進み、そうでない場合、ステップS380に進む。
【0055】
S370では、最大回数のプログラム動作が実行された場合、ステップS372に進み、そうでない場合、ステップS310に進む。
【0056】
S372では、プログラム処理が失敗したと判定する。
【0057】
S380では、プログラム処理が成功したと判定する。
【0058】
いくつかの実施形態では、ステップS310~S380は、制御回路110によって実行することができる。すなわち、制御回路110は、プログラミングの進行に応じて所望のプログラム電圧を提供することができる。
【0059】
方法300では、追加のプログラム動作を実行する代わりに、瞬時閾値電圧シフトによって引き起こされるリテンションエラーを低減するために検証電圧を増加させることができる。
【0060】
例えば、ステップS310のプログラム動作およびステップS320の閾値電圧試験が実行された後、ステップS330では、所定回数のプログラム動作が実行されたかどうかを判定する。プログラム動作が所定の回数、例えば17回であるが、これに限定されない回数よりも多く実行された場合、ステップS340において、後続の閾値電圧試験で試験される検証電圧が増加される。すなわち、特定のプログラミング状態に対応する閾値電圧に合格するためには、メモリセルの閾値電圧が以前の標準レベルよりも高くなければならない。その結果、瞬時閾値電圧シフトが発生したとしても、メモリセルの閾値電圧は依然として、読み出し動作中に所望のプログラミング状態を取得するのに十分な高さである。
【0061】
また、ステップS332において、閾値電圧試験のプログラミング状態を確認する。この場合、例えば第6のプログラミング状態であるが、これに限定されない目標プログラミング状態に対応する閾値電圧試験が実行された場合、ステップS340において、後続の閾値電圧試験で試験される検証電圧が増加される。したがって、より高いプログラミング状態にプログラムされるように意図されており、プログラムされることがより困難であるメモリセルは、瞬時閾値電圧シフトがリテンションエラーを引き起こすことを防止するために、プログラム処理中により厳密に試験される。
【0062】
プログラム処理のまさに最初に検証電圧を増加させない理由の1つは、メモリセルMCA(1、1)~MCA(M、N)がオーバープログラミングムされるのを防ぐためである。しかしながら、いくつかの実施形態では、メモリシステム100の状態が許せば、ステップS330およびS332の一方は省略されてもよい。
【0063】
要約すると、本発明の実施形態によって提供されるメモリシステムおよびメモリシステムをプログラムする方法は、新たに閾値電圧試験に合格したメモリセルに対して追加のプログラム動作を実行することができ、またはより高いプログラミング状態に対応する閾値電圧試験における検証電圧を増加させることができる。したがって、メモリセルは、十分なヘッドルームを有する読み出し動作で使用される検証電圧よりも大きい閾値電圧を有するようにプログラムすることができ、瞬時閾値電圧シフトによって引き起こされるリテンションエラーを防止し、読み出し電圧マージンを確保する。
【0064】
当業者は、本発明の教示を保持しながら、装置および方法の多数の修正および変更を行うことができることを容易に理解するであろう。したがって、上記の開示は、添付の特許請求の範囲の境界によってのみ限定されると解釈されるべきである。