JP7295267B2 - マルチレベルセルnand型フラッシュメモリデバイスのプログラム方法及びmlc nand型フラッシュメモリデバイス - Google Patents

マルチレベルセルnand型フラッシュメモリデバイスのプログラム方法及びmlc nand型フラッシュメモリデバイス Download PDF

Info

Publication number
JP7295267B2
JP7295267B2 JP2021559122A JP2021559122A JP7295267B2 JP 7295267 B2 JP7295267 B2 JP 7295267B2 JP 2021559122 A JP2021559122 A JP 2021559122A JP 2021559122 A JP2021559122 A JP 2021559122A JP 7295267 B2 JP7295267 B2 JP 7295267B2
Authority
JP
Japan
Prior art keywords
verify
voltage
program
controller
program 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.)
Active
Application number
JP2021559122A
Other languages
English (en)
Other versions
JP2022528898A (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.)
Yangtze Memory Technologies Co Ltd
Original Assignee
Yangtze Memory Technologies Co Ltd
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 Yangtze Memory Technologies Co Ltd filed Critical Yangtze Memory Technologies Co Ltd
Publication of JP2022528898A publication Critical patent/JP2022528898A/ja
Application granted granted Critical
Publication of JP7295267B2 publication Critical patent/JP7295267B2/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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Landscapes

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

Description

本発明は半導体デバイスに関し、詳細には、マルチレベルセル(multilevel cell:MLC)NAND型フラッシュメモリデバイスのプログラム方法及びMLC NAND型フラッシュメモリデバイスに関する。
NAND型フラッシュメモリは、モバイルデバイスや家電製品における不揮発性データ記憶装置に広く採用されており、メモリセルを異なるプログラム状態にプログラムすることにより、これらのメモリセルのアレイにデータを記憶させている。シングルレベルセル(single level cell:SLC)フラッシュメモリでは、1つのメモリセルが2つの使用可能なプログラム状態を有し、また2ビットのマルチレベルセル(MLC)フラッシュメモリでは、1つのメモリセルが4つの使用可能なプログラム状態を有する。フラッシュメモリは、これらのメモリセルからデータを読み出すために、異なるプログラム状態に対応するいくつかの読み出しレベルを使用することができる。
一般に、メモリセルは、対応するプログラム電圧を印加することによって、様々なプログラム状態に設定され得る。しかしながら、このようなメモリセルは劣化する恐れがあり、また、プログラム電圧のシフトが経時的に発生する可能性がある。このため、プログラム電圧、とりわけプログラム前のフラッシュメモリの初期プログラムパルスを同定することが重要である。
増加型ステップパルスプログラム(incremental step pulse programming:ISPP)は、プログラム電圧を同定するために用いられることの多い方法の1つである。ISPPでは、メモリセルを選択して、メモリセルの閾値電圧を特定の閾値レベルを超えるまで徐々に上昇させるように一連のプログラムパルスが印加され、この閾値電圧が特定の閾値レベルに到達すると、プログラム電圧が同定され得る。
しかしながら、プログラム電圧のシフトが大きい場合、必要な閾値電圧を確立するために多数のプログラムパルスをメモリセルに印加しなければならないため、ISPPによるプログラム電圧の検出には長時間を要する可能性がある。
初期プログラム電圧及び他のプログラム電圧を同定する時間を短縮するための、フラッシュメモリデバイス及び方法を提供することが望ましい。
本発明の一実施形態では、NAND型フラッシュメモリデバイスのプログラム方法は、プログラム電圧生成回路が、NAND型フラッシュメモリの所定のページに初期プログラム電圧パルスを印加するステップと、コントローラが、この所定のページ内の複数のベリファイレベルをベリファイするステップであって、これら複数のベリファイレベルが、この所定のページの最低電圧のプログラム状態を読み出す第1の電圧のベリファイ電圧よりも低い、ステップと、当該コントローラが、所定のページ内の複数のベリファイレベルのうちの1つがベリファイをパスした場合に、後続のプログラム電圧パルスの大きさを判定するステップと、当該プログラム電圧生成回路が、所定のページにこの後続のプログラム電圧パルスを印加するステップと、を含む。
本発明の別の実施形態では、NAND型フラッシュメモリデバイスは、NAND型フラッシュメモリと、プログラム電圧生成回路と、コントローラと、を備える。NAND型フラッシュメモリは、所定のページ及びその他のページを含む。プログラム電圧生成回路はNAND型フラッシュメモリに結合され、このプログラム電圧生成回路を使用して、所定のページに初期プログラム電圧パルスが印加されている。コントローラはNAND型フラッシュメモリ及びプログラム電圧生成回路に結合され、このコントローラを使用して、所定のページ内の複数のベリファイレベルがベリファイされ、この所定のページ内の複数のベリファイレベルのうちの1つがベリファイをパスした場合に、後続のプログラム電圧パルスの大きさが判定される。これら複数のベリファイレベルは、所定のページの最低電圧のプログラム状態をベリファイする第1の電圧のベリファイ電圧よりも低い。プログラム電圧生成回路をさらに使用して、所定のページに後続のプログラム電圧パルスが印加されている。
本発明のこれら及び他の目的は、様々な図及び図面において例示している好ましい実施形態に関する以下の詳細な説明を読解した後、当業者には間違いなく明らかになるであろう。
本発明の一実施形態による、マルチレベルセル(MLC)NAND型フラッシュメモリデバイスを示したブロック図である。 図1のMLC NAND型フラッシュメモリデバイスの初期プログラム電圧の同定方法を示したフローチャートである。 図2の方法で使用される後続のプログラム電圧パルスの同定方法を示したフローチャートである 本発明の一実施形態による、2レベルのベリファイを用いた初期プログラム電圧の同定方法を示した概略図である。 図1のMLC NAND型フラッシュメモリデバイスのより高電圧のプログラム電圧の同定方法を示したフローチャートである。 メモリセルにおける4つの閾値電圧分布を示した図である。
図1は、本発明の一実施形態による、マルチレベルセル(MLC)NAND型フラッシュメモリデバイス1を示したブロック図である。MLC NAND型フラッシュメモリデバイス1は、プログラム電圧生成回路10と、コントローラ12と、NAND型フラッシュメモリ14と、を備える。プログラム電圧生成回路10はNAND型フラッシュメモリ14に結合され、コントローラ12は、プログラム電圧生成回路10及びNAND型フラッシュメモリ14に結合され、それらの動作を制御している。NAND型フラッシュメモリ14は、複数のページ140~14mを含み、mは正の整数である。ページ140~14mの各々は、アレイ状に配置された複数のメモリセルを含み、各メモリセルは、N個の使用可能なプログラム状態のうちの1つにプログラムされてもよく、Nは8であってもよい。具体的には、各メモリセルは、初期プログラム電圧Vpg(1)を使用して最低電圧のプログラム状態にプログラムされ、また、より高電圧のプログラム電圧Vpg(n)を使用してより高電圧のプログラム状態にプログラムされてもよく、nは2~8の正の整数である。初期プログラム電圧Vpg(1)とより高電圧のプログラム電圧Vpg(n)とは経時的にシフトし得るので、必要に応じて初期プログラム電圧Vpg(1)とより高電圧のプログラム電圧Vpg(n)とを同定するために、MLC NAND型フラッシュデバイス1はマルチレベルのベリファイを実行してもよい。より具体的には、MLC NAND型フラッシュメモリデバイス1は、所定のページが既定のプログラムサイクル数を経た後、例えば100プログラムサイクルごとにプログラム電圧Vpg(1)~Vpg(N)を同定し、これによってプログラム電圧Vpg(1)~Vpg(N)のシフトを補正してもよい。所定のページ、例えばページ140内の選択されたメモリセルの初期プログラム電圧Vpg(1)とより高電圧のプログラム電圧Vpg(n)とが検出され、所定のページ140の選択位置1400、140n、140Nにこれらが記憶されてもよい。その後、コントローラ12は、初期プログラム電圧Vpg(1)とより高電圧のプログラム電圧Vpg(n)とを利用して、NAND型フラッシュメモリ14内の所定のページ140又は他のページ140mをプログラムしてもよい。
プログラム電圧生成回路10は、所定のページ140に初期プログラム電圧パルスを印加してもよい。具体的には、プログラム電圧生成回路10は、所定のページ140内の選択されたメモリセルのゲート端子に、ワード線を用いて初期プログラム電圧パルスを印加してもよい。この初期プログラム電圧パルスは、高速メモリセルのばらつき、ページ間のばらつき、及びブロック間のばらつきに対処するために、保守的に選択される工場出荷時の設定値であってもよい。
コントローラ12は、所定のページ140内の複数のベリファイレベルをベリファイし、この所定のページ140内の複数のベリファイレベルのうちの1つがベリファイをパスした場合に、後続のプログラム電圧パルスの大きさを判定してもよい。この後続のプログラム電圧パルスを判定することは、動的初期電圧(dynamic start voltage:DSV)プロセスと呼ばれている。その場合、プログラム電圧生成回路10は、所定のページ140に対して、さらに後続のプログラム電圧パルスを印加してもよい。複数のベリファイレベルは、所定のページ140の最低電圧のプログラム状態をベリファイする第1の電圧のベリファイ電圧PV(1)よりも低い。具体的には、コントローラ12は、所定のページ140の1つのベリファイレベルをベリファイすることによって、複数のベリファイレベルをベリファイし、かつ当該ベリファイレベルがベリファイをフェイルした場合に、当該ベリファイレベルを低下させて、より低電圧のベリファイレベルを生成してもよく、また、当該ベリファイレベルがベリファイをパスした場合に、当該ベリファイレベルと第1の電圧のベリファイ電圧との差によって後続のプログラム電圧パルスの大きさを判定することにより、後続のプログラム電圧パルスの大きさを同定してもよい。また、コントローラ12は、このベリファイレベルを一定量だけデクリメントすることにより、ベリファイレベルを低下させて、より低電圧のベリファイレベルを生成してもよい。ここでベリファイされる第1のベリファイレベルは、第1の電圧のベリファイ電圧PV(1)であってもよい。例えば、第1の電圧のベリファイ電圧PV(1)は、‐0.8Vであってもよい。この一定量は、プログラム電圧生成回路10によって生成されるステップパルスと等価なステップ電圧であってもよい。例えば、この一定量は0.4Vであってもよい。
コントローラ12は、ベリファイレベルを使用して、所定のページ140内の選択されたメモリセルのうちの1つ又は複数が正常に読み出された場合に、ベリファイレベルにベリファイをパスさせ、また、ベリファイレベルを使用して、所定のページ140内の選択されたメモリセルのうちのいずれも正常に読み出されなかった場合に、ベリファイレベルにベリファイをフェイルさせてもよい。具体的には、コントローラ12は、所定のページ140内の選択されたメモリセルのワード線にベリファイレベルを印加することにより、ベリファイレベルをベリファイしてプログラム状態を読み出し、メモリセルが正常に読み出された回数をフィルビット数(fill bit count:FBC)として判定してもよい。
コントローラ12は、第1の電圧のベリファイ電圧PV(1)をさらにベリファイし、この第1の電圧のベリファイ電圧PV(1)がベリファイをパスした場合に、初期プログラム電圧パルス及び後続のプログラム電圧パルスに従って所定のページ140の初期プログラム電圧Vpg(1)を同定し、次いで初期プログラム電圧Vpg(1)を所定のページ140のメモリ位置1400に記憶してもよい。より具体的には、この初期プログラム電圧Vpg(1)は、初期プログラム電圧パルスと後続のプログラム電圧パルスとを合計することによって同定されてもよい。一実施形態では、所定のページ140又は別の所定のページ14n内のメモリセルを最低電圧のプログラム状態にプログラムする必要がある場合に、コントローラ12は、メモリ位置1400から初期プログラム電圧Vpg(1)を読み出し、次いでこの初期プログラム電圧Vpg(1)を使用してメモリセルをプログラムするように、プログラム電圧生成回路10を制御してもよい。
さらに、コントローラ12は、より高電圧のベリファイ電圧PV(n)によるベリファイに従って、より高電圧のプログラム電圧Vpg(n)を同定し、所定のページ140内の複数のベリファイレベルのうちでフェイルしたベリファイの回数に応じて、より高電圧のベリファイ電圧PV(n)をベリファイするタイミングを調整してもよく、nは2~8の正の整数である。より高電圧のプログラム電圧Vpg(n)を使用して、選択されたメモリセルがより高電圧のプログラム状態nにプログラムされ、このより高電圧のベリファイ電圧PV(n)は、より高電圧のプログラム状態nをベリファイするベリファイレベルである。一般に、このより高電圧のプログラム電圧Vpg(n)の同定は、増加型ステップパルスプログラム(ISPP)プロシージャを用いて実行されてもよく、所定のページ140内の選択されたメモリセルは、プログラム電圧生成回路10によって生成される一連の固定長のステップパルスを使用してプログラムされており、これによって、選択されたメモリセルの閾値電圧が段階的にインクリメントされている。コントローラ12は、選択されたメモリセルの閾値電圧が次第に上昇するにつれて、対応するより高電圧のベリファイ電圧PV(n)を定期的にベリファイし、このより高電圧のプログラム電圧Vpg(n)を、対応するより高電圧のベリファイ電圧PV(n)がベリファイをパスした場合の、すべてのプログラムパルスの合計として同定してもよい。また、より高電圧のプログラム電圧Vpg(2)~Vpg(8)の電圧レベルは次第に上昇していくため、より高電圧のプログラム電圧Vpg(2)~Vpg(8)の同定は、初期プログラム電圧Vpg(1)を同定した後に続いて開始されてもよく、その際、より高電圧のプログラム電圧Vpg(2)が最初に同定され、より高電圧のプログラム電圧Vpg(8)が最後に同定される。例えば、ISPPプロシージャにおける第5のステップパルスで、より高電圧のプログラム電圧Vpg(2)の同定が開始されてもよく、ISPPプロシージャにおける第10のステップパルスで、より高電圧のプログラム電圧Vpg(3)の同定が開始されてもよい。
本実施形態では、コントローラ12は、より高電圧のベリファイ電圧PV(n)のベリファイを開始するための初期ステップパルス数を設定し、当該ベリファイレベルがベリファイをフェイルした場合に、初期ステップパルスをインクリメントすることによって、より高電圧のベリファイ電圧PV(n)をベリファイするタイミングを調整してもよい。具体的には、コントローラ12は、1ステップパルスなどのステップパルスの固定数だけ、この初期ステップパルス数をインクリメントしてもよい。所定のページ140内の選択されたメモリセルに印加されるステップパルスの累積数が初期ステップパルス数を超えた場合、コントローラ12は、より高電圧のベリファイ電圧PV(n)のベリファイを開始してもよい一方で、この累積数が初期ステップパルス数よりも少なくなる場合、コントローラ12は、より高電圧のベリファイ電圧PV(n)をベリファイしなくてもよい。より高電圧のベリファイ電圧PV(n)がベリファイをパスした場合、コントローラ12は、ステップパルスの累計をより高電圧のプログラム電圧Vpg(n)としてメモリ位置140nに保存してもよい。その後、メモリセルをプログラム状態nにプログラムする必要が生じた場合、コントローラ12は、メモリ位置140nからより高電圧のプログラム電圧Vpg(n)を読み出し、次いでより高電圧のプログラム電圧Vpg(n)を使用してメモリセルをプログラムするように、プログラム電圧生成回路10を制御してもよい。
MLC NAND型フラッシュメモリデバイス1は、MLCアプローチや8つのプログラム状態に限定されることはなく、シングルレベルセル(SLC)アプローチ又は他の数のプログラム状態が採用されてもよい。MLC NAND型フラッシュメモリデバイス1は、マルチレベルのベリファイを利用して、初期プログラム電圧Vpg(1)を同定するために所定のページ140に印加されるプログラム電圧パルスの数を削減することにより、初期プログラム電圧のシフトが大きい場合の初期プログラム電圧Vpg(1)の同定プロセスを大幅に高速化している。
図2は、図1のMLC NAND型フラッシュメモリデバイス1の初期プログラム電圧Vpg(1)の同定方法2を示したフローチャートである。方法2は、ステップS200~S210を含む。任意の適正な技術的変更又はステップの調整は、本開示の範囲内である。ステップS200~S210を以下のように説明するものであり、
ステップS200で、プログラム電圧生成回路10が、NAND型フラッシュメモリ14の所定のページ140に初期プログラム電圧パルスを印加し、
ステップS202で、コントローラ12が、所定のページ140内の複数のベリファイレベルをベリファイし、
ステップS204で、所定のページ140内の複数のベリファイレベルのうちの1つがベリファイをパスした場合に、コントローラ12が後続のプログラム電圧パルスの大きさを判定し、
ステップS206で、プログラム電圧生成回路10が、所定のページ140に後続のプログラム電圧パルスを印加し、
ステップS208で、第1の電圧のプログラム電圧PV(1)がベリファイをパスしたか否かをコントローラ12が判定する。パスした場合はステップS210に進み、パスしなかった場合はステップS202に進み、
ステップS210で、コントローラ12が、初期プログラム電圧Vpg(1)を記憶する。
起動すると、プログラム電圧生成回路10は、所定のページ140に初期プログラム電圧パルスを印加し(S200)、コントローラ12は、所定のページ140内の複数のベリファイレベルを連続してベリファイすることにより、マルチレベルのベリファイを行う(S202)。これら複数のベリファイレベルは、第1の電圧のベリファイ電圧PV(1)から始まり、1つ又は複数のベリファイレベルが降順で続いていてもよい。最終的に、これら複数のベリファイレベルのうちの1つがベリファイをパスしてもよく、また、これを使用して、初期プログラム電圧Vpg(1)及び同電圧を生成する後続のプログラム電圧パルスが同定されてもよい。よって、コントローラ12は、ベリファイレベルのベリファイに成功すると、後続のプログラム電圧パルスの大きさを判定し(S204)、プログラム電圧生成回路10は、所定のページ140に後続のプログラム電圧パルスを印加し(S206)、次いでコントローラ12は、第1の電圧のプログラム電圧PV(1)をベリファイする(S208)。第1の電圧のプログラム電圧PV(1)がベリファイをパスした場合、初期プログラム電圧パルスと後続のプログラム電圧パルスとの組合せが、初期プログラム電圧Vpg(1)と見なされてもよく、また、コントローラ12は、この初期プログラム電圧Vpg(1)をメモリ位置1400に記憶する(S210)。第1の電圧のプログラム電圧PV(1)がベリファイをフェイルした場合、第1の電圧のプログラム電圧PV(1)がベリファイをパスするまで、ステップS202~S208が繰り返される。ステップS202及びS204は、後続のプログラム電圧パルスの同定について説明している図3の方法3によって詳述されてもよい。
方法3はステップS300~S306を含み、この方法3を用いて複数のベリファイレベルVviがベリファイされ、iは正の整数である。任意の適正な技術的変更又はステップの調整は、本開示の範囲内である。ステップS300~S306を以下のように説明するものであり、
ステップS300で、コントローラ12が初期ベリファイレベルVv1をベリファイし、
ステップS302で、ベリファイレベルVviがベリファイをパスしたか否かをコントローラ12が判定する。パスした場合はステップS304に進み、パスしなかった場合はステップS306に進み、
ステップS304で、コントローラ12が、ベリファイレベルVviを低下させて、より低電圧のベリファイレベルVviを生成し、次いでこのベリファイレベルVviをベリファイして、ステップS302に進み、
ステップS306で、コントローラ12が、ベリファイレベルVviと第1の電圧のベリファイ電圧PV(1)との差によって、後続のプログラム電圧パルスの大きさを判定する。
起動すると、コントローラ12は、第1の電圧のベリファイ電圧PV(1)の初期ベリファイレベルVv1をベリファイし(S300)、次いで、ベリファイレベルVv1がベリファイをパスしたか否かをこのコントローラ12が判定する(S302)。パスした場合、MLC NAND型フラッシュメモリデバイス1は新規製造されてもよく、その初期プログラム電圧パルスは初期プログラム電圧Vpg(1)であってもよく、コントローラ12は、初期ベリファイレベルVv1と第1の電圧のベリファイ電圧PV(1)との差によって、後続のプログラム電圧パルスの大きさを判定し(S306)、したがってここでは、初期プログラム電圧パルスが既に初期プログラム電圧Vpg(1)であるため、後続のプログラム電圧パルスが所定のページ1400に印加されることはない。ベリファイレベルVv1がベリファイをパスしなかった場合、コントローラ12は、ベリファイレベルVv1を1デクリメントだけ低下させて、より低電圧のベリファイレベルVv2を生成し、次いでこのより低電圧のベリファイレベルVv2をベリファイして(S304)、このベリファイレベルVv2がベリファイをパスしたか否かを判定する(S302)。このデクリメント分は、プログラム電圧生成回路10によって生成されるステップパルスに対応する一定量であってもよい。ベリファイレベルVv2がベリファイをパスした場合、初期プログラム電圧Vpg(1)は初期プログラム電圧パルスとステップパルスとの組合せであってもよく、コントローラ12は、ベリファイレベルVv2と第1の電圧のベリファイ電圧PV(1)との差によって、後続のプログラム電圧パルスの大きさを判定する(S306)。この差は一定量のデクリメント分のみであるため、後続のプログラム電圧パルスは、この一定量のデクリメント分に対応する1ステップパルスとなる。ベリファイレベルVv2がベリファイをパスしなかった場合、コントローラ12は、ベリファイレベルVv2をさらに1デクリメントだけ低下させて、より低電圧のベリファイレベルVv3を生成する(S304)。ベリファイレベルVviが正常にベリファイされて、後続のプログラム電圧パルスの大きさが同定され得るまで、ステップS302及びS304が連続して繰り返される。
図4は、本発明の一実施形態による、2レベルのベリファイを用いた初期プログラム電圧の同定方法4を示した概略図である。この初期プログラム電圧の同定方法4はプロセス400~422を含み、プロセス400~406を用いて、初期プログラム電圧パルスのチェックが実行され、プロセス408~418を用いて、初期プログラム電圧Vpg(1)を同定するために2レベルのベリファイが実行され、また、プロセス420~422を用いて、初期プログラム電圧Vpg(1)が確認される。電圧パルスプロセス400では初期プログラム電圧パルスを使用し、電圧パルスプロセス420では、後続のプログラム電圧パルスを使用する。初期プログラム電圧の同定方法4は、2つの電圧パルス400、420のみを使用することにより、初期プログラム電圧Vpg(1)の同定を達成することができるので、初期プログラム電圧Vpg(1)を同定するのに必要とされる時間が短縮されている。
図5は、図1のMLC NAND型フラッシュメモリデバイス1のより高電圧のプログラム電圧Vpg(n)の同定方法5を示したフローチャートである。方法5は、ステップS500~S512を含む。ステップS500及びS502を用いてマルチレベルのベリファイが実行されており、その詳細についてはステップS200及びステップS202で示しているので、簡潔にするためにここでは繰り返さない。ステップS504~S512を用いてより高電圧のプログラム電圧Vpg(n)が同定されており、nは2~8の正の整数である。任意の適正な技術的変更又はステップの調整は、本開示の範囲内である。ステップS500~S512を以下のように示すものであり、
ステップS500で、プログラム電圧生成回路が、NAND型フラッシュメモリの所定のページに初期プログラム電圧パルスを印加し、
ステップS502で、コントローラが、所定のページ内の複数のベリファイレベルをベリファイし、
ステップS504で、所定のページ内の複数のベリファイレベルのうちでフェイルしたベリファイの回数に応じて、より高電圧のベリファイ電圧PV(n)をベリファイするタイミングをコントローラが決定し、
ステップS506で、より高電圧のベリファイ電圧PV(n)がベリファイをパスしたか否かをコントローラが判定する。パスした場合はステップS508に進み、パスしなかった場合はステップS512に進み、
ステップS508で、コントローラが、より高電圧のプログラム電圧Vpg(n)を記憶し、
ステップS510で、最高電圧のプログラム電圧PV(8)がベリファイをパスしたか否かをコントローラが判定する。パスした場合は方法5を終了し、パスしなかった場合はステップS512に進み、
ステップS512で、コントローラが、所定のページに対してISPPプロシージャを実行して、ステップS506に進む。
コントローラは、所定のページ内の複数のベリファイレベルのうちでフェイルしたベリファイの回数に応じて、より高電圧のベリファイ電圧PV(n)をベリファイするタイミングを決定する(S504)。具体的には、この高電圧のプログラム電圧Vpg(n)が、初期プログラム電圧Vpg(1)とほぼ同じ量だけシフトし得るため、所定のページ内の1つのベリファイレベルがベリファイをフェイルした場合に、コントローラはより高電圧のベリファイ電圧PV(n)のベリファイをスキップし、そのベリファイを1ステップパルスだけ先送りしてもよい。同様に、コントローラは、所定のページ内のベリファイレベルがフェイルしたベリファイの回数がステップS502でフェイルした回数と同じである場合に、より高電圧のベリファイ電圧PV(n)のいくつかのベリファイをスキップし、同じ数のステップパルスだけ、そのベリファイを延期してもよい。より高電圧のベリファイ電圧PV(n)をベリファイするタイミングになると、コントローラは、このより高電圧のベリファイ電圧PV(n)がベリファイをパスしたか否かを判定し(S506)、パスした場合、コントローラは、所定のページに印加されたステップパルスの累計をより高電圧のプログラム電圧Vpg(n)として記憶し(S508)、最高電圧のベリファイ電圧PV(8)がベリファイをパスしたか否かを判定し(S510)、この最高電圧のベリファイ電圧PV(8)がベリファイをパスした場合に、方法5を終了する。より高電圧のベリファイ電圧PV(n)がベリファイをパスしなかった場合、コントローラは、所定のページにステップパルスを印加することによって所定のページにISPPプロシージャを実行し(S512)、最高電圧のベリファイ電圧PV(8)がベリファイをパスするまで、ステップS506~S5が繰り返される。最高電圧のベリファイ電圧PV(8)がベリファイをパスしなかった場合、コントローラは、所定のページに対してISPPプロシージャを実行し続け(S512)、最高電圧のベリファイ電圧PV(8)がベリファイをパスするまで、ステップS506~S5が繰り返される。
図6は、初期プログラム電圧パルスが印加された後の、メモリセルにおける4つの閾値電圧分布60、62、64、66を示した図であり、x軸はボルト単位の閾値電圧Vtを表し、y軸は個数単位のメモリセルの量を表す。第1の電圧のベリファイ電圧PV(1)は-0.8に位置している。図6はまた、プログラム電圧生成回路によって生成されるステップパルスに対応する固定電圧差によって分割されている、-0.8、-1.2、-1.6及び-2.0における4つの分圧を示す。表1は、関連技術のISPP法と比較して本発明によって短縮される時間を示し、dVPGMは1ステップパルスを表し、Pはプログラム電圧パルスの時間を表し、Vはベリファイの時間を表し、FBCはフィルビットのチェックの時間を表し、MLVはマルチレベルのベリファイの時間を表す。閾値電圧分布60、62、64、66の各々は、閾値電圧分布の上部に位置するより高速のメモリセルを含む。具体的には、閾値電圧分布60、62、64、66におけるより高速のメモリセルは、範囲C1、C2、C3、C4にそれぞれ位置する。その結果、閾値電圧分布60、62、64、66におけるより高速のメモリセルの閾値電圧Vtはそれぞれ、第1の電圧のベリファイ電圧PV(1)よりも電圧差0、1、2、3分低くなり、これに応じて、閾値電圧分布60、62、64、66の初期プログラム電圧Vpg(1)はそれぞれ、初期プログラム電圧パルスよりも0、1、2、3ステップパルス分高くなる。表1の最終列に示すように、ISSP法と比較して本発明によって短縮される時間は、閾値電圧分布がさらに左方にシフトするにつれて大幅に増加する。例えば、閾値電圧分布62で短縮される時間は6回分のベリファイ時間に相当し、閾値電圧分布62で短縮される時間は2回のパルス及び20回のベリファイ時間に相当する。
Figure 0007295267000001
前セクションで述べたように、MLC NAND型フラッシュメモリデバイス1及び図2~図5の様々な方法は、プログラム電圧の同定を早めるために、マルチレベルのベリファイを使用している。
当業者であれば、本発明の開示内容を保持しながら、本装置並びに本方法に関する多くの修正及び変更をなすことが可能であることに容易に気付くであろう。したがって、上記の開示は、添付の特許請求の範囲の境界及び範囲によってのみ限定されると解釈すべきである。

Claims (14)

  1. プログラム電圧生成回路が、NAND型フラッシュメモリの所定のページに初期プログラム電圧パルスを印加するステップと、
    コントローラが、前記所定のページ内の複数のベリファイレベルをベリファイするステップであって、前記複数のベリファイレベルが、前記所定のページの最低電圧のプログラム状態をベリファイする第1の電圧のベリファイ電圧よりも低い、ステップと、
    前記コントローラが、前記所定のページ内の前記複数のベリファイレベルのうちの1つがベリファイをパスした場合に、後続のプログラム電圧パルスの大きさを判定するステップと、
    前記プログラム電圧生成回路が、前記所定のページに前記後続のプログラム電圧パルスを印加するステップと、
    を含み、
    前記コントローラが、前記所定のページ内の前記複数のベリファイレベルをベリファイする前記ステップが、
    前記複数のベリファイレベルのうちの1つのベリファイレベルを前記コントローラがベリファイするステップと、
    前記ベリファイレベルがベリファイをフェイルした場合に、前記コントローラが前記ベリファイレベルを低下させて、前記複数のベリファイレベルにおけるより低電圧のベリファイレベルを生成するステップと、を含み、
    前記コントローラが前記ベリファイレベルを低下させる前記ステップが、
    前記ベリファイレベルがベリファイをフェイルした場合に、前記コントローラが前記ベリファイレベルを一定量だけデクリメントして、前記より低電圧のベリファイレベルを生成するステップを含む、NAND型フラッシュメモリデバイスのプログラミング方法。
  2. 前記プログラム電圧生成回路が、前記所定のページとは異なる他のページに前記後続のプログラム電圧パルスを印加するステップを含む、
    請求項1に記載の方法。
  3. 前記コントローラが、前記所定のページ内の前記複数のベリファイレベルをベリファイする前記ステップが、
    前記所定のページ内の1つのベリファイレベルを前記コントローラがベリファイするステップを含み、また、
    前記コントローラが前記後続のプログラム電圧パルスの大きさを判定する前記ステップが、
    前記ベリファイレベルがベリファイをパスした場合に、前記ベリファイレベルと前記第1の電圧のベリファイ電圧との差によって、前記コントローラが前記後続のプログラム電圧パルスの大きさを判定するステップ
    を含む、請求項1に記載の方法。
  4. 前記ベリファイレベルを使用して、前記所定のページ内の1つ又は複数のメモリセルが正常に読み出された場合に、前記ベリファイレベルがベリファイをパスする、請求項に記載の方法。
  5. 前記第1の電圧のベリファイ電圧を前記コントローラがベリファイするステップと、
    前記第1の電圧のベリファイ電圧がベリファイをパスした場合に、前記初期プログラム電圧パルス及び前記後続のプログラム電圧パルスに従って、前記コントローラが前記所定のページの前記最低電圧のプログラム状態にプログラムする初期プログラム電圧を同定する、ステップと
    さらに含む、請求項1に記載の方法。
  6. 前記初期プログラム電圧を使用して、前記プログラム電圧生成回路が、前記NAND型フラッシュメモリの前記所定のページ又は別の所定のページの前記最低電圧のプログラム状態をプログラムするステップをさらに含む請求項に記載の方法。
  7. 前記所定のページが8つのプログラム状態を有する、請求項1に記載の方法。
  8. 所定のページ及びその他のページを含むNAND型フラッシュメモリと、
    前記NAND型フラッシュメモリに結合され、前記所定のページに初期プログラム電圧パルスを印加するように構成されたプログラム電圧生成回路と、
    前記NAND型フラッシュメモリ及び前記プログラム電圧生成回路に結合され、前記所定のページ内の複数のベリファイレベルをベリファイし、かつ前記所定のページ内の前記複数のベリファイレベルのうちの1つがベリファイをパスした場合に、後続のプログラム電圧パルスの大きさを判定するように構成されたコントローラであって、前記複数のベリファイレベルが、前記所定のページの最低電圧のプログラム状態をベリファイする第1の電圧のベリファイ電圧よりも低い、コントローラと、を備え、
    前記プログラム電圧生成回路が、前記所定のページに前記後続のプログラム電圧パルスを印加するようにさらに構成されており、
    前記コントローラが、前記所定のページの前記複数のベリファイレベルをベリファイし、前記ベリファイレベルがベリファイをフェイルした場合に、前記ベリファイレベルを低下させて、前記複数のベリファイレベルにおけるより低電圧のベリファイレベルを生成するように構成されており、
    前記コントローラが、前記ベリファイレベルがベリファイをフェイルした場合に、前記所定のページの前記ベリファイレベルを一定量だけデクリメントすることによって前記所定のページ内の前記ベリファイレベルを低下させて、前記より低電圧のベリファイレベルを生成するように構成されている、NAND型フラッシュメモリデバイス。
  9. 前記プログラム電圧生成回路が、前記所定のページとは異なる他のページに前記後続のプログラム電圧パルスを印加するようにさらに構成されている、
    請求項に記載のNAND型フラッシュメモリデバイス。
  10. 前記コントローラが、前記所定のページの前記複数のベリファイレベルをベリファイし、前記ベリファイレベルがベリファイをパスした場合に、前記ベリファイレベルと前記第1の電圧のベリファイ電圧との差によって、前記後続のプログラム電圧パルスの大きさを判定することにより、前記後続のプログラム電圧パルスの大きさを同定するように構成されている、請求項に記載のNAND型フラッシュメモリデバイス。
  11. 前記コントローラが、前記ベリファイレベルを使用して、前記所定のページ内の1つ又は複数のメモリセルが正常に読み出された場合に、前記ベリファイレベルにベリファイをパスさせるように構成されている、請求項10に記載のNAND型フラッシュメモリデバイス。
  12. 前記コントローラが、前記第1の電圧のベリファイ電圧をベリファイし、前記第1の電圧のベリファイ電圧がベリファイをパスした場合に、前記初期プログラム電圧パルス及び前記後続のプログラム電圧パルスに従って、前記所定のページの前記最低電圧のプログラム状態にプログラムする初期プログラム電圧を同定するようにさらに構成されている、請求項に記載のNAND型フラッシュメモリデバイス。
  13. 前記プログラム電圧生成回路が、前記初期プログラム電圧を使用して、前記NAND型フラッシュメモリの前記所定のページ又は別の所定のページの前記最低電圧のプログラム状態をプログラムするようにさらに構成されている、請求項12に記載のNAND型フラッシュメモリデバイス。
  14. 前記所定のページが8つのプログラム状態を有する、請求項に記載のNAND型フラッシュメモリデバイス。
JP2021559122A 2019-05-22 2019-05-22 マルチレベルセルnand型フラッシュメモリデバイスのプログラム方法及びmlc nand型フラッシュメモリデバイス Active JP7295267B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/087903 WO2020232658A1 (en) 2019-05-22 2019-05-22 Method of programming multilevel cell nand flash memory device and mlc nand flash memory device

Publications (2)

Publication Number Publication Date
JP2022528898A JP2022528898A (ja) 2022-06-16
JP7295267B2 true JP7295267B2 (ja) 2023-06-20

Family

ID=68150187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021559122A Active JP7295267B2 (ja) 2019-05-22 2019-05-22 マルチレベルセルnand型フラッシュメモリデバイスのプログラム方法及びmlc nand型フラッシュメモリデバイス

Country Status (7)

Country Link
US (1) US10937514B2 (ja)
EP (1) EP3909050A4 (ja)
JP (1) JP7295267B2 (ja)
KR (1) KR20210118462A (ja)
CN (2) CN110337694B (ja)
TW (1) TWI717781B (ja)
WO (1) WO2020232658A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111933201B (zh) * 2020-08-13 2021-03-23 长江存储科技有限责任公司 用于对存储器***进行编程的方法、装置及存储器***
CN112634968A (zh) * 2021-01-08 2021-04-09 长江存储科技有限责任公司 编程脉冲的方法、装置、计算机可读存储介质和处理器
CN115579030A (zh) * 2021-01-25 2023-01-06 长江存储科技有限责任公司 三维存储器及其控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117508A (ja) 2006-11-03 2008-05-22 Hynix Semiconductor Inc フラッシュメモリ素子のプログラム開始バイアス設定方法及びこれを用いたプログラム方法
JP2011258260A (ja) 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置
JP2012507105A (ja) 2008-10-24 2012-03-22 サンディスク コーポレイション 高分解能可変初期プログラミングパルスを用いた不揮発性メモリのプログラミング

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002319286A (ja) * 2001-04-19 2002-10-31 Hitachi Ltd 不揮発性記憶装置および記憶システム
JP4086583B2 (ja) * 2002-08-08 2008-05-14 シャープ株式会社 不揮発性半導体メモリ装置およびデータ書き込み制御方法
US7453731B2 (en) * 2006-09-12 2008-11-18 Sandisk Corporation Method for non-volatile memory with linear estimation of initial programming voltage
KR20080060799A (ko) * 2006-12-27 2008-07-02 삼성전자주식회사 테스트 시간을 감소할 수 있는 멀티 레벨 셀 낸드 플래시메모리 장치 및 그것의 테스트 방법
US8085591B2 (en) * 2008-05-20 2011-12-27 Micron Technology, Inc. Charge loss compensation during programming of a memory device
KR100953045B1 (ko) * 2008-05-23 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR100965071B1 (ko) * 2008-07-10 2010-06-21 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
US8854887B2 (en) * 2008-07-10 2014-10-07 Hynix Semiconductor Inc. Nonvolatile memory device and method of programming the same
KR100996108B1 (ko) * 2009-01-21 2010-11-22 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR101074539B1 (ko) * 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US8223555B2 (en) 2009-05-07 2012-07-17 Micron Technology, Inc. Multiple level program verify in a memory device
KR102016041B1 (ko) * 2012-10-11 2019-08-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20150061098A (ko) * 2013-11-25 2015-06-04 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 프로그래밍 방법
KR20150094129A (ko) * 2014-02-10 2015-08-19 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9171628B2 (en) * 2014-03-13 2015-10-27 Macronix International Co., Ltd. Incremental step pulse programming (ISPP) scheme capable of determining a next starting pulse based on a current program-verify pulse for improving programming speed
US9576673B2 (en) * 2014-10-07 2017-02-21 Sandisk Technologies Llc Sensing multiple reference levels in non-volatile storage elements
US20160300620A1 (en) * 2015-04-08 2016-10-13 Sandisk Technologies Inc. Multiple bit line voltage sensing for non-volatile memory
TWI550616B (zh) 2015-07-03 2016-09-21 力晶科技股份有限公司 快閃記憶體裝置及其程式化動作的初始化方法
US9792999B2 (en) * 2015-10-30 2017-10-17 SK Hynix Inc. Adaptive scheme for incremental step pulse programming of flash memory
KR102458918B1 (ko) * 2016-02-24 2022-10-25 삼성전자주식회사 메모리 장치 및 메모리 시스템
TWI604449B (zh) 2016-08-31 2017-11-01 旺宏電子股份有限公司 記憶體裝置與其程式化方法
CN113220602B (zh) * 2018-10-09 2023-08-08 长江存储科技有限责任公司 一种闪存器的数据写入方法及闪存器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117508A (ja) 2006-11-03 2008-05-22 Hynix Semiconductor Inc フラッシュメモリ素子のプログラム開始バイアス設定方法及びこれを用いたプログラム方法
JP2012507105A (ja) 2008-10-24 2012-03-22 サンディスク コーポレイション 高分解能可変初期プログラミングパルスを用いた不揮発性メモリのプログラミング
JP2011258260A (ja) 2010-06-07 2011-12-22 Toshiba Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
CN110337694B (zh) 2020-12-18
WO2020232658A1 (en) 2020-11-26
EP3909050A4 (en) 2022-08-24
CN112530497B (zh) 2022-08-12
CN112530497A (zh) 2021-03-19
JP2022528898A (ja) 2022-06-16
CN110337694A (zh) 2019-10-15
TW202044253A (zh) 2020-12-01
US10937514B2 (en) 2021-03-02
TWI717781B (zh) 2021-02-01
EP3909050A1 (en) 2021-11-17
KR20210118462A (ko) 2021-09-30
US20200372963A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
JP7295267B2 (ja) マルチレベルセルnand型フラッシュメモリデバイスのプログラム方法及びmlc nand型フラッシュメモリデバイス
US7116581B2 (en) Nonvolatile semiconductor memory device and method of programming in nonvolatile semiconductor memory device
US8711626B2 (en) Flash memory apparatus and method for generating read voltage thereof
JP2007109364A (ja) フラッシュメモリ素子のプログラム方法
US9792999B2 (en) Adaptive scheme for incremental step pulse programming of flash memory
JP2008181630A (ja) フラッシュメモリ素子のプログラム方法
US9230664B2 (en) Nonvolatile memory and data writing method
TWI528368B (zh) 抹除非揮發性記憶體之方法
US11264091B1 (en) Operating method of generating enhanced bit line voltage and non-volatile memory device
CN112614531B (zh) 3d存储器件及其读取方法
US9672920B2 (en) Electronic device, non-volatile memorty device, and programming method
CN106328202B (zh) 闪存装置及数据擦除方法
US20200143899A1 (en) Programming method for memory device
US6961267B1 (en) Method and device for programming cells in a memory array in a narrow distribution
CN110648713B (zh) 一种闪存存储器及其编程方法、编程***和存储器***
TW201913681A (zh) 編程非揮發性記憶體的方法及記憶體系統
TWI652680B (zh) 記憶體裝置及其編程方法
CN110660445B (zh) 离群位修复方法和存储器装置
TWI567742B (zh) 電子裝置及非揮發性記憶體裝置與編程方法
CN112735500A (zh) 步进编程脉冲操作中决定快速通过写入操作的方法与***
KR101604857B1 (ko) 반도체 메모리 장치의 프로그램 방법
CN111863100A (zh) 一种非易失性存储器的编程方法和装置
JP2010009689A (ja) 不揮発性半導体記憶装置
CN110827904A (zh) 存储器装置及其编程方法
KR20100089507A (ko) 플래시 메모리 소자의 프로그램 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230608

R150 Certificate of patent or registration of utility model

Ref document number: 7295267

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150