(58)【調査した分野】(Int.Cl.,DB名)
前記選択検証動作を実行する段階で、前記一部の目標プログラム状態にプログラムされるメモリーセルのビットラインは、選択的にプリチャージされることを特徴とする請求項1に記載のプログラム方法。
前記順次検証動作は、前記選択検証動作又は先に実行された前記順次検証動作のプログラム検証結果によって、前記メモリーセルを選択的にプリチャージすることを特徴とする請求項6に記載のプログラム方法。
前記順次検証動作を実行する段階で印加される順次検証電圧は、前記選択検証動作を実行する段階で印加される選択検証電圧より高いことを特徴とする請求項1に記載のプログラム方法。
【発明を実施するための形態】
【0030】
本発明の長所及び特徴、そして、それを達成する方法は添付される図面と共に詳細に後述されている実施形態を通じて説明する。しかし、本発明はここで説明される実施形態に限定されず、他の形態で具体化され得る。但し、本実施形態は本発明が属する技術分野で通常の知識を有する者に本発明の技術的思想を容易に実施できる程度に詳細に説明するために提供されている。
【0031】
図面において、本発明の実施形態は示した特定形態に制限されず、明確性を期するために誇張されたものである。本明細書で特定の用語が使われるが、これは本発明を説明するための目的で使われることであって、意味限定や特許請求の範囲に記載された本発明の権利範囲を制限するために使われるのではない。
【0032】
本明細書で、‘及び/又は’という表現は前後に羅列された構成要素の中少なくとも1つを含む意味で使われる。また、‘連結される/結合される’という表現は他の構成要素と直接的に連結されるか、或いは他の構成要素を通じて間接的に連結されることを含む意味で使われる。本明細書で単数形は文句で特別に言及しない限り複数形も含む。また、明細書で使われる‘含む’又は‘有する’で言及された構成要素、段階、動作及び要素は1つ以上の他の構成要素、段階、動作及び要素の存在又は追加を意味する。
【0033】
以下、図面を参照して本発明の実施形態について詳細に説明する。
図1は本発明の実施形態による不揮発性メモリー装置を例示的に示すブロック図である。
【0034】
本発明の実施形態による不揮発性メモリー装置は、NANDフラッシュメモリー装置で構成される。しかし、不揮発性メモリー装置がNANDフラッシュメモリー装置に限定されないことは分かるはずである。例えば、不揮発性メモリー装置はNO
Rフラッシュメモリー装置、PRAM(Phase−change RAM)、FRAM(登録商標)(Ferroelectric RAM)、MRAM(Magnetic RAM)等のような不揮発性メモリー装置の中の1つで構成され得る。
【0035】
図1を参照すれば、フラッシュメモリー装置100はメモリーセルアレイ(memory cell array)110、行デコーダー(row decoder)120、制御ロジック(control logic)ユニット130、及び、データ入出力回路(data input/output circuit)140を含む。また、制御ロジックユニット130は電圧発生器(voltage generator)135を含む。
【0036】
メモリーセルアレイ110はデータを格納するためのメモリーセルを含む。複数のメモリーセルはページを構成する。複数のページはブロックを構成する。フラッシュメモリー装置は構造的な特徴によってページ単位に読出し又は書込み動作を実行し、ブロック単位に消去動作を実行する。
【0037】
各々のメモリーブロックは複数のビットラインBL0〜BLmに連結された複数のセルストリングで構成される。
図1には例示的に、1つのブロックが示している。各々のセルストリングはストリング選択ライン(string select line)SSLに連結されるストリング選択トランジスター(string select transistor)SST、複数のワードラインWL0〜WLnに連結される複数のメモリーセルM0〜Mn、及び、接地選択ライン(ground select line)GSLに連結される接地選択トランジスター(ground select transistor)GSTを含む。ストリング選択トランジスターSSTは、ビットラインBL0に連結され、接地選択トランジスターGSTは、共通ソースライン(commnon source line)CSLに連結される。
【0038】
メモリーセルアレイ110の各々のメモリーセルは、シングルビットデータ(single bit data)又はマルチビットデータ(multi bit data)を格納することができる。シングルビットデータを格納するメモリーセルは、シングルレベルセル(single level cell)SLCと称し、2ビット以上のマルチビットデータを格納するメモリーセルは、マルチレベルセル(multi level cell)MLCと称する。シングルレベルセルSLCは閾値電圧によって、消去状態と1つのプログラム状態とを有する。マルチレベルセルMLCは閾値電圧によって、消去状態と複数のプログラム状態とを有する。
【0039】
行デコーダー120は複数のワードラインを通じてメモリーセルアレイ110と連結される。行デコーダー120にはアドレスADDRが入力される。行デコーダー120は行アドレス(row address)によって、メモリーセルアレイ110のブロック又はページを選択する。制御ロジックユニット130は外部装置(例えば、ホスト、メモリーコントローラ、メモリーインターフェース)のコマンドCMD、及び、制御信号(CTRL)に応答してフラッシュメモリー装置100の動作全般を制御する。例えば、制御ロジックユニット130はフラッシュメモリー装置100の読出し、書込み(又はプログラム)、消去(又はイレース)動作を制御する。このような動作を実行するために、制御ロジックユニット130は電圧発生器135を制御してバイアス(bias)電圧を発生させる。
【0040】
制御ロジックユニット130に含まれた電圧発生器135は読出し、書込み、消去動作の時にビットラインに提供されているバイアス電圧を発生させる。また、電圧発生器135は読出し、書込み、消去動作の時にワードラインに提供されるバイアス電圧を発生する。例えば、読出し動作の時に、電圧発生器135は選択ワードラインに提供される選択読出し電圧V
RDと非選択ワードラインに提供される非選択読出し電圧V
READ等を発生させる。他の例として、書込み動作の時に、電圧発生器135はプログラム電圧V
PGMと検証電圧V
VRF等を発生させる。
【0041】
データ入出力回路140は複数のビットラインBL0〜BLmを通じてメモリーセルアレイ110と連結される。データ入出力回路140は複数のデータ入出力回路141_0〜141_mを含む。データ入出力回路141_0〜141_mの各々は複数のビットラインBL0〜BLmに各々連結される。データ入出力回路140はデータ入出力バッファー(図示せず)を通じてデータを出力/入力する。
【0042】
データ入出力回路140は、複数のメモリーセルの中で選択メモリーセルに格納されたデータを、ビットラインを通じて読出す。読出されたデータはデータ入出力バッファーを通じてフラッシュメモリー装置の外部に出力される。また、データ入出力回路140は複数のメモリーセルの中で選択メモリーセルにプログラムされるデータを一時的に格納する。データ入出力回路140に格納されたデータはプログラム動作の時に該当メモリーセルにプログラムされる。このようなデータ入出力回路140の動作は制御ロジックユニット130の制御によって実行される。
【0043】
フラッシュメモリー装置100は、プログラム動作の時に、選択ワードラインにプログラム電圧V
PGMを印加した後、プログラム検証動作(program verify operation)を実行する。プログラム検証動作はメモリーセルの閾値電圧が目標プログラム状態(target program state)に到達されたか否かを検証するための動作である。プログラム検証動作は選択ワードラインに連結された複数のメモリーセルに対して同時に実行される。したがって、複数のメモリーセルには、プログラム検証を必要とするセルと必要としないセルとが含まれている。ここで、プログラム検証を必要としないメモリーセルは、目標プログラム状態より低い閾値電圧を有するメモリーセルであり得る。又は、プログラム検証を必要としないメモリーセルは、閾値電圧が目標プログラム状態に到達したメモリーセルであり得る。又は、プログラム検証を必要としないメモリーセルは、臨時プログラム状態から目標プログラム状態にプログラムされるメモリーセルである場合、その他の臨時プログラム状態からプログラムされるメモリーセルであり得る。
【0044】
本発明の実施形態によるプログラム検証動作は、選択検証動作(selective verify operation)と順次検証動作(sequentail verify operation)とで構成される。選択検証動作の時に、データ入出力回路140は、格納されたデータの臨時プログラム状態にしたがって、該当ビットラインを選択的にプリチャージする。例えば、同一の臨時プログラム状態からプログラムされるメモリーセルがプリチャージできるように、該当データ入出力回路140はビットラインにビットライン電圧を印加する。反面、選択検証動作が実行される臨時プログラム状態を除外した残りの臨時プログラム状態からプログラムされるメモリーセルはプリチャージできないように、該当データ入出力回路140はビットラインに接地電圧を印加する。
【0045】
選択検証動作によって、メモリーセルがプログラムパス(pass)されたと判別され
れば、即ち、オフセル(off cell)と判別されれば、オフセルと判別されたメモリーセルに対してのみ、以後の順次検証動作が実行される。順次検証動作の時に、データ入出
力回路140は先に実行された選択検証動作、又は先に実行された順次検証動作結果によって、各々のビットラインを選択的にプリチャージする。例えば、先に実行された選択検証動作、又は先に実行された順次検証動作でプログラムパスされた(即ち、オフセル
と判別された)メモリーセルのビットラインがプリチャージできるように、該当データ入出力回路140はビットラインにビットライン電圧を印加する。反面、先に実行された選択検証動作、又は先に実行された順次検証動作でプログラムフェイルになった(即ち、オンセルと判別された)メモリーセルのビットラインがプリチャージできないように、該当データ入出力回路140はビットラインに接地電圧を印加する。
【0046】
したがって、本発明の実施形態によると、プログラム検証を必要としないメモリーセル(例えば、目標プログラム状態より低い閾値電圧を有するメモリーセル、目標プログラム状態に到達したメモリーセル、又はその他の臨時プログラム状態からプログラムされるメモリーセル)は、以後のプログラム検証動作の時にオンセル電流が流れない。オンセル電流が減少すれば、共通ソースラインCSLに電流が流れる時発生する共通ソースラインCSLのノイズが減少される。このような動作は後述する
図7を参考して詳細に説明される。
【0047】
図2は
図1に示したメモリーセルアレイの構造を例示的に示す回路図である。
図2を参照すれば、メモリーセルアレイ110に含まれる1つのメモリーブロックを例示的に示している。メモリーセルアレイ110は複数のメモリーブロックを含み、各々のメモリーブロックは複数のビットラインBL0〜BLmに連結された複数のセルストリングを含む。各々のセルストリングは、ビットラインBLと共通ソースラインCSLとの間に連結されている複数のメモリーセルM0〜Mnを含む。各々のセルストリングは、ストリング選択ラインSSに連結されるストリング選択トランジスターSSTと、複数のワードラインWL0〜WLnに連結される複数のメモリーセルと、接地選択ラインGSLに連結される接地選択トランジスターGSTとを含む。
【0048】
ストリング選択トランジスターSSTは、ビットラインBL0に連結され、接地選択トランジスターGSTは、共通ソースラインCSLに連結される。また、抵抗R
P0〜R
Pmは共通ソースラインCSLに存在する抵抗成分を表す。例えば、抵抗R
P0〜R
Pmは共通ソースラインCSLの寄生抵抗、又は寄生キャパシタンス(以下、寄生抵抗等と称する)を表す。
【0049】
プログラム検証動作又は読出し動作の時に、セルストリングに流れる電流量はオンセルの数によって変わる。そして、共通ソースライン電圧V
CSLはセルストリングに流れる電流量によって変わる。オンセルの数による共通ソースライン電圧V
CSLの変化を説明するために、次のように2つの仮定をする。第一に、選択ワードラインWL0に連結されているメモリーセルM0は消去状態であり、選択ワードラインWL0に連結されているメモリーセルM0_1はプログラム状態である。第二に、選択ワードラインWL0に連結されているメモリーセルがオンセルである時、各々のセルストリングを通じて流れる電流はi0、i1であると仮定する。
【0050】
このような仮定によれば、オンセルの数によって、共通ソースライン電圧VCSLは変わる。例えば、ビットラインBL0の選択ワードラインWL0に連結されたメモリーセルM0のみがオンセルであり、ビットラインBL1の選択ワードラインWL0に連結されたメモリーセルM0_1がオフセルであれば、抵抗RP0の両端にかかる電圧はi0×RP0になって、共通ソースライン電圧VCSLが発生される。他の例として、ビットラインBL0、BL1の選択ワードラインWL0に連結されたメモリーセルM0、M0_1がオンセルになると、抵抗RP0の両端にかかる電圧は
(i0+i1)×RP0P0になって抵抗RP1の両端にかかる電圧はi1×RP1になって、共通ソースライン電圧VCSLが発生する。これは読出し又はプログラム検証動作の時に、オンセルの数が変われば、共通ソースライン電圧VCSLも変わることができるということを意味する。したがって、本発明の実施形態によるプログラム検証動作は、選択プログラム検証動作と順次プログラム検証動作とを通じて、メモリーセルを選択的にプリチャージして、オンセルの数を減少させる。
【0051】
図3はメモリーセルの閾値電圧の誤謬を示す図面である。
図3を参照すれば、メモリーセルアレイ(
図1の110参照)に含まれる1つのメモリーセルが例示的に示している。共通ソースラインCSLに電流が流れる時、寄生抵抗等によって、共通ソースラインCSLの電圧変化が発生できる。このような共通ソースラインの電圧変化は共通ソースラインCSLのノイズ電圧、即ち、共通ソースライン電圧V
CSLになる。
【0052】
一方、メモリーセルの制御ゲートGは、電圧発生器(
図1の135参照)から提供されている電圧によって制御される。電圧発生器135は接地GNDを基準に電圧V
GGを発生させる。しかし、メモリーセルのプログラム検証動作又は読出し動作の時に形成されるチャンネル(channel)は、メモリーセルの制御ゲートGとソースSとの間の電圧差V
GSによって制御される。したがって、メモリーセルの制御ゲートGに実際に供給された電圧V
GGとメモリーセルのチャンネル形成に影響を及ぼす電圧V
GSとの間に電圧差V
CSLが存在する。
【0053】
このような共通ソースライン電圧V
CSLは、プログラム検証動作又は読出し動作の時に、データ入出力回路(
図1の140参照)の感知誤謬を発生させ得る。この共通ソースライン電圧V
CSLはメモリーセルのデータによるオン又はオフ状態に依存する。したがって、共通ソースライン電圧V
CSLは電圧が一定でないし、頻繁に変化が起き、容易に除去することができない。
【0054】
図4は選択ワードラインにプログラム検証電圧が印加される時のオンセルの数を示す図面である。
【0055】
図4を参照すれば、例示的に、1ビットのデータを格納するシングルレベルセルSLCの閾値電圧分布が示されている。メモリーセルは閾値電圧によって消去状態Eとプログラム状態Pで区分される。読出し動作の時に、選択ワードラインには選択読出し電圧V
RDが提供される。一方、プログラム検証動作の時に、選択ワードラインにはプログラム検証電圧V
VRFが提供される。プログラム検証電圧V
VRFが印加される時、メモリーセルの中でオンセルと識別されるセルは、斜線を引いた部分に含まれるセルである。即ち、消去状態Eであるメモリーセルがオンセルと識別される。そして、プログラム状態Pでプログラムされるセルの中から、閾値電圧が未だプログラム検証電圧V
VRFを越えていないメモリーセルP’がオンセルと識別できる。
【0056】
図2で説明した通り、共通ソースラインCSLは一般的にメタルライン(metal line)を通じて接地端子に連結される。メタルラインには抵抗成分が存在するため、共通ソースラインCSLに電流が流れれば、共通ソースライン電圧V
CSLの変化が発生する。ここで、共通ソースライン電圧V
CSLはオンセルによるセル電流に比例する。例えば、選択ワードラインに連結されたメモリーセルのオンセルの数が多くなって共通ソースラインCSLに流れる電流量が増加すれば、共通ソースライン電圧V
CSLが増加できる。このような共通ソースライン電圧V
CSLの変化は、共通ソースラインCSLに存在するノイズになる。
【0057】
図5は共通ソースラインに存在するノイズ電圧の影響を受けるメモリーセルの閾値電圧分布を示す図面である。
【0058】
図5を参照すれば、十分にプログラムできないメモリーセルの閾値電圧分布が示されている。上述されたように、プログラム検証動作の時にオンセルの数が多くなれば共通ソースラインCSLに流れる電流量が増加する。共通ソースラインCSLに流れる電流量が増加すれば、寄生抵抗等の影響によって、共通ソースライン電圧V
CSLが高まる。共通ソースライン電圧V
CSLが高まれば、データ入出力回路(
図1の140参照)が感知(センシング)する電流量が減少する。
【0059】
データ入出力回路140が感知する電流量が減少すれば、メモリーセルの閾値電圧分布がプログラム状態Pに到達したことと看做して、プログラム動作が完了することができる。即ち、メモリーセルが十分にプログラムできなかったにもかかわらず、プログラムされたと検証されて、プログラム動作が完了され得る。この場合、
図5の点線中の斜線を引いた部分に分布するメモリーセルによって、メモリーセルの閾値電圧分布が広くなる。プログラム動作が完了された後に、閾値電圧がプログラム検証電圧V
VRFを越えていない状態のメモリーセルは、プログラムできないメモリーセルとして読まれることができる。
【0060】
図6は本発明の実施形態によるマルチレベルセルのプログラム状態を例示的に示す図面である。
【0061】
マルチレベルセルMLCは、閾値電圧によって消去状態と複数のプログラム状態とを有する。マルチレベルセルMLCにおいて、データの信頼性を高めるために複数のプログラム状態の閾値電圧分布を狭くすることが重要である。
図6に示したように、閾値電圧分布を狭くするために、マルチレベルセルMLCは臨時プログラム(temporary program)動作によって形成された臨時プログラム状態TST1〜TST4から目標プログラム状態ST1〜ST16にプログラムできる。臨時プログラム状態TST1〜TST4及び目標プログラム状態ST1〜ST16は、ページのデータの値によって決定される。例えば、臨時プログラム状態TST1〜TST4及び目標プログラム状態ST1〜ST16は、第1及び第2下位ビットLSBページと、第1及び第2上位ビットMSBページとのデータの値によって決定される。
【0062】
図6では例示的に4ビットのデータを格納するマルチレベルセルMLCの閾値電圧分布が例示されている。メモリーセルはページのデータの値によって16個の状態ST1〜ST16の中でいずれか1つにプログラムされる。閾値電圧分布を狭くするために、メモリーセルは臨時プログラム状態TST1から目標プログラム状態ST2〜ST4にプログラムされる。このようなプログラム方法は矢印〔1〕で示している。また、矢印〔2〕、〔3〕、及び〔4〕で示したように、メモリーセルは臨時プログラム状態TST2、TST3、及びTST4の各々から、目標プログラム状態ST5〜ST8、ST9〜ST12、及びST13〜ST16の各々にプログラムされる。
【0063】
理解を助けるために臨時プログラム状態TST1からプログラムされるメモリーセルについて、例を挙げて説明する。臨時プログラム状態TST1(即ち、‘11’状態)を有するメモリーセルは、第1及び第2上位ビットMSBによって、目標プログラム状態ST1(即ち、‘1111’状態)を維持する。又は、臨時プログラム状態TST1(即ち、‘11’状態)を有するメモリーセルは、第1及び第2上位ビットMSBによって、目標プログラム状態ST2(即ち、‘0111’状態)、目標プログラム状態ST3(即ち、‘0011’状態)、及び目標プログラム状態ST4(即ち、‘1011’状態)にプログラムされる。言い換えれば、メモリーセルは臨時プログラム状態に基づいて、目標プログラム状態にプログラムされる。したがって、本発明の実施形態によれば、目標プログラム検証動作の時に、目標プログラム状態のみでなく臨時プログラム状態に対してもプログラム検証動作が実行される。また、目標プログラム検証動作の時に、臨時プログラム状態と目標プログラム状態にしたがって、メモリーセルが選択的にプリチャージされる。
【0064】
図7は本発明の実施形態によるプログラム動作を例示的に示す流れ図である。
【0065】
フラッシュメモリー装置(
図1の100参照)は、メモリーセルの閾値電圧分布を狭くするために増加型ステップパルスプログラム(incremetal step pulse program)ISPP方式を使用する。増加型ステップパルスプログラムISPP方式によれば、制御ロジックユニット(
図1の130参照)は選択ワードラインに印加されるプログラム電圧が段階的に増加されるように、電圧発生器(
図1の135)を制御する。プログラム電圧が、各プログラムループで所定の増加分(△V)ずつ増加して、プログラム動作が完了する時まで選択ワードラインに印加されるために、プログラム動作は複数のプログラムループ(program loop_1〜program loop_m)を有する。
【0066】
プログラムループの各々はプログラム動作とプログラム検証動作とを含む。プログラム動作の時、メモリーセルは与えられたバイアス条件(例えば、ワードラインに印加されるプログラム電圧及びビットラインに印加されるビットライン電圧)によってプログラムされる。プログラム検証動作の時、メモリーセルが目標プログラム状態までプログラムされたか否かが検証される。制御ロジックユニット130はメモリーセルが全てプログラムされる時まで所定の回数の内でプログラムループを反復的に実行する。
【0067】
図示していないが、プログラム検証動作は、プリチャージ(precharge)区間と、ディベロプ(develop)区間と、センシング(sensing)区間と、ディスチャージ(discharge)区間とで構成される。プリチャージ区間でビットラインに所定の電圧が印加され、ディベロプ区間でワードラインに検証電圧V
VRFが印加され、センシング区間でメモリーセルの状態が判別される。プログラム検証動作は読出されたデータが外部に出力されないという点を除外すれば、読出し動作と同一であり得ることは理解できる。
【0068】
プログラム検証動作は複数の選択検証動作(selective verify_1乃至selective verify_n)と複数の順次検証動作(sequential verify_1乃至sequential verify_n)とで構成される。選択検証動作は目標プログラム状態にプログラムされたか否かを検証する前に、オンセル電流を減少させるために臨時プログラム状態にしたがって、メモリーセルを検証する。順次検証動作は先に実行された選択検証動作、又は先に実行された順次検証動作の結果によって、メモリーセルを検証する。したがって、順次検証動作各々は選択検証動作以後に実行される。また、順次検証動作各々は臨時プログラム状態からプログラムできる目標プログラム状態の数ぐらい実行される。例示的に、
図7では順次検証動作の各々が複数の順次検証動作(sequential verify_1a乃至sequential verify_1z)で構成されている。
【0069】
図1に示したように、データ入出力回路(
図1の141_0〜141_m参照)の各々は、ビットラインBL0〜BLmに各々対応して構成される。選択検証動作が実行される間に、データ入出力回路141_0〜141_mの各々は、格納されたデータの臨時プログラム状態にしたがって、各々のビットラインを選択的に活性化する。例えば、選択検証動作が実行される間に、データ入出力回路141_0〜141_mの各々は、格納されたデータの臨時プログラム状態毎に該当ビットラインをプリチャージする。
【0070】
選択検証動作が完了すれば、プリチャージされたビットラインに連結されたメモリーセルのプログラム状態(例えば、プログラムパス又はフェイル)は、メモリーセルの状態によって決定され、プログラム状態は該当データ入出力回路に格納される。反面、プリチャージできないビットラインに連結されたメモリーセル(即ち、他の臨時プログラム状態からプログラムされるメモリーセル)のプログラム状態(例えば、プログラムパス又はフェイル)は、プログラムフェイルになったとして該当データ入出力回路に格納される。
【0071】
選択検証動作によって、プログラムフェイルと判別され
たメモリーセル(即ち、オンセルと判別されたメモリーセル)は、以後の順次検証動作が実行されない。言い換えれば、選択検証動作によってオフセルと判別されたメモリーセルのみが、以後の順次検証動作で検証される。したがって、順次検証動作の時にオンセルの数が減ることができる。
【0072】
順次検証動作が実行される間に、データ入出力回路141_0〜141_mの各々は、先に実行された選択検証動作、又は先に実行された順次検証結果によって、各々のビットラインを選択的に活性化する。例えば、順次検証動作が実行される間に、データ入出力回路141_0〜141_mの各々は、先に実行された選択検証動作又は先に実行された順次検証動作でプログラムパスと判別されたメモリーセル(即ち、オフセルと判別されたメモリーセル)のビットラインのみをプリチャージする。言い換えれば、目標プログラム状態に近接しないメモリーセルは、順次検証動作の対象から除外される。したがって、順次検証動作の時にオンセルの数が減ることができる。
【0073】
図8は本発明の実施形態によるマルチレベルセルのプログラム検証電圧を例示的に示す図面である。
【0074】
図7で説明した通り、本発明の実施形態による1つのプログラム検証動作は、複数の選択検証動作と複数の順次検証動作とで構成される。
図8を参照すれば、制御ロジックユニット(
図1の130参照)は、選択ワードラインに選択検証電圧V
SLVRF11、V
SLVRF01、V
SLVRF00、及びV
SLVRF10の各々を印加して、対応する選択検証動作(selective verify 11、selective verify 01、selective verify 00、及びselective verify 10)を実行する。また、制御ロジックユニット130は選択ワードラインに順次検証電圧V
SQVRFxx11、V
SQVRFxx01、V
SQVRFxx00、及びV
SQVRFxx10の各々を印加して、対応される順次検証動作(sequential verify 11、sequential verify 01、sequential verify 00、及びsequential verify 10)を実行する。
【0075】
図7で説明したプログラム検証動作の理解を助けるために、臨時プログラム状態TST1から目標プログラム状態ST2、ST3、及びST4でプログラムされるメモリーセルのプログラム動作を
図1及び
図8を参照して説明する。
【0076】
制御ロジックユニット130はデータ入出力回路140に格納されたデータによって、目標プログラム状態ST2、ST3、及びST4でプログラムするためのプログラム電圧V
PGM)を選択ワードラインに印加する。その後、制御ロジックユニット130はプログラム検証動作を実行するためにプログラム検証電圧V
VRFを選択ワードラインに印加する。即ち、制御ロジックユニット130は、第1選択検証電圧V
SLVRF11及び第1乃至第3順次検証電圧V
SQVRFxx11を順次的に選択ワードラインに印加する。
【0077】
臨時プログラム状態TST1に対する第1選択検証動作(selective verify 11)が実行される間に、臨時プログラム状態TST1からプログラムされるメモリーセル(即ち、目標プログラム状態がST2、ST3、及びST4であるメモリーセル)のデータ入出力回路のみが各々のビットラインをプリチャージする。制御ロジックユニット130が第1選択検証電圧V
SLVRF11を選択ワードラインに印加すれば、プリチャージされたビットラインに連結されたメモリーセルのプログラム状態(例えば、プログラムパス又はフェイル)は、メモリーセルの状態によって決定され、プログラム状態は該当データ入出力回路に格納される。この時、臨時プログラム状態TST1からプログラムできないメモリーセル(即ち、臨時プログラム状態TST2、TST3、及びTST4からプログラムされるメモリーセル)のデータ入出力回路は、プログラム状態をプログラムフェイルになった(即ち、メモリーセルがオンセルである)として格納する。
【0078】
第1選択検証動作(selective verify 11)が実行された後、目標プログラム状態ST2に対する第1順次検証動作(sequential verify 11a)が実行される。第1順次検証動作(sequential verify 11a)が実行される間に、第1選択検証動作(selective verify 11)の検証結果がプログラムパスとして格納されたデータ入出力回路(即ち、オフセルであると判別されたメモリーセルのデータ入出力回路)のみが、各々のビットラインをプリチャージする。制御ロジックユニット130が第1順次検証電圧V
SQVRF0111を選択ワードラインに印加すれば、プリチャージされたビットラインに連結されたメモリーセルのプログラム状態(例えば、プログラムパス又はフェイル)は、メモリーセルの状態によって決定され、プログラム状態は該当データ入出力回路に格納される。
【0079】
第1順次検証動作(sequential verify 11a)が実行された後、目標プログラム状態ST3に対する第2順次検証動作(sequential verify 11b)が実行される。第2順次検証動作(sequential verify 11b)が実行される間に、第1順次検証動作(sequential verify 11a)の検証結果がプログラムパスとして格納されたデータ入出力回路(即ち、オフセルであると判別されたメモリーセルのデータ入出力回路)のみが、各々のビットラインをプリチャージする。制御ロジックユニット130が第2順次検証電圧V
SQVRF0011を選択ワードラインに印加すれば、プリチャージされたビットラインに連結されたメモリーセルのプログラム状態(例えば、プログラムパス又はフェイル)は、メモリーセルの状態によって決定され、プログラム状態は該当データ入出力回路に格納される。この時、第1順次検証電圧(V
SQVRF0111)より大きい閾値電圧を有するメモリーセルと、第2順次検証電圧(V
SQVRF0011)より小さい閾値電圧を有するメモリーセルとには、オンセル電流が流れる。即ち、閾値電圧がA区間の間に位置するメモリーセルには、オンセル電流が流れる。
【0080】
一方、臨時プログラム状態TST2から目標プログラム状態ST5、ST6、ST7、及びST8でプログラムされるメモリーセルの中で、閾値電圧がB区間の間に位置するメモリーセルは、第2順次検証動作(sequential verify 11b)が実行される間にオンセル電流が流れない。なぜならば、臨時プログラム状態TST1以外の臨時プログラム状態TST2、TST3、及びTST4からプログラムされるメモリーセルのデータ入出力回路の場合、第1選択検証動作(selective verify 11)の時にプログラム状態がプログラムフェイルになったとして格納され(即ち、オンセルであると判別され)、第2順次検証動作(sequential verify 11b)の時に該当ビットラインがプリチャージできなかったためである。したがって、オンセル電流は減少する。
【0081】
第2順次検証動作(sequential verify 11b)が実行された後、目標プログラム状態ST4に対する第3順次検証動作(sequential verify 11c)が実行される。第3順次検証動作(sequential verify 11c)が実行される間に、第2順次検証動作(sequential verify 11b)の検証結果がプログラムパスされたとして格納されたデータ入出力回路(即ち、オフセルであると判別されたメモリーセルのデータ入出力回路)のみが各々のビットラインをプリチャージする。制御ロジックユニット130が第3順次検証電圧V
SQVRF1011を選択ワードラインに印加すれば、プリチャージされたビットラインに連結されたメモリーセルのプログラム状態(例えば、プログラムパス又はフェイル)は、メモリーセルの状態によって決定され、プログラム状態は該当データ入出力回路に格納される。この時、第2順次検証電圧V
SQVRF0011より大きい閾値電圧を有するメモリーセルと、第3順次検証電圧V
SQVRF1011より小さい閾値電圧を有するメモリーセルとには、オンセル電流が流れる。即ち、閾値電圧がC区間の間に位置するメモリーセルには、オンセル電流が流れる。
【0082】
一方、臨時プログラム状態TST2から目標プログラム状態ST5、ST6、ST7、及び
ST8にプログラムされるメモリーセルの中で、閾値電圧がC区間の間に位置するメモリーセルは、第3順次検証動作(sequential verify 11c)が実行される間にオンセル電流が流れない。なぜならば、臨時プログラム状態TST1以外の臨時プログラム状態TST2、TST3、及びTST4からプログラムされるメモリーセルのデータ入出力回路の場合、第1選択検証動作の時にプログラム状態がプログラムフェイルになったとして格納され(即ち、オンセルであると判別され)、第3順次検証動作(sequential verify 11c)の時に該当ビットラインがプリチャージできなかったためである。したがってオンセル電流は減少する。
【0083】
図9は本発明の実施形態によるプログラム動作のバイアス条件を例示的に示す図面である。
【0084】
図8及び
図9を参照すれば、制御ロジックユニット(
図1の130参照)はデータ入出力回路(
図1の140参照)に格納されたデータによって、目標プログラム状態にプログラムするためのプログラム電圧V
PGMを選択ワードラインに印加する。その後、制御ロジックユニット130はプログラム検証動作を実行するためにプログラム検証電圧V
VRFを選択ワードラインに印加する。即ち、制御ロジックユニット130は第1選択検証電圧V
SLVRF11、第1乃至第3順次検証電圧V
SQVRFxx11、第2選択検証電圧V
SLVRF01、第4乃至第7順次検証電圧V
SQVRFxx01、第3選択検証電圧V
SLVRF00、第8乃至第11順次検証電圧V
SQVRFxx00、第4選択検証電圧V
SLVRF10、及び第12乃至第15順次検証電圧V
SQVRFxx10を順次的に選択ワードラインに印加する。
【0085】
プログラム電圧が、所定の増加分(△V)ずつ増加し、プログラム動作が完了する時まで選択ワードラインに印加されるため、プログラム検証電圧(選択検証電圧及び順次検証電圧)が、プログラム電圧が印加される時毎に順次的に印加される。印加されるプログラム検証電圧(選択検証電圧及び順次検証電圧)は印加される順に順次増加される。即ち、第1選択検証電圧V
SLVRF11が最も小さい電圧の値であり、第15順次検証電圧VS
QVRF1110が最も大きい電圧の値である。また、プログラム検証電圧(選択検証電圧及び順次検証電圧)各々はプログラム電圧より小さい電圧で印加される。
【0086】
図10は本発明の実施形態によるプログラム動作を例示的に示す順序図である。本発明の実施形態によるプログラム動作は
図1及び
図10を通じて説明される。
【0087】
制御ロジックユニット130はデータ入出力回路140に格納されたデータによって、目標プログラム状態にプログラムするためのプログラム電圧V
PGMを選択ワードラインに印加する(S110段階)。プログラム電圧V
PGMを印加した後、制御ロジックユニット130は臨時プログラム状態によって選択検証動作を実行する(S120段階)。選択検証動作が実行される間、データ入出力回路140の各々は、格納されたデータの臨時プログラム状態に対する選択検証動作が実行される場合のみ、該当ビットラインを選択的にプリチャージする。制御ロジックユニット130は選択検証電圧V
SLVRFが選択ワードラインに印加されるように、電圧発生器135を制御する。選択検証動作が完了すれば、プリチャージされたビットラインに連結されたメモリーセルのプログラム状態は、メモリーセルの状態によって決定され、プログラム状態は該当データ入出力回路に格納される。
【0088】
選択検証動作が実行された後、制御ロジックユニット130は選択検証動作が実行された臨時プログラム状態からプログラムできる目標プログラム状態によって順次検証動作を実行する(S130段階)。順次検証動作が実行される間、データ入出力回路140の各々は、先に実行された選択検証動作、又は先に実行された順次検証結果によって、該当ビットラインを選択的にプリチャージする。即ち、データ入出力回路140の各々は、先に実行された選択検証動作、又は先に実行された順次検証動作でプログラムパスになったメモリーセルのビットラインのみをプリチャージする。
【0089】
制御ロジックユニット130は順次検証電圧V
SQVRFが選択ワードラインに印加されるように、電圧発生器135を制御する。順次検証動作が完了すれば、プリチャージされたビットラインに連結されたメモリーセルのプログラム状態は、メモリーセルの状態によって決定され、プログラム状態は該当データ入出力回路に格納される。
【0090】
順次検証動作は複数の順次検証動作で構成される。制御ロジックユニット130は選択検証動作が実行された臨時プログラム状態からプログラムできる全ての目標プログラム状態に対して、順次検証動作が実行されたか否かを判別する(S140段階)。選択検証動作が実行された臨時プログラム状態からプログラムできる全ての目標プログラム状態に対する順次検証動作が実行できない場合、制御ロジックユニット130は残りの目標プログラム状態に対する順次検証動作(S130段階)を閾値電圧大きさが小さい目標プログラム状態から順次的に実行する。
【0091】
選択検証動作が実行された臨時プログラム状態からプログラムできる全ての目標プログラム状態に対する順次検証動作が実行された場合、制御ロジックユニット130は全ての臨時プログラム状態に対する選択検証動作が実行されたか否かを判別する(S150段階)。このような臨時プログラム状態は、メモリーセルが格納することができるビット数によって決定される。全ての臨時プログラム状態に対して選択検証動作が実行できない場合、制御ロジックユニット130は残りの臨時プログラム状態に対する選択検証動作(S120段階)を閾値電圧大きさが小さい臨時プログラム状態から順次的に実行する。
【0092】
全ての臨時プログラム状態に対する選択検証動作と、全ての目標プログラム状態に対する順次検証動作とが、閾値電圧の大きさによって順次に実行された場合、制御ロジックユニット130はプログラムされるメモリーセルの全てがプログラムパスになったか否かを確認する(S160段階)。プログラムされるメモリーセルの全てがプログラムパスされない場合、制御ロジックユニット130はプログラム動作を終了する。仮に、プログラムされるメモリーセルの全がプログラムパスできない場合、制御ロジックユニット130は定められた回数の内で、プログラム電圧を印加する動作(S110段階)、選択検証動作(S120段階)、及び順次検証動作(S130段階)を反復的に実行する。
【0093】
本発明の実施形態によるプログラム検証動作は、選択検証動作(selective verify operation)と順次検証動作(sequentail verify operation)とで構成される。選択検証動作の時に、データ入出力回路140は格納されたデータの臨時プログラム状態によって、該当ビットラインを選択的にプリチャージする。順次検証動作の時に、データ入出回路140は先に実行された選択検証動作、又は先に実行された順次検証動作結果によって、各々のビットラインを選択的にプリチャージする。したがって、プログラム検証を必要としないメモリーセル(例えば、目標プログラム状態より低い閾値電圧を有するメモリーセル、目標プログラム状態に到達したメモリーセル、又はその他の臨時プログラム状態からプログラムされるメモリーセル)は、以後のプログラム検証動作の時にオンセル電流が流れない。オンセル電流が減少すれば、共通ソースラインCSLに電流が流れる時に発生する共通ソースラインCSLのノイズ電圧が減少する。
【0094】
図11は本発明の実施形態による不揮発性メモリー装置を含む使用者装置を例示的に示すブロック図である。
【0095】
図11を参照すれば、データ格納装置1000はソリッドステートドライブ(solid state drive、以下、‘SSD’と称する)であり得る。SSD1100はSSDコントローラ(SSD controller)1200と、バッファーメモリー装置(buffer memory device)1300と、格納媒体1400とを含む。本発明の実施形態によるSSD1100はスーパーキャパシター(super capacitors)を含む臨時電源回路をさらに含むことができる。このような臨時電源回路は、急なパワーオフ(sudden power off)が発生する場合、SSD1100が正常に終了されるように電源を供給できる。
【0096】
SSD1100はホスト1500のアクセス要請に応答して動作される。即ち、ホスト1500からの要請に応答して、SSDコントローラ1200は格納媒体1400をアクセスするように構成される。例えば、SSDコントローラ1200は格納媒体220の読出し動作と、書込み動作と、消去動作とを制御するように構成される。バッファーメモリー装置1300には、格納媒体1400に格納されるデータが臨時格納される。また、バッファーメモリー装置1300には、格納媒体1400から読まれたデータが臨時格納される。バッファーメモリー装置1300に格納されたデータは、SSDコントローラ1200の制御によって、格納媒体1400又はホスト1500に伝送される。
【0097】
SSDコントローラ1200は、複数のチャンネルCH0〜CHnを通じて格納媒体1400と連結される。各々のチャンネルCH0〜CHnには、複数の不揮発性メモリー装置NVM00〜NVM0i、NVn0〜NVniが連結される。複数の不揮発性メモリー装置はチャンネルを共有できる。格納媒体1400は本発明の実施形態によるNANDフラッシュメモリー装置(NAND flash memory device)で構成される。しかし、格納媒体220がNANDフラッシュメモリー装置に限定されない。例えば、格納媒体1400はNO
Rフラッシュメモリー装置(NOR flash memory device)、PRAM(Phase−change RAM)、FRAM(登録商標)(Ferroelectric RAM)、MRAM(Magnetic RAM)等のような不揮発性メモリー装置の中の1つで構成され得る。
【0098】
本発明の実施形態によるデータ格納装置1000の格納媒体1400は、選択検証動作と順次検証動作とで構成されるプログラム検証動作を実行する。したがって、プログラム検証を必要としないメモリーセル(例えば、目標プログラム状態より低い閾値電圧を有するメモリーセル、目標プログラム状態に到達したメモリーセル、又はその他の臨時プログラム状態からプログラムされるメモリーセル)は、以後のプログラム検証動作の時にオンセル電流が流れない。オンセル電流が減少すれば、共通ソースラインCSLに電流が流れる時発生する共通ソースラインCSLのノイズが減少する。このような格納媒体1400でよってデータ格納装置1000の信頼性が向上され得る。
【0099】
図12は本発明の実施形態による不揮発性メモリー装置を含む他の使用者装置を例示的に示すブロック図である。
【0100】
図12を参照すれば、メモリーシステム2000はメモリーコントローラ2200及び不揮発性メモリー装置を含む。メモリーシステム2000は複数の不揮発性メモリー装置を含むことができる。本発明の実施形態によるメモリーシステム2000は、複数の不揮発性メモリー装置2900を含む。
【0101】
メモリーコントローラ2200は、ホスト2100及び不揮発性メモリー装置2900に連結される。ホスト2100からの要請に応答して、メモリーコントローラ2200は、不揮発性メモリー装置2900にアクセスするように構成される。例えば、メモリーコントローラ2200は、不揮発性メモリー装置2900の読出し動作と、書込み動作と、消去動作とを制御するように構成される。メモリーコントローラ2200は不揮発性メモリー装置2900とホスト2100との間に、インターフェースを提供するように構成される。メモリーコントローラ2200は、不揮発性メモリー装置2900を制御するためのファームウエア(firmware)を駆動するように構成される。
【0102】
メモリーコントローラ2200はRAM(random access memory)、中央処理装置(central processing unit:CPU)、ホストインターフェース(host interface)、エラー訂正ブロック(error correcting code:ECC)、及びメモリーインターフェース(memory interface)のような、公知の構成要素を含むことができる。RAM2600は、中央処理装置2400の動作メモリー(working memory)として利用することができる。中央処理装置2400はメモリーコントローラ2200の動作全般を制御する。
【0103】
ホストインターフェース2300は、ホスト2100とメモリーコントローラ2200との間のデータ交換を実行するためのプロトコル(protocol)を含むことができる。例えば、メモリーコントローラ2200は、USB(Universal Serial Bus)プロトコル、MMC(Multimedia Card)プロトコル、PCI(Peripheral Component Interconnection)プロトコル、PCI−E(PCI−Express)プロトコル、ATA(Advanced Technology Attachment)プロトコル、SATA(Serial ATA)プロトコル、SCSI(Small Computer Small Interface)プロトコル、ESDI(Enhanced Small Disk Interface)プロトコル、及びIDE(Integrated Drive Electronics)プロトコル等のような多様なインターフェースプロトコルの中の1つを通じて、外部(例えば、ホスト)と通信するように構成され得る。
【0104】
エラー訂正ブロック2700は、不揮発性メモリー装置2900から読出したデータの誤謬を検出し、訂正するように構成され得る。エラー訂正ブロック2700は、メモリーコントローラ2200の構成要素として提供され得る。他の例で、エラー訂正ブロック2700は、不揮発性メモリー装置2900各々の構成要素として提供され得る。メモリーインターフェース2500は、不揮発性メモリー装置2900とメモリーコントローラ2200とをインターフェーシング(interfacing)できる。
【0105】
メモリーコントローラ2200の構成要素は、上に言及された構成要素に限定されない。例えば、メモリーコントローラ2200は初期のブーティング動作に必要とするコードデータ(code data)と、ホスト2100とのインターフェーシングのためのデータを格納するROM(read only memory)とをさらに含むことができる。
【0106】
メモリーコントローラ2200及び不揮発性メモリー装置2900は、1つの半導体装置に集積され、メモリーカードを構成できる。例えば、メモリーコントローラ2200及び不揮発性メモリー装置2900は、1つの半導体装置で集積されて、PCMCIA(personal computer memory card international association)カード、CF(compact flash)カード、スマートメディア(smart media)カード、メモリースティック(memory stick)、マルチメディア(multi media)カード(MMC、RS−MMC、MMC−micro)、SD(secure digital)カード(SD、Mini−SD、Micro−SD、SDHC)、UFS(niversal flash storage)等を構成できる。
【0107】
他の例として、メモリーコントローラ2200と、不揮発性メモリー装置2900とは、ソリッドステートドライブ(solid state drive:SSD)、コンピュータ(computer)、携帯用コンピュータ(portable computer)、UMPC(ultra mobile personal computer)、ワークステーション(work station)、ネットブック(net book)、PDA(personal digital assistant)、ウェブタブレット(web tablet)、無線電話機(wireless phone)、モバイルフォン(mobile phone)、デジタルカメラ(digital camera)、デジタル音声録音器(digital audio recorder)、デジタル音声再生器(digital audio player)、デジタル動映像録画器(digital video recorder)、デジタル動映像再生器(digital video player)、情報を無線環境で送受信できる装置、ホームネットワーク(home network)を構成する多様な電子装置の中の1つ、コンピューターネットワーク(computer network)を構成する多様な電子装置の中の1つ、テレマティクスネットワーク(telematics network)を構成する多様な電子装置の中の1つ、コンピュータシステム(computer system)を構成する多様な構成要素の中の1つ、RFID(radio frequency identification)装置、又は組み込みシステム(embedded system)に適用され得る。
【0108】
他の例として、不揮発性メモリー装置2900又はメモリーコントローラ2200は、多様な形態のパッケージ(package)で実装できる。例えば、不揮発性メモリー装置2900又はメモリーシステム2000は、POP(Package on Package)、BGA(Ball Grid Arrays)、CSP(Chip Scale Packages)、PLCC(Plastic Leaded Chip Carrier)、PDIP(Plastic Dual In−line Package)、ダイインワッフルパック(Die in Waffle Pack)、ダイインウェハフォーム(Die in Wafer Form)、COB(Chip On Board)、CERDIP(Ceramic Dual In−line Package)、MQFP(Plastic Metric Quad Flat Package)、TQFP(Thin Quad Flat Package)、SOIC(Small Outline IC)、SSOP(Shrink Small Outline Package)、TSOP(Thin Small Outline Package)、TQFP(Thin Quad Flat Package)、SIP(System In Package)、MCP(Multi Chip Package)、WFP(Wafer−level Fabricated Package)、WSP(Wafer−level Processed Stack package)等のようにパッケージ化されて実装できる。
【0109】
本発明の実施形態によるメモリーシステム2000の不揮発性メモリー装置2900は、選択検証動作と順次検証動作で構成されるプログラム検証動作を実行する。したがって、プログラム検証を必要としないメモリーセル(例えば、目標プログラム状態より低い閾値電圧を有するメモリーセル、目標プログラム状態に到達したメモリーセル、又はその他の臨時プログラム状態からプログラムされるメモリーセル)は、以後のプログラム検証動作の時にオンセル電流が流れない。オンセル電流が減少すれば、共通ソースラインCSLに電流が流れる時発生する共通ソースラインCSLのノイズが減少する。このような不揮発性メモリー装置2900によって、メモリーシステム2000の信頼性を向上することができる。
【0110】
図13は
図11のデータ格納装置を装着するコンピュータシステムを例示的に示すブロック図である。
【0111】
本発明によるコンピュータシステム3000は、システムバス3700に電気的に連結されるネットワークアダプター3100、中央処理装置3200、データ格納装置3300、RAM3400、ROM3500そして、ユーザーインターフェース3600を含む。
【0112】
ネットワークアダプター3100は、コンピュータシステム3000と外部のネットワークとの間のインターフェーシングを提供する。中央処理装置3200は、RAM3400に常駐するオペレーティングシステム(Operating System)や応用プログラム(Application Program)を駆動するための諸般演算処理を実行する。データ格納装置3300はコンピュータシステム3000で必要な諸般データを格納する。例えば、データ格納装置3300には、コンピュータシステム3000を駆動するためのオペレーティングシステム(Operating System)、応用プログラム(Application Program)、多様なプログラムモジュール(Program Module)、プログラムデータ(Program data)、及びユーザーデータ(User data)等が格納される。
【0113】
RAM3400はコンピュータシステム3000のワーキングメモリーとして使われることができる。ブーティングの時にRAM3400には、データ格納装置3300から読み込まれた、オペレーティングシステム(Operating System)、応用プログラム(Application Program)、多様なプログラムモジュール(Program Module)、及びプログラムの駆動に必要なプログラムデータ(Program data)がロードされる。ROM3500にはブーティング時オペレーティングシステム(Operating System)が駆動される以前にアクティブになるバイオス(BIOS:Basic Input/Output System)が格納される。ユーザーインターフェース3600を通じて、コンピュータシステム3000と使用者との間の情報交換が行われる。
【0114】
その以外にも、コンピュータシステム3000はバッテリー(Battery)やモデム(Modem)等をさらに含むことができる。また、図面には図示しないが、本発明によるコンピュータシステムには、応用チップセット(Application chipset)、カメライメージプロセッサー(Camera Image Processor: CIS)、モバイルDRAM(Mobile DRAM)等がさらに提供されてもよいことはよく分かる。